@element-plus/nightly 0.0.20251121 → 0.0.20251122

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 (458) hide show
  1. package/dist/index.full.js +14 -6
  2. package/dist/index.full.min.js +13 -13
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +13 -13
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +14 -6
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +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 +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/affix/index.mjs +2 -2
  276. package/es/components/affix/src/affix.mjs +24 -129
  277. package/es/components/affix/src/affix.mjs.map +1 -1
  278. package/es/components/affix/src/affix2.mjs +129 -24
  279. package/es/components/affix/src/affix2.mjs.map +1 -1
  280. package/es/components/alert/index.mjs +2 -2
  281. package/es/components/alert/src/alert.mjs +96 -40
  282. package/es/components/alert/src/alert.mjs.map +1 -1
  283. package/es/components/alert/src/alert2.mjs +40 -96
  284. package/es/components/alert/src/alert2.mjs.map +1 -1
  285. package/es/components/button/index.mjs +2 -2
  286. package/es/components/button/src/button-group.mjs +1 -1
  287. package/es/components/button/src/button.mjs +65 -88
  288. package/es/components/button/src/button.mjs.map +1 -1
  289. package/es/components/button/src/button2.mjs +88 -65
  290. package/es/components/button/src/button2.mjs.map +1 -1
  291. package/es/components/carousel/index.mjs +2 -2
  292. package/es/components/carousel/src/carousel-item.mjs +7 -69
  293. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  294. package/es/components/carousel/src/carousel-item2.mjs +69 -7
  295. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  296. package/es/components/color-picker/src/color-picker2.mjs +1 -1
  297. package/es/components/color-picker-panel/index.mjs +2 -2
  298. package/es/components/color-picker-panel/src/color-picker-panel.mjs +27 -132
  299. package/es/components/color-picker-panel/src/color-picker-panel.mjs.map +1 -1
  300. package/es/components/color-picker-panel/src/color-picker-panel2.mjs +132 -27
  301. package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
  302. package/es/components/color-picker-panel/src/composables/use-predefine.mjs +1 -1
  303. package/es/components/index.mjs +12 -12
  304. package/es/components/input-tag/index.mjs +2 -2
  305. package/es/components/input-tag/src/input-tag.mjs +83 -283
  306. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  307. package/es/components/input-tag/src/input-tag2.mjs +283 -83
  308. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  309. package/es/components/menu/index.mjs +2 -2
  310. package/es/components/menu/src/menu-item.mjs +101 -15
  311. package/es/components/menu/src/menu-item.mjs.map +1 -1
  312. package/es/components/menu/src/menu-item2.mjs +15 -101
  313. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  314. package/es/components/pagination/src/components/pager.mjs +210 -16
  315. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  316. package/es/components/pagination/src/components/pager2.mjs +16 -210
  317. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  318. package/es/components/pagination/src/pagination.mjs +1 -1
  319. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  320. package/es/components/popover/index.mjs +2 -2
  321. package/es/components/popover/src/popover.mjs +66 -112
  322. package/es/components/popover/src/popover.mjs.map +1 -1
  323. package/es/components/popover/src/popover2.mjs +112 -66
  324. package/es/components/popover/src/popover2.mjs.map +1 -1
  325. package/es/components/scrollbar/src/bar.mjs +10 -64
  326. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  327. package/es/components/scrollbar/src/bar2.mjs +64 -10
  328. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  329. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  330. package/es/components/segmented/index.mjs +2 -2
  331. package/es/components/segmented/src/segmented.mjs +42 -170
  332. package/es/components/segmented/src/segmented.mjs.map +1 -1
  333. package/es/components/segmented/src/segmented2.mjs +170 -42
  334. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  335. package/es/components/select/src/useOption.mjs +1 -1
  336. package/es/components/select/src/useOption.mjs.map +1 -1
  337. package/es/components/select/src/useSelect.mjs +1 -1
  338. package/es/components/select/src/useSelect.mjs.map +1 -1
  339. package/es/components/select-v2/src/useSelect.mjs +10 -2
  340. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  341. package/es/components/slider/src/button.mjs +91 -19
  342. package/es/components/slider/src/button.mjs.map +1 -1
  343. package/es/components/slider/src/button2.mjs +19 -91
  344. package/es/components/slider/src/button2.mjs.map +1 -1
  345. package/es/components/slider/src/slider2.mjs +1 -1
  346. package/es/components/text/index.mjs +2 -2
  347. package/es/components/text/src/text.mjs +21 -67
  348. package/es/components/text/src/text.mjs.map +1 -1
  349. package/es/components/text/src/text2.mjs +67 -21
  350. package/es/components/text/src/text2.mjs.map +1 -1
  351. package/es/components/tooltip/index.mjs +2 -2
  352. package/es/components/tooltip/src/tooltip.mjs +167 -30
  353. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  354. package/es/components/tooltip/src/tooltip2.mjs +30 -167
  355. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  356. package/es/components/upload/index.mjs +1 -1
  357. package/es/components/upload/src/upload-content2.mjs +1 -1
  358. package/es/components/upload/src/upload-dragger.mjs +61 -8
  359. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  360. package/es/components/upload/src/upload-dragger2.mjs +8 -61
  361. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  362. package/es/index.mjs +12 -12
  363. package/es/version.d.ts +1 -1
  364. package/es/version.mjs +1 -1
  365. package/es/version.mjs.map +1 -1
  366. package/lib/components/affix/index.js +2 -2
  367. package/lib/components/affix/src/affix.js +25 -129
  368. package/lib/components/affix/src/affix.js.map +1 -1
  369. package/lib/components/affix/src/affix2.js +129 -25
  370. package/lib/components/affix/src/affix2.js.map +1 -1
  371. package/lib/components/alert/index.js +2 -2
  372. package/lib/components/alert/src/alert.js +95 -41
  373. package/lib/components/alert/src/alert.js.map +1 -1
  374. package/lib/components/alert/src/alert2.js +41 -95
  375. package/lib/components/alert/src/alert2.js.map +1 -1
  376. package/lib/components/button/index.js +2 -2
  377. package/lib/components/button/src/button-group.js +1 -1
  378. package/lib/components/button/src/button.js +68 -88
  379. package/lib/components/button/src/button.js.map +1 -1
  380. package/lib/components/button/src/button2.js +88 -68
  381. package/lib/components/button/src/button2.js.map +1 -1
  382. package/lib/components/carousel/index.js +2 -2
  383. package/lib/components/carousel/src/carousel-item.js +7 -69
  384. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  385. package/lib/components/carousel/src/carousel-item2.js +69 -7
  386. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  387. package/lib/components/color-picker/src/color-picker2.js +1 -1
  388. package/lib/components/color-picker-panel/index.js +2 -2
  389. package/lib/components/color-picker-panel/src/color-picker-panel.js +30 -132
  390. package/lib/components/color-picker-panel/src/color-picker-panel.js.map +1 -1
  391. package/lib/components/color-picker-panel/src/color-picker-panel2.js +132 -30
  392. package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
  393. package/lib/components/color-picker-panel/src/composables/use-predefine.js +1 -1
  394. package/lib/components/index.js +12 -12
  395. package/lib/components/input-tag/index.js +2 -2
  396. package/lib/components/input-tag/src/input-tag.js +82 -281
  397. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  398. package/lib/components/input-tag/src/input-tag2.js +281 -82
  399. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  400. package/lib/components/menu/index.js +2 -2
  401. package/lib/components/menu/src/menu-item.js +101 -16
  402. package/lib/components/menu/src/menu-item.js.map +1 -1
  403. package/lib/components/menu/src/menu-item2.js +16 -101
  404. package/lib/components/menu/src/menu-item2.js.map +1 -1
  405. package/lib/components/pagination/src/components/pager.js +210 -16
  406. package/lib/components/pagination/src/components/pager.js.map +1 -1
  407. package/lib/components/pagination/src/components/pager2.js +16 -210
  408. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  409. package/lib/components/pagination/src/pagination.js +1 -1
  410. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  411. package/lib/components/popover/index.js +2 -2
  412. package/lib/components/popover/src/popover.js +67 -112
  413. package/lib/components/popover/src/popover.js.map +1 -1
  414. package/lib/components/popover/src/popover2.js +112 -67
  415. package/lib/components/popover/src/popover2.js.map +1 -1
  416. package/lib/components/scrollbar/src/bar.js +10 -64
  417. package/lib/components/scrollbar/src/bar.js.map +1 -1
  418. package/lib/components/scrollbar/src/bar2.js +64 -10
  419. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  420. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  421. package/lib/components/segmented/index.js +2 -2
  422. package/lib/components/segmented/src/segmented.js +44 -170
  423. package/lib/components/segmented/src/segmented.js.map +1 -1
  424. package/lib/components/segmented/src/segmented2.js +170 -44
  425. package/lib/components/segmented/src/segmented2.js.map +1 -1
  426. package/lib/components/select/src/useOption.js +1 -1
  427. package/lib/components/select/src/useOption.js.map +1 -1
  428. package/lib/components/select/src/useSelect.js +1 -1
  429. package/lib/components/select/src/useSelect.js.map +1 -1
  430. package/lib/components/select-v2/src/useSelect.js +10 -2
  431. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  432. package/lib/components/slider/src/button.js +91 -20
  433. package/lib/components/slider/src/button.js.map +1 -1
  434. package/lib/components/slider/src/button2.js +20 -91
  435. package/lib/components/slider/src/button2.js.map +1 -1
  436. package/lib/components/slider/src/slider2.js +1 -1
  437. package/lib/components/text/index.js +2 -2
  438. package/lib/components/text/src/text.js +21 -67
  439. package/lib/components/text/src/text.js.map +1 -1
  440. package/lib/components/text/src/text2.js +67 -21
  441. package/lib/components/text/src/text2.js.map +1 -1
  442. package/lib/components/tooltip/index.js +2 -2
  443. package/lib/components/tooltip/src/tooltip.js +167 -34
  444. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  445. package/lib/components/tooltip/src/tooltip2.js +34 -167
  446. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  447. package/lib/components/upload/index.js +1 -1
  448. package/lib/components/upload/src/upload-content2.js +1 -1
  449. package/lib/components/upload/src/upload-dragger.js +61 -9
  450. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  451. package/lib/components/upload/src/upload-dragger2.js +9 -61
  452. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  453. package/lib/index.js +12 -12
  454. package/lib/version.d.ts +1 -1
  455. package/lib/version.js +1 -1
  456. package/lib/version.js.map +1 -1
  457. package/package.json +2 -2
  458. package/web-types.json +1 -1
