@hi-ui/table 4.0.0-alpha.2 → 4.0.0-alpha.23

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 (298) hide show
  1. package/README.md +156 -6
  2. package/lib/cjs/BaseTable.js +241 -0
  3. package/lib/cjs/BaseTable.js.map +1 -0
  4. package/lib/cjs/Table.js +312 -0
  5. package/lib/cjs/Table.js.map +1 -0
  6. package/lib/cjs/TableAdvancedFilter.js +166 -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 +225 -0
  11. package/lib/cjs/TableCell.js.map +1 -0
  12. package/lib/cjs/TableColumnMenu.js +179 -0
  13. package/lib/cjs/TableColumnMenu.js.map +1 -0
  14. package/lib/cjs/TableEmbedRow.js +80 -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 +247 -0
  19. package/lib/cjs/TableRow.js.map +1 -0
  20. package/lib/cjs/TableSettingMenu.js +225 -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 +104 -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 +129 -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 +92 -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 +86 -0
  49. package/lib/cjs/icons/index.js.map +1 -0
  50. package/lib/cjs/index.js +26 -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/types.js +22 -0
  55. package/lib/cjs/types.js.map +1 -0
  56. package/lib/cjs/ui/locale-context/lib/esm/LocaleContext.js +51 -0
  57. package/lib/cjs/ui/locale-context/lib/esm/LocaleContext.js.map +1 -0
  58. package/lib/cjs/ui/locale-context/lib/esm/LocaleProvider.js +39 -0
  59. package/lib/cjs/ui/locale-context/lib/esm/LocaleProvider.js.map +1 -0
  60. package/lib/cjs/ui/locale-context/lib/esm/locale/zh-CN.js +159 -0
  61. package/lib/cjs/ui/locale-context/lib/esm/locale/zh-CN.js.map +1 -0
  62. package/lib/cjs/use-table.js +646 -0
  63. package/lib/cjs/use-table.js.map +1 -0
  64. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +29 -0
  65. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +1 -0
  66. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +27 -0
  67. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +1 -0
  68. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +29 -0
  69. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +1 -0
  70. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +29 -0
  71. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +1 -0
  72. package/lib/cjs/utils/func-utils/lib/esm/index.js +62 -0
  73. package/lib/cjs/utils/func-utils/lib/esm/index.js.map +1 -0
  74. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +37 -0
  75. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +1 -0
  76. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +37 -0
  77. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +1 -0
  78. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +37 -0
  79. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +1 -0
  80. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +37 -0
  81. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +1 -0
  82. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +34 -0
  83. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +1 -0
  84. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +37 -0
  85. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +1 -0
  86. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +60 -0
  87. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
  88. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +49 -0
  89. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +1 -0
  90. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +80 -0
  91. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
  92. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +63 -0
  93. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +1 -0
  94. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +34 -0
  95. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +1 -0
  96. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +33 -0
  97. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +1 -0
  98. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +36 -0
  99. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
  100. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +48 -0
  101. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +1 -0
  102. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +77 -0
  103. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +1 -0
  104. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +96 -0
  105. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +1 -0
  106. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +40 -0
  107. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +1 -0
  108. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +50 -0
  109. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +1 -0
  110. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +28 -0
  111. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
  112. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +58 -0
  113. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +1 -0
  114. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +49 -0
  115. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +1 -0
  116. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js +39 -0
  117. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +1 -0
  118. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +55 -0
  119. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +1 -0
  120. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +61 -0
  121. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +1 -0
  122. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +67 -0
  123. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +1 -0
  124. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +69 -0
  125. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +1 -0
  126. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +72 -0
  127. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +1 -0
  128. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +69 -0
  129. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +1 -0
  130. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +45 -0
  131. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +1 -0
  132. package/lib/cjs/utils/index.js +190 -0
  133. package/lib/cjs/utils/index.js.map +1 -0
  134. package/lib/esm/BaseTable.js +210 -0
  135. package/lib/esm/BaseTable.js.map +1 -0
  136. package/lib/esm/Table.js +273 -0
  137. package/lib/esm/Table.js.map +1 -0
  138. package/lib/esm/TableAdvancedFilter.js +136 -0
  139. package/lib/esm/TableAdvancedFilter.js.map +1 -0
  140. package/lib/esm/TableBody.js +126 -0
  141. package/lib/esm/TableBody.js.map +1 -0
  142. package/lib/esm/TableCell.js +202 -0
  143. package/lib/esm/TableCell.js.map +1 -0
  144. package/lib/esm/TableColumnMenu.js +152 -0
  145. package/lib/esm/TableColumnMenu.js.map +1 -0
  146. package/lib/esm/TableEmbedRow.js +58 -0
  147. package/lib/esm/TableEmbedRow.js.map +1 -0
  148. package/lib/esm/TableHeader.js +107 -0
  149. package/lib/esm/TableHeader.js.map +1 -0
  150. package/lib/esm/TableRow.js +221 -0
  151. package/lib/esm/TableRow.js.map +1 -0
  152. package/lib/esm/TableSettingMenu.js +193 -0
  153. package/lib/esm/TableSettingMenu.js.map +1 -0
  154. package/lib/esm/context.js +25 -0
  155. package/lib/esm/context.js.map +1 -0
  156. package/lib/esm/hooks/use-async-switch.js +124 -0
  157. package/lib/esm/hooks/use-async-switch.js.map +1 -0
  158. package/lib/esm/hooks/use-check.js +85 -0
  159. package/lib/esm/hooks/use-check.js.map +1 -0
  160. package/lib/esm/hooks/use-col-hidden.js +67 -0
  161. package/lib/esm/hooks/use-col-hidden.js.map +1 -0
  162. package/lib/esm/hooks/use-col-sorter.js +55 -0
  163. package/lib/esm/hooks/use-col-sorter.js.map +1 -0
  164. package/lib/esm/hooks/use-col-width.js +112 -0
  165. package/lib/esm/hooks/use-col-width.js.map +1 -0
  166. package/lib/esm/hooks/use-colgroup.js +93 -0
  167. package/lib/esm/hooks/use-colgroup.js.map +1 -0
  168. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js +264 -0
  169. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js.map +1 -0
  170. package/lib/esm/hooks/use-drag.js +73 -0
  171. package/lib/esm/hooks/use-drag.js.map +1 -0
  172. package/lib/esm/hooks/use-embed-expand.js +160 -0
  173. package/lib/esm/hooks/use-embed-expand.js.map +1 -0
  174. package/lib/esm/hooks/use-expand.js +172 -0
  175. package/lib/esm/hooks/use-expand.js.map +1 -0
  176. package/lib/esm/hooks/use-pagination.js +46 -0
  177. package/lib/esm/hooks/use-pagination.js.map +1 -0
  178. package/lib/esm/hooks/use-queue.js +49 -0
  179. package/lib/esm/hooks/use-queue.js.map +1 -0
  180. package/lib/esm/icons/index.js +65 -0
  181. package/lib/esm/icons/index.js.map +1 -0
  182. package/lib/esm/index.js +13 -0
  183. package/lib/esm/index.js.map +1 -0
  184. package/lib/esm/styles/index.scss.js +17 -0
  185. package/lib/esm/styles/index.scss.js.map +1 -0
  186. package/lib/esm/types.js +17 -0
  187. package/lib/esm/types.js.map +1 -0
  188. package/lib/esm/ui/locale-context/lib/esm/LocaleContext.js +41 -0
  189. package/lib/esm/ui/locale-context/lib/esm/LocaleContext.js.map +1 -0
  190. package/lib/esm/ui/locale-context/lib/esm/LocaleProvider.js +30 -0
  191. package/lib/esm/ui/locale-context/lib/esm/LocaleProvider.js.map +1 -0
  192. package/lib/esm/ui/locale-context/lib/esm/locale/zh-CN.js +154 -0
  193. package/lib/esm/ui/locale-context/lib/esm/locale/zh-CN.js.map +1 -0
  194. package/lib/esm/use-table.js +614 -0
  195. package/lib/esm/use-table.js.map +1 -0
  196. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +24 -0
  197. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +1 -0
  198. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +22 -0
  199. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +1 -0
  200. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +24 -0
  201. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +1 -0
  202. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +24 -0
  203. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +1 -0
  204. package/lib/esm/utils/func-utils/lib/esm/index.js +45 -0
  205. package/lib/esm/utils/func-utils/lib/esm/index.js.map +1 -0
  206. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +29 -0
  207. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +1 -0
  208. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +29 -0
  209. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +1 -0
  210. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +29 -0
  211. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +1 -0
  212. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +29 -0
  213. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +1 -0
  214. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +27 -0
  215. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +1 -0
  216. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +29 -0
  217. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +1 -0
  218. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +51 -0
  219. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
  220. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +41 -0
  221. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +1 -0
  222. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +70 -0
  223. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
  224. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +59 -0
  225. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +1 -0
  226. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +27 -0
  227. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +1 -0
  228. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +30 -0
  229. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +1 -0
  230. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +17 -0
  231. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
  232. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +40 -0
  233. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +1 -0
  234. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +70 -0
  235. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +1 -0
  236. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +87 -0
  237. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +1 -0
  238. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +35 -0
  239. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +1 -0
  240. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +43 -0
  241. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +1 -0
  242. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +25 -0
  243. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
  244. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +54 -0
  245. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +1 -0
  246. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +44 -0
  247. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +1 -0
  248. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js +21 -0
  249. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +1 -0
  250. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +50 -0
  251. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +1 -0
  252. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +57 -0
  253. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +1 -0
  254. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +62 -0
  255. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +1 -0
  256. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +61 -0
  257. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +1 -0
  258. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +55 -0
  259. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +1 -0
  260. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +52 -0
  261. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +1 -0
  262. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +40 -0
  263. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +1 -0
  264. package/lib/esm/utils/index.js +178 -0
  265. package/lib/esm/utils/index.js.map +1 -0
  266. package/lib/types/BaseTable.d.ts +33 -0
  267. package/lib/types/Table.d.ts +21 -31
  268. package/lib/types/TableAdvancedFilter.d.ts +9 -0
  269. package/lib/types/TableBody.d.ts +11 -0
  270. package/lib/types/TableCell.d.ts +38 -0
  271. package/lib/types/TableColumnMenu.d.ts +12 -0
  272. package/lib/types/TableEmbedRow.d.ts +26 -0
  273. package/lib/types/TableHeader.d.ts +12 -0
  274. package/lib/types/TableRow.d.ts +15 -0
  275. package/lib/types/TableSettingMenu.d.ts +12 -0
  276. package/lib/types/context.d.ts +223 -0
  277. package/lib/types/hooks/index.d.ts +2 -0
  278. package/lib/types/hooks/use-async-switch.d.ts +3 -0
  279. package/lib/types/hooks/use-check.d.ts +15 -0
  280. package/lib/types/hooks/use-col-frozen.d.ts +10 -0
  281. package/lib/types/hooks/use-col-hidden.d.ts +13 -0
  282. package/lib/types/hooks/use-col-sorter.d.ts +13 -0
  283. package/lib/types/hooks/use-col-width.d.ts +18 -0
  284. package/lib/types/hooks/use-colgroup.d.ts +10 -0
  285. package/lib/types/hooks/use-drag.d.ts +13 -0
  286. package/lib/types/hooks/use-embed-expand.d.ts +39 -0
  287. package/lib/types/hooks/use-expand.d.ts +7 -0
  288. package/lib/types/hooks/use-pagination.d.ts +12 -0
  289. package/lib/types/hooks/use-queue.d.ts +6 -0
  290. package/lib/types/icons/index.d.ts +5 -0
  291. package/lib/types/index.d.ts +1 -0
  292. package/lib/types/types.d.ts +171 -0
  293. package/lib/types/use-table.d.ts +244 -0
  294. package/lib/types/utils/index.d.ts +18 -0
  295. package/package.json +33 -8
  296. package/lib/types/StickyTable.d.ts +0 -43
  297. package/lib/types/TBody.d.ts +0 -26
  298. package/lib/types/THeader.d.ts +0 -18
