@hi-ui/table 4.0.0-alpha.7 → 4.0.0-beta.2

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 (276) hide show
  1. package/README.md +159 -6
  2. package/lib/cjs/BaseTable.js +298 -0
  3. package/lib/cjs/BaseTable.js.map +1 -0
  4. package/lib/cjs/Table.js +315 -0
  5. package/lib/cjs/Table.js.map +1 -0
  6. package/lib/cjs/TableAdvancedFilter.js +164 -0
  7. package/lib/cjs/TableAdvancedFilter.js.map +1 -0
  8. package/lib/cjs/TableBody.js +150 -0
  9. package/lib/cjs/TableBody.js.map +1 -0
  10. package/lib/cjs/TableCell.js +226 -0
  11. package/lib/cjs/TableCell.js.map +1 -0
  12. package/lib/cjs/TableColumnMenu.js +172 -0
  13. package/lib/cjs/TableColumnMenu.js.map +1 -0
  14. package/lib/cjs/TableEmbedRow.js +81 -0
  15. package/lib/cjs/TableEmbedRow.js.map +1 -0
  16. package/lib/cjs/TableHeader.js +129 -0
  17. package/lib/cjs/TableHeader.js.map +1 -0
  18. package/lib/cjs/TableRow.js +216 -0
  19. package/lib/cjs/TableRow.js.map +1 -0
  20. package/lib/cjs/TableSettingMenu.js +222 -0
  21. package/lib/cjs/TableSettingMenu.js.map +1 -0
  22. package/lib/cjs/context.js +33 -0
  23. package/lib/cjs/context.js.map +1 -0
  24. package/lib/cjs/hooks/use-async-switch.js +145 -0
  25. package/lib/cjs/hooks/use-async-switch.js.map +1 -0
  26. package/lib/cjs/hooks/use-check.js +106 -0
  27. package/lib/cjs/hooks/use-check.js.map +1 -0
  28. package/lib/cjs/hooks/use-col-hidden.js +76 -0
  29. package/lib/cjs/hooks/use-col-hidden.js.map +1 -0
  30. package/lib/cjs/hooks/use-col-sorter.js +64 -0
  31. package/lib/cjs/hooks/use-col-sorter.js.map +1 -0
  32. package/lib/cjs/hooks/use-col-width.js +134 -0
  33. package/lib/cjs/hooks/use-col-width.js.map +1 -0
  34. package/lib/cjs/hooks/use-colgroup.js +111 -0
  35. package/lib/cjs/hooks/use-colgroup.js.map +1 -0
  36. package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js +287 -0
  37. package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js.map +1 -0
  38. package/lib/cjs/hooks/use-drag.js +110 -0
  39. package/lib/cjs/hooks/use-drag.js.map +1 -0
  40. package/lib/cjs/hooks/use-embed-expand.js +185 -0
  41. package/lib/cjs/hooks/use-embed-expand.js.map +1 -0
  42. package/lib/cjs/hooks/use-expand.js +183 -0
  43. package/lib/cjs/hooks/use-expand.js.map +1 -0
  44. package/lib/cjs/hooks/use-pagination.js +66 -0
  45. package/lib/cjs/hooks/use-pagination.js.map +1 -0
  46. package/lib/cjs/hooks/use-queue.js +55 -0
  47. package/lib/cjs/hooks/use-queue.js.map +1 -0
  48. package/lib/cjs/icons/index.js +55 -0
  49. package/lib/cjs/icons/index.js.map +1 -0
  50. package/lib/cjs/index.js +23 -0
  51. package/lib/cjs/index.js.map +1 -0
  52. package/lib/cjs/styles/index.scss.js +22 -0
  53. package/lib/cjs/styles/index.scss.js.map +1 -0
  54. package/lib/cjs/use-table.js +599 -0
  55. package/lib/cjs/use-table.js.map +1 -0
  56. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +29 -0
  57. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +1 -0
  58. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +27 -0
  59. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +1 -0
  60. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +29 -0
  61. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +1 -0
  62. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +29 -0
  63. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +1 -0
  64. package/lib/cjs/utils/func-utils/lib/esm/index.js +62 -0
  65. package/lib/cjs/utils/func-utils/lib/esm/index.js.map +1 -0
  66. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +37 -0
  67. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +1 -0
  68. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +37 -0
  69. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +1 -0
  70. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +37 -0
  71. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +1 -0
  72. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +37 -0
  73. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +1 -0
  74. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +34 -0
  75. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +1 -0
  76. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +37 -0
  77. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +1 -0
  78. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +60 -0
  79. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
  80. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +49 -0
  81. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +1 -0
  82. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +80 -0
  83. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
  84. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +63 -0
  85. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +1 -0
  86. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +34 -0
  87. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +1 -0
  88. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +33 -0
  89. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +1 -0
  90. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +36 -0
  91. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
  92. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +48 -0
  93. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +1 -0
  94. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +77 -0
  95. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +1 -0
  96. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +96 -0
  97. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +1 -0
  98. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +40 -0
  99. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +1 -0
  100. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +50 -0
  101. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +1 -0
  102. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +28 -0
  103. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
  104. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +58 -0
  105. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +1 -0
  106. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +49 -0
  107. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +1 -0
  108. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js +39 -0
  109. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +1 -0
  110. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +55 -0
  111. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +1 -0
  112. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +61 -0
  113. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +1 -0
  114. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +67 -0
  115. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +1 -0
  116. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +69 -0
  117. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +1 -0
  118. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +72 -0
  119. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +1 -0
  120. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +69 -0
  121. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +1 -0
  122. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +45 -0
  123. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +1 -0
  124. package/lib/cjs/utils/index.js +190 -0
  125. package/lib/cjs/utils/index.js.map +1 -0
  126. package/lib/esm/BaseTable.js +266 -0
  127. package/lib/esm/BaseTable.js.map +1 -0
  128. package/lib/esm/Table.js +276 -0
  129. package/lib/esm/Table.js.map +1 -0
  130. package/lib/esm/TableAdvancedFilter.js +134 -0
  131. package/lib/esm/TableAdvancedFilter.js.map +1 -0
  132. package/lib/esm/TableBody.js +126 -0
  133. package/lib/esm/TableBody.js.map +1 -0
  134. package/lib/esm/TableCell.js +202 -0
  135. package/lib/esm/TableCell.js.map +1 -0
  136. package/lib/esm/TableColumnMenu.js +145 -0
  137. package/lib/esm/TableColumnMenu.js.map +1 -0
  138. package/lib/esm/TableEmbedRow.js +59 -0
  139. package/lib/esm/TableEmbedRow.js.map +1 -0
  140. package/lib/esm/TableHeader.js +107 -0
  141. package/lib/esm/TableHeader.js.map +1 -0
  142. package/lib/esm/TableRow.js +189 -0
  143. package/lib/esm/TableRow.js.map +1 -0
  144. package/lib/esm/TableSettingMenu.js +190 -0
  145. package/lib/esm/TableSettingMenu.js.map +1 -0
  146. package/lib/esm/context.js +25 -0
  147. package/lib/esm/context.js.map +1 -0
  148. package/lib/esm/hooks/use-async-switch.js +124 -0
  149. package/lib/esm/hooks/use-async-switch.js.map +1 -0
  150. package/lib/esm/hooks/use-check.js +87 -0
  151. package/lib/esm/hooks/use-check.js.map +1 -0
  152. package/lib/esm/hooks/use-col-hidden.js +67 -0
  153. package/lib/esm/hooks/use-col-hidden.js.map +1 -0
  154. package/lib/esm/hooks/use-col-sorter.js +55 -0
  155. package/lib/esm/hooks/use-col-sorter.js.map +1 -0
  156. package/lib/esm/hooks/use-col-width.js +116 -0
  157. package/lib/esm/hooks/use-col-width.js.map +1 -0
  158. package/lib/esm/hooks/use-colgroup.js +93 -0
  159. package/lib/esm/hooks/use-colgroup.js.map +1 -0
  160. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js +264 -0
  161. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js.map +1 -0
  162. package/lib/esm/hooks/use-drag.js +91 -0
  163. package/lib/esm/hooks/use-drag.js.map +1 -0
  164. package/lib/esm/hooks/use-embed-expand.js +160 -0
  165. package/lib/esm/hooks/use-embed-expand.js.map +1 -0
  166. package/lib/esm/hooks/use-expand.js +172 -0
  167. package/lib/esm/hooks/use-expand.js.map +1 -0
  168. package/lib/esm/hooks/use-pagination.js +46 -0
  169. package/lib/esm/hooks/use-pagination.js.map +1 -0
  170. package/lib/esm/hooks/use-queue.js +49 -0
  171. package/lib/esm/hooks/use-queue.js.map +1 -0
  172. package/lib/esm/icons/index.js +33 -0
  173. package/lib/esm/icons/index.js.map +1 -0
  174. package/lib/esm/index.js +12 -0
  175. package/lib/esm/index.js.map +1 -0
  176. package/lib/esm/styles/index.scss.js +17 -0
  177. package/lib/esm/styles/index.scss.js.map +1 -0
  178. package/lib/esm/use-table.js +567 -0
  179. package/lib/esm/use-table.js.map +1 -0
  180. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +24 -0
  181. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +1 -0
  182. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +22 -0
  183. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +1 -0
  184. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +24 -0
  185. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +1 -0
  186. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +24 -0
  187. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +1 -0
  188. package/lib/esm/utils/func-utils/lib/esm/index.js +45 -0
  189. package/lib/esm/utils/func-utils/lib/esm/index.js.map +1 -0
  190. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +29 -0
  191. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +1 -0
  192. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +29 -0
  193. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +1 -0
  194. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +29 -0
  195. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +1 -0
  196. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +29 -0
  197. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +1 -0
  198. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +27 -0
  199. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +1 -0
  200. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +29 -0
  201. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +1 -0
  202. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +51 -0
  203. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
  204. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +41 -0
  205. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +1 -0
  206. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +70 -0
  207. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
  208. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +59 -0
  209. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +1 -0
  210. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +27 -0
  211. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +1 -0
  212. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +30 -0
  213. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +1 -0
  214. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +17 -0
  215. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
  216. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +40 -0
  217. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +1 -0
  218. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +70 -0
  219. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +1 -0
  220. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +87 -0
  221. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +1 -0
  222. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +35 -0
  223. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +1 -0
  224. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +43 -0
  225. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +1 -0
  226. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +25 -0
  227. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
  228. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +54 -0
  229. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +1 -0
  230. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +44 -0
  231. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +1 -0
  232. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js +21 -0
  233. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +1 -0
  234. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +50 -0
  235. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +1 -0
  236. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +57 -0
  237. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +1 -0
  238. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +62 -0
  239. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +1 -0
  240. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +61 -0
  241. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +1 -0
  242. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +55 -0
  243. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +1 -0
  244. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +52 -0
  245. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +1 -0
  246. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +40 -0
  247. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +1 -0
  248. package/lib/esm/utils/index.js +178 -0
  249. package/lib/esm/utils/index.js.map +1 -0
  250. package/lib/types/BaseTable.d.ts +41 -0
  251. package/lib/types/Table.d.ts +18 -16
  252. package/lib/types/TableAdvancedFilter.d.ts +9 -0
  253. package/lib/types/TableBody.d.ts +11 -0
  254. package/lib/types/TableCell.d.ts +41 -0
  255. package/lib/types/TableColumnMenu.d.ts +18 -5
  256. package/lib/types/TableEmbedRow.d.ts +26 -0
  257. package/lib/types/TableHeader.d.ts +1 -7
  258. package/lib/types/TableRow.d.ts +32 -0
  259. package/lib/types/TableSettingMenu.d.ts +1 -2
  260. package/lib/types/context.d.ts +110 -85
  261. package/lib/types/hooks/use-async-switch.d.ts +2 -1
  262. package/lib/types/hooks/use-check.d.ts +4 -8
  263. package/lib/types/hooks/use-col-frozen.d.ts +1 -1
  264. package/lib/types/hooks/use-col-hidden.d.ts +1 -1
  265. package/lib/types/hooks/use-col-width.d.ts +5 -8
  266. package/lib/types/hooks/use-colgroup.d.ts +2 -1
  267. package/lib/types/hooks/use-drag.d.ts +13 -0
  268. package/lib/types/hooks/use-embed-expand.d.ts +39 -0
  269. package/lib/types/hooks/use-expand.d.ts +1 -1
  270. package/lib/types/hooks/use-pagination.d.ts +5 -6
  271. package/lib/types/index.d.ts +1 -0
  272. package/lib/types/types.d.ts +33 -32
  273. package/lib/types/use-table.d.ts +242 -0
  274. package/lib/types/utils/index.d.ts +11 -4
  275. package/package.json +35 -8
  276. package/lib/types/TableExpandedRow.d.ts +0 -28