@@ -2,52 +2,178 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var index = require('../../../hooks/use-size/index.js');
7
- var index$1 = require('../../../hooks/use-aria/index.js');
8
- var event = require('../../../constants/event.js');
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ var segmented = require('./segmented.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-namespace/index.js');
10
+ var index$1 = require('../../../hooks/use-id/index.js');
11
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
12
+ var useFormItem = require('../../form/src/hooks/use-form-item.js');
9
13
  var shared = require('@vue/shared');
10
- var types = require('../../../utils/types.js');
14
+ var error = require('../../../utils/error.js');
15
+ var event = require('../../../constants/event.js');
11
16
 
12
- const defaultProps = {
13
- label: "label",
14
- value: "value",
15
- disabled: "disabled"
16
- };
17
- const segmentedProps = runtime.buildProps({
18
- direction: {
19
- type: runtime.definePropType(String),
20
- default: "horizontal"
21
- },
22
- options: {
23
- type: runtime.definePropType(Array),
24
- default: () => []
25
- },
26
- modelValue: {
27
- type: [String, Number, Boolean],
28
- default: void 0
29
- },
30
- props: {
31
- type: runtime.definePropType(Object),
32
- default: () => defaultProps
33
- },
34
- block: Boolean,
35
- size: index.useSizeProp,
36
- disabled: Boolean,
37
- validateEvent: {
38
- type: Boolean,
39
- default: true
40
- },
41
- id: String,
42
- name: String,
43
- ...index$1.useAriaProps(["ariaLabel"])
17
+ const __default__ = vue.defineComponent({
18
+ name: "ElSegmented"
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
+ ...__default__,
22
+ props: segmented.segmentedProps,
23
+ emits: segmented.segmentedEmits,
24
+ setup(__props, { emit }) {
25
+ const props = __props;
26
+ const ns = index.useNamespace("segmented");
27
+ const segmentedId = index$1.useId();
28
+ const segmentedSize = useFormCommonProps.useFormSize();
29
+ const _disabled = useFormCommonProps.useFormDisabled();
30
+ const { formItem } = useFormItem.useFormItem();
31
+ const { inputId, isLabeledByFormItem } = useFormItem.useFormItemInputId(props, {
32
+ formItemContext: formItem
33
+ });
34
+ const segmentedRef = vue.ref(null);
35
+ const activeElement = core.useActiveElement();
36
+ const state = vue.reactive({
37
+ isInit: false,
38
+ width: 0,
39
+ height: 0,
40
+ translateX: 0,
41
+ translateY: 0,
42
+ focusVisible: false
43
+ });
44
+ const handleChange = (item) => {
45
+ const value = getValue(item);
46
+ emit(event.UPDATE_MODEL_EVENT, value);
47
+ emit(event.CHANGE_EVENT, value);
48
+ };
49
+ const aliasProps = vue.computed(() => ({ ...segmented.defaultProps, ...props.props }));
50
+ const intoAny = (item) => item;
51
+ const getValue = (item) => {
52
+ return shared.isObject(item) ? item[aliasProps.value.value] : item;
53
+ };
54
+ const getLabel = (item) => {
55
+ return shared.isObject(item) ? item[aliasProps.value.label] : item;
56
+ };
57
+ const getDisabled = (item) => {
58
+ return !!(_disabled.value || (shared.isObject(item) ? item[aliasProps.value.disabled] : false));
59
+ };
60
+ const getSelected = (item) => {
61
+ return props.modelValue === getValue(item);
62
+ };
63
+ const getOption = (value) => {
64
+ return props.options.find((item) => getValue(item) === value);
65
+ };
66
+ const getItemCls = (item) => {
67
+ return [
68
+ ns.e("item"),
69
+ ns.is("selected", getSelected(item)),
70
+ ns.is("disabled", getDisabled(item))
71
+ ];
72
+ };
73
+ const updateSelect = () => {
74
+ if (!segmentedRef.value)
75
+ return;
76
+ const selectedItem = segmentedRef.value.querySelector(".is-selected");
77
+ const selectedItemInput = segmentedRef.value.querySelector(".is-selected input");
78
+ if (!selectedItem || !selectedItemInput) {
79
+ state.width = 0;
80
+ state.height = 0;
81
+ state.translateX = 0;
82
+ state.translateY = 0;
83
+ state.focusVisible = false;
84
+ return;
85
+ }
86
+ state.isInit = true;
87
+ if (props.direction === "vertical") {
88
+ state.height = selectedItem.offsetHeight;
89
+ state.translateY = selectedItem.offsetTop;
90
+ } else {
91
+ state.width = selectedItem.offsetWidth;
92
+ state.translateX = selectedItem.offsetLeft;
93
+ }
94
+ try {
95
+ state.focusVisible = selectedItemInput.matches(":focus-visible");
96
+ } catch (e) {
97
+ }
98
+ };
99
+ const segmentedCls = vue.computed(() => [
100
+ ns.b(),
101
+ ns.m(segmentedSize.value),
102
+ ns.is("block", props.block)
103
+ ]);
104
+ const selectedStyle = vue.computed(() => ({
105
+ width: props.direction === "vertical" ? "100%" : `${state.width}px`,
106
+ height: props.direction === "vertical" ? `${state.height}px` : "100%",
107
+ transform: props.direction === "vertical" ? `translateY(${state.translateY}px)` : `translateX(${state.translateX}px)`,
108
+ display: state.isInit ? "block" : "none"
109
+ }));
110
+ const selectedCls = vue.computed(() => [
111
+ ns.e("item-selected"),
112
+ ns.is("disabled", getDisabled(getOption(props.modelValue))),
113
+ ns.is("focus-visible", state.focusVisible)
114
+ ]);
115
+ const name = vue.computed(() => {
116
+ return props.name || segmentedId.value;
117
+ });
118
+ core.useResizeObserver(segmentedRef, updateSelect);
119
+ vue.watch(activeElement, updateSelect);
120
+ vue.watch(() => props.modelValue, () => {
121
+ var _a;
122
+ updateSelect();
123
+ if (props.validateEvent) {
124
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => error.debugWarn(err));
125
+ }
126
+ }, {
127
+ flush: "post"
128
+ });
129
+ return (_ctx, _cache) => {
130
+ return _ctx.options.length ? (vue.openBlock(), vue.createElementBlock("div", {
131
+ key: 0,
132
+ id: vue.unref(inputId),
133
+ ref_key: "segmentedRef",
134
+ ref: segmentedRef,
135
+ class: vue.normalizeClass(vue.unref(segmentedCls)),
136
+ role: "radiogroup",
137
+ "aria-label": !vue.unref(isLabeledByFormItem) ? _ctx.ariaLabel || "segmented" : void 0,
138
+ "aria-labelledby": vue.unref(isLabeledByFormItem) ? vue.unref(formItem).labelId : void 0
139
+ }, [
140
+ vue.createElementVNode("div", {
141
+ class: vue.normalizeClass([vue.unref(ns).e("group"), vue.unref(ns).m(_ctx.direction)])
142
+ }, [
143
+ vue.createElementVNode("div", {
144
+ style: vue.normalizeStyle(vue.unref(selectedStyle)),
145
+ class: vue.normalizeClass(vue.unref(selectedCls))
146
+ }, null, 6),
147
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (item, index) => {
148
+ return vue.openBlock(), vue.createElementBlock("label", {
149
+ key: index,
150
+ class: vue.normalizeClass(getItemCls(item))
151
+ }, [
152
+ vue.createElementVNode("input", {
153
+ class: vue.normalizeClass(vue.unref(ns).e("item-input")),
154
+ type: "radio",
155
+ name: vue.unref(name),
156
+ disabled: getDisabled(item),
157
+ checked: getSelected(item),
158
+ onChange: ($event) => handleChange(item)
159
+ }, null, 42, ["name", "disabled", "checked", "onChange"]),
160
+ vue.createElementVNode("div", {
161
+ class: vue.normalizeClass(vue.unref(ns).e("item-label"))
162
+ }, [
163
+ vue.renderSlot(_ctx.$slots, "default", {
164
+ item: intoAny(item)
165
+ }, () => [
166
+ vue.createTextVNode(vue.toDisplayString(getLabel(item)), 1)
167
+ ])
168
+ ], 2)
169
+ ], 2);
170
+ }), 128))
171
+ ], 2)
172
+ ], 10, ["id", "aria-label", "aria-labelledby"])) : vue.createCommentVNode("v-if", true);
173
+ };
174
+ }
44
175
  });
