vxe-pc-ui 4.20.24 → 4.20.26

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 (627) hide show
  1. package/dist/all.esm.js +15151 -10366
  2. package/dist/style.css +1 -1
  3. package/dist/style.mini.css +1 -1
  4. package/es/alert/src/alert.js +61 -36
  5. package/es/anchor/src/anchor-link.js +39 -20
  6. package/es/anchor/src/anchor.js +74 -45
  7. package/es/avatar/src/avatar.js +47 -27
  8. package/es/backtop/src/backtop.js +65 -40
  9. package/es/badge/src/badge.js +32 -16
  10. package/es/breadcrumb/src/breadcrumb-item.js +52 -27
  11. package/es/breadcrumb/src/breadcrumb.js +11 -8
  12. package/es/button/src/button-group.js +24 -18
  13. package/es/button/src/button.js +284 -185
  14. package/es/calendar/src/calendar.js +571 -358
  15. package/es/card/src/card.js +123 -68
  16. package/es/carousel/src/carousel-item.js +14 -7
  17. package/es/carousel/src/carousel.js +174 -112
  18. package/es/cascader/src/cascader.js +526 -380
  19. package/es/checkbox/src/button.js +90 -55
  20. package/es/checkbox/src/checkbox.js +60 -40
  21. package/es/checkbox/src/group.js +34 -26
  22. package/es/collapse/src/collapse-pane.js +33 -16
  23. package/es/collapse/src/collapse.js +133 -79
  24. package/es/color-picker/src/color-picker.js +489 -350
  25. package/es/components.d.ts +3 -1
  26. package/es/components.js +3 -2
  27. package/es/context-menu/src/context-menu.js +190 -110
  28. package/es/countdown/src/countdown.js +91 -59
  29. package/es/date-panel/src/date-panel.js +760 -450
  30. package/es/date-picker/src/date-picker.js +331 -228
  31. package/es/date-range-picker/src/date-range-picker.js +366 -265
  32. package/es/divider/src/divider.js +26 -12
  33. package/es/drawer/src/drawer.js +254 -154
  34. package/es/dynamics/index.js +38 -25
  35. package/es/empty/src/empty.js +53 -29
  36. package/es/form/render/index.js +66 -41
  37. package/es/form/src/form-config-item.js +22 -16
  38. package/es/form/src/form-group.js +23 -14
  39. package/es/form/src/form-item.js +23 -17
  40. package/es/form/src/form.js +139 -95
  41. package/es/form/src/itemInfo.js +2 -1
  42. package/es/form/src/render.js +207 -127
  43. package/es/form/src/util.js +8 -4
  44. package/es/icon/src/icon.js +14 -10
  45. package/es/icon/style.css +1 -1
  46. package/es/icon/style.mini.css +1 -1
  47. package/es/icon-picker/src/icon-picker.js +250 -157
  48. package/es/image/src/group.js +26 -20
  49. package/es/image/src/image.js +33 -32
  50. package/es/image/src/preview.js +182 -122
  51. package/es/image/src/util.js +6 -3
  52. package/es/index.d.ts +3 -0
  53. package/es/index.esm.js +12 -0
  54. package/es/index.js +12 -0
  55. package/es/input/src/input.js +820 -507
  56. package/es/layout-aside/src/layout-aside.js +54 -38
  57. package/es/layout-body/src/layout-body.js +39 -27
  58. package/es/layout-container/src/layout-container.js +16 -9
  59. package/es/layout-footer/src/layout-footer.js +16 -7
  60. package/es/layout-header/src/layout-header.js +15 -7
  61. package/es/link/src/link.js +65 -44
  62. package/es/list/src/list.js +453 -333
  63. package/es/loading/index.js +8 -5
  64. package/es/loading/src/loading.js +60 -33
  65. package/es/mention/src/mention.js +2 -1
  66. package/es/menu/src/menu.js +341 -210
  67. package/es/modal/index.js +60 -37
  68. package/es/modal/src/modal.js +303 -205
  69. package/es/notice-bar/src/notice-bar.js +64 -37
  70. package/es/number-input/src/number-input.js +249 -172
  71. package/es/pager/src/pager.js +346 -202
  72. package/es/password-input/src/password-input.js +145 -105
  73. package/es/print/src/page-break.js +2 -1
  74. package/es/print/src/print.js +184 -99
  75. package/es/pulldown/src/pulldown.js +113 -71
  76. package/es/radio/src/button.js +92 -57
  77. package/es/radio/src/group.js +33 -25
  78. package/es/radio/src/radio.js +61 -41
  79. package/es/rate/src/rate.js +48 -36
  80. package/es/result/src/result.js +67 -35
  81. package/es/row/src/col.js +30 -16
  82. package/es/row/src/row.js +21 -14
  83. package/es/scrollbar/src/scrollbar.js +177 -145
  84. package/es/segmented/src/segmented.js +93 -60
  85. package/es/select/src/optgroup.js +7 -3
  86. package/es/select/src/select.js +483 -340
  87. package/es/select/src/util.js +6 -3
  88. package/es/slider/src/slider.js +108 -80
  89. package/es/space/src/space.js +43 -26
  90. package/es/splitter/src/splitter-panel.js +50 -25
  91. package/es/splitter/src/splitter.js +219 -144
  92. package/es/steps/src/steps.js +10 -5
  93. package/es/style.css +1 -1
  94. package/es/style.mini.css +1 -1
  95. package/es/switch/src/switch.js +115 -64
  96. package/es/table-select/src/table-select.js +232 -153
  97. package/es/table-transfer/src/table-transfer.js +10 -5
  98. package/es/tabs/src/tab-pane.js +33 -16
  99. package/es/tabs/src/tabs.js +363 -230
  100. package/es/tag/src/tag.js +61 -43
  101. package/es/text/src/text.js +89 -65
  102. package/es/text-ellipsis/src/text-ellipsis.js +82 -51
  103. package/es/textarea/src/textarea.js +116 -86
  104. package/es/timeline/src/timeline-item.js +2 -1
  105. package/es/timeline/src/timeline.js +2 -1
  106. package/es/tip/src/tip.js +53 -29
  107. package/es/tooltip/src/tooltip.js +114 -74
  108. package/es/tour/src/tour.js +2 -1
  109. package/es/transfer/src/transfer.js +42 -25
  110. package/es/tree/src/tree.js +709 -492
  111. package/es/tree-select/src/tree-select.js +320 -225
  112. package/es/ui/index.d.ts +0 -1
  113. package/es/ui/index.js +46 -3
  114. package/es/ui/src/dom.js +9 -6
  115. package/es/ui/src/log.js +1 -1
  116. package/es/ui/src/utils.d.ts +1 -1
  117. package/es/upload/src/upload.js +614 -398
  118. package/es/vxe-icon/style.css +1 -1
  119. package/es/vxe-icon/style.mini.css +1 -1
  120. package/es/watermark/src/util.js +15 -12
  121. package/es/watermark/src/watermark.js +55 -25
  122. package/lib/alert/src/alert.js +62 -37
  123. package/lib/anchor/src/anchor-link.js +39 -20
  124. package/lib/anchor/src/anchor.js +75 -46
  125. package/lib/avatar/src/avatar.js +52 -32
  126. package/lib/backtop/src/backtop.js +81 -56
  127. package/lib/badge/src/badge.js +35 -19
  128. package/lib/breadcrumb/src/breadcrumb-item.js +52 -27
  129. package/lib/breadcrumb/src/breadcrumb.js +13 -10
  130. package/lib/button/src/button-group.js +27 -21
  131. package/lib/button/src/button.js +306 -207
  132. package/lib/calendar/src/calendar.js +575 -362
  133. package/lib/card/src/card.js +133 -78
  134. package/lib/carousel/src/carousel-item.js +15 -8
  135. package/lib/carousel/src/carousel.js +182 -120
  136. package/lib/cascader/src/cascader.js +555 -409
  137. package/lib/checkbox/src/button.js +93 -58
  138. package/lib/checkbox/src/checkbox.js +63 -43
  139. package/lib/checkbox/src/group.js +37 -29
  140. package/lib/collapse/src/collapse-pane.js +34 -17
  141. package/lib/collapse/src/collapse.js +139 -85
  142. package/lib/color-picker/src/color-picker.js +516 -377
  143. package/lib/components.js +3 -2
  144. package/lib/context-menu/src/context-menu.js +212 -132
  145. package/lib/countdown/src/countdown.js +95 -63
  146. package/lib/date-panel/src/date-panel.js +776 -466
  147. package/lib/date-picker/src/date-picker.js +377 -274
  148. package/lib/date-range-picker/src/date-range-picker.js +401 -300
  149. package/lib/divider/src/divider.js +31 -17
  150. package/lib/drawer/src/drawer.js +255 -155
  151. package/lib/dynamics/index.js +38 -25
  152. package/lib/empty/src/empty.js +55 -31
  153. package/lib/form/render/index.js +68 -43
  154. package/lib/form/src/form-config-item.js +24 -18
  155. package/lib/form/src/form-group.js +25 -16
  156. package/lib/form/src/form-item.js +25 -19
  157. package/lib/form/src/form.js +140 -96
  158. package/lib/form/src/itemInfo.js +4 -3
  159. package/lib/form/src/render.js +214 -134
  160. package/lib/form/src/util.js +9 -5
  161. package/lib/icon/src/icon.js +17 -13
  162. package/lib/icon/style/style.css +1 -1
  163. package/lib/icon/style/style.mini.css +1 -1
  164. package/lib/icon-picker/src/icon-picker.js +251 -158
  165. package/lib/image/src/group.js +26 -20
  166. package/lib/image/src/image.js +41 -40
  167. package/lib/image/src/preview.js +206 -146
  168. package/lib/image/src/util.js +6 -3
  169. package/lib/index.common.js +12 -0
  170. package/lib/index.js +12 -0
  171. package/lib/index.umd.js +15359 -10558
  172. package/lib/index.umd.min.js +3 -3
  173. package/lib/input/src/input.js +878 -565
  174. package/lib/layout-aside/src/layout-aside.js +61 -45
  175. package/lib/layout-body/src/layout-body.js +47 -35
  176. package/lib/layout-container/src/layout-container.js +18 -11
  177. package/lib/layout-footer/src/layout-footer.js +17 -8
  178. package/lib/layout-header/src/layout-header.js +16 -8
  179. package/lib/link/src/link.js +69 -48
  180. package/lib/list/src/list.js +456 -336
  181. package/lib/loading/index.js +8 -5
  182. package/lib/loading/src/loading.js +69 -42
  183. package/lib/mention/src/mention.js +4 -3
  184. package/lib/menu/src/menu.js +351 -220
  185. package/lib/modal/index.js +60 -37
  186. package/lib/modal/src/modal.js +306 -208
  187. package/lib/notice-bar/src/notice-bar.js +70 -43
  188. package/lib/number-input/src/number-input.js +290 -213
  189. package/lib/pager/src/pager.js +347 -203
  190. package/lib/password-input/src/password-input.js +155 -115
  191. package/lib/print/src/page-break.js +3 -2
  192. package/lib/print/src/print.js +193 -108
  193. package/lib/pulldown/src/pulldown.js +128 -86
  194. package/lib/radio/src/button.js +96 -61
  195. package/lib/radio/src/group.js +37 -29
  196. package/lib/radio/src/radio.js +65 -45
  197. package/lib/rate/src/rate.js +50 -38
  198. package/lib/result/src/result.js +68 -36
  199. package/lib/row/src/col.js +32 -18
  200. package/lib/row/src/row.js +25 -18
  201. package/lib/scrollbar/src/scrollbar.js +178 -146
  202. package/lib/segmented/src/segmented.js +97 -64
  203. package/lib/select/src/optgroup.js +7 -3
  204. package/lib/select/src/select.js +486 -343
  205. package/lib/select/src/util.js +6 -3
  206. package/lib/slider/src/slider.js +122 -94
  207. package/lib/space/src/space.js +57 -40
  208. package/lib/splitter/src/splitter-panel.js +51 -26
  209. package/lib/splitter/src/splitter.js +233 -158
  210. package/lib/steps/src/steps.js +11 -6
  211. package/lib/style.css +1 -1
  212. package/lib/style.mini.css +1 -1
  213. package/lib/switch/src/switch.js +116 -65
  214. package/lib/table-select/src/table-select.js +234 -155
  215. package/lib/table-transfer/src/table-transfer.js +12 -7
  216. package/lib/tabs/src/tab-pane.js +34 -17
  217. package/lib/tabs/src/tabs.js +365 -232
  218. package/lib/tag/src/tag.js +67 -49
  219. package/lib/text/src/text.js +100 -76
  220. package/lib/text-ellipsis/src/text-ellipsis.js +86 -55
  221. package/lib/textarea/src/textarea.js +127 -97
  222. package/lib/timeline/src/timeline-item.js +3 -2
  223. package/lib/timeline/src/timeline.js +4 -3
  224. package/lib/tip/src/tip.js +58 -34
  225. package/lib/tooltip/src/tooltip.js +116 -76
  226. package/lib/tour/src/tour.js +4 -3
  227. package/lib/transfer/src/transfer.js +44 -27
  228. package/lib/tree/src/tree.js +717 -500
  229. package/lib/tree-select/src/tree-select.js +351 -256
  230. package/lib/ui/index.js +46 -4
  231. package/lib/ui/src/dom.js +9 -6
  232. package/lib/ui/src/log.js +1 -1
  233. package/lib/upload/src/upload.js +708 -492
  234. package/lib/vxe-icon/style/style.css +1 -1
  235. package/lib/vxe-icon/style/style.mini.css +1 -1
  236. package/lib/watermark/src/util.js +15 -12
  237. package/lib/watermark/src/watermark.js +60 -30
  238. package/package.json +10 -4
  239. package/packages/alert/index.ts +16 -16
  240. package/packages/alert/src/alert.ts +148 -126
  241. package/packages/anchor/index.ts +16 -16
  242. package/packages/anchor/src/anchor-link.ts +139 -121
  243. package/packages/anchor/src/anchor.ts +266 -237
  244. package/packages/anchor/src/util.ts +23 -23
  245. package/packages/anchor-link/index.ts +16 -16
  246. package/packages/avatar/index.ts +16 -16
  247. package/packages/avatar/src/avatar.ts +166 -149
  248. package/packages/backtop/index.ts +16 -16
  249. package/packages/backtop/src/backtop.ts +337 -313
  250. package/packages/badge/index.ts +16 -16
  251. package/packages/badge/src/badge.ts +131 -118
  252. package/packages/breadcrumb/index.ts +16 -16
  253. package/packages/breadcrumb/src/breadcrumb-item.ts +129 -106
  254. package/packages/breadcrumb/src/breadcrumb.ts +94 -92
  255. package/packages/breadcrumb-item/index.ts +16 -16
  256. package/packages/button/index.ts +16 -16
  257. package/packages/button/src/button-group.ts +116 -110
  258. package/packages/button/src/button.ts +975 -855
  259. package/packages/button-group/index.ts +16 -16
  260. package/packages/calendar/index.ts +16 -16
  261. package/packages/calendar/src/calendar.ts +1566 -1352
  262. package/packages/card/index.ts +16 -16
  263. package/packages/card/src/card.ts +285 -236
  264. package/packages/carousel/index.ts +16 -16
  265. package/packages/carousel/src/carousel-item.ts +120 -102
  266. package/packages/carousel/src/carousel.ts +475 -414
  267. package/packages/carousel/src/util.ts +21 -21
  268. package/packages/carousel-item/index.ts +16 -16
  269. package/packages/cascader/index.ts +16 -16
  270. package/packages/cascader/src/cascader.ts +2074 -1896
  271. package/packages/cascader/src/util.ts +9 -9
  272. package/packages/checkbox/index.ts +16 -16
  273. package/packages/checkbox/src/button.ts +267 -221
  274. package/packages/checkbox/src/checkbox.ts +219 -199
  275. package/packages/checkbox/src/group.ts +292 -269
  276. package/packages/checkbox-button/index.ts +16 -16
  277. package/packages/checkbox-group/index.ts +16 -16
  278. package/packages/col/index.ts +16 -16
  279. package/packages/collapse/index.ts +16 -16
  280. package/packages/collapse/src/collapse-pane.ts +142 -114
  281. package/packages/collapse/src/collapse.ts +453 -384
  282. package/packages/collapse/src/util.ts +21 -21
  283. package/packages/collapse-pane/index.ts +16 -16
  284. package/packages/color-picker/index.ts +31 -31
  285. package/packages/color-picker/src/color-picker.ts +1310 -1147
  286. package/packages/color-picker/src/util.ts +436 -423
  287. package/packages/components.ts +350 -349
  288. package/packages/context-menu/index.ts +54 -54
  289. package/packages/context-menu/src/context-menu.ts +773 -681
  290. package/packages/countdown/index.ts +16 -16
  291. package/packages/countdown/src/countdown.ts +295 -262
  292. package/packages/date-panel/index.ts +16 -16
  293. package/packages/date-panel/src/date-panel.ts +2214 -1900
  294. package/packages/date-panel/src/util.ts +354 -326
  295. package/packages/date-picker/index.ts +16 -16
  296. package/packages/date-picker/src/date-picker.ts +1884 -1752
  297. package/packages/date-range-picker/index.ts +16 -16
  298. package/packages/date-range-picker/src/date-range-picker.ts +1728 -1604
  299. package/packages/divider/index.ts +16 -16
  300. package/packages/divider/src/divider.ts +105 -93
  301. package/packages/drawer/index.ts +78 -78
  302. package/packages/drawer/src/drawer.ts +920 -802
  303. package/packages/drawer/src/store.ts +3 -3
  304. package/packages/dynamics/index.ts +124 -117
  305. package/packages/empty/index.ts +16 -16
  306. package/packages/empty/src/empty.ts +124 -103
  307. package/packages/form/index.ts +16 -16
  308. package/packages/form/render/index.ts +646 -614
  309. package/packages/form/src/form-config-item.ts +85 -80
  310. package/packages/form/src/form-group.ts +96 -86
  311. package/packages/form/src/form-item.ts +181 -174
  312. package/packages/form/src/form.ts +1122 -1069
  313. package/packages/form/src/itemInfo.ts +84 -82
  314. package/packages/form/src/render.ts +470 -387
  315. package/packages/form/src/util.ts +98 -93
  316. package/packages/form-gather/index.ts +26 -26
  317. package/packages/form-group/index.ts +16 -16
  318. package/packages/form-item/index.ts +16 -16
  319. package/packages/icon/index.ts +16 -16
  320. package/packages/icon/src/icon.ts +78 -75
  321. package/packages/icon-picker/index.ts +16 -16
  322. package/packages/icon-picker/src/icon-picker.ts +922 -809
  323. package/packages/image/index.ts +16 -16
  324. package/packages/image/src/group.ts +159 -153
  325. package/packages/image/src/image.ts +298 -298
  326. package/packages/image/src/preview.ts +749 -672
  327. package/packages/image/src/util.ts +62 -59
  328. package/packages/image-group/index.ts +16 -16
  329. package/packages/image-preview/index.ts +19 -19
  330. package/packages/index.ts +20 -4
  331. package/packages/input/index.ts +16 -16
  332. package/packages/input/src/input.ts +3201 -2863
  333. package/packages/language/fr-FR.ts +15 -15
  334. package/packages/language/it-IT.ts +4 -4
  335. package/packages/language/uk-UA.ts +1 -1
  336. package/packages/language/uz-UZ.ts +13 -13
  337. package/packages/language/zh-CN.ts +907 -907
  338. package/packages/layout-aside/index.ts +16 -16
  339. package/packages/layout-aside/src/layout-aside.ts +172 -156
  340. package/packages/layout-body/index.ts +16 -16
  341. package/packages/layout-body/src/layout-body.ts +191 -181
  342. package/packages/layout-container/index.ts +16 -16
  343. package/packages/layout-container/src/layout-container.ts +108 -92
  344. package/packages/layout-footer/index.ts +16 -16
  345. package/packages/layout-footer/src/layout-footer.ts +81 -74
  346. package/packages/layout-header/index.ts +16 -16
  347. package/packages/layout-header/src/layout-header.ts +79 -73
  348. package/packages/link/index.ts +16 -16
  349. package/packages/link/src/link.ts +180 -161
  350. package/packages/list/index.ts +16 -16
  351. package/packages/list/src/list.ts +2690 -2564
  352. package/packages/list/src/store.ts +10 -10
  353. package/packages/list/src/util.ts +10 -11
  354. package/packages/loading/index.ts +39 -36
  355. package/packages/loading/src/loading.ts +179 -152
  356. package/packages/mention/index.ts +16 -16
  357. package/packages/mention/src/mention.ts +69 -71
  358. package/packages/menu/index.ts +16 -16
  359. package/packages/menu/src/menu.ts +1000 -857
  360. package/packages/modal/index.ts +164 -141
  361. package/packages/modal/src/modal.ts +1803 -1681
  362. package/packages/modal/src/store.ts +3 -3
  363. package/packages/notice-bar/index.ts +16 -16
  364. package/packages/notice-bar/src/notice-bar.ts +207 -181
  365. package/packages/number-input/index.ts +16 -16
  366. package/packages/number-input/src/number-input.ts +1322 -1242
  367. package/packages/number-input/src/util.ts +25 -25
  368. package/packages/optgroup/index.ts +16 -16
  369. package/packages/option/index.ts +16 -16
  370. package/packages/pager/index.ts +16 -16
  371. package/packages/pager/src/pager.ts +919 -775
  372. package/packages/password-input/index.ts +16 -16
  373. package/packages/password-input/src/password-input.ts +523 -482
  374. package/packages/print/index.ts +18 -18
  375. package/packages/print/src/page-break.ts +104 -92
  376. package/packages/print/src/print.ts +366 -281
  377. package/packages/print/src/util.ts +299 -304
  378. package/packages/print-page-break/index.ts +16 -16
  379. package/packages/pulldown/index.ts +16 -16
  380. package/packages/pulldown/src/pulldown.ts +505 -445
  381. package/packages/radio/index.ts +16 -16
  382. package/packages/radio/src/button.ts +290 -243
  383. package/packages/radio/src/group.ts +275 -252
  384. package/packages/radio/src/radio.ts +237 -218
  385. package/packages/radio-button/index.ts +16 -16
  386. package/packages/radio-group/index.ts +16 -16
  387. package/packages/rate/index.ts +16 -16
  388. package/packages/rate/src/rate.ts +203 -192
  389. package/packages/result/index.ts +16 -16
  390. package/packages/result/src/result.ts +141 -112
  391. package/packages/row/index.ts +16 -16
  392. package/packages/row/src/col.ts +171 -159
  393. package/packages/row/src/row.ts +143 -138
  394. package/packages/scrollbar/index.ts +16 -16
  395. package/packages/scrollbar/src/scrollbar.ts +626 -595
  396. package/packages/segmented/index.ts +16 -16
  397. package/packages/segmented/src/segmented.ts +297 -264
  398. package/packages/select/index.ts +16 -16
  399. package/packages/select/src/optgroup.ts +53 -49
  400. package/packages/select/src/option-info.ts +20 -20
  401. package/packages/select/src/option.ts +47 -47
  402. package/packages/select/src/select.ts +2390 -2214
  403. package/packages/select/src/util.ts +50 -47
  404. package/packages/slider/index.ts +16 -16
  405. package/packages/slider/src/slider.ts +547 -506
  406. package/packages/space/index.ts +16 -16
  407. package/packages/space/src/space.ts +225 -209
  408. package/packages/split/index.ts +16 -16
  409. package/packages/split-pane/index.ts +17 -17
  410. package/packages/splitter/index.ts +16 -16
  411. package/packages/splitter/src/splitter-panel.ts +199 -163
  412. package/packages/splitter/src/splitter.ts +1110 -1020
  413. package/packages/splitter/src/util.ts +21 -21
  414. package/packages/splitter-panel/index.ts +16 -16
  415. package/packages/steps/index.ts +16 -16
  416. package/packages/steps/src/steps.ts +69 -68
  417. package/packages/switch/index.ts +16 -16
  418. package/packages/switch/src/switch.ts +300 -245
  419. package/packages/tab-pane/index.ts +16 -16
  420. package/packages/table-select/index.ts +16 -16
  421. package/packages/table-select/src/table-select.ts +1103 -999
  422. package/packages/table-transfer/index.ts +16 -16
  423. package/packages/table-transfer/src/table-transfer.ts +104 -91
  424. package/packages/tabs/index.ts +16 -16
  425. package/packages/tabs/src/tab-pane.ts +132 -117
  426. package/packages/tabs/src/tabs.ts +1137 -997
  427. package/packages/tabs/src/util.ts +21 -21
  428. package/packages/tag/index.ts +16 -16
  429. package/packages/tag/src/tag.ts +204 -187
  430. package/packages/text/index.ts +16 -16
  431. package/packages/text/src/text.ts +282 -260
  432. package/packages/text-ellipsis/index.ts +16 -16
  433. package/packages/text-ellipsis/src/text-ellipsis.ts +312 -282
  434. package/packages/textarea/index.ts +16 -16
  435. package/packages/textarea/src/textarea.ts +526 -495
  436. package/packages/timeline/index.ts +16 -16
  437. package/packages/timeline/src/timeline-item.ts +65 -67
  438. package/packages/timeline/src/timeline.ts +70 -71
  439. package/packages/timeline-item/index.ts +16 -16
  440. package/packages/tip/index.ts +19 -19
  441. package/packages/tip/src/tip.ts +150 -129
  442. package/packages/tooltip/index.ts +72 -72
  443. package/packages/tooltip/src/tooltip.ts +669 -627
  444. package/packages/tour/index.ts +16 -16
  445. package/packages/tour/src/tour.ts +70 -71
  446. package/packages/transfer/index.ts +16 -16
  447. package/packages/transfer/src/transfer.ts +130 -117
  448. package/packages/tree/index.ts +16 -16
  449. package/packages/tree/src/store.ts +10 -10
  450. package/packages/tree/src/tree.ts +4077 -3852
  451. package/packages/tree/src/util.ts +51 -51
  452. package/packages/tree-select/index.ts +16 -16
  453. package/packages/tree-select/src/tree-select.ts +1217 -1094
  454. package/packages/ui/index.ts +836 -793
  455. package/packages/ui/src/anime.ts +51 -52
  456. package/packages/ui/src/comp.ts +3 -3
  457. package/packages/ui/src/dom.ts +357 -354
  458. package/packages/ui/src/log.ts +19 -19
  459. package/packages/ui/src/utils.ts +79 -79
  460. package/packages/ui/src/vn.ts +39 -39
  461. package/packages/upload/index.ts +20 -20
  462. package/packages/upload/src/upload.ts +2271 -2021
  463. package/packages/upload/src/util.ts +109 -109
  464. package/packages/watermark/index.ts +33 -33
  465. package/packages/watermark/src/util.ts +186 -180
  466. package/packages/watermark/src/watermark.ts +196 -168
  467. package/types/all.d.ts +552 -552
  468. package/types/components/alert.d.ts +83 -87
  469. package/types/components/anchor-link.d.ts +88 -91
  470. package/types/components/anchor.d.ts +97 -104
  471. package/types/components/avatar.d.ts +85 -88
  472. package/types/components/backtop.d.ts +119 -122
  473. package/types/components/badge.d.ts +77 -80
  474. package/types/components/breadcrumb-item.d.ts +77 -80
  475. package/types/components/breadcrumb.d.ts +83 -87
  476. package/types/components/button-group.d.ts +118 -120
  477. package/types/components/button.d.ts +331 -339
  478. package/types/components/calendar.d.ts +247 -264
  479. package/types/components/card.d.ts +111 -113
  480. package/types/components/carousel-item.d.ts +73 -75
  481. package/types/components/carousel.d.ts +130 -134
  482. package/types/components/cascader.d.ts +336 -386
  483. package/types/components/checkbox-button.d.ts +109 -114
  484. package/types/components/checkbox-group.d.ts +152 -154
  485. package/types/components/checkbox.d.ts +123 -128
  486. package/types/components/col.d.ts +77 -80
  487. package/types/components/colgroup.d.ts +64 -69
  488. package/types/components/collapse-pane.d.ts +86 -89
  489. package/types/components/collapse.d.ts +123 -133
  490. package/types/components/color-picker.d.ts +275 -280
  491. package/types/components/column.d.ts +834 -851
  492. package/types/components/context-menu.d.ts +282 -289
  493. package/types/components/countdown.d.ts +108 -112
  494. package/types/components/date-panel.d.ts +319 -331
  495. package/types/components/date-picker.d.ts +361 -384
  496. package/types/components/date-range-picker.d.ts +351 -371
  497. package/types/components/divider.d.ts +72 -75
  498. package/types/components/drawer.d.ts +333 -344
  499. package/types/components/empty.d.ts +75 -78
  500. package/types/components/flow-design.d.ts +73 -85
  501. package/types/components/flow-view.d.ts +73 -85
  502. package/types/components/form-design.d.ts +370 -376
  503. package/types/components/form-gather.d.ts +120 -124
  504. package/types/components/form-group.d.ts +73 -77
  505. package/types/components/form-item.d.ts +395 -413
  506. package/types/components/form-view.d.ts +179 -183
  507. package/types/components/form.d.ts +499 -495
  508. package/types/components/gantt-module/gantt-view.d.ts +195 -200
  509. package/types/components/gantt-module/index.d.ts +1 -1
  510. package/types/components/gantt-plugins/extend-gantt-chart.d.ts +137 -131
  511. package/types/components/gantt-plugins/index.d.ts +1 -1
  512. package/types/components/gantt.d.ts +1248 -1399
  513. package/types/components/grid.d.ts +1289 -1317
  514. package/types/components/icon-picker.d.ts +242 -253
  515. package/types/components/icon.d.ts +332 -87
  516. package/types/components/image-group.d.ts +124 -127
  517. package/types/components/image-preview.d.ts +167 -167
  518. package/types/components/image.d.ts +166 -173
  519. package/types/components/input.d.ts +429 -453
  520. package/types/components/layout-aside.d.ts +123 -123
  521. package/types/components/layout-body.d.ts +110 -113
  522. package/types/components/layout-container.d.ts +73 -75
  523. package/types/components/layout-footer.d.ts +71 -73
  524. package/types/components/layout-header.d.ts +67 -69
  525. package/types/components/link.d.ts +107 -111
  526. package/types/components/list-design.d.ts +189 -190
  527. package/types/components/list-view.d.ts +193 -199
  528. package/types/components/list.d.ts +678 -715
  529. package/types/components/loading.d.ts +98 -103
  530. package/types/components/mention.d.ts +70 -77
  531. package/types/components/menu.d.ts +284 -295
  532. package/types/components/modal.d.ts +567 -584
  533. package/types/components/notice-bar.d.ts +102 -106
  534. package/types/components/number-input.d.ts +359 -365
  535. package/types/components/optgroup.d.ts +85 -88
  536. package/types/components/option.d.ts +94 -103
  537. package/types/components/pager.d.ts +330 -335
  538. package/types/components/password-input.d.ts +143 -156
  539. package/types/components/print-page-break.d.ts +65 -69
  540. package/types/components/print.d.ts +243 -245
  541. package/types/components/pulldown.d.ts +231 -239
  542. package/types/components/radio-button.d.ts +113 -118
  543. package/types/components/radio-group.d.ts +151 -153
  544. package/types/components/radio.d.ts +129 -134
  545. package/types/components/rate.d.ts +83 -88
  546. package/types/components/result.d.ts +81 -84
  547. package/types/components/row.d.ts +77 -81
  548. package/types/components/scrollbar.d.ts +299 -305
  549. package/types/components/segmented.d.ts +119 -123
  550. package/types/components/select.d.ts +598 -616
  551. package/types/components/slider.d.ts +137 -151
  552. package/types/components/space.d.ts +120 -127
  553. package/types/components/split-pane.d.ts +126 -133
  554. package/types/components/split.d.ts +301 -312
  555. package/types/components/splitter-panel.d.ts +123 -130
  556. package/types/components/splitter.d.ts +290 -301
  557. package/types/components/steps.d.ts +63 -68
  558. package/types/components/switch.d.ts +127 -133
  559. package/types/components/tab-pane.d.ts +111 -114
  560. package/types/components/table-module/custom.d.ts +123 -123
  561. package/types/components/table-module/edit.d.ts +297 -276
  562. package/types/components/table-module/export.d.ts +88 -96
  563. package/types/components/table-module/filter.d.ts +144 -144
  564. package/types/components/table-module/index.d.ts +7 -7
  565. package/types/components/table-module/keyboard.d.ts +26 -26
  566. package/types/components/table-module/menu.d.ts +46 -46
  567. package/types/components/table-module/validator.d.ts +53 -53
  568. package/types/components/table-plugins/extend-cell-area.d.ts +781 -781
  569. package/types/components/table-plugins/extend-pivot-table.d.ts +59 -58
  570. package/types/components/table-plugins/filters-combination.d.ts +15 -15
  571. package/types/components/table-plugins/filters-complex-input.d.ts +9 -9
  572. package/types/components/table-plugins/index.d.ts +4 -4
  573. package/types/components/table-select.d.ts +268 -276
  574. package/types/components/table-transfer.d.ts +80 -84
  575. package/types/components/table.d.ts +7530 -8000
  576. package/types/components/tabs.d.ts +314 -352
  577. package/types/components/tag.d.ts +108 -114
  578. package/types/components/text-ellipsis.d.ts +107 -112
  579. package/types/components/text.d.ts +112 -122
  580. package/types/components/textarea.d.ts +261 -275
  581. package/types/components/timeline-item.d.ts +66 -75
  582. package/types/components/timeline.d.ts +70 -77
  583. package/types/components/tip.d.ts +81 -83
  584. package/types/components/toolbar.d.ts +327 -336
  585. package/types/components/tooltip.d.ts +250 -255
  586. package/types/components/tour.d.ts +70 -77
  587. package/types/components/transfer.d.ts +80 -84
  588. package/types/components/tree-select.d.ts +361 -376
  589. package/types/components/tree.d.ts +994 -1036
  590. package/types/components/upload.d.ts +477 -518
  591. package/types/components/watermark.d.ts +116 -120
  592. package/types/handles/form-design.d.ts +50 -50
  593. package/types/handles/index.d.ts +3 -3
  594. package/types/handles/list-design.d.ts +1 -2
  595. package/types/handles/table.d.ts +15 -15
  596. package/types/index.d.ts +8 -8
  597. package/types/ui/commands.d.ts +57 -57
  598. package/types/ui/formats.d.ts +62 -62
  599. package/types/ui/global-config.d.ts +269 -269
  600. package/types/ui/global-icon.d.ts +315 -315
  601. package/types/ui/hooks.d.ts +13 -13
  602. package/types/ui/index.d.ts +100 -100
  603. package/types/ui/interceptor.d.ts +52 -52
  604. package/types/ui/menus.d.ts +89 -89
  605. package/types/ui/renderer.d.ts +1033 -1047
  606. package/types/ui/validators.d.ts +37 -38
  607. /package/dist/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  608. /package/dist/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  609. /package/dist/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
  610. /package/es/icon/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  611. /package/es/icon/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  612. /package/es/icon/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
  613. /package/es/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  614. /package/es/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  615. /package/es/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
  616. /package/es/vxe-icon/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  617. /package/es/vxe-icon/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  618. /package/es/vxe-icon/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
  619. /package/lib/icon/style/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  620. /package/lib/icon/style/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  621. /package/lib/icon/style/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
  622. /package/lib/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  623. /package/lib/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  624. /package/lib/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
  625. /package/lib/vxe-icon/style/{iconfont.1792979107495.ttf → iconfont.1793007755017.ttf} +0 -0
  626. /package/lib/vxe-icon/style/{iconfont.1792979107495.woff → iconfont.1793007755017.woff} +0 -0
  627. /package/lib/vxe-icon/style/{iconfont.1792979107495.woff2 → iconfont.1793007755017.woff2} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { h, Teleport, ref, inject, computed, provide, onUnmounted, reactive, nextTick, watch, onMounted, onBeforeUnmount } from "vue";
