element-plus 2.2.29 → 2.2.31

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 (496) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +356 -309
  4. package/dist/index.full.min.js +12 -12
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +356 -309
  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 +47 -27
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.js.map +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.min.mjs.map +1 -1
  18. package/dist/locale/ar.mjs +47 -27
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/nb-no.js +1 -1
  152. package/dist/locale/nb-no.min.js +1 -1
  153. package/dist/locale/nb-no.min.mjs +1 -1
  154. package/dist/locale/nb-no.mjs +1 -1
  155. package/dist/locale/nl.js +1 -1
  156. package/dist/locale/nl.min.js +1 -1
  157. package/dist/locale/nl.min.mjs +1 -1
  158. package/dist/locale/nl.mjs +1 -1
  159. package/dist/locale/pa.js +1 -1
  160. package/dist/locale/pa.min.js +1 -1
  161. package/dist/locale/pa.min.mjs +1 -1
  162. package/dist/locale/pa.mjs +1 -1
  163. package/dist/locale/pl.js +1 -1
  164. package/dist/locale/pl.min.js +1 -1
  165. package/dist/locale/pl.min.mjs +1 -1
  166. package/dist/locale/pl.mjs +1 -1
  167. package/dist/locale/pt-br.js +1 -1
  168. package/dist/locale/pt-br.min.js +1 -1
  169. package/dist/locale/pt-br.min.mjs +1 -1
  170. package/dist/locale/pt-br.mjs +1 -1
  171. package/dist/locale/pt.js +1 -1
  172. package/dist/locale/pt.min.js +1 -1
  173. package/dist/locale/pt.min.mjs +1 -1
  174. package/dist/locale/pt.mjs +1 -1
  175. package/dist/locale/ro.js +1 -1
  176. package/dist/locale/ro.min.js +1 -1
  177. package/dist/locale/ro.min.mjs +1 -1
  178. package/dist/locale/ro.mjs +1 -1
  179. package/dist/locale/ru.js +1 -1
  180. package/dist/locale/ru.min.js +1 -1
  181. package/dist/locale/ru.min.mjs +1 -1
  182. package/dist/locale/ru.mjs +1 -1
  183. package/dist/locale/sk.js +1 -1
  184. package/dist/locale/sk.min.js +1 -1
  185. package/dist/locale/sk.min.mjs +1 -1
  186. package/dist/locale/sk.mjs +1 -1
  187. package/dist/locale/sl.js +1 -1
  188. package/dist/locale/sl.min.js +1 -1
  189. package/dist/locale/sl.min.mjs +1 -1
  190. package/dist/locale/sl.mjs +1 -1
  191. package/dist/locale/sr.js +1 -1
  192. package/dist/locale/sr.min.js +1 -1
  193. package/dist/locale/sr.min.mjs +1 -1
  194. package/dist/locale/sr.mjs +1 -1
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/ta.js +1 -1
  200. package/dist/locale/ta.min.js +1 -1
  201. package/dist/locale/ta.min.mjs +1 -1
  202. package/dist/locale/ta.mjs +1 -1
  203. package/dist/locale/th.js +13 -13
  204. package/dist/locale/th.min.js +1 -1
  205. package/dist/locale/th.min.js.map +1 -1
  206. package/dist/locale/th.min.mjs +1 -1
  207. package/dist/locale/th.min.mjs.map +1 -1
  208. package/dist/locale/th.mjs +13 -13
  209. package/dist/locale/tk.js +1 -1
  210. package/dist/locale/tk.min.js +1 -1
  211. package/dist/locale/tk.min.mjs +1 -1
  212. package/dist/locale/tk.mjs +1 -1
  213. package/dist/locale/tr.js +1 -1
  214. package/dist/locale/tr.min.js +1 -1
  215. package/dist/locale/tr.min.mjs +1 -1
  216. package/dist/locale/tr.mjs +1 -1
  217. package/dist/locale/ug-cn.js +1 -1
  218. package/dist/locale/ug-cn.min.js +1 -1
  219. package/dist/locale/ug-cn.min.mjs +1 -1
  220. package/dist/locale/ug-cn.mjs +1 -1
  221. package/dist/locale/uk.js +1 -1
  222. package/dist/locale/uk.min.js +1 -1
  223. package/dist/locale/uk.min.mjs +1 -1
  224. package/dist/locale/uk.mjs +1 -1
  225. package/dist/locale/uz-uz.js +1 -1
  226. package/dist/locale/uz-uz.min.js +1 -1
  227. package/dist/locale/uz-uz.min.mjs +1 -1
  228. package/dist/locale/uz-uz.mjs +1 -1
  229. package/dist/locale/vi.js +1 -1
  230. package/dist/locale/vi.min.js +1 -1
  231. package/dist/locale/vi.min.mjs +1 -1
  232. package/dist/locale/vi.mjs +1 -1
  233. package/dist/locale/zh-cn.js +1 -1
  234. package/dist/locale/zh-cn.min.js +1 -1
  235. package/dist/locale/zh-cn.min.mjs +1 -1
  236. package/dist/locale/zh-cn.mjs +1 -1
  237. package/dist/locale/zh-tw.js +1 -1
  238. package/dist/locale/zh-tw.min.js +1 -1
  239. package/dist/locale/zh-tw.min.mjs +1 -1
  240. package/dist/locale/zh-tw.mjs +1 -1
  241. package/es/components/autocomplete/index.d.ts +15 -4
  242. package/es/components/autocomplete/src/autocomplete.d.ts +3 -0
  243. package/es/components/autocomplete/src/autocomplete.mjs +10 -1
  244. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  245. package/es/components/autocomplete/src/autocomplete.vue.d.ts +15 -4
  246. package/es/components/calendar/src/calendar.mjs.map +1 -1
  247. package/es/components/carousel/index.d.ts +0 -4
  248. package/es/components/carousel/src/carousel.d.ts +0 -1
  249. package/es/components/carousel/src/carousel.mjs +0 -4
  250. package/es/components/carousel/src/carousel.mjs.map +1 -1
  251. package/es/components/carousel/src/carousel.vue.d.ts +0 -4
  252. package/es/components/cascader/index.d.ts +8 -8
  253. package/es/components/cascader/src/cascader.mjs.map +1 -1
  254. package/es/components/cascader/src/cascader.vue.d.ts +4 -4
  255. package/es/components/cascader/src/cascader2.mjs +2 -1
  256. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  257. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  258. package/es/components/cascader-panel/src/index.mjs +3 -0
  259. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  260. package/es/components/cascader-panel/src/index.vue.d.ts +6 -0
  261. package/es/components/cascader-panel/src/node.d.ts +15 -0
  262. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  263. package/es/components/color-picker/index.d.ts +1 -1
  264. package/es/components/color-picker/src/color-picker.vue.d.ts +1 -1
  265. package/es/components/date-picker/index.d.ts +2 -2
  266. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  267. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  268. package/es/components/date-picker/src/date-picker.d.ts +1 -1
  269. package/es/components/date-picker/src/panel-utils.d.ts +2 -2
  270. package/es/components/descriptions/src/descriptions-cell.mjs +3 -2
  271. package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  272. package/es/components/descriptions/src/token.mjs +1 -1
  273. package/es/components/descriptions/src/token.mjs.map +1 -1
  274. package/es/components/divider/src/divider.mjs.map +1 -1
  275. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  276. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  277. package/es/components/dropdown/src/dropdown-item.mjs +9 -7
  278. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  279. package/es/components/dropdown/src/dropdown-menu.mjs +3 -3
  280. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  281. package/es/components/dropdown/src/dropdown2.mjs +26 -1
  282. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  283. package/es/components/empty/index.d.ts +8 -25
  284. package/es/components/empty/index.mjs.map +1 -1
  285. package/es/components/empty/src/empty.d.ts +2 -10
  286. package/es/components/empty/src/empty.mjs +5 -2
  287. package/es/components/empty/src/empty.mjs.map +1 -1
  288. package/es/components/empty/src/empty.vue.d.ts +7 -25
  289. package/es/components/empty/src/empty2.mjs +3 -1
  290. package/es/components/empty/src/empty2.mjs.map +1 -1
  291. package/es/components/empty/src/img-empty.mjs +129 -129
  292. package/es/components/empty/src/img-empty.mjs.map +1 -1
  293. package/es/components/empty/src/img-empty.vue.d.ts +1 -1
  294. package/es/components/empty/src/instance.d.ts +2 -0
  295. package/es/components/empty/src/instance.mjs +2 -0
  296. package/es/components/empty/src/instance.mjs.map +1 -0
  297. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  298. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  299. package/es/components/form/src/form-item.mjs.map +1 -1
  300. package/es/components/form/src/form-item2.mjs.map +1 -1
  301. package/es/components/form/src/form.mjs.map +1 -1
  302. package/es/components/form/src/form2.mjs.map +1 -1
  303. package/es/components/input/index.d.ts +1 -1
  304. package/es/components/input/src/input.vue.d.ts +1 -1
  305. package/es/components/input/src/input2.mjs +1 -1
  306. package/es/components/input/src/input2.mjs.map +1 -1
  307. package/es/components/input/src/utils.mjs +2 -1
  308. package/es/components/input/src/utils.mjs.map +1 -1
  309. package/es/components/input-number/index.d.ts +4 -4
  310. package/es/components/input-number/src/input-number.mjs.map +1 -1
  311. package/es/components/input-number/src/input-number.vue.d.ts +4 -4
  312. package/es/components/menu/index.d.ts +6 -0
  313. package/es/components/menu/src/sub-menu.d.ts +4 -0
  314. package/es/components/menu/src/sub-menu.mjs +16 -2
  315. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  316. package/es/components/pagination/src/components/jumper.vue.d.ts +1 -1
  317. package/es/components/pagination/src/components/sizes.vue.d.ts +2 -2
  318. package/es/components/select/index.d.ts +2 -2
  319. package/es/components/select/src/select.mjs +2 -2
  320. package/es/components/select/src/select.mjs.map +1 -1
  321. package/es/components/select/src/select.vue.d.ts +2 -2
  322. package/es/components/select/src/token.mjs +2 -2
  323. package/es/components/select/src/token.mjs.map +1 -1
  324. package/es/components/select/src/useOption.mjs +1 -1
  325. package/es/components/select/src/useOption.mjs.map +1 -1
  326. package/es/components/select/src/useSelect.d.ts +1 -1
  327. package/es/components/select/src/useSelect.mjs +1 -1
  328. package/es/components/select/src/useSelect.mjs.map +1 -1
  329. package/es/components/select-v2/index.d.ts +2 -2
  330. package/es/components/select-v2/src/select.vue.d.ts +1 -1
  331. package/es/components/select-v2/src/token.mjs +1 -1
  332. package/es/components/select-v2/src/token.mjs.map +1 -1
  333. package/es/components/slider/index.d.ts +4 -4
  334. package/es/components/slider/src/slider.vue.d.ts +4 -4
  335. package/es/components/time-picker/index.d.ts +2 -2
  336. package/es/components/time-picker/src/common/picker.vue.d.ts +2 -2
  337. package/es/components/time-picker/src/time-picker.d.ts +1 -1
  338. package/es/components/time-select/index.d.ts +8 -8
  339. package/es/components/time-select/src/time-select.vue.d.ts +4 -4
  340. package/es/components/transfer/index.d.ts +5 -5
  341. package/es/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  342. package/es/components/transfer/src/transfer.vue.d.ts +5 -5
  343. package/es/components/tree/index.d.ts +12 -12
  344. package/es/components/tree/src/model/tree-store.d.ts +3 -3
  345. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  346. package/es/components/tree/src/tree.mjs.map +1 -1
  347. package/es/components/tree/src/tree.vue.d.ts +6 -6
  348. package/es/components/upload/src/upload-dragger2.mjs +1 -0
  349. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  350. package/es/components/virtual-list/src/builders/build-grid.mjs +2 -2
  351. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  352. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs +3 -6
  353. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs.map +1 -1
  354. package/es/hooks/use-lockscreen/index.mjs +2 -2
  355. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  356. package/es/locale/lang/ar.d.ts +20 -0
  357. package/es/locale/lang/ar.mjs +46 -26
  358. package/es/locale/lang/ar.mjs.map +1 -1
  359. package/es/locale/lang/th.mjs +12 -12
  360. package/es/locale/lang/th.mjs.map +1 -1
  361. package/es/version.d.ts +1 -1
  362. package/es/version.mjs +1 -1
  363. package/es/version.mjs.map +1 -1
  364. package/lib/components/autocomplete/index.d.ts +15 -4
  365. package/lib/components/autocomplete/src/autocomplete.d.ts +3 -0
  366. package/lib/components/autocomplete/src/autocomplete.js +10 -1
  367. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  368. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +15 -4
  369. package/lib/components/calendar/src/calendar.js.map +1 -1
  370. package/lib/components/carousel/index.d.ts +0 -4
  371. package/lib/components/carousel/src/carousel.d.ts +0 -1
  372. package/lib/components/carousel/src/carousel.js +0 -4
  373. package/lib/components/carousel/src/carousel.js.map +1 -1
  374. package/lib/components/carousel/src/carousel.vue.d.ts +0 -4
  375. package/lib/components/cascader/index.d.ts +8 -8
  376. package/lib/components/cascader/src/cascader.js.map +1 -1
  377. package/lib/components/cascader/src/cascader.vue.d.ts +4 -4
  378. package/lib/components/cascader/src/cascader2.js +2 -1
  379. package/lib/components/cascader/src/cascader2.js.map +1 -1
  380. package/lib/components/cascader-panel/src/config.js.map +1 -1
  381. package/lib/components/cascader-panel/src/index.js +3 -0
  382. package/lib/components/cascader-panel/src/index.js.map +1 -1
  383. package/lib/components/cascader-panel/src/index.vue.d.ts +6 -0
  384. package/lib/components/cascader-panel/src/node.d.ts +15 -0
  385. package/lib/components/cascader-panel/src/node.js.map +1 -1
  386. package/lib/components/color-picker/index.d.ts +1 -1
  387. package/lib/components/color-picker/src/color-picker.vue.d.ts +1 -1
  388. package/lib/components/date-picker/index.d.ts +2 -2
  389. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  390. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  391. package/lib/components/date-picker/src/date-picker.d.ts +1 -1
  392. package/lib/components/date-picker/src/panel-utils.d.ts +2 -2
  393. package/lib/components/descriptions/src/descriptions-cell.js +3 -2
  394. package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
  395. package/lib/components/descriptions/src/token.js +1 -1
  396. package/lib/components/descriptions/src/token.js.map +1 -1
  397. package/lib/components/divider/src/divider.js.map +1 -1
  398. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  399. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  400. package/lib/components/dropdown/src/dropdown-item.js +9 -7
  401. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  402. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  403. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  404. package/lib/components/dropdown/src/dropdown2.js +25 -0
  405. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  406. package/lib/components/empty/index.d.ts +8 -25
  407. package/lib/components/empty/index.js.map +1 -1
  408. package/lib/components/empty/src/empty.d.ts +2 -10
  409. package/lib/components/empty/src/empty.js +5 -2
  410. package/lib/components/empty/src/empty.js.map +1 -1
  411. package/lib/components/empty/src/empty.vue.d.ts +7 -25
  412. package/lib/components/empty/src/empty2.js +3 -1
  413. package/lib/components/empty/src/empty2.js.map +1 -1
  414. package/lib/components/empty/src/img-empty.js +128 -128
  415. package/lib/components/empty/src/img-empty.js.map +1 -1
  416. package/lib/components/empty/src/img-empty.vue.d.ts +1 -1
  417. package/lib/components/empty/src/instance.d.ts +2 -0
  418. package/lib/components/empty/src/instance.js +3 -0
  419. package/lib/components/empty/src/instance.js.map +1 -0
  420. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  421. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  422. package/lib/components/form/src/form-item.js.map +1 -1
  423. package/lib/components/form/src/form-item2.js.map +1 -1
  424. package/lib/components/form/src/form.js.map +1 -1
  425. package/lib/components/form/src/form2.js.map +1 -1
  426. package/lib/components/input/index.d.ts +1 -1
  427. package/lib/components/input/src/input.vue.d.ts +1 -1
  428. package/lib/components/input/src/input2.js +1 -1
  429. package/lib/components/input/src/input2.js.map +1 -1
  430. package/lib/components/input/src/utils.js +2 -1
  431. package/lib/components/input/src/utils.js.map +1 -1
  432. package/lib/components/input-number/index.d.ts +4 -4
  433. package/lib/components/input-number/src/input-number.js.map +1 -1
  434. package/lib/components/input-number/src/input-number.vue.d.ts +4 -4
  435. package/lib/components/menu/index.d.ts +6 -0
  436. package/lib/components/menu/src/sub-menu.d.ts +4 -0
  437. package/lib/components/menu/src/sub-menu.js +24 -10
  438. package/lib/components/menu/src/sub-menu.js.map +1 -1
  439. package/lib/components/pagination/src/components/jumper.vue.d.ts +1 -1
  440. package/lib/components/pagination/src/components/sizes.vue.d.ts +2 -2
  441. package/lib/components/select/index.d.ts +2 -2
  442. package/lib/components/select/src/select.js +2 -2
  443. package/lib/components/select/src/select.js.map +1 -1
  444. package/lib/components/select/src/select.vue.d.ts +2 -2
  445. package/lib/components/select/src/token.js +2 -2
  446. package/lib/components/select/src/token.js.map +1 -1
  447. package/lib/components/select/src/useOption.js +1 -1
  448. package/lib/components/select/src/useOption.js.map +1 -1
  449. package/lib/components/select/src/useSelect.d.ts +1 -1
  450. package/lib/components/select/src/useSelect.js +1 -1
  451. package/lib/components/select/src/useSelect.js.map +1 -1
  452. package/lib/components/select-v2/index.d.ts +2 -2
  453. package/lib/components/select-v2/src/select.vue.d.ts +1 -1
  454. package/lib/components/select-v2/src/token.js +1 -1
  455. package/lib/components/select-v2/src/token.js.map +1 -1
  456. package/lib/components/slider/index.d.ts +4 -4
  457. package/lib/components/slider/src/slider.vue.d.ts +4 -4
  458. package/lib/components/time-picker/index.d.ts +2 -2
  459. package/lib/components/time-picker/src/common/picker.vue.d.ts +2 -2
  460. package/lib/components/time-picker/src/time-picker.d.ts +1 -1
  461. package/lib/components/time-select/index.d.ts +8 -8
  462. package/lib/components/time-select/src/time-select.vue.d.ts +4 -4
  463. package/lib/components/transfer/index.d.ts +5 -5
  464. package/lib/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  465. package/lib/components/transfer/src/transfer.vue.d.ts +5 -5
  466. package/lib/components/tree/index.d.ts +12 -12
  467. package/lib/components/tree/src/model/tree-store.d.ts +3 -3
  468. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  469. package/lib/components/tree/src/tree.js.map +1 -1
  470. package/lib/components/tree/src/tree.vue.d.ts +6 -6
  471. package/lib/components/upload/src/upload-dragger2.js +1 -0
  472. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  473. package/lib/components/virtual-list/src/builders/build-grid.js +2 -2
  474. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  475. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js +3 -6
  476. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js.map +1 -1
  477. package/lib/hooks/use-lockscreen/index.js +2 -2
  478. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  479. package/lib/locale/lang/ar.d.ts +20 -0
  480. package/lib/locale/lang/ar.js +46 -26
  481. package/lib/locale/lang/ar.js.map +1 -1
  482. package/lib/locale/lang/th.js +12 -12
  483. package/lib/locale/lang/th.js.map +1 -1
  484. package/lib/version.d.ts +1 -1
  485. package/lib/version.js +1 -1
  486. package/lib/version.js.map +1 -1
  487. package/package.json +2 -2
  488. package/tags.json +1 -1
  489. package/theme-chalk/el-checkbox.css +1 -1
  490. package/theme-chalk/el-input.css +1 -1
  491. package/theme-chalk/el-table.css +1 -1
  492. package/theme-chalk/index.css +1 -1
  493. package/theme-chalk/src/checkbox.scss +4 -5
  494. package/theme-chalk/src/input.scss +1 -0
  495. package/theme-chalk/src/table.scss +1 -0
  496. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { formContextKey } from '@element-plus/tokens'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from '@element-plus/tokens'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView()\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /** @description validate form */\n validate,\n /** @description validate form field */\n validateField,\n /** @description reset fields */\n resetFields,\n /** @description clear validation status */\n clearValidate,\n /** @description scroll to field */\n scrollToField,\n})\n</script>\n"],"names":["useSize","useNamespace","computed","debugWarn","filterFields","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
