@kdcloudjs/table 1.0.0

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 (572) hide show
  1. package/LICENSE +568 -0
  2. package/README.md +111 -0
  3. package/dist/@kdcloudjs/table.css +422 -0
  4. package/dist/@kdcloudjs/table.css.map +1 -0
  5. package/dist/@kdcloudjs/table.js +38578 -0
  6. package/dist/@kdcloudjs/table.js.map +1 -0
  7. package/dist/@kdcloudjs/table.min.css +9 -0
  8. package/dist/@kdcloudjs/table.min.js +208 -0
  9. package/dist/@kdcloudjs/table.min.js.map +1 -0
  10. package/dist/default-theme.js +344 -0
  11. package/dist/kd-table.css +422 -0
  12. package/dist/kd-table.css.map +1 -0
  13. package/dist/kd-table.js +38578 -0
  14. package/dist/kd-table.js.map +1 -0
  15. package/dist/kd-table.min.css +9 -0
  16. package/dist/kd-table.min.js +208 -0
  17. package/dist/kd-table.min.js.map +1 -0
  18. package/dist/kd-ui-complete.less +779 -0
  19. package/dist/kd-ui.less +2 -0
  20. package/dist/theme.js +13 -0
  21. package/es/_utils/arrayUtil.d.ts +5 -0
  22. package/es/_utils/arrayUtil.js +17 -0
  23. package/es/_utils/devwarning.d.ts +1 -0
  24. package/es/_utils/devwarning.js +10 -0
  25. package/es/_utils/formatUtil.d.ts +46 -0
  26. package/es/_utils/formatUtil.js +346 -0
  27. package/es/_utils/hooks.d.ts +51 -0
  28. package/es/_utils/hooks.js +165 -0
  29. package/es/_utils/index.d.ts +8 -0
  30. package/es/_utils/index.js +15 -0
  31. package/es/_utils/numberUtil.d.ts +34 -0
  32. package/es/_utils/numberUtil.js +181 -0
  33. package/es/_utils/omit.d.ts +1 -0
  34. package/es/_utils/omit.js +11 -0
  35. package/es/_utils/react-children.d.ts +2 -0
  36. package/es/_utils/react-children.js +8 -0
  37. package/es/_utils/type.d.ts +12 -0
  38. package/es/_utils/type.js +15 -0
  39. package/es/_utils/usePopper.d.ts +29 -0
  40. package/es/_utils/usePopper.js +546 -0
  41. package/es/config-provider/ConfigContext.d.ts +22 -0
  42. package/es/config-provider/ConfigContext.js +7 -0
  43. package/es/config-provider/compDefaultProps.d.ts +8 -0
  44. package/es/config-provider/compDefaultProps.js +10 -0
  45. package/es/config-provider/configProvider.d.ts +11 -0
  46. package/es/config-provider/configProvider.js +40 -0
  47. package/es/config-provider/defaultConfig.d.ts +10 -0
  48. package/es/config-provider/defaultConfig.js +18 -0
  49. package/es/config-provider/index.d.ts +6 -0
  50. package/es/config-provider/index.js +6 -0
  51. package/es/index.d.ts +2 -0
  52. package/es/index.js +4 -0
  53. package/es/locale/index.d.ts +3 -0
  54. package/es/locale/index.js +3 -0
  55. package/es/locale/locale.d.ts +50 -0
  56. package/es/locale/locale.js +251 -0
  57. package/es/locale/zh-CN.d.ts +8 -0
  58. package/es/locale/zh-CN.js +8 -0
  59. package/es/style/color/colors.less +2 -0
  60. package/es/style/core/index.less +2 -0
  61. package/es/style/core/motion/other.less +28 -0
  62. package/es/style/core/motion/slide.less +53 -0
  63. package/es/style/core/motion.less +2 -0
  64. package/es/style/core/reset.less +186 -0
  65. package/es/style/css.js +1 -0
  66. package/es/style/index.css +410 -0
  67. package/es/style/index.d.ts +1 -0
  68. package/es/style/index.js +1 -0
  69. package/es/style/index.less +2 -0
  70. package/es/style/mixins/index.less +19 -0
  71. package/es/style/mixins/overlay.less +22 -0
  72. package/es/style/mixins/reset.less +13 -0
  73. package/es/style/themes/default.less +445 -0
  74. package/es/style/themes/index.less +1 -0
  75. package/es/table/base/calculations.d.ts +5 -0
  76. package/es/table/base/calculations.js +364 -0
  77. package/es/table/base/colgroup.d.ts +5 -0
  78. package/es/table/base/colgroup.js +22 -0
  79. package/es/table/base/empty.d.ts +9 -0
  80. package/es/table/base/empty.js +38 -0
  81. package/es/table/base/header.d.ts +5 -0
  82. package/es/table/base/header.js +324 -0
  83. package/es/table/base/helpers/SpanManager.d.ts +9 -0
  84. package/es/table/base/helpers/SpanManager.js +50 -0
  85. package/es/table/base/helpers/TableDOMUtils.d.ts +18 -0
  86. package/es/table/base/helpers/TableDOMUtils.js +104 -0
  87. package/es/table/base/helpers/__test__/SpanManager.test.d.ts +1 -0
  88. package/es/table/base/helpers/__test__/SpanManager.test.js +18 -0
  89. package/es/table/base/helpers/__test__/TableDOMUtils.test.d.ts +1 -0
  90. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +34 -0
  91. package/es/table/base/helpers/__test__/rowHeightManager.test.d.ts +1 -0
  92. package/es/table/base/helpers/__test__/rowHeightManager.test.js +30 -0
  93. package/es/table/base/helpers/__test__/visible-part.test.d.ts +1 -0
  94. package/es/table/base/helpers/__test__/visible-part.test.js +28 -0
  95. package/es/table/base/helpers/rowHeightManager.d.ts +7 -0
  96. package/es/table/base/helpers/rowHeightManager.js +157 -0
  97. package/es/table/base/helpers/visible-part.d.ts +23 -0
  98. package/es/table/base/helpers/visible-part.js +58 -0
  99. package/es/table/base/html-table.d.ts +15 -0
  100. package/es/table/base/html-table.js +132 -0
  101. package/es/table/base/index.d.ts +3 -0
  102. package/es/table/base/index.js +2 -0
  103. package/es/table/base/interfaces.d.ts +54 -0
  104. package/es/table/base/interfaces.js +0 -0
  105. package/es/table/base/loading.d.ts +13 -0
  106. package/es/table/base/loading.js +60 -0
  107. package/es/table/base/styles.d.ts +132 -0
  108. package/es/table/base/styles.js +112 -0
  109. package/es/table/base/table.d.ts +150 -0
  110. package/es/table/base/table.js +733 -0
  111. package/es/table/base/utils.d.ts +36 -0
  112. package/es/table/base/utils.js +193 -0
  113. package/es/table/common-views.d.ts +24 -0
  114. package/es/table/common-views.js +70 -0
  115. package/es/table/index.d.ts +6 -0
  116. package/es/table/index.js +6 -0
  117. package/es/table/interfaces.d.ts +98 -0
  118. package/es/table/interfaces.js +0 -0
  119. package/es/table/internals.d.ts +14 -0
  120. package/es/table/internals.js +56 -0
  121. package/es/table/pipeline/features/__test__/multiSelect.test.d.ts +1 -0
  122. package/es/table/pipeline/features/__test__/multiSelect.test.js +152 -0
  123. package/es/table/pipeline/features/__test__/rowDetail.test.d.ts +1 -0
  124. package/es/table/pipeline/features/__test__/rowDetail.test.js +223 -0
  125. package/es/table/pipeline/features/__test__/rowGrouping.test.d.ts +1 -0
  126. package/es/table/pipeline/features/__test__/rowGrouping.test.js +120 -0
  127. package/es/table/pipeline/features/__test__/singleSelect.test.d.ts +1 -0
  128. package/es/table/pipeline/features/__test__/singleSelect.test.js +191 -0
  129. package/es/table/pipeline/features/__test__/sort.test.d.ts +1 -0
  130. package/es/table/pipeline/features/__test__/sort.test.js +213 -0
  131. package/es/table/pipeline/features/__test__/tips.test.d.ts +1 -0
  132. package/es/table/pipeline/features/__test__/tips.test.js +123 -0
  133. package/es/table/pipeline/features/__test__/treeMode.test.d.ts +1 -0
  134. package/es/table/pipeline/features/__test__/treeMode.test.js +202 -0
  135. package/es/table/pipeline/features/autoFill.d.ts +4 -0
  136. package/es/table/pipeline/features/autoFill.js +63 -0
  137. package/es/table/pipeline/features/autoRowSpan.d.ts +2 -0
  138. package/es/table/pipeline/features/autoRowSpan.js +72 -0
  139. package/es/table/pipeline/features/buildTree.d.ts +2 -0
  140. package/es/table/pipeline/features/buildTree.js +8 -0
  141. package/es/table/pipeline/features/columnDrag.d.ts +6 -0
  142. package/es/table/pipeline/features/columnDrag.js +265 -0
  143. package/es/table/pipeline/features/columnFilter.d.ts +20 -0
  144. package/es/table/pipeline/features/columnFilter.js +173 -0
  145. package/es/table/pipeline/features/columnHover.d.ts +12 -0
  146. package/es/table/pipeline/features/columnHover.js +51 -0
  147. package/es/table/pipeline/features/columnRangeHover.d.ts +15 -0
  148. package/es/table/pipeline/features/columnRangeHover.js +83 -0
  149. package/es/table/pipeline/features/columnResizeWidth.d.ts +21 -0
  150. package/es/table/pipeline/features/columnResizeWidth.js +173 -0
  151. package/es/table/pipeline/features/contextMenu.d.ts +14 -0
  152. package/es/table/pipeline/features/contextMenu.js +370 -0
  153. package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +4 -0
  154. package/es/table/pipeline/features/filter/DefaultFilterContent.js +91 -0
  155. package/es/table/pipeline/features/filter/Filter.d.ts +17 -0
  156. package/es/table/pipeline/features/filter/Filter.js +111 -0
  157. package/es/table/pipeline/features/filter/FilterPanel.d.ts +20 -0
  158. package/es/table/pipeline/features/filter/FilterPanel.js +81 -0
  159. package/es/table/pipeline/features/filter/__test__/Filter.test.d.ts +1 -0
  160. package/es/table/pipeline/features/filter/__test__/Filter.test.js +29 -0
  161. package/es/table/pipeline/features/filter/index.d.ts +4 -0
  162. package/es/table/pipeline/features/filter/index.js +4 -0
  163. package/es/table/pipeline/features/filter/util.d.ts +10 -0
  164. package/es/table/pipeline/features/filter/util.js +67 -0
  165. package/es/table/pipeline/features/index.d.ts +16 -0
  166. package/es/table/pipeline/features/index.js +16 -0
  167. package/es/table/pipeline/features/multiSelect.d.ts +27 -0
  168. package/es/table/pipeline/features/multiSelect.js +208 -0
  169. package/es/table/pipeline/features/rowDetail.d.ts +35 -0
  170. package/es/table/pipeline/features/rowDetail.js +254 -0
  171. package/es/table/pipeline/features/rowGrouping.d.ts +14 -0
  172. package/es/table/pipeline/features/rowGrouping.js +200 -0
  173. package/es/table/pipeline/features/singleSelect.d.ts +23 -0
  174. package/es/table/pipeline/features/singleSelect.js +122 -0
  175. package/es/table/pipeline/features/sort.d.ts +40 -0
  176. package/es/table/pipeline/features/sort.js +332 -0
  177. package/es/table/pipeline/features/tips.d.ts +2 -0
  178. package/es/table/pipeline/features/tips.js +57 -0
  179. package/es/table/pipeline/features/treeMode.d.ts +37 -0
  180. package/es/table/pipeline/features/treeMode.js +234 -0
  181. package/es/table/pipeline/features/treeSelect.d.ts +38 -0
  182. package/es/table/pipeline/features/treeSelect.js +154 -0
  183. package/es/table/pipeline/index.d.ts +3 -0
  184. package/es/table/pipeline/index.js +3 -0
  185. package/es/table/pipeline/pipeline.d.ts +85 -0
  186. package/es/table/pipeline/pipeline.js +272 -0
  187. package/es/table/pivot/cross-table/buildCrossTable.d.ts +14 -0
  188. package/es/table/pivot/cross-table/buildCrossTable.js +294 -0
  189. package/es/table/pivot/cross-table/constants.d.ts +1 -0
  190. package/es/table/pivot/cross-table/constants.js +1 -0
  191. package/es/table/pivot/cross-table/cross-table.d.ts +18 -0
  192. package/es/table/pivot/cross-table/cross-table.js +55 -0
  193. package/es/table/pivot/cross-table/index.d.ts +4 -0
  194. package/es/table/pivot/cross-table/index.js +3 -0
  195. package/es/table/pivot/cross-table/interfaces.d.ts +29 -0
  196. package/es/table/pivot/cross-table/interfaces.js +0 -0
  197. package/es/table/pivot/cross-table/internals.d.ts +13 -0
  198. package/es/table/pivot/cross-table/internals.js +0 -0
  199. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.d.ts +14 -0
  200. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +219 -0
  201. package/es/table/pivot/cross-tree-table/cross-tree-table.d.ts +38 -0
  202. package/es/table/pivot/cross-tree-table/cross-tree-table.js +127 -0
  203. package/es/table/pivot/cross-tree-table/index.d.ts +2 -0
  204. package/es/table/pivot/cross-tree-table/index.js +2 -0
  205. package/es/table/pivot/pivot-utils/buildDrillTree.d.ts +16 -0
  206. package/es/table/pivot/pivot-utils/buildDrillTree.js +93 -0
  207. package/es/table/pivot/pivot-utils/builders.d.ts +26 -0
  208. package/es/table/pivot/pivot-utils/builders.js +252 -0
  209. package/es/table/pivot/pivot-utils/convert-utils.d.ts +31 -0
  210. package/es/table/pivot/pivot-utils/convert-utils.js +180 -0
  211. package/es/table/pivot/pivot-utils/index.d.ts +5 -0
  212. package/es/table/pivot/pivot-utils/index.js +4 -0
  213. package/es/table/pivot/pivot-utils/interfaces.d.ts +12 -0
  214. package/es/table/pivot/pivot-utils/interfaces.js +0 -0
  215. package/es/table/pivot/pivot-utils/simpleEncode.d.ts +1 -0
  216. package/es/table/pivot/pivot-utils/simpleEncode.js +7 -0
  217. package/es/table/style/css.js +2 -0
  218. package/es/table/style/index.css +0 -0
  219. package/es/table/style/index.d.ts +2 -0
  220. package/es/table/style/index.js +2 -0
  221. package/es/table/style/index.less +1 -0
  222. package/es/table/transforms/autoRowSpan.d.ts +3 -0
  223. package/es/table/transforms/autoRowSpan.js +73 -0
  224. package/es/table/transforms/autoWidth.d.ts +25 -0
  225. package/es/table/transforms/autoWidth.js +160 -0
  226. package/es/table/transforms/buildTree.d.ts +3 -0
  227. package/es/table/transforms/buildTree.js +15 -0
  228. package/es/table/transforms/columnHover.d.ts +17 -0
  229. package/es/table/transforms/columnHover.js +59 -0
  230. package/es/table/transforms/columnRangeHover.d.ts +17 -0
  231. package/es/table/transforms/columnRangeHover.js +94 -0
  232. package/es/table/transforms/columnResize.d.ts +27 -0
  233. package/es/table/transforms/columnResize.js +152 -0
  234. package/es/table/transforms/flatten.d.ts +3 -0
  235. package/es/table/transforms/flatten.js +16 -0
  236. package/es/table/transforms/index.d.ts +12 -0
  237. package/es/table/transforms/index.js +12 -0
  238. package/es/table/transforms/orderField.d.ts +3 -0
  239. package/es/table/transforms/orderField.js +22 -0
  240. package/es/table/transforms/sort.d.ts +43 -0
  241. package/es/table/transforms/sort.js +338 -0
  242. package/es/table/transforms/tips.d.ts +8 -0
  243. package/es/table/transforms/tips.js +54 -0
  244. package/es/table/transforms/treeMode.d.ts +30 -0
  245. package/es/table/transforms/treeMode.js +252 -0
  246. package/es/table/transforms/visible.d.ts +5 -0
  247. package/es/table/transforms/visible.js +19 -0
  248. package/es/table/transforms/warnTransformsDeprecated.d.ts +1 -0
  249. package/es/table/transforms/warnTransformsDeprecated.js +8 -0
  250. package/es/table/use/useResizeObserver.d.ts +2 -0
  251. package/es/table/use/useResizeObserver.js +20 -0
  252. package/es/table/utils/applyTransforms.d.ts +6 -0
  253. package/es/table/utils/applyTransforms.js +15 -0
  254. package/es/table/utils/buildTree.d.ts +36 -0
  255. package/es/table/utils/buildTree.js +119 -0
  256. package/es/table/utils/collectNodes.d.ts +8 -0
  257. package/es/table/utils/collectNodes.js +59 -0
  258. package/es/table/utils/console.d.ts +11 -0
  259. package/es/table/utils/console.js +58 -0
  260. package/es/table/utils/copyToClipboard.d.ts +3 -0
  261. package/es/table/utils/copyToClipboard.js +30 -0
  262. package/es/table/utils/element.d.ts +42 -0
  263. package/es/table/utils/element.js +228 -0
  264. package/es/table/utils/exportTableAsExcel.d.ts +4 -0
  265. package/es/table/utils/exportTableAsExcel.js +188 -0
  266. package/es/table/utils/getTreeDepth.d.ts +3 -0
  267. package/es/table/utils/getTreeDepth.js +41 -0
  268. package/es/table/utils/groupBy.d.ts +1 -0
  269. package/es/table/utils/groupBy.js +37 -0
  270. package/es/table/utils/index.d.ts +18 -0
  271. package/es/table/utils/index.js +18 -0
  272. package/es/table/utils/isGroupColumn.d.ts +2 -0
  273. package/es/table/utils/isGroupColumn.js +7 -0
  274. package/es/table/utils/isLeafNode.d.ts +2 -0
  275. package/es/table/utils/isLeafNode.js +4 -0
  276. package/es/table/utils/layeredFilter.d.ts +2 -0
  277. package/es/table/utils/layeredFilter.js +25 -0
  278. package/es/table/utils/layeredSort.d.ts +5 -0
  279. package/es/table/utils/layeredSort.js +26 -0
  280. package/es/table/utils/makeRecursiveMapper.d.ts +9 -0
  281. package/es/table/utils/makeRecursiveMapper.js +76 -0
  282. package/es/table/utils/mergeCellProps.d.ts +8 -0
  283. package/es/table/utils/mergeCellProps.js +67 -0
  284. package/es/table/utils/others.d.ts +16 -0
  285. package/es/table/utils/others.js +80 -0
  286. package/es/table/utils/proto.d.ts +21 -0
  287. package/es/table/utils/proto.js +106 -0
  288. package/es/table/utils/smartCompare.d.ts +9 -0
  289. package/es/table/utils/smartCompare.js +51 -0
  290. package/es/table/utils/traverseColumn.d.ts +11 -0
  291. package/es/table/utils/traverseColumn.js +88 -0
  292. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.d.ts +22 -0
  293. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +138 -0
  294. package/es/table/utils/tree-data-helpers/TreeDataHelper.d.ts +26 -0
  295. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +337 -0
  296. package/lib/_utils/arrayUtil.d.ts +5 -0
  297. package/lib/_utils/arrayUtil.js +26 -0
  298. package/lib/_utils/devwarning.d.ts +1 -0
  299. package/lib/_utils/devwarning.js +21 -0
  300. package/lib/_utils/formatUtil.d.ts +46 -0
  301. package/lib/_utils/formatUtil.js +358 -0
  302. package/lib/_utils/hooks.d.ts +51 -0
  303. package/lib/_utils/hooks.js +187 -0
  304. package/lib/_utils/index.d.ts +8 -0
  305. package/lib/_utils/index.js +28 -0
  306. package/lib/_utils/numberUtil.d.ts +34 -0
  307. package/lib/_utils/numberUtil.js +202 -0
  308. package/lib/_utils/omit.d.ts +1 -0
  309. package/lib/_utils/omit.js +21 -0
  310. package/lib/_utils/react-children.d.ts +2 -0
  311. package/lib/_utils/react-children.js +20 -0
  312. package/lib/_utils/type.d.ts +12 -0
  313. package/lib/_utils/type.js +27 -0
  314. package/lib/_utils/usePopper.d.ts +29 -0
  315. package/lib/_utils/usePopper.js +574 -0
  316. package/lib/config-provider/ConfigContext.d.ts +22 -0
  317. package/lib/config-provider/ConfigContext.js +19 -0
  318. package/lib/config-provider/compDefaultProps.d.ts +8 -0
  319. package/lib/config-provider/compDefaultProps.js +17 -0
  320. package/lib/config-provider/configProvider.d.ts +11 -0
  321. package/lib/config-provider/configProvider.js +56 -0
  322. package/lib/config-provider/defaultConfig.d.ts +10 -0
  323. package/lib/config-provider/defaultConfig.js +30 -0
  324. package/lib/config-provider/index.d.ts +6 -0
  325. package/lib/config-provider/index.js +37 -0
  326. package/lib/index.d.ts +2 -0
  327. package/lib/index.js +45 -0
  328. package/lib/locale/index.d.ts +3 -0
  329. package/lib/locale/index.js +25 -0
  330. package/lib/locale/locale.d.ts +50 -0
  331. package/lib/locale/locale.js +277 -0
  332. package/lib/locale/zh-CN.d.ts +8 -0
  333. package/lib/locale/zh-CN.js +15 -0
  334. package/lib/style/color/colors.less +2 -0
  335. package/lib/style/components.less +1 -0
  336. package/lib/style/core/index.less +2 -0
  337. package/lib/style/core/motion/other.less +28 -0
  338. package/lib/style/core/motion/slide.less +53 -0
  339. package/lib/style/core/motion.less +2 -0
  340. package/lib/style/core/reset.less +186 -0
  341. package/lib/style/css.js +3 -0
  342. package/lib/style/index.css +410 -0
  343. package/lib/style/index.d.ts +1 -0
  344. package/lib/style/index.js +3 -0
  345. package/lib/style/index.less +2 -0
  346. package/lib/style/mixins/index.less +19 -0
  347. package/lib/style/mixins/overlay.less +22 -0
  348. package/lib/style/mixins/reset.less +13 -0
  349. package/lib/style/themes/default.less +445 -0
  350. package/lib/style/themes/index.less +1 -0
  351. package/lib/table/base/calculations.d.ts +5 -0
  352. package/lib/table/base/calculations.js +385 -0
  353. package/lib/table/base/colgroup.d.ts +5 -0
  354. package/lib/table/base/colgroup.js +33 -0
  355. package/lib/table/base/empty.d.ts +9 -0
  356. package/lib/table/base/empty.js +54 -0
  357. package/lib/table/base/header.d.ts +5 -0
  358. package/lib/table/base/header.js +340 -0
  359. package/lib/table/base/helpers/SpanManager.d.ts +9 -0
  360. package/lib/table/base/helpers/SpanManager.js +59 -0
  361. package/lib/table/base/helpers/TableDOMUtils.d.ts +18 -0
  362. package/lib/table/base/helpers/TableDOMUtils.js +113 -0
  363. package/lib/table/base/helpers/__test__/SpanManager.test.d.ts +1 -0
  364. package/lib/table/base/helpers/__test__/SpanManager.test.js +23 -0
  365. package/lib/table/base/helpers/__test__/TableDOMUtils.test.d.ts +1 -0
  366. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +41 -0
  367. package/lib/table/base/helpers/__test__/rowHeightManager.test.d.ts +1 -0
  368. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +33 -0
  369. package/lib/table/base/helpers/__test__/visible-part.test.d.ts +1 -0
  370. package/lib/table/base/helpers/__test__/visible-part.test.js +31 -0
  371. package/lib/table/base/helpers/rowHeightManager.d.ts +7 -0
  372. package/lib/table/base/helpers/rowHeightManager.js +170 -0
  373. package/lib/table/base/helpers/visible-part.d.ts +23 -0
  374. package/lib/table/base/helpers/visible-part.js +72 -0
  375. package/lib/table/base/html-table.d.ts +15 -0
  376. package/lib/table/base/html-table.js +149 -0
  377. package/lib/table/base/index.d.ts +3 -0
  378. package/lib/table/base/index.js +21 -0
  379. package/lib/table/base/interfaces.d.ts +54 -0
  380. package/lib/table/base/interfaces.js +0 -0
  381. package/lib/table/base/loading.d.ts +13 -0
  382. package/lib/table/base/loading.js +71 -0
  383. package/lib/table/base/styles.d.ts +132 -0
  384. package/lib/table/base/styles.js +136 -0
  385. package/lib/table/base/table.d.ts +150 -0
  386. package/lib/table/base/table.js +773 -0
  387. package/lib/table/base/utils.d.ts +36 -0
  388. package/lib/table/base/utils.js +234 -0
  389. package/lib/table/common-views.d.ts +24 -0
  390. package/lib/table/common-views.js +90 -0
  391. package/lib/table/index.d.ts +6 -0
  392. package/lib/table/index.js +85 -0
  393. package/lib/table/interfaces.d.ts +98 -0
  394. package/lib/table/interfaces.js +0 -0
  395. package/lib/table/internals.d.ts +14 -0
  396. package/lib/table/internals.js +64 -0
  397. package/lib/table/pipeline/features/__test__/multiSelect.test.d.ts +1 -0
  398. package/lib/table/pipeline/features/__test__/multiSelect.test.js +163 -0
  399. package/lib/table/pipeline/features/__test__/rowDetail.test.d.ts +1 -0
  400. package/lib/table/pipeline/features/__test__/rowDetail.test.js +230 -0
  401. package/lib/table/pipeline/features/__test__/rowGrouping.test.d.ts +1 -0
  402. package/lib/table/pipeline/features/__test__/rowGrouping.test.js +129 -0
  403. package/lib/table/pipeline/features/__test__/singleSelect.test.d.ts +1 -0
  404. package/lib/table/pipeline/features/__test__/singleSelect.test.js +201 -0
  405. package/lib/table/pipeline/features/__test__/sort.test.d.ts +1 -0
  406. package/lib/table/pipeline/features/__test__/sort.test.js +218 -0
  407. package/lib/table/pipeline/features/__test__/tips.test.d.ts +1 -0
  408. package/lib/table/pipeline/features/__test__/tips.test.js +133 -0
  409. package/lib/table/pipeline/features/__test__/treeMode.test.d.ts +1 -0
  410. package/lib/table/pipeline/features/__test__/treeMode.test.js +206 -0
  411. package/lib/table/pipeline/features/autoFill.d.ts +4 -0
  412. package/lib/table/pipeline/features/autoFill.js +80 -0
  413. package/lib/table/pipeline/features/autoRowSpan.d.ts +2 -0
  414. package/lib/table/pipeline/features/autoRowSpan.js +84 -0
  415. package/lib/table/pipeline/features/buildTree.d.ts +2 -0
  416. package/lib/table/pipeline/features/buildTree.js +16 -0
  417. package/lib/table/pipeline/features/columnDrag.d.ts +6 -0
  418. package/lib/table/pipeline/features/columnDrag.js +278 -0
  419. package/lib/table/pipeline/features/columnFilter.d.ts +20 -0
  420. package/lib/table/pipeline/features/columnFilter.js +197 -0
  421. package/lib/table/pipeline/features/columnHover.d.ts +12 -0
  422. package/lib/table/pipeline/features/columnHover.js +62 -0
  423. package/lib/table/pipeline/features/columnRangeHover.d.ts +15 -0
  424. package/lib/table/pipeline/features/columnRangeHover.js +95 -0
  425. package/lib/table/pipeline/features/columnResizeWidth.d.ts +21 -0
  426. package/lib/table/pipeline/features/columnResizeWidth.js +192 -0
  427. package/lib/table/pipeline/features/contextMenu.d.ts +14 -0
  428. package/lib/table/pipeline/features/contextMenu.js +397 -0
  429. package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +4 -0
  430. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +112 -0
  431. package/lib/table/pipeline/features/filter/Filter.d.ts +17 -0
  432. package/lib/table/pipeline/features/filter/Filter.js +129 -0
  433. package/lib/table/pipeline/features/filter/FilterPanel.d.ts +20 -0
  434. package/lib/table/pipeline/features/filter/FilterPanel.js +98 -0
  435. package/lib/table/pipeline/features/filter/__test__/Filter.test.d.ts +1 -0
  436. package/lib/table/pipeline/features/filter/__test__/Filter.test.js +36 -0
  437. package/lib/table/pipeline/features/filter/index.d.ts +4 -0
  438. package/lib/table/pipeline/features/filter/index.js +39 -0
  439. package/lib/table/pipeline/features/filter/util.d.ts +10 -0
  440. package/lib/table/pipeline/features/filter/util.js +77 -0
  441. package/lib/table/pipeline/features/index.d.ts +16 -0
  442. package/lib/table/pipeline/features/index.js +141 -0
  443. package/lib/table/pipeline/features/multiSelect.d.ts +27 -0
  444. package/lib/table/pipeline/features/multiSelect.js +227 -0
  445. package/lib/table/pipeline/features/rowDetail.d.ts +35 -0
  446. package/lib/table/pipeline/features/rowDetail.js +283 -0
  447. package/lib/table/pipeline/features/rowGrouping.d.ts +14 -0
  448. package/lib/table/pipeline/features/rowGrouping.js +227 -0
  449. package/lib/table/pipeline/features/singleSelect.d.ts +23 -0
  450. package/lib/table/pipeline/features/singleSelect.js +138 -0
  451. package/lib/table/pipeline/features/sort.d.ts +40 -0
  452. package/lib/table/pipeline/features/sort.js +361 -0
  453. package/lib/table/pipeline/features/tips.d.ts +2 -0
  454. package/lib/table/pipeline/features/tips.js +73 -0
  455. package/lib/table/pipeline/features/treeMode.d.ts +37 -0
  456. package/lib/table/pipeline/features/treeMode.js +266 -0
  457. package/lib/table/pipeline/features/treeSelect.d.ts +38 -0
  458. package/lib/table/pipeline/features/treeSelect.js +169 -0
  459. package/lib/table/pipeline/index.d.ts +3 -0
  460. package/lib/table/pipeline/index.js +26 -0
  461. package/lib/table/pipeline/pipeline.d.ts +85 -0
  462. package/lib/table/pipeline/pipeline.js +291 -0
  463. package/lib/table/pivot/cross-table/buildCrossTable.d.ts +14 -0
  464. package/lib/table/pivot/cross-table/buildCrossTable.js +313 -0
  465. package/lib/table/pivot/cross-table/constants.d.ts +1 -0
  466. package/lib/table/pivot/cross-table/constants.js +8 -0
  467. package/lib/table/pivot/cross-table/cross-table.d.ts +18 -0
  468. package/lib/table/pivot/cross-table/cross-table.js +71 -0
  469. package/lib/table/pivot/cross-table/index.d.ts +4 -0
  470. package/lib/table/pivot/cross-table/index.js +31 -0
  471. package/lib/table/pivot/cross-table/interfaces.d.ts +29 -0
  472. package/lib/table/pivot/cross-table/interfaces.js +0 -0
  473. package/lib/table/pivot/cross-table/internals.d.ts +13 -0
  474. package/lib/table/pivot/cross-table/internals.js +0 -0
  475. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.d.ts +14 -0
  476. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +240 -0
  477. package/lib/table/pivot/cross-tree-table/cross-tree-table.d.ts +38 -0
  478. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +144 -0
  479. package/lib/table/pivot/cross-tree-table/index.d.ts +2 -0
  480. package/lib/table/pivot/cross-tree-table/index.js +23 -0
  481. package/lib/table/pivot/pivot-utils/buildDrillTree.d.ts +16 -0
  482. package/lib/table/pivot/pivot-utils/buildDrillTree.js +106 -0
  483. package/lib/table/pivot/pivot-utils/builders.d.ts +26 -0
  484. package/lib/table/pivot/pivot-utils/builders.js +272 -0
  485. package/lib/table/pivot/pivot-utils/convert-utils.d.ts +31 -0
  486. package/lib/table/pivot/pivot-utils/convert-utils.js +204 -0
  487. package/lib/table/pivot/pivot-utils/index.d.ts +5 -0
  488. package/lib/table/pivot/pivot-utils/index.js +59 -0
  489. package/lib/table/pivot/pivot-utils/interfaces.d.ts +12 -0
  490. package/lib/table/pivot/pivot-utils/interfaces.js +0 -0
  491. package/lib/table/pivot/pivot-utils/simpleEncode.d.ts +1 -0
  492. package/lib/table/pivot/pivot-utils/simpleEncode.js +14 -0
  493. package/lib/table/style/css.js +5 -0
  494. package/lib/table/style/index.css +0 -0
  495. package/lib/table/style/index.d.ts +2 -0
  496. package/lib/table/style/index.js +5 -0
  497. package/lib/table/style/index.less +1 -0
  498. package/lib/table/transforms/autoRowSpan.d.ts +3 -0
  499. package/lib/table/transforms/autoRowSpan.js +86 -0
  500. package/lib/table/transforms/autoWidth.d.ts +25 -0
  501. package/lib/table/transforms/autoWidth.js +187 -0
  502. package/lib/table/transforms/buildTree.d.ts +3 -0
  503. package/lib/table/transforms/buildTree.js +23 -0
  504. package/lib/table/transforms/columnHover.d.ts +17 -0
  505. package/lib/table/transforms/columnHover.js +74 -0
  506. package/lib/table/transforms/columnRangeHover.d.ts +17 -0
  507. package/lib/table/transforms/columnRangeHover.js +110 -0
  508. package/lib/table/transforms/columnResize.d.ts +27 -0
  509. package/lib/table/transforms/columnResize.js +176 -0
  510. package/lib/table/transforms/flatten.d.ts +3 -0
  511. package/lib/table/transforms/flatten.js +24 -0
  512. package/lib/table/transforms/index.d.ts +12 -0
  513. package/lib/table/transforms/index.js +131 -0
  514. package/lib/table/transforms/orderField.d.ts +3 -0
  515. package/lib/table/transforms/orderField.js +33 -0
  516. package/lib/table/transforms/sort.d.ts +43 -0
  517. package/lib/table/transforms/sort.js +369 -0
  518. package/lib/table/transforms/tips.d.ts +8 -0
  519. package/lib/table/transforms/tips.js +71 -0
  520. package/lib/table/transforms/treeMode.d.ts +30 -0
  521. package/lib/table/transforms/treeMode.js +286 -0
  522. package/lib/table/transforms/visible.d.ts +5 -0
  523. package/lib/table/transforms/visible.js +31 -0
  524. package/lib/table/transforms/warnTransformsDeprecated.d.ts +1 -0
  525. package/lib/table/transforms/warnTransformsDeprecated.js +19 -0
  526. package/lib/table/use/useResizeObserver.d.ts +2 -0
  527. package/lib/table/use/useResizeObserver.js +32 -0
  528. package/lib/table/utils/applyTransforms.d.ts +6 -0
  529. package/lib/table/utils/applyTransforms.js +24 -0
  530. package/lib/table/utils/buildTree.d.ts +36 -0
  531. package/lib/table/utils/buildTree.js +140 -0
  532. package/lib/table/utils/collectNodes.d.ts +8 -0
  533. package/lib/table/utils/collectNodes.js +72 -0
  534. package/lib/table/utils/console.d.ts +11 -0
  535. package/lib/table/utils/console.js +68 -0
  536. package/lib/table/utils/copyToClipboard.d.ts +3 -0
  537. package/lib/table/utils/copyToClipboard.js +40 -0
  538. package/lib/table/utils/element.d.ts +42 -0
  539. package/lib/table/utils/element.js +243 -0
  540. package/lib/table/utils/exportTableAsExcel.d.ts +4 -0
  541. package/lib/table/utils/exportTableAsExcel.js +205 -0
  542. package/lib/table/utils/getTreeDepth.d.ts +3 -0
  543. package/lib/table/utils/getTreeDepth.js +54 -0
  544. package/lib/table/utils/groupBy.d.ts +1 -0
  545. package/lib/table/utils/groupBy.js +48 -0
  546. package/lib/table/utils/index.d.ts +18 -0
  547. package/lib/table/utils/index.js +187 -0
  548. package/lib/table/utils/isGroupColumn.d.ts +2 -0
  549. package/lib/table/utils/isGroupColumn.js +17 -0
  550. package/lib/table/utils/isLeafNode.d.ts +2 -0
  551. package/lib/table/utils/isLeafNode.js +11 -0
  552. package/lib/table/utils/layeredFilter.d.ts +2 -0
  553. package/lib/table/utils/layeredFilter.js +38 -0
  554. package/lib/table/utils/layeredSort.d.ts +5 -0
  555. package/lib/table/utils/layeredSort.js +37 -0
  556. package/lib/table/utils/makeRecursiveMapper.d.ts +9 -0
  557. package/lib/table/utils/makeRecursiveMapper.js +94 -0
  558. package/lib/table/utils/mergeCellProps.d.ts +8 -0
  559. package/lib/table/utils/mergeCellProps.js +78 -0
  560. package/lib/table/utils/others.d.ts +16 -0
  561. package/lib/table/utils/others.js +108 -0
  562. package/lib/table/utils/proto.d.ts +21 -0
  563. package/lib/table/utils/proto.js +117 -0
  564. package/lib/table/utils/smartCompare.d.ts +9 -0
  565. package/lib/table/utils/smartCompare.js +58 -0
  566. package/lib/table/utils/traverseColumn.d.ts +11 -0
  567. package/lib/table/utils/traverseColumn.js +103 -0
  568. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.d.ts +22 -0
  569. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +154 -0
  570. package/lib/table/utils/tree-data-helpers/TreeDataHelper.d.ts +26 -0
  571. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +358 -0
  572. package/package.json +213 -0
