@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,287 @@
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 typeAssertion = require('@hi-ui/type-assertion');
27
+
28
+ function _interopDefaultLegacy(e) {
29
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
30
+ 'default': e
31
+ };
32
+ }
33
+
34
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
35
+ /** @LICENSE
36
+ * @hi-ui/use-drag-sorter
37
+ * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-drag-sorter#readme
38
+ *
39
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
40
+ *
41
+ * This source code is licensed under the MIT license found in the
42
+ * LICENSE file in the root directory of this source tree.
43
+ */
44
+
45
+
46
+ var useDrop = function useDrop(_ref) {
47
+ var draggable = _ref.draggable,
48
+ onDropEnd = _ref.onDropEnd,
49
+ onSwapProp = _ref.onSwap,
50
+ _ref$idFieldName = _ref.idFieldName,
51
+ idFieldName = _ref$idFieldName === void 0 ? 'id' : _ref$idFieldName;
52
+ var dragInfoRef = React.useRef(null);
53
+ var onDropEndLatest = useLatest.useLatestCallback(onDropEnd);
54
+ var swapLatest = useLatest.useLatestCallback(onSwapProp);
55
+ var onSwap = React.useCallback(function (sourceId, targetId, dragDirection) {
56
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
57
+ var info, dragItem, dropItem, result;
58
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
59
+ while (1) {
60
+ switch (_context.prev = _context.next) {
61
+ case 0:
62
+ if (draggable) {
63
+ _context.next = 2;
64
+ break;
65
+ }
66
+
67
+ return _context.abrupt("return");
68
+
69
+ case 2:
70
+ if (!(targetId === sourceId)) {
71
+ _context.next = 4;
72
+ break;
73
+ }
74
+
75
+ return _context.abrupt("return");
76
+
77
+ case 4:
78
+ if (dragInfoRef.current) {
79
+ _context.next = 6;
80
+ break;
81
+ }
82
+
83
+ return _context.abrupt("return");
84
+
85
+ case 6:
86
+ // TODO: 根据 id 查询数据原始数据或者直接使用引用值,两者选择,避免bug
87
+ info = dragInfoRef.current;
88
+ dragInfoRef.current = null;
89
+ dragItem = info.dragItem, dropItem = info.dropItem;
90
+
91
+ if (!(!dragItem || !dropItem)) {
92
+ _context.next = 11;
93
+ break;
94
+ }
95
+
96
+ return _context.abrupt("return");
97
+
98
+ case 11:
99
+ if (!(dragItem[idFieldName] !== sourceId || targetId !== dropItem[idFieldName])) {
100
+ _context.next = 13;
101
+ break;
102
+ }
103
+
104
+ return _context.abrupt("return");
105
+
106
+ case 13:
107
+ _context.next = 15;
108
+ return swapLatest(dragItem, dropItem, dragDirection, info);
109
+
110
+ case 15:
111
+ result = _context.sent;
112
+
113
+ if (result === true) {
114
+ onDropEndLatest(dragItem, dropItem, dragDirection);
115
+ }
116
+
117
+ case 17:
118
+ case "end":
119
+ return _context.stop();
120
+ }
121
+ }
122
+ }, _callee);
123
+ }));
124
+ }, [draggable, onDropEndLatest, idFieldName, swapLatest]);
125
+ return {
126
+ draggable: draggable,
127
+ dragInfoRef: dragInfoRef,
128
+ onSwap: onSwap
129
+ };
130
+ };
131
+ /**
132
+ * TODO: What is UseDrag
133
+ */
134
+
135
+
136
+ var useDrag = function useDrag(_ref2) {
137
+ var draggable = _ref2.draggable,
138
+ dragInfoRef = _ref2.dragInfoRef,
139
+ onHover = _ref2.onHover,
140
+ item = _ref2.item,
141
+ index = _ref2.index,
142
+ _ref2$idFieldName = _ref2.idFieldName,
143
+ idFieldName = _ref2$idFieldName === void 0 ? 'id' : _ref2$idFieldName,
144
+ _ref2$dataTransferKey = _ref2.dataTransferKey,
145
+ dataTransferKey = _ref2$dataTransferKey === void 0 ? 'data' : _ref2$dataTransferKey,
146
+ onDragStartProp = _ref2.onDragStart,
147
+ onDragOverProp = _ref2.onDragOver,
148
+ onDragLeaveProp = _ref2.onDragLeave,
149
+ onDragEndProp = _ref2.onDragEnd,
150
+ onDropProp = _ref2.onDrop,
151
+ onSwapProp = _ref2.onSwap;
152
+
153
+ var _useState = React.useState(false),
154
+ dragging = _useState[0],
155
+ setDragging = _useState[1];
156
+
157
+ var _useState2 = React.useState(),
158
+ dragDirection = _useState2[0],
159
+ setDragDirection = _useState2[1];
160
+
161
+ var onDragStartPropLatest = useLatest.useLatestCallback(onDragStartProp);
162
+ var itemLatestRef = useLatest.useLatestRef(item);
163
+ var onDragStart = React.useCallback(function (evt) {
164
+ if (!draggable) return;
165
+ evt.stopPropagation();
166
+ var item = itemLatestRef.current;
167
+ var clientY = evt.clientY;
168
+ var dragId = item[idFieldName];
169
+ dragInfoRef.current = {
170
+ startClientY: clientY,
171
+ dragId: dragId,
172
+ dragItem: item,
173
+ dragIndex: index
174
+ };
175
+ setDragging(true);
176
+ evt.dataTransfer.setData(dataTransferKey, JSON.stringify({
177
+ sourceId: dragId
178
+ }));
179
+ onDragStartPropLatest(evt, item);
180
+ }, [draggable, onDragStartPropLatest, idFieldName, dataTransferKey, itemLatestRef, dragInfoRef, index]);
181
+ var hoverLatestRef = useLatest.useLatestRef(onHover);
182
+ var onDragOverPropLatest = useLatest.useLatestCallback(onDragOverProp);
183
+ var onDragOver = React.useCallback(function (evt) {
184
+ if (!draggable) return;
185
+ evt.preventDefault();
186
+ evt.stopPropagation();
187
+ if (!dragInfoRef.current) return;
188
+ var item = itemLatestRef.current;
189
+ var _dragInfoRef$current = dragInfoRef.current,
190
+ startClientY = _dragInfoRef$current.startClientY,
191
+ dragId = _dragInfoRef$current.dragId;
192
+ if (dragId === item[idFieldName]) return;
193
+ var nextDirection;
194
+
195
+ if (typeAssertion.isFunction(hoverLatestRef.current)) {
196
+ nextDirection = hoverLatestRef.current(evt, item, dragInfoRef.current);
197
+ } else {
198
+ var hoverClientY = evt.clientY;
199
+ nextDirection = hoverClientY < startClientY ? UseDropNodeDirection.BEFORE : UseDropNodeDirection.AFTER;
200
+ }
201
+
202
+ setDragDirection(nextDirection);
203
+ onDragOverPropLatest(evt, item);
204
+ }, [draggable, onDragOverPropLatest, idFieldName, hoverLatestRef, dragInfoRef, itemLatestRef]);
205
+ var onDragLeavePropLatest = useLatest.useLatestCallback(onDragLeaveProp);
206
+ var onDragLeave = React.useCallback(function (evt) {
207
+ if (!draggable) return;
208
+ evt.preventDefault();
209
+ evt.stopPropagation();
210
+ var item = itemLatestRef.current;
211
+ setDragDirection(undefined);
212
+ onDragLeavePropLatest(evt, item);
213
+ }, [draggable, onDragLeavePropLatest, itemLatestRef]);
214
+ var onDragEndPropLatest = useLatest.useLatestCallback(onDragEndProp);
215
+ var onDragEnd = React.useCallback(function (evt) {
216
+ if (!draggable) return;
217
+ evt.preventDefault();
218
+ evt.stopPropagation();
219
+ var item = itemLatestRef.current;
220
+ evt.dataTransfer.clearData();
221
+ dragInfoRef.current = null;
222
+ setDragDirection(undefined);
223
+ setDragging(false);
224
+ onDragEndPropLatest(evt, item);
225
+ }, [draggable, dragInfoRef, onDragEndPropLatest, itemLatestRef]);
226
+ var onDropPropLatest = useLatest.useLatestCallback(onDropProp);
227
+ var onSwapPropLatest = useLatest.useLatestCallback(onSwapProp); // 放置目标元素时触发事件
228
+
229
+ var onDrop = React.useCallback(function (evt) {
230
+ if (!draggable) return;
231
+ if (!dragInfoRef.current) return;
232
+ var item = itemLatestRef.current;
233
+ var dragId = dragInfoRef.current.dragId;
234
+ evt.preventDefault();
235
+ evt.stopPropagation();
236
+ setDragDirection(undefined); // dragInfoRef.current = null
237
+
238
+ dragInfoRef.current.dropItem = item;
239
+ dragInfoRef.current.dropIndex = index;
240
+ var targetId = item[idFieldName];
241
+ if (dragId === targetId) return;
242
+
243
+ try {
244
+ var _JSON$parse = JSON.parse(evt.dataTransfer.getData(dataTransferKey)),
245
+ sourceId = _JSON$parse.sourceId;
246
+
247
+ onSwapPropLatest(sourceId, targetId, dragDirection);
248
+ } catch (error) {
249
+ console.error(error);
250
+ }
251
+
252
+ onDropPropLatest(evt, item);
253
+ }, [draggable, dragInfoRef, idFieldName, onDropPropLatest, dragDirection, dataTransferKey, onSwapPropLatest, itemLatestRef, index]);
254
+ var getDragTriggerProps = React.useCallback(function () {
255
+ return {
256
+ draggable: draggable,
257
+ 'data-dragging': dragging,
258
+ onDragStart: onDragStart,
259
+ onDragLeave: onDragLeave,
260
+ onDragEnd: onDragEnd
261
+ };
262
+ }, [draggable, onDragStart, onDragLeave, onDragEnd, dragging]);
263
+ var getDropTriggerProps = React.useCallback(function () {
264
+ return {
265
+ 'data-drop-direction': dragDirection,
266
+ onDrop: onDrop,
267
+ onDragOver: onDragOver
268
+ };
269
+ }, [onDrop, onDragOver, dragDirection]);
270
+ return {
271
+ dragging: dragging,
272
+ direction: dragDirection,
273
+ getDragTriggerProps: getDragTriggerProps,
274
+ getDropTriggerProps: getDropTriggerProps
275
+ };
276
+ }; // 表示拖拽放置位置
277
+
278
+
279
+ var UseDropNodeDirection = {
280
+ BEFORE: 'before',
281
+ INSIDE: 'inside',
282
+ AFTER: 'after'
283
+ };
284
+ exports.UseDropNodeDirection = UseDropNodeDirection;
285
+ exports.useDrag = useDrag;
286
+ exports.useDrop = useDrop;
287
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../hooks/use-drag-sorter/lib/esm/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/use-drag-sorter\n * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-drag-sorter#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport _regeneratorRuntime from '@babel/runtime/regenerator';\nimport { __awaiter } from 'tslib';\nimport { useRef, useCallback, useState } from 'react';\nimport { useLatestCallback, useLatestRef } from '@hi-ui/use-latest';\nimport { isFunction } from '@hi-ui/type-assertion';\n\nvar useDrop = function useDrop(_ref) {\n var draggable = _ref.draggable,\n onDropEnd = _ref.onDropEnd,\n onSwapProp = _ref.onSwap,\n _ref$idFieldName = _ref.idFieldName,\n idFieldName = _ref$idFieldName === void 0 ? 'id' : _ref$idFieldName;\n var dragInfoRef = useRef(null);\n var onDropEndLatest = useLatestCallback(onDropEnd);\n var swapLatest = useLatestCallback(onSwapProp);\n var onSwap = useCallback(function (sourceId, targetId, dragDirection) {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var info, dragItem, dropItem, result;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (draggable) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (!(targetId === sourceId)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n if (dragInfoRef.current) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 6:\n // TODO: 根据 id 查询数据原始数据或者直接使用引用值,两者选择,避免bug\n info = dragInfoRef.current;\n dragInfoRef.current = null;\n dragItem = info.dragItem, dropItem = info.dropItem;\n\n if (!(!dragItem || !dropItem)) {\n _context.next = 11;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 11:\n if (!(dragItem[idFieldName] !== sourceId || targetId !== dropItem[idFieldName])) {\n _context.next = 13;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 13:\n _context.next = 15;\n return swapLatest(dragItem, dropItem, dragDirection, info);\n\n case 15:\n result = _context.sent;\n\n if (result === true) {\n onDropEndLatest(dragItem, dropItem, dragDirection);\n }\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n }, [draggable, onDropEndLatest, idFieldName, swapLatest]);\n return {\n draggable: draggable,\n dragInfoRef: dragInfoRef,\n onSwap: onSwap\n };\n};\n/**\n * TODO: What is UseDrag\n */\n\n\nvar useDrag = function useDrag(_ref2) {\n var draggable = _ref2.draggable,\n dragInfoRef = _ref2.dragInfoRef,\n onHover = _ref2.onHover,\n item = _ref2.item,\n index = _ref2.index,\n _ref2$idFieldName = _ref2.idFieldName,\n idFieldName = _ref2$idFieldName === void 0 ? 'id' : _ref2$idFieldName,\n _ref2$dataTransferKey = _ref2.dataTransferKey,\n dataTransferKey = _ref2$dataTransferKey === void 0 ? 'data' : _ref2$dataTransferKey,\n onDragStartProp = _ref2.onDragStart,\n onDragOverProp = _ref2.onDragOver,\n onDragLeaveProp = _ref2.onDragLeave,\n onDragEndProp = _ref2.onDragEnd,\n onDropProp = _ref2.onDrop,\n onSwapProp = _ref2.onSwap;\n\n var _useState = useState(false),\n dragging = _useState[0],\n setDragging = _useState[1];\n\n var _useState2 = useState(),\n dragDirection = _useState2[0],\n setDragDirection = _useState2[1];\n\n var onDragStartPropLatest = useLatestCallback(onDragStartProp);\n var itemLatestRef = useLatestRef(item);\n var onDragStart = useCallback(function (evt) {\n if (!draggable) return;\n evt.stopPropagation();\n var item = itemLatestRef.current;\n var clientY = evt.clientY;\n var dragId = item[idFieldName];\n dragInfoRef.current = {\n startClientY: clientY,\n dragId: dragId,\n dragItem: item,\n dragIndex: index\n };\n setDragging(true);\n evt.dataTransfer.setData(dataTransferKey, JSON.stringify({\n sourceId: dragId\n }));\n onDragStartPropLatest(evt, item);\n }, [draggable, onDragStartPropLatest, idFieldName, dataTransferKey, itemLatestRef, dragInfoRef, index]);\n var hoverLatestRef = useLatestRef(onHover);\n var onDragOverPropLatest = useLatestCallback(onDragOverProp);\n var onDragOver = useCallback(function (evt) {\n if (!draggable) return;\n evt.preventDefault();\n evt.stopPropagation();\n if (!dragInfoRef.current) return;\n var item = itemLatestRef.current;\n var _dragInfoRef$current = dragInfoRef.current,\n startClientY = _dragInfoRef$current.startClientY,\n dragId = _dragInfoRef$current.dragId;\n if (dragId === item[idFieldName]) return;\n var nextDirection;\n\n if (isFunction(hoverLatestRef.current)) {\n nextDirection = hoverLatestRef.current(evt, item, dragInfoRef.current);\n } else {\n var hoverClientY = evt.clientY;\n nextDirection = hoverClientY < startClientY ? UseDropNodeDirection.BEFORE : UseDropNodeDirection.AFTER;\n }\n\n setDragDirection(nextDirection);\n onDragOverPropLatest(evt, item);\n }, [draggable, onDragOverPropLatest, idFieldName, hoverLatestRef, dragInfoRef, itemLatestRef]);\n var onDragLeavePropLatest = useLatestCallback(onDragLeaveProp);\n var onDragLeave = useCallback(function (evt) {\n if (!draggable) return;\n evt.preventDefault();\n evt.stopPropagation();\n var item = itemLatestRef.current;\n setDragDirection(undefined);\n onDragLeavePropLatest(evt, item);\n }, [draggable, onDragLeavePropLatest, itemLatestRef]);\n var onDragEndPropLatest = useLatestCallback(onDragEndProp);\n var onDragEnd = useCallback(function (evt) {\n if (!draggable) return;\n evt.preventDefault();\n evt.stopPropagation();\n var item = itemLatestRef.current;\n evt.dataTransfer.clearData();\n dragInfoRef.current = null;\n setDragDirection(undefined);\n setDragging(false);\n onDragEndPropLatest(evt, item);\n }, [draggable, dragInfoRef, onDragEndPropLatest, itemLatestRef]);\n var onDropPropLatest = useLatestCallback(onDropProp);\n var onSwapPropLatest = useLatestCallback(onSwapProp); // 放置目标元素时触发事件\n\n var onDrop = useCallback(function (evt) {\n if (!draggable) return;\n if (!dragInfoRef.current) return;\n var item = itemLatestRef.current;\n var dragId = dragInfoRef.current.dragId;\n evt.preventDefault();\n evt.stopPropagation();\n setDragDirection(undefined); // dragInfoRef.current = null\n\n dragInfoRef.current.dropItem = item;\n dragInfoRef.current.dropIndex = index;\n var targetId = item[idFieldName];\n if (dragId === targetId) return;\n\n try {\n var _JSON$parse = JSON.parse(evt.dataTransfer.getData(dataTransferKey)),\n sourceId = _JSON$parse.sourceId;\n\n onSwapPropLatest(sourceId, targetId, dragDirection);\n } catch (error) {\n console.error(error);\n }\n\n onDropPropLatest(evt, item);\n }, [draggable, dragInfoRef, idFieldName, onDropPropLatest, dragDirection, dataTransferKey, onSwapPropLatest, itemLatestRef, index]);\n var getDragTriggerProps = useCallback(function () {\n return {\n draggable: draggable,\n 'data-dragging': dragging,\n onDragStart: onDragStart,\n onDragLeave: onDragLeave,\n onDragEnd: onDragEnd\n };\n }, [draggable, onDragStart, onDragLeave, onDragEnd, dragging]);\n var getDropTriggerProps = useCallback(function () {\n return {\n 'data-drop-direction': dragDirection,\n onDrop: onDrop,\n onDragOver: onDragOver\n };\n }, [onDrop, onDragOver, dragDirection]);\n return {\n dragging: dragging,\n direction: dragDirection,\n getDragTriggerProps: getDragTriggerProps,\n getDropTriggerProps: getDropTriggerProps\n };\n}; // 表示拖拽放置位置\n\n\nvar UseDropNodeDirection = {\n BEFORE: 'before',\n INSIDE: 'inside',\n AFTER: 'after'\n};\nexport { UseDropNodeDirection, useDrag, useDrop };\n//# sourceMappingURL=index.js.map\n"],"names":["useDrop","_ref","draggable","onDropEnd","onSwapProp","onSwap","idFieldName","_ref$idFieldName","dragInfoRef","useRef","onDropEndLatest","useLatestCallback","swapLatest","useCallback","sourceId","targetId","dragDirection","current","info","dragItem","dropItem","result","useDrag","_ref2","onHover","item","index","_ref2$idFieldName","dataTransferKey","_ref2$dataTransferKey","onDragStartProp","onDragStart","onDragOverProp","onDragOver","onDragLeaveProp","onDragLeave","onDragEndProp","onDragEnd","onDropProp","onDrop","useState","dragging","_useState","setDragging","_useState2","setDragDirection","onDragStartPropLatest","itemLatestRef","useLatestRef","evt","clientY","dragId","startClientY","dragIndex","JSON","hoverLatestRef","onDragOverPropLatest","_dragInfoRef$current","nextDirection","isFunction","hoverClientY","UseDropNodeDirection","onDragLeavePropLatest","onDragEndPropLatest","onDropPropLatest","onSwapPropLatest","_JSON$parse","error","console","getDragTriggerProps","getDropTriggerProps","direction","BEFORE","INSIDE","AFTER"],"mappings":"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"}
@@ -0,0 +1,110 @@
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 useLatest = require('@hi-ui/use-latest');
21
+
22
+ var treeUtils = require('@hi-ui/tree-utils');
23
+
24
+ var typeAssertion = require('@hi-ui/type-assertion');
25
+
26
+ function _interopDefaultLegacy(e) {
27
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
28
+ 'default': e
29
+ };
30
+ }
31
+
32
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
+
34
+ var useTableDrag = function useTableDrag(_ref) {
35
+ var cacheData = _ref.cacheData,
36
+ setCacheData = _ref.setCacheData,
37
+ draggable = _ref.draggable,
38
+ onDropEnd = _ref.onDropEnd,
39
+ onDropProp = _ref.onDrop;
40
+ var dragRowRef = React__default['default'].useRef(null);
41
+ var onDropEndLatest = useLatest.useLatestCallback(onDropEnd);
42
+ var onDrop = React.useCallback(function (evt, sourceId, targetId, dragDirection) {
43
+ // console.log(sourceId, targetId, dragDirection)
44
+ if (!draggable) return;
45
+ if (targetId === sourceId) return; // TODO: 根据 id 查询数据原始数据或者直接使用引用值,两者选择,避免bug
46
+ // const { rowData, dropRowData, level } = dragRowRef.current
47
+
48
+ var sourceNode = treeUtils.findNodeById(cacheData, sourceId, {
49
+ idFieldName: 'key'
50
+ });
51
+ var targetNode = treeUtils.findNodeById(cacheData, targetId, {
52
+ idFieldName: 'key'
53
+ });
54
+
55
+ if (!sourceNode || !targetNode) {
56
+ // console.log('未找到任何节点(sourceNode, targetNode)', sourceNode, targetNode)
57
+ return;
58
+ }
59
+
60
+ var nextTreeData = treeUtils.cloneTree(cacheData);
61
+ treeUtils.deleteNodeById(nextTreeData, sourceId, {
62
+ idFieldName: 'key'
63
+ });
64
+ treeUtils.insertNodeById(nextTreeData, targetId, sourceNode, dragDirection === 'top' ? 0 : 1, {
65
+ idFieldName: 'key'
66
+ });
67
+ var resultMaybePromise = typeAssertion.isFunction(onDropProp) ? // TODO: 支持 tree 拖拽层级,第四个参数
68
+ onDropProp(evt, {
69
+ dragNode: sourceNode,
70
+ dropNode: targetNode,
71
+ dataStatus: {
72
+ before: cacheData,
73
+ after: nextTreeData
74
+ }
75
+ }) : true;
76
+
77
+ if (typeAssertion.isPromise(resultMaybePromise)) {
78
+ resultMaybePromise.then(function (returnResult) {
79
+ if (returnResult === true) {
80
+ setCacheData(nextTreeData);
81
+ onDropEndLatest({
82
+ dragNode: sourceNode,
83
+ dropNode: targetNode,
84
+ dataStatus: {
85
+ before: cacheData,
86
+ after: nextTreeData
87
+ }
88
+ });
89
+ }
90
+ });
91
+ } else if (resultMaybePromise === true) {
92
+ setCacheData(nextTreeData);
93
+ onDropEndLatest({
94
+ dragNode: sourceNode,
95
+ dropNode: targetNode,
96
+ dataStatus: {
97
+ before: cacheData,
98
+ after: nextTreeData
99
+ }
100
+ });
101
+ }
102
+ }, [draggable, onDropProp, cacheData, onDropEndLatest, setCacheData]);
103
+ return {
104
+ onDrop: onDrop,
105
+ dragRowRef: dragRowRef
106
+ };
107
+ };
108
+
109
+ exports.useTableDrag = useTableDrag;
110
+ //# sourceMappingURL=use-drag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-drag.js","sources":["../../../src/hooks/use-drag.ts"],"sourcesContent":[null],"names":["useTableDrag","cacheData","setCacheData","draggable","onDropEnd","onDropProp","onDrop","dragRowRef","React","useRef","onDropEndLatest","useLatestCallback","useCallback","evt","sourceId","targetId","dragDirection","sourceNode","findNodeById","idFieldName","targetNode","nextTreeData","cloneTree","deleteNodeById","insertNodeById","resultMaybePromise","isFunction","dragNode","dropNode","dataStatus","before","after","isPromise","then","returnResult"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMaA,YAAY,GAAG,SAAfA,YAAe,KAAA;MAC1BC,iBAAAA;MACAC,oBAAAA;MACAC,iBAAAA;MAEAC,iBAAAA;MACQC,kBAARC;MASMC,UAAU,GAAGC,yBAAAA,CAAMC,MAAND,CAAyB,IAAzBA;MAEbE,eAAe,GAAGC,2BAAAA,CAAkBP,SAAlBO;MAElBL,MAAM,GAAGM,iBAAAA,CACb,UAACC,GAAD,EAAMC,QAAN,EAAgBC,QAAhB,EAA0BC,aAA1B;;QAGM,CAACb,WAAW;QACZY,QAAQ,KAAKD,UAAU;;;QAKrBG,UAAU,GAAGC,sBAAAA,CAAajB,SAAbiB,EAAwBJ,QAAxBI,EAAkC;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAlCD;QACbE,UAAU,GAAGF,sBAAAA,CAAajB,SAAbiB,EAAwBH,QAAxBG,EAAkC;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAlCD;;QAEf,CAACD,UAAD,IAAe,CAACG,YAAY;;;;;QAK1BC,YAAY,GAAGC,mBAAAA,CAAUrB,SAAVqB;AAErBC,IAAAA,wBAAAA,CAAeF,YAAfE,EAA6BT,QAA7BS,EAAuC;AAAEJ,MAAAA,WAAW,EAAE;AAAf,KAAvCI;AACAC,IAAAA,wBAAAA,CAAeH,YAAfG,EAA6BT,QAA7BS,EAAuCP,UAAvCO,EAAmDR,aAAa,KAAK,KAAlBA,GAA0B,CAA1BA,GAA8B,CAAjFQ,EAAoF;AAClFL,MAAAA,WAAW,EAAE;AADqE,KAApFK;QAIMC,kBAAkB,GAAGC,wBAAAA,CAAWrB,UAAXqB;AAEvBrB,IAAAA,UAAU,CAACQ,GAAD,EAAM;AACdc,MAAAA,QAAQ,EAAEV,UADI;AAEdW,MAAAA,QAAQ,EAAER,UAFI;AAGdS,MAAAA,UAAU,EAAE;AAAEC,QAAAA,MAAM,EAAE7B,SAAV;AAAqB8B,QAAAA,KAAK,EAAEV;AAA5B;AAHE,KAAN,CAFaK,GAOvB;;QAEAM,uBAAAA,CAAUP,kBAAVO,GAA+B;AACjCP,MAAAA,kBAAkB,CAACQ,IAAnBR,CAAwB,UAACS,YAAD;YAClBA,YAAY,KAAK,MAAM;AACzBhC,UAAAA,YAAY,CAACmB,YAAD,CAAZnB;AACAQ,UAAAA,eAAe,CAAC;AACdiB,YAAAA,QAAQ,EAAEV,UADI;AAEdW,YAAAA,QAAQ,EAAER,UAFI;AAGdS,YAAAA,UAAU,EAAE;AAAEC,cAAAA,MAAM,EAAE7B,SAAV;AAAqB8B,cAAAA,KAAK,EAAEV;AAA5B;AAHE,WAAD,CAAfX;;AAHJ,OAAAe;AADF,WAWO,IAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AACtCvB,MAAAA,YAAY,CAACmB,YAAD,CAAZnB;AACAQ,MAAAA,eAAe,CAAC;AACdiB,QAAAA,QAAQ,EAAEV,UADI;AAEdW,QAAAA,QAAQ,EAAER,UAFI;AAGdS,QAAAA,UAAU,EAAE;AAAEC,UAAAA,MAAM,EAAE7B,SAAV;AAAqB8B,UAAAA,KAAK,EAAEV;AAA5B;AAHE,OAAD,CAAfX;;AA/CoB,GAAXE,EAsDb,CAACT,SAAD,EAAYE,UAAZ,EAAwBJ,SAAxB,EAAmCS,eAAnC,EAAoDR,YAApD,CAtDaU;SAyDR;AACLN,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,UAAU,EAAVA;AAFK;;;"}
@@ -0,0 +1,185 @@
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 typeAssertion = require('@hi-ui/type-assertion');
25
+
26
+ var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
27
+
28
+ var useCheck = require('@hi-ui/use-check');
29
+
30
+ var useCheckState = require('@hi-ui/use-check-state');
31
+
32
+ function _interopDefaultLegacy(e) {
33
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
34
+ 'default': e
35
+ };
36
+ }
37
+
38
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
39
+
40
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
41
+
42
+ var DEFAULT_EXPAND_EMBED_ROW_KEYS = [];
43
+ /**
44
+ * 行内嵌面板展开
45
+ */
46
+
47
+ var useEmbedExpand = function useEmbedExpand(_ref) {
48
+ var _ref$rowExpandable = _ref.rowExpandable,
49
+ rowExpandable = _ref$rowExpandable === void 0 ? true : _ref$rowExpandable,
50
+ _ref$defaultExpandedE = _ref.defaultExpandedEmbedRowKeys,
51
+ defaultExpandedEmbedRowKeys = _ref$defaultExpandedE === void 0 ? DEFAULT_EXPAND_EMBED_ROW_KEYS : _ref$defaultExpandedE,
52
+ expandEmbedRowKeysProp = _ref.expandedEmbedRowKeys,
53
+ onEmbedExpand = _ref.onEmbedExpand,
54
+ expandedRender = _ref.expandedRender;
55
+ /**
56
+ * 收敛行内嵌面板配置开关
57
+ */
58
+
59
+ var embedExpandable = React.useMemo(function () {
60
+ if (!rowExpandable) return false; // 不传入 render 方法,则不开启内嵌面板
61
+
62
+ if (!typeAssertion.isFunction(expandedRender)) return false;
63
+ return {
64
+ rowExpandable: rowExpandable,
65
+ expandedRender: expandedRender
66
+ };
67
+ }, [rowExpandable, expandedRender]);
68
+ /**
69
+ * 是否展开状态控制
70
+ */
71
+
72
+ var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultExpandedEmbedRowKeys, expandEmbedRowKeysProp, onEmbedExpand),
73
+ expandEmbedRows = _useUncontrolledState[0],
74
+ trySetExpandEmbedRows = _useUncontrolledState[1];
75
+
76
+ var _useCheck = useCheck.useCheck({
77
+ checkedIds: expandEmbedRows,
78
+ onCheck: trySetExpandEmbedRows
79
+ }),
80
+ onExpandEmbedRowsChange = _useCheck[0],
81
+ isExpandEmbedRows = _useCheck[1];
82
+ /**
83
+ * 异步展开中状态控制
84
+ */
85
+
86
+
87
+ var _useCheckState = useCheckState.useCheckState(),
88
+ addLoadingIds = _useCheckState.add,
89
+ removeLoadingIds = _useCheckState.remove,
90
+ isLoadingId = _useCheckState.has;
91
+ /**
92
+ * 内嵌面板数据
93
+ * 结构:{ [id]: 内嵌数据 }
94
+ */
95
+
96
+
97
+ var _React$useState = React__default['default'].useState({}),
98
+ embedPanelRecord = _React$useState[0],
99
+ setEmbedPanelRecord = _React$useState[1];
100
+
101
+ var getEmbedPanelById = React.useCallback(function (id) {
102
+ return embedPanelRecord[id] || null;
103
+ }, [embedPanelRecord]);
104
+ /**
105
+ * 异步展开逻辑处理
106
+ */
107
+
108
+ var onEmbedSwitch = React.useCallback(function (node, rowIndex) {
109
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
110
+ var embedContentMaybePromise;
111
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
112
+ while (1) {
113
+ switch (_context.prev = _context.next) {
114
+ case 0:
115
+ if (embedExpandable) {
116
+ _context.next = 2;
117
+ break;
118
+ }
119
+
120
+ return _context.abrupt("return");
121
+
122
+ case 2:
123
+ embedContentMaybePromise = embedExpandable.expandedRender(node.raw, rowIndex); // TODO: 复用 use-dataSource 逻辑
124
+
125
+ if (!typeAssertion.isPromise(embedContentMaybePromise)) {
126
+ _context.next = 8;
127
+ break;
128
+ }
129
+
130
+ addLoadingIds(node.id);
131
+ embedContentMaybePromise.then(function (jsxElement) {
132
+ removeLoadingIds(node.id);
133
+ if (typeof jsxElement === 'undefined') return;
134
+ setEmbedPanelRecord(function (prev) {
135
+ var _Object$assign;
136
+
137
+ return Object.assign(Object.assign({}, prev), (_Object$assign = {}, _Object$assign[node.id] = jsxElement, _Object$assign));
138
+ });
139
+ })["catch"](function (jsxElement) {
140
+ removeLoadingIds(node.id);
141
+ if (typeof jsxElement === 'undefined') return;
142
+ setEmbedPanelRecord(function (prev) {
143
+ var _Object$assign2;
144
+
145
+ return Object.assign(Object.assign({}, prev), (_Object$assign2 = {}, _Object$assign2[node.id] = jsxElement, _Object$assign2));
146
+ });
147
+ });
148
+ _context.next = 11;
149
+ break;
150
+
151
+ case 8:
152
+ if (!(typeof embedContentMaybePromise === 'undefined')) {
153
+ _context.next = 10;
154
+ break;
155
+ }
156
+
157
+ return _context.abrupt("return");
158
+
159
+ case 10:
160
+ setEmbedPanelRecord(function (prev) {
161
+ var _Object$assign3;
162
+
163
+ return Object.assign(Object.assign({}, prev), (_Object$assign3 = {}, _Object$assign3[node.id] = embedContentMaybePromise, _Object$assign3));
164
+ });
165
+
166
+ case 11:
167
+ case "end":
168
+ return _context.stop();
169
+ }
170
+ }
171
+ }, _callee);
172
+ }));
173
+ }, [embedExpandable, addLoadingIds, removeLoadingIds]);
174
+ return {
175
+ embedExpandable: embedExpandable,
176
+ onEmbedSwitch: onEmbedSwitch,
177
+ getEmbedPanelById: getEmbedPanelById,
178
+ isEmbedLoadingId: isLoadingId,
179
+ isExpandEmbedRows: isExpandEmbedRows,
180
+ onExpandEmbedRowsChange: onExpandEmbedRowsChange
181
+ };
182
+ };
183
+
184
+ exports.useEmbedExpand = useEmbedExpand;
185
+ //# sourceMappingURL=use-embed-expand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-embed-expand.js","sources":["../../../src/hooks/use-embed-expand.ts"],"sourcesContent":[null],"names":["DEFAULT_EXPAND_EMBED_ROW_KEYS","useEmbedExpand","rowExpandable","defaultExpandedEmbedRowKeys","expandEmbedRowKeysProp","expandedEmbedRowKeys","onEmbedExpand","expandedRender","embedExpandable","useMemo","isFunction","useUncontrolledState","expandEmbedRows","trySetExpandEmbedRows","useCheck","checkedIds","onCheck","onExpandEmbedRowsChange","isExpandEmbedRows","useCheckState","addLoadingIds","add","removeLoadingIds","remove","isLoadingId","has","React","useState","embedPanelRecord","setEmbedPanelRecord","getEmbedPanelById","useCallback","id","onEmbedSwitch","node","rowIndex","embedContentMaybePromise","raw","isPromise","then","jsxElement","prev","isEmbedLoadingId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,6BAA6B,GAAG,EAAtC;AAEA;;;;IAGaC,cAAc,GAAG,SAAjBA,cAAiB,KAAA;gCAC5BC;MAAAA,gDAAgB;mCAChBC;MAAAA,iEAA8BH;MACRI,8BAAtBC;MACAC,qBAAAA;MACAC,sBAAAA;;;;;MAKMC,eAAe,GAAGC,aAAAA,CAAQ;QAC1B,CAACP,eAAe,OAAO,KAAP;;QAEhB,CAACQ,wBAAAA,CAAWH,cAAXG,GAA4B,OAAO,KAAP;WAE1B;AACLR,MAAAA,aAAa,EAAbA,aADK;AAELK,MAAAA,cAAc,EAAdA;AAFK;AALsB,GAAPE,EASrB,CAACP,aAAD,EAAgBK,cAAhB,CATqBE;;;;;8BAcyBE,yCAAAA,CAC/CR,2BAD+CQ,EAE/CP,sBAF+CO,EAG/CL,aAH+CK;MAA1CC,eAAP;MAAwBC,qBAAxB;;kBAMqDC,iBAAAA,CAAS;AAC5DC,IAAAA,UAAU,EAAEH,eADgD;AAE5DI,IAAAA,OAAO,EAAEH;AAFmD,GAATC;MAA9CG,uBAAP;MAAgCC,iBAAhC;;;;;;uBAQ2EC,2BAAAA;MAA9DC,aAAb,kBAAQC;MAA4BC,gBAApC,kBAA4BC;MAA+BC,WAA3D,kBAAsDC;;;;;;;wBAQNC,yBAAAA,CAAMC,QAAND,CAA6C,EAA7CA;MAAzCE,gBAAP;MAAyBC,mBAAzB;;MAEMC,iBAAiB,GAAGC,iBAAAA,CACxB,UAACC,EAAD;WACSJ,gBAAgB,CAACI,EAAD,CAAhBJ,IAAwB;AAFE,GAAXG,EAIxB,CAACH,gBAAD,CAJwBG;;;;;MAUpBE,aAAa,GAAGF,iBAAAA,CACpB,UAAOG,IAAP,EAAkCC,QAAlC;;;;;;;kBACO3B;;;;;;;;AAEC4B,cAAAA,2BAA2B5B,eAAe,CAACD,cAAhBC,CAA+B0B,IAAI,CAACG,GAApC7B,EAAyC2B,QAAzC3B,CAA3B4B;;mBAGFE,uBAAAA,CAAUF,wBAAVE;;;;;AACFlB,cAAAA,aAAa,CAACc,IAAI,CAACF,EAAN,CAAbZ;AAEAgB,cAAAA,wBAAwB,CACrBG,IADHH,CACQ,UAACI,UAAD;AACJlB,gBAAAA,gBAAgB,CAACY,IAAI,CAACF,EAAN,CAAhBV;oBAEI,OAAOkB,UAAP,KAAsB,aAAa;AAEvCX,gBAAAA,mBAAmB,CAAC,UAACY,IAAD;;;yDAEbA,4CACFP,IAAI,CAACF,MAAKQ;AAHI,iBAAA,CAAnBX;AANJ,eAAAO,WAaS,UAACI,UAAD;AACLlB,gBAAAA,gBAAgB,CAACY,IAAI,CAACF,EAAN,CAAhBV;oBAEI,OAAOkB,UAAP,KAAsB,aAAa;AAEvCX,gBAAAA,mBAAmB,CAAC,UAACY,IAAD;;;yDAEbA,8CACFP,IAAI,CAACF,MAAKQ;AAHI,iBAAA,CAAnBX;AAlBJ,eAAAO;;;;;oBA0BI,OAAOA,wBAAP,KAAoC;;;;;;;;AAExCP,cAAAA,mBAAmB,CAAC,UAACY,IAAD;;;uDAEbA,8CACFP,IAAI,CAACF,MAAKI;AAHI,eAAA,CAAnBP;;;;;;;;;AAtC2B,GAAXE,EA8CpB,CAACvB,eAAD,EAAkBY,aAAlB,EAAiCE,gBAAjC,CA9CoBS;SAiDf;AACLvB,IAAAA,eAAe,EAAfA,eADK;AAELyB,IAAAA,aAAa,EAAbA,aAFK;AAGLH,IAAAA,iBAAiB,EAAjBA,iBAHK;AAILY,IAAAA,gBAAgB,EAAElB,WAJb;AAKLN,IAAAA,iBAAiB,EAAjBA,iBALK;AAMLD,IAAAA,uBAAuB,EAAvBA;AANK;;;"}