@element-plus/nightly 0.0.20240410 → 0.0.20240412

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 (508) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +1054 -780
  4. package/dist/index.full.min.js +22 -22
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +18 -18
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +1047 -781
  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/hr.js +1 -1
  94. package/dist/locale/hr.min.js +1 -1
  95. package/dist/locale/hr.min.mjs +1 -1
  96. package/dist/locale/hr.mjs +1 -1
  97. package/dist/locale/hu.js +1 -1
  98. package/dist/locale/hu.min.js +1 -1
  99. package/dist/locale/hu.min.mjs +1 -1
  100. package/dist/locale/hu.mjs +1 -1
  101. package/dist/locale/hy-am.js +1 -1
  102. package/dist/locale/hy-am.min.js +1 -1
  103. package/dist/locale/hy-am.min.mjs +1 -1
  104. package/dist/locale/hy-am.mjs +1 -1
  105. package/dist/locale/id.js +1 -1
  106. package/dist/locale/id.min.js +1 -1
  107. package/dist/locale/id.min.mjs +1 -1
  108. package/dist/locale/id.mjs +1 -1
  109. package/dist/locale/it.js +1 -1
  110. package/dist/locale/it.min.js +1 -1
  111. package/dist/locale/it.min.mjs +1 -1
  112. package/dist/locale/it.mjs +1 -1
  113. package/dist/locale/ja.js +1 -1
  114. package/dist/locale/ja.min.js +1 -1
  115. package/dist/locale/ja.min.mjs +1 -1
  116. package/dist/locale/ja.mjs +1 -1
  117. package/dist/locale/kk.js +1 -1
  118. package/dist/locale/kk.min.js +1 -1
  119. package/dist/locale/kk.min.mjs +1 -1
  120. package/dist/locale/kk.mjs +1 -1
  121. package/dist/locale/km.js +1 -1
  122. package/dist/locale/km.min.js +1 -1
  123. package/dist/locale/km.min.mjs +1 -1
  124. package/dist/locale/km.mjs +1 -1
  125. package/dist/locale/ko.js +1 -1
  126. package/dist/locale/ko.min.js +1 -1
  127. package/dist/locale/ko.min.mjs +1 -1
  128. package/dist/locale/ko.mjs +1 -1
  129. package/dist/locale/ku.js +1 -1
  130. package/dist/locale/ku.min.js +1 -1
  131. package/dist/locale/ku.min.mjs +1 -1
  132. package/dist/locale/ku.mjs +1 -1
  133. package/dist/locale/ky.js +1 -1
  134. package/dist/locale/ky.min.js +1 -1
  135. package/dist/locale/ky.min.mjs +1 -1
  136. package/dist/locale/ky.mjs +1 -1
  137. package/dist/locale/lt.js +1 -1
  138. package/dist/locale/lt.min.js +1 -1
  139. package/dist/locale/lt.min.mjs +1 -1
  140. package/dist/locale/lt.mjs +1 -1
  141. package/dist/locale/lv.js +1 -1
  142. package/dist/locale/lv.min.js +1 -1
  143. package/dist/locale/lv.min.mjs +1 -1
  144. package/dist/locale/lv.mjs +1 -1
  145. package/dist/locale/mg.js +1 -1
  146. package/dist/locale/mg.min.js +1 -1
  147. package/dist/locale/mg.min.mjs +1 -1
  148. package/dist/locale/mg.mjs +1 -1
  149. package/dist/locale/mn.js +1 -1
  150. package/dist/locale/mn.min.js +1 -1
  151. package/dist/locale/mn.min.mjs +1 -1
  152. package/dist/locale/mn.mjs +1 -1
  153. package/dist/locale/nb-no.js +1 -1
  154. package/dist/locale/nb-no.min.js +1 -1
  155. package/dist/locale/nb-no.min.mjs +1 -1
  156. package/dist/locale/nb-no.mjs +1 -1
  157. package/dist/locale/nl.js +1 -1
  158. package/dist/locale/nl.min.js +1 -1
  159. package/dist/locale/nl.min.mjs +1 -1
  160. package/dist/locale/nl.mjs +1 -1
  161. package/dist/locale/pa.js +1 -1
  162. package/dist/locale/pa.min.js +1 -1
  163. package/dist/locale/pa.min.mjs +1 -1
  164. package/dist/locale/pa.mjs +1 -1
  165. package/dist/locale/pl.js +1 -1
  166. package/dist/locale/pl.min.js +1 -1
  167. package/dist/locale/pl.min.mjs +1 -1
  168. package/dist/locale/pl.mjs +1 -1
  169. package/dist/locale/pt-br.js +1 -1
  170. package/dist/locale/pt-br.min.js +1 -1
  171. package/dist/locale/pt-br.min.mjs +1 -1
  172. package/dist/locale/pt-br.mjs +1 -1
  173. package/dist/locale/pt.js +1 -1
  174. package/dist/locale/pt.min.js +1 -1
  175. package/dist/locale/pt.min.mjs +1 -1
  176. package/dist/locale/pt.mjs +1 -1
  177. package/dist/locale/ro.js +1 -1
  178. package/dist/locale/ro.min.js +1 -1
  179. package/dist/locale/ro.min.mjs +1 -1
  180. package/dist/locale/ro.mjs +1 -1
  181. package/dist/locale/ru.js +1 -1
  182. package/dist/locale/ru.min.js +1 -1
  183. package/dist/locale/ru.min.mjs +1 -1
  184. package/dist/locale/ru.mjs +1 -1
  185. package/dist/locale/sk.js +1 -1
  186. package/dist/locale/sk.min.js +1 -1
  187. package/dist/locale/sk.min.mjs +1 -1
  188. package/dist/locale/sk.mjs +1 -1
  189. package/dist/locale/sl.js +1 -1
  190. package/dist/locale/sl.min.js +1 -1
  191. package/dist/locale/sl.min.mjs +1 -1
  192. package/dist/locale/sl.mjs +1 -1
  193. package/dist/locale/sr.js +1 -1
  194. package/dist/locale/sr.min.js +1 -1
  195. package/dist/locale/sr.min.mjs +1 -1
  196. package/dist/locale/sr.mjs +1 -1
  197. package/dist/locale/sv.js +1 -1
  198. package/dist/locale/sv.min.js +1 -1
  199. package/dist/locale/sv.min.mjs +1 -1
  200. package/dist/locale/sv.mjs +1 -1
  201. package/dist/locale/sw.js +1 -1
  202. package/dist/locale/sw.min.js +1 -1
  203. package/dist/locale/sw.min.mjs +1 -1
  204. package/dist/locale/sw.mjs +1 -1
  205. package/dist/locale/ta.js +1 -1
  206. package/dist/locale/ta.min.js +1 -1
  207. package/dist/locale/ta.min.mjs +1 -1
  208. package/dist/locale/ta.mjs +1 -1
  209. package/dist/locale/th.js +1 -1
  210. package/dist/locale/th.min.js +1 -1
  211. package/dist/locale/th.min.mjs +1 -1
  212. package/dist/locale/th.mjs +1 -1
  213. package/dist/locale/tk.js +1 -1
  214. package/dist/locale/tk.min.js +1 -1
  215. package/dist/locale/tk.min.mjs +1 -1
  216. package/dist/locale/tk.mjs +1 -1
  217. package/dist/locale/tr.js +1 -1
  218. package/dist/locale/tr.min.js +1 -1
  219. package/dist/locale/tr.min.mjs +1 -1
  220. package/dist/locale/tr.mjs +1 -1
  221. package/dist/locale/ug-cn.js +1 -1
  222. package/dist/locale/ug-cn.min.js +1 -1
  223. package/dist/locale/ug-cn.min.mjs +1 -1
  224. package/dist/locale/ug-cn.mjs +1 -1
  225. package/dist/locale/uk.js +1 -1
  226. package/dist/locale/uk.min.js +1 -1
  227. package/dist/locale/uk.min.mjs +1 -1
  228. package/dist/locale/uk.mjs +1 -1
  229. package/dist/locale/uz-uz.js +1 -1
  230. package/dist/locale/uz-uz.min.js +1 -1
  231. package/dist/locale/uz-uz.min.mjs +1 -1
  232. package/dist/locale/uz-uz.mjs +1 -1
  233. package/dist/locale/vi.js +1 -1
  234. package/dist/locale/vi.min.js +1 -1
  235. package/dist/locale/vi.min.mjs +1 -1
  236. package/dist/locale/vi.mjs +1 -1
  237. package/dist/locale/zh-cn.js +1 -1
  238. package/dist/locale/zh-cn.min.js +1 -1
  239. package/dist/locale/zh-cn.min.mjs +1 -1
  240. package/dist/locale/zh-cn.mjs +1 -1
  241. package/dist/locale/zh-tw.js +1 -1
  242. package/dist/locale/zh-tw.min.js +1 -1
  243. package/dist/locale/zh-tw.min.mjs +1 -1
  244. package/dist/locale/zh-tw.mjs +1 -1
  245. package/es/component.mjs +3 -1
  246. package/es/component.mjs.map +1 -1
  247. package/es/components/alert/index.mjs +2 -2
  248. package/es/components/alert/src/alert.mjs +36 -96
  249. package/es/components/alert/src/alert.mjs.map +1 -1
  250. package/es/components/alert/src/alert2.mjs +96 -36
  251. package/es/components/alert/src/alert2.mjs.map +1 -1
  252. package/es/components/badge/index.d.ts +41 -0
  253. package/es/components/badge/src/badge.d.ts +14 -1
  254. package/es/components/badge/src/badge.mjs +12 -2
  255. package/es/components/badge/src/badge.mjs.map +1 -1
  256. package/es/components/badge/src/badge.vue.d.ts +42 -0
  257. package/es/components/badge/src/badge2.mjs +15 -2
  258. package/es/components/badge/src/badge2.mjs.map +1 -1
  259. package/es/components/cascader/index.d.ts +30 -14
  260. package/es/components/cascader/src/cascader.d.ts +4 -2
  261. package/es/components/cascader/src/cascader.mjs +5 -3
  262. package/es/components/cascader/src/cascader.mjs.map +1 -1
  263. package/es/components/cascader/src/cascader.vue.d.ts +15 -7
  264. package/es/components/cascader/src/cascader2.mjs +5 -2
  265. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  266. package/es/components/config-provider/index.d.ts +6 -1
  267. package/es/components/config-provider/src/config-provider-props.d.ts +2 -0
  268. package/es/components/config-provider/src/config-provider-props.mjs +3 -1
  269. package/es/components/config-provider/src/config-provider-props.mjs.map +1 -1
  270. package/es/components/config-provider/src/config-provider.d.ts +6 -1
  271. package/es/components/config-provider/src/hooks/use-global-config.mjs +1 -2
  272. package/es/components/config-provider/src/hooks/use-global-config.mjs.map +1 -1
  273. package/es/components/date-picker/index.d.ts +10 -0
  274. package/es/components/date-picker/src/date-picker.d.ts +5 -0
  275. package/es/components/date-picker/src/props/date-picker.d.ts +2 -0
  276. package/es/components/dialog/src/dialog-content.mjs +26 -89
  277. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  278. package/es/components/dialog/src/dialog-content2.mjs +89 -26
  279. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  280. package/es/components/dialog/src/dialog.mjs +1 -1
  281. package/es/components/dialog/src/dialog2.mjs +1 -1
  282. package/es/components/empty/index.mjs +2 -2
  283. package/es/components/empty/src/empty.mjs +11 -55
  284. package/es/components/empty/src/empty.mjs.map +1 -1
  285. package/es/components/empty/src/empty2.mjs +55 -11
  286. package/es/components/empty/src/empty2.mjs.map +1 -1
  287. package/es/components/index.d.ts +1 -0
  288. package/es/components/index.mjs +7 -5
  289. package/es/components/index.mjs.map +1 -1
  290. package/es/components/input-number/index.d.ts +1 -1
  291. package/es/components/input-number/src/input-number.vue.d.ts +1 -1
  292. package/es/components/message/index.mjs +1 -1
  293. package/es/components/message/src/message.mjs +149 -91
  294. package/es/components/message/src/message.mjs.map +1 -1
  295. package/es/components/message/src/message.vue.d.ts +41 -0
  296. package/es/components/message/src/message2.mjs +91 -149
  297. package/es/components/message/src/message2.mjs.map +1 -1
  298. package/es/components/message/src/method.mjs +2 -2
  299. package/es/components/pagination/src/components/sizes.vue.d.ts +5 -0
  300. package/es/components/segmented/index.d.ts +115 -0
  301. package/es/components/segmented/index.mjs +9 -0
  302. package/es/components/segmented/index.mjs.map +1 -0
  303. package/es/components/segmented/src/segmented.d.ts +26 -0
  304. package/es/components/segmented/src/segmented.mjs +36 -0
  305. package/es/components/segmented/src/segmented.mjs.map +1 -0
  306. package/es/components/segmented/src/segmented.vue.d.ts +115 -0
  307. package/es/components/segmented/src/segmented2.mjs +170 -0
  308. package/es/components/segmented/src/segmented2.mjs.map +1 -0
  309. package/es/components/segmented/src/types.d.ts +6 -0
  310. package/es/components/segmented/src/types.mjs +2 -0
  311. package/es/components/segmented/src/types.mjs.map +1 -0
  312. package/es/components/segmented/style/css.d.ts +2 -0
  313. package/es/components/segmented/style/css.mjs +3 -0
  314. package/es/components/segmented/style/css.mjs.map +1 -0
  315. package/es/components/segmented/style/index.d.ts +2 -0
  316. package/es/components/segmented/style/index.mjs +3 -0
  317. package/es/components/segmented/style/index.mjs.map +1 -0
  318. package/es/components/select/index.d.ts +5 -0
  319. package/es/components/select/src/select.d.ts +2 -0
  320. package/es/components/select/src/select.mjs +3 -1
  321. package/es/components/select/src/select.mjs.map +1 -1
  322. package/es/components/select/src/select.vue.d.ts +5 -0
  323. package/es/components/select/src/useSelect.mjs +7 -6
  324. package/es/components/select/src/useSelect.mjs.map +1 -1
  325. package/es/components/select-v2/index.d.ts +10 -0
  326. package/es/components/select-v2/src/defaults.d.ts +2 -0
  327. package/es/components/select-v2/src/defaults.mjs +3 -1
  328. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  329. package/es/components/select-v2/src/select.vue.d.ts +5 -0
  330. package/es/components/select-v2/src/useSelect.mjs +9 -8
  331. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  332. package/es/components/slider/index.d.ts +1 -1
  333. package/es/components/slider/index.mjs +2 -2
  334. package/es/components/slider/src/slider.mjs +91 -233
  335. package/es/components/slider/src/slider.mjs.map +1 -1
  336. package/es/components/slider/src/slider.vue.d.ts +1 -1
  337. package/es/components/slider/src/slider2.mjs +233 -91
  338. package/es/components/slider/src/slider2.mjs.map +1 -1
  339. package/es/components/table/src/table-body/index.mjs +7 -4
  340. package/es/components/table/src/table-body/index.mjs.map +1 -1
  341. package/es/components/time-picker/index.d.ts +10 -0
  342. package/es/components/time-picker/src/common/picker.mjs +6 -4
  343. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  344. package/es/components/time-picker/src/common/picker.vue.d.ts +8 -0
  345. package/es/components/time-picker/src/common/props.d.ts +2 -30
  346. package/es/components/time-picker/src/common/props.mjs +3 -1
  347. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  348. package/es/components/time-picker/src/time-picker.d.ts +5 -0
  349. package/es/components/time-select/index.d.ts +34 -0
  350. package/es/components/time-select/src/time-select.d.ts +2 -0
  351. package/es/components/time-select/src/time-select.mjs +3 -1
  352. package/es/components/time-select/src/time-select.mjs.map +1 -1
  353. package/es/components/time-select/src/time-select.vue.d.ts +17 -0
  354. package/es/components/time-select/src/time-select2.mjs +3 -1
  355. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  356. package/es/components/upload/index.mjs +1 -1
  357. package/es/components/upload/src/upload-content.mjs +194 -33
  358. package/es/components/upload/src/upload-content.mjs.map +1 -1
  359. package/es/components/upload/src/upload-content2.mjs +33 -194
  360. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  361. package/es/components/upload/src/upload2.mjs +1 -1
  362. package/es/hooks/index.d.ts +1 -0
  363. package/es/hooks/index.mjs +1 -0
  364. package/es/hooks/index.mjs.map +1 -1
  365. package/es/hooks/use-empty-values/index.d.ts +13 -0
  366. package/es/hooks/use-empty-values/index.mjs +50 -0
  367. package/es/hooks/use-empty-values/index.mjs.map +1 -0
  368. package/es/index.mjs +8 -5
  369. package/es/index.mjs.map +1 -1
  370. package/es/version.d.ts +1 -1
  371. package/es/version.mjs +1 -1
  372. package/es/version.mjs.map +1 -1
  373. package/lib/component.js +3 -1
  374. package/lib/component.js.map +1 -1
  375. package/lib/components/alert/index.js +2 -2
  376. package/lib/components/alert/src/alert.js +37 -95
  377. package/lib/components/alert/src/alert.js.map +1 -1
  378. package/lib/components/alert/src/alert2.js +95 -37
  379. package/lib/components/alert/src/alert2.js.map +1 -1
  380. package/lib/components/badge/index.d.ts +41 -0
  381. package/lib/components/badge/src/badge.d.ts +14 -1
  382. package/lib/components/badge/src/badge.js +11 -1
  383. package/lib/components/badge/src/badge.js.map +1 -1
  384. package/lib/components/badge/src/badge.vue.d.ts +42 -0
  385. package/lib/components/badge/src/badge2.js +15 -2
  386. package/lib/components/badge/src/badge2.js.map +1 -1
  387. package/lib/components/cascader/index.d.ts +30 -14
  388. package/lib/components/cascader/src/cascader.d.ts +4 -2
  389. package/lib/components/cascader/src/cascader.js +5 -3
  390. package/lib/components/cascader/src/cascader.js.map +1 -1
  391. package/lib/components/cascader/src/cascader.vue.d.ts +15 -7
  392. package/lib/components/cascader/src/cascader2.js +23 -20
  393. package/lib/components/cascader/src/cascader2.js.map +1 -1
  394. package/lib/components/config-provider/index.d.ts +6 -1
  395. package/lib/components/config-provider/src/config-provider-props.d.ts +2 -0
  396. package/lib/components/config-provider/src/config-provider-props.js +3 -1
  397. package/lib/components/config-provider/src/config-provider-props.js.map +1 -1
  398. package/lib/components/config-provider/src/config-provider.d.ts +6 -1
  399. package/lib/components/config-provider/src/hooks/use-global-config.js +1 -2
  400. package/lib/components/config-provider/src/hooks/use-global-config.js.map +1 -1
  401. package/lib/components/date-picker/index.d.ts +10 -0
  402. package/lib/components/date-picker/src/date-picker.d.ts +5 -0
  403. package/lib/components/date-picker/src/props/date-picker.d.ts +2 -0
  404. package/lib/components/dialog/src/dialog-content.js +26 -88
  405. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  406. package/lib/components/dialog/src/dialog-content2.js +88 -26
  407. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  408. package/lib/components/dialog/src/dialog.js +1 -1
  409. package/lib/components/dialog/src/dialog2.js +1 -1
  410. package/lib/components/empty/index.js +2 -2
  411. package/lib/components/empty/src/empty.js +11 -55
  412. package/lib/components/empty/src/empty.js.map +1 -1
  413. package/lib/components/empty/src/empty2.js +55 -11
  414. package/lib/components/empty/src/empty2.js.map +1 -1
  415. package/lib/components/index.d.ts +1 -0
  416. package/lib/components/index.js +23 -18
  417. package/lib/components/index.js.map +1 -1
  418. package/lib/components/input-number/index.d.ts +1 -1
  419. package/lib/components/input-number/src/input-number.vue.d.ts +1 -1
  420. package/lib/components/message/index.js +1 -1
  421. package/lib/components/message/src/message.js +148 -93
  422. package/lib/components/message/src/message.js.map +1 -1
  423. package/lib/components/message/src/message.vue.d.ts +41 -0
  424. package/lib/components/message/src/message2.js +93 -148
  425. package/lib/components/message/src/message2.js.map +1 -1
  426. package/lib/components/message/src/method.js +2 -2
  427. package/lib/components/pagination/src/components/sizes.vue.d.ts +5 -0
  428. package/lib/components/segmented/index.d.ts +115 -0
  429. package/lib/components/segmented/index.js +16 -0
  430. package/lib/components/segmented/index.js.map +1 -0
  431. package/lib/components/segmented/src/segmented.d.ts +26 -0
  432. package/lib/components/segmented/src/segmented.js +41 -0
  433. package/lib/components/segmented/src/segmented.js.map +1 -0
  434. package/lib/components/segmented/src/segmented.vue.d.ts +115 -0
  435. package/lib/components/segmented/src/segmented2.js +174 -0
  436. package/lib/components/segmented/src/segmented2.js.map +1 -0
  437. package/lib/components/segmented/src/types.d.ts +6 -0
  438. package/lib/components/segmented/src/types.js +3 -0
  439. package/lib/components/segmented/src/types.js.map +1 -0
  440. package/lib/components/segmented/style/css.d.ts +2 -0
  441. package/lib/components/segmented/style/css.js +6 -0
  442. package/lib/components/segmented/style/css.js.map +1 -0
  443. package/lib/components/segmented/style/index.d.ts +2 -0
  444. package/lib/components/segmented/style/index.js +6 -0
  445. package/lib/components/segmented/style/index.js.map +1 -0
  446. package/lib/components/select/index.d.ts +5 -0
  447. package/lib/components/select/src/select.d.ts +2 -0
  448. package/lib/components/select/src/select.js +3 -1
  449. package/lib/components/select/src/select.js.map +1 -1
  450. package/lib/components/select/src/select.vue.d.ts +5 -0
  451. package/lib/components/select/src/useSelect.js +6 -5
  452. package/lib/components/select/src/useSelect.js.map +1 -1
  453. package/lib/components/select-v2/index.d.ts +10 -0
  454. package/lib/components/select-v2/src/defaults.d.ts +2 -0
  455. package/lib/components/select-v2/src/defaults.js +3 -1
  456. package/lib/components/select-v2/src/defaults.js.map +1 -1
  457. package/lib/components/select-v2/src/select.vue.d.ts +5 -0
  458. package/lib/components/select-v2/src/useSelect.js +10 -9
  459. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  460. package/lib/components/slider/index.d.ts +1 -1
  461. package/lib/components/slider/index.js +2 -2
  462. package/lib/components/slider/src/slider.js +92 -233
  463. package/lib/components/slider/src/slider.js.map +1 -1
  464. package/lib/components/slider/src/slider.vue.d.ts +1 -1
  465. package/lib/components/slider/src/slider2.js +233 -92
  466. package/lib/components/slider/src/slider2.js.map +1 -1
  467. package/lib/components/table/src/table-body/index.js +7 -4
  468. package/lib/components/table/src/table-body/index.js.map +1 -1
  469. package/lib/components/time-picker/index.d.ts +10 -0
  470. package/lib/components/time-picker/src/common/picker.js +15 -13
  471. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  472. package/lib/components/time-picker/src/common/picker.vue.d.ts +8 -0
  473. package/lib/components/time-picker/src/common/props.d.ts +2 -30
  474. package/lib/components/time-picker/src/common/props.js +3 -1
  475. package/lib/components/time-picker/src/common/props.js.map +1 -1
  476. package/lib/components/time-picker/src/time-picker.d.ts +5 -0
  477. package/lib/components/time-select/index.d.ts +34 -0
  478. package/lib/components/time-select/src/time-select.d.ts +2 -0
  479. package/lib/components/time-select/src/time-select.js +3 -1
  480. package/lib/components/time-select/src/time-select.js.map +1 -1
  481. package/lib/components/time-select/src/time-select.vue.d.ts +17 -0
  482. package/lib/components/time-select/src/time-select2.js +3 -1
  483. package/lib/components/time-select/src/time-select2.js.map +1 -1
  484. package/lib/components/upload/index.js +1 -1
  485. package/lib/components/upload/src/upload-content.js +192 -31
  486. package/lib/components/upload/src/upload-content.js.map +1 -1
  487. package/lib/components/upload/src/upload-content2.js +31 -192
  488. package/lib/components/upload/src/upload-content2.js.map +1 -1
  489. package/lib/components/upload/src/upload2.js +1 -1
  490. package/lib/hooks/index.d.ts +1 -0
  491. package/lib/hooks/index.js +6 -0
  492. package/lib/hooks/index.js.map +1 -1
  493. package/lib/hooks/use-empty-values/index.d.ts +13 -0
  494. package/lib/hooks/use-empty-values/index.js +58 -0
  495. package/lib/hooks/use-empty-values/index.js.map +1 -0
  496. package/lib/index.js +121 -110
  497. package/lib/index.js.map +1 -1
  498. package/lib/version.d.ts +1 -1
  499. package/lib/version.js +1 -1
  500. package/lib/version.js.map +1 -1
  501. package/package.json +2 -2
  502. package/tags.json +1 -1
  503. package/theme-chalk/el-segmented.css +1 -0
  504. package/theme-chalk/index.css +1 -1
  505. package/theme-chalk/src/common/var.scss +19 -0
  506. package/theme-chalk/src/index.scss +1 -0
  507. package/theme-chalk/src/segmented.scss +160 -0
  508. package/web-types.json +1 -1
