@element-plus/nightly 0.0.20220328 → 0.0.20220329

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 (350) hide show
  1. package/README.md +5 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +1359 -669
  4. package/dist/index.full.min.js +9 -9
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +9 -9
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +1359 -670
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/component.mjs +2 -0
  230. package/es/component.mjs.map +1 -1
  231. package/es/components/autocomplete/index.d.ts +4 -3
  232. package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -3
  233. package/es/components/autocomplete/src/autocomplete2.mjs +7 -1
  234. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  235. package/es/components/cascader/index.d.ts +4 -4
  236. package/es/components/cascader/src/index.vue.d.ts +2 -2
  237. package/es/components/input/index.d.ts +1 -1
  238. package/es/components/input/src/input.vue.d.ts +1 -1
  239. package/es/components/input/src/input2.mjs +3 -2
  240. package/es/components/input/src/input2.mjs.map +1 -1
  241. package/es/components/input-number/index.d.ts +2 -2
  242. package/es/components/input-number/src/input-number.vue.d.ts +2 -2
  243. package/es/components/tooltip-v2/index.d.ts +578 -0
  244. package/es/components/tooltip-v2/index.mjs +11 -0
  245. package/es/components/tooltip-v2/index.mjs.map +1 -1
  246. package/es/components/tooltip-v2/src/arrow.d.ts +7 -3
  247. package/es/components/tooltip-v2/src/arrow.mjs +11 -3
  248. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  249. package/es/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
  250. package/es/components/tooltip-v2/src/arrow2.mjs +23 -10
  251. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  252. package/es/components/tooltip-v2/src/common.d.ts +19 -0
  253. package/es/components/tooltip-v2/src/common.mjs +21 -1
  254. package/es/components/tooltip-v2/src/common.mjs.map +1 -1
  255. package/es/components/tooltip-v2/src/content.d.ts +7 -4
  256. package/es/components/tooltip-v2/src/content.mjs +12 -3
  257. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  258. package/es/components/tooltip-v2/src/content.vue.d.ts +42 -13
  259. package/es/components/tooltip-v2/src/content2.mjs +61 -28
  260. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  261. package/es/components/tooltip-v2/src/root.vue.d.ts +14 -0
  262. package/es/components/tooltip-v2/src/root2.mjs +7 -2
  263. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  264. package/es/components/tooltip-v2/src/tooltip.d.ts +27 -19
  265. package/es/components/tooltip-v2/src/tooltip.mjs +16 -3
  266. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  267. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
  268. package/es/components/tooltip-v2/src/tooltip2.mjs +38 -12
  269. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  270. package/es/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
  271. package/es/components/tooltip-v2/src/trigger2.mjs +10 -7
  272. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  273. package/es/components/visual-hidden/src/visual-hidden.mjs +4 -2
  274. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  275. package/es/hooks/use-floating/index.d.ts +3 -3
  276. package/es/hooks/use-floating/index.mjs +7 -6
  277. package/es/hooks/use-floating/index.mjs.map +1 -1
  278. package/es/index.mjs +1 -1
  279. package/es/tokens/index.mjs +1 -1
  280. package/es/tokens/tooltip-v2.d.ts +6 -0
  281. package/es/tokens/tooltip-v2.mjs +2 -1
  282. package/es/tokens/tooltip-v2.mjs.map +1 -1
  283. package/es/version.d.ts +1 -1
  284. package/es/version.mjs +1 -1
  285. package/es/version.mjs.map +1 -1
  286. package/lib/component.js +10 -8
  287. package/lib/component.js.map +1 -1
  288. package/lib/components/autocomplete/index.d.ts +4 -3
  289. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -3
  290. package/lib/components/autocomplete/src/autocomplete2.js +7 -1
  291. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  292. package/lib/components/cascader/index.d.ts +4 -4
  293. package/lib/components/cascader/src/index.vue.d.ts +2 -2
  294. package/lib/components/input/index.d.ts +1 -1
  295. package/lib/components/input/src/input.vue.d.ts +1 -1
  296. package/lib/components/input/src/input2.js +2 -1
  297. package/lib/components/input/src/input2.js.map +1 -1
  298. package/lib/components/input-number/index.d.ts +2 -2
  299. package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
  300. package/lib/components/tooltip-v2/index.d.ts +578 -0
  301. package/lib/components/tooltip-v2/index.js +21 -0
  302. package/lib/components/tooltip-v2/index.js.map +1 -1
  303. package/lib/components/tooltip-v2/src/arrow.d.ts +7 -3
  304. package/lib/components/tooltip-v2/src/arrow.js +11 -2
  305. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  306. package/lib/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
  307. package/lib/components/tooltip-v2/src/arrow2.js +21 -8
  308. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  309. package/lib/components/tooltip-v2/src/common.d.ts +19 -0
  310. package/lib/components/tooltip-v2/src/common.js +24 -0
  311. package/lib/components/tooltip-v2/src/common.js.map +1 -1
  312. package/lib/components/tooltip-v2/src/content.d.ts +7 -4
  313. package/lib/components/tooltip-v2/src/content.js +12 -3
  314. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  315. package/lib/components/tooltip-v2/src/content.vue.d.ts +42 -13
  316. package/lib/components/tooltip-v2/src/content2.js +58 -25
  317. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  318. package/lib/components/tooltip-v2/src/root.vue.d.ts +14 -0
  319. package/lib/components/tooltip-v2/src/root2.js +9 -4
  320. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  321. package/lib/components/tooltip-v2/src/tooltip.d.ts +27 -19
  322. package/lib/components/tooltip-v2/src/tooltip.js +16 -3
  323. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  324. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
  325. package/lib/components/tooltip-v2/src/tooltip2.js +37 -11
  326. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  327. package/lib/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
  328. package/lib/components/tooltip-v2/src/trigger2.js +9 -6
  329. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  330. package/lib/components/visual-hidden/src/visual-hidden.js +3 -1
  331. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  332. package/lib/hooks/use-floating/index.d.ts +3 -3
  333. package/lib/hooks/use-floating/index.js +6 -5
  334. package/lib/hooks/use-floating/index.js.map +1 -1
  335. package/lib/index.js +1 -0
  336. package/lib/index.js.map +1 -1
  337. package/lib/tokens/index.js +1 -0
  338. package/lib/tokens/index.js.map +1 -1
  339. package/lib/tokens/tooltip-v2.d.ts +6 -0
  340. package/lib/tokens/tooltip-v2.js +2 -0
  341. package/lib/tokens/tooltip-v2.js.map +1 -1
  342. package/lib/version.d.ts +1 -1
  343. package/lib/version.js +1 -1
  344. package/lib/version.js.map +1 -1
  345. package/package.json +2 -2
  346. package/theme-chalk/el-tooltip-v2.css +1 -0
  347. package/theme-chalk/index.css +1 -1
  348. package/theme-chalk/src/index.scss +1 -0
  349. package/theme-chalk/src/tooltip-v2.scss +91 -0
  350. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"compatTeleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useCompAttrs,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst ns = useNamespace('autocomplete')\nconst { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n)\nconst attrs = useAttrs()\nconst compAttrs = useCompAttrs()\nconst suggestions = ref<any[]>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nconst id = computed(() => {\n return ns.b(String(generateId()))\n})\nconst styles = computed(() => compAttrs.style as StyleValue)\nconst suggestionVisible = computed(() => {\n const isValidData = isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\nconst suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n})\n\nconst onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n}\n\nconst getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n const cb = (suggestionsArg: any[]) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = props.fetchSuggestions(queryString, cb)\n if (isArray(result)) {\n cb(result)\n } else if (isPromise(result)) {\n result.then(cb)\n }\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\nconst handleInput = (value: string) => {\n emit('input', value)\n emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n activated.value = Boolean(value)\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n}\nconst handleChange = (value: string) => {\n emit('change', value)\n}\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\nconst handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n}\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = (item: any) => {\n emit('input', item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n}\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useNamespace","useDeprecateAppendToBody","useAttrs","useCompAttrs","ref","computed","generateId","isArray","nextTick","throwError","isPromise","debounce","UPDATE_MODEL_EVENT","onClickOutside","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"compatTeleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useCompAttrs,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst ns = useNamespace('autocomplete')\nconst { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n)\nlet isClear = false\nconst attrs = useAttrs()\nconst compAttrs = useCompAttrs()\nconst suggestions = ref<any[]>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nconst id = computed(() => {\n return ns.b(String(generateId()))\n})\nconst styles = computed(() => compAttrs.style as StyleValue)\nconst suggestionVisible = computed(() => {\n const isValidData = isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\nconst suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n})\n\nconst onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n}\n\nconst getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n const cb = (suggestionsArg: any[]) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = props.fetchSuggestions(queryString, cb)\n if (isArray(result)) {\n cb(result)\n } else if (isPromise(result)) {\n result.then(cb)\n }\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\nconst handleInput = (value: string) => {\n const valuePresented = Boolean(value)\n\n emit('input', value)\n emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n activated.value ||= isClear && valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n if (isClear && valuePresented) {\n isClear = false\n }\n debouncedGetData(value)\n}\nconst handleChange = (value: string) => {\n emit('change', value)\n}\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\nconst handleClear = () => {\n activated.value = false\n isClear = true\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\nconst handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n}\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = (item: any) => {\n emit('input', item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n}\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useNamespace","useDeprecateAppendToBody","useAttrs","useCompAttrs","ref","computed","generateId","isArray","nextTick","throwError","isPromise","debounce","UPDATE_MODEL_EVENT","onClickOutside","onMounted"],"mappings":"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"}
@@ -867,6 +867,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
867
867
  needStatusIcon: import("vue").ComputedRef<boolean>;
868
868
  validateState: import("vue").ComputedRef<string>;
869
869
  validateIcon: import("vue").ComputedRef<any>;
870
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
870
871
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
871
872
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
872
873
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -928,7 +929,6 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
928
929
  color: string;
929
930
  }>> & Record<string, any>;