1
+ {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { formContextKey } from '@element-plus/tokens'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from '@element-plus/tokens'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView()\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n})\n</script>\n"],"names":["useSize","useNamespace","computed","debugWarn","filterFields","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
@@ -397,10 +397,10 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
397
397
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
398
398
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
399
399
  readonly id: string;
400
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
400
401
  readonly autosize: import("./src/input").InputAutoSize;
401
402
  readonly autocomplete: string;
402
403
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
403
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
404
404
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
405
405
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
406
406
  readonly containerRole: string;
@@ -397,10 +397,10 @@ declare const _default: import("vue").DefineComponent<{
397
397
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
398
398
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
399
399
  readonly id: string;
400
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
400
401
  readonly autosize: import("./input").InputAutoSize;
401
402
  readonly autocomplete: string;
402
403
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
403
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
404
404
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
405
405
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
406
406
  readonly containerRole: string;
@@ -124,7 +124,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
124
124
  });
125
125
  const resizeTextarea = () => {
126
126
  const { type, autosize } = props;
127
- if (!core.isClient || type !== "textarea")
127
+ if (!core.isClient || type !== "textarea" || !textarea.value)
128
128
  return;
129
129
  if (autosize) {
130
130
  const minRows = shared.isObject(autosize) ? autosize.minRows : void 0;
@@ -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 v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\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 :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\" @click=\"focus\">\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 :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"props.form\"\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 <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\" @click=\"focus\">\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 }} / {{ attrs.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')\"\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 :form=\"props.form\"\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 }} / {{ attrs.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 { isClient, 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 NOOP,\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useDisabled,\n useFormItem,\n useFormItemInputId,\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\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\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.bm('group', 'append')]: slots.append,\n [nsInput.bm('group', 'prepend')]: slots.prepend,\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 },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', focused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\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 countStyle = ref<StyleValue>()\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(\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 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 &&\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 [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\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') 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 handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n value = props.formatter(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', 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 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 }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\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 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","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useSize","useDisabled","useNamespace","shallowRef","ref","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","event","UPDATE_MODEL_EVENT","nextTick","isKorean","debugWarn","watch","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\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 :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\" @click=\"focus\">\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 :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"props.form\"\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 <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\" @click=\"focus\">\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 }} / {{ attrs.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')\"\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 :form=\"props.form\"\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 }} / {{ attrs.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 { isClient, 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 NOOP,\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useDisabled,\n useFormItem,\n useFormItemInputId,\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\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\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.bm('group', 'append')]: slots.append,\n [nsInput.bm('group', 'prepend')]: slots.prepend,\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 },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', focused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\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 countStyle = ref<StyleValue>()\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(\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 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 &&\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 [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\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 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 handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n value = props.formatter(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', 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 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 }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\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 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","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useSize","useDisabled","useNamespace","shallowRef","ref","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","event","UPDATE_MODEL_EVENT","nextTick","isKorean","debugWarn","watch","onMounted"],"mappings":"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"}
@@ -3,13 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../../utils/index.js');
6
+ var browser = require('../../../utils/browser.js');
6
7
  var core = require('@vueuse/core');
