@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,546 @@
1
+ import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
3
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
6
+ import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
7
+ import React, { useEffect, useState, useCallback, useRef, cloneElement } from 'react';
8
+ import ReactDOM from 'react-dom';
9
+ import { tuple } from '../_utils/type';
10
+ import debounce from 'lodash/debounce';
11
+ import classNames from 'classnames';
12
+ import devWarning from '../_utils/devwarning';
13
+ import { useResizeObserver } from '../_utils/hooks';
14
+ export var Placements = tuple('top', 'left', 'right', 'bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom');
15
+ export var Triggers = tuple('hover', 'focus', 'click', 'contextMenu');
16
+
17
+ var getOffsetPos = function getOffsetPos(el) {
18
+ var elPos = {
19
+ top: el.offsetTop,
20
+ left: el.offsetLeft
21
+ };
22
+
23
+ if (el.offsetParent) {
24
+ var parentPos = getOffsetPos(el.offsetParent);
25
+ elPos.top += parentPos.top;
26
+ elPos.left += parentPos.left;
27
+ }
28
+
29
+ return elPos;
30
+ };
31
+
32
+ var getScrollDist = function getScrollDist(el) {
33
+ var elScroll = {
34
+ top: el.scrollTop,
35
+ left: el.scrollLeft
36
+ };
37
+
38
+ if (el.parentElement && el.parentElement !== document.body) {
39
+ var parentScroll = getScrollDist(el.parentElement);
40
+ elScroll.top += parentScroll.top;
41
+ elScroll.left += parentScroll.left;
42
+ }
43
+
44
+ return elScroll;
45
+ };
46
+
47
+ function usePopper(locatorElement, popperElement, props) {
48
+ var _context, _context2;
49
+
50
+ var prefixCls = props.prefixCls,
51
+ onTrigger = props.onTrigger,
52
+ popperStyle = props.popperStyle,
53
+ _props$arrow = props.arrow,
54
+ arrow = _props$arrow === void 0 ? false : _props$arrow,
55
+ onVisibleChange = props.onVisibleChange,
56
+ popperClassName = props.popperClassName,
57
+ _props$arrowOffset = props.arrowOffset,
58
+ arrowOffset = _props$arrowOffset === void 0 ? 12 : _props$arrowOffset,
59
+ _props$arrowSize = props.arrowSize,
60
+ arrowSize = _props$arrowSize === void 0 ? 4.25 : _props$arrowSize,
61
+ locatorClassName = props.locatorClassName,
62
+ _props$disabled = props.disabled,
63
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
64
+ _props$trigger = props.trigger,
65
+ trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
66
+ _props$placement = props.placement,
67
+ placement = _props$placement === void 0 ? 'top' : _props$placement,
68
+ _props$gap = props.gap,
69
+ defalutGap = _props$gap === void 0 ? 4 : _props$gap,
70
+ _props$scrollHidden = props.scrollHidden,
71
+ scrollHidden = _props$scrollHidden === void 0 ? false : _props$scrollHidden,
72
+ _props$mouseEnterDela = props.mouseEnterDelay,
73
+ mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,
74
+ _props$mouseLeaveDela = props.mouseLeaveDelay,
75
+ mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,
76
+ _props$defaultVisible = props.defaultVisible,
77
+ defaultVisible = _props$defaultVisible === void 0 ? false : _props$defaultVisible,
78
+ _props$getTriggerElem = props.getTriggerElement,
79
+ getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
80
+ return locatorNode;
81
+ } : _props$getTriggerElem,
82
+ _props$getPopupContai = props.getPopupContainer,
83
+ getPopupContainer = _props$getPopupContai === void 0 ? function () {
84
+ return document.body;
85
+ } : _props$getPopupContai;
86
+ var arrowWidth = Math.sqrt(2 * Math.pow(arrowSize, 2));
87
+ var componentName = (prefixCls === null || prefixCls === void 0 ? void 0 : prefixCls.split('-')[1]) || '';
88
+ devWarning(Placements.indexOf(placement) === -1, componentName, _concatInstanceProperty(_context = "cannot found ".concat(componentName, " placement '")).call(_context, placement, "'"));
89
+ var isWrongTrigger = Array.isArray(trigger) ? trigger.some(function (v) {
90
+ return !_includesInstanceProperty(Triggers).call(Triggers, v);
91
+ }) : Triggers.indexOf(trigger) === -1;
92
+ devWarning(isWrongTrigger, componentName, _concatInstanceProperty(_context2 = "cannot found ".concat(componentName, " trigger '")).call(_context2, trigger, "'"));
93
+ var locatorEl = useRef();
94
+ var popperEl = useRef();
95
+ var locatorRef = locatorElement.ref || locatorEl;
96
+ var popperRef = popperElement.ref || popperEl;
97
+ var container = getPopupContainer(locatorRef.current);
98
+
99
+ _Promise.resolve().then(function () {
100
+ var triggerNode = getTriggerElement(locatorRef.current);
101
+ var container = getPopupContainer(locatorRef.current);
102
+ devWarning(!triggerNode, componentName, 'getTriggerElement() must return a HTMLElement, but now it does not return anything');
103
+ devWarning(!container, componentName, 'getPopupContainer() must return a HTMLElement, but now it does not return anything');
104
+ });
105
+
106
+ var initPos = {
107
+ top: 0,
108
+ left: 0,
109
+ right: 0,
110
+ bottom: 0,
111
+ x: 0,
112
+ y: 0,
113
+ height: 0,
114
+ width: 0
115
+ };
116
+ var initAlign = {
117
+ top: 0,
118
+ left: 0
119
+ };
120
+ var gap = defalutGap + (arrow ? 10 : 0);
121
+
122
+ var _useState = useState(initPos),
123
+ _useState2 = _slicedToArray(_useState, 2),
124
+ mousePos = _useState2[0],
125
+ setMousePos = _useState2[1];
126
+
127
+ var _useState3 = useState(initAlign),
128
+ _useState4 = _slicedToArray(_useState3, 2),
129
+ arrowPos = _useState4[0],
130
+ setArrowPos = _useState4[1];
131
+
132
+ var _useState5 = useState(!!props.visible || defaultVisible),
133
+ _useState6 = _slicedToArray(_useState5, 2),
134
+ exist = _useState6[0],
135
+ setExist = _useState6[1];
136
+
137
+ var _useState7 = useState(false),
138
+ _useState8 = _slicedToArray(_useState7, 2),
139
+ visible = _useState8[0],
140
+ setVisible = _useState8[1];
141
+
142
+ useEffect(function () {
143
+ setVisible(!!props.visible);
144
+ }, [props.visible]);
145
+
146
+ var _useState9 = useState(''),
147
+ _useState10 = _slicedToArray(_useState9, 2),
148
+ evType = _useState10[0],
149
+ setEvType = _useState10[1];
150
+
151
+ var _useState11 = useState(!!props.visible || defaultVisible),
152
+ _useState12 = _slicedToArray(_useState11, 2),
153
+ canAlign = _useState12[0],
154
+ setCanAlign = _useState12[1];
155
+
156
+ var _useState13 = useState(initAlign),
157
+ _useState14 = _slicedToArray(_useState13, 2),
158
+ align = _useState14[0],
159
+ setAlign = _useState14[1];
160
+
161
+ var _useState15 = useState(placement),
162
+ _useState16 = _slicedToArray(_useState15, 2),
163
+ currentPlacement = _useState16[0],
164
+ setCurrentPlacement = _useState16[1];
165
+
166
+ var alignPopper = useCallback(function () {
167
+ if ((locatorRef === null || locatorRef === void 0 ? void 0 : locatorRef.current) && (popperRef === null || popperRef === void 0 ? void 0 : popperRef.current) && evType) {
168
+ var _popperRef$current$ge = popperRef.current.getBoundingClientRect(),
169
+ popperWidth = _popperRef$current$ge.width,
170
+ popperHeight = _popperRef$current$ge.height;
171
+
172
+ var _locatorRef$current$g = locatorRef.current.getBoundingClientRect(),
173
+ top = _locatorRef$current$g.top,
174
+ bottom = _locatorRef$current$g.bottom,
175
+ left = _locatorRef$current$g.left,
176
+ right = _locatorRef$current$g.right,
177
+ height = _locatorRef$current$g.height,
178
+ width = _locatorRef$current$g.width;
179
+
180
+ var _getOffsetPos = getOffsetPos(container),
181
+ containerTop = _getOffsetPos.top,
182
+ containerLeft = _getOffsetPos.left;
183
+
184
+ var _getOffsetPos2 = getOffsetPos(locatorRef.current),
185
+ locatorTop = _getOffsetPos2.top,
186
+ locatorLeft = _getOffsetPos2.left;
187
+
188
+ var _getScrollDist = getScrollDist(locatorRef.current),
189
+ scrollTop = _getScrollDist.top,
190
+ scrollLeft = _getScrollDist.left;
191
+
192
+ var locatorPos = {
193
+ width: width,
194
+ height: height,
195
+ y: locatorTop - containerTop - scrollTop,
196
+ x: locatorLeft - containerLeft - scrollLeft,
197
+ top: locatorTop - containerTop - scrollTop,
198
+ left: locatorLeft - containerLeft - scrollLeft,
199
+ right: locatorLeft + width - containerLeft - scrollLeft,
200
+ bottom: locatorTop + height - containerTop - scrollTop
201
+ };
202
+ var currentPos = evType === 'contextmenu' ? mousePos : locatorPos;
203
+ var _currentPlacement = placement;
204
+
205
+ if (top - gap - popperHeight < 0) {
206
+ _currentPlacement = _currentPlacement.replace('top', 'bottom');
207
+ }
208
+
209
+ if (bottom + gap + popperHeight > document.body.clientHeight) {
210
+ _currentPlacement = _currentPlacement.replace('bottom', 'top');
211
+ }
212
+
213
+ if (left + popperWidth > document.body.clientWidth) {
214
+ _currentPlacement = _currentPlacement.replace('Left', 'Right');
215
+ }
216
+
217
+ if (right - popperWidth < 0) {
218
+ _currentPlacement = _currentPlacement.replace('Right', 'Left');
219
+ }
220
+
221
+ if (top + popperHeight > document.body.clientHeight) {
222
+ _currentPlacement = _currentPlacement.replace('Top', 'Bottom');
223
+ }
224
+
225
+ if (bottom - popperHeight < 0) {
226
+ _currentPlacement = _currentPlacement.replace('Bottom', 'Top');
227
+ }
228
+
229
+ if (left - gap - popperWidth < 0) {
230
+ _currentPlacement = _currentPlacement.replace('left', 'right');
231
+ }
232
+
233
+ if (right + gap + popperWidth > document.body.clientWidth) {
234
+ _currentPlacement = _currentPlacement.replace('right', 'left');
235
+ }
236
+
237
+ var leftLeft = currentPos.left - popperWidth - gap;
238
+ var topTop = currentPos.top - gap - popperHeight;
239
+ var bottomTop = currentPos.top + currentPos.height + gap;
240
+ var rightLeft = currentPos.left + currentPos.width - popperWidth;
241
+ var centerLeft = currentPos.left + (currentPos.width - popperWidth) / 2;
242
+ var centerTop = currentPos.top - (popperHeight - currentPos.height) / 2;
243
+ var topBottom = currentPos.bottom - popperHeight;
244
+ var leftRight = currentPos.right + gap;
245
+ var mapAlign = {
246
+ topLeft: {
247
+ left: currentPos.left,
248
+ top: topTop
249
+ },
250
+ top: {
251
+ left: centerLeft,
252
+ top: topTop
253
+ },
254
+ topRight: {
255
+ left: rightLeft,
256
+ top: topTop
257
+ },
258
+ bottomLeft: {
259
+ left: currentPos.left,
260
+ top: bottomTop
261
+ },
262
+ bottom: {
263
+ left: centerLeft,
264
+ top: bottomTop
265
+ },
266
+ bottomRight: {
267
+ left: rightLeft,
268
+ top: bottomTop
269
+ },
270
+ leftTop: {
271
+ left: leftLeft,
272
+ top: currentPos.top
273
+ },
274
+ left: {
275
+ left: leftLeft,
276
+ top: centerTop
277
+ },
278
+ leftBottom: {
279
+ left: leftLeft,
280
+ top: topBottom
281
+ },
282
+ rightTop: {
283
+ left: leftRight,
284
+ top: currentPos.top
285
+ },
286
+ right: {
287
+ left: leftRight,
288
+ top: centerTop
289
+ },
290
+ rightBottom: {
291
+ left: leftRight,
292
+ top: topBottom
293
+ }
294
+ };
295
+ var alignPos = mapAlign[_currentPlacement];
296
+ var _arrowPos = {
297
+ top: 0,
298
+ left: 0
299
+ };
300
+
301
+ if (/left/.test(_currentPlacement) || /right/.test(_currentPlacement)) {
302
+ if (/Top/.test(_currentPlacement)) {
303
+ _arrowPos.top = arrowOffset;
304
+ } else if (/Bottom/.test(_currentPlacement)) {
305
+ _arrowPos.top = popperHeight - arrowOffset - 2 * arrowSize;
306
+ } else {
307
+ _arrowPos.top = (popperHeight - arrowWidth) / 2;
308
+ }
309
+
310
+ if (top <= 0) {
311
+ alignPos.top = locatorPos.top;
312
+ _arrowPos.top = arrowOffset;
313
+ } else if (bottom - height / 4 >= document.body.clientHeight) {
314
+ alignPos.top = locatorPos.bottom - popperHeight;
315
+ _arrowPos.top = popperHeight - arrowOffset - 2 * arrowSize;
316
+ } else {
317
+ var _scrollTop = alignPos.top - window.pageYOffset;
318
+
319
+ var scrollBottom = alignPos.top + popperHeight - 5 - window.pageYOffset;
320
+
321
+ if (_scrollTop < 0) {
322
+ alignPos.top -= _scrollTop;
323
+ _arrowPos.top += _scrollTop;
324
+ }
325
+
326
+ if (scrollBottom > document.body.clientHeight) {
327
+ alignPos.top += document.body.clientHeight - scrollBottom;
328
+ _arrowPos.top += scrollBottom - document.body.clientHeight;
329
+ }
330
+ }
331
+ }
332
+
333
+ if (/top/.test(_currentPlacement) || /bottom/.test(_currentPlacement)) {
334
+ if (/Left/.test(_currentPlacement)) {
335
+ _arrowPos.left = arrowOffset;
336
+ } else if (/Right/.test(_currentPlacement)) {
337
+ _arrowPos.left = popperWidth - arrowOffset - 2 * arrowSize;
338
+ } else {
339
+ _arrowPos.left = (popperWidth - arrowWidth) / 2;
340
+ }
341
+ }
342
+
343
+ setAlign(alignPos);
344
+ setArrowPos(_arrowPos);
345
+ setCurrentPlacement(_currentPlacement);
346
+ }
347
+ }, [locatorRef, popperRef, container, evType, mousePos, placement, gap, arrowOffset, arrowSize, arrowWidth]);
348
+ useEffect(function () {
349
+ if (canAlign) {
350
+ alignPopper();
351
+ setCanAlign(false);
352
+ props.visible === undefined && setVisible(true);
353
+ onVisibleChange && onVisibleChange(true);
354
+ }
355
+ }, [alignPopper, canAlign, onVisibleChange, props]);
356
+ var arrowStyle = {
357
+ '--arrowSize': arrowSize + 'px',
358
+ '--arrowTop': arrowPos.top + 'px',
359
+ '--arrowLeft': arrowPos.left + 'px',
360
+ '--arrowOffset': arrowSize / -1.2 + 'px'
361
+ };
362
+
363
+ var popperContainerStyle = _extends(_extends(_extends({
364
+ position: 'absolute'
365
+ }, popperStyle), align), arrow ? arrowStyle : {});
366
+
367
+ var locatorProps = {
368
+ disabled: disabled,
369
+ ref: locatorRef,
370
+ style: locatorElement.props.style,
371
+ className: classNames(locatorClassName, locatorElement.props.className)
372
+ };
373
+ var popperProps = {
374
+ ref: popperRef,
375
+ style: popperContainerStyle,
376
+ className: classNames(prefixCls, popperClassName, currentPlacement, _defineProperty({
377
+ arrow: arrow,
378
+ hidden: !visible
379
+ }, "".concat(currentPlacement, "-active"), visible))
380
+ };
381
+ var popperNode = popperRef.current;
382
+ var locatorNode = locatorRef.current;
383
+ useResizeObserver(popperNode, alignPopper);
384
+ useResizeObserver(locatorNode, alignPopper);
385
+ useEffect(function () {
386
+ if (exist && visible) {
387
+ var mouseleaveTimer;
388
+
389
+ var handleHidePopper = function handleHidePopper(e) {
390
+ mouseleaveTimer && clearTimeout(mouseleaveTimer);
391
+ var triggerNode = getTriggerElement(locatorRef.current);
392
+ var triggerRect = triggerNode.getBoundingClientRect();
393
+ var popperRect = popperRef.current.getBoundingClientRect();
394
+ var left = /left/.test(currentPlacement) ? popperRect.right : triggerRect.left;
395
+ var right = /right/.test(currentPlacement) ? popperRect.left : triggerRect.right;
396
+ var top = /top/.test(currentPlacement) ? popperRect.bottom : triggerRect.top;
397
+ var bottom = /bottom/.test(currentPlacement) ? popperRect.top : triggerRect.bottom;
398
+ var X = e.clientX,
399
+ Y = e.clientY;
400
+ var inTriggerRect = X > left - 2 && X < right + 2 && Y > top - 2 && Y < bottom + 2;
401
+ var inPopperRect = X > popperRect.left && X < popperRect.right && Y > popperRect.top && Y < popperRect.bottom;
402
+ var ableArea = evType === 'click' || evType === 'contextmenu' ? inPopperRect : inTriggerRect || inPopperRect;
403
+
404
+ var hidePopper = function hidePopper() {
405
+ setEvType('');
406
+ props.visible === undefined && setVisible(false);
407
+ onVisibleChange && onVisibleChange(false);
408
+ };
409
+
410
+ if (ableArea) {
411
+ evType === 'focus' && triggerNode.focus();
412
+ } else {
413
+ evType === 'mouseenter' ? mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000) : hidePopper();
414
+ }
415
+ };
416
+
417
+ var debounceHidePopper = debounce(handleHidePopper, 10);
418
+
419
+ if (evType === 'mouseenter') {
420
+ document.addEventListener('mousemove', debounceHidePopper);
421
+ } else {
422
+ document.addEventListener('click', handleHidePopper);
423
+ }
424
+
425
+ return function () {
426
+ if (evType === 'mouseenter') {
427
+ document.removeEventListener('mousemove', debounceHidePopper);
428
+ } else {
429
+ document.removeEventListener('click', handleHidePopper);
430
+ }
431
+ };
432
+ }
433
+ }, [props, exist, evType, trigger, visible, popperRef, locatorRef, mouseLeaveDelay, onVisibleChange, currentPlacement, getTriggerElement]);
434
+ useEffect(function () {
435
+ if (visible) {
436
+ var scrollAlign = debounce(function () {
437
+ if (scrollHidden) {
438
+ props.visible === undefined && setVisible(false);
439
+ onVisibleChange && onVisibleChange(false);
440
+ }
441
+
442
+ alignPopper();
443
+ }, 10);
444
+ window.addEventListener('resize', alignPopper);
445
+ document.addEventListener('scroll', scrollAlign, true);
446
+ locatorNode === null || locatorNode === void 0 ? void 0 : locatorNode.addEventListener('DOMSubtreeModified', alignPopper);
447
+ exist && (popperNode === null || popperNode === void 0 ? void 0 : popperNode.addEventListener('DOMSubtreeModified', alignPopper));
448
+ return function () {
449
+ window.removeEventListener('resize', alignPopper);
450
+ document.removeEventListener('scroll', scrollAlign, true);
451
+ locatorNode === null || locatorNode === void 0 ? void 0 : locatorNode.removeEventListener('DOMSubtreeModified', alignPopper);
452
+ exist && (popperNode === null || popperNode === void 0 ? void 0 : popperNode.removeEventListener('DOMSubtreeModified', alignPopper));
453
+ };
454
+ }
455
+ }, [alignPopper, exist, onVisibleChange, popperNode, props.visible, scrollHidden, locatorNode, visible]);
456
+ React.useEffect(function () {
457
+ var triggerNode = getTriggerElement(locatorRef.current);
458
+
459
+ if (triggerNode) {
460
+ var mouseenterTimer;
461
+
462
+ var clearMouseLeave = function clearMouseLeave() {
463
+ return clearTimeout(mouseenterTimer);
464
+ };
465
+
466
+ var addAction = function addAction(action) {
467
+ if (action === 'hover') {
468
+ triggerNode.addEventListener('mouseenter', handleShowPopper);
469
+ triggerNode.addEventListener('mouseleave', clearMouseLeave);
470
+ } else {
471
+ triggerNode.addEventListener(action.toLowerCase(), handleShowPopper);
472
+ }
473
+ };
474
+
475
+ var removeAction = function removeAction(action) {
476
+ if (action === 'hover') {
477
+ triggerNode.removeEventListener('mouseenter', handleShowPopper);
478
+ triggerNode.removeEventListener('mouseleave', clearMouseLeave);
479
+ } else {
480
+ triggerNode.removeEventListener(action.toLowerCase(), handleShowPopper);
481
+ }
482
+ };
483
+
484
+ var handleShowPopper = function handleShowPopper(e) {
485
+ e.preventDefault();
486
+ var evType = e.type;
487
+
488
+ if (evType === 'contextmenu') {
489
+ var currentMousePos = _extends(_extends({}, mousePos), {
490
+ x: e.pageX,
491
+ y: e.pageY,
492
+ left: e.pageX,
493
+ top: e.pageY,
494
+ right: e.pageX,
495
+ bottom: e.pageY
496
+ });
497
+
498
+ setMousePos(currentMousePos);
499
+ }
500
+
501
+ var showPopper = function showPopper(evType) {
502
+ if (!disabled) {
503
+ !exist && setExist(true);
504
+ setEvType(evType);
505
+
506
+ if (onTrigger) {
507
+ var mapTrigger = {
508
+ mouseenter: 'hover',
509
+ click: 'click',
510
+ focus: 'focus',
511
+ contextmenu: 'contextMenu'
512
+ };
513
+ onTrigger(mapTrigger[evType]);
514
+ }
515
+
516
+ if (!visible || evType === 'contextmenu') {
517
+ setCanAlign(true);
518
+ }
519
+ }
520
+ };
521
+
522
+ if (evType === 'mouseenter') {
523
+ mouseenterTimer = window.setTimeout(function () {
524
+ return showPopper(evType);
525
+ }, mouseEnterDelay * 1000);
526
+ } else {
527
+ showPopper(evType);
528
+ }
529
+ };
530
+
531
+ Array.isArray(trigger) ? trigger.forEach(function (action) {
532
+ return addAction(action);
533
+ }) : addAction(trigger);
534
+ return function () {
535
+ Array.isArray(trigger) ? trigger.forEach(function (action) {
536
+ return removeAction(action);
537
+ }) : removeAction(trigger);
538
+ };
539
+ }
540
+ }, [disabled, exist, getTriggerElement, locatorRef, mouseEnterDelay, mousePos, onTrigger, trigger, visible]);
541
+ var Locate = /*#__PURE__*/cloneElement(locatorElement, locatorProps);
542
+ var Popper = /*#__PURE__*/React.createElement("div", _extends({}, popperProps), popperElement);
543
+ return /*#__PURE__*/React.createElement(React.Fragment, null, Locate, exist && container && /*#__PURE__*/ReactDOM.createPortal(Popper, container));
544
+ }
545
+
546
+ export default usePopper;
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ import { LocaleConfigType, CompLangMsgParams, ComponentType } from '../locale';
3
+ interface IntlUniversal {
4
+ getCompLangMsg: (compLangMsgParams: CompLangMsgParams, customGetLangMsg?: (componentName: string, labelName: string, params: any) => any) => any;
5
+ getLangMsg: (componentName: ComponentType | string, labelName: string, params?: any) => string | React.ReactNode[];
6
+ }
7
+ export interface IConfigProps {
8
+ getPrefixCls?: (configPrefixCls?: string, suffixCls?: string, customizePrefixCls?: string) => string;
9
+ compDefaultProps?: any;
10
+ prefixCls?: string;
11
+ localeConfig?: LocaleConfigType;
12
+ locale?: IntlUniversal;
13
+ }
14
+ export interface IContextConfigProps {
15
+ getPrefixCls?: (configPrefixCls?: string, suffixCls?: string, customizePrefixCls?: string) => string;
16
+ compDefaultProps?: any;
17
+ prefixCls?: string;
18
+ localeConfig?: LocaleConfigType;
19
+ locale: IntlUniversal;
20
+ }
21
+ declare const ConfigContext: import("react").Context<IContextConfigProps>;
22
+ export default ConfigContext;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 提供外层注入属性的context
3
+ */
4
+ import { createContext } from 'react';
5
+ import defaultConfig from './defaultConfig';
6
+ var ConfigContext = /*#__PURE__*/createContext(defaultConfig);
7
+ export default ConfigContext;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 组件默认属性,所有组件的默认属性都在这里写,
3
+ * 而不是在组件文件中以“componentName.defaultProps”的方式去写
4
+ * componentName: defaultPropsObj
5
+ * (用于处理用户自定义默认属性)
6
+ */
7
+ declare const compDefaultProps: {};
8
+ export default compDefaultProps;
@@ -0,0 +1,10 @@
1
+ // import * as React from 'react'
2
+
3
+ /**
4
+ * 组件默认属性,所有组件的默认属性都在这里写,
5
+ * 而不是在组件文件中以“componentName.defaultProps”的方式去写
6
+ * componentName: defaultPropsObj
7
+ * (用于处理用户自定义默认属性)
8
+ */
9
+ var compDefaultProps = {};
10
+ export default compDefaultProps;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 对外暴露用于注入全局配置属性的Context.Provider
3
+ */
4
+ import React, { FunctionComponentElement } from 'react';
5
+ import { IConfigProps } from './ConfigContext';
6
+ interface IConfigProviderProps {
7
+ value?: IConfigProps;
8
+ children?: React.ReactNode;
9
+ }
10
+ declare const ConfigProvider: (props: IConfigProviderProps) => FunctionComponentElement<IConfigProviderProps>;
11
+ export default ConfigProvider;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * 对外暴露用于注入全局配置属性的Context.Provider
3
+ */
4
+ import React from 'react';
5
+ import assign from 'lodash/assign';
6
+ import ConfigContext from './ConfigContext';
7
+ import defaultConfig from './defaultConfig';
8
+ import localeCacher, { getLangMsg as getLang, getCompLangMsg as getCompLang } from '../locale/index';
9
+
10
+ var ConfigProvider = function ConfigProvider(props) {
11
+ // 处理当前语言
12
+ var value = props.value;
13
+ var localeConfig = value && value.localeConfig;
14
+ var locale = {
15
+ getLangMsg: function getLangMsg(componentName, labelName, params) {
16
+ if (localeConfig && localeConfig.customGetLangMsg) {
17
+ return localeConfig.customGetLangMsg(componentName, labelName, params);
18
+ }
19
+
20
+ return getLang(componentName, labelName, params);
21
+ },
22
+ getCompLangMsg: function getCompLangMsg(compLangMsgParams) {
23
+ return getCompLang(compLangMsgParams, localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.customGetLangMsg);
24
+ }
25
+ };
26
+
27
+ if (localeConfig) {
28
+ localeCacher.setLocalesData(localeConfig.locale, localeConfig.localeData);
29
+ } // 处理组件默认属性
30
+
31
+
32
+ var providerValue = assign({}, defaultConfig, value, {
33
+ locale: locale
34
+ });
35
+ return /*#__PURE__*/React.createElement(ConfigContext.Provider, {
36
+ value: providerValue
37
+ }, props.children);
38
+ };
39
+
40
+ export default ConfigProvider;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ declare const defaultConfig: {
3
+ getPrefixCls: (configPrefixCls?: string, suffixCls?: string, customizePrefixCls?: string) => string;
4
+ prefixCls: string;
5
+ locale: {
6
+ getLangMsg: (componentName: string, labelName: string, params?: any) => string | import("react").ReactNode[];
7
+ getCompLangMsg: (compLangMsgParams: import("../locale").CompLangMsgParams, customGetLangMsg?: (componentName: string, labelName: string, params: any) => any, localeDate?: any) => any;
8
+ };
9
+ };
10
+ export default defaultConfig;
@@ -0,0 +1,18 @@
1
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
2
+ import { getLangMsg, getCompLangMsg } from '../locale';
3
+ var defaultConfig = {
4
+ getPrefixCls: function getPrefixCls(configPrefixCls, suffixCls, customizePrefixCls) {
5
+ var _context;
6
+
7
+ // 获取样式前缀方法
8
+ if (customizePrefixCls) return customizePrefixCls;
9
+ configPrefixCls = configPrefixCls || 'kd';
10
+ return suffixCls ? _concatInstanceProperty(_context = "".concat(configPrefixCls, "-")).call(_context, suffixCls) : configPrefixCls;
11
+ },
12
+ prefixCls: 'kd',
13
+ locale: {
14
+ getLangMsg: getLangMsg,
15
+ getCompLangMsg: getCompLangMsg
16
+ }
17
+ };
18
+ export default defaultConfig;
@@ -0,0 +1,6 @@
1
+ import ConfigProvider from './configProvider';
2
+ import compDefaultProps from './compDefaultProps';
3
+ import ConfigContext from './ConfigContext';
4
+ import defaultConfig from './defaultConfig';
5
+ export { compDefaultProps, ConfigContext, defaultConfig };
6
+ export default ConfigProvider;