930
931
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
931
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
932
932
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
933
933
  "update:modelValue": (value: string) => boolean;
934
934
  input: (value: string) => boolean;
@@ -1106,6 +1106,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
1106
1106
  needStatusIcon: import("vue").ComputedRef<boolean>;
1107
1107
  validateState: import("vue").ComputedRef<string>;
1108
1108
  validateIcon: import("vue").ComputedRef<any>;
1109
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
1109
1110
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
1110
1111
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
1111
1112
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -1167,7 +1168,6 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
1167
1168
  color: string;
1168
1169
  }>> & Record<string, any>;
1169
1170
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1170
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1171
1171
  }> & {} & {} & import("vue").ComponentCustomProperties) | null>;
1172
1172
  tagWrapper: import("vue").Ref<null>;
1173
1173
  panel: import("vue").Ref<({
@@ -2752,6 +2752,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2752
2752
  needStatusIcon: import("vue").ComputedRef<boolean>;
2753
2753
  validateState: import("vue").ComputedRef<string>;
2754
2754
  validateIcon: import("vue").ComputedRef<any>;
2755
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
2755
2756
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
2756
2757
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
2757
2758
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -2813,7 +2814,6 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2813
2814
  color: string;
2814
2815
  }>> & Record<string, any>;
2815
2816
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2816
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2817
2817
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2818
2818
  "update:modelValue": (value: string) => boolean;
2819
2819
  input: (value: string) => boolean;
@@ -2991,6 +2991,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2991
2991
  needStatusIcon: import("vue").ComputedRef<boolean>;
2992
2992
  validateState: import("vue").ComputedRef<string>;
2993
2993
  validateIcon: import("vue").ComputedRef<any>;
2994
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
2994
2995
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
2995
2996
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
2996
2997
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -3052,7 +3053,6 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
3052
3053
  color: string;
3053
3054
  }>> & Record<string, any>;
