bkui-vue 2.0.1-beta.10 → 2.0.1-beta.101

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 (396) hide show
  1. package/README.md +15 -0
  2. package/dist/index.cjs.js +73 -73
  3. package/dist/index.esm.js +28545 -27734
  4. package/dist/index.umd.js +73 -73
  5. package/dist/style.css +1 -1
  6. package/dist/style.variable.css +1 -1
  7. package/lib/affix/affix.css +130 -0
  8. package/lib/affix/affix.variable.css +262 -1
  9. package/lib/alert/alert.css +133 -3
  10. package/lib/alert/alert.d.ts +5 -12
  11. package/lib/alert/alert.variable.css +262 -1
  12. package/lib/alert/index.d.ts +11 -26
  13. package/lib/alert/index.js +6 -6
  14. package/lib/backtop/backtop.css +133 -3
  15. package/lib/backtop/backtop.variable.css +395 -4
  16. package/lib/badge/badge.css +156 -26
  17. package/lib/badge/badge.variable.css +262 -1
  18. package/lib/breadcrumb/breadcrumb.css +135 -5
  19. package/lib/breadcrumb/breadcrumb.variable.css +397 -6
  20. package/lib/button/button.css +417 -243
  21. package/lib/button/button.d.ts +7 -7
  22. package/lib/button/button.less +74 -71
  23. package/lib/button/button.variable.css +450 -145
  24. package/lib/button/index.d.ts +11 -11
  25. package/lib/button/index.js +0 -1
  26. package/lib/card/card.css +134 -4
  27. package/lib/card/card.variable.css +396 -5
  28. package/lib/cascader/cascader-panel.d.ts +5 -0
  29. package/lib/cascader/cascader.css +153 -23
  30. package/lib/cascader/cascader.d.ts +4 -0
  31. package/lib/cascader/cascader.variable.css +415 -24
  32. package/lib/cascader/index.d.ts +1 -0
  33. package/lib/cascader/index.js +79 -8
  34. package/lib/checkbox/checkbox-group.d.ts +0 -16
  35. package/lib/checkbox/checkbox.css +147 -9
  36. package/lib/checkbox/checkbox.d.ts +39 -7
  37. package/lib/checkbox/checkbox.less +12 -0
  38. package/lib/checkbox/checkbox.variable.css +270 -1
  39. package/lib/checkbox/index.d.ts +57 -22
  40. package/lib/checkbox/index.js +18 -5
  41. package/lib/code-diff/code-diff.css +130 -0
  42. package/lib/code-diff/code-diff.variable.css +262 -1
  43. package/lib/collapse/collapse-panel.d.ts +5 -5
  44. package/lib/collapse/collapse.css +131 -1
  45. package/lib/collapse/collapse.variable.css +262 -1
  46. package/lib/collapse/index.d.ts +5 -5
  47. package/lib/collapse/index.js +2 -0
  48. package/lib/collapse/props.d.ts +2 -2
  49. package/lib/collapse-transition/collapse-transition.css +130 -0
  50. package/lib/collapse-transition/collapse-transition.variable.css +262 -1
  51. package/lib/color-picker/color-picker.css +130 -0
  52. package/lib/color-picker/color-picker.d.ts +16 -0
  53. package/lib/color-picker/color-picker.variable.css +262 -1
  54. package/lib/color-picker/index.d.ts +23 -0
  55. package/lib/color-picker/index.js +8 -1
  56. package/lib/components.d.ts +0 -2
  57. package/lib/components.js +0 -2
  58. package/lib/config-provider/config-provider.css +130 -0
  59. package/lib/config-provider/config-provider.variable.css +262 -1
  60. package/lib/container/container.css +130 -0
  61. package/lib/container/container.variable.css +392 -1
  62. package/lib/container/index.js +0 -1
  63. package/lib/date-picker/date-picker.css +147 -17
  64. package/lib/date-picker/date-picker.d.ts +3 -11
  65. package/lib/date-picker/date-picker.variable.css +262 -1
  66. package/lib/date-picker/index.d.ts +10 -24
  67. package/lib/date-picker/index.js +70 -32
  68. package/lib/date-picker/panel/date-range.d.ts +4 -4
  69. package/lib/date-picker/panel/time-range.d.ts +0 -9
  70. package/lib/date-picker/panel/time.d.ts +1 -10
  71. package/lib/date-picker/props.d.ts +0 -4
  72. package/lib/date-picker/time-picker.d.ts +3 -10
  73. package/lib/dialog/dialog.css +138 -8
  74. package/lib/dialog/dialog.d.ts +34 -18
  75. package/lib/dialog/dialog.variable.css +400 -9
  76. package/lib/dialog/index.d.ts +72 -38
  77. package/lib/dialog/index.js +3 -1
  78. package/lib/dialog/props.d.ts +15 -8
  79. package/lib/directives/index.d.ts +1 -0
  80. package/lib/directives/index.js +32 -10
  81. package/lib/dist.index.js +2 -4
  82. package/lib/divider/divider.css +133 -3
  83. package/lib/divider/divider.variable.css +262 -1
  84. package/lib/dropdown/dropdown-item.d.ts +1 -1
  85. package/lib/dropdown/dropdown-menu.d.ts +1 -1
  86. package/lib/dropdown/dropdown.css +130 -0
  87. package/lib/dropdown/dropdown.d.ts +1 -1
  88. package/lib/dropdown/dropdown.variable.css +392 -1
  89. package/lib/dropdown/index.d.ts +4 -4
  90. package/lib/dropdown/index.js +3 -1
  91. package/lib/exception/exception.css +130 -0
  92. package/lib/exception/exception.variable.css +262 -1
  93. package/lib/fixed-navbar/fixed-navbar.css +134 -4
  94. package/lib/fixed-navbar/fixed-navbar.variable.css +262 -1
  95. package/lib/form/form-item.d.ts +7 -19
  96. package/lib/form/form.css +130 -0
  97. package/lib/form/form.variable.css +262 -1
  98. package/lib/form/index.d.ts +7 -14
  99. package/lib/form/index.js +8 -7
  100. package/lib/image/image-viewer.css +130 -0
  101. package/lib/image/image-viewer.variable.css +262 -1
  102. package/lib/image/image.css +130 -0
  103. package/lib/image/image.variable.css +392 -1
  104. package/lib/image/index.js +0 -1
  105. package/lib/index.d.ts +6 -0
  106. package/lib/index.js +2 -26
  107. package/lib/info-box/index.js +4 -5
  108. package/lib/info-box/info-box.css +134 -4
  109. package/lib/info-box/info-box.variable.css +262 -1
  110. package/lib/input/index.js +47 -500
  111. package/lib/input/input.css +225 -73
  112. package/lib/input/input.less +30 -1
  113. package/lib/input/input.variable.css +487 -74
  114. package/lib/link/index.d.ts +11 -11
  115. package/lib/link/link.css +146 -16
  116. package/lib/link/link.d.ts +5 -5
  117. package/lib/link/link.variable.css +262 -1
  118. package/lib/loading/index.d.ts +12 -11
  119. package/lib/loading/index.js +4 -2
  120. package/lib/loading/loading.css +146 -16
  121. package/lib/loading/loading.d.ts +5 -5
  122. package/lib/loading/loading.variable.css +408 -17
  123. package/lib/menu/index.d.ts +19 -0
  124. package/lib/menu/index.js +25 -4
  125. package/lib/menu/menu-group.d.ts +9 -0
  126. package/lib/menu/menu-item.d.ts +9 -0
  127. package/lib/menu/menu.css +176 -34
  128. package/lib/menu/menu.less +33 -18
  129. package/lib/menu/menu.variable.css +438 -35
  130. package/lib/menu/submenu.css +130 -0
  131. package/lib/menu/submenu.d.ts +1 -0
  132. package/lib/menu/submenu.variable.css +262 -1
  133. package/lib/message/message.css +153 -22
  134. package/lib/message/message.less +3 -2
  135. package/lib/message/message.variable.css +264 -2
  136. package/lib/message/messageConstructor.d.ts +5 -5
  137. package/lib/modal/index.d.ts +59 -18
  138. package/lib/modal/index.js +44 -23
  139. package/lib/modal/modal.css +134 -4
  140. package/lib/modal/modal.d.ts +23 -7
  141. package/lib/modal/modal.variable.css +396 -5
  142. package/lib/modal/props.mixin.d.ts +10 -3
  143. package/lib/navigation/navigation.css +132 -2
  144. package/lib/navigation/navigation.variable.css +262 -1
  145. package/lib/notify/notify.css +137 -7
  146. package/lib/notify/notify.variable.css +262 -1
  147. package/lib/notify/notifyConstructor.d.ts +5 -5
  148. package/lib/overflow-title/components/overflow-title.d.ts +26 -7
  149. package/lib/overflow-title/index.d.ts +52 -15
  150. package/lib/overflow-title/index.js +15 -8
  151. package/lib/overflow-title/props.d.ts +13 -3
  152. package/lib/pagination/index.d.ts +0 -19
  153. package/lib/pagination/index.js +62 -9
  154. package/lib/pagination/pagination.css +139 -9
  155. package/lib/pagination/pagination.d.ts +0 -13
  156. package/lib/pagination/pagination.less +14 -13
  157. package/lib/pagination/pagination.variable.css +270 -9
  158. package/lib/plugin-popover/index.js +17410 -56
  159. package/lib/pop-confirm/index.d.ts +19 -43
  160. package/lib/pop-confirm/index.js +34 -27
  161. package/lib/pop-confirm/pop-confirm.css +133 -1
  162. package/lib/pop-confirm/pop-confirm.d.ts +9 -19
  163. package/lib/pop-confirm/pop-confirm.less +3 -1
  164. package/lib/pop-confirm/pop-confirm.variable.css +265 -2
  165. package/lib/pop-confirm/props.d.ts +6 -9
  166. package/lib/popover/content.d.ts +5 -2
  167. package/lib/popover/index.d.ts +73 -3
  168. package/lib/popover/index.js +17410 -56
  169. package/lib/popover/popover.css +130 -0
  170. package/lib/popover/popover.d.ts +33 -1
  171. package/lib/popover/popover.variable.css +262 -1
  172. package/lib/popover/props.d.ts +16 -0
  173. package/lib/popover/use-floating.d.ts +2 -2
  174. package/lib/popover/use-popover-init.d.ts +3 -1
  175. package/lib/popover/utils.d.ts +2 -0
  176. package/lib/preset.d.ts +0 -1
  177. package/lib/preset.js +0 -1
  178. package/lib/process/process.css +143 -13
  179. package/lib/process/process.variable.css +262 -1
  180. package/lib/progress/index.d.ts +11 -11
  181. package/lib/progress/index.js +0 -1
  182. package/lib/progress/progress.css +134 -4
  183. package/lib/progress/progress.d.ts +7 -7
  184. package/lib/progress/progress.variable.css +396 -5
  185. package/lib/radio/index.d.ts +21 -21
  186. package/lib/radio/index.js +18 -7
  187. package/lib/radio/radio-button.d.ts +7 -7
  188. package/lib/radio/radio-group.d.ts +7 -7
  189. package/lib/radio/radio.css +172 -42
  190. package/lib/radio/radio.d.ts +7 -7
  191. package/lib/radio/radio.variable.css +262 -1
  192. package/lib/rate/rate.css +130 -0
  193. package/lib/rate/rate.variable.css +262 -1
  194. package/lib/resize-layout/index.d.ts +23 -0
  195. package/lib/resize-layout/index.js +26 -6
  196. package/lib/resize-layout/resize-layout.css +130 -0
  197. package/lib/resize-layout/resize-layout.d.ts +11 -0
  198. package/lib/resize-layout/resize-layout.variable.css +262 -1
  199. package/lib/scrollbar/css/scrollbar.css +239 -0
  200. package/lib/scrollbar/css/scrollbar.less +139 -0
  201. package/lib/scrollbar/css/scrollbar.variable.css +499 -0
  202. package/lib/scrollbar/handlers/click-rail.d.ts +2 -0
  203. package/lib/scrollbar/handlers/drag-thumb.d.ts +1 -0
  204. package/lib/scrollbar/handlers/keyboard.d.ts +2 -0
  205. package/lib/scrollbar/handlers/mouse-wheel.d.ts +2 -0
  206. package/lib/scrollbar/handlers/touch.d.ts +4 -0
  207. package/lib/scrollbar/helper/class-names.d.ts +21 -0
  208. package/lib/scrollbar/helper/css.d.ts +3 -0
  209. package/lib/scrollbar/helper/dom.d.ts +4 -0
  210. package/lib/scrollbar/helper/event-manager.d.ts +20 -0
  211. package/lib/scrollbar/helper/util.d.ts +11 -0
  212. package/lib/scrollbar/index.d.ts +133 -13
  213. package/lib/scrollbar/index.js +1332 -18433
  214. package/lib/scrollbar/process-scroll-diff.d.ts +1 -0
  215. package/lib/scrollbar/update-geometry.d.ts +8 -0
  216. package/lib/search-select/index.d.ts +106 -78
  217. package/lib/search-select/index.js +316 -158
  218. package/lib/search-select/input.d.ts +18 -6
  219. package/lib/search-select/menu.d.ts +12 -0
  220. package/lib/search-select/search-select.css +163 -35
  221. package/lib/search-select/search-select.d.ts +35 -43
  222. package/lib/search-select/search-select.less +2 -2
  223. package/lib/search-select/search-select.variable.css +425 -36
  224. package/lib/search-select/selected.d.ts +36 -9
  225. package/lib/search-select/utils.d.ts +3 -3
  226. package/lib/select/common.d.ts +4 -4
  227. package/lib/select/index.d.ts +247 -51
  228. package/lib/select/index.js +259 -136
  229. package/lib/select/option.d.ts +5 -5
  230. package/lib/select/select.css +175 -43
  231. package/lib/select/select.d.ts +102 -17
  232. package/lib/select/select.less +7 -4
  233. package/lib/select/select.variable.css +437 -44
  234. package/lib/select/selectTagInput.d.ts +6 -5
  235. package/lib/select/type.d.ts +9 -10
  236. package/lib/shared/frame-throttle.d.ts +15 -0
  237. package/lib/shared/index.d.ts +1 -0
  238. package/lib/shared/index.js +72 -1
  239. package/lib/shared/vue-types.d.ts +8 -8
  240. package/lib/sideslider/index.d.ts +49 -15
  241. package/lib/sideslider/index.js +1 -0
  242. package/lib/sideslider/sideslider.css +138 -9
  243. package/lib/sideslider/sideslider.d.ts +23 -7
  244. package/lib/sideslider/sideslider.less +7 -8
  245. package/lib/sideslider/sideslider.variable.css +269 -9
  246. package/lib/slider/slider.css +135 -5
  247. package/lib/slider/slider.variable.css +262 -1
  248. package/lib/steps/index.d.ts +14 -29
  249. package/lib/steps/index.js +0 -1
  250. package/lib/steps/steps.css +168 -38
  251. package/lib/steps/steps.d.ts +8 -18
  252. package/lib/steps/steps.variable.css +262 -1
  253. package/lib/styles/index.d.ts +1 -0
  254. package/lib/styles/mixins/animate.css +130 -0
  255. package/lib/styles/mixins/animate.variable.css +262 -1
  256. package/lib/styles/mixins/mixins.css +130 -0
  257. package/lib/styles/mixins/mixins.variable.css +130 -0
  258. package/lib/styles/mixins/popper.css +130 -0
  259. package/lib/styles/mixins/popper.variable.css +262 -1
  260. package/lib/styles/mixins/scroll.css +130 -0
  261. package/lib/styles/mixins/scroll.variable.css +262 -1
  262. package/lib/styles/reset.css +130 -0
  263. package/lib/styles/reset.variable.css +262 -1
  264. package/lib/{scrollbar/scrollbar.variable.css → styles/themes/themes.css} +2 -76
  265. package/lib/styles/themes/themes.less +299 -129
  266. package/lib/styles/themes/themes.variable.css +130 -0
  267. package/lib/swiper/swiper.css +130 -0
  268. package/lib/swiper/swiper.variable.css +262 -1
  269. package/lib/switcher/index.d.ts +11 -11
  270. package/lib/switcher/switcher.css +147 -17
  271. package/lib/switcher/switcher.d.ts +7 -7
  272. package/lib/switcher/switcher.variable.css +409 -18
  273. package/lib/tab/index.d.ts +27 -97
  274. package/lib/tab/index.js +47 -36
  275. package/lib/tab/props.d.ts +12 -37
  276. package/lib/tab/tab-nav.d.ts +16 -56
  277. package/lib/tab/tab-panel.d.ts +27 -5
  278. package/lib/tab/tab.css +211 -17
  279. package/lib/tab/tab.d.ts +0 -44
  280. package/lib/tab/tab.less +91 -4
  281. package/lib/tab/tab.variable.css +326 -1
  282. package/lib/table/components/ghost-body.d.ts +2 -0
  283. package/lib/table/components/table-cell.d.ts +22 -0
  284. package/lib/table/components/table-column.d.ts +1 -44
  285. package/lib/table/const.d.ts +15 -2
  286. package/lib/table/events.d.ts +2 -98
  287. package/lib/table/hooks/use-cell.d.ts +20 -0
  288. package/lib/table/hooks/use-checkbox-tooltip.d.ts +11 -0
  289. package/lib/table/hooks/use-column-resize.d.ts +7 -0
  290. package/lib/table/hooks/use-column-template.d.ts +5 -0
  291. package/lib/table/hooks/use-columns.d.ts +69 -0
  292. package/lib/table/{plugins → hooks}/use-draggable.d.ts +2 -2
  293. package/lib/table/hooks/use-fixed-column.d.ts +10 -0
  294. package/lib/table/hooks/use-head.d.ts +16 -0
  295. package/lib/table/hooks/use-layout.d.ts +25 -0
  296. package/lib/table/hooks/use-pagination.d.ts +16 -0
  297. package/lib/table/hooks/use-render.d.ts +21 -0
  298. package/lib/table/hooks/use-rows.d.ts +30 -0
  299. package/lib/table/hooks/use-settings.d.ts +138 -0
  300. package/lib/table/{plugins → hooks}/use-shift-key.d.ts +4 -2
  301. package/lib/table/index.d.ts +89 -561
  302. package/lib/table/index.js +4521 -3456
  303. package/lib/table/plugins/head-filter.css +135 -0
  304. package/lib/table/plugins/head-filter.d.ts +2 -1
  305. package/lib/table/plugins/head-filter.less +4 -0
  306. package/lib/table/plugins/head-filter.variable.css +267 -1
  307. package/lib/table/plugins/head-sort.css +130 -0
  308. package/lib/table/plugins/head-sort.variable.css +262 -1
  309. package/lib/table/plugins/settings.css +141 -1
  310. package/lib/table/plugins/settings.less +12 -1
  311. package/lib/table/plugins/settings.variable.css +273 -2
  312. package/lib/table/props.d.ts +95 -30
  313. package/lib/table/table.css +763 -432
  314. package/lib/table/table.d.ts +47 -181
  315. package/lib/table/table.less +244 -112
  316. package/lib/table/table.variable.css +1066 -474
  317. package/lib/table/utils.d.ts +41 -18
  318. package/lib/table-column/index.d.ts +3 -132
  319. package/lib/table-column/index.js +17367 -28
  320. package/lib/tag/index.d.ts +11 -11
  321. package/lib/tag/index.js +0 -1
  322. package/lib/tag/tag.css +136 -6
  323. package/lib/tag/tag.d.ts +5 -5
  324. package/lib/tag/tag.less +1 -1
  325. package/lib/tag/tag.variable.css +263 -2
  326. package/lib/tag-input/common.d.ts +1 -1
  327. package/lib/tag-input/index.d.ts +81 -3
  328. package/lib/tag-input/index.js +48 -24
  329. package/lib/tag-input/tag-input.css +157 -27
  330. package/lib/tag-input/tag-input.d.ts +41 -15
  331. package/lib/tag-input/tag-input.less +9 -9
  332. package/lib/tag-input/tag-input.variable.css +271 -10
  333. package/lib/tag-input/tag-props.d.ts +18 -0
  334. package/lib/time-picker/index.d.ts +10 -21
  335. package/lib/time-picker/time-picker.css +130 -0
  336. package/lib/time-picker/time-picker.variable.css +262 -1
  337. package/lib/timeline/timeline.css +149 -19
  338. package/lib/timeline/timeline.variable.css +262 -1
  339. package/lib/transfer/transfer.css +149 -19
  340. package/lib/transfer/transfer.variable.css +262 -1
  341. package/lib/tree/constant.d.ts +3 -1
  342. package/lib/tree/index.d.ts +21 -7
  343. package/lib/tree/index.js +66 -19
  344. package/lib/tree/props.d.ts +12 -5
  345. package/lib/tree/tree.css +242 -78
  346. package/lib/tree/tree.d.ts +11 -11
  347. package/lib/tree/tree.variable.css +504 -79
  348. package/lib/tree/use-node-action.d.ts +10 -9
  349. package/lib/tree/use-node-async.d.ts +2 -1
  350. package/lib/tree/use-node-attribute.d.ts +42 -34
  351. package/lib/tree/use-search.d.ts +1 -1
  352. package/lib/tree/use-tree-init.d.ts +8 -5
  353. package/lib/tree/util.d.ts +21 -21
  354. package/lib/upload/index.d.ts +52 -6
  355. package/lib/upload/index.js +109 -29
  356. package/lib/upload/props.d.ts +11 -2
  357. package/lib/upload/upload-list.d.ts +11 -1
  358. package/lib/upload/upload-trigger.d.ts +11 -1
  359. package/lib/upload/upload.css +157 -27
  360. package/lib/upload/upload.d.ts +24 -3
  361. package/lib/upload/upload.type.d.ts +6 -0
  362. package/lib/upload/upload.variable.css +419 -28
  363. package/lib/virtual-render/index.d.ts +12 -46
  364. package/lib/virtual-render/index.js +17468 -148
  365. package/lib/virtual-render/props.d.ts +2 -9
  366. package/lib/virtual-render/use-fix-top.d.ts +1 -1
  367. package/lib/virtual-render/use-scrollbar.d.ts +4 -17
  368. package/lib/virtual-render/v-virtual-render.d.ts +7 -1
  369. package/lib/virtual-render/virtual-render.css +225 -69
  370. package/lib/virtual-render/virtual-render.d.ts +6 -22
  371. package/lib/virtual-render/virtual-render.less +2 -11
  372. package/lib/virtual-render/virtual-render.variable.css +487 -70
  373. package/lib/volar.components.d.ts +2 -0
  374. package/package.json +6 -8
  375. package/lib/scrollbar/scrollbar-core/can-use-dom.d.ts +0 -2
  376. package/lib/scrollbar/scrollbar-core/helpers.d.ts +0 -5
  377. package/lib/scrollbar/scrollbar-core/index.d.ts +0 -241
  378. package/lib/scrollbar/scrollbar-core/mouse-wheel.d.ts +0 -5
  379. package/lib/scrollbar/scrollbar-core/scrollbar-width.d.ts +0 -1
  380. package/lib/scrollbar/scrollbar.css +0 -75
  381. package/lib/scrollbar/scrollbar.less +0 -94
  382. package/lib/table/plugins/col-group.d.ts +0 -38
  383. package/lib/table/plugins/settings.d.ts +0 -16
  384. package/lib/table/plugins/use-active-columns.d.ts +0 -16
  385. package/lib/table/plugins/use-column-resize.d.ts +0 -35
  386. package/lib/table/plugins/use-column-template.d.ts +0 -7
  387. package/lib/table/plugins/use-fixed-column.d.ts +0 -27
  388. package/lib/table/plugins/use-head-cell.d.ts +0 -7
  389. package/lib/table/plugins/use-pagination.d.ts +0 -23
  390. package/lib/table/use-attributes.d.ts +0 -62
  391. package/lib/table/use-column.d.ts +0 -155
  392. package/lib/table/use-common.d.ts +0 -1679
  393. package/lib/table/use-render.d.ts +0 -11
  394. /package/lib/table/{plugins → components}/body-empty.d.ts +0 -0
  395. /package/lib/table/{plugins → hooks}/use-observer-resize.d.ts +0 -0
  396. /package/lib/table/{plugins → hooks}/use-scroll-loading.d.ts +0 -0
