@element-plus/nightly 0.0.20250611 → 0.0.20250612

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 (646) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +47 -36
  3. package/dist/index.full.min.js +10 -10
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +10 -10
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +47 -36
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +6 -6
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.js.map +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.min.mjs.map +1 -1
  205. package/dist/locale/ru.mjs +6 -6
  206. package/dist/locale/sk.js +1 -1
  207. package/dist/locale/sk.min.js +1 -1
  208. package/dist/locale/sk.min.mjs +1 -1
  209. package/dist/locale/sk.mjs +1 -1
  210. package/dist/locale/sl.js +1 -1
  211. package/dist/locale/sl.min.js +1 -1
  212. package/dist/locale/sl.min.mjs +1 -1
  213. package/dist/locale/sl.mjs +1 -1
  214. package/dist/locale/sr.js +1 -1
  215. package/dist/locale/sr.min.js +1 -1
  216. package/dist/locale/sr.min.mjs +1 -1
  217. package/dist/locale/sr.mjs +1 -1
  218. package/dist/locale/sv.js +1 -1
  219. package/dist/locale/sv.min.js +1 -1
  220. package/dist/locale/sv.min.mjs +1 -1
  221. package/dist/locale/sv.mjs +1 -1
  222. package/dist/locale/sw.js +1 -1
  223. package/dist/locale/sw.min.js +1 -1
  224. package/dist/locale/sw.min.mjs +1 -1
  225. package/dist/locale/sw.mjs +1 -1
  226. package/dist/locale/ta.js +1 -1
  227. package/dist/locale/ta.min.js +1 -1
  228. package/dist/locale/ta.min.mjs +1 -1
  229. package/dist/locale/ta.mjs +1 -1
  230. package/dist/locale/te.js +1 -1
  231. package/dist/locale/te.min.js +1 -1
  232. package/dist/locale/te.min.mjs +1 -1
  233. package/dist/locale/te.mjs +1 -1
  234. package/dist/locale/th.js +1 -1
  235. package/dist/locale/th.min.js +1 -1
  236. package/dist/locale/th.min.mjs +1 -1
  237. package/dist/locale/th.mjs +1 -1
  238. package/dist/locale/tk.js +1 -1
  239. package/dist/locale/tk.min.js +1 -1
  240. package/dist/locale/tk.min.mjs +1 -1
  241. package/dist/locale/tk.mjs +1 -1
  242. package/dist/locale/tr.js +1 -1
  243. package/dist/locale/tr.min.js +1 -1
  244. package/dist/locale/tr.min.mjs +1 -1
  245. package/dist/locale/tr.mjs +1 -1
  246. package/dist/locale/ug-cn.js +1 -1
  247. package/dist/locale/ug-cn.min.js +1 -1
  248. package/dist/locale/ug-cn.min.mjs +1 -1
  249. package/dist/locale/ug-cn.mjs +1 -1
  250. package/dist/locale/uk.js +1 -1
  251. package/dist/locale/uk.min.js +1 -1
  252. package/dist/locale/uk.min.mjs +1 -1
  253. package/dist/locale/uk.mjs +1 -1
  254. package/dist/locale/uz-uz.js +1 -1
  255. package/dist/locale/uz-uz.min.js +1 -1
  256. package/dist/locale/uz-uz.min.mjs +1 -1
  257. package/dist/locale/uz-uz.mjs +1 -1
  258. package/dist/locale/vi.js +1 -1
  259. package/dist/locale/vi.min.js +1 -1
  260. package/dist/locale/vi.min.mjs +1 -1
  261. package/dist/locale/vi.mjs +1 -1
  262. package/dist/locale/zh-cn.js +1 -1
  263. package/dist/locale/zh-cn.min.js +1 -1
  264. package/dist/locale/zh-cn.min.mjs +1 -1
  265. package/dist/locale/zh-cn.mjs +1 -1
  266. package/dist/locale/zh-hk.js +1 -1
  267. package/dist/locale/zh-hk.min.js +1 -1
  268. package/dist/locale/zh-hk.min.mjs +1 -1
  269. package/dist/locale/zh-hk.mjs +1 -1
  270. package/dist/locale/zh-mo.js +1 -1
  271. package/dist/locale/zh-mo.min.js +1 -1
  272. package/dist/locale/zh-mo.min.mjs +1 -1
  273. package/dist/locale/zh-mo.mjs +1 -1
  274. package/dist/locale/zh-tw.js +1 -1
  275. package/dist/locale/zh-tw.min.js +1 -1
  276. package/dist/locale/zh-tw.min.mjs +1 -1
  277. package/dist/locale/zh-tw.mjs +1 -1
  278. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  279. package/es/components/cascader/src/cascader.d.ts +6 -0
  280. package/es/components/cascader/src/cascader.mjs +4 -1
  281. package/es/components/cascader/src/cascader.mjs.map +1 -1
  282. package/es/components/cascader/src/cascader.vue.d.ts +12 -0
  283. package/es/components/cascader/src/cascader2.mjs +31 -26
  284. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  285. package/es/components/cascader-panel/src/index.mjs +1 -1
  286. package/es/components/cascader-panel/src/menu.mjs +1 -1
  287. package/es/components/cascader-panel/src/node.mjs +115 -206
  288. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  289. package/es/components/cascader-panel/src/node2.mjs +206 -115
  290. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  291. package/es/components/cascader-panel/src/store.mjs +1 -1
  292. package/es/components/check-tag/index.mjs +2 -2
  293. package/es/components/check-tag/src/check-tag.mjs +14 -38
  294. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  295. package/es/components/check-tag/src/check-tag2.mjs +38 -14
  296. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  297. package/es/components/col/index.mjs +2 -2
  298. package/es/components/col/src/col.mjs +43 -64
  299. package/es/components/col/src/col.mjs.map +1 -1
  300. package/es/components/col/src/col2.mjs +64 -43
  301. package/es/components/col/src/col2.mjs.map +1 -1
  302. package/es/components/color-picker/index.mjs +2 -2
  303. package/es/components/color-picker/src/color-picker.mjs +399 -39
  304. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  305. package/es/components/color-picker/src/color-picker2.mjs +39 -399
  306. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  307. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  308. package/es/components/dialog/src/dialog.mjs +1 -1
  309. package/es/components/dropdown/src/dropdown.mjs +2 -2
  310. package/es/components/empty/index.mjs +2 -2
  311. package/es/components/empty/src/empty.mjs +52 -11
  312. package/es/components/empty/src/empty.mjs.map +1 -1
  313. package/es/components/empty/src/empty2.mjs +11 -52
  314. package/es/components/empty/src/empty2.mjs.map +1 -1
  315. package/es/components/form/src/form-item2.mjs +5 -3
  316. package/es/components/form/src/form-item2.mjs.map +1 -1
  317. package/es/components/form/src/form.vue.d.ts +7 -1
  318. package/es/components/form/src/form2.mjs +3 -2
  319. package/es/components/form/src/form2.mjs.map +1 -1
  320. package/es/components/form/src/types.d.ts +3 -1
  321. package/es/components/form/src/utils.mjs +3 -2
  322. package/es/components/form/src/utils.mjs.map +1 -1
  323. package/es/components/index.mjs +22 -22
  324. package/es/components/input/index.mjs +2 -2
  325. package/es/components/input/src/input.mjs +437 -103
  326. package/es/components/input/src/input.mjs.map +1 -1
  327. package/es/components/input/src/input2.mjs +103 -437
  328. package/es/components/input/src/input2.mjs.map +1 -1
  329. package/es/components/link/index.mjs +2 -2
  330. package/es/components/link/src/link.mjs +71 -25
  331. package/es/components/link/src/link.mjs.map +1 -1
  332. package/es/components/link/src/link2.mjs +25 -71
  333. package/es/components/link/src/link2.mjs.map +1 -1
  334. package/es/components/mention/src/mention.mjs +1 -1
  335. package/es/components/mention/src/mention2.mjs +1 -1
  336. package/es/components/pagination/src/components/next.mjs +18 -35
  337. package/es/components/pagination/src/components/next.mjs.map +1 -1
  338. package/es/components/pagination/src/components/next2.mjs +35 -18
  339. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  340. package/es/components/pagination/src/pagination.mjs +1 -1
  341. package/es/components/popconfirm/index.mjs +2 -2
  342. package/es/components/popconfirm/src/popconfirm.mjs +114 -45
  343. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  344. package/es/components/popconfirm/src/popconfirm2.mjs +45 -114
  345. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  346. package/es/components/popover/src/popover.mjs +1 -1
  347. package/es/components/popper/index.mjs +6 -6
  348. package/es/components/popper/src/content.mjs +94 -130
  349. package/es/components/popper/src/content.mjs.map +1 -1
  350. package/es/components/popper/src/content2.mjs +130 -94
  351. package/es/components/popper/src/content2.mjs.map +1 -1
  352. package/es/components/popper/src/popper.mjs +22 -32
  353. package/es/components/popper/src/popper.mjs.map +1 -1
  354. package/es/components/popper/src/popper2.mjs +32 -22
  355. package/es/components/popper/src/popper2.mjs.map +1 -1
  356. package/es/components/popper/src/trigger.mjs +31 -127
  357. package/es/components/popper/src/trigger.mjs.map +1 -1
  358. package/es/components/popper/src/trigger2.mjs +127 -31
  359. package/es/components/popper/src/trigger2.mjs.map +1 -1
  360. package/es/components/radio/index.mjs +4 -4
  361. package/es/components/radio/src/radio-button.mjs +1 -1
  362. package/es/components/radio/src/radio-group.mjs +65 -34
  363. package/es/components/radio/src/radio-group.mjs.map +1 -1
  364. package/es/components/radio/src/radio-group2.mjs +34 -65
  365. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  366. package/es/components/radio/src/radio.mjs +32 -74
  367. package/es/components/radio/src/radio.mjs.map +1 -1
  368. package/es/components/radio/src/radio2.mjs +74 -32
  369. package/es/components/radio/src/radio2.mjs.map +1 -1
  370. package/es/components/scrollbar/index.mjs +1 -1
  371. package/es/components/scrollbar/src/bar2.mjs +1 -1
  372. package/es/components/scrollbar/src/thumb.mjs +11 -139
  373. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  374. package/es/components/scrollbar/src/thumb2.mjs +139 -11
  375. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  376. package/es/components/select/index.mjs +1 -1
  377. package/es/components/select/src/option.mjs +13 -89
  378. package/es/components/select/src/option.mjs.map +1 -1
  379. package/es/components/select/src/option2.mjs +89 -13
  380. package/es/components/select/src/option2.mjs.map +1 -1
  381. package/es/components/select/src/select.mjs +1 -1
  382. package/es/components/select/src/select2.mjs +1 -1
  383. package/es/components/select/src/useOption.mjs +1 -1
  384. package/es/components/select-v2/src/defaults.mjs +1 -1
  385. package/es/components/skeleton/index.mjs +2 -2
  386. package/es/components/skeleton/src/skeleton-item.mjs +17 -22
  387. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  388. package/es/components/skeleton/src/skeleton-item2.mjs +22 -17
  389. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  390. package/es/components/skeleton/src/skeleton2.mjs +1 -1
  391. package/es/components/steps/index.mjs +2 -2
  392. package/es/components/steps/src/steps.mjs +39 -35
  393. package/es/components/steps/src/steps.mjs.map +1 -1
  394. package/es/components/steps/src/steps2.mjs +35 -39
  395. package/es/components/steps/src/steps2.mjs.map +1 -1
  396. package/es/components/switch/index.mjs +2 -2
  397. package/es/components/switch/src/switch.mjs +72 -228
  398. package/es/components/switch/src/switch.mjs.map +1 -1
  399. package/es/components/switch/src/switch2.mjs +228 -72
  400. package/es/components/switch/src/switch2.mjs.map +1 -1
  401. package/es/components/table/src/filter-panel.mjs +1 -1
  402. package/es/components/teleport/index.mjs +2 -2
  403. package/es/components/teleport/src/teleport.mjs +18 -8
  404. package/es/components/teleport/src/teleport.mjs.map +1 -1
  405. package/es/components/teleport/src/teleport2.mjs +8 -18
  406. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  407. package/es/components/time-select/index.mjs +2 -2
  408. package/es/components/time-select/src/time-select.mjs +54 -132
  409. package/es/components/time-select/src/time-select.mjs.map +1 -1
  410. package/es/components/time-select/src/time-select2.mjs +132 -54
  411. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  412. package/es/components/timeline/index.mjs +2 -2
  413. package/es/components/timeline/src/timeline-item.mjs +72 -33
  414. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  415. package/es/components/timeline/src/timeline-item2.mjs +33 -72
  416. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  417. package/es/components/tooltip/index.mjs +1 -1
  418. package/es/components/tooltip/src/content.mjs +29 -196
  419. package/es/components/tooltip/src/content.mjs.map +1 -1
  420. package/es/components/tooltip/src/content2.mjs +196 -29
  421. package/es/components/tooltip/src/content2.mjs.map +1 -1
  422. package/es/components/tooltip/src/tooltip.mjs +2 -2
  423. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  424. package/es/components/tooltip/src/trigger.mjs +1 -1
  425. package/es/components/tooltip/src/trigger2.mjs +1 -1
  426. package/es/components/tooltip-v2/index.mjs +2 -2
  427. package/es/components/tooltip-v2/src/content.mjs +110 -48
  428. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  429. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  430. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  431. package/es/components/tooltip-v2/src/root.mjs +79 -17
  432. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  433. package/es/components/tooltip-v2/src/root2.mjs +17 -79
  434. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  435. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  436. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  437. package/es/components/tour/src/tour.mjs +1 -1
  438. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  439. package/es/components/transfer/src/transfer-panel.mjs +19 -130
  440. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  441. package/es/components/transfer/src/transfer-panel2.mjs +130 -19
  442. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  443. package/es/components/transfer/src/transfer2.mjs +1 -1
  444. package/es/components/upload/index.mjs +1 -1
  445. package/es/components/upload/src/upload-content2.mjs +1 -1
  446. package/es/components/upload/src/upload-dragger.mjs +56 -10
  447. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  448. package/es/components/upload/src/upload-dragger2.mjs +10 -56
  449. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  450. package/es/directives/click-outside/index.mjs +1 -1
  451. package/es/hooks/use-focus-controller/index.mjs +4 -3
  452. package/es/hooks/use-focus-controller/index.mjs.map +1 -1
  453. package/es/hooks/use-lockscreen/index.mjs +1 -1
  454. package/es/index.d.ts +27 -1
  455. package/es/index.mjs +22 -22
  456. package/es/locale/lang/ru.mjs +5 -5
  457. package/es/locale/lang/ru.mjs.map +1 -1
  458. package/es/version.d.ts +1 -1
  459. package/es/version.mjs +1 -1
  460. package/es/version.mjs.map +1 -1
  461. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  462. package/lib/components/cascader/src/cascader.d.ts +6 -0
  463. package/lib/components/cascader/src/cascader.js +4 -1
  464. package/lib/components/cascader/src/cascader.js.map +1 -1
  465. package/lib/components/cascader/src/cascader.vue.d.ts +12 -0
  466. package/lib/components/cascader/src/cascader2.js +37 -32
  467. package/lib/components/cascader/src/cascader2.js.map +1 -1
  468. package/lib/components/cascader-panel/src/index.js +1 -1
  469. package/lib/components/cascader-panel/src/menu.js +1 -1
  470. package/lib/components/cascader-panel/src/node.js +115 -206
  471. package/lib/components/cascader-panel/src/node.js.map +1 -1
  472. package/lib/components/cascader-panel/src/node2.js +206 -115
  473. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  474. package/lib/components/cascader-panel/src/store.js +1 -1
  475. package/lib/components/check-tag/index.js +2 -2
  476. package/lib/components/check-tag/src/check-tag.js +15 -38
  477. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  478. package/lib/components/check-tag/src/check-tag2.js +38 -15
  479. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  480. package/lib/components/col/index.js +2 -2
  481. package/lib/components/col/src/col.js +43 -64
  482. package/lib/components/col/src/col.js.map +1 -1
  483. package/lib/components/col/src/col2.js +64 -43
  484. package/lib/components/col/src/col2.js.map +1 -1
  485. package/lib/components/color-picker/index.js +2 -2
  486. package/lib/components/color-picker/src/color-picker.js +398 -40
  487. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  488. package/lib/components/color-picker/src/color-picker2.js +40 -398
  489. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  490. package/lib/components/color-picker/src/components/predefine.js +1 -1
  491. package/lib/components/dialog/src/dialog.js +1 -1
  492. package/lib/components/dropdown/src/dropdown.js +2 -2
  493. package/lib/components/empty/index.js +2 -2
  494. package/lib/components/empty/src/empty.js +52 -11
  495. package/lib/components/empty/src/empty.js.map +1 -1
  496. package/lib/components/empty/src/empty2.js +11 -52
  497. package/lib/components/empty/src/empty2.js.map +1 -1
  498. package/lib/components/form/src/form-item2.js +4 -2
  499. package/lib/components/form/src/form-item2.js.map +1 -1
  500. package/lib/components/form/src/form.vue.d.ts +7 -1
  501. package/lib/components/form/src/form2.js +3 -2
  502. package/lib/components/form/src/form2.js.map +1 -1
  503. package/lib/components/form/src/types.d.ts +3 -1
  504. package/lib/components/form/src/utils.js +3 -2
  505. package/lib/components/form/src/utils.js.map +1 -1
  506. package/lib/components/index.js +22 -22
  507. package/lib/components/input/index.js +2 -2
  508. package/lib/components/input/src/input.js +434 -101
  509. package/lib/components/input/src/input.js.map +1 -1
  510. package/lib/components/input/src/input2.js +101 -434
  511. package/lib/components/input/src/input2.js.map +1 -1
  512. package/lib/components/link/index.js +2 -2
  513. package/lib/components/link/src/link.js +71 -26
  514. package/lib/components/link/src/link.js.map +1 -1
  515. package/lib/components/link/src/link2.js +26 -71
  516. package/lib/components/link/src/link2.js.map +1 -1
  517. package/lib/components/mention/src/mention.js +1 -1
  518. package/lib/components/mention/src/mention2.js +1 -1
  519. package/lib/components/pagination/src/components/next.js +18 -35
  520. package/lib/components/pagination/src/components/next.js.map +1 -1
  521. package/lib/components/pagination/src/components/next2.js +35 -18
  522. package/lib/components/pagination/src/components/next2.js.map +1 -1
  523. package/lib/components/pagination/src/pagination.js +1 -1
  524. package/lib/components/popconfirm/index.js +2 -2
  525. package/lib/components/popconfirm/src/popconfirm.js +114 -46
  526. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  527. package/lib/components/popconfirm/src/popconfirm2.js +46 -114
  528. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  529. package/lib/components/popover/src/popover.js +1 -1
  530. package/lib/components/popper/index.js +6 -6
  531. package/lib/components/popper/src/content.js +99 -130
  532. package/lib/components/popper/src/content.js.map +1 -1
  533. package/lib/components/popper/src/content2.js +130 -99
  534. package/lib/components/popper/src/content2.js.map +1 -1
  535. package/lib/components/popper/src/popper.js +25 -32
  536. package/lib/components/popper/src/popper.js.map +1 -1
  537. package/lib/components/popper/src/popper2.js +32 -25
  538. package/lib/components/popper/src/popper2.js.map +1 -1
  539. package/lib/components/popper/src/trigger.js +32 -127
  540. package/lib/components/popper/src/trigger.js.map +1 -1
  541. package/lib/components/popper/src/trigger2.js +127 -32
  542. package/lib/components/popper/src/trigger2.js.map +1 -1
  543. package/lib/components/radio/index.js +4 -4
  544. package/lib/components/radio/src/radio-button.js +1 -1
  545. package/lib/components/radio/src/radio-group.js +65 -35
  546. package/lib/components/radio/src/radio-group.js.map +1 -1
  547. package/lib/components/radio/src/radio-group2.js +35 -65
  548. package/lib/components/radio/src/radio-group2.js.map +1 -1
  549. package/lib/components/radio/src/radio.js +33 -73
  550. package/lib/components/radio/src/radio.js.map +1 -1
  551. package/lib/components/radio/src/radio2.js +73 -33
  552. package/lib/components/radio/src/radio2.js.map +1 -1
  553. package/lib/components/scrollbar/index.js +1 -1
  554. package/lib/components/scrollbar/src/bar2.js +1 -1
  555. package/lib/components/scrollbar/src/thumb.js +11 -139
  556. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  557. package/lib/components/scrollbar/src/thumb2.js +139 -11
  558. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  559. package/lib/components/select/index.js +1 -1
  560. package/lib/components/select/src/option.js +14 -89
  561. package/lib/components/select/src/option.js.map +1 -1
  562. package/lib/components/select/src/option2.js +89 -14
  563. package/lib/components/select/src/option2.js.map +1 -1
  564. package/lib/components/select/src/select.js +1 -1
  565. package/lib/components/select/src/select2.js +1 -1
  566. package/lib/components/select/src/useOption.js +1 -1
  567. package/lib/components/select-v2/src/defaults.js +1 -1
  568. package/lib/components/skeleton/index.js +2 -2
  569. package/lib/components/skeleton/src/skeleton-item.js +17 -22
  570. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  571. package/lib/components/skeleton/src/skeleton-item2.js +22 -17
  572. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  573. package/lib/components/skeleton/src/skeleton2.js +1 -1
  574. package/lib/components/steps/index.js +2 -2
  575. package/lib/components/steps/src/steps.js +39 -36
  576. package/lib/components/steps/src/steps.js.map +1 -1
  577. package/lib/components/steps/src/steps2.js +36 -39
  578. package/lib/components/steps/src/steps2.js.map +1 -1
  579. package/lib/components/switch/index.js +2 -2
  580. package/lib/components/switch/src/switch.js +72 -227
  581. package/lib/components/switch/src/switch.js.map +1 -1
  582. package/lib/components/switch/src/switch2.js +227 -72
  583. package/lib/components/switch/src/switch2.js.map +1 -1
  584. package/lib/components/table/src/filter-panel.js +1 -1
  585. package/lib/components/teleport/index.js +2 -2
  586. package/lib/components/teleport/src/teleport.js +18 -8
  587. package/lib/components/teleport/src/teleport.js.map +1 -1
  588. package/lib/components/teleport/src/teleport2.js +8 -18
  589. package/lib/components/teleport/src/teleport2.js.map +1 -1
  590. package/lib/components/time-select/index.js +2 -2
  591. package/lib/components/time-select/src/time-select.js +54 -137
  592. package/lib/components/time-select/src/time-select.js.map +1 -1
  593. package/lib/components/time-select/src/time-select2.js +137 -54
  594. package/lib/components/time-select/src/time-select2.js.map +1 -1
  595. package/lib/components/timeline/index.js +2 -2
  596. package/lib/components/timeline/src/timeline-item.js +72 -33
  597. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  598. package/lib/components/timeline/src/timeline-item2.js +33 -72
  599. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  600. package/lib/components/tooltip/index.js +1 -1
  601. package/lib/components/tooltip/src/content.js +29 -196
  602. package/lib/components/tooltip/src/content.js.map +1 -1
  603. package/lib/components/tooltip/src/content2.js +196 -29
  604. package/lib/components/tooltip/src/content2.js.map +1 -1
  605. package/lib/components/tooltip/src/tooltip.js +2 -2
  606. package/lib/components/tooltip/src/tooltip2.js +1 -1
  607. package/lib/components/tooltip/src/trigger.js +1 -1
  608. package/lib/components/tooltip/src/trigger2.js +1 -1
  609. package/lib/components/tooltip-v2/index.js +2 -2
  610. package/lib/components/tooltip-v2/src/content.js +110 -48
  611. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  612. package/lib/components/tooltip-v2/src/content2.js +48 -110
  613. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  614. package/lib/components/tooltip-v2/src/root.js +79 -17
  615. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  616. package/lib/components/tooltip-v2/src/root2.js +17 -79
  617. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  618. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  619. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  620. package/lib/components/tour/src/tour.js +1 -1
  621. package/lib/components/transfer/src/composables/use-check.js +1 -1
  622. package/lib/components/transfer/src/transfer-panel.js +21 -130
  623. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  624. package/lib/components/transfer/src/transfer-panel2.js +130 -21
  625. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  626. package/lib/components/transfer/src/transfer2.js +1 -1
  627. package/lib/components/upload/index.js +1 -1
  628. package/lib/components/upload/src/upload-content2.js +1 -1
  629. package/lib/components/upload/src/upload-dragger.js +56 -11
  630. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  631. package/lib/components/upload/src/upload-dragger2.js +11 -56
  632. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  633. package/lib/directives/click-outside/index.js +1 -1
  634. package/lib/hooks/use-focus-controller/index.js +4 -3
  635. package/lib/hooks/use-focus-controller/index.js.map +1 -1
  636. package/lib/hooks/use-lockscreen/index.js +1 -1
  637. package/lib/index.d.ts +27 -1
  638. package/lib/index.js +22 -22
  639. package/lib/locale/lang/ru.js +5 -5
  640. package/lib/locale/lang/ru.js.map +1 -1
  641. package/lib/version.d.ts +1 -1
  642. package/lib/version.js +1 -1
  643. package/lib/version.js.map +1 -1
  644. package/package.json +2 -2
  645. package/tags.json +1 -1
  646. package/web-types.json +1 -1
