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,715 +1,678 @@
1
- import { RenderFunction, SetupContext, Ref } from 'vue'
2
- import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, VxeComponentSizeType, ValueOf, VxeComponentIsVScrollbar } from '@vxe-ui/core'
3
- import { VxeContextMenuPropTypes, VxeContextMenuDefines } from './context-menu'
4
- import { VxeScrollbarProps } from './scrollbar'
5
-
6
- /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
7
-
8
- export declare const VxeList: DefineVxeComponentApp<VxeListProps, VxeListEventProps, VxeListSlots, VxeListMethods>
9
- export type VxeListComponent = DefineVxeComponentOptions<VxeListProps, VxeListEventProps>
10
-
11
- export type VxeListInstance<D = any> = DefineVxeComponentInstance<VxeListProps<D>, VxeListConstructor<D>>
12
-
13
- export interface VxeListConstructor<D = any> extends VxeComponentBaseOptions, VxeListMethods<D> {
14
- props: VxeListProps
15
- context: SetupContext<VxeListEmits>
16
- reactData: ListReactData
17
- internalData: ListInternalData
18
- getRefMaps(): ListPrivateRef
19
- getComputeMaps(): ListPrivateComputed
20
- renderVN: RenderFunction
21
- }
22
-
23
- export interface ListPrivateRef {
24
- refElem: Ref<HTMLDivElement | undefined>
25
- }
26
- export interface VxeListPrivateRef extends ListPrivateRef { }
27
-
28
- export namespace VxeListPropTypes {
29
- export type Size = VxeComponentSizeType
30
- export type Data = any[]
31
- export type Height = number | string
32
- export type MaxHeight = number | string
33
- export type Loading = boolean
34
- export type AutoResize = boolean
35
- export type ClassName = string | ((params: { $list: VxeListConstructor }) => string)
36
- export type SyncResize = boolean | string | number
37
-
38
- export type ShowSeq = boolean
39
- export type ShowRadio = boolean
40
- export type CheckRowKey = string | number | null
41
- export interface RadioConfig<D = any> {
42
- strict?: boolean
43
- visibleMethod?: (params: {
44
- $list: VxeListConstructor
45
- row: D
46
- }) => boolean
47
- checkMethod?: (params: {
48
- $list: VxeListConstructor
49
- row: D
50
- }) => boolean
51
- highlight?: boolean
52
- showIcon?: boolean
53
- trigger?: '' | 'default' | 'row'
54
- }
55
- export type CheckRowKeys = (string | number | null)[]
56
- export type ShowCheckbox = boolean
57
- export interface CheckboxConfig<D = any> {
58
- showHeader?: boolean
59
- headerTitle?: string | number
60
- highlight?: boolean
61
- visibleMethod?: (params: {
62
- $list: VxeListConstructor
63
- row: D
64
- }) => boolean
65
- checkMethod?: (params: {
66
- $list: VxeListConstructor
67
- row: D
68
- }) => boolean
69
- showIcon?: boolean
70
- trigger?: '' | 'default' | 'row'
71
- }
72
-
73
- export interface RowConfig<D = any> {
74
- /**
75
- * 是否需要为每一行的 VNode 设置 key 属性
76
- */
77
- useKey?: boolean
78
- /**
79
- * 自定义行数据唯一主键的字段名(默认自动生成)
80
- */
81
- keyField?: string
82
- /**
83
- * 显示字段
84
- */
85
- contentField?: string
86
- /**
87
- * 每一行的高度
88
- */
89
- height?: number | string
90
- /**
91
- * 给每一行的附加 className
92
- */
93
- className?: string | ((params: { row: D, $list: VxeListConstructor }) => string)
94
- /**
95
- * 当鼠标移到每一行时,是否要高亮当前头
96
- */
97
- isHover?: boolean
98
- isCurrent?: boolean
99
- padding?: boolean
100
- currentMethod?: (params: { row: D }) => boolean
101
- }
102
-
103
- /**
104
- * 拖拽排序配置项
105
- */
106
- export interface DragConfig<D = any>{
107
- /**
108
- * 是否启用
109
- */
110
- enabled?: boolean
111
- /**
112
- * 自定义图标
113
- */
114
- icon?: string
115
- /**
116
- * 是否显示拖拽按钮图标
117
- */
118
- showIcon?: boolean
119
- /**
120
- * 显示拖拽提示,拖拽过程中显示信息
121
- */
122
- showDragTip?: boolean
123
- /**
124
- * 触发拖拽方式
125
- */
126
- trigger?: 'default' | 'row' | '' | null
127
- /**
128
- * 是否显示拖拽辅助状态显示
129
- */
130
- showGuidesStatus?: boolean
131
- /**
132
- * 是否允许在不同列表之间进行拖拽
133
- */
134
- isCrossListDrag?: boolean
135
- /**
136
- * 是否显示拖拽动画,启用后由数据量的大小来影响渲染性能
137
- */
138
- animation?: boolean
139
- /**
140
- * 是否禁用拖拽按钮
141
- */
142
- disabledMethod?(params: {
143
- $list: VxeListConstructor
144
- row: D
145
- }): boolean
146
- /**
147
- * 是否显示拖拽按钮
148
- */
149
- visibleMethod?(params: {
150
- $list: VxeListConstructor
151
- row: D
152
- }): boolean
153
- /**
154
- * 自定义提示内容
155
- */
156
- tooltipMethod?(params: {
157
- $list: VxeListConstructor
158
- row: D
159
- }): string | number | null
160
- /**
161
- * 拖拽开始时是否允许行拖拽调整顺序的方法,该方法的返回值用来决定是否允许被拖拽
162
- */
163
- dragStartMethod?(params: VxeListDefines.RowDragstartEventParams<D>): boolean
164
- /**
165
- * 拖拽结束时是否允许行拖拽调整顺序的方法,该方法的返回值用来决定是否允许被拖拽调整顺序
166
- */
167
- dragEndMethod?(params: Omit<VxeListDefines.RowDragendEventParams<D>, '_index'>): Promise<boolean> | boolean
168
- }
169
-
170
- export interface MenuConfig<D = any> {
171
- /**
172
- * 是否启用
173
- */
174
- enabled?: boolean
175
- /**
176
- * 菜单配置
177
- */
178
- options: VxeContextMenuPropTypes.Options
179
- /**
180
- * 该函数的返回值用来决定是否允许显示右键菜单(对于需要对菜单进行权限控制时可能会用到)
181
- */
182
- visibleMethod?(params: {
183
- $list: VxeListConstructor
184
- options: VxeContextMenuPropTypes.Options
185
- row: D
186
- }): boolean
187
- }
188
-
189
- export interface VirtualYConfig {
190
- /**
191
- * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
192
- */
193
- gt?: number
194
- /**
195
- * 指定每次渲染的数据额外数据,额外数据越大渲染次数就越少,但每次渲染耗时就越久
196
- */
197
- oSize?: number
198
- /**
199
- * 指定行的 className
200
- */
201
- sItem?: string
202
- /**
203
- * 是否启用
204
- */
205
- enabled?: boolean
206
- }
207
-
208
- /**
209
- * 已被 VirtualYConfig 替换
210
- * @deprecated
211
- */
212
- export interface ScrollY {
213
- /**
214
- * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
215
- */
216
- gt?: number
217
- /**
218
- * 指定每次渲染的数据额外数据,额外数据越大渲染次数就越少,但每次渲染耗时就越久
219
- */
220
- oSize?: number
221
- /**
222
- * 指定行的 className
223
- */
224
- sItem?: string
225
- /**
226
- * 是否启用
227
- */
228
- enabled?: boolean
229
- }
230
- export type UseScrollbar = VxeComponentIsVScrollbar
231
- export interface ScrollbarConfig extends Pick<VxeScrollbarProps, 'xConfig' | 'yConfig' | 'padding' | 'autoHide' | 'fluentOverlay' | 'visible'> {
232
- /**
233
- * 滚动条宽度
234
- */
235
- width?: number | string
236
- /**
237
- * 滚动条高度
238
- */
239
- height?: number | string
240
- }
241
- }
242
-
243
- export interface VxeListProps<D = any> {
244
- size?: VxeListPropTypes.Size
245
- data?: D[]
246
- /**
247
- * 高度
248
- */
249
- height?: VxeListPropTypes.Height
250
- /**
251
- * 最大高度
252
- */
253
- maxHeight?: VxeListPropTypes.MaxHeight
254
- /**
255
- * 加载中
256
- */
257
- loading?: VxeListPropTypes.Loading
258
- autoResize?: VxeListPropTypes.AutoResize
259
- syncResize?: VxeListPropTypes.SyncResize
260
- className?: VxeListPropTypes.ClassName
261
- showSeq?: VxeListPropTypes.ShowSeq
262
- showRadio?: VxeListPropTypes.ShowRadio
263
- checkRowKey?: VxeListPropTypes.CheckRowKey
264
- radioConfig?: VxeListPropTypes.RadioConfig
265
- showCheckbox?: VxeListPropTypes.ShowCheckbox
266
- checkRowKeys?: VxeListPropTypes.CheckRowKeys
267
- checkboxConfig?: VxeListPropTypes.CheckboxConfig
268
- rowConfig?: VxeListPropTypes.RowConfig
269
- dragConfig?: VxeListPropTypes.DragConfig
270
- /**
271
- * 右键菜单配置项
272
- */
273
- menuConfig?: VxeListPropTypes.MenuConfig
274
- /**
275
- * 纵向虚拟滚动配置
276
- */
277
- virtualYConfig?: VxeListPropTypes.VirtualYConfig
278
- /**
279
- * 使用虚拟滚动条
280
- */
281
- useScrollbar?: VxeListPropTypes.UseScrollbar
282
- /**
283
- * 滚动条配置项
284
- */
285
- scrollbarConfig?: VxeListPropTypes.ScrollbarConfig
286
-
287
- /**
288
- * 已废弃,被 virtual-y-config 替换
289
- * @deprecated
290
- */
291
- scrollY?: VxeListPropTypes.ScrollY
292
- }
293
-
294
- export interface ListPrivateComputed {
295
- }
296
- export interface VxeListPrivateComputed extends ListPrivateComputed { }
297
-
298
- export interface ListReactData {
299
- scrollYLoad: boolean
300
- bodyHeight: number
301
- headHeight: number
302
- footHeight: number
303
- customHeight: number
304
- customMaxHeight: number
305
- parentHeight: number
306
- topSpaceHeight: number
307
- rowList: any[]
308
- selectRadioRow: any
309
- currRowFlag: number
310
- updateCheckboxFlag: number
311
- isAllChecked: boolean
312
- isAllIndeterminate: boolean
313
-
314
- // 滚动条
315
- yThumbHeight: number
316
- xThumbWidth: number
317
-
318
- insertRowFlag: number
319
- removeRowFlag: number
320
-
321
- dragRow: any
322
- dragTipText: string
323
- isCrossDragRow: boolean
324
- }
325
-
326
- export interface ListInternalData {
327
- fullData: any[]
328
- afterList: any[]
329
- fullKeyMaps: Record<string, any>
330
- rowMaps: Record<string, VxeListDefines.RowCacheItem>
331
-
332
- resizeObserver?: ResizeObserver
333
-
334
- // 滚动条
335
- scrollObserver?: ResizeObserver
336
- isThumbDrag?: boolean
337
- thumbDragOffset: number
338
- yThumbTop: number
339
- xThumbLeft: number
340
- lastScrollTop: number
341
- lastScrollLeft: number
342
-
343
- scrollYStore: {
344
- startIndex: number
345
- endIndex: number
346
- visibleSize: number
347
- offsetSize: number
348
- rowHeight: number
349
- }
350
- currentRow: any
351
- selectCheckboxMaps: Record<string, any>
352
-
353
- insertRowMaps: Record<string, any>
354
- removeRowMaps: Record<string, any>
355
-
356
- prevDragRow?: any
357
- prevDragPos?: 'top' | 'bottom' | ''
358
- }
359
-
360
- export interface ListMethods<D = any> {
361
- dispatchEvent(type: ValueOf<VxeListEmits>, params: Record<string, any>, evnt: Event | null): void
362
- /**
363
- * 获取滚动视图元素
364
- */
365
- getScrollViewElem(): HTMLElement | null | undefined
366
- /**
367
- * 加载数据
368
- * @param data 列表数据
369
- */
370
- loadData(data: any[]): Promise<any>
371
- /**
372
- * 加载数据
373
- * @param data 列表数据
374
- */
375
- reloadData(data: any[]): Promise<any>
376
- /**
377
- * 获取列表的全量数据
378
- */
379
- getFullData(): D[]
380
- /**
381
- * 重新计算列表
382
- */
383
- recalculate(): Promise<void>
384
- /**
385
- * 如果有滚动条,则滚动到对应的位置
386
- */
387
- scrollTo(x: {
388
- top?: number | null
389
- left?: number | null
390
- } | number | null | undefined, y?: number | null): Promise<void>
391
- /**
392
- * 刷新滚动操作,手动同步滚动相关位置
393
- */
394
- refreshScroll(): Promise<void>
395
- /**
396
- * 手动清除滚动相关信息,还原到初始状态
397
- */
398
- clearScroll(): Promise<void>
399
- /**
400
- * 获取主键
401
- */
402
- getRowKey(row: D): string
403
- /**
404
- * 判断主键是否相同
405
- */
406
- eqRowKey(rowKey1: string | number | null | undefined, rowKey2: string | number | null | undefined): boolean
407
- /**
408
- * 判断行是否相同
409
- */
410
- eqRow(row1: D, row2: D): boolean
411
- /**
412
- * 根据行判断主键是否相同
413
- */
414
- eqRowByKey(row1: D, rowKey2: string | number | null | undefined): boolean
415
- /**
416
- * 根据行查找
417
- */
418
- findRow(list: D[], row: D): D
419
- /**
420
- * 根据主键查找
421
- */
422
- findRowByKey(list: D[], rowKey: string | number | null | undefined): D
423
- /**
424
- * 根据行查找索引
425
- */
426
- findRowIndexOf(list: D[], row: D): number
427
- /**
428
- * 根据主键查找索引
429
- */
430
- findRowIndexOfByKey(list: D[], rowKey: string | number | null | undefined): number
431
- /**
432
- * 根据主键判断单选框行是否选中
433
- */
434
- isCheckedByRadioRowKey(rowKey: string | number | null | undefined): boolean
435
- /**
436
- * 判断单选框行是否选中
437
- */
438
- isCheckedByRadioRow(row: D): boolean
439
- /**
440
- * 根据主键判断复选框行是否选中
441
- */
442
- isCheckedByCheckboxRowKey(rowKey: string | number | null | undefined): boolean
443
- /**
444
- * 判断复选框行是否选中
445
- */
446
- isCheckedByCheckboxRow(row: D): boolean
447
- /**
448
- * 只对 row-config.isCurrent 有效,设置已选的当前行
449
- */
450
- setCurrentRow(row: D): Promise<void>
451
- /**
452
- * 只对 show-radio 有效,根据主键设置当前行
453
- */
454
- setCurrentRowByKey(rowKey: string | number | null | undefined): Promise<void>
455
- /**
456
- * 只对 show-radio 有效,获取当前行已选的行
457
- */
458
- getCurrentRow(): D | null
459
- /**
460
- * 只对 show-radio 有效,获取当前行已选的主键
461
- */
462
- getCurrentRowKey(): string | number | null
463
- /**
464
- * 只对 show-radio 有效,手动清空当前行
465
- */
466
- clearCurrentRow(): Promise<void>
467
- /**
468
- * 只对 show-radio 有效,设置单选框已选的行
469
- */
470
- setRadioRow(row: D): Promise<void>
471
- /**
472
- * 只对 show-radio 有效,根据主键设置单选
473
- */
474
- setRadioRowByKey(rowKey: string | number | null | undefined): Promise<void>
475
- /**
476
- * 只对 show-radio 有效,获取单选框已选的行
477
- */
478
- getRadioRow(): D | null
479
- /**
480
- * 只对 show-radio 有效,获取单选框已选的主键
481
- */
482
- getRadioRowKey(): string | number | null
483
- /**
484
- * 只对 show-radio 有效,手动清空单选框
485
- */
486
- clearRadioRow(): Promise<void>
487
- /**
488
- * 只对 show-checkbox 有效,设置复选框选中的行
489
- */
490
- setCheckboxRow(rows: D | D[], checked: boolean): Promise<void>
491
- /**
492
- * 只对 show-checkbox 有效,根据主键设置复选框
493
- */
494
- setCheckboxRowByKey(rowKeys: string | number | null | undefined | (string | number | null | undefined)[], checked: boolean): Promise<void>
495
- /**
496
- * 只对 show-checkbox 有效,获取复选框已选的行
497
- */
498
- getCheckboxRecords(): D[]
499
- /**
500
- * 只对 show-checkbox 有效,获取复选框已选的行
501
- */
502
- getCheckboxRows(): D[]
503
- /**
504
- * 只对 show-checkbox 有效,获取复选框已选的主键
505
- */
506
- getCheckboxRowKeys(): (string | number)[]
507
- /**
508
- * 只对 show-checkbox 有效,手动清空复选框
509
- */
510
- clearCheckboxRow(): Promise<void>
511
- /**
512
- * 只对 show-checkbox 有效,设置所有行的选中状态
513
- */
514
- setAllCheckboxRow(checked: boolean): Promise<void>
515
-
516
- /**
517
- * 往列表插入临时数据,从第一个行新增一个行或多个行新数据
518
- */
519
- insert(records: any): Promise<{ row: D, rows: D[] }>
520
- /**
521
- * 往列表指定行中插入临时数据
522
- * 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标行顶部
523
- * 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标行底部
524
- * 如果 row 为有效行则插入到该行的位置
525
- */
526
- insertAt(records: any, targetRowOrRowKey?: any | -1 | null): Promise<{ row: D, rows: D[] }>
527
- /**
528
- * 用于 transform 模式,与 insertAt 行为一致,区别就是会插入指定目标的到下一行
529
- */
530
- insertNextAt(records: any, targetRowOrRowKey?: any | -1 | null): Promise<{ row: D, rows: D[] }>
531
- /**
532
- * 判断行是否为新增的临时数据
533
- */
534
- isInsertByRow(row: any | null): boolean
535
- /**
536
- * 用于 transform 模式,删除指定行数据,指定 row 或 [row, ...] 删除多条数据,如果为空则删除所有数据
537
- */
538
- remove(rows?: any | any[]): Promise<{ row: D, rows: D[] }>
539
- /**
540
- * 用于 transform 模式,获取新增的临时数据
541
- */
542
- getInsertRecords(): D[]
543
- /**
544
- * 用于 transform 模式,获取已删除的数据
545
- */
546
- getRemoveRecords(): D[]
547
- /**
548
- * 判断数据是否被删除
549
- */
550
- isRemoveByRow(row: any | null): boolean
551
- /**
552
- * 获取列表数据集
553
- * 获取新增、删除的数据
554
- */
555
- getRecordset(): {
556
- insertRecords: D[]
557
- removeRecords: D[]
558
- }
559
- }
560
- export interface VxeListMethods<D = any> extends ListMethods<D> { }
561
-
562
- export interface ListPrivateMethods<D = any> {
563
- /**
564
- * @private
565
- */
566
- handleCrossListRowDragInsertEvent(evnt: DragEvent): void
567
- /**
568
- * @private
569
- */
570
- handleCrossListRowDragCancelEvent(evnt: DragEvent): void
571
- /**
572
- * @private
573
- */
574
- handleCrossListRowDragFinishEvent(evnt: DragEvent): void
575
- /**
576
- * @private
577
- */
578
- handleCrossListRowDragoverEmptyEvent(evnt: DragEvent): void
579
- /**
580
- * @private
581
- */
582
- hideCrossListRowDropClearStatus(): void
583
- }
584
- export interface VxeListPrivateMethods<D = any> extends ListPrivateMethods<D> { }
585
-
586
- export type VxeListEmits = [
587
- 'update:checkRowKey',
588
- 'update:checkRowKeys',
589
- 'row-click',
590
- 'row-dblclick',
591
- 'current-change',
592
- 'radio-change',
593
- 'checkbox-change',
594
- 'checkbox-all',
595
- 'scroll',
596
- 'row-dragstart',
597
- 'row-dragover',
598
- 'row-dragend',
599
- 'row-remove-dragend',
600
- 'row-insert-dragend',
601
- 'row-menu',
602
- 'menu-click'
603
- ]
604
-
605
- export namespace VxeListDefines {
606
-
607
- export interface RowCacheItem {
608
- item: any
609
- index: number
610
- $index: number
611
- _index: number
612
- }
613
-
614
- export interface ListEventParams<D = any> extends VxeComponentEventParams {
615
- $list: VxeListConstructor<D>
616
- }
617
-
618
- export interface RowClickParams<D = any> {
619
- row: D
620
- }
621
- export interface RowClickEventParams<D = any> extends ListEventParams, RowClickParams<D> { }
622
-
623
- export interface RowDblclickEventParams<D = any> extends RowClickEventParams<D> { }
624
-
625
- export interface RowDragstartEventParams<D = any> {
626
- row: D
627
- }
628
-
629
- export interface RowDragoverEventParams<D = any> {
630
- oldRow: D
631
- targetRow: D
632
- dragRow: D
633
- dragPos: 'top' | 'bottom'
634
- offsetIndex: 0 | 1
635
- }
636
-
637
- export interface RowDragendEventParams<D = any> {
638
- newRow: D
639
- oldRow: D
640
- dragRow: D
641
- dragPos: 'top' | 'bottom'
642
- offsetIndex: 0 | 1
643
- _index: {
644
- newIndex: number
645
- oldIndex: number
646
- }
647
- }
648
-
649
- export interface ScrollParams { }
650
- export interface ScrollEventParams extends ListEventParams, ScrollParams { }
651
-
652
- export interface MenuClickEventParams<D = any> extends ListEventParams<D> {
653
- row: D
654
- menu: VxeContextMenuDefines.MenuFirstOption | VxeContextMenuDefines.MenuChildOption
655
- }
656
- }
657
-
658
- export type VxeListEventProps<D = any> = {
659
- onRowClick?: VxeListEvents.RowClick<D>
660
- onRowDblclick?: VxeListEvents.RowDblclick<D>
661
- onScroll?: VxeListEvents.Scroll
662
- onRowDragstart?: VxeListEvents.RowDragstart<D>
663
- onRowDragover?: VxeListEvents.RowDragover<D>
664
- onRowDragend?: VxeListEvents.RowDragend<D>
665
- onMenuClick?: VxeListEvents.MenuClick<D>
666
- }
667
-
668
- export interface VxeListListeners<D = any> {
669
- rowClick?: VxeListEvents.RowClick<D>
670
- rowDblclick?: VxeListEvents.RowDblclick<D>
671
- scroll?: VxeListEvents.Scroll
672
- rowDragstart?: VxeListEvents.RowDragstart<D>
673
- rowDragover?: VxeListEvents.RowDragover<D>
674
- rowDragend?: VxeListEvents.RowDragend<D>
675
- menuClick?: VxeListEvents.MenuClick<D>
676
- }
677
-
678
- export namespace VxeListEvents {
679
- export type RowClick<D = any> = (params: VxeListDefines.RowClickEventParams<D>) => void
680
- export type RowDblclick<D = any> = (params: VxeListDefines.RowDblclickEventParams<D>) => void
681
- export type Scroll = (params: VxeListDefines.ScrollEventParams) => void
682
- export type RowDragstart<D = any> = (params: VxeListDefines.RowDragstartEventParams<D>) => void
683
- export type RowDragover<D = any> = (params: VxeListDefines.RowDragoverEventParams<D>) => void
684
- export type RowDragend<D = any> = (params: VxeListDefines.RowDragendEventParams<D>) => void
685
- export type MenuClick<D = any> = (params: VxeListDefines.MenuClickEventParams<D>) => void
686
- }
687
-
688
- export namespace VxeListSlotTypes {
689
- export interface DefaultSlotParams {
690
- $list: VxeListConstructor
691
- items: any[]
692
- }
693
- export interface HeaderSlotParams extends DefaultSlotParams {}
694
- export interface FooterSlotParams extends DefaultSlotParams {}
695
-
696
- export interface ContentSlotParams<D = any> {
697
- row: D
698
- }
699
- export interface ExtraSlotParams<D = any> extends ContentSlotParams<D> {}
700
- export interface DragSlotParams<D = any> {
701
- row: D
702
- }
703
- }
704
-
705
- export interface VxeListSlots {
706
- default?: (params: VxeListSlotTypes.DefaultSlotParams) => any
707
- header?:(params: VxeListSlotTypes.HeaderSlotParams) => any
708
- footer?:(params: VxeListSlotTypes.FooterSlotParams) => any
709
- content?:(params: VxeListSlotTypes.ContentSlotParams) => any
710
- extra?:(params: VxeListSlotTypes.ExtraSlotParams) => any
711
- tip?:(params: VxeListSlotTypes.DragSlotParams) => any
712
- }
713
-
714
- export const List: typeof VxeList
715
- export default VxeList
1
+ import { RenderFunction, SetupContext, Ref } from 'vue'
2
+ import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, VxeComponentSizeType, ValueOf, VxeComponentIsVScrollbar } from '@vxe-ui/core'
3
+ import { VxeContextMenuPropTypes, VxeContextMenuDefines } from './context-menu'
4
+ import { VxeScrollbarProps } from './scrollbar'
5
+
6
+ /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
7
+
8
+ export declare const VxeList: DefineVxeComponentApp<VxeListProps, VxeListEventProps, VxeListSlots, VxeListMethods>
9
+ export type VxeListComponent = DefineVxeComponentOptions<VxeListProps, VxeListEventProps>
10
+
11
+ export type VxeListInstance<D = any> = DefineVxeComponentInstance<VxeListProps<D>, VxeListConstructor<D>>
12
+
13
+ export interface VxeListConstructor<D = any> extends VxeComponentBaseOptions, VxeListMethods<D> {
14
+ props: VxeListProps
15
+ context: SetupContext<VxeListEmits>
16
+ reactData: ListReactData
17
+ internalData: ListInternalData
18
+ getRefMaps(): ListPrivateRef
19
+ getComputeMaps(): ListPrivateComputed
20
+ renderVN: RenderFunction
21
+ }
22
+
23
+ export interface ListPrivateRef {
24
+ refElem: Ref<HTMLDivElement | undefined>
25
+ }
26
+ export interface VxeListPrivateRef extends ListPrivateRef {}
27
+
28
+ export namespace VxeListPropTypes {
29
+ export type Size = VxeComponentSizeType
30
+ export type Data = any[]
31
+ export type Height = number | string
32
+ export type MaxHeight = number | string
33
+ export type Loading = boolean
34
+ export type AutoResize = boolean
35
+ export type ClassName = string | ((params: { $list: VxeListConstructor }) => string)
36
+ export type SyncResize = boolean | string | number
37
+
38
+ export type ShowSeq = boolean
39
+ export type ShowRadio = boolean
40
+ export type CheckRowKey = string | number | null
41
+ export interface RadioConfig<D = any> {
42
+ strict?: boolean
43
+ visibleMethod?: (params: { $list: VxeListConstructor; row: D }) => boolean
44
+ checkMethod?: (params: { $list: VxeListConstructor; row: D }) => boolean
45
+ highlight?: boolean
46
+ showIcon?: boolean
47
+ trigger?: '' | 'default' | 'row'
48
+ }
49
+ export type CheckRowKeys = (string | number | null)[]
50
+ export type ShowCheckbox = boolean
51
+ export interface CheckboxConfig<D = any> {
52
+ showHeader?: boolean
53
+ headerTitle?: string | number
54
+ highlight?: boolean
55
+ visibleMethod?: (params: { $list: VxeListConstructor; row: D }) => boolean
56
+ checkMethod?: (params: { $list: VxeListConstructor; row: D }) => boolean
57
+ showIcon?: boolean
58
+ trigger?: '' | 'default' | 'row'
59
+ }
60
+
61
+ export interface RowConfig<D = any> {
62
+ /**
63
+ * 是否需要为每一行的 VNode 设置 key 属性
64
+ */
65
+ useKey?: boolean
66
+ /**
67
+ * 自定义行数据唯一主键的字段名(默认自动生成)
68
+ */
69
+ keyField?: string
70
+ /**
71
+ * 显示字段
72
+ */
73
+ contentField?: string
74
+ /**
75
+ * 每一行的高度
76
+ */
77
+ height?: number | string
78
+ /**
79
+ * 给每一行的附加 className
80
+ */
81
+ className?: string | ((params: { row: D; $list: VxeListConstructor }) => string)
82
+ /**
83
+ * 当鼠标移到每一行时,是否要高亮当前头
84
+ */
85
+ isHover?: boolean
86
+ isCurrent?: boolean
87
+ padding?: boolean
88
+ currentMethod?: (params: { row: D }) => boolean
89
+ }
90
+
91
+ /**
92
+ * 拖拽排序配置项
93
+ */
94
+ export interface DragConfig<D = any> {
95
+ /**
96
+ * 是否启用
97
+ */
98
+ enabled?: boolean
99
+ /**
100
+ * 自定义图标
101
+ */
102
+ icon?: string
103
+ /**
104
+ * 是否显示拖拽按钮图标
105
+ */
106
+ showIcon?: boolean
107
+ /**
108
+ * 显示拖拽提示,拖拽过程中显示信息
109
+ */
110
+ showDragTip?: boolean
111
+ /**
112
+ * 触发拖拽方式
113
+ */
114
+ trigger?: 'default' | 'row' | '' | null
115
+ /**
116
+ * 是否显示拖拽辅助状态显示
117
+ */
118
+ showGuidesStatus?: boolean
119
+ /**
120
+ * 是否允许在不同列表之间进行拖拽
121
+ */
122
+ isCrossListDrag?: boolean
123
+ /**
124
+ * 是否显示拖拽动画,启用后由数据量的大小来影响渲染性能
125
+ */
126
+ animation?: boolean
127
+ /**
128
+ * 是否禁用拖拽按钮
129
+ */
130
+ disabledMethod?(params: { $list: VxeListConstructor; row: D }): boolean
131
+ /**
132
+ * 是否显示拖拽按钮
133
+ */
134
+ visibleMethod?(params: { $list: VxeListConstructor; row: D }): boolean
135
+ /**
136
+ * 自定义提示内容
137
+ */
138
+ tooltipMethod?(params: { $list: VxeListConstructor; row: D }): string | number | null
139
+ /**
140
+ * 拖拽开始时是否允许行拖拽调整顺序的方法,该方法的返回值用来决定是否允许被拖拽
141
+ */
142
+ dragStartMethod?(params: VxeListDefines.RowDragstartEventParams<D>): boolean
143
+ /**
144
+ * 拖拽结束时是否允许行拖拽调整顺序的方法,该方法的返回值用来决定是否允许被拖拽调整顺序
145
+ */
146
+ dragEndMethod?(params: Omit<VxeListDefines.RowDragendEventParams<D>, '_index'>): Promise<boolean> | boolean
147
+ }
148
+
149
+ export interface MenuConfig<D = any> {
150
+ /**
151
+ * 是否启用
152
+ */
153
+ enabled?: boolean
154
+ /**
155
+ * 菜单配置
156
+ */
157
+ options: VxeContextMenuPropTypes.Options
158
+ /**
159
+ * 该函数的返回值用来决定是否允许显示右键菜单(对于需要对菜单进行权限控制时可能会用到)
160
+ */
161
+ visibleMethod?(params: { $list: VxeListConstructor; options: VxeContextMenuPropTypes.Options; row: D }): boolean
162
+ }
163
+
164
+ export interface VirtualYConfig {
165
+ /**
166
+ * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
167
+ */
168
+ gt?: number
169
+ /**
170
+ * 指定每次渲染的数据额外数据,额外数据越大渲染次数就越少,但每次渲染耗时就越久
171
+ */
172
+ oSize?: number
173
+ /**
174
+ * 指定行的 className
175
+ */
176
+ sItem?: string
177
+ /**
178
+ * 是否启用
179
+ */
180
+ enabled?: boolean
181
+ }
182
+
183
+ /**
184
+ * 已被 VirtualYConfig 替换
185
+ * @deprecated
186
+ */
187
+ export interface ScrollY {
188
+ /**
189
+ * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
190
+ */
191
+ gt?: number
192
+ /**
193
+ * 指定每次渲染的数据额外数据,额外数据越大渲染次数就越少,但每次渲染耗时就越久
194
+ */
195
+ oSize?: number
196
+ /**
197
+ * 指定行的 className
198
+ */
199
+ sItem?: string
200
+ /**
201
+ * 是否启用
202
+ */
203
+ enabled?: boolean
204
+ }
205
+ export type UseScrollbar = VxeComponentIsVScrollbar
206
+ export interface ScrollbarConfig extends Pick<VxeScrollbarProps, 'xConfig' | 'yConfig' | 'padding' | 'autoHide' | 'fluentOverlay' | 'visible'> {
207
+ /**
208
+ * 滚动条宽度
209
+ */
210
+ width?: number | string
211
+ /**
212
+ * 滚动条高度
213
+ */
214
+ height?: number | string
215
+ }
216
+ }
217
+
218
+ export interface VxeListProps<D = any> {
219
+ size?: VxeListPropTypes.Size
220
+ data?: D[]
221
+ /**
222
+ * 高度
223
+ */
224
+ height?: VxeListPropTypes.Height
225
+ /**
226
+ * 最大高度
227
+ */
228
+ maxHeight?: VxeListPropTypes.MaxHeight
229
+ /**
230
+ * 加载中
231
+ */
232
+ loading?: VxeListPropTypes.Loading
233
+ autoResize?: VxeListPropTypes.AutoResize
234
+ syncResize?: VxeListPropTypes.SyncResize
235
+ className?: VxeListPropTypes.ClassName
236
+ showSeq?: VxeListPropTypes.ShowSeq
237
+ showRadio?: VxeListPropTypes.ShowRadio
238
+ checkRowKey?: VxeListPropTypes.CheckRowKey
239
+ radioConfig?: VxeListPropTypes.RadioConfig
240
+ showCheckbox?: VxeListPropTypes.ShowCheckbox
241
+ checkRowKeys?: VxeListPropTypes.CheckRowKeys
242
+ checkboxConfig?: VxeListPropTypes.CheckboxConfig
243
+ rowConfig?: VxeListPropTypes.RowConfig
244
+ dragConfig?: VxeListPropTypes.DragConfig
245
+ /**
246
+ * 右键菜单配置项
247
+ */
248
+ menuConfig?: VxeListPropTypes.MenuConfig
249
+ /**
250
+ * 纵向虚拟滚动配置
251
+ */
252
+ virtualYConfig?: VxeListPropTypes.VirtualYConfig
253
+ /**
254
+ * 使用虚拟滚动条
255
+ */
256
+ useScrollbar?: VxeListPropTypes.UseScrollbar
257
+ /**
258
+ * 滚动条配置项
259
+ */
260
+ scrollbarConfig?: VxeListPropTypes.ScrollbarConfig
261
+
262
+ /**
263
+ * 已废弃,被 virtual-y-config 替换
264
+ * @deprecated
265
+ */
266
+ scrollY?: VxeListPropTypes.ScrollY
267
+ }
268
+
269
+ export interface ListPrivateComputed {}
270
+ export interface VxeListPrivateComputed extends ListPrivateComputed {}
271
+
272
+ export interface ListReactData {
273
+ scrollYLoad: boolean
274
+ bodyHeight: number
275
+ headHeight: number
276
+ footHeight: number
277
+ customHeight: number
278
+ customMaxHeight: number
279
+ parentHeight: number
280
+ topSpaceHeight: number
281
+ rowList: any[]
282
+ selectRadioRow: any
283
+ currRowFlag: number
284
+ updateCheckboxFlag: number
285
+ isAllChecked: boolean
286
+ isAllIndeterminate: boolean
287
+
288
+ // 滚动条
289
+ yThumbHeight: number
290
+ xThumbWidth: number
291
+
292
+ insertRowFlag: number
293
+ removeRowFlag: number
294
+
295
+ dragRow: any
296
+ dragTipText: string
297
+ isCrossDragRow: boolean
298
+ }
299
+
300
+ export interface ListInternalData {
301
+ fullData: any[]
302
+ afterList: any[]
303
+ fullKeyMaps: Record<string, any>
304
+ rowMaps: Record<string, VxeListDefines.RowCacheItem>
305
+
306
+ resizeObserver?: ResizeObserver
307
+
308
+ // 滚动条
309
+ scrollObserver?: ResizeObserver
310
+ isThumbDrag?: boolean
311
+ thumbDragOffset: number
312
+ yThumbTop: number
313
+ xThumbLeft: number
314
+ lastScrollTop: number
315
+ lastScrollLeft: number
316
+
317
+ scrollYStore: {
318
+ startIndex: number
319
+ endIndex: number
320
+ visibleSize: number
321
+ offsetSize: number
322
+ rowHeight: number
323
+ }
324
+ currentRow: any
325
+ selectCheckboxMaps: Record<string, any>
326
+
327
+ insertRowMaps: Record<string, any>
328
+ removeRowMaps: Record<string, any>
329
+
330
+ prevDragRow?: any
331
+ prevDragPos?: 'top' | 'bottom' | ''
332
+ }
333
+
334
+ export interface ListMethods<D = any> {
335
+ dispatchEvent(type: ValueOf<VxeListEmits>, params: Record<string, any>, evnt: Event | null): void
336
+ /**
337
+ * 获取滚动视图元素
338
+ */
339
+ getScrollViewElem(): HTMLElement | null | undefined
340
+ /**
341
+ * 加载数据
342
+ * @param data 列表数据
343
+ */
344
+ loadData(data: any[]): Promise<any>
345
+ /**
346
+ * 加载数据
347
+ * @param data 列表数据
348
+ */
349
+ reloadData(data: any[]): Promise<any>
350
+ /**
351
+ * 获取列表的全量数据
352
+ */
353
+ getFullData(): D[]
354
+ /**
355
+ * 重新计算列表
356
+ */
357
+ recalculate(): Promise<void>
358
+ /**
359
+ * 如果有滚动条,则滚动到对应的位置
360
+ */
361
+ scrollTo(
362
+ x:
363
+ | {
364
+ top?: number | null
365
+ left?: number | null
366
+ }
367
+ | number
368
+ | null
369
+ | undefined,
370
+ y?: number | null
371
+ ): Promise<void>
372
+ /**
373
+ * 刷新滚动操作,手动同步滚动相关位置
374
+ */
375
+ refreshScroll(): Promise<void>
376
+ /**
377
+ * 手动清除滚动相关信息,还原到初始状态
378
+ */
379
+ clearScroll(): Promise<void>
380
+ /**
381
+ * 获取主键
382
+ */
383
+ getRowKey(row: D): string
384
+ /**
385
+ * 判断主键是否相同
386
+ */
387
+ eqRowKey(rowKey1: string | number | null | undefined, rowKey2: string | number | null | undefined): boolean
388
+ /**
389
+ * 判断行是否相同
390
+ */
391
+ eqRow(row1: D, row2: D): boolean
392
+ /**
393
+ * 根据行判断主键是否相同
394
+ */
395
+ eqRowByKey(row1: D, rowKey2: string | number | null | undefined): boolean
396
+ /**
397
+ * 根据行查找
398
+ */
399
+ findRow(list: D[], row: D): D
400
+ /**
401
+ * 根据主键查找
402
+ */
403
+ findRowByKey(list: D[], rowKey: string | number | null | undefined): D
404
+ /**
405
+ * 根据行查找索引
406
+ */
407
+ findRowIndexOf(list: D[], row: D): number
408
+ /**
409
+ * 根据主键查找索引
410
+ */
411
+ findRowIndexOfByKey(list: D[], rowKey: string | number | null | undefined): number
412
+ /**
413
+ * 根据主键判断单选框行是否选中
414
+ */
415
+ isCheckedByRadioRowKey(rowKey: string | number | null | undefined): boolean
416
+ /**
417
+ * 判断单选框行是否选中
418
+ */
419
+ isCheckedByRadioRow(row: D): boolean
420
+ /**
421
+ * 根据主键判断复选框行是否选中
422
+ */
423
+ isCheckedByCheckboxRowKey(rowKey: string | number | null | undefined): boolean
424
+ /**
425
+ * 判断复选框行是否选中
426
+ */
427
+ isCheckedByCheckboxRow(row: D): boolean
428
+ /**
429
+ * 只对 row-config.isCurrent 有效,设置已选的当前行
430
+ */
431
+ setCurrentRow(row: D): Promise<void>
432
+ /**
433
+ * 只对 show-radio 有效,根据主键设置当前行
434
+ */
435
+ setCurrentRowByKey(rowKey: string | number | null | undefined): Promise<void>
436
+ /**
437
+ * 只对 show-radio 有效,获取当前行已选的行
438
+ */
439
+ getCurrentRow(): D | null
440
+ /**
441
+ * 只对 show-radio 有效,获取当前行已选的主键
442
+ */
443
+ getCurrentRowKey(): string | number | null
444
+ /**
445
+ * 只对 show-radio 有效,手动清空当前行
446
+ */
447
+ clearCurrentRow(): Promise<void>
448
+ /**
449
+ * 只对 show-radio 有效,设置单选框已选的行
450
+ */
451
+ setRadioRow(row: D): Promise<void>
452
+ /**
453
+ * 只对 show-radio 有效,根据主键设置单选
454
+ */
455
+ setRadioRowByKey(rowKey: string | number | null | undefined): Promise<void>
456
+ /**
457
+ * 只对 show-radio 有效,获取单选框已选的行
458
+ */
459
+ getRadioRow(): D | null
460
+ /**
461
+ * 只对 show-radio 有效,获取单选框已选的主键
462
+ */
463
+ getRadioRowKey(): string | number | null
464
+ /**
465
+ * 只对 show-radio 有效,手动清空单选框
466
+ */
467
+ clearRadioRow(): Promise<void>
468
+ /**
469
+ * 只对 show-checkbox 有效,设置复选框选中的行
470
+ */
471
+ setCheckboxRow(rows: D | D[], checked: boolean): Promise<void>
472
+ /**
473
+ * 只对 show-checkbox 有效,根据主键设置复选框
474
+ */
475
+ setCheckboxRowByKey(rowKeys: string | number | null | undefined | (string | number | null | undefined)[], checked: boolean): Promise<void>
476
+ /**
477
+ * 只对 show-checkbox 有效,获取复选框已选的行
478
+ */
479
+ getCheckboxRecords(): D[]
480
+ /**
481
+ * 只对 show-checkbox 有效,获取复选框已选的行
482
+ */
483
+ getCheckboxRows(): D[]
484
+ /**
485
+ * 只对 show-checkbox 有效,获取复选框已选的主键
486
+ */
487
+ getCheckboxRowKeys(): (string | number)[]
488
+ /**
489
+ * 只对 show-checkbox 有效,手动清空复选框
490
+ */
491
+ clearCheckboxRow(): Promise<void>
492
+ /**
493
+ * 只对 show-checkbox 有效,设置所有行的选中状态
494
+ */
495
+ setAllCheckboxRow(checked: boolean): Promise<void>
496
+
497
+ /**
498
+ * 往列表插入临时数据,从第一个行新增一个行或多个行新数据
499
+ */
500
+ insert(records: any): Promise<{ row: D; rows: D[] }>
501
+ /**
502
+ * 往列表指定行中插入临时数据
503
+ * 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标行顶部
504
+ * 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标行底部
505
+ * 如果 row 为有效行则插入到该行的位置
506
+ */
507
+ insertAt(records: any, targetRowOrRowKey?: any | -1 | null): Promise<{ row: D; rows: D[] }>
508
+ /**
509
+ * 用于 transform 模式,与 insertAt 行为一致,区别就是会插入指定目标的到下一行
510
+ */
511
+ insertNextAt(records: any, targetRowOrRowKey?: any | -1 | null): Promise<{ row: D; rows: D[] }>
512
+ /**
513
+ * 判断行是否为新增的临时数据
514
+ */
515
+ isInsertByRow(row: any | null): boolean
516
+ /**
517
+ * 用于 transform 模式,删除指定行数据,指定 row 或 [row, ...] 删除多条数据,如果为空则删除所有数据
518
+ */
519
+ remove(rows?: any | any[]): Promise<{ row: D; rows: D[] }>
520
+ /**
521
+ * 用于 transform 模式,获取新增的临时数据
522
+ */
523
+ getInsertRecords(): D[]
524
+ /**
525
+ * 用于 transform 模式,获取已删除的数据
526
+ */
527
+ getRemoveRecords(): D[]
528
+ /**
529
+ * 判断数据是否被删除
530
+ */
531
+ isRemoveByRow(row: any | null): boolean
532
+ /**
533
+ * 获取列表数据集
534
+ * 获取新增、删除的数据
535
+ */
536
+ getRecordset(): {
537
+ insertRecords: D[]
538
+ removeRecords: D[]
539
+ }
540
+ }
541
+ export interface VxeListMethods<D = any> extends ListMethods<D> {}
542
+
543
+ export interface ListPrivateMethods<D = any> {
544
+ /**
545
+ * @private
546
+ */
547
+ handleCrossListRowDragInsertEvent(evnt: DragEvent): void
548
+ /**
549
+ * @private
550
+ */
551
+ handleCrossListRowDragCancelEvent(evnt: DragEvent): void
552
+ /**
553
+ * @private
554
+ */
555
+ handleCrossListRowDragFinishEvent(evnt: DragEvent): void
556
+ /**
557
+ * @private
558
+ */
559
+ handleCrossListRowDragoverEmptyEvent(evnt: DragEvent): void
560
+ /**
561
+ * @private
562
+ */
563
+ hideCrossListRowDropClearStatus(): void
564
+ }
565
+ export interface VxeListPrivateMethods<D = any> extends ListPrivateMethods<D> {}
566
+
567
+ export type VxeListEmits = ['update:checkRowKey', 'update:checkRowKeys', 'row-click', 'row-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'checkbox-all', 'scroll', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'row-menu', 'menu-click']
568
+
569
+ export namespace VxeListDefines {
570
+ export interface RowCacheItem {
571
+ item: any
572
+ index: number
573
+ $index: number
574
+ _index: number
575
+ }
576
+
577
+ export interface ListEventParams<D = any> extends VxeComponentEventParams {
578
+ $list: VxeListConstructor<D>
579
+ }
580
+
581
+ export interface RowClickParams<D = any> {
582
+ row: D
583
+ }
584
+ export interface RowClickEventParams<D = any> extends ListEventParams, RowClickParams<D> {}
585
+
586
+ export interface RowDblclickEventParams<D = any> extends RowClickEventParams<D> {}
587
+
588
+ export interface RowDragstartEventParams<D = any> {
589
+ row: D
590
+ }
591
+
592
+ export interface RowDragoverEventParams<D = any> {
593
+ oldRow: D
594
+ targetRow: D
595
+ dragRow: D
596
+ dragPos: 'top' | 'bottom'
597
+ offsetIndex: 0 | 1
598
+ }
599
+
600
+ export interface RowDragendEventParams<D = any> {
601
+ newRow: D
602
+ oldRow: D
603
+ dragRow: D
604
+ dragPos: 'top' | 'bottom'
605
+ offsetIndex: 0 | 1
606
+ _index: {
607
+ newIndex: number
608
+ oldIndex: number
609
+ }
610
+ }
611
+
612
+ export interface ScrollParams {}
613
+ export interface ScrollEventParams extends ListEventParams, ScrollParams {}
614
+
615
+ export interface MenuClickEventParams<D = any> extends ListEventParams<D> {
616
+ row: D
617
+ menu: VxeContextMenuDefines.MenuFirstOption | VxeContextMenuDefines.MenuChildOption
618
+ }
619
+ }
620
+
621
+ export type VxeListEventProps<D = any> = {
622
+ onRowClick?: VxeListEvents.RowClick<D>
623
+ onRowDblclick?: VxeListEvents.RowDblclick<D>
624
+ onScroll?: VxeListEvents.Scroll
625
+ onRowDragstart?: VxeListEvents.RowDragstart<D>
626
+ onRowDragover?: VxeListEvents.RowDragover<D>
627
+ onRowDragend?: VxeListEvents.RowDragend<D>
628
+ onMenuClick?: VxeListEvents.MenuClick<D>
629
+ }
630
+
631
+ export interface VxeListListeners<D = any> {
632
+ rowClick?: VxeListEvents.RowClick<D>
633
+ rowDblclick?: VxeListEvents.RowDblclick<D>
634
+ scroll?: VxeListEvents.Scroll
635
+ rowDragstart?: VxeListEvents.RowDragstart<D>
636
+ rowDragover?: VxeListEvents.RowDragover<D>
637
+ rowDragend?: VxeListEvents.RowDragend<D>
638
+ menuClick?: VxeListEvents.MenuClick<D>
639
+ }
640
+
641
+ export namespace VxeListEvents {
642
+ export type RowClick<D = any> = (params: VxeListDefines.RowClickEventParams<D>) => void
643
+ export type RowDblclick<D = any> = (params: VxeListDefines.RowDblclickEventParams<D>) => void
644
+ export type Scroll = (params: VxeListDefines.ScrollEventParams) => void
645
+ export type RowDragstart<D = any> = (params: VxeListDefines.RowDragstartEventParams<D>) => void
646
+ export type RowDragover<D = any> = (params: VxeListDefines.RowDragoverEventParams<D>) => void
647
+ export type RowDragend<D = any> = (params: VxeListDefines.RowDragendEventParams<D>) => void
648
+ export type MenuClick<D = any> = (params: VxeListDefines.MenuClickEventParams<D>) => void
649
+ }
650
+
651
+ export namespace VxeListSlotTypes {
652
+ export interface DefaultSlotParams {
653
+ $list: VxeListConstructor
654
+ items: any[]
655
+ }
656
+ export interface HeaderSlotParams extends DefaultSlotParams {}
657
+ export interface FooterSlotParams extends DefaultSlotParams {}
658
+
659
+ export interface ContentSlotParams<D = any> {
660
+ row: D
661
+ }
662
+ export interface ExtraSlotParams<D = any> extends ContentSlotParams<D> {}
663
+ export interface DragSlotParams<D = any> {
664
+ row: D
665
+ }
666
+ }
667
+
668
+ export interface VxeListSlots {
669
+ default?: (params: VxeListSlotTypes.DefaultSlotParams) => any
670
+ header?: (params: VxeListSlotTypes.HeaderSlotParams) => any
671
+ footer?: (params: VxeListSlotTypes.FooterSlotParams) => any
672
+ content?: (params: VxeListSlotTypes.ContentSlotParams) => any
673
+ extra?: (params: VxeListSlotTypes.ExtraSlotParams) => any
674
+ tip?: (params: VxeListSlotTypes.DragSlotParams) => any
675
+ }
676
+
677
+ export const List: typeof VxeList
678
+ export default VxeList