ele-admin-plus 1.1.6-beta.1 → 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 (513) hide show
  1. package/README.md +1 -1
  2. package/es/components.d.ts +1 -0
  3. package/es/components.js +10 -8
  4. package/es/ele-alert/index.d.ts +4 -4
  5. package/es/ele-alert/props.d.ts +2 -2
  6. package/es/ele-app/index.d.ts +1 -1
  7. package/es/ele-app/style/common/index.js +1 -0
  8. package/es/ele-app/style/css-var.scss +9 -137
  9. package/es/ele-app/style/index.js +4 -6
  10. package/es/ele-app/style/index.scss +4 -4
  11. package/es/ele-app/style/message/css-var.scss +12 -0
  12. package/es/ele-app/style/{message.js → message/index.js} +1 -1
  13. package/{lib/ele-app/style/message.scss → es/ele-app/style/message/index.scss} +2 -2
  14. package/es/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  15. package/es/ele-app/style/overwrite/autocomplete/index.js +1 -0
  16. package/es/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  17. package/es/ele-app/style/overwrite/backtop/index.js +1 -0
  18. package/es/ele-app/style/overwrite/backtop/index.scss +8 -0
  19. package/es/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  20. package/es/ele-app/style/overwrite/cascader/index.js +1 -0
  21. package/es/ele-app/style/overwrite/cascader/index.scss +115 -0
  22. package/es/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  23. package/es/ele-app/style/overwrite/checkbox/index.js +1 -0
  24. package/es/ele-app/style/overwrite/checkbox/index.scss +159 -0
  25. package/es/ele-app/style/overwrite/color-picker/index.js +1 -0
  26. package/es/ele-app/style/overwrite/color-picker/index.scss +42 -0
  27. package/es/ele-app/style/overwrite/css-var.scss +33 -0
  28. package/es/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  29. package/es/ele-app/style/overwrite/date-picker/index.js +1 -0
  30. package/es/ele-app/style/overwrite/date-picker/index.scss +866 -0
  31. package/es/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  32. package/es/ele-app/style/overwrite/descriptions/index.js +1 -0
  33. package/es/ele-app/style/overwrite/descriptions/index.scss +48 -0
  34. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  35. package/es/ele-app/style/overwrite/image-viewer/index.js +1 -0
  36. package/es/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  37. package/es/ele-app/style/overwrite/index.js +16 -0
  38. package/es/ele-app/style/overwrite/index.scss +16 -0
  39. package/es/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  40. package/es/ele-app/style/overwrite/message-box/index.js +2 -0
  41. package/es/ele-app/style/overwrite/message-box/index.scss +84 -0
  42. package/es/ele-app/style/overwrite/notification/css-var.scss +8 -0
  43. package/es/ele-app/style/overwrite/notification/index.js +2 -0
  44. package/es/ele-app/style/overwrite/notification/index.scss +65 -0
  45. package/es/ele-app/style/overwrite/popper/css-var.scss +14 -0
  46. package/es/ele-app/style/overwrite/popper/index.js +1 -0
  47. package/es/ele-app/style/overwrite/popper/index.scss +9 -0
  48. package/es/ele-app/style/overwrite/radio/css-var.scss +8 -0
  49. package/es/ele-app/style/overwrite/radio/index.js +1 -0
  50. package/es/ele-app/style/overwrite/radio/index.scss +126 -0
  51. package/es/ele-app/style/overwrite/select/css-var.scss +8 -0
  52. package/es/ele-app/style/overwrite/select/index.js +1 -0
  53. package/es/ele-app/style/overwrite/select/index.scss +111 -0
  54. package/es/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  55. package/es/ele-app/style/overwrite/table-filter/index.js +1 -0
  56. package/es/ele-app/style/overwrite/table-filter/index.scss +98 -0
  57. package/es/ele-app/style/overwrite/tag/css-var.scss +24 -0
  58. package/es/ele-app/style/overwrite/tag/index.js +1 -0
  59. package/es/ele-app/style/overwrite/tag/index.scss +303 -0
  60. package/es/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  61. package/es/ele-app/style/overwrite/tree-select/index.js +1 -0
  62. package/es/ele-app/style/overwrite/tree-select/index.scss +138 -0
  63. package/es/ele-app/style/scrollbar/css-var.scss +53 -0
  64. package/es/ele-app/style/scrollbar/index.js +1 -0
  65. package/es/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  66. package/es/ele-app/types/components.d.ts +31 -12
  67. package/es/ele-app/types/core.d.ts +30 -0
  68. package/es/ele-app/types/element.d.ts +61 -0
  69. package/es/ele-app/types/index.d.ts +3 -86
  70. package/es/ele-avatar-group/index.d.ts +5 -5
  71. package/es/ele-avatar-group/props.d.ts +2 -2
  72. package/es/ele-basic-select/index.d.ts +51 -27
  73. package/es/ele-basic-select/index.js +151 -74
  74. package/es/ele-basic-select/props.d.ts +37 -29
  75. package/es/ele-basic-select/props.js +39 -29
  76. package/es/ele-basic-select/style/index.scss +123 -47
  77. package/es/ele-basic-select/types/index.d.ts +4 -0
  78. package/es/ele-basic-select/util.d.ts +14 -0
  79. package/es/ele-basic-select/util.js +30 -0
  80. package/es/ele-breadcrumb/index.d.ts +4 -4
  81. package/es/ele-breadcrumb/props.d.ts +2 -2
  82. package/es/ele-card/index.d.ts +7 -3
  83. package/es/ele-card/index.js +14 -0
  84. package/es/ele-card/props.d.ts +5 -1
  85. package/es/ele-card/props.js +4 -0
  86. package/es/ele-card/style/index.scss +11 -0
  87. package/es/ele-check-card/components/card-item.d.ts +1 -1
  88. package/es/ele-check-card/index.d.ts +11 -4
  89. package/es/ele-check-card/props.d.ts +4 -1
  90. package/es/ele-check-card/props.js +6 -1
  91. package/es/ele-config-provider/index.d.ts +4 -4
  92. package/es/ele-config-provider/index.js +6 -6
  93. package/es/ele-config-provider/props.d.ts +3 -3
  94. package/es/ele-config-provider/props.js +3 -3
  95. package/es/ele-config-provider/receiver.d.ts +3 -3
  96. package/es/ele-config-provider/receiver.js +103 -99
  97. package/es/ele-config-provider/types/index.d.ts +7 -9
  98. package/es/ele-copyable/index.d.ts +5 -3
  99. package/es/ele-cropper/index.d.ts +10 -8
  100. package/es/ele-cropper-modal/index.d.ts +7 -7
  101. package/es/ele-cropper-modal/props.d.ts +5 -2
  102. package/es/ele-data-table/index.d.ts +34 -22
  103. package/es/ele-data-table/index.js +265 -73
  104. package/es/ele-data-table/props.d.ts +18 -8
  105. package/es/ele-data-table/props.js +12 -2
  106. package/es/ele-data-table/style/index.scss +6 -1
  107. package/es/ele-data-table/types/index.d.ts +46 -28
  108. package/es/ele-data-table/util.d.ts +54 -26
  109. package/es/ele-data-table/util.js +99 -61
  110. package/es/ele-drawer/index.d.ts +53 -50
  111. package/es/ele-drawer/props.d.ts +19 -18
  112. package/es/ele-dropdown/index.d.ts +46 -46
  113. package/es/ele-dropdown/props.d.ts +16 -16
  114. package/es/ele-edit-tag/index.d.ts +12 -17
  115. package/es/ele-edit-tag/index.js +32 -26
  116. package/es/ele-edit-tag/props.d.ts +3 -5
  117. package/es/ele-edit-tag/props.js +0 -2
  118. package/es/ele-edit-tag/style/index.scss +65 -39
  119. package/es/ele-ellipsis/index.d.ts +2 -3
  120. package/es/ele-ellipsis/index.js +24 -3
  121. package/es/ele-ellipsis/types/index.d.ts +1 -1
  122. package/es/ele-file-list/components/file-grid-item.d.ts +1 -1
  123. package/es/ele-file-list/components/file-grid-item.js +5 -3
  124. package/es/ele-file-list/components/file-grid.d.ts +4 -3
  125. package/es/ele-file-list/components/file-grid.js +8 -1
  126. package/es/ele-file-list/components/file-table-item.d.ts +1 -1
  127. package/es/ele-file-list/components/file-table-item.js +5 -3
  128. package/es/ele-file-list/components/file-table.d.ts +4 -3
  129. package/es/ele-file-list/components/file-table.js +8 -1
  130. package/es/ele-file-list/index.d.ts +6 -6
  131. package/es/ele-file-list/props.d.ts +1 -1
  132. package/es/ele-icon-select/index.d.ts +53 -51
  133. package/es/ele-icon-select/index.js +222 -64
  134. package/es/ele-icon-select/props.d.ts +26 -33
  135. package/es/ele-icon-select/props.js +24 -31
  136. package/es/ele-icon-select/style/index.js +0 -1
  137. package/es/ele-icon-select/style/index.scss +0 -12
  138. package/es/ele-map-picker/components/map-view.d.ts +6 -6
  139. package/es/ele-map-picker/components/map-view.js +2 -1
  140. package/es/ele-map-picker/index.d.ts +6 -6
  141. package/es/ele-map-picker/props.d.ts +2 -3
  142. package/es/ele-menus/index.d.ts +28 -19
  143. package/es/ele-menus/props.d.ts +10 -7
  144. package/es/ele-modal/index.d.ts +50 -44
  145. package/es/ele-modal/index.js +63 -17
  146. package/es/ele-modal/props.d.ts +16 -15
  147. package/es/ele-modal/util.d.ts +3 -1
  148. package/es/ele-modal/util.js +6 -4
  149. package/es/ele-pagination/index.d.ts +22 -22
  150. package/es/ele-pagination/index.js +2 -1
  151. package/es/ele-pagination/props.d.ts +9 -9
  152. package/es/ele-popconfirm/index.d.ts +74 -132
  153. package/es/ele-popconfirm/props.d.ts +26 -49
  154. package/es/ele-popover/index.d.ts +62 -119
  155. package/es/ele-popover/props.d.ts +23 -46
  156. package/es/ele-popover/props.js +1 -1
  157. package/es/ele-printer/index.d.ts +5 -3
  158. package/es/ele-printer/index.js +4 -3
  159. package/es/ele-printer/props.d.ts +4 -2
  160. package/es/ele-printer/props.js +3 -1
  161. package/es/ele-printer/types/index.d.ts +5 -1
  162. package/es/ele-printer/util.d.ts +6 -0
  163. package/es/ele-printer/util.js +11 -3
  164. package/es/ele-pro-layout/components/pro-header.d.ts +6 -6
  165. package/es/ele-pro-layout/components/pro-header.js +8 -3
  166. package/es/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  167. package/es/ele-pro-layout/components/pro-sidebar.js +6 -5
  168. package/es/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  169. package/es/ele-pro-layout/components/pro-sidebox.js +6 -5
  170. package/es/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  171. package/es/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  172. package/es/ele-pro-layout/components/tab-dropdown.js +4 -3
  173. package/es/ele-pro-layout/index.d.ts +23 -25
  174. package/es/ele-pro-layout/index.js +51 -4
  175. package/es/ele-pro-layout/props.d.ts +4 -4
  176. package/es/ele-pro-layout/props.js +1 -1
  177. package/es/ele-pro-layout/style/layout-mobile.scss +4 -0
  178. package/es/ele-pro-layout/types/index.d.ts +5 -6
  179. package/es/ele-pro-layout/util.d.ts +1 -2
  180. package/es/ele-pro-table/components/table-tools.d.ts +3 -3
  181. package/es/ele-pro-table/components/table-tools.js +5 -8
  182. package/es/ele-pro-table/components/tool-column.d.ts +2 -2
  183. package/es/ele-pro-table/index.d.ts +44 -46
  184. package/es/ele-pro-table/index.js +123 -82
  185. package/es/ele-pro-table/props.d.ts +17 -20
  186. package/es/ele-pro-table/props.js +1 -1
  187. package/es/ele-pro-table/types/index.d.ts +5 -14
  188. package/es/ele-pro-table/util.d.ts +5 -11
  189. package/es/ele-pro-table/util.js +4 -5
  190. package/es/ele-segmented/index.d.ts +1 -1
  191. package/es/ele-split-panel/index.d.ts +1 -0
  192. package/es/ele-split-panel/index.js +34 -4
  193. package/es/ele-steps/index.d.ts +24 -24
  194. package/es/ele-steps/props.d.ts +7 -7
  195. package/es/ele-table-select/index.d.ts +83 -86
  196. package/es/ele-table-select/index.js +265 -236
  197. package/es/ele-table-select/props.d.ts +43 -37
  198. package/es/ele-table-select/props.js +41 -32
  199. package/es/ele-tabs/components/tab-title.d.ts +2 -2
  200. package/es/ele-tabs/components/tab-title.js +6 -5
  201. package/es/ele-tabs/index.d.ts +28 -29
  202. package/es/ele-tabs/index.js +12 -4
  203. package/es/ele-tabs/props.d.ts +10 -10
  204. package/es/ele-text/index.d.ts +2 -2
  205. package/es/ele-tool/index.d.ts +3 -3
  206. package/es/ele-tool/props.d.ts +1 -1
  207. package/es/ele-tooltip/index.d.ts +49 -102
  208. package/es/ele-tooltip/props.d.ts +19 -41
  209. package/es/ele-tour/index.d.ts +2 -2
  210. package/es/ele-tour/types/index.d.ts +1 -1
  211. package/es/ele-tour/util.d.ts +1 -1
  212. package/es/ele-tree-select/index.d.ts +144 -0
  213. package/es/ele-tree-select/index.js +412 -0
  214. package/es/ele-tree-select/props.d.ts +92 -0
  215. package/es/ele-tree-select/props.js +87 -0
  216. package/es/ele-tree-select/style/css-var.scss +8 -0
  217. package/es/ele-tree-select/style/index.js +3 -0
  218. package/es/ele-tree-select/style/index.scss +100 -0
  219. package/es/ele-tree-select/types/index.d.ts +17 -0
  220. package/es/ele-tree-select/util.d.ts +48 -0
  221. package/es/ele-tree-select/util.js +128 -0
  222. package/es/ele-upload-list/index.d.ts +1 -1
  223. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  224. package/es/ele-virtual-table/components/body-row.d.ts +3 -3
  225. package/es/ele-virtual-table/components/body-row.js +3 -3
  226. package/es/ele-virtual-table/components/cell-filter.d.ts +1 -1
  227. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  228. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  229. package/es/ele-virtual-table/index.d.ts +386 -0
  230. package/es/ele-virtual-table/index.js +294 -142
  231. package/es/ele-virtual-table/props.d.ts +11 -6
  232. package/es/ele-virtual-table/style/index.scss +1 -1
  233. package/es/ele-virtual-table/types/index.d.ts +13 -5
  234. package/es/ele-virtual-table/util.d.ts +16 -14
  235. package/es/ele-virtual-table/util.js +28 -46
  236. package/es/ele-watermark/index.d.ts +0 -1
  237. package/es/ele-watermark/index.js +14 -14
  238. package/es/ele-watermark/util.d.ts +6 -0
  239. package/es/ele-watermark/util.js +8 -0
  240. package/es/style/index.scss +1 -0
  241. package/es/style/themes/dark.scss +3 -0
  242. package/es/style/themes/default.scss +143 -3
  243. package/es/style/themes/rounded.scss +28 -0
  244. package/es/style/themes/theme-util.scss +3 -3
  245. package/es/utils/core.d.ts +8 -1
  246. package/es/utils/core.js +15 -0
  247. package/lib/components.d.ts +1 -0
  248. package/lib/components.js +10 -8
  249. package/lib/ele-alert/index.d.ts +4 -4
  250. package/lib/ele-alert/props.d.ts +2 -2
  251. package/lib/ele-app/index.d.ts +1 -1
  252. package/lib/ele-app/style/common/index.js +2 -0
  253. package/lib/ele-app/style/css-var.scss +9 -137
  254. package/lib/ele-app/style/index.js +4 -6
  255. package/lib/ele-app/style/index.scss +4 -4
  256. package/lib/ele-app/style/message/css-var.scss +12 -0
  257. package/lib/ele-app/style/{message.js → message/index.js} +1 -1
  258. package/{es/ele-app/style/message.scss → lib/ele-app/style/message/index.scss} +2 -2
  259. package/lib/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  260. package/lib/ele-app/style/overwrite/autocomplete/index.js +2 -0
  261. package/lib/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  262. package/lib/ele-app/style/overwrite/backtop/index.js +2 -0
  263. package/lib/ele-app/style/overwrite/backtop/index.scss +8 -0
  264. package/lib/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  265. package/lib/ele-app/style/overwrite/cascader/index.js +2 -0
  266. package/lib/ele-app/style/overwrite/cascader/index.scss +115 -0
  267. package/lib/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  268. package/lib/ele-app/style/overwrite/checkbox/index.js +2 -0
  269. package/lib/ele-app/style/overwrite/checkbox/index.scss +159 -0
  270. package/lib/ele-app/style/overwrite/color-picker/index.js +2 -0
  271. package/lib/ele-app/style/overwrite/color-picker/index.scss +42 -0
  272. package/lib/ele-app/style/overwrite/css-var.scss +33 -0
  273. package/lib/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  274. package/lib/ele-app/style/overwrite/date-picker/index.js +2 -0
  275. package/lib/ele-app/style/overwrite/date-picker/index.scss +866 -0
  276. package/lib/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  277. package/lib/ele-app/style/overwrite/descriptions/index.js +2 -0
  278. package/lib/ele-app/style/overwrite/descriptions/index.scss +48 -0
  279. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  280. package/lib/ele-app/style/overwrite/image-viewer/index.js +2 -0
  281. package/lib/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  282. package/lib/ele-app/style/overwrite/index.js +17 -0
  283. package/lib/ele-app/style/overwrite/index.scss +16 -0
  284. package/lib/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  285. package/lib/ele-app/style/overwrite/message-box/index.js +3 -0
  286. package/lib/ele-app/style/overwrite/message-box/index.scss +84 -0
  287. package/lib/ele-app/style/overwrite/notification/css-var.scss +8 -0
  288. package/lib/ele-app/style/overwrite/notification/index.js +3 -0
  289. package/lib/ele-app/style/overwrite/notification/index.scss +65 -0
  290. package/lib/ele-app/style/overwrite/popper/css-var.scss +14 -0
  291. package/lib/ele-app/style/overwrite/popper/index.js +2 -0
  292. package/lib/ele-app/style/overwrite/popper/index.scss +9 -0
  293. package/lib/ele-app/style/overwrite/radio/css-var.scss +8 -0
  294. package/lib/ele-app/style/overwrite/radio/index.js +2 -0
  295. package/lib/ele-app/style/overwrite/radio/index.scss +126 -0
  296. package/lib/ele-app/style/overwrite/select/css-var.scss +8 -0
  297. package/lib/ele-app/style/overwrite/select/index.js +2 -0
  298. package/lib/ele-app/style/overwrite/select/index.scss +111 -0
  299. package/lib/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  300. package/lib/ele-app/style/overwrite/table-filter/index.js +2 -0
  301. package/lib/ele-app/style/overwrite/table-filter/index.scss +98 -0
  302. package/lib/ele-app/style/overwrite/tag/css-var.scss +24 -0
  303. package/lib/ele-app/style/overwrite/tag/index.js +2 -0
  304. package/lib/ele-app/style/overwrite/tag/index.scss +303 -0
  305. package/lib/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  306. package/lib/ele-app/style/overwrite/tree-select/index.js +2 -0
  307. package/lib/ele-app/style/overwrite/tree-select/index.scss +138 -0
  308. package/lib/ele-app/style/scrollbar/css-var.scss +53 -0
  309. package/lib/ele-app/style/scrollbar/index.js +2 -0
  310. package/lib/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  311. package/lib/ele-app/types/components.d.ts +31 -12
  312. package/lib/ele-app/types/core.d.ts +30 -0
  313. package/lib/ele-app/types/element.d.ts +61 -0
  314. package/lib/ele-app/types/index.d.ts +3 -86
  315. package/lib/ele-avatar-group/index.d.ts +5 -5
  316. package/lib/ele-avatar-group/props.d.ts +2 -2
  317. package/lib/ele-basic-select/index.d.ts +51 -27
  318. package/lib/ele-basic-select/index.js +150 -73
  319. package/lib/ele-basic-select/props.d.ts +37 -29
  320. package/lib/ele-basic-select/props.js +39 -29
  321. package/lib/ele-basic-select/style/index.scss +123 -47
  322. package/lib/ele-basic-select/types/index.d.ts +4 -0
  323. package/lib/ele-basic-select/util.d.ts +14 -0
  324. package/lib/ele-basic-select/util.js +30 -0
  325. package/lib/ele-breadcrumb/index.d.ts +4 -4
  326. package/lib/ele-breadcrumb/props.d.ts +2 -2
  327. package/lib/ele-card/index.d.ts +7 -3
  328. package/lib/ele-card/index.js +14 -0
  329. package/lib/ele-card/props.d.ts +5 -1
  330. package/lib/ele-card/props.js +4 -0
  331. package/lib/ele-card/style/index.scss +11 -0
  332. package/lib/ele-check-card/components/card-item.d.ts +1 -1
  333. package/lib/ele-check-card/index.d.ts +11 -4
  334. package/lib/ele-check-card/props.d.ts +4 -1
  335. package/lib/ele-check-card/props.js +6 -1
  336. package/lib/ele-config-provider/index.d.ts +4 -4
  337. package/lib/ele-config-provider/index.js +6 -6
  338. package/lib/ele-config-provider/props.d.ts +3 -3
  339. package/lib/ele-config-provider/props.js +3 -3
  340. package/lib/ele-config-provider/receiver.d.ts +3 -3
  341. package/lib/ele-config-provider/receiver.js +2 -2
  342. package/lib/ele-config-provider/types/index.d.ts +7 -9
  343. package/lib/ele-copyable/index.d.ts +5 -3
  344. package/lib/ele-cropper/index.d.ts +10 -8
  345. package/lib/ele-cropper-modal/index.d.ts +7 -7
  346. package/lib/ele-cropper-modal/props.d.ts +5 -2
  347. package/lib/ele-data-table/index.d.ts +34 -22
  348. package/lib/ele-data-table/index.js +262 -70
  349. package/lib/ele-data-table/props.d.ts +18 -8
  350. package/lib/ele-data-table/props.js +12 -2
  351. package/lib/ele-data-table/style/index.scss +6 -1
  352. package/lib/ele-data-table/types/index.d.ts +46 -28
  353. package/lib/ele-data-table/util.d.ts +54 -26
  354. package/lib/ele-data-table/util.js +98 -60
  355. package/lib/ele-drawer/index.d.ts +53 -50
  356. package/lib/ele-drawer/props.d.ts +19 -18
  357. package/lib/ele-dropdown/index.d.ts +46 -46
  358. package/lib/ele-dropdown/props.d.ts +16 -16
  359. package/lib/ele-edit-tag/index.d.ts +12 -17
  360. package/lib/ele-edit-tag/index.js +31 -25
  361. package/lib/ele-edit-tag/props.d.ts +3 -5
  362. package/lib/ele-edit-tag/props.js +0 -2
  363. package/lib/ele-edit-tag/style/index.scss +65 -39
  364. package/lib/ele-ellipsis/index.d.ts +2 -3
  365. package/lib/ele-ellipsis/index.js +23 -2
  366. package/lib/ele-ellipsis/types/index.d.ts +1 -1
  367. package/lib/ele-file-list/components/file-grid-item.d.ts +1 -1
  368. package/lib/ele-file-list/components/file-grid-item.js +5 -3
  369. package/lib/ele-file-list/components/file-grid.d.ts +4 -3
  370. package/lib/ele-file-list/components/file-grid.js +8 -1
  371. package/lib/ele-file-list/components/file-table-item.d.ts +1 -1
  372. package/lib/ele-file-list/components/file-table-item.js +5 -3
  373. package/lib/ele-file-list/components/file-table.d.ts +4 -3
  374. package/lib/ele-file-list/components/file-table.js +8 -1
  375. package/lib/ele-file-list/index.d.ts +6 -6
  376. package/lib/ele-file-list/props.d.ts +1 -1
  377. package/lib/ele-icon-select/index.d.ts +53 -51
  378. package/lib/ele-icon-select/index.js +221 -63
  379. package/lib/ele-icon-select/props.d.ts +26 -33
  380. package/lib/ele-icon-select/props.js +24 -31
  381. package/lib/ele-icon-select/style/index.js +0 -1
  382. package/lib/ele-icon-select/style/index.scss +0 -12
  383. package/lib/ele-map-picker/components/map-view.d.ts +6 -6
  384. package/lib/ele-map-picker/components/map-view.js +2 -1
  385. package/lib/ele-map-picker/index.d.ts +6 -6
  386. package/lib/ele-map-picker/props.d.ts +2 -3
  387. package/lib/ele-menus/index.d.ts +28 -19
  388. package/lib/ele-menus/props.d.ts +10 -7
  389. package/lib/ele-modal/index.d.ts +50 -44
  390. package/lib/ele-modal/index.js +62 -16
  391. package/lib/ele-modal/props.d.ts +16 -15
  392. package/lib/ele-modal/util.d.ts +3 -1
  393. package/lib/ele-modal/util.js +6 -4
  394. package/lib/ele-pagination/index.d.ts +22 -22
  395. package/lib/ele-pagination/index.js +2 -1
  396. package/lib/ele-pagination/props.d.ts +9 -9
  397. package/lib/ele-popconfirm/index.d.ts +74 -132
  398. package/lib/ele-popconfirm/props.d.ts +26 -49
  399. package/lib/ele-popover/index.d.ts +62 -119
  400. package/lib/ele-popover/props.d.ts +23 -46
  401. package/lib/ele-popover/props.js +1 -1
  402. package/lib/ele-printer/index.d.ts +5 -3
  403. package/lib/ele-printer/index.js +3 -2
  404. package/lib/ele-printer/props.d.ts +4 -2
  405. package/lib/ele-printer/props.js +3 -1
  406. package/lib/ele-printer/types/index.d.ts +5 -1
  407. package/lib/ele-printer/util.d.ts +6 -0
  408. package/lib/ele-printer/util.js +11 -3
  409. package/lib/ele-pro-layout/components/pro-header.d.ts +6 -6
  410. package/lib/ele-pro-layout/components/pro-header.js +8 -3
  411. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  412. package/lib/ele-pro-layout/components/pro-sidebar.js +5 -4
  413. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  414. package/lib/ele-pro-layout/components/pro-sidebox.js +5 -4
  415. package/lib/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  416. package/lib/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  417. package/lib/ele-pro-layout/components/tab-dropdown.js +4 -3
  418. package/lib/ele-pro-layout/index.d.ts +23 -25
  419. package/lib/ele-pro-layout/index.js +51 -4
  420. package/lib/ele-pro-layout/props.d.ts +4 -4
  421. package/lib/ele-pro-layout/props.js +1 -1
  422. package/lib/ele-pro-layout/style/layout-mobile.scss +4 -0
  423. package/lib/ele-pro-layout/types/index.d.ts +5 -6
  424. package/lib/ele-pro-layout/util.d.ts +1 -2
  425. package/lib/ele-pro-table/components/table-tools.d.ts +3 -3
  426. package/lib/ele-pro-table/components/table-tools.js +4 -7
  427. package/lib/ele-pro-table/components/tool-column.d.ts +2 -2
  428. package/lib/ele-pro-table/index.d.ts +44 -46
  429. package/lib/ele-pro-table/index.js +119 -78
  430. package/lib/ele-pro-table/props.d.ts +17 -20
  431. package/lib/ele-pro-table/props.js +1 -1
  432. package/lib/ele-pro-table/types/index.d.ts +5 -14
  433. package/lib/ele-pro-table/util.d.ts +5 -11
  434. package/lib/ele-pro-table/util.js +4 -5
  435. package/lib/ele-segmented/index.d.ts +1 -1
  436. package/lib/ele-split-panel/index.d.ts +1 -0
  437. package/lib/ele-split-panel/index.js +34 -4
  438. package/lib/ele-steps/index.d.ts +24 -24
  439. package/lib/ele-steps/props.d.ts +7 -7
  440. package/lib/ele-table-select/index.d.ts +83 -86
  441. package/lib/ele-table-select/index.js +264 -235
  442. package/lib/ele-table-select/props.d.ts +43 -37
  443. package/lib/ele-table-select/props.js +41 -32
  444. package/lib/ele-tabs/components/tab-title.d.ts +2 -2
  445. package/lib/ele-tabs/components/tab-title.js +6 -5
  446. package/lib/ele-tabs/index.d.ts +28 -29
  447. package/lib/ele-tabs/index.js +11 -3
  448. package/lib/ele-tabs/props.d.ts +10 -10
  449. package/lib/ele-text/index.d.ts +2 -2
  450. package/lib/ele-tool/index.d.ts +3 -3
  451. package/lib/ele-tool/props.d.ts +1 -1
  452. package/lib/ele-tooltip/index.d.ts +49 -102
  453. package/lib/ele-tooltip/props.d.ts +19 -41
  454. package/lib/ele-tour/index.d.ts +2 -2
  455. package/lib/ele-tour/types/index.d.ts +1 -1
  456. package/lib/ele-tour/util.d.ts +1 -1
  457. package/lib/ele-tree-select/index.d.ts +144 -0
  458. package/lib/ele-tree-select/index.js +411 -0
  459. package/lib/ele-tree-select/props.d.ts +92 -0
  460. package/lib/ele-tree-select/props.js +87 -0
  461. package/lib/ele-tree-select/style/css-var.scss +8 -0
  462. package/lib/ele-tree-select/style/index.js +4 -0
  463. package/lib/ele-tree-select/style/index.scss +100 -0
  464. package/lib/ele-tree-select/types/index.d.ts +17 -0
  465. package/lib/ele-tree-select/util.d.ts +48 -0
  466. package/lib/ele-tree-select/util.js +128 -0
  467. package/lib/ele-upload-list/index.d.ts +1 -1
  468. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  469. package/lib/ele-virtual-table/components/body-row.d.ts +3 -3
  470. package/lib/ele-virtual-table/components/body-row.js +3 -3
  471. package/lib/ele-virtual-table/components/cell-filter.d.ts +1 -1
  472. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  473. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  474. package/lib/ele-virtual-table/index.d.ts +386 -0
  475. package/lib/ele-virtual-table/index.js +291 -139
  476. package/lib/ele-virtual-table/props.d.ts +11 -6
  477. package/lib/ele-virtual-table/style/index.scss +1 -1
  478. package/lib/ele-virtual-table/types/index.d.ts +13 -5
  479. package/lib/ele-virtual-table/util.d.ts +16 -14
  480. package/lib/ele-virtual-table/util.js +26 -44
  481. package/lib/ele-watermark/index.d.ts +0 -1
  482. package/lib/ele-watermark/index.js +13 -13
  483. package/lib/ele-watermark/util.d.ts +6 -0
  484. package/lib/ele-watermark/util.js +8 -0
  485. package/lib/style/index.scss +1 -0
  486. package/lib/style/themes/dark.scss +3 -0
  487. package/lib/style/themes/default.scss +143 -3
  488. package/lib/style/themes/rounded.scss +28 -0
  489. package/lib/style/themes/theme-util.scss +3 -3
  490. package/lib/utils/core.d.ts +8 -1
  491. package/lib/utils/core.js +15 -0
  492. package/package.json +63 -57
  493. package/typings/global.d.ts +1 -0
  494. package/es/ele-app/style/common.js +0 -1
  495. package/es/ele-app/style/overwrite.js +0 -1
  496. package/es/ele-app/style/overwrite.scss +0 -1728
  497. package/es/ele-app/style/scrollbar.js +0 -1
  498. package/es/ele-basic-select/components/select-tag.d.ts +0 -32
  499. package/es/ele-basic-select/components/select-tag.js +0 -65
  500. package/es/ele-icon-select/components/icon-popper.d.ts +0 -93
  501. package/es/ele-icon-select/components/icon-popper.js +0 -253
  502. package/es/ele-table-select/types/index.d.ts +0 -12
  503. package/lib/ele-app/style/common.js +0 -2
  504. package/lib/ele-app/style/overwrite.js +0 -2
  505. package/lib/ele-app/style/overwrite.scss +0 -1728
  506. package/lib/ele-app/style/scrollbar.js +0 -2
  507. package/lib/ele-basic-select/components/select-tag.d.ts +0 -32
  508. package/lib/ele-basic-select/components/select-tag.js +0 -64
  509. package/lib/ele-icon-select/components/icon-popper.d.ts +0 -93
  510. package/lib/ele-icon-select/components/icon-popper.js +0 -252
  511. package/lib/ele-table-select/types/index.d.ts +0 -12
  512. /package/es/ele-app/style/{common.scss → common/index.scss} +0 -0
  513. /package/lib/ele-app/style/{common.scss → common/index.scss} +0 -0