@@ -0,0 +1,36 @@
1
+ import { Subscription } from 'rxjs';
2
+ import ResizeObserver from 'resize-observer-polyfill';
3
+ /** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */
4
+ export declare const STYLED_VERSION: string;
5
+ export declare const STYLED_REF_PROP: string;
6
+ export declare const OVERSCAN_SIZE = 100;
7
+ export declare const AUTO_VIRTUAL_THRESHOLD = 100;
8
+ export declare function sum(arr: number[]): number;
9
+ export declare const throttledWindowResize$: import("rxjs").Observable<Event>;
10
+ interface ContentRectType {
11
+ hide: boolean;
12
+ bottom: number;
13
+ height: number;
14
+ left: number;
15
+ right: number;
16
+ top: number;
17
+ width: number;
18
+ x: number;
19
+ y: number;
20
+ }
21
+ export declare const addResizeObserver: (element: HTMLElement | null, handler?: (react: ContentRectType) => void) => ResizeObserver;
22
+ export declare function getScrollbarSize(): {
23
+ width: number;
24
+ height: number;
25
+ };
26
+ /** 同步多个元素之间的 scrollLeft, 每当 scrollLeft 发生变化时 callback 会被调用 */
27
+ export declare function syncScrollLeft(elements: HTMLElement[], callback: (scrollLeft: number) => void): Subscription;
28
+ /**
29
+ * Performs equality by iterating through keys on an object and returning false
30
+ * when any key has values which are not strictly equal between the arguments.
31
+ * Returns true when the values of all keys are strictly equal.
32
+ *
33
+ * 这个函数是从 facebook 某个官方库中复制过来的
34
+ */
35
+ export declare function shallowEqual(objA: any, objB: any): boolean;
36
+ export {};
@@ -0,0 +1,193 @@
1
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
2
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
3
+ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
4
+ import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
5
+ import _getIterator from "@babel/runtime-corejs3/core-js/get-iterator";
6
+ import _typeof from "@babel/runtime-corejs3/helpers/typeof";
7
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
8
+
9
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof _Symbol === "undefined" || _getIteratorMethod(o) == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = _getIterator(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
10
+
11
+ function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
14
+
15
+ import _Set from "@babel/runtime-corejs3/core-js-stable/set";
16
+ import _Object$is from "@babel/runtime-corejs3/core-js-stable/object/is";
17
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
18
+ import { asyncScheduler, BehaviorSubject, defer, fromEvent, Subscription } from 'rxjs';
19
+ import { map, throttleTime } from 'rxjs/operators';
20
+ import ResizeObserver from 'resize-observer-polyfill';
21
+ import * as styledComponents from 'styled-components';
22
+ /** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */
23
+
24
+ export var STYLED_VERSION = styledComponents.createGlobalStyle != null ? 'v5' : 'v3';
25
+ export var STYLED_REF_PROP = STYLED_VERSION === 'v3' ? 'innerRef' : 'ref';
26
+ export var OVERSCAN_SIZE = 100;
27
+ export var AUTO_VIRTUAL_THRESHOLD = 100;
28
+ export function sum(arr) {
29
+ var result = 0;
30
+ arr.forEach(function (x) {
31
+ result += x;
32
+ });
33
+ return result;
34
+ } // 使用 defer 避免过早引用 window,导致在 SSR 场景下报错
35
+
36
+ export var throttledWindowResize$ = defer(function () {
37
+ return fromEvent(window, 'resize').pipe(throttleTime(150, asyncScheduler, {
38
+ leading: true,
39
+ trailing: true
40
+ }));
41
+ });
42
+ export var addResizeObserver = function addResizeObserver(element, handler) {
43
+ var measure = function measure(entries) {
44
+ if (!entries[0] || !entries[0].contentRect) {
45
+ return;
46
+ }
47
+
48
+ var contentRect = entries[0].contentRect;
49
+ var hide = contentRect.width === 0 && contentRect.height === 0; // 隐藏条件:高宽都为0
50
+
51
+ var rect = _extends({
52
+ hide: hide
53
+ }, contentRect);
54
+
55
+ handler && handler(rect);
56
+ };
57
+
58
+ var resizeObserver = new ResizeObserver(measure);
59
+ resizeObserver && resizeObserver.observe(element);
60
+ return resizeObserver;
61
+ };
62
+ /** 获取默认的滚动条大小 */
63
+
64
+ function getScrollbarSizeImpl() {
65
+ var scrollDiv = document.createElement('div');
66
+ scrollDiv.style.position = 'absolute';
67
+ scrollDiv.style.width = '100px';
68
+ scrollDiv.style.height = '100px';
69
+ scrollDiv.style.overflow = 'scroll';
70
+ scrollDiv.style.top = '-9999px';
71
+ document.body.appendChild(scrollDiv);
72
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
73
+ var scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;
74
+ document.body.removeChild(scrollDiv);
75
+ return {
76
+ width: scrollbarWidth,
77
+ height: scrollbarHeight
78
+ };
79
+ }
80
+
81
+ var scrollBarSize$;
82
+ export function getScrollbarSize() {
83
+ if (scrollBarSize$ == null) {
84
+ scrollBarSize$ = new BehaviorSubject(getScrollbarSizeImpl());
85
+ throttledWindowResize$.pipe(map(function () {
86
+ return getScrollbarSizeImpl();
87
+ })).subscribe(scrollBarSize$);
88
+ }
89
+
90
+ return scrollBarSize$.value;
91
+ }
92
+ /** 同步多个元素之间的 scrollLeft, 每当 scrollLeft 发生变化时 callback 会被调用 */
93
+
94
+ export function syncScrollLeft(elements, callback) {
95
+ var bypassSet = new _Set();
96
+
97
+ function publishScrollLeft(origin, scrollLeft) {
98
+ bypassSet.clear();
99
+
100
+ var _iterator = _createForOfIteratorHelper(elements),
101
+ _step;
102
+
103
+ try {
104
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
105
+ var elem = _step.value;
106
+
107
+ if (elem === origin) {
108
+ continue;
109
+ }
110
+
111
+ elem.scrollLeft = scrollLeft;
112
+ bypassSet.add(elem);
113
+ }
114
+ } catch (err) {
115
+ _iterator.e(err);
116
+ } finally {
117
+ _iterator.f();
118
+ }
119
+ }
120
+
121
+ var subscription = new Subscription();
122
+
123
+ var _iterator2 = _createForOfIteratorHelper(elements),
124
+ _step2;
125
+
126
+ try {
127
+ var _loop = function _loop() {
128
+ var ele = _step2.value;
129
+
130
+ var listener = function listener() {
131
+ if (bypassSet.has(ele)) {
132
+ bypassSet.delete(ele);
133
+ return;
134
+ }
135
+
136
+ var scrollLeft = ele.scrollLeft;
137
+ publishScrollLeft(ele, scrollLeft);
138
+ callback(scrollLeft);
139
+ };
140
+
141
+ ele.addEventListener('scroll', listener, {
142
+ passive: true
143
+ });
144
+ subscription.add(function () {
145
+ return ele.removeEventListener('scroll', listener);
146
+ });
147
+ };
148
+
149
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
150
+ _loop();
151
+ }
152
+ } catch (err) {
153
+ _iterator2.e(err);
154
+ } finally {
155
+ _iterator2.f();
156
+ }
157
+
158
+ return subscription;
159
+ }
160
+ /**
161
+ * Performs equality by iterating through keys on an object and returning false
162
+ * when any key has values which are not strictly equal between the arguments.
163
+ * Returns true when the values of all keys are strictly equal.
164
+ *
165
+ * 这个函数是从 facebook 某个官方库中复制过来的
166
+ */
167
+
168
+ export function shallowEqual(objA, objB) {
169
+ if (_Object$is(objA, objB)) {
170
+ return true;
171
+ }
172
+
173
+ if (_typeof(objA) !== 'object' || objA === null || _typeof(objB) !== 'object' || objB === null) {
174
+ return false;
175
+ }
176
+
177
+ var keysA = _Object$keys(objA);
178
+
179
+ var keysB = _Object$keys(objB);
180
+
181
+ if (keysA.length !== keysB.length) {
182
+ return false;
183
+ } // Test for A's keys different from B.
184
+
185
+
186
+ for (var i = 0; i < keysA.length; i++) {
187
+ if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !_Object$is(objA[keysA[i]], objB[keysA[i]])) {
188
+ return false;
189
+ }
190
+ }
191
+
192
+ return true;
193
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export declare const InlineFlexCell: any;
3
+ export declare const ExpansionCell: any;
4
+ interface IconProps extends React.SVGProps<SVGElement> {
5
+ height?: number;
6
+ preserveAspectRatio?: string;
7
+ title?: string;
8
+ viewBox?: string;
9
+ width?: number;
10
+ xmlns?: string;
11
+ ref?: any;
12
+ }
13
+ declare function CaretDownIcon(props: IconProps): JSX.Element;
14
+ declare function InfoIcon(props: IconProps): JSX.Element;
15
+ declare function CaretRightIcon(props: IconProps): JSX.Element;
16
+ declare function LoadingIcon(props: IconProps): JSX.Element;
17
+ export declare const icons: {
18
+ Loading: typeof LoadingIcon;
19
+ CaretDown: typeof CaretDownIcon;
20
+ CaretRight: typeof CaretRightIcon;
21
+ Info: typeof InfoIcon;
22
+ };
23
+ export declare const ContextMenuStyleWrap: any;
24
+ export {};
@@ -0,0 +1,70 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import _taggedTemplateLiteral from "@babel/runtime-corejs3/helpers/taggedTemplateLiteral";
3
+
4
+ var _templateObject, _templateObject2, _templateObject3;
5
+
6
+ import React from 'react';
7
+ import styled from 'styled-components';
8
+ import { MenuClasses } from './base/styles';
9
+ export var InlineFlexCell = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline-flex;\n align-items: center;\n"])));
10
+ export var ExpansionCell = styled(InlineFlexCell)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &.leaf {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.expanded {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])));
11
+
12
+ function CaretDownIcon(props) {
13
+ return /*#__PURE__*/React.createElement("svg", _extends({
14
+ focusable: "false",
15
+ preserveAspectRatio: "xMidYMid meet",
16
+ fill: "currentColor",
17
+ width: "16",
18
+ height: "16",
19
+ viewBox: "0 0 32 32"
20
+ }, props), /*#__PURE__*/React.createElement("path", {
21
+ d: "M24 12L16 22 8 12z"
22
+ }));
23
+ }
24
+
25
+ function InfoIcon(props) {
26
+ return /*#__PURE__*/React.createElement("svg", _extends({
27
+ focusable: "false",
28
+ preserveAspectRatio: "xMidYMid meet",
29
+ fill: "currentColor",
30
+ width: "16",
31
+ height: "16",
32
+ viewBox: "0 0 16 16"
33
+ }, props), /*#__PURE__*/React.createElement("path", {
34
+ d: "M8.5 11L8.5 6.5 6.5 6.5 6.5 7.5 7.5 7.5 7.5 11 6 11 6 12 10 12 10 11zM8 3.5c-.4 0-.8.3-.8.8S7.6 5 8 5c.4 0 .8-.3.8-.8S8.4 3.5 8 3.5z"
35
+ }), /*#__PURE__*/React.createElement("path", {
36
+ d: "M8,15c-3.9,0-7-3.1-7-7s3.1-7,7-7s7,3.1,7,7S11.9,15,8,15z M8,2C4.7,2,2,4.7,2,8s2.7,6,6,6s6-2.7,6-6S11.3,2,8,2z"
37
+ }));
38
+ }
39
+
40
+ function CaretRightIcon(props) {
41
+ return /*#__PURE__*/React.createElement("svg", _extends({
42
+ focusable: "false",
43
+ preserveAspectRatio: "xMidYMid meet",
44
+ fill: "currentColor",
45
+ width: "16",
46
+ height: "16",
47
+ viewBox: "0 0 32 32"
48
+ }, props), /*#__PURE__*/React.createElement("path", {
49
+ d: "M12 8L22 16 12 24z"
50
+ }));
51
+ }
52
+
53
+ function LoadingIcon(props) {
54
+ return /*#__PURE__*/React.createElement("svg", _extends({
55
+ width: "16",
56
+ height: "16",
57
+ fill: "currentColor",
58
+ viewBox: "0 0 1024 1024"
59
+ }, props), /*#__PURE__*/React.createElement("path", {
60
+ d: "M512 74.667c-17.067 0-32 14.933-32 32V256c0 17.067 14.933 32 32 32s32-14.933 32-32V106.667c0-17.067-14.933-32-32-32zm181.333 288c8.534 0 17.067-2.134 23.467-8.534L821.333 249.6c12.8-12.8 12.8-32 0-44.8-12.8-12.8-32-12.8-44.8 0L672 309.333c-12.8 12.8-12.8 32 0 44.8 4.267 6.4 12.8 8.534 21.333 8.534zm224 117.333H768c-17.067 0-32 14.933-32 32s14.933 32 32 32h149.333c17.067 0 32-14.933 32-32s-14.933-32-32-32zM714.667 669.867c-12.8-12.8-32-12.8-44.8 0s-12.8 32 0 44.8L774.4 819.2c6.4 6.4 14.933 8.533 23.467 8.533s17.066-2.133 23.466-8.533c12.8-12.8 12.8-32 0-44.8L714.667 669.867zM512 736c-17.067 0-32 14.933-32 32v149.333c0 17.067 14.933 32 32 32s32-14.933 32-32V768c0-17.067-14.933-32-32-32zm-202.667-66.133L204.8 774.4c-12.8 12.8-12.8 32 0 44.8 6.4 6.4 14.933 8.533 23.467 8.533s17.066-2.133 23.466-8.533l104.534-104.533c12.8-12.8 12.8-32 0-44.8s-36.267-12.8-46.934 0zM288 512c0-17.067-14.933-32-32-32H106.667c-17.067 0-32 14.933-32 32s14.933 32 32 32H256c17.067 0 32-14.933 32-32zm-40.533-309.333c-12.8-12.8-32-12.8-44.8 0-12.8 12.8-12.8 32 0 44.8L307.2 352c6.4 6.4 14.933 8.533 23.467 8.533s17.066-2.133 23.466-8.533c12.8-12.8 12.8-32 0-44.8L247.467 202.667z"
61
+ }));
62
+ }
63
+
64
+ export var icons = {
65
+ Loading: LoadingIcon,
66
+ CaretDown: CaretDownIcon,
67
+ CaretRight: CaretRightIcon,
68
+ Info: InfoIcon
69
+ };
70
+ export var ContextMenuStyleWrap = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 13px;\n position:absolute;\n z-index: 1050;\n width:120px;\n }\n\n .", "{\n width:100%;\n display: table;\n }\n\n .", " .", "{\n display: table-row;\n }\n\n .", " .", "{\n background-color: #f5f5f5;\n }\n\n .", " .", " .", "{\n display: table-cell;\n padding: 5px 8px;\n color: #666666;\n }\n\n"])), MenuClasses.menu, MenuClasses.menuList, MenuClasses.menuList, MenuClasses.menuOption, MenuClasses.menuList, MenuClasses.menuOptionActive, MenuClasses.menuList, MenuClasses.menuOption, MenuClasses.menuOptionText);
@@ -0,0 +1,6 @@
1
+ export * from './base';
2
+ export * from './interfaces';
3
+ export * from './utils';
4
+ export * from './transforms';
5
+ export * from './pipeline';
6
+ export * from './internals';
@@ -0,0 +1,6 @@
1
+ export * from './base';
2
+ export * from './interfaces';
3
+ export * from './utils';
4
+ export * from './transforms';
5
+ export * from './pipeline';
6
+ export * from './internals';
@@ -0,0 +1,98 @@
1
+ import React, { ReactNode } from 'react';
2
+ export declare type ArtColumnAlign = 'left' | 'center' | 'right';
3
+ export declare type ArtColumnVerticalAlign = 'top' | 'bottom' | 'middle';
4
+ export declare type CellProps = React.TdHTMLAttributes<HTMLTableCellElement>;
5
+ export interface ArtColumnStaticPart {
6
+ /** 列的名称 */
7
+ name: string;
8
+ /** 列的唯一标识 */
9
+ /** 在数据中的字段 code */
10
+ code?: string;
11
+ /** 列标题的展示名称;在页面中进行展示时,该字段将覆盖 name 字段 */
12
+ title?: ReactNode[] | ReactNode;
13
+ /** 列的宽度,如果该列是锁定的,则宽度为必传项 */
14
+ width?: number;
15
+ /** 单元格中的文本或内容的 对其方向 */
16
+ align?: ArtColumnAlign;
17
+ /** 单元格中的文本或内容的 垂直水平轴对其方向 */
18
+ verticalAlign?: ArtColumnVerticalAlign;
19
+ /** @deprecated 是否隐藏 */
20
+ hidden?: boolean;
21
+ /** 是否锁列 */
22
+ lock?: boolean;
23
+ /** 是否允许拖拽 */
24
+ /** 表头单元格的 props */
25
+ headerCellProps?: CellProps;
26
+ /** 功能开关 */
27
+ features?: {
28
+ [key: string]: any;
29
+ };
30
+ }
31
+ export interface Features {
32
+ /** 是否开启排序功能 */
33
+ sortable?: boolean;
34
+ /** 是否开启过滤功能 */
35
+ filterable?: boolean;
36
+ }
37
+ export interface ArtColumnDynamicPart {
38
+ /** 自定义取数方法 */
39
+ getValue?(row: any, rowIndex: number): any;
40
+ /** 自定义渲染方法 */
41
+ render?(value: any, row: any, rowIndex: number): ReactNode;
42
+ /** 自定义的获取单元格 props 的方法 */
43
+ getCellProps?(value: any, row: any, rowIndex: number): CellProps;
44
+ /** 自定义的获取单元格 SpanRect 方法 */
45
+ getSpanRect?(value: any, row: any, rowIndex: number): SpanRect;
46
+ }
47
+ export interface ArtColumn extends ArtColumnStaticPart, ArtColumnDynamicPart {
48
+ /** 该列的子节点 */
49
+ children?: ArtColumn[];
50
+ }
51
+ /** SpanRect 用于描述合并单元格的边界
52
+ * 注意 top/left 为 inclusive,而 bottom/right 为 exclusive */
53
+ export interface SpanRect {
54
+ top: number;
55
+ bottom: number;
56
+ left: number;
57
+ right: number;
58
+ }
59
+ export interface AbstractTreeNode {
60
+ children?: AbstractTreeNode[];
61
+ }
62
+ export declare type SortOrder = 'desc' | 'asc' | 'none';
63
+ export declare type SortItem = {
64
+ code: string;
65
+ order: SortOrder;
66
+ };
67
+ export interface FilterItem {
68
+ filter: any[];
69
+ code?: string;
70
+ filterCondition?: string;
71
+ }
72
+ export declare type Filters = FilterItem[];
73
+ export declare type Transform<T> = (input: T) => T;
74
+ export declare type TableTransform = Transform<{
75
+ columns: ArtColumn[];
76
+ dataSource: any[];
77
+ }>;
78
+ export interface HoverRange {
79
+ start: number;
80
+ end: number;
81
+ }
82
+ export interface ColumnResizeItem {
83
+ width: number;
84
+ index: number;
85
+ }
86
+ export interface FilterPanelProps {
87
+ isFilterActive: boolean;
88
+ hidePanel(): void;
89
+ }
90
+ export interface DefaultFilterPanelProps extends FilterPanelProps {
91
+ setFilterModel(filterItem?: Pick<FilterItem, 'filter' | 'filterCondition'>): void;
92
+ filterModel: FilterItem;
93
+ }
94
+ export interface CustomeFilterPanelProps extends FilterPanelProps {
95
+ setFilter(filter?: any[]): void;
96
+ filterModel: FilterItem;
97
+ }
98
+ export declare type FilterPanel = React.ComponentType<DefaultFilterPanelProps | CustomeFilterPanelProps>;
File without changes
@@ -0,0 +1,14 @@
1
+ import { ArtColumn } from './interfaces';
2
+ declare function safeRenderHeader(column: ArtColumn): {};
3
+ declare function safeGetValue(column: ArtColumn, record: any, rowIndex: number): any;
4
+ declare function safeGetRowKey(primaryKey: string | ((record: any) => string), record: any, rowIndex: number): string;
5
+ declare function safeGetCellProps(column: ArtColumn, record: any, rowIndex: number): import("./interfaces").CellProps;
6
+ declare function safeRender(column: ArtColumn, record: any, rowIndex: number): any;
7
+ export declare const internals: {
8
+ readonly safeRenderHeader: typeof safeRenderHeader;
9
+ readonly safeGetValue: typeof safeGetValue;
10
+ readonly safeGetRowKey: typeof safeGetRowKey;
11
+ readonly safeGetCellProps: typeof safeGetCellProps;
12
+ readonly safeRender: typeof safeRender;
13
+ };
14
+ export {};
@@ -0,0 +1,56 @@
1
+ function safeRenderHeader(column) {
2
+ var _a;
3
+
4
+ return (_a = column.title) !== null && _a !== void 0 ? _a : column.name;
5
+ }
6
+
7
+ function safeGetValue(column, record, rowIndex) {
8
+ if (column.getValue) {
9
+ return column.getValue(record, rowIndex);
10
+ }
11
+
12
+ return record[column.code];
13
+ }
14
+
15
+ function safeGetRowKey(primaryKey, record, rowIndex) {
16
+ var key;
17
+
18
+ if (typeof primaryKey === 'string') {
19
+ key = record[primaryKey];
20
+ } else if (typeof primaryKey === 'function') {
21
+ key = primaryKey(record);
22
+ }
23
+
24
+ if (key == null) {
25
+ key = String(rowIndex);
26
+ }
27
+
28
+ return key;
29
+ }
30
+
31
+ function safeGetCellProps(column, record, rowIndex) {
32
+ if (column.getCellProps) {
33
+ var value = safeGetValue(column, record, rowIndex);
34
+ return column.getCellProps(value, record, rowIndex) || {};
35
+ }
36
+
37
+ return {};
38
+ }
39
+
40
+ function safeRender(column, record, rowIndex) {
41
+ var value = safeGetValue(column, record, rowIndex);
42
+
43
+ if (column.render) {
44
+ return column.render(value, record, rowIndex);
45
+ }
46
+
47
+ return value;
48
+ }
49
+
50
+ export var internals = {
51
+ safeRenderHeader: safeRenderHeader,
52
+ safeGetValue: safeGetValue,
53
+ safeGetRowKey: safeGetRowKey,
54
+ safeGetCellProps: safeGetCellProps,
55
+ safeRender: safeRender
56
+ };
@@ -0,0 +1,152 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
4
+
5
+ var __rest = this && this.__rest || function (s, e) {
6
+ var t = {};
7
+
8
+ for (var p in s) {
9
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
10
+ }
11
+
12
+ if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
13
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
14
+ }
15
+ return t;
16
+ };
17
+
18
+ import React from 'react';
19
+ import { renderHook, act } from '@testing-library/react-hooks';
20
+ import { mount } from 'enzyme';
21
+ import { multiSelect } from '../multiSelect';
22
+ import { useTablePipeline } from '../../pipeline';
23
+ var NAME = 'multiSelect';
24
+
25
+ var MockCheckbox = function MockCheckbox(_a) {
26
+ var indeterminate = _a.indeterminate,
27
+ props = __rest(_a, ["indeterminate"]);
28
+
29
+ return /*#__PURE__*/React.createElement("input", _extends({
30
+ type: 'checkbox',
31
+ className: 'checkbox'
32
+ }, props));
33
+ };
34
+
35
+ var ROWS = [{
36
+ id: '1'
37
+ }];
38
+ var INPUT_DATA = {
39
+ columns: [],
40
+ dataSource: ROWS
41
+ };
42
+ describe("".concat(NAME), function () {
43
+ it('not set Checkbox', function () {
44
+ var _renderHook = renderHook(function () {
45
+ return useTablePipeline();
46
+ }),
47
+ result = _renderHook.result;
48
+
49
+ var _multiSelect = function _multiSelect() {
50
+ return multiSelect()(result.current);
51
+ };
52
+
53
+ expect(_multiSelect).toThrowError(/Checkbox/);
54
+ });
55
+ it('set require props,test checkboxColumn render, cell change and select all event', function () {
56
+ var _renderHook2 = renderHook(function () {
57
+ return useTablePipeline({
58
+ components: {
59
+ Checkbox: MockCheckbox
60
+ }
61
+ }).input(INPUT_DATA).primaryKey('id');
62
+ }),
63
+ result = _renderHook2.result;
64
+
65
+ multiSelect({
66
+ stopClickEventPropagation: true // 阻止冒泡
67
+
68
+ })(result.current);
69
+ expect(result.current.getColumns().length).toBeGreaterThan(0);
70
+ var checkboxColumn = result.current.getColumns()[0];
71
+ var wrapper = mount(checkboxColumn.render({}, {
72
+ id: '1'
73
+ }, 0)); // 测试复选框行点击onChange
74
+
75
+ act(function () {
76
+ _findInstanceProperty(wrapper).call(wrapper, MockCheckbox).at(0).simulate('change', {
77
+ target: {},
78
+ nativeEvent: {
79
+ stopPropagation: jest.fn()
80
+ }
81
+ });
82
+ });
83
+ expect(result.current.getStateAtKey('multiSelect')).toMatchObject({
84
+ "lastKey": "1",
85
+ "value": ["1"]
86
+ });
87
+ var titleWrapper = mount(checkboxColumn.title); // 测试选择列表头全选
88
+
89
+ act(function () {
90
+ _findInstanceProperty(titleWrapper).call(titleWrapper, MockCheckbox).at(0).simulate('change');
91
+ });
92
+ });
93
+ it('set clickArea=cell, test getCellProps and cell click', function () {
94
+ var _renderHook3 = renderHook(function () {
95
+ return useTablePipeline({
96
+ components: {
97
+ Checkbox: MockCheckbox
98
+ }
99
+ }).input(INPUT_DATA).primaryKey('id');
100
+ }),
101
+ result = _renderHook3.result;
102
+
103
+ multiSelect({
104
+ clickArea: 'cell'
105
+ })(result.current);
106
+ var checkboxColumn = result.current.getColumns()[0]; // 测试getCellProps
107
+
108
+ var cellProps = checkboxColumn.getCellProps('', ROWS[0], 0);
109
+
110
+ if (typeof cellProps.onClick === 'function') {
111
+ act(function () {
112
+ var mockEvent = {};
113
+ cellProps.onClick(mockEvent);
114
+ });
115
+ expect(result.current.getStateAtKey('multiSelect')).toMatchObject({
116
+ "lastKey": "1",
117
+ "value": ["1"]
118
+ });
119
+ }
120
+ });
121
+ it('set clickArea=row, test appendRowPropsGetter fn', function () {
122
+ var _renderHook4 = renderHook(function () {
123
+ return useTablePipeline({
124
+ components: {
125
+ Checkbox: MockCheckbox
126
+ }
127
+ }).input(INPUT_DATA).primaryKey('id');
128
+ }),
129
+ result = _renderHook4.result;
130
+
131
+ var pipeline = multiSelect({
132
+ lastKey: '1',
133
+ clickArea: 'row'
134
+ })(result.current); // 调用 appendRowPropsGetter 设置的函数
135
+
136
+ var props = pipeline.getProps();
137
+ var rowProps = props.getRowProps(ROWS[0], 0);
138
+
139
+ if (rowProps.onClick) {
140
+ act(function () {
141
+ var mockEvent = {
142
+ shiftKey: true
143
+ };
144
+ rowProps.onClick(mockEvent);
145
+ });
146
+ expect(result.current.getStateAtKey('multiSelect')).toMatchObject({
147
+ "lastKey": "1",
148
+ "value": ["1"]
149
+ });
150
+ }
151
+ });
152
+ });