2
2
  import { defineVxeComponent } from "../../ui/src/comp";
3
3
  import XEUtils from "xe-utils";
4
- import { VxeUI } from "../../ui";
4
+ import { VxeUI } from "@vxe-ui/core";
5
5
  import { getEventTargetNode, getPopupContainer, toCssUnit, updatePanelPlacement } from "../../ui/src/dom";
6
6
  import { getLastZIndex, nextZIndex, getFuncText, eqEmptyValue } from "../../ui/src/utils";
7
7
  import { getSlotVNs } from "../../ui/src/vn";
@@ -207,18 +207,7 @@ var select_default = defineVxeComponent({
207
207
  */
208
208
  optionKey: Boolean
209
209
  },
210
- emits: [
211
- "update:modelValue",
212
- "change",
213
- "default-change",
214
- "all-change",
215
- "clear",
216
- "blur",
217
- "focus",
218
- "click",
219
- "scroll",
220
- "visible-change"
221
- ],
210
+ emits: ["update:modelValue", "change", "default-change", "all-change", "clear", "blur", "focus", "click", "scroll", "visible-change"],
222
211
  setup(props, context) {
223
212
  const { slots, emit } = context;
224
213
  const $xeModal = inject("$xeModal", null);
@@ -250,21 +239,7 @@ var select_default = defineVxeComponent({
250
239
  internalData,
251
240
  getRefMaps: () => refMaps
252
241
  };
253
- const {
254
- refTrackXElem,
255
- refTrackYElem,
256
- refThumbXElem,
257
- refThumbYElem,
258
- updateThumbSize,
259
- updateThumbOffset,
260
- clickTrackXEvent,
261
- clickTrackYEvent,
262
- pointerdownThumbXEvent,
263
- pointermoveThumbXEvent,
264
- cleatPointerThumbEvent,
265
- pointerdownThumbYEvent,
266
- pointermoveThumbYEvent
267
- } = useFns.useInitVScrollbar($xeSelect);
242
+ const { refTrackXElem, refTrackYElem, refThumbXElem, refThumbYElem, updateThumbSize, updateThumbOffset, clickTrackXEvent, clickTrackYEvent, pointerdownThumbXEvent, pointermoveThumbXEvent, cleatPointerThumbEvent, pointerdownThumbYEvent, pointermoveThumbYEvent } = useFns.useInitVScrollbar($xeSelect);
268
243
  const computeFormReadonly = computed(() => {
269
244
  const { readonly } = props;
270
245
  if (readonly === null) {
@@ -508,17 +483,20 @@ var select_default = defineVxeComponent({
508
483
  const scrollbarYToLeft = computeScrollbarYToLeft.value;
509
484
  const scrollXVisible = computeScrollXVisible.value;
510
485
  const scrollYVisible = computeScrollYVisible.value;
511
- return domUtils.buildClass([
512
- "vxe-scrollbar is--virtual",
513
- scrollbarOpts.fluentOverlay ? "is--fluent-overlay" : "is--default-mode",
514
- `ov-x--${scrollXVisible === false ? "hidden" : "visible"}`,
515
- `ov-y--${scrollYVisible === false ? "hidden" : "visible"}`,
516
- `sx-pos--${scrollbarXToTop ? "top" : "bottom"}`,
517
- `sy-pos--${scrollbarYToLeft ? "left" : "right"}`
518
- ], {
519
- "overflow-y": yThumbHeight,
520
- "overflow-x": xThumbWidth
521
- });
486
+ return domUtils.buildClass(
487
+ [
488
+ "vxe-scrollbar is--virtual",
489
+ scrollbarOpts.fluentOverlay ? "is--fluent-overlay" : "is--default-mode",
490
+ `ov-x--${scrollXVisible === false ? "hidden" : "visible"}`,
491
+ `ov-y--${scrollYVisible === false ? "hidden" : "visible"}`,
492
+ `sx-pos--${scrollbarXToTop ? "top" : "bottom"}`,
493
+ `sy-pos--${scrollbarYToLeft ? "left" : "right"}`
494
+ ],
495
+ {
496
+ "overflow-y": yThumbHeight,
497
+ "overflow-x": xThumbWidth
498
+ }
499
+ );
522
500
  });
523
501
  const computeScrollbarXToTop = computed(() => {
524
502
  const scrollbarXOpts = computeScrollbarXOpts.value;
@@ -1110,9 +1088,7 @@ var select_default = defineVxeComponent({
1110
1088
  const qyMethod = remoteOpts.queryMethod || props.remoteMethod;
1111
1089
  if (remote && qyMethod && remoteOpts.enabled) {
1112
1090
  reactData.searchLoading = true;
1113
- Promise.resolve(
1114
- qyMethod({ $select: $xeSelect, searchValue, value: modelValue })
1115
- ).then(() => nextTick()).catch(() => nextTick()).finally(() => {
1091
+ Promise.resolve(qyMethod({ $select: $xeSelect, searchValue, value: modelValue })).then(() => nextTick()).catch(() => nextTick()).finally(() => {
1116
1092
  reactData.searchLoading = false;
1117
1093
  handleOption();
1118
1094
  updateYData();
@@ -1494,18 +1470,25 @@ var select_default = defineVxeComponent({
1494
1470
  }
1495
1471
  };
1496
1472
  }
1497
- return h("div", {
1498
- key: 2,
1499
- class: ["vxe-select-option--radio", {
1500
- "is--checked": isChecked,
1501
- "is--disabled": isDisabled
1502
- }],
1503
- ...ons
1504
- }, [
1505
- h("span", {
1506
- class: ["vxe-radio--icon", isChecked ? getIcon().RADIO_CHECKED : isDisabled ? getIcon().RADIO_DISABLED_UNCHECKED : getIcon().RADIO_UNCHECKED]
1507
- })
1508
- ]);
1473
+ return h(
1474
+ "div",
1475
+ {
1476
+ key: 2,
1477
+ class: [
1478
+ "vxe-select-option--radio",
1479
+ {
1480
+ "is--checked": isChecked,
1481
+ "is--disabled": isDisabled
1482
+ }
1483
+ ],
1484
+ ...ons
1485
+ },
1486
+ [
1487
+ h("span", {
1488
+ class: ["vxe-radio--icon", isChecked ? getIcon().RADIO_CHECKED : isDisabled ? getIcon().RADIO_DISABLED_UNCHECKED : getIcon().RADIO_UNCHECKED]
1489
+ })
1490
+ ]
1491
+ );
1509
1492
  };
1510
1493
  const renderCheckbox = (option, isOptGroup, isChecked, isDisabled) => {
1511
1494
  const checkboxOpts = computeCheckboxOpts.value;
@@ -1521,18 +1504,25 @@ var select_default = defineVxeComponent({
1521
1504
  }
1522
1505
  };
1523
1506
  }
1524
- return h("div", {
1525
- key: 3,
1526
- class: ["vxe-select-option--checkbox", {
1527
- "is--checked": isChecked,
1528
- "is--disabled": isDisabled
1529
- }],
1530
- ...ons
1531
- }, [
1532
- h("span", {
1533
- class: ["vxe-checkbox--icon", isChecked ? getIcon().CHECKBOX_CHECKED : isDisabled ? getIcon().CHECKBOX_DISABLED_UNCHECKED : getIcon().CHECKBOX_UNCHECKED]
1534
- })
1535
- ]);
1507
+ return h(
1508
+ "div",
1509
+ {
1510
+ key: 3,
1511
+ class: [
1512
+ "vxe-select-option--checkbox",
1513
+ {
1514
+ "is--checked": isChecked,
1515
+ "is--disabled": isDisabled
1516
+ }
1517
+ ],
1518
+ ...ons
1519
+ },
1520
+ [
1521
+ h("span", {
1522
+ class: ["vxe-checkbox--icon", isChecked ? getIcon().CHECKBOX_CHECKED : isDisabled ? getIcon().CHECKBOX_DISABLED_UNCHECKED : getIcon().CHECKBOX_UNCHECKED]
1523
+ })
1524
+ ]
1525
+ );
1536
1526
  };
1537
1527
  const renderOption = (list) => {
1538
1528
  const { allowCreate, optionKey, multiple, showRadio, showCheckbox } = props;
@@ -1556,7 +1546,7 @@ var select_default = defineVxeComponent({
1556
1546
  const isOptGroup = hasOptGroupById(optid);
1557
1547
  const isAdd = !!(allowCreate && optAddMaps[optid]);
1558
1548
  const isSelected = !isAdd && selectVals.indexOf(optionValue) > -1;
1559
- const isVisible = isAdd || (!isOptGroup || isOptionVisible(option));
1549
+ const isVisible = isAdd || !isOptGroup || isOptionVisible(option);
1560
1550
  const isDisabled = !isAdd && checkOptionDisabled(isSelected, option);
1561
1551
  const defaultSlot = slots2 ? slots2.default : null;
1562
1552
  const optSlot = defaultSlot || optionSlot;
@@ -1576,10 +1566,14 @@ var select_default = defineVxeComponent({
1576
1566
  otlbVNs = [optLabel];
1577
1567
  }
1578
1568
  optVNs.push(
1579
- h("div", {
1580
- key: 1,
1581
- class: "vxe-select-option--label"
1582
- }, otlbVNs)
1569
+ h(
1570
+ "div",
1571
+ {
1572
+ key: 1,
1573
+ class: "vxe-select-option--label"
1574
+ },
1575
+ otlbVNs
1576
+ )
1583
1577
  );
1584
1578
  const ons = {
1585
1579
  onMousedown: (evnt) => {
@@ -1601,60 +1595,88 @@ var select_default = defineVxeComponent({
1601
1595
  }
1602
1596
  };
1603
1597
  }
1604
- return isVisible ? h("div", {
1605
- key: useKey || optionKey ? optid : cIndex,
1606
- class: ["vxe-select-option", className ? XEUtils.isFunction(className) ? className(optParams) : className : "", {
1607
- "vxe-select-optgroup": isOptGroup,
1608
- "is--disabled": isDisabled,
1609
- "is--selected": isSelected,
1610
- "is--add": isAdd,
1611
- "is--hover": currentOption && getOptId(currentOption) === optid
1612
- }],
1613
- optid,
1614
- title: optLabel || null,
1615
- style: height ? {
1616
- height: toCssUnit(height)
1617
- } : void 0,
1618
- ...ons
1619
- }, allowCreate ? [
1620
- h("div", {
1621
- key: 1,
1622
- class: "vxe-select-option--add-label"
1623
- }, optVNs),
1624
- isAdd ? h("div", {
1625
- key: 2,
1626
- class: "vxe-select-option--add-icon"
1627
- }, [
1628
- h("i", {
1629
- class: getIcon().SELECT_ADD_OPTION
1630
- })
1631
- ]) : renderEmptyElement($xeSelect)
1632
- ] : optVNs) : renderEmptyElement($xeSelect);
1598
+ return isVisible ? h(
1599
+ "div",
1600
+ {
1601
+ key: useKey || optionKey ? optid : cIndex,
1602
+ class: [
1603
+ "vxe-select-option",
1604
+ className ? XEUtils.isFunction(className) ? className(optParams) : className : "",
1605
+ {
1606
+ "vxe-select-optgroup": isOptGroup,
1607
+ "is--disabled": isDisabled,
1608
+ "is--selected": isSelected,
1609
+ "is--add": isAdd,
1610
+ "is--hover": currentOption && getOptId(currentOption) === optid
1611
+ }
1612
+ ],
1613
+ optid,
1614
+ title: optLabel || null,
1615
+ style: height ? {
1616
+ height: toCssUnit(height)
1617
+ } : void 0,
1618
+ ...ons
1619
+ },
1620
+ allowCreate ? [
1621
+ h(
1622
+ "div",
1623
+ {
1624
+ key: 1,
1625
+ class: "vxe-select-option--add-label"
1626
+ },
1627
+ optVNs
1628
+ ),
1629
+ isAdd ? h(
1630
+ "div",
1631
+ {
1632
+ key: 2,
1633
+ class: "vxe-select-option--add-icon"
1634
+ },
1635
+ [
1636
+ h("i", {
1637
+ class: getIcon().SELECT_ADD_OPTION
1638
+ })
1639
+ ]
1640
+ ) : renderEmptyElement($xeSelect)
1641
+ ] : optVNs
1642
+ ) : renderEmptyElement($xeSelect);
1633
1643
  });
1634
1644
  };
1635
1645
  const renderOpts = () => {
1636
1646
  const { optList, searchLoading } = reactData;
1637
1647
  if (searchLoading) {
1638
1648
  return [
1639
- h("div", {
1640
- class: "vxe-select--search-loading"
1641
- }, [
1642
- h("i", {
1643
- class: ["vxe-select--search-icon", getIcon().SELECT_LOADED]
1644
- }),
1645
- h("span", {
1646
- class: "vxe-select--search-text"
1647
- }, getI18n("vxe.select.loadingText"))
1648
- ])
1649
+ h(
1650
+ "div",
1651
+ {
1652
+ class: "vxe-select--search-loading"
1653
+ },
1654
+ [
1655
+ h("i", {
1656
+ class: ["vxe-select--search-icon", getIcon().SELECT_LOADED]
1657
+ }),
1658
+ h(
1659
+ "span",
1660
+ {
1661
+ class: "vxe-select--search-text"
1662
+ },
1663
+ getI18n("vxe.select.loadingText")
1664
+ )
1665
+ ]
1666
+ )
1649
1667
  ];
1650
1668
  }
1651
1669
  if (optList.length) {
1652
1670
  return renderOption(optList);
1653
1671
  }
1654
1672
  return [
1655
- h("div", {
1656
- class: "vxe-select--empty-placeholder"
1657
- }, props.emptyText || getI18n("vxe.select.emptyText"))
1673
+ h(
1674
+ "div",
1675
+ {
1676
+ class: "vxe-select--empty-placeholder"
1677
+ },
1678
+ props.emptyText || getI18n("vxe.select.emptyText")
1679
+ )
1658
1680
  ];
1659
1681
  };
1660
1682
  const renderVN = () => {
@@ -1672,25 +1694,45 @@ var select_default = defineVxeComponent({
1672
1694
  const badgeLabel = computeBadgeLabel.value;
1673
1695
  const defaultSlot = slots.default;
1674
1696
  if (formReadonly) {
1675
- return h("div", {
1676
- ref: refElem,
1677
- class: ["vxe-select--readonly", className, {
1678
- "is--badge": showBadge && badgeLabel,
1679
- "is--badge-dot": showBadge && badgeOpts.dot
1680
- }]
1681
- }, [
1682
- h("div", {
1683
- class: "vxe-select-slots",
1684
- ref: "hideOption"
1685
- }, defaultSlot ? defaultSlot({}) : []),
1686
- h("span", {
1687
- class: "vxe-select-label",
1688
- title: fullLabel
1689
- }, selectLabel),
1690
- showBadge && badgeLabel ? h("div", {
1691
- class: "vxe-badge--label"
1692
- }, badgeLabel) : renderEmptyElement($xeSelect)
1693
- ]);
1697
+ return h(
1698
+ "div",
1699
+ {
1700
+ ref: refElem,
1701
+ class: [
1702
+ "vxe-select--readonly",
1703
+ className,
1704
+ {
1705
+ "is--badge": showBadge && badgeLabel,
1706
+ "is--badge-dot": showBadge && badgeOpts.dot
1707
+ }
1708
+ ]
1709
+ },
1710
+ [
1711
+ h(
1712
+ "div",
1713
+ {
1714
+ class: "vxe-select-slots",
1715
+ ref: "hideOption"
1716
+ },
1717
+ defaultSlot ? defaultSlot({}) : []
1718
+ ),
1719
+ h(
1720
+ "span",
1721
+ {
1722
+ class: "vxe-select-label",
1723
+ title: fullLabel
1724
+ },
1725
+ selectLabel
1726
+ ),
1727
+ showBadge && badgeLabel ? h(
1728
+ "div",
1729
+ {
1730
+ class: "vxe-badge--label"
1731
+ },
1732
+ badgeLabel
1733
+ ) : renderEmptyElement($xeSelect)
1734
+ ]
1735
+ );
1694
1736
  }
1695
1737
  const currStyle = computeCurrStyle.value;
1696
1738
  const selectVals = computeSelectVals.value;
@@ -1709,216 +1751,317 @@ var select_default = defineVxeComponent({
1709
1751
  const scrollXAutoHide = computeScrollXAutoHide.value;
1710
1752
  const scrollYAutoHide = computeScrollYAutoHide.value;
1711
1753
  const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
1712
- return h("div", {
1713
- ref: refElem,
1714
- class: ["vxe-select", className ? XEUtils.isFunction(className) ? className({ $select: $xeSelect }) : className : "", {
1715
- [`size--${vSize}`]: vSize,
1716
- "is--badge": showBadge && badgeLabel,
1717
- "is--badge-dot": showBadge && badgeOpts.dot,
1718
- "is--visible": visiblePanel,
1719
- "is--disabled": isDisabled,
1720
- "is--filter": filterable,
1721
- "is--loading": loading,
1722
- "is--active": isActivated
1723
- }],
1724
- style: currStyle
1725
- }, [
1726
- h("div", {
1727
- class: "vxe-select-slots",
1728
- ref: "hideOption"
1729
- }, defaultSlot ? defaultSlot({}) : []),
1730
- h(VxeInputComponent, {
1731
- ref: refInput,
1732
- clearable: props.clearable,
1733
- placeholder: inpPlaceholder,
1734
- editable: false,
1735
- disabled: isDisabled,
1736
- type: "text",
1737
- prefixIcon: props.prefixIcon,
1738
- suffixIcon: loading ? getIcon().SELECT_LOADED : visiblePanel ? getIcon().SELECT_OPEN : getIcon().SELECT_CLOSE,
1739
- autoFocus: false,
1740
- title: fullLabel,
1741
- modelValue: selectLabel,
1742
- onClear: clearEvent,
1743
- onClick: clickEvent,
1744
- onFocus: focusEvent,
1745
- onBlur: blurEvent,
1746
- onSuffixClick: suffixClickEvent
1747
- }, prefixSlot ? {
1748
- prefix: () => prefixSlot({})
1749
- } : {}),
1750
- showBadge && badgeLabel ? h("div", {
1751
- class: "vxe-badge--label"
1752
- }, badgeLabel) : renderEmptyElement($xeSelect),
1753
- h(Teleport, {
1754
- to: getPopupContainer(appendTo),
1755
- disabled: btnTransfer ? !initialized : true
1756
- }, [
1757
- h("div", {
1758
- ref: refOptionPanel,
1759
- class: ["vxe-table--ignore-clear vxe-select--panel", ppClassName ? XEUtils.isFunction(ppClassName) ? ppClassName({ $select: $xeSelect }) : ppClassName : "", {
1754
+ return h(
1755
+ "div",
1756
+ {
1757
+ ref: refElem,
1758
+ class: [
1759
+ "vxe-select",
1760
+ className ? XEUtils.isFunction(className) ? className({ $select: $xeSelect }) : className : "",
1761
+ {
1760
1762
  [`size--${vSize}`]: vSize,
1761
- "is--transfer": btnTransfer,
1762
- "ani--leave": !loading && isAniVisible,
1763
- "ani--enter": !loading && visiblePanel
1764
- }],
1765
- placement: reactData.panelPlacement,
1766
- style: reactData.panelStyle
1767
- }, initialized && (visiblePanel || isAniVisible) ? [
1768
- h("div", {
1769
- class: "vxe-select--panel-wrapper",
1770
- style: popupWrapperStyle
1771
- }, [
1772
- filterable ? h("div", {
1773
- class: "vxe-select--panel-search"
1774
- }, [
1775
- h(VxeInputComponent, {
1776
- ref: refInpSearch,
1777
- class: "vxe-select-search--input",
1778
- modelValue: reactData.searchValue,
1779
- type: "text",
1780
- clearable: true,
1781
- disabled: false,
1782
- readonly: false,
1783
- placeholder: getI18n("vxe.select.search"),
1784
- prefixIcon: getIcon().INPUT_SEARCH,
1785
- "onUpdate:modelValue": modelSearchEvent,
1786
- onFocus: focusSearchEvent,
1787
- onChange: triggerSearchEvent,
1788
- onSearch: triggerSearchEvent
1789
- })
1790
- ]) : renderEmptyElement($xeSelect),
1791
- showCheckedButton && multiple || showClearButton || headerSlot ? h("div", {
1792
- class: "vxe-select--panel-header"
1793
- }, headerSlot ? callSlot(headerSlot, {}) : [
1794
- h("div", {
1795
- class: "vxe-select--header-button"
1796
- }, [
1797
- h("div", {
1798
- class: "vxe-select--header-btns"
1799
- }, [
1800
- showCheckedButton && multiple ? h(VxeButtonComponent, {
1801
- content: getI18n("vxe.select.allChecked"),
1802
- mode: "text",
1803
- onClick: allCheckedPanelEvent
1804
- }) : renderEmptyElement($xeSelect),
1805
- showClearButton ? h(VxeButtonComponent, {
1806
- content: getI18n("vxe.select.clear"),
1807
- mode: "text",
1808
- onClick: clearCheckedPanelEvent
1809
- }) : renderEmptyElement($xeSelect)
1810
- ])
1811
- ])
1812
- ]) : renderEmptyElement($xeSelect),
1813
- h("div", {
1814
- class: [
1815
- "vxe-select--panel-body",
1816
- isVScrollbar ? `ov-x--${scrollXVisible === false ? "hidden" : "visible"}` : "",
1817
- isVScrollbar ? `ov-y--${scrollYVisible === false ? "hidden" : "visible"}` : "",
1818
- isVScrollbar ? `sx-pos--${scrollbarXToTop ? "top" : "bottom"}` : "",
1819
- isVScrollbar ? `sy-pos--${scrollbarYToLeft ? "left" : "right"}` : "",
1820
- {
1821
- "is--virtual-scrollbar": isVScrollbar,
1822
- "ov-padding": isVScrollbar && scrollbarOpts.padding,
1823
- "ov-x--auto-hide": isVScrollbar && scrollXAutoHide,
1824
- "ov-y--auto-hide": isVScrollbar && scrollYAutoHide,
1825
- "overflow-y": yThumbHeight,
1826
- "overflow-x": xThumbWidth
1827
- }
1828
- ]
1829
- }, [
1830
- h("div", {
1831
- ref: refVirtualWrapper,
1832
- class: "vxe-select-option--wrapper",
1833
- onScroll: scrollEvent
1834
- }, [
1835
- h("div", {
1836
- ref: refVirtualSpaceElem,
1837
- class: "vxe-select--y-space",
1838
- style: {
1839
- height: bodyHeight ? `${bodyHeight}px` : ""
1840
- }
1841
- }),
1842
- h("div", {
1843
- ref: refVirtualBody,
1844
- class: "vxe-select--body",
1845
- style: {
1846
- marginTop: `${topSpaceHeight}px`
1763
+ "is--badge": showBadge && badgeLabel,
1764
+ "is--badge-dot": showBadge && badgeOpts.dot,
1765
+ "is--visible": visiblePanel,
1766
+ "is--disabled": isDisabled,
1767
+ "is--filter": filterable,
1768
+ "is--loading": loading,
1769
+ "is--active": isActivated
1770
+ }
1771
+ ],
1772
+ style: currStyle
1773
+ },
1774
+ [
1775
+ h(
1776
+ "div",
1777
+ {
1778
+ class: "vxe-select-slots",
1779
+ ref: "hideOption"
1780
+ },
1781
+ defaultSlot ? defaultSlot({}) : []
1782
+ ),
1783
+ h(
1784
+ VxeInputComponent,
1785
+ {
1786
+ ref: refInput,
1787
+ clearable: props.clearable,
1788
+ placeholder: inpPlaceholder,
1789
+ editable: false,
1790
+ disabled: isDisabled,
1791
+ type: "text",
1792
+ prefixIcon: props.prefixIcon,
1793
+ suffixIcon: loading ? getIcon().SELECT_LOADED : visiblePanel ? getIcon().SELECT_OPEN : getIcon().SELECT_CLOSE,
1794
+ autoFocus: false,
1795
+ title: fullLabel,
1796
+ modelValue: selectLabel,
1797
+ onClear: clearEvent,
1798
+ onClick: clickEvent,
1799
+ onFocus: focusEvent,
1800
+ onBlur: blurEvent,
1801
+ onSuffixClick: suffixClickEvent
1802
+ },
1803
+ prefixSlot ? {
1804
+ prefix: () => prefixSlot({})
1805
+ } : {}
1806
+ ),
1807
+ showBadge && badgeLabel ? h(
1808
+ "div",
1809
+ {
1810
+ class: "vxe-badge--label"
1811
+ },
1812
+ badgeLabel
1813
+ ) : renderEmptyElement($xeSelect),
1814
+ h(
1815
+ Teleport,
1816
+ {
1817
+ to: getPopupContainer(appendTo),
1818
+ disabled: btnTransfer ? !initialized : true
1819
+ },
1820
+ [
1821
+ h(
1822
+ "div",
1823
+ {
1824
+ ref: refOptionPanel,
1825
+ class: [
1826
+ "vxe-table--ignore-clear vxe-select--panel",
1827
+ ppClassName ? XEUtils.isFunction(ppClassName) ? ppClassName({ $select: $xeSelect }) : ppClassName : "",
1828
+ {
1829
+ [`size--${vSize}`]: vSize,
1830
+ "is--transfer": btnTransfer,
1831
+ "ani--leave": !loading && isAniVisible,
1832
+ "ani--enter": !loading && visiblePanel
1847
1833
  }
1848
- }, renderOpts())
1849
- ]),
1850
- /**
1851
- * 滚动条
1852
- */
1853
- isVScrollbar ? h("div", {
1854
- class: scrollbarWrapperClss
1855
- }, [
1856
- scrollXVisible === false ? renderEmptyElement($xeSelect) : h("div", {
1857
- ref: refTrackXElem,
1858
- class: "vxe-scrollbar--track-x",
1859
- onClick: clickTrackXEvent
1860
- }, [
1861
- h("div", {
1862
- ref: refThumbXElem,
1863
- class: "vxe-scrollbar--thumb-x",
1864
- onPointerdown: pointerdownThumbXEvent,
1865
- onPointermove: pointermoveThumbXEvent,
1866
- onPointerup: cleatPointerThumbEvent,
1867
- onPointercancel: cleatPointerThumbEvent,
1868
- onLostpointercapture: cleatPointerThumbEvent
1869
- })
1870
- ]),
1871
- scrollYVisible === false ? renderEmptyElement($xeSelect) : h("div", {
1872
- ref: refTrackYElem,
1873
- class: "vxe-scrollbar--track-y",
1874
- onClick: clickTrackYEvent
1875
- }, [
1876
- h("div", {
1877
- ref: refThumbYElem,
1878
- class: "vxe-scrollbar--thumb-y",
1879
- onPointerdown: pointerdownThumbYEvent,
1880
- onPointermove: pointermoveThumbYEvent,
1881
- onPointerup: cleatPointerThumbEvent,
1882
- onPointercancel: cleatPointerThumbEvent,
1883
- onLostpointercapture: cleatPointerThumbEvent
1884
- })
1885
- ])
1886
- ]) : renderEmptyElement($xeSelect)
1887
- ]),
1888
- footerSlot || showTotalButton || showCloseButton && multiple ? h("div", {
1889
- class: "vxe-select--panel-footer"
1890
- }, footerSlot ? callSlot(footerSlot, {}) : [
1891
- h("div", {
1892
- class: "vxe-select--footer-button"
1893
- }, [
1894
- showTotalButton ? h("div", {
1895
- class: "vxe-select--total-btns"
1896
- }, getI18n("vxe.select.total", [selectVals.length, optList.length])) : renderEmptyElement($xeSelect),
1897
- showCloseButton && multiple ? h("div", {
1898
- class: "vxe-select--oper-btns"
1899
- }, [
1900
- h(VxeButtonComponent, {
1901
- content: getI18n("vxe.select.close"),
1902
- mode: "text",
1903
- onClick: closePanelEvent
1904
- })
1905
- ]) : renderEmptyElement($xeSelect)
1906
- ])
1907
- ]) : renderEmptyElement($xeSelect)
1908
- ])
1909
- ] : [])
1910
- ])
1911
- ]);
1912
- };
1913
- watch(() => reactData.staticOptions, (val) => {
1914
- loadData(val);
1915
- });
1916
- watch(() => props.options, (val) => {
1917
- loadData(val || []);
1918
- });
1919
- watch(() => props.optionGroups, (val) => {
1920
- loadData(val || []);
1921
- });
1834
+ ],
1835
+ placement: reactData.panelPlacement,
1836
+ style: reactData.panelStyle
1837
+ },
1838
+ initialized && (visiblePanel || isAniVisible) ? [
1839
+ h(
1840
+ "div",
1841
+ {
1842
+ class: "vxe-select--panel-wrapper",
1843
+ style: popupWrapperStyle
1844
+ },
1845
+ [
1846
+ filterable ? h(
1847
+ "div",
1848
+ {
1849
+ class: "vxe-select--panel-search"
1850
+ },
1851
+ [
1852
+ h(VxeInputComponent, {
1853
+ ref: refInpSearch,
1854
+ class: "vxe-select-search--input",
1855
+ modelValue: reactData.searchValue,
1856
+ type: "text",
1857
+ clearable: true,
1858
+ disabled: false,
1859
+ readonly: false,
1860
+ placeholder: getI18n("vxe.select.search"),
1861
+ prefixIcon: getIcon().INPUT_SEARCH,
1862
+ "onUpdate:modelValue": modelSearchEvent,
1863
+ onFocus: focusSearchEvent,
1864
+ onChange: triggerSearchEvent,
1865
+ onSearch: triggerSearchEvent
1866
+ })
1867
+ ]
1868
+ ) : renderEmptyElement($xeSelect),
1869
+ showCheckedButton && multiple || showClearButton || headerSlot ? h(
1870
+ "div",
1871
+ {
1872
+ class: "vxe-select--panel-header"
1873
+ },
1874
+ headerSlot ? callSlot(headerSlot, {}) : [
1875
+ h(
1876
+ "div",
1877
+ {
1878
+ class: "vxe-select--header-button"
1879
+ },
1880
+ [
1881
+ h(
1882
+ "div",
1883
+ {
1884
+ class: "vxe-select--header-btns"
1885
+ },
1886
+ [
1887
+ showCheckedButton && multiple ? h(VxeButtonComponent, {
1888
+ content: getI18n("vxe.select.allChecked"),
1889
+ mode: "text",
1890
+ onClick: allCheckedPanelEvent
1891
+ }) : renderEmptyElement($xeSelect),
1892
+ showClearButton ? h(VxeButtonComponent, {
1893
+ content: getI18n("vxe.select.clear"),
1894
+ mode: "text",
1895
+ onClick: clearCheckedPanelEvent
1896
+ }) : renderEmptyElement($xeSelect)
1897
+ ]
1898
+ )
1899
+ ]
1900
+ )
1901
+ ]
1902
+ ) : renderEmptyElement($xeSelect),
1903
+ h(
1904
+ "div",
1905
+ {
1906
+ class: [
1907
+ "vxe-select--panel-body",
1908
+ isVScrollbar ? `ov-x--${scrollXVisible === false ? "hidden" : "visible"}` : "",
1909
+ isVScrollbar ? `ov-y--${scrollYVisible === false ? "hidden" : "visible"}` : "",
1910
+ isVScrollbar ? `sx-pos--${scrollbarXToTop ? "top" : "bottom"}` : "",
1911
+ isVScrollbar ? `sy-pos--${scrollbarYToLeft ? "left" : "right"}` : "",
1912
+ {
1913
+ "is--virtual-scrollbar": isVScrollbar,
1914
+ "ov-padding": isVScrollbar && scrollbarOpts.padding,
1915
+ "ov-x--auto-hide": isVScrollbar && scrollXAutoHide,
1916
+ "ov-y--auto-hide": isVScrollbar && scrollYAutoHide,
1917
+ "overflow-y": yThumbHeight,
1918
+ "overflow-x": xThumbWidth
1919
+ }
1920
+ ]
1921
+ },
1922
+ [
1923
+ h(
1924
+ "div",
1925
+ {
1926
+ ref: refVirtualWrapper,
1927
+ class: "vxe-select-option--wrapper",
1928
+ onScroll: scrollEvent
1929
+ },
1930
+ [
1931
+ h("div", {
1932
+ ref: refVirtualSpaceElem,
1933
+ class: "vxe-select--y-space",
1934
+ style: {
1935
+ height: bodyHeight ? `${bodyHeight}px` : ""
1936
+ }
1937
+ }),
1938
+ h(
1939
+ "div",
1940
+ {
1941
+ ref: refVirtualBody,
1942
+ class: "vxe-select--body",
1943
+ style: {
1944
+ marginTop: `${topSpaceHeight}px`
1945
+ }
1946
+ },
1947
+ renderOpts()
1948
+ )
1949
+ ]
1950
+ ),
1951
+ /**
1952
+ * 滚动条
1953
+ */
1954
+ isVScrollbar ? h(
1955
+ "div",
1956
+ {
1957
+ class: scrollbarWrapperClss
1958
+ },
1959
+ [
1960
+ scrollXVisible === false ? renderEmptyElement($xeSelect) : h(
1961
+ "div",
1962
+ {
1963
+ ref: refTrackXElem,
1964
+ class: "vxe-scrollbar--track-x",
1965
+ onClick: clickTrackXEvent
1966
+ },
1967
+ [
1968
+ h("div", {
1969
+ ref: refThumbXElem,
1970
+ class: "vxe-scrollbar--thumb-x",
1971
+ onPointerdown: pointerdownThumbXEvent,
1972
+ onPointermove: pointermoveThumbXEvent,
1973
+ onPointerup: cleatPointerThumbEvent,
1974
+ onPointercancel: cleatPointerThumbEvent,
1975
+ onLostpointercapture: cleatPointerThumbEvent
1976
+ })
1977
+ ]
1978
+ ),
1979
+ scrollYVisible === false ? renderEmptyElement($xeSelect) : h(
1980
+ "div",
1981
+ {
1982
+ ref: refTrackYElem,
1983
+ class: "vxe-scrollbar--track-y",
1984
+ onClick: clickTrackYEvent
1985
+ },
1986
+ [
1987
+ h("div", {
1988
+ ref: refThumbYElem,
1989
+ class: "vxe-scrollbar--thumb-y",
1990
+ onPointerdown: pointerdownThumbYEvent,
1991
+ onPointermove: pointermoveThumbYEvent,
1992
+ onPointerup: cleatPointerThumbEvent,
1993
+ onPointercancel: cleatPointerThumbEvent,
1994
+ onLostpointercapture: cleatPointerThumbEvent
1995
+ })
1996
+ ]
1997
+ )
1998
+ ]
1999
+ ) : renderEmptyElement($xeSelect)
2000
+ ]
2001
+ ),
2002
+ footerSlot || showTotalButton || showCloseButton && multiple ? h(
2003
+ "div",
2004
+ {
2005
+ class: "vxe-select--panel-footer"
2006
+ },
2007
+ footerSlot ? callSlot(footerSlot, {}) : [
2008
+ h(
2009
+ "div",
2010
+ {
2011
+ class: "vxe-select--footer-button"
2012
+ },
2013
+ [
2014
+ showTotalButton ? h(
2015
+ "div",
2016
+ {
2017
+ class: "vxe-select--total-btns"
2018
+ },
2019
+ getI18n("vxe.select.total", [selectVals.length, optList.length])
2020
+ ) : renderEmptyElement($xeSelect),
2021
+ showCloseButton && multiple ? h(
2022
+ "div",
2023
+ {
2024
+ class: "vxe-select--oper-btns"
2025
+ },
2026
+ [
2027
+ h(VxeButtonComponent, {
2028
+ content: getI18n("vxe.select.close"),
2029
+ mode: "text",
2030
+ onClick: closePanelEvent
2031
+ })
2032
+ ]
2033
+ ) : renderEmptyElement($xeSelect)
2034
+ ]
2035
+ )
2036
+ ]
2037
+ ) : renderEmptyElement($xeSelect)
2038
+ ]
2039
+ )
2040
+ ] : []
2041
+ )
2042
+ ]
2043
+ )
2044
+ ]
2045
+ );
2046
+ };
2047
+ watch(
2048
+ () => reactData.staticOptions,
2049
+ (val) => {
2050
+ loadData(val);
2051
+ }
2052
+ );
2053
+ watch(
2054
+ () => props.options,
2055
+ (val) => {
2056
+ loadData(val || []);
2057
+ }
2058
+ );
2059
+ watch(
2060
+ () => props.optionGroups,
2061
+ (val) => {
2062
+ loadData(val || []);
2063
+ }
2064
+ );
1922
2065
  const reScrollFlag = ref(0);
1923
2066
  const reLayoutFlag = ref(0);
1924
2067
  watch(computeIsVScrollbar, () => {