element-plus 1.3.0-beta.7 → 1.3.0-beta.8

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 (558) hide show
  1. package/dist/index.full.js +612 -462
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +612 -462
  7. package/dist/locale/af.js +6 -8
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.js.map +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +6 -8
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.js.map +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +6 -8
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.js.map +1 -1
  20. package/dist/locale/bg.min.mjs +1 -1
  21. package/dist/locale/bg.mjs +1 -1
  22. package/dist/locale/bn.js +6 -8
  23. package/dist/locale/bn.min.js +1 -1
  24. package/dist/locale/bn.min.js.map +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +6 -8
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.js.map +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +6 -8
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.js.map +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +6 -8
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.js.map +1 -1
  40. package/dist/locale/da.min.mjs +1 -1
  41. package/dist/locale/da.mjs +1 -1
  42. package/dist/locale/de.js +6 -8
  43. package/dist/locale/de.min.js +1 -1
  44. package/dist/locale/de.min.js.map +1 -1
  45. package/dist/locale/de.min.mjs +1 -1
  46. package/dist/locale/de.mjs +1 -1
  47. package/dist/locale/el.js +6 -8
  48. package/dist/locale/el.min.js +1 -1
  49. package/dist/locale/el.min.js.map +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +6 -8
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.js.map +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +6 -8
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.js.map +1 -1
  60. package/dist/locale/eo.min.mjs +1 -1
  61. package/dist/locale/eo.mjs +1 -1
  62. package/dist/locale/es.js +6 -8
  63. package/dist/locale/es.min.js +1 -1
  64. package/dist/locale/es.min.js.map +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +6 -8
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.js.map +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +6 -8
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.js.map +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 +6 -8
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.js.map +1 -1
  80. package/dist/locale/fa.min.mjs +1 -1
  81. package/dist/locale/fa.mjs +1 -1
  82. package/dist/locale/fi.js +6 -8
  83. package/dist/locale/fi.min.js +1 -1
  84. package/dist/locale/fi.min.js.map +1 -1
  85. package/dist/locale/fi.min.mjs +1 -1
  86. package/dist/locale/fi.mjs +1 -1
  87. package/dist/locale/fr.js +6 -8
  88. package/dist/locale/fr.min.js +1 -1
  89. package/dist/locale/fr.min.js.map +1 -1
  90. package/dist/locale/fr.min.mjs +1 -1
  91. package/dist/locale/fr.mjs +1 -1
  92. package/dist/locale/he.js +6 -8
  93. package/dist/locale/he.min.js +1 -1
  94. package/dist/locale/he.min.js.map +1 -1
  95. package/dist/locale/he.min.mjs +1 -1
  96. package/dist/locale/he.mjs +1 -1
  97. package/dist/locale/hr.js +6 -8
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.js.map +1 -1
  100. package/dist/locale/hr.min.mjs +1 -1
  101. package/dist/locale/hr.mjs +1 -1
  102. package/dist/locale/hu.js +6 -8
  103. package/dist/locale/hu.min.js +1 -1
  104. package/dist/locale/hu.min.js.map +1 -1
  105. package/dist/locale/hu.min.mjs +1 -1
  106. package/dist/locale/hu.mjs +1 -1
  107. package/dist/locale/hy-am.js +6 -8
  108. package/dist/locale/hy-am.min.js +1 -1
  109. package/dist/locale/hy-am.min.js.map +1 -1
  110. package/dist/locale/hy-am.min.mjs +1 -1
  111. package/dist/locale/hy-am.mjs +1 -1
  112. package/dist/locale/id.js +6 -8
  113. package/dist/locale/id.min.js +1 -1
  114. package/dist/locale/id.min.js.map +1 -1
  115. package/dist/locale/id.min.mjs +1 -1
  116. package/dist/locale/id.mjs +1 -1
  117. package/dist/locale/it.js +6 -8
  118. package/dist/locale/it.min.js +1 -1
  119. package/dist/locale/it.min.js.map +1 -1
  120. package/dist/locale/it.min.mjs +1 -1
  121. package/dist/locale/it.mjs +1 -1
  122. package/dist/locale/ja.js +6 -8
  123. package/dist/locale/ja.min.js +1 -1
  124. package/dist/locale/ja.min.js.map +1 -1
  125. package/dist/locale/ja.min.mjs +1 -1
  126. package/dist/locale/ja.mjs +1 -1
  127. package/dist/locale/kk.js +6 -8
  128. package/dist/locale/kk.min.js +1 -1
  129. package/dist/locale/kk.min.js.map +1 -1
  130. package/dist/locale/kk.min.mjs +1 -1
  131. package/dist/locale/kk.mjs +1 -1
  132. package/dist/locale/km.js +6 -8
  133. package/dist/locale/km.min.js +1 -1
  134. package/dist/locale/km.min.js.map +1 -1
  135. package/dist/locale/km.min.mjs +1 -1
  136. package/dist/locale/km.mjs +1 -1
  137. package/dist/locale/ko.js +6 -8
  138. package/dist/locale/ko.min.js +1 -1
  139. package/dist/locale/ko.min.js.map +1 -1
  140. package/dist/locale/ko.min.mjs +1 -1
  141. package/dist/locale/ko.mjs +1 -1
  142. package/dist/locale/ku.js +6 -8
  143. package/dist/locale/ku.min.js +1 -1
  144. package/dist/locale/ku.min.js.map +1 -1
  145. package/dist/locale/ku.min.mjs +1 -1
  146. package/dist/locale/ku.mjs +1 -1
  147. package/dist/locale/ky.js +6 -8
  148. package/dist/locale/ky.min.js +1 -1
  149. package/dist/locale/ky.min.js.map +1 -1
  150. package/dist/locale/ky.min.mjs +1 -1
  151. package/dist/locale/ky.mjs +1 -1
  152. package/dist/locale/lt.js +6 -8
  153. package/dist/locale/lt.min.js +1 -1
  154. package/dist/locale/lt.min.js.map +1 -1
  155. package/dist/locale/lt.min.mjs +1 -1
  156. package/dist/locale/lt.mjs +1 -1
  157. package/dist/locale/lv.js +6 -8
  158. package/dist/locale/lv.min.js +1 -1
  159. package/dist/locale/lv.min.js.map +1 -1
  160. package/dist/locale/lv.min.mjs +1 -1
  161. package/dist/locale/lv.mjs +1 -1
  162. package/dist/locale/mn.js +6 -8
  163. package/dist/locale/mn.min.js +1 -1
  164. package/dist/locale/mn.min.js.map +1 -1
  165. package/dist/locale/mn.min.mjs +1 -1
  166. package/dist/locale/mn.mjs +1 -1
  167. package/dist/locale/nb-no.js +6 -8
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.js.map +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +6 -8
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.js.map +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/pa.js +6 -8
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.js.map +1 -1
  180. package/dist/locale/pa.min.mjs +1 -1
  181. package/dist/locale/pa.mjs +1 -1
  182. package/dist/locale/pl.js +6 -8
  183. package/dist/locale/pl.min.js +1 -1
  184. package/dist/locale/pl.min.js.map +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +6 -8
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.js.map +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +6 -8
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.js.map +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 +6 -8
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.js.map +1 -1
  200. package/dist/locale/ro.min.mjs +1 -1
  201. package/dist/locale/ro.mjs +1 -1
  202. package/dist/locale/ru.js +6 -8
  203. package/dist/locale/ru.min.js +1 -1
  204. package/dist/locale/ru.min.js.map +1 -1
  205. package/dist/locale/ru.min.mjs +1 -1
  206. package/dist/locale/ru.mjs +1 -1
  207. package/dist/locale/sk.js +6 -8
  208. package/dist/locale/sk.min.js +1 -1
  209. package/dist/locale/sk.min.js.map +1 -1
  210. package/dist/locale/sk.min.mjs +1 -1
  211. package/dist/locale/sk.mjs +1 -1
  212. package/dist/locale/sl.js +6 -8
  213. package/dist/locale/sl.min.js +1 -1
  214. package/dist/locale/sl.min.js.map +1 -1
  215. package/dist/locale/sl.min.mjs +1 -1
  216. package/dist/locale/sl.mjs +1 -1
  217. package/dist/locale/sr.js +6 -8
  218. package/dist/locale/sr.min.js +1 -1
  219. package/dist/locale/sr.min.js.map +1 -1
  220. package/dist/locale/sr.min.mjs +1 -1
  221. package/dist/locale/sr.mjs +1 -1
  222. package/dist/locale/sv.js +6 -8
  223. package/dist/locale/sv.min.js +1 -1
  224. package/dist/locale/sv.min.js.map +1 -1
  225. package/dist/locale/sv.min.mjs +1 -1
  226. package/dist/locale/sv.mjs +1 -1
  227. package/dist/locale/ta.js +6 -8
  228. package/dist/locale/ta.min.js +1 -1
  229. package/dist/locale/ta.min.js.map +1 -1
  230. package/dist/locale/ta.min.mjs +1 -1
  231. package/dist/locale/ta.mjs +1 -1
  232. package/dist/locale/th.js +6 -8
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.js.map +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 +6 -8
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.js.map +1 -1
  240. package/dist/locale/tk.min.mjs +1 -1
  241. package/dist/locale/tk.mjs +1 -1
  242. package/dist/locale/tr.js +6 -8
  243. package/dist/locale/tr.min.js +1 -1
  244. package/dist/locale/tr.min.js.map +1 -1
  245. package/dist/locale/tr.min.mjs +1 -1
  246. package/dist/locale/tr.mjs +1 -1
  247. package/dist/locale/ug-cn.js +6 -8
  248. package/dist/locale/ug-cn.min.js +1 -1
  249. package/dist/locale/ug-cn.min.js.map +1 -1
  250. package/dist/locale/ug-cn.min.mjs +1 -1
  251. package/dist/locale/ug-cn.mjs +1 -1
  252. package/dist/locale/uk.js +6 -8
  253. package/dist/locale/uk.min.js +1 -1
  254. package/dist/locale/uk.min.js.map +1 -1
  255. package/dist/locale/uk.min.mjs +1 -1
  256. package/dist/locale/uk.mjs +1 -1
  257. package/dist/locale/uz-uz.js +6 -8
  258. package/dist/locale/uz-uz.min.js +1 -1
  259. package/dist/locale/uz-uz.min.js.map +1 -1
  260. package/dist/locale/uz-uz.min.mjs +1 -1
  261. package/dist/locale/uz-uz.mjs +1 -1
  262. package/dist/locale/vi.js +6 -8
  263. package/dist/locale/vi.min.js +1 -1
  264. package/dist/locale/vi.min.js.map +1 -1
  265. package/dist/locale/vi.min.mjs +1 -1
  266. package/dist/locale/vi.mjs +1 -1
  267. package/dist/locale/zh-cn.js +6 -8
  268. package/dist/locale/zh-cn.min.js +1 -1
  269. package/dist/locale/zh-cn.min.js.map +1 -1
  270. package/dist/locale/zh-cn.min.mjs +1 -1
  271. package/dist/locale/zh-cn.mjs +1 -1
  272. package/dist/locale/zh-tw.js +6 -8
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.js.map +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/affix/src/affix2.mjs +2 -1
  278. package/es/components/affix/src/affix2.mjs.map +1 -1
  279. package/es/components/autocomplete/index.d.ts +22 -0
  280. package/es/components/autocomplete/src/index.mjs +17 -16
  281. package/es/components/autocomplete/src/index.mjs.map +1 -1
  282. package/es/components/autocomplete/src/index.vue.d.ts +11 -0
  283. package/es/components/backtop/index.d.ts +11 -0
  284. package/es/components/backtop/src/backtop.vue.d.ts +11 -0
  285. package/es/components/backtop/src/backtop2.mjs +18 -9
  286. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  287. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
  288. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  289. package/es/components/button/src/button2.mjs +11 -7
  290. package/es/components/button/src/button2.mjs.map +1 -1
  291. package/es/components/carousel/src/item.mjs +4 -2
  292. package/es/components/carousel/src/item.mjs.map +1 -1
  293. package/es/components/cascader/src/index.mjs +38 -21
  294. package/es/components/cascader/src/index.mjs.map +1 -1
  295. package/es/components/cascader-panel/src/index.mjs +16 -13
  296. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  297. package/es/components/cascader-panel/src/menu.mjs +25 -22
  298. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  299. package/es/components/cascader-panel/src/node2.mjs +6 -2
  300. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  301. package/es/components/checkbox/index.d.ts +33 -0
  302. package/es/components/checkbox/src/checkbox-button.mjs +21 -15
  303. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  304. package/es/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
  305. package/es/components/checkbox/src/checkbox-group.mjs +5 -2
  306. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  307. package/es/components/checkbox/src/checkbox.mjs +36 -28
  308. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  309. package/es/components/checkbox/src/checkbox.vue.d.ts +11 -0
  310. package/es/components/collapse/src/collapse-item.mjs +3 -3
  311. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  312. package/es/components/color-picker/src/index.mjs +8 -5
  313. package/es/components/color-picker/src/index.mjs.map +1 -1
  314. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
  315. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  316. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
  317. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  318. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  319. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  320. package/es/components/descriptions/src/index.mjs +7 -2
  321. package/es/components/descriptions/src/index.mjs.map +1 -1
  322. package/es/components/dialog/src/dialog.mjs +1 -3
  323. package/es/components/dialog/src/dialog.mjs.map +1 -1
  324. package/es/components/dropdown/src/dropdown-item.mjs +12 -6
  325. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  326. package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
  327. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  328. package/es/components/dropdown/src/dropdown2.mjs +9 -5
  329. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  330. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  331. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  332. package/es/components/form/src/form-item.mjs +6 -4
  333. package/es/components/form/src/form-item.mjs.map +1 -1
  334. package/es/components/image/src/image2.mjs +3 -2
  335. package/es/components/image/src/image2.mjs.map +1 -1
  336. package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
  337. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  338. package/es/components/input/src/input2.mjs +17 -8
  339. package/es/components/input/src/input2.mjs.map +1 -1
  340. package/es/components/input-number/src/input-number2.mjs +12 -6
  341. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  342. package/es/components/message/src/message2.mjs +1 -1
  343. package/es/components/message-box/src/index.mjs +4 -2
  344. package/es/components/message-box/src/index.mjs.map +1 -1
  345. package/es/components/notification/src/notification2.mjs +1 -1
  346. package/es/components/pagination/src/components/jumper.mjs +5 -2
  347. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  348. package/es/components/pagination/src/components/sizes.mjs +2 -1
  349. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  350. package/es/components/popconfirm/src/popconfirm2.mjs +6 -3
  351. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  352. package/es/components/popover/src/index.mjs +4 -2
  353. package/es/components/popover/src/index.mjs.map +1 -1
  354. package/es/components/popper/src/content.mjs +5 -3
  355. package/es/components/popper/src/content.mjs.map +1 -1
  356. package/es/components/popper/src/trigger.mjs +1 -1
  357. package/es/components/popper/src/trigger.mjs.map +1 -1
  358. package/es/components/progress/src/progress2.mjs +2 -1
  359. package/es/components/progress/src/progress2.mjs.map +1 -1
  360. package/es/components/radio/src/radio-button2.mjs +4 -4
  361. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  362. package/es/components/radio/src/radio-group2.mjs +1 -1
  363. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  364. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
  365. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  366. package/es/components/scrollbar/src/bar2.mjs +2 -1
  367. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  368. package/es/components/scrollbar/src/scrollbar2.mjs +2 -2
  369. package/es/components/select/src/option-group.mjs +2 -1
  370. package/es/components/select/src/option-group.mjs.map +1 -1
  371. package/es/components/select/src/select-dropdown.mjs +2 -1
  372. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  373. package/es/components/select/src/select.mjs +2 -1
  374. package/es/components/select/src/select.mjs.map +1 -1
  375. package/es/components/select-v2/src/select-dropdown.mjs +2 -1
  376. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  377. package/es/components/select-v2/src/select.mjs +192 -186
  378. package/es/components/select-v2/src/select.mjs.map +1 -1
  379. package/es/components/slider/src/index.mjs +3 -2
  380. package/es/components/slider/src/index.mjs.map +1 -1
  381. package/es/components/slider/src/marker.mjs +2 -1
  382. package/es/components/slider/src/marker.mjs.map +1 -1
  383. package/es/components/steps/src/item.mjs +2 -1
  384. package/es/components/steps/src/item.mjs.map +1 -1
  385. package/es/components/switch/src/switch2.mjs +4 -2
  386. package/es/components/switch/src/switch2.mjs.map +1 -1
  387. package/es/components/table/src/filter-panel.mjs +7 -3
  388. package/es/components/table/src/filter-panel.mjs.map +1 -1
  389. package/es/components/tabs/src/tab-bar2.mjs +3 -2
  390. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  391. package/es/components/time-picker/src/common/picker.mjs +16 -8
  392. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  393. package/es/components/time-select/src/time-select.mjs +4 -2
  394. package/es/components/time-select/src/time-select.mjs.map +1 -1
  395. package/es/components/tooltip/src/content.mjs +9 -4
  396. package/es/components/tooltip/src/content.mjs.map +1 -1
  397. package/es/components/tooltip/src/tooltip2.mjs +2 -1
  398. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  399. package/es/components/transfer/src/index.mjs +2 -1
  400. package/es/components/transfer/src/index.mjs.map +1 -1
  401. package/es/components/tree/src/tree.mjs +2 -1
  402. package/es/components/tree/src/tree.mjs.map +1 -1
  403. package/es/components/tree-v2/src/tree-node.mjs +11 -7
  404. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  405. package/es/components/tree-v2/src/tree.mjs +2 -1
  406. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  407. package/es/components/upload/src/index.mjs +3 -2
  408. package/es/components/upload/src/index.mjs.map +1 -1
  409. package/es/components/upload/src/upload-dragger.mjs +2 -1
  410. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  411. package/es/utils/validators.d.ts +0 -1
  412. package/es/utils/validators.mjs +1 -9
  413. package/es/utils/validators.mjs.map +1 -1
  414. package/es/version.d.ts +1 -1
  415. package/es/version.mjs +1 -1
  416. package/es/version.mjs.map +1 -1
  417. package/lib/components/affix/src/affix2.js +2 -1
  418. package/lib/components/affix/src/affix2.js.map +1 -1
  419. package/lib/components/autocomplete/index.d.ts +22 -0
  420. package/lib/components/autocomplete/src/index.js +19 -18
  421. package/lib/components/autocomplete/src/index.js.map +1 -1
  422. package/lib/components/autocomplete/src/index.vue.d.ts +11 -0
  423. package/lib/components/backtop/index.d.ts +11 -0
  424. package/lib/components/backtop/src/backtop.vue.d.ts +11 -0
  425. package/lib/components/backtop/src/backtop2.js +17 -8
  426. package/lib/components/backtop/src/backtop2.js.map +1 -1
  427. package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
  428. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  429. package/lib/components/button/src/button2.js +11 -7
  430. package/lib/components/button/src/button2.js.map +1 -1
  431. package/lib/components/carousel/src/item.js +4 -2
  432. package/lib/components/carousel/src/item.js.map +1 -1
  433. package/lib/components/cascader/src/index.js +38 -21
  434. package/lib/components/cascader/src/index.js.map +1 -1
  435. package/lib/components/cascader-panel/src/index.js +16 -13
  436. package/lib/components/cascader-panel/src/index.js.map +1 -1
  437. package/lib/components/cascader-panel/src/menu.js +25 -22
  438. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  439. package/lib/components/cascader-panel/src/node2.js +6 -2
  440. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  441. package/lib/components/checkbox/index.d.ts +33 -0
  442. package/lib/components/checkbox/src/checkbox-button.js +21 -15
  443. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  444. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +11 -0
  445. package/lib/components/checkbox/src/checkbox-group.js +5 -2
  446. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  447. package/lib/components/checkbox/src/checkbox.js +35 -27
  448. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  449. package/lib/components/checkbox/src/checkbox.vue.d.ts +11 -0
  450. package/lib/components/collapse/src/collapse-item.js +3 -3
  451. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  452. package/lib/components/color-picker/src/index.js +8 -5
  453. package/lib/components/color-picker/src/index.js.map +1 -1
  454. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
  455. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  456. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
  457. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  458. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  459. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  460. package/lib/components/descriptions/src/index.js +7 -2
  461. package/lib/components/descriptions/src/index.js.map +1 -1
  462. package/lib/components/dialog/src/dialog.js +1 -3
  463. package/lib/components/dialog/src/dialog.js.map +1 -1
  464. package/lib/components/dropdown/src/dropdown-item.js +12 -6
  465. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  466. package/lib/components/dropdown/src/dropdown-menu.js +2 -1
  467. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  468. package/lib/components/dropdown/src/dropdown2.js +9 -5
  469. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  470. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  471. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  472. package/lib/components/form/src/form-item.js +6 -4
  473. package/lib/components/form/src/form-item.js.map +1 -1
  474. package/lib/components/image/src/image2.js +3 -2
  475. package/lib/components/image/src/image2.js.map +1 -1
  476. package/lib/components/image-viewer/src/image-viewer2.js +3 -2
  477. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  478. package/lib/components/input/src/input2.js +17 -8
  479. package/lib/components/input/src/input2.js.map +1 -1
  480. package/lib/components/input-number/src/input-number2.js +12 -6
  481. package/lib/components/input-number/src/input-number2.js.map +1 -1
  482. package/lib/components/message/src/message2.js +1 -1
  483. package/lib/components/message-box/src/index.js +4 -2
  484. package/lib/components/message-box/src/index.js.map +1 -1
  485. package/lib/components/notification/src/notification2.js +1 -1
  486. package/lib/components/pagination/src/components/jumper.js +5 -2
  487. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  488. package/lib/components/pagination/src/components/sizes.js +2 -1
  489. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  490. package/lib/components/popconfirm/src/popconfirm2.js +6 -3
  491. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  492. package/lib/components/popover/src/index.js +4 -2
  493. package/lib/components/popover/src/index.js.map +1 -1
  494. package/lib/components/popper/src/content.js +5 -3
  495. package/lib/components/popper/src/content.js.map +1 -1
  496. package/lib/components/popper/src/trigger.js +1 -1
  497. package/lib/components/popper/src/trigger.js.map +1 -1
  498. package/lib/components/progress/src/progress2.js +2 -1
  499. package/lib/components/progress/src/progress2.js.map +1 -1
  500. package/lib/components/radio/src/radio-button2.js +4 -4
  501. package/lib/components/radio/src/radio-button2.js.map +1 -1
  502. package/lib/components/radio/src/radio-group2.js +1 -1
  503. package/lib/components/radio/src/radio-group2.js.map +1 -1
  504. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
  505. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  506. package/lib/components/scrollbar/src/bar2.js +2 -1
  507. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  508. package/lib/components/scrollbar/src/scrollbar2.js +2 -2
  509. package/lib/components/select/src/option-group.js +2 -1
  510. package/lib/components/select/src/option-group.js.map +1 -1
  511. package/lib/components/select/src/select-dropdown.js +2 -1
  512. package/lib/components/select/src/select-dropdown.js.map +1 -1
  513. package/lib/components/select/src/select.js +2 -1
  514. package/lib/components/select/src/select.js.map +1 -1
  515. package/lib/components/select-v2/src/select-dropdown.js +2 -1
  516. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  517. package/lib/components/select-v2/src/select.js +192 -186
  518. package/lib/components/select-v2/src/select.js.map +1 -1
  519. package/lib/components/slider/src/index.js +3 -2
  520. package/lib/components/slider/src/index.js.map +1 -1
  521. package/lib/components/slider/src/marker.js +2 -1
  522. package/lib/components/slider/src/marker.js.map +1 -1
  523. package/lib/components/steps/src/item.js +2 -1
  524. package/lib/components/steps/src/item.js.map +1 -1
  525. package/lib/components/switch/src/switch2.js +4 -2
  526. package/lib/components/switch/src/switch2.js.map +1 -1
  527. package/lib/components/table/src/filter-panel.js +7 -3
  528. package/lib/components/table/src/filter-panel.js.map +1 -1
  529. package/lib/components/tabs/src/tab-bar2.js +3 -2
  530. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  531. package/lib/components/time-picker/src/common/picker.js +16 -8
  532. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  533. package/lib/components/time-select/src/time-select.js +4 -2
  534. package/lib/components/time-select/src/time-select.js.map +1 -1
  535. package/lib/components/tooltip/src/content.js +9 -4
  536. package/lib/components/tooltip/src/content.js.map +1 -1
  537. package/lib/components/tooltip/src/tooltip2.js +2 -1
  538. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  539. package/lib/components/transfer/src/index.js +2 -1
  540. package/lib/components/transfer/src/index.js.map +1 -1
  541. package/lib/components/tree/src/tree.js +2 -1
  542. package/lib/components/tree/src/tree.js.map +1 -1
  543. package/lib/components/tree-v2/src/tree-node.js +11 -7
  544. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  545. package/lib/components/tree-v2/src/tree.js +2 -1
  546. package/lib/components/tree-v2/src/tree.js.map +1 -1
  547. package/lib/components/upload/src/index.js +3 -2
  548. package/lib/components/upload/src/index.js.map +1 -1
  549. package/lib/components/upload/src/upload-dragger.js +2 -1
  550. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  551. package/lib/utils/validators.d.ts +0 -1
  552. package/lib/utils/validators.js +0 -9
  553. package/lib/utils/validators.js.map +1 -1
  554. package/lib/version.d.ts +1 -1
  555. package/lib/version.js +1 -1
  556. package/lib/version.js.map +1 -1
  557. package/package.json +2 -2
  558. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.js","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n inject,\n ref,\n renderSlot,\n h,\n withCtx,\n withKeys,\n withModifiers,\n} from 'vue'\nimport { getValueByPath, isUndefined, isObject } from '@element-plus/utils/util'\n// import { addResizeListener, removeResizeListener, ResizableElement } from '@element-plus/utils/resize-event'\nimport {\n FixedSizeList,\n DynamicSizeList,\n} from '@element-plus/components/virtual-list'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { OptionItemProps, Option } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n data: Array,\n hoveringIndex: Number,\n width: Number,\n },\n setup(props) {\n const select = inject(selectV2InjectionKey) as any\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref(null)\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return (\n getValueByPath(item, valueKey) === getValueByPath(target, valueKey)\n )\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return (\n getValueByPath(selected, valueKey) ===\n getValueByPath(target, valueKey)\n )\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n if (select.props.multiple) {\n return contains(modelValue, target.value)\n }\n return isEqual(modelValue, target.value)\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n // computed\n return {\n select,\n listProps,\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n\n scrollToItem,\n resetScrollTop,\n }\n },\n\n render(_ctx, _cache) {\n const {\n $slots,\n\n data,\n listProps,\n select,\n isSized,\n width,\n // methods\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n } = _ctx\n\n const Comp = isSized ? FixedSizeList : DynamicSizeList\n\n const {\n props: selectProps,\n onSelect,\n onHover,\n onKeyboardNavigate,\n onKeyboardSelect,\n } = select\n const { height, modelValue, multiple } = selectProps\n\n if (data.length === 0) {\n return h(\n 'div',\n {\n class: 'el-select-dropdown',\n style: {\n width: `${width}px`,\n },\n },\n $slots.empty?.()\n )\n }\n\n const ListItem = withCtx((scoped: ItemProps<any>) => {\n const { index, data } = scoped\n const item = data[index]\n // render group item which is not selectable.\n if (data[index].type === 'Group') {\n return h(GroupItem, {\n item,\n style: scoped.style,\n height: isSized ? listProps.itemSize : listProps.estimatedSize,\n })\n }\n\n const selected = isItemSelected(modelValue, item)\n const itemDisabled = isItemDisabled(modelValue, selected)\n // render option item which is selectable\n return h(\n OptionItem,\n {\n ...scoped,\n selected,\n disabled: item.disabled || itemDisabled,\n created: !!item.created,\n hovering: isItemHovering(index),\n item,\n onSelect,\n onHover,\n },\n {\n default: withCtx((props: OptionItemProps) => {\n return renderSlot($slots, 'default', props, () => [\n h('span', item.label),\n ])\n }),\n }\n )\n })\n\n const List = h(\n Comp,\n {\n ref: 'listRef', // forwarded ref so that select can access the list directly\n className: 'el-select-dropdown__list',\n data,\n height,\n width,\n total: data.length,\n scrollbarAlwaysOn: selectProps.scrollbarAlwaysOn,\n onKeydown: [\n _cache[1] ||\n (_cache[1] = withKeys(\n withModifiers(\n () => onKeyboardNavigate('forward'),\n ['stop', 'prevent']\n ),\n ['down']\n )),\n _cache[2] ||\n (_cache[2] = withKeys(\n withModifiers(\n () => onKeyboardNavigate('backward'),\n ['stop', 'prevent']\n ),\n ['up']\n )),\n _cache[3] ||\n (_cache[3] = withKeys(\n withModifiers(onKeyboardSelect, ['stop', 'prevent']),\n ['enter']\n )),\n\n _cache[4] ||\n (_cache[4] = withKeys(\n withModifiers(\n () => (select.expanded = false),\n ['stop', 'prevent']\n ),\n ['esc']\n )),\n _cache[5] ||\n (_cache[5] = withKeys(() => (select.expanded = false), ['tab'])),\n // _cache[6] || (_cache[6] = () => {\n // console.log(11)\n // }),\n ],\n ...listProps,\n },\n {\n default: ListItem,\n }\n )\n return h(\n 'div',\n {\n class: {\n 'is-multiple': multiple,\n 'el-select-dropdown': true,\n },\n },\n [List]\n )\n },\n})\n</script>\n"],"names":["defineComponent","inject","selectV2InjectionKey","ref","computed","isUndefined","isObject","getValueByPath","FixedSizeList","DynamicSizeList","h","withCtx","GroupItem","OptionItem","renderSlot","withKeys","withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"select-dropdown.js","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n inject,\n ref,\n renderSlot,\n h,\n withCtx,\n withKeys,\n withModifiers,\n} from 'vue'\nimport { getValueByPath, isUndefined, isObject } from '@element-plus/utils/util'\n// import { addResizeListener, removeResizeListener, ResizableElement } from '@element-plus/utils/resize-event'\nimport {\n FixedSizeList,\n DynamicSizeList,\n} from '@element-plus/components/virtual-list'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { OptionItemProps, Option } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n data: Array,\n hoveringIndex: Number,\n width: Number,\n },\n setup(props) {\n const select = inject(selectV2InjectionKey) as any\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref(null)\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return (\n getValueByPath(item, valueKey) === getValueByPath(target, valueKey)\n )\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return (\n getValueByPath(selected, valueKey) ===\n getValueByPath(target, valueKey)\n )\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n if (select.props.multiple) {\n return contains(modelValue, target.value)\n }\n return isEqual(modelValue, target.value)\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n // computed\n return {\n select,\n listProps,\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n\n scrollToItem,\n resetScrollTop,\n }\n },\n\n render(_ctx, _cache) {\n const {\n $slots,\n\n data,\n listProps,\n select,\n isSized,\n width,\n // methods\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n } = _ctx\n\n const Comp = isSized ? FixedSizeList : DynamicSizeList\n\n const {\n props: selectProps,\n onSelect,\n onHover,\n onKeyboardNavigate,\n onKeyboardSelect,\n } = select\n const { height, modelValue, multiple } = selectProps\n\n if (data.length === 0) {\n return h(\n 'div',\n {\n class: 'el-select-dropdown',\n style: {\n width: `${width}px`,\n },\n },\n $slots.empty?.()\n )\n }\n\n const ListItem = withCtx((scoped: ItemProps<any>) => {\n const { index, data } = scoped\n const item = data[index]\n // render group item which is not selectable.\n if (data[index].type === 'Group') {\n return h(GroupItem, {\n item,\n style: scoped.style,\n height: isSized ? listProps.itemSize : listProps.estimatedSize,\n })\n }\n\n const selected = isItemSelected(modelValue, item)\n const itemDisabled = isItemDisabled(modelValue, selected)\n // render option item which is selectable\n return h(\n OptionItem,\n {\n ...scoped,\n selected,\n disabled: item.disabled || itemDisabled,\n created: !!item.created,\n hovering: isItemHovering(index),\n item,\n onSelect,\n onHover,\n },\n {\n default: withCtx((props: OptionItemProps) => {\n return renderSlot($slots, 'default', props, () => [\n h('span', item.label),\n ])\n }),\n }\n )\n })\n\n const List = h(\n Comp,\n {\n ref: 'listRef', // forwarded ref so that select can access the list directly\n className: 'el-select-dropdown__list',\n data,\n height,\n width,\n total: data.length,\n scrollbarAlwaysOn: selectProps.scrollbarAlwaysOn,\n onKeydown: [\n _cache[1] ||\n (_cache[1] = withKeys(\n withModifiers(\n () => onKeyboardNavigate('forward'),\n ['stop', 'prevent']\n ),\n ['down']\n )),\n _cache[2] ||\n (_cache[2] = withKeys(\n withModifiers(\n () => onKeyboardNavigate('backward'),\n ['stop', 'prevent']\n ),\n ['up']\n )),\n _cache[3] ||\n (_cache[3] = withKeys(\n withModifiers(onKeyboardSelect, ['stop', 'prevent']),\n ['enter']\n )),\n\n _cache[4] ||\n (_cache[4] = withKeys(\n withModifiers(\n () => (select.expanded = false),\n ['stop', 'prevent']\n ),\n ['esc']\n )),\n _cache[5] ||\n (_cache[5] = withKeys(() => (select.expanded = false), ['tab'])),\n // _cache[6] || (_cache[6] = () => {\n // console.log(11)\n // }),\n ],\n ...listProps,\n },\n {\n default: ListItem,\n }\n )\n return h(\n 'div',\n {\n class: {\n 'is-multiple': multiple,\n 'el-select-dropdown': true,\n },\n },\n [List]\n )\n },\n})\n</script>\n"],"names":["defineComponent","inject","selectV2InjectionKey","ref","computed","isUndefined","isObject","getValueByPath","withCtx","withKeys","withModifiers"],"mappings":"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"}