45
- const segmentedEmits = {
46
- [event.UPDATE_MODEL_EVENT]: (val) => shared.isString(val) || types.isNumber(val) || types.isBoolean(val),
47
- [event.CHANGE_EVENT]: (val) => shared.isString(val) || types.isNumber(val) || types.isBoolean(val)
48
- };
176
+ var Segmented = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "segmented.vue"]]);
49
177
 
50
- exports.defaultProps = defaultProps;
51
- exports.segmentedEmits = segmentedEmits;
52
- exports.segmentedProps = segmentedProps;
178
+ exports["default"] = Segmented;
53
179
  //# sourceMappingURL=segmented2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmented2.js","sources":["../../../../../../packages/components/segmented/src/segmented.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isBoolean,\n isNumber,\n isString,\n} from '@element-plus/utils'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type { Option } from './types'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type Segmented from './segmented.vue'\n\nexport interface Props {\n label?: string\n value?: string\n disabled?: string\n}\n\nexport const defaultProps: Required<Props> = {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n}\n\nexport const segmentedProps = buildProps({\n direction: {\n type: definePropType<'vertical' | 'horizontal'>(String),\n default: 'horizontal',\n },\n /**\n * @description options of segmented\n */\n options: {\n type: definePropType<Option[]>(Array),\n default: () => [],\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n /**\n * @description configuration options, see the following table\n */\n props: {\n type: definePropType<Props>(Object),\n default: () => defaultProps,\n },\n /**\n * @description fit width of parent content\n */\n block: Boolean,\n /**\n * @description size of component\n */\n size: useSizeProp,\n /**\n * @description whether segmented is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description native `name` attribute\n */\n name: String,\n ...useAriaProps(['ariaLabel']),\n})\n\nexport type SegmentedProps = ExtractPropTypes<typeof segmentedProps>\nexport type SegmentedPropsPublic = __ExtractPublicPropTypes<\n typeof segmentedProps\n>\n\nexport const segmentedEmits = {\n [UPDATE_MODEL_EVENT]: (val: any) =>\n isString(val) || isNumber(val) || isBoolean(val),\n [CHANGE_EVENT]: (val: any) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\nexport type SegmentedEmits = typeof segmentedEmits\n\nexport type SegmentedInstance = InstanceType<typeof Segmented> & unknown\n"],"names":["buildProps","definePropType","useSizeProp","useAriaProps","UPDATE_MODEL_EVENT","isString","isNumber","isBoolean","CHANGE_EVENT"],"mappings":";;;;;;;;;;;AASY,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE;AACU,MAAC,cAAc,GAAGA,kBAAU,CAAC;AACzC,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEC,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEA,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,MAAM,YAAY;AAC/B,GAAG;AACH,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,GAAGC,oBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AACjF,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,KAAKH,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AAC3E;;;;;;"}
