@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,216 @@
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 React = require('react');
19
+
20
+ var classname = require('@hi-ui/classname');
21
+
22
+ var env = require('@hi-ui/env');
23
+
24
+ var context = require('./context.js');
25
+
26
+ var TableCell = require('./TableCell.js');
27
+
28
+ var TableEmbedRow = require('./TableEmbedRow.js');
29
+
30
+ var useLatest = require('@hi-ui/use-latest');
31
+
32
+ var domUtils = require('@hi-ui/dom-utils');
33
+
34
+ var Table = require('./Table.js');
35
+
36
+ var BaseTable = require('./BaseTable.js');
37
+
38
+ var typeAssertion = require('@hi-ui/type-assertion');
39
+
40
+ function _interopDefaultLegacy(e) {
41
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
42
+ 'default': e
43
+ };
44
+ }
45
+
46
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
47
+
48
+ var _role = 'table';
49
+
50
+ var _prefix = classname.getPrefixCls(_role);
51
+ /**
52
+ * TODO: What is TableRow
53
+ */
54
+
55
+
56
+ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
57
+ var _ref$prefixCls = _ref.prefixCls,
58
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
59
+ rowDataProp = _ref.rowData,
60
+ rowIndex = _ref.rowIndex,
61
+ expandedTree = _ref.expandedTree,
62
+ isSumRow = _ref.isSumRow,
63
+ isAvgRow = _ref.isAvgRow;
64
+
65
+ var _useTableContext = context.useTableContext(),
66
+ onHighlightedRowChange = _useTableContext.onHighlightedRowChange,
67
+ isHighlightedRow = _useTableContext.isHighlightedRow,
68
+ flattedColumnsWithoutChildren = _useTableContext.flattedColumnsWithoutChildren,
69
+ isErrorRow = _useTableContext.isErrorRow,
70
+ columns = _useTableContext.columns,
71
+ embedExpandable = _useTableContext.embedExpandable,
72
+ hoverRow = _useTableContext.hoverRow,
73
+ draggable = _useTableContext.draggable,
74
+ onDragStartContext = _useTableContext.onDragStart,
75
+ onDragLeaveContext = _useTableContext.onDragLeave,
76
+ onDragEndContext = _useTableContext.onDragEnd,
77
+ onDropContext = _useTableContext.onDrop,
78
+ dragRowRef = _useTableContext.dragRowRef,
79
+ onRow = _useTableContext.onRow;
80
+
81
+ var rowData = rowDataProp.raw,
82
+ rowId = rowDataProp.id; // ** ************** 拖拽管理 *************** *//
83
+
84
+ var _React$useState = React__default['default'].useState(false),
85
+ dragging = _React$useState[0],
86
+ setDragging = _React$useState[1];
87
+
88
+ var _React$useState2 = React__default['default'].useState(),
89
+ dragDirection = _React$useState2[0],
90
+ setDragDirection = _React$useState2[1];
91
+
92
+ var onDragStartContextLatest = useLatest.useLatestCallback(onDragStartContext);
93
+ var onDragStart = React__default['default'].useCallback(function (evt) {
94
+ if (!draggable) return;
95
+ evt.stopPropagation();
96
+ var clientY = evt.clientY;
97
+ dragRowRef.current = {
98
+ startClientY: clientY,
99
+ dragId: rowId,
100
+ rowData: rowData
101
+ };
102
+ setDragging(true);
103
+ evt.dataTransfer.setData('tableRow', JSON.stringify({
104
+ sourceId: rowId
105
+ }));
106
+ onDragStartContextLatest(evt, {
107
+ dragNode: rowData
108
+ });
109
+ }, [draggable, dragRowRef, onDragStartContextLatest, rowData, rowId]);
110
+ var onDragOver = React__default['default'].useCallback(function (evt) {
111
+ if (!draggable) return;
112
+ evt.preventDefault();
113
+ evt.stopPropagation();
114
+ if (!dragRowRef.current) return;
115
+ var _dragRowRef$current = dragRowRef.current,
116
+ startClientY = _dragRowRef$current.startClientY,
117
+ dragId = _dragRowRef$current.dragId;
118
+ if (dragId === rowId) return;
119
+ var hoverClientY = evt.clientY;
120
+
121
+ if (hoverClientY < startClientY) {
122
+ setDragDirection('top');
123
+ } else {
124
+ setDragDirection('bottom');
125
+ }
126
+ }, [draggable, dragRowRef, rowId]);
127
+ var onDragLeaveContextLatest = useLatest.useLatestCallback(onDragLeaveContext);
128
+ var onDragLeave = React__default['default'].useCallback(function (evt) {
129
+ if (!draggable) return;
130
+ evt.preventDefault();
131
+ evt.stopPropagation();
132
+ setDragDirection(undefined);
133
+ onDragLeaveContextLatest(evt);
134
+ }, [draggable, onDragLeaveContextLatest]);
135
+ var onDragEndContextLatest = useLatest.useLatestCallback(onDragEndContext);
136
+ var onDragEnd = React__default['default'].useCallback(function (evt) {
137
+ if (!draggable) return;
138
+ evt.preventDefault();
139
+ evt.stopPropagation();
140
+ evt.dataTransfer.clearData();
141
+ dragRowRef.current = null;
142
+ setDragDirection(undefined);
143
+ setDragging(false);
144
+ onDragEndContextLatest(evt);
145
+ }, [draggable, dragRowRef, onDragEndContextLatest]);
146
+ var onDropContextLatest = useLatest.useLatestCallback(onDropContext); // 放置目标元素时触发事件
147
+
148
+ var onDrop = React__default['default'].useCallback(function (evt) {
149
+ if (!draggable) return;
150
+ if (!dragRowRef.current) return;
151
+ var dragId = dragRowRef.current.dragId;
152
+ evt.preventDefault();
153
+ evt.stopPropagation();
154
+ setDragDirection(undefined);
155
+ dragRowRef.current = null;
156
+ var targetId = rowId;
157
+ if (dragId === targetId) return;
158
+
159
+ try {
160
+ var _JSON$parse = JSON.parse(evt.dataTransfer.getData('tableRow')),
161
+ sourceId = _JSON$parse.sourceId;
162
+
163
+ onDropContextLatest(evt, sourceId, targetId, dragDirection);
164
+ } catch (error) {
165
+ console.error(error);
166
+ }
167
+ }, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]); // ** ************** 行状态管理 *************** *//
168
+
169
+ var highlighted = isHighlightedRow(rowId);
170
+ var hovered = hoverRow === rowId;
171
+ var hasError = isErrorRow(rowId);
172
+ var cls = classname.cx(prefixCls + "-row", hasError && prefixCls + "-row--error", hovered && prefixCls + "-row--hovered", highlighted && prefixCls + "-row--highlight", draggable && prefixCls + "-row--draggable", draggable && dragging && prefixCls + "-row--dragging", draggable && dragDirection && prefixCls + "-row--drag-" + dragDirection, isSumRow && prefixCls + "-row--total", isAvgRow && prefixCls + "-row--avg");
173
+ var firstColumn = flattedColumnsWithoutChildren.find(function (item) {
174
+ return item.dataKey !== Table.SELECTION_DATA_KEY && item.dataKey !== BaseTable.EMBED_DATA_KEY;
175
+ });
176
+ var rowExtraProps = typeAssertion.isFunction(onRow) ? onRow() : {};
177
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("tr", Object.assign({
178
+ ref: ref,
179
+ className: cls,
180
+ key: "row"
181
+ }, rowExtraProps, {
182
+ onDoubleClick: function onDoubleClick(evt) {
183
+ if (rowExtraProps.onDoubleClick) {
184
+ rowExtraProps.onDoubleClick(evt);
185
+ }
186
+
187
+ onHighlightedRowChange(rowData, !highlighted);
188
+ },
189
+ draggable: domUtils.setAttrAria(draggable),
190
+ onDragStart: onDragStart,
191
+ onDragOver: onDragOver,
192
+ onDragEnd: onDragEnd,
193
+ onDragLeave: onDragLeave,
194
+ onDrop: onDrop
195
+ }), flattedColumnsWithoutChildren.map(function (column, idx) {
196
+ return /*#__PURE__*/React__default['default'].createElement(TableCell.TableCell, {
197
+ key: idx,
198
+ column: column,
199
+ isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
200
+ rowData: rowDataProp,
201
+ rowIndex: rowIndex,
202
+ expandedTree: expandedTree
203
+ });
204
+ })), embedExpandable ? /*#__PURE__*/React__default['default'].createElement(TableEmbedRow.TableEmbedRow, {
205
+ colSpan: columns.length,
206
+ rowData: rowDataProp,
207
+ rowIndex: rowIndex
208
+ }) : null);
209
+ });
210
+
211
+ if (env.__DEV__) {
212
+ TableRow.displayName = 'TableRow';
213
+ }
214
+
215
+ exports.TableRow = TableRow;
216
+ //# sourceMappingURL=TableRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableRow.js","sources":["../../src/TableRow.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","TableRow","forwardRef","ref","prefixCls","rowDataProp","rowData","rowIndex","expandedTree","isSumRow","isAvgRow","useTableContext","onHighlightedRowChange","isHighlightedRow","flattedColumnsWithoutChildren","isErrorRow","columns","embedExpandable","hoverRow","draggable","onDragStartContext","onDragStart","onDragLeaveContext","onDragLeave","onDragEndContext","onDragEnd","onDropContext","onDrop","dragRowRef","onRow","raw","rowId","id","React","useState","dragging","setDragging","dragDirection","setDragDirection","onDragStartContextLatest","useLatestCallback","useCallback","evt","stopPropagation","clientY","current","startClientY","dragId","dataTransfer","setData","JSON","stringify","sourceId","dragNode","onDragOver","preventDefault","hoverClientY","onDragLeaveContextLatest","undefined","onDragEndContextLatest","clearData","onDropContextLatest","targetId","parse","getData","error","console","highlighted","hovered","hasError","cls","cx","firstColumn","find","item","dataKey","SELECTION_DATA_KEY","EMBED_DATA_KEY","rowExtraProps","isFunction","className","key","onDoubleClick","setAttrAria","map","column","idx","TableCell","isSwitcherCol","TableEmbedRow","colSpan","length","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,KAAK,GAAG,OAAd;;AACA,IAAMC,OAAO,GAAGC,sBAAAA,CAAaF,KAAbE,CAAhB;AAEA;;;;;IAGaC,QAAQ,gBAAGC,gBAAAA,CACtB,cAAA,EASEC,GATF;4BAEIC;MAAAA,wCAAYL;MACHM,mBAATC;MACAC,gBAAAA;MACAC,oBAAAA;MACAC,gBAAAA;MACAC,gBAAAA;;yBAuBEC,uBAAAA;MAlBFC,sBADF,oBACEA;MACAC,gBAFF,oBAEEA;MACAC,6BAHF,oBAGEA;MACAC,UAJF,oBAIEA;MACAC,OALF,oBAKEA;MACAC,eANF,oBAMEA;MAEAC,QARF,oBAQEA;MACAC,SATF,oBASEA;MAEaC,kBAXf,oBAWEC;MAEaC,kBAbf,oBAaEC;MAEWC,gBAfb,oBAeEC;MACQC,aAhBV,oBAgBEC;MACAC,UAjBF,oBAiBEA;MACAC,KAlBF,oBAkBEA;;MAGWvB,OAAb,GAAoCD,WAApC,CAAQyB;MAAkBC,KAA1B,GAAoC1B,WAApC,CAAsB2B;;wBAIUC,yBAAAA,CAAMC,QAAND,CAAe,KAAfA;MAAzBE,QAAP;MAAiBC,WAAjB;;yBAC0CH,yBAAAA,CAAMC,QAAND;MAAnCI,aAAP;MAAsBC,gBAAtB;;MAEMC,wBAAwB,GAAGC,2BAAAA,CAAkBpB,kBAAlBoB;MAE3BnB,WAAW,GAAGY,yBAAAA,CAAMQ,WAANR,CAClB,UAACS,GAAD;QACM,CAACvB,WAAW;AAEhBuB,IAAAA,GAAG,CAACC,eAAJD;QAEME,OAAO,GAAGF,GAAG,CAACE;AAEpBhB,IAAAA,UAAU,CAACiB,OAAXjB,GAAqB;AACnBkB,MAAAA,YAAY,EAAEF,OADK;AAEnBG,MAAAA,MAAM,EAAEhB,KAFW;AAGnBzB,MAAAA,OAAO,EAAEA;AAHU,KAArBsB;AAMAQ,IAAAA,WAAW,CAAC,IAAD,CAAXA;AAEAM,IAAAA,GAAG,CAACM,YAAJN,CAAiBO,OAAjBP,CAAyB,UAAzBA,EAAqCQ,IAAI,CAACC,SAALD,CAAe;AAAEE,MAAAA,QAAQ,EAAErB;AAAZ,KAAfmB,CAArCR;AAEAH,IAAAA,wBAAwB,CAACG,GAAD,EAAM;AAAEW,MAAAA,QAAQ,EAAE/C;AAAZ,KAAN,CAAxBiC;AAlBgB,GAAAN,EAoBlB,CAACd,SAAD,EAAYS,UAAZ,EAAwBW,wBAAxB,EAAkDjC,OAAlD,EAA2DyB,KAA3D,CApBkBE;MAuBdqB,UAAU,GAAGrB,yBAAAA,CAAMQ,WAANR,CACjB,UAACS,GAAD;QACM,CAACvB,WAAW;AAEhBuB,IAAAA,GAAG,CAACa,cAAJb;AACAA,IAAAA,GAAG,CAACC,eAAJD;QAEI,CAACd,UAAU,CAACiB,SAAS;8BAEQjB,UAAU,CAACiB;QAApCC,YAAR,uBAAQA;QAAcC,MAAtB,uBAAsBA;QAElBA,MAAM,KAAKhB,OAAO;QAEhByB,YAAY,GAAGd,GAAG,CAACE;;QAErBY,YAAY,GAAGV,cAAc;AAC/BR,MAAAA,gBAAgB,CAAC,KAAD,CAAhBA;AADF,WAEO;AACLA,MAAAA,gBAAgB,CAAC,QAAD,CAAhBA;;AAlBa,GAAAL,EAqBjB,CAACd,SAAD,EAAYS,UAAZ,EAAwBG,KAAxB,CArBiBE;MAwBbwB,wBAAwB,GAAGjB,2BAAAA,CAAkBlB,kBAAlBkB;MAE3BjB,WAAW,GAAGU,yBAAAA,CAAMQ,WAANR,CAClB,UAACS,GAAD;QACM,CAACvB,WAAW;AAEhBuB,IAAAA,GAAG,CAACa,cAAJb;AACAA,IAAAA,GAAG,CAACC,eAAJD;AAEAJ,IAAAA,gBAAgB,CAACoB,SAAD,CAAhBpB;AACAmB,IAAAA,wBAAwB,CAACf,GAAD,CAAxBe;AARgB,GAAAxB,EAUlB,CAACd,SAAD,EAAYsC,wBAAZ,CAVkBxB;MAad0B,sBAAsB,GAAGnB,2BAAAA,CAAkBhB,gBAAlBgB;MAEzBf,SAAS,GAAGQ,yBAAAA,CAAMQ,WAANR,CAChB,UAACS,GAAD;QACM,CAACvB,WAAW;AAEhBuB,IAAAA,GAAG,CAACa,cAAJb;AACAA,IAAAA,GAAG,CAACC,eAAJD;AAEAA,IAAAA,GAAG,CAACM,YAAJN,CAAiBkB,SAAjBlB;AACAd,IAAAA,UAAU,CAACiB,OAAXjB,GAAqB,IAArBA;AACAU,IAAAA,gBAAgB,CAACoB,SAAD,CAAhBpB;AACAF,IAAAA,WAAW,CAAC,KAAD,CAAXA;AAEAuB,IAAAA,sBAAsB,CAACjB,GAAD,CAAtBiB;AAZc,GAAA1B,EAchB,CAACd,SAAD,EAAYS,UAAZ,EAAwB+B,sBAAxB,CAdgB1B;MAiBZ4B,mBAAmB,GAAGrB,2BAAAA,CAAkBd,aAAlBc;;MAGtBb,MAAM,GAAGM,yBAAAA,CAAMQ,WAANR,CACb,UAACS,GAAD;QACM,CAACvB,WAAW;QACZ,CAACS,UAAU,CAACiB,SAAS;QAEjBE,MAAR,GAAmBnB,UAAU,CAACiB,OAAXjB,CAAXmB;AAERL,IAAAA,GAAG,CAACa,cAAJb;AACAA,IAAAA,GAAG,CAACC,eAAJD;AAEAJ,IAAAA,gBAAgB,CAACoB,SAAD,CAAhBpB;AACAV,IAAAA,UAAU,CAACiB,OAAXjB,GAAqB,IAArBA;QAEMkC,QAAQ,GAAG/B;QAEbgB,MAAM,KAAKe,UAAU;;QAErB;wBACmBZ,IAAI,CAACa,KAALb,CAAWR,GAAG,CAACM,YAAJN,CAAiBsB,OAAjBtB,CAAyB,UAAzBA,CAAXQ;UAAbE,QAAR,eAAQA;;AAERS,MAAAA,mBAAmB,CAACnB,GAAD,EAAMU,QAAN,EAAgBU,QAAhB,EAA0BzB,aAA1B,CAAnBwB;AAHF,MAIE,OAAOI,KAAP,EAAc;AACdC,MAAAA,OAAO,CAACD,KAARC,CAAcD,KAAdC;;AAtBS,GAAAjC,EAyBb,CAACd,SAAD,EAAYS,UAAZ,EAAwBiC,mBAAxB,EAA6CxB,aAA7C,EAA4DN,KAA5D,CAzBaE;;MA8BTkC,WAAW,GAAGtD,gBAAgB,CAACkB,KAAD;MAC9BqC,OAAO,GAAGlD,QAAQ,KAAKa;MACvBsC,QAAQ,GAAGtD,UAAU,CAACgB,KAAD;MAErBuC,GAAG,GAAGC,YAAAA,CACPnE,SADS,SAAFmE,EAEVF,QAAQ,IAAOjE,SAAP,gBAFEmE,EAGVH,OAAO,IAAOhE,SAAP,kBAHGmE,EAIVJ,WAAW,IAAO/D,SAAP,oBAJDmE,EAKVpD,SAAS,IAAOf,SAAP,oBALCmE,EAMVpD,SAAS,IAAIgB,QAAbhB,IAA4Bf,SAA5B,mBANUmE,EAOVpD,SAAS,IAAIkB,aAAblB,IAAiCf,SAAjC,gBAAiCA,GAAuBiC,aAP9CkC,EAQV9D,QAAQ,IAAOL,SAAP,gBAREmE,EASV7D,QAAQ,IAAON,SAAP,cATEmE;MAYNC,WAAW,GAAG1D,6BAA6B,CAAC2D,IAA9B3D,CAAmC,UAAC4D,IAAD;WAC9CA,IAAI,CAACC,OAALD,KAAiBE,wBAAjBF,IAAuCA,IAAI,CAACC,OAALD,KAAiBG;AAD7C,GAAA/D;MAIdgE,aAAa,GAAGC,wBAAAA,CAAWlD,KAAXkD,IAAoBlD,KAAK,EAAzBkD,GAA8B;sBAGlD9C,yBAAAA,cAAAA,mCAAAA,MAAAA,eACEA,yBAAAA,cAAAA,KAAAA;AACE9B,IAAAA,GAAG,EAAEA;AACL6E,IAAAA,SAAS,EAAEV;AACXW,IAAAA,GAAG,EAAC;KACAH;AACJI,IAAAA,aAAa,EAAE,sBAAA,CAACxC,GAAD;UACToC,aAAa,CAACI,eAAe;AAC/BJ,QAAAA,aAAa,CAACI,aAAdJ,CAA4BpC,GAA5BoC;;;AAEFlE,MAAAA,sBAAsB,CAACN,OAAD,EAAU,CAAC6D,WAAX,CAAtBvD;;AAEFO,IAAAA,SAAS,EAAEgE,oBAAAA,CAAYhE,SAAZgE;AACX9D,IAAAA,WAAW,EAAEA;AACbiC,IAAAA,UAAU,EAAEA;AACZ7B,IAAAA,SAAS,EAAEA;AACXF,IAAAA,WAAW,EAAEA;AACbI,IAAAA,MAAM,EAAEA;IAhBVM,EAmBGnB,6BAA6B,CAACsE,GAA9BtE,CAAkC,UAACuE,MAAD,EAASC,GAAT;wBAE/BrD,yBAAAA,cAAAA,CAACsD,mBAADtD;AACEgD,MAAAA,GAAG,EAAEK;AACLD,MAAAA,MAAM,EAAEA;AACRG,MAAAA,aAAa,EAAEhB,WAAW,GAAGA,WAAW,CAACxC,EAAZwC,KAAmBa,MAAM,CAACrD,EAA7B,GAAkC;AAC5D1B,MAAAA,OAAO,EAAED;AACTE,MAAAA,QAAQ,EAAEA;AACVC,MAAAA,YAAY,EAAEA;KANhByB;AAFH,GAAAnB,CAnBHmB,CADFA,EAmCGhB,eAAe,gBACdgB,yBAAAA,cAAAA,CAACwD,2BAADxD;AAAeyD,IAAAA,OAAO,EAAE1E,OAAO,CAAC2E;AAAQrF,IAAAA,OAAO,EAAED;AAAaE,IAAAA,QAAQ,EAAEA;GAAxE0B,CADc,GAEZ,IArCNA;AAnL4B,CAAV/B;;AAyPxB,IAAI0F,WAAJ,EAAa;AACX3F,EAAAA,QAAQ,CAAC4F,WAAT5F,GAAuB,UAAvBA;;;"}
@@ -0,0 +1,222 @@
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 _regeneratorRuntime = require('@babel/runtime/regenerator');
19
+
20
+ var tslib = require('tslib');
21
+
22
+ var React = require('react');
23
+
24
+ var classname = require('@hi-ui/classname');
25
+
26
+ var env = require('@hi-ui/env');
27
+
28
+ var icons = require('@hi-ui/icons');
29
+
30
+ var iconButton = require('@hi-ui/icon-button');
31
+
32
+ var useToggle = require('@hi-ui/use-toggle');
33
+
34
+ var useLatest = require('@hi-ui/use-latest');
35
+
36
+ var localeContext = require('@hi-ui/locale-context');
37
+
38
+ var index$1 = require('./utils/func-utils/lib/esm/index.js');
39
+
40
+ var index = require('./hooks/use-drag-sorter/lib/esm/index.js');
41
+
42
+ var drawer = require('@hi-ui/drawer');
43
+
44
+ var button = require('@hi-ui/button');
45
+
46
+ var Checkbox = require('@hi-ui/checkbox');
47
+
48
+ function _interopDefaultLegacy(e) {
49
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
50
+ 'default': e
51
+ };
52
+ }
53
+
54
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
55
+
56
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
57
+
58
+ var _prefix = classname.getPrefixCls('table-setting');
59
+ /**
60
+ * 表头右侧高级设置菜单(抽屉式)
61
+ */
62
+
63
+
64
+ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
65
+ var _ref$prefixCls = _ref.prefixCls,
66
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
67
+ sortedCols = _ref.sortedCols,
68
+ setSortCols = _ref.setSortCols,
69
+ cacheSortedCols = _ref.cacheSortedCols,
70
+ setCacheSortedCols = _ref.setCacheSortedCols,
71
+ hiddenColKeys = _ref.hiddenColKeys,
72
+ setHiddenColKeys = _ref.setHiddenColKeys,
73
+ cacheHiddenColKeys = _ref.cacheHiddenColKeys,
74
+ setCacheHiddenColKeys = _ref.setCacheHiddenColKeys;
75
+ var i18n = localeContext.useLocaleContext();
76
+ var dropProps = index.useDrop({
77
+ draggable: true,
78
+ idFieldName: 'dataKey',
79
+ onSwap: function onSwap(dragItem, dropItem, direction, info) {
80
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
81
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
82
+ while (1) {
83
+ switch (_context.prev = _context.next) {
84
+ case 0:
85
+ setCacheSortedCols(function (prev) {
86
+ var nextCacheSortColKeys = [].concat(prev);
87
+
88
+ var _nextCacheSortColKeys = nextCacheSortColKeys.splice(info.dragIndex, 1),
89
+ removed = _nextCacheSortColKeys[0];
90
+
91
+ nextCacheSortColKeys.splice(info.dropIndex, 0, removed);
92
+ return nextCacheSortColKeys;
93
+ });
94
+ return _context.abrupt("return", true);
95
+
96
+ case 2:
97
+ case "end":
98
+ return _context.stop();
99
+ }
100
+ }
101
+ }, _callee);
102
+ }));
103
+ }
104
+ });
105
+
106
+ var _useToggle = useToggle.useToggle(),
107
+ menuVisible = _useToggle[0],
108
+ menuVisibleAction = _useToggle[1];
109
+
110
+ var resetLatest = useLatest.useLatestCallback(function () {
111
+ setCacheHiddenColKeys(hiddenColKeys);
112
+ setCacheSortedCols(sortedCols);
113
+ }); // 当 visible 由 false 变为 true 时触发
114
+
115
+ var prevShowPopperRef = React.useRef(!menuVisible);
116
+ React.useEffect(function () {
117
+ if (!prevShowPopperRef.current && menuVisible) {
118
+ resetLatest();
119
+ }
120
+
121
+ prevShowPopperRef.current = menuVisible;
122
+ }, [menuVisible, resetLatest]);
123
+
124
+ var onConfirm = function onConfirm() {
125
+ // 触发 table 更新列显隐及排序
126
+ setHiddenColKeys(cacheHiddenColKeys);
127
+ setSortCols(cacheSortedCols);
128
+ menuVisibleAction.off();
129
+ };
130
+
131
+ var cls = classname.cx(prefixCls);
132
+ return /*#__PURE__*/React__default['default'].createElement("div", {
133
+ ref: ref,
134
+ className: cls
135
+ }, /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
136
+ icon: /*#__PURE__*/React__default['default'].createElement(icons.SettingOutlined, null),
137
+ onClick: menuVisibleAction.not
138
+ }), /*#__PURE__*/React__default['default'].createElement(drawer.Drawer, {
139
+ className: prefixCls + "__drawer",
140
+ title: i18n.get('table.fieldExplorer'),
141
+ visible: menuVisible,
142
+ onClose: menuVisibleAction.off,
143
+ footer: /*#__PURE__*/React__default['default'].createElement("div", {
144
+ className: prefixCls + "__btn-group"
145
+ }, /*#__PURE__*/React__default['default'].createElement(button.Button, {
146
+ key: 0,
147
+ className: prefixCls + "__btn-cancel",
148
+ onClick: resetLatest
149
+ }, i18n.get('table.reset')), /*#__PURE__*/React__default['default'].createElement(button.Button, {
150
+ key: 1,
151
+ className: prefixCls + "__btn-confirm",
152
+ onClick: onConfirm,
153
+ type: "primary"
154
+ }, i18n.get('table.confirm')))
155
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
156
+ className: prefixCls + "__content"
157
+ }, cacheSortedCols.map(function (col, index) {
158
+ return /*#__PURE__*/React__default['default'].createElement(TableSettingMenuItem, {
159
+ key: col.dataKey,
160
+ prefixCls: prefixCls,
161
+ column: col,
162
+ index: index,
163
+ dropProps: dropProps,
164
+ cacheHiddenColKeys: cacheHiddenColKeys,
165
+ setCacheHiddenColKeys: setCacheHiddenColKeys
166
+ });
167
+ }))));
168
+ });
169
+
170
+ if (env.__DEV__) {
171
+ TableSettingMenu.displayName = 'TableSettingMenu';
172
+ }
173
+
174
+ function TableSettingMenuItem(_ref2) {
175
+ var prefixCls = _ref2.prefixCls,
176
+ column = _ref2.column,
177
+ cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
178
+ setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
179
+ dropProps = _ref2.dropProps,
180
+ index$2 = _ref2.index;
181
+ var dataKey = column.dataKey,
182
+ title = column.title;
183
+
184
+ var _useDrag = index.useDrag(Object.assign(Object.assign({}, dropProps), {
185
+ item: column,
186
+ index: index$2,
187
+ idFieldName: 'dataKey',
188
+ dataTransferKey: 'table-setting-data'
189
+ })),
190
+ dragging = _useDrag.dragging,
191
+ direction = _useDrag.direction,
192
+ getDragTriggerProps = _useDrag.getDragTriggerProps,
193
+ getDropTriggerProps = _useDrag.getDropTriggerProps;
194
+
195
+ return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
196
+ className: classname.cx(prefixCls + "-item", dragging && prefixCls + "-item--dragging", direction && prefixCls + "-item--direction-" + direction)
197
+ }, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React__default['default'].createElement("div", {
198
+ className: prefixCls + "-item__wrap"
199
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
200
+ style: {
201
+ display: 'flex',
202
+ alignItems: 'center'
203
+ }
204
+ }, /*#__PURE__*/React__default['default'].createElement(Checkbox.Checkbox, {
205
+ checked: !cacheHiddenColKeys.includes(dataKey),
206
+ onChange: function onChange(evt) {
207
+ var shouldChecked = evt.target.checked;
208
+ var nextCacheHiddenColKeys = shouldChecked ? cacheHiddenColKeys.filter(function (col) {
209
+ return col !== dataKey;
210
+ }) : cacheHiddenColKeys.concat(dataKey);
211
+ setCacheHiddenColKeys(nextCacheHiddenColKeys);
212
+ }
213
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
214
+ style: {
215
+ display: 'inline-block',
216
+ marginLeft: 9
217
+ }
218
+ }, index$1.runIfFunc(title))), /*#__PURE__*/React__default['default'].createElement(icons.MenuOutlined, null)));
219
+ }
220
+
221
+ exports.TableSettingMenu = TableSettingMenu;
222
+ //# sourceMappingURL=TableSettingMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSettingMenu.js","sources":["../../src/TableSettingMenu.tsx"],"sourcesContent":[null],"names":["_prefix","getPrefixCls","TableSettingMenu","forwardRef","ref","prefixCls","sortedCols","setSortCols","cacheSortedCols","setCacheSortedCols","hiddenColKeys","setHiddenColKeys","cacheHiddenColKeys","setCacheHiddenColKeys","i18n","useLocaleContext","dropProps","useDrop","draggable","idFieldName","onSwap","dragItem","dropItem","direction","info","prev","nextCacheSortColKeys","splice","dragIndex","removed","dropIndex","useToggle","menuVisible","menuVisibleAction","resetLatest","useLatestCallback","prevShowPopperRef","useRef","useEffect","current","onConfirm","off","cls","cx","React","className","IconButton","icon","SettingOutlined","onClick","not","Drawer","title","get","visible","onClose","footer","Button","key","type","map","col","index","TableSettingMenuItem","dataKey","column","__DEV__","displayName","useDrag","item","dataTransferKey","dragging","getDragTriggerProps","getDropTriggerProps","style","display","alignItems","Checkbox","checked","includes","onChange","evt","shouldChecked","target","nextCacheHiddenColKeys","filter","concat","marginLeft","runIfFunc","MenuOutlined"],"mappings":"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"}
@@ -0,0 +1,33 @@
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
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+
16
+ var React = require('react');
17
+
18
+ var TableContext = /*#__PURE__*/React.createContext(null);
19
+ var TableProvider = TableContext.Provider;
20
+
21
+ var useTableContext = function useTableContext() {
22
+ var context = React.useContext(TableContext);
23
+
24
+ if (!context) {
25
+ throw new Error('The TableContext context should using in Table.');
26
+ }
27
+
28
+ return context;
29
+ };
30
+
31
+ exports.TableProvider = TableProvider;
32
+ exports.useTableContext = useTableContext;
33
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../src/context.ts"],"sourcesContent":[null],"names":["TableContext","createContext","TableProvider","Provider","useTableContext","context","useContext","Error"],"mappings":";;;;;;;;;;;;;;;;;AAMA,IAAMA,YAAY,gBAAGC,mBAAAA,CAUnB,IAVmBA,CAArB;IAYaC,aAAa,GAAGF,YAAY,CAACG;;IAE7BC,eAAe,GAAG,SAAlBA,eAAkB;MACvBC,OAAO,GAAGC,gBAAAA,CAAWN,YAAXM;;MAEZ,CAACD,SAAS;UACN,IAAIE,KAAJ,CAAU,iDAAV;;;SAGDF;;;;"}
@@ -0,0 +1,145 @@
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 _regeneratorRuntime = require('@babel/runtime/regenerator');
19
+
20
+ var tslib = require('tslib');
21
+
22
+ var React = require('react');
23
+
24
+ var useLatest = require('@hi-ui/use-latest');
25
+
26
+ var treeUtils = require('@hi-ui/tree-utils');
27
+
28
+ var useCheckState = require('@hi-ui/use-check-state');
29
+
30
+ function _interopDefaultLegacy(e) {
31
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
32
+ 'default': e
33
+ };
34
+ }
35
+
36
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
37
+
38
+ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadChildren) {
39
+ var onLoadChildrenLatest = useLatest.useLatestCallback(onLoadChildren); // 加载节点
40
+
41
+ var loadChildren = React.useCallback(function (node) {
42
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
43
+ var childrenNodes;
44
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _context.next = 2;
49
+ return onLoadChildrenLatest(node);
50
+
51
+ case 2:
52
+ childrenNodes = _context.sent;
53
+
54
+ if (Array.isArray(childrenNodes)) {
55
+ setCascaderData(function (prev) {
56
+ var nextTreeData = treeUtils.cloneTree(prev);
57
+ treeUtils.addChildrenById(nextTreeData, node.id, childrenNodes);
58
+ return nextTreeData;
59
+ });
60
+ }
61
+
62
+ case 4:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }
67
+ }, _callee);
68
+ }));
69
+ }, [onLoadChildrenLatest, setCascaderData]);
70
+
71
+ var _useCheckState = useCheckState.useCheckState(),
72
+ loadingIds = _useCheckState.state,
73
+ addLoadingIds = _useCheckState.add,
74
+ removeLoadingIds = _useCheckState.remove;
75
+
76
+ var onExpandLatest = useLatest.useLatestCallback(onExpand);
77
+ var onNodeSwitch = React.useCallback(function (node, onlyExpand) {
78
+ if (onlyExpand === void 0) {
79
+ onlyExpand = false;
80
+ }
81
+
82
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
83
+ var id, children, isLeaf;
84
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
85
+ while (1) {
86
+ switch (_context2.prev = _context2.next) {
87
+ case 0:
88
+ // 直接触发选中该节点
89
+ onExpandLatest(node, onlyExpand);
90
+ id = node.id, children = node.children, isLeaf = node.isLeaf;
91
+
92
+ if (!children) {
93
+ _context2.next = 4;
94
+ break;
95
+ }
96
+
97
+ return _context2.abrupt("return");
98
+
99
+ case 4:
100
+ if (!isLeaf) {
101
+ _context2.next = 6;
102
+ break;
103
+ }
104
+
105
+ return _context2.abrupt("return");
106
+
107
+ case 6:
108
+ if (!onLoadChildren) {
109
+ _context2.next = 17;
110
+ break;
111
+ }
112
+
113
+ addLoadingIds(id);
114
+ _context2.prev = 8;
115
+ _context2.next = 11;
116
+ return loadChildren(node);
117
+
118
+ case 11:
119
+ removeLoadingIds(id);
120
+ _context2.next = 17;
121
+ break;
122
+
123
+ case 14:
124
+ _context2.prev = 14;
125
+ _context2.t0 = _context2["catch"](8);
126
+ removeLoadingIds(id);
127
+
128
+ case 17:
129
+ case "end":
130
+ return _context2.stop();
131
+ }
132
+ }
133
+ }, _callee2, null, [[8, 14]]);
134
+ }));
135
+ }, [loadChildren, onLoadChildren, onExpandLatest, addLoadingIds, removeLoadingIds]);
136
+
137
+ var isLoadingId = function isLoadingId(id) {
138
+ return loadingIds.indexOf(id) !== -1;
139
+ };
140
+
141
+ return [isLoadingId, onNodeSwitch];
142
+ };
143
+
144
+ exports.useAsyncSwitch = useAsyncSwitch;
145
+ //# sourceMappingURL=use-async-switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-async-switch.js","sources":["../../../src/hooks/use-async-switch.ts"],"sourcesContent":[null],"names":["useAsyncSwitch","setCascaderData","onExpand","onLoadChildren","onLoadChildrenLatest","useLatestCallback","loadChildren","useCallback","node","childrenNodes","Array","isArray","prev","nextTreeData","cloneTree","addChildrenById","id","useCheckState","loadingIds","state","addLoadingIds","add","removeLoadingIds","remove","onExpandLatest","onNodeSwitch","onlyExpand","children","isLeaf","isLoadingId","indexOf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,eAD4B,EAE5BC,QAF4B,EAG5BC,cAH4B;MAKtBC,oBAAoB,GAAGC,2BAAAA,CAAkBF,cAAlBE;;MAGvBC,YAAY,GAAGC,iBAAAA,CACnB,UAAOC,IAAP;;;;;;;;qBAC8BJ,oBAAoB,CAACI,IAAD;;;AAA1CC,cAAAA,6BAAAA;;kBAEFC,KAAK,CAACC,OAAND,CAAcD,aAAdC,GAA8B;AAChCT,gBAAAA,eAAe,CAAC,UAACW,IAAD;sBACRC,YAAY,GAAGC,mBAAAA,CAAUF,IAAVE;AACrBC,kBAAAA,yBAAAA,CAAgBF,YAAhBE,EAA8BP,IAAI,CAACQ,EAAnCD,EAAuCN,aAAvCM;yBACOF;AAHM,iBAAA,CAAfZ;;;;;;;;;;AAL0B,GAAXM,EAYnB,CAACH,oBAAD,EAAuBH,eAAvB,CAZmBM;;uBAeuDU,2BAAAA;MAA7DC,UAAf,kBAAQC;MAAwBC,aAAhC,kBAA2BC;MAA4BC,gBAAvD,kBAA+CC;;MAGzCC,cAAc,GAAGnB,2BAAAA,CAAkBH,QAAlBG;MAEjBoB,YAAY,GAAGlB,iBAAAA,CACnB,UAAOC,IAAP,EAAgCkB,UAAhC;QAAgCA,UAAhC;AAAgCA,MAAAA,UAAhC,GAA6C,KAAbA;;;;;;;;;;AAE9BF,cAAAA,cAAc,CAAChB,IAAD,EAAOkB,UAAP,CAAdF;AAEQR,cAAAA,KAAyBR,KAAzBQ,EAAAA,EAAIW,WAAqBnB,KAArBmB,QAAJX,EAAcY,SAAWpB,KAAXoB,MAAdZ;;mBAEJW;;;;;;;;mBAIAC;;;;;;;;mBAIAzB;;;;;AACFiB,cAAAA,aAAa,CAACJ,EAAD,CAAbI;;;qBAEQd,YAAY,CAACE,IAAD;;;AAClBc,cAAAA,gBAAgB,CAACN,EAAD,CAAhBM;;;;;;;AAEAA,cAAAA,gBAAgB,CAACN,EAAD,CAAhBM;;;;;;;;;AArBwB,GAAXf,EAyBnB,CAACD,YAAD,EAAeH,cAAf,EAA+BqB,cAA/B,EAA+CJ,aAA/C,EAA8DE,gBAA9D,CAzBmBf;;MA4BfsB,WAAW,GAAG,SAAdA,WAAc,CAACb,EAAD;WAAyBE,UAAU,CAACY,OAAXZ,CAAmBF,EAAnBE,MAA2B,CAAC;AAAzE;;SAEO,CAACW,WAAD,EAAcJ,YAAd;;;"}