@@ -0,0 +1,115 @@
1
+ import type { Option } from './types';
2
+ declare const _default: import("vue").DefineComponent<{
3
+ options: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => Option[]) | (() => Option[]) | ((new (...args: any[]) => Option[]) | (() => Option[]))[], unknown, unknown, () => never[], boolean>;
4
+ modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
5
+ block: BooleanConstructor;
6
+ size: {
7
+ readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
8
+ readonly required: false;
9
+ readonly validator: ((val: unknown) => boolean) | undefined;
10
+ __epPropKey: true;
11
+ };
12
+ disabled: BooleanConstructor;
13
+ validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
14
+ id: StringConstructor;
15
+ name: StringConstructor;
16
+ ariaLabel: StringConstructor;
17
+ }, {
18
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
19
+ options: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => Option[]) | (() => Option[]) | ((new (...args: any[]) => Option[]) | (() => Option[]))[], unknown, unknown, () => never[], boolean>;
20
+ modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
21
+ block: BooleanConstructor;
22
+ size: {
23
+ readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
28
+ disabled: BooleanConstructor;
29
+ validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
30
+ id: StringConstructor;
31
+ name: StringConstructor;
32
+ ariaLabel: StringConstructor;
33
+ }>> & {
34
+ onChange?: ((val: any) => any) | undefined;
35
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
36
+ }>>;
37
+ emit: ((event: "update:modelValue", val: any) => void) & ((event: "change", val: any) => void);
38
+ ns: {
39
+ namespace: import("vue").ComputedRef<string>;
40
+ b: (blockSuffix?: string) => string;
41
+ e: (element?: string | undefined) => string;
42
+ m: (modifier?: string | undefined) => string;
43
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
44
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
45
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
46
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
47
+ is: {
48
+ (name: string, state: boolean | undefined): string;
49
+ (name: string): string;
50
+ };
51
+ cssVar: (object: Record<string, string>) => Record<string, string>;
52
+ cssVarName: (name: string) => string;
53
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
54
+ cssVarBlockName: (name: string) => string;
55
+ };
56
+ segmentedId: import("vue").Ref<string>;
57
+ segmentedSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
58
+ _disabled: import("vue").ComputedRef<boolean>;
59
+ formItem: import("@element-plus/nightly/es/components/form").FormItemContext | undefined;
60
+ inputId: import("vue").Ref<string | undefined>;
61
+ isLabeledByFormItem: import("vue").ComputedRef<boolean>;
62
+ segmentedRef: import("vue").Ref<HTMLElement | null>;
63
+ activeElement: import("vue").ComputedRef<HTMLElement | null | undefined>;
64
+ state: {
65
+ isInit: boolean;
66
+ width: number;
67
+ translateX: number;
68
+ disabled: boolean;
69
+ focusVisible: boolean;
70
+ };
71
+ handleChange: (item: Option) => void;
72
+ getValue: (item: Option) => string | number | boolean | undefined;
73
+ getLabel: (item: Option) => string | number | boolean | undefined;
74
+ getDisabled: (item: Option) => boolean;
75
+ getSelected: (item: Option) => boolean;
76
+ getOption: (value: any) => Option;
77
+ getItemCls: (item: Option) => string[];
78
+ updateSelect: () => void;
79
+ segmentedCls: import("vue").ComputedRef<string[]>;
80
+ selectedStyle: import("vue").ComputedRef<{
81
+ width: string;
82
+ transform: string;
83
+ display: string;
84
+ }>;
85
+ selectedCls: import("vue").ComputedRef<string[]>;
86
+ name: import("vue").ComputedRef<string>;
87
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
88
+ "update:modelValue": (val: any) => boolean;
89
+ change: (val: any) => boolean;
90
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
91
+ options: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => Option[]) | (() => Option[]) | ((new (...args: any[]) => Option[]) | (() => Option[]))[], unknown, unknown, () => never[], boolean>;
92
+ modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
93
+ block: BooleanConstructor;
94
+ size: {
95
+ readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
96
+ readonly required: false;
97
+ readonly validator: ((val: unknown) => boolean) | undefined;
98
+ __epPropKey: true;
99
+ };
100
+ disabled: BooleanConstructor;
101
+ validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
102
+ id: StringConstructor;
103
+ name: StringConstructor;
104
+ ariaLabel: StringConstructor;
105
+ }>> & {
106
+ onChange?: ((val: any) => any) | undefined;
107
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
108
+ }, {
109
+ modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown>;
110
+ disabled: boolean;
111
+ validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
112
+ block: boolean;
113
+ options: Option[];
114
+ }>;
115
+ export default _default;
@@ -0,0 +1,174 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ require('../../../hooks/index.js');
8
+ require('../../form/index.js');
9
+ require('../../../utils/index.js');
10
+ require('../../../constants/index.js');
11
+ var segmented = require('./segmented.js');
12
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
+ var index = require('../../../hooks/use-namespace/index.js');
14
+ var index$1 = require('../../../hooks/use-id/index.js');
15
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
16
+ var useFormItem = require('../../form/src/hooks/use-form-item.js');
17
+ var event = require('../../../constants/event.js');
18
+ var shared = require('@vue/shared');
19
+ var error = require('../../../utils/error.js');
20
+
21
+ const _hoisted_1 = ["id", "aria-label", "aria-labelledby"];
22
+ const _hoisted_2 = ["name", "disabled", "checked", "onChange"];
23
+ const __default__ = vue.defineComponent({
24
+ name: "ElSegmented"
25
+ });
26
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
27
+ ...__default__,
28
+ props: segmented.segmentedProps,
29
+ emits: segmented.segmentedEmits,
30
+ setup(__props, { emit }) {
31
+ const props = __props;
32
+ const ns = index.useNamespace("segmented");
33
+ const segmentedId = index$1.useId();
34
+ const segmentedSize = useFormCommonProps.useFormSize();
35
+ const _disabled = useFormCommonProps.useFormDisabled();
36
+ const { formItem } = useFormItem.useFormItem();
37
+ const { inputId, isLabeledByFormItem } = useFormItem.useFormItemInputId(props, {
38
+ formItemContext: formItem
39
+ });
40
+ const segmentedRef = vue.ref(null);
41
+ const activeElement = core.useActiveElement();
42
+ const state = vue.reactive({
43
+ isInit: false,
44
+ width: 0,
45
+ translateX: 0,
46
+ disabled: false,
47
+ focusVisible: false
48
+ });
49
+ const handleChange = (item) => {
50
+ const value = getValue(item);
51
+ emit(event.UPDATE_MODEL_EVENT, value);
52
+ emit(event.CHANGE_EVENT, value);
53
+ };
54
+ const getValue = (item) => {
55
+ return shared.isObject(item) ? item.value : item;
56
+ };
57
+ const getLabel = (item) => {
58
+ return shared.isObject(item) ? item.label : item;
59
+ };
60
+ const getDisabled = (item) => {
61
+ return !!(_disabled.value || (shared.isObject(item) ? item.disabled : false));
62
+ };
63
+ const getSelected = (item) => {
64
+ return props.modelValue === getValue(item);
65
+ };
66
+ const getOption = (value) => {
67
+ return props.options.find((item) => getValue(item) === value);
68
+ };
69
+ const getItemCls = (item) => {
70
+ return [
71
+ ns.e("item"),
72
+ ns.is("selected", getSelected(item)),
73
+ ns.is("disabled", getDisabled(item))
74
+ ];
75
+ };
76
+ const updateSelect = () => {
77
+ if (!segmentedRef.value)
78
+ return;
79
+ const selectedItem = segmentedRef.value.querySelector(".is-selected");
80
+ const selectedItemInput = segmentedRef.value.querySelector(".is-selected input");
81
+ if (!selectedItem || !selectedItemInput) {
82
+ state.width = 0;
83
+ state.translateX = 0;
84
+ state.disabled = false;
85
+ state.focusVisible = false;
86
+ return;
87
+ }
88
+ const rect = selectedItem.getBoundingClientRect();
89
+ state.isInit = true;
90
+ state.width = rect.width;
91
+ state.translateX = selectedItem.offsetLeft;
92
+ state.disabled = getDisabled(getOption(props.modelValue));
93
+ try {
94
+ state.focusVisible = selectedItemInput.matches(":focus-visible");
95
+ } catch (e) {
96
+ }
97
+ };
98
+ const segmentedCls = vue.computed(() => [
99
+ ns.b(),
100
+ ns.m(segmentedSize.value),
101
+ ns.is("block", props.block)
102
+ ]);
103
+ const selectedStyle = vue.computed(() => ({
104
+ width: `${state.width}px`,
105
+ transform: `translateX(${state.translateX}px)`,
106
+ display: state.isInit ? "block" : "none"
107
+ }));
108
+ const selectedCls = vue.computed(() => [
109
+ ns.e("item-selected"),
110
+ ns.is("disabled", state.disabled),
111
+ ns.is("focus-visible", state.focusVisible)
112
+ ]);
113
+ const name = vue.computed(() => {
114
+ return props.name || segmentedId.value;
115
+ });
116
+ core.useResizeObserver(segmentedRef, updateSelect);
117
+ vue.watch(activeElement, updateSelect);
118
+ vue.watch(() => props.modelValue, () => {
119
+ var _a;
120
+ updateSelect();
121
+ if (props.validateEvent) {
122
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => error.debugWarn(err));
123
+ }
124
+ }, {
125
+ flush: "post"
126
+ });
127
+ return (_ctx, _cache) => {
128
+ return vue.openBlock(), vue.createElementBlock("div", {
129
+ id: vue.unref(inputId),
130
+ ref_key: "segmentedRef",
131
+ ref: segmentedRef,
132
+ class: vue.normalizeClass(vue.unref(segmentedCls)),
133
+ role: "radiogroup",
134
+ "aria-label": !vue.unref(isLabeledByFormItem) ? _ctx.ariaLabel || "segmented" : void 0,
135
+ "aria-labelledby": vue.unref(isLabeledByFormItem) ? vue.unref(formItem).labelId : void 0
136
+ }, [
137
+ vue.createElementVNode("div", {
138
+ class: vue.normalizeClass(vue.unref(ns).e("group"))
139
+ }, [
140
+ vue.createElementVNode("div", {
141
+ style: vue.normalizeStyle(vue.unref(selectedStyle)),
142
+ class: vue.normalizeClass(vue.unref(selectedCls))
143
+ }, null, 6),
144
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (item, index) => {
145
+ return vue.openBlock(), vue.createElementBlock("label", {
146
+ key: index,
147
+ class: vue.normalizeClass(getItemCls(item))
148
+ }, [
149
+ vue.createElementVNode("input", {
150
+ class: vue.normalizeClass(vue.unref(ns).e("item-input")),
151
+ type: "radio",
152
+ name: vue.unref(name),
153
+ disabled: getDisabled(item),
154
+ checked: getSelected(item),
155
+ onChange: ($event) => handleChange(item)
156
+ }, null, 42, _hoisted_2),
157
+ vue.createElementVNode("div", {
158
+ class: vue.normalizeClass(vue.unref(ns).e("item-label"))
159
+ }, [
160
+ vue.renderSlot(_ctx.$slots, "default", { item }, () => [
161
+ vue.createTextVNode(vue.toDisplayString(getLabel(item)), 1)
162
+ ])
163
+ ], 2)
164
+ ], 2);
165
+ }), 128))
166
+ ], 2)
167
+ ], 10, _hoisted_1);
168
+ };
169
+ }
170
+ });
171
+ var Segmented = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "segmented.vue"]]);
172
+
173
+ exports["default"] = Segmented;
174
+ //# sourceMappingURL=segmented2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented2.js","sources":["../../../../../../packages/components/segmented/src/segmented.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n ref=\"segmentedRef\"\n :class=\"segmentedCls\"\n role=\"radiogroup\"\n :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'segmented' : undefined\"\n :aria-labelledby=\"isLabeledByFormItem ? formItem!.labelId : undefined\"\n >\n <div :class=\"ns.e('group')\">\n <div :style=\"selectedStyle\" :class=\"selectedCls\" />\n <label\n v-for=\"(item, index) in options\"\n :key=\"index\"\n :class=\"getItemCls(item)\"\n >\n <input\n :class=\"ns.e('item-input')\"\n type=\"radio\"\n :name=\"name\"\n :disabled=\"getDisabled(item)\"\n :checked=\"getSelected(item)\"\n @change=\"handleChange(item)\"\n />\n <div :class=\"ns.e('item-label')\">\n <slot :item=\"item\">{{ getLabel(item) }}</slot>\n </div>\n </label>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, reactive, ref, watch } from 'vue'\nimport { useActiveElement, useResizeObserver } from '@vueuse/core'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { debugWarn, isObject } from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { segmentedEmits, segmentedProps } from './segmented'\nimport type { Option } from './types'\n\ndefineOptions({\n name: 'ElSegmented',\n})\n\nconst props = defineProps(segmentedProps)\nconst emit = defineEmits(segmentedEmits)\n\nconst ns = useNamespace('segmented')\nconst segmentedId = useId()\nconst segmentedSize = useFormSize()\nconst _disabled = useFormDisabled()\nconst { formItem } = useFormItem()\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst segmentedRef = ref<HTMLElement | null>(null)\nconst activeElement = useActiveElement()\n\nconst state = reactive({\n isInit: false,\n width: 0,\n translateX: 0,\n disabled: false,\n focusVisible: false,\n})\n\nconst handleChange = (item: Option) => {\n const value = getValue(item)\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n}\n\nconst getValue = (item: Option) => {\n return isObject(item) ? item.value : item\n}\n\nconst getLabel = (item: Option) => {\n return isObject(item) ? item.label : item\n}\n\nconst getDisabled = (item: Option) => {\n return !!(_disabled.value || (isObject(item) ? item.disabled : false))\n}\n\nconst getSelected = (item: Option) => {\n return props.modelValue === getValue(item)\n}\n\nconst getOption = (value: any) => {\n return props.options.find((item) => getValue(item) === value)\n}\n\nconst getItemCls = (item: Option) => {\n return [\n ns.e('item'),\n ns.is('selected', getSelected(item)),\n ns.is('disabled', getDisabled(item)),\n ]\n}\n\nconst updateSelect = () => {\n if (!segmentedRef.value) return\n const selectedItem = segmentedRef.value.querySelector(\n '.is-selected'\n ) as HTMLElement\n const selectedItemInput = segmentedRef.value.querySelector(\n '.is-selected input'\n ) as HTMLElement\n if (!selectedItem || !selectedItemInput) {\n state.width = 0\n state.translateX = 0\n state.disabled = false\n state.focusVisible = false\n return\n }\n const rect = selectedItem.getBoundingClientRect()\n state.isInit = true\n state.width = rect.width\n state.translateX = selectedItem.offsetLeft\n state.disabled = getDisabled(getOption(props.modelValue))\n try {\n // This will failed in test\n state.focusVisible = selectedItemInput.matches(':focus-visible')\n } catch {}\n}\n\nconst segmentedCls = computed(() => [\n ns.b(),\n ns.m(segmentedSize.value),\n ns.is('block', props.block),\n])\n\nconst selectedStyle = computed(() => ({\n width: `${state.width}px`,\n transform: `translateX(${state.translateX}px)`,\n display: state.isInit ? 'block' : 'none',\n}))\n\nconst selectedCls = computed(() => [\n ns.e('item-selected'),\n ns.is('disabled', state.disabled),\n ns.is('focus-visible', state.focusVisible),\n])\n\nconst name = computed(() => {\n return props.name || segmentedId.value\n})\n\nuseResizeObserver(segmentedRef, updateSelect)\n\nwatch(activeElement, updateSelect)\n\nwatch(\n () => props.modelValue,\n () => {\n updateSelect()\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n }\n)\n</script>\n"],"names":["useNamespace","useId","useFormSize","useFormDisabled","useFormItem","useFormItemInputId","ref","useActiveElement","reactive","UPDATE_MODEL_EVENT","CHANGE_EVENT","isObject","computed","useResizeObserver","watch","debugWarn"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare type Option = {
2
+ label: string;
3
+ value: string | number | boolean;
4
+ disabled?: boolean;
5
+ [key: string]: any;
6
+ } | string | number | boolean | undefined;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+ import '@element-plus/nightly/es/components/base/style/css';
2
+ import '@element-plus/nightly/es/nightly/theme-chalk/el-segmented.css';
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ require('../../base/style/css.js');
4
+ require('@element-plus/nightly/theme-chalk/el-segmented.css');
5
+
6
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,2 @@
1
+ import '@element-plus/nightly/es/components/base/style';
2
+ import '@element-plus/nightly/es/nightly/theme-chalk/src/segmented.scss';
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ require('../../base/style/index.js');
4
+ require('@element-plus/nightly/theme-chalk/src/segmented.scss');
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,4 +1,6 @@
1
1
  export declare const ElSelect: import("@element-plus/nightly/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
+ emptyValues: ArrayConstructor;
3
+ valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
2
4
  name: StringConstructor;
3
5
  id: StringConstructor;
4
6
  modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<(ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
@@ -12651,6 +12653,8 @@ export declare const ElSelect: import("@element-plus/nightly/es/utils").SFCWithI
12651
12653
  tagMenuRef: import("vue").Ref<HTMLElement>;
12652
12654
  collapseItemRef: import("vue").Ref<HTMLElement>;
12653
12655
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "focus" | "clear" | "visible-change" | "remove-tag" | "blur")[], "update:modelValue" | "change" | "focus" | "blur" | "clear" | "visible-change" | "remove-tag", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12656
+ emptyValues: ArrayConstructor;
12657
+ valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
12654
12658
  name: StringConstructor;
12655
12659
  id: StringConstructor;
12656
12660
  modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<(ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
@@ -12748,6 +12752,7 @@ export declare const ElSelect: import("@element-plus/nightly/es/utils").SFCWithI
12748
12752
  maxCollapseTags: number;
12749
12753
  collapseTagsTooltip: boolean;
12750
12754
  tagType: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "primary" | "danger", unknown>;
12755
+ valueOnClear: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>;
12751
12756
  automaticDropdown: boolean;
12752
12757
  allowCreate: boolean;
12753
12758
  remote: boolean;
@@ -1,5 +1,7 @@
1
1
  import type { Options, Placement } from '@element-plus/nightly/es/components/popper';
2
2
  export declare const SelectProps: {
3
+ emptyValues: ArrayConstructor;
4
+ valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
3
5
  name: StringConstructor;
4
6
  id: StringConstructor;
5
7
  modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<(ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
@@ -13,6 +13,7 @@ var index = require('../../../hooks/use-size/index.js');
13
13
  var content = require('../../tooltip/src/content.js');
14
14
  var icon = require('../../../utils/vue/icon.js');
15
15
  var tag = require('../../tag/src/tag.js');
16
+ var index$1 = require('../../../hooks/use-empty-values/index.js');
16
17
 
17
18
  const SelectProps = runtime.buildProps({
18
19
  name: String,
@@ -105,7 +106,8 @@ const SelectProps = runtime.buildProps({
105
106
  ariaLabel: {
106
107
  type: String,
107
108
  default: void 0
108
- }
109
+ },
110
+ ...index$1.useEmptyValuesProps
109
111
  });
110
112
 
111
113
  exports.SelectProps = SelectProps;
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '@element-plus/components/tag'\nimport type { Options, Placement } from '@element-plus/components/popper'\n\nexport const SelectProps = buildProps({\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description binding value\n */\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n /**\n * @description the autocomplete attribute of select input\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<'light' | 'dark' | string>(String),\n default: 'light',\n },\n /**\n * @description whether Select is disabled\n */\n disabled: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({} as Partial<Options>),\n },\n /**\n * @description whether options are loaded from server\n */\n remote: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n */\n noDataText: String,\n /**\n * @description custom remote search method\n */\n remoteMethod: Function,\n /**\n * @description custom filter method\n */\n filterMethod: Function,\n /**\n * @description whether multiple-select is activated\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description placeholder, default is 'Select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description select first matching option on enter key. Use with `filterable` or `remote`\n */\n defaultFirstOption: Boolean,\n /**\n * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description custom suffix icon component\n */\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n /**\n * @description tag type\n */\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description native input aria-label\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n})\n"],"names":["buildProps","useSizeProp","definePropType","useTooltipContentProps","iconPropType","CircleClose","ArrowDown","tagProps","placements"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '@element-plus/components/tag'\nimport type { Options, Placement } from '@element-plus/components/popper'\n\nexport const SelectProps = buildProps({\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description binding value\n */\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n /**\n * @description the autocomplete attribute of select input\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<'light' | 'dark' | string>(String),\n default: 'light',\n },\n /**\n * @description whether Select is disabled\n */\n disabled: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({} as Partial<Options>),\n },\n /**\n * @description whether options are loaded from server\n */\n remote: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n */\n noDataText: String,\n /**\n * @description custom remote search method\n */\n remoteMethod: Function,\n /**\n * @description custom filter method\n */\n filterMethod: Function,\n /**\n * @description whether multiple-select is activated\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description placeholder, default is 'Select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description select first matching option on enter key. Use with `filterable` or `remote`\n */\n defaultFirstOption: Boolean,\n /**\n * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description custom suffix icon component\n */\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n /**\n * @description tag type\n */\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description native input aria-label\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n ...useEmptyValuesProps,\n})\n"],"names":["buildProps","useSizeProp","definePropType","useTooltipContentProps","iconPropType","CircleClose","ArrowDown","tagProps","placements","useEmptyValuesProps"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
+ emptyValues: ArrayConstructor;
3
+ valueOnClear: import("../../../utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
2
4
  name: StringConstructor;
3
5
  id: StringConstructor;
4
6
  modelValue: import("../../../utils").EpPropFinalized<(ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
@@ -12651,6 +12653,8 @@ declare const _default: import("vue").DefineComponent<{
12651
12653
  tagMenuRef: import("vue").Ref<HTMLElement>;
12652
12654
  collapseItemRef: import("vue").Ref<HTMLElement>;
12653
12655
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "focus" | "clear" | "visible-change" | "remove-tag" | "blur")[], "update:modelValue" | "change" | "focus" | "blur" | "clear" | "visible-change" | "remove-tag", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12656
+ emptyValues: ArrayConstructor;
12657
+ valueOnClear: import("../../../utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
12654
12658
  name: StringConstructor;
12655
12659
  id: StringConstructor;
12656
12660
  modelValue: import("../../../utils").EpPropFinalized<(ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, undefined, boolean>;
@@ -12748,6 +12752,7 @@ declare const _default: import("vue").DefineComponent<{
12748
12752
  maxCollapseTags: number;
12749
12753
  collapseTagsTooltip: boolean;
12750
12754
  tagType: import("../../../utils").EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "primary" | "danger", unknown>;
12755
+ valueOnClear: import("../../../utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>;
12751
12756
  automaticDropdown: boolean;
12752
12757
  allowCreate: boolean;
12753
12758
  remote: boolean;
@@ -16,6 +16,7 @@ var index$1 = require('../../../hooks/use-id/index.js');
16
16
  var index$2 = require('../../../hooks/use-namespace/index.js');
17
17
  var index$3 = require('../../../hooks/use-focus-controller/index.js');
18
18
  var useFormItem = require('../../form/src/hooks/use-form-item.js');
19
+ var index$4 = require('../../../hooks/use-empty-values/index.js');
19
20
  var icon = require('../../../utils/vue/icon.js');
20
21
  var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
21
22
  var error = require('../../../utils/error.js');
@@ -81,14 +82,13 @@ const useSelect = (props, emit) => {
81
82
  const { inputId } = useFormItem.useFormItemInputId(props, {
82
83
  formItemContext: formItem
83
84
  });
85
+ const { valueOnClear, isEmptyValue } = index$4.useEmptyValues(props);
84
86
  const selectDisabled = vue.computed(() => props.disabled || (form == null ? void 0 : form.disabled));
85
- const hasEmptyStringOption = vue.computed(() => optionsArray.value.some((option) => option.value === ""));
86
87
  const hasModelValue = vue.computed(() => {
87
- return props.multiple ? shared.isArray(props.modelValue) && props.modelValue.length > 0 : !lodashUnified.isNil(props.modelValue) && (props.modelValue !== "" || hasEmptyStringOption.value);
88
+ return props.multiple ? shared.isArray(props.modelValue) && props.modelValue.length > 0 : !isEmptyValue(props.modelValue);
88
89
  });
89
90
  const showClose = vue.computed(() => {
90
- const criteria = props.clearable && !selectDisabled.value && states.inputHovering && hasModelValue.value;
91
- return criteria;
91
+ return props.clearable && !selectDisabled.value && states.inputHovering && hasModelValue.value;
92
92
  });
93
93
  const iconComponent = vue.computed(() => props.remote && props.filterable && !props.remoteShowSuffix ? "" : props.suffixIcon);
94
94
  const iconReverse = vue.computed(() => nsSelect.is("reverse", iconComponent.value && expanded.value));
@@ -359,7 +359,7 @@ const useSelect = (props, emit) => {
359
359
  };
360
360
  const deleteSelected = (event$1) => {
361
361
  event$1.stopPropagation();
362
- const value = props.multiple ? [] : void 0;
362
+ const value = props.multiple ? [] : valueOnClear.value;
363
363
  if (props.multiple) {
364
364
  for (const item of states.selected) {
365
365
  if (item.isDisabled)
@@ -454,6 +454,7 @@ const useSelect = (props, emit) => {
454
454
  return (_b = (_a = tooltipRef.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.contentRef;
455
455
  });
456
456
  const handleMenuEnter = () => {
457
+ states.isBeforeHide = false;
457
458
  vue.nextTick(() => scrollToOption(states.selected));
458
459
  };
459
460
  const focus = () => {