@@ -1,107 +1,441 @@
1
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
2
- import { iconPropType } from '../../../utils/vue/icon.mjs';
3
- import { mutable } from '../../../utils/typescript.mjs';
4
- import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
5
- import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
6
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
7
- import { isString } from '@vue/shared';
1
+ import { defineComponent, useAttrs, useSlots, computed, shallowRef, ref, watch, nextTick, onMounted, toRef, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, createCommentVNode, Fragment, renderSlot, createElementVNode, createBlock, withCtx, resolveDynamicComponent, mergeProps, withModifiers, createVNode, toDisplayString } from 'vue';
2
+ import { useResizeObserver, isClient } from '@vueuse/core';
3
+ import { isNil } from 'lodash-unified';
4
+ import { ElIcon } from '../../icon/index.mjs';
5
+ import { View, Hide, CircleClose } from '@element-plus/icons-vue';
6
+ import { calcTextareaHeight } from './utils.mjs';
7
+ import { inputProps, inputEmits } from './input2.mjs';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
+ import { useAttrs as useAttrs$1 } from '../../../hooks/use-attrs/index.mjs';
10
+ import { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';
11
+ import { useFormSize, useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
12
+ import { useFocusController } from '../../../hooks/use-focus-controller/index.mjs';
13
+ import { ValidateComponentsMap } from '../../../utils/vue/icon.mjs';
14
+ import { useComposition } from '../../../hooks/use-composition/index.mjs';
15
+ import { UPDATE_MODEL_EVENT, INPUT_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
16
+ import { useCursor } from '../../../hooks/use-cursor/index.mjs';
17
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
18
+ import { debugWarn } from '../../../utils/error.mjs';
19
+ import { NOOP, isObject } from '@vue/shared';
8
20
 
9
- const inputProps = buildProps({
10
- id: {
11
- type: String,
12
- default: void 0
13
- },
14
- size: useSizeProp,
15
- disabled: Boolean,
16
- modelValue: {
17
- type: definePropType([
18
- String,
19
- Number,
20
- Object
21
- ]),
22
- default: ""
23
- },
24
- maxlength: {
25
- type: [String, Number]
26
- },
27
- minlength: {
28
- type: [String, Number]
29
- },
30
- type: {
31
- type: String,
32
- default: "text"
33
- },
34
- resize: {
35
- type: String,
36
- values: ["none", "both", "horizontal", "vertical"]
37
- },
38
- autosize: {
39
- type: definePropType([Boolean, Object]),
40
- default: false
41
- },
42
- autocomplete: {
43
- type: String,
44
- default: "off"
45
- },
46
- formatter: {
47
- type: Function
48
- },
49
- parser: {
50
- type: Function
51
- },
52
- placeholder: {
53
- type: String
54
- },
55
- form: {
56
- type: String
57
- },
58
- readonly: Boolean,
59
- clearable: Boolean,
60
- showPassword: Boolean,
61
- showWordLimit: Boolean,
62
- suffixIcon: {
63
- type: iconPropType
64
- },
65
- prefixIcon: {
66
- type: iconPropType
67
- },
68
- containerRole: {
69
- type: String,
70
- default: void 0
71
- },
72
- tabindex: {
73
- type: [String, Number],
74
- default: 0
75
- },
76
- validateEvent: {
77
- type: Boolean,
78
- default: true
79
- },
80
- inputStyle: {
81
- type: definePropType([Object, Array, String]),
82
- default: () => mutable({})
83
- },
84
- autofocus: Boolean,
85
- rows: {
86
- type: Number,
87
- default: 2
88
- },
89
- ...useAriaProps(["ariaLabel"])
21
+ const COMPONENT_NAME = "ElInput";
22
+ const __default__ = defineComponent({
23
+ name: COMPONENT_NAME,
24
+ inheritAttrs: false
90
25
  });
91
- const inputEmits = {
92
- [UPDATE_MODEL_EVENT]: (value) => isString(value),
93
- input: (value) => isString(value),
94
- change: (value) => isString(value),
95
- focus: (evt) => evt instanceof FocusEvent,
96
- blur: (evt) => evt instanceof FocusEvent,
97
- clear: () => true,
98
- mouseleave: (evt) => evt instanceof MouseEvent,
99
- mouseenter: (evt) => evt instanceof MouseEvent,
100
- keydown: (evt) => evt instanceof Event,
101
- compositionstart: (evt) => evt instanceof CompositionEvent,
102
- compositionupdate: (evt) => evt instanceof CompositionEvent,
103
- compositionend: (evt) => evt instanceof CompositionEvent
104
- };
26
+ const _sfc_main = /* @__PURE__ */ defineComponent({
27
+ ...__default__,
28
+ props: inputProps,
29
+ emits: inputEmits,
30
+ setup(__props, { expose, emit }) {
31
+ const props = __props;
32
+ const rawAttrs = useAttrs();
33
+ const attrs = useAttrs$1();
34
+ const slots = useSlots();
35
+ const containerKls = computed(() => [
36
+ props.type === "textarea" ? nsTextarea.b() : nsInput.b(),
37
+ nsInput.m(inputSize.value),
38
+ nsInput.is("disabled", inputDisabled.value),
39
+ nsInput.is("exceed", inputExceed.value),
40
+ {
41
+ [nsInput.b("group")]: slots.prepend || slots.append,
42
+ [nsInput.m("prefix")]: slots.prefix || props.prefixIcon,
43
+ [nsInput.m("suffix")]: slots.suffix || props.suffixIcon || props.clearable || props.showPassword,
44
+ [nsInput.bm("suffix", "password-clear")]: showClear.value && showPwdVisible.value,
45
+ [nsInput.b("hidden")]: props.type === "hidden"
46
+ },
47
+ rawAttrs.class
48
+ ]);
49
+ const wrapperKls = computed(() => [
50
+ nsInput.e("wrapper"),
51
+ nsInput.is("focus", isFocused.value)
52
+ ]);
53
+ const { form: elForm, formItem: elFormItem } = useFormItem();
54
+ const { inputId } = useFormItemInputId(props, {
55
+ formItemContext: elFormItem
56
+ });
57
+ const inputSize = useFormSize();
58
+ const inputDisabled = useFormDisabled();
59
+ const nsInput = useNamespace("input");
60
+ const nsTextarea = useNamespace("textarea");
61
+ const input = shallowRef();
62
+ const textarea = shallowRef();
63
+ const hovering = ref(false);
64
+ const passwordVisible = ref(false);
65
+ const countStyle = ref();
66
+ const textareaCalcStyle = shallowRef(props.inputStyle);
67
+ const _ref = computed(() => input.value || textarea.value);
68
+ const { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(_ref, {
69
+ beforeFocus() {
70
+ return inputDisabled.value;
71
+ },
72
+ afterBlur() {
73
+ var _a;
74
+ if (props.validateEvent) {
75
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur").catch((err) => debugWarn(err));
76
+ }
77
+ }
78
+ });
79
+ const needStatusIcon = computed(() => {
80
+ var _a;
81
+ return (_a = elForm == null ? void 0 : elForm.statusIcon) != null ? _a : false;
82
+ });
83
+ const validateState = computed(() => (elFormItem == null ? void 0 : elFormItem.validateState) || "");
84
+ const validateIcon = computed(() => validateState.value && ValidateComponentsMap[validateState.value]);
85
+ const passwordIcon = computed(() => passwordVisible.value ? View : Hide);
86
+ const containerStyle = computed(() => [
87
+ rawAttrs.style
88
+ ]);
89
+ const textareaStyle = computed(() => [
90
+ props.inputStyle,
91
+ textareaCalcStyle.value,
92
+ { resize: props.resize }
93
+ ]);
94
+ const nativeInputValue = computed(() => isNil(props.modelValue) ? "" : String(props.modelValue));
95
+ const showClear = computed(() => props.clearable && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (isFocused.value || hovering.value));
96
+ const showPwdVisible = computed(() => props.showPassword && !inputDisabled.value && !!nativeInputValue.value);
97
+ const isWordLimitVisible = computed(() => props.showWordLimit && !!props.maxlength && (props.type === "text" || props.type === "textarea") && !inputDisabled.value && !props.readonly && !props.showPassword);
98
+ const textLength = computed(() => nativeInputValue.value.length);
99
+ const inputExceed = computed(() => !!isWordLimitVisible.value && textLength.value > Number(props.maxlength));
100
+ const suffixVisible = computed(() => !!slots.suffix || !!props.suffixIcon || showClear.value || props.showPassword || isWordLimitVisible.value || !!validateState.value && needStatusIcon.value);
101
+ const [recordCursor, setCursor] = useCursor(input);
102
+ useResizeObserver(textarea, (entries) => {
103
+ onceInitSizeTextarea();
104
+ if (!isWordLimitVisible.value || props.resize !== "both")
105
+ return;
106
+ const entry = entries[0];
107
+ const { width } = entry.contentRect;
108
+ countStyle.value = {
109
+ right: `calc(100% - ${width + 15 + 6}px)`
110
+ };
111
+ });
112
+ const resizeTextarea = () => {
113
+ const { type, autosize } = props;
114
+ if (!isClient || type !== "textarea" || !textarea.value)
115
+ return;
116
+ if (autosize) {
117
+ const minRows = isObject(autosize) ? autosize.minRows : void 0;
118
+ const maxRows = isObject(autosize) ? autosize.maxRows : void 0;
119
+ const textareaStyle2 = calcTextareaHeight(textarea.value, minRows, maxRows);
120
+ textareaCalcStyle.value = {
121
+ overflowY: "hidden",
122
+ ...textareaStyle2
123
+ };
124
+ nextTick(() => {
125
+ textarea.value.offsetHeight;
126
+ textareaCalcStyle.value = textareaStyle2;
127
+ });
128
+ } else {
129
+ textareaCalcStyle.value = {
130
+ minHeight: calcTextareaHeight(textarea.value).minHeight
131
+ };
132
+ }
133
+ };
134
+ const createOnceInitResize = (resizeTextarea2) => {
135
+ let isInit = false;
136
+ return () => {
137
+ var _a;
138
+ if (isInit || !props.autosize)
139
+ return;
140
+ const isElHidden = ((_a = textarea.value) == null ? void 0 : _a.offsetParent) === null;
141
+ if (!isElHidden) {
142
+ resizeTextarea2();
143
+ isInit = true;
144
+ }
145
+ };
146
+ };
147
+ const onceInitSizeTextarea = createOnceInitResize(resizeTextarea);
148
+ const setNativeInputValue = () => {
149
+ const input2 = _ref.value;
150
+ const formatterValue = props.formatter ? props.formatter(nativeInputValue.value) : nativeInputValue.value;
151
+ if (!input2 || input2.value === formatterValue)
152
+ return;
153
+ input2.value = formatterValue;
154
+ };
155
+ const handleInput = async (event) => {
156
+ recordCursor();
157
+ let { value } = event.target;
158
+ if (props.formatter && props.parser) {
159
+ value = props.parser(value);
160
+ }
161
+ if (isComposing.value)
162
+ return;
163
+ if (value === nativeInputValue.value) {
164
+ setNativeInputValue();
165
+ return;
166
+ }
167
+ emit(UPDATE_MODEL_EVENT, value);
168
+ emit(INPUT_EVENT, value);
169
+ await nextTick();
170
+ setNativeInputValue();
171
+ setCursor();
172
+ };
173
+ const handleChange = (event) => {
174
+ let { value } = event.target;
175
+ if (props.formatter && props.parser) {
176
+ value = props.parser(value);
177
+ }
178
+ emit(CHANGE_EVENT, value);
179
+ };
180
+ const {
181
+ isComposing,
182
+ handleCompositionStart,
183
+ handleCompositionUpdate,
184
+ handleCompositionEnd
185
+ } = useComposition({ emit, afterComposition: handleInput });
186
+ const handlePasswordVisible = () => {
187
+ recordCursor();
188
+ passwordVisible.value = !passwordVisible.value;
189
+ setTimeout(setCursor);
190
+ };
191
+ const focus = () => {
192
+ var _a;
193
+ return (_a = _ref.value) == null ? void 0 : _a.focus();
194
+ };
195
+ const blur = () => {
196
+ var _a;
197
+ return (_a = _ref.value) == null ? void 0 : _a.blur();
198
+ };
199
+ const handleMouseLeave = (evt) => {
200
+ hovering.value = false;
201
+ emit("mouseleave", evt);
202
+ };
203
+ const handleMouseEnter = (evt) => {
204
+ hovering.value = true;
205
+ emit("mouseenter", evt);
206
+ };
207
+ const handleKeydown = (evt) => {
208
+ emit("keydown", evt);
209
+ };
210
+ const select = () => {
211
+ var _a;
212
+ (_a = _ref.value) == null ? void 0 : _a.select();
213
+ };
214
+ const clear = () => {
215
+ emit(UPDATE_MODEL_EVENT, "");
216
+ emit(CHANGE_EVENT, "");
217
+ emit("clear");
218
+ emit(INPUT_EVENT, "");
219
+ };
220
+ watch(() => props.modelValue, () => {
221
+ var _a;
222
+ nextTick(() => resizeTextarea());
223
+ if (props.validateEvent) {
224
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn(err));
225
+ }
226
+ });
227
+ watch(nativeInputValue, () => setNativeInputValue());
228
+ watch(() => props.type, async () => {
229
+ await nextTick();
230
+ setNativeInputValue();
231
+ resizeTextarea();
232
+ });
233
+ onMounted(() => {
234
+ if (!props.formatter && props.parser) {
235
+ debugWarn(COMPONENT_NAME, "If you set the parser, you also need to set the formatter.");
236
+ }
237
+ setNativeInputValue();
238
+ nextTick(resizeTextarea);
239
+ });
240
+ expose({
241
+ input,
242
+ textarea,
243
+ ref: _ref,
244
+ textareaStyle,
245
+ autosize: toRef(props, "autosize"),
246
+ isComposing,
247
+ focus,
248
+ blur,
249
+ select,
250
+ clear,
251
+ resizeTextarea
252
+ });
253
+ return (_ctx, _cache) => {
254
+ return openBlock(), createElementBlock("div", {
255
+ class: normalizeClass([
256
+ unref(containerKls),
257
+ {
258
+ [unref(nsInput).bm("group", "append")]: _ctx.$slots.append,
259
+ [unref(nsInput).bm("group", "prepend")]: _ctx.$slots.prepend
260
+ }
261
+ ]),
262
+ style: normalizeStyle(unref(containerStyle)),
263
+ onMouseenter: handleMouseEnter,
264
+ onMouseleave: handleMouseLeave
265
+ }, [
266
+ createCommentVNode(" input "),
267
+ _ctx.type !== "textarea" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
268
+ createCommentVNode(" prepend slot "),
269
+ _ctx.$slots.prepend ? (openBlock(), createElementBlock("div", {
270
+ key: 0,
271
+ class: normalizeClass(unref(nsInput).be("group", "prepend"))
272
+ }, [
273
+ renderSlot(_ctx.$slots, "prepend")
274
+ ], 2)) : createCommentVNode("v-if", true),
275
+ createElementVNode("div", {
276
+ ref_key: "wrapperRef",
277
+ ref: wrapperRef,
278
+ class: normalizeClass(unref(wrapperKls))
279
+ }, [
280
+ createCommentVNode(" prefix slot "),
281
+ _ctx.$slots.prefix || _ctx.prefixIcon ? (openBlock(), createElementBlock("span", {
282
+ key: 0,
283
+ class: normalizeClass(unref(nsInput).e("prefix"))
284
+ }, [
285
+ createElementVNode("span", {
286
+ class: normalizeClass(unref(nsInput).e("prefix-inner"))
287
+ }, [
288
+ renderSlot(_ctx.$slots, "prefix"),
289
+ _ctx.prefixIcon ? (openBlock(), createBlock(unref(ElIcon), {
290
+ key: 0,
291
+ class: normalizeClass(unref(nsInput).e("icon"))
292
+ }, {
293
+ default: withCtx(() => [
294
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon)))
295
+ ]),
296
+ _: 1
297
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
298
+ ], 2)
299
+ ], 2)) : createCommentVNode("v-if", true),
300
+ createElementVNode("input", mergeProps({
301
+ id: unref(inputId),
302
+ ref_key: "input",
303
+ ref: input,
304
+ class: unref(nsInput).e("inner")
305
+ }, unref(attrs), {
306
+ minlength: _ctx.minlength,
307
+ maxlength: _ctx.maxlength,
308
+ type: _ctx.showPassword ? passwordVisible.value ? "text" : "password" : _ctx.type,
309
+ disabled: unref(inputDisabled),
310
+ readonly: _ctx.readonly,
311
+ autocomplete: _ctx.autocomplete,
312
+ tabindex: _ctx.tabindex,
313
+ "aria-label": _ctx.ariaLabel,
314
+ placeholder: _ctx.placeholder,
315
+ style: _ctx.inputStyle,
316
+ form: _ctx.form,
317
+ autofocus: _ctx.autofocus,
318
+ role: _ctx.containerRole,
319
+ onCompositionstart: unref(handleCompositionStart),
320
+ onCompositionupdate: unref(handleCompositionUpdate),
321
+ onCompositionend: unref(handleCompositionEnd),
322
+ onInput: handleInput,
323
+ onChange: handleChange,
324
+ onKeydown: handleKeydown
325
+ }), null, 16, ["id", "minlength", "maxlength", "type", "disabled", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form", "autofocus", "role", "onCompositionstart", "onCompositionupdate", "onCompositionend"]),
326
+ createCommentVNode(" suffix slot "),
327
+ unref(suffixVisible) ? (openBlock(), createElementBlock("span", {
328
+ key: 1,
329
+ class: normalizeClass(unref(nsInput).e("suffix"))
330
+ }, [
331
+ createElementVNode("span", {
332
+ class: normalizeClass(unref(nsInput).e("suffix-inner"))
333
+ }, [
334
+ !unref(showClear) || !unref(showPwdVisible) || !unref(isWordLimitVisible) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
335
+ renderSlot(_ctx.$slots, "suffix"),
336
+ _ctx.suffixIcon ? (openBlock(), createBlock(unref(ElIcon), {
337
+ key: 0,
338
+ class: normalizeClass(unref(nsInput).e("icon"))
339
+ }, {
340
+ default: withCtx(() => [
341
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.suffixIcon)))
342
+ ]),
343
+ _: 1
344
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
345
+ ], 64)) : createCommentVNode("v-if", true),
346
+ unref(showClear) ? (openBlock(), createBlock(unref(ElIcon), {
347
+ key: 1,
348
+ class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("clear")]),
349
+ onMousedown: withModifiers(unref(NOOP), ["prevent"]),
350
+ onClick: clear
351
+ }, {
352
+ default: withCtx(() => [
353
+ createVNode(unref(CircleClose))
354
+ ]),
355
+ _: 1
356
+ }, 8, ["class", "onMousedown"])) : createCommentVNode("v-if", true),
357
+ unref(showPwdVisible) ? (openBlock(), createBlock(unref(ElIcon), {
358
+ key: 2,
359
+ class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("password")]),
360
+ onClick: handlePasswordVisible
361
+ }, {
362
+ default: withCtx(() => [
363
+ (openBlock(), createBlock(resolveDynamicComponent(unref(passwordIcon))))
364
+ ]),
365
+ _: 1
366
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
367
+ unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", {
368
+ key: 3,
369
+ class: normalizeClass(unref(nsInput).e("count"))
370
+ }, [
371
+ createElementVNode("span", {
372
+ class: normalizeClass(unref(nsInput).e("count-inner"))
373
+ }, toDisplayString(unref(textLength)) + " / " + toDisplayString(_ctx.maxlength), 3)
374
+ ], 2)) : createCommentVNode("v-if", true),
375
+ unref(validateState) && unref(validateIcon) && unref(needStatusIcon) ? (openBlock(), createBlock(unref(ElIcon), {
376
+ key: 4,
377
+ class: normalizeClass([
378
+ unref(nsInput).e("icon"),
379
+ unref(nsInput).e("validateIcon"),
380
+ unref(nsInput).is("loading", unref(validateState) === "validating")
381
+ ])
382
+ }, {
383
+ default: withCtx(() => [
384
+ (openBlock(), createBlock(resolveDynamicComponent(unref(validateIcon))))
385
+ ]),
386
+ _: 1
387
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
388
+ ], 2)
389
+ ], 2)) : createCommentVNode("v-if", true)
390
+ ], 2),
391
+ createCommentVNode(" append slot "),
392
+ _ctx.$slots.append ? (openBlock(), createElementBlock("div", {
393
+ key: 1,
394
+ class: normalizeClass(unref(nsInput).be("group", "append"))
395
+ }, [
396
+ renderSlot(_ctx.$slots, "append")
397
+ ], 2)) : createCommentVNode("v-if", true)
398
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
399
+ createCommentVNode(" textarea "),
400
+ createElementVNode("textarea", mergeProps({
401
+ id: unref(inputId),
402
+ ref_key: "textarea",
403
+ ref: textarea,
404
+ class: [unref(nsTextarea).e("inner"), unref(nsInput).is("focus", unref(isFocused))]
405
+ }, unref(attrs), {
406
+ minlength: _ctx.minlength,
407
+ maxlength: _ctx.maxlength,
408
+ tabindex: _ctx.tabindex,
409
+ disabled: unref(inputDisabled),
410
+ readonly: _ctx.readonly,
411
+ autocomplete: _ctx.autocomplete,
412
+ style: unref(textareaStyle),
413
+ "aria-label": _ctx.ariaLabel,
414
+ placeholder: _ctx.placeholder,
415
+ form: _ctx.form,
416
+ autofocus: _ctx.autofocus,
417
+ rows: _ctx.rows,
418
+ role: _ctx.containerRole,
419
+ onCompositionstart: unref(handleCompositionStart),
420
+ onCompositionupdate: unref(handleCompositionUpdate),
421
+ onCompositionend: unref(handleCompositionEnd),
422
+ onInput: handleInput,
423
+ onFocus: unref(handleFocus),
424
+ onBlur: unref(handleBlur),
425
+ onChange: handleChange,
426
+ onKeydown: handleKeydown
427
+ }), null, 16, ["id", "minlength", "maxlength", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form", "autofocus", "rows", "role", "onCompositionstart", "onCompositionupdate", "onCompositionend", "onFocus", "onBlur"]),
428
+ unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", {
429
+ key: 0,
430
+ style: normalizeStyle(countStyle.value),
431
+ class: normalizeClass(unref(nsInput).e("count"))
432
+ }, toDisplayString(unref(textLength)) + " / " + toDisplayString(_ctx.maxlength), 7)) : createCommentVNode("v-if", true)
433
+ ], 64))
434
+ ], 38);
435
+ };
436
+ }
437
+ });
438
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "input.vue"]]);
105
439
 