3054
3055
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
3055
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
3056
3056
  }> & {} & {} & import("vue").ComponentCustomProperties) | null>;
3057
3057
  tagWrapper: import("vue").Ref<null>;
3058
3058
  panel: import("vue").Ref<({
@@ -871,6 +871,7 @@ declare const _default: import("vue").DefineComponent<{
871
871
  needStatusIcon: ComputedRef<boolean>;
872
872
  validateState: ComputedRef<string>;
873
873
  validateIcon: ComputedRef<any>;
874
+ passwordIcon: ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
874
875
  containerStyle: ComputedRef<import("vue").StyleValue>;
875
876
  textareaStyle: ComputedRef<import("vue").StyleValue>;
876
877
  nativeInputValue: ComputedRef<string>;
@@ -932,7 +933,6 @@ declare const _default: import("vue").DefineComponent<{
932
933
  color: string;
933
934
  }>> & Record<string, any>;
934
935
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
935
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
936
936
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
937
937
  "update:modelValue": (value: string) => boolean;
938
938
  input: (value: string) => boolean;
@@ -1110,6 +1110,7 @@ declare const _default: import("vue").DefineComponent<{
1110
1110
  needStatusIcon: ComputedRef<boolean>;
1111
1111
  validateState: ComputedRef<string>;
1112
1112
  validateIcon: ComputedRef<any>;
1113
+ passwordIcon: ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
1113
1114
  containerStyle: ComputedRef<import("vue").StyleValue>;
1114
1115
  textareaStyle: ComputedRef<import("vue").StyleValue>;
1115
1116
  nativeInputValue: ComputedRef<string>;
@@ -1171,7 +1172,6 @@ declare const _default: import("vue").DefineComponent<{
1171
1172
  color: string;
1172
1173
  }>> & Record<string, any>;
1173
1174
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1174
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1175
1175
  }> & {} & {} & import("vue").ComponentCustomProperties) | null>;
1176
1176
  tagWrapper: Ref<null>;
1177
1177
  panel: Ref<({
@@ -109,6 +109,7 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
109
109
  needStatusIcon: import("vue").ComputedRef<boolean>;
110
110
  validateState: import("vue").ComputedRef<string>;
111
111
  validateIcon: import("vue").ComputedRef<any>;
112
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
112
113
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
113
114
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
114
115
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -170,7 +171,6 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
170
171
  color: string;
171
172
  }>> & Record<string, any>;
172
173
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
173
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
174
174
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
175
175
  "update:modelValue": (value: string) => boolean;
176
176
  input: (value: string) => boolean;
@@ -110,6 +110,7 @@ declare const _default: import("vue").DefineComponent<{
110
110
  needStatusIcon: import("vue").ComputedRef<boolean>;
111
111
  validateState: import("vue").ComputedRef<string>;
112
112
  validateIcon: import("vue").ComputedRef<any>;
113
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
113
114
  containerStyle: import("vue").ComputedRef<StyleValue>;
114
115
  textareaStyle: import("vue").ComputedRef<StyleValue>;
115
116
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -171,7 +172,6 @@ declare const _default: import("vue").DefineComponent<{
171
172
  color: string;
172
173
  }>> & Record<string, any>;
173
174
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
174
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
175
175
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
176
176
  "update:modelValue": (value: string) => boolean;
177
177
  input: (value: string) => boolean;
@@ -61,6 +61,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
61
61
  });
62
62
  const validateState = vue.computed(() => (formItem == null ? void 0 : formItem.validateState) || "");
63
63
  const validateIcon = vue.computed(() => icon.ValidateComponentsMap[validateState.value]);
64
+ const passwordIcon = vue.computed(() => passwordVisible.value ? iconsVue.View : iconsVue.Hide);
64
65
  const containerStyle = vue.computed(() => [
65
66
  rawAttrs.style,
66
67
  props.inputStyle
@@ -342,7 +343,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
342
343
  onClick: handlePasswordVisible
343
344
  }, {
344
345
  default: vue.withCtx(() => [
345
- vue.createVNode(vue.unref(iconsVue.View))
346
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(passwordIcon))))
346
347
  ]),
347
348
  _: 1
348
349
  }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
