@element-plus/nightly 0.0.20260420 → 0.0.20260422

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 (644) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +29 -16
  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 +7 -7
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +29 -16
  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/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +1 -1
  278. package/es/components/alert/src/alert.d.ts +1 -1
  279. package/es/components/alert/src/alert.vue.d.ts +2 -2
  280. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  281. package/es/components/autocomplete/src/autocomplete.d.ts +15 -5
  282. package/es/components/autocomplete/src/autocomplete.mjs +5 -0
  283. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  284. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  285. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs +4 -0
  286. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  287. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  288. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  289. package/es/components/avatar/src/avatar-group.d.ts +3 -3
  290. package/es/components/avatar/src/avatar.d.ts +2 -2
  291. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  292. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  293. package/es/components/badge/src/badge.d.ts +1 -1
  294. package/es/components/badge/src/badge.vue.d.ts +2 -2
  295. package/es/components/button/src/button-group.vue.d.ts +1 -1
  296. package/es/components/button/src/button.d.ts +2 -2
  297. package/es/components/button/src/button.vue.d.ts +5 -5
  298. package/es/components/card/src/card.d.ts +1 -1
  299. package/es/components/carousel/src/carousel.d.ts +1 -1
  300. package/es/components/carousel/src/carousel.vue.d.ts +2 -2
  301. package/es/components/cascader/src/cascader.d.ts +4 -4
  302. package/es/components/cascader/src/cascader.vue.d.ts +17 -17
  303. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  304. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  305. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  306. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  307. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  308. package/es/components/checkbox/src/checkbox.d.ts +9 -9
  309. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  310. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  311. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  312. package/es/components/col/src/col.vue.d.ts +2 -2
  313. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  314. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  315. package/es/components/color-picker/src/color-picker.vue.d.ts +5 -5
  316. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
  317. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  318. package/es/components/config-provider/src/config-provider.d.ts +2 -2
  319. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  320. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  321. package/es/components/date-picker/src/date-picker.d.ts +15 -15
  322. package/es/components/date-picker/src/props.d.ts +2 -2
  323. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  324. package/es/components/descriptions/src/description-item.d.ts +12 -12
  325. package/es/components/descriptions/src/description.d.ts +1 -1
  326. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  327. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  328. package/es/components/divider/src/divider.vue.d.ts +1 -1
  329. package/es/components/drawer/src/drawer.vue.d.ts +2 -2
  330. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  331. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  332. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  333. package/es/components/dropdown/src/dropdown.vue.d.ts +99 -99
  334. package/es/components/form/src/form-item.d.ts +3 -3
  335. package/es/components/form/src/form-item.vue.d.ts +3 -3
  336. package/es/components/form/src/form.d.ts +3 -3
  337. package/es/components/form/src/form.vue.d.ts +1 -1
  338. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  339. package/es/components/image/src/image.d.ts +1 -1
  340. package/es/components/image/src/image.vue.d.ts +4 -4
  341. package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  342. package/es/components/input/src/input.d.ts +3 -3
  343. package/es/components/input/src/input.vue.d.ts +12 -12
  344. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +13 -3
  345. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  346. package/es/components/input/src/input2.mjs.map +1 -1
  347. package/es/components/input-number/src/input-number.d.ts +2 -2
  348. package/es/components/input-number/src/input-number.vue.d.ts +7 -7
  349. package/es/components/input-otp/src/input-otp.vue.d.ts +2 -2
  350. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  351. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  352. package/es/components/input-tag/src/input-tag.vue.d.ts +13 -13
  353. package/es/components/link/src/link.d.ts +2 -2
  354. package/es/components/mention/src/mention.d.ts +4 -4
  355. package/es/components/mention/src/mention.vue.d.ts +4 -4
  356. package/es/components/menu/src/menu.d.ts +1 -1
  357. package/es/components/message/src/message.d.ts +2 -2
  358. package/es/components/message/src/message.vue.d.ts +5 -5
  359. package/es/components/notification/src/notification.d.ts +2 -2
  360. package/es/components/notification/src/notification.vue.d.ts +2 -2
  361. package/es/components/pagination/src/pagination.d.ts +5 -5
  362. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  363. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  364. package/es/components/popover/src/popover.d.ts +2 -2
  365. package/es/components/popover/src/popover.vue.d.ts +15 -15
  366. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  367. package/es/components/popper/src/content.d.ts +4 -4
  368. package/es/components/popper/src/content.vue.d.ts +16 -16
  369. package/es/components/popper/src/popper.d.ts +2 -2
  370. package/es/components/progress/src/progress.d.ts +1 -1
  371. package/es/components/progress/src/progress.vue.d.ts +4 -4
  372. package/es/components/radio/src/radio-button.d.ts +4 -4
  373. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  374. package/es/components/radio/src/radio-group.d.ts +2 -2
  375. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  376. package/es/components/radio/src/radio.d.ts +8 -8
  377. package/es/components/radio/src/radio.vue.d.ts +3 -3
  378. package/es/components/rate/src/rate.d.ts +1 -1
  379. package/es/components/rate/src/rate.vue.d.ts +1 -1
  380. package/es/components/result/src/result.d.ts +1 -1
  381. package/es/components/result/src/result.vue.d.ts +1 -1
  382. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  383. package/es/components/row/src/row.d.ts +1 -1
  384. package/es/components/row/src/row.vue.d.ts +1 -1
  385. package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  386. package/es/components/segmented/index.d.ts +1 -1
  387. package/es/components/segmented/src/segmented.d.ts +2 -2
  388. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +4 -0
  389. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  390. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  391. package/es/components/select/src/option.d.ts +2 -2
  392. package/es/components/select/src/option.vue.d.ts +5 -5
  393. package/es/components/select/src/select.d.ts +7 -7
  394. package/es/components/select/src/select.mjs.map +1 -1
  395. package/es/components/select/src/select.vue.d.ts +143 -124
  396. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +2 -13
  397. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  398. package/es/components/select/src/select2.mjs.map +1 -1
  399. package/es/components/select-v2/src/defaults.d.ts +4 -4
  400. package/es/components/select-v2/src/select.vue.d.ts +94 -94
  401. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  402. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  403. package/es/components/slider/src/button.vue.d.ts +1 -1
  404. package/es/components/slider/src/slider.d.ts +2 -2
  405. package/es/components/slider/src/slider.vue.d.ts +8 -8
  406. package/es/components/space/src/space.d.ts +3 -3
  407. package/es/components/steps/src/item.d.ts +1 -1
  408. package/es/components/steps/src/item.vue.d.ts +1 -1
  409. package/es/components/steps/src/steps.d.ts +2 -2
  410. package/es/components/switch/src/switch.d.ts +1 -1
  411. package/es/components/switch/src/switch.vue.d.ts +2 -2
  412. package/es/components/table/src/table-column/index.d.ts +19 -19
  413. package/es/components/table/src/table-header/index.d.ts +12 -12
  414. package/es/components/table/src/table.vue.d.ts +48 -48
  415. package/es/components/table-v2/src/components/row.d.ts +1 -1
  416. package/es/components/table-v2/src/table-grid.d.ts +3 -3
  417. package/es/components/table-v2/src/table-v2.d.ts +3 -3
  418. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  419. package/es/components/tabs/src/tabs.d.ts +6 -6
  420. package/es/components/tag/src/tag.d.ts +2 -2
  421. package/es/components/tag/src/tag.vue.d.ts +1 -1
  422. package/es/components/text/src/text.d.ts +2 -2
  423. package/es/components/time-picker/src/common/picker.vue.d.ts +17 -17
  424. package/es/components/time-picker/src/common/props.d.ts +2 -2
  425. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  426. package/es/components/time-select/src/time-select.d.ts +1 -1
  427. package/es/components/time-select/src/time-select.vue.d.ts +5 -5
  428. package/es/components/timeline/src/timeline-item.d.ts +3 -3
  429. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  430. package/es/components/tooltip/src/content.d.ts +1 -1
  431. package/es/components/tooltip/src/content.vue.d.ts +16 -16
  432. package/es/components/tooltip/src/tooltip.d.ts +3 -3
  433. package/es/components/tooltip/src/tooltip.vue.d.ts +18 -18
  434. package/es/components/tooltip/src/trigger.d.ts +1 -1
  435. package/es/components/tour/src/content.d.ts +2 -2
  436. package/es/components/tour/src/step.d.ts +1 -1
  437. package/es/components/tour/src/step.vue.d.ts +1 -1
  438. package/es/components/tour/src/tour.d.ts +1 -1
  439. package/es/components/tour/src/tour.vue.d.ts +2 -2
  440. package/es/components/tree/src/tree.vue.d.ts +18 -18
  441. package/es/components/tree-select/src/tree-select.vue.d.ts +43 -43
  442. package/es/components/tree-v2/src/tree.vue.d.ts +4 -4
  443. package/es/components/upload/src/upload-content.d.ts +1 -1
  444. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  445. package/es/components/upload/src/upload-list.d.ts +1 -1
  446. package/es/components/upload/src/upload.d.ts +2 -2
  447. package/es/components/upload/src/upload.vue.d.ts +2 -2
  448. package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  449. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  450. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  451. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  452. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  453. package/es/hooks/use-floating/index.d.ts +8 -8
  454. package/es/hooks/use-popper/index.d.ts +4 -4
  455. package/es/hooks/use-size/index.d.ts +3 -3
  456. package/es/utils/vue/vnode.d.ts +4 -4
  457. package/es/version.mjs +1 -1
  458. package/es/version.mjs.map +1 -1
  459. package/lib/components/affix/src/affix.d.ts +1 -1
  460. package/lib/components/affix/src/affix.vue.d.ts +1 -1
  461. package/lib/components/alert/src/alert.d.ts +1 -1
  462. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  463. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  464. package/lib/components/autocomplete/src/autocomplete.d.ts +15 -5
  465. package/lib/components/autocomplete/src/autocomplete.js +5 -0
  466. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  467. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  468. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +4 -0
  469. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  470. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  471. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  472. package/lib/components/avatar/src/avatar-group.d.ts +3 -3
  473. package/lib/components/avatar/src/avatar.d.ts +2 -2
  474. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  475. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  476. package/lib/components/badge/src/badge.d.ts +1 -1
  477. package/lib/components/badge/src/badge.vue.d.ts +2 -2
  478. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  479. package/lib/components/button/src/button.d.ts +2 -2
  480. package/lib/components/button/src/button.vue.d.ts +5 -5
  481. package/lib/components/card/src/card.d.ts +1 -1
  482. package/lib/components/carousel/src/carousel.d.ts +1 -1
  483. package/lib/components/carousel/src/carousel.vue.d.ts +2 -2
  484. package/lib/components/cascader/src/cascader.d.ts +4 -4
  485. package/lib/components/cascader/src/cascader.vue.d.ts +17 -17
  486. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  487. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  488. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  489. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  490. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  491. package/lib/components/checkbox/src/checkbox.d.ts +9 -9
  492. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  493. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  494. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  495. package/lib/components/col/src/col.vue.d.ts +2 -2
  496. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  497. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  498. package/lib/components/color-picker/src/color-picker.vue.d.ts +5 -5
  499. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
  500. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  501. package/lib/components/config-provider/src/config-provider.d.ts +2 -2
  502. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  503. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  504. package/lib/components/date-picker/src/date-picker.d.ts +15 -15
  505. package/lib/components/date-picker/src/props.d.ts +2 -2
  506. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  507. package/lib/components/descriptions/src/description-item.d.ts +12 -12
  508. package/lib/components/descriptions/src/description.d.ts +1 -1
  509. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  510. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  511. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  512. package/lib/components/drawer/src/drawer.vue.d.ts +2 -2
  513. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  514. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  515. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  516. package/lib/components/dropdown/src/dropdown.vue.d.ts +99 -99
  517. package/lib/components/form/src/form-item.d.ts +3 -3
  518. package/lib/components/form/src/form-item.vue.d.ts +3 -3
  519. package/lib/components/form/src/form.d.ts +3 -3
  520. package/lib/components/form/src/form.vue.d.ts +1 -1
  521. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  522. package/lib/components/image/src/image.d.ts +1 -1
  523. package/lib/components/image/src/image.vue.d.ts +4 -4
  524. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  525. package/lib/components/input/src/input.d.ts +3 -3
  526. package/lib/components/input/src/input.vue.d.ts +12 -12
  527. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +13 -3
  528. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  529. package/lib/components/input/src/input2.js.map +1 -1
  530. package/lib/components/input-number/src/input-number.d.ts +2 -2
  531. package/lib/components/input-number/src/input-number.vue.d.ts +7 -7
  532. package/lib/components/input-otp/src/input-otp.vue.d.ts +2 -2
  533. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  534. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  535. package/lib/components/input-tag/src/input-tag.vue.d.ts +13 -13
  536. package/lib/components/link/src/link.d.ts +2 -2
  537. package/lib/components/mention/src/mention.d.ts +4 -4
  538. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  539. package/lib/components/menu/src/menu.d.ts +1 -1
  540. package/lib/components/message/src/message.d.ts +2 -2
  541. package/lib/components/message/src/message.vue.d.ts +5 -5
  542. package/lib/components/notification/src/notification.d.ts +2 -2
  543. package/lib/components/notification/src/notification.vue.d.ts +2 -2
  544. package/lib/components/pagination/src/pagination.d.ts +5 -5
  545. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  546. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  547. package/lib/components/popover/src/popover.d.ts +2 -2
  548. package/lib/components/popover/src/popover.vue.d.ts +15 -15
  549. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  550. package/lib/components/popper/src/content.d.ts +4 -4
  551. package/lib/components/popper/src/content.vue.d.ts +16 -16
  552. package/lib/components/popper/src/popper.d.ts +2 -2
  553. package/lib/components/progress/src/progress.d.ts +1 -1
  554. package/lib/components/progress/src/progress.vue.d.ts +4 -4
  555. package/lib/components/radio/src/radio-button.d.ts +4 -4
  556. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  557. package/lib/components/radio/src/radio-group.d.ts +2 -2
  558. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  559. package/lib/components/radio/src/radio.d.ts +8 -8
  560. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  561. package/lib/components/rate/src/rate.d.ts +1 -1
  562. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  563. package/lib/components/result/src/result.d.ts +1 -1
  564. package/lib/components/result/src/result.vue.d.ts +1 -1
  565. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  566. package/lib/components/row/src/row.d.ts +1 -1
  567. package/lib/components/row/src/row.vue.d.ts +1 -1
  568. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  569. package/lib/components/segmented/index.d.ts +1 -1
  570. package/lib/components/segmented/src/segmented.d.ts +2 -2
  571. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +4 -0
  572. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  573. package/lib/components/segmented/src/segmented2.js.map +1 -1
  574. package/lib/components/select/src/option.d.ts +2 -2
  575. package/lib/components/select/src/option.vue.d.ts +5 -5
  576. package/lib/components/select/src/select.d.ts +7 -7
  577. package/lib/components/select/src/select.js.map +1 -1
  578. package/lib/components/select/src/select.vue.d.ts +143 -124
  579. package/lib/components/select/src/select.vue_vue_type_script_lang.js +1 -12
  580. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  581. package/lib/components/select/src/select2.js.map +1 -1
  582. package/lib/components/select-v2/src/defaults.d.ts +4 -4
  583. package/lib/components/select-v2/src/select.vue.d.ts +94 -94
  584. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  585. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  586. package/lib/components/slider/src/button.vue.d.ts +1 -1
  587. package/lib/components/slider/src/slider.d.ts +2 -2
  588. package/lib/components/slider/src/slider.vue.d.ts +8 -8
  589. package/lib/components/space/src/space.d.ts +3 -3
  590. package/lib/components/steps/src/item.d.ts +1 -1
  591. package/lib/components/steps/src/item.vue.d.ts +1 -1
  592. package/lib/components/steps/src/steps.d.ts +2 -2
  593. package/lib/components/switch/src/switch.d.ts +1 -1
  594. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  595. package/lib/components/table/src/table-column/index.d.ts +19 -19
  596. package/lib/components/table/src/table-header/index.d.ts +12 -12
  597. package/lib/components/table/src/table.vue.d.ts +48 -48
  598. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  599. package/lib/components/table-v2/src/table-grid.d.ts +3 -3
  600. package/lib/components/table-v2/src/table-v2.d.ts +3 -3
  601. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  602. package/lib/components/tabs/src/tabs.d.ts +6 -6
  603. package/lib/components/tag/src/tag.d.ts +2 -2
  604. package/lib/components/tag/src/tag.vue.d.ts +1 -1
  605. package/lib/components/text/src/text.d.ts +2 -2
  606. package/lib/components/time-picker/src/common/picker.vue.d.ts +17 -17
  607. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  608. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  609. package/lib/components/time-select/src/time-select.d.ts +1 -1
  610. package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
  611. package/lib/components/timeline/src/timeline-item.d.ts +3 -3
  612. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  613. package/lib/components/tooltip/src/content.d.ts +1 -1
  614. package/lib/components/tooltip/src/content.vue.d.ts +16 -16
  615. package/lib/components/tooltip/src/tooltip.d.ts +3 -3
  616. package/lib/components/tooltip/src/tooltip.vue.d.ts +18 -18
  617. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  618. package/lib/components/tour/src/content.d.ts +2 -2
  619. package/lib/components/tour/src/step.d.ts +1 -1
  620. package/lib/components/tour/src/step.vue.d.ts +1 -1
  621. package/lib/components/tour/src/tour.d.ts +1 -1
  622. package/lib/components/tour/src/tour.vue.d.ts +2 -2
  623. package/lib/components/tree/src/tree.vue.d.ts +18 -18
  624. package/lib/components/tree-select/src/tree-select.vue.d.ts +43 -43
  625. package/lib/components/tree-v2/src/tree.vue.d.ts +4 -4
  626. package/lib/components/upload/src/upload-content.d.ts +1 -1
  627. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  628. package/lib/components/upload/src/upload-list.d.ts +1 -1
  629. package/lib/components/upload/src/upload.d.ts +2 -2
  630. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  631. package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  632. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  633. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  634. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  635. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  636. package/lib/hooks/use-floating/index.d.ts +8 -8
  637. package/lib/hooks/use-popper/index.d.ts +4 -4
  638. package/lib/hooks/use-size/index.d.ts +3 -3
  639. package/lib/utils/vue/vnode.d.ts +4 -4
  640. package/lib/version.js +1 -1
  641. package/lib/version.js.map +1 -1
  642. package/package.json +2 -2
  643. package/tags.json +1 -1
  644. package/web-types.json +1 -1
