@element-plus/nightly 0.0.20260416 → 0.0.20260417

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 (708) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +90 -52
  3. package/dist/index.full.min.js +6 -6
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +90 -52
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +4 -4
  278. package/es/components/alert/src/alert.d.ts +2 -2
  279. package/es/components/alert/src/alert.vue.d.ts +1 -1
  280. package/es/components/anchor/src/anchor.vue.d.ts +4 -4
  281. package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
  282. package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
  283. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  284. package/es/components/avatar/src/avatar-group.d.ts +2 -2
  285. package/es/components/avatar/src/avatar.d.ts +2 -2
  286. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  287. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  288. package/es/components/badge/src/badge.d.ts +1 -1
  289. package/es/components/badge/src/badge.vue.d.ts +1 -1
  290. package/es/components/button/src/button-group.vue.d.ts +1 -1
  291. package/es/components/button/src/button.d.ts +2 -2
  292. package/es/components/button/src/button.vue.d.ts +5 -5
  293. package/es/components/calendar/src/calendar.d.ts +1 -1
  294. package/es/components/card/src/card.d.ts +1 -1
  295. package/es/components/card/src/card.vue.d.ts +1 -1
  296. package/es/components/carousel/src/carousel.d.ts +1 -1
  297. package/es/components/carousel/src/carousel.vue.d.ts +3 -3
  298. package/es/components/cascader/src/cascader.d.ts +5 -5
  299. package/es/components/cascader/src/cascader.vue.d.ts +15 -15
  300. package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
  301. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  302. package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  303. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  304. package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  305. package/es/components/checkbox/src/checkbox.d.ts +9 -9
  306. package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
  307. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  308. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  309. package/es/components/col/src/col.vue.d.ts +1 -1
  310. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  311. package/es/components/collapse/src/collapse.d.ts +1 -1
  312. package/es/components/collapse/src/collapse.vue.d.ts +2 -2
  313. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  314. package/es/components/color-picker/src/color-picker.vue.d.ts +7 -7
  315. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  316. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  317. package/es/components/config-provider/src/config-provider.d.ts +3 -3
  318. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  319. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  320. package/es/components/date-picker/src/date-picker.d.ts +13 -13
  321. package/es/components/date-picker/src/props.d.ts +2 -2
  322. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  323. package/es/components/descriptions/src/description-item.d.ts +19 -19
  324. package/es/components/descriptions/src/description.d.ts +1 -1
  325. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  326. package/es/components/dialog/src/dialog.vue.d.ts +4 -4
  327. package/es/components/divider/src/divider.d.ts +1 -1
  328. package/es/components/divider/src/divider.vue.d.ts +1 -1
  329. package/es/components/drawer/src/drawer.vue.d.ts +8 -8
  330. package/es/components/dropdown/src/dropdown-item.vue.d.ts +4 -4
  331. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  332. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  333. package/es/components/dropdown/src/dropdown.vue.d.ts +69 -69
  334. package/es/components/empty/src/empty.vue.d.ts +1 -1
  335. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  336. package/es/components/form/src/form-item.d.ts +2 -2
  337. package/es/components/form/src/form-item.vue.d.ts +1 -1
  338. package/es/components/form/src/form.d.ts +4 -4
  339. package/es/components/form/src/form.vue.d.ts +1 -1
  340. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  341. package/es/components/image/src/image.d.ts +1 -1
  342. package/es/components/image/src/image.vue.d.ts +5 -5
  343. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  344. package/es/components/index.d.ts +2 -2
  345. package/es/components/input/src/input.d.ts +3 -3
  346. package/es/components/input/src/input.vue.d.ts +19 -19
  347. package/es/components/input-number/src/input-number.d.ts +4 -4
  348. package/es/components/input-number/src/input-number.vue.d.ts +10 -10
  349. package/es/components/input-otp/src/input-otp.vue.d.ts +6 -6
  350. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  351. package/es/components/input-tag/src/input-tag.d.ts +4 -4
  352. package/es/components/input-tag/src/input-tag.vue.d.ts +15 -15
  353. package/es/components/link/src/link.d.ts +2 -2
  354. package/es/components/link/src/link.vue.d.ts +1 -1
  355. package/es/components/mention/src/mention.d.ts +4 -4
  356. package/es/components/mention/src/mention.vue.d.ts +3 -3
  357. package/es/components/menu/src/menu-item.d.ts +8 -5
  358. package/es/components/menu/src/menu-item.mjs +2 -2
  359. package/es/components/menu/src/menu-item.mjs.map +1 -1
  360. package/es/components/menu/src/menu-item.vue.d.ts +1 -3
  361. package/es/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.mjs +1 -3
  362. package/es/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  363. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  364. package/es/components/menu/src/menu.d.ts +2 -2
  365. package/es/components/menu/src/utils/menu-bar.mjs.map +1 -1
  366. package/es/components/menu/src/utils/menu-item.mjs +2 -3
  367. package/es/components/menu/src/utils/menu-item.mjs.map +1 -1
  368. package/es/components/menu/src/utils/submenu.mjs +1 -5
  369. package/es/components/menu/src/utils/submenu.mjs.map +1 -1
  370. package/es/components/message/src/message.d.ts +2 -2
  371. package/es/components/message/src/message.vue.d.ts +6 -6
  372. package/es/components/notification/src/notification.d.ts +1 -1
  373. package/es/components/notification/src/notification.vue.d.ts +4 -4
  374. package/es/components/pagination/src/pagination.d.ts +7 -7
  375. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  376. package/es/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
  377. package/es/components/popover/src/popover.d.ts +2 -2
  378. package/es/components/popover/src/popover.vue.d.ts +10 -10
  379. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  380. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  381. package/es/components/popper/src/content.d.ts +4 -4
  382. package/es/components/popper/src/content.vue.d.ts +7 -7
  383. package/es/components/popper/src/popper.d.ts +2 -2
  384. package/es/components/progress/src/progress.vue.d.ts +2 -2
  385. package/es/components/radio/src/radio-button.d.ts +4 -4
  386. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  387. package/es/components/radio/src/radio-group.d.ts +1 -1
  388. package/es/components/radio/src/radio-group.vue.d.ts +5 -5
  389. package/es/components/radio/src/radio.d.ts +8 -8
  390. package/es/components/radio/src/radio.vue.d.ts +4 -4
  391. package/es/components/rate/src/rate.d.ts +1 -1
  392. package/es/components/rate/src/rate.vue.d.ts +2 -2
  393. package/es/components/result/src/result.d.ts +1 -1
  394. package/es/components/result/src/result.vue.d.ts +1 -1
  395. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  396. package/es/components/row/src/row.d.ts +2 -2
  397. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  398. package/es/components/segmented/index.d.ts +4 -4
  399. package/es/components/segmented/src/segmented.d.ts +2 -2
  400. package/es/components/segmented/src/segmented.vue.d.ts +2 -2
  401. package/es/components/select/src/option.d.ts +2 -2
  402. package/es/components/select/src/option.vue.d.ts +5 -5
  403. package/es/components/select/src/select.d.ts +9 -6
  404. package/es/components/select/src/select.mjs +1 -0
  405. package/es/components/select/src/select.mjs.map +1 -1
  406. package/es/components/select/src/select.vue.d.ts +91 -89
  407. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +2 -1
  408. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  409. package/es/components/select/src/select2.mjs +4 -2
  410. package/es/components/select/src/select2.mjs.map +1 -1
  411. package/es/components/select/src/useSelect.mjs +4 -0
  412. package/es/components/select/src/useSelect.mjs.map +1 -1
  413. package/es/components/select-v2/src/defaults.d.ts +5 -4
  414. package/es/components/select-v2/src/defaults.mjs +2 -0
  415. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  416. package/es/components/select-v2/src/select-dropdown.d.ts +1 -0
  417. package/es/components/select-v2/src/select-dropdown.mjs +7 -1
  418. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  419. package/es/components/select-v2/src/select.mjs +4 -2
  420. package/es/components/select-v2/src/select.mjs.map +1 -1
  421. package/es/components/select-v2/src/select.vue.d.ts +83 -75
  422. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  423. package/es/components/select-v2/src/useSelect.mjs +4 -0
  424. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  425. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  426. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  427. package/es/components/slider/src/button.vue.d.ts +2 -2
  428. package/es/components/slider/src/slider.d.ts +2 -2
  429. package/es/components/slider/src/slider.vue.d.ts +11 -11
  430. package/es/components/space/src/space.d.ts +4 -4
  431. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  432. package/es/components/steps/src/item.d.ts +1 -1
  433. package/es/components/steps/src/item.vue.d.ts +1 -1
  434. package/es/components/steps/src/steps.d.ts +2 -2
  435. package/es/components/switch/src/switch.d.ts +1 -1
  436. package/es/components/switch/src/switch.vue.d.ts +4 -4
  437. package/es/components/table/src/table-column/index.d.ts +23 -23
  438. package/es/components/table/src/table-header/index.d.ts +16 -16
  439. package/es/components/table/src/table.vue.d.ts +48 -48
  440. package/es/components/table-v2/src/components/row.d.ts +1 -1
  441. package/es/components/table-v2/src/table-grid.d.ts +3 -3
  442. package/es/components/table-v2/src/table-v2.d.ts +4 -4
  443. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  444. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  445. package/es/components/tabs/src/tabs.d.ts +6 -6
  446. package/es/components/tag/src/tag.d.ts +3 -3
  447. package/es/components/tag/src/tag.vue.d.ts +1 -1
  448. package/es/components/text/src/text.d.ts +2 -2
  449. package/es/components/time-picker/src/common/picker.vue.d.ts +19 -19
  450. package/es/components/time-picker/src/common/props.d.ts +2 -2
  451. package/es/components/time-picker/src/time-picker.d.ts +13 -13
  452. package/es/components/time-select/src/time-select.d.ts +1 -1
  453. package/es/components/time-select/src/time-select.vue.d.ts +10 -10
  454. package/es/components/timeline/src/timeline-item.d.ts +3 -3
  455. package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
  456. package/es/components/tooltip/src/content.d.ts +1 -1
  457. package/es/components/tooltip/src/content.vue.d.ts +5 -5
  458. package/es/components/tooltip/src/tooltip.d.ts +3 -3
  459. package/es/components/tooltip/src/tooltip.vue.d.ts +13 -13
  460. package/es/components/tooltip/src/trigger.d.ts +1 -1
  461. package/es/components/tour/src/content.d.ts +2 -2
  462. package/es/components/tour/src/step.d.ts +1 -1
  463. package/es/components/tour/src/tour.d.ts +1 -1
  464. package/es/components/tour/src/tour.vue.d.ts +5 -5
  465. package/es/components/transfer/src/transfer.vue.d.ts +2 -2
  466. package/es/components/tree/src/tree.vue.d.ts +25 -25
  467. package/es/components/tree-select/src/tree-select.vue.d.ts +48 -48
  468. package/es/components/tree-v2/src/tree.vue.d.ts +6 -6
  469. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  470. package/es/components/upload/src/upload.vue.d.ts +3 -3
  471. package/es/components/virtual-list/index.d.ts +2 -2
  472. package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  473. package/es/components/virtual-list/src/builders/build-list.mjs +60 -36
  474. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  475. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  476. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +9 -8
  477. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  478. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +9 -8
  479. package/es/components/virtual-list/src/defaults.mjs +2 -1
  480. package/es/components/virtual-list/src/defaults.mjs.map +1 -1
  481. package/es/components/virtual-list/src/types.d.ts +7 -7
  482. package/es/components/watermark/src/watermark.vue.d.ts +1 -1
  483. package/es/hooks/use-floating/index.d.ts +8 -8
  484. package/es/hooks/use-popper/index.d.ts +4 -4
  485. package/es/hooks/use-size/index.d.ts +3 -3
  486. package/es/index.d.ts +2 -2
  487. package/es/utils/vue/size.d.ts +1 -1
  488. package/es/utils/vue/vnode.d.ts +2 -2
  489. package/es/version.mjs +1 -1
  490. package/es/version.mjs.map +1 -1
  491. package/lib/components/affix/src/affix.d.ts +1 -1
  492. package/lib/components/affix/src/affix.vue.d.ts +4 -4
  493. package/lib/components/alert/src/alert.d.ts +2 -2
  494. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  495. package/lib/components/anchor/src/anchor.vue.d.ts +4 -4
  496. package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
  497. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
  498. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  499. package/lib/components/avatar/src/avatar-group.d.ts +2 -2
  500. package/lib/components/avatar/src/avatar.d.ts +2 -2
  501. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  502. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  503. package/lib/components/badge/src/badge.d.ts +1 -1
  504. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  505. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  506. package/lib/components/button/src/button.d.ts +2 -2
  507. package/lib/components/button/src/button.vue.d.ts +5 -5
  508. package/lib/components/calendar/src/calendar.d.ts +1 -1
  509. package/lib/components/card/src/card.d.ts +1 -1
  510. package/lib/components/card/src/card.vue.d.ts +1 -1
  511. package/lib/components/carousel/src/carousel.d.ts +1 -1
  512. package/lib/components/carousel/src/carousel.vue.d.ts +3 -3
  513. package/lib/components/cascader/src/cascader.d.ts +5 -5
  514. package/lib/components/cascader/src/cascader.vue.d.ts +15 -15
  515. package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
  516. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  517. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  518. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  519. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  520. package/lib/components/checkbox/src/checkbox.d.ts +9 -9
  521. package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
  522. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  523. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  524. package/lib/components/col/src/col.vue.d.ts +1 -1
  525. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  526. package/lib/components/collapse/src/collapse.d.ts +1 -1
  527. package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
  528. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  529. package/lib/components/color-picker/src/color-picker.vue.d.ts +7 -7
  530. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  531. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  532. package/lib/components/config-provider/src/config-provider.d.ts +3 -3
  533. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  534. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  535. package/lib/components/date-picker/src/date-picker.d.ts +13 -13
  536. package/lib/components/date-picker/src/props.d.ts +2 -2
  537. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  538. package/lib/components/descriptions/src/description-item.d.ts +19 -19
  539. package/lib/components/descriptions/src/description.d.ts +1 -1
  540. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  541. package/lib/components/dialog/src/dialog.vue.d.ts +4 -4
  542. package/lib/components/divider/src/divider.d.ts +1 -1
  543. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  544. package/lib/components/drawer/src/drawer.vue.d.ts +8 -8
  545. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +4 -4
  546. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  547. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  548. package/lib/components/dropdown/src/dropdown.vue.d.ts +69 -69
  549. package/lib/components/empty/src/empty.vue.d.ts +1 -1
  550. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  551. package/lib/components/form/src/form-item.d.ts +2 -2
  552. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  553. package/lib/components/form/src/form.d.ts +4 -4
  554. package/lib/components/form/src/form.vue.d.ts +1 -1
  555. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  556. package/lib/components/image/src/image.d.ts +1 -1
  557. package/lib/components/image/src/image.vue.d.ts +5 -5
  558. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  559. package/lib/components/index.d.ts +2 -2
  560. package/lib/components/input/src/input.d.ts +3 -3
  561. package/lib/components/input/src/input.vue.d.ts +19 -19
  562. package/lib/components/input-number/src/input-number.d.ts +4 -4
  563. package/lib/components/input-number/src/input-number.vue.d.ts +10 -10
  564. package/lib/components/input-otp/src/input-otp.vue.d.ts +6 -6
  565. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  566. package/lib/components/input-tag/src/input-tag.d.ts +4 -4
  567. package/lib/components/input-tag/src/input-tag.vue.d.ts +15 -15
  568. package/lib/components/link/src/link.d.ts +2 -2
  569. package/lib/components/link/src/link.vue.d.ts +1 -1
  570. package/lib/components/mention/src/mention.d.ts +4 -4
  571. package/lib/components/mention/src/mention.vue.d.ts +3 -3
  572. package/lib/components/menu/src/menu-item.d.ts +8 -5
  573. package/lib/components/menu/src/menu-item.js +2 -2
  574. package/lib/components/menu/src/menu-item.js.map +1 -1
  575. package/lib/components/menu/src/menu-item.vue.d.ts +1 -3
  576. package/lib/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.js +0 -2
  577. package/lib/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  578. package/lib/components/menu/src/menu-item2.js.map +1 -1
  579. package/lib/components/menu/src/menu.d.ts +2 -2
  580. package/lib/components/menu/src/utils/menu-bar.js.map +1 -1
  581. package/lib/components/menu/src/utils/menu-item.js +2 -3
  582. package/lib/components/menu/src/utils/menu-item.js.map +1 -1
  583. package/lib/components/menu/src/utils/submenu.js +1 -5
  584. package/lib/components/menu/src/utils/submenu.js.map +1 -1
  585. package/lib/components/message/src/message.d.ts +2 -2
  586. package/lib/components/message/src/message.vue.d.ts +6 -6
  587. package/lib/components/notification/src/notification.d.ts +1 -1
  588. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  589. package/lib/components/pagination/src/pagination.d.ts +7 -7
  590. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  591. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
  592. package/lib/components/popover/src/popover.d.ts +2 -2
  593. package/lib/components/popover/src/popover.vue.d.ts +10 -10
  594. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  595. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  596. package/lib/components/popper/src/content.d.ts +4 -4
  597. package/lib/components/popper/src/content.vue.d.ts +7 -7
  598. package/lib/components/popper/src/popper.d.ts +2 -2
  599. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  600. package/lib/components/radio/src/radio-button.d.ts +4 -4
  601. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  602. package/lib/components/radio/src/radio-group.d.ts +1 -1
  603. package/lib/components/radio/src/radio-group.vue.d.ts +5 -5
  604. package/lib/components/radio/src/radio.d.ts +8 -8
  605. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  606. package/lib/components/rate/src/rate.d.ts +1 -1
  607. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  608. package/lib/components/result/src/result.d.ts +1 -1
  609. package/lib/components/result/src/result.vue.d.ts +1 -1
  610. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  611. package/lib/components/row/src/row.d.ts +2 -2
  612. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  613. package/lib/components/segmented/index.d.ts +4 -4
  614. package/lib/components/segmented/src/segmented.d.ts +2 -2
  615. package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
  616. package/lib/components/select/src/option.d.ts +2 -2
  617. package/lib/components/select/src/option.vue.d.ts +5 -5
  618. package/lib/components/select/src/select.d.ts +9 -6
  619. package/lib/components/select/src/select.js +1 -0
  620. package/lib/components/select/src/select.js.map +1 -1
  621. package/lib/components/select/src/select.vue.d.ts +91 -89
  622. package/lib/components/select/src/select.vue_vue_type_script_lang.js +2 -1
  623. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  624. package/lib/components/select/src/select2.js +4 -2
  625. package/lib/components/select/src/select2.js.map +1 -1
  626. package/lib/components/select/src/useSelect.js +4 -0
  627. package/lib/components/select/src/useSelect.js.map +1 -1
  628. package/lib/components/select-v2/src/defaults.d.ts +5 -4
  629. package/lib/components/select-v2/src/defaults.js +2 -0
  630. package/lib/components/select-v2/src/defaults.js.map +1 -1
  631. package/lib/components/select-v2/src/select-dropdown.d.ts +1 -0
  632. package/lib/components/select-v2/src/select-dropdown.js +7 -1
  633. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  634. package/lib/components/select-v2/src/select.js +4 -2
  635. package/lib/components/select-v2/src/select.js.map +1 -1
  636. package/lib/components/select-v2/src/select.vue.d.ts +83 -75
  637. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  638. package/lib/components/select-v2/src/useSelect.js +4 -0
  639. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  640. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  641. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  642. package/lib/components/slider/src/button.vue.d.ts +2 -2
  643. package/lib/components/slider/src/slider.d.ts +2 -2
  644. package/lib/components/slider/src/slider.vue.d.ts +11 -11
  645. package/lib/components/space/src/space.d.ts +4 -4
  646. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  647. package/lib/components/steps/src/item.d.ts +1 -1
  648. package/lib/components/steps/src/item.vue.d.ts +1 -1
  649. package/lib/components/steps/src/steps.d.ts +2 -2
  650. package/lib/components/switch/src/switch.d.ts +1 -1
  651. package/lib/components/switch/src/switch.vue.d.ts +4 -4
  652. package/lib/components/table/src/table-column/index.d.ts +23 -23
  653. package/lib/components/table/src/table-header/index.d.ts +16 -16
  654. package/lib/components/table/src/table.vue.d.ts +48 -48
  655. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  656. package/lib/components/table-v2/src/table-grid.d.ts +3 -3
  657. package/lib/components/table-v2/src/table-v2.d.ts +4 -4
  658. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  659. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  660. package/lib/components/tabs/src/tabs.d.ts +6 -6
  661. package/lib/components/tag/src/tag.d.ts +3 -3
  662. package/lib/components/tag/src/tag.vue.d.ts +1 -1
  663. package/lib/components/text/src/text.d.ts +2 -2
  664. package/lib/components/time-picker/src/common/picker.vue.d.ts +19 -19
  665. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  666. package/lib/components/time-picker/src/time-picker.d.ts +13 -13
  667. package/lib/components/time-select/src/time-select.d.ts +1 -1
  668. package/lib/components/time-select/src/time-select.vue.d.ts +10 -10
  669. package/lib/components/timeline/src/timeline-item.d.ts +3 -3
  670. package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
  671. package/lib/components/tooltip/src/content.d.ts +1 -1
  672. package/lib/components/tooltip/src/content.vue.d.ts +5 -5
  673. package/lib/components/tooltip/src/tooltip.d.ts +3 -3
  674. package/lib/components/tooltip/src/tooltip.vue.d.ts +13 -13
  675. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  676. package/lib/components/tour/src/content.d.ts +2 -2
  677. package/lib/components/tour/src/step.d.ts +1 -1
  678. package/lib/components/tour/src/tour.d.ts +1 -1
  679. package/lib/components/tour/src/tour.vue.d.ts +5 -5
  680. package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
  681. package/lib/components/tree/src/tree.vue.d.ts +25 -25
  682. package/lib/components/tree-select/src/tree-select.vue.d.ts +48 -48
  683. package/lib/components/tree-v2/src/tree.vue.d.ts +6 -6
  684. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  685. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  686. package/lib/components/virtual-list/index.d.ts +2 -2
  687. package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  688. package/lib/components/virtual-list/src/builders/build-list.js +57 -33
  689. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  690. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  691. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +9 -8
  692. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  693. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +9 -8
  694. package/lib/components/virtual-list/src/defaults.js +2 -0
  695. package/lib/components/virtual-list/src/defaults.js.map +1 -1
  696. package/lib/components/virtual-list/src/types.d.ts +7 -7
  697. package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
  698. package/lib/hooks/use-floating/index.d.ts +8 -8
  699. package/lib/hooks/use-popper/index.d.ts +4 -4
  700. package/lib/hooks/use-size/index.d.ts +3 -3
  701. package/lib/index.d.ts +2 -2
  702. package/lib/utils/vue/size.d.ts +1 -1
  703. package/lib/utils/vue/vnode.d.ts +2 -2
  704. package/lib/version.js +1 -1
  705. package/lib/version.js.map +1 -1
  706. package/package.json +2 -2
  707. package/tags.json +1 -1
  708. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","names":["buildProps","definePropType","iconPropType","CircleClose","useTooltipContentProps","useSizeProp","defaultProps","placements","tagProps","isBoolean","isNumber","ArrowDown","useEmptyValuesProps","useAriaProps","UPDATE_MODEL_EVENT","CHANGE_EVENT"],"sources":["../../../../../../packages/components/select-v2/src/defaults.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '../../tag'\nimport { defaultProps } from './useProps'\n\nimport type SelectV2 from './select.vue'\nimport type { Option, OptionType } from './select.types'\nimport type { Props } from './useProps'\nimport type { EmitFn } from '@element-plus/utils/vue/typescript'\nimport type {\n CSSProperties,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nimport type {\n Options,\n Placement,\n PopperEffect,\n} from '@element-plus/components/popper'\n\n/**\n * @description Tag tooltip configuration interface\n */\nexport interface TagTooltipProps {\n appendTo?: string | HTMLElement\n placement?: Placement\n fallbackPlacements?: Placement[]\n effect?: PopperEffect\n popperClass?: string\n popperStyle?: string | CSSProperties\n transition?: string\n teleported?: boolean\n popperOptions?: Partial<Options>\n showAfter?: number\n hideAfter?: number\n autoClose?: number\n offset?: number\n}\n\nexport const selectV2Props = buildProps({\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description autocomplete of select input\n */\n autocomplete: {\n type: definePropType<'none' | 'both' | 'list' | 'inline'>(String),\n default: 'none',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description custom clear icon\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description configuration object for the collapse-tags tooltip. To use this, `collapse-tags` and `collapse-tags-tooltip` must be true\n */\n tagTooltip: {\n type: definePropType<TagTooltipProps>(Object),\n default: () => ({}),\n },\n /**\n * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description\n */\n defaultFirstOption: Boolean,\n /**\n * @description is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Estimated item height for variable option sizes. Defaults to fixed `itemHeight` when omitted.\n */\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description custom filter method, the first parameter is the current input value. To use this, `filterable` must be true\n */\n filterMethod: {\n type: definePropType<(query: string) => void>(Function),\n },\n /**\n * @description The height of the dropdown panel, 34px for each item\n */\n height: {\n type: Number,\n default: 274, // same as select dropdown menu\n },\n /**\n * @description The height of the dropdown item\n */\n itemHeight: {\n type: Number,\n default: 34,\n },\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description biding value\n */\n modelValue: {\n type: definePropType<\n any[] | string | number | boolean | Record<string, any> | any\n >([Array, String, Number, Boolean, Object]),\n default: undefined,\n },\n /**\n * @description is multiple\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when multiple is true. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n */\n noDataText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n */\n remoteMethod: {\n type: definePropType<(query: string) => void>(Function),\n },\n /**\n * @description whether reserve the keyword after select filtered option.\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description data of the options, the key of `value` and `label` can be customize by `props`\n */\n options: {\n type: definePropType<OptionType[]>(Array),\n required: true,\n },\n /**\n * @description placeholder, the default is 'Please select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description whether select dropdown is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: useTooltipContentProps.popperClass,\n /**\n * @description custom style for Select's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}) as Partial<Options>,\n },\n /**\n * @description whether search data from server\n */\n remote: Boolean,\n /**\n * @description debounce delay during remote search, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description size of component\n */\n size: useSizeProp,\n /**\n * @description configuration options, see the following table\n */\n props: {\n type: definePropType<Props>(Object),\n default: () => defaultProps,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description Controls whether the scrollbar is always displayed\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the dropdown\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description Determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description tag type\n */\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description which element the select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description if it is `true`, the width of the dropdown panel is the same as the input box.\n * if it is `false`, the width is automatically calculated based on the value of `label`,\n * or it can be set to a number to make it a fixed width\n */\n fitInputWidth: {\n type: [Boolean, Number],\n default: true,\n validator(val) {\n return isBoolean(val) || isNumber(val)\n },\n },\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport const optionV2Props = buildProps({\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: {\n type: definePropType<Option>(Object),\n required: true,\n },\n index: Number,\n style: Object,\n selected: Boolean,\n created: Boolean,\n} as const)\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectV2Emits = {\n [UPDATE_MODEL_EVENT]: (val: SelectV2Props['modelValue']) => true,\n [CHANGE_EVENT]: (val: SelectV2Props['modelValue']) => true,\n 'remove-tag': (val: unknown) => true,\n 'visible-change': (visible: boolean) => true,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n}\nexport const optionV2Emits = {\n hover: (index?: number) => isNumber(index),\n select: (val: Option, index?: number) => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type SelectV2Props = ExtractPropTypes<typeof selectV2Props>\nexport type SelectV2PropsPublic = ExtractPublicPropTypes<typeof selectV2Props>\nexport type OptionV2Props = ExtractPropTypes<typeof optionV2Props>\nexport type OptionV2PropsPublic = ExtractPublicPropTypes<typeof optionV2Props>\nexport type SelectV2EmitFn = EmitFn<typeof selectV2Emits>\nexport type OptionV2EmitFn = EmitFn<typeof optionV2Emits>\n\nexport type SelectV2Instance = InstanceType<typeof SelectV2> & unknown\n"],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","names":["buildProps","definePropType","iconPropType","CircleClose","useTooltipContentProps","useSizeProp","defaultProps","placements","tagProps","isBoolean","isNumber","ArrowDown","useEmptyValuesProps","useAriaProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","scrollbarEmits"],"sources":["../../../../../../packages/components/select-v2/src/defaults.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { scrollbarEmits } from '@element-plus/components/scrollbar'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '../../tag'\nimport { defaultProps } from './useProps'\n\nimport type SelectV2 from './select.vue'\nimport type { Option, OptionType } from './select.types'\nimport type { Props } from './useProps'\nimport type { EmitFn } from '@element-plus/utils/vue/typescript'\nimport type {\n CSSProperties,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nimport type {\n Options,\n Placement,\n PopperEffect,\n} from '@element-plus/components/popper'\n\n/**\n * @description Tag tooltip configuration interface\n */\nexport interface TagTooltipProps {\n appendTo?: string | HTMLElement\n placement?: Placement\n fallbackPlacements?: Placement[]\n effect?: PopperEffect\n popperClass?: string\n popperStyle?: string | CSSProperties\n transition?: string\n teleported?: boolean\n popperOptions?: Partial<Options>\n showAfter?: number\n hideAfter?: number\n autoClose?: number\n offset?: number\n}\n\nexport const selectV2Props = buildProps({\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description autocomplete of select input\n */\n autocomplete: {\n type: definePropType<'none' | 'both' | 'list' | 'inline'>(String),\n default: 'none',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description custom clear icon\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description configuration object for the collapse-tags tooltip. To use this, `collapse-tags` and `collapse-tags-tooltip` must be true\n */\n tagTooltip: {\n type: definePropType<TagTooltipProps>(Object),\n default: () => ({}),\n },\n /**\n * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description\n */\n defaultFirstOption: Boolean,\n /**\n * @description is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Estimated item height for variable option sizes. Defaults to fixed `itemHeight` when omitted.\n */\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description custom filter method, the first parameter is the current input value. To use this, `filterable` must be true\n */\n filterMethod: {\n type: definePropType<(query: string) => void>(Function),\n },\n /**\n * @description The height of the dropdown panel, 34px for each item\n */\n height: {\n type: Number,\n default: 274, // same as select dropdown menu\n },\n /**\n * @description The height of the dropdown item\n */\n itemHeight: {\n type: Number,\n default: 34,\n },\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description biding value\n */\n modelValue: {\n type: definePropType<\n any[] | string | number | boolean | Record<string, any> | any\n >([Array, String, Number, Boolean, Object]),\n default: undefined,\n },\n /**\n * @description is multiple\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when multiple is true. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n */\n noDataText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n */\n remoteMethod: {\n type: definePropType<(query: string) => void>(Function),\n },\n /**\n * @description whether reserve the keyword after select filtered option.\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description data of the options, the key of `value` and `label` can be customize by `props`\n */\n options: {\n type: definePropType<OptionType[]>(Array),\n required: true,\n },\n /**\n * @description placeholder, the default is 'Please select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description whether select dropdown is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: useTooltipContentProps.popperClass,\n /**\n * @description custom style for Select's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}) as Partial<Options>,\n },\n /**\n * @description whether search data from server\n */\n remote: Boolean,\n /**\n * @description debounce delay during remote search, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description size of component\n */\n size: useSizeProp,\n /**\n * @description configuration options, see the following table\n */\n props: {\n type: definePropType<Props>(Object),\n default: () => defaultProps,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description Controls whether the scrollbar is always displayed\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the dropdown\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description Determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description tag type\n */\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description which element the select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description if it is `true`, the width of the dropdown panel is the same as the input box.\n * if it is `false`, the width is automatically calculated based on the value of `label`,\n * or it can be set to a number to make it a fixed width\n */\n fitInputWidth: {\n type: [Boolean, Number],\n default: true,\n validator(val) {\n return isBoolean(val) || isNumber(val)\n },\n },\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport const optionV2Props = buildProps({\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: {\n type: definePropType<Option>(Object),\n required: true,\n },\n index: Number,\n style: Object,\n selected: Boolean,\n created: Boolean,\n} as const)\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectV2Emits = {\n [UPDATE_MODEL_EVENT]: (val: SelectV2Props['modelValue']) => true,\n [CHANGE_EVENT]: (val: SelectV2Props['modelValue']) => true,\n 'end-reached': scrollbarEmits['end-reached'],\n 'remove-tag': (val: unknown) => true,\n 'visible-change': (visible: boolean) => true,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n}\nexport const optionV2Emits = {\n hover: (index?: number) => isNumber(index),\n select: (val: Option, index?: number) => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type SelectV2Props = ExtractPropTypes<typeof selectV2Props>\nexport type SelectV2PropsPublic = ExtractPublicPropTypes<typeof selectV2Props>\nexport type OptionV2Props = ExtractPropTypes<typeof optionV2Props>\nexport type OptionV2PropsPublic = ExtractPublicPropTypes<typeof optionV2Props>\nexport type SelectV2EmitFn = EmitFn<typeof selectV2Emits>\nexport type OptionV2EmitFn = EmitFn<typeof optionV2Emits>\n\nexport type SelectV2Instance = InstanceType<typeof SelectV2> & unknown\n"],"mappings":";;;;;;;;;;;;;;;;;AAsDA,MAAa,gBAAgBA,6BAAW;CAItC,aAAa;CAIb,cAAc;EACZ,MAAMC,iCAAoD,OAAO;EACjE,SAAS;EACV;CAID,mBAAmB;CAInB,WAAW;CAIX,WAAW;EACT,MAAMC;EACN,SAASC;EACV;CAID,QAAQ;EACN,MAAMF,iCAA6B,OAAO;EAC1C,SAAS;EACV;CAID,cAAc;CAId,qBAAqB;CAIrB,YAAY;EACV,MAAMA,iCAAgC,OAAO;EAC7C,gBAAgB,EAAE;EACnB;CAID,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CAID,oBAAoB;CAIpB,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,uBAAuB;EACrB,MAAM;EACN,SAAS;EACV;CAID,YAAY;CAIZ,cAAc,EACZ,MAAMA,iCAAwC,SAAS,EACxD;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;CAID,YAAY;EACV,MAAM;EACN,SAAS;EACV;CAID,IAAI;CAIJ,SAAS;CAIT,aAAa;CAIb,YAAY;EACV,MAAMA,iCAEJ;GAAC;GAAO;GAAQ;GAAQ;GAAS;GAAO,CAAC;EAC3C,SAAS;EACV;CAID,UAAU;CAIV,eAAe;EACb,MAAM;EACN,SAAS;EACV;CAID,MAAM;CAIN,YAAY;CAIZ,aAAa;CAIb,cAAc,EACZ,MAAMA,iCAAwC,SAAS,EACxD;CAID,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CAID,SAAS;EACP,MAAMA,iCAA6B,MAAM;EACzC,UAAU;EACX;CAID,aAAa,EACX,MAAM,QACP;CAID,YAAYG,uCAAuB;CAInC,YAAY;EACV,MAAM;EACN,SAAS;EACV;CAID,aAAaA,uCAAuB;CAIpC,aAAaA,uCAAuB;CAIpC,eAAe;EACb,MAAMH,iCAAiC,OAAO;EAC9C,gBAAgB,EAAE;EACnB;CAID,QAAQ;CAIR,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,MAAMI;CAIN,OAAO;EACL,MAAMJ,iCAAsB,OAAO;EACnC,eAAeK;EAChB;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,mBAAmB;CAInB,eAAe;EACb,MAAM;EACN,SAAS;EACV;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;CAID,kBAAkB;CAIlB,WAAW;EACT,MAAM;EACN,SAAS;EACV;CAID,WAAW;EACT,MAAML,iCAA0B,OAAO;EACvC,QAAQM;EACR,SAAS;EACV;CAID,oBAAoB;EAClB,MAAMN,iCAA4B,MAAM;EACxC,SAAS;GAAC;GAAgB;GAAa;GAAS;GAAO;EACxD;CAID,SAAS;EAAE,GAAGO,qBAAS;EAAM,SAAS;EAAQ;CAI9C,WAAW;EAAE,GAAGA,qBAAS;EAAQ,SAAS;EAAS;CAInD,UAAU;EACR,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS;EACV;CAID,UAAUJ,uCAAuB;CAMjC,eAAe;EACb,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS;EACT,UAAU,KAAK;AACb,UAAOK,wBAAU,IAAI,IAAIC,uBAAS,IAAI;;EAEzC;CACD,YAAY;EACV,MAAMR;EACN,SAASS;EACV;CACD,GAAGC;CACH,GAAGC,6BAAa,CAAC,YAAY,CAAC;CAC/B,CAAU;AAEX,MAAa,gBAAgBb,6BAAW;CACtC,MAAM;CACN,UAAU;CACV,UAAU;CACV,MAAM;EACJ,MAAMC,iCAAuB,OAAO;EACpC,UAAU;EACX;CACD,OAAO;CACP,OAAO;CACP,UAAU;CACV,SAAS;CACV,CAAU;AAGX,MAAa,gBAAgB;EAC1Ba,oCAAsB,QAAqC;EAC3DC,8BAAgB,QAAqC;CACtD,eAAeC,iCAAe;CAC9B,eAAe,QAAiB;CAChC,mBAAmB,YAAqB;CACxC,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACd;AACD,MAAa,gBAAgB;CAC3B,QAAQ,UAAmBN,uBAAS,MAAM;CAC1C,SAAS,KAAa,UAAmB;CAC1C"}
@@ -1,3 +1,4 @@
1
+ import "../../scrollbar/index.js";
1
2
  import { Option } from "./select.types.js";
2
3
  import { FixedSizeListInstance } from "../../virtual-list/src/components/fixed-size-list.js";
3
4
  import { DynamicSizeListInstance } from "../../virtual-list/src/components/dynamic-size-list.js";
@@ -3,6 +3,7 @@ const require_aria = require('../../../constants/aria.js');
3
3
  const require_event = require('../../../utils/dom/event.js');
4
4
  const require_types = require('../../../utils/types.js');
5
5
  const require_index = require('../../../hooks/use-namespace/index.js');
6
+ const require_scrollbar = require('../../scrollbar/src/scrollbar.js');
6
7
  const require_useProps = require('./useProps.js');
7
8
  const require_fixed_size_list = require('../../virtual-list/src/components/fixed-size-list.js');
8
9
  const require_dynamic_size_list = require('../../virtual-list/src/components/dynamic-size-list.js');
@@ -29,7 +30,8 @@ const props = {
29
30
  var select_dropdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
30
31
  name: "ElSelectDropdown",
31
32
  props,
32
- setup(props, { slots, expose }) {
33
+ emits: { "end-reached": require_scrollbar.scrollbarEmits["end-reached"] },
34
+ setup(props, { slots, expose, emit }) {
33
35
  const select = (0, vue.inject)(require_token.selectV2InjectionKey);
34
36
  const ns = require_index.useNamespace("select");
35
37
  const { getLabel, getValue, getDisabled } = require_useProps.useProps(select.props);
@@ -150,6 +152,9 @@ var select_dropdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
150
152
  break;
151
153
  }
152
154
  };
155
+ const onEndReached = (direction) => {
156
+ emit("end-reached", direction);
157
+ };
153
158
  return () => {
154
159
  const { data, width } = props;
155
160
  const { height, multiple, scrollbarAlwaysOn } = select.props;
@@ -174,6 +179,7 @@ var select_dropdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
174
179
  "aria-label": props.ariaLabel,
175
180
  "aria-orientation": "vertical"
176
181
  },
182
+ "onEndReached": onEndReached,
177
183
  "onKeydown": onKeydown
178
184
  }), { default: (props) => (0, vue.createVNode)(Item, props, null) }),
179
185
  slots.footer?.()
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.js","names":["computed","defineComponent","inject","ref","toRaw","unref","watch","createVNode","_createVNode","mergeProps","_mergeProps","get","getEventCode","isIOS","isObject","isUndefined","DynamicSizeList","FixedSizeList","useNamespace","EVENT_CODE","GroupItem","OptionItem","useProps","selectV2InjectionKey","props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","id","String","ariaLabel","name","setup","slots","expose","select","ns","getLabel","getValue","getDisabled","cachedHeights","listRef","size","length","value","tooltipRef","updatePopper","isSized","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","idx","contains","arr","target","valueKey","includes","some","item","isEqual","selected","isItemSelected","modelValue","multiple","isItemDisabled","disabled","multipleLimit","isItemHovering","scrollToItem","index","list","resetScrollTop","exposed","Item","itemProps","style","sized","onSelect","onHover","isSelected","isDisabled","isHovering","created","default","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","onKeydown","e","code","tab","esc","down","up","enter","numpadEnter","preventDefault","stopPropagation","height","scrollbarAlwaysOn","isScrollbarAlwaysOn","List","b","is","header","empty","be","role","footer"],"sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { getEventCode, isIOS, isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\nimport { selectV2InjectionKey } from './token'\n\nimport type {\n DynamicSizeListInstance,\n FixedSizeListInstance,\n ItemProps,\n} from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\nimport type {\n ComponentPublicInstance,\n ComputedRef,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true as const,\n },\n hoveringIndex: Number,\n width: Number,\n id: String,\n ariaLabel: String,\n}\ninterface SelectDropdownExposed {\n listRef: Ref<FixedSizeListInstance | DynamicSizeListInstance | undefined>\n isSized: ComputedRef<boolean>\n isItemDisabled: (modelValue: any[] | any, selected: boolean) => boolean\n isItemHovering: (target: number) => boolean\n isItemSelected: (modelValue: any[] | any, target: Option) => boolean\n scrollToItem: (index: number) => void\n resetScrollTop: () => void\n}\nexport type SelectDropdownInstance = ComponentPublicInstance<\n ExtractPropTypes<typeof props>,\n SelectDropdownExposed\n>\nexport default defineComponent({\n name: 'ElSelectDropdown',\n props,\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref<FixedSizeListInstance | DynamicSizeListInstance>()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value?.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected: SelectDropdownExposed['isItemSelected'] = (\n modelValue,\n target\n ) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled: SelectDropdownExposed['isItemDisabled'] = (\n modelValue,\n selected\n ) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering: SelectDropdownExposed['isItemHovering'] = (target) =>\n props.hoveringIndex === target\n\n const scrollToItem: SelectDropdownExposed['scrollToItem'] = (index) => {\n const list = listRef.value\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop: SelectDropdownExposed['resetScrollTop'] = () => {\n const list = listRef.value\n if (list) {\n list.resetScrollTop()\n }\n }\n const exposed: SelectDropdownExposed = {\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n }\n expose(exposed)\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={sized ? (itemSize as number) : estimatedSize}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n // The following line actually doesn't work. Fixing it may introduce a small breaking change for some users, so just comment it out for now.\n // select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n const { tab, esc, down, up, enter, numpadEnter } = EVENT_CODE\n if ([esc, down, up, enter, numpadEnter].includes(code)) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc:\n onEscOrTab()\n break\n case down:\n onForward()\n break\n case up:\n onBackward()\n break\n case enter:\n case numpadEnter:\n onKeyboardSelect()\n break\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n // fix https://github.com/element-plus/element-plus/issues/19127\n const isScrollbarAlwaysOn = isIOS ? true : scrollbarAlwaysOn\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={isScrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n innerElement=\"ul\"\n innerProps={{\n id: props.id,\n role: 'listbox',\n 'aria-label': props.ariaLabel,\n 'aria-orientation': 'vertical',\n }}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"select-dropdown.js","names":["computed","defineComponent","inject","ref","toRaw","unref","watch","createVNode","_createVNode","mergeProps","_mergeProps","get","getEventCode","isIOS","isObject","isUndefined","DynamicSizeList","FixedSizeList","useNamespace","EVENT_CODE","GroupItem","OptionItem","useProps","selectV2InjectionKey","scrollbarEmits","props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","id","String","ariaLabel","name","emits","setup","slots","expose","emit","select","ns","getLabel","getValue","getDisabled","cachedHeights","listRef","size","length","value","tooltipRef","updatePopper","isSized","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","idx","contains","arr","target","valueKey","includes","some","item","isEqual","selected","isItemSelected","modelValue","multiple","isItemDisabled","disabled","multipleLimit","isItemHovering","scrollToItem","index","list","resetScrollTop","exposed","Item","itemProps","style","sized","onSelect","onHover","isSelected","isDisabled","isHovering","created","default","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","onKeydown","e","code","tab","esc","down","up","enter","numpadEnter","preventDefault","stopPropagation","onEndReached","direction","height","scrollbarAlwaysOn","isScrollbarAlwaysOn","List","b","is","header","empty","be","role","footer"],"sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { getEventCode, isIOS, isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\nimport { selectV2InjectionKey } from './token'\nimport { scrollbarEmits } from '@element-plus/components/scrollbar'\n\nimport type { ScrollbarDirection } from '@element-plus/components/scrollbar'\nimport type {\n DynamicSizeListInstance,\n FixedSizeListInstance,\n ItemProps,\n} from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\nimport type {\n ComponentPublicInstance,\n ComputedRef,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true as const,\n },\n hoveringIndex: Number,\n width: Number,\n id: String,\n ariaLabel: String,\n}\ninterface SelectDropdownExposed {\n listRef: Ref<FixedSizeListInstance | DynamicSizeListInstance | undefined>\n isSized: ComputedRef<boolean>\n isItemDisabled: (modelValue: any[] | any, selected: boolean) => boolean\n isItemHovering: (target: number) => boolean\n isItemSelected: (modelValue: any[] | any, target: Option) => boolean\n scrollToItem: (index: number) => void\n resetScrollTop: () => void\n}\nexport type SelectDropdownInstance = ComponentPublicInstance<\n ExtractPropTypes<typeof props>,\n SelectDropdownExposed\n>\nexport default defineComponent({\n name: 'ElSelectDropdown',\n props,\n emits: {\n 'end-reached': scrollbarEmits['end-reached'],\n },\n setup(props, { slots, expose, emit }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref<FixedSizeListInstance | DynamicSizeListInstance>()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value?.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected: SelectDropdownExposed['isItemSelected'] = (\n modelValue,\n target\n ) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled: SelectDropdownExposed['isItemDisabled'] = (\n modelValue,\n selected\n ) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering: SelectDropdownExposed['isItemHovering'] = (target) =>\n props.hoveringIndex === target\n\n const scrollToItem: SelectDropdownExposed['scrollToItem'] = (index) => {\n const list = listRef.value\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop: SelectDropdownExposed['resetScrollTop'] = () => {\n const list = listRef.value\n if (list) {\n list.resetScrollTop()\n }\n }\n const exposed: SelectDropdownExposed = {\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n }\n expose(exposed)\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={sized ? (itemSize as number) : estimatedSize}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n // The following line actually doesn't work. Fixing it may introduce a small breaking change for some users, so just comment it out for now.\n // select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n const { tab, esc, down, up, enter, numpadEnter } = EVENT_CODE\n if ([esc, down, up, enter, numpadEnter].includes(code)) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc:\n onEscOrTab()\n break\n case down:\n onForward()\n break\n case up:\n onBackward()\n break\n case enter:\n case numpadEnter:\n onKeyboardSelect()\n break\n }\n }\n\n const onEndReached = (direction: ScrollbarDirection) => {\n emit('end-reached', direction)\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n // fix https://github.com/element-plus/element-plus/issues/19127\n const isScrollbarAlwaysOn = isIOS ? true : scrollbarAlwaysOn\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={isScrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n innerElement=\"ul\"\n innerProps={{\n id: props.id,\n role: 'listbox',\n 'aria-label': props.ariaLabel,\n 'aria-orientation': 'vertical',\n }}\n // @ts-ignore - dts problem\n onEndReached={onEndReached}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"mappings":"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"}
@@ -300,7 +300,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
300
300
  width: _ctx.popperSize - _ctx.BORDER_HORIZONTAL_WIDTH,
301
301
  "hovering-index": _ctx.states.hoveringIndex,
302
302
  "scrollbar-always-on": _ctx.scrollbarAlwaysOn,
303
- "aria-label": _ctx.ariaLabel
303
+ "aria-label": _ctx.ariaLabel,
304
+ onEndReached: _ctx.onEndReached
304
305
  }, (0, vue.createSlots)({
305
306
  default: (0, vue.withCtx)((scope) => [(0, vue.renderSlot)(_ctx.$slots, "default", (0, vue.normalizeProps)((0, vue.guardReactiveProps)(scope)))]),
306
307
  _: 2
@@ -336,7 +337,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
336
337
  "width",
337
338
  "hovering-index",
338
339
  "scrollbar-always-on",
339
- "aria-label"
340
+ "aria-label",
341
+ "onEndReached"
340
342
  ])]),
341
343
  _: 3
342
344
  }, 8, [
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":[],"sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @mouseenter=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!modelValue.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.cachedOptions\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(getValue(item))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !getDisabled(item)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(item)\"\n :label=\"getLabel(item)\"\n :value=\"getValue(item)\"\n >\n {{ getLabel(item) }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"\n collapseTags && states.cachedOptions.length > maxCollapseTags\n \"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :style=\"collapseTagStyle\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.cachedOptions.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"selected in collapseTagList\"\n :key=\"getValueKey(getValue(selected))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !getDisabled(selected)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(selected)\"\n :label=\"getLabel(selected)\"\n :value=\"getValue(selected)\"\n >\n {{ getLabel(selected) }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (!states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n :style=\"inputStyle\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-label=\"ariaLabel\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n role=\"combobox\"\n :aria-controls=\"contentId\"\n :aria-activedescendant=\"\n states.hoveringIndex >= 0\n ? `${contentId}-${states.hoveringIndex}`\n : ''\n \"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n @input=\"onInput\"\n @change.stop\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"allOptionsValueMap.get(modelValue)?.index ?? -1\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsInput.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu\n :id=\"contentId\"\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize - BORDER_HORIZONTAL_WIDTH\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n :aria-label=\"ariaLabel\"\n >\n <template v-if=\"$slots.header\" #header>\n <div :class=\"nsSelect.be('dropdown', 'header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n </template>\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.loading && loading\" #loading>\n <div :class=\"nsSelect.be('dropdown', 'loading')\">\n <slot name=\"loading\" />\n </div>\n </template>\n <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n <div :class=\"nsSelect.be('dropdown', 'empty')\">\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n </template>\n <template v-if=\"$slots.footer\" #footer>\n <div :class=\"nsSelect.be('dropdown', 'footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useCalcInputWidth, useId } from '@element-plus/hooks'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2Emits, selectV2Props } from './defaults'\nimport { selectV2InjectionKey } from './token'\nimport { BORDER_HORIZONTAL_WIDTH } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectV2Props,\n emits: selectV2Emits,\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n return multiple ? fallback : rawModelValue\n })\n\n const API = useSelect(\n reactive({\n ...toRefs(props),\n modelValue,\n }),\n emit\n )\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const contentId = useId()\n\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n modelValue,\n }),\n expanded: API.expanded,\n tooltipRef: API.tooltipRef,\n contentId,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n })\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.cachedOptions.map((i) => API.getLabel(i) as string)\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n contentId,\n BORDER_HORIZONTAL_WIDTH,\n }\n },\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","names":[],"sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @mouseenter=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!modelValue.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.cachedOptions\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(getValue(item))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !getDisabled(item)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(item)\"\n :label=\"getLabel(item)\"\n :value=\"getValue(item)\"\n >\n {{ getLabel(item) }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"\n collapseTags && states.cachedOptions.length > maxCollapseTags\n \"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :style=\"collapseTagStyle\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.cachedOptions.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"selected in collapseTagList\"\n :key=\"getValueKey(getValue(selected))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !getDisabled(selected)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(selected)\"\n :label=\"getLabel(selected)\"\n :value=\"getValue(selected)\"\n >\n {{ getLabel(selected) }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (!states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n :style=\"inputStyle\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-label=\"ariaLabel\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n role=\"combobox\"\n :aria-controls=\"contentId\"\n :aria-activedescendant=\"\n states.hoveringIndex >= 0\n ? `${contentId}-${states.hoveringIndex}`\n : ''\n \"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n @input=\"onInput\"\n @change.stop\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"allOptionsValueMap.get(modelValue)?.index ?? -1\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsInput.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu\n :id=\"contentId\"\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize - BORDER_HORIZONTAL_WIDTH\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n :aria-label=\"ariaLabel\"\n @end-reached=\"onEndReached\"\n >\n <template v-if=\"$slots.header\" #header>\n <div :class=\"nsSelect.be('dropdown', 'header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n </template>\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.loading && loading\" #loading>\n <div :class=\"nsSelect.be('dropdown', 'loading')\">\n <slot name=\"loading\" />\n </div>\n </template>\n <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n <div :class=\"nsSelect.be('dropdown', 'empty')\">\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n </template>\n <template v-if=\"$slots.footer\" #footer>\n <div :class=\"nsSelect.be('dropdown', 'footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useCalcInputWidth, useId } from '@element-plus/hooks'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2Emits, selectV2Props } from './defaults'\nimport { selectV2InjectionKey } from './token'\nimport { BORDER_HORIZONTAL_WIDTH } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectV2Props,\n emits: selectV2Emits,\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n return multiple ? fallback : rawModelValue\n })\n\n const API = useSelect(\n reactive({\n ...toRefs(props),\n modelValue,\n }),\n emit\n )\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const contentId = useId()\n\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n modelValue,\n }),\n expanded: API.expanded,\n tooltipRef: API.tooltipRef,\n contentId,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n })\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.cachedOptions.map((i) => API.getLabel(i) as string)\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n contentId,\n BORDER_HORIZONTAL_WIDTH,\n }\n },\n})\n</script>\n"],"mappings":"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"}