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

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