package/README.md CHANGED
@@ -1,11 +1,161 @@
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
+ | expandRowKeys | 内嵌式表格以及树形表格展开的行 | 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
+ | expandEmbedRowKeys | feature | - | 字段:expandRowKeys -> expandEmbedRowKeys | 强化功能:支持内嵌面板独立控制 |
159
+ | onEmbedExpand | feature | 字段:onExpand -> onEmbedExpand | 强化功能:支持内嵌面板独立控制 |
160
+ | stickyFooter | feature | boolean | 强化功能:支持底部吸底 |
161
+ | rowSelection.render | feature | (checkboxNode: React.ReactNode, rowItem: object, rowIndex: number, dataKey: string) => React.ReactNode | 强化功能:支持 checkbox 自定义渲染 |
@@ -0,0 +1,241 @@
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
+ function _interopDefaultLegacy(e) {
47
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
48
+ 'default': e
49
+ };
50
+ }
51
+
52
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
53
+
54
+ var _role = 'table';
55
+
56
+ var _prefix = classname.getPrefixCls('table');
57
+
58
+ var EMBED_DATA_KEY = "TABLE_EMBED_DATA_KEY_" + index.uuid();
59
+ var DEFAULT_COLUMNS = [];
60
+ /**
61
+ * TODO: What is BaseTable
62
+ */
63
+
64
+ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
65
+ // ********************** 内嵌式面板 *********************** //
66
+ var _a$prefixCls = _a.prefixCls,
67
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
68
+ _a$role = _a.role,
69
+ role = _a$role === void 0 ? _role : _a$role,
70
+ className = _a.className,
71
+ _a$columns = _a.columns,
72
+ columns = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
73
+ _a$striped = _a.striped,
74
+ striped = _a$striped === void 0 ? false : _a$striped,
75
+ borderedProp = _a.bordered,
76
+ rowExpandable = _a.rowExpandable,
77
+ defaultExpandEmbedRowKeys = _a.defaultExpandEmbedRowKeys,
78
+ expandEmbedRowKeys = _a.expandEmbedRowKeys,
79
+ onEmbedExpand = _a.onEmbedExpand,
80
+ expandedRender = _a.expandedRender,
81
+ size = _a.size,
82
+ extra = _a.extra,
83
+ stickyFooter = _a.stickyFooter,
84
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "columns", "striped", "bordered", "rowExpandable", "defaultExpandEmbedRowKeys", "expandEmbedRowKeys", "onEmbedExpand", "expandedRender", "size", "extra", "onHeaderRow", "stickyFooter"]);
85
+
86
+ var _useEmbedExpand = useEmbedExpand.useEmbedExpand({
87
+ defaultExpandEmbedRowKeys: defaultExpandEmbedRowKeys,
88
+ rowExpandable: rowExpandable,
89
+ expandEmbedRowKeys: expandEmbedRowKeys,
90
+ onEmbedExpand: onEmbedExpand,
91
+ expandedRender: expandedRender
92
+ }),
93
+ embedExpandable = _useEmbedExpand.embedExpandable,
94
+ onEmbedSwitch = _useEmbedExpand.onEmbedSwitch,
95
+ isEmbedLoadingId = _useEmbedExpand.isEmbedLoadingId,
96
+ getEmbedPanelById = _useEmbedExpand.getEmbedPanelById,
97
+ isExpandEmbedRows = _useEmbedExpand.isExpandEmbedRows,
98
+ onExpandEmbedRowsChange = _useEmbedExpand.onExpandEmbedRowsChange;
99
+ /**
100
+ * 表格列展开折叠操作区
101
+ */
102
+
103
+
104
+ var getEmbedPanelColumn = React__default['default'].useCallback(function (embedExpandable) {
105
+ var embedPanelColumn = {
106
+ dataKey: EMBED_DATA_KEY,
107
+ title: '',
108
+ width: 50,
109
+ align: 'center',
110
+ render: function render(_, rowItem) {
111
+ var rowKey = rowItem.id;
112
+ var rowExpandable = embedExpandable.rowExpandable;
113
+ var rowExpand = typeAssertion.isFunction(rowExpandable) ? rowExpandable(rowItem) : !!rowExpandable;
114
+ var expanded = isExpandEmbedRows(rowKey);
115
+ var loading = isEmbedLoadingId(rowKey);
116
+ return renderSwitcher({
117
+ prefixCls: prefixCls,
118
+ rowExpand: rowExpand,
119
+ loading: loading,
120
+ expanded: expanded,
121
+ onSwitch: function onSwitch(shouldExpanded) {
122
+ onExpandEmbedRowsChange(rowItem, shouldExpanded);
123
+ },
124
+ expandIcon: /*#__PURE__*/React__default['default'].createElement(icons.MinusSquareOutlined, null),
125
+ collapseIcon: /*#__PURE__*/React__default['default'].createElement(icons.PlusSquareOutlined, null)
126
+ });
127
+ }
128
+ };
129
+ return embedPanelColumn;
130
+ }, [prefixCls, isExpandEmbedRows, onExpandEmbedRowsChange, isEmbedLoadingId]);
131
+ var mergedColumns = React__default['default'].useMemo(function () {
132
+ if (embedExpandable) {
133
+ var embedColumn = getEmbedPanelColumn(embedExpandable);
134
+ return [embedColumn].concat(columns);
135
+ }
136
+
137
+ return columns;
138
+ }, [embedExpandable, getEmbedPanelColumn, columns]);
139
+ var providedValue = useTable.useTable(Object.assign(Object.assign({}, rest), {
140
+ columns: mergedColumns
141
+ }));
142
+ var rootProps = providedValue.rootProps,
143
+ bordered = providedValue.bordered,
144
+ leftFrozenColKeys = providedValue.leftFrozenColKeys,
145
+ rightFrozenColKeys = providedValue.rightFrozenColKeys,
146
+ leftFixedColumnsWidth = providedValue.leftFixedColumnsWidth,
147
+ rightFixedColumnsWidth = providedValue.rightFixedColumnsWidth,
148
+ scrollSize = providedValue.scrollSize,
149
+ getTableHeaderProps = providedValue.getTableHeaderProps;
150
+ var hasBorder = borderedProp !== null && borderedProp !== void 0 ? borderedProp : bordered;
151
+ var extraHeader = extra && extra.header;
152
+ var extraFooter = extra && extra.footer;
153
+ var cls = classname.cx(prefixCls, className, hasBorder && prefixCls + "--bordered", striped && prefixCls + "--striped", size && prefixCls + "--size-" + size);
154
+ return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
155
+ ref: ref,
156
+ role: role,
157
+ className: cls
158
+ }, rootProps), /*#__PURE__*/React__default['default'].createElement("div", {
159
+ className: prefixCls + "__wrapper"
160
+ }, /*#__PURE__*/React__default['default'].createElement(context.TableProvider, {
161
+ value: Object.assign(Object.assign({}, providedValue), {
162
+ embedExpandable: embedExpandable,
163
+ onEmbedSwitch: onEmbedSwitch,
164
+ isExpandEmbedRows: isExpandEmbedRows,
165
+ onExpandEmbedRowsChange: onExpandEmbedRowsChange,
166
+ getEmbedPanelById: getEmbedPanelById,
167
+ isEmbedLoadingId: isEmbedLoadingId
168
+ })
169
+ }, /*#__PURE__*/React__default['default'].createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React__default['default'].createElement(TableHeader.TableHeader, {
170
+ prefixCls: prefixCls + "-header"
171
+ }), extraHeader ? /*#__PURE__*/React__default['default'].createElement("div", {
172
+ style: {
173
+ position: 'absolute',
174
+ right: 0,
175
+ zIndex: 11,
176
+ bottom: 0,
177
+ top: 0
178
+ }
179
+ }, extraHeader) : null), /*#__PURE__*/React__default['default'].createElement(TableBody.TableBody, {
180
+ prefixCls: prefixCls
181
+ })), scrollSize.scrollLeft > 0 && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default['default'].createElement("div", {
182
+ className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--left",
183
+ style: {
184
+ width: leftFixedColumnsWidth + 'px'
185
+ }
186
+ }) : null, scrollSize.scrollRight > 0 && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default['default'].createElement("div", {
187
+ className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--right",
188
+ style: {
189
+ width: rightFixedColumnsWidth + 'px'
190
+ }
191
+ }) : null), /*#__PURE__*/React__default['default'].createElement("div", {
192
+ className: prefixCls + "-footer",
193
+ style: stickyFooter ? {
194
+ position: 'sticky',
195
+ bottom: 0 // boxShadow: '0 5px 15px 0 rgba(0, 0, 0, 0.1)'
196
+
197
+ } : undefined
198
+ }, extraFooter));
199
+ });
200
+
201
+ if (env.__DEV__) {
202
+ BaseTable.displayName = 'BaseTable';
203
+ }
204
+
205
+ var renderSwitcher = function renderSwitcher(_ref) {
206
+ var prefixCls = _ref.prefixCls,
207
+ rowExpand = _ref.rowExpand,
208
+ loading = _ref.loading,
209
+ expanded = _ref.expanded,
210
+ onSwitch = _ref.onSwitch,
211
+ expandIcon = _ref.expandIcon,
212
+ collapseIcon = _ref.collapseIcon;
213
+
214
+ if ( /*#__PURE__*/React__default['default'].isValidElement(rowExpand)) {
215
+ return rowExpand;
216
+ }
217
+
218
+ if (rowExpand === true) {
219
+ if (loading) {
220
+ return /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
221
+ className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--loading"),
222
+ icon: index$1.defaultLoadingIcon
223
+ });
224
+ }
225
+
226
+ return /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
227
+ tabIndex: -1,
228
+ className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--" + (expanded ? 'expanded' : 'collapse')),
229
+ icon: expanded ? expandIcon : collapseIcon,
230
+ onClick: function onClick() {
231
+ return onSwitch(!expanded);
232
+ }
233
+ });
234
+ }
235
+
236
+ return null;
237
+ };
238
+
239
+ exports.BaseTable = BaseTable;
240
+ exports.EMBED_DATA_KEY = EMBED_DATA_KEY;
241
+ //# 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","BaseTable","forwardRef","_a","ref","prefixCls","role","className","columns","striped","borderedProp","bordered","rowExpandable","defaultExpandEmbedRowKeys","expandEmbedRowKeys","onEmbedExpand","expandedRender","size","extra","stickyFooter","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","expandIcon","MinusSquareOutlined","collapseIcon","PlusSquareOutlined","mergedColumns","useMemo","embedColumn","providedValue","useTable","rootProps","leftFrozenColKeys","rightFrozenColKeys","leftFixedColumnsWidth","rightFixedColumnsWidth","scrollSize","getTableHeaderProps","hasBorder","extraHeader","header","extraFooter","footer","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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"}