vxe-pc-ui 4.20.25 → 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 (626) hide show
  1. package/dist/all.esm.js +15059 -10308
  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.esm.js +9 -8
  53. package/es/index.js +9 -8
  54. package/es/input/src/input.js +820 -507
  55. package/es/layout-aside/src/layout-aside.js +54 -38
  56. package/es/layout-body/src/layout-body.js +39 -27
  57. package/es/layout-container/src/layout-container.js +16 -9
  58. package/es/layout-footer/src/layout-footer.js +16 -7
  59. package/es/layout-header/src/layout-header.js +15 -7
  60. package/es/link/src/link.js +65 -44
  61. package/es/list/src/list.js +453 -333
  62. package/es/loading/index.js +8 -5
  63. package/es/loading/src/loading.js +60 -33
  64. package/es/mention/src/mention.js +2 -1
  65. package/es/menu/src/menu.js +341 -210
  66. package/es/modal/index.js +60 -37
  67. package/es/modal/src/modal.js +303 -205
  68. package/es/notice-bar/src/notice-bar.js +64 -37
  69. package/es/number-input/src/number-input.js +249 -172
  70. package/es/pager/src/pager.js +346 -202
  71. package/es/password-input/src/password-input.js +145 -105
  72. package/es/print/src/page-break.js +2 -1
  73. package/es/print/src/print.js +184 -99
  74. package/es/pulldown/src/pulldown.js +113 -71
  75. package/es/radio/src/button.js +92 -57
  76. package/es/radio/src/group.js +33 -25
  77. package/es/radio/src/radio.js +61 -41
  78. package/es/rate/src/rate.js +48 -36
  79. package/es/result/src/result.js +67 -35
  80. package/es/row/src/col.js +30 -16
  81. package/es/row/src/row.js +21 -14
  82. package/es/scrollbar/src/scrollbar.js +177 -145
  83. package/es/segmented/src/segmented.js +93 -60
  84. package/es/select/src/optgroup.js +7 -3
  85. package/es/select/src/select.js +483 -340
  86. package/es/select/src/util.js +6 -3
  87. package/es/slider/src/slider.js +108 -80
  88. package/es/space/src/space.js +40 -23
  89. package/es/splitter/src/splitter-panel.js +50 -25
  90. package/es/splitter/src/splitter.js +219 -144
  91. package/es/steps/src/steps.js +10 -5
  92. package/es/style.css +1 -1
  93. package/es/style.mini.css +1 -1
  94. package/es/switch/src/switch.js +85 -57
  95. package/es/table-select/src/table-select.js +232 -153
  96. package/es/table-transfer/src/table-transfer.js +10 -5
  97. package/es/tabs/src/tab-pane.js +33 -16
  98. package/es/tabs/src/tabs.js +363 -230
  99. package/es/tag/src/tag.js +61 -43
  100. package/es/text/src/text.js +89 -65
  101. package/es/text-ellipsis/src/text-ellipsis.js +82 -51
  102. package/es/textarea/src/textarea.js +116 -86
  103. package/es/timeline/src/timeline-item.js +2 -1
  104. package/es/timeline/src/timeline.js +2 -1
  105. package/es/tip/src/tip.js +53 -29
  106. package/es/tooltip/src/tooltip.js +114 -74
  107. package/es/tour/src/tour.js +2 -1
  108. package/es/transfer/src/transfer.js +42 -25
  109. package/es/tree/src/tree.js +709 -492
  110. package/es/tree-select/src/tree-select.js +320 -225
  111. package/es/ui/index.d.ts +0 -1
  112. package/es/ui/index.js +46 -3
  113. package/es/ui/src/dom.js +9 -6
  114. package/es/ui/src/log.js +1 -1
  115. package/es/ui/src/utils.d.ts +1 -1
  116. package/es/upload/src/upload.js +614 -398
  117. package/es/vxe-icon/style.css +1 -1
  118. package/es/vxe-icon/style.mini.css +1 -1
  119. package/es/watermark/src/util.js +15 -12
  120. package/es/watermark/src/watermark.js +55 -25
  121. package/lib/alert/src/alert.js +62 -37
  122. package/lib/anchor/src/anchor-link.js +39 -20
  123. package/lib/anchor/src/anchor.js +75 -46
  124. package/lib/avatar/src/avatar.js +52 -32
  125. package/lib/backtop/src/backtop.js +81 -56
  126. package/lib/badge/src/badge.js +35 -19
  127. package/lib/breadcrumb/src/breadcrumb-item.js +52 -27
  128. package/lib/breadcrumb/src/breadcrumb.js +13 -10
  129. package/lib/button/src/button-group.js +27 -21
  130. package/lib/button/src/button.js +306 -207
  131. package/lib/calendar/src/calendar.js +575 -362
  132. package/lib/card/src/card.js +133 -78
  133. package/lib/carousel/src/carousel-item.js +15 -8
  134. package/lib/carousel/src/carousel.js +182 -120
  135. package/lib/cascader/src/cascader.js +555 -409
  136. package/lib/checkbox/src/button.js +93 -58
  137. package/lib/checkbox/src/checkbox.js +63 -43
  138. package/lib/checkbox/src/group.js +37 -29
  139. package/lib/collapse/src/collapse-pane.js +34 -17
  140. package/lib/collapse/src/collapse.js +139 -85
  141. package/lib/color-picker/src/color-picker.js +516 -377
  142. package/lib/components.js +3 -2
  143. package/lib/context-menu/src/context-menu.js +212 -132
  144. package/lib/countdown/src/countdown.js +95 -63
  145. package/lib/date-panel/src/date-panel.js +776 -466
  146. package/lib/date-picker/src/date-picker.js +377 -274
  147. package/lib/date-range-picker/src/date-range-picker.js +401 -300
  148. package/lib/divider/src/divider.js +31 -17
  149. package/lib/drawer/src/drawer.js +255 -155
  150. package/lib/dynamics/index.js +38 -25
  151. package/lib/empty/src/empty.js +55 -31
  152. package/lib/form/render/index.js +68 -43
  153. package/lib/form/src/form-config-item.js +24 -18
  154. package/lib/form/src/form-group.js +25 -16
  155. package/lib/form/src/form-item.js +25 -19
  156. package/lib/form/src/form.js +140 -96
  157. package/lib/form/src/itemInfo.js +4 -3
  158. package/lib/form/src/render.js +214 -134
  159. package/lib/form/src/util.js +9 -5
  160. package/lib/icon/src/icon.js +17 -13
  161. package/lib/icon/style/style.css +1 -1
  162. package/lib/icon/style/style.mini.css +1 -1
  163. package/lib/icon-picker/src/icon-picker.js +251 -158
  164. package/lib/image/src/group.js +26 -20
  165. package/lib/image/src/image.js +41 -40
  166. package/lib/image/src/preview.js +206 -146
  167. package/lib/image/src/util.js +6 -3
  168. package/lib/index.common.js +9 -8
  169. package/lib/index.js +9 -8
  170. package/lib/index.umd.js +15131 -10364
  171. package/lib/index.umd.min.js +3 -3
  172. package/lib/input/src/input.js +878 -565
  173. package/lib/layout-aside/src/layout-aside.js +61 -45
  174. package/lib/layout-body/src/layout-body.js +47 -35
  175. package/lib/layout-container/src/layout-container.js +18 -11
  176. package/lib/layout-footer/src/layout-footer.js +17 -8
  177. package/lib/layout-header/src/layout-header.js +16 -8
  178. package/lib/link/src/link.js +69 -48
  179. package/lib/list/src/list.js +456 -336
  180. package/lib/loading/index.js +8 -5
  181. package/lib/loading/src/loading.js +69 -42
  182. package/lib/mention/src/mention.js +4 -3
  183. package/lib/menu/src/menu.js +351 -220
  184. package/lib/modal/index.js +60 -37
  185. package/lib/modal/src/modal.js +306 -208
  186. package/lib/notice-bar/src/notice-bar.js +70 -43
  187. package/lib/number-input/src/number-input.js +290 -213
  188. package/lib/pager/src/pager.js +347 -203
  189. package/lib/password-input/src/password-input.js +155 -115
  190. package/lib/print/src/page-break.js +3 -2
  191. package/lib/print/src/print.js +193 -108
  192. package/lib/pulldown/src/pulldown.js +128 -86
  193. package/lib/radio/src/button.js +96 -61
  194. package/lib/radio/src/group.js +37 -29
  195. package/lib/radio/src/radio.js +65 -45
  196. package/lib/rate/src/rate.js +50 -38
  197. package/lib/result/src/result.js +68 -36
  198. package/lib/row/src/col.js +32 -18
  199. package/lib/row/src/row.js +25 -18
  200. package/lib/scrollbar/src/scrollbar.js +178 -146
  201. package/lib/segmented/src/segmented.js +97 -64
  202. package/lib/select/src/optgroup.js +7 -3
  203. package/lib/select/src/select.js +486 -343
  204. package/lib/select/src/util.js +6 -3
  205. package/lib/slider/src/slider.js +122 -94
  206. package/lib/space/src/space.js +54 -37
  207. package/lib/splitter/src/splitter-panel.js +51 -26
  208. package/lib/splitter/src/splitter.js +233 -158
  209. package/lib/steps/src/steps.js +11 -6
  210. package/lib/style.css +1 -1
  211. package/lib/style.mini.css +1 -1
  212. package/lib/switch/src/switch.js +87 -59
  213. package/lib/table-select/src/table-select.js +234 -155
  214. package/lib/table-transfer/src/table-transfer.js +12 -7
  215. package/lib/tabs/src/tab-pane.js +34 -17
  216. package/lib/tabs/src/tabs.js +365 -232
  217. package/lib/tag/src/tag.js +67 -49
  218. package/lib/text/src/text.js +100 -76
  219. package/lib/text-ellipsis/src/text-ellipsis.js +86 -55
  220. package/lib/textarea/src/textarea.js +127 -97
  221. package/lib/timeline/src/timeline-item.js +3 -2
  222. package/lib/timeline/src/timeline.js +4 -3
  223. package/lib/tip/src/tip.js +58 -34
  224. package/lib/tooltip/src/tooltip.js +116 -76
  225. package/lib/tour/src/tour.js +4 -3
  226. package/lib/transfer/src/transfer.js +44 -27
  227. package/lib/tree/src/tree.js +717 -500
  228. package/lib/tree-select/src/tree-select.js +351 -256
  229. package/lib/ui/index.js +46 -4
  230. package/lib/ui/src/dom.js +9 -6
  231. package/lib/ui/src/log.js +1 -1
  232. package/lib/upload/src/upload.js +708 -492
  233. package/lib/vxe-icon/style/style.css +1 -1
  234. package/lib/vxe-icon/style/style.mini.css +1 -1
  235. package/lib/watermark/src/util.js +15 -12
  236. package/lib/watermark/src/watermark.js +60 -30
  237. package/package.json +10 -4
  238. package/packages/alert/index.ts +16 -16
  239. package/packages/alert/src/alert.ts +148 -126
  240. package/packages/anchor/index.ts +16 -16
  241. package/packages/anchor/src/anchor-link.ts +139 -121
  242. package/packages/anchor/src/anchor.ts +266 -237
  243. package/packages/anchor/src/util.ts +23 -23
  244. package/packages/anchor-link/index.ts +16 -16
  245. package/packages/avatar/index.ts +16 -16
  246. package/packages/avatar/src/avatar.ts +166 -149
  247. package/packages/backtop/index.ts +16 -16
  248. package/packages/backtop/src/backtop.ts +337 -313
  249. package/packages/badge/index.ts +16 -16
  250. package/packages/badge/src/badge.ts +131 -118
  251. package/packages/breadcrumb/index.ts +16 -16
  252. package/packages/breadcrumb/src/breadcrumb-item.ts +129 -106
  253. package/packages/breadcrumb/src/breadcrumb.ts +94 -92
  254. package/packages/breadcrumb-item/index.ts +16 -16
  255. package/packages/button/index.ts +16 -16
  256. package/packages/button/src/button-group.ts +116 -110
  257. package/packages/button/src/button.ts +975 -855
  258. package/packages/button-group/index.ts +16 -16
  259. package/packages/calendar/index.ts +16 -16
  260. package/packages/calendar/src/calendar.ts +1566 -1352
  261. package/packages/card/index.ts +16 -16
  262. package/packages/card/src/card.ts +285 -236
  263. package/packages/carousel/index.ts +16 -16
  264. package/packages/carousel/src/carousel-item.ts +120 -102
  265. package/packages/carousel/src/carousel.ts +475 -414
  266. package/packages/carousel/src/util.ts +21 -21
  267. package/packages/carousel-item/index.ts +16 -16
  268. package/packages/cascader/index.ts +16 -16
  269. package/packages/cascader/src/cascader.ts +2074 -1896
  270. package/packages/cascader/src/util.ts +9 -9
  271. package/packages/checkbox/index.ts +16 -16
  272. package/packages/checkbox/src/button.ts +267 -221
  273. package/packages/checkbox/src/checkbox.ts +219 -199
  274. package/packages/checkbox/src/group.ts +292 -269
  275. package/packages/checkbox-button/index.ts +16 -16
  276. package/packages/checkbox-group/index.ts +16 -16
  277. package/packages/col/index.ts +16 -16
  278. package/packages/collapse/index.ts +16 -16
  279. package/packages/collapse/src/collapse-pane.ts +142 -114
  280. package/packages/collapse/src/collapse.ts +453 -384
  281. package/packages/collapse/src/util.ts +21 -21
  282. package/packages/collapse-pane/index.ts +16 -16
  283. package/packages/color-picker/index.ts +31 -31
  284. package/packages/color-picker/src/color-picker.ts +1310 -1147
  285. package/packages/color-picker/src/util.ts +436 -423
  286. package/packages/components.ts +350 -349
  287. package/packages/context-menu/index.ts +54 -54
  288. package/packages/context-menu/src/context-menu.ts +773 -681
  289. package/packages/countdown/index.ts +16 -16
  290. package/packages/countdown/src/countdown.ts +295 -262
  291. package/packages/date-panel/index.ts +16 -16
  292. package/packages/date-panel/src/date-panel.ts +2214 -1900
  293. package/packages/date-panel/src/util.ts +354 -326
  294. package/packages/date-picker/index.ts +16 -16
  295. package/packages/date-picker/src/date-picker.ts +1884 -1752
  296. package/packages/date-range-picker/index.ts +16 -16
  297. package/packages/date-range-picker/src/date-range-picker.ts +1728 -1604
  298. package/packages/divider/index.ts +16 -16
  299. package/packages/divider/src/divider.ts +105 -93
  300. package/packages/drawer/index.ts +78 -78
  301. package/packages/drawer/src/drawer.ts +920 -802
  302. package/packages/drawer/src/store.ts +3 -3
  303. package/packages/dynamics/index.ts +124 -117
  304. package/packages/empty/index.ts +16 -16
  305. package/packages/empty/src/empty.ts +124 -103
  306. package/packages/form/index.ts +16 -16
  307. package/packages/form/render/index.ts +646 -614
  308. package/packages/form/src/form-config-item.ts +85 -80
  309. package/packages/form/src/form-group.ts +96 -86
  310. package/packages/form/src/form-item.ts +181 -174
  311. package/packages/form/src/form.ts +1122 -1069
  312. package/packages/form/src/itemInfo.ts +84 -82
  313. package/packages/form/src/render.ts +470 -387
  314. package/packages/form/src/util.ts +98 -93
  315. package/packages/form-gather/index.ts +26 -26
  316. package/packages/form-group/index.ts +16 -16
  317. package/packages/form-item/index.ts +16 -16
  318. package/packages/icon/index.ts +16 -16
  319. package/packages/icon/src/icon.ts +78 -75
  320. package/packages/icon-picker/index.ts +16 -16
  321. package/packages/icon-picker/src/icon-picker.ts +922 -809
  322. package/packages/image/index.ts +16 -16
  323. package/packages/image/src/group.ts +159 -153
  324. package/packages/image/src/image.ts +298 -298
  325. package/packages/image/src/preview.ts +749 -672
  326. package/packages/image/src/util.ts +62 -59
  327. package/packages/image-group/index.ts +16 -16
  328. package/packages/image-preview/index.ts +19 -19
  329. package/packages/index.ts +20 -21
  330. package/packages/input/index.ts +16 -16
  331. package/packages/input/src/input.ts +3201 -2863
  332. package/packages/language/fr-FR.ts +15 -15
  333. package/packages/language/it-IT.ts +4 -4
  334. package/packages/language/uk-UA.ts +1 -1
  335. package/packages/language/uz-UZ.ts +13 -13
  336. package/packages/language/zh-CN.ts +907 -907
  337. package/packages/layout-aside/index.ts +16 -16
  338. package/packages/layout-aside/src/layout-aside.ts +172 -156
  339. package/packages/layout-body/index.ts +16 -16
  340. package/packages/layout-body/src/layout-body.ts +191 -181
  341. package/packages/layout-container/index.ts +16 -16
  342. package/packages/layout-container/src/layout-container.ts +108 -92
  343. package/packages/layout-footer/index.ts +16 -16
  344. package/packages/layout-footer/src/layout-footer.ts +81 -74
  345. package/packages/layout-header/index.ts +16 -16
  346. package/packages/layout-header/src/layout-header.ts +79 -73
  347. package/packages/link/index.ts +16 -16
  348. package/packages/link/src/link.ts +180 -161
  349. package/packages/list/index.ts +16 -16
  350. package/packages/list/src/list.ts +2690 -2564
  351. package/packages/list/src/store.ts +10 -10
  352. package/packages/list/src/util.ts +10 -11
  353. package/packages/loading/index.ts +39 -36
  354. package/packages/loading/src/loading.ts +179 -152
  355. package/packages/mention/index.ts +16 -16
  356. package/packages/mention/src/mention.ts +69 -71
  357. package/packages/menu/index.ts +16 -16
  358. package/packages/menu/src/menu.ts +1000 -857
  359. package/packages/modal/index.ts +164 -141
  360. package/packages/modal/src/modal.ts +1803 -1681
  361. package/packages/modal/src/store.ts +3 -3
  362. package/packages/notice-bar/index.ts +16 -16
  363. package/packages/notice-bar/src/notice-bar.ts +207 -181
  364. package/packages/number-input/index.ts +16 -16
  365. package/packages/number-input/src/number-input.ts +1322 -1242
  366. package/packages/number-input/src/util.ts +25 -25
  367. package/packages/optgroup/index.ts +16 -16
  368. package/packages/option/index.ts +16 -16
  369. package/packages/pager/index.ts +16 -16
  370. package/packages/pager/src/pager.ts +919 -775
  371. package/packages/password-input/index.ts +16 -16
  372. package/packages/password-input/src/password-input.ts +523 -482
  373. package/packages/print/index.ts +18 -18
  374. package/packages/print/src/page-break.ts +104 -92
  375. package/packages/print/src/print.ts +366 -281
  376. package/packages/print/src/util.ts +299 -304
  377. package/packages/print-page-break/index.ts +16 -16
  378. package/packages/pulldown/index.ts +16 -16
  379. package/packages/pulldown/src/pulldown.ts +505 -445
  380. package/packages/radio/index.ts +16 -16
  381. package/packages/radio/src/button.ts +290 -243
  382. package/packages/radio/src/group.ts +275 -252
  383. package/packages/radio/src/radio.ts +237 -218
  384. package/packages/radio-button/index.ts +16 -16
  385. package/packages/radio-group/index.ts +16 -16
  386. package/packages/rate/index.ts +16 -16
  387. package/packages/rate/src/rate.ts +203 -192
  388. package/packages/result/index.ts +16 -16
  389. package/packages/result/src/result.ts +141 -112
  390. package/packages/row/index.ts +16 -16
  391. package/packages/row/src/col.ts +171 -159
  392. package/packages/row/src/row.ts +143 -138
  393. package/packages/scrollbar/index.ts +16 -16
  394. package/packages/scrollbar/src/scrollbar.ts +626 -595
  395. package/packages/segmented/index.ts +16 -16
  396. package/packages/segmented/src/segmented.ts +297 -264
  397. package/packages/select/index.ts +16 -16
  398. package/packages/select/src/optgroup.ts +53 -49
  399. package/packages/select/src/option-info.ts +20 -20
  400. package/packages/select/src/option.ts +47 -47
  401. package/packages/select/src/select.ts +2390 -2214
  402. package/packages/select/src/util.ts +50 -47
  403. package/packages/slider/index.ts +16 -16
  404. package/packages/slider/src/slider.ts +547 -506
  405. package/packages/space/index.ts +16 -16
  406. package/packages/space/src/space.ts +225 -209
  407. package/packages/split/index.ts +16 -16
  408. package/packages/split-pane/index.ts +17 -17
  409. package/packages/splitter/index.ts +16 -16
  410. package/packages/splitter/src/splitter-panel.ts +199 -163
  411. package/packages/splitter/src/splitter.ts +1110 -1020
  412. package/packages/splitter/src/util.ts +21 -21
  413. package/packages/splitter-panel/index.ts +16 -16
  414. package/packages/steps/index.ts +16 -16
  415. package/packages/steps/src/steps.ts +69 -68
  416. package/packages/switch/index.ts +16 -16
  417. package/packages/switch/src/switch.ts +300 -271
  418. package/packages/tab-pane/index.ts +16 -16
  419. package/packages/table-select/index.ts +16 -16
  420. package/packages/table-select/src/table-select.ts +1103 -999
  421. package/packages/table-transfer/index.ts +16 -16
  422. package/packages/table-transfer/src/table-transfer.ts +104 -91
  423. package/packages/tabs/index.ts +16 -16
  424. package/packages/tabs/src/tab-pane.ts +132 -117
  425. package/packages/tabs/src/tabs.ts +1137 -997
  426. package/packages/tabs/src/util.ts +21 -21
  427. package/packages/tag/index.ts +16 -16
  428. package/packages/tag/src/tag.ts +204 -187
  429. package/packages/text/index.ts +16 -16
  430. package/packages/text/src/text.ts +282 -260
  431. package/packages/text-ellipsis/index.ts +16 -16
  432. package/packages/text-ellipsis/src/text-ellipsis.ts +312 -282
  433. package/packages/textarea/index.ts +16 -16
  434. package/packages/textarea/src/textarea.ts +526 -495
  435. package/packages/timeline/index.ts +16 -16
  436. package/packages/timeline/src/timeline-item.ts +65 -67
  437. package/packages/timeline/src/timeline.ts +70 -71
  438. package/packages/timeline-item/index.ts +16 -16
  439. package/packages/tip/index.ts +19 -19
  440. package/packages/tip/src/tip.ts +150 -129
  441. package/packages/tooltip/index.ts +72 -72
  442. package/packages/tooltip/src/tooltip.ts +669 -627
  443. package/packages/tour/index.ts +16 -16
  444. package/packages/tour/src/tour.ts +70 -71
  445. package/packages/transfer/index.ts +16 -16
  446. package/packages/transfer/src/transfer.ts +130 -117
  447. package/packages/tree/index.ts +16 -16
  448. package/packages/tree/src/store.ts +10 -10
  449. package/packages/tree/src/tree.ts +4077 -3852
  450. package/packages/tree/src/util.ts +51 -51
  451. package/packages/tree-select/index.ts +16 -16
  452. package/packages/tree-select/src/tree-select.ts +1217 -1094
  453. package/packages/ui/index.ts +836 -793
  454. package/packages/ui/src/anime.ts +51 -52
  455. package/packages/ui/src/comp.ts +3 -3
  456. package/packages/ui/src/dom.ts +357 -354
  457. package/packages/ui/src/log.ts +19 -19
  458. package/packages/ui/src/utils.ts +79 -79
  459. package/packages/ui/src/vn.ts +39 -39
  460. package/packages/upload/index.ts +20 -20
  461. package/packages/upload/src/upload.ts +2271 -2021
  462. package/packages/upload/src/util.ts +109 -109
  463. package/packages/watermark/index.ts +33 -33
  464. package/packages/watermark/src/util.ts +186 -180
  465. package/packages/watermark/src/watermark.ts +196 -168
  466. package/types/all.d.ts +552 -552
  467. package/types/components/alert.d.ts +83 -87
  468. package/types/components/anchor-link.d.ts +88 -91
  469. package/types/components/anchor.d.ts +97 -104
  470. package/types/components/avatar.d.ts +85 -88
  471. package/types/components/backtop.d.ts +119 -122
  472. package/types/components/badge.d.ts +77 -80
  473. package/types/components/breadcrumb-item.d.ts +77 -80
  474. package/types/components/breadcrumb.d.ts +83 -87
  475. package/types/components/button-group.d.ts +118 -120
  476. package/types/components/button.d.ts +331 -339
  477. package/types/components/calendar.d.ts +247 -264
  478. package/types/components/card.d.ts +111 -113
  479. package/types/components/carousel-item.d.ts +73 -75
  480. package/types/components/carousel.d.ts +130 -134
  481. package/types/components/cascader.d.ts +336 -386
  482. package/types/components/checkbox-button.d.ts +109 -114
  483. package/types/components/checkbox-group.d.ts +152 -154
  484. package/types/components/checkbox.d.ts +123 -128
  485. package/types/components/col.d.ts +77 -80
  486. package/types/components/colgroup.d.ts +64 -69
  487. package/types/components/collapse-pane.d.ts +86 -89
  488. package/types/components/collapse.d.ts +123 -133
  489. package/types/components/color-picker.d.ts +275 -280
  490. package/types/components/column.d.ts +834 -851
  491. package/types/components/context-menu.d.ts +282 -289
  492. package/types/components/countdown.d.ts +108 -112
  493. package/types/components/date-panel.d.ts +319 -331
  494. package/types/components/date-picker.d.ts +361 -384
  495. package/types/components/date-range-picker.d.ts +351 -371
  496. package/types/components/divider.d.ts +72 -75
  497. package/types/components/drawer.d.ts +333 -344
  498. package/types/components/empty.d.ts +75 -78
  499. package/types/components/flow-design.d.ts +73 -85
  500. package/types/components/flow-view.d.ts +73 -85
  501. package/types/components/form-design.d.ts +370 -376
  502. package/types/components/form-gather.d.ts +120 -124
  503. package/types/components/form-group.d.ts +73 -77
  504. package/types/components/form-item.d.ts +395 -413
  505. package/types/components/form-view.d.ts +179 -183
  506. package/types/components/form.d.ts +499 -495
  507. package/types/components/gantt-module/gantt-view.d.ts +195 -200
  508. package/types/components/gantt-module/index.d.ts +1 -1
  509. package/types/components/gantt-plugins/extend-gantt-chart.d.ts +137 -131
  510. package/types/components/gantt-plugins/index.d.ts +1 -1
  511. package/types/components/gantt.d.ts +1248 -1399
  512. package/types/components/grid.d.ts +1289 -1317
  513. package/types/components/icon-picker.d.ts +242 -253
  514. package/types/components/icon.d.ts +332 -87
  515. package/types/components/image-group.d.ts +124 -127
  516. package/types/components/image-preview.d.ts +167 -167
  517. package/types/components/image.d.ts +166 -173
  518. package/types/components/input.d.ts +429 -453
  519. package/types/components/layout-aside.d.ts +123 -123
  520. package/types/components/layout-body.d.ts +110 -113
  521. package/types/components/layout-container.d.ts +73 -75
  522. package/types/components/layout-footer.d.ts +71 -73
  523. package/types/components/layout-header.d.ts +67 -69
  524. package/types/components/link.d.ts +107 -111
  525. package/types/components/list-design.d.ts +189 -190
  526. package/types/components/list-view.d.ts +193 -199
  527. package/types/components/list.d.ts +678 -715
  528. package/types/components/loading.d.ts +98 -103
  529. package/types/components/mention.d.ts +70 -77
  530. package/types/components/menu.d.ts +284 -295
  531. package/types/components/modal.d.ts +567 -584
  532. package/types/components/notice-bar.d.ts +102 -106
  533. package/types/components/number-input.d.ts +359 -365
  534. package/types/components/optgroup.d.ts +85 -88
  535. package/types/components/option.d.ts +94 -103
  536. package/types/components/pager.d.ts +330 -335
  537. package/types/components/password-input.d.ts +143 -156
  538. package/types/components/print-page-break.d.ts +65 -69
  539. package/types/components/print.d.ts +243 -245
  540. package/types/components/pulldown.d.ts +231 -239
  541. package/types/components/radio-button.d.ts +113 -118
  542. package/types/components/radio-group.d.ts +151 -153
  543. package/types/components/radio.d.ts +129 -134
  544. package/types/components/rate.d.ts +83 -88
  545. package/types/components/result.d.ts +81 -84
  546. package/types/components/row.d.ts +77 -81
  547. package/types/components/scrollbar.d.ts +299 -305
  548. package/types/components/segmented.d.ts +119 -123
  549. package/types/components/select.d.ts +598 -616
  550. package/types/components/slider.d.ts +137 -151
  551. package/types/components/space.d.ts +120 -127
  552. package/types/components/split-pane.d.ts +126 -133
  553. package/types/components/split.d.ts +301 -312
  554. package/types/components/splitter-panel.d.ts +123 -130
  555. package/types/components/splitter.d.ts +290 -301
  556. package/types/components/steps.d.ts +63 -68
  557. package/types/components/switch.d.ts +127 -133
  558. package/types/components/tab-pane.d.ts +111 -114
  559. package/types/components/table-module/custom.d.ts +123 -123
  560. package/types/components/table-module/edit.d.ts +297 -276
  561. package/types/components/table-module/export.d.ts +88 -96
  562. package/types/components/table-module/filter.d.ts +144 -144
  563. package/types/components/table-module/index.d.ts +7 -7
  564. package/types/components/table-module/keyboard.d.ts +26 -26
  565. package/types/components/table-module/menu.d.ts +46 -46
  566. package/types/components/table-module/validator.d.ts +53 -53
  567. package/types/components/table-plugins/extend-cell-area.d.ts +781 -781
  568. package/types/components/table-plugins/extend-pivot-table.d.ts +59 -58
  569. package/types/components/table-plugins/filters-combination.d.ts +15 -15
  570. package/types/components/table-plugins/filters-complex-input.d.ts +9 -9
  571. package/types/components/table-plugins/index.d.ts +4 -4
  572. package/types/components/table-select.d.ts +268 -276
  573. package/types/components/table-transfer.d.ts +80 -84
  574. package/types/components/table.d.ts +7530 -8000
  575. package/types/components/tabs.d.ts +314 -352
  576. package/types/components/tag.d.ts +108 -114
  577. package/types/components/text-ellipsis.d.ts +107 -112
  578. package/types/components/text.d.ts +112 -122
  579. package/types/components/textarea.d.ts +261 -275
  580. package/types/components/timeline-item.d.ts +66 -75
  581. package/types/components/timeline.d.ts +70 -77
  582. package/types/components/tip.d.ts +81 -83
  583. package/types/components/toolbar.d.ts +327 -336
  584. package/types/components/tooltip.d.ts +250 -255
  585. package/types/components/tour.d.ts +70 -77
  586. package/types/components/transfer.d.ts +80 -84
  587. package/types/components/tree-select.d.ts +361 -376
  588. package/types/components/tree.d.ts +994 -1036
  589. package/types/components/upload.d.ts +477 -518
  590. package/types/components/watermark.d.ts +116 -120
  591. package/types/handles/form-design.d.ts +50 -50
  592. package/types/handles/index.d.ts +3 -3
  593. package/types/handles/list-design.d.ts +1 -2
  594. package/types/handles/table.d.ts +15 -15
  595. package/types/index.d.ts +8 -8
  596. package/types/ui/commands.d.ts +57 -57
  597. package/types/ui/formats.d.ts +62 -62
  598. package/types/ui/global-config.d.ts +269 -269
  599. package/types/ui/global-icon.d.ts +315 -315
  600. package/types/ui/hooks.d.ts +13 -13
  601. package/types/ui/index.d.ts +100 -100
  602. package/types/ui/interceptor.d.ts +52 -52
  603. package/types/ui/menus.d.ts +89 -89
  604. package/types/ui/renderer.d.ts +1033 -1047
  605. package/types/ui/validators.d.ts +37 -38
  606. /package/dist/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  607. /package/dist/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  608. /package/dist/{iconfont.1792992046297.woff2 → iconfont.1793007755017.woff2} +0 -0
  609. /package/es/icon/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  610. /package/es/icon/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  611. /package/es/icon/{iconfont.1792992046297.woff2 → iconfont.1793007755017.woff2} +0 -0
  612. /package/es/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  613. /package/es/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  614. /package/es/{iconfont.1792992046297.woff2 → iconfont.1793007755017.woff2} +0 -0
  615. /package/es/vxe-icon/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  616. /package/es/vxe-icon/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  617. /package/es/vxe-icon/{iconfont.1792992046297.woff2 → iconfont.1793007755017.woff2} +0 -0
  618. /package/lib/icon/style/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  619. /package/lib/icon/style/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  620. /package/lib/icon/style/{iconfont.1792992046297.woff2 → iconfont.1793007755017.woff2} +0 -0
  621. /package/lib/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  622. /package/lib/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  623. /package/lib/{iconfont.1792992046297.woff2 → iconfont.1793007755017.woff2} +0 -0
  624. /package/lib/vxe-icon/style/{iconfont.1792992046297.ttf → iconfont.1793007755017.ttf} +0 -0
  625. /package/lib/vxe-icon/style/{iconfont.1792992046297.woff → iconfont.1793007755017.woff} +0 -0
  626. /package/lib/vxe-icon/style/{iconfont.1792992046297.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