1
+ {"version":3,"file":"segmented2.js","sources":["../../../../../../packages/components/segmented/src/segmented.vue"],"sourcesContent":["<template>\n <div\n v-if=\"options.length\"\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'), ns.m(direction)]\">\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=\"intoAny(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 { defaultProps, segmentedEmits, segmentedProps } from './segmented'\n\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 height: 0,\n translateX: 0,\n translateY: 0,\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 aliasProps = computed(() => ({ ...defaultProps, ...props.props }))\n\n//FIXME: remove this when vue >=3.3\nconst intoAny = (item: any) => item\n\nconst getValue = (item: Option) => {\n return isObject(item) ? item[aliasProps.value.value] : item\n}\n\nconst getLabel = (item: Option) => {\n return isObject(item) ? item[aliasProps.value.label] : item\n}\n\nconst getDisabled = (item: Option | undefined) => {\n return !!(\n _disabled.value ||\n (isObject(item) ? item[aliasProps.value.disabled] : false)\n )\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.height = 0\n state.translateX = 0\n state.translateY = 0\n state.focusVisible = false\n return\n }\n state.isInit = true\n if (props.direction === 'vertical') {\n state.height = selectedItem.offsetHeight\n state.translateY = selectedItem.offsetTop\n } else {\n state.width = selectedItem.offsetWidth\n state.translateX = selectedItem.offsetLeft\n }\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: props.direction === 'vertical' ? '100%' : `${state.width}px`,\n height: props.direction === 'vertical' ? `${state.height}px` : '100%',\n transform:\n props.direction === 'vertical'\n ? `translateY(${state.translateY}px)`\n : `translateX(${state.translateX}px)`,\n display: state.isInit ? 'block' : 'none',\n}))\n\nconst selectedCls = computed(() => [\n ns.e('item-selected'),\n ns.is('disabled', getDisabled(getOption(props.modelValue))),\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","computed","defaultProps","isObject","useResizeObserver","watch","debugWarn","_openBlock","_createElementBlock","_unref"],"mappings":"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"}
@@ -50,7 +50,7 @@ function useOption(props, states) {
50
50
  }
