ele-admin-plus 1.1.6-beta.2 → 1.1.6-beta.4

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 (470) hide show
  1. package/es/components.d.ts +1 -0
  2. package/es/components.js +10 -8
  3. package/es/ele-alert/index.d.ts +4 -4
  4. package/es/ele-alert/props.d.ts +2 -2
  5. package/es/ele-app/index.d.ts +1 -1
  6. package/es/ele-app/style/common/index.js +1 -0
  7. package/es/ele-app/style/css-var.scss +9 -137
  8. package/es/ele-app/style/index.js +4 -6
  9. package/es/ele-app/style/index.scss +4 -4
  10. package/es/ele-app/style/message/css-var.scss +12 -0
  11. package/es/ele-app/style/{message.js → message/index.js} +1 -1
  12. package/{lib/ele-app/style/message.scss → es/ele-app/style/message/index.scss} +2 -2
  13. package/es/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  14. package/es/ele-app/style/overwrite/autocomplete/index.js +1 -0
  15. package/es/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  16. package/es/ele-app/style/overwrite/backtop/index.js +1 -0
  17. package/es/ele-app/style/overwrite/backtop/index.scss +8 -0
  18. package/es/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  19. package/es/ele-app/style/overwrite/cascader/index.js +1 -0
  20. package/es/ele-app/style/overwrite/cascader/index.scss +115 -0
  21. package/es/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  22. package/es/ele-app/style/overwrite/checkbox/index.js +1 -0
  23. package/es/ele-app/style/overwrite/checkbox/index.scss +159 -0
  24. package/es/ele-app/style/overwrite/color-picker/index.js +1 -0
  25. package/es/ele-app/style/overwrite/color-picker/index.scss +42 -0
  26. package/es/ele-app/style/overwrite/css-var.scss +35 -0
  27. package/es/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  28. package/es/ele-app/style/overwrite/date-picker/index.js +1 -0
  29. package/es/ele-app/style/overwrite/date-picker/index.scss +866 -0
  30. package/es/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  31. package/es/ele-app/style/overwrite/descriptions/index.js +1 -0
  32. package/es/ele-app/style/overwrite/descriptions/index.scss +48 -0
  33. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  34. package/es/ele-app/style/overwrite/image-viewer/index.js +1 -0
  35. package/es/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  36. package/es/ele-app/style/overwrite/index.js +17 -0
  37. package/es/ele-app/style/overwrite/index.scss +17 -0
  38. package/es/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  39. package/es/ele-app/style/overwrite/message-box/index.js +2 -0
  40. package/es/ele-app/style/overwrite/message-box/index.scss +84 -0
  41. package/es/ele-app/style/overwrite/notification/css-var.scss +8 -0
  42. package/es/ele-app/style/overwrite/notification/index.js +2 -0
  43. package/es/ele-app/style/overwrite/notification/index.scss +65 -0
  44. package/es/ele-app/style/overwrite/popper/css-var.scss +14 -0
  45. package/es/ele-app/style/overwrite/popper/index.js +1 -0
  46. package/es/ele-app/style/overwrite/popper/index.scss +9 -0
  47. package/es/ele-app/style/overwrite/radio/css-var.scss +8 -0
  48. package/es/ele-app/style/overwrite/radio/index.js +1 -0
  49. package/es/ele-app/style/overwrite/radio/index.scss +126 -0
  50. package/es/ele-app/style/overwrite/select/css-var.scss +8 -0
  51. package/es/ele-app/style/overwrite/select/index.js +1 -0
  52. package/es/ele-app/style/overwrite/select/index.scss +111 -0
  53. package/es/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  54. package/es/ele-app/style/overwrite/table-filter/index.js +1 -0
  55. package/es/ele-app/style/overwrite/table-filter/index.scss +98 -0
  56. package/es/ele-app/style/overwrite/tag/css-var.scss +24 -0
  57. package/es/ele-app/style/overwrite/tag/index.js +1 -0
  58. package/es/ele-app/style/overwrite/tag/index.scss +303 -0
  59. package/es/ele-app/style/overwrite/tree/css-var.scss +8 -0
  60. package/es/ele-app/style/overwrite/tree/index.js +1 -0
  61. package/es/ele-app/style/overwrite/tree/index.scss +103 -0
  62. package/es/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  63. package/es/ele-app/style/overwrite/tree-select/index.js +1 -0
  64. package/es/ele-app/style/overwrite/tree-select/index.scss +95 -0
  65. package/es/ele-app/style/scrollbar/css-var.scss +53 -0
  66. package/es/ele-app/style/scrollbar/index.js +1 -0
  67. package/es/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  68. package/es/ele-app/types/components.d.ts +29 -10
  69. package/es/ele-app/types/core.d.ts +30 -0
  70. package/es/ele-app/types/element.d.ts +61 -0
  71. package/es/ele-app/types/index.d.ts +3 -88
  72. package/es/ele-avatar-group/index.d.ts +5 -5
  73. package/es/ele-avatar-group/props.d.ts +2 -2
  74. package/es/ele-basic-select/index.d.ts +51 -27
  75. package/es/ele-basic-select/index.js +151 -74
  76. package/es/ele-basic-select/props.d.ts +37 -29
  77. package/es/ele-basic-select/props.js +39 -29
  78. package/es/ele-basic-select/style/index.scss +123 -47
  79. package/es/ele-basic-select/types/index.d.ts +4 -0
  80. package/es/ele-basic-select/util.d.ts +14 -0
  81. package/es/ele-basic-select/util.js +30 -0
  82. package/es/ele-breadcrumb/index.d.ts +4 -4
  83. package/es/ele-breadcrumb/props.d.ts +2 -2
  84. package/es/ele-card/index.d.ts +7 -3
  85. package/es/ele-card/index.js +14 -0
  86. package/es/ele-card/props.d.ts +5 -1
  87. package/es/ele-card/props.js +4 -0
  88. package/es/ele-card/style/index.scss +11 -0
  89. package/es/ele-check-card/components/card-item.d.ts +1 -1
  90. package/es/ele-check-card/index.d.ts +11 -4
  91. package/es/ele-check-card/props.d.ts +4 -1
  92. package/es/ele-check-card/props.js +6 -1
  93. package/es/ele-config-provider/index.d.ts +2 -2
  94. package/es/ele-config-provider/props.d.ts +1 -1
  95. package/es/ele-config-provider/types/index.d.ts +2 -2
  96. package/es/ele-copyable/index.d.ts +5 -3
  97. package/es/ele-cropper/index.d.ts +10 -8
  98. package/es/ele-cropper-modal/index.d.ts +7 -7
  99. package/es/ele-cropper-modal/props.d.ts +5 -2
  100. package/es/ele-data-table/index.d.ts +23 -9
  101. package/es/ele-data-table/index.js +265 -73
  102. package/es/ele-data-table/props.d.ts +13 -3
  103. package/es/ele-data-table/props.js +12 -2
  104. package/es/ele-data-table/types/index.d.ts +46 -28
  105. package/es/ele-data-table/util.d.ts +54 -26
  106. package/es/ele-data-table/util.js +99 -61
  107. package/es/ele-drawer/index.d.ts +53 -50
  108. package/es/ele-drawer/props.d.ts +19 -18
  109. package/es/ele-dropdown/index.d.ts +46 -46
  110. package/es/ele-dropdown/props.d.ts +16 -16
  111. package/es/ele-edit-tag/index.d.ts +12 -17
  112. package/es/ele-edit-tag/index.js +32 -26
  113. package/es/ele-edit-tag/props.d.ts +3 -5
  114. package/es/ele-edit-tag/props.js +0 -2
  115. package/es/ele-edit-tag/style/index.scss +65 -39
  116. package/es/ele-ellipsis/index.d.ts +2 -3
  117. package/es/ele-ellipsis/index.js +24 -3
  118. package/es/ele-ellipsis/types/index.d.ts +1 -1
  119. package/es/ele-file-list/components/file-grid-item.d.ts +1 -1
  120. package/es/ele-file-list/components/file-grid.d.ts +3 -3
  121. package/es/ele-file-list/components/file-table-item.d.ts +1 -1
  122. package/es/ele-file-list/components/file-table.d.ts +3 -3
  123. package/es/ele-file-list/index.d.ts +6 -6
  124. package/es/ele-file-list/props.d.ts +1 -1
  125. package/es/ele-icon-select/index.d.ts +53 -51
  126. package/es/ele-icon-select/index.js +222 -64
  127. package/es/ele-icon-select/props.d.ts +26 -33
  128. package/es/ele-icon-select/props.js +24 -31
  129. package/es/ele-icon-select/style/index.js +0 -1
  130. package/es/ele-icon-select/style/index.scss +0 -12
  131. package/es/ele-map-picker/components/map-view.d.ts +6 -6
  132. package/es/ele-map-picker/components/map-view.js +2 -1
  133. package/es/ele-map-picker/index.d.ts +6 -6
  134. package/es/ele-map-picker/props.d.ts +2 -3
  135. package/es/ele-menus/index.d.ts +28 -19
  136. package/es/ele-menus/props.d.ts +10 -7
  137. package/es/ele-modal/index.d.ts +50 -44
  138. package/es/ele-modal/index.js +41 -19
  139. package/es/ele-modal/props.d.ts +16 -15
  140. package/es/ele-modal/util.d.ts +3 -1
  141. package/es/ele-modal/util.js +6 -4
  142. package/es/ele-pagination/index.d.ts +22 -22
  143. package/es/ele-pagination/index.js +2 -1
  144. package/es/ele-pagination/props.d.ts +9 -9
  145. package/es/ele-popconfirm/index.d.ts +68 -123
  146. package/es/ele-popconfirm/props.d.ts +24 -46
  147. package/es/ele-popover/index.d.ts +52 -106
  148. package/es/ele-popover/props.d.ts +20 -42
  149. package/es/ele-pro-layout/components/pro-header.d.ts +6 -6
  150. package/es/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  151. package/es/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  152. package/es/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  153. package/es/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  154. package/es/ele-pro-layout/index.d.ts +35 -35
  155. package/es/ele-pro-layout/props.d.ts +4 -4
  156. package/es/ele-pro-layout/types/index.d.ts +5 -6
  157. package/es/ele-pro-layout/util.d.ts +1 -2
  158. package/es/ele-pro-table/components/table-tools.d.ts +3 -3
  159. package/es/ele-pro-table/components/table-tools.js +5 -8
  160. package/es/ele-pro-table/components/tool-column.d.ts +2 -2
  161. package/es/ele-pro-table/index.d.ts +33 -35
  162. package/es/ele-pro-table/index.js +123 -82
  163. package/es/ele-pro-table/props.d.ts +12 -15
  164. package/es/ele-pro-table/props.js +1 -1
  165. package/es/ele-pro-table/types/index.d.ts +5 -14
  166. package/es/ele-pro-table/util.d.ts +5 -11
  167. package/es/ele-pro-table/util.js +4 -5
  168. package/es/ele-segmented/index.d.ts +1 -1
  169. package/es/ele-split-panel/index.d.ts +1 -0
  170. package/es/ele-split-panel/index.js +34 -4
  171. package/es/ele-steps/index.d.ts +24 -24
  172. package/es/ele-steps/props.d.ts +7 -7
  173. package/es/ele-table-select/index.d.ts +83 -86
  174. package/es/ele-table-select/index.js +265 -236
  175. package/es/ele-table-select/props.d.ts +43 -37
  176. package/es/ele-table-select/props.js +41 -32
  177. package/es/ele-tabs/components/tab-title.d.ts +2 -2
  178. package/es/ele-tabs/index.d.ts +28 -29
  179. package/es/ele-tabs/index.js +12 -4
  180. package/es/ele-tabs/props.d.ts +10 -10
  181. package/es/ele-text/index.d.ts +2 -2
  182. package/es/ele-tool/index.d.ts +3 -3
  183. package/es/ele-tool/props.d.ts +1 -1
  184. package/es/ele-tooltip/index.d.ts +51 -114
  185. package/es/ele-tooltip/props.d.ts +20 -47
  186. package/es/ele-tooltip/props.js +2 -1
  187. package/es/ele-tour/index.d.ts +2 -2
  188. package/es/ele-tour/types/index.d.ts +1 -1
  189. package/es/ele-tour/util.d.ts +1 -1
  190. package/es/ele-tree-select/index.d.ts +144 -0
  191. package/es/ele-tree-select/index.js +412 -0
  192. package/es/ele-tree-select/props.d.ts +92 -0
  193. package/es/ele-tree-select/props.js +87 -0
  194. package/es/ele-tree-select/style/css-var.scss +8 -0
  195. package/es/ele-tree-select/style/index.js +3 -0
  196. package/es/ele-tree-select/style/index.scss +26 -0
  197. package/es/ele-tree-select/types/index.d.ts +17 -0
  198. package/es/ele-tree-select/util.d.ts +48 -0
  199. package/es/ele-tree-select/util.js +128 -0
  200. package/es/ele-upload-list/index.d.ts +1 -1
  201. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  202. package/es/ele-virtual-table/components/body-row.d.ts +3 -3
  203. package/es/ele-virtual-table/components/body-row.js +3 -3
  204. package/es/ele-virtual-table/components/cell-filter.d.ts +1 -1
  205. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  206. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  207. package/es/ele-virtual-table/index.d.ts +386 -0
  208. package/es/ele-virtual-table/index.js +294 -142
  209. package/es/ele-virtual-table/props.d.ts +6 -1
  210. package/es/ele-virtual-table/style/index.scss +1 -1
  211. package/es/ele-virtual-table/types/index.d.ts +8 -4
  212. package/es/ele-virtual-table/util.d.ts +16 -14
  213. package/es/ele-virtual-table/util.js +28 -46
  214. package/es/ele-watermark/index.d.ts +0 -1
  215. package/es/ele-watermark/index.js +14 -14
  216. package/es/ele-watermark/util.d.ts +6 -0
  217. package/es/ele-watermark/util.js +8 -0
  218. package/es/style/index.scss +1 -0
  219. package/es/style/themes/dark.scss +3 -0
  220. package/es/style/themes/default.scss +152 -9
  221. package/es/style/themes/rounded.scss +34 -0
  222. package/es/style/themes/theme-util.scss +3 -3
  223. package/es/utils/core.d.ts +8 -1
  224. package/es/utils/core.js +15 -0
  225. package/lib/components.d.ts +1 -0
  226. package/lib/components.js +10 -8
  227. package/lib/ele-alert/index.d.ts +4 -4
  228. package/lib/ele-alert/props.d.ts +2 -2
  229. package/lib/ele-app/index.d.ts +1 -1
  230. package/lib/ele-app/style/common/index.js +2 -0
  231. package/lib/ele-app/style/css-var.scss +9 -137
  232. package/lib/ele-app/style/index.js +4 -6
  233. package/lib/ele-app/style/index.scss +4 -4
  234. package/lib/ele-app/style/message/css-var.scss +12 -0
  235. package/lib/ele-app/style/{message.js → message/index.js} +1 -1
  236. package/{es/ele-app/style/message.scss → lib/ele-app/style/message/index.scss} +2 -2
  237. package/lib/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  238. package/lib/ele-app/style/overwrite/autocomplete/index.js +2 -0
  239. package/lib/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  240. package/lib/ele-app/style/overwrite/backtop/index.js +2 -0
  241. package/lib/ele-app/style/overwrite/backtop/index.scss +8 -0
  242. package/lib/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  243. package/lib/ele-app/style/overwrite/cascader/index.js +2 -0
  244. package/lib/ele-app/style/overwrite/cascader/index.scss +115 -0
  245. package/lib/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  246. package/lib/ele-app/style/overwrite/checkbox/index.js +2 -0
  247. package/lib/ele-app/style/overwrite/checkbox/index.scss +159 -0
  248. package/lib/ele-app/style/overwrite/color-picker/index.js +2 -0
  249. package/lib/ele-app/style/overwrite/color-picker/index.scss +42 -0
  250. package/lib/ele-app/style/overwrite/css-var.scss +35 -0
  251. package/lib/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  252. package/lib/ele-app/style/overwrite/date-picker/index.js +2 -0
  253. package/lib/ele-app/style/overwrite/date-picker/index.scss +866 -0
  254. package/lib/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  255. package/lib/ele-app/style/overwrite/descriptions/index.js +2 -0
  256. package/lib/ele-app/style/overwrite/descriptions/index.scss +48 -0
  257. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  258. package/lib/ele-app/style/overwrite/image-viewer/index.js +2 -0
  259. package/lib/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  260. package/lib/ele-app/style/overwrite/index.js +18 -0
  261. package/lib/ele-app/style/overwrite/index.scss +17 -0
  262. package/lib/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  263. package/lib/ele-app/style/overwrite/message-box/index.js +3 -0
  264. package/lib/ele-app/style/overwrite/message-box/index.scss +84 -0
  265. package/lib/ele-app/style/overwrite/notification/css-var.scss +8 -0
  266. package/lib/ele-app/style/overwrite/notification/index.js +3 -0
  267. package/lib/ele-app/style/overwrite/notification/index.scss +65 -0
  268. package/lib/ele-app/style/overwrite/popper/css-var.scss +14 -0
  269. package/lib/ele-app/style/overwrite/popper/index.js +2 -0
  270. package/lib/ele-app/style/overwrite/popper/index.scss +9 -0
  271. package/lib/ele-app/style/overwrite/radio/css-var.scss +8 -0
  272. package/lib/ele-app/style/overwrite/radio/index.js +2 -0
  273. package/lib/ele-app/style/overwrite/radio/index.scss +126 -0
  274. package/lib/ele-app/style/overwrite/select/css-var.scss +8 -0
  275. package/lib/ele-app/style/overwrite/select/index.js +2 -0
  276. package/lib/ele-app/style/overwrite/select/index.scss +111 -0
  277. package/lib/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  278. package/lib/ele-app/style/overwrite/table-filter/index.js +2 -0
  279. package/lib/ele-app/style/overwrite/table-filter/index.scss +98 -0
  280. package/lib/ele-app/style/overwrite/tag/css-var.scss +24 -0
  281. package/lib/ele-app/style/overwrite/tag/index.js +2 -0
  282. package/lib/ele-app/style/overwrite/tag/index.scss +303 -0
  283. package/lib/ele-app/style/overwrite/tree/css-var.scss +8 -0
  284. package/lib/ele-app/style/overwrite/tree/index.js +2 -0
  285. package/lib/ele-app/style/overwrite/tree/index.scss +103 -0
  286. package/lib/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  287. package/lib/ele-app/style/overwrite/tree-select/index.js +2 -0
  288. package/lib/ele-app/style/overwrite/tree-select/index.scss +95 -0
  289. package/lib/ele-app/style/scrollbar/css-var.scss +53 -0
  290. package/lib/ele-app/style/scrollbar/index.js +2 -0
  291. package/lib/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  292. package/lib/ele-app/types/components.d.ts +29 -10
  293. package/lib/ele-app/types/core.d.ts +30 -0
  294. package/lib/ele-app/types/element.d.ts +61 -0
  295. package/lib/ele-app/types/index.d.ts +3 -88
  296. package/lib/ele-avatar-group/index.d.ts +5 -5
  297. package/lib/ele-avatar-group/props.d.ts +2 -2
  298. package/lib/ele-basic-select/index.d.ts +51 -27
  299. package/lib/ele-basic-select/index.js +150 -73
  300. package/lib/ele-basic-select/props.d.ts +37 -29
  301. package/lib/ele-basic-select/props.js +39 -29
  302. package/lib/ele-basic-select/style/index.scss +123 -47
  303. package/lib/ele-basic-select/types/index.d.ts +4 -0
  304. package/lib/ele-basic-select/util.d.ts +14 -0
  305. package/lib/ele-basic-select/util.js +30 -0
  306. package/lib/ele-breadcrumb/index.d.ts +4 -4
  307. package/lib/ele-breadcrumb/props.d.ts +2 -2
  308. package/lib/ele-card/index.d.ts +7 -3
  309. package/lib/ele-card/index.js +14 -0
  310. package/lib/ele-card/props.d.ts +5 -1
  311. package/lib/ele-card/props.js +4 -0
  312. package/lib/ele-card/style/index.scss +11 -0
  313. package/lib/ele-check-card/components/card-item.d.ts +1 -1
  314. package/lib/ele-check-card/index.d.ts +11 -4
  315. package/lib/ele-check-card/props.d.ts +4 -1
  316. package/lib/ele-check-card/props.js +6 -1
  317. package/lib/ele-config-provider/index.d.ts +2 -2
  318. package/lib/ele-config-provider/props.d.ts +1 -1
  319. package/lib/ele-config-provider/types/index.d.ts +2 -2
  320. package/lib/ele-copyable/index.d.ts +5 -3
  321. package/lib/ele-cropper/index.d.ts +10 -8
  322. package/lib/ele-cropper-modal/index.d.ts +7 -7
  323. package/lib/ele-cropper-modal/props.d.ts +5 -2
  324. package/lib/ele-data-table/index.d.ts +23 -9
  325. package/lib/ele-data-table/index.js +262 -70
  326. package/lib/ele-data-table/props.d.ts +13 -3
  327. package/lib/ele-data-table/props.js +12 -2
  328. package/lib/ele-data-table/types/index.d.ts +46 -28
  329. package/lib/ele-data-table/util.d.ts +54 -26
  330. package/lib/ele-data-table/util.js +98 -60
  331. package/lib/ele-drawer/index.d.ts +53 -50
  332. package/lib/ele-drawer/props.d.ts +19 -18
  333. package/lib/ele-dropdown/index.d.ts +46 -46
  334. package/lib/ele-dropdown/props.d.ts +16 -16
  335. package/lib/ele-edit-tag/index.d.ts +12 -17
  336. package/lib/ele-edit-tag/index.js +31 -25
  337. package/lib/ele-edit-tag/props.d.ts +3 -5
  338. package/lib/ele-edit-tag/props.js +0 -2
  339. package/lib/ele-edit-tag/style/index.scss +65 -39
  340. package/lib/ele-ellipsis/index.d.ts +2 -3
  341. package/lib/ele-ellipsis/index.js +23 -2
  342. package/lib/ele-ellipsis/types/index.d.ts +1 -1
  343. package/lib/ele-file-list/components/file-grid-item.d.ts +1 -1
  344. package/lib/ele-file-list/components/file-grid.d.ts +3 -3
  345. package/lib/ele-file-list/components/file-table-item.d.ts +1 -1
  346. package/lib/ele-file-list/components/file-table.d.ts +3 -3
  347. package/lib/ele-file-list/index.d.ts +6 -6
  348. package/lib/ele-file-list/props.d.ts +1 -1
  349. package/lib/ele-icon-select/index.d.ts +53 -51
  350. package/lib/ele-icon-select/index.js +221 -63
  351. package/lib/ele-icon-select/props.d.ts +26 -33
  352. package/lib/ele-icon-select/props.js +24 -31
  353. package/lib/ele-icon-select/style/index.js +0 -1
  354. package/lib/ele-icon-select/style/index.scss +0 -12
  355. package/lib/ele-map-picker/components/map-view.d.ts +6 -6
  356. package/lib/ele-map-picker/components/map-view.js +2 -1
  357. package/lib/ele-map-picker/index.d.ts +6 -6
  358. package/lib/ele-map-picker/props.d.ts +2 -3
  359. package/lib/ele-menus/index.d.ts +28 -19
  360. package/lib/ele-menus/props.d.ts +10 -7
  361. package/lib/ele-modal/index.d.ts +50 -44
  362. package/lib/ele-modal/index.js +41 -19
  363. package/lib/ele-modal/props.d.ts +16 -15
  364. package/lib/ele-modal/util.d.ts +3 -1
  365. package/lib/ele-modal/util.js +6 -4
  366. package/lib/ele-pagination/index.d.ts +22 -22
  367. package/lib/ele-pagination/index.js +2 -1
  368. package/lib/ele-pagination/props.d.ts +9 -9
  369. package/lib/ele-popconfirm/index.d.ts +68 -123
  370. package/lib/ele-popconfirm/props.d.ts +24 -46
  371. package/lib/ele-popover/index.d.ts +52 -106
  372. package/lib/ele-popover/props.d.ts +20 -42
  373. package/lib/ele-pro-layout/components/pro-header.d.ts +6 -6
  374. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  375. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  376. package/lib/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  377. package/lib/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  378. package/lib/ele-pro-layout/index.d.ts +35 -35
  379. package/lib/ele-pro-layout/props.d.ts +4 -4
  380. package/lib/ele-pro-layout/types/index.d.ts +5 -6
  381. package/lib/ele-pro-layout/util.d.ts +1 -2
  382. package/lib/ele-pro-table/components/table-tools.d.ts +3 -3
  383. package/lib/ele-pro-table/components/table-tools.js +4 -7
  384. package/lib/ele-pro-table/components/tool-column.d.ts +2 -2
  385. package/lib/ele-pro-table/index.d.ts +33 -35
  386. package/lib/ele-pro-table/index.js +119 -78
  387. package/lib/ele-pro-table/props.d.ts +12 -15
  388. package/lib/ele-pro-table/props.js +1 -1
  389. package/lib/ele-pro-table/types/index.d.ts +5 -14
  390. package/lib/ele-pro-table/util.d.ts +5 -11
  391. package/lib/ele-pro-table/util.js +4 -5
  392. package/lib/ele-segmented/index.d.ts +1 -1
  393. package/lib/ele-split-panel/index.d.ts +1 -0
  394. package/lib/ele-split-panel/index.js +34 -4
  395. package/lib/ele-steps/index.d.ts +24 -24
  396. package/lib/ele-steps/props.d.ts +7 -7
  397. package/lib/ele-table-select/index.d.ts +83 -86
  398. package/lib/ele-table-select/index.js +264 -235
  399. package/lib/ele-table-select/props.d.ts +43 -37
  400. package/lib/ele-table-select/props.js +41 -32
  401. package/lib/ele-tabs/components/tab-title.d.ts +2 -2
  402. package/lib/ele-tabs/index.d.ts +28 -29
  403. package/lib/ele-tabs/index.js +11 -3
  404. package/lib/ele-tabs/props.d.ts +10 -10
  405. package/lib/ele-text/index.d.ts +2 -2
  406. package/lib/ele-tool/index.d.ts +3 -3
  407. package/lib/ele-tool/props.d.ts +1 -1
  408. package/lib/ele-tooltip/index.d.ts +51 -114
  409. package/lib/ele-tooltip/props.d.ts +20 -47
  410. package/lib/ele-tooltip/props.js +2 -1
  411. package/lib/ele-tour/index.d.ts +2 -2
  412. package/lib/ele-tour/types/index.d.ts +1 -1
  413. package/lib/ele-tour/util.d.ts +1 -1
  414. package/lib/ele-tree-select/index.d.ts +144 -0
  415. package/lib/ele-tree-select/index.js +411 -0
  416. package/lib/ele-tree-select/props.d.ts +92 -0
  417. package/lib/ele-tree-select/props.js +87 -0
  418. package/lib/ele-tree-select/style/css-var.scss +8 -0
  419. package/lib/ele-tree-select/style/index.js +4 -0
  420. package/lib/ele-tree-select/style/index.scss +26 -0
  421. package/lib/ele-tree-select/types/index.d.ts +17 -0
  422. package/lib/ele-tree-select/util.d.ts +48 -0
  423. package/lib/ele-tree-select/util.js +128 -0
  424. package/lib/ele-upload-list/index.d.ts +1 -1
  425. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  426. package/lib/ele-virtual-table/components/body-row.d.ts +3 -3
  427. package/lib/ele-virtual-table/components/body-row.js +3 -3
  428. package/lib/ele-virtual-table/components/cell-filter.d.ts +1 -1
  429. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  430. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  431. package/lib/ele-virtual-table/index.d.ts +386 -0
  432. package/lib/ele-virtual-table/index.js +291 -139
  433. package/lib/ele-virtual-table/props.d.ts +6 -1
  434. package/lib/ele-virtual-table/style/index.scss +1 -1
  435. package/lib/ele-virtual-table/types/index.d.ts +8 -4
  436. package/lib/ele-virtual-table/util.d.ts +16 -14
  437. package/lib/ele-virtual-table/util.js +26 -44
  438. package/lib/ele-watermark/index.d.ts +0 -1
  439. package/lib/ele-watermark/index.js +13 -13
  440. package/lib/ele-watermark/util.d.ts +6 -0
  441. package/lib/ele-watermark/util.js +8 -0
  442. package/lib/style/index.scss +1 -0
  443. package/lib/style/themes/dark.scss +3 -0
  444. package/lib/style/themes/default.scss +152 -9
  445. package/lib/style/themes/rounded.scss +34 -0
  446. package/lib/style/themes/theme-util.scss +3 -3
  447. package/lib/utils/core.d.ts +8 -1
  448. package/lib/utils/core.js +15 -0
  449. package/package.json +65 -58
  450. package/typings/global.d.ts +1 -0
  451. package/es/ele-app/style/common.js +0 -1
  452. package/es/ele-app/style/overwrite.js +0 -1
  453. package/es/ele-app/style/overwrite.scss +0 -1728
  454. package/es/ele-app/style/scrollbar.js +0 -1
  455. package/es/ele-basic-select/components/select-tag.d.ts +0 -32
  456. package/es/ele-basic-select/components/select-tag.js +0 -65
  457. package/es/ele-icon-select/components/icon-popper.d.ts +0 -93
  458. package/es/ele-icon-select/components/icon-popper.js +0 -253
  459. package/es/ele-table-select/types/index.d.ts +0 -12
  460. package/lib/ele-app/style/common.js +0 -2
  461. package/lib/ele-app/style/overwrite.js +0 -2
  462. package/lib/ele-app/style/overwrite.scss +0 -1728
  463. package/lib/ele-app/style/scrollbar.js +0 -2
  464. package/lib/ele-basic-select/components/select-tag.d.ts +0 -32
  465. package/lib/ele-basic-select/components/select-tag.js +0 -64
  466. package/lib/ele-icon-select/components/icon-popper.d.ts +0 -93
  467. package/lib/ele-icon-select/components/icon-popper.js +0 -252
  468. package/lib/ele-table-select/types/index.d.ts +0 -12
  469. /package/es/ele-app/style/{common.scss → common/index.scss} +0 -0
  470. /package/lib/ele-app/style/{common.scss → common/index.scss} +0 -0
