@element-plus/nightly 0.0.20260217 → 0.0.20260219

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 (311) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +66 -43
  3. package/dist/index.full.min.js +16 -16
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +17 -17
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +66 -43
  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/autocomplete/src/autocomplete.vue2.mjs +9 -2
  277. package/es/components/autocomplete/src/autocomplete.vue2.mjs.map +1 -1
  278. package/es/components/badge/src/badge.vue2.mjs +5 -7
  279. package/es/components/badge/src/badge.vue2.mjs.map +1 -1
  280. package/es/components/select/src/select.vue.mjs +4 -1
  281. package/es/components/select/src/select.vue.mjs.map +1 -1
  282. package/es/components/select/src/select.vue2.mjs.map +1 -1
  283. package/es/components/select-v2/src/select.vue.mjs +4 -1
  284. package/es/components/select-v2/src/select.vue.mjs.map +1 -1
  285. package/es/components/select-v2/src/select.vue2.mjs.map +1 -1
  286. package/es/components/tree-select/src/tree-select.vue2.mjs +15 -7
  287. package/es/components/tree-select/src/tree-select.vue2.mjs.map +1 -1
  288. package/es/components/tree-select/src/tree.mjs +29 -25
  289. package/es/components/tree-select/src/tree.mjs.map +1 -1
  290. package/es/version.d.ts +1 -1
  291. package/es/version.mjs +1 -1
  292. package/es/version.mjs.map +1 -1
  293. package/lib/components/autocomplete/src/autocomplete.vue2.js +9 -2
  294. package/lib/components/autocomplete/src/autocomplete.vue2.js.map +1 -1
  295. package/lib/components/badge/src/badge.vue2.js +4 -6
  296. package/lib/components/badge/src/badge.vue2.js.map +1 -1
  297. package/lib/components/select/src/select.vue.js +4 -1
  298. package/lib/components/select/src/select.vue.js.map +1 -1
  299. package/lib/components/select/src/select.vue2.js.map +1 -1
  300. package/lib/components/select-v2/src/select.vue.js +4 -1
  301. package/lib/components/select-v2/src/select.vue.js.map +1 -1
  302. package/lib/components/select-v2/src/select.vue2.js.map +1 -1
  303. package/lib/components/tree-select/src/tree-select.vue2.js +15 -7
  304. package/lib/components/tree-select/src/tree-select.vue2.js.map +1 -1
  305. package/lib/components/tree-select/src/tree.js +29 -25
  306. package/lib/components/tree-select/src/tree.js.map +1 -1
  307. package/lib/version.d.ts +1 -1
  308. package/lib/version.js +1 -1
  309. package/lib/version.js.map +1 -1
  310. package/package.json +2 -2
  311. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue2.mjs","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('hidden', !filterable || selectDisabled),\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 @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"],"names":[],"mappings":";;;;;;;;;;;;;;AA4UA,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,YAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,YAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,UAAA,EAAY,EAAE,YAAA,EAAa;AAAA,EAC3B,KAAA,EAAO,aAAA;AAAA,EACP,KAAA,EAAO,aAAA;AAAA,EACP,KAAA,CAAM,KAAA,EAAO,EAAE,IAAA,EAAK,EAAG;AACrB,IAAA,MAAM,UAAA,GAAa,SAAS,MAAM;AAChC,MAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,QAAA,EAAS,GAAI,KAAA;AAChD,MAAA,MAAM,QAAA,GAAW,QAAA,GAAW,EAAC,GAAI,MAAA;AAGjC,MAAA,IAAI,OAAA,CAAQ,aAAa,CAAA,EAAG;AAC1B,QAAA,OAAO,WAAW,aAAA,GAAgB,QAAA;AAAA,MACpC;AACA,MAAA,OAAO,WAAW,QAAA,GAAW,aAAA;AAAA,IAC/B,CAAC,CAAA;AAED,IAAA,MAAM,GAAA,GAAM,SAAA;AAAA,MACV,QAAA,CAAS;AAAA,QACP,GAAG,OAAO,KAAK,CAAA;AAAA,QACf;AAAA,OACD,CAAA;AAAA,MACD;AAAA,KACF;AACA,IAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAI,iBAAA,EAAkB;AACxD,IAAA,MAAM,YAAY,KAAA,EAAM;AAExB,IAAA,OAAA,CAAQ,oBAAA,EAAsB;AAAA,MAC5B,OAAO,QAAA,CAAS;AAAA,QACd,GAAG,OAAO,KAAK,CAAA;AAAA,QACf,QAAQ,GAAA,CAAI,WAAA;AAAA,QACZ;AAAA,OACD,CAAA;AAAA,MACD,UAAU,GAAA,CAAI,QAAA;AAAA,MACd,YAAY,GAAA,CAAI,UAAA;AAAA,MAChB,SAAA;AAAA,MACA,UAAU,GAAA,CAAI,QAAA;AAAA,MACd,SAAS,GAAA,CAAI,OAAA;AAAA,MACb,oBAAoB,GAAA,CAAI,kBAAA;AAAA,MACxB,kBAAkB,GAAA,CAAI;AAAA,KACvB,CAAA;AAED,IAAA,MAAM,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,IAAI,CAAC,MAAM,QAAA,EAAU;AACnB,QAAA,OAAO,IAAI,MAAA,CAAO,aAAA;AAAA,MACpB;AACA,MAAA,OAAO,GAAA,CAAI,OAAO,aAAA,CAAc,GAAA,CAAI,CAAC,CAAA,KAAM,GAAA,CAAI,QAAA,CAAS,CAAC,CAAW,CAAA;AAAA,IACtE,CAAC,CAAA;AAED,IAAA,OAAO;AAAA,MACL,GAAG,GAAA;AAAA,MACH,UAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"select.vue2.mjs","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 @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"],"names":[],"mappings":";;;;;;;;;;;;;;AAiVA,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,YAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,YAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,UAAA,EAAY,EAAE,YAAA,EAAa;AAAA,EAC3B,KAAA,EAAO,aAAA;AAAA,EACP,KAAA,EAAO,aAAA;AAAA,EACP,KAAA,CAAM,KAAA,EAAO,EAAE,IAAA,EAAK,EAAG;AACrB,IAAA,MAAM,UAAA,GAAa,SAAS,MAAM;AAChC,MAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,QAAA,EAAS,GAAI,KAAA;AAChD,MAAA,MAAM,QAAA,GAAW,QAAA,GAAW,EAAC,GAAI,MAAA;AAGjC,MAAA,IAAI,OAAA,CAAQ,aAAa,CAAA,EAAG;AAC1B,QAAA,OAAO,WAAW,aAAA,GAAgB,QAAA;AAAA,MACpC;AACA,MAAA,OAAO,WAAW,QAAA,GAAW,aAAA;AAAA,IAC/B,CAAC,CAAA;AAED,IAAA,MAAM,GAAA,GAAM,SAAA;AAAA,MACV,QAAA,CAAS;AAAA,QACP,GAAG,OAAO,KAAK,CAAA;AAAA,QACf;AAAA,OACD,CAAA;AAAA,MACD;AAAA,KACF;AACA,IAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAI,iBAAA,EAAkB;AACxD,IAAA,MAAM,YAAY,KAAA,EAAM;AAExB,IAAA,OAAA,CAAQ,oBAAA,EAAsB;AAAA,MAC5B,OAAO,QAAA,CAAS;AAAA,QACd,GAAG,OAAO,KAAK,CAAA;AAAA,QACf,QAAQ,GAAA,CAAI,WAAA;AAAA,QACZ;AAAA,OACD,CAAA;AAAA,MACD,UAAU,GAAA,CAAI,QAAA;AAAA,MACd,YAAY,GAAA,CAAI,UAAA;AAAA,MAChB,SAAA;AAAA,MACA,UAAU,GAAA,CAAI,QAAA;AAAA,MACd,SAAS,GAAA,CAAI,OAAA;AAAA,MACb,oBAAoB,GAAA,CAAI,kBAAA;AAAA,MACxB,kBAAkB,GAAA,CAAI;AAAA,KACvB,CAAA;AAED,IAAA,MAAM,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,IAAI,CAAC,MAAM,QAAA,EAAU;AACnB,QAAA,OAAO,IAAI,MAAA,CAAO,aAAA;AAAA,MACpB;AACA,MAAA,OAAO,GAAA,CAAI,OAAO,aAAA,CAAc,GAAA,CAAI,CAAC,CAAA,KAAM,GAAA,CAAI,QAAA,CAAS,CAAC,CAAW,CAAA;AAAA,IACtE,CAAC,CAAA;AAED,IAAA,OAAO;AAAA,MACL,GAAG,GAAA;AAAA,MACH,UAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