@@ -1 +1 @@
1
- {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.m('suffix--password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\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 <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\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\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 <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @click=\"handlePasswordVisible\"\n >\n <icon-view />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\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\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 ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nconst handleInput = async (event: Event) => {\n const { value } = event.target as TargetElement\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\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 (value === nativeInputValue.value) return\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\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 updateIconOffset()\n }\n)\n\nonMounted(async () => {\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\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 HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["getCurrentInstance","useRawAttrs","useSlots","useAttrs","useFormItem","useSize","useDisabled","useNamespace","shallowRef","ref","computed","ValidateComponentsMap","isNil","isClient","isObject","calcTextareaHeight","event","UPDATE_MODEL_EVENT","nextTick","isKorean","debugWarn","watch","onMounted","onUpdated"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgLA,IAAA,MAAA,WAAA,GAAA;AAAA,MACA,MAAA,EAAA,QAAA;AAAA,MACA,MAAA,EAAA,SAAA;AAAA,KAAA,CAAA;AAUA,IAAA,MAAA,QAAA,GAAAA,sBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAAC,YAAA,EAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAAC,YAAA,EAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAAC,cAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,MAAA,QAAA,EAAA,GAAAC,mBAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAAC,eAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAAC,mBAAA,EAAA,CAAA;AACA,IAAA,MAAA,UAAAC,oBAAA,CAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAAA,oBAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAAC,cAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAAA,cAAA,EAAA,CAAA;AAEA,IAAA,MAAA,UAAAC,OAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAAD,eAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,IAAA,GAAAE,YAAA,CAAA,MAAA,KAAA,CAAA,SAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,GAAAA,YAAA,CAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,UAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA;AACA,KAAA,CAAA,CAAA;AAAA,IAAA,MACA,aAAA,GAAAA,YAAA,CAAA,MAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,KAAA,EAAA,CAAA,CAAA;AAAA,IAAA,MACA,YAAA,GAAAA,YAAA,CAAA,MAAAC,0BAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAAD,YAAA,CAAA,MAAA;AAEA,MAAA,QAAA,CAAA,KAAA;AAAA,MACA,KAAA,CAAA,UAAA;AAAA,KAAA,CACA,CAAA;AAAA,IACA,mBAAA,GAAAA,YAAA,CAAA,MAAA;AAAA,MAAA,KAAA,CAAA,UAAA;AAEA,MAAA,iBAAA,CAAA,KAAA;AAGA,MAAA,EAAA,cAAA,MACA,EAAA;AAOA,KAAA,CAAA,CAAA;AAOA,IAAA,MAAA,gBAAA,GAAAA,mBAEAE,mBAAA,CAAA,oBACA,EAAA,GAAA,MAAA,CAAA,KACA,CAAA,UAAA,CAAA,CAAA,CAAA;AAKA,IAAA,MAAA,wBAAA,CAAA,MAAA,KAAA,CAAA,2BAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,KAAA,OAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GACAF,YAAA,CAAA,MAEA,KAAA,CAAA,YAAA,IAAA,CAAA,aACA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,KAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,IAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,iCAEA,CAAA,MAAA,KAAA,CAAA,aACA,iBACA,CAAA,SAAA,KAAA,UAEA,KAAA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,eACA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AAGA,IAAA,MAAA,yBAAA,CAAA,MAAA,KAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAAA,YAAA,CAAA,MAAA,CAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,aAAA,GAAAA,YAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA,KAAA,CAAA,UAAA,IAAA,SAAA,CAAA,KAAA,IAAA,KAAA,CAAA,YAAA,IAAA,kBAAA,CAAA,KAAA,IAAA,CAAA,CAAA,aAAA,CAAA,KAAA,IAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAA,MAAA;AAEA,MAAA,MAAA,EAAA,IAAA,EAAA,QAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAAG,aAAA,IAAA,IAAA,KAAA,UAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,QAAA,EAAA;AAAA,QACA,MAAA,OAAA,GAAAC,eAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,QAAA,MAAA,OAAA,GAAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,QAEA,iBAAA,CAAA,KAAA,GAAA;AACA,UAAA,GAAAC,wBAAA,CAAA,QAAA,CAAA,KAAA,EAAA,OAAA,EAAA,OAAA,CAAA;AAAA,SACA,CAAA;AAAA,OAAA,MAAA;AAAA,QAAA,iBAAA,CAAA,KAAA,GAAA;AAAA,UAAA,SAAA,EAAAA,wBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,SAAA;AAKA,SAAA,CAAA;AACA,OAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,mBAAA,GAAA,MAAA;AACA,MAAA,MAAA,SAAA,IAAA,CAAA,KAAA,CAAA;AAAA,MAAA,IAAA,CAAA,MAAA,IAAA,MAAA,CAAA,KAAA,KAAA,gBAAA,CAAA,KAAA;AAGA,QAAA,OAAA;AACA,MAAA,MAAA,CAAA,QAAA,gBAAA,CAAA,KAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,SAAA,QAAA,CAAA,KACA,CAAA;AAEA,MAAA,IAAA,CAAA;AACA,QAAA,OAAA;AAAA,MAAA,MAAA,MAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,MAAA,MAAA,eAAA,CAAA,IAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,UAAA,KAAA,EAAA,CAAA,CAAA;AAEA,MAAA,IAAA,OAAA;AACA,QAAA,OAAA;AACA,MAEA,MAAA,OAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,QAAA,MAAA,CAAA,KAAA,CAAA,SAAA,GAAA,CAAA,WAAA,EAAA,KAAA,KAAA,QAAA,GAAA,GAAA,GAAA,EAAA,CAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA,MAAA;AAIA,QAAA,sBAAA,CAAA,OAAA,CAAA,CAAA;AACA,OAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,gBAAA,GAAA,MAAA;AAGA,MAAA,cAAA,CAAA,UAAA;AACA,MAAA,uBAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AAAA,IAAA,MAAA,WAAA,GAAA,OAAAC,OAAA,KAAA;AAIA,MAAA,eAAA,GAAAA,OAAA,CAAA,MAAA,CAAA;AAAA,MAAA,IAAA,WAAA,CAAA,KAAA;AAEA,QAAA,OAAA;AACA,MAAA,IAAA,KAAA,KAAA,gBAAA,CAAA,KAAA;AAIA,QAAA,OAAA;AACA,MAAA,IAAA,CAAAC,wBAAA,EAAA,KAAA,CAAA,CAAA;AAAA,MAAA,IAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAGA,MAAA,MAAAC,YAAA,EAAA,CAAA;AACA,MAAA,qBAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,EAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,sBAAA,GAAA,CAAA,KAAA,KAAA;AAGA,MAAA,IAAA,CAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,uBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MAAA,IAAA,CAAA,mBAAA,EAAA,KAAA,CAAA,CAAA;AAGA,MAAA,MAAA,IAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,IAAA,CAAA,MAAA,GAAA,CAAA,CAAA,IAAA,EAAA,CAAA;AACA,MAAA,iBAAA,GAAA,CAAAC,aAAA,CAAA,aAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,KAAA,KAAA;AAAA,MAAA,IAAA,CAAA,gBAAA,EAAA,KAAA,CAAA,CAAA;AAAA,MAAA,IAAA,WAAA,CAAA,KAAA,EAAA;AAIA,QAAA,0BAAA;AACA,QAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACA,OAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,qBAAA,GAAA,MAAA;AAEA,MAAA,eAAA,CAAA,KAAA,GAAA,CAAA,eAAA,CAAA,KAAA,CAAA;AACA,MAAA,KAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,KAAA,GAAA,YAAA;AAEA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAAD,YAAA,EAAA,CAAA;AACA,MAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,IAAA,GAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AAAA,MAAA,OAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,MAAA,IAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAGA,MAAA,IAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,aAAA,EAAA;AACA,QAAA,CAAA,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAE,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AAAA,MAAA,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAGA,MAAA,IAAA,aAAA,EAAA,GAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AAGA,MAAA,cAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA,EAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IACA,MAAA,MAAA,GAAA,MAAA;AAEA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,EAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AACA,KAAA,CAAA;AAAA,IAAA,MAAA,KAAA,GAAA,MAAA;AAAA,MAAA,IAAA,CAAAH,wBAAA,EAAA,EAAA,CAAA,CAAA;AAQA,MAAA,IAAA;AAKA,MACA,IAAA,CAAA,OAAA,CAAA,CAAA;AAEA,MAAA,IAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAAI,SAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MAAAH,YAAA,CAAA,MAAA,cAAA,EAAA,CAAA,CAAA;AAIA,MAAA,IAAA,KAAA,CAAA,aAAA,EAAA;AACA,QAAA,CAAA,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAE,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,OAAA;AACA,KAAA,CAAA,CAAA;AACA,IAAAC,SAAA,CAAA,gBAAA,EAAA,MAAA,mBAAA,EAAA,CAAA,CAAA;AAAA,IAAAA,SAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AAGA,MAAA,MAAAH,YAAA,EAAA,CAAA;AACA,MAAA,mBAAA,EAAA,CAAA;AACA,MAAA,cAAA,EAAA,CAAA;AAAA,MAAA,gBAAA,EAAA,CAAA;AAGA,KAAA,CAAA,CAAA;AAAA,IAEAI,aAAA,CAAA,YAAA;AAAA,MAEA,mBAAA,EAAA,CAAA;AAAA,MAEA,gBAAA,EAAA,CAAA;AAAA,MAEA,MAAAJ,YAAA,EAAA,CAAA;AAAA,MAGA,gBAAA,CAAA;AAAA,KAGA,CAAA,CAAA;AAAA,IAEAK,aAAA,CAAA,YAAA;AAAA,MAEA,MAAAL,YAAA,EAAA,CAAA;AAAA,MAEA,gBAAA,EAAA,CAAA;AAAA,KAEA,CAAA,CAAA;AAAA,IAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.m('suffix--password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\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 <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\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\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 <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\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\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 ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nconst handleInput = async (event: Event) => {\n const { value } = event.target as TargetElement\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\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 (value === nativeInputValue.value) return\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\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 updateIconOffset()\n }\n)\n\nonMounted(async () => {\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\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 HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["getCurrentInstance","useRawAttrs","useSlots","useAttrs","useFormItem","useSize","useDisabled","useNamespace","shallowRef","ref","computed","ValidateComponentsMap","IconView","IconHide","isNil","isClient","isObject","calcTextareaHeight","event","UPDATE_MODEL_EVENT","nextTick","isKorean","debugWarn","watch","onMounted","onUpdated"],"mappings":"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"}
@@ -124,6 +124,7 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
124
124
  needStatusIcon: import("vue").ComputedRef<boolean>;
125
125
  validateState: import("vue").ComputedRef<string>;
126
126
  validateIcon: import("vue").ComputedRef<any>;
127
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
127
128
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
128
129
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
129
130
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -185,7 +186,6 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
185
186
  color: string;
186
187
  }>> & Record<string, any>;
187
188
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
188
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
189
189
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
190
190
  "update:modelValue": (value: string) => boolean;
191
191
  input: (value: string) => boolean;
@@ -363,6 +363,7 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
363
363
  needStatusIcon: import("vue").ComputedRef<boolean>;
364
364
  validateState: import("vue").ComputedRef<string>;
365
365
  validateIcon: import("vue").ComputedRef<any>;
366
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
366
367
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
367
368
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
368
369
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -424,7 +425,6 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
424
425
  color: string;
425
426
  }>> & Record<string, any>;