@@ -98,67 +98,49 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
98
98
  onShow: _ctx.handleMenuEnter,
99
99
  onHide: _cache[23] || (_cache[23] = ($event) => _ctx.states.inputValue = _ctx.states.displayInputValue)
100
100
  }, {
101
- default: vue.withCtx(() => [
102
- vue.createElementVNode("div", {
103
- ref: "selectionRef",
104
- class: vue.normalizeClass(["el-select-v2__wrapper", {
105
- "is-focused": _ctx.states.isComposing,
106
- "is-hovering": _ctx.states.comboBoxHovering,
107
- "is-filterable": _ctx.filterable,
108
- "is-disabled": _ctx.disabled
109
- }])
110
- }, [
111
- _ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
112
- vue.renderSlot(_ctx.$slots, "prefix")
113
- ])) : vue.createCommentVNode("v-if", true),
114
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
115
- _ctx.collapseTags && _ctx.modelValue.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
116
- vue.createVNode(_component_el_tag, {
117
- closable: !_ctx.selectDisabled && !_ctx.states.cachedOptions[0]?.disable,
118
- size: _ctx.collapseTagSize,
119
- type: "info",
120
- "disable-transitions": "",
121
- onClose: _cache[0] || (_cache[0] = ($event) => _ctx.deleteTag($event, _ctx.states.cachedOptions[0]))
122
- }, {
123
- default: vue.withCtx(() => [
124
- vue.createElementVNode("span", {
125
- class: "el-select-v2__tags-text",
126
- style: vue.normalizeStyle({
127
- maxWidth: `${_ctx.tagMaxWidth}px`
128
- })
129
- }, vue.toDisplayString(_ctx.states.cachedOptions[0]?.label), 5)
130
- ]),
131
- _: 1
132
- }, 8, ["closable", "size"]),
133
- _ctx.modelValue.length > 1 ? (vue.openBlock(), vue.createBlock(_component_el_tag, {
134
- key: 0,
135
- closable: false,
136
- size: _ctx.collapseTagSize,
137
- type: "info",
138
- "disable-transitions": ""
139
- }, {
140
- default: vue.withCtx(() => [
141
- vue.createElementVNode("span", {
142
- class: "el-select-v2__tags-text",
143
- style: vue.normalizeStyle({
144
- maxWidth: `${_ctx.tagMaxWidth}px`
145
- })
146
- }, "+ " + vue.toDisplayString(_ctx.modelValue.length - 1), 5)
147
- ]),
148
- _: 1
149
- }, 8, ["size"])) : vue.createCommentVNode("v-if", true)
150
- ])) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.states.cachedOptions, (selected, idx) => {
151
- return vue.openBlock(), vue.createElementBlock("div", {
152
- key: idx,
153
- class: "el-select-v2__selected-item"
154
- }, [
155
- (vue.openBlock(), vue.createBlock(_component_el_tag, {
156
- key: _ctx.getValueKey(selected),
157
- closable: !_ctx.selectDisabled && !selected.disabled,
101
+ default: vue.withCtx(() => {
102
+ var _a;
103
+ return [
104
+ vue.createElementVNode("div", {
105
+ ref: "selectionRef",
106
+ class: vue.normalizeClass(["el-select-v2__wrapper", {
107
+ "is-focused": _ctx.states.isComposing,
108
+ "is-hovering": _ctx.states.comboBoxHovering,
109
+ "is-filterable": _ctx.filterable,
110
+ "is-disabled": _ctx.disabled
111
+ }])
112
+ }, [
113
+ _ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
114
+ vue.renderSlot(_ctx.$slots, "prefix")
115
+ ])) : vue.createCommentVNode("v-if", true),
116
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
117
+ _ctx.collapseTags && _ctx.modelValue.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
118
+ vue.createVNode(_component_el_tag, {
119
+ closable: !_ctx.selectDisabled && !((_a = _ctx.states.cachedOptions[0]) == null ? void 0 : _a.disable),
158
120
  size: _ctx.collapseTagSize,
159
121
  type: "info",
160
122
  "disable-transitions": "",
161
- onClose: ($event) => _ctx.deleteTag($event, selected)
123
+ onClose: _cache[0] || (_cache[0] = ($event) => _ctx.deleteTag($event, _ctx.states.cachedOptions[0]))
124
+ }, {
125
+ default: vue.withCtx(() => {
126
+ var _a2;
127
+ return [
128
+ vue.createElementVNode("span", {
129
+ class: "el-select-v2__tags-text",
130
+ style: vue.normalizeStyle({
131
+ maxWidth: `${_ctx.tagMaxWidth}px`
132
+ })
133
+ }, vue.toDisplayString((_a2 = _ctx.states.cachedOptions[0]) == null ? void 0 : _a2.label), 5)
134
+ ];
135
+ }),
136
+ _: 1
137
+ }, 8, ["closable", "size"]),
138
+ _ctx.modelValue.length > 1 ? (vue.openBlock(), vue.createBlock(_component_el_tag, {
139
+ key: 0,
140
+ closable: false,
141
+ size: _ctx.collapseTagSize,
142
+ type: "info",
143
+ "disable-transitions": ""
162
144
  }, {
163
145
  default: vue.withCtx(() => [
164
146
  vue.createElementVNode("span", {
@@ -166,141 +148,165 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
166
148
  style: vue.normalizeStyle({
167
149
  maxWidth: `${_ctx.tagMaxWidth}px`
168
150
  })
169
- }, vue.toDisplayString(_ctx.getLabel(selected)), 5)
151
+ }, "+ " + vue.toDisplayString(_ctx.modelValue.length - 1), 5)
170
152
  ]),
171
- _: 2
172
- }, 1032, ["closable", "size", "onClose"]))
173
- ]);
174
- }), 128)),
175
- vue.createElementVNode("div", {
176
- class: "el-select-v2__selected-item el-select-v2__input-wrapper",
177
- style: vue.normalizeStyle(_ctx.inputWrapperStyle)
178
- }, [
179
- vue.withDirectives(vue.createElementVNode("input", {
180
- id: _ctx.id,
181
- ref: "inputRef",
182
- autocomplete: _ctx.autocomplete,
183
- "aria-autocomplete": "list",
184
- "aria-haspopup": "listbox",
185
- autocapitalize: "off",
186
- "aria-expanded": _ctx.expanded,
187
- "aria-labelledby": _ctx.label,
188
- class: vue.normalizeClass(["el-select-v2__combobox-input", [_ctx.selectSize ? `is-${_ctx.selectSize}` : ""]]),
189
- disabled: _ctx.disabled,
190
- role: "combobox",
191
- readonly: !_ctx.filterable,
192
- spellcheck: "false",
193
- type: "text",
194
- name: _ctx.name,
195
- unselectable: _ctx.expanded ? "on" : void 0,
196
- "onUpdate:modelValue": _cache[1] || (_cache[1] = (...args) => _ctx.onUpdateInputValue && _ctx.onUpdateInputValue(...args)),
197
- onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
198
- onInput: _cache[3] || (_cache[3] = (...args) => _ctx.onInput && _ctx.onInput(...args)),
199
- onCompositionstart: _cache[4] || (_cache[4] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
200
- onCompositionupdate: _cache[5] || (_cache[5] = (...args) => _ctx.handleCompositionUpdate && _ctx.handleCompositionUpdate(...args)),
201
- onCompositionend: _cache[6] || (_cache[6] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args)),
202
- onKeydown: [
203
- _cache[7] || (_cache[7] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("backward"), ["stop", "prevent"]), ["up"])),
204
- _cache[8] || (_cache[8] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("forward"), ["stop", "prevent"]), ["down"])),
205
- _cache[9] || (_cache[9] = vue.withKeys(vue.withModifiers((...args) => _ctx.onKeyboardSelect && _ctx.onKeyboardSelect(...args), ["stop", "prevent"]), ["enter"])),
206
- _cache[10] || (_cache[10] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleEsc && _ctx.handleEsc(...args), ["stop", "prevent"]), ["esc"])),
207
- _cache[11] || (_cache[11] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleDel && _ctx.handleDel(...args), ["stop"]), ["delete"]))
208
- ]
209
- }, null, 42, _hoisted_4), [
210
- [_directive_model_text, _ctx.states.displayInputValue]
153
+ _: 1
154
+ }, 8, ["size"])) : vue.createCommentVNode("v-if", true)
155
+ ])) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.states.cachedOptions, (selected, idx) => {
156
+ return vue.openBlock(), vue.createElementBlock("div", {
157
+ key: idx,
158
+ class: "el-select-v2__selected-item"
159
+ }, [
160
+ (vue.openBlock(), vue.createBlock(_component_el_tag, {
161
+ key: _ctx.getValueKey(selected),
162
+ closable: !_ctx.selectDisabled && !selected.disabled,
163
+ size: _ctx.collapseTagSize,
164
+ type: "info",
165
+ "disable-transitions": "",
166
+ onClose: ($event) => _ctx.deleteTag($event, selected)
167
+ }, {
168
+ default: vue.withCtx(() => [
169
+ vue.createElementVNode("span", {
170
+ class: "el-select-v2__tags-text",
171
+ style: vue.normalizeStyle({
172
+ maxWidth: `${_ctx.tagMaxWidth}px`
173
+ })
174
+ }, vue.toDisplayString(_ctx.getLabel(selected)), 5)
175
+ ]),
176
+ _: 2
177
+ }, 1032, ["closable", "size", "onClose"]))
178
+ ]);
179
+ }), 128)),
180
+ vue.createElementVNode("div", {
181
+ class: "el-select-v2__selected-item el-select-v2__input-wrapper",
182
+ style: vue.normalizeStyle(_ctx.inputWrapperStyle)
183
+ }, [
184
+ vue.withDirectives(vue.createElementVNode("input", {
185
+ id: _ctx.id,
186
+ ref: "inputRef",
187
+ autocomplete: _ctx.autocomplete,
188
+ "aria-autocomplete": "list",
189
+ "aria-haspopup": "listbox",
190
+ autocapitalize: "off",
191
+ "aria-expanded": _ctx.expanded,
192
+ "aria-labelledby": _ctx.label,
193
+ class: vue.normalizeClass(["el-select-v2__combobox-input", [_ctx.selectSize ? `is-${_ctx.selectSize}` : ""]]),
194
+ disabled: _ctx.disabled,
195
+ role: "combobox",
196
+ readonly: !_ctx.filterable,
197
+ spellcheck: "false",
198
+ type: "text",
199
+ name: _ctx.name,
200
+ unselectable: _ctx.expanded ? "on" : void 0,
201
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = (...args) => _ctx.onUpdateInputValue && _ctx.onUpdateInputValue(...args)),
202
+ onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
203
+ onInput: _cache[3] || (_cache[3] = (...args) => _ctx.onInput && _ctx.onInput(...args)),
204
+ onCompositionstart: _cache[4] || (_cache[4] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
205
+ onCompositionupdate: _cache[5] || (_cache[5] = (...args) => _ctx.handleCompositionUpdate && _ctx.handleCompositionUpdate(...args)),
206
+ onCompositionend: _cache[6] || (_cache[6] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args)),
207
+ onKeydown: [
208
+ _cache[7] || (_cache[7] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("backward"), ["stop", "prevent"]), ["up"])),
209
+ _cache[8] || (_cache[8] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("forward"), ["stop", "prevent"]), ["down"])),
210
+ _cache[9] || (_cache[9] = vue.withKeys(vue.withModifiers((...args) => _ctx.onKeyboardSelect && _ctx.onKeyboardSelect(...args), ["stop", "prevent"]), ["enter"])),
211
+ _cache[10] || (_cache[10] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleEsc && _ctx.handleEsc(...args), ["stop", "prevent"]), ["esc"])),
212
+ _cache[11] || (_cache[11] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleDel && _ctx.handleDel(...args), ["stop"]), ["delete"]))
213
+ ]
214
+ }, null, 42, _hoisted_4), [
215
+ [_directive_model_text, _ctx.states.displayInputValue]
216
+ ]),
217
+ _ctx.filterable ? (vue.openBlock(), vue.createElementBlock("span", {
218
+ key: 0,
219
+ ref: "calculatorRef",
220
+ "aria-hidden": "true",
221
+ class: "el-select-v2__input-calculator",
222
+ textContent: vue.toDisplayString(_ctx.states.displayInputValue)
223
+ }, null, 8, _hoisted_5)) : vue.createCommentVNode("v-if", true)
224
+ ], 4)
225
+ ])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
226
+ vue.createElementVNode("div", _hoisted_6, [
227
+ vue.withDirectives(vue.createElementVNode("input", {
228
+ id: _ctx.id,
229
+ ref: "inputRef",
230
+ "aria-autocomplete": "list",
231
+ "aria-haspopup": "listbox",
232
+ "aria-labelledby": _ctx.label,
233
+ "aria-expanded": _ctx.expanded,
234
+ autocapitalize: "off",
235
+ autocomplete: _ctx.autocomplete,
236
+ class: "el-select-v2__combobox-input",
237
+ disabled: _ctx.disabled,
238
+ name: _ctx.name,
239
+ role: "combobox",
240
+ readonly: !_ctx.filterable,
241
+ spellcheck: "false",
242
+ type: "text",
243
+ unselectable: _ctx.expanded ? "on" : void 0,
244
+ onCompositionstart: _cache[12] || (_cache[12] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
245
+ onCompositionupdate: _cache[13] || (_cache[13] = (...args) => _ctx.handleCompositionUpdate && _ctx.handleCompositionUpdate(...args)),
246
+ onCompositionend: _cache[14] || (_cache[14] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args)),
247
+ onFocus: _cache[15] || (_cache[15] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
248
+ onInput: _cache[16] || (_cache[16] = (...args) => _ctx.onInput && _ctx.onInput(...args)),
249
+ onKeydown: [
250
+ _cache[17] || (_cache[17] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("backward"), ["stop", "prevent"]), ["up"])),
251
+ _cache[18] || (_cache[18] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("forward"), ["stop", "prevent"]), ["down"])),
252
+ _cache[19] || (_cache[19] = vue.withKeys(vue.withModifiers((...args) => _ctx.onKeyboardSelect && _ctx.onKeyboardSelect(...args), ["stop", "prevent"]), ["enter"])),
253
+ _cache[20] || (_cache[20] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleEsc && _ctx.handleEsc(...args), ["stop", "prevent"]), ["esc"]))
254
+ ],
255
+ "onUpdate:modelValue": _cache[21] || (_cache[21] = (...args) => _ctx.onUpdateInputValue && _ctx.onUpdateInputValue(...args))
256
+ }, null, 40, _hoisted_7), [
257
+ [_directive_model_text, _ctx.states.displayInputValue]
258
+ ])
211
259
  ]),