7
8
 
8
9
  let hiddenTextarea = void 0;
9
10
  const HIDDEN_STYLE = `
10
11
  height:0 !important;
11
12
  visibility:hidden !important;
12
- overflow:hidden !important;
13
+ ${browser.isFirefox() ? "" : "overflow:hidden !important;"}
13
14
  position:absolute !important;
14
15
  z-index:-1000 !important;
15
16
  top:0 !important;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../packages/components/input/src/utils.ts"],"sourcesContent":["import { isNumber } from '@element-plus/utils'\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined = undefined\n\nconst HIDDEN_STYLE = `\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n`\n\nconst CONTEXT_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n]\n\ntype NodeStyle = {\n contextStyle: string\n boxSizing: string\n paddingSize: number\n borderSize: number\n}\n\ntype TextAreaHeight = {\n height: string\n minHeight?: string\n}\n\nfunction calculateNodeStyling(targetElement: Element): NodeStyle {\n const style = window.getComputedStyle(targetElement)\n\n const boxSizing = style.getPropertyValue('box-sizing')\n\n const paddingSize =\n Number.parseFloat(style.getPropertyValue('padding-bottom')) +\n Number.parseFloat(style.getPropertyValue('padding-top'))\n\n const borderSize =\n Number.parseFloat(style.getPropertyValue('border-bottom-width')) +\n Number.parseFloat(style.getPropertyValue('border-top-width'))\n\n const contextStyle = CONTEXT_STYLE.map(\n (name) => `${name}:${style.getPropertyValue(name)}`\n ).join(';')\n\n return { contextStyle, paddingSize, borderSize, boxSizing }\n}\n\nexport function calcTextareaHeight(\n targetElement: HTMLTextAreaElement,\n minRows = 1,\n maxRows?: number\n): TextAreaHeight {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea')\n document.body.appendChild(hiddenTextarea)\n }\n\n const { paddingSize, borderSize, boxSizing, contextStyle } =\n calculateNodeStyling(targetElement)\n\n hiddenTextarea.setAttribute('style', `${contextStyle};${HIDDEN_STYLE}`)\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || ''\n\n let height = hiddenTextarea.scrollHeight\n const result = {} as TextAreaHeight\n\n if (boxSizing === 'border-box') {\n height = height + borderSize\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize\n }\n\n hiddenTextarea.value = ''\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize\n\n if (isNumber(minRows)) {\n let minHeight = singleRowHeight * minRows\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize\n }\n height = Math.max(minHeight, height)\n result.minHeight = `${minHeight}px`\n }\n if (isNumber(maxRows)) {\n let maxHeight = singleRowHeight * maxRows\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize\n }\n height = Math.min(maxHeight, height)\n }\n result.height = `${height}px`\n hiddenTextarea.parentNode?.removeChild(hiddenTextarea)\n hiddenTextarea = undefined\n\n return result\n}\n"],"names":["isNumber"],"mappings":";;;;;;;AACA,IAAI,cAAc,GAAG,KAAK,CAAC,CAAC;AAC5B,MAAM,YAAY,GAAG,CAAC;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC;AACF,MAAM,aAAa,GAAG;AACtB,EAAE,gBAAgB;AAClB,EAAE,aAAa;AACf,EAAE,aAAa;AACf,EAAE,gBAAgB;AAClB,EAAE,aAAa;AACf,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,gBAAgB;AAClB,EAAE,gBAAgB;AAClB,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,cAAc;AAChB,EAAE,eAAe;AACjB,EAAE,cAAc;AAChB,EAAE,YAAY;AACd,CAAC,CAAC;AACF,SAAS,oBAAoB,CAAC,aAAa,EAAE;AAC7C,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACvD,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACzD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7I,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACtJ,EAAE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxG,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AACM,SAAS,kBAAkB,CAAC,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE;AACxE,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,CAAC,cAAc,EAAE;AACvB,IAAI,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACxD,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAC9C,GAAG;AACH,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AACnG,EAAE,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC1E,EAAE,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;AAChF,EAAE,IAAI,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC;AAC3C,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,SAAS,KAAK,YAAY,EAAE;AAClC,IAAI,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AACjC,GAAG,MAAM,IAAI,SAAS,KAAK,aAAa,EAAE;AAC1C,IAAI,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAClC,GAAG;AACH,EAAE,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;AAC5B,EAAE,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,GAAG,WAAW,CAAC;AACpE,EAAE,IAAIA,aAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,IAAI,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;AAC9C,IAAI,IAAI,SAAS,KAAK,YAAY,EAAE;AACpC,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AACvD,KAAK;AACL,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AACxC,GAAG;AACH,EAAE,IAAIA,aAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,IAAI,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;AAC9C,IAAI,IAAI,SAAS,KAAK,YAAY,EAAE;AACpC,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AACvD,KAAK;AACL,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,UAAU,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AACrF,EAAE,cAAc,GAAG,KAAK,CAAC,CAAC;AAC1B,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../packages/components/input/src/utils.ts"],"sourcesContent":["import { isFirefox, isNumber } from '@element-plus/utils'\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined = undefined\n\nconst HIDDEN_STYLE = `\n height:0 !important;\n visibility:hidden !important;\n ${isFirefox() ? '' : 'overflow:hidden !important;'}\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n`\n\nconst CONTEXT_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n]\n\ntype NodeStyle = {\n contextStyle: string\n boxSizing: string\n paddingSize: number\n borderSize: number\n}\n\ntype TextAreaHeight = {\n height: string\n minHeight?: string\n}\n\nfunction calculateNodeStyling(targetElement: Element): NodeStyle {\n const style = window.getComputedStyle(targetElement)\n\n const boxSizing = style.getPropertyValue('box-sizing')\n\n const paddingSize =\n Number.parseFloat(style.getPropertyValue('padding-bottom')) +\n Number.parseFloat(style.getPropertyValue('padding-top'))\n\n const borderSize =\n Number.parseFloat(style.getPropertyValue('border-bottom-width')) +\n Number.parseFloat(style.getPropertyValue('border-top-width'))\n\n const contextStyle = CONTEXT_STYLE.map(\n (name) => `${name}:${style.getPropertyValue(name)}`\n ).join(';')\n\n return { contextStyle, paddingSize, borderSize, boxSizing }\n}\n\nexport function calcTextareaHeight(\n targetElement: HTMLTextAreaElement,\n minRows = 1,\n maxRows?: number\n): TextAreaHeight {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea')\n document.body.appendChild(hiddenTextarea)\n }\n\n const { paddingSize, borderSize, boxSizing, contextStyle } =\n calculateNodeStyling(targetElement)\n\n hiddenTextarea.setAttribute('style', `${contextStyle};${HIDDEN_STYLE}`)\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || ''\n\n let height = hiddenTextarea.scrollHeight\n const result = {} as TextAreaHeight\n\n if (boxSizing === 'border-box') {\n height = height + borderSize\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize\n }\n\n hiddenTextarea.value = ''\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize\n\n if (isNumber(minRows)) {\n let minHeight = singleRowHeight * minRows\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize\n }\n height = Math.max(minHeight, height)\n result.minHeight = `${minHeight}px`\n }\n if (isNumber(maxRows)) {\n let maxHeight = singleRowHeight * maxRows\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize\n }\n height = Math.min(maxHeight, height)\n }\n result.height = `${height}px`\n hiddenTextarea.parentNode?.removeChild(hiddenTextarea)\n hiddenTextarea = undefined\n\n return result\n}\n"],"names":["isFirefox","isNumber"],"mappings":"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"}
@@ -92,10 +92,10 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
92
92
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
93
93
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
94
94
  readonly id: string;
95
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
95
96
  readonly autosize: import("..").InputAutoSize;
96
97
  readonly autocomplete: string;
97
98
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
98
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
99
99
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
100
100
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
101
101
  readonly containerRole: string;
@@ -178,7 +178,7 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
178
178
  onCompositionstart?: ((evt: CompositionEvent) => any) | undefined;
179
179
  onCompositionupdate?: ((evt: CompositionEvent) => any) | undefined;
180
180
  onCompositionend?: ((evt: CompositionEvent) => any) | undefined;
181
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "type" | "disabled" | "label" | "modelValue" | "validateEvent" | "id" | "autosize" | "autocomplete" | "readonly" | "clearable" | "showPassword" | "showWordLimit" | "containerRole" | "tabindex" | "inputStyle">;
181
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "type" | "disabled" | "label" | "modelValue" | "validateEvent" | "id" | "clearable" | "autosize" | "autocomplete" | "readonly" | "showPassword" | "showWordLimit" | "containerRole" | "tabindex" | "inputStyle">;
182
182
  $attrs: {
183
183
  [x: string]: unknown;
184
184
  };
@@ -526,10 +526,10 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
526
526
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
527
527
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
528
528
  readonly id: string;
529
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
529
530
  readonly autosize: import("..").InputAutoSize;
530
531
  readonly autocomplete: string;
531
532
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
532
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
533
533
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
534
534
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
535
535
  readonly containerRole: string;
@@ -1293,10 +1293,10 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
1293
1293
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
1294
1294
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1295
1295
  readonly id: string;
1296
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1296
1297
  readonly autosize: import("..").InputAutoSize;
1297
1298
  readonly autocomplete: string;
1298
1299
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1299
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1300
1300
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1301
1301
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1302
1302
  readonly containerRole: string;
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.js","sources":["../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, isNumber } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type InputNumber from './input-number.vue'\n\nexport const inputNumberProps = buildProps({\n id: {\n type: String,\n default: undefined,\n },\n step: {\n type: Number,\n default: 1,\n },\n stepStrictly: Boolean,\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n modelValue: Number,\n readonly: Boolean,\n disabled: Boolean,\n size: useSizeProp,\n controls: {\n type: Boolean,\n default: true,\n },\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n valueOnClear: {\n type: [String, Number, null],\n validator: (val: 'min' | 'max' | number | null) =>\n val === null || isNumber(val) || ['min', 'max'].includes(val),\n default: null,\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type InputNumberProps = ExtractPropTypes<typeof inputNumberProps>\n\nexport const inputNumberEmits = {\n [CHANGE_EVENT]: (cur: number | undefined, prev: number | undefined) =>\n prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n [INPUT_EVENT]: (val: number | null | undefined) =>\n isNumber(val) || isNil(val),\n [UPDATE_MODEL_EVENT]: (val: number | undefined) =>\n isNumber(val) || isNil(val),\n}\nexport type InputNumberEmits = typeof inputNumberEmits\n\nexport type InputNumberInstance = InstanceType<typeof InputNumber>\n"],"names":["buildProps","useSizeProp","isNumber","CHANGE_EVENT","INPUT_EVENT","isNil","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;;;;;;AAQY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;AAChC,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,IAAIC,aAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrF,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,GAAG;AAC7C,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACtC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACvC,EAAE,CAACC,iBAAW,GAAG,CAAC,GAAG,KAAKF,aAAQ,CAAC,GAAG,CAAC,IAAIG,mBAAK,CAAC,GAAG,CAAC;AACrD,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKJ,aAAQ,CAAC,GAAG,CAAC,IAAIG,mBAAK,CAAC,GAAG,CAAC;AAC5D;;;;;"}
1
+ {"version":3,"file":"input-number.js","sources":["../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, isNumber } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type InputNumber from './input-number.vue'\n\nexport const inputNumberProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description incremental step\n */\n step: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether input value can only be multiple of step\n */\n stepStrictly: Boolean,\n /**\n * @description the maximum allowed value\n */\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n /**\n * @description the minimum allowed value\n */\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n /**\n * @description binding value\n */\n modelValue: Number,\n /**\n * @description same as `readonly` in native input\n */\n readonly: Boolean,\n /**\n * @description whether the component is disabled\n */\n disabled: Boolean,\n /**\n * @description size of the component\n */\n size: useSizeProp,\n /**\n * @description whether to enable the control buttons\n */\n controls: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of the control buttons\n */\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n /**\n * @description value should be set when input box is cleared\n */\n valueOnClear: {\n type: [String, Number, null],\n validator: (val: 'min' | 'max' | number | null) =>\n val === null || isNumber(val) || ['min', 'max'].includes(val),\n default: null,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description same as `label` in native input\n */\n label: String,\n /**\n * @description same as `placeholder` in native input\n */\n placeholder: String,\n /**\n * @description precision of input value\n */\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type InputNumberProps = ExtractPropTypes<typeof inputNumberProps>\n\nexport const inputNumberEmits = {\n [CHANGE_EVENT]: (cur: number | undefined, prev: number | undefined) =>\n prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n [INPUT_EVENT]: (val: number | null | undefined) =>\n isNumber(val) || isNil(val),\n [UPDATE_MODEL_EVENT]: (val: number | undefined) =>\n isNumber(val) || isNil(val),\n}\nexport type InputNumberEmits = typeof inputNumberEmits\n\nexport type InputNumberInstance = InstanceType<typeof InputNumber>\n"],"names":["buildProps","useSizeProp","isNumber","CHANGE_EVENT","INPUT_EVENT","isNil","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;;;;;;AAQY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;AAChC,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,IAAIC,aAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrF,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,GAAG;AAC7C,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACtC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACvC,EAAE,CAACC,iBAAW,GAAG,CAAC,GAAG,KAAKF,aAAQ,CAAC,GAAG,CAAC,IAAIG,mBAAK,CAAC,GAAG,CAAC;AACrD,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKJ,aAAQ,CAAC,GAAG,CAAC,IAAIG,mBAAK,CAAC,GAAG,CAAC;AAC5D;;;;;"}
@@ -92,10 +92,10 @@ declare const _default: import("vue").DefineComponent<{
92
92
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
93
93
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
94
94
  readonly id: string;
95
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
95
96
  readonly autosize: import("element-plus/es/components/input").InputAutoSize;
96
97
  readonly autocomplete: string;
97
98
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
98
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
99
99
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
100
100
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
101
101
  readonly containerRole: string;
@@ -178,7 +178,7 @@ declare const _default: import("vue").DefineComponent<{
178
178
  onCompositionstart?: ((evt: CompositionEvent) => any) | undefined;
179
179
  onCompositionupdate?: ((evt: CompositionEvent) => any) | undefined;
180
180
  onCompositionend?: ((evt: CompositionEvent) => any) | undefined;
181
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "type" | "disabled" | "label" | "modelValue" | "validateEvent" | "id" | "autosize" | "autocomplete" | "readonly" | "clearable" | "showPassword" | "showWordLimit" | "containerRole" | "tabindex" | "inputStyle">;
181
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "type" | "disabled" | "label" | "modelValue" | "validateEvent" | "id" | "clearable" | "autosize" | "autocomplete" | "readonly" | "showPassword" | "showWordLimit" | "containerRole" | "tabindex" | "inputStyle">;
182
182
  $attrs: {
183
183
  [x: string]: unknown;
184
184
  };
@@ -526,10 +526,10 @@ declare const _default: import("vue").DefineComponent<{
526
526
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
527
527
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
528
528
  readonly id: string;
529
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
529
530
  readonly autosize: import("element-plus/es/components/input").InputAutoSize;
530
531
  readonly autocomplete: string;
531
532
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
532
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
533
533
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
534
534
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
535
535
  readonly containerRole: string;
@@ -1293,10 +1293,10 @@ declare const _default: import("vue").DefineComponent<{
1293
1293
  readonly modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
1294
1294
  readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1295
1295
  readonly id: string;
1296
+ readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1296
1297
  readonly autosize: import("element-plus/es/components/input").InputAutoSize;
1297
1298
  readonly autocomplete: string;
1298
1299
  readonly readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1299
- readonly clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1300
1300
  readonly showPassword: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1301
1301
  readonly showWordLimit: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1302
1302
  readonly containerRole: string;
@@ -151,6 +151,7 @@ export declare const ElMenu: import("element-plus/es/utils").SFCWithInstall<impo
151
151
  readonly popperClass: StringConstructor;
152
152
  readonly disabled: BooleanConstructor;
153
153
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
154
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
154
155
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
155
156
  readonly expandCloseIcon: {
156
157
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -190,6 +191,7 @@ export declare const ElMenu: import("element-plus/es/utils").SFCWithInstall<impo
190
191
  readonly popperClass: StringConstructor;
191
192
  readonly disabled: BooleanConstructor;
192
193
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
194
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
193
195
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
194
196
  readonly expandCloseIcon: {
195
197
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -217,6 +219,7 @@ export declare const ElMenu: import("element-plus/es/utils").SFCWithInstall<impo
217
219
  };
218
220
  }>>, {
219
221
  readonly disabled: boolean;
222
+ readonly teleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
220
223
  readonly showTimeout: number;
221
224
  readonly hideTimeout: number;
222
225
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -327,6 +330,7 @@ export declare const ElSubMenu: import("element-plus/es/utils").SFCWithInstall<i
327
330
  readonly popperClass: StringConstructor;
328
331
  readonly disabled: BooleanConstructor;
329
332
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
333
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
330
334
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
331
335
  readonly expandCloseIcon: {
332
336
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -366,6 +370,7 @@ export declare const ElSubMenu: import("element-plus/es/utils").SFCWithInstall<i
366
370
  readonly popperClass: StringConstructor;
367
371
  readonly disabled: BooleanConstructor;
368
372
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
373
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
369
374
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
370
375
  readonly expandCloseIcon: {
371
376
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -393,6 +398,7 @@ export declare const ElSubMenu: import("element-plus/es/utils").SFCWithInstall<i
393
398
  };
394
399
  }>>, {
395
400
  readonly disabled: boolean;
401
+ readonly teleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
396
402
  readonly showTimeout: number;
397
403
  readonly hideTimeout: number;
398
404
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -11,6 +11,7 @@ export declare const subMenuProps: {
11
11
  readonly popperClass: StringConstructor;
12
12
  readonly disabled: BooleanConstructor;
13
13
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
14
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
14
15
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
15
16
  readonly expandCloseIcon: {
16
17
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -50,6 +51,7 @@ declare const _default: import("vue").DefineComponent<{
50
51
  readonly popperClass: StringConstructor;
51
52
  readonly disabled: BooleanConstructor;
52
53
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
54
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
53
55
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
54
56
  readonly expandCloseIcon: {
55
57
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -89,6 +91,7 @@ declare const _default: import("vue").DefineComponent<{
89
91
  readonly popperClass: StringConstructor;
90
92
  readonly disabled: BooleanConstructor;
91
93
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
94
+ readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
92
95
  readonly popperOffset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
93
96
  readonly expandCloseIcon: {
94
97
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
@@ -116,6 +119,7 @@ declare const _default: import("vue").DefineComponent<{
116
119
  };
117
120
  }>>, {
118
121
  readonly disabled: boolean;
122
+ readonly teleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
119
123
  readonly showTimeout: number;
120
124
  readonly hideTimeout: number;
121
125
  readonly popperAppendToBody: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -4,17 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var core = require('@vueuse/core');
7
- var index$3 = require('../../collapse-transition/index.js');
8
- var index$2 = require('../../tooltip/index.js');
7
+ var index$4 = require('../../collapse-transition/index.js');
8
+ var index$3 = require('../../tooltip/index.js');
9
9
  require('../../../utils/index.js');
10
10
  require('../../../hooks/index.js');
11
11
  var iconsVue = require('@element-plus/icons-vue');
12
- var index$1 = require('../../icon/index.js');
12
+ var index$2 = require('../../icon/index.js');
13
13
  var useMenu = require('./use-menu.js');
14
14
  var useMenuCssVar = require('./use-menu-css-var.js');
15
15
  var runtime = require('../../../utils/vue/props/runtime.js');
16
16
  var icon = require('../../../utils/vue/icon.js');
17
- var index = require('../../../hooks/use-namespace/index.js');
17
+ var index = require('../../../hooks/use-deprecated/index.js');
18
+ var index$1 = require('../../../hooks/use-namespace/index.js');
18
19
  var error = require('../../../utils/error.js');
19
20
  var shared = require('@vue/shared');
20
21
 
@@ -37,6 +38,10 @@ const subMenuProps = runtime.buildProps({
37
38
  type: Boolean,
38
39
  default: void 0
39
40
  },
41
+ teleported: {
42
+ type: Boolean,
43
+ default: void 0
44
+ },
40
45
  popperOffset: {
41
46
  type: Number,
42
47
  default: 6
@@ -59,10 +64,17 @@ var SubMenu = vue.defineComponent({
59
64
  name: COMPONENT_NAME,
60
65
  props: subMenuProps,
61
66
  setup(props, { slots, expose }) {
67
+ index.useDeprecated({
68
+ from: "popper-append-to-body",
69
+ replacement: "teleported",
70
+ scope: COMPONENT_NAME,
71
+ version: "2.3.0",
72
+ ref: "https://element-plus.org/en-US/component/menu.html#submenu-attributes"
73
+ }, vue.computed(() => props.popperAppendToBody !== void 0));
62
74
  const instance = vue.getCurrentInstance();
63
75
  const { indexPath, parentMenu } = useMenu["default"](instance, vue.computed(() => props.index));
64
- const nsMenu = index.useNamespace("menu");
65
- const nsSubMenu = index.useNamespace("sub-menu");
76
+ const nsMenu = index$1.useNamespace("menu");
77
+ const nsSubMenu = index$1.useNamespace("sub-menu");
66
78
  const rootMenu = vue.inject("rootMenu");
67
79
  if (!rootMenu)
68
80
  error.throwError(COMPONENT_NAME, "can not inject root menu");
@@ -83,7 +95,9 @@ var SubMenu = vue.defineComponent({
83
95
  return subMenu.level === 0;
84
96
  });
85
97
  const appendToBody = vue.computed(() => {
86
- return props.popperAppendToBody === void 0 ? isFirstLevel.value : Boolean(props.popperAppendToBody);
98
+ var _a;
99
+ const value = (_a = props.teleported) != null ? _a : props.popperAppendToBody;
100
+ return value === void 0 ? isFirstLevel.value : value;
87
101
  });
88
102
  const menuTransitionName = vue.computed(() => rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`);