@@ -24,16 +24,24 @@ var _sfc_main = defineComponent({
24
24
  }
25
25
  },
26
26
  setup(props, context) {
27
- const { slots, expose } = context;
27
+ const { slots, expose, emit, attrs } = context;
28
+ const childAttrs = {
29
+ ...attrs,
30
+ onChange: void 0
31
+ };
28
32
  const select = ref();
29
33
  const tree = ref();
30
34
  const key = computed(() => props.nodeKey || props.valueKey || "value");
31
- const selectProps2 = useSelect(props, context, { select, tree, key });
32
- const { cacheOptions, ...treeProps2 } = useTree(props, context, {
33
- select,
34
- tree,
35
- key
36
- });
35
+ const selectProps2 = useSelect(props, { attrs, emit }, { select, tree, key });
36
+ const { cacheOptions, ...treeProps2 } = useTree(
37
+ props,
38
+ { attrs: childAttrs, slots, emit },
39
+ {
40
+ select,
41
+ tree,
42
+ key
43
+ }
44
+ );
37
45
  const methods = reactive({});
38
46
  expose(methods);
39
47
  onMounted(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"tree-select.vue2.mjs","sources":["../../../../../../packages/components/tree-select/src/tree-select.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, defineComponent, h, onMounted, reactive, ref } from 'vue'\nimport { pick } from 'lodash-unified'\nimport { ElSelect, selectProps } from '@element-plus/components/select'\nimport { ElTree, treeProps } from '@element-plus/components/tree'\nimport { useSelect } from './select'\nimport { useTree } from './tree'\nimport CacheOptions from './cache-options'\n\nimport type { TreeInstance } from '@element-plus/components/tree'\nimport type { SelectInstance } from '@element-plus/components/select'\n\nexport default defineComponent({\n name: 'ElTreeSelect',\n // disable `ElSelect` inherit current attrs\n inheritAttrs: false,\n props: {\n ...selectProps,\n ...treeProps,\n /**\n * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n */\n cacheData: {\n type: Array,\n default: () => [],\n },\n },\n setup(props, context) {\n const { slots, expose } = context\n\n const select = ref<SelectInstance>()\n const tree = ref<TreeInstance>()\n\n const key = computed(() => props.nodeKey || props.valueKey || 'value')\n\n const selectProps = useSelect(props, context, { select, tree, key })\n const { cacheOptions, ...treeProps } = useTree(props, context, {\n select,\n tree,\n key,\n })\n\n // expose ElTree/ElSelect methods\n const methods = reactive({})\n expose(methods)\n onMounted(() => {\n Object.assign(methods, {\n //TODO: let only tree and select in 3.0\n ...pick(tree.value, [\n 'filter',\n 'updateKeyChildren',\n 'getCheckedNodes',\n 'setCheckedNodes',\n 'getCheckedKeys',\n 'setCheckedKeys',\n 'setChecked',\n 'getHalfCheckedNodes',\n 'getHalfCheckedKeys',\n 'getCurrentKey',\n 'getCurrentNode',\n 'setCurrentKey',\n 'setCurrentNode',\n 'getNode',\n 'remove',\n 'append',\n 'insertBefore',\n 'insertAfter',\n ]),\n ...pick(select.value, ['focus', 'blur', 'selectedLabel']),\n treeRef: tree.value,\n selectRef: select.value,\n })\n })\n\n return () =>\n h(\n ElSelect,\n /**\n * 1. The `props` is processed into `Refs`, but `v-bind` and\n * render function props cannot read `Refs`, so use `reactive`\n * unwrap the `Refs` and keep reactive.\n * 2. The keyword `ref` requires `Ref`, but `reactive` broke it,\n * so use function.\n */\n reactive({\n ...selectProps,\n ref: (ref: SelectInstance) => (select.value = ref),\n }),\n {\n ...slots,\n default: () => [\n h(CacheOptions, { data: cacheOptions.value }),\n h(\n ElTree,\n reactive({\n ...treeProps,\n ref: (ref: TreeInstance) => (tree.value = ref),\n })\n ),\n ],\n }\n )\n },\n})\n</script>\n"],"names":["selectProps","treeProps","ref"],"mappings":";;;;;;;;;;AAYA,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,cAAA;AAAA;AAAA,EAEN,YAAA,EAAc,KAAA;AAAA,EACd,KAAA,EAAO;AAAA,IACL,GAAG,WAAA;AAAA,IACH,GAAG,SAAA;AAAA;AAAA;AAAA;AAAA,IAIH,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,KAAA;AAAA,MACN,OAAA,EAAS,MAAM;AAAC;AAClB,GACF;AAAA,EACA,KAAA,CAAM,OAAO,OAAA,EAAS;AACpB,IAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAO,GAAI,OAAA;AAE1B,IAAA,MAAM,SAAS,GAAA,EAAoB;AACnC,IAAA,MAAM,OAAO,GAAA,EAAkB;AAE/B,IAAA,MAAM,MAAM,QAAA,CAAS,MAAM,MAAM,OAAA,IAAW,KAAA,CAAM,YAAY,OAAO,CAAA;AAErE,IAAA,MAAMA,YAAAA,GAAc,UAAU,KAAA,EAAO,OAAA,EAAS,EAAE,MAAA,EAAQ,IAAA,EAAM,KAAK,CAAA;AACnE,IAAA,MAAM,EAAE,YAAA,EAAc,GAAGC,YAAU,GAAI,OAAA,CAAQ,OAAO,OAAA,EAAS;AAAA,MAC7D,MAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACD,CAAA;AAGD,IAAA,MAAM,OAAA,GAAU,QAAA,CAAS,EAAE,CAAA;AAC3B,IAAA,MAAA,CAAO,OAAO,CAAA;AACd,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAA,CAAO,OAAO,OAAA,EAAS;AAAA;AAAA,QAErB,GAAG,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO;AAAA,UAClB,QAAA;AAAA,UACA,mBAAA;AAAA,UACA,iBAAA;AAAA,UACA,iBAAA;AAAA,UACA,gBAAA;AAAA,UACA,gBAAA;AAAA,UACA,YAAA;AAAA,UACA,qBAAA;AAAA,UACA,oBAAA;AAAA,UACA,eAAA;AAAA,UACA,gBAAA;AAAA,UACA,eAAA;AAAA,UACA,gBAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA;AAAA,UACA,cAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA,QACD,GAAG,KAAK,MAAA,CAAO,KAAA,EAAO,CAAC,OAAA,EAAS,MAAA,EAAQ,eAAe,CAAC,CAAA;AAAA,QACxD,SAAS,IAAA,CAAK,KAAA;AAAA,QACd,WAAW,MAAA,CAAO;AAAA,OACnB,CAAA;AAAA,IACH,CAAC,CAAA;AAED,IAAA,OAAO,MACL,CAAA;AAAA,MACE,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQA,QAAA,CAAS;AAAA,QACP,GAAGD,YAAAA;AAAA,QACH,GAAA,EAAK,CAACE,IAAAA,KAAyB,MAAA,CAAO,KAAA,GAAQA;AAAA,OAC/C,CAAA;AAAA,MACD;AAAA,QACE,GAAG,KAAA;AAAA,QACH,SAAS,MAAM;AAAA,UACb,EAAE,YAAA,EAAc,EAAE,IAAA,EAAM,YAAA,CAAa,OAAO,CAAA;AAAA,UAC5C,CAAA;AAAA,YACE,MAAA;AAAA,YACA,QAAA,CAAS;AAAA,cACP,GAAGD,UAAAA;AAAA,cACH,GAAA,EAAK,CAACC,IAAAA,KAAuB,IAAA,CAAK,KAAA,GAAQA;AAAA,aAC3C;AAAA;AACH;AACF;AACF,KACF;AAAA,EACJ;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"tree-select.vue2.mjs","sources":["../../../../../../packages/components/tree-select/src/tree-select.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, defineComponent, h, onMounted, reactive, ref } from 'vue'\nimport { pick } from 'lodash-unified'\nimport { ElSelect, selectProps } from '@element-plus/components/select'\nimport { ElTree, treeProps } from '@element-plus/components/tree'\nimport { useSelect } from './select'\nimport { useTree } from './tree'\nimport CacheOptions from './cache-options'\n\nimport type { TreeInstance } from '@element-plus/components/tree'\nimport type { SelectInstance } from '@element-plus/components/select'\n\nexport default defineComponent({\n name: 'ElTreeSelect',\n // disable `ElSelect` inherit current attrs\n inheritAttrs: false,\n props: {\n ...selectProps,\n ...treeProps,\n /**\n * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n */\n cacheData: {\n type: Array,\n default: () => [],\n },\n },\n setup(props, context) {\n const { slots, expose, emit, attrs } = context\n const childAttrs = {\n ...attrs,\n onChange: undefined,\n }\n\n const select = ref<SelectInstance>()\n const tree = ref<TreeInstance>()\n\n const key = computed(() => props.nodeKey || props.valueKey || 'value')\n\n const selectProps = useSelect(props, { attrs, emit }, { select, tree, key })\n const { cacheOptions, ...treeProps } = useTree(\n props,\n { attrs: childAttrs, slots, emit },\n {\n select,\n tree,\n key,\n }\n )\n\n // expose ElTree/ElSelect methods\n const methods = reactive({})\n expose(methods)\n onMounted(() => {\n Object.assign(methods, {\n //TODO: let only tree and select in 3.0\n ...pick(tree.value, [\n 'filter',\n 'updateKeyChildren',\n 'getCheckedNodes',\n 'setCheckedNodes',\n 'getCheckedKeys',\n 'setCheckedKeys',\n 'setChecked',\n 'getHalfCheckedNodes',\n 'getHalfCheckedKeys',\n 'getCurrentKey',\n 'getCurrentNode',\n 'setCurrentKey',\n 'setCurrentNode',\n 'getNode',\n 'remove',\n 'append',\n 'insertBefore',\n 'insertAfter',\n ]),\n ...pick(select.value, ['focus', 'blur', 'selectedLabel']),\n treeRef: tree.value,\n selectRef: select.value,\n })\n })\n\n return () =>\n h(\n ElSelect,\n /**\n * 1. The `props` is processed into `Refs`, but `v-bind` and\n * render function props cannot read `Refs`, so use `reactive`\n * unwrap the `Refs` and keep reactive.\n * 2. The keyword `ref` requires `Ref`, but `reactive` broke it,\n * so use function.\n */\n reactive({\n ...selectProps,\n ref: (ref: SelectInstance) => (select.value = ref),\n }),\n {\n ...slots,\n default: () => [\n h(CacheOptions, { data: cacheOptions.value }),\n h(\n ElTree,\n reactive({\n ...treeProps,\n ref: (ref: TreeInstance) => (tree.value = ref),\n })\n ),\n ],\n }\n )\n },\n})\n</script>\n"],"names":["selectProps","treeProps","ref"],"mappings":"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"}
@@ -3,9 +3,9 @@ import { isEqual, pick, isNil } from 'lodash-unified';
3
3
  import { ElTree } from '../../tree/index.mjs';
4
4
  import component from './tree-select-option.mjs';
5
5
  import { toValidArray, treeFind, isValidValue, treeEach, isValidArray } from './utils.mjs';
6
- import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
7
6
  import { escapeStringRegexp } from '../../../utils/strings.mjs';
8
7
  import { isEmpty } from '../../../utils/types.mjs';
8
+ import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
9
9
  import { isFunction } from '@vue/shared';
10
10
 
11
11
  const useTree = (props, { attrs, slots, emit }, {
@@ -86,6 +86,15 @@ const useTree = (props, { attrs, slots, emit }, {
86
86
  return !isNil(node) && isEmpty(node.childNodes);
87
87
  });
88
88
  };
89
+ const emitChange = (val) => {
90
+ if (!isEqual(props.modelValue, val)) {
91
+ emit(CHANGE_EVENT, val);
92
+ }
93
+ };
94
+ function update(val) {
95
+ emit(UPDATE_MODEL_EVENT, val);
96
+ emitChange(val);
97
+ }
89
98
  return {
90
99
  ...pick(toRefs(props), Object.keys(ElTree.props)),
91
100
  ...attrs,
@@ -149,32 +158,27 @@ const useTree = (props, { attrs, slots, emit }, {
149
158
  ) : [];
150
159
  const checkedKeys = cachedKeys.concat(uncachedCheckedKeys);
151
160
  if (props.checkStrictly) {
152
- emit(
153
- UPDATE_MODEL_EVENT,
154
- // Checking for changes may come from `check-on-node-click`
161
+ update(
155
162
  props.multiple ? checkedKeys : checkedKeys.includes(dataValue) ? dataValue : void 0
156
163
  );
164
+ } else if (props.multiple) {
165
+ const childKeys = getChildCheckedKeys();
166
+ update(cachedKeys.concat(childKeys));
157
167
  } else {
158
- if (props.multiple) {
159
- const childKeys = getChildCheckedKeys();
160
- emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys));
161
- } else {
162
- const firstLeaf = treeFind(
163
- [data],
164
- (data2) => !isValidArray(getNodeValByProp("children", data2)) && !getNodeValByProp("disabled", data2),
165
- (data2) => getNodeValByProp("children", data2)
166
- );
167
- const firstLeafKey = firstLeaf ? getNodeValByProp("value", firstLeaf) : void 0;
168
- const hasCheckedChild = isValidValue(props.modelValue) && !!treeFind(
169
- [data],
170
- (data2) => getNodeValByProp("value", data2) === props.modelValue,
171
- (data2) => getNodeValByProp("children", data2)
172
- );
173
- emit(
174
- UPDATE_MODEL_EVENT,
175
- firstLeafKey === props.modelValue || hasCheckedChild ? void 0 : firstLeafKey
176
- );
177
- }
168
+ const firstLeaf = treeFind(
169
+ [data],
170
+ (data2) => !isValidArray(getNodeValByProp("children", data2)) && !getNodeValByProp("disabled", data2),
171
+ (data2) => getNodeValByProp("children", data2)
172
+ );
173
+ const firstLeafKey = firstLeaf ? getNodeValByProp("value", firstLeaf) : void 0;
174
+ const hasCheckedChild = isValidValue(props.modelValue) && !!treeFind(
175
+ [data],
176
+ (data2) => getNodeValByProp("value", data2) === props.modelValue,
177
+ (data2) => getNodeValByProp("children", data2)
178
+ );
179
+ update(
180
+ firstLeafKey === props.modelValue || hasCheckedChild ? void 0 : firstLeafKey
181
+ );
178
182
  }
179
183
  nextTick(() => {
180
184
  var _a2;
@@ -205,7 +209,7 @@ const useTree = (props, { attrs, slots, emit }, {
205
209
  (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)
206
210
  );
207
211
  const childKeys = getChildCheckedKeys();
208
- emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys));
212
+ update(cachedKeys.concat(childKeys));
209
213
  }
210
214
  });
211
215
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, isNil, pick } from 'lodash-unified'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { escapeStringRegexp, isEmpty, isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport {\n isValidArray,\n isValidValue,\n toValidArray,\n treeEach,\n treeFind,\n} from './utils'\n\nimport type { CacheOption } from './cache-options'\nimport type { Ref } from 'vue'\nimport type { SelectInstance } from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<SelectInstance | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n [() => props.modelValue, tree],\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n label: 'label',\n children: 'children',\n disabled: 'disabled',\n isLeaf: 'isLeaf',\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n const cacheOptions = computed(() => {\n if (!props.renderAfterExpand && !props.lazy) return []\n\n const options: CacheOption[] = []\n\n treeEach(\n props.data.concat(props.cacheData),\n (node) => {\n const value = getNodeValByProp('value', node)\n options.push({\n value,\n currentLabel: getNodeValByProp('label', node),\n isDisabled: getNodeValByProp('disabled', node),\n })\n },\n (data) => getNodeValByProp('children', data)\n )\n\n return options\n })\n\n const getChildCheckedKeys = () => {\n return tree.value?.getCheckedKeys().filter((checkedKey) => {\n const node = tree.value?.getNode(checkedKey) as Node\n return !isNil(node) && isEmpty(node.childNodes)\n })\n }\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n visible: node.visible,\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n const regexp = new RegExp(escapeStringRegexp(value), 'i')\n return regexp.test(getNodeValByProp('label', data) || '')\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.states.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option)\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick()\n }\n },\n onCheck: (data, params) => {\n // ignore when no checkbox, like only `checkOnClickNode` is true\n if (!props.showCheckbox) return\n\n const dataValue = getNodeValByProp('value', data)\n const dataMap = {}\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n // fix: checkedKeys has not cached keys\n const uncachedCheckedKeys = params.checkedKeys\n const cachedKeys = props.multiple\n ? toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n : []\n const checkedKeys = cachedKeys.concat(uncachedCheckedKeys)\n\n if (props.checkStrictly) {\n emit(\n UPDATE_MODEL_EVENT,\n // Checking for changes may come from `check-on-node-click`\n props.multiple\n ? checkedKeys\n : checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else {\n if (props.multiple) {\n const childKeys = getChildCheckedKeys()\n\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys))\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n emit(\n UPDATE_MODEL_EVENT,\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n }\n\n nextTick(() => {\n const checkedKeys = toValidArray(props.modelValue)\n tree.value.setCheckedKeys(checkedKeys)\n\n attrs.onCheck?.(data, {\n checkedKeys: tree.value.getCheckedKeys(),\n checkedNodes: tree.value.getCheckedNodes(),\n halfCheckedKeys: tree.value.getHalfCheckedKeys(),\n halfCheckedNodes: tree.value.getHalfCheckedNodes(),\n })\n })\n\n select.value?.focus()\n },\n\n onNodeExpand: (data, node, e) => {\n attrs.onNodeExpand?.(data, node, e)\n nextTick(() => {\n if (\n !props.checkStrictly &&\n props.lazy &&\n props.multiple &&\n node.checked\n ) {\n const dataMap = {}\n const uncachedCheckedKeys = (\n tree.value as TreeInstance\n ).getCheckedKeys()\n\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n const cachedKeys = toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n\n const childKeys = getChildCheckedKeys()\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys))\n }\n })\n },\n // else\n cacheOptions,\n }\n}\n"],"names":["_a","TreeSelectOption","data","checkedKeys","node"],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, isNil, pick } from 'lodash-unified'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { escapeStringRegexp, isEmpty, isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport {\n isValidArray,\n isValidValue,\n toValidArray,\n treeEach,\n treeFind,\n} from './utils'\n\nimport type { CacheOption } from './cache-options'\nimport type { Ref } from 'vue'\nimport type { SelectInstance } from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<SelectInstance | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n [() => props.modelValue, tree],\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n label: 'label',\n children: 'children',\n disabled: 'disabled',\n isLeaf: 'isLeaf',\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n const cacheOptions = computed(() => {\n if (!props.renderAfterExpand && !props.lazy) return []\n\n const options: CacheOption[] = []\n\n treeEach(\n props.data.concat(props.cacheData),\n (node) => {\n const value = getNodeValByProp('value', node)\n options.push({\n value,\n currentLabel: getNodeValByProp('label', node),\n isDisabled: getNodeValByProp('disabled', node),\n })\n },\n (data) => getNodeValByProp('children', data)\n )\n\n return options\n })\n\n const getChildCheckedKeys = () => {\n return tree.value?.getCheckedKeys().filter((checkedKey) => {\n const node = tree.value?.getNode(checkedKey) as Node\n return !isNil(node) && isEmpty(node.childNodes)\n })\n }\n\n const emitChange = (val: any | any[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n function update(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emitChange(val)\n }\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n visible: node.visible,\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n const regexp = new RegExp(escapeStringRegexp(value), 'i')\n return regexp.test(getNodeValByProp('label', data) || '')\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.states.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option)\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick()\n }\n },\n onCheck: (data, params) => {\n // ignore when no checkbox, like only `checkOnClickNode` is true\n if (!props.showCheckbox) return\n\n const dataValue = getNodeValByProp('value', data)\n const dataMap = {}\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n // fix: checkedKeys has not cached keys\n const uncachedCheckedKeys = params.checkedKeys\n const cachedKeys = props.multiple\n ? toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n : []\n const checkedKeys = cachedKeys.concat(uncachedCheckedKeys)\n\n if (props.checkStrictly) {\n // Checking for changes may come from `check-on-node-click`\n update(\n props.multiple\n ? checkedKeys\n : checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else if (props.multiple) {\n const childKeys = getChildCheckedKeys()\n update(cachedKeys.concat(childKeys))\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n update(\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n\n nextTick(() => {\n const checkedKeys = toValidArray(props.modelValue)\n tree.value.setCheckedKeys(checkedKeys)\n\n attrs.onCheck?.(data, {\n checkedKeys: tree.value.getCheckedKeys(),\n checkedNodes: tree.value.getCheckedNodes(),\n halfCheckedKeys: tree.value.getHalfCheckedKeys(),\n halfCheckedNodes: tree.value.getHalfCheckedNodes(),\n })\n })\n\n select.value?.focus()\n },\n\n onNodeExpand: (data, node, e) => {\n attrs.onNodeExpand?.(data, node, e)\n nextTick(() => {\n if (\n !props.checkStrictly &&\n props.lazy &&\n props.multiple &&\n node.checked\n ) {\n const dataMap = {}\n const uncachedCheckedKeys = (\n tree.value as TreeInstance\n ).getCheckedKeys()\n\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n const cachedKeys = toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n\n const childKeys = getChildCheckedKeys()\n update(cachedKeys.concat(childKeys))\n }\n })\n },\n // else\n cacheOptions,\n }\n}\n"],"names":["_a","TreeSelectOption","data","checkedKeys","node"],"mappings":"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"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20260217";
1
+ export declare const version = "0.0.20260219";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20260217";
1
+ const version = "0.0.20260219";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260217'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260219'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
@@ -229,10 +229,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
229
229
  );