51
51
  };
52
52
  const hoverItem = () => {
53
- if (!props.disabled && !selectGroup.disabled) {
53
+ if (!isDisabled.value) {
54
54
  select.states.hoveringIndex = select.optionsArray.indexOf(instance.proxy);
55
55
  }
56
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useOption.js","sources":["../../../../../../packages/components/select/src/useOption.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, toRaw, watch } from 'vue'\nimport { get, isEqual } from 'lodash-unified'\nimport {\n ensureArray,\n escapeStringRegexp,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { selectGroupKey, selectKey } from './token'\nimport { COMPONENT_NAME } from './option'\n\nimport type { OptionInternalInstance, OptionProps, OptionStates } from './type'\n\nexport function useOption(props: OptionProps, states: OptionStates) {\n // inject\n const select = inject(selectKey)\n if (!select) {\n throwError(COMPONENT_NAME, 'usage: <el-select><el-option /></el-select/>')\n }\n const selectGroup = inject(selectGroupKey, { disabled: false })\n\n // computed\n const itemSelected = computed(() => {\n return contains(ensureArray(select.props.modelValue), props.value)\n })\n\n const limitReached = computed(() => {\n if (select.props.multiple) {\n const modelValue = ensureArray(select.props.modelValue ?? [])\n return (\n !itemSelected.value &&\n modelValue.length >= select.props.multipleLimit &&\n select.props.multipleLimit > 0\n )\n } else {\n return false\n }\n })\n\n const currentLabel = computed(() => {\n return props.label ?? (isObject(props.value) ? '' : props.value)\n })\n\n const currentValue = computed(() => {\n return props.value || props.label || ''\n })\n\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value\n })\n\n const instance = getCurrentInstance()! as OptionInternalInstance\n const contains = <T>(arr: T[] = [], target: T) => {\n if (!isObject(props.value)) {\n return arr && arr.includes(target)\n } else {\n const valueKey = select.props.valueKey\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n }\n\n const hoverItem = () => {\n if (!props.disabled && !selectGroup.disabled) {\n select.states.hoveringIndex = select.optionsArray.indexOf(instance.proxy)\n }\n }\n\n const updateOption = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n states.visible = regexp.test(String(currentLabel.value)) || props.created\n }\n\n watch(\n () => currentLabel.value,\n () => {\n if (!props.created && !select.props.remote) select.setSelected()\n }\n )\n\n watch(\n () => props.value,\n (val, oldVal) => {\n const { remote, valueKey } = select.props\n const shouldUpdate = remote ? val !== oldVal : !isEqual(val, oldVal)\n if (shouldUpdate) {\n select.onOptionDestroy(oldVal, instance.proxy)\n select.onOptionCreate(instance.proxy)\n }\n\n if (!props.created && !remote) {\n if (\n valueKey &&\n isObject(val) &&\n isObject(oldVal) &&\n val[valueKey] === oldVal[valueKey]\n ) {\n return\n }\n select.setSelected()\n }\n }\n )\n\n watch(\n () => selectGroup.disabled,\n () => {\n states.groupDisabled = selectGroup.disabled\n },\n { immediate: true }\n )\n\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n updateOption,\n }\n}\n"],"names":["inject","selectKey","throwError","COMPONENT_NAME","selectGroupKey","computed","ensureArray","isObject","getCurrentInstance","toRaw","get","escapeStringRegexp","watch","isEqual"],"mappings":"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"}
1
+ {"version":3,"file":"useOption.js","sources":["../../../../../../packages/components/select/src/useOption.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, toRaw, watch } from 'vue'\nimport { get, isEqual } from 'lodash-unified'\nimport {\n ensureArray,\n escapeStringRegexp,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { selectGroupKey, selectKey } from './token'\nimport { COMPONENT_NAME } from './option'\n\nimport type { OptionInternalInstance, OptionProps, OptionStates } from './type'\n\nexport function useOption(props: OptionProps, states: OptionStates) {\n // inject\n const select = inject(selectKey)\n if (!select) {\n throwError(COMPONENT_NAME, 'usage: <el-select><el-option /></el-select/>')\n }\n const selectGroup = inject(selectGroupKey, { disabled: false })\n\n // computed\n const itemSelected = computed(() => {\n return contains(ensureArray(select.props.modelValue), props.value)\n })\n\n const limitReached = computed(() => {\n if (select.props.multiple) {\n const modelValue = ensureArray(select.props.modelValue ?? [])\n return (\n !itemSelected.value &&\n modelValue.length >= select.props.multipleLimit &&\n select.props.multipleLimit > 0\n )\n } else {\n return false\n }\n })\n\n const currentLabel = computed(() => {\n return props.label ?? (isObject(props.value) ? '' : props.value)\n })\n\n const currentValue = computed(() => {\n return props.value || props.label || ''\n })\n\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value\n })\n\n const instance = getCurrentInstance()! as OptionInternalInstance\n const contains = <T>(arr: T[] = [], target: T) => {\n if (!isObject(props.value)) {\n return arr && arr.includes(target)\n } else {\n const valueKey = select.props.valueKey\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n }\n\n const hoverItem = () => {\n if (!isDisabled.value) {\n select.states.hoveringIndex = select.optionsArray.indexOf(instance.proxy)\n }\n }\n\n const updateOption = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n states.visible = regexp.test(String(currentLabel.value)) || props.created\n }\n\n watch(\n () => currentLabel.value,\n () => {\n if (!props.created && !select.props.remote) select.setSelected()\n }\n )\n\n watch(\n () => props.value,\n (val, oldVal) => {\n const { remote, valueKey } = select.props\n const shouldUpdate = remote ? val !== oldVal : !isEqual(val, oldVal)\n if (shouldUpdate) {\n select.onOptionDestroy(oldVal, instance.proxy)\n select.onOptionCreate(instance.proxy)\n }\n\n if (!props.created && !remote) {\n if (\n valueKey &&\n isObject(val) &&\n isObject(oldVal) &&\n val[valueKey] === oldVal[valueKey]\n ) {\n return\n }\n select.setSelected()\n }\n }\n )\n\n watch(\n () => selectGroup.disabled,\n () => {\n states.groupDisabled = selectGroup.disabled\n },\n { immediate: true }\n )\n\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n updateOption,\n }\n}\n"],"names":["inject","selectKey","throwError","COMPONENT_NAME","selectGroupKey","computed","ensureArray","isObject","getCurrentInstance","toRaw","get","escapeStringRegexp","watch","isEqual"],"mappings":"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"}
@@ -198,7 +198,6 @@ const useSelect = (props, emit) => {
198
198
  states.previousQuery = null;
199
199
  states.isBeforeHide = true;
200
200
  }
201
- emit("visible-change", val);
202
201
  });
203
202
  vue.watch(() => states.options.entries(), () => {
204
203
  if (!core.isClient)
@@ -668,6 +667,7 @@ const useSelect = (props, emit) => {
668
667
  stop == null ? void 0 : stop();
669
668
  stop = void 0;
670
669
  }
670
+ emit("visible-change", newVal);
671
671
  });
672
672
  vue.onMounted(() => {
673
673
  setSelected();
@@ -1 +1 @@
1
- {"version":3,"file":"useSelect.js","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport { clamp, findLastIndex, get, isEqual, isNil } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n ensureArray,\n getEventCode,\n isArray,\n isClient,\n isEmpty,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type { Component } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { SelectEmits, SelectProps } from './select'\nimport type {\n OptionBasic,\n OptionPublicInstance,\n OptionValue,\n SelectStates,\n} from './type'\n\nexport const useSelect = (props: SelectProps, emit: SelectEmits) => {\n const { t } = useLocale()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive<SelectStates>({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [], // sorted value of options\n selected: [],\n selectionWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLInputElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<HTMLElement>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n const scrollbarRef = ref<ScrollbarInstance>()\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n const debouncing = ref(false)\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = computed(() => props.disabled || !!form?.disabled)\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', !!(iconComponent.value && expanded.value))\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () =>\n validateState.value &&\n (ValidateComponentsMap[validateState.value] as Component)\n )\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && states.options.size === 0\n )\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList: OptionPublicInstance[] = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading || !isRemoteSearchEmpty.value) &&\n (!debouncing.value || !isEmpty(states.previousQuery))\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = computed(() => (isIOS ? null : 'mouseenter'))\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n }\n emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n setSelected()\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch([() => states.hoveringIndex, optionsArray], ([val]) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n })\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: SelectStates['selected'] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value: OptionValue) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n index: optionsArray.value\n .filter((opt) => !opt.created)\n .indexOf(cachedOption),\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : (value ?? '')\n const newOption = {\n index: -1,\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n const length = states.selected.length\n if (length > 0) {\n const lastOption = states.selected[length - 1]\n states.hoveringIndex = optionsArray.value.findIndex(\n (item) => getValueKey(lastOption) === getValueKey(item)\n )\n } else {\n states.hoveringIndex = -1\n }\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const emitChange = (val: OptionValue | OptionValue[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value: OptionValue[]) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return !option?.disabled && !option?.states.groupDisabled\n })\n\n const deletePrevTag = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if ((e.target as HTMLInputElement).value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event: MouseEvent, tag: OptionBasic) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event: Event) => {\n event.stopPropagation()\n const value = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option: OptionPublicInstance) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n }\n } else {\n !isEqual(props.modelValue, option.value) &&\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: OptionValue[], option: OptionPublicInstance) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (\n option:\n | OptionPublicInstance\n | OptionPublicInstance[]\n | SelectStates['selected']\n ) => {\n const targetOption = isArray(option) ? option[option.length - 1] : option\n let target = null\n\n if (!isNil(targetOption?.value)) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: OptionPublicInstance) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key: OptionValue, vm: OptionPublicInstance) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => {\n scrollbarRef.value?.update()\n scrollToOption(states.selected)\n })\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const toggleMenu = () => {\n if (selectDisabled.value) return\n\n // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.isDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (\n item: OptionPublicInstance | SelectStates['selected'][0]\n ) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.isDisabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction: 'prev' | 'next') => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n filteredOptionsCount.value === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (option.isDisabled || !option.visible) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const findFocusableIndex = (\n arr: any[],\n start: number,\n step: number,\n len: number\n ) => {\n for (let i = start; i >= 0 && i < len; i += step) {\n const obj = arr[i]\n if (!obj?.isDisabled && obj?.visible) {\n return i\n }\n }\n return null\n }\n\n const focusOption = (targetIndex: number, mode: 'up' | 'down') => {\n const len = states.options.size\n if (len === 0) return\n const start = clamp(targetIndex, 0, len - 1)\n const options = optionsArray.value\n const direction = mode === 'up' ? -1 : 1\n const newIndex =\n findFocusableIndex(options, start, direction, len) ??\n findFocusableIndex(options, start - direction, -direction, len)\n\n if (newIndex != null) {\n states.hoveringIndex = newIndex\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n let isPreventDefault = true\n switch (code) {\n case EVENT_CODE.up:\n navigateOptions('prev')\n break\n case EVENT_CODE.down:\n navigateOptions('next')\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n selectOption()\n break\n case EVENT_CODE.esc:\n handleEsc()\n break\n case EVENT_CODE.backspace:\n isPreventDefault = false\n deletePrevTag(e)\n return\n case EVENT_CODE.home:\n if (!expanded.value) return\n focusOption(0, 'down')\n break\n case EVENT_CODE.end:\n if (!expanded.value) return\n focusOption(states.options.size - 1, 'up')\n break\n case EVENT_CODE.pageUp:\n if (!expanded.value) return\n focusOption(states.hoveringIndex - 10, 'up')\n break\n case EVENT_CODE.pageDown:\n if (!expanded.value) return\n focusOption(states.hoveringIndex + 10, 'down')\n break\n default:\n isPreventDefault = false\n break\n }\n if (isPreventDefault) {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const popupScroll = (data: { scrollTop: number; scrollLeft: number }) => {\n emit('popup-scroll', data)\n }\n\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n }\n )\n\n onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClearBtn,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n handleKeydown,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n popupScroll,\n getOption,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n"],"names":["useLocale","useId","useNamespace","reactive","ref","form","useFormItem","useFormItemInputId","useEmptyValues","useComposition","computed","useFocusController","debugWarn","isArray","ValidateComponentsMap","isFunction","useFormSize","isEmpty","isUndefined","ensureArray","isIOS","watch","isEqual","isClient","isNumber","watchEffect","nextTick","isPlainObject","get","useDebounceFn","CHANGE_EVENT","findLastIndex","getEventCode","EVENT_CODE","UPDATE_MODEL_EVENT","isObject","isNil","scrollIntoView","clamp","MINIMUM_INPUT_WIDTH","useResizeObserver","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"useSelect.js","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport { clamp, findLastIndex, get, isEqual, isNil } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n ensureArray,\n getEventCode,\n isArray,\n isClient,\n isEmpty,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type { Component } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { SelectEmits, SelectProps } from './select'\nimport type {\n OptionBasic,\n OptionPublicInstance,\n OptionValue,\n SelectStates,\n} from './type'\n\nexport const useSelect = (props: SelectProps, emit: SelectEmits) => {\n const { t } = useLocale()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive<SelectStates>({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [], // sorted value of options\n selected: [],\n selectionWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLInputElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<HTMLElement>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n const scrollbarRef = ref<ScrollbarInstance>()\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n const debouncing = ref(false)\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = computed(() => props.disabled || !!form?.disabled)\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', !!(iconComponent.value && expanded.value))\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () =>\n validateState.value &&\n (ValidateComponentsMap[validateState.value] as Component)\n )\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && states.options.size === 0\n )\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList: OptionPublicInstance[] = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading || !isRemoteSearchEmpty.value) &&\n (!debouncing.value || !isEmpty(states.previousQuery))\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = computed(() => (isIOS ? null : 'mouseenter'))\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n }\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n setSelected()\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch([() => states.hoveringIndex, optionsArray], ([val]) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n })\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: SelectStates['selected'] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value: OptionValue) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n index: optionsArray.value\n .filter((opt) => !opt.created)\n .indexOf(cachedOption),\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : (value ?? '')\n const newOption = {\n index: -1,\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n const length = states.selected.length\n if (length > 0) {\n const lastOption = states.selected[length - 1]\n states.hoveringIndex = optionsArray.value.findIndex(\n (item) => getValueKey(lastOption) === getValueKey(item)\n )\n } else {\n states.hoveringIndex = -1\n }\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const emitChange = (val: OptionValue | OptionValue[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value: OptionValue[]) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return !option?.disabled && !option?.states.groupDisabled\n })\n\n const deletePrevTag = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if ((e.target as HTMLInputElement).value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event: MouseEvent, tag: OptionBasic) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event: Event) => {\n event.stopPropagation()\n const value = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option: OptionPublicInstance) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n }\n } else {\n !isEqual(props.modelValue, option.value) &&\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: OptionValue[], option: OptionPublicInstance) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (\n option:\n | OptionPublicInstance\n | OptionPublicInstance[]\n | SelectStates['selected']\n ) => {\n const targetOption = isArray(option) ? option[option.length - 1] : option\n let target = null\n\n if (!isNil(targetOption?.value)) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: OptionPublicInstance) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key: OptionValue, vm: OptionPublicInstance) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => {\n scrollbarRef.value?.update()\n scrollToOption(states.selected)\n })\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const toggleMenu = () => {\n if (selectDisabled.value) return\n\n // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.isDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (\n item: OptionPublicInstance | SelectStates['selected'][0]\n ) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.isDisabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction: 'prev' | 'next') => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n filteredOptionsCount.value === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (option.isDisabled || !option.visible) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const findFocusableIndex = (\n arr: any[],\n start: number,\n step: number,\n len: number\n ) => {\n for (let i = start; i >= 0 && i < len; i += step) {\n const obj = arr[i]\n if (!obj?.isDisabled && obj?.visible) {\n return i\n }\n }\n return null\n }\n\n const focusOption = (targetIndex: number, mode: 'up' | 'down') => {\n const len = states.options.size\n if (len === 0) return\n const start = clamp(targetIndex, 0, len - 1)\n const options = optionsArray.value\n const direction = mode === 'up' ? -1 : 1\n const newIndex =\n findFocusableIndex(options, start, direction, len) ??\n findFocusableIndex(options, start - direction, -direction, len)\n\n if (newIndex != null) {\n states.hoveringIndex = newIndex\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n let isPreventDefault = true\n switch (code) {\n case EVENT_CODE.up:\n navigateOptions('prev')\n break\n case EVENT_CODE.down:\n navigateOptions('next')\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n selectOption()\n break\n case EVENT_CODE.esc:\n handleEsc()\n break\n case EVENT_CODE.backspace:\n isPreventDefault = false\n deletePrevTag(e)\n return\n case EVENT_CODE.home:\n if (!expanded.value) return\n focusOption(0, 'down')\n break\n case EVENT_CODE.end:\n if (!expanded.value) return\n focusOption(states.options.size - 1, 'up')\n break\n case EVENT_CODE.pageUp:\n if (!expanded.value) return\n focusOption(states.hoveringIndex - 10, 'up')\n break\n case EVENT_CODE.pageDown:\n if (!expanded.value) return\n focusOption(states.hoveringIndex + 10, 'down')\n break\n default:\n isPreventDefault = false\n break\n }\n if (isPreventDefault) {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const popupScroll = (data: { scrollTop: number; scrollLeft: number }) => {\n emit('popup-scroll', data)\n }\n\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n emit('visible-change', newVal)\n }\n )\n\n onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClearBtn,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n handleKeydown,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n popupScroll,\n getOption,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n"],"names":["useLocale","useId","useNamespace","reactive","ref","form","useFormItem","useFormItemInputId","useEmptyValues","useComposition","computed","useFocusController","debugWarn","isArray","ValidateComponentsMap","isFunction","useFormSize","isEmpty","isUndefined","ensureArray","isIOS","watch","isEqual","isClient","isNumber","watchEffect","nextTick","isPlainObject","get","useDebounceFn","CHANGE_EVENT","findLastIndex","getEventCode","EVENT_CODE","UPDATE_MODEL_EVENT","isObject","isNil","scrollIntoView","clamp","MINIMUM_INPUT_WIDTH","useResizeObserver","onMounted"],"mappings":"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"}