89
103
  const fallbackPlacements = vue.computed(() => mode.value === "horizontal" && isFirstLevel.value ? [
@@ -216,7 +230,7 @@ var SubMenu = vue.defineComponent({
216
230
  var _a;
217
231
  const titleTag = [
218
232
  (_a = slots.title) == null ? void 0 : _a.call(slots),
219
- vue.h(index$1.ElIcon, {
233
+ vue.h(index$2.ElIcon, {
220
234
  class: nsSubMenu.e("icon-arrow"),
221
235
  style: {
222
236
  transform: opened.value ? props.expandCloseIcon && props.expandOpenIcon || props.collapseCloseIcon && props.collapseOpenIcon && rootMenu.props.collapse ? "none" : "rotateZ(180deg)" : "none"
@@ -226,7 +240,7 @@ var SubMenu = vue.defineComponent({
226
240
  })
227
241
  ];
228
242
  const ulStyle = useMenuCssVar.useMenuCssVar(rootMenu.props, subMenu.level + 1);
229
- const child = rootMenu.isMenuPopup ? vue.h(index$2.ElTooltip, {
243
+ const child = rootMenu.isMenuPopup ? vue.h(index$3.ElTooltip, {
230
244
  ref: vPopper,
231
245
  visible: opened.value,
232
246
  effect: "light",
@@ -281,7 +295,7 @@ var SubMenu = vue.defineComponent({
281
295
  ref: verticalTitleRef,
282
296
  onClick: handleClick
283
297
  }, titleTag),
284
- vue.h(index$3["default"], {}, {
298
+ vue.h(index$4["default"], {}, {
285
299
  default: () => {
286
300
  var _a2;
287
301
  return vue.withDirectives(vue.h("ul", {