package/README.md CHANGED
@@ -1,11 +1,164 @@
1
- # `@hi-ui/table`
1
+ # Table 表格
2
2
 
3
- > TODO: description
3
+ 可容纳多种数据类型的大型数据容器,并可支持多种数据相关和表格属性设置相关的操作,具有强大的统计功能
4
4
 
5
- ## Usage
5
+ ## 何时使用
6
6
 
7
- ```
8
- const Table = require('@hi-ui/table');
7
+ 当需要管理一定量级的统一结构的数据记录时
8
+
9
+ 当需要对一部分全部数据进行编辑、筛选过滤时
10
+
11
+ ## 特别说明
12
+
13
+ - 按照 React 的规范,所有的数组组件必须绑定 key。Table 组件的 data 属性的每一列也需要指定一个 key 值来表明每一行数据的唯一性。同时基于综合考虑(性能、维护性、功能间的组合性等),当没有 key 传入的时候,组件内部并不会帮您生成 key。当 key 不存在时可能会引起一系列的问题,还请注意。
14
+ - 在进行列冻结时,一定要传入**列宽(width)**!
15
+
16
+ ## Props
17
+
18
+ | 属性名 | 描述 | 类型 | 可选值 | 默认值 |
19
+ | --------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------- | ---------- |
20
+ | data | 表格数据 | object[] | - | - |
21
+ | fieldKey | 指定 data 表格数据中某一属性为 key | string | - | 'key' |
22
+ | columns | 表格列配置信息 | ColumnItem[] | - | - |
23
+ | bordered | 是否显示边框(表头分组模式下,表格自带边框) | boolean | true \| false | false |
24
+ | sticky | 是否支持表头吸顶 | boolean | true \| false | false |
25
+ | stickyTop | 表头吸顶距离视口顶部距离 | number | - | 0 |
26
+ | highlightedColKeys | 高亮列(受控) | string[] | - | [] |
27
+ | expandedRender | 表格展开项 | (record: dataItem, index: number) => ReactNode \| Promise | - | - |
28
+ | rowExpandable | 设置是否允许行展开 | (record: dataItem ) => ReactNode \| Boolean | - | true |
29
+ | onExpand | 表格展开时的回调函数 | (expanded, row: object) => void | - | - |
30
+ | expandedRowKeys | 内嵌式表格以及树形表格展开的行 | number[] | - | - |
31
+ | maxHeight | 表格最大高度,当穿过该高度时,展示滚动条且表头固定 | number | - | - |
32
+ | fixedToColumn | 表格列冻结设置,为 string 时仅支持从左侧冻结至某一列 | string \| FixedOption | columns 中对应的 dataKey | null |
33
+ | size | 配置表格尺寸 | string | 'large' \| 'default' \| 'small' \| 'mini' | 'default' |
34
+ | pagination | 表格分页配置项 | Pagination | - | null |
35
+ | errorRowKeys | 错误列(受控) | string[] | - | [] |
36
+ | highlightedRowKeys | 高亮行(受控) | string[] | - | [] |
37
+ | rowSelection | 行可选(受控) | RowSelection | - | null |
38
+ | dataSource | 异步数据源 | (current: number) => DataSource | - | null |
39
+ | showColMenu | 是否支持列操作 | boolean | - | false |
40
+ | striped | 是否展示为斑马纹效果 | boolean | - | false |
41
+ | setting | 是否集成控制面板功能 | boolean | - | false |
42
+ | emptyContent | 数据为空时的展示内容 | string \| () => ReactNode | - | '暂无数据' |
43
+ | resizable | 是否能够动态控制列宽 | boolean | true \| false | false |
44
+ | standard | 标准模式,默认集成 `showColMenu = true, sticky = true, bordered = true, setting = true, striped = true` | boolean | true \| false | false |
45
+ | loading | 加载中状态 | boolean | true \| false | false |
46
+ | scrollWidth | 表格滚动的宽度(当表格总设置宽度(含自适应列)大于表格父级容器宽度时需要设置)**3.7.0 版本以后,该属性不建议使用** | number | - | - |
47
+ | showColHighlight | 表格某一列`hover`时,该列高亮 | boolean | true \| false | false |
48
+ | draggable | 表格行可拖拽 | boolean | true \| false | false |
49
+ | hiddenColKeys | 隐藏列(受控) (v3.9.0 新增) | string[] | - | - |
50
+ | onHiddenColKeysChange | 列隐藏设置时回调 (v3.9.0 新增) | (hiddenColKeys: string[]) => void | - | - |
51
+ | cellRender | 全局控制单元格自定义渲染,优先级低于 column 的 render 方法 | (text: DataItem[ColumnItem[dataKey]]) => ReactNode | - | - |
9
52
 
10
- // TODO: DEMONSTRATE API
53
+ ## Event
54
+
55
+ | 属性名 | 描述 | 类型 | 可选值 | 默认值 |
56
+ | -------------- | ------------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
57
+ | onHeaderRow | 行标题事件处理函数 | (item: ColumnItem[], index: number) => object | - | - |
58
+ | onLoadChildren | 点击异步加载子项 | (row: DataItem) => object[] \| Promise | - | - |
59
+ | onDragStart | 开始拖拽时触发 | (rowData: object) => void | rowData: 当前行的数据 | - |
60
+ | onDrop | 拖拽行放开时触发 | (dragRowData: object, dropRowData: object, data: object, level: Level) => boolean | Promise | dragRowData: 拖拽的行数据 <br/>dropRowData: 目标行数据 <br/>data:当前结构数据 <br/>level:当前级别数据 | - |
61
+ | onDropEnd | 拖拽成功时触发 | (dragRowData: object, dropRowData: object, data: object) => void | dragRowData: 拖拽的行数据 <br/>dropRowData: 目标行数据 <br/> data: 拖拽完成后的结构数据 | - |
62
+
63
+ > 在 onLoadChildren 方法中,返回的数据中会根据 `isLeaf` 字符控制左侧展开按钮的显示状态
64
+
65
+ ### onHeaderRow 使用方法
66
+
67
+ ```js
68
+ // demo 见【行操作-标题事件处理】
69
+
70
+ <Table
71
+ onHeaderRow={(columns, index) => {
72
+ return {
73
+ onClick: (event) => {}, // 点击行
74
+ onDoubleClick: (event) => {},
75
+ onContextMenu: (event) => {},
76
+ onMouseEnter: (event) => {}, // 鼠标移入行
77
+ onMouseLeave: (event) => {},
78
+ };
79
+ }}
80
+ />
11
81
  ```
82
+
83
+ ### Type
84
+
85
+ ### ColumnItem
86
+
87
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
88
+ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | ---------------------------- | ------ |
89
+ | title | 列标题 | string \| () => ReactNode | - | - |
90
+ | dataKey | 列对应数据项的唯一标识 | string \| number | - | - |
91
+ | align | 列对齐方式 | string | 'left' \| 'right' \|'center' | 'left' |
92
+ | selectFilters | 表头的筛选菜单, 更多配置请参考 [Select 组件](https://infra.mioffice.cn/hiui/zh-CN/components/select) (v3.7.1 新增) | object | - | null |
93
+ | sorter | 列排序函数 (v3.7.1 新增) | () => boolean | - | null |
94
+ | defaultSortOrder | 默认排序顺序 (v3.7.1 新增) | ascend \| descend | - | null |
95
+ | filterIcon | 自定义 filter 图标 (v3.7.1 新增) | ReactNode | - | null |
96
+ | filterDropdown | 自定义筛选菜单,此函数只负责渲染图层,需要自行编写各种交互 (v3.7.1 新增) | (props: {ColumnItem, setFilterDropdownVisible}) => ReactNode | - | null |
97
+ | filterDropdownWidth | 自定义筛选菜单宽度 (v3.7.1 新增) | number | - | 150 |
98
+ | filterDropdownClassName | 自定义筛选菜单 className (v3.7.1 新增) | string | - | - |
99
+ | onFilterDropdownVisibleChange | 自定义筛选下拉选项显示状态改变时的回调方法 (v3.7.1 新增) | (filterDropdownVisible, ColumnItem) => void | true \| false | false |
100
+ | avg | 该列是否支持平均值 | boolean | - | false |
101
+ | total | 该列是否支持合计 | boolean | - | - |
102
+ | width | 该列宽度 | number | - | - |
103
+ | children | 多级表头 | ColumnItem[] | - | - |
104
+ | render | 控制单元格自定义渲染 | (text: DataItem[ColumnItem[dataKey]], row: DataItem, index: number, dataKey: string) => ReactNode | - | - |
105
+
106
+ ### DataSource
107
+
108
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
109
+ | ----------------- | ----------------------------------------- | --------------------------------- | -------------------------------------------------- | ------------- |
110
+ | url | 请求的 url | string | - | - |
111
+ | type | 请求方法 | string | get \| post | get |
112
+ | data | post 请求时请求体参数 | object | - | - |
113
+ | params | url 查询参数 | object | - | - |
114
+ | headers | 请求头 | object | - | - |
115
+ | mode | 请求模式 | string | 'same-origin' \| 'cors' \| 'no-cors' \| 'navigate' | 'same-origin' |
116
+ | transformResponse | 成功时的回调,需要返回注入 table 的配置项 | (response: object) => TableConfig | - | - |
117
+
118
+ ### Pagination
119
+
120
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
121
+ | ---------------- | ---------------------------------------------------------- | --------------------------------------------------------- | --------------------------------- | --------- |
122
+ | type | 分页的类型 | string | 'default' \| 'simple' \| 'shrink' | 'default' |
123
+ | defaultCurrent | 默认的当前页数 | number | - | 1 |
124
+ | current | 当前页数 | number | - | - |
125
+ | max | 最大显示的页数 | number | - | 2 |
126
+ | pageSize | 每页条数 | number | - | 10 |
127
+ | pageSizeOptions | 指定每页可以显示多少条 | number[] | - | [] |
128
+ | total | 数据总数 | number | - | - |
129
+ | autoHide | 只有一页时是否隐藏分页器 | boolean | true \| false | false |
130
+ | showJumper | 是否显示跳转 | boolean | true \| false | false |
131
+ | onJump | 快速跳转时触发,回调值为当前页数 | (current: number) => void | - | - |
132
+ | onChange | 页码改变时的回调,回调值为当前页数、之前的页数和每页条数 | (current: number, prev: number, pageSize: number) => void | - | - | - |
133
+ | onPageSizeChange | 每页显示条数改变的回调函数,返回改变后的每页条数及当前页数 | (pageSize: number, current: number) => void | - | - | - |
134
+
135
+ ### FixedOption
136
+
137
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
138
+ | ----- | -------------------- | ------ | ------------------------ | ------ |
139
+ | left | 表格从左侧冻结至某列 | string | columns 中对应的 dataKey | - |
140
+ | right | 表格从右侧冻结至某列 | string | columns 中对应的 dataKey | - |
141
+
142
+ ### RowSelection
143
+
144
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
145
+ | ----------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------- | ------ |
146
+ | selectedRowKeys | 选中的行(受控) | string[] | row 中对应的 key | - |
147
+ | getCheckboxConfig | 行选择的配置项 | rowData => object | - | - |
148
+ | onChange | 选中项发生变化时的回调,如果是全选操作,`targetRow` 将是数组结构 | (selectedRowKeys: string[], targetRow?: object \| object[], shouldChecked?: boolean) => void | - | - |
149
+ | checkboxColWidth | 列选择 checkbox 所在列宽度 | number | - | - |
150
+ | checkAllOptions | 全选操作的配置项 | { filterIcon?: React.ReactNode } | - | - |
151
+
152
+ ## CHANGELOG
153
+
154
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
155
+ | -------------------- | ---------- | ------------------------------------------- | ------------------------------------------- |
156
+ | selectFilters | deprecated | 取消内嵌 Select | - | 使用 filterDropdown 能替代满足场景 |
157
+ | onLoadChildren | feature | 必须返回数据 -> 返回 undefined 不做任何处理 | - | 强化功能:支持自定义控制更新 |
158
+ | expandedEmbedRowKeys | feature | - | 字段:expandRowKeys -> expandedEmbedRowKeys | 强化功能:支持内嵌面板独立控制 |
159
+ | onEmbedExpand | feature | 字段:onExpand -> onEmbedExpand | 强化功能:支持内嵌面板独立控制 |
160
+ | stickyFooter | feature | boolean | 强化功能:支持底部吸底 |
161
+ | defaultFixedToColumn | feature | 1. 定义:非受控;2. 类型:对象 | 强化功能持久化 |
162
+ | fixedToColumn | feature | 1. 定义:受控;2. 类型:对象 | 强化功能持久化 |
163
+ | onFixedToColumn | feature | 1. 定义:冻结列回调;2. 类型:对象 | 强化功能持久化 |
164
+ | showRowHighlight | feature | - | 强化功能持久化 |
@@ -0,0 +1,298 @@
1
+ /** @LICENSE
2
+ * @hi-ui/table
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var tslib = require('tslib');
19
+
20
+ var React = require('react');
21
+
22
+ var classname = require('@hi-ui/classname');
23
+
24
+ var env = require('@hi-ui/env');
25
+
26
+ var iconButton = require('@hi-ui/icon-button');
27
+
28
+ var icons = require('@hi-ui/icons');
29
+
30
+ var typeAssertion = require('@hi-ui/type-assertion');
31
+
32
+ var TableBody = require('./TableBody.js');
33
+
34
+ var TableHeader = require('./TableHeader.js');
35
+
36
+ var index$1 = require('./icons/index.js');
37
+
38
+ var context = require('./context.js');
39
+
40
+ var index = require('./utils/index.js');
41
+
42
+ var useTable = require('./use-table.js');
43
+
44
+ var useEmbedExpand = require('./hooks/use-embed-expand.js');
45
+
46
+ var localeContext = require('@hi-ui/locale-context');
47
+
48
+ function _interopDefaultLegacy(e) {
49
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
50
+ 'default': e
51
+ };
52
+ }
53
+
54
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
55
+
56
+ var _role = 'table';
57
+
58
+ var _prefix = classname.getPrefixCls('table');
59
+
60
+ var EMBED_DATA_KEY = "TABLE_EMBED_DATA_KEY_" + index.uuid();
61
+ var DEFAULT_COLUMNS = [];
62
+ var DEFAULT_DATA = [];
63
+ /**
64
+ * TODO: What is BaseTable
65
+ */
66
+
67
+ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
68
+ // ********************** 内嵌式面板 *********************** //
69
+ var _a$prefixCls = _a.prefixCls,
70
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
71
+ _a$role = _a.role,
72
+ role = _a$role === void 0 ? _role : _a$role,
73
+ className = _a.className,
74
+ _a$columns = _a.columns,
75
+ columns = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
76
+ _a$data = _a.data,
77
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
78
+ _a$striped = _a.striped,
79
+ striped = _a$striped === void 0 ? false : _a$striped,
80
+ borderedProp = _a.bordered,
81
+ rowExpandable = _a.rowExpandable,
82
+ defaultExpandedEmbedRowKeys = _a.defaultExpandedEmbedRowKeys,
83
+ expandedEmbedRowKeys = _a.expandedEmbedRowKeys,
84
+ onEmbedExpand = _a.onEmbedExpand,
85
+ expandedRender = _a.expandedRender,
86
+ size = _a.size,
87
+ extra = _a.extra,
88
+ onRow = _a.onRow,
89
+ stickyFooter = _a.stickyFooter,
90
+ _a$fixedColumnTrigger = _a.fixedColumnTrigger,
91
+ fixedColumnTrigger = _a$fixedColumnTrigger === void 0 ? 'auto' : _a$fixedColumnTrigger,
92
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "columns", "data", "striped", "bordered", "rowExpandable", "defaultExpandedEmbedRowKeys", "expandedEmbedRowKeys", "onEmbedExpand", "expandedRender", "size", "extra", "onRow", "onHeaderRow", "stickyFooter", "fixedColumnTrigger"]);
93
+
94
+ var _useEmbedExpand = useEmbedExpand.useEmbedExpand({
95
+ defaultExpandedEmbedRowKeys: defaultExpandedEmbedRowKeys,
96
+ rowExpandable: rowExpandable,
97
+ expandedEmbedRowKeys: expandedEmbedRowKeys,
98
+ onEmbedExpand: onEmbedExpand,
99
+ expandedRender: expandedRender
100
+ }),
101
+ embedExpandable = _useEmbedExpand.embedExpandable,
102
+ onEmbedSwitch = _useEmbedExpand.onEmbedSwitch,
103
+ isEmbedLoadingId = _useEmbedExpand.isEmbedLoadingId,
104
+ getEmbedPanelById = _useEmbedExpand.getEmbedPanelById,
105
+ isExpandEmbedRows = _useEmbedExpand.isExpandEmbedRows,
106
+ onExpandEmbedRowsChange = _useEmbedExpand.onExpandEmbedRowsChange;
107
+ /**
108
+ * 表格列展开折叠操作区
109
+ */
110
+
111
+
112
+ var getEmbedPanelColumn = React__default['default'].useCallback(function (embedExpandable) {
113
+ var embedPanelColumn = {
114
+ dataKey: EMBED_DATA_KEY,
115
+ title: '',
116
+ width: 50,
117
+ align: 'center',
118
+ render: function render(_, rowItem) {
119
+ var rowKey = rowItem.id;
120
+ var rowExpandable = embedExpandable.rowExpandable;
121
+ var rowExpand = typeAssertion.isFunction(rowExpandable) ? rowExpandable(rowItem) : !!rowExpandable;
122
+ var expanded = isExpandEmbedRows(rowKey);
123
+ var loading = isEmbedLoadingId(rowKey);
124
+ return renderSwitcher({
125
+ prefixCls: prefixCls,
126
+ rowExpand: rowExpand,
127
+ loading: loading,
128
+ expanded: expanded,
129
+ onSwitch: function onSwitch(shouldExpanded) {
130
+ onExpandEmbedRowsChange(rowItem, shouldExpanded);
131
+ },
132
+ expandedIcon: /*#__PURE__*/React__default['default'].createElement(icons.MinusSquareOutlined, null),
133
+ collapsedIcon: /*#__PURE__*/React__default['default'].createElement(icons.PlusSquareOutlined, null)
134
+ });
135
+ }
136
+ };
137
+ return embedPanelColumn;
138
+ }, [prefixCls, isExpandEmbedRows, onExpandEmbedRowsChange, isEmbedLoadingId]);
139
+ var mergedColumns = React__default['default'].useMemo(function () {
140
+ if (embedExpandable) {
141
+ var embedColumn = getEmbedPanelColumn(embedExpandable);
142
+ return [embedColumn].concat(columns);
143
+ }
144
+
145
+ return columns;
146
+ }, [embedExpandable, getEmbedPanelColumn, columns]);
147
+ var i18n = localeContext.useLocaleContext(); // 确保包含 avg 属性,且值为数字类型的字符串
148
+
149
+ var avgRow = {
150
+ id: 'avg',
151
+ raw: {
152
+ key: 'avg'
153
+ }
154
+ };
155
+ var hasAvgColumn = false;
156
+ columns.forEach(function (column, index$1) {
157
+ if (index$1 === 0) {
158
+ // @ts-ignore
159
+ avgRow.raw[column.dataKey] = i18n.get('table.average');
160
+ }
161
+
162
+ if (index.checkNeedTotalOrEvg(data, column, 'avg')) {
163
+ hasAvgColumn = true; // @ts-ignore
164
+
165
+ avgRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, true);
166
+ }
167
+ }); // 确保包含total属性,且值为数字类型的字符串
168
+
169
+ var sumRow = {
170
+ id: 'sum',
171
+ raw: {
172
+ key: 'sum'
173
+ }
174
+ };
175
+ var hasSumColumn = false;
176
+ columns.forEach(function (column, index$1) {
177
+ if (index$1 === 0) {
178
+ // @ts-ignore
179
+ sumRow.raw[column.dataKey] = i18n.get('table.total');
180
+ }
181
+
182
+ if (index.checkNeedTotalOrEvg(data, column, 'total')) {
183
+ hasSumColumn = true; // 获取当前数据最大小数点个数,并设置最后总和值小数点
184
+ // @ts-ignore
185
+
186
+ sumRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, false);
187
+ }
188
+ });
189
+ var providedValue = useTable.useTable(Object.assign(Object.assign({}, rest), {
190
+ columns: mergedColumns,
191
+ data: data
192
+ }));
193
+ var rootProps = providedValue.rootProps,
194
+ bordered = providedValue.bordered,
195
+ leftFrozenColKeys = providedValue.leftFrozenColKeys,
196
+ rightFrozenColKeys = providedValue.rightFrozenColKeys,
197
+ leftFixedColumnsWidth = providedValue.leftFixedColumnsWidth,
198
+ rightFixedColumnsWidth = providedValue.rightFixedColumnsWidth,
199
+ scrollSize = providedValue.scrollSize,
200
+ getTableHeaderProps = providedValue.getTableHeaderProps;
201
+ var hasBorder = borderedProp !== null && borderedProp !== void 0 ? borderedProp : bordered;
202
+ var extraHeader = extra && extra.header;
203
+ var extraFooter = extra && extra.footer;
204
+ var alwaysFixedColumn = fixedColumnTrigger === 'always';
205
+ var cls = classname.cx(prefixCls, className, hasBorder && prefixCls + "--bordered", striped && prefixCls + "--striped", size && prefixCls + "--size-" + size);
206
+ return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
207
+ ref: ref,
208
+ role: role,
209
+ className: cls
210
+ }, rootProps), /*#__PURE__*/React__default['default'].createElement("div", {
211
+ className: prefixCls + "__wrapper"
212
+ }, /*#__PURE__*/React__default['default'].createElement(context.TableProvider, {
213
+ value: Object.assign(Object.assign({}, providedValue), {
214
+ onRow: onRow,
215
+ embedExpandable: embedExpandable,
216
+ onEmbedSwitch: onEmbedSwitch,
217
+ isExpandEmbedRows: isExpandEmbedRows,
218
+ onExpandEmbedRowsChange: onExpandEmbedRowsChange,
219
+ getEmbedPanelById: getEmbedPanelById,
220
+ isEmbedLoadingId: isEmbedLoadingId,
221
+ avgRow: avgRow,
222
+ hasAvgColumn: hasAvgColumn,
223
+ sumRow: sumRow,
224
+ hasSumColumn: hasSumColumn
225
+ })
226
+ }, /*#__PURE__*/React__default['default'].createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React__default['default'].createElement(TableHeader.TableHeader, {
227
+ prefixCls: prefixCls + "-header"
228
+ }), extraHeader ? /*#__PURE__*/React__default['default'].createElement("div", {
229
+ style: {
230
+ position: 'absolute',
231
+ right: 0,
232
+ zIndex: 11,
233
+ bottom: 0,
234
+ top: 0
235
+ }
236
+ }, extraHeader) : null), /*#__PURE__*/React__default['default'].createElement(TableBody.TableBody, {
237
+ prefixCls: prefixCls
238
+ })), (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default['default'].createElement("div", {
239
+ className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--left",
240
+ style: {
241
+ width: leftFixedColumnsWidth + 'px'
242
+ }
243
+ }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default['default'].createElement("div", {
244
+ className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--right",
245
+ style: {
246
+ width: rightFixedColumnsWidth + 'px'
247
+ }
248
+ }) : null), /*#__PURE__*/React__default['default'].createElement("div", {
249
+ className: prefixCls + "-footer",
250
+ style: stickyFooter ? {
251
+ position: 'sticky',
252
+ bottom: 0 // boxShadow: '0 5px 15px 0 rgba(0, 0, 0, 0.1)'
253
+
254
+ } : undefined
255
+ }, extraFooter));
256
+ });
257
+
258
+ if (env.__DEV__) {
259
+ BaseTable.displayName = 'BaseTable';
260
+ }
261
+
262
+ var renderSwitcher = function renderSwitcher(_ref) {
263
+ var prefixCls = _ref.prefixCls,
264
+ rowExpand = _ref.rowExpand,
265
+ loading = _ref.loading,
266
+ expanded = _ref.expanded,
267
+ onSwitch = _ref.onSwitch,
268
+ expandedIcon = _ref.expandedIcon,
269
+ collapsedIcon = _ref.collapsedIcon;
270
+
271
+ if ( /*#__PURE__*/React__default['default'].isValidElement(rowExpand)) {
272
+ return rowExpand;
273
+ }
274
+
275
+ if (rowExpand === true) {
276
+ if (loading) {
277
+ return /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
278
+ className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--loading"),
279
+ icon: index$1.defaultLoadingIcon
280
+ });
281
+ }
282
+
283
+ return /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
284
+ tabIndex: -1,
285
+ className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--" + (expanded ? 'expanded' : 'collapse')),
286
+ icon: expanded ? expandedIcon : collapsedIcon,
287
+ onClick: function onClick() {
288
+ return onSwitch(!expanded);
289
+ }
290
+ });
291
+ }
292
+
293
+ return null;
294
+ };
295
+
296
+ exports.BaseTable = BaseTable;
297
+ exports.EMBED_DATA_KEY = EMBED_DATA_KEY;
298
+ //# sourceMappingURL=BaseTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseTable.js","sources":["../../src/BaseTable.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","EMBED_DATA_KEY","uuid","DEFAULT_COLUMNS","DEFAULT_DATA","BaseTable","forwardRef","_a","ref","prefixCls","role","className","columns","data","striped","borderedProp","bordered","rowExpandable","defaultExpandedEmbedRowKeys","expandedEmbedRowKeys","onEmbedExpand","expandedRender","size","extra","onRow","stickyFooter","fixedColumnTrigger","rest","useEmbedExpand","embedExpandable","onEmbedSwitch","isEmbedLoadingId","getEmbedPanelById","isExpandEmbedRows","onExpandEmbedRowsChange","getEmbedPanelColumn","React","useCallback","embedPanelColumn","dataKey","title","width","align","render","_","rowItem","rowKey","id","rowExpand","isFunction","expanded","loading","renderSwitcher","onSwitch","shouldExpanded","expandedIcon","MinusSquareOutlined","collapsedIcon","PlusSquareOutlined","mergedColumns","useMemo","embedColumn","i18n","useLocaleContext","avgRow","raw","key","hasAvgColumn","forEach","column","index","get","checkNeedTotalOrEvg","getTotalOrEvgRowData","sumRow","hasSumColumn","providedValue","useTable","rootProps","leftFrozenColKeys","rightFrozenColKeys","leftFixedColumnsWidth","rightFixedColumnsWidth","scrollSize","getTableHeaderProps","hasBorder","extraHeader","header","extraFooter","footer","alwaysFixedColumn","cls","cx","TableProvider","value","TableHeader","style","position","right","zIndex","bottom","top","TableBody","scrollLeft","length","scrollRight","undefined","__DEV__","displayName","isValidElement","IconButton","icon","defaultLoadingIcon","tabIndex","onClick"],"mappings":"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"}