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,295 +1,284 @@
1
- import { RenderFunction, SetupContext, Ref } from 'vue'
2
- import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentSlotType, VxeComponentStyleType, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentSizeType, VxeComponentPermissionCodeType, VxeComponentIsVScrollbar } from '@vxe-ui/core'
3
- import { VxeLinkPropTypes } from './link'
4
- import { VxeContextMenuPropTypes, VxeContextMenuDefines } from './context-menu'
5
- import { VxeScrollbarProps } from './scrollbar'
6
-
7
- /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
8
-
9
- export declare const VxeMenu: DefineVxeComponentApp<VxeMenuProps, VxeMenuEventProps, VxeMenuSlots, VxeMenuMethods>
10
- export type VxeMenuComponent = DefineVxeComponentOptions<VxeMenuProps, VxeMenuEventProps>
11
-
12
- export type VxeMenuInstance = DefineVxeComponentInstance<VxeMenuProps, VxeMenuConstructor>
13
-
14
- export interface VxeMenuConstructor extends VxeComponentBaseOptions, VxeMenuMethods {
15
- props: VxeMenuProps
16
- context: SetupContext<VxeMenuEmits>
17
- internalData: MenuInternalData
18
- reactData: MenuReactData
19
- getRefMaps(): MenuPrivateRef
20
- getComputeMaps(): MenuPrivateComputed
21
- renderVN: RenderFunction
22
- }
23
-
24
- export interface MenuPrivateRef {
25
- refElem: Ref<HTMLDivElement | undefined>
26
- }
27
- export interface VxeMenuPrivateRef extends MenuPrivateRef { }
28
-
29
- export namespace VxeMenuPropTypes {
30
- export type ModelValue = string | number | null
31
- export type Size = VxeComponentSizeType
32
- export type Loading = boolean
33
- export type Border = boolean | 'first' | 'first-group' | 'group' | 'all'
34
- export type Accordion = boolean
35
- export interface OptionProps {
36
- name?: string
37
- title?: string
38
- icon?: string
39
- children?: string
40
- linkUrl?: string
41
- linkTarget?: string
42
- routerLink?: string
43
- }
44
-
45
- export interface MenuOption {
46
- name?: VxeMenuPropTypes.ModelValue
47
- title?: string | number
48
- icon?: string
49
- linkUrl?: string
50
- linkTarget?: VxeLinkPropTypes.Target
51
- routerLink?: VxeLinkPropTypes.RouterLink
52
- expanded?: boolean
53
- permissionCode?: VxeComponentPermissionCodeType
54
- children?: MenuOption[]
55
- slots?: {
56
- icon?: string | ((params: VxeMenuSlotTypes.IconSlotParams) => VxeComponentSlotType | VxeComponentSlotType[]) | null
57
- title?: string | ((params: VxeMenuSlotTypes.TitleSlotParams) => VxeComponentSlotType | VxeComponentSlotType[]) | null
58
- default?: string | ((params: VxeMenuSlotTypes.TitleSlotParams) => VxeComponentSlotType | VxeComponentSlotType[]) | null
59
- }
60
-
61
- [key: string]: any
62
- }
63
-
64
- export type Collapsed = boolean
65
- export type CollapseFixed = boolean
66
- export type ExpandAll = boolean
67
- export type ExpandKeys = (string | number)[]
68
- export type Options = MenuOption[]
69
- export interface MenuConfig {
70
- /**
71
- * 是否启用
72
- */
73
- enabled?: boolean
74
- /**
75
- * 菜单配置
76
- */
77
- options: VxeContextMenuPropTypes.Options
78
- /**
79
- * 该函数的返回值用来决定是否允许显示右键菜单(对于需要对菜单进行权限控制时可能会用到)
80
- */
81
- visibleMethod?(params: {
82
- $menu: VxeMenuConstructor
83
- options: VxeContextMenuPropTypes.Options
84
- currentMenu: VxeMenuDefines.MenuItem
85
- currentOption: VxeMenuPropTypes.MenuOption
86
- }): boolean
87
- }
88
- export type AppendTo = string | HTMLElement | ((params: {}) => string | HTMLElement)
89
- export type UseScrollbar = VxeComponentIsVScrollbar
90
- export interface ScrollbarConfig extends Pick<VxeScrollbarProps, 'yConfig' | 'padding' | 'autoHide' | 'fluentOverlay' | 'visible' | 'className' | 'viewAttrs' | 'viewClassName' | 'viewInnerClassName'> {
91
- /**
92
- * 滚动条宽度
93
- */
94
- width?: number | string
95
- /**
96
- * 滚动条高度
97
- */
98
- height?: number | string
99
- }
100
- }
101
-
102
- export interface VxeMenuProps {
103
- modelValue?: VxeMenuPropTypes.ModelValue
104
- size?: VxeMenuPropTypes.Size
105
- loading?: VxeMenuPropTypes.Loading
106
- border?: VxeMenuPropTypes.Border
107
- accordion?: VxeMenuPropTypes.Accordion
108
- optionProps?: VxeMenuPropTypes.OptionProps
109
- collapsed?: VxeMenuPropTypes.Collapsed
110
- collapseFixed?: VxeMenuPropTypes.CollapseFixed
111
- /**
112
- * 默认展开所有菜单项(只会在初始化时被触发一次)
113
- */
114
- expandAll?: VxeMenuPropTypes.ExpandAll
115
- /**
116
- * 默认展开指定菜单项(只会在初始化时被触发一次)
117
- */
118
- expandKeys?: VxeMenuPropTypes.ExpandKeys
119
- options?: VxeMenuPropTypes.Options
120
- menuConfig?: VxeMenuPropTypes.MenuConfig
121
- /**
122
- * 使用虚拟滚动条
123
- */
124
- useScrollbar?: VxeMenuPropTypes.UseScrollbar
125
- /**
126
- * 滚动条配置项
127
- */
128
- scrollbarConfig?: VxeMenuPropTypes.ScrollbarConfig
129
- /**
130
- * 挂载到指定元素下
131
- */
132
- appendTo?: VxeMenuPropTypes.AppendTo
133
- }
134
-
135
- export interface MenuPrivateComputed {
136
- }
137
- export interface VxeMenuPrivateComputed extends MenuPrivateComputed { }
138
-
139
- export interface MenuInternalData {
140
- lastActiveTime: number
141
- menuInitMaps: Record<number, boolean>
142
- menuCacheMaps: Record<string, VxeMenuDefines.MenuItem>
143
- menuKeyMaps: Record<string, VxeMenuDefines.MenuItem>
144
- menuEffectMaps: Record<number, number>
145
- }
146
-
147
- export interface MenuReactData {
148
- initialized: boolean
149
- collapseStyle: VxeComponentStyleType
150
- isEnterCollapse: boolean
151
- collapseZindex: number
152
- activeName: undefined | null | VxeMenuPropTypes.ModelValue
153
- menuList: VxeMenuDefines.MenuItem[]
154
- itemHeight: number
155
- }
156
-
157
- export interface MenuMethods {
158
- dispatchEvent(type: ValueOf<VxeMenuEmits>, params: Record<string, any>, evnt: Event | null): void
159
- /**
160
- * 设置指定菜单 key 为展开状态,第二个参数为选中与否
161
- */
162
- setExpandByMenuKey(menuKeys: string | number | (string | number)[], expanded: boolean): Promise<any>
163
- /**
164
- * 手动清除所有菜单的展开状态
165
- */
166
- clearAllExpandMenu(): Promise<any>
167
- /**
168
- * 自动滚动到指定菜单
169
- */
170
- scrollToMenuKey(menuKey: string | number): Promise<any>
171
- /**
172
- * 自动滚动到旋转的菜单
173
- */
174
- scrollToActiveMenu(): Promise<any>
175
- }
176
- export interface VxeMenuMethods extends MenuMethods {}
177
-
178
- export interface MenuPrivateMethods { }
179
- export interface VxeMenuPrivateMethods extends MenuPrivateMethods { }
180
-
181
- export type VxeMenuEmits = [
182
- 'update:modelValue',
183
- 'click',
184
- 'option-menu',
185
- 'menu-click'
186
- ]
187
-
188
- export namespace VxeMenuDefines {
189
- export interface MenuEventParams extends VxeComponentEventParams {
190
- $menu: VxeMenuConstructor
191
- }
192
-
193
- export interface MenuItem extends VxeMenuPropTypes.MenuOption {
194
- itemConf: VxeMenuPropTypes.MenuOption
195
- itemId: number
196
- itemKey: string | number
197
- level: number,
198
- parentKey: string | number
199
- isExactActive: boolean
200
- isActive: boolean
201
- isExpand: boolean
202
- hasChild: boolean
203
- childList: MenuItem[]
204
- }
205
-
206
- export interface ClickParams {
207
- currentMenu: VxeMenuDefines.MenuItem
208
- currentOption: VxeMenuPropTypes.MenuOption
209
- option: VxeMenuPropTypes.MenuOption
210
-
211
- /**
212
- * 已废弃
213
- * @deprecated
214
- */
215
- menu: VxeMenuDefines.MenuItem
216
- }
217
- export interface ClickEventParams extends MenuEventParams, ClickParams { }
218
-
219
- export interface OptionMenuEventParams extends MenuEventParams {
220
- currentMenu: VxeMenuDefines.MenuItem
221
- currentOption: VxeMenuPropTypes.MenuOption
222
- option: VxeMenuPropTypes.MenuOption
223
- }
224
- export interface MenuClickEventParams extends MenuEventParams {
225
- currentMenu: VxeMenuDefines.MenuItem
226
- currentOption: VxeMenuPropTypes.MenuOption
227
- menu: VxeContextMenuDefines.MenuFirstOption | VxeContextMenuDefines.MenuChildOption
228
- }
229
- }
230
-
231
- export type VxeMenuEventProps = {
232
- 'onUpdate:modelValue'?: VxeMenuEvents.UpdateModelValue
233
- onClick?: VxeMenuEvents.Click
234
- onOptionMenu?: VxeMenuEvents.OptionMenu
235
- onMenuClick?: VxeMenuEvents.MenuClick
236
- }
237
-
238
- export interface VxeMenuListeners {
239
- 'update:modelValue'?: VxeMenuEvents.UpdateModelValue
240
- click?: VxeMenuEvents.Click
241
- optioMenu?: VxeMenuEvents.OptionMenu
242
- menuClick?: VxeMenuEvents.MenuClick
243
- }
244
-
245
- export namespace VxeMenuEvents {
246
- export type UpdateModelValue = (modelValue: VxeMenuPropTypes.ModelValue) => void
247
- export type Click = (params: VxeMenuDefines.ClickEventParams) => void
248
- export type OptionMenu = (params: VxeMenuDefines.OptionMenuEventParams) => void
249
- export type MenuClick = (params: VxeMenuDefines.MenuClickEventParams) => void
250
- }
251
-
252
- export namespace VxeMenuSlotTypes {
253
- export interface DefaultSlotParams {
254
- currentMenu: VxeMenuDefines.MenuItem
255
- currentOption: VxeMenuPropTypes.MenuOption
256
- option: VxeMenuPropTypes.MenuOption
257
- collapsed: boolean
258
- }
259
- export interface IconSlotParams extends DefaultSlotParams {}
260
- export interface TitleSlotParams extends DefaultSlotParams {}
261
-
262
- export interface HeaderSlotParams {
263
- collapsed: boolean
264
- }
265
- export interface FooterSlotParams extends HeaderSlotParams {}
266
- }
267
-
268
- export interface VxeMenuSlots {
269
- [key: string]: ((params: VxeMenuSlotTypes.DefaultSlotParams) => any) | undefined
270
-
271
- /**
272
- * 自定义菜单图标模板
273
- */
274
- optionIcon?: (params: VxeMenuSlotTypes.IconSlotParams) => any
275
- /**
276
- * 自定义菜单图标模板
277
- */
278
- 'option-icon'?: (params: VxeMenuSlotTypes.IconSlotParams) => any
279
- /**
280
- * 自定义菜单标题模板
281
- */
282
- optionTitle?: (params: VxeMenuSlotTypes.TitleSlotParams) => any
283
- /**
284
- * 自定义菜单标题模板
285
- */
286
- 'option-title'?: (params: VxeMenuSlotTypes.TitleSlotParams) => any
287
-
288
- option?: (params: VxeMenuSlotTypes.TitleSlotParams) => any
289
-
290
- header?: (params: VxeMenuSlotTypes.HeaderSlotParams) => any
291
- footer?: (params: VxeMenuSlotTypes.FooterSlotParams) => any
292
- }
293
-
294
- export const Menu: typeof VxeMenu
295
- export default VxeMenu
1
+ import { RenderFunction, SetupContext, Ref } from 'vue'
2
+ import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentSlotType, VxeComponentStyleType, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentSizeType, VxeComponentPermissionCodeType, VxeComponentIsVScrollbar } from '@vxe-ui/core'
3
+ import { VxeLinkPropTypes } from './link'
4
+ import { VxeContextMenuPropTypes, VxeContextMenuDefines } from './context-menu'
5
+ import { VxeScrollbarProps } from './scrollbar'
6
+
7
+ /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
8
+
9
+ export declare const VxeMenu: DefineVxeComponentApp<VxeMenuProps, VxeMenuEventProps, VxeMenuSlots, VxeMenuMethods>
10
+ export type VxeMenuComponent = DefineVxeComponentOptions<VxeMenuProps, VxeMenuEventProps>
11
+
12
+ export type VxeMenuInstance = DefineVxeComponentInstance<VxeMenuProps, VxeMenuConstructor>
13
+
14
+ export interface VxeMenuConstructor extends VxeComponentBaseOptions, VxeMenuMethods {
15
+ props: VxeMenuProps
16
+ context: SetupContext<VxeMenuEmits>
17
+ internalData: MenuInternalData
18
+ reactData: MenuReactData
19
+ getRefMaps(): MenuPrivateRef
20
+ getComputeMaps(): MenuPrivateComputed
21
+ renderVN: RenderFunction
22
+ }
23
+
24
+ export interface MenuPrivateRef {
25
+ refElem: Ref<HTMLDivElement | undefined>
26
+ }
27
+ export interface VxeMenuPrivateRef extends MenuPrivateRef {}
28
+
29
+ export namespace VxeMenuPropTypes {
30
+ export type ModelValue = string | number | null
31
+ export type Size = VxeComponentSizeType
32
+ export type Loading = boolean
33
+ export type Border = boolean | 'first' | 'first-group' | 'group' | 'all'
34
+ export type Accordion = boolean
35
+ export interface OptionProps {
36
+ name?: string
37
+ title?: string
38
+ icon?: string
39
+ children?: string
40
+ linkUrl?: string
41
+ linkTarget?: string
42
+ routerLink?: string
43
+ }
44
+
45
+ export interface MenuOption {
46
+ name?: VxeMenuPropTypes.ModelValue
47
+ title?: string | number
48
+ icon?: string
49
+ linkUrl?: string
50
+ linkTarget?: VxeLinkPropTypes.Target
51
+ routerLink?: VxeLinkPropTypes.RouterLink
52
+ expanded?: boolean
53
+ permissionCode?: VxeComponentPermissionCodeType
54
+ children?: MenuOption[]
55
+ slots?: {
56
+ icon?: string | ((params: VxeMenuSlotTypes.IconSlotParams) => VxeComponentSlotType | VxeComponentSlotType[]) | null
57
+ title?: string | ((params: VxeMenuSlotTypes.TitleSlotParams) => VxeComponentSlotType | VxeComponentSlotType[]) | null
58
+ default?: string | ((params: VxeMenuSlotTypes.TitleSlotParams) => VxeComponentSlotType | VxeComponentSlotType[]) | null
59
+ }
60
+
61
+ [key: string]: any
62
+ }
63
+
64
+ export type Collapsed = boolean
65
+ export type CollapseFixed = boolean
66
+ export type ExpandAll = boolean
67
+ export type ExpandKeys = (string | number)[]
68
+ export type Options = MenuOption[]
69
+ export interface MenuConfig {
70
+ /**
71
+ * 是否启用
72
+ */
73
+ enabled?: boolean
74
+ /**
75
+ * 菜单配置
76
+ */
77
+ options: VxeContextMenuPropTypes.Options
78
+ /**
79
+ * 该函数的返回值用来决定是否允许显示右键菜单(对于需要对菜单进行权限控制时可能会用到)
80
+ */
81
+ visibleMethod?(params: { $menu: VxeMenuConstructor; options: VxeContextMenuPropTypes.Options; currentMenu: VxeMenuDefines.MenuItem; currentOption: VxeMenuPropTypes.MenuOption }): boolean
82
+ }
83
+ export type AppendTo = string | HTMLElement | ((params: {}) => string | HTMLElement)
84
+ export type UseScrollbar = VxeComponentIsVScrollbar
85
+ export interface ScrollbarConfig extends Pick<VxeScrollbarProps, 'yConfig' | 'padding' | 'autoHide' | 'fluentOverlay' | 'visible' | 'className' | 'viewAttrs' | 'viewClassName' | 'viewInnerClassName'> {
86
+ /**
87
+ * 滚动条宽度
88
+ */
89
+ width?: number | string
90
+ /**
91
+ * 滚动条高度
92
+ */
93
+ height?: number | string
94
+ }
95
+ }
96
+
97
+ export interface VxeMenuProps {
98
+ modelValue?: VxeMenuPropTypes.ModelValue
99
+ size?: VxeMenuPropTypes.Size
100
+ loading?: VxeMenuPropTypes.Loading
101
+ border?: VxeMenuPropTypes.Border
102
+ accordion?: VxeMenuPropTypes.Accordion
103
+ optionProps?: VxeMenuPropTypes.OptionProps
104
+ collapsed?: VxeMenuPropTypes.Collapsed
105
+ collapseFixed?: VxeMenuPropTypes.CollapseFixed
106
+ /**
107
+ * 默认展开所有菜单项(只会在初始化时被触发一次)
108
+ */
109
+ expandAll?: VxeMenuPropTypes.ExpandAll
110
+ /**
111
+ * 默认展开指定菜单项(只会在初始化时被触发一次)
112
+ */
113
+ expandKeys?: VxeMenuPropTypes.ExpandKeys
114
+ options?: VxeMenuPropTypes.Options
115
+ menuConfig?: VxeMenuPropTypes.MenuConfig
116
+ /**
117
+ * 使用虚拟滚动条
118
+ */
119
+ useScrollbar?: VxeMenuPropTypes.UseScrollbar
120
+ /**
121
+ * 滚动条配置项
122
+ */
123
+ scrollbarConfig?: VxeMenuPropTypes.ScrollbarConfig
124
+ /**
125
+ * 挂载到指定元素下
126
+ */
127
+ appendTo?: VxeMenuPropTypes.AppendTo
128
+ }
129
+
130
+ export interface MenuPrivateComputed {}
131
+ export interface VxeMenuPrivateComputed extends MenuPrivateComputed {}
132
+
133
+ export interface MenuInternalData {
134
+ lastActiveTime: number
135
+ menuInitMaps: Record<number, boolean>
136
+ menuCacheMaps: Record<string, VxeMenuDefines.MenuItem>
137
+ menuKeyMaps: Record<string, VxeMenuDefines.MenuItem>
138
+ menuEffectMaps: Record<number, number>
139
+ }
140
+
141
+ export interface MenuReactData {
142
+ initialized: boolean
143
+ collapseStyle: VxeComponentStyleType
144
+ isEnterCollapse: boolean
145
+ collapseZindex: number
146
+ activeName: undefined | null | VxeMenuPropTypes.ModelValue
147
+ menuList: VxeMenuDefines.MenuItem[]
148
+ itemHeight: number
149
+ }
150
+
151
+ export interface MenuMethods {
152
+ dispatchEvent(type: ValueOf<VxeMenuEmits>, params: Record<string, any>, evnt: Event | null): void
153
+ /**
154
+ * 设置指定菜单 key 为展开状态,第二个参数为选中与否
155
+ */
156
+ setExpandByMenuKey(menuKeys: string | number | (string | number)[], expanded: boolean): Promise<any>
157
+ /**
158
+ * 手动清除所有菜单的展开状态
159
+ */
160
+ clearAllExpandMenu(): Promise<any>
161
+ /**
162
+ * 自动滚动到指定菜单
163
+ */
164
+ scrollToMenuKey(menuKey: string | number): Promise<any>
165
+ /**
166
+ * 自动滚动到旋转的菜单
167
+ */
168
+ scrollToActiveMenu(): Promise<any>
169
+ }
170
+ export interface VxeMenuMethods extends MenuMethods {}
171
+
172
+ export interface MenuPrivateMethods {}
173
+ export interface VxeMenuPrivateMethods extends MenuPrivateMethods {}
174
+
175
+ export type VxeMenuEmits = ['update:modelValue', 'click', 'option-menu', 'menu-click']
176
+
177
+ export namespace VxeMenuDefines {
178
+ export interface MenuEventParams extends VxeComponentEventParams {
179
+ $menu: VxeMenuConstructor
180
+ }
181
+
182
+ export interface MenuItem extends VxeMenuPropTypes.MenuOption {
183
+ itemConf: VxeMenuPropTypes.MenuOption
184
+ itemId: number
185
+ itemKey: string | number
186
+ level: number
187
+ parentKey: string | number
188
+ isExactActive: boolean
189
+ isActive: boolean
190
+ isExpand: boolean
191
+ hasChild: boolean
192
+ childList: MenuItem[]
193
+ }
194
+
195
+ export interface ClickParams {
196
+ currentMenu: VxeMenuDefines.MenuItem
197
+ currentOption: VxeMenuPropTypes.MenuOption
198
+ option: VxeMenuPropTypes.MenuOption
199
+
200
+ /**
201
+ * 已废弃
202
+ * @deprecated
203
+ */
204
+ menu: VxeMenuDefines.MenuItem
205
+ }
206
+ export interface ClickEventParams extends MenuEventParams, ClickParams {}
207
+
208
+ export interface OptionMenuEventParams extends MenuEventParams {
209
+ currentMenu: VxeMenuDefines.MenuItem
210
+ currentOption: VxeMenuPropTypes.MenuOption
211
+ option: VxeMenuPropTypes.MenuOption
212
+ }
213
+ export interface MenuClickEventParams extends MenuEventParams {
214
+ currentMenu: VxeMenuDefines.MenuItem
215
+ currentOption: VxeMenuPropTypes.MenuOption
216
+ menu: VxeContextMenuDefines.MenuFirstOption | VxeContextMenuDefines.MenuChildOption
217
+ }
218
+ }
219
+
220
+ export type VxeMenuEventProps = {
221
+ 'onUpdate:modelValue'?: VxeMenuEvents.UpdateModelValue
222
+ onClick?: VxeMenuEvents.Click
223
+ onOptionMenu?: VxeMenuEvents.OptionMenu
224
+ onMenuClick?: VxeMenuEvents.MenuClick
225
+ }
226
+
227
+ export interface VxeMenuListeners {
228
+ 'update:modelValue'?: VxeMenuEvents.UpdateModelValue
229
+ click?: VxeMenuEvents.Click
230
+ optioMenu?: VxeMenuEvents.OptionMenu
231
+ menuClick?: VxeMenuEvents.MenuClick
232
+ }
233
+
234
+ export namespace VxeMenuEvents {
235
+ export type UpdateModelValue = (modelValue: VxeMenuPropTypes.ModelValue) => void
236
+ export type Click = (params: VxeMenuDefines.ClickEventParams) => void
237
+ export type OptionMenu = (params: VxeMenuDefines.OptionMenuEventParams) => void
238
+ export type MenuClick = (params: VxeMenuDefines.MenuClickEventParams) => void
239
+ }
240
+
241
+ export namespace VxeMenuSlotTypes {
242
+ export interface DefaultSlotParams {
243
+ currentMenu: VxeMenuDefines.MenuItem
244
+ currentOption: VxeMenuPropTypes.MenuOption
245
+ option: VxeMenuPropTypes.MenuOption
246
+ collapsed: boolean
247
+ }
248
+ export interface IconSlotParams extends DefaultSlotParams {}
249
+ export interface TitleSlotParams extends DefaultSlotParams {}
250
+
251
+ export interface HeaderSlotParams {
252
+ collapsed: boolean
253
+ }
254
+ export interface FooterSlotParams extends HeaderSlotParams {}
255
+ }
256
+
257
+ export interface VxeMenuSlots {
258
+ [key: string]: ((params: VxeMenuSlotTypes.DefaultSlotParams) => any) | undefined
259
+
260
+ /**
261
+ * 自定义菜单图标模板
262
+ */
263
+ optionIcon?: (params: VxeMenuSlotTypes.IconSlotParams) => any
264
+ /**
265
+ * 自定义菜单图标模板
266
+ */
267
+ 'option-icon'?: (params: VxeMenuSlotTypes.IconSlotParams) => any
268
+ /**
269
+ * 自定义菜单标题模板
270
+ */
271
+ optionTitle?: (params: VxeMenuSlotTypes.TitleSlotParams) => any
272
+ /**
273
+ * 自定义菜单标题模板
274
+ */
275
+ 'option-title'?: (params: VxeMenuSlotTypes.TitleSlotParams) => any
276
+
277
+ option?: (params: VxeMenuSlotTypes.TitleSlotParams) => any
278
+
279
+ header?: (params: VxeMenuSlotTypes.HeaderSlotParams) => any
280
+ footer?: (params: VxeMenuSlotTypes.FooterSlotParams) => any
281
+ }
282
+
283
+ export const Menu: typeof VxeMenu
284
+ export default VxeMenu