212
260
  _ctx.filterable ? (vue.openBlock(), vue.createElementBlock("span", {
213
261
  key: 0,
214
262
  ref: "calculatorRef",
215
263
  "aria-hidden": "true",
216
- class: "el-select-v2__input-calculator",
264
+ class: "el-select-v2__selected-item el-select-v2__input-calculator",
217
265
  textContent: vue.toDisplayString(_ctx.states.displayInputValue)
218
- }, null, 8, _hoisted_5)) : vue.createCommentVNode("v-if", true)
219
- ], 4)
220
- ])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
221
- vue.createElementVNode("div", _hoisted_6, [
222
- vue.withDirectives(vue.createElementVNode("input", {
223
- id: _ctx.id,
224
- ref: "inputRef",
225
- "aria-autocomplete": "list",
226
- "aria-haspopup": "listbox",
227
- "aria-labelledby": _ctx.label,
228
- "aria-expanded": _ctx.expanded,
229
- autocapitalize: "off",
230
- autocomplete: _ctx.autocomplete,
231
- class: "el-select-v2__combobox-input",
232
- disabled: _ctx.disabled,
233
- name: _ctx.name,
234
- role: "combobox",
235
- readonly: !_ctx.filterable,
236
- spellcheck: "false",
237
- type: "text",
238
- unselectable: _ctx.expanded ? "on" : void 0,
239
- onCompositionstart: _cache[12] || (_cache[12] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
240
- onCompositionupdate: _cache[13] || (_cache[13] = (...args) => _ctx.handleCompositionUpdate && _ctx.handleCompositionUpdate(...args)),
241
- onCompositionend: _cache[14] || (_cache[14] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args)),
242
- onFocus: _cache[15] || (_cache[15] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
243
- onInput: _cache[16] || (_cache[16] = (...args) => _ctx.onInput && _ctx.onInput(...args)),
244
- onKeydown: [
245
- _cache[17] || (_cache[17] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("backward"), ["stop", "prevent"]), ["up"])),
246
- _cache[18] || (_cache[18] = vue.withKeys(vue.withModifiers(($event) => _ctx.onKeyboardNavigate("forward"), ["stop", "prevent"]), ["down"])),
247
- _cache[19] || (_cache[19] = vue.withKeys(vue.withModifiers((...args) => _ctx.onKeyboardSelect && _ctx.onKeyboardSelect(...args), ["stop", "prevent"]), ["enter"])),
248
- _cache[20] || (_cache[20] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleEsc && _ctx.handleEsc(...args), ["stop", "prevent"]), ["esc"]))
249
- ],
250
- "onUpdate:modelValue": _cache[21] || (_cache[21] = (...args) => _ctx.onUpdateInputValue && _ctx.onUpdateInputValue(...args))
251
- }, null, 40, _hoisted_7), [
252
- [_directive_model_text, _ctx.states.displayInputValue]
253
- ])
254
- ]),
255
- _ctx.filterable ? (vue.openBlock(), vue.createElementBlock("span", {
256
- key: 0,
257
- ref: "calculatorRef",
258
- "aria-hidden": "true",
259
- class: "el-select-v2__selected-item el-select-v2__input-calculator",
260
- textContent: vue.toDisplayString(_ctx.states.displayInputValue)
261
- }, null, 8, _hoisted_8)) : vue.createCommentVNode("v-if", true)
262
- ], 64)),
263
- _ctx.shouldShowPlaceholder ? (vue.openBlock(), vue.createElementBlock("span", {
264
- key: 3,
265
- class: vue.normalizeClass({
266
- "el-select-v2__placeholder": true,
267
- "is-transparent": _ctx.states.isComposing || (_ctx.placeholder && _ctx.multiple ? _ctx.modelValue.length === 0 : !_ctx.hasModelValue)
268
- })
269
- }, vue.toDisplayString(_ctx.currentPlaceholder), 3)) : vue.createCommentVNode("v-if", true),
270
- vue.createElementVNode("span", _hoisted_9, [
271
- _ctx.iconComponent ? vue.withDirectives((vue.openBlock(), vue.createBlock(_component_el_icon, {
272
- key: 0,
273
- class: vue.normalizeClass(["el-select-v2__caret", "el-input__icon", _ctx.iconReverse])
274
- }, {
275
- default: vue.withCtx(() => [
276
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.iconComponent)))
277
- ]),
278
- _: 1
279
- }, 8, ["class"])), [
280
- [vue.vShow, !_ctx.showClearBtn]
281
- ]) : vue.createCommentVNode("v-if", true),
282
- _ctx.showClearBtn && _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
283
- key: 1,
284
- class: "el-select-v2__caret el-input__icon",
285
- onClick: vue.withModifiers(_ctx.handleClear, ["prevent", "stop"])
286
- }, {
287
- default: vue.withCtx(() => [
288
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.clearIcon)))
289
- ]),
290
- _: 1
291
- }, 8, ["onClick"])) : vue.createCommentVNode("v-if", true),
292
- _ctx.validateState && _ctx.validateIcon ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
293
- key: 2,
294
- class: "el-input__icon el-input__validateIcon"
295
- }, {
296
- default: vue.withCtx(() => [
297
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.validateIcon)))
298
- ]),
299
- _: 1
300
- })) : vue.createCommentVNode("v-if", true)
301
- ])
302
- ], 2)
303
- ]),
266
+ }, null, 8, _hoisted_8)) : vue.createCommentVNode("v-if", true)
267
+ ], 64)),
268
+ _ctx.shouldShowPlaceholder ? (vue.openBlock(), vue.createElementBlock("span", {
269
+ key: 3,
270
+ class: vue.normalizeClass({
271
+ "el-select-v2__placeholder": true,
272
+ "is-transparent": _ctx.states.isComposing || (_ctx.placeholder && _ctx.multiple ? _ctx.modelValue.length === 0 : !_ctx.hasModelValue)
273
+ })
274
+ }, vue.toDisplayString(_ctx.currentPlaceholder), 3)) : vue.createCommentVNode("v-if", true),
275
+ vue.createElementVNode("span", _hoisted_9, [
276
+ _ctx.iconComponent ? vue.withDirectives((vue.openBlock(), vue.createBlock(_component_el_icon, {
277
+ key: 0,
278
+ class: vue.normalizeClass(["el-select-v2__caret", "el-input__icon", _ctx.iconReverse])
279
+ }, {
280
+ default: vue.withCtx(() => [
281
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.iconComponent)))
282
+ ]),
283
+ _: 1
284
+ }, 8, ["class"])), [
285
+ [vue.vShow, !_ctx.showClearBtn]
286
+ ]) : vue.createCommentVNode("v-if", true),
287
+ _ctx.showClearBtn && _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
288
+ key: 1,
289
+ class: "el-select-v2__caret el-input__icon",
290
+ onClick: vue.withModifiers(_ctx.handleClear, ["prevent", "stop"])
291
+ }, {
292
+ default: vue.withCtx(() => [
293
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.clearIcon)))
294
+ ]),
295
+ _: 1
296
+ }, 8, ["onClick"])) : vue.createCommentVNode("v-if", true),
297
+ _ctx.validateState && _ctx.validateIcon ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
298
+ key: 2,
299
+ class: "el-input__icon el-input__validateIcon"
300
+ }, {
301
+ default: vue.withCtx(() => [
302
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.validateIcon)))
303
+ ]),
304
+ _: 1
305
+ })) : vue.createCommentVNode("v-if", true)
306
+ ])
307
+ ], 2)
308
+ ];
309
+ }),
304
310
  content: vue.withCtx(() => [
305
311
  vue.createVNode(_component_el_select_menu, {
306
312
  ref: "menuRef",
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[selectSize ? 'el-select-v2--' + selectSize : '']\"\n class=\"el-select-v2\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :append-to-body=\"popperAppendToBody\"\n :popper-class=\"`el-select-v2__popper ${popperClass}`\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n effect=\"light\"\n placement=\"bottom-start\"\n pure\n transition=\"el-zoom-in-top\"\n trigger=\"click\"\n persistent\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n class=\"el-select-v2__wrapper\"\n :class=\"{\n 'is-focused': states.isComposing,\n 'is-hovering': states.comboBoxHovering,\n 'is-filterable': filterable,\n 'is-disabled': disabled,\n }\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" class=\"el-select-v2__selection\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div class=\"el-select-v2__selected-item\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n class=\"el-select-v2__selected-item\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n class=\"el-select-v2__combobox-input\"\n :class=\"[selectSize ? `is-${selectSize}` : '']\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n class=\"el-select-v2__combobox-input\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__selected-item el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"{\n 'el-select-v2__placeholder': true,\n 'is-transparent':\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue),\n }\"\n >\n {{ currentPlaceholder }}\n </span>\n <span class=\"el-select-v2__suffix\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"['el-select-v2__caret', 'el-input__icon', iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n class=\"el-select-v2__caret el-input__icon\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p class=\"el-select-v2__empty\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElTag","ElTooltip","ElIcon","ClickOutside","vModelText","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useSelect","selectV2InjectionKey","reactive","toRefs","_withDirectives","_normalizeClass","_withCtx","_createElementBlock","_createCommentVNode","_normalizeStyle","_Fragment","_openBlock","_createBlock","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[selectSize ? 'el-select-v2--' + selectSize : '']\"\n class=\"el-select-v2\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :append-to-body=\"popperAppendToBody\"\n :popper-class=\"`el-select-v2__popper ${popperClass}`\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n effect=\"light\"\n placement=\"bottom-start\"\n pure\n transition=\"el-zoom-in-top\"\n trigger=\"click\"\n persistent\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n class=\"el-select-v2__wrapper\"\n :class=\"{\n 'is-focused': states.isComposing,\n 'is-hovering': states.comboBoxHovering,\n 'is-filterable': filterable,\n 'is-disabled': disabled,\n }\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" class=\"el-select-v2__selection\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div class=\"el-select-v2__selected-item\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n class=\"el-select-v2__selected-item\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n class=\"el-select-v2__combobox-input\"\n :class=\"[selectSize ? `is-${selectSize}` : '']\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n class=\"el-select-v2__combobox-input\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__selected-item el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"{\n 'el-select-v2__placeholder': true,\n 'is-transparent':\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue),\n }\"\n >\n {{ currentPlaceholder }}\n </span>\n <span class=\"el-select-v2__suffix\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"['el-select-v2__caret', 'el-input__icon', iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n class=\"el-select-v2__caret el-input__icon\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p class=\"el-select-v2__empty\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElTag","ElTooltip","ElIcon","ClickOutside","vModelText","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useSelect","selectV2InjectionKey","reactive","toRefs","_withDirectives","_normalizeClass","_withCtx","_createVNode","_openBlock"],"mappings":"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"}
@@ -196,6 +196,7 @@ const useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {
196
196
  }
197
197
  };
198
198
  const setValues = () => {
199
+ var _a, _b;
199
200
  if (props.min > props.max) {
200
201
  error.throwError("Slider", "min should not be greater than max.");
201
202
  return;
@@ -214,7 +215,7 @@ const useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {
214
215
  initData.firstValue = val[0];
215
216
  initData.secondValue = val[1];
216
217
  if (valueChanged()) {
217
- elFormItem.validate?.("change");
218
+ (_a = elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change");
218
219
  initData.oldValue = val.slice();
219
220
  }
220
221
  }
@@ -226,7 +227,7 @@ const useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {
226
227
  } else {
227
228
  initData.firstValue = val;
228
229
  if (valueChanged()) {
229
- elFormItem.validate?.("change");
230
+ (_b = elFormItem.validate) == null ? void 0 : _b.call(elFormItem, "change");
230
231
  initData.oldValue = val;
231
232
  }
232
233
  }