@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
@@ -0,0 +1,17 @@
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
+ var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-table {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 14px;\n position: relative; }\n.hi-v4-table table {\n width: 100%;\n text-align: left;\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff);\n border-radius: 2px 2px 0 0;\n border-spacing: 0;\n border-collapse: separate;\n display: table;\n table-layout: fixed;\n overflow: auto; }\n.hi-v4-table__wrapper {\n position: relative; }\n.hi-v4-table--size-md table tbody > tr > td {\n padding: 14px;\n padding: var(--hi-v4-spacing-7, 14px); }\n.hi-v4-table--size-md table thead > tr > th {\n padding: 14px;\n padding: var(--hi-v4-spacing-7, 14px); }\n.hi-v4-table--size-sm table tbody > tr > td {\n padding: 8px;\n padding: var(--hi-v4-spacing-4, 8px); }\n.hi-v4-table--size-sm table thead > tr > th {\n padding: 8px;\n padding: var(--hi-v4-spacing-4, 8px); }\n.hi-v4-table--size-lg table tbody > tr > td {\n padding: 20px;\n padding: var(--hi-v4-spacing-10, 20px); }\n.hi-v4-table--size-lg table thead > tr > th {\n padding: 20px;\n padding: var(--hi-v4-spacing-10, 20px); }\n.hi-v4-table--bordered table thead > tr > th {\n border-right: 1px solid #ebedf0;\n border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-table--bordered table td {\n border-right: 1px solid #ebedf0;\n border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-table--bordered .hi-v4-table-header {\n border-top: 1px solid #ebedf0;\n border-top: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);\n border-left: 1px solid #ebedf0;\n border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-table--bordered .hi-v4-table-body {\n border-left: 1px solid #ebedf0;\n border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-table--striped .hi-v4-table-row:not(:hover):nth-child(2n) .hi-v4-table-cell {\n background-color: #f5f7fa;\n background-color: var(--hi-v4-color-gray-50, #f5f7fa); }\n.hi-v4-table--sticky {\n position: sticky;\n top: 0; }\n.hi-v4-table-header {\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow: hidden; }\n.hi-v4-table-header tr > th {\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n font-weight: 500;\n font-weight: var(--hi-v4-text-weight-medium, 500);\n line-height: 1.25rem;\n line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);\n padding: 14px 16px;\n padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-8, 16px);\n border-bottom: 1px solid #f0f0f0; }\n.hi-v4-table-header__resizable {\n position: relative;\n background-clip: padding-box; }\n.hi-v4-table-header__resizable-handle {\n position: absolute;\n width: 2px;\n height: 100%;\n bottom: 0;\n right: 0;\n cursor: col-resize;\n z-index: 1; }\n.hi-v4-table-header__resizable-handle:hover {\n background-color: #237ffa;\n background-color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-table-header__col--hovered-highlight {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-table-row:hover .hi-v4-table-cell {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-row--hovered {\n background: #f0f5fe; }\n.hi-v4-table-row--expanded {\n background: #fbfbfb; }\n.hi-v4-table-row--expanded > td {\n color: #1f2937;\n color: var(--hi-v4-color-gray-800, #1f2937); }\n.hi-v4-table-row--error > td {\n color: #ff5959;\n color: var(--hi-v4-color-red-500, #ff5959); }\n.hi-v4-table-row--highlight > td {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-row--dragging {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-row--drag-top td {\n border-top: 2px dashed #237ffa;\n border-top: 2px dashed var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-table-row--drag-bottom td {\n border-bottom: 2px dashed #237ffa;\n border-bottom: 2px dashed var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-table-row--avg .hi-v4-table-cell, .hi-v4-table-row--total .hi-v4-table-cell {\n background-color: #fbfbfb; }\n.hi-v4-table-row--avg:hover .hi-v4-table-cell, .hi-v4-table-row--total:hover .hi-v4-table-cell {\n background-color: #fbfbfb; }\n.hi-v4-table-header .hi-v4-table-header-col, .hi-v4-table-header .hi-v4-table-col {\n background-color: #f5f7fa;\n background-color: var(--hi-v4-color-gray-50, #f5f7fa); }\n.hi-v4-table-body .hi-v4-table-header-col[data-hover-highlight], .hi-v4-table-body .hi-v4-table-col[data-hover-highlight] {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-header .hi-v4-table-header-col[data-hover-highlight], .hi-v4-table-header .hi-v4-table-col[data-hover-highlight] {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-table-cell {\n word-break: break-word;\n border-bottom: 1px solid #f0f0f0;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n font-weight: 400;\n font-weight: var(--hi-v4-text-weight-normal, 400);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n line-height: 1.25rem;\n line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);\n padding: 14px 16px;\n padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-8, 16px); }\n.hi-v4-table-cell[data-sticky] {\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff); }\n.hi-v4-table-cell__col--highlight {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-cell__col--hovered-highlight {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-cell__indent {\n display: inline-block;\n width: 14px;\n height: 100%;\n margin-right: 2px;\n margin-right: var(--hi-v4-spacing-1, 2px); }\n.hi-v4-table-cell__switcher.hi-v4-icon-button {\n margin-right: 2px;\n margin-right: var(--hi-v4-spacing-1, 2px); }\n.hi-v4-table-th__col--highlight {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\nth[data-sticky] {\n background-color: #f5f7fa;\n background-color: var(--hi-v4-color-gray-50, #f5f7fa);\n z-index: calc(1 + 1);\n z-index: calc(var(--hi-v4-zindex-absolute, 1) + 1); }\n.hi-v4-table-freeze-shadow {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 20;\n pointer-events: none;\n overflow: hidden;\n height: 100%;\n width: 200px; }\n.hi-v4-table-freeze-shadow--left {\n margin-right: 10px;\n left: 0;\n -webkit-box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15);\n box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15); }\n.hi-v4-table-freeze-shadow--right {\n margin-left: 10px;\n right: 0;\n -webkit-box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15);\n box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15); }\n.hi-v4-table-header-filter-dropdown__trigger.hi-v4-icon-button {\n margin-left: 4px; }\n.hi-v4-table-header-filter-dropdown__content {\n width: 124px;\n padding: 12px 8px;\n padding: var(--hi-v4-spacing-6, 12px) var(--hi-v4-spacing-4, 8px);\n font-weight: 400;\n font-weight: var(--hi-v4-text-weight-normal, 400); }\n.hi-v4-table-header-filter-dropdown__item {\n margin-top: 8px;\n margin-top: var(--hi-v4-spacing-4, 8px);\n padding: 6px 8px;\n padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer; }\n.hi-v4-table-header-filter-dropdown__item:first-child {\n margin-top: 0; }\n.hi-v4-table-header-filter-dropdown__item--active {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-header-filter-sorter {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n height: 20px;\n margin-top: 2px;\n margin-left: 6px; }\n.hi-v4-table-header-filter-sorter__icon {\n display: inline-block;\n height: 8px;\n cursor: pointer;\n overflow: hidden;\n font-weight: 400;\n font-weight: var(--hi-v4-text-weight-normal, 400);\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-table-header-filter-sorter__icon svg {\n position: relative;\n top: -5px; }\n.hi-v4-table-header-filter-sorter__icon--active {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-table-header-filter-custom__trigger {\n margin-left: 6px;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6);\n cursor: pointer; }\n.hi-v4-table-header-filter-custom__content {\n padding: 12px 8px; }\n.hi-v4-table-embed-row > td {\n background-color: #ebedf0;\n background-color: var(--hi-v4-color-gray-200, #ebedf0);\n padding: 20px;\n padding: var(--hi-v4-spacing-10, 20px); }\n.hi-v4-table-setting {\n position: absolute;\n height: 100%;\n z-index: 11;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n right: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n border-left: 1px solid #e0e1e2;\n border-bottom: 1px solid #e0e1e2;\n border-top: none;\n color: #999;\n cursor: pointer;\n font-size: 14px;\n width: 16px;\n background: #fbfbfb; }\n.hi-v4-table-setting__btn-group {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n.hi-v4-table-setting-item {\n position: relative;\n padding-top: 2px;\n padding-top: var(--hi-v4-spacing-1, 2px);\n padding-bottom: 2px;\n padding-bottom: var(--hi-v4-spacing-1, 2px);\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-table-setting-item__wrap {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n padding: 6px 8px;\n padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);\n line-height: 1.25rem;\n line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px); }\n.hi-v4-table-setting-item__wrap:hover {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-table-setting-item--dragging .hi-v4-table-setting-item__wrap {\n opacity: 0.6; }\n.hi-v4-table-setting-item::before {\n position: absolute;\n left: 0;\n z-index: 9999;\n display: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 8px;\n height: 8px;\n content: '';\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff);\n border: 1px solid #237ffa;\n border: 1px solid var(--hi-v4-color-brandblue-500, #237ffa);\n border-radius: 100%; }\n.hi-v4-table-setting-item::after {\n position: absolute;\n content: '';\n z-index: 9998;\n display: block;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-bottom-width: 0;\n border-bottom-style: solid;\n border-bottom-color: #237ffa;\n border-bottom-color: var(--hi-v4-color-brandblue-500, #237ffa);\n left: 0;\n width: 100%; }\n.hi-v4-table-setting-item::before, .hi-v4-table-setting-item::after {\n margin-left: -10px;\n margin-right: -10px; }\n.hi-v4-table-setting-item--direction-before::before {\n display: block;\n top: -0.5px;\n -webkit-transform: translateY(-4px);\n transform: translateY(-4px); }\n.hi-v4-table-setting-item--direction-before::after {\n top: -0.5px;\n border-bottom-width: 1px; }\n.hi-v4-table-setting-item--direction-after::before {\n display: block;\n bottom: 0.5px;\n -webkit-transform: translateY(4px);\n transform: translateY(4px); }\n.hi-v4-table-setting-item--direction-after::after {\n bottom: 0.5px;\n border-bottom-width: 1px; }\n.hi-v4-table-pagination {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n grid-row-gap: 8px;\n row-gap: 8px;\n padding: 12px 0;\n padding: var(--hi-v4-spacing-6, 12px) 0;\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff); }\n.hi-v4-table-pagination--placement-left {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n.hi-v4-table-pagination--placement-right {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n.hi-v4-table-pagination--placement-middle {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n.hi-v4-table-empty-content td {\n text-align: center;\n padding: 24px 0;\n padding: var(--hi-v4-spacing-12, 24px) 0; }\n";
11
+
12
+ var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
13
+
14
+ __styleInject__(css_248z);
15
+
16
+ export default css_248z;
17
+ //# sourceMappingURL=index.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -0,0 +1,567 @@
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
+ import { __rest } from 'tslib';
11
+ import { cloneTree, flattenTree, getLeafChildren, getNodeRootParent } from '@hi-ui/tree-utils';
12
+ import React, { useMemo, useState, useRef, useCallback, useEffect } from 'react';
13
+ import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
14
+ import { useColWidth } from './hooks/use-col-width.js';
15
+ import { setColumnsDefaultWidth, parseFixedColumns } from './utils/index.js';
16
+ import { isNullish, isArrayNonEmpty } from '@hi-ui/type-assertion';
17
+ import { useCheck, useSelect } from '@hi-ui/use-check';
18
+ import { invariant } from '@hi-ui/env';
19
+ import { useAsyncSwitch } from './hooks/use-async-switch.js';
20
+ import { useExpand } from './hooks/use-expand.js';
21
+ import { useColumns } from './hooks/use-colgroup.js';
22
+ import { setAttrStatus } from '@hi-ui/dom-utils';
23
+ import { useCache } from '@hi-ui/use-cache';
24
+ import { useTableDrag } from './hooks/use-drag.js';
25
+ import { useLatestCallback } from '@hi-ui/use-latest';
26
+ var DEFAULT_COLUMNS = [];
27
+ var DEFAULT_DATA = [];
28
+ var DEFAULT_ERROR_ROW_KEYS = [];
29
+ var DEFAULT_HIGHLIGHTED_ROW_KEYS = [];
30
+ var DEFAULT_HIGHLIGHTED_COL_KEYS = [];
31
+ var DEFAULT_EXPAND_ROW_KEYS = [];
32
+ var DEFAULT_FIXED_TO_COLUMN = {};
33
+
34
+ var useTable = function useTable(_a) {
35
+ var _a$data = _a.data,
36
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
37
+ _a$columns = _a.columns,
38
+ columnsProp = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
39
+ _a$defaultFixedToColu = _a.defaultFixedToColumn,
40
+ defaultFixedToColumn = _a$defaultFixedToColu === void 0 ? DEFAULT_FIXED_TO_COLUMN : _a$defaultFixedToColu,
41
+ fixedToColumnProp = _a.fixedToColumn,
42
+ onFixedToColumn = _a.onFixedToColumn,
43
+ scrollWidth = _a.scrollWidth,
44
+ _a$resizable = _a.resizable,
45
+ resizable = _a$resizable === void 0 ? false : _a$resizable,
46
+ _a$errorRowKeys = _a.errorRowKeys,
47
+ errorRowKeys = _a$errorRowKeys === void 0 ? DEFAULT_ERROR_ROW_KEYS : _a$errorRowKeys,
48
+ highlightedColKeysProp = _a.highlightedColKeys,
49
+ highlightedRowKeysProp = _a.highlightedRowKeys,
50
+ _a$showColHighlight = _a.showColHighlight,
51
+ showColHighlight = _a$showColHighlight === void 0 ? false : _a$showColHighlight,
52
+ _a$showRowHighlight = _a.showRowHighlight,
53
+ showRowHighlight = _a$showRowHighlight === void 0 ? true : _a$showRowHighlight,
54
+ _a$defaultExpandedRow = _a.defaultExpandedRowKeys,
55
+ defaultExpandedRowKeys = _a$defaultExpandedRow === void 0 ? DEFAULT_EXPAND_ROW_KEYS : _a$defaultExpandedRow,
56
+ expandRowKeysProp = _a.expandedRowKeys,
57
+ onExpand = _a.onExpand,
58
+ _a$defaultExpandAll = _a.defaultExpandAll,
59
+ defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
60
+ onLoadChildren = _a.onLoadChildren,
61
+ maxHeight = _a.maxHeight,
62
+ sticky = _a.sticky,
63
+ _a$stickyTop = _a.stickyTop,
64
+ stickyTop = _a$stickyTop === void 0 ? 0 : _a$stickyTop,
65
+ _a$draggable = _a.draggable,
66
+ draggable = _a$draggable === void 0 ? false : _a$draggable,
67
+ onDropProp = _a.onDrop,
68
+ onDropEnd = _a.onDropEnd,
69
+ showColMenu = _a.showColMenu,
70
+ rowSelection = _a.rowSelection,
71
+ cellRender = _a.cellRender,
72
+ _a$fieldKey = _a.fieldKey,
73
+ fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
74
+ rootProps = __rest(_a, ["data", "columns", "defaultFixedToColumn", "fixedToColumn", "onFixedToColumn", "scrollWidth", "resizable", "errorRowKeys", "highlightedColKeys", "highlightedRowKeys", "showColHighlight", "showRowHighlight", "defaultExpandedRowKeys", "expandedRowKeys", "onExpand", "defaultExpandAll", "onLoadChildren", "maxHeight", "sticky", "stickyTop", "draggable", "onDragStart", "onDrop", "onDropEnd", "showColMenu", "rowSelection", "cellRender", "fieldKey"]);
75
+ /**
76
+ * 获取 key 字段值
77
+ */
78
+
79
+
80
+ var getRowKeyField = React.useCallback(function (item) {
81
+ var val = item[fieldKey];
82
+ invariant(!isNullish(val), 'Not found for the unique %s attribute in each row of data prop.', fieldKey);
83
+ return val;
84
+ }, [fieldKey]); // ********************** cache *********************** //
85
+
86
+ var _useCache = useCache(data),
87
+ cacheData = _useCache[0],
88
+ setCacheData = _useCache[1];
89
+
90
+ var _useCache2 = useCache(columnsProp),
91
+ columns = _useCache2[0];
92
+ /**
93
+ * 扁平化数据,支持树形 table
94
+ */
95
+
96
+
97
+ var flattedData = useMemo(function () {
98
+ var clonedData = cloneTree(cacheData);
99
+ return flattenTree(clonedData, function (node) {
100
+ return Object.assign(Object.assign({}, node), {
101
+ id: getRowKeyField(node.raw)
102
+ });
103
+ });
104
+ }, [cacheData, getRowKeyField]); // ********************** 树形表格 *********************** //
105
+
106
+ var _useExpand = useExpand(flattedData, defaultExpandedRowKeys, expandRowKeysProp, onExpand, defaultExpandAll),
107
+ transitionData = _useExpand[0],
108
+ onExpandTreeRowsChange = _useExpand[1],
109
+ isExpandTreeRows = _useExpand[2]; // 异步展开子树
110
+
111
+
112
+ var _useAsyncSwitch = useAsyncSwitch(setCacheData, onExpandTreeRowsChange, onLoadChildren),
113
+ isLoadingTreeNodeId = _useAsyncSwitch[0],
114
+ onTreeNodeSwitch = _useAsyncSwitch[1]; // ************************ 拖拽 ************************ //
115
+
116
+
117
+ var _useTableDrag = useTableDrag({
118
+ cacheData: cacheData,
119
+ setCacheData: setCacheData,
120
+ draggable: draggable,
121
+ flattedData: flattedData,
122
+ onDropEnd: onDropEnd,
123
+ onDrop: onDropProp
124
+ }),
125
+ onDrop = _useTableDrag.onDrop,
126
+ dragRowRef = _useTableDrag.dragRowRef; // ************************ colgroup ************************ //
127
+
128
+
129
+ var _useColumns = useColumns({
130
+ columns: columns
131
+ }),
132
+ flattedColumns = _useColumns.flattedColumns,
133
+ mergedColumns2 = _useColumns.mergedColumns,
134
+ leafColumns = _useColumns.leafColumns; // ************************ 列高亮 ************************ //
135
+
136
+ /**
137
+ * 控制列高亮,依据 column 中的 dataKey 控制
138
+ */
139
+
140
+
141
+ var _useUncontrolledState = useUncontrolledState(DEFAULT_HIGHLIGHTED_COL_KEYS, highlightedColKeysProp),
142
+ highlightedColKeys = _useUncontrolledState[0],
143
+ trySetHighlightedColKeys = _useUncontrolledState[1];
144
+
145
+ var _useCheck = useCheck({
146
+ checkedIds: highlightedColKeys,
147
+ onCheck: trySetHighlightedColKeys,
148
+ idFieldName: 'dataKey'
149
+ }),
150
+ onHighlightedColChange = _useCheck[0],
151
+ isHighlightedCol = _useCheck[1];
152
+ /**
153
+ * 设置列 hover 时高亮,依据 column 中的 dataKey 控制
154
+ * 与 highlightedColKeys 互不影响
155
+ */
156
+
157
+
158
+ var _useState = useState(''),
159
+ hoveredColKey = _useState[0],
160
+ setHoveredColKey = _useState[1];
161
+
162
+ var _useSelect = useSelect({
163
+ disabled: !showRowHighlight,
164
+ selectedId: hoveredColKey,
165
+ onSelect: setHoveredColKey,
166
+ idFieldName: 'dataKey'
167
+ }),
168
+ onHoveredColChange = _useSelect[0],
169
+ isHoveredHighlightCol = _useSelect[1]; // ************************ 列宽 resizable ************************ //
170
+
171
+
172
+ var _useColWidth = useColWidth({
173
+ data: data,
174
+ columns: columns,
175
+ resizable: resizable
176
+ }),
177
+ measureRowElementRef = _useColWidth.measureRowElementRef,
178
+ getColgroupProps = _useColWidth.getColgroupProps,
179
+ onColumnResizable = _useColWidth.onColumnResizable,
180
+ colWidths = _useColWidth.colWidths; // ************************ 列冻结 ************************ //
181
+
182
+
183
+ var bodyTableRef = useRef(null);
184
+ var scrollBodyElementRef = useRef(null);
185
+ /**
186
+ * 左右 fixed 所在的列,抹平数据结构
187
+ *
188
+ * TODO: 支持 2 种模式:从左往右冻结到指定列、只抽离并冻结指定列
189
+ */
190
+
191
+ var _useUncontrolledState2 = useUncontrolledState(defaultFixedToColumn, fixedToColumnProp, onFixedToColumn),
192
+ fixedToColumn = _useUncontrolledState2[0],
193
+ setFixedToColumn = _useUncontrolledState2[1];
194
+
195
+ var leftFreezeColumn = fixedToColumn.left;
196
+ var rightFreezeColumn = fixedToColumn.right;
197
+ var setLeftFreezeColumn = useCallback(function (columnKey) {
198
+ setFixedToColumn(function (prev) {
199
+ var next = Object.assign({}, prev);
200
+ next.left = columnKey;
201
+
202
+ if (next.right === columnKey) {
203
+ next.right = '';
204
+ }
205
+
206
+ return next;
207
+ });
208
+ }, [setFixedToColumn]);
209
+
210
+ var _React$useMemo = React.useMemo(function () {
211
+ var leftFrozenColKey = leftFreezeColumn;
212
+ var rightFrozenKey = rightFreezeColumn; // 获取左右冻结列的下标
213
+ // 获取左右冻结列的下标
214
+
215
+ var leftFrozenColIndex;
216
+ var rightFrozenColIndex;
217
+ mergedColumns2.some(function (column, index) {
218
+ if (typeof leftFrozenColKey === 'string' && leftFrozenColKey === column.dataKey) {
219
+ leftFrozenColIndex = index;
220
+ }
221
+
222
+ if (typeof rightFrozenKey === 'string' && rightFrozenKey === column.dataKey) {
223
+ rightFrozenColIndex = index;
224
+ }
225
+
226
+ return leftFrozenColIndex !== undefined && rightFrozenColIndex !== undefined;
227
+ }); // 保持内部循环引用关系,如果 cloneTree,将破坏关系
228
+ // 保持内部循环引用关系,如果 cloneTree,将破坏关系
229
+
230
+ var nextColumns = [].concat(mergedColumns2);
231
+
232
+ if (typeof leftFrozenColIndex === 'number' || typeof rightFrozenColIndex === 'number' || scrollWidth) {
233
+ var lastColumns = mergedColumns2;
234
+ nextColumns = setColumnsDefaultWidth(nextColumns, scrollWidth ? scrollWidth / lastColumns.length : 100);
235
+ }
236
+
237
+ var leftColumns = []; // 左侧
238
+ // 左侧
239
+
240
+ if (typeof leftFrozenColIndex === 'number') {
241
+ // TODO: 支持嵌套冻结列
242
+ // const targetColumn = nextColumns[leftFrozenColIndex]
243
+ // const beforeColumns = nextColumns.filter((_, idx) => idx < leftFrozenColIndex!)
244
+ // // @ts-ignore
245
+ // const afterColumns = fFindNestedChildNodesByIndex(nextColumns, leftFrozenColIndex)
246
+ // // @ts-ignore
247
+ // leftColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
248
+ leftColumns = nextColumns.filter(function (item, index) {
249
+ return index <= leftFrozenColIndex && item.depth === 0;
250
+ });
251
+ leftColumns.forEach(function (currentItem, index) {
252
+ var item = parseFixedColumns(currentItem, index, leftColumns, 'leftStickyWidth');
253
+ leftColumns[index] = item;
254
+ nextColumns[index] = item;
255
+ });
256
+ } // @TODO: resizable 和 列冻结宽兼容,统一宽度设置来源
257
+ // const leftFixedColumnsWidth = colWidths.reduce(
258
+ // (acc, width, index) => (acc += index <= leftFrozenColIndex! ? width : 0),
259
+ // 0
260
+ // )
261
+ // @TODO: resizable 和 列冻结宽兼容,统一宽度设置来源
262
+ // const leftFixedColumnsWidth = colWidths.reduce(
263
+ // (acc, width, index) => (acc += index <= leftFrozenColIndex! ? width : 0),
264
+ // 0
265
+ // )
266
+
267
+
268
+ var getLeafNodes = function getLeafNodes(columns) {
269
+ return columns.reduce(function (acc, column) {
270
+ return acc.concat(getLeafChildren(column));
271
+ }, []);
272
+ };
273
+
274
+ var leftLeafNodes = getLeafNodes(leftColumns);
275
+ var leftColIndex = leftLeafNodes.length;
276
+ var leftFixedColumnsWidth = colWidths.reduce(function (acc, width, index) {
277
+ return acc += index < leftColIndex ? width : 0;
278
+ }, 0); // 右侧
279
+ // 右侧
280
+
281
+ var rightColumns = [];
282
+
283
+ if (typeof rightFrozenColIndex === 'number') {
284
+ var targetColumn = nextColumns[rightFrozenColIndex]; // const beforeColumns = getNodeAncestors(targetColumn)
285
+ // const afterColumns = nextColumns.filter((_, idx) => idx > rightFrozenColIndex!)
286
+ // // @ts-ignore
287
+ // rightColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
288
+ // const beforeColumns = getNodeAncestors(targetColumn)
289
+ // const afterColumns = nextColumns.filter((_, idx) => idx > rightFrozenColIndex!)
290
+ // // @ts-ignore
291
+ // rightColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
292
+
293
+ var root = getNodeRootParent(targetColumn);
294
+ rightColumns = [root].concat(nextColumns.filter(function (item, index) {
295
+ return index > rightFrozenColIndex && item.depth === 0;
296
+ })).reverse();
297
+ rightColumns.forEach(function (currentItem, index) {
298
+ var _item = parseFixedColumns(currentItem, index, rightColumns, 'rightStickyWidth');
299
+
300
+ rightColumns[index] = _item;
301
+ });
302
+ }
303
+
304
+ var rightLeafNodes = getLeafNodes(rightColumns);
305
+ var rightColIndex = rightLeafNodes.length;
306
+ var rightFixedColumnsWidth = [].concat(colWidths).reverse().reduce(function (acc, width, index) {
307
+ return acc += index < rightColIndex ? width : 0;
308
+ }, 0);
309
+ return {
310
+ leftFrozenColKeys: leftColumns,
311
+ rightFrozenColKeys: rightColumns,
312
+ columns: nextColumns,
313
+ leftFixedColumnsWidth: leftFixedColumnsWidth,
314
+ rightFixedColumnsWidth: rightFixedColumnsWidth
315
+ };
316
+ }, [mergedColumns2, scrollWidth, colWidths, leftFreezeColumn, rightFreezeColumn]),
317
+ leftFrozenColKeys = _React$useMemo.leftFrozenColKeys,
318
+ rightFrozenColKeys = _React$useMemo.rightFrozenColKeys,
319
+ mergedColumns1 = _React$useMemo.columns,
320
+ leftFixedColumnsWidth = _React$useMemo.leftFixedColumnsWidth,
321
+ rightFixedColumnsWidth = _React$useMemo.rightFixedColumnsWidth;
322
+
323
+ var _useState2 = useState({
324
+ scrollLeft: 0,
325
+ scrollRight: 1
326
+ }),
327
+ scrollSize = _useState2[0],
328
+ setScrollSize = _useState2[1];
329
+
330
+ useEffect(function () {
331
+ var _a, _b, _c, _d, _e, _f; // 计算冻结列的宽度
332
+ // mutationObserver
333
+
334
+
335
+ var tableWidth = (_c = (_b = (_a = bodyTableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect) === null || _b === void 0 ? void 0 : _b.call(_a).width) !== null && _c !== void 0 ? _c : 0;
336
+ var tableBodyWidth = (_f = (_e = (_d = scrollBodyElementRef.current) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect) === null || _e === void 0 ? void 0 : _e.call(_d).width) !== null && _f !== void 0 ? _f : 0;
337
+ var scrollRight = tableWidth - tableBodyWidth; // const scrollLeft = 0
338
+
339
+ setScrollSize(function (prev) {
340
+ return {
341
+ scrollLeft: prev.scrollLeft,
342
+ scrollRight: scrollRight
343
+ };
344
+ });
345
+ }, [leftFrozenColKeys, rightFrozenColKeys]); // const canScroll = scrollSize.scrollRight > 0
346
+ // 实时计算
347
+
348
+ var canScroll = bodyTableRef.current && scrollBodyElementRef.current ? scrollBodyElementRef.current.clientWidth < bodyTableRef.current.clientWidth : false;
349
+ /**
350
+ * 同步 双 table 左右滚动偏移
351
+ */
352
+
353
+ var syncScrollLeft = React.useCallback(function (scrollLeft, syncTarget) {
354
+ var scrollRight = scrollSize.scrollRight;
355
+
356
+ if (syncTarget && syncTarget.scrollLeft !== scrollLeft) {
357
+ syncTarget.scrollLeft = scrollLeft;
358
+ }
359
+
360
+ if (bodyTableRef && bodyTableRef.current && scrollBodyElementRef && scrollBodyElementRef.current && isArrayNonEmpty(rightFrozenColKeys)) {
361
+ var _bodyTableRef$current = bodyTableRef.current.getBoundingClientRect(),
362
+ tableTefRight = _bodyTableRef$current.right;
363
+
364
+ var _scrollBodyElementRef = scrollBodyElementRef.current.getBoundingClientRect(),
365
+ right = _scrollBodyElementRef.right;
366
+
367
+ scrollRight = tableTefRight - right;
368
+ }
369
+
370
+ setScrollSize({
371
+ scrollLeft: scrollLeft,
372
+ scrollRight: scrollRight
373
+ });
374
+ }, [rightFrozenColKeys, scrollSize]);
375
+ var scrollHeaderElementRef = useRef(null);
376
+ var onTableBodyScroll = React.useCallback(function (evt) {
377
+ evt.stopPropagation();
378
+
379
+ if (scrollBodyElementRef.current) {
380
+ syncScrollLeft(scrollBodyElementRef.current.scrollLeft, scrollHeaderElementRef.current);
381
+ }
382
+ }, [syncScrollLeft]); // 1. 对于 sticky 的元素,触发滚轮滚动,需要模拟 onScroll 触发,比如 tableHeader 固定吸顶时
383
+ // 2. 同时不允许其出现滚动条
384
+
385
+ var onTableBodyScrollMock = React.useCallback(function (evt) {
386
+ if (!scrollHeaderElementRef.current) return;
387
+ evt.stopPropagation();
388
+ var deltaX = evt.deltaX;
389
+ scrollHeaderElementRef.current.scrollLeft = scrollHeaderElementRef.current.scrollLeft + deltaX;
390
+ syncScrollLeft(scrollHeaderElementRef.current.scrollLeft, scrollBodyElementRef.current);
391
+ }, [syncScrollLeft]); // ************************ 行高亮 ************************ //
392
+
393
+ /**
394
+ * 控制行高亮,依据 data 中的 key 控制
395
+ */
396
+
397
+ var _useUncontrolledState3 = useUncontrolledState(DEFAULT_HIGHLIGHTED_ROW_KEYS, highlightedRowKeysProp),
398
+ highlightedRowKeys = _useUncontrolledState3[0],
399
+ trySetHighlightedRowKeys = _useUncontrolledState3[1];
400
+
401
+ var _useCheck2 = useCheck({
402
+ checkedIds: highlightedRowKeys,
403
+ onCheck: trySetHighlightedRowKeys,
404
+ idFieldName: 'key'
405
+ }),
406
+ onHighlightedRowChange = _useCheck2[0],
407
+ isHighlightedRow = _useCheck2[1];
408
+
409
+ var isErrorRow = useCallback(function (key) {
410
+ return errorRowKeys.includes(key);
411
+ }, [errorRowKeys]); // 末级 column
412
+
413
+ var flattedColumnsWithoutChildren = React.useMemo(function () {
414
+ return mergedColumns1.filter(function (col) {
415
+ return !isArrayNonEmpty(col.children);
416
+ });
417
+ }, [mergedColumns1]);
418
+ var groupedColumns = mergedColumns1.reduce(function (acc, cur) {
419
+ var depth = cur.depth;
420
+
421
+ if (!acc[depth]) {
422
+ acc[depth] = [];
423
+ }
424
+
425
+ acc[depth].push(cur);
426
+ return acc;
427
+ }, []);
428
+ var getStickyColProps = useLatestCallback(function (column) {
429
+ var rightStickyWidth = column.rightStickyWidth,
430
+ leftStickyWidth = column.leftStickyWidth,
431
+ align = column.align;
432
+ var sticky = canScroll && (typeof rightStickyWidth !== 'undefined' || typeof leftStickyWidth !== 'undefined');
433
+ return {
434
+ style: {
435
+ position: sticky ? 'sticky' : undefined,
436
+ textAlign: align,
437
+ right: rightStickyWidth + 'px',
438
+ left: leftStickyWidth + 'px' // backgroundColor: '#fff',
439
+
440
+ },
441
+ 'data-sticky': setAttrStatus(sticky)
442
+ };
443
+ });
444
+ var getTableHeaderProps = React.useCallback(function () {
445
+ var style = {
446
+ position: sticky ? 'sticky' : 'relative',
447
+ top: sticky ? stickyTop : undefined,
448
+ boxShadow: maxHeight ? '0px 2px 6px 0px rgba(0,0,0,0.12)' : undefined,
449
+ overflow: 'hidden',
450
+ zIndex: 10
451
+ };
452
+ return {
453
+ style: style,
454
+ 'data-sticky': setAttrStatus(sticky)
455
+ };
456
+ }, [sticky, stickyTop, maxHeight]);
457
+ var isTreeView = useMemo(function () {
458
+ return isArrayNonEmpty(data) ? data.some(function (row) {
459
+ // @ts-ignore
460
+ return row.children && row.children.length || onLoadChildren && !row.isLeaf;
461
+ }) : false;
462
+ }, [data, onLoadChildren]);
463
+
464
+ var _useState3 = useState(null),
465
+ activeSorterColumn = _useState3[0],
466
+ setActiveSorterColumn = _useState3[1];
467
+
468
+ var _useState4 = useState(null),
469
+ activeSorterType = _useState4[0],
470
+ setActiveSorterType = _useState4[1]; //* *************** 根据排序列处理数据 ************** *//
471
+
472
+
473
+ var showData = useMemo(function () {
474
+ var _data = transitionData.concat();
475
+
476
+ if (activeSorterColumn) {
477
+ var sorter = columns.filter(function (d) {
478
+ return d.dataKey === activeSorterColumn;
479
+ })[0] && columns.filter(function (d) {
480
+ return d.dataKey === activeSorterColumn;
481
+ })[0].sorter;
482
+
483
+ if (sorter) {
484
+ _data = activeSorterType === 'ascend' ? [].concat(_data).sort(sorter) : [].concat(_data).sort(sorter).reverse();
485
+ }
486
+ }
487
+
488
+ return _data;
489
+ }, [activeSorterColumn, activeSorterType, transitionData, columns]);
490
+ return Object.assign(Object.assign({
491
+ rootProps: rootProps,
492
+ activeSorterColumn: activeSorterColumn,
493
+ setActiveSorterColumn: setActiveSorterColumn,
494
+ activeSorterType: activeSorterType,
495
+ setActiveSorterType: setActiveSorterType,
496
+ canScroll: canScroll,
497
+ maxHeight: maxHeight,
498
+ getTableHeaderProps: getTableHeaderProps,
499
+ isErrorRow: isErrorRow,
500
+ bodyTableRef: bodyTableRef,
501
+ scrollBodyElementRef: scrollBodyElementRef,
502
+ columns: mergedColumns1,
503
+ data: cacheData,
504
+ // transitionData,
505
+ transitionData: showData,
506
+ flattedColumns: flattedColumns,
507
+ flattedColumnsWithoutChildren: flattedColumnsWithoutChildren,
508
+ // 行多选
509
+ rowSelection: rowSelection,
510
+ cacheData: cacheData,
511
+ measureRowElementRef: measureRowElementRef,
512
+ leafColumns: leafColumns,
513
+ // ui
514
+ // 有表头分组那么也要 bordered
515
+ bordered: flattedColumns.length > columns.length,
516
+ scrollHeaderElementRef: scrollHeaderElementRef,
517
+ errorRowKeys: [],
518
+ // 冻结列
519
+ leftFreezeColumn: leftFreezeColumn,
520
+ setLeftFreezeColumn: setLeftFreezeColumn,
521
+ onTableBodyScroll: onTableBodyScroll,
522
+ onTableBodyScrollMock: onTableBodyScrollMock,
523
+ scrollSize: scrollSize,
524
+ leftFrozenColKeys: leftFrozenColKeys,
525
+ rightFrozenColKeys: rightFrozenColKeys,
526
+ leftFixedColumnsWidth: leftFixedColumnsWidth,
527
+ rightFixedColumnsWidth: rightFixedColumnsWidth
528
+ }, scrollSize), {
529
+ getColgroupProps: getColgroupProps,
530
+ getStickyColProps: getStickyColProps,
531
+ // 行高亮
532
+ onHighlightedRowChange: onHighlightedRowChange,
533
+ isHighlightedRow: isHighlightedRow,
534
+ highlightedRowKeys: highlightedRowKeys,
535
+ trySetHighlightedRowKeys: trySetHighlightedRowKeys,
536
+ // 列高亮
537
+ onHighlightedColChange: onHighlightedColChange,
538
+ isHighlightedCol: isHighlightedCol,
539
+ highlightedColKeys: highlightedColKeys,
540
+ trySetHighlightedColKeys: trySetHighlightedColKeys,
541
+ // 列 hover
542
+ showColHighlight: showColHighlight,
543
+ isHoveredHighlightCol: isHoveredHighlightCol,
544
+ onHoveredColChange: onHoveredColChange,
545
+ // 行拖拽
546
+ draggable: draggable,
547
+ highlightColumns: [],
548
+ dragRowRef: dragRowRef,
549
+ onDrop: onDrop,
550
+ groupedColumns: groupedColumns,
551
+ // 子树展开
552
+ onExpandTreeRowsChange: onExpandTreeRowsChange,
553
+ isExpandTreeRows: isExpandTreeRows,
554
+ isLoadingTreeNodeId: isLoadingTreeNodeId,
555
+ onTreeNodeSwitch: onTreeNodeSwitch,
556
+ resizable: resizable,
557
+ colWidths: colWidths,
558
+ onColumnResizable: onColumnResizable,
559
+ isTree: isTreeView,
560
+ cellRender: cellRender,
561
+ showColMenu: showColMenu,
562
+ onLoadChildren: onLoadChildren
563
+ });
564
+ };
565
+
566
+ export { useTable };
567
+ //# sourceMappingURL=use-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-table.js","sources":["../../src/use-table.ts"],"sourcesContent":[null],"names":["DEFAULT_COLUMNS","DEFAULT_DATA","DEFAULT_ERROR_ROW_KEYS","DEFAULT_HIGHLIGHTED_ROW_KEYS","DEFAULT_HIGHLIGHTED_COL_KEYS","DEFAULT_EXPAND_ROW_KEYS","DEFAULT_FIXED_TO_COLUMN","useTable","_a","data","columns","columnsProp","defaultFixedToColumn","fixedToColumnProp","fixedToColumn","onFixedToColumn","scrollWidth","resizable","errorRowKeys","highlightedColKeysProp","highlightedColKeys","highlightedRowKeysProp","highlightedRowKeys","showColHighlight","showRowHighlight","defaultExpandedRowKeys","expandRowKeysProp","expandedRowKeys","onExpand","defaultExpandAll","onLoadChildren","maxHeight","sticky","stickyTop","draggable","onDropProp","onDrop","onDropEnd","showColMenu","rowSelection","cellRender","fieldKey","rootProps","getRowKeyField","React","useCallback","item","val","invariant","isNullish","useCache","cacheData","setCacheData","flattedData","useMemo","clonedData","cloneTree","flattenTree","node","id","raw","useExpand","transitionData","onExpandTreeRowsChange","isExpandTreeRows","useAsyncSwitch","isLoadingTreeNodeId","onTreeNodeSwitch","useTableDrag","dragRowRef","useColumns","flattedColumns","mergedColumns2","mergedColumns","leafColumns","useUncontrolledState","trySetHighlightedColKeys","useCheck","checkedIds","onCheck","idFieldName","onHighlightedColChange","isHighlightedCol","useState","hoveredColKey","setHoveredColKey","useSelect","disabled","selectedId","onSelect","onHoveredColChange","isHoveredHighlightCol","useColWidth","measureRowElementRef","getColgroupProps","onColumnResizable","colWidths","bodyTableRef","useRef","scrollBodyElementRef","setFixedToColumn","leftFreezeColumn","left","rightFreezeColumn","right","setLeftFreezeColumn","columnKey","prev","next","leftFrozenColKey","rightFrozenKey","leftFrozenColIndex","rightFrozenColIndex","some","column","index","dataKey","undefined","nextColumns","lastColumns","setColumnsDefaultWidth","length","leftColumns","filter","depth","forEach","currentItem","parseFixedColumns","getLeafNodes","reduce","acc","concat","getLeafChildren","leftLeafNodes","leftColIndex","leftFixedColumnsWidth","width","rightColumns","targetColumn","root","getNodeRootParent","reverse","_item","rightLeafNodes","rightColIndex","rightFixedColumnsWidth","leftFrozenColKeys","rightFrozenColKeys","mergedColumns1","scrollLeft","scrollRight","scrollSize","setScrollSize","useEffect","tableWidth","current","getBoundingClientRect","tableBodyWidth","canScroll","clientWidth","syncScrollLeft","syncTarget","isArrayNonEmpty","tableTefRight","scrollHeaderElementRef","onTableBodyScroll","evt","stopPropagation","onTableBodyScrollMock","deltaX","trySetHighlightedRowKeys","onHighlightedRowChange","isHighlightedRow","isErrorRow","key","includes","flattedColumnsWithoutChildren","col","children","groupedColumns","cur","push","getStickyColProps","useLatestCallback","rightStickyWidth","leftStickyWidth","align","style","position","textAlign","setAttrStatus","getTableHeaderProps","top","boxShadow","overflow","zIndex","isTreeView","row","isLeaf","activeSorterColumn","setActiveSorterColumn","activeSorterType","setActiveSorterType","showData","_data","sorter","d","sort","bordered","highlightColumns","isTree"],"mappings":"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"}