@element-plus/nightly 0.0.20260624 → 0.0.20260626

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 (433) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +5 -5
  4. package/dist/index.full.min.js +3 -3
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +9 -9
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +5 -5
  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-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/alert/src/alert.d.ts +1 -1
  278. package/es/components/anchor/src/anchor.d.ts +1 -1
  279. package/es/components/autocomplete/src/autocomplete.d.ts +1 -1
  280. package/es/components/autocomplete/src/autocomplete.vue.d.ts +2 -2
  281. package/es/components/avatar/src/avatar.d.ts +1 -1
  282. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  283. package/es/components/cascader/src/cascader.vue.d.ts +3 -3
  284. package/es/components/checkbox/src/checkbox.d.ts +2 -2
  285. package/es/components/col/src/col.vue.d.ts +1 -1
  286. package/es/components/color-picker/src/color-picker.vue.d.ts +2 -2
  287. package/es/components/date-picker/src/date-picker.d.ts +3 -3
  288. package/es/components/date-picker/src/props.d.ts +1 -1
  289. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +5 -5
  290. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  291. package/es/components/dialog/src/dialog.vue.d.ts +3 -3
  292. package/es/components/drawer/src/drawer.vue.d.ts +3 -3
  293. package/es/components/dropdown/src/dropdown.vue.d.ts +19 -19
  294. package/es/components/form/src/form-item.d.ts +1 -1
  295. package/es/components/form/src/form-item.vue.d.ts +1 -1
  296. package/es/components/image/src/image.d.ts +1 -1
  297. package/es/components/image/src/image.vue.d.ts +7 -7
  298. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  299. package/es/components/input/src/input.d.ts +1 -1
  300. package/es/components/input/src/input.vue.d.ts +2 -2
  301. package/es/components/input-number/src/input-number.d.ts +1 -1
  302. package/es/components/input-number/src/input-number.vue.d.ts +1 -1
  303. package/es/components/input-otp/src/input-otp.d.ts +1 -1
  304. package/es/components/input-otp/src/input-otp.mjs.map +1 -1
  305. package/es/components/input-otp/src/input-otp.vue.d.ts +1 -3
  306. package/es/components/input-otp/src/input-otp.vue_vue_type_script_setup_true_lang.mjs +4 -4
  307. package/es/components/input-otp/src/input-otp.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  308. package/es/components/input-otp/src/input-otp2.mjs.map +1 -1
  309. package/es/components/input-tag/src/input-tag.vue.d.ts +2 -2
  310. package/es/components/mention/src/mention.d.ts +1 -1
  311. package/es/components/menu/src/menu.d.ts +1 -1
  312. package/es/components/message/src/message.d.ts +1 -1
  313. package/es/components/message/src/message.vue.d.ts +2 -2
  314. package/es/components/message-box/src/index.vue.d.ts +7 -7
  315. package/es/components/notification/src/notification.d.ts +1 -1
  316. package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  317. package/es/components/popover/src/popover.vue.d.ts +3 -3
  318. package/es/components/progress/src/progress.vue.d.ts +1 -1
  319. package/es/components/radio/src/radio-group.vue.d.ts +1 -1
  320. package/es/components/result/src/result.d.ts +1 -1
  321. package/es/components/select/src/option.d.ts +1 -1
  322. package/es/components/select/src/option.vue.d.ts +2 -2
  323. package/es/components/select/src/select.d.ts +1 -1
  324. package/es/components/select/src/select.vue.d.ts +33 -33
  325. package/es/components/select/src/useSelect.d.ts +6 -6
  326. package/es/components/select-v2/src/select.vue.d.ts +23 -23
  327. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  328. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  329. package/es/components/steps/src/item.d.ts +1 -1
  330. package/es/components/steps/src/steps.d.ts +2 -2
  331. package/es/components/table/src/filter-panel.vue.d.ts +19 -19
  332. package/es/components/table/src/table.vue.d.ts +1 -1
  333. package/es/components/text/src/text.vue.d.ts +1 -1
  334. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -5
  335. package/es/components/time-picker/src/common/props.d.ts +1 -1
  336. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  337. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  338. package/es/components/time-picker/src/time-picker.d.ts +3 -3
  339. package/es/components/time-select/src/time-select.vue.d.ts +2 -2
  340. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  341. package/es/components/tooltip/src/content.vue.d.ts +3 -3
  342. package/es/components/tooltip/src/tooltip.vue.d.ts +7 -7
  343. package/es/components/tour/src/mask.vue.d.ts +1 -1
  344. package/es/components/tour/src/tour.vue.d.ts +1 -1
  345. package/es/components/tree/src/tree.vue.d.ts +1 -1
  346. package/es/components/tree-select/src/tree-select-option.d.ts +2 -2
  347. package/es/components/tree-select/src/tree-select.vue.d.ts +6 -6
  348. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  349. package/es/components/upload/src/upload.vue.d.ts +1 -1
  350. package/es/version.d.ts +1 -1
  351. package/es/version.mjs +1 -1
  352. package/es/version.mjs.map +1 -1
  353. package/lib/components/alert/src/alert.d.ts +1 -1
  354. package/lib/components/anchor/src/anchor.d.ts +1 -1
  355. package/lib/components/autocomplete/src/autocomplete.d.ts +1 -1
  356. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +2 -2
  357. package/lib/components/avatar/src/avatar.d.ts +1 -1
  358. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  359. package/lib/components/cascader/src/cascader.vue.d.ts +3 -3
  360. package/lib/components/checkbox/src/checkbox.d.ts +2 -2
  361. package/lib/components/col/src/col.vue.d.ts +1 -1
  362. package/lib/components/color-picker/src/color-picker.vue.d.ts +2 -2
  363. package/lib/components/date-picker/src/date-picker.d.ts +3 -3
  364. package/lib/components/date-picker/src/props.d.ts +1 -1
  365. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +5 -5
  366. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  367. package/lib/components/dialog/src/dialog.vue.d.ts +3 -3
  368. package/lib/components/drawer/src/drawer.vue.d.ts +3 -3
  369. package/lib/components/dropdown/src/dropdown.vue.d.ts +19 -19
  370. package/lib/components/form/src/form-item.d.ts +1 -1
  371. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  372. package/lib/components/image/src/image.d.ts +1 -1
  373. package/lib/components/image/src/image.vue.d.ts +7 -7
  374. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  375. package/lib/components/input/src/input.d.ts +1 -1
  376. package/lib/components/input/src/input.vue.d.ts +2 -2
  377. package/lib/components/input-number/src/input-number.d.ts +1 -1
  378. package/lib/components/input-number/src/input-number.vue.d.ts +1 -1
  379. package/lib/components/input-otp/src/input-otp.d.ts +1 -1
  380. package/lib/components/input-otp/src/input-otp.js.map +1 -1
  381. package/lib/components/input-otp/src/input-otp.vue.d.ts +1 -3
  382. package/lib/components/input-otp/src/input-otp.vue_vue_type_script_setup_true_lang.js +3 -3
  383. package/lib/components/input-otp/src/input-otp.vue_vue_type_script_setup_true_lang.js.map +1 -1
  384. package/lib/components/input-otp/src/input-otp2.js.map +1 -1
  385. package/lib/components/input-tag/src/input-tag.vue.d.ts +2 -2
  386. package/lib/components/mention/src/mention.d.ts +1 -1
  387. package/lib/components/menu/src/menu.d.ts +1 -1
  388. package/lib/components/message/src/message.d.ts +1 -1
  389. package/lib/components/message/src/message.vue.d.ts +2 -2
  390. package/lib/components/message-box/src/index.vue.d.ts +7 -7
  391. package/lib/components/notification/src/notification.d.ts +1 -1
  392. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  393. package/lib/components/popover/src/popover.vue.d.ts +3 -3
  394. package/lib/components/progress/src/progress.vue.d.ts +1 -1
  395. package/lib/components/radio/src/radio-group.vue.d.ts +1 -1
  396. package/lib/components/result/src/result.d.ts +1 -1
  397. package/lib/components/select/src/option.d.ts +1 -1
  398. package/lib/components/select/src/option.vue.d.ts +2 -2
  399. package/lib/components/select/src/select.d.ts +1 -1
  400. package/lib/components/select/src/select.vue.d.ts +33 -33
  401. package/lib/components/select/src/useSelect.d.ts +6 -6
  402. package/lib/components/select-v2/src/select.vue.d.ts +23 -23
  403. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  404. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  405. package/lib/components/steps/src/item.d.ts +1 -1
  406. package/lib/components/steps/src/steps.d.ts +2 -2
  407. package/lib/components/table/src/filter-panel.vue.d.ts +19 -19
  408. package/lib/components/table/src/table.vue.d.ts +1 -1
  409. package/lib/components/text/src/text.vue.d.ts +1 -1
  410. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -5
  411. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  412. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  413. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  414. package/lib/components/time-picker/src/time-picker.d.ts +3 -3
  415. package/lib/components/time-select/src/time-select.vue.d.ts +2 -2
  416. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  417. package/lib/components/tooltip/src/content.vue.d.ts +3 -3
  418. package/lib/components/tooltip/src/tooltip.vue.d.ts +7 -7
  419. package/lib/components/tour/src/mask.vue.d.ts +1 -1
  420. package/lib/components/tour/src/tour.vue.d.ts +1 -1
  421. package/lib/components/tree/src/tree.vue.d.ts +1 -1
  422. package/lib/components/tree-select/src/tree-select-option.d.ts +2 -2
  423. package/lib/components/tree-select/src/tree-select.vue.d.ts +6 -6
  424. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  425. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  426. package/lib/version.d.ts +1 -1
  427. package/lib/version.js +1 -1
  428. package/lib/version.js.map +1 -1
  429. package/package.json +2 -2
  430. package/theme-chalk/el-input-otp.css +1 -1
  431. package/theme-chalk/index.css +1 -1
  432. package/theme-chalk/src/input-otp.scss +1 -0
  433. package/web-types.json +1 -1