@@ -23,20 +23,17 @@ const _sfc_main = vue.defineComponent({
23
23
  },
24
24
  props: props.virtualTableProps,
25
25
  emits: props.virtualTableEmits,
26
- setup(props2, { emit, slots }) {
26
+ setup(props2, { emit }) {
27
27
  const { t } = elementPlus.useLocale();
28
28
  const events = util.useEmits(emit);
29
- const {
30
- getCurrent,
31
- setCurrent,
32
- getSelected,
33
- addSelected,
34
- removeSelected,
35
- clearSelected,
36
- getScrollTop,
37
- cacheScrollTop
38
- } = util$1.useState();
39
- const { wrapWidth, wrapHeight } = util$1.useAutoResize(() => rootRef.value);
29
+ const { wrapWidth, wrapHeight, updateWrapSize } = util$1.useAutoResize(
30
+ () => rootRef.value
31
+ );
32
+ const tableState = {
33
+ checked: /* @__PURE__ */ new Map(),
34
+ reserveChecked: false,
35
+ scrollTop: 0
36
+ };
40
37
  const rootRef = vue.ref(null);
41
38
  const tableRef = vue.ref(null);
42
39
  const tableKey = vue.ref(1);
@@ -50,12 +47,18 @@ const _sfc_main = vue.defineComponent({
50
47
  const tableData = vue.ref([]);
51
48
  const tableColumns = vue.ref([]);
52
49
  const tableScrollLeft = vue.ref(0);
53
- const currentRowKey = vue.ref(props2.currentRowKey ?? null);
54
- const selectedRowKeys = vue.ref(/* @__PURE__ */ new Set([]));
50
+ const selectedRowKey = vue.ref(props2.currentRowKey ?? null);
51
+ const checkedRowKeys = vue.ref(
52
+ new Set(props2.selectedRowKeys || [])
53
+ );
55
54
  const isCheckAll = vue.ref(false);
56
55
  const expandedRowKeys = vue.ref([]);
57
- const sortBy = vue.ref(util$1.getDefaultSort(props2.defaultSort));
58
- const filtered = vue.reactive(util$1.getDefaultFiltered(props2.columns));
56
+ const sortBy = vue.ref(
57
+ util$1.getDefaultSort(props2.defaultSort)
58
+ );
59
+ const filtered = vue.reactive(
60
+ util$1.getDefaultFiltered(props2.columns)
61
+ );
59
62
  const tableTooltipProps = vue.reactive({
60
63
  placement: "top",
61
64
  trigger: "click",
@@ -69,11 +72,6 @@ const _sfc_main = vue.defineComponent({
69
72
  teleported: false,
70
73
  transition: "ele-transition-none"
71
74
  });
72
- const slotKeys = vue.computed(() => {
73
- return Object.keys(slots).filter(
74
- (k) => !["default", "empty", "append"].includes(k)
75
- );
76
- });
77
75
  const treeTableProps = vue.computed(() => {
78
76
  return util$1.getTreeProps(props2.treeProps);
79
77
  });
@@ -165,7 +163,7 @@ const _sfc_main = vue.defineComponent({
165
163
  if (props2.stripe && (rowIndex + 1) % 2 === 0) {
166
164
  classes.push("is-even");
167
165
  }
168
- if (props2.highlightCurrentRow && currentRowKey.value != null && currentRowKey.value === row._rowKey) {
166
+ if (props2.highlightCurrentRow && selectedRowKey.value != null && selectedRowKey.value === row._rowKey) {
169
167
  classes.push("is-current");
170
168
  }
171
169
  const rowClass = props2.rowClassName;
@@ -210,7 +208,7 @@ const _sfc_main = vue.defineComponent({
210
208
  return opt;
211
209
  });
212
210
  const isIndeterminate = vue.computed(() => {
213
- return !!(selectedRowKeys.value.size && !isCheckAll.value);
211
+ return !!(checkedRowKeys.value.size && !isCheckAll.value);
214
212
  });
215
213
  const isPingLeft = vue.computed(() => {
216
214
  return tableScrollLeft.value > 1;
@@ -273,7 +271,7 @@ const _sfc_main = vue.defineComponent({
273
271
  };
274
272
  const onCellCheckedChange = (row, checked) => {
275
273
  toggleSelected(row, checked);
276
- const selection = getSelected();
274
+ const selection = getSelectionRows();
277
275
  events.onSelect(selection, row);
278
276
  events.onSelectionChange(selection);
279
277
  };
@@ -284,7 +282,7 @@ const _sfc_main = vue.defineComponent({
284
282
  hasExpandCol.value,
285
283
  treeChildrenName.value,
286
284
  props2.rowKey,
287
- util$1.getSelectableFunc(bodyCols.value)
285
+ util$1.getSelectableFunction(bodyCols.value)
288
286
  );
289
287
  let index2 = -1;
290
288
  core.eachTree(tableData.value, (d) => {
@@ -310,10 +308,19 @@ const _sfc_main = vue.defineComponent({
310
308
  setCurrentRow(row);
311
309
  }
312
310
  if (props2.rowClickChecked && !row._rowDisabled) {
313
- if (props2.rowClickChecked === "smart" && selectedRowKeys.value.size === 1) {
314
- setSelectedRows([row]);
311
+ if (props2.rowClickChecked === "smart" && (!checkedRowKeys.value.size || checkedRowKeys.value.size === 1)) {
312
+ const key = util.getValue(row, props2.rowKey);
313
+ if (key != null && !checkedRowKeys.value.has(key)) {
314
+ checkedRowKeys.value = /* @__PURE__ */ new Set([key]);
315
+ tableState.checked.clear();
316
+ tableState.checked.set(key, row);
317
+ updateIsCheckAll();
318
+ updateSelectedRowKeys([key]);
319
+ events.onSelectionChange([row]);
320
+ }
315
321
  } else {
316
- toggleRowSelection(row);
322
+ toggleSelected(row);
323
+ events.onSelectionChange(getSelectionRows());
317
324
  }
318
325
  }
319
326
  events.onRowClick(row, col, e);
@@ -364,7 +371,7 @@ const _sfc_main = vue.defineComponent({
364
371
  hideTooltip();
365
372
  };
366
373
  const onTableScroll = (option) => {
367
- cacheScrollTop(option.scrollTop);
374
+ tableState.scrollTop = option.scrollTop;
368
375
  const scrollLeft = option.scrollLeft;
369
376
  if (tableScrollLeft.value !== scrollLeft) {
370
377
  tableScrollLeft.value = scrollLeft;
@@ -390,7 +397,7 @@ const _sfc_main = vue.defineComponent({
390
397
  hasExpandCol.value,
391
398
  treeChildrenName.value,
392
399
  props2.rowKey,
393
- util$1.getSelectableFunc(bodyCols.value)
400
+ util$1.getSelectableFunction(bodyCols.value)
394
401
  );
395
402
  if (props2.defaultExpandAll) {
396
403
  toggleRowExpansionAll(true);
@@ -399,32 +406,110 @@ const _sfc_main = vue.defineComponent({
399
406
  } else {
400
407
  toggleRowExpansionAll(false);
401
408
  }
402
- updateCurrentRowKey(currentRowKey.value);
403
409
  };
404
- const updateCurrentRowKey = (currentKey) => {
405
- if (currentKey != null) {
406
- if (!tableData.value.length) {
407
- setCurrentRow();
410
+ const updateSelectedState = (key, item) => {
411
+ if (!util.valueIsChanged(selectedRowKey.value, key)) {
412
+ if (key != null && item != null && tableState.row !== item) {
413
+ tableState.row = item;
414
+ events.onCurrentChange(item, tableState.oldRow);
415
+ }
416
+ return;
417
+ }
418
+ if (key != null) {
419
+ const row = util$1.getRowByKey(key, tableData.value);
420
+ if (row != null || props2.reserveCurrent) {
421
+ tableState.oldRow = tableState.row;
422
+ tableState.row = row || item || void 0;
423
+ if (tableState.row == null && props2.cacheData != null) {
424
+ tableState.row = util$1.getRowByKey(
425
+ key,
426
+ props2.cacheData,
427
+ props2.rowKey,
428
+ treeChildrenName.value
429
+ );
430
+ }
431
+ selectedRowKey.value = key;
432
+ updateCurrentRowKey(key);
433
+ events.onCurrentChange(tableState.row, tableState.oldRow);
408
434
  return;
409
435
  }
410
- core.eachTree(tableData.value, (d) => {
411
- if (d._rowKey === currentKey && !d._isExpandRow) {
412
- setCurrentRow(d);
413
- return false;
436
+ }
437
+ if (selectedRowKey.value != null) {
438
+ tableState.oldRow = tableState.row;
439
+ tableState.row = void 0;
440
+ selectedRowKey.value = null;
441
+ updateCurrentRowKey();
442
+ events.onCurrentChange(void 0, tableState.oldRow);
443
+ }
444
+ };
445
+ const updateSelectedAndChecked = () => {
446
+ const key = selectedRowKey.value;
447
+ if (key != null) {
448
+ const row = util$1.getRowByKey(key, tableData.value);
449
+ if (row != null) {
450
+ updateSelectedState(key, row);
451
+ } else if (!props2.reserveCurrent) {
452
+ updateSelectedState(null);
453
+ } else if (props2.cacheData != null) {
454
+ const temp = util$1.getRowByKey(
455
+ key,
456
+ props2.cacheData,
457
+ props2.rowKey,
458
+ treeChildrenName.value
459
+ );
460
+ if (temp != null) {
461
+ updateSelectedState(key, temp);
462
+ }
463
+ }
464
+ }
465
+ if (checkedRowKeys.value.size) {
466
+ const oldSelection = getSelectionRows();
467
+ const deletedKeys = [];
468
+ const [dataKeys, list] = util$1.getKeysAndList(tableData.value);
469
+ const [cacheKeys, cacheList] = util$1.getKeysAndList(
470
+ props2.cacheData,
471
+ props2.rowKey,
472
+ treeChildrenName.value
473
+ );
474
+ checkedRowKeys.value.forEach((key2) => {
475
+ const index2 = dataKeys.indexOf(key2);
476
+ if (index2 !== -1) {
477
+ const row = list[index2];
478
+ if (tableState.checked.get(key2) !== row) {
479
+ tableState.checked.set(key2, row);
480
+ }
481
+ } else if (!tableState.reserveChecked) {
482
+ deletedKeys.push(key2);
483
+ } else if (props2.cacheData != null) {
484
+ const i = cacheKeys.indexOf(key2);
485
+ const temp = i !== -1 ? cacheList[i] : void 0;
486
+ if (i !== -1 && tableState.checked.get(key2) !== temp) {
487
+ tableState.checked.set(key2, temp);
488
+ }
414
489
  }
415
490
  });
416
- } else if (currentRowKey.value != null) {
417
- setCurrentRow();
491
+ deletedKeys.forEach((key2) => {
492
+ checkedRowKeys.value.delete(key2);
493
+ tableState.checked.delete(key2);
494
+ });
495
+ updateIsCheckAll();
496
+ if (deletedKeys.length) {
497
+ updateSelectedRowKeys(Array.from(checkedRowKeys.value));
498
+ }
499
+ const selection = getSelectionRows();
500
+ if (util.arrayIsChanged(oldSelection, selection)) {
501
+ events.onSelectionChange(selection);
502
+ }
418
503
  }
419
504
  };
420
505
  const updateIsCheckAll = () => {
421
- if (!tableData.value.length || !selectedRowKeys.value.size) {
506
+ if (!tableData.value.length || !checkedRowKeys.value.size) {
422
507
  isCheckAll.value = false;
423
508
  return;
424
509
  }
425
510
  let checked = true;
426
511
  core.eachTree(tableData.value, (d) => {
427
- if (!d._isExpandRow && !d._rowDisabled && d._rowKey != null && !selectedRowKeys.value.has(d._rowKey)) {
512
+ if (!d._isExpandRow && !d._rowDisabled && d._rowKey != null && !checkedRowKeys.value.has(d._rowKey)) {
428
513
  checked = false;
429
514
  return false;
430
515
  }
@@ -436,52 +521,89 @@ const _sfc_main = vue.defineComponent({
436
521
  if (dataKey == null) {
437
522
  return;
438
523
  }
439
- const isChecked = selectedRowKeys.value.has(dataKey);
524
+ const isChecked = checkedRowKeys.value.has(dataKey);
440
525
  const checked = selected == null ? !isChecked : selected;
441
526
  if (checked === isChecked) {
442
527
  return;
443
528
  }
444
529
  if (checked) {
445
- selectedRowKeys.value.add(dataKey);
446
- addSelected(dataKey, row);
530
+ checkedRowKeys.value.add(dataKey);
531
+ tableState.checked.set(dataKey, row);
447
532
  } else {
448
- selectedRowKeys.value.delete(dataKey);
449
- removeSelected(dataKey);
533
+ checkedRowKeys.value.delete(dataKey);
534
+ tableState.checked.delete(dataKey);
450
535
  }
451
536
  updateIsCheckAll();
537
+ updateSelectedRowKeys(Array.from(checkedRowKeys.value));
452
538
  };
453
539
  const setSelectedRows = (rows) => {
454
- if (rows == null) {
540
+ if (!rows || !util.arrayIsChanged(getSelectionRows(), rows)) {
455
541
  return;
456
542
  }
457
- selectedRowKeys.value.clear();
458
- clearSelected();
459
- rows.forEach((r) => {
460
- const k = util.getValue(r, props2.rowKey);
461
- if (k != null) {
462
- selectedRowKeys.value.add(k);
463
- addSelected(k, r);
543
+ if (tableState.reserveChecked) {
544
+ const oldSelection = getSelectionRows();
545
+ checkedRowKeys.value.clear();
546
+ tableState.checked.clear();
547
+ rows.forEach((r) => {
548
+ const k = util.getValue(r, props2.rowKey);
549
+ if (k != null) {
550
+ checkedRowKeys.value.add(k);
551
+ tableState.checked.set(k, r);
552
+ }
553
+ });
554
+ updateIsCheckAll();
555
+ updateSelectedRowKeys(Array.from(checkedRowKeys.value));
556
+ const selection = getSelectionRows();
557
+ if (util.arrayIsChanged(oldSelection, selection)) {
558
+ events.onSelectionChange(selection);
464
559
  }
465
- });
466
- updateIsCheckAll();
467
- events.onSelectionChange(getSelected());
560
+ return;
561
+ }
562
+ setSelectedRowKeys(util.getRowKeys(rows, props2.rowKey));
468
563
  };
469
564
  const setSelectedRowKeys = (keys) => {
470
- if (!keys) {
565
+ if (!keys || !util.arrayIsChanged(Array.from(checkedRowKeys.value), keys)) {
471
566
  return;
472
567
  }
473
- selectedRowKeys.value.clear();
474
- clearSelected();
475
- if (keys.length) {
476
- core.eachTree(tableData.value, (d) => {
477
- if (!d._isExpandRow && d._rowKey != null && keys.includes(d._rowKey)) {
478
- selectedRowKeys.value.add(d._rowKey);
479
- addSelected(d._rowKey, d);
568
+ const oldSelection = getSelectionRows();
569
+ if (tableState.reserveChecked) {
570
+ const [dataKeys, list] = util$1.getKeysAndList(tableData.value);
571
+ const [cacheKeys, cacheList] = util$1.getKeysAndList(
572
+ props2.cacheData,
573
+ props2.rowKey,
574
+ treeChildrenName.value
575
+ );
576
+ checkedRowKeys.value = new Set(keys);
577
+ tableState.checked.clear();
578
+ keys.forEach((key) => {
579
+ const index2 = dataKeys.indexOf(key);
580
+ if (index2 !== -1) {
581
+ tableState.checked.set(key, list[index2]);
582
+ } else if (props2.cacheData != null) {
583
+ const i = cacheKeys.indexOf(key);
584
+ if (i !== -1) {
585
+ tableState.checked.set(key, cacheList[i]);
586
+ }
480
587
  }
481
588
  });
589
+ } else {
590
+ checkedRowKeys.value.clear();
591
+ tableState.checked.clear();
592
+ if (keys.length) {
593
+ core.eachTree(tableData.value, (d) => {
594
+ if (!d._isExpandRow && d._rowKey != null && keys.includes(d._rowKey)) {
595
+ checkedRowKeys.value.add(d._rowKey);
596
+ tableState.checked.set(d._rowKey, d);
597
+ }
598
+ });
599
+ }
482
600
  }
483
601
  updateIsCheckAll();
484
- events.onSelectionChange(getSelected());
602
+ updateSelectedRowKeys(Array.from(checkedRowKeys.value));
603
+ const selection = getSelectionRows();
604
+ if (util.arrayIsChanged(oldSelection, selection)) {
605
+ events.onSelectionChange(selection);
606
+ }
485
607
  };
486
608
  const toggleRowExpansionAll = (expanded) => {
487
609
  if (!expanded) {
@@ -503,40 +625,66 @@ const _sfc_main = vue.defineComponent({
503
625
  events.onExpandChange(void 0, rows);
504
626
  };
505
627
  const clearSelection = () => {
506
- selectedRowKeys.value.clear();
507
- clearSelected();
508
- isCheckAll.value = false;
509
- events.onSelectionChange([]);
628
+ if (checkedRowKeys.value.size) {
629
+ const isChanged = !!tableState.checked.size;
630
+ checkedRowKeys.value.clear();
631
+ tableState.checked.clear();
632
+ isCheckAll.value = false;
633
+ updateSelectedRowKeys([]);
634
+ if (isChanged) {
635
+ events.onSelectionChange([]);
636
+ }
637
+ }
510
638
  };
511
639
  const getSelectionRows = () => {
512
- return getSelected();
640
+ return Array.from(tableState.checked.values());
513
641
  };
514
642
  const toggleRowSelection = (row, selected) => {
643
+ const key = util.getValue(row, props2.rowKey);
644
+ if (key == null || !tableState.reserveChecked && !util$1.getRowByKey(key, tableData.value)) {
645
+ return;
646
+ }
647
+ const oldSelection = getSelectionRows();
515
648
  toggleSelected(row, selected);
516
- events.onSelectionChange(getSelected());
649
+ const selection = getSelectionRows();
650
+ if (util.arrayIsChanged(oldSelection, selection)) {
651
+ events.onSelectionChange(selection);
652
+ }
517
653
  };
518
654
  const toggleAllSelection = () => {
519
655
  if (!tableData.value.length) {
520
656
  return;
521
657
  }
522
658
  if (isCheckAll.value || isIndeterminate.value && !props2.selectOnIndeterminate) {
523
- if (selectedRowKeys.value.size) {
524
- selectedRowKeys.value.clear();
525
- clearSelected();
526
- isCheckAll.value = false;
527
- events.onSelectionChange([]);
528
- events.onSelectAll([]);
659
+ if (checkedRowKeys.value.size) {
660
+ if (tableState.reserveChecked) {
661
+ core.eachTree(tableData.value, (d) => {
662
+ if (!d._isExpandRow && d._rowKey != null) {
663
+ checkedRowKeys.value.delete(d._rowKey);
664
+ tableState.checked.delete(d._rowKey);
665
+ }
666
+ });
667
+ isCheckAll.value = false;
668
+ updateSelectedRowKeys(Array.from(checkedRowKeys.value));
669
+ const selection2 = getSelectionRows();
670
+ events.onSelectionChange(selection2);
671
+ events.onSelectAll(selection2);
672
+ } else {
673
+ clearSelection();
674
+ events.onSelectAll([]);
675
+ }
529
676
  }
530
677
  return;
531
678
  }
532
679
  core.eachTree(tableData.value, (d) => {
533
680
  if (!d._isExpandRow && !d._rowDisabled && d._rowKey != null) {
534
- selectedRowKeys.value.add(d._rowKey);
535
- addSelected(d._rowKey, d);
681
+ checkedRowKeys.value.add(d._rowKey);
682
+ tableState.checked.set(d._rowKey, d);
536
683
  }
537
684
  });
538
685
  isCheckAll.value = true;
539
- const selection = getSelected();
686
+ updateSelectedRowKeys(Array.from(checkedRowKeys.value));
687
+ const selection = getSelectionRows();
540
688
  events.onSelectionChange(selection);
541
689
  events.onSelectAll(selection);
542
690
  };
@@ -559,22 +707,13 @@ const _sfc_main = vue.defineComponent({
559
707
  events.onExpandChange(row, spread);
560
708
  };
561
709
  const setCurrentRow = (row) => {
562
- const oldCurrentRow = getCurrent();
563
- if (oldCurrentRow == null && row == null || oldCurrentRow === row) {
564
- return;
565
- }
566
- if (row == null) {
567
- if (currentRowKey.value != null) {
568
- currentRowKey.value = null;
569
- }
570
- } else {
571
- const dataKey = util.getValue(row, props2.rowKey);
572
- if (dataKey != null && currentRowKey.value !== dataKey) {
573
- currentRowKey.value = dataKey;
574
- }
575
- }
576
- setCurrent(row);
577
- events.onCurrentChange(row, oldCurrentRow);
710
+ updateSelectedState(util.getValue(row, props2.rowKey), row);
711
+ };
712
+ const setCurrentRowKey = (key) => {
713
+ updateSelectedState(key);
714
+ };
715
+ const getCurrentRow = () => {
716
+ return tableState.row;
578
717
  };
579
718
  const clearSort = () => {
580
719
  if (sortBy.value != null) {
@@ -596,6 +735,9 @@ const _sfc_main = vue.defineComponent({
596
735
  headerRows.value,
597
736
  wrapWidth.value
598
737
  );
738
+ if (!width) {
739
+ return;
740
+ }
599
741
  const isUpdate = colsSumWidth.value && colsSumWidth.value !== sumWidth;
600
742
  const isSizesChanged = util$1.colSizesIsChanged(bodyColSizes.value, colSizes);
601
743
  tableWidth.value = width;
@@ -650,16 +792,27 @@ const _sfc_main = vue.defineComponent({
650
792
  }
651
793
  tableRef.value.scrollToRow(row, strategy);
652
794
  };
653
- vue.onDeactivated(() => {
654
- hideTooltip();
655
- });
795
+ const updateCurrentRowKey = (key) => {
796
+ if (util.valueIsChanged(props2.currentRowKey, key)) {
797
+ events["onUpdate:currentRowKey"](key);
798
+ }
799
+ };
800
+ const updateSelectedRowKeys = (keys) => {
801
+ const selected = props2.selectedRowKeys || [];
802
+ if (util.arrayIsChanged(selected, keys)) {
803
+ events["onUpdate:selectedRowKeys"](keys);
804
+ }
805
+ };
656
806
  vue.onActivated(() => {
657
- const top = getScrollTop();
807
+ const top = tableState.scrollTop;
658
808
  const left = tableScrollLeft.value;
659
809
  if (top || left) {
660
810
  scrollTo(top ? top - 1 : 0, left ? left - 1 : 0);
661
811
  }
662
812
  });
813
+ vue.onDeactivated(() => {
814
+ hideTooltip();
815
+ });
663
816
  vue.watch(
664
817
  [
665
818
  () => props2.height,
@@ -686,16 +839,10 @@ const _sfc_main = vue.defineComponent({
686
839
  vue.watch(
687
840
  () => props2.columns,
688
841
  (columns) => {
842
+ tableState.reserveChecked = util.isReserveChecked(columns);
689
843
  const { cols, rows } = util$1.analyseColumns(columns);
690
844
  bodyCols.value = cols;
691
845
  headerRows.value = rows;
692
- tableData.value = util$1.transformTableData(
693
- props2.data,
694
- hasExpandCol.value,
695
- treeChildrenName.value,
696
- props2.rowKey,
697
- util$1.getSelectableFunc(bodyCols.value)
698
- );
699
846
  doLayout(true);
700
847
  },
701
848
  {
@@ -707,48 +854,42 @@ const _sfc_main = vue.defineComponent({
707
854
  doLayout();
708
855
  });
709
856
  vue.watch(
710
- [hasExpandCol, treeChildrenName],
857
+ [() => props2.data, hasExpandCol, treeChildrenName],
711
858
  () => {
712
859
  updateTableData();
713
860
  },
714
861
  { immediate: true }
715
862
  );
716
- vue.watch(
717
- () => props2.data,
718
- () => {
719
- updateTableData();
720
- if (selectedRowKeys.value.size && !util.isReserveSelected(props2.columns)) {
721
- selectedRowKeys.value.clear();
722
- clearSelected();
723
- isCheckAll.value = false;
724
- events.onSelectionChange(getSelected());
725
- } else {
726
- updateIsCheckAll();
727
- }
728
- },
729
- { deep: true }
730
- );
731
863
  vue.watch(
732
864
  () => props2.rowKey,
733
865
  () => {
734
- isCheckAll.value = false;
735
- clearSelection();
736
866
  setCurrentRow();
867
+ clearSelection();
737
868
  toggleRowExpansionAll(false);
738
869
  updateTableData();
739
870
  }
740
871
  );
872
+ vue.watch([tableData, () => props2.cacheData], () => {
873
+ updateSelectedAndChecked();
874
+ });
741
875
  vue.watch(
742
876
  () => props2.currentRowKey,
743
- (currentKey) => {
744
- updateCurrentRowKey(currentKey);
877
+ (key) => {
878
+ updateSelectedState(key);
745
879
  }
746
880
  );
881
+ vue.watch(
882
+ () => props2.selectedRowKeys,
883
+ (selectedRowKeys) => {
884
+ setSelectedRowKeys(selectedRowKeys || []);
885
+ },
886
+ { deep: true }
887
+ );
747
888
  vue.watch(
748
889
  () => props2.expandRowKeys,
749
890
  (expandKeys) => {
750
891
  if (expandKeys != null) {
751
- expandedRowKeys.value = expandKeys;
892
+ expandedRowKeys.value = [...expandKeys];
752
893
  }
753
894
  },
754
895
  { deep: true }
@@ -767,12 +908,11 @@ const _sfc_main = vue.defineComponent({
767
908
  tableData,
768
909
  isCheckAll,
769
910
  isIndeterminate,
770
- selectedRowKeys,
911
+ checkedRowKeys,
771
912
  expandedRowKeys,
772
913
  sortBy,
773
914
  filtered,
774
915
  tableTooltipProps,
775
- slotKeys,
776
916
  treeHasChildrenName,
777
917
  tableExpandCol,
778
918
  hasExpandCol,
@@ -801,6 +941,9 @@ const _sfc_main = vue.defineComponent({
801
941
  onExpandCellMouseenter,
802
942
  onTableMouseleave,
803
943
  onTableScroll,
944
+ updateWrapSize,
945
+ updateTableData,
946
+ updateSelectedAndChecked,
804
947
  setSelectedRows,
805
948
  setSelectedRowKeys,
806
949
  toggleRowExpansionAll,
@@ -810,6 +953,8 @@ const _sfc_main = vue.defineComponent({
810
953
  toggleAllSelection,
811
954
  toggleRowExpansion,
812
955
  setCurrentRow,
956
+ setCurrentRowKey,
957
+ getCurrentRow,
813
958
  clearSort,
814
959
  clearFilter,
815
960
  doLayout,
@@ -817,7 +962,8 @@ const _sfc_main = vue.defineComponent({
817
962
  scrollTo,
818
963
  setScrollTop,
819
964
  setScrollLeft,
820
- scrollToRow
965
+ scrollToRow,
966
+ hideTooltip
821
967
  };
822
968
  }
823
969
  });
@@ -885,7 +1031,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
885
1031
  onCellContextmenu: _ctx.onHeaderCellContextmenu,
886
1032
  onCellMouseenter: _ctx.onHeaderCellMouseenter
887
1033
  }, vue.createSlots({ _: 2 }, [
888
- vue.renderList(_ctx.slotKeys, (name) => {
1034
+ vue.renderList(Object.keys(_ctx.$slots).filter(
1035
+ (k) => !["default", "empty", "append"].includes(k)
1036
+ ), (name) => {
889
1037
  return {
890
1038
  name,
891
1039
  fn: vue.withCtx((slotProps) => [
@@ -903,7 +1051,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
903
1051
  rowData: rowProps.rowData._expandParent,
904
1052
  onMouseenter: _ctx.onExpandCellMouseenter
905
1053
  }, vue.createSlots({ _: 2 }, [
906
- vue.renderList(_ctx.slotKeys, (name) => {
1054
+ vue.renderList(Object.keys(_ctx.$slots).filter(
1055
+ (k) => !["default", "empty", "append"].includes(k)
1056
+ ), (name) => {
907
1057
  return {
908
1058
  name,
909
1059
  fn: vue.withCtx((slotProps) => [
@@ -917,7 +1067,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
917
1067
  colSizes: _ctx.bodyColSizes,
918
1068
  rowIndex: rowProps.rowData._rowIndex,
919
1069
  rowData: rowProps.rowData,
920
- selectedRowKeys: _ctx.selectedRowKeys,
1070
+ checkedRowKeys: _ctx.checkedRowKeys,
921
1071
  tableSize: _ctx.size,
922
1072
  bodyCellClass: _ctx.cellClassName,
923
1073
  bodyCellStyle: _ctx.cellStyle,
@@ -942,7 +1092,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
942
1092
  onCellMouseenter: _ctx.onCellMouseenter,
943
1093
  onCellMouseleave: _ctx.onCellMouseleave
944
1094
  }, vue.createSlots({ _: 2 }, [
945
- vue.renderList(_ctx.slotKeys, (name) => {
1095
+ vue.renderList(Object.keys(_ctx.$slots).filter(
1096
+ (k) => !["default", "empty", "append"].includes(k)
1097
+ ), (name) => {
946
1098
  return {
947
1099
  name,
948
1100
  fn: vue.withCtx((slotProps) => [
@@ -950,7 +1102,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
950
1102
  ])
951
1103
  };
952
1104
  })
953
- ]), 1032, ["bodyCols", "colSizes", "rowIndex", "rowData", "selectedRowKeys", "tableSize", "bodyCellClass", "bodyCellStyle", "spanMethod", "tableTooltipProps", "pageIndex", "rowHeight", "expandColumnKey", "expandedRowKeys", "hasChildrenName", "lazy", "load", "level", "indent", "fixedCellHeight", "autoRowHeight", "onCellCheckedChange", "onCellExpandChange", "onCellClick", "onCellDblclick", "onCellContextmenu", "onCellMouseenter", "onCellMouseleave"])) : vue.createCommentVNode("", true)
1105
+ ]), 1032, ["bodyCols", "colSizes", "rowIndex", "rowData", "checkedRowKeys", "tableSize", "bodyCellClass", "bodyCellStyle", "spanMethod", "tableTooltipProps", "pageIndex", "rowHeight", "expandColumnKey", "expandedRowKeys", "hasChildrenName", "lazy", "load", "level", "indent", "fixedCellHeight", "autoRowHeight", "onCellCheckedChange", "onCellExpandChange", "onCellClick", "onCellDblclick", "onCellContextmenu", "onCellMouseenter", "onCellMouseleave"])) : vue.createCommentVNode("", true)
954
1106
  ]),
955
1107
  empty: vue.withCtx(() => [
956
1108
  vue.renderSlot(_ctx.$slots, "empty", {