@@ -17,6 +17,7 @@ import "../popover/popover.less";
17
17
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_virtual_render_927587a8__ from "../virtual-render";
18
18
  import "../virtual-render/virtual-render.less";
19
19
  import * as __WEBPACK_EXTERNAL_MODULE_lodash_merge_cf99375a__ from "lodash/merge";
20
+ import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_overflow_title_051a85a5__ from "../overflow-title";
20
21
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_tag_d74826be__ from "../tag";
21
22
  import "../tag/tag.less";
22
23
  import * as __WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__ from "lodash/debounce";
@@ -507,7 +508,7 @@ const config_provider_namespaceObject = config_provider_x({ ["useLocale"]: () =>
507
508
  ;// CONCATENATED MODULE: external "../icon"
508
509
  var icon_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
509
510
  var icon_y = x => () => x
510
- const icon_namespaceObject = icon_x({ ["AngleUp"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUp, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUpFill, ["Close"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Close, ["Done"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Done, ["Search"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Search, ["TextAll"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.TextAll });
511
+ const icon_namespaceObject = icon_x({ ["AngleDown"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleDown, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUpFill, ["Close"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Close, ["Done"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Done, ["Search"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Search, ["TextAll"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.TextAll });
511
512
  ;// CONCATENATED MODULE: external "lodash/isEqual"
512
513
  var isEqual_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
513
514
  var isEqual_y = x => () => x
@@ -596,15 +597,16 @@ function useRegistry(data) {
596
597
  // 注册item
597
598
  var register = function register(key, item) {
598
599
  if (!item) return;
599
- if (data.value.has(key)) {
600
- // console.warn(`repeat ${key}`, item);
601
- return;
602
- }
603
600
  return data.value.set(key, item);
604
601
  };
605
602
  // 删除item
606
- var unregister = function unregister(key) {
607
- data.value["delete"](key);
603
+ var unregister = function unregister(key, item) {
604
+ if (item) {
605
+ if (data.value.get(key) !== item) return;
606
+ data.value["delete"](key);
607
+ } else {
608
+ data.value["delete"](key);
609
+ }
608
610
  };
609
611
  return {
610
612
  register: register,
@@ -621,6 +623,7 @@ function useDebouncedRef(value) {
621
623
  track();
622
624
  return innerValue;
623
625
  },
626
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
624
627
  set: function set(newValue) {
625
628
  clearTimeout(timeout);
626
629
  if (newValue === undefined || newValue === '') {
@@ -732,7 +735,6 @@ function isInViewPort(el, client) {
732
735
 
733
736
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
734
737
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
735
- /* eslint-disable vue/no-reserved-component-names */
736
738
  /*
737
739
  * Tencent is pleased to support the open source community by making
738
740
  * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
@@ -770,7 +772,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
770
772
  name: 'Option',
771
773
  props: {
772
774
  id: {
773
- type: [String, Number, Object],
775
+ type: [String, Number],
774
776
  require: true
775
777
  },
776
778
  name: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.number, shared_namespaceObject.PropTypes.string]),
@@ -779,6 +781,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
779
781
  },
780
782
  setup: function setup(props, _ref) {
781
783
  var attrs = _ref.attrs;
784
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
782
785
  var _getCurrentInstance = (0,external_vue_namespaceObject.getCurrentInstance)(),
783
786
  proxy = _getCurrentInstance.proxy;
784
787
  var states = (0,external_vue_namespaceObject.reactive)({
@@ -829,6 +832,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
829
832
  var handleMouseEnter = function handleMouseEnter() {
830
833
  select.activeOptionValue = optionID.value;
831
834
  };
835
+ var handleMouseLeave = function handleMouseLeave() {
836
+ select.activeOptionValue = '';
837
+ };
832
838
  var transformNode = function transformNode(str) {
833
839
  var _keyword;
834
840
  if (!str) return str;
@@ -860,8 +866,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
860
866
  group === null || group === void 0 || group.register(optionID.value, proxy);
861
867
  });
862
868
  (0,external_vue_namespaceObject.onBeforeUnmount)(function () {
863
- select === null || select === void 0 || select.unregister(optionID.value);
864
- group === null || group === void 0 || group.unregister(optionID.value);
869
+ select === null || select === void 0 || select.unregister(optionID.value, proxy);
870
+ group === null || group === void 0 || group.unregister(optionID.value, proxy);
865
871
  });
866
872
  var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
867
873
  resolveClassName = _usePrefix.resolveClassName;
@@ -876,6 +882,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
876
882
  highlightKeyword: highlightKeyword,
877
883
  handleOptionClick: handleOptionClick,
878
884
  handleMouseEnter: handleMouseEnter,
885
+ handleMouseLeave: handleMouseLeave,
879
886
  resolveClassName: resolveClassName,
880
887
  transformNode: transformNode
881
888
  });
@@ -892,7 +899,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
892
899
  return (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("li", {
893
900
  "class": selectItemClass,
894
901
  "onClick": this.handleOptionClick,
895
- "onMouseenter": this.handleMouseEnter
902
+ "onMouseenter": this.handleMouseEnter,
903
+ "onMouseleave": this.handleMouseLeave
896
904
  }, [this.showSelectedIcon && this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECKBOX && (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
897
905
  "class": this.resolveClassName('select-checkbox'),
898
906
  "disabled": this.disabled,
@@ -2292,6 +2300,10 @@ if (core.isSupported() && _56l.shouldPatch(core.genToken)) {
2292
2300
 
2293
2301
  /* harmony default export */ const pinyin = (core);
2294
2302
 
2303
+ ;// CONCATENATED MODULE: external "../overflow-title"
2304
+ var overflow_title_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
2305
+ var overflow_title_y = x => () => x
2306
+ const overflow_title_namespaceObject = overflow_title_x({ ["OverflowTitle"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_overflow_title_051a85a5__.OverflowTitle });
2295
2307
  ;// CONCATENATED MODULE: external "../tag"
2296
2308
  var tag_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
2297
2309
  var tag_y = x => () => x
@@ -2340,6 +2352,7 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2340
2352
 
2341
2353
 
2342
2354
 
2355
+
2343
2356
  /* harmony default export */ const selectTagInput = ((0,external_vue_namespaceObject.defineComponent)({
2344
2357
  name: 'SelectTagInput',
2345
2358
  directives: {
@@ -2376,7 +2389,7 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2376
2389
  var overflowTagIndex = (0,external_vue_namespaceObject.ref)(null);
2377
2390
  var overflowContent = (0,external_vue_namespaceObject.computed)(function () {
2378
2391
  return selected.value.slice(overflowTagIndex.value, selected.value.length).map(function (item) {
2379
- return item.label;
2392
+ return select === null || select === void 0 ? void 0 : select.handleGetLabelByValue(item.value);
2380
2393
  }).join(', ');
2381
2394
  });
2382
2395
  (0,external_vue_namespaceObject.watch)(modelValue, function () {
@@ -2398,6 +2411,9 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2398
2411
  var _inputRef$value2;
2399
2412
  (_inputRef$value2 = inputRef.value) === null || _inputRef$value2 === void 0 || _inputRef$value2.blur();
2400
2413
  };
2414
+ var updateModelValue = function updateModelValue(data) {
2415
+ emit('update:modelValue', data);
2416
+ };
2401
2417
  var handleInput = function handleInput(e) {
2402
2418
  emit('update:modelValue', e.target.value);
2403
2419
  };
@@ -2467,6 +2483,7 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2467
2483
  handleRemoveTag: handleRemoveTag,
2468
2484
  focus: focus,
2469
2485
  blur: blur,
2486
+ updateModelValue: updateModelValue,
2470
2487
  handleInput: handleInput,
2471
2488
  handleKeydown: handleKeydown,
2472
2489
  resolveClassName: resolveClassName
@@ -2481,8 +2498,8 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2481
2498
  _this$$slots$default2,
2482
2499
  _this$$slots3,
2483
2500
  _this = this,
2484
- _this$$slots4,
2485
- _this$$slots4$suffix;
2501
+ _this$$slots5,
2502
+ _this$$slots5$suffix;
2486
2503
  var prefix = (_this$$slots = this.$slots) === null || _this$$slots === void 0 || (_this$$slots$prefix = _this$$slots.prefix) === null || _this$$slots$prefix === void 0 ? void 0 : _this$$slots$prefix.call(_this$$slots);
2487
2504
  var selectTagClass = (0,shared_namespaceObject.classes)(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, this.resolveClassName('select-tag'), true), this.resolveClassName('select-tag--default'), true), 'is-disabled', this.disabled), 'collapse-tag', this.collapseTags), 'has-prefix', !!prefix), 'is-simplicity', this.behavior === 'simplicity'));
2488
2505
  var tagWrapperClass = (0,shared_namespaceObject.classes)(_defineProperty({}, this.resolveClassName('select-tag-wrapper'), true));
@@ -2495,8 +2512,9 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2495
2512
  }, [(_this$$slots2 = this.$slots) === null || _this$$slots2 === void 0 || (_this$$slots2$prefix = _this$$slots2.prefix) === null || _this$$slots2$prefix === void 0 ? void 0 : _this$$slots2$prefix.call(_this$$slots2), (0,external_vue_namespaceObject.createVNode)("div", {
2496
2513
  "class": tagWrapperClass
2497
2514
  }, [(_this$$slots$default = (_this$$slots$default2 = (_this$$slots3 = this.$slots)["default"]) === null || _this$$slots$default2 === void 0 ? void 0 : _this$$slots$default2.call(_this$$slots3)) !== null && _this$$slots$default !== void 0 ? _this$$slots$default : this.selected.map(function (item, index) {
2498
- var _this$select;
2515
+ var _this$$slots$tagRende, _this$$slots$tagRende2, _this$$slots4, _this$select;
2499
2516
  return (0,external_vue_namespaceObject.createVNode)(tag_namespaceObject["default"], {
2517
+ "key": item.value,
2500
2518
  "ref": function ref(el) {
2501
2519
  return _this.tagsRefs[index] = el;
2502
2520
  },
@@ -2510,7 +2528,13 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2510
2528
  }
2511
2529
  }, {
2512
2530
  "default": function _default() {
2513
- return [(_this$select = _this.select) === null || _this$select === void 0 ? void 0 : _this$select.handleGetLabelByValue(item.value)];
2531
+ return [(_this$$slots$tagRende = (_this$$slots$tagRende2 = (_this$$slots4 = _this.$slots).tagRender) === null || _this$$slots$tagRende2 === void 0 ? void 0 : _this$$slots$tagRende2.call(_this$$slots4, item)) !== null && _this$$slots$tagRende !== void 0 ? _this$$slots$tagRende : (0,external_vue_namespaceObject.createVNode)(overflow_title_namespaceObject.OverflowTitle, {
2532
+ "type": "tips"
2533
+ }, {
2534
+ "default": function _default() {
2535
+ return [(_this$select = _this.select) === null || _this$select === void 0 ? void 0 : _this$select.handleGetLabelByValue(item.value)];
2536
+ }
2537
+ })];
2514
2538
  }
2515
2539
  });
2516
2540
  }), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(tag_namespaceObject["default"], {
@@ -2525,7 +2549,8 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2525
2549
  }
2526
2550
  }), [[(0,external_vue_namespaceObject.resolveDirective)("bk-tooltips"), {
2527
2551
  content: this.overflowContent,
2528
- disabled: !this.overflowTagIndex || !this.collapseTags
2552
+ disabled: !this.overflowTagIndex || !this.collapseTags,
2553
+ extCls: this.resolveClassName('select-tooltips')
2529
2554
  }]]), (0,external_vue_namespaceObject.createVNode)("input", {
2530
2555
  "ref": "inputRef",
2531
2556
  "style": inputStyle,
@@ -2537,7 +2562,7 @@ const debounce_namespaceObject = debounce_x({ ["default"]: () => __WEBPACK_EXTER
2537
2562
  "value": !this.filterable ? '' : this.value,
2538
2563
  "onInput": this.handleInput,
2539
2564
  "onKeydown": this.handleKeydown
2540
- }, null)]), (_this$$slots4 = this.$slots) === null || _this$$slots4 === void 0 || (_this$$slots4$suffix = _this$$slots4.suffix) === null || _this$$slots4$suffix === void 0 ? void 0 : _this$$slots4$suffix.call(_this$$slots4)]);
2565
+ }, null)]), (_this$$slots5 = this.$slots) === null || _this$$slots5 === void 0 || (_this$$slots5$suffix = _this$$slots5.suffix) === null || _this$$slots5$suffix === void 0 ? void 0 : _this$$slots5$suffix.call(_this$$slots5)]);
2541
2566
  }
2542
2567
  }));
2543
2568
  ;// CONCATENATED MODULE: ../../packages/select/src/select.tsx
@@ -2550,7 +2575,6 @@ function select_unsupportedIterableToArray(o, minLen) { if (!o) return; if (type
2550
2575
  function select_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2551
2576
  function select_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2552
2577
  function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? select_ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : select_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2553
- /* eslint-disable vue/no-reserved-component-names */
2554
2578
  /*
2555
2579
  * Tencent is pleased to support the open source community by making
2556
2580
  * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
@@ -2609,10 +2633,12 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2609
2633
  size: shared_namespaceObject.PropTypes.size().def(shared_namespaceObject.SizeEnum.DEFAULT),
2610
2634
  clearable: shared_namespaceObject.PropTypes.bool.def(true),
2611
2635
  loading: shared_namespaceObject.PropTypes.bool.def(false),
2612
- filterable: shared_namespaceObject.PropTypes.bool.def(true),
2636
+ filterable: shared_namespaceObject.PropTypes.bool.def(false),
2613
2637
  remoteMethod: shared_namespaceObject.PropTypes.func,
2614
- scrollHeight: shared_namespaceObject.PropTypes.number.def(200),
2638
+ scrollHeight: shared_namespaceObject.PropTypes.number.def(204),
2639
+ minHeight: shared_namespaceObject.PropTypes.number,
2615
2640
  showAll: shared_namespaceObject.PropTypes.bool.def(false),
2641
+ allOptionText: shared_namespaceObject.PropTypes.string.def(''),
2616
2642
  allOptionId: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.number, shared_namespaceObject.PropTypes.string]),
2617
2643
  showSelectAll: shared_namespaceObject.PropTypes.bool.def(false),
2618
2644
  popoverMinWidth: shared_namespaceObject.PropTypes.number.def(0),
@@ -2649,7 +2675,12 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2649
2675
  type: Function
2650
2676
  },
2651
2677
  searchWithPinyin: shared_namespaceObject.PropTypes.bool.def(true),
2652
- highlightKeyword: shared_namespaceObject.PropTypes.bool.def(false) // 搜索高亮
2678
+ highlightKeyword: shared_namespaceObject.PropTypes.bool.def(false),
2679
+ trigger: {
2680
+ type: String,
2681
+ "default": 'default'
2682
+ },
2683
+ disableScrollToSelectedOption: shared_namespaceObject.PropTypes.bool.def(false) // 是否禁用滚动到选中option的功能
2653
2684
  },
2654
2685
  emits: ['update:modelValue', 'change', 'toggle', 'clear', 'scroll-end', 'focus', 'blur', 'tag-remove', 'select', 'deselect', 'search-change'],
2655
2686
  setup: function setup(props, _ref) {
@@ -2689,7 +2720,13 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2689
2720
  filterOption = _toRefs.filterOption,
2690
2721
  searchWithPinyin = _toRefs.searchWithPinyin,
2691
2722
  highlightKeyword = _toRefs.highlightKeyword,
2692
- disableFocusBehavior = _toRefs.disableFocusBehavior;
2723
+ disableFocusBehavior = _toRefs.disableFocusBehavior,
2724
+ trigger = _toRefs.trigger,
2725
+ disableScrollToSelectedOption = _toRefs.disableScrollToSelectedOption;
2726
+ var virtualRenderRef = (0,external_vue_namespaceObject.ref)(null);
2727
+ var displayAllText = (0,external_vue_namespaceObject.computed)(function () {
2728
+ return props.allOptionText;
2729
+ });
2693
2730
  var localNoDataText = (0,external_vue_namespaceObject.computed)(function () {
2694
2731
  if (props.noDataText === undefined) {
2695
2732
  return t.value.noData;
@@ -2722,7 +2759,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2722
2759
  });
2723
2760
  var localSelectAllText = (0,external_vue_namespaceObject.computed)(function () {
2724
2761
  if (props.selectAllText === undefined) {
2725
- return t.value.all;
2762
+ return t.value.selectAll;
2726
2763
  }
2727
2764
  return props.selectAllText;
2728
2765
  });
@@ -2731,8 +2768,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2731
2768
  var triggerRef = (0,external_vue_namespaceObject.ref)();
2732
2769
  var contentRef = (0,external_vue_namespaceObject.ref)();
2733
2770
  var searchRef = (0,external_vue_namespaceObject.ref)();
2771
+ var scrollContainerRef = (0,external_vue_namespaceObject.ref)();
2734
2772
  var selectTagInputRef = (0,external_vue_namespaceObject.ref)();
2735
- var virtualRenderRef = (0,external_vue_namespaceObject.ref)();
2736
2773
  var popoverRef = (0,external_vue_namespaceObject.ref)();
2737
2774
  var optionsMap = (0,external_vue_namespaceObject.ref)(new Map());
2738
2775
  var options = (0,external_vue_namespaceObject.computed)(function () {
@@ -2742,12 +2779,13 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2742
2779
  });
2743
2780
  var groupsMap = (0,external_vue_namespaceObject.ref)(new Map());
2744
2781
  var selected = (0,external_vue_namespaceObject.ref)([]);
2745
- var selectedMap = (0,external_vue_namespaceObject.computed)(function () {
2782
+ var selectedCacheMap = (0,external_vue_namespaceObject.computed)(function () {
2746
2783
  return selected.value.reduce(function (pre, item) {
2747
2784
  pre[item.value] = item.label;
2748
2785
  return pre;
2749
- }, {});
2786
+ }, _defineProperty({}, "".concat(allOptionId.value), t.value.all));
2750
2787
  });
2788
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2751
2789
  var activeOptionValue = (0,external_vue_namespaceObject.ref)(); // 当前悬浮的option
2752
2790
  var listMap = (0,external_vue_namespaceObject.computed)(function () {
2753
2791
  return list.value.reduce(function (pre, item) {
@@ -2771,8 +2809,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2771
2809
  var _popoverRef$value;
2772
2810
  (_popoverRef$value = popoverRef.value) === null || _popoverRef$value === void 0 || _popoverRef$value.updatePopover(null, popoverConfig.value);
2773
2811
  });
2774
- // 虚拟滚动模式下搜索后的值
2775
- var virtualList = (0,external_vue_namespaceObject.computed)(function () {
2812
+ // list模式下搜索后的值
2813
+ var filterList = (0,external_vue_namespaceObject.computed)(function () {
2776
2814
  return isRemoteSearch.value ? list.value : list.value.filter(function (item) {
2777
2815
  return defaultSearchMethod(curSearchValue.value, String(item[displayKey.value]), item);
2778
2816
  });
@@ -2845,12 +2883,22 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2845
2883
  var virtualHeight = (0,external_vue_namespaceObject.computed)(function () {
2846
2884
  return scrollHeight.value - 12 - (isShowSelectAll.value ? 32 : 0);
2847
2885
  });
2886
+ var virtualLineHeight = (0,external_vue_namespaceObject.ref)(32);
2887
+ // 是否启用虚拟滚动(如果配置了启用,但是数据小于滚动高度则不开启)
2888
+ var isEnableVirtualRender = (0,external_vue_namespaceObject.computed)(function () {
2889
+ if (enableVirtualRender.value) return filterList.value.length * virtualLineHeight.value > virtualHeight.value;
2890
+ return false;
2891
+ });
2892
+ // 预加载滚动数据
2893
+ var preloadItemCount = (0,external_vue_namespaceObject.computed)(function () {
2894
+ return Math.ceil(virtualHeight.value / virtualLineHeight.value);
2895
+ });
2848
2896
  // 当前空状态时显示文案
2849
2897
  var curContentText = (0,external_vue_namespaceObject.computed)(function () {
2850
2898
  if (searchLoading.value) {
2851
2899
  return localLoadingText.value;
2852
2900
  }
2853
- if (isSearchEmpty.value || list.value.length && !virtualList.value.length) {
2901
+ if (isSearchEmpty.value || list.value.length && !filterList.value.length) {
2854
2902
  return localNoMatchText.value;
2855
2903
  }
2856
2904
  if (isOptionsEmpty.value) {
@@ -2906,9 +2954,21 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2906
2954
  hidePopover = _usePopover.hidePopover,
2907
2955
  showPopover = _usePopover.showPopover,
2908
2956
  togglePopover = _usePopover.togglePopover;
2957
+ var handleHidePopover = function handleHidePopover() {
2958
+ if (trigger.value === 'manual') return;
2959
+ hidePopover();
2960
+ };
2961
+ var handleShowPopover = function handleShowPopover() {
2962
+ if (trigger.value === 'manual') return;
2963
+ showPopover();
2964
+ };
2909
2965
  // 输入框是否可以输入内容
2966
+ // const isInput = computed(
2967
+ // () => ((filterable.value && inputSearch.value) || allowCreate.value) && isPopoverShow.value,
2968
+ // );
2969
+ // 自定义创建失焦后仍保留输入框内的内容
2910
2970
  var isInput = (0,external_vue_namespaceObject.computed)(function () {
2911
- return (filterable.value && inputSearch.value || allowCreate.value) && isPopoverShow.value;
2971
+ return filterable.value && inputSearch.value && isPopoverShow.value || allowCreate.value;
2912
2972
  });
2913
2973
  (0,external_vue_namespaceObject.watch)(isPopoverShow, function (isShow) {
2914
2974
  emit('toggle', isPopoverShow.value);
@@ -2929,10 +2989,10 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2929
2989
  // 滚动到当前选中的options中
2930
2990
  var scrollActiveOptionIntoView = function scrollActiveOptionIntoView() {
2931
2991
  var _contentRef$value, _contentRef$value$que, _optionsDom$;
2992
+ if (isEnableVirtualRender.value || disableScrollToSelectedOption.value) return;
2932
2993
  var optionsDom = (_contentRef$value = contentRef.value) === null || _contentRef$value === void 0 || (_contentRef$value$que = _contentRef$value.querySelectorAll) === null || _contentRef$value$que === void 0 ? void 0 : _contentRef$value$que.call(_contentRef$value, '.is-selected');
2933
2994
  optionsDom === null || optionsDom === void 0 || (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
2934
2995
  block: 'center'
2935
- // behavior: 'smooth',
2936
2996
  });
2937
2997
  };
2938
2998
  // 初始化当前悬浮的option项
@@ -2949,14 +3009,17 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2949
3009
  }
2950
3010
  };
2951
3011
  // 默认搜索方法
3012
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2952
3013
  var defaultSearchMethod = function defaultSearchMethod(searchValue, optionName) {
2953
3014
  var _toLowerCase2;
2954
3015
  var filterData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2955
3016
  if (hasFilterOptionFunc.value) {
3017
+ // 是否配置了单个options过滤
2956
3018
  return !!filterOption.value(searchValue, select_objectSpread({}, filterData));
2957
3019
  }
2958
3020
  if (searchWithPinyin.value) {
2959
3021
  var _toLowerCase;
3022
+ // 是否配置了拼音过滤
2960
3023
  var pinyinList = pinyin.parse(optionName).map(function (v) {
2961
3024
  if (v.type === 2) {
2962
3025
  return v.target.toLowerCase();
@@ -2990,6 +3053,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2990
3053
  searchLoading = _useRemoteSearch.searchLoading;
2991
3054
  // 派发search change事件
2992
3055
  (0,external_vue_namespaceObject.watch)(searchValue, function () {
3056
+ scrollContainerRef.value.scrollTop = 0;
3057
+ activeOptionValue.value = '';
2993
3058
  emit('search-change', searchValue.value);
2994
3059
  });
2995
3060
  // 派发change事件
@@ -2997,10 +3062,12 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2997
3062
  if (val === modelValue.value) return;
2998
3063
  emit('update:modelValue', val, modelValue.value);
2999
3064
  emit('change', val, modelValue.value);
3065
+ // 重置Selected 以model-value为主
3066
+ handleSetSelectedData();
3000
3067
  };
3001
3068
  // 派发toggle事件
3002
3069
  var handleTogglePopover = function handleTogglePopover() {
3003
- if (isDisabled.value) return;
3070
+ if (isDisabled.value || trigger.value === 'manual') return;
3004
3071
  handleFocus();
3005
3072
  togglePopover();
3006
3073
  };
@@ -3041,7 +3108,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3041
3108
  label: value
3042
3109
  }];
3043
3110
  emitChange(value);
3044
- hidePopover();
3111
+ handleHidePopover();
3045
3112
  }
3046
3113
  customOptionName.value = '';
3047
3114
  };
@@ -3075,6 +3142,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3075
3142
  return item.value;
3076
3143
  }));
3077
3144
  emit('select', option.optionID);
3145
+ clearMultipleInputValue();
3078
3146
  }
3079
3147
  focusInput();
3080
3148
  } else {
@@ -3083,12 +3151,22 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3083
3151
  label: option.optionName || option.optionID,
3084
3152
  value: option.optionID
3085
3153
  }];
3154
+ if (filterable.value && allowCreate.value) {
3155
+ customOptionName.value = '';
3156
+ }
3086
3157
  emitChange(option.optionID);
3087
3158
  emit('select', option.optionID);
3088
- hidePopover();
3159
+ handleHidePopover();
3089
3160
  handleBlur();
3090
3161
  }
3091
3162
  };
3163
+ // 是否需要清空多选输入框内容
3164
+ var clearMultipleInputValue = function clearMultipleInputValue() {
3165
+ if (['tag'].includes(multipleMode.value) && isInput.value) {
3166
+ var _selectTagInputRef$va;
3167
+ (_selectTagInputRef$va = selectTagInputRef.value) === null || _selectTagInputRef$va === void 0 || _selectTagInputRef$va.updateModelValue('');
3168
+ }
3169
+ };
3092
3170
  // 聚焦输入框
3093
3171
  var focusInput = function focusInput() {
3094
3172
  if (disableFocusBehavior.value) return;
@@ -3098,8 +3176,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3098
3176
  (_searchRef$value = searchRef.value) === null || _searchRef$value === void 0 || _searchRef$value.focus();
3099
3177
  } else {
3100
3178
  if (multipleMode.value === 'tag') {
3101
- var _selectTagInputRef$va;
3102
- (_selectTagInputRef$va = selectTagInputRef.value) === null || _selectTagInputRef$va === void 0 || _selectTagInputRef$va.focus();
3179
+ var _selectTagInputRef$va2;
3180
+ (_selectTagInputRef$va2 = selectTagInputRef.value) === null || _selectTagInputRef$va2 === void 0 || _selectTagInputRef$va2.focus();
3103
3181
  } else {
3104
3182
  var _inputRef$value;
3105
3183
  (_inputRef$value = inputRef.value) === null || _inputRef$value === void 0 || _inputRef$value.focus();
@@ -3111,8 +3189,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3111
3189
  var blurInput = function blurInput() {
3112
3190
  setTimeout(function () {
3113
3191
  if (multipleMode.value === 'tag') {
3114
- var _selectTagInputRef$va2;
3115
- (_selectTagInputRef$va2 = selectTagInputRef.value) === null || _selectTagInputRef$va2 === void 0 || _selectTagInputRef$va2.blur();
3192
+ var _selectTagInputRef$va3;
3193
+ (_selectTagInputRef$va3 = selectTagInputRef.value) === null || _selectTagInputRef$va3 === void 0 || _selectTagInputRef$va3.blur();
3116
3194
  } else {
3117
3195
  var _inputRef$value2;
3118
3196
  (_inputRef$value2 = inputRef.value) === null || _inputRef$value2 === void 0 || _inputRef$value2.blur();
@@ -3123,9 +3201,10 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3123
3201
  var handleClear = function handleClear(e) {
3124
3202
  e.stopPropagation();
3125
3203
  selected.value = [];
3204
+ clearMultipleInputValue();
3126
3205
  emitChange(multiple.value ? [] : '');
3127
3206
  emit('clear', multiple.value ? [] : '');
3128
- hidePopover();
3207
+ handleHidePopover();
3129
3208
  };
3130
3209
  var handleSelectedAllOptionMouseEnter = function handleSelectedAllOptionMouseEnter() {
3131
3210
  activeOptionValue.value = '';
@@ -3136,22 +3215,21 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3136
3215
  selected.value = [];
3137
3216
  } else {
3138
3217
  var _list$value;
3139
- var tmpSelected = [];
3218
+ var tmpSelectedMap = new Map();
3140
3219
  options.value.forEach(function (option) {
3141
- if (option.disabled) return;
3142
- tmpSelected.push({
3143
- value: option.optionID,
3144
- label: option.optionName || option.optionID
3145
- });
3220
+ if (option.disabled || tmpSelectedMap.has(option.optionID)) return;
3221
+ tmpSelectedMap.set(option.optionID, option.optionName || option.optionID);
3146
3222
  });
3147
3223
  (_list$value = list.value) === null || _list$value === void 0 || _list$value.forEach(function (item) {
3148
- if (item.disabled) return;
3149
- tmpSelected.push({
3150
- value: item[idKey.value],
3151
- label: item[displayKey.value]
3152
- });
3224
+ if (item.disabled || tmpSelectedMap.has(item[idKey.value])) return;
3225
+ tmpSelectedMap.set(item[idKey.value], item[displayKey.value]);
3226
+ });
3227
+ selected.value = Array.from(tmpSelectedMap.keys()).map(function (key) {
3228
+ return {
3229
+ value: key,
3230
+ label: tmpSelectedMap.get(key)
3231
+ };
3153
3232
  });
3154
- selected.value = tmpSelected;
3155
3233
  }
3156
3234
  emitChange(selected.value.map(function (item) {
3157
3235
  return item.value;
@@ -3201,7 +3279,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3201
3279
  emit('tag-remove', val);
3202
3280
  }
3203
3281
  };
3204
- // options存在 > 上一次选择的label > 当前值
3282
+ // 优先级: option name属性 > list模式 > 上一次选择的label > 当前值
3205
3283
  var handleGetLabelByValue = function handleGetLabelByValue(value) {
3206
3284
  var _optionsMap$value2;
3207
3285
  // 处理options value为对象类型,引用类型变更后,回显不对问题
@@ -3223,7 +3301,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3223
3301
  _iterator.f();
3224
3302
  }
3225
3303
  }
3226
- return ((_optionsMap$value2 = optionsMap.value) === null || _optionsMap$value2 === void 0 || (_optionsMap$value2 = _optionsMap$value2.get(tmpValue)) === null || _optionsMap$value2 === void 0 ? void 0 : _optionsMap$value2.optionName) || listMap.value[tmpValue] || selectedMap.value[tmpValue] || tmpValue;
3304
+ return ((_optionsMap$value2 = optionsMap.value) === null || _optionsMap$value2 === void 0 || (_optionsMap$value2 = _optionsMap$value2.get(tmpValue)) === null || _optionsMap$value2 === void 0 ? void 0 : _optionsMap$value2.optionName) || listMap.value[tmpValue] || selectedCacheMap.value[tmpValue] || tmpValue;
3227
3305
  };
3228
3306
  // 设置selected选项
3229
3307
  var handleSetSelectedData = function handleSetSelectedData() {
@@ -3236,7 +3314,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3236
3314
  };
3237
3315
  }));
3238
3316
  } else {
3239
- if (modelValue.value !== undefined || allowEmptyValues.value.includes(modelValue.value)) {
3317
+ if (modelValue.value || allowEmptyValues.value.includes(modelValue.value)) {
3240
3318
  selected.value = [{
3241
3319
  value: modelValue.value,
3242
3320
  label: handleGetLabelByValue(modelValue.value)
@@ -3246,9 +3324,18 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3246
3324
  }
3247
3325
  }
3248
3326
  };
3327
+ // 手动设置selected值
3328
+ var setSelected = function setSelected(data) {
3329
+ selected.value = data.map(function (item) {
3330
+ return {
3331
+ label: item[displayKey.value],
3332
+ value: item[idKey.value]
3333
+ };
3334
+ });
3335
+ };
3249
3336
  // 处理键盘事件
3250
3337
  var handleDocumentKeydown = function handleDocumentKeydown(e) {
3251
- if (!isPopoverShow.value || enableVirtualRender.value) return;
3338
+ if (!isPopoverShow.value || isEnableVirtualRender.value) return;
3252
3339
  var availableOptions = options.value.filter(function (option) {
3253
3340
  return !option.disabled && option.visible;
3254
3341
  });
@@ -3303,16 +3390,9 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3303
3390
  var event = _ref2.event;
3304
3391
  var target = event.target;
3305
3392
  if ((_triggerRef$value = triggerRef.value) !== null && _triggerRef$value !== void 0 && _triggerRef$value.contains(target) || triggerRef.value === target) return;
3306
- hidePopover();
3393
+ handleHidePopover();
3307
3394
  handleBlur();
3308
3395
  };
3309
- var handlePopoverShow = function handlePopoverShow() {
3310
- setTimeout(function () {
3311
- var _virtualRenderRef$val, _virtualRenderRef$val2;
3312
- // 虚拟滚动首次未更新问题
3313
- enableVirtualRender.value && ((_virtualRenderRef$val = virtualRenderRef.value) === null || _virtualRenderRef$val === void 0 || (_virtualRenderRef$val2 = _virtualRenderRef$val.reset) === null || _virtualRenderRef$val2 === void 0 ? void 0 : _virtualRenderRef$val2.call(_virtualRenderRef$val));
3314
- });
3315
- };
3316
3396
  (0,external_vue_namespaceObject.provide)(selectKey, (0,external_vue_namespaceObject.reactive)({
3317
3397
  multiple: multiple,
3318
3398
  selected: selected,
@@ -3331,10 +3411,14 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3331
3411
  (0,external_vue_namespaceObject.onMounted)(function () {
3332
3412
  handleSetSelectedData();
3333
3413
  setTimeout(function () {
3334
- showOnInit.value && showPopover();
3414
+ showOnInit.value && handleShowPopover();
3335
3415
  autoFocus.value && focusInput();
3336
3416
  });
3337
3417
  });
3418
+ var handlePopoverShown = function handlePopoverShown() {
3419
+ var _virtualRenderRef$val;
3420
+ (_virtualRenderRef$val = virtualRenderRef.value) === null || _virtualRenderRef$val === void 0 || _virtualRenderRef$val.scrollTo(0, 1);
3421
+ };
3338
3422
  return {
3339
3423
  t: t,
3340
3424
  selected: selected,
@@ -3349,8 +3433,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3349
3433
  triggerRef: triggerRef,
3350
3434
  contentRef: contentRef,
3351
3435
  searchRef: searchRef,
3436
+ scrollContainerRef: scrollContainerRef,
3352
3437
  selectTagInputRef: selectTagInputRef,
3353
- virtualRenderRef: virtualRenderRef,
3354
3438
  popoverRef: popoverRef,
3355
3439
  searchLoading: searchLoading,
3356
3440
  isOptionsEmpty: isOptionsEmpty,
@@ -3365,11 +3449,12 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3365
3449
  isShowAll: isShowAll,
3366
3450
  isShowSelectAll: isShowSelectAll,
3367
3451
  virtualHeight: virtualHeight,
3368
- virtualList: virtualList,
3452
+ filterList: filterList,
3369
3453
  isCollapseTags: isCollapseTags,
3370
3454
  popoverConfig: popoverConfig,
3371
3455
  isAllSelected: isAllSelected,
3372
3456
  isAll: isAll,
3457
+ displayAllText: displayAllText,
3373
3458
  focusInput: focusInput,
3374
3459
  setHover: setHover,
3375
3460
  cancelHover: cancelHover,
@@ -3387,19 +3472,26 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3387
3472
  handleDeleteTag: handleDeleteTag,
3388
3473
  handleInputChange: handleInputChange,
3389
3474
  handleSelectedAllOptionMouseEnter: handleSelectedAllOptionMouseEnter,
3390
- handlePopoverShow: handlePopoverShow,
3391
3475
  localLoadingText: localLoadingText,
3392
3476
  localPlaceholder: localPlaceholder,
3393
3477
  localSearchPlaceholder: localSearchPlaceholder,
3394
3478
  localSelectAllText: localSelectAllText,
3395
3479
  resolveClassName: resolveClassName,
3396
- handleCreateCustomOption: handleCreateCustomOption
3480
+ handleCreateCustomOption: handleCreateCustomOption,
3481
+ handlePopoverShown: handlePopoverShown,
3482
+ virtualLineHeight: virtualLineHeight,
3483
+ isEnableVirtualRender: isEnableVirtualRender,
3484
+ preloadItemCount: preloadItemCount,
3485
+ virtualRenderRef: virtualRenderRef,
3486
+ setSelected: setSelected
3397
3487
  };
3398
3488
  },
3399
3489
  render: function render() {
3400
3490
  var _this = this;
3401
3491
  var selectClass = (0,shared_namespaceObject.classes)(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(this.resolveClassName('select')), true), 'popover-show', this.isPopoverShow), 'is-disabled', this.isDisabled), 'is-focus', this.isFocus), 'is-filterable', this.filterable), this.size, true), this.behavior, true));
3492
+ // 右侧ICON
3402
3493
  var suffixIcon = function suffixIcon() {
3494
+ var _this$$slots, _this$$slots2, _this$$slots2$suffix;
3403
3495
  if (_this.loading) {
3404
3496
  return (0,external_vue_namespaceObject.createVNode)(loading_namespaceObject["default"], {
3405
3497
  "class": "spinner",
@@ -3415,12 +3507,14 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3415
3507
  "onClick": _this.handleClear
3416
3508
  }, null);
3417
3509
  }
3418
- return (0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.AngleUp, {
3419
- "class": "angle-up"
3510
+ return (_this$$slots = _this.$slots) !== null && _this$$slots !== void 0 && _this$$slots.suffix ? (0,external_vue_namespaceObject.createVNode)("span", {
3511
+ "class": "angle-down"
3512
+ }, [(_this$$slots2 = _this.$slots) === null || _this$$slots2 === void 0 || (_this$$slots2$suffix = _this$$slots2.suffix) === null || _this$$slots2$suffix === void 0 ? void 0 : _this$$slots2$suffix.call(_this$$slots2)]) : (0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.AngleDown, {
3513
+ "class": "angle-down"
3420
3514
  }, null);
3421
3515
  };
3422
3516
  var renderPrefix = function renderPrefix() {
3423
- var _this$$slots;
3517
+ var _this$$slots3;
3424
3518
  if (_this.prefix) {
3425
3519
  return function () {
3426
3520
  return (0,external_vue_namespaceObject.createVNode)("div", {
@@ -3428,9 +3522,9 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3428
3522
  }, [(0,external_vue_namespaceObject.createVNode)("span", null, [_this.prefix])]);
3429
3523
  };
3430
3524
  }
3431
- return (_this$$slots = _this.$slots) !== null && _this$$slots !== void 0 && _this$$slots.prefix ? function () {
3432
- var _this$$slots2, _this$$slots2$prefix;
3433
- return (_this$$slots2 = _this.$slots) === null || _this$$slots2 === void 0 || (_this$$slots2$prefix = _this$$slots2.prefix) === null || _this$$slots2$prefix === void 0 ? void 0 : _this$$slots2$prefix.call(_this$$slots2);
3525
+ return (_this$$slots3 = _this.$slots) !== null && _this$$slots3 !== void 0 && _this$$slots3.prefix ? function () {
3526
+ var _this$$slots4, _this$$slots4$prefix;
3527
+ return (_this$$slots4 = _this.$slots) === null || _this$$slots4 === void 0 || (_this$$slots4$prefix = _this$$slots4.prefix) === null || _this$$slots4$prefix === void 0 ? void 0 : _this$$slots4$prefix.call(_this$$slots4);
3434
3528
  } : undefined;
3435
3529
  };
3436
3530
  // 全选
@@ -3444,7 +3538,18 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3444
3538
  "class": _this.resolveClassName('select-checkbox'),
3445
3539
  "indeterminate": !_this.isAllSelected && !!_this.selected.length && !_this.isAll,
3446
3540
  "modelValue": _this.isAllSelected
3447
- }, null), _this.t.selectAll]);
3541
+ }, null), _this.localSelectAllText]);
3542
+ };
3543
+ // 全部icon支持自定义
3544
+ var renderAllIcon = function renderAllIcon() {
3545
+ var _this$$slots5, _this$$slots5$allOpti;
3546
+ return ((_this$$slots5 = _this.$slots) === null || _this$$slots5 === void 0 || (_this$$slots5$allOpti = _this$$slots5.allOptionIcon) === null || _this$$slots5$allOpti === void 0 ? void 0 : _this$$slots5$allOpti.call(_this$$slots5)) || (0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.TextAll, {
3547
+ "class": "select-all-icon"
3548
+ }, null);
3549
+ };
3550
+ // 全部选项文案支持自定义
3551
+ var renderAllText = function renderAllText() {
3552
+ return (0,external_vue_namespaceObject.createVNode)("span", null, [_this.displayAllText || _this.t.all]);
3448
3553
  };
3449
3554
  // 全部
3450
3555
  var renderAll = function renderAll() {
@@ -3455,14 +3560,13 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3455
3560
  }, [(0,external_vue_namespaceObject.createVNode)("div", {
3456
3561
  "class": ['wrapper', _this.selected.length === 1 && ((_this$selected$ = _this.selected[0]) === null || _this$selected$ === void 0 ? void 0 : _this$selected$.value) === _this.allOptionId ? 'active' : ''],
3457
3562
  "onClick": _this.toggleAll
3458
- }, [(0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.TextAll, {
3459
- "class": "select-all-icon"
3460
- }, null), (0,external_vue_namespaceObject.createVNode)("span", null, [_this.t.all])])]);
3563
+ }, [renderAllIcon(), renderAllText()])]);
3461
3564
  };
3565
+ // 默认trigger输入框渲染
3462
3566
  var renderTriggerInput = function renderTriggerInput() {
3463
- var _this$$slots5;
3567
+ var _this$$slots10;
3464
3568
  if (_this.multipleMode === 'tag') {
3465
- var _this$$slots3;
3569
+ var _this$$slots6, _this$$slots8;
3466
3570
  return (0,external_vue_namespaceObject.createVNode)(selectTagInput, {
3467
3571
  "ref": "selectTagInputRef",
3468
3572
  "modelValue": _this.customOptionName,
@@ -3480,12 +3584,16 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3480
3584
  "onRemove": _this.handleDeleteTag
3481
3585
  }, {
3482
3586
  prefix: renderPrefix(),
3483
- "default": ((_this$$slots3 = _this.$slots) === null || _this$$slots3 === void 0 ? void 0 : _this$$slots3.tag) && function () {
3484
- var _this$$slots4;
3485
- return (_this$$slots4 = _this.$slots) === null || _this$$slots4 === void 0 ? void 0 : _this$$slots4.tag({
3587
+ "default": ((_this$$slots6 = _this.$slots) === null || _this$$slots6 === void 0 ? void 0 : _this$$slots6.tag) && function () {
3588
+ var _this$$slots7;
3589
+ return (_this$$slots7 = _this.$slots) === null || _this$$slots7 === void 0 ? void 0 : _this$$slots7.tag({
3486
3590
  selected: _this.selected
3487
3591
  });
3488
3592
  },
3593
+ tagRender: ((_this$$slots8 = _this.$slots) === null || _this$$slots8 === void 0 ? void 0 : _this$$slots8.tagRender) && function (item) {
3594
+ var _this$$slots9;
3595
+ return (_this$$slots9 = _this.$slots) === null || _this$$slots9 === void 0 ? void 0 : _this$$slots9.tagRender(item);
3596
+ },
3489
3597
  suffix: function suffix() {
3490
3598
  return suffixIcon();
3491
3599
  }
@@ -3507,10 +3615,10 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3507
3615
  "onInput": _this.handleInputChange
3508
3616
  }, _this.prefix ? {
3509
3617
  prefix: _this.prefix
3510
- } : null), select_objectSpread(select_objectSpread({}, typeof ((_this$$slots5 = _this.$slots) === null || _this$$slots5 === void 0 ? void 0 : _this$$slots5.prefix) === 'function' ? {
3618
+ } : null), select_objectSpread(select_objectSpread({}, typeof ((_this$$slots10 = _this.$slots) === null || _this$$slots10 === void 0 ? void 0 : _this$$slots10.prefix) === 'function' ? {
3511
3619
  prefix: function prefix() {
3512
- var _this$$slots6, _this$$slots6$prefix;
3513
- return (_this$$slots6 = _this.$slots) === null || _this$$slots6 === void 0 || (_this$$slots6$prefix = _this$$slots6.prefix) === null || _this$$slots6$prefix === void 0 ? void 0 : _this$$slots6$prefix.call(_this$$slots6);
3620
+ var _this$$slots11, _this$$slots11$prefix;
3621
+ return (_this$$slots11 = _this.$slots) === null || _this$$slots11 === void 0 || (_this$$slots11$prefix = _this$$slots11.prefix) === null || _this$$slots11$prefix === void 0 ? void 0 : _this$$slots11$prefix.call(_this$$slots11);
3514
3622
  }
3515
3623
  } : null), {}, {
3516
3624
  suffix: function suffix() {
@@ -3518,8 +3626,9 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3518
3626
  }
3519
3627
  }));
3520
3628
  };
3629
+ // 渲染trigger
3521
3630
  var renderSelectTrigger = function renderSelectTrigger() {
3522
- var _this$$slots7, _this$$slots7$trigger;
3631
+ var _this$$slots12, _this$$slots12$trigge;
3523
3632
  return (0,external_vue_namespaceObject.createVNode)("div", {
3524
3633
  "ref": "triggerRef",
3525
3634
  "style": {
@@ -3529,12 +3638,62 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3529
3638
  "onClick": _this.handleTogglePopover,
3530
3639
  "onMouseenter": _this.setHover,
3531
3640
  "onMouseleave": _this.cancelHover
3532
- }, [((_this$$slots7 = _this.$slots) === null || _this$$slots7 === void 0 || (_this$$slots7$trigger = _this$$slots7.trigger) === null || _this$$slots7$trigger === void 0 ? void 0 : _this$$slots7$trigger.call(_this$$slots7, {
3641
+ }, [((_this$$slots12 = _this.$slots) === null || _this$$slots12 === void 0 || (_this$$slots12$trigge = _this$$slots12.trigger) === null || _this$$slots12$trigge === void 0 ? void 0 : _this$$slots12$trigge.call(_this$$slots12, {
3533
3642
  selected: _this.selected
3534
3643
  })) || renderTriggerInput()]);
3535
3644
  };
3645
+ // 渲染列表模式
3646
+ var renderList = function renderList() {
3647
+ return _this.isEnableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(virtual_render_namespaceObject["default"], {
3648
+ "ref": "virtualRenderRef",
3649
+ "height": _this.virtualHeight,
3650
+ "lineHeight": _this.virtualLineHeight,
3651
+ "list": _this.filterList,
3652
+ "preloadItemCount": _this.preloadItemCount,
3653
+ "scrollbar": {
3654
+ enabled: true,
3655
+ size: 'small'
3656
+ }
3657
+ }, {
3658
+ "default": function _default(_ref3) {
3659
+ var _this$$slots13, _this$$slots14;
3660
+ var data = _ref3.data;
3661
+ // 兼容以前slots
3662
+ var optionRender = ((_this$$slots13 = _this.$slots) === null || _this$$slots13 === void 0 ? void 0 : _this$$slots13.optionRender) || ((_this$$slots14 = _this.$slots) === null || _this$$slots14 === void 0 ? void 0 : _this$$slots14.virtualScrollRender);
3663
+ return data.map(function (item) {
3664
+ return (0,external_vue_namespaceObject.createVNode)(src_option, {
3665
+ "id": item[_this.idKey],
3666
+ "key": item[_this.idKey],
3667
+ "name": item[_this.displayKey]
3668
+ }, typeof optionRender === 'function' ? {
3669
+ "default": function _default() {
3670
+ return optionRender({
3671
+ item: item
3672
+ });
3673
+ }
3674
+ } : null);
3675
+ });
3676
+ }
3677
+ }) : _this.filterList.map(function (item) {
3678
+ var _this$$slots15, _this$$slots16;
3679
+ // 兼容以前slots
3680
+ var optionRender = ((_this$$slots15 = _this.$slots) === null || _this$$slots15 === void 0 ? void 0 : _this$$slots15.optionRender) || ((_this$$slots16 = _this.$slots) === null || _this$$slots16 === void 0 ? void 0 : _this$$slots16.virtualScrollRender);
3681
+ return (0,external_vue_namespaceObject.createVNode)(src_option, {
3682
+ "id": item[_this.idKey],
3683
+ "key": item[_this.idKey],
3684
+ "name": item[_this.displayKey]
3685
+ }, typeof optionRender === 'function' ? {
3686
+ "default": function _default() {
3687
+ return optionRender({
3688
+ item: item
3689
+ });
3690
+ }
3691
+ } : null);
3692
+ });
3693
+ };
3694
+ // 渲染内容
3536
3695
  var renderSelectContent = function renderSelectContent() {
3537
- var _this$$slots12, _this$$slots12$defaul, _this$$slots13, _this$$slots14;
3696
+ var _this$$slots17, _this$$slots17$defaul, _this$$slots18, _this$$slots19;
3538
3697
  return (0,external_vue_namespaceObject.createVNode)("div", {
3539
3698
  "ref": "contentRef",
3540
3699
  "class": _this.resolveClassName('select-content-wrapper')
@@ -3562,52 +3721,16 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3562
3721
  }, null), (0,external_vue_namespaceObject.createVNode)("span", null, [_this.curContentText])]), (0,external_vue_namespaceObject.createVNode)("div", {
3563
3722
  "class": _this.resolveClassName('select-content')
3564
3723
  }, [(0,external_vue_namespaceObject.createVNode)("div", {
3724
+ "ref": "scrollContainerRef",
3565
3725
  "style": {
3566
- maxHeight: "".concat(_this.scrollHeight, "px")
3726
+ maxHeight: "".concat(_this.scrollHeight, "px"),
3727
+ minHeight: "".concat(_this.minHeight, "px")
3567
3728
  },
3568
- "class": _this.enableVirtualRender ? '' : _this.resolveClassName('select-dropdown'),
3729
+ "class": _this.isEnableVirtualRender ? '' : _this.resolveClassName('select-dropdown'),
3569
3730
  "onScroll": _this.handleScroll
3570
- }, [(0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("ul", {
3731
+ }, [(0,external_vue_namespaceObject.createVNode)("ul", {
3571
3732
  "class": _this.resolveClassName('select-options')
3572
- }, [renderSelectAll(), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(virtual_render_namespaceObject["default"], {
3573
- "ref": "virtualRenderRef",
3574
- "height": _this.virtualHeight,
3575
- "lineHeight": 32,
3576
- "list": _this.virtualList
3577
- }, {
3578
- "default": function _default(_ref3) {
3579
- var _this$$slots8, _this$$slots9;
3580
- var data = _ref3.data;
3581
- var optionRender = ((_this$$slots8 = _this.$slots) === null || _this$$slots8 === void 0 ? void 0 : _this$$slots8.optionRender) || ((_this$$slots9 = _this.$slots) === null || _this$$slots9 === void 0 ? void 0 : _this$$slots9.virtualScrollRender);
3582
- return data.map(function (item) {
3583
- return (0,external_vue_namespaceObject.createVNode)(src_option, {
3584
- "id": item[_this.idKey],
3585
- "key": item[_this.idKey],
3586
- "name": item[_this.displayKey]
3587
- }, typeof optionRender === 'function' ? {
3588
- "default": function _default() {
3589
- return optionRender({
3590
- item: item
3591
- });
3592
- }
3593
- } : null);
3594
- });
3595
- }
3596
- }) : _this.list.map(function (item) {
3597
- var _this$$slots10;
3598
- return (0,external_vue_namespaceObject.createVNode)(src_option, {
3599
- "id": item[_this.idKey],
3600
- "key": item[_this.idKey],
3601
- "name": item[_this.displayKey]
3602
- }, (_this$$slots10 = _this.$slots) !== null && _this$$slots10 !== void 0 && _this$$slots10.optionRender ? {
3603
- "default": function _default() {
3604
- var _this$$slots11, _this$$slots11$option;
3605
- return (_this$$slots11 = _this.$slots) === null || _this$$slots11 === void 0 || (_this$$slots11$option = _this$$slots11.optionRender) === null || _this$$slots11$option === void 0 ? void 0 : _this$$slots11$option.call(_this$$slots11, {
3606
- item: item
3607
- });
3608
- }
3609
- } : null);
3610
- }), (_this$$slots12 = _this.$slots) === null || _this$$slots12 === void 0 || (_this$$slots12$defaul = _this$$slots12["default"]) === null || _this$$slots12$defaul === void 0 ? void 0 : _this$$slots12$defaul.call(_this$$slots12), _this.scrollLoading && (0,external_vue_namespaceObject.createVNode)("li", {
3733
+ }, [renderSelectAll(), renderList(), (_this$$slots17 = _this.$slots) === null || _this$$slots17 === void 0 || (_this$$slots17$defaul = _this$$slots17["default"]) === null || _this$$slots17$defaul === void 0 ? void 0 : _this$$slots17$defaul.call(_this$$slots17), _this.scrollLoading && (0,external_vue_namespaceObject.createVNode)("li", {
3611
3734
  "class": _this.resolveClassName('select-options-loading')
3612
3735
  }, [(0,external_vue_namespaceObject.createVNode)(loading_namespaceObject["default"], {
3613
3736
  "class": "spinner mr5",
@@ -3615,15 +3738,15 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
3615
3738
  "mode": "spin",
3616
3739
  "size": "mini",
3617
3740
  "theme": "primary"
3618
- }, null), (0,external_vue_namespaceObject.createVNode)("span", null, [_this.localLoadingText])])]), [[external_vue_namespaceObject.vShow, _this.isShowSelectContent]])]), ((_this$$slots13 = _this.$slots) === null || _this$$slots13 === void 0 ? void 0 : _this$$slots13.extension) && (0,external_vue_namespaceObject.createVNode)("div", {
3741
+ }, null), (0,external_vue_namespaceObject.createVNode)("span", null, [_this.localLoadingText])])])]), ((_this$$slots18 = _this.$slots) === null || _this$$slots18 === void 0 ? void 0 : _this$$slots18.extension) && (0,external_vue_namespaceObject.createVNode)("div", {
3619
3742
  "class": _this.resolveClassName('select-extension')
3620
- }, [(_this$$slots14 = _this.$slots) === null || _this$$slots14 === void 0 ? void 0 : _this$$slots14.extension()])])]);
3743
+ }, [(_this$$slots19 = _this.$slots) === null || _this$$slots19 === void 0 ? void 0 : _this$$slots19.extension()])])]);
3621
3744
  };
3622
3745
  return (0,external_vue_namespaceObject.createVNode)("div", {
3623
3746
  "class": selectClass
3624
3747
  }, [(0,external_vue_namespaceObject.createVNode)(popover_namespaceObject["default"], (0,external_vue_namespaceObject.mergeProps)(this.popoverConfig, {
3625
3748
  "ref": "popoverRef",
3626
- "onAfterShow": this.handlePopoverShow,
3749
+ "onAfterShow": this.handlePopoverShown,
3627
3750
  "onClickoutside": this.handleClickOutside
3628
3751
  }), {
3629
3752
  "default": function _default() {