@@ -661,10 +661,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
661
661
  })>;
662
662
  ElTooltip: SFCWithInstall<{
663
663
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<UseTooltipProps> & Readonly<{
664
+ onOpen?: ((...args: any[]) => any) | undefined;
664
665
  onClose?: ((...args: any[]) => any) | undefined;
665
- onHide?: ((...args: any[]) => any) | undefined;
666
666
  onShow?: ((...args: any[]) => any) | undefined;
667
- onOpen?: ((...args: any[]) => any) | undefined;
667
+ onHide?: ((...args: any[]) => any) | undefined;
668
668
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
669
669
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
670
670
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
@@ -677,14 +677,17 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
677
677
  onClose: (event?: Event, delay?: number) => void;
678
678
  hide: (event?: Event) => void;
679
679
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
680
+ open: (...args: any[]) => void;
680
681
  close: (...args: any[]) => void;
681
- hide: (...args: any[]) => void;
682
682
  show: (...args: any[]) => void;
683
- open: (...args: any[]) => void;
683
+ hide: (...args: any[]) => void;
684
684
  "update:visible": (...args: any[]) => void;
685
685
  "before-show": (...args: any[]) => void;
686
686
  "before-hide": (...args: any[]) => void;
687
687
  }, _$vue.PublicProps, {
688
+ showAfter: number;
689
+ hideAfter: number;
690
+ autoClose: number;
688
691
  offset: number;
689
692
  teleported: boolean;
690
693
  effect: PopperEffect;
@@ -707,9 +710,6 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
707
710
  arrowOffset: number;
708
711
  showArrow: boolean;
709
712
  role: typeof roleTypes[number];
710
- showAfter: number;
711
- hideAfter: number;
712
- autoClose: number;
713
713
  trigger: Arrayable<TooltipTriggerType>;
714
714
  triggerKeys: string[];
715
715
  }, false, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
@@ -720,10 +720,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
720
720
  M: {};
721
721
  Defaults: {};
722
722
  }, Readonly<UseTooltipProps> & Readonly<{
723
+ onOpen?: ((...args: any[]) => any) | undefined;
723
724
  onClose?: ((...args: any[]) => any) | undefined;
724
- onHide?: ((...args: any[]) => any) | undefined;
725
725
  onShow?: ((...args: any[]) => any) | undefined;
726
- onOpen?: ((...args: any[]) => any) | undefined;
726
+ onHide?: ((...args: any[]) => any) | undefined;
727
727
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
728
728
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
729
729
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
@@ -736,6 +736,9 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
736
736
  onClose: (event?: Event, delay?: number) => void;
737
737
  hide: (event?: Event) => void;
738
738
  }, {}, {}, {}, {
739
+ showAfter: number;
740
+ hideAfter: number;
741
+ autoClose: number;
739
742
  offset: number;
740
743
  teleported: boolean;
741
744
  effect: PopperEffect;
@@ -758,9 +761,6 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
758
761
  arrowOffset: number;
759
762
  showArrow: boolean;
760
763
  role: typeof roleTypes[number];
761
- showAfter: number;
762
- hideAfter: number;
763
- autoClose: number;
764
764
  trigger: Arrayable<TooltipTriggerType>;
765
765
  triggerKeys: string[];
766
766
  }>;
@@ -768,10 +768,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
768
768
  __isTeleport?: never;
769
769
  __isSuspense?: never;
770
770
  } & _$vue.ComponentOptionsBase<Readonly<UseTooltipProps> & Readonly<{
771
+ onOpen?: ((...args: any[]) => any) | undefined;
771
772
  onClose?: ((...args: any[]) => any) | undefined;
772
- onHide?: ((...args: any[]) => any) | undefined;
773
773
  onShow?: ((...args: any[]) => any) | undefined;
774
- onOpen?: ((...args: any[]) => any) | undefined;
774
+ onHide?: ((...args: any[]) => any) | undefined;
775
775
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
776
776
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
777
777
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
@@ -784,14 +784,17 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
784
784
  onClose: (event?: Event, delay?: number) => void;
785
785
  hide: (event?: Event) => void;
786
786
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
787
+ open: (...args: any[]) => void;
787
788
  close: (...args: any[]) => void;
788
- hide: (...args: any[]) => void;
789
789
  show: (...args: any[]) => void;
790
- open: (...args: any[]) => void;
790
+ hide: (...args: any[]) => void;
791
791
  "update:visible": (...args: any[]) => void;
792
792
  "before-show": (...args: any[]) => void;
793
793
  "before-hide": (...args: any[]) => void;
794
794
  }, string, {
795
+ showAfter: number;
796
+ hideAfter: number;
797
+ autoClose: number;
795
798
  offset: number;
796
799
  teleported: boolean;
797
800
  effect: PopperEffect;
@@ -814,9 +817,6 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
814
817
  arrowOffset: number;
815
818
  showArrow: boolean;
816
819
  role: typeof roleTypes[number];
817
- showAfter: number;
818
- hideAfter: number;
819
- autoClose: number;
820
820
  trigger: Arrayable<TooltipTriggerType>;
821
821
  triggerKeys: string[];
822
822
  }, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
@@ -86,7 +86,7 @@ declare const formItemProps: {
86
86
  };
87
87
  readonly error: StringConstructor;