@@ -156,12 +156,12 @@ interface InputProps {
156
156
  * @deprecated Removed after 3.0.0, Use `InputProps` instead.
157
157
  */
158
158
  declare const inputProps: {
159
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
159
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
160
160
  readonly name: StringConstructor;
161
161
  readonly ariaLabel: StringConstructor;
162
162
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
163
163
  readonly size: {
164
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
164
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
165
165
  readonly required: false;
166
166
  readonly validator: ((val: unknown) => boolean) | undefined;
167
167
  __epPropKey: true;
@@ -183,7 +183,7 @@ declare const inputProps: {
183
183
  };
184
184
  readonly type: EpPropFinalized<(new (...args: any[]) => string) | (() => InputType) | (((new (...args: any[]) => string) | (() => InputType)) | null)[], unknown, unknown, "text", boolean>;
185
185
  readonly resize: {
186
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "horizontal" | "vertical" | "none" | "both", unknown>>;
186
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>>;
187
187
  readonly required: false;
188
188
  readonly validator: ((val: unknown) => boolean) | undefined;
189
189
  __epPropKey: true;
@@ -36,41 +36,41 @@ declare const __VLS_base: vue.DefineComponent<InputProps, {
36
36
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
37
37
  "update:modelValue": (value: string) => void;
38
38
  change: (value: string, evt?: Event | undefined) => void;
39
+ focus: (evt: FocusEvent) => void;
40
+ blur: (evt: FocusEvent) => void;
39
41
  clear: (evt: MouseEvent | undefined) => void;
40
- input: (value: string) => void;
41
42
  mouseenter: (evt: MouseEvent) => void;
42
43
  mouseleave: (evt: MouseEvent) => void;
43
- focus: (evt: FocusEvent) => void;
44
- blur: (evt: FocusEvent) => void;
44
+ input: (value: string) => void;
45
45
  keydown: (evt: Event | KeyboardEvent) => void;
46
+ compositionend: (evt: CompositionEvent) => void;
46
47
  compositionstart: (evt: CompositionEvent) => void;
47
48
  compositionupdate: (evt: CompositionEvent) => void;
48
- compositionend: (evt: CompositionEvent) => void;
49
49
  }, string, vue.PublicProps, Readonly<InputProps> & Readonly<{
50
50
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
51
51
  onChange?: ((value: string, evt?: Event | undefined) => any) | undefined;
52
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
53
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
52
54
  onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
53
- onInput?: ((value: string) => any) | undefined;
54
55
  onMouseenter?: ((evt: MouseEvent) => any) | undefined;
55
56
  onMouseleave?: ((evt: MouseEvent) => any) | undefined;
56
- onFocus?: ((evt: FocusEvent) => any) | undefined;
57
- onBlur?: ((evt: FocusEvent) => any) | undefined;
57
+ onInput?: ((value: string) => any) | undefined;
58
58
  onKeydown?: ((evt: Event | KeyboardEvent) => any) | undefined;
59
+ onCompositionend?: ((evt: CompositionEvent) => any) | undefined;
59
60
  onCompositionstart?: ((evt: CompositionEvent) => any) | undefined;
60
61
  onCompositionupdate?: ((evt: CompositionEvent) => any) | undefined;
61
- onCompositionend?: ((evt: CompositionEvent) => any) | undefined;
62
62
  }>, {
63
63
  disabled: boolean;
64
- type: InputType;
65
- modelValue: string | number | null;
64
+ clearIcon: IconPropType;
66
65
  validateEvent: boolean;
66
+ modelValue: string | number | null;
67
+ type: InputType;
67
68
  tabindex: string | number;
68
69
  autocomplete: string;
69
- clearIcon: IconPropType;
70
70
  inputStyle: string | false | vue.CSSProperties | StyleValue[] | null;
71
- rows: number;
72
71
  modelModifiers: InputModelModifiers;
73
72
  wordLimitPosition: "inside" | "outside";
73
+ rows: number;
74
74
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
75
75
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
76
76
  declare const _default: typeof __VLS_export;
@@ -96,6 +96,7 @@ var input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
96
96
  const countStyle = ref();
97
97
  const textareaCalcStyle = shallowRef(props.inputStyle);
98
98
  const saveValue = ref("");
99
+ const textareaHeight = ref();
99
100
  const _ref = computed(() => input.value || textarea.value);
100
101
  const { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(_ref, {
101
102
  disabled: inputDisabled,
@@ -111,7 +112,8 @@ var input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
111
112
  const textareaStyle = computed(() => [
112
113
  props.inputStyle,
113
114
  textareaCalcStyle.value,
114
- { resize: props.resize }
115
+ { resize: props.resize },
116
+ textareaHeight.value ? { height: textareaHeight.value } : void 0
115
117
  ]);
116
118
  const nativeInputValue = computed(() => isNil(props.modelValue) ? "" : String(props.modelValue));
117
119
  const renderClear = computed(() => props.clearable && !inputDisabled.value && !props.readonly);
@@ -152,7 +154,12 @@ var input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
152
154
  const createOnceInitResize = (resizeTextarea) => {
153
155
  let isInit = false;
154
156
  return () => {
155
- if (isInit || !props.autosize) return;
157
+ if (isInit || !props.autosize) {
158
+ if (props.resize !== "none") setTimeout(() => {
159
+ textareaHeight.value = textarea.value?.style.height;
160
+ });
161
+ return;
162
+ }
156
163
  if (!(textarea.value?.offsetParent === null)) {
157
164
  setTimeout(resizeTextarea);
158
165
  isInit = true;
@@ -287,7 +294,10 @@ var input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
287
294
  emit(INPUT_EVENT, "");
288
295
  };
289
296
  watch(() => props.modelValue, () => {
290
- nextTick(() => resizeTextarea());
297
+ nextTick(() => {
298
+ resizeTextarea();
299
+ if (props.autosize) textareaHeight.value = void 0;
300
+ });
291
301
  if (props.validateEvent) elFormItem?.validate?.("change").catch(NOOP);
292
302
  });
293
303
  watch(() => nativeInputValue.value, (val) => {
@@ -1 +1 @@
1
- {"version":3,"file":"input.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"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=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 <el-icon\n v-if=\"renderClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n :style=\"{ visibility: showClear ? 'visible' : 'hidden' }\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <slot name=\"password-icon\" :visible=\"passwordVisible\">\n <component :is=\"passwordIcon\" />\n </slot>\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=\"[\n nsTextarea.e('inner'),\n nsInput.is('focus', isFocused),\n nsTextarea.is('clearable', clearable),\n ]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 :inputmode=\"inputmode\"\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 <el-icon\n v-if=\"showClear\"\n :class=\"[nsTextarea.e('icon'), nsTextarea.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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, View } 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, inputPropsDefaults } from './input'\n\nimport type { StyleValue } from 'vue'\nimport type { InputProps } from './input'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<InputProps>(), inputPropsDefaults)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\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 attrs = useAttrs()\nconst maxlength = computed(() => props.maxlength?.toString())\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)\nconst saveValue = ref('')\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\n// @ts-ignore - used in template ref binding, TS cannot detect template usage\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch(NOOP)\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(() => (passwordVisible.value ? View : Hide))\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 renderClear = computed(\n () => props.clearable && !inputDisabled.value && !props.readonly\n)\nconst showClear = computed(\n () =>\n renderClear.value &&\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 !!maxlength.value &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => {\n if (props.countGraphemes && props.showWordLimit) {\n return props.countGraphemes(nativeInputValue.value)\n }\n return nativeInputValue.value.length\n})\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(maxlength.value)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n props.clearable ||\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 let shouldForceNativeUpdate = false\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n if (props.countGraphemes && maxlength.value != null) {\n const limit = Number(maxlength.value)\n const graphemes = props.countGraphemes(value)\n const saveGraphemes = props.countGraphemes(saveValue.value)\n if (graphemes > limit && graphemes > saveGraphemes) {\n // If current value already exceeds limit, block further input and keep exceed state.\n if (saveGraphemes > limit) {\n value = saveValue.value\n shouldForceNativeUpdate = true\n } else {\n // Keep unchanged suffix like native maxlength behavior.\n // Instead of truncating from the end of the whole string,\n // only limit the inserted segment to available capacity.\n const prevValue = saveValue.value\n const nextValue = value\n let prefixLen = 0\n\n while (\n prefixLen < prevValue.length &&\n prefixLen < nextValue.length &&\n prevValue[prefixLen] === nextValue[prefixLen]\n ) {\n prefixLen++\n }\n\n let prevSuffixIndex = prevValue.length\n let nextSuffixIndex = nextValue.length\n while (\n prevSuffixIndex > prefixLen &&\n nextSuffixIndex > prefixLen &&\n prevValue[prevSuffixIndex - 1] === nextValue[nextSuffixIndex - 1]\n ) {\n prevSuffixIndex--\n nextSuffixIndex--\n }\n\n const before = nextValue.slice(0, prefixLen)\n const removed = prevValue.slice(prefixLen, prevSuffixIndex)\n const inserted = nextValue.slice(prefixLen, nextSuffixIndex)\n const after = nextValue.slice(nextSuffixIndex)\n\n const removedCount = props.countGraphemes(removed)\n const baseCount = saveGraphemes - removedCount\n const availableInserted = Math.max(0, limit - baseCount)\n\n let acceptedInserted = ''\n if (availableInserted > 0) {\n // Use Intl.Segmenter for proper grapheme cluster iteration if available.\n if (typeof Intl !== 'undefined' && 'Segmenter' in Intl) {\n const segmenter = new Intl.Segmenter(undefined, {\n granularity: 'grapheme',\n })\n for (const { segment } of segmenter.segment(inserted)) {\n const candidate = acceptedInserted + segment\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n } else {\n // Fallback to code-point iteration for older environments.\n for (const char of Array.from(inserted)) {\n const candidate = acceptedInserted + char\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n }\n }\n\n value = before + acceptedInserted + after\n shouldForceNativeUpdate = true\n }\n }\n }\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 || shouldForceNativeUpdate) {\n const target = event.target as TargetElement\n const blockedValue = target.value\n const selectionStart = target.selectionStart\n const selectionEnd = target.selectionEnd\n setNativeInputValue()\n // Keep caret position stable when input is blocked and value is reset.\n if (\n shouldForceNativeUpdate &&\n _ref.value &&\n selectionStart != null &&\n selectionEnd != null\n ) {\n const restoredValue = _ref.value.value\n const afterTxt = blockedValue.slice(Math.max(0, selectionEnd))\n let caretPos = Math.min(selectionStart, restoredValue.length)\n\n if (afterTxt && restoredValue.endsWith(afterTxt)) {\n caretPos = restoredValue.length - afterTxt.length\n }\n\n _ref.value.setSelectionRange(caretPos, caretPos)\n }\n }\n return\n }\n saveValue.value = value\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 = (evt?: MouseEvent) => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear', evt)\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => nativeInputValue.value,\n (val) => {\n saveValue.value = val\n },\n { immediate: true }\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 whether the password is visible */\n passwordVisible,\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"],"mappings":"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"}
1
+ {"version":3,"file":"input.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"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=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 <el-icon\n v-if=\"renderClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n :style=\"{ visibility: showClear ? 'visible' : 'hidden' }\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <slot name=\"password-icon\" :visible=\"passwordVisible\">\n <component :is=\"passwordIcon\" />\n </slot>\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=\"[\n nsTextarea.e('inner'),\n nsInput.is('focus', isFocused),\n nsTextarea.is('clearable', clearable),\n ]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 :inputmode=\"inputmode\"\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 <el-icon\n v-if=\"showClear\"\n :class=\"[nsTextarea.e('icon'), nsTextarea.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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, View } 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, inputPropsDefaults } from './input'\n\nimport type { StyleValue } from 'vue'\nimport type { InputProps } from './input'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<InputProps>(), inputPropsDefaults)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\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 attrs = useAttrs()\nconst maxlength = computed(() => props.maxlength?.toString())\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)\nconst saveValue = ref('')\nconst textareaHeight = ref<string>()\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\n// @ts-ignore - used in template ref binding, TS cannot detect template usage\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch(NOOP)\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(() => (passwordVisible.value ? View : Hide))\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 textareaHeight.value ? { height: textareaHeight.value } : undefined,\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst renderClear = computed(\n () => props.clearable && !inputDisabled.value && !props.readonly\n)\nconst showClear = computed(\n () =>\n renderClear.value &&\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 !!maxlength.value &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => {\n if (props.countGraphemes && props.showWordLimit) {\n return props.countGraphemes(nativeInputValue.value)\n }\n return nativeInputValue.value.length\n})\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(maxlength.value)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n props.clearable ||\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) {\n if (props.resize !== 'none') {\n // The execution here may occur before `setTimeout(resizeTextarea)`,\n // potentially causing a regression of issue #21836, so the assignment needs to be deferred.\n setTimeout(() => {\n textareaHeight.value = textarea.value?.style.height\n })\n }\n return\n }\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 let shouldForceNativeUpdate = false\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n if (props.countGraphemes && maxlength.value != null) {\n const limit = Number(maxlength.value)\n const graphemes = props.countGraphemes(value)\n const saveGraphemes = props.countGraphemes(saveValue.value)\n if (graphemes > limit && graphemes > saveGraphemes) {\n // If current value already exceeds limit, block further input and keep exceed state.\n if (saveGraphemes > limit) {\n value = saveValue.value\n shouldForceNativeUpdate = true\n } else {\n // Keep unchanged suffix like native maxlength behavior.\n // Instead of truncating from the end of the whole string,\n // only limit the inserted segment to available capacity.\n const prevValue = saveValue.value\n const nextValue = value\n let prefixLen = 0\n\n while (\n prefixLen < prevValue.length &&\n prefixLen < nextValue.length &&\n prevValue[prefixLen] === nextValue[prefixLen]\n ) {\n prefixLen++\n }\n\n let prevSuffixIndex = prevValue.length\n let nextSuffixIndex = nextValue.length\n while (\n prevSuffixIndex > prefixLen &&\n nextSuffixIndex > prefixLen &&\n prevValue[prevSuffixIndex - 1] === nextValue[nextSuffixIndex - 1]\n ) {\n prevSuffixIndex--\n nextSuffixIndex--\n }\n\n const before = nextValue.slice(0, prefixLen)\n const removed = prevValue.slice(prefixLen, prevSuffixIndex)\n const inserted = nextValue.slice(prefixLen, nextSuffixIndex)\n const after = nextValue.slice(nextSuffixIndex)\n\n const removedCount = props.countGraphemes(removed)\n const baseCount = saveGraphemes - removedCount\n const availableInserted = Math.max(0, limit - baseCount)\n\n let acceptedInserted = ''\n if (availableInserted > 0) {\n // Use Intl.Segmenter for proper grapheme cluster iteration if available.\n if (typeof Intl !== 'undefined' && 'Segmenter' in Intl) {\n const segmenter = new Intl.Segmenter(undefined, {\n granularity: 'grapheme',\n })\n for (const { segment } of segmenter.segment(inserted)) {\n const candidate = acceptedInserted + segment\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n } else {\n // Fallback to code-point iteration for older environments.\n for (const char of Array.from(inserted)) {\n const candidate = acceptedInserted + char\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n }\n }\n\n value = before + acceptedInserted + after\n shouldForceNativeUpdate = true\n }\n }\n }\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 || shouldForceNativeUpdate) {\n const target = event.target as TargetElement\n const blockedValue = target.value\n const selectionStart = target.selectionStart\n const selectionEnd = target.selectionEnd\n setNativeInputValue()\n // Keep caret position stable when input is blocked and value is reset.\n if (\n shouldForceNativeUpdate &&\n _ref.value &&\n selectionStart != null &&\n selectionEnd != null\n ) {\n const restoredValue = _ref.value.value\n const afterTxt = blockedValue.slice(Math.max(0, selectionEnd))\n let caretPos = Math.min(selectionStart, restoredValue.length)\n\n if (afterTxt && restoredValue.endsWith(afterTxt)) {\n caretPos = restoredValue.length - afterTxt.length\n }\n\n _ref.value.setSelectionRange(caretPos, caretPos)\n }\n }\n return\n }\n saveValue.value = value\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 = (evt?: MouseEvent) => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear', evt)\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => {\n resizeTextarea()\n if (props.autosize) {\n textareaHeight.value = undefined\n }\n })\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => nativeInputValue.value,\n (val) => {\n saveValue.value = val\n },\n { immediate: true }\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 whether the password is visible */\n passwordVisible,\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input2.mjs","names":[],"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=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 <el-icon\n v-if=\"renderClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n :style=\"{ visibility: showClear ? 'visible' : 'hidden' }\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <slot name=\"password-icon\" :visible=\"passwordVisible\">\n <component :is=\"passwordIcon\" />\n </slot>\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=\"[\n nsTextarea.e('inner'),\n nsInput.is('focus', isFocused),\n nsTextarea.is('clearable', clearable),\n ]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 :inputmode=\"inputmode\"\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 <el-icon\n v-if=\"showClear\"\n :class=\"[nsTextarea.e('icon'), nsTextarea.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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, View } 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, inputPropsDefaults } from './input'\n\nimport type { StyleValue } from 'vue'\nimport type { InputProps } from './input'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<InputProps>(), inputPropsDefaults)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\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 attrs = useAttrs()\nconst maxlength = computed(() => props.maxlength?.toString())\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)\nconst saveValue = ref('')\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\n// @ts-ignore - used in template ref binding, TS cannot detect template usage\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch(NOOP)\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(() => (passwordVisible.value ? View : Hide))\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 renderClear = computed(\n () => props.clearable && !inputDisabled.value && !props.readonly\n)\nconst showClear = computed(\n () =>\n renderClear.value &&\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 !!maxlength.value &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => {\n if (props.countGraphemes && props.showWordLimit) {\n return props.countGraphemes(nativeInputValue.value)\n }\n return nativeInputValue.value.length\n})\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(maxlength.value)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n props.clearable ||\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 let shouldForceNativeUpdate = false\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n if (props.countGraphemes && maxlength.value != null) {\n const limit = Number(maxlength.value)\n const graphemes = props.countGraphemes(value)\n const saveGraphemes = props.countGraphemes(saveValue.value)\n if (graphemes > limit && graphemes > saveGraphemes) {\n // If current value already exceeds limit, block further input and keep exceed state.\n if (saveGraphemes > limit) {\n value = saveValue.value\n shouldForceNativeUpdate = true\n } else {\n // Keep unchanged suffix like native maxlength behavior.\n // Instead of truncating from the end of the whole string,\n // only limit the inserted segment to available capacity.\n const prevValue = saveValue.value\n const nextValue = value\n let prefixLen = 0\n\n while (\n prefixLen < prevValue.length &&\n prefixLen < nextValue.length &&\n prevValue[prefixLen] === nextValue[prefixLen]\n ) {\n prefixLen++\n }\n\n let prevSuffixIndex = prevValue.length\n let nextSuffixIndex = nextValue.length\n while (\n prevSuffixIndex > prefixLen &&\n nextSuffixIndex > prefixLen &&\n prevValue[prevSuffixIndex - 1] === nextValue[nextSuffixIndex - 1]\n ) {\n prevSuffixIndex--\n nextSuffixIndex--\n }\n\n const before = nextValue.slice(0, prefixLen)\n const removed = prevValue.slice(prefixLen, prevSuffixIndex)\n const inserted = nextValue.slice(prefixLen, nextSuffixIndex)\n const after = nextValue.slice(nextSuffixIndex)\n\n const removedCount = props.countGraphemes(removed)\n const baseCount = saveGraphemes - removedCount\n const availableInserted = Math.max(0, limit - baseCount)\n\n let acceptedInserted = ''\n if (availableInserted > 0) {\n // Use Intl.Segmenter for proper grapheme cluster iteration if available.\n if (typeof Intl !== 'undefined' && 'Segmenter' in Intl) {\n const segmenter = new Intl.Segmenter(undefined, {\n granularity: 'grapheme',\n })\n for (const { segment } of segmenter.segment(inserted)) {\n const candidate = acceptedInserted + segment\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n } else {\n // Fallback to code-point iteration for older environments.\n for (const char of Array.from(inserted)) {\n const candidate = acceptedInserted + char\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n }\n }\n\n value = before + acceptedInserted + after\n shouldForceNativeUpdate = true\n }\n }\n }\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 || shouldForceNativeUpdate) {\n const target = event.target as TargetElement\n const blockedValue = target.value\n const selectionStart = target.selectionStart\n const selectionEnd = target.selectionEnd\n setNativeInputValue()\n // Keep caret position stable when input is blocked and value is reset.\n if (\n shouldForceNativeUpdate &&\n _ref.value &&\n selectionStart != null &&\n selectionEnd != null\n ) {\n const restoredValue = _ref.value.value\n const afterTxt = blockedValue.slice(Math.max(0, selectionEnd))\n let caretPos = Math.min(selectionStart, restoredValue.length)\n\n if (afterTxt && restoredValue.endsWith(afterTxt)) {\n caretPos = restoredValue.length - afterTxt.length\n }\n\n _ref.value.setSelectionRange(caretPos, caretPos)\n }\n }\n return\n }\n saveValue.value = value\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 = (evt?: MouseEvent) => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear', evt)\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => nativeInputValue.value,\n (val) => {\n saveValue.value = val\n },\n { immediate: true }\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 whether the password is visible */\n passwordVisible,\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"],"mappings":""}
1
+ {"version":3,"file":"input2.mjs","names":[],"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=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 <el-icon\n v-if=\"renderClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n :style=\"{ visibility: showClear ? 'visible' : 'hidden' }\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <slot name=\"password-icon\" :visible=\"passwordVisible\">\n <component :is=\"passwordIcon\" />\n </slot>\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=\"[\n nsTextarea.e('inner'),\n nsInput.is('focus', isFocused),\n nsTextarea.is('clearable', clearable),\n ]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"countGraphemes ? undefined : minlength\"\n :maxlength=\"countGraphemes ? undefined : 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 :inputmode=\"inputmode\"\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 <el-icon\n v-if=\"showClear\"\n :class=\"[nsTextarea.e('icon'), nsTextarea.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\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, View } 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, inputPropsDefaults } from './input'\n\nimport type { StyleValue } from 'vue'\nimport type { InputProps } from './input'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<InputProps>(), inputPropsDefaults)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\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 attrs = useAttrs()\nconst maxlength = computed(() => props.maxlength?.toString())\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)\nconst saveValue = ref('')\nconst textareaHeight = ref<string>()\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\n// @ts-ignore - used in template ref binding, TS cannot detect template usage\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch(NOOP)\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(() => (passwordVisible.value ? View : Hide))\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 textareaHeight.value ? { height: textareaHeight.value } : undefined,\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst renderClear = computed(\n () => props.clearable && !inputDisabled.value && !props.readonly\n)\nconst showClear = computed(\n () =>\n renderClear.value &&\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 !!maxlength.value &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => {\n if (props.countGraphemes && props.showWordLimit) {\n return props.countGraphemes(nativeInputValue.value)\n }\n return nativeInputValue.value.length\n})\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(maxlength.value)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n props.clearable ||\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) {\n if (props.resize !== 'none') {\n // The execution here may occur before `setTimeout(resizeTextarea)`,\n // potentially causing a regression of issue #21836, so the assignment needs to be deferred.\n setTimeout(() => {\n textareaHeight.value = textarea.value?.style.height\n })\n }\n return\n }\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 let shouldForceNativeUpdate = false\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n if (props.countGraphemes && maxlength.value != null) {\n const limit = Number(maxlength.value)\n const graphemes = props.countGraphemes(value)\n const saveGraphemes = props.countGraphemes(saveValue.value)\n if (graphemes > limit && graphemes > saveGraphemes) {\n // If current value already exceeds limit, block further input and keep exceed state.\n if (saveGraphemes > limit) {\n value = saveValue.value\n shouldForceNativeUpdate = true\n } else {\n // Keep unchanged suffix like native maxlength behavior.\n // Instead of truncating from the end of the whole string,\n // only limit the inserted segment to available capacity.\n const prevValue = saveValue.value\n const nextValue = value\n let prefixLen = 0\n\n while (\n prefixLen < prevValue.length &&\n prefixLen < nextValue.length &&\n prevValue[prefixLen] === nextValue[prefixLen]\n ) {\n prefixLen++\n }\n\n let prevSuffixIndex = prevValue.length\n let nextSuffixIndex = nextValue.length\n while (\n prevSuffixIndex > prefixLen &&\n nextSuffixIndex > prefixLen &&\n prevValue[prevSuffixIndex - 1] === nextValue[nextSuffixIndex - 1]\n ) {\n prevSuffixIndex--\n nextSuffixIndex--\n }\n\n const before = nextValue.slice(0, prefixLen)\n const removed = prevValue.slice(prefixLen, prevSuffixIndex)\n const inserted = nextValue.slice(prefixLen, nextSuffixIndex)\n const after = nextValue.slice(nextSuffixIndex)\n\n const removedCount = props.countGraphemes(removed)\n const baseCount = saveGraphemes - removedCount\n const availableInserted = Math.max(0, limit - baseCount)\n\n let acceptedInserted = ''\n if (availableInserted > 0) {\n // Use Intl.Segmenter for proper grapheme cluster iteration if available.\n if (typeof Intl !== 'undefined' && 'Segmenter' in Intl) {\n const segmenter = new Intl.Segmenter(undefined, {\n granularity: 'grapheme',\n })\n for (const { segment } of segmenter.segment(inserted)) {\n const candidate = acceptedInserted + segment\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n } else {\n // Fallback to code-point iteration for older environments.\n for (const char of Array.from(inserted)) {\n const candidate = acceptedInserted + char\n const newCount = props.countGraphemes(candidate)\n if (newCount > availableInserted) break\n acceptedInserted = candidate\n }\n }\n }\n\n value = before + acceptedInserted + after\n shouldForceNativeUpdate = true\n }\n }\n }\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 || shouldForceNativeUpdate) {\n const target = event.target as TargetElement\n const blockedValue = target.value\n const selectionStart = target.selectionStart\n const selectionEnd = target.selectionEnd\n setNativeInputValue()\n // Keep caret position stable when input is blocked and value is reset.\n if (\n shouldForceNativeUpdate &&\n _ref.value &&\n selectionStart != null &&\n selectionEnd != null\n ) {\n const restoredValue = _ref.value.value\n const afterTxt = blockedValue.slice(Math.max(0, selectionEnd))\n let caretPos = Math.min(selectionStart, restoredValue.length)\n\n if (afterTxt && restoredValue.endsWith(afterTxt)) {\n caretPos = restoredValue.length - afterTxt.length\n }\n\n _ref.value.setSelectionRange(caretPos, caretPos)\n }\n }\n return\n }\n saveValue.value = value\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 = (evt?: MouseEvent) => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear', evt)\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => {\n resizeTextarea()\n if (props.autosize) {\n textareaHeight.value = undefined\n }\n })\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => nativeInputValue.value,\n (val) => {\n saveValue.value = val\n },\n { immediate: true }\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 whether the password is visible */\n passwordVisible,\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"],"mappings":""}
@@ -107,7 +107,7 @@ interface InputNumberProps {
107
107
  * @deprecated Removed after 3.0.0, Use `InputNumberProps` instead.
108
108
  */
109
109
  declare const inputNumberProps: {
110
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
110
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
111
111
  readonly align: EpPropFinalized<(new (...args: any[]) => "right" | "left" | "center") | (() => "right" | "left" | "center") | (((new (...args: any[]) => "right" | "left" | "center") | (() => "right" | "left" | "center")) | null)[], unknown, unknown, "center", boolean>;
112
112
  readonly disabledScientific: BooleanConstructor;
113
113
  readonly formatter: {
@@ -138,7 +138,7 @@ declare const inputNumberProps: {
138
138
  readonly readonly: BooleanConstructor;
139
139
  readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
140
140
  readonly size: {
141
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
141
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
142
142
  readonly required: false;
143
143
  readonly validator: ((val: unknown) => boolean) | undefined;
144
144
  __epPropKey: true;
@@ -24,21 +24,21 @@ declare const __VLS_base: vue.DefineComponent<InputNumberProps, {
24
24
  }, string, vue.PublicProps, Readonly<InputNumberProps> & Readonly<{
25
25
  "onUpdate:modelValue"?: ((val: number | undefined) => any) | undefined;
26
26
  onChange?: ((cur: number | undefined, prev: number | undefined) => any) | undefined;
27
- onInput?: ((val: number | null | undefined) => any) | undefined;
28
27
  onFocus?: ((e: FocusEvent) => any) | undefined;
29
28
  onBlur?: ((e: FocusEvent) => any) | undefined;
29
+ onInput?: ((val: number | null | undefined) => any) | undefined;
30
30
  }>, {
31
31
  disabled: boolean;
32
- id: string;
33
32
  validateEvent: boolean;
34
- max: number;
35
- tabindex: string | number;
36
33
  valueOnClear: "min" | "max" | number | null;
34
+ id: string;
35
+ align: "left" | "right" | "center";
36
+ tabindex: string | number;
37
+ max: number;
38
+ readonly: boolean;
37
39
  min: number;
38
40
  step: number;
39
- readonly: boolean;
40
- inputmode: "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal";
41
- align: "left" | "right" | "center";
41
+ inputmode: "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal";
42
42
  stepStrictly: boolean;
43
43
  controls: boolean;
44
44
  controlsPosition: "" | "right";
@@ -36,11 +36,11 @@ declare const __VLS_base: vue.DefineComponent<InputOtpProps, {
36
36
  onBlur?: ((eve: FocusEvent) => any) | undefined;
37
37
  onFinish?: ((value: string) => any) | undefined;
38
38
  }>, {
39
- size: ComponentSize;
40
39
  disabled: boolean;
41
40
  length: number;
42
- type: "outlined" | "filled" | "underlined";
41
+ size: ComponentSize;
43
42
  validateEvent: boolean;
43
+ type: "outlined" | "filled" | "underlined";
44
44
  validator: (char: string, index: number) => boolean;
45
45
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
46
46
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -24,7 +24,7 @@ declare function useInputTag({
24
24
  isFocused: vue.Ref<boolean, boolean>;
25
25
  isComposing: vue.Ref<boolean, boolean>;
26
26
  inputValue: vue.Ref<string | undefined, string | undefined>;
27
- size: vue.ComputedRef<"" | "default" | "small" | "large">;
27
+ size: vue.ComputedRef<"" | "default" | "large" | "small">;
28
28
  tagSize: vue.ComputedRef<"default" | "small">;
29
29
  placeholder: vue.ComputedRef<string | undefined>;
30
30
  closable: vue.ComputedRef<boolean>;
@@ -130,7 +130,7 @@ declare const inputTagProps: {
130
130
  readonly max: NumberConstructor;
131
131
  readonly tagType: {
132
132
  readonly default: "info";
133
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "success" | "primary" | "info" | "warning" | "danger", unknown>>;
133
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
134
134
  readonly required: false;
135
135
  readonly validator: ((val: unknown) => boolean) | undefined;
136
136
  readonly __epPropKey: true;
@@ -141,7 +141,7 @@ declare const inputTagProps: {
141
141
  readonly draggable: BooleanConstructor;
142
142
  readonly delimiter: EpPropFinalized<readonly [StringConstructor, RegExpConstructor], unknown, unknown, "", boolean>;
143
143
  readonly size: {
144
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
144
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
145
145
  readonly required: false;
146
146
  readonly validator: ((val: unknown) => boolean) | undefined;
147
147
  __epPropKey: true;
@@ -28,37 +28,37 @@ declare const __VLS_base: vue.DefineComponent<InputTagProps, {
28
28
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
29
29
  "update:modelValue": (value?: string[] | undefined) => void;
30
30
  change: (value?: string[] | undefined) => void;
31
- clear: () => void;
32
31
  focus: (evt: FocusEvent) => void;
33
32
  blur: (evt: FocusEvent) => void;
34
- "remove-tag": (value: string, index: number) => void;
33
+ clear: () => void;
35
34
  input: (value: string) => void;
36
35
  "add-tag": (value: string | string[]) => void;
36
+ "remove-tag": (value: string, index: number) => void;
37
37
  "drag-tag": (oldIndex: number, newIndex: number, value: string) => void;
38
38
  }, string, vue.PublicProps, Readonly<InputTagProps> & Readonly<{
39
39
  "onUpdate:modelValue"?: ((value?: string[] | undefined) => any) | undefined;
40
40
  onChange?: ((value?: string[] | undefined) => any) | undefined;
41
- onClear?: (() => any) | undefined;
42
- onInput?: ((value: string) => any) | undefined;
43
41
  onFocus?: ((evt: FocusEvent) => any) | undefined;
44
42
  onBlur?: ((evt: FocusEvent) => any) | undefined;
45
- "onRemove-tag"?: ((value: string, index: number) => any) | undefined;
43
+ onClear?: (() => any) | undefined;
44
+ onInput?: ((value: string) => any) | undefined;
46
45
  "onAdd-tag"?: ((value: string | string[]) => any) | undefined;
46
+ "onRemove-tag"?: ((value: string, index: number) => any) | undefined;
47
47
  "onDrag-tag"?: ((oldIndex: number, newIndex: number, value: string) => any) | undefined;
48
48
  }>, {
49
49
  disabled: boolean;
50
- id: string;
51
- validateEvent: boolean;
52
- tabindex: string | number;
53
- autocomplete: string;
54
- effect: PopperEffect;
55
- maxCollapseTags: number;
56
50
  clearIcon: IconPropType;
57
- tagType: "success" | "primary" | "info" | "warning" | "danger";
51
+ maxCollapseTags: number;
52
+ effect: PopperEffect;
53
+ tagType: "info" | "primary" | "success" | "warning" | "danger";
58
54
  tagEffect: "light" | "dark" | "plain";
55
+ validateEvent: boolean;
56
+ id: string;
59
57
  trigger: "Enter" | "Space";
60
- saveOnBlur: boolean;
58
+ tabindex: string | number;
61
59
  delimiter: string | RegExp;
60
+ autocomplete: string;
61
+ saveOnBlur: boolean;
62
62
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
63
63
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
64
64
  declare const _default: typeof __VLS_export;
@@ -36,8 +36,8 @@ interface LinkProps {
36
36
  * @deprecated Removed after 3.0.0, Use `LinkProps` instead.
37
37
  */
38
38
  declare const linkProps: {
39
- readonly type: EpPropFinalized<StringConstructor, "default" | "success" | "primary" | "info" | "warning" | "danger", unknown, undefined, boolean>;
40
- readonly underline: EpPropFinalized<readonly [BooleanConstructor, StringConstructor], boolean | "always" | "hover" | "never", unknown, undefined, boolean>;
39
+ readonly type: EpPropFinalized<StringConstructor, "info" | "default" | "primary" | "success" | "warning" | "danger", unknown, undefined, boolean>;
40
+ readonly underline: EpPropFinalized<readonly [BooleanConstructor, StringConstructor], boolean | "hover" | "always" | "never", unknown, undefined, boolean>;
41
41
  readonly disabled: BooleanConstructor;
42
42
  readonly href: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
43
43
  readonly target: EpPropFinalized<(new (...args: any[]) => string) | (() => string) | (((new (...args: any[]) => string) | (() => string)) | null)[], unknown, unknown, "_self", boolean>;