230
230
  return [suggestion, suggestionList];
231
231
  };
232
- const stopHandle = core.onClickOutside(listboxRef, () => {
232
+ const stopHandle = core.onClickOutside(listboxRef, (event) => {
233
233
  var _a;
234
234
  if ((_a = popperRef.value) == null ? void 0 : _a.isFocusInsideContent()) return;
235
- suggestionVisible.value && close();
235
+ const hadIgnoredFocus = ignoreFocusEvent;
236
+ ignoreFocusEvent = false;
237
+ if (!suggestionVisible.value) return;
238
+ if (hadIgnoredFocus) {
239
+ handleBlur(new FocusEvent("blur", event));
240
+ } else {
241
+ close();
242
+ }
236
243
  });
237
244
  const handleKeydown = (e) => {
238
245
  const code = event$1.getEventCode(e);
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.vue2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type { AutocompleteData, AutocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, () => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n suggestionVisible.value && close()\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"names":["computed","pick","inputProps","useRawAttrs","useFormDisabled","useNamespace","ref","useId","isArray","throwError","useDebounceFn","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","getEventCode","EVENT_CODE","onBeforeUnmount","onMounted","_createBlock","_unref","ElTooltip","_createElementVNode","_normalizeClass","_normalizeStyle","$slots","_createElementBlock","_renderSlot","_createVNode","ElScrollbar","ElIcon","Loading","_openBlock","_Fragment","_renderList","_createTextVNode","_toDisplayString","$attrs","_mergeProps","mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.vue2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type { AutocompleteData, AutocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"names":["computed","pick","inputProps","useRawAttrs","useFormDisabled","useNamespace","ref","useId","isArray","throwError","useDebounceFn","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","getEventCode","EVENT_CODE","onBeforeUnmount","onMounted","_createBlock","_unref","ElTooltip","_createElementVNode","_normalizeClass","_normalizeStyle","$slots","_createElementBlock","_renderSlot","_createVNode","ElScrollbar","ElIcon","Loading","_openBlock","_Fragment","_renderList","_createTextVNode","_toDisplayString","$attrs","_mergeProps","mergeProps"],"mappings":"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"}
@@ -48,13 +48,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
48
48
  [
49
49
  vue.renderSlot(_ctx.$slots, "default"),
50
50
  vue.createVNode(vue.Transition, {
51
- name: `${vue.unref(ns).namespace.value}-zoom-in-center`,
52
- persisted: ""
51
+ name: `${vue.unref(ns).namespace.value}-zoom-in-center`
53
52
  }, {
54
53
  default: vue.withCtx(() => [
55
- vue.withDirectives(vue.createElementVNode(
54
+ !__props.hidden && (content.value || __props.isDot || _ctx.$slots.content) ? (vue.openBlock(), vue.createElementBlock(
56
55
  "sup",
57
56
  {
57
+ key: 0,
58
58
  class: vue.normalizeClass([
59
59
  vue.unref(ns).e("content"),
60
60
  vue.unref(ns).em("content", __props.type),
@@ -76,9 +76,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
76
76
  ],
77
77
  6
78
78
  /* CLASS, STYLE */
79
- ), [
80
- [vue.vShow, !__props.hidden && (content.value || __props.isDot || _ctx.$slots.content)]
81
- ])
79
+ )) : vue.createCommentVNode("v-if", true)
82
80
  ]),
83
81
  _: 3
84
82
  /* FORWARDED */
@@ -1 +1 @@
1
- {"version":3,"file":"badge.vue2.js","sources":["../../../../../../packages/components/badge/src/badge.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <slot />\n <transition :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <sup\n v-show=\"!hidden && (content || isDot || $slots.content)\"\n :class=\"[\n ns.e('content'),\n ns.em('content', type),\n ns.is('fixed', !!$slots.default),\n ns.is('dot', isDot),\n ns.is('hide-zero', !showZero && value === 0),\n badgeClass,\n ]\"\n :style=\"style\"\n >\n <slot name=\"content\" :value=\"content\">\n {{ content }}\n </slot>\n </sup>\n </transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addUnit, isNumber } from '@element-plus/utils'\n\nimport type { StyleValue } from 'vue'\nimport type { BadgeProps } from './badge'\n\ndefineOptions({\n name: 'ElBadge',\n})\n\nconst props = withDefaults(defineProps<BadgeProps>(), {\n badgeStyle: undefined,\n value: '',\n max: 99,\n type: 'danger',\n showZero: true,\n offset: () => [0, 0],\n})\n\nconst ns = useNamespace('badge')\n\nconst content = computed<string>(() => {\n if (props.isDot) return ''\n if (isNumber(props.value) && isNumber(props.max)) {\n return props.max < props.value ? `${props.max}+` : `${props.value}`\n }\n return `${props.value}`\n})\n\nconst style = computed<StyleValue>(() => {\n return [\n {\n backgroundColor: props.color,\n marginRight: addUnit(-props.offset[0]),\n marginTop: addUnit(props.offset[1]),\n },\n props.badgeStyle ?? {},\n ]\n})\n\ndefineExpose({\n /** @description badge content */\n content,\n})\n</script>\n"],"names":["useNamespace","computed","isNumber","style","addUnit","_createElementBlock","_normalizeClass","_unref","_renderSlot","_createVNode","_Transition","_createElementVNode","$slots","_vShow"],"mappings":";;;;;;;;;;;;;;;;;AAoCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AASd,IAAA,MAAM,EAAA,GAAKA,mBAAa,OAAO,CAAA;AAE/B,IAAA,MAAM,OAAA,GAAUC,aAAiB,MAAM;AACrC,MAAA,IAAI,KAAA,CAAM,OAAO,OAAO,EAAA;AACxB,MAAA,IAAIC,eAAS,KAAA,CAAM,KAAK,KAAKA,cAAA,CAAS,KAAA,CAAM,GAAG,CAAA,EAAG;AAChD,QAAA,OAAO,KAAA,CAAM,GAAA,GAAM,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,MAAM,GAAG,CAAA,CAAA,CAAA,GAAM,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,MACnE;AACA,MAAA,OAAO,CAAA,EAAG,MAAM,KAAK,CAAA,CAAA;AAAA,IACvB,CAAC,CAAA;AAED,IAAA,MAAMC,OAAA,GAAQF,aAAqB,MAAM;;AACvC,MAAA,OAAO;AAAA,QACL;AAAA,UACE,iBAAiB,KAAA,CAAM,KAAA;AAAA,UACvB,aAAaG,aAAA,CAAQ,CAAC,KAAA,CAAM,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,UACrC,SAAA,EAAWA,aAAA,CAAQ,KAAA,CAAM,MAAA,CAAO,CAAC,CAAC;AAAA,SACpC;AAAA,QAAA,CACA,EAAA,GAAA,KAAA,CAAM,UAAA,KAAN,IAAA,GAAA,EAAA,GAAoB;AAAC,OACvB;AAAA,IACF,CAAC,CAAA;AAED,IAAA,QAAA,CAAa;AAAA;AAAA,MAEX;AAAA,KACD,CAAA;;8BApECC,sBAAA;AAAA,QAoBM,KAAA;AAAA,QAAA;AAAA,UApBA,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,GAAC;AAAA;;UACfC,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,UACRC,gBAiBaC,cAAA,EAAA;AAAA,YAjBA,MAAI,CAAA,EAAKH,SAAA,CAAA,EAAA,CAAA,CAAG,UAAU,KAAK,CAAA,eAAA,CAAA;AAAA,YAAxC,SAAA,EAAA;AAAA;iCACE,MAeM;AAAA,iCAfNI,sBAAA;AAAA,gBAeM,KAAA;AAAA,gBAAA;AAAA,kBAbH,OAAKL,kBAAA,CAAA;AAAA,oBAAcC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,SAAA,CAAA;AAAA,oBAAuBA,UAAA,EAAA,CAAA,CAAG,EAAA,CAAE,SAAA,EAAY,QAAA,IAAI,CAAA;AAAA,oBAAaA,SAAA,CAAA,EAAA,CAAA,CAAG,EAAA,CAAE,SAAA,CAAA,CAAYK,IAAAA,CAAAA,MAAAA,CAAO,OAAO,CAAA;AAAA,oBAAaL,UAAA,EAAA,CAAA,CAAG,EAAA,CAAE,KAAA,EAAQ,QAAA,KAAK,CAAA;AAAA,oBAAaA,SAAA,CAAA,EAAA,CAAA,CAAG,EAAA,CAAE,WAAA,EAAA,CAAe,OAAA,CAAA,QAAA,IAAY,OAAA,CAAA,KAAA,KAAK,CAAA,CAAA;AAAA,oBAAmB,OAAA,CAAA;AAAA;kBAQnN,KAAA,qBAAOJ,OAAA,CAAA,KAAK;AAAA;;kBAEbK,cAAA,CAEO,KAAA,MAAA,EAAA,SAAA,EAAA,EAFe,KAAA,EAAO,OAAA,CAAA,KAAA,IAA7B,MAEO;AAAA;0CADF,QAAA,KAAO,CAAA;AAAA,sBAAA;AAAA;AAAA;AAAA;;;;;gBAZH,CAAAK,SAAA,EAAA,CAAA,OAAA,CAAA,MAAA,KAAW,OAAA,CAAA,KAAA,IAAW,OAAA,UAASD,IAAAA,CAAAA,MAAAA,CAAO,OAAA,CAAO;AAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"badge.vue2.js","sources":["../../../../../../packages/components/badge/src/badge.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <slot />\n <transition :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <sup\n v-if=\"!hidden && (content || isDot || $slots.content)\"\n :class=\"[\n ns.e('content'),\n ns.em('content', type),\n ns.is('fixed', !!$slots.default),\n ns.is('dot', isDot),\n ns.is('hide-zero', !showZero && value === 0),\n badgeClass,\n ]\"\n :style=\"style\"\n >\n <slot name=\"content\" :value=\"content\">\n {{ content }}\n </slot>\n </sup>\n </transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addUnit, isNumber } from '@element-plus/utils'\n\nimport type { StyleValue } from 'vue'\nimport type { BadgeProps } from './badge'\n\ndefineOptions({\n name: 'ElBadge',\n})\n\nconst props = withDefaults(defineProps<BadgeProps>(), {\n badgeStyle: undefined,\n value: '',\n max: 99,\n type: 'danger',\n showZero: true,\n offset: () => [0, 0],\n})\n\nconst ns = useNamespace('badge')\n\nconst content = computed<string>(() => {\n if (props.isDot) return ''\n if (isNumber(props.value) && isNumber(props.max)) {\n return props.max < props.value ? `${props.max}+` : `${props.value}`\n }\n return `${props.value}`\n})\n\nconst style = computed<StyleValue>(() => {\n return [\n {\n backgroundColor: props.color,\n marginRight: addUnit(-props.offset[0]),\n marginTop: addUnit(props.offset[1]),\n },\n props.badgeStyle ?? {},\n ]\n})\n\ndefineExpose({\n /** @description badge content */\n content,\n})\n</script>\n"],"names":["useNamespace","computed","isNumber","style","addUnit","_createElementBlock","_normalizeClass","_unref","_renderSlot","_createVNode","_Transition","$slots"],"mappings":";;;;;;;;;;;;;;;;;AAoCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AASd,IAAA,MAAM,EAAA,GAAKA,mBAAa,OAAO,CAAA;AAE/B,IAAA,MAAM,OAAA,GAAUC,aAAiB,MAAM;AACrC,MAAA,IAAI,KAAA,CAAM,OAAO,OAAO,EAAA;AACxB,MAAA,IAAIC,eAAS,KAAA,CAAM,KAAK,KAAKA,cAAA,CAAS,KAAA,CAAM,GAAG,CAAA,EAAG;AAChD,QAAA,OAAO,KAAA,CAAM,GAAA,GAAM,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,MAAM,GAAG,CAAA,CAAA,CAAA,GAAM,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,MACnE;AACA,MAAA,OAAO,CAAA,EAAG,MAAM,KAAK,CAAA,CAAA;AAAA,IACvB,CAAC,CAAA;AAED,IAAA,MAAMC,OAAA,GAAQF,aAAqB,MAAM;;AACvC,MAAA,OAAO;AAAA,QACL;AAAA,UACE,iBAAiB,KAAA,CAAM,KAAA;AAAA,UACvB,aAAaG,aAAA,CAAQ,CAAC,KAAA,CAAM,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,UACrC,SAAA,EAAWA,aAAA,CAAQ,KAAA,CAAM,MAAA,CAAO,CAAC,CAAC;AAAA,SACpC;AAAA,QAAA,CACA,EAAA,GAAA,KAAA,CAAM,UAAA,KAAN,IAAA,GAAA,EAAA,GAAoB;AAAC,OACvB;AAAA,IACF,CAAC,CAAA;AAED,IAAA,QAAA,CAAa;AAAA;AAAA,MAEX;AAAA,KACD,CAAA;;8BApECC,sBAAA;AAAA,QAoBM,KAAA;AAAA,QAAA;AAAA,UApBA,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,GAAC;AAAA;;UACfC,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,UACRC,gBAiBaC,cAAA,EAAA;AAAA,YAjBA,MAAI,CAAA,EAAKH,SAAA,CAAA,EAAA,CAAA,CAAG,UAAU,KAAK,CAAA,eAAA;AAAA;iCACtC,MAeM;AAAA,cAdG,CAAA,OAAA,CAAA,MAAA,KAAW,OAAA,CAAA,KAAA,IAAW,OAAA,UAASI,IAAAA,CAAAA,MAAAA,CAAO,OAAA,CAAA,qBAD/CN,sBAAA;AAAA,gBAeM,KAAA;AAAA,gBAAA;AAAA;kBAbH,OAAKC,kBAAA,CAAA;AAAA,oBAAcC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,SAAA,CAAA;AAAA,oBAAuBA,UAAA,EAAA,CAAA,CAAG,EAAA,CAAE,SAAA,EAAY,QAAA,IAAI,CAAA;AAAA,oBAAaA,SAAA,CAAA,EAAA,CAAA,CAAG,EAAA,CAAE,SAAA,CAAA,CAAYI,IAAAA,CAAAA,MAAAA,CAAO,OAAO,CAAA;AAAA,oBAAaJ,UAAA,EAAA,CAAA,CAAG,EAAA,CAAE,KAAA,EAAQ,QAAA,KAAK,CAAA;AAAA,oBAAaA,SAAA,CAAA,EAAA,CAAA,CAAG,EAAA,CAAE,WAAA,EAAA,CAAe,OAAA,CAAA,QAAA,IAAY,OAAA,CAAA,KAAA,KAAK,CAAA,CAAA;AAAA,oBAAmB,OAAA,CAAA;AAAA;kBAQnN,KAAA,qBAAOJ,OAAA,CAAA,KAAK;AAAA;;kBAEbK,cAAA,CAEO,KAAA,MAAA,EAAA,SAAA,EAAA,EAFe,KAAA,EAAO,OAAA,CAAA,KAAA,IAA7B,MAEO;AAAA;0CADF,QAAA,KAAO,CAAA;AAAA,sBAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
@@ -293,7 +293,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
293
293
  class: vue.normalizeClass([
294
294
  _ctx.nsSelect.e("selected-item"),
295
295
  _ctx.nsSelect.e("input-wrapper"),
296
- _ctx.nsSelect.is("hidden", !_ctx.filterable || _ctx.selectDisabled)
296
+ _ctx.nsSelect.is(
297
+ "hidden",
298
+ !_ctx.filterable || _ctx.selectDisabled || !_ctx.states.inputValue && !_ctx.isFocused
299
+ )
297
300
  ])
298
301
  },
299
302
  [