88
88
  readonly validateStatus: {
89
- readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "success" | "error" | "validating", unknown>>;
89
+ readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
90
90
  readonly required: false;
91
91
  readonly validator: ((val: unknown) => boolean) | undefined;
92
92
  __epPropKey: true;
@@ -27,7 +27,7 @@ declare const __VLS_base: _$vue.DefineComponent<FormItemProps, {
27
27
  /**
28
28
  * @description Validation state.
29
29
  */
30
- validateState: _$vue.Ref<"" | "success" | "error" | "validating", "" | "success" | "error" | "validating">;
30
+ validateState: _$vue.Ref<"" | "error" | "success" | "validating", "" | "error" | "success" | "validating">;
31
31
  /**
32
32
  * @description Validate form item.
33
33
  */
@@ -86,7 +86,7 @@ interface ImageProps {
86
86
  declare const imageProps: {
87
87
  readonly hideOnClickModal: BooleanConstructor;
88
88
  readonly src: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
89
- readonly fit: EpPropFinalized<StringConstructor, "" | "fill" | "none" | "contain" | "cover" | "scale-down", unknown, "", boolean>;
89
+ readonly fit: EpPropFinalized<StringConstructor, "" | "fill" | "contain" | "cover" | "none" | "scale-down", unknown, "", boolean>;
90
90
  readonly loading: {
91
91
  readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "lazy" | "eager", unknown>>;
92
92
  readonly required: false;
@@ -35,25 +35,25 @@ declare const __VLS_base: _$vue.DefineComponent<ImageProps, {
35
35
  /** @description manually open preview */showPreview: typeof clickHandler;
36
36
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
37
37
  close: () => void;
38
- error: (evt: Event) => void;
39
- show: () => void;
40
38
  load: (evt: Event) => void;
39
+ error: (evt: Event) => void;
41
40
  switch: (val: number) => void;
41
+ show: () => void;
42
42
  }, string, _$vue.PublicProps, Readonly<ImageProps> & Readonly<{
43
43
  onClose?: (() => any) | undefined;
44
- onError?: ((evt: Event) => any) | undefined;
45
- onShow?: (() => any) | undefined;
46
44
  onLoad?: ((evt: Event) => any) | undefined;
45
+ onError?: ((evt: Event) => any) | undefined;
47
46
  onSwitch?: ((val: number) => any) | undefined;
47
+ onShow?: (() => any) | undefined;
48
48
  }>, {
49
- infinite: boolean;
50
- scale: number;
51
49
  src: string;
52
50
  fit: ImageFitType;
51
+ previewSrcList: string[];
53
52
  initialIndex: number;
53
+ infinite: boolean;
54
54
  closeOnPressEscape: boolean;
55
- previewSrcList: string[];
56
55
  zoomRate: number;
56
+ scale: number;
57
57
  minScale: number;
58
58
  maxScale: number;
59
59
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -38,19 +38,19 @@ declare const __VLS_base: _$vue.DefineComponent<ImageViewerProps, {
38
38
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
39
39
  close: () => void;
40
40
  error: (evt: Event) => void;
41
- rotate: (deg: number) => void;
42
41
  switch: (index: number) => void;
42
+ rotate: (deg: number) => void;
43
43
  }, string, _$vue.PublicProps, Readonly<ImageViewerProps> & Readonly<{
44
44
  onClose?: (() => any) | undefined;
45
45
  onError?: ((evt: Event) => any) | undefined;
46
- onRotate?: ((deg: number) => any) | undefined;
47
46
  onSwitch?: ((index: number) => any) | undefined;
47
+ onRotate?: ((deg: number) => any) | undefined;
48
48
  }>, {
49
- infinite: boolean;
50
- scale: number;
51
49
  initialIndex: number;
50
+ infinite: boolean;
52
51
  closeOnPressEscape: boolean;
53
52
  zoomRate: number;
53
+ scale: number;
54
54
  minScale: number;
55
55
  maxScale: number;
56
56
  urlList: string[];
@@ -155,7 +155,7 @@ interface InputProps {
155
155
  * @deprecated Removed after 3.0.0, Use `InputProps` instead.
156
156
  */
157
157
  declare const inputProps: {
158
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
158
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
159
159
  readonly name: StringConstructor;
160
160
  readonly ariaLabel: StringConstructor;
161
161
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
@@ -32,10 +32,10 @@ declare const __VLS_base: _$vue.DefineComponent<InputProps, {
32
32
  clear: (evt?: MouseEvent) => void; /** @description resize textarea. */
33
33
  resizeTextarea: () => void;
34
34
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
35
+ clear: (evt: MouseEvent | undefined) => void;
35
36
  "update:modelValue": (value: string) => void;
36
37
  change: (value: string, evt?: Event | undefined) => void;
37
38
  input: (value: string) => void;
38
- clear: (evt: MouseEvent | undefined) => void;
39
39
  focus: (evt: FocusEvent) => void;
40
40
  blur: (evt: FocusEvent) => void;
41
41
  mouseleave: (evt: MouseEvent) => void;
@@ -45,10 +45,10 @@ declare const __VLS_base: _$vue.DefineComponent<InputProps, {
45
45
  compositionupdate: (evt: CompositionEvent) => void;
46
46
  compositionend: (evt: CompositionEvent) => void;
47
47
  }, string, _$vue.PublicProps, Readonly<InputProps> & Readonly<{
48
+ onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
48
49
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
49
50
  onChange?: ((value: string, evt?: Event | undefined) => any) | undefined;
50
51
  onInput?: ((value: string) => any) | undefined;
51
- onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
52
52
  onFocus?: ((evt: FocusEvent) => any) | undefined;
53
53
  onBlur?: ((evt: FocusEvent) => any) | undefined;
54
54
  onMouseleave?: ((evt: MouseEvent) => any) | undefined;
@@ -106,7 +106,7 @@ interface InputNumberProps {
106
106
  * @deprecated Removed after 3.0.0, Use `InputNumberProps` instead.
107
107
  */
108
108
  declare const inputNumberProps: {
109
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
109
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
110
110
  readonly align: EpPropFinalized<(new (...args: any[]) => "left" | "center" | "right") | (() => "left" | "center" | "right") | (((new (...args: any[]) => "left" | "center" | "right") | (() => "left" | "center" | "right")) | null)[], unknown, unknown, "center", boolean>;
111
111
  readonly disabledScientific: BooleanConstructor;
112
112
  readonly formatter: {
@@ -34,7 +34,7 @@ declare const __VLS_base: _$vue.DefineComponent<InputNumberProps, {
34
34
  readonly: boolean;
35
35
  tabindex: string | number;
36
36
  validateEvent: boolean;
37
- inputmode: "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal";
37
+ inputmode: "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal";
38
38
  max: number;
39
39
  min: number;
40
40
  align: "left" | "right" | "center";
@@ -33,7 +33,7 @@ interface InputOtpProps extends Pick<AriaProps, 'ariaLabel'> {
33
33
  type?: 'outlined' | 'filled' | 'underlined';
34
34
  /**
35
35
  * @description The size of the OTP fields
36
- * @default 'default'
36
+ * @default undefined
37
37
  */
38
38
  size?: ComponentSize;
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.mjs","names":[],"sources":["../../../../../../packages/components/input-otp/src/input-otp.ts"],"sourcesContent":["import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isString } from '@element-plus/utils'\n\nimport type { InputHTMLAttributes, VNode } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { AriaProps } from '@element-plus/hooks'\n\nexport interface InputOtpProps extends Pick<AriaProps, 'ariaLabel'> {\n /**\n * @description The value of the OTP fields.\n *\n * Since numbers must not have leading zeros, `modelValue` is allowed to be a number only during initialization.\n *\n * @default undefined\n */\n modelValue?: string | number\n /**\n * @description The OTP fields length\n * @default 6\n */\n length?: number\n /**\n * @description Custom validator function\n * @default () => true\n */\n validator?: (char: string, index: number) => boolean\n /**\n * @description Native input mode for virtual keyboards\n */\n inputmode?: InputHTMLAttributes['inputmode']\n /**\n * @description The type of the OTP fields\n * @default 'outlined'\n */\n type?: 'outlined' | 'filled' | 'underlined'\n /**\n * @description The size of the OTP fields\n * @default 'default'\n */\n size?: ComponentSize\n /**\n * @description Whether to enable password mode\n */\n mask?: boolean\n /**\n * @description Whether the OTP fields are disabled\n * @default undefined\n */\n disabled?: boolean\n /**\n * @description Same as `readonly` in native input\n */\n readonly?: boolean\n /**\n * @description Same as `id` in native input\n */\n id?: string\n /**\n * @description Whether to trigger form validation\n */\n validateEvent?: boolean\n /**\n * @description The separator between OTP fields\n */\n separator?: string | VNode | ((index: number) => string | VNode)\n}\n\nexport const inputOtpEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n finish: (value: string) => isString(value),\n focus: (eve: FocusEvent) => eve instanceof FocusEvent,\n blur: (eve: FocusEvent) => eve instanceof FocusEvent,\n}\n\nexport type InputOtpEmits = typeof inputOtpEmits\n"],"mappings":";;;AAmEA,MAAa,gBAAgB;EAC1B,sBAAsB,UAAkB,SAAS,MAAM;EACvD,gBAAgB,UAAkB,SAAS,MAAM;CAClD,SAAS,UAAkB,SAAS,MAAM;CAC1C,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC3C"}
1
+ {"version":3,"file":"input-otp.mjs","names":[],"sources":["../../../../../../packages/components/input-otp/src/input-otp.ts"],"sourcesContent":["import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isString } from '@element-plus/utils'\n\nimport type { InputHTMLAttributes, VNode } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { AriaProps } from '@element-plus/hooks'\n\nexport interface InputOtpProps extends Pick<AriaProps, 'ariaLabel'> {\n /**\n * @description The value of the OTP fields.\n *\n * Since numbers must not have leading zeros, `modelValue` is allowed to be a number only during initialization.\n *\n * @default undefined\n */\n modelValue?: string | number\n /**\n * @description The OTP fields length\n * @default 6\n */\n length?: number\n /**\n * @description Custom validator function\n * @default () => true\n */\n validator?: (char: string, index: number) => boolean\n /**\n * @description Native input mode for virtual keyboards\n */\n inputmode?: InputHTMLAttributes['inputmode']\n /**\n * @description The type of the OTP fields\n * @default 'outlined'\n */\n type?: 'outlined' | 'filled' | 'underlined'\n /**\n * @description The size of the OTP fields\n * @default undefined\n */\n size?: ComponentSize\n /**\n * @description Whether to enable password mode\n */\n mask?: boolean\n /**\n * @description Whether the OTP fields are disabled\n * @default undefined\n */\n disabled?: boolean\n /**\n * @description Same as `readonly` in native input\n */\n readonly?: boolean\n /**\n * @description Same as `id` in native input\n */\n id?: string\n /**\n * @description Whether to trigger form validation\n */\n validateEvent?: boolean\n /**\n * @description The separator between OTP fields\n */\n separator?: string | VNode | ((index: number) => string | VNode)\n}\n\nexport const inputOtpEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n finish: (value: string) => isString(value),\n focus: (eve: FocusEvent) => eve instanceof FocusEvent,\n blur: (eve: FocusEvent) => eve instanceof FocusEvent,\n}\n\nexport type InputOtpEmits = typeof inputOtpEmits\n"],"mappings":";;;AAmEA,MAAa,gBAAgB;EAC1B,sBAAsB,UAAkB,SAAS,MAAM;EACvD,gBAAgB,UAAkB,SAAS,MAAM;CAClD,SAAS,UAAkB,SAAS,MAAM;CAC1C,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC3C"}
@@ -1,4 +1,3 @@
1
- import { ComponentSize } from "../../../constants/size.js";
2
1
  import { InputOtpProps } from "./input-otp.js";
3
2
  import * as _$vue from "vue";
4
3
 
@@ -35,10 +34,9 @@ declare const __VLS_base: _$vue.DefineComponent<InputOtpProps, {
35
34
  onBlur?: ((eve: FocusEvent) => any) | undefined;
36
35
  onFinish?: ((value: string) => any) | undefined;
37
36
  }>, {
38
- type: "outlined" | "filled" | "underlined";
39
37
  length: number;
38
+ type: "outlined" | "filled" | "underlined";
40
39
  validator: (char: string, index: number) => boolean;
41
- size: ComponentSize;
42
40
  disabled: boolean;
43
41
  validateEvent: boolean;
44
42
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -6,7 +6,7 @@ import { rAF } from "../../../utils/raf.mjs";
6
6
  import { NOOP } from "../../../utils/functions.mjs";
7
7
  import { useLocale } from "../../../hooks/use-locale/index.mjs";
8
8
  import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
9
- import { useFormDisabled } from "../../form/src/hooks/use-form-common-props.mjs";
9
+ import { useFormDisabled, useFormSize } from "../../form/src/hooks/use-form-common-props.mjs";
10
10
  import { useFormItem, useFormItemInputId } from "../../form/src/hooks/use-form-item.mjs";
11
11
  import { inputOtpEmits } from "./input-otp.mjs";
12
12
  import { clamp } from "@vueuse/core";
@@ -57,8 +57,7 @@ var input_otp_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
57
57
  },
58
58
  size: {
59
59
  type: null,
60
- required: false,
61
- default: "default"
60
+ required: false
62
61
  },
63
62
  mask: {
64
63
  type: Boolean,
@@ -115,6 +114,7 @@ var input_otp_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
115
114
  const { t } = useLocale();
116
115
  const { formItem } = useFormItem();
117
116
  const { inputId, isLabeledByFormItem } = useFormItemInputId(props, { formItemContext: formItem });
117
+ const size = useFormSize();
118
118
  const disabled = useFormDisabled();
119
119
  let modelValueOnFocus = props.modelValue;
120
120
  const getFirstIndex = (maxIndex) => {
@@ -244,7 +244,7 @@ var input_otp_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
244
244
  id: unref(inputId),
245
245
  class: normalizeClass([
246
246
  unref(ns).b(),
247
- unref(ns).m(__props.size),
247
+ unref(ns).m(unref(size)),
248
248
  unref(ns).m(__props.type),
249
249
  unref(ns).is("disabled", unref(disabled))
250
250
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/input-otp/src/input-otp.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[ns.b(), ns.m(size), ns.m(type), ns.is('disabled', disabled)]\"\n role=\"group\"\n :aria-label=\"\n !isLabeledByFormItem\n ? ariaLabel || t('el.inputOTP.groupLabel')\n : undefined\n \"\n :aria-labelledby=\"isLabeledByFormItem ? formItem?.labelId : undefined\"\n >\n <template v-for=\"(_, index) in length\" :key=\"index\">\n <label :class=\"ns.e('input-field')\">\n <input\n ref=\"inputRefs\"\n :value=\"innerValue[index]\"\n :class=\"ns.e('input')\"\n :type=\"mask ? 'password' : 'text'\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :inputmode=\"inputmode\"\n autocomplete=\"one-time-code\"\n :aria-label=\"t('el.inputOTP.defaultLabel', { index: index + 1 })\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @click=\"focus(index)\"\n @keydown=\"handleKeydown($event, index)\"\n @input=\"handleInput($event, index)\"\n />\n </label>\n <slot\n v-if=\"($slots.separator || separators[index]) && index < length - 1\"\n name=\"separator\"\n :index=\"index\"\n >\n <component :is=\"() => separators[index]\" />\n </slot>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { clamp } from '@vueuse/core'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isFunction, rAF } from '@element-plus/utils'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n} from '@element-plus/components/form'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputOtpEmits } from './input-otp'\n\nimport type { InputOtpProps } from './input-otp'\n\ndefineOptions({\n name: 'ElInputOtp',\n})\n\nconst props = withDefaults(defineProps<InputOtpProps>(), {\n length: 6,\n validator: () => true,\n type: 'outlined',\n size: 'default',\n disabled: undefined,\n validateEvent: true,\n})\nconst emit = defineEmits(inputOtpEmits)\n\nconst initialValue = computed(() => {\n const value = String(props.modelValue ?? '')\n return Array.from({ length: props.length }, (_, i) => value.charAt(i))\n})\n\nconst separators = computed(() => {\n const { separator } = props\n const _separator = isFunction(separator) ? separator : () => separator\n return Array.from({ length: props.length - 1 }, (_, i) => _separator(i))\n})\n\nconst innerValue = ref<string[]>(initialValue.value)\nconst isFocused = ref(false)\nconst inputRefs = ref<(HTMLInputElement | undefined)[]>([])\n\nconst ns = useNamespace('input-otp')\nconst { t } = useLocale()\nconst { formItem } = useFormItem()\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst disabled = useFormDisabled()\nlet modelValueOnFocus = props.modelValue\n\nconst getFirstIndex = (maxIndex: number) => {\n const index = innerValue.value.findIndex((char, i) => !char && i <= maxIndex)\n return index === -1 ? maxIndex : index\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch(NOOP)\n }\n}\n\nconst updateModelValue = (emitFinish = true) => {\n const value = innerValue.value.join('').slice(0, props.length)\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n if (emitFinish && value.length === props.length) {\n emit('finish', value)\n }\n }\n}\n\nconst handleKeydown = (event: KeyboardEvent, index: number) => {\n const code = getEventCode(event)\n let preventDefault = true\n\n switch (code) {\n case EVENT_CODE.backspace:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index - 1)\n updateModelValue()\n break\n case EVENT_CODE.delete:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index)\n updateModelValue()\n break\n case EVENT_CODE.up:\n case EVENT_CODE.left:\n focus(index - 1)\n break\n case EVENT_CODE.down:\n case EVENT_CODE.right:\n focus(index + 1)\n break\n default:\n preventDefault = false\n }\n\n if (preventDefault) {\n event.preventDefault()\n }\n}\n\nconst handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement\n const targetIndex = getFirstIndex(index)\n let focusIndex = targetIndex + 1\n let value = target.value\n\n // Safari and Firefox do not trigger the paste event during autofill,\n // so the paste logic needs to be handled in the input event\n if (value.length > 1) {\n const chars = castValues(value, targetIndex)\n\n // Avoid innerValue inconsistency with the input box value after pasting when char has no change\n target.value = innerValue.value[index] ?? ''\n\n chars.forEach((char, i) => (innerValue.value[targetIndex + i] = char))\n focus(targetIndex + chars.length)\n updateModelValue()\n return\n }\n\n if (!props.validator(value, targetIndex)) {\n target.value = innerValue.value[index] ?? ''\n value = target.value\n focusIndex = targetIndex\n }\n\n innerValue.value[targetIndex] = value\n if (targetIndex !== index) {\n target.value = innerValue.value[index] ?? ''\n }\n focus(focusIndex)\n updateModelValue()\n}\n\nconst castValues = (value: InputOtpProps['modelValue'], startIndex = 0) => {\n const chars = `${value ?? ''}`.split('')\n const result: string[] = []\n for (const char of chars) {\n if (result.length + startIndex >= props.length) {\n break\n }\n if (props.validator(char, result.length + startIndex)) {\n result.push(char)\n }\n }\n return result\n}\n\nconst focus = (index: number = 0) => {\n const focusIndex = clamp(index, 0, props.length - 1)\n const target = inputRefs.value?.[focusIndex]\n\n if (document.activeElement !== target) {\n target?.focus()\n }\n rAF(() => {\n // When it is called, the focus may have already been captured by another element.\n // e.g. typing quickly and deleting.\n if (!props.readonly && document.activeElement === target) {\n ;(target as HTMLInputElement | null)?.select()\n }\n })\n}\n\nconst blur = () => {\n const target = inputRefs.value?.find(\n (input) => document.activeElement === input\n )\n target?.blur()\n}\n\nwatch(\n () => props.modelValue,\n () => {\n innerValue.value = initialValue.value\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => props.length,\n () => {\n innerValue.value = initialValue.value\n updateModelValue(false)\n }\n)\n\nwatch(isFocused, (value) => {\n if (value) {\n modelValueOnFocus = props.modelValue\n return\n }\n if (modelValueOnFocus !== props.modelValue) {\n emit(CHANGE_EVENT, props.modelValue as string)\n }\n})\n\ndefineExpose({\n /**\n * @description HTML input elements array\n */\n inputRefs,\n /**\n * @description Focus an OTP input field\n */\n focus,\n /**\n * @description Blur the focused OTP input field\n */\n blur,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"input-otp.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/input-otp/src/input-otp.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[ns.b(), ns.m(size), ns.m(type), ns.is('disabled', disabled)]\"\n role=\"group\"\n :aria-label=\"\n !isLabeledByFormItem\n ? ariaLabel || t('el.inputOTP.groupLabel')\n : undefined\n \"\n :aria-labelledby=\"isLabeledByFormItem ? formItem?.labelId : undefined\"\n >\n <template v-for=\"(_, index) in length\" :key=\"index\">\n <label :class=\"ns.e('input-field')\">\n <input\n ref=\"inputRefs\"\n :value=\"innerValue[index]\"\n :class=\"ns.e('input')\"\n :type=\"mask ? 'password' : 'text'\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :inputmode=\"inputmode\"\n autocomplete=\"one-time-code\"\n :aria-label=\"t('el.inputOTP.defaultLabel', { index: index + 1 })\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @click=\"focus(index)\"\n @keydown=\"handleKeydown($event, index)\"\n @input=\"handleInput($event, index)\"\n />\n </label>\n <slot\n v-if=\"($slots.separator || separators[index]) && index < length - 1\"\n name=\"separator\"\n :index=\"index\"\n >\n <component :is=\"() => separators[index]\" />\n </slot>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { clamp } from '@vueuse/core'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isFunction, rAF } from '@element-plus/utils'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputOtpEmits } from './input-otp'\n\nimport type { InputOtpProps } from './input-otp'\n\ndefineOptions({\n name: 'ElInputOtp',\n})\n\nconst props = withDefaults(defineProps<InputOtpProps>(), {\n length: 6,\n validator: () => true,\n type: 'outlined',\n disabled: undefined,\n validateEvent: true,\n})\nconst emit = defineEmits(inputOtpEmits)\n\nconst initialValue = computed(() => {\n const value = String(props.modelValue ?? '')\n return Array.from({ length: props.length }, (_, i) => value.charAt(i))\n})\n\nconst separators = computed(() => {\n const { separator } = props\n const _separator = isFunction(separator) ? separator : () => separator\n return Array.from({ length: props.length - 1 }, (_, i) => _separator(i))\n})\n\nconst innerValue = ref<string[]>(initialValue.value)\nconst isFocused = ref(false)\nconst inputRefs = ref<(HTMLInputElement | undefined)[]>([])\n\nconst ns = useNamespace('input-otp')\nconst { t } = useLocale()\nconst { formItem } = useFormItem()\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst size = useFormSize()\nconst disabled = useFormDisabled()\nlet modelValueOnFocus = props.modelValue\n\nconst getFirstIndex = (maxIndex: number) => {\n const index = innerValue.value.findIndex((char, i) => !char && i <= maxIndex)\n return index === -1 ? maxIndex : index\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch(NOOP)\n }\n}\n\nconst updateModelValue = (emitFinish = true) => {\n const value = innerValue.value.join('').slice(0, props.length)\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n if (emitFinish && value.length === props.length) {\n emit('finish', value)\n }\n }\n}\n\nconst handleKeydown = (event: KeyboardEvent, index: number) => {\n const code = getEventCode(event)\n let preventDefault = true\n\n switch (code) {\n case EVENT_CODE.backspace:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index - 1)\n updateModelValue()\n break\n case EVENT_CODE.delete:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index)\n updateModelValue()\n break\n case EVENT_CODE.up:\n case EVENT_CODE.left:\n focus(index - 1)\n break\n case EVENT_CODE.down:\n case EVENT_CODE.right:\n focus(index + 1)\n break\n default:\n preventDefault = false\n }\n\n if (preventDefault) {\n event.preventDefault()\n }\n}\n\nconst handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement\n const targetIndex = getFirstIndex(index)\n let focusIndex = targetIndex + 1\n let value = target.value\n\n // Safari and Firefox do not trigger the paste event during autofill,\n // so the paste logic needs to be handled in the input event\n if (value.length > 1) {\n const chars = castValues(value, targetIndex)\n\n // Avoid innerValue inconsistency with the input box value after pasting when char has no change\n target.value = innerValue.value[index] ?? ''\n\n chars.forEach((char, i) => (innerValue.value[targetIndex + i] = char))\n focus(targetIndex + chars.length)\n updateModelValue()\n return\n }\n\n if (!props.validator(value, targetIndex)) {\n target.value = innerValue.value[index] ?? ''\n value = target.value\n focusIndex = targetIndex\n }\n\n innerValue.value[targetIndex] = value\n if (targetIndex !== index) {\n target.value = innerValue.value[index] ?? ''\n }\n focus(focusIndex)\n updateModelValue()\n}\n\nconst castValues = (value: InputOtpProps['modelValue'], startIndex = 0) => {\n const chars = `${value ?? ''}`.split('')\n const result: string[] = []\n for (const char of chars) {\n if (result.length + startIndex >= props.length) {\n break\n }\n if (props.validator(char, result.length + startIndex)) {\n result.push(char)\n }\n }\n return result\n}\n\nconst focus = (index: number = 0) => {\n const focusIndex = clamp(index, 0, props.length - 1)\n const target = inputRefs.value?.[focusIndex]\n\n if (document.activeElement !== target) {\n target?.focus()\n }\n rAF(() => {\n // When it is called, the focus may have already been captured by another element.\n // e.g. typing quickly and deleting.\n if (!props.readonly && document.activeElement === target) {\n ;(target as HTMLInputElement | null)?.select()\n }\n })\n}\n\nconst blur = () => {\n const target = inputRefs.value?.find(\n (input) => document.activeElement === input\n )\n target?.blur()\n}\n\nwatch(\n () => props.modelValue,\n () => {\n innerValue.value = initialValue.value\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => props.length,\n () => {\n innerValue.value = initialValue.value\n updateModelValue(false)\n }\n)\n\nwatch(isFocused, (value) => {\n if (value) {\n modelValueOnFocus = props.modelValue\n return\n }\n if (modelValueOnFocus !== props.modelValue) {\n emit(CHANGE_EVENT, props.modelValue as string)\n }\n})\n\ndefineExpose({\n /**\n * @description HTML input elements array\n */\n inputRefs,\n /**\n * @description Focus an OTP input field\n */\n focus,\n /**\n * @description Blur the focused OTP input field\n */\n blur,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp2.mjs","names":[],"sources":["../../../../../../packages/components/input-otp/src/input-otp.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[ns.b(), ns.m(size), ns.m(type), ns.is('disabled', disabled)]\"\n role=\"group\"\n :aria-label=\"\n !isLabeledByFormItem\n ? ariaLabel || t('el.inputOTP.groupLabel')\n : undefined\n \"\n :aria-labelledby=\"isLabeledByFormItem ? formItem?.labelId : undefined\"\n >\n <template v-for=\"(_, index) in length\" :key=\"index\">\n <label :class=\"ns.e('input-field')\">\n <input\n ref=\"inputRefs\"\n :value=\"innerValue[index]\"\n :class=\"ns.e('input')\"\n :type=\"mask ? 'password' : 'text'\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :inputmode=\"inputmode\"\n autocomplete=\"one-time-code\"\n :aria-label=\"t('el.inputOTP.defaultLabel', { index: index + 1 })\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @click=\"focus(index)\"\n @keydown=\"handleKeydown($event, index)\"\n @input=\"handleInput($event, index)\"\n />\n </label>\n <slot\n v-if=\"($slots.separator || separators[index]) && index < length - 1\"\n name=\"separator\"\n :index=\"index\"\n >\n <component :is=\"() => separators[index]\" />\n </slot>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { clamp } from '@vueuse/core'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isFunction, rAF } from '@element-plus/utils'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n} from '@element-plus/components/form'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputOtpEmits } from './input-otp'\n\nimport type { InputOtpProps } from './input-otp'\n\ndefineOptions({\n name: 'ElInputOtp',\n})\n\nconst props = withDefaults(defineProps<InputOtpProps>(), {\n length: 6,\n validator: () => true,\n type: 'outlined',\n size: 'default',\n disabled: undefined,\n validateEvent: true,\n})\nconst emit = defineEmits(inputOtpEmits)\n\nconst initialValue = computed(() => {\n const value = String(props.modelValue ?? '')\n return Array.from({ length: props.length }, (_, i) => value.charAt(i))\n})\n\nconst separators = computed(() => {\n const { separator } = props\n const _separator = isFunction(separator) ? separator : () => separator\n return Array.from({ length: props.length - 1 }, (_, i) => _separator(i))\n})\n\nconst innerValue = ref<string[]>(initialValue.value)\nconst isFocused = ref(false)\nconst inputRefs = ref<(HTMLInputElement | undefined)[]>([])\n\nconst ns = useNamespace('input-otp')\nconst { t } = useLocale()\nconst { formItem } = useFormItem()\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst disabled = useFormDisabled()\nlet modelValueOnFocus = props.modelValue\n\nconst getFirstIndex = (maxIndex: number) => {\n const index = innerValue.value.findIndex((char, i) => !char && i <= maxIndex)\n return index === -1 ? maxIndex : index\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch(NOOP)\n }\n}\n\nconst updateModelValue = (emitFinish = true) => {\n const value = innerValue.value.join('').slice(0, props.length)\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n if (emitFinish && value.length === props.length) {\n emit('finish', value)\n }\n }\n}\n\nconst handleKeydown = (event: KeyboardEvent, index: number) => {\n const code = getEventCode(event)\n let preventDefault = true\n\n switch (code) {\n case EVENT_CODE.backspace:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index - 1)\n updateModelValue()\n break\n case EVENT_CODE.delete:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index)\n updateModelValue()\n break\n case EVENT_CODE.up:\n case EVENT_CODE.left:\n focus(index - 1)\n break\n case EVENT_CODE.down:\n case EVENT_CODE.right:\n focus(index + 1)\n break\n default:\n preventDefault = false\n }\n\n if (preventDefault) {\n event.preventDefault()\n }\n}\n\nconst handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement\n const targetIndex = getFirstIndex(index)\n let focusIndex = targetIndex + 1\n let value = target.value\n\n // Safari and Firefox do not trigger the paste event during autofill,\n // so the paste logic needs to be handled in the input event\n if (value.length > 1) {\n const chars = castValues(value, targetIndex)\n\n // Avoid innerValue inconsistency with the input box value after pasting when char has no change\n target.value = innerValue.value[index] ?? ''\n\n chars.forEach((char, i) => (innerValue.value[targetIndex + i] = char))\n focus(targetIndex + chars.length)\n updateModelValue()\n return\n }\n\n if (!props.validator(value, targetIndex)) {\n target.value = innerValue.value[index] ?? ''\n value = target.value\n focusIndex = targetIndex\n }\n\n innerValue.value[targetIndex] = value\n if (targetIndex !== index) {\n target.value = innerValue.value[index] ?? ''\n }\n focus(focusIndex)\n updateModelValue()\n}\n\nconst castValues = (value: InputOtpProps['modelValue'], startIndex = 0) => {\n const chars = `${value ?? ''}`.split('')\n const result: string[] = []\n for (const char of chars) {\n if (result.length + startIndex >= props.length) {\n break\n }\n if (props.validator(char, result.length + startIndex)) {\n result.push(char)\n }\n }\n return result\n}\n\nconst focus = (index: number = 0) => {\n const focusIndex = clamp(index, 0, props.length - 1)\n const target = inputRefs.value?.[focusIndex]\n\n if (document.activeElement !== target) {\n target?.focus()\n }\n rAF(() => {\n // When it is called, the focus may have already been captured by another element.\n // e.g. typing quickly and deleting.\n if (!props.readonly && document.activeElement === target) {\n ;(target as HTMLInputElement | null)?.select()\n }\n })\n}\n\nconst blur = () => {\n const target = inputRefs.value?.find(\n (input) => document.activeElement === input\n )\n target?.blur()\n}\n\nwatch(\n () => props.modelValue,\n () => {\n innerValue.value = initialValue.value\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => props.length,\n () => {\n innerValue.value = initialValue.value\n updateModelValue(false)\n }\n)\n\nwatch(isFocused, (value) => {\n if (value) {\n modelValueOnFocus = props.modelValue\n return\n }\n if (modelValueOnFocus !== props.modelValue) {\n emit(CHANGE_EVENT, props.modelValue as string)\n }\n})\n\ndefineExpose({\n /**\n * @description HTML input elements array\n */\n inputRefs,\n /**\n * @description Focus an OTP input field\n */\n focus,\n /**\n * @description Blur the focused OTP input field\n */\n blur,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"input-otp2.mjs","names":[],"sources":["../../../../../../packages/components/input-otp/src/input-otp.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[ns.b(), ns.m(size), ns.m(type), ns.is('disabled', disabled)]\"\n role=\"group\"\n :aria-label=\"\n !isLabeledByFormItem\n ? ariaLabel || t('el.inputOTP.groupLabel')\n : undefined\n \"\n :aria-labelledby=\"isLabeledByFormItem ? formItem?.labelId : undefined\"\n >\n <template v-for=\"(_, index) in length\" :key=\"index\">\n <label :class=\"ns.e('input-field')\">\n <input\n ref=\"inputRefs\"\n :value=\"innerValue[index]\"\n :class=\"ns.e('input')\"\n :type=\"mask ? 'password' : 'text'\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :inputmode=\"inputmode\"\n autocomplete=\"one-time-code\"\n :aria-label=\"t('el.inputOTP.defaultLabel', { index: index + 1 })\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @click=\"focus(index)\"\n @keydown=\"handleKeydown($event, index)\"\n @input=\"handleInput($event, index)\"\n />\n </label>\n <slot\n v-if=\"($slots.separator || separators[index]) && index < length - 1\"\n name=\"separator\"\n :index=\"index\"\n >\n <component :is=\"() => separators[index]\" />\n </slot>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { clamp } from '@vueuse/core'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isFunction, rAF } from '@element-plus/utils'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputOtpEmits } from './input-otp'\n\nimport type { InputOtpProps } from './input-otp'\n\ndefineOptions({\n name: 'ElInputOtp',\n})\n\nconst props = withDefaults(defineProps<InputOtpProps>(), {\n length: 6,\n validator: () => true,\n type: 'outlined',\n disabled: undefined,\n validateEvent: true,\n})\nconst emit = defineEmits(inputOtpEmits)\n\nconst initialValue = computed(() => {\n const value = String(props.modelValue ?? '')\n return Array.from({ length: props.length }, (_, i) => value.charAt(i))\n})\n\nconst separators = computed(() => {\n const { separator } = props\n const _separator = isFunction(separator) ? separator : () => separator\n return Array.from({ length: props.length - 1 }, (_, i) => _separator(i))\n})\n\nconst innerValue = ref<string[]>(initialValue.value)\nconst isFocused = ref(false)\nconst inputRefs = ref<(HTMLInputElement | undefined)[]>([])\n\nconst ns = useNamespace('input-otp')\nconst { t } = useLocale()\nconst { formItem } = useFormItem()\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst size = useFormSize()\nconst disabled = useFormDisabled()\nlet modelValueOnFocus = props.modelValue\n\nconst getFirstIndex = (maxIndex: number) => {\n const index = innerValue.value.findIndex((char, i) => !char && i <= maxIndex)\n return index === -1 ? maxIndex : index\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n if (inputRefs.value?.includes(event.relatedTarget as any)) {\n return\n }\n\n isFocused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch(NOOP)\n }\n}\n\nconst updateModelValue = (emitFinish = true) => {\n const value = innerValue.value.join('').slice(0, props.length)\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n if (emitFinish && value.length === props.length) {\n emit('finish', value)\n }\n }\n}\n\nconst handleKeydown = (event: KeyboardEvent, index: number) => {\n const code = getEventCode(event)\n let preventDefault = true\n\n switch (code) {\n case EVENT_CODE.backspace:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index - 1)\n updateModelValue()\n break\n case EVENT_CODE.delete:\n if (props.readonly) break\n innerValue.value[index] = ''\n focus(index)\n updateModelValue()\n break\n case EVENT_CODE.up:\n case EVENT_CODE.left:\n focus(index - 1)\n break\n case EVENT_CODE.down:\n case EVENT_CODE.right:\n focus(index + 1)\n break\n default:\n preventDefault = false\n }\n\n if (preventDefault) {\n event.preventDefault()\n }\n}\n\nconst handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement\n const targetIndex = getFirstIndex(index)\n let focusIndex = targetIndex + 1\n let value = target.value\n\n // Safari and Firefox do not trigger the paste event during autofill,\n // so the paste logic needs to be handled in the input event\n if (value.length > 1) {\n const chars = castValues(value, targetIndex)\n\n // Avoid innerValue inconsistency with the input box value after pasting when char has no change\n target.value = innerValue.value[index] ?? ''\n\n chars.forEach((char, i) => (innerValue.value[targetIndex + i] = char))\n focus(targetIndex + chars.length)\n updateModelValue()\n return\n }\n\n if (!props.validator(value, targetIndex)) {\n target.value = innerValue.value[index] ?? ''\n value = target.value\n focusIndex = targetIndex\n }\n\n innerValue.value[targetIndex] = value\n if (targetIndex !== index) {\n target.value = innerValue.value[index] ?? ''\n }\n focus(focusIndex)\n updateModelValue()\n}\n\nconst castValues = (value: InputOtpProps['modelValue'], startIndex = 0) => {\n const chars = `${value ?? ''}`.split('')\n const result: string[] = []\n for (const char of chars) {\n if (result.length + startIndex >= props.length) {\n break\n }\n if (props.validator(char, result.length + startIndex)) {\n result.push(char)\n }\n }\n return result\n}\n\nconst focus = (index: number = 0) => {\n const focusIndex = clamp(index, 0, props.length - 1)\n const target = inputRefs.value?.[focusIndex]\n\n if (document.activeElement !== target) {\n target?.focus()\n }\n rAF(() => {\n // When it is called, the focus may have already been captured by another element.\n // e.g. typing quickly and deleting.\n if (!props.readonly && document.activeElement === target) {\n ;(target as HTMLInputElement | null)?.select()\n }\n })\n}\n\nconst blur = () => {\n const target = inputRefs.value?.find(\n (input) => document.activeElement === input\n )\n target?.blur()\n}\n\nwatch(\n () => props.modelValue,\n () => {\n innerValue.value = initialValue.value\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nwatch(\n () => props.length,\n () => {\n innerValue.value = initialValue.value\n updateModelValue(false)\n }\n)\n\nwatch(isFocused, (value) => {\n if (value) {\n modelValueOnFocus = props.modelValue\n return\n }\n if (modelValueOnFocus !== props.modelValue) {\n emit(CHANGE_EVENT, props.modelValue as string)\n }\n})\n\ndefineExpose({\n /**\n * @description HTML input elements array\n */\n inputRefs,\n /**\n * @description Focus an OTP input field\n */\n focus,\n /**\n * @description Blur the focused OTP input field\n */\n blur,\n})\n</script>\n"],"mappings":""}
@@ -24,20 +24,20 @@ declare const __VLS_base: _$vue.DefineComponent<InputTagProps, {
24
24
  focus: () => void;
25
25
  blur: () => void;
26
26
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
27
+ clear: () => void;
27
28
  "update:modelValue": (value?: string[] | undefined) => void;
28
29
  change: (value?: string[] | undefined) => void;
29
30
  input: (value: string) => void;
30
- clear: () => void;
31
31
  focus: (evt: FocusEvent) => void;
32
32
  blur: (evt: FocusEvent) => void;
33
33
  "add-tag": (value: string | string[]) => void;
34
34
  "remove-tag": (value: string, index: number) => void;
35
35
  "drag-tag": (oldIndex: number, newIndex: number, value: string) => void;
36
36
  }, string, _$vue.PublicProps, Readonly<InputTagProps> & Readonly<{
37
+ onClear?: (() => any) | undefined;
37
38
  "onUpdate:modelValue"?: ((value?: string[] | undefined) => any) | undefined;
38
39
  onChange?: ((value?: string[] | undefined) => any) | undefined;
39
40
  onInput?: ((value: string) => any) | undefined;
40
- onClear?: (() => any) | undefined;
41
41
  onFocus?: ((evt: FocusEvent) => any) | undefined;
42
42
  onBlur?: ((evt: FocusEvent) => any) | undefined;
43
43
  "onAdd-tag"?: ((value: string | string[]) => any) | undefined;
@@ -198,7 +198,7 @@ declare const mentionProps: {
198
198
  popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | _$vue.StyleValue[]) | (() => _$vue.StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | _$vue.StyleValue[]) | (() => _$vue.StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
199
199
  popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => Partial<Options>, boolean>;
200
200
  props: EpPropFinalized<(new (...args: any[]) => MentionOptionProps) | (() => MentionOptionProps) | (((new (...args: any[]) => MentionOptionProps) | (() => MentionOptionProps)) | null)[], unknown, unknown, () => Required<MentionOptionProps>, boolean>;
201
- inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
201
+ inputmode: EpPropFinalized<(new (...args: any[]) => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "email" | "search" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
202
202
  name: StringConstructor;
203
203
  ariaLabel: StringConstructor;
204
204
  id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
@@ -103,9 +103,9 @@ declare const _default: _$vue.DefineComponent<ExtractPropTypes<{
103
103
  readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
104
104
  readonly persistent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
105
105
  }>> & Readonly<{
106
+ onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
106
107
  onClose?: ((index: string, indexPath: string[]) => any) | undefined;
107
108
  onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
108
- onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
109
109
  }>, {
110
110
  readonly collapse: boolean;
111
111
  readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -130,7 +130,7 @@ declare const messageProps: {
130
130
  readonly prototype: any;
131
131
  }) | null)[], unknown, unknown, undefined, boolean>;
132
132
  readonly showClose: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
133
- readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "error", unknown, "info", boolean>;
133
+ readonly type: EpPropFinalized<StringConstructor, "error" | "info" | "primary" | "success" | "warning", unknown, "info", boolean>;
134
134
  readonly plain: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
135
135
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 16, boolean>;
136
136
  readonly placement: EpPropFinalized<StringConstructor, "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", unknown, undefined, boolean>;
@@ -18,10 +18,10 @@ declare const __VLS_base: _$vue.DefineComponent<MessageProps, {
18
18
  onDestroy?: (() => any) | undefined;
19
19
  }>, {
20
20
  type: MessageType;
21
- message: string | _$vue.VNode | (() => _$vue.VNode);
22
21
  zIndex: number;
23
- offset: number;
24
22
  onClose: () => void;
23
+ message: string | _$vue.VNode | (() => _$vue.VNode);
24
+ offset: number;
25
25
  id: string;
26
26
  icon: IconPropType;
27
27
  placement: MessagePlacement;
@@ -229,7 +229,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
229
229
  autofocus: _$vue.Ref<boolean, boolean>;
230
230
  title: _$vue.Ref<string | undefined, string | undefined>;
231
231
  message: _$vue.Ref<string, string>;
232
- type: _$vue.Ref<"" | "info" | "primary" | "success" | "warning" | "error", "" | "info" | "primary" | "success" | "warning" | "error">;
232
+ type: _$vue.Ref<"" | "error" | "info" | "primary" | "success" | "warning", "" | "error" | "info" | "primary" | "success" | "warning">;
233
233
  icon: _$vue.Ref<string | _$vue.FunctionalComponent<any, {}, any, {}> | {
234
234
  new (...args: any[]): any;
235
235
  __isFragment?: never;
@@ -4578,10 +4578,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
4578
4578
  onVanish?: ((...args: any[]) => any) | undefined;
4579
4579
  }>, {
4580
4580
  center: boolean;
4581
+ closeOnPressEscape: boolean;
4581
4582
  container: string;
4582
4583
  overflow: boolean;
4583
4584
  closeOnClickModal: boolean;
4584
- closeOnPressEscape: boolean;
4585
4585
  lockScroll: boolean;
4586
4586
  modal: boolean;
4587
4587
  draggable: boolean;
@@ -4748,10 +4748,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
4748
4748
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
4749
4749
  ElInput: SFCWithInstall<{
4750
4750
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<InputProps> & Readonly<{
4751
+ onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
4751
4752
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
4752
4753
  onChange?: ((value: string, evt?: Event | undefined) => any) | undefined;
4753
4754
  onInput?: ((value: string) => any) | undefined;
4754
- onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
4755
4755
  onFocus?: ((evt: FocusEvent) => any) | undefined;
4756
4756
  onBlur?: ((evt: FocusEvent) => any) | undefined;
4757
4757
  onMouseleave?: ((evt: MouseEvent) => any) | undefined;
@@ -4774,10 +4774,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
4774
4774
  clear: (evt?: MouseEvent) => void;
4775
4775
  resizeTextarea: () => void;
4776
4776
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
4777
+ clear: (evt: MouseEvent | undefined) => void;
4777
4778
  "update:modelValue": (value: string) => void;
4778
4779
  change: (value: string, evt?: Event | undefined) => void;
4779
4780
  input: (value: string) => void;
4780
- clear: (evt: MouseEvent | undefined) => void;
4781
4781
  focus: (evt: FocusEvent) => void;
4782
4782
  blur: (evt: FocusEvent) => void;
4783
4783
  mouseleave: (evt: MouseEvent) => void;
@@ -4806,10 +4806,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
4806
4806
  M: {};
4807
4807
  Defaults: {};
4808
4808
  }, Readonly<InputProps> & Readonly<{
4809
+ onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
4809
4810
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
4810
4811
  onChange?: ((value: string, evt?: Event | undefined) => any) | undefined;
4811
4812
  onInput?: ((value: string) => any) | undefined;
4812
- onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
4813
4813
  onFocus?: ((evt: FocusEvent) => any) | undefined;
4814
4814
  onBlur?: ((evt: FocusEvent) => any) | undefined;
4815
4815
  onMouseleave?: ((evt: MouseEvent) => any) | undefined;
@@ -4848,10 +4848,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
4848
4848
  __isTeleport?: never;
4849
4849
  __isSuspense?: never;
4850
4850
  } & _$vue.ComponentOptionsBase<Readonly<InputProps> & Readonly<{
4851
+ onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
4851
4852
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
4852
4853
  onChange?: ((value: string, evt?: Event | undefined) => any) | undefined;
4853
4854
  onInput?: ((value: string) => any) | undefined;
4854
- onClear?: ((evt: MouseEvent | undefined) => any) | undefined;
4855
4855
  onFocus?: ((evt: FocusEvent) => any) | undefined;
4856
4856
  onBlur?: ((evt: FocusEvent) => any) | undefined;
4857
4857
  onMouseleave?: ((evt: MouseEvent) => any) | undefined;
@@ -4874,10 +4874,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
4874
4874
  clear: (evt?: MouseEvent) => void;
4875
4875
  resizeTextarea: () => void;
4876
4876
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
4877
+ clear: (evt: MouseEvent | undefined) => void;
4877
4878
  "update:modelValue": (value: string) => void;
4878
4879
  change: (value: string, evt?: Event | undefined) => void;
4879
4880
  input: (value: string) => void;
4880
- clear: (evt: MouseEvent | undefined) => void;
4881
4881
  focus: (evt: FocusEvent) => void;
4882
4882
  blur: (evt: FocusEvent) => void;
4883
4883
  mouseleave: (evt: MouseEvent) => void;
@@ -112,7 +112,7 @@ declare const notificationProps: {
112
112
  readonly position: EpPropFinalized<StringConstructor, "top-left" | "top-right" | "bottom-left" | "bottom-right", unknown, "top-right", boolean>;
113
113
  readonly showClose: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
114
114
  readonly title: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
115
- readonly type: EpPropFinalized<StringConstructor, "" | "info" | "primary" | "success" | "warning" | "error", unknown, "", boolean>;
115
+ readonly type: EpPropFinalized<StringConstructor, "" | "error" | "info" | "primary" | "success" | "warning", unknown, "", boolean>;
116
116
  readonly zIndex: NumberConstructor;
117
117
  readonly closeIcon: EpPropFinalized<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown, _$vue.DefineComponent<{}, void, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>, boolean>;
118
118
  };