@@ -11,14 +11,13 @@ const index = vue.defineComponent({
11
11
  setup(props$1, { emit, slots, expose }) {
12
12
  const events = util.useEmits(emit);
13
13
  const methods = util.useMethods(() => tableRef.value);
14
- const {
15
- getSorter,
16
- setSorter,
17
- getFilter,
18
- setFilter,
19
- getSelectionNoChange,
20
- setSelectionNoChange
21
- } = util.useState(props$1.defaultSort);
14
+ const tableState = {
15
+ sorter: props$1.defaultSort,
16
+ key: null,
17
+ checkedKeys: [],
18
+ checked: [],
19
+ reserveChecked: util.isReserveChecked(props$1.columns)
20
+ };
22
21
  const tableRef = vue.ref(null);
23
22
  const tableCols = vue.ref(props$1.columns ?? []);
24
23
  const tableOverflowTooltip = vue.computed(() => {
@@ -28,73 +27,252 @@ const index = vue.defineComponent({
28
27
  props$1.tooltipOptions
29
28
  );
30
29
  });
31
- vue.watch(
32
- () => props$1.columns,
33
- (columns) => {
34
- if (!columns) {
35
- tableCols.value = [];
36
- return;
37
- }
38
- const { cols, sorter } = util.getStateCols(
39
- columns,
40
- getSorter(),
41
- getFilter()
42
- );
43
- tableCols.value = cols;
44
- vue.nextTick(() => {
45
- methods.doLayout();
46
- if (sorter) {
47
- methods.sort(sorter.prop, sorter.order || "ascending");
48
- }
49
- });
50
- },
51
- { deep: true }
52
- );
30
+ const childKey = vue.computed(() => {
31
+ var _a;
32
+ return ((_a = props$1.treeProps) == null ? void 0 : _a.children) || "children";
33
+ });
53
34
  const clearSort = () => {
54
35
  methods.clearSort();
55
- setSorter({});
36
+ tableState.sorter = {};
37
+ };
38
+ const clearSelection = () => {
39
+ updateCheckedState([]);
40
+ };
41
+ const toggleRowSelection = (row, selected) => {
42
+ methods.toggleRowSelection(row, selected);
43
+ const selection = methods.getSelectionRows() || [];
44
+ updateCheckedState(util.getRowKeys(selection, props$1.rowKey), selection);
45
+ };
46
+ const setCurrentRow = (row) => {
47
+ updateSelectedState(util.getValue(row, props$1.rowKey), row);
48
+ };
49
+ const setCurrentRowKey = (key) => {
50
+ updateSelectedState(key);
51
+ };
52
+ const getCurrentRow = () => {
53
+ return tableState.row;
56
54
  };
57
55
  const setSelectedRows = (rows) => {
58
- if (rows == null) {
59
- return;
56
+ if (rows) {
57
+ updateCheckedState(util.getRowKeys(rows, props$1.rowKey), rows, !!rows.length);
60
58
  }
61
- setSelectionNoChange(true);
62
- methods.clearSelection();
63
- rows.forEach((d) => {
64
- methods.toggleRowSelection(d, true);
65
- });
66
- setSelectionNoChange(false);
67
- events.onSelectionChange(rows);
68
59
  };
69
60
  const setSelectedRowKeys = (keys) => {
70
- if (!keys || !props$1.rowKey) {
71
- return;
61
+ if (keys) {
62
+ updateCheckedState(keys);
72
63
  }
73
- const rows = props$1.data.filter(
74
- (d) => keys.some((v) => v === util.getValue(d, props$1.rowKey))
75
- );
76
- setSelectedRows(rows);
77
64
  };
78
65
  const toggleRowExpansionAll = (expanded) => {
79
- var _a;
80
- const childKey = ((_a = props$1.treeProps) == null ? void 0 : _a.children) || "children";
81
66
  core.eachTree(
82
67
  props$1.data,
83
- (d) => {
84
- var _a2;
85
- if ((_a2 = d[childKey]) == null ? void 0 : _a2.length) {
86
- methods.toggleRowExpansion(d, expanded);
68
+ (row) => {
69
+ var _a;
70
+ if ((_a = row[childKey.value]) == null ? void 0 : _a.length) {
71
+ methods.toggleRowExpansion(row, expanded);
87
72
  }
88
73
  },
89
- childKey
74
+ childKey.value
90
75
  );
91
76
  };
77
+ const updateSelectedState = (key, item) => {
78
+ if (!util.valueIsChanged(tableState.key, key)) {
79
+ if (key != null && item != null) {
80
+ if (tableState.row !== item) {
81
+ tableState.row = item;
82
+ events.onCurrentChange(item, tableState.oldRow);
83
+ }
84
+ methods.setCurrentRow(item);
85
+ }
86
+ return;
87
+ }
88
+ if (key != null) {
89
+ const row = util.getRowByKey(key, props$1.data, props$1.rowKey, childKey.value);
90
+ if (row != null || props$1.reserveCurrent) {
91
+ tableState.oldRow = tableState.row;
92
+ tableState.row = row || item || void 0;
93
+ if (tableState.row == null && props$1.cacheData != null) {
94
+ tableState.row = util.getRowByKey(
95
+ key,
96
+ props$1.cacheData,
97
+ props$1.rowKey,
98
+ childKey.value
99
+ );
100
+ }
101
+ tableState.key = key;
102
+ methods.setCurrentRow(row);
103
+ updateCurrentRowKey(key);
104
+ events.onCurrentChange(tableState.row, tableState.oldRow);
105
+ return;
106
+ }
107
+ }
108
+ if (tableState.key != null) {
109
+ tableState.oldRow = tableState.row;
110
+ tableState.row = void 0;
111
+ tableState.key = null;
112
+ methods.setCurrentRow(null);
113
+ updateCurrentRowKey();
114
+ events.onCurrentChange(void 0, tableState.oldRow);
115
+ }
116
+ };
117
+ const updateCheckedState = (keys, items, force) => {
118
+ if (!force && !util.arrayIsChanged(tableState.checkedKeys, keys)) {
119
+ return;
120
+ }
121
+ const [dataKeys, list] = util.getKeysAndList(
122
+ props$1.data,
123
+ props$1.rowKey,
124
+ childKey.value
125
+ );
126
+ const [cacheKeys, cacheList] = util.getKeysAndList(
127
+ props$1.cacheData,
128
+ props$1.rowKey,
129
+ childKey.value
130
+ );
131
+ const itemKeys = items ? items.map((d) => util.getValue(d, props$1.rowKey)) : [];
132
+ const oldKeys = tableState.checked.map((d) => util.getValue(d, props$1.rowKey));
133
+ const checkedKeys = [];
134
+ const checked = [];
135
+ keys.forEach((key) => {
136
+ const index2 = dataKeys.indexOf(key);
137
+ if (index2 !== -1) {
138
+ checkedKeys.push(key);
139
+ checked.push(list[index2]);
140
+ } else if (tableState.reserveChecked) {
141
+ checkedKeys.push(key);
142
+ if (items != null) {
143
+ const tIndex = itemKeys.indexOf(key);
144
+ if (tIndex !== -1 && !items[tIndex]._isMock) {
145
+ checked.push(items[tIndex]);
146
+ return;
147
+ }
148
+ }
149
+ if (props$1.cacheData != null) {
150
+ const i = cacheKeys.indexOf(key);
151
+ if (i !== -1) {
152
+ checked.push(cacheList[i]);
153
+ return;
154
+ }
155
+ }
156
+ const oIndex = oldKeys.indexOf(key);
157
+ if (oIndex !== -1) {
158
+ checked.push(tableState.checked[oIndex]);
159
+ return;
160
+ }
161
+ if (typeof props$1.rowKey === "string") {
162
+ checked.push({ [props$1.rowKey]: key, _isMock: true });
163
+ }
164
+ }
165
+ });
166
+ const isChanged = util.arrayIsChanged(tableState.checked, checked);
167
+ tableState.checked = checked;
168
+ tableState.checkedKeys = checkedKeys;
169
+ if (isChanged) {
170
+ methods.clearSelection();
171
+ checked.forEach((row) => {
172
+ methods.toggleRowSelection(row, true);
173
+ });
174
+ }
175
+ updateSelectedRowKeys(checkedKeys);
176
+ if (isChanged) {
177
+ events.onSelectionChange(checked);
178
+ }
179
+ };
180
+ const updateSelectedAndChecked = () => {
181
+ const key = tableState.key;
182
+ if (key != null) {
183
+ const row = util.getRowByKey(key, props$1.data, props$1.rowKey, childKey.value);
184
+ if (row != null) {
185
+ updateSelectedState(key, row);
186
+ } else if (!props$1.reserveCurrent) {
187
+ updateSelectedState(null);
188
+ } else if (props$1.cacheData != null) {
189
+ const temp = util.getRowByKey(
190
+ key,
191
+ props$1.cacheData,
192
+ props$1.rowKey,
193
+ childKey.value
194
+ );
195
+ if (temp != null) {
196
+ updateSelectedState(key, temp);
197
+ }
198
+ }
199
+ }
200
+ if (tableState.checkedKeys.length) {
201
+ updateCheckedState(tableState.checkedKeys, void 0, true);
202
+ }
203
+ };
204
+ const updateCurrentRowKey = (key) => {
205
+ if (util.valueIsChanged(props$1.currentRowKey, key)) {
206
+ events["onUpdate:currentRowKey"](key);
207
+ }
208
+ };
209
+ const updateSelectedRowKeys = (keys) => {
210
+ const selected = props$1.selectedRowKeys || [];
211
+ if (util.arrayIsChanged(selected, keys)) {
212
+ events["onUpdate:selectedRowKeys"](keys);
213
+ }
214
+ };
215
+ vue.watch(
216
+ () => props$1.columns,
217
+ (columns) => {
218
+ tableState.reserveChecked = util.isReserveChecked(columns);
219
+ if (!columns) {
220
+ tableCols.value = [];
221
+ } else {
222
+ const { cols, sorter } = util.getStateCols(
223
+ columns,
224
+ tableState.sorter,
225
+ tableState.filter
226
+ );
227
+ tableCols.value = cols;
228
+ vue.nextTick(() => {
229
+ methods.doLayout();
230
+ if (sorter) {
231
+ methods.sort(sorter.prop, sorter.order || "ascending");
232
+ }
233
+ });
234
+ }
235
+ },
236
+ { deep: true }
237
+ );
238
+ vue.watch([() => props$1.data, () => props$1.cacheData], () => {
239
+ vue.nextTick(() => {
240
+ updateSelectedAndChecked();
241
+ });
242
+ });
243
+ vue.watch(
244
+ () => props$1.currentRowKey,
245
+ (key) => {
246
+ updateSelectedState(key);
247
+ }
248
+ );
249
+ vue.watch(
250
+ () => props$1.selectedRowKeys,
251
+ (selectedRowKeys) => {
252
+ updateCheckedState(selectedRowKeys || []);
253
+ },
254
+ { deep: true }
255
+ );
256
+ vue.onMounted(() => {
257
+ if (props$1.currentRowKey != null) {
258
+ updateSelectedState(props$1.currentRowKey);
259
+ }
260
+ if (props$1.selectedRowKeys != null && props$1.selectedRowKeys.length) {
261
+ updateCheckedState(props$1.selectedRowKeys);
262
+ }
263
+ });
92
264
  const exposeValue = {
93
265
  ...methods,
94
266
  clearSort,
267
+ clearSelection,
268
+ toggleRowSelection,
269
+ setCurrentRow,
270
+ setCurrentRowKey,
271
+ getCurrentRow,
95
272
  setSelectedRows,
96
273
  setSelectedRowKeys,
97
274
  toggleRowExpansionAll,
275
+ updateSelectedAndChecked,
98
276
  tableRef
99
277
  };
100
278
  expose(exposeValue);
@@ -103,13 +281,17 @@ const index = vue.defineComponent({
103
281
  elementPlus.ElTable,
104
282
  {
105
283
  ...core.pick(props$1, props.tablePropKeys),
106
- ...events,
284
+ ...core.omit(events, [
285
+ "onUpdate:currentRowKey",
286
+ "onUpdate:selectedRowKeys"
287
+ ]),
107
288
  ref: tableRef,
108
289
  class: [
109
290
  "ele-data-table",
110
291
  { "is-sticky": props$1.sticky },
111
292
  { "hide-bottom-line": !props$1.bottomLine }
112
293
  ],
294
+ currentRowKey: void 0,
113
295
  emptyText: props$1.errorText || props$1.emptyText,
114
296
  rowClassName: (param) => {
115
297
  return util.getBodyRowClass(props$1.rowClassName, param);
@@ -124,10 +306,11 @@ const index = vue.defineComponent({
124
306
  onRowClick: (row, column, event) => {
125
307
  if (props$1.rowClickChecked && !util.isDisableRow(row, props$1.data.indexOf(row), props$1.columns)) {
126
308
  const selections = methods.getSelectionRows();
127
- if (props$1.rowClickChecked === "smart" && selections != null && selections.length === 1) {
128
- methods.setSelectedRows([row]);
309
+ if (props$1.rowClickChecked === "smart" && (!selections || !selections.length || selections.length === 1)) {
310
+ const key = util.getValue(row, props$1.rowKey);
311
+ updateCheckedState(key == null ? [] : [key]);
129
312
  } else {
130
- methods.toggleRowSelection(row);
313
+ toggleRowSelection(row);
131
314
  }
132
315
  }
133
316
  events.onRowClick(row, column, event);
@@ -137,29 +320,38 @@ const index = vue.defineComponent({
137
320
  const el = e.currentTarget;
138
321
  if (el) {
139
322
  const caretEl = el.querySelector(".caret-wrapper");
140
- if (caretEl) {
141
- caretEl.dispatchEvent(new MouseEvent("click"));
142
- }
323
+ caretEl && caretEl.dispatchEvent(new MouseEvent("click"));
143
324
  }
144
325
  }
145
326
  events.onHeaderClick(column, e);
146
327
  },
147
- onSelectionChange: (selection) => {
148
- if (!getSelectionNoChange()) {
149
- events.onSelectionChange(selection);
150
- }
151
- },
152
328
  onSortChange: (sorter) => {
153
- const currentSorter = getSorter();
329
+ const currentSorter = tableState.sorter;
154
330
  if (currentSorter && sorter.prop === currentSorter.prop && sorter.order === currentSorter.order) {
155
331
  return;
156
332
  }
157
- setSorter(sorter);
158
- events.onSortChange(getSorter());
333
+ tableState.sorter = sorter;
334
+ events.onSortChange(sorter);
159
335
  },
160
336
  onFilterChange: (filter) => {
161
- setFilter(util.getTableFilter(tableRef.value) ?? filter);
162
- events.onFilterChange(getFilter());
337
+ tableState.filter = util.getTableFilter(tableRef.value) ?? filter;
338
+ events.onFilterChange(tableState.filter);
339
+ },
340
+ // 重写选中逻辑
341
+ onCurrentChange: (row, old) => {
342
+ if (row != null && row !== old) {
343
+ updateSelectedState(util.getValue(row, props$1.rowKey), row);
344
+ }
345
+ },
346
+ onSelect: (selection, row) => {
347
+ events.onSelect(selection, row);
348
+ updateCheckedState(util.getRowKeys(selection, props$1.rowKey), selection);
349
+ },
350
+ onSelectAll: (selection) => {
351
+ updateCheckedState(util.getRowKeys(selection, props$1.rowKey), selection);
352
+ events.onSelectAll(selection);
353
+ },
354
+ onSelectionChange: () => {
163
355
  },
164
356
  // 移除提示组件相关属性
165
357
  showOverflowTooltip: void 0,
@@ -1,12 +1,12 @@
1
1
  import type { PropType, ExtractPropTypes } from 'vue';
2
- import type { DataItem, Column, Columns, Sorter, Filter, TableEmptyProps, RowClickChecked } from './types';
2
+ import type { DataKey, DataItem, Column, Columns, Sorter, Filter, TableEmptyProps, RowClickChecked } from './types';
3
3
  declare const normalizeProps: Omit<{
4
4
  data: {
5
5
  type: PropType<any[]>;
6
6
  default: () => never[];
7
7
  };
8
8
  size: {
9
- readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
9
+ readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
10
10
  readonly required: false;
11
11
  readonly validator: ((val: unknown) => boolean) | undefined;
12
12
  __epPropKey: true;
@@ -137,8 +137,14 @@ export declare const dataTableProps: {
137
137
  };
138
138
  /** 多选时行点击选中 */
139
139
  rowClickChecked: PropType<RowClickChecked>;
140
+ /** 单选选中是否保留不存在的数据 */
141
+ reserveCurrent: BooleanConstructor;
142
+ /** 多选选中行的值 */
143
+ selectedRowKeys: PropType<DataKey[]>;
144
+ /** 缓存数据 */
145
+ cacheData: PropType<DataItem[]>;
140
146
  size: {
141
- readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
147
+ readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
142
148
  readonly required: false;
143
149
  readonly validator: ((val: unknown) => boolean) | undefined;
144
150
  __epPropKey: true;
@@ -165,6 +171,11 @@ export declare const dataTableProps: {
165
171
  default: boolean;
166
172
  };
167
173
  showOverflowTooltip: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
174
+ emptyText: StringConstructor;
175
+ indent: {
176
+ type: NumberConstructor;
177
+ default: number;
178
+ };
168
179
  showHeader: {
169
180
  type: BooleanConstructor;
170
181
  default: boolean;
@@ -182,7 +193,6 @@ export declare const dataTableProps: {
182
193
  headerCellStyle: PropType<import("element-plus/es/components/table/src/table/defaults").CellStyle<any> | undefined>;
183
194
  highlightCurrentRow: BooleanConstructor;
184
195
  currentRowKey: (StringConstructor | NumberConstructor)[];
185
- emptyText: StringConstructor;
186
196
  expandRowKeys: PropType<any[] | undefined>;
187
197
  defaultExpandAll: BooleanConstructor;
188
198
  defaultSort: PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
@@ -201,10 +211,6 @@ export declare const dataTableProps: {
201
211
  type: BooleanConstructor;
202
212
  default: boolean;
203
213
  };
204
- indent: {
205
- type: NumberConstructor;
206
- default: number;
207
- };
208
214
  treeProps: {
209
215
  type: PropType<{
210
216
  hasChildren?: string | undefined;
@@ -245,6 +251,10 @@ export declare const dataTableEmits: {
245
251
  currentChange: (_current?: DataItem | null, _old?: DataItem | null) => boolean;
246
252
  headerDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => boolean;
247
253
  expandChange: (_row: DataItem, _expanded: boolean) => boolean;
254
+ /** 更新单选选中行的值 */
255
+ 'update:currentRowKey': (_currentRowKey?: DataKey) => boolean;
256
+ /** 更新多选选中行的值 */
257
+ 'update:selectedRowKeys': (_selectedRowKeys?: DataKey[]) => boolean;
248
258
  };
249
259
  /**
250
260
  * 表格组件属性名
@@ -47,7 +47,13 @@ const dataTableProps = {
47
47
  }
48
48
  },
49
49
  /** 多选时行点击选中 */
50
- rowClickChecked: [Boolean, String]
50
+ rowClickChecked: [Boolean, String],
51
+ /** 单选选中是否保留不存在的数据 */
52
+ reserveCurrent: Boolean,
53
+ /** 多选选中行的值 */
54
+ selectedRowKeys: Array,
55
+ /** 缓存数据 */
56
+ cacheData: Array
51
57
  };
52
58
  const dataTableEmits = {
53
59
  select: (_selection, _row) => true,
@@ -67,7 +73,11 @@ const dataTableEmits = {
67
73
  filterChange: (_filter) => true,
68
74
  currentChange: (_current, _old) => true,
69
75
  headerDragend: (_width, _old, _column, _e) => true,
70
- expandChange: (_row, _expanded) => true
76
+ expandChange: (_row, _expanded) => true,
77
+ /** 更新单选选中行的值 */
78
+ "update:currentRowKey": (_currentRowKey) => true,
79
+ /** 更新多选选中行的值 */
80
+ "update:selectedRowKeys": (_selectedRowKeys) => true
71
81
  };
72
82
  const tablePropKeys = Object.keys(normalizeProps);
73
83
  const dataTablePropKeys = Object.keys(
@@ -13,6 +13,10 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
13
13
  background: none;
14
14
  }
15
15
 
16
+ .ele-data-table > .el-table__inner-wrapper > .el-table__header-wrapper {
17
+ z-index: 4;
18
+ }
19
+
16
20
  .ele-data-table {
17
21
  /* 单元格背景 */
18
22
  & > .el-table__inner-wrapper {
@@ -268,6 +272,7 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
268
272
  bottom: 0;
269
273
  width: 0;
270
274
  border-left: 1px solid eleVar('table', 'border-color');
275
+ z-index: 5;
271
276
  }
272
277
 
273
278
  &.el-table > .el-table__inner-wrapper::before,
@@ -275,6 +280,7 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
275
280
  right: 0;
276
281
  height: 0;
277
282
  border-top: 1px solid eleVar('table', 'border-color');
283
+ z-index: 5;
278
284
  }
279
285
 
280
286
  &.el-table:not(.has-footer) > .el-table__inner-wrapper::before {
@@ -338,7 +344,6 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
338
344
  & > .el-table__inner-wrapper > .el-table__header-wrapper {
339
345
  position: sticky;
340
346
  top: eleVar('table', 'sticky-top');
341
- z-index: 3;
342
347
  }
343
348
  }
344
349
  }
@@ -10,8 +10,10 @@ export type DataKey = string | number;
10
10
  export interface DataItem extends Record<keyof any, any> {
11
11
  /** 子级数据 */
12
12
  children?: DataItem[];
13
+ /** 是否为模拟数据 */
14
+ _isMock?: boolean;
13
15
  /** 行唯一值 */
14
- _rowKey?: DataKey;
16
+ _rowKey?: DataKey | null;
15
17
  /** 行索引 */
16
18
  _rowIndex?: number;
17
19
  /** 行是否禁用 */
@@ -67,6 +69,35 @@ export type FilterValue = string[] | undefined;
67
69
  * 排序方式值
68
70
  */
69
71
  export type OrderValue = Exclude<Sorter['order'], undefined>;
72
+ /**
73
+ * 表格状态
74
+ */
75
+ export interface TableState {
76
+ /** 当前排序参数 */
77
+ sorter?: Sorter;
78
+ /** 当前筛选参数 */
79
+ filter?: Filter;
80
+ /** 单选选中值 */
81
+ key: DataKey | null;
82
+ /** 单选选中数据 */
83
+ row?: DataItem;
84
+ /** 单选上次选中数据 */
85
+ oldRow?: DataItem;
86
+ /** 多选选中值 */
87
+ checkedKeys: DataKey[];
88
+ /** 多选选中数据 */
89
+ checked: DataItem[];
90
+ /** 多选选中是否保留不存在的数据 */
91
+ reserveChecked: boolean;
92
+ }
93
+ /**
94
+ * 多选时行点击选中
95
+ */
96
+ export type RowClickChecked = boolean | 'smart';
97
+ /**
98
+ * 表格空组件属性
99
+ */
100
+ export type TableEmptyProps = boolean | ElEmptyProps;
70
101
  /**
71
102
  * 获取表格实例
72
103
  */
@@ -88,25 +119,31 @@ export interface TableMethods {
88
119
  scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void;
89
120
  setScrollTop: (top?: number) => void;
90
121
  setScrollLeft: (left?: number) => void;
91
- /** 设置选中数据 */
122
+ /** 设置单选选中值 */
123
+ setCurrentRowKey: (key?: DataKey | null) => void;
124
+ /** 获取单选选中数据 */
125
+ getCurrentRow: () => DataItem | undefined;
126
+ /** 设置多选选中数据 */
92
127
  setSelectedRows: (rows?: DataItem[]) => void;
93
- /** 设置选中数据 */
94
- setSelectedRowKeys: (keys?: string[] | number[]) => void;
95
- /** 切换所有行的展开状态 */
128
+ /** 设置多选选中值 */
129
+ setSelectedRowKeys: (keys?: DataKey[], rows?: DataItem[]) => void;
130
+ /** 切换所有行展开状态 */
96
131
  toggleRowExpansionAll: (expanded?: boolean) => void;
132
+ /** 更新单选和多选选中 */
133
+ updateSelectedAndChecked: () => void;
97
134
  }
98
135
  /**
99
136
  * 表格尺寸
100
137
  */
101
138
  export type TableSize = ElTableProps<DataItem>['size'];
102
- /**
103
- * 树表格懒加载回调
104
- */
105
- export type ResolveFunction = (data: DataItem[]) => void;
106
139
  /**
107
140
  * 树表格懒加载方法
108
141
  */
109
142
  export type TableLoad = ElTableProps<DataItem>['load'];
143
+ /**
144
+ * 树表格懒加载回调
145
+ */
146
+ export type ResolveFunction = (data: DataItem[]) => void;
110
147
  /**
111
148
  * 嵌套数据配置项
112
149
  */
@@ -114,17 +151,6 @@ export interface TreeProps {
114
151
  hasChildren?: string;
115
152
  children?: string;
116
153
  }
117
- /**
118
- * 表格当前排序和筛选数据
119
- */
120
- export interface TableState {
121
- /** 当前排序值 */
122
- sorter?: Sorter;
123
- /** 当前筛选值 */
124
- filter?: Filter;
125
- /** 是否不触发多选改变事件 */
126
- selectionNoChange?: boolean;
127
- }
128
154
  /**
129
155
  * 溢出提示组件属性
130
156
  */
@@ -181,11 +207,3 @@ export type RowKey = ElTableProps<DataItem>['rowKey'];
181
207
  * 控制行是否可选中的方法
182
208
  */
183
209
  export type RowSelectable = Column['selectable'];
184
- /**
185
- * 表格空组件属性
186
- */
187
- export type TableEmptyProps = boolean | ElEmptyProps;
188
- /**
189
- * 多选时行点击选中
190
- */
191
- export type RowClickChecked = boolean | 'smart';