426
427
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
427
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
428
428
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
429
429
  "update:modelValue": (value: string) => boolean;
430
430
  input: (value: string) => boolean;
@@ -125,6 +125,7 @@ declare const _default: import("vue").DefineComponent<{
125
125
  needStatusIcon: import("vue").ComputedRef<boolean>;
126
126
  validateState: import("vue").ComputedRef<string>;
127
127
  validateIcon: import("vue").ComputedRef<any>;
128
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
128
129
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
129
130
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
130
131
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -186,7 +187,6 @@ declare const _default: import("vue").DefineComponent<{
186
187
  color: string;
187
188
  }>> & Record<string, any>;
188
189
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
189
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
190
190
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
191
191
  "update:modelValue": (value: string) => boolean;
192
192
  input: (value: string) => boolean;
@@ -364,6 +364,7 @@ declare const _default: import("vue").DefineComponent<{
364
364
  needStatusIcon: import("vue").ComputedRef<boolean>;
365
365
  validateState: import("vue").ComputedRef<string>;
366
366
  validateIcon: import("vue").ComputedRef<any>;
367
+ passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
367
368
  containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
368
369
  textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
369
370
  nativeInputValue: import("vue").ComputedRef<string>;
@@ -425,7 +426,6 @@ declare const _default: import("vue").DefineComponent<{
425
426
  color: string;
426
427
  }>> & Record<string, any>;
427
428
  CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
428
- IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
429
429
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
430
430
  "update:modelValue": (value: string) => boolean;
431
431
  input: (value: string) => boolean;