106
- export { inputEmits, inputProps };
440
+ export { Input as default };
107
441
  //# sourceMappingURL=input.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n /**\n * @description native input id\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n /**\n * @description same as `maxlength` in native input\n */\n maxlength: {\n type: [String, Number],\n },\n /**\n * @description same as `minlength` in native input\n */\n minlength: {\n type: [String, Number],\n },\n /**\n * @description type of input\n */\n type: {\n type: String,\n default: 'text',\n },\n /**\n * @description control the resizability\n */\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n /**\n * @description whether textarea has an adaptive height\n */\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description format content\n */\n formatter: {\n type: Function,\n },\n /**\n * @description parse content\n */\n parser: {\n type: Function,\n },\n /**\n * @description placeholder\n */\n placeholder: {\n type: String,\n },\n /**\n * @description native input form\n */\n form: {\n type: String,\n },\n /**\n * @description native input readonly\n */\n readonly: Boolean,\n /**\n * @description native input readonly\n */\n clearable: Boolean,\n /**\n * @description toggleable password input\n */\n showPassword: Boolean,\n /**\n * @description word count\n */\n showWordLimit: Boolean,\n /**\n * @description suffix icon\n */\n suffixIcon: {\n type: iconPropType,\n },\n /**\n * @description prefix icon\n */\n prefixIcon: {\n type: iconPropType,\n },\n /**\n * @description container role, internal properties provided for use by the picker component\n */\n containerRole: {\n type: String,\n default: undefined,\n },\n /**\n * @description input tabindex\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description input or textarea element style\n */\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n /**\n * @description native input autofocus\n */\n autofocus: Boolean,\n rows: {\n type: Number,\n default: 2,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n\nexport const inputEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n // relative bug report https://github.com/element-plus/element-plus/issues/6665\n keydown: (evt: KeyboardEvent | Event) => evt instanceof Event,\n compositionstart: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionupdate: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionend: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n}\nexport type InputEmits = typeof inputEmits\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n containerKls,\n {\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n },\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :role=\"containerRole\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\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 }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"[nsTextarea.e('inner'), nsInput.is('focus', isFocused)]\"\n v-bind=\"attrs\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :rows=\"rows\"\n :role=\"containerRole\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"nsInput.e('count')\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useComposition,\n useCursor,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n beforeFocus() {\n return inputDisabled.value\n },\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () => props.showPassword && !inputDisabled.value && !!nativeInputValue.value\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n resizeTextarea()\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\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) {\n setNativeInputValue()\n return\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n emit(INPUT_EVENT, value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n let { value } = event.target as TargetElement\n\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n emit(CHANGE_EVENT, value)\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n recordCursor()\n passwordVisible.value = !passwordVisible.value\n // The native input needs a little time to regain focus\n setTimeout(setCursor)\n}\n\nconst focus = () => _ref.value?.focus()\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear')\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => 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 }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n COMPONENT_NAME,\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description is input composing */\n isComposing,\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","IconView","IconHide","textareaStyle","resizeTextarea","input","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;mCAwMc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB;;;;;;;AAIA,IAAA,MAAM,WAAWA,QAAY,EAAA,CAAA;AAC7B,IAAA,MAAM,QAAQC,UAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAAA,MAClC,MAAM,IAAS,KAAA,UAAA,GAAa,WAAW,CAAE,EAAA,GAAI,QAAQ,CAAE,EAAA;AAAA,MACvD,OAAA,CAAQ,CAAE,CAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MACzB,OAAQ,CAAA,EAAA,CAAG,UAAY,EAAA,aAAA,CAAc,KAAK,CAAA;AAAA,MAC1C,OAAQ,CAAA,EAAA,CAAG,QAAU,EAAA,WAAA,CAAY,KAAK,CAAA;AAAA,MACtC;AAAA,QACE,CAAC,QAAQ,CAAE,CAAA,OAAO,CAAC,GAAG,KAAA,CAAM,WAAW,KAAM,CAAA,MAAA;AAAA,QAC7C,CAAC,QAAQ,CAAE,CAAA,QAAQ,CAAC,GAAG,KAAA,CAAM,UAAU,KAAM,CAAA,UAAA;AAAA,QAC7C,CAAC,OAAA,CAAQ,CAAE,CAAA,QAAQ,CAAC,GAClB,KAAM,CAAA,MAAA,IAAU,KAAM,CAAA,UAAA,IAAc,KAAM,CAAA,SAAA,IAAa,KAAM,CAAA,YAAA;AAAA,QAC/D,CAAC,QAAQ,EAAG,CAAA,QAAA,EAAU,gBAAgB,CAAC,GACrC,SAAU,CAAA,KAAA,IAAS,cAAe,CAAA,KAAA;AAAA,QACpC,CAAC,OAAQ,CAAA,CAAA,CAAE,QAAQ,CAAC,GAAG,MAAM,IAAS,KAAA,QAAA;AAAA,OACxC;AAAA,MACA,QAAS,CAAA,KAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAAA,MAChC,OAAA,CAAQ,EAAE,SAAS,CAAA;AAAA,MACnB,OAAQ,CAAA,EAAA,CAAG,OAAS,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,KACpC,CAAA,CAAA;AAED,IAAA,MAAM,EAAE,IAAM,EAAA,MAAA,EAAQ,QAAU,EAAA,UAAA,KAAe,WAAY,EAAA,CAAA;AAC3D,IAAA,MAAM,EAAE,OAAA,EAAY,GAAA,kBAAA,CAAmB,KAAO,EAAA;AAAA,MAC5C,eAAiB,EAAA,UAAA;AAAA,KAClB,CAAA,CAAA;AACD,IAAA,MAAM,YAAY,WAAY,EAAA,CAAA;AAC9B,IAAA,MAAM,gBAAgB,eAAgB,EAAA,CAAA;AACtC,IAAM,MAAA,OAAA,GAAU,aAAa,OAAO,CAAA,CAAA;AACpC,IAAM,MAAA,UAAA,GAAa,aAAa,UAAU,CAAA,CAAA;AAE1C,IAAA,MAAM,QAAQ,UAA6B,EAAA,CAAA;AAC3C,IAAA,MAAM,WAAW,UAAgC,EAAA,CAAA;AAEjD,IAAM,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAC1B,IAAM,MAAA,eAAA,GAAkB,IAAI,KAAK,CAAA,CAAA;AACjC,IAAA,MAAM,aAAa,GAAgB,EAAA,CAAA;AACnC,IAAM,MAAA,iBAAA,GAAoB,UAAW,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAErD,IAAA,MAAM,OAAO,QAAS,CAAA,MAAM,KAAM,CAAA,KAAA,IAAS,SAAS,KAAK,CAAA,CAAA;AAGzD,IAAA,MAAM,EAAE,UAAA,EAAY,SAAW,EAAA,WAAA,EAAa,YAAe,GAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,MACzD,WAAA,GAAA;AAAA,QACA,OAAA,aAAA,CAAA,KAAA,CAAA;AAAA,OAAA;AAEI,MAAA,SAAA,GAAqB;AAAA,QACvB,IAAA,EAAA,CAAA;AAAA,QACA,IAAY,KAAA,CAAA,aAAA,EAAA;AACV,UAAA,CAAA,EAAA,aAAyB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,UAAA,EAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACvB,SAAY;AAAgD,OAC9D;AAAA,KACF,CAAA,CAAA;AAAA,IACF,MAAA,cAAA,GAAA,QAAA,CAAA,MAAA;AAAA,MACF,IAAA,EAAA,CAAA;AAEA,MAAA,OAAuB,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAS,KAAM,CAAA,GAAA,sBAA2B,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA;AACjE,KAAA,CAAA,CAAA;AACA,IAAA,MAAM,aAAe,GAAA,QAAA,CAAA,MAAA,CAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,aAAA,KAAA,EAAA,CAAA,CAAA;AAAA,IAAA,MACb,YAAA,GAAA,QAAuB,CAAA,MAAA,aAAA,CAAA,8BAAyC,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACxE,MAAA,YAAA,GAAA,QAAA,CAAA,MAAA,eAAA,CAAA,KAAA,GAAAC,IAAA,GAAAC,IAAA,CAAA,CAAA;AACA,IAAA,MAAM,cAAe,GAAA,QAAA,CAAA,MAAA;AAAA,MAAS,QACZ,CAAA,KAAA;AAAmB,KACrC,CAAA,CAAA;AACA,IAAM,MAAA,aAAA,GAAA,eAA4C;AAAA,MAChD,KAAS,CAAA,UAAA;AAAA,MACV,iBAAA,CAAA,KAAA;AACD,MAAM,EAAA,MAAA,EAAA,KAAA,CAAA;AAA2C,KAAA,CAC/C,CAAM;AAAA,IAAA,MACY,gBAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,EAAA,GAAA,MAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,IAClB,MAAU,SAAA,GAAM,QAAO,CAAA,MAAA,KAAA,CAAA,SAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,KAAA,SAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACzB,MAAC,cAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,YAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA;AACD,IAAA,MAAM,kBAAmB,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,aAAA,IAAA,CAAA,CAAA,KAAA,CAAA,SAAA,KAAA,KAAA,CAAA,IAAA,KAAA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,UAAA,CAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AAAA,IAAS,MAAA,UACpB,GAAA,QAAA,CAAA,MAAc,sBAA4B,CAAA,MAAA,CAAA,CAAA;AAAA,IACxD,MAAA,WAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAM,aAAY,GAAA,QAAA,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,MAEd,CAAA,YACA,EAAA,sBACA,CAAA,KAAA,CAAA,CAAA;AAE6B,IACjC,iBAAA,CAAA,QAAA,EAAA,CAAA,OAAA,KAAA;AACA,MAAA,oBAAuB,EAAA,CAAA;AAAA,MACrB,IAAA,CAAA,kBAA4B,CAAA,KAAC,gBAAuB,KAAA,MAAmB;AAAA,QACzE,OAAA;AACA,MAAA,MAA2B,KAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MACzB,MACE,OACA,EAAA,GAAA,KAAA,CAAA,WAAQ,CAAA;AAID,MACX,UAAA,CAAA,KAAA,GAAA;AACA,QAAA,KAAmB,EAAA,CAAA,YAAA,EAAA,KAAe,GAAA,EAAA,GAAA,CAAA,CAAA,GAAA,CAAA;AAClC,OAAA,CAAA;AAAoB,KAClB,CAAA,CAAA;AAAA,IAAA,MAAA,cAAA,GAAA,MAAA;AAAA,MAEE,MAAqB,EAAA,IAAA,EAAA,QAAA,EAAA,GAAA,KAAS;AAAyC,MAAA,IAAA,CAAA,QAAA,IAAA,IAAA,KAAA,UAAA,IAAA,CAAA,QAAA,CAAA,KAAA;AAAA,QAC3E,OAAA;AACA,MAAA,IAAM,QAAgB,EAAA;AAAA,cAEhB,OACF,GAAA,QAAE,CAAM,QAAA,CAAA,GAAA,mBAER,KAAA,CAAA,CAAA;AAEyC,QAC7C,MAAA,OAAA,GAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAEA,QAAA,MAAO,cAAuB,GAAA,kBAAmB,CAAA,QAAA,CAAA,KAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AAEjD,QAAkB,iBAAA,CAAA,KAAA,GAAuB;AACvC,UAAqB,SAAA,EAAA,QAAA;AACrB,UAAI,GAAC,cAAA;AACL,SAAM,CAAA;AACN,QAAM,QAAQ,CAAA,MAAA;AACd,UAAA,QAAmB,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,UAAA,iBAAA,CAAA,KAAA,GAAA,cAAA,CAAA;AAAA,SAEV,CAAA,CAAA;AAA6B,OACtC,MAAA;AAAA,QACD,iBAAA,CAAA,KAAA,GAAA;AAED,UAAM,6BAAuB,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,SAAA;AAC3B,SAAM,CAAA;AAEN,OAAA;AAEA,KAAA,CAAA;AACE,IAAA,MAAA,oBAAgB,GAAS,CAAQ,oBAAa;AAC9C,MAAA,IAAA,MAAgB,GAAA,KAAA,CAAA;AAChB,MAAA,OAAA,MAAsB;AAMtB,QAAA,IAAA,EAAA,CAAA;AAA0B,QAAA,IACb,MAAA,IAAA,CAAA,KAAA,CAAA,QAAA;AAAA,UACX,OAAGC;AAAA,QACL,MAAA,UAAA,GAAA,CAAA,CAAA,EAAA,GAAA,QAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,MAAA,IAAA,CAAA;AAEA,QAAA,IAAA,CAAA,UAAe,EAAA;AAEb,UAAA,eAAgB,EAAA,CAAA;AAChB,UAAA,MAAA,GAAA,IAAA,CAAA;AAA0B,SAC3B;AAAA,OACI,CAAA;AACL,KAAA,CAAA;AAA0B,IAAA,MACxB,oBAAW,GAAA,oBAA4B,CAAK,cAAE,CAAA,CAAA;AAAA,IAChD,MAAA,mBAAA,GAAA,MAAA;AAAA,MACF,MAAA,MAAA,GAAA,IAAA,CAAA,KAAA,CAAA;AAAA,MACF,MAAA,cAAA,GAAA,KAAA,CAAA,SAAA,GAAA,KAAA,CAAA,SAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,KAAA,CAAA;AAEA,MAAM,IAAA,CAAA,MAAA,IAAA,MAAA,CAAA,KAAuB,KAAgC,cAAA;AAC3D,QAAA,OAAa;AACb,MAAA,MAAA,CAAO,KAAM,GAAA,cAAA,CAAA;AACX,KAAI,CAAA;AACJ,IAAM,MAAA,WAAA,GAAA,OAAsB,KAAA,KAAA;AAC5B,MAAA,YAAiB,EAAA,CAAA;AACf,MAAA,IAAAC,EAAe,KAAA,EAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AACf,MAAS,IAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,MAAA,EAAA;AAAA,QACX,KAAA,GAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACF;AAAA,MACF,IAAA,WAAA,CAAA,KAAA;AAEA,QAAM,OAAA;AAEN,MAAA,IAAM,0BAA4B,CAAA,KAAA,EAAA;AAChC,QAAA,mBAAmB,EAAA,CAAA;AACnB,QAAM,OAAA;AAGN,OAAA;AACA,MAAAC,uBAAc,EAAA,KAAA,CAAA,CAAA;AAAA,MAChB,IAAA,CAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAEA,MAAM,MAAA,QAAA,EAAA,CAAA;AACJ,MAAa,mBAAA,EAAA,CAAA;AAEb,MAAI,SAAQ,EAAA,CAAA;AAEZ,KAAI,CAAA;AACF,IAAQ,MAAA,YAAM,SAAY,KAAA;AAAA,MAC5B,IAAA,EAAA,KAAA,EAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AAIA,MAAA,IAAI,eAAmB,IAAA,KAAA,CAAA,MAAA,EAAA;AAIvB,QAAI,KAAA,GAAA;AACF,OAAoB;AACpB,MAAA,IAAA,CAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,MAAA;AACA,MAAA;AAIA,MAAA,sBAAe;AACf,MAAoB,uBAAA;AACpB,MAAU,oBAAA;AAAA,KACZ,GAAA,cAAA,CAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,CAAA,CAAA;AAEA,IAAM,MAAA,qBAAiC,GAAA,MAAA;AACrC,MAAI,YAAQ,EAAA,CAAA;AAEZ,MAAI,eAAmB,CAAA,KAAA,GAAA,CAAA,eAAc,CAAA,KAAA,CAAA;AACnC,MAAQ,UAAA,CAAA;AAAkB,KAC5B,CAAA;AACA,IAAA,MAAA;AAAwB,MAC1B,IAAA,EAAA,CAAA;AAEA,MAAM,OAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,KACJ,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,MAAA;AAAA,MACA,IAAA,EAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AAAA;AAGF,IAAA,MAAM,4BAA8B;AAClC,MAAa,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACb,MAAgB,IAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAQ;AAExB,KAAA,CAAA;AAAoB,IACtB,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AAEA,MAAA,QAAc,CAAA,KAAA,GAAA,IAAW,CAAA;AAEzB,MAAA,IAAM,CAAO,YAAM,EAAK,GAAA,CAAA,CAAA;AAExB,KAAM,CAAA;AACJ,IAAA,MAAA,aAAiB,GAAA,CAAA,GAAA,KAAA;AACjB,MAAA,IAAA,CAAK,cAAc,CAAG,CAAA;AAAA,KACxB,CAAA;AAEA,IAAM,MAAA,MAAA,GAAA,MAAA;AACJ,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,EAAA,kBAAsB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAM,MAAA,KAAA,GAAA,MAAA;AACJ,MAAA,IAAA,CAAK,kBAAc,EAAA,EAAA,CAAA,CAAA;AAAA,MACrB,IAAA,CAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AAEA,MAAA,IAAM,SAAS,CAAM;AACnB,MAAA,IAAA,CAAK,WAAc,EAAA,EAAA,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,KAAA,CAAM,WAAc,CAAA,UAAA,EAAA,MAAA;AAClB,MAAA,IAAA;AACA,MAAA,6BAAqB,EAAA,CAAA,CAAA;AACrB,MAAA,IAAA,KAAY,CAAA,aAAA,EAAA;AACZ,QAAA,CAAA,EAAK,aAAa,IAAE,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACtB;AAEA,KAAA,CAAA,CAAA;AAAA,IAAA,sBACc,EAAA,MAAA,mBAAA,EAAA,CAAA,CAAA;AAAA,IAAA,KACN,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AACJ,MAAS,MAAA,QAAA,EAAA,CAAM;AACf,MAAA,mBAAyB,EAAA,CAAA;AACvB,MAAY,cAAA,EAAA,CAAA;AAAkD,KAChE,CAAA,CAAA;AAAA,IACF,SAAA,CAAA,MAAA;AAAA,MACF,IAAA,CAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,MAAA,EAAA;AAKA,QAAM,SAAA,CAAA,cAAwB,EAAA,4DAAqB,CAAA,CAAA;AAKnD,OAAA;AAAA,MACE,mBAAY,EAAA,CAAA;AAAA,MACZ,QAAY,CAAA,cAAA,CAAA,CAAA;AACV,KAAA,CAAA,CAAA;AACA,IAAoB,MAAA,CAAA;AACpB,MAAe,KAAA;AAAA,MACjB,QAAA;AAAA,MACF,GAAA,EAAA,IAAA;AAEA,MAAA,aAAgB;AACd,MAAA,QAAK,EAAA,KAAmB,CAAA,KAAA,EAAA,UAAc,CAAA;AACpC,MAAA,WAAA;AAAA,MACE,KAAA;AAAA,MACA,IAAA;AAAA,MACF,MAAA;AAAA,MACF,KAAA;AACA,MAAoB,cAAA;AACpB,KAAA,CAAA,CAAA;AAAuB,IACzB,OAAC,CAAA,IAAA,EAAA,MAAA,KAAA;AAED,MAAa,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EAAAC,cAAA,CAAA;AAAA,UAEXC,KAAA,CAAA,YAAA,CAAA;AAAA,UAAA;AAAA,YAEA,CAAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,GAAA,IAAA,CAAA,MAAA,CAAA,MAAA;AAAA,YAAA,CAAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,GAAA,IAAA,CAAA,MAAA,CAAA,OAAA;AAAA,WAEK;AAAA,SAAA,CAAA;AAAA,QAEL,KAAA,EAAAC,cAAA,CAAAD,KAAA,CAAA,cAAA,CAAA,CAAA;AAAA,QAAA,YAAA,EAAA,gBAAA;AAAA,QAGA,YAAgB,EAAA,gBAAiB;AAAA,OAAA,EAAA;AAAA,QAGjCE,kBAAA,CAAA,SAAA,CAAA;AAAA,QAAA,IAAA,CAAA,IAAA,KAAA,UAAA,IAAAL,SAAA,EAAA,EAAAC,kBAAA,CAAAK,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,UAGAD,kBAAA,CAAA,gBAAA,CAAA;AAAA,UAAA,IAAA,CAAA,MAAA,CAAA,OAAA,IAAAL,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,YAEA,GAAA,EAAA,CAAA;AAAA,YAAA,KAAA,EAAAC,cAAA,CAAAC,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA;AAAA,WAEA,EAAA;AAAA,YAAAI,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,WAEA,EAAA,CAAA,CAAA,IAAAF,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,UAAAG,kBAAA,CAAA,KAAA,EAAA;AAAA,YAEA,OAAA,EAAA,YAAA;AAAA,YACD,GAAA,EAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}