@douyinfe/semi-ui 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. package/dist/css/semi.css +50 -44
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +17433 -16377
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/_base/base.css +510 -0
  8. package/lib/cjs/_base/base.d.ts +32 -0
  9. package/lib/cjs/_base/base.js +7 -0
  10. package/lib/cjs/_base/base.scss +3 -0
  11. package/lib/cjs/_base/baseComponent.d.ts +25 -0
  12. package/lib/cjs/_base/baseComponent.js +84 -0
  13. package/lib/cjs/_base/reactUtils.d.ts +8 -0
  14. package/lib/cjs/_base/reactUtils.js +55 -0
  15. package/lib/cjs/_portal/index.d.ts +36 -0
  16. package/lib/cjs/_portal/index.js +151 -0
  17. package/lib/cjs/_utils/index.d.ts +68 -0
  18. package/lib/cjs/_utils/index.js +193 -0
  19. package/lib/cjs/anchor/anchor-context.d.ts +7 -0
  20. package/lib/cjs/anchor/anchor-context.js +18 -0
  21. package/lib/cjs/anchor/index.d.ts +93 -0
  22. package/lib/cjs/anchor/index.js +338 -0
  23. package/lib/cjs/anchor/link.d.ts +37 -0
  24. package/lib/cjs/anchor/link.js +174 -0
  25. package/lib/cjs/autoComplete/index.d.ts +167 -0
  26. package/lib/cjs/autoComplete/index.js +429 -0
  27. package/lib/cjs/avatar/avatarGroup.d.ts +22 -0
  28. package/lib/cjs/avatar/avatarGroup.js +171 -0
  29. package/lib/cjs/avatar/index.d.ts +48 -0
  30. package/lib/cjs/avatar/index.js +259 -0
  31. package/lib/cjs/avatar/interface.d.ts +31 -0
  32. package/lib/cjs/avatar/interface.js +7 -0
  33. package/lib/cjs/backtop/index.d.ts +38 -0
  34. package/lib/cjs/backtop/index.js +144 -0
  35. package/lib/cjs/badge/index.d.ts +38 -0
  36. package/lib/cjs/badge/index.js +109 -0
  37. package/lib/cjs/banner/index.d.ts +50 -0
  38. package/lib/cjs/banner/index.js +209 -0
  39. package/lib/cjs/breadcrumb/bread-context.d.ts +11 -0
  40. package/lib/cjs/breadcrumb/bread-context.js +18 -0
  41. package/lib/cjs/breadcrumb/index.d.ts +81 -0
  42. package/lib/cjs/breadcrumb/index.js +286 -0
  43. package/lib/cjs/breadcrumb/item.d.ts +53 -0
  44. package/lib/cjs/breadcrumb/item.js +250 -0
  45. package/lib/cjs/button/Button.d.ts +61 -0
  46. package/lib/cjs/button/Button.js +145 -0
  47. package/lib/cjs/button/buttonGroup.d.ts +26 -0
  48. package/lib/cjs/button/buttonGroup.js +91 -0
  49. package/lib/cjs/button/index.d.ts +37 -0
  50. package/lib/cjs/button/index.js +44 -0
  51. package/lib/cjs/button/splitButtonGroup.d.ts +12 -0
  52. package/lib/cjs/button/splitButtonGroup.js +47 -0
  53. package/lib/cjs/calendar/dayCalendar.d.ts +50 -0
  54. package/lib/cjs/calendar/dayCalendar.js +234 -0
  55. package/lib/cjs/calendar/dayCol.d.ts +41 -0
  56. package/lib/cjs/calendar/dayCol.js +211 -0
  57. package/lib/cjs/calendar/index.d.ts +42 -0
  58. package/lib/cjs/calendar/index.js +119 -0
  59. package/lib/cjs/calendar/interface.d.ts +37 -0
  60. package/lib/cjs/calendar/interface.js +7 -0
  61. package/lib/cjs/calendar/monthCalendar.d.ts +59 -0
  62. package/lib/cjs/calendar/monthCalendar.js +474 -0
  63. package/lib/cjs/calendar/rangeCalendar.d.ts +51 -0
  64. package/lib/cjs/calendar/rangeCalendar.js +329 -0
  65. package/lib/cjs/calendar/timeCol.d.ts +15 -0
  66. package/lib/cjs/calendar/timeCol.js +101 -0
  67. package/lib/cjs/calendar/weekCalendar.d.ts +52 -0
  68. package/lib/cjs/calendar/weekCalendar.js +331 -0
  69. package/lib/cjs/card/cardGroup.d.ts +27 -0
  70. package/lib/cjs/card/cardGroup.js +87 -0
  71. package/lib/cjs/card/index.d.ts +75 -0
  72. package/lib/cjs/card/index.js +224 -0
  73. package/lib/cjs/card/meta.d.ts +26 -0
  74. package/lib/cjs/card/meta.js +93 -0
  75. package/lib/cjs/cascader/index.d.ts +179 -0
  76. package/lib/cjs/cascader/index.js +994 -0
  77. package/lib/cjs/cascader/item.d.ts +72 -0
  78. package/lib/cjs/cascader/item.js +351 -0
  79. package/lib/cjs/checkbox/checkbox.d.ts +61 -0
  80. package/lib/cjs/checkbox/checkbox.js +209 -0
  81. package/lib/cjs/checkbox/checkboxGroup.d.ts +49 -0
  82. package/lib/cjs/checkbox/checkboxGroup.js +183 -0
  83. package/lib/cjs/checkbox/checkboxInner.d.ts +40 -0
  84. package/lib/cjs/checkbox/checkboxInner.js +97 -0
  85. package/lib/cjs/checkbox/context.d.ts +14 -0
  86. package/lib/cjs/checkbox/context.js +17 -0
  87. package/lib/cjs/checkbox/index.d.ts +8 -0
  88. package/lib/cjs/checkbox/index.js +29 -0
  89. package/lib/cjs/collapse/collapse-context.d.ts +13 -0
  90. package/lib/cjs/collapse/collapse-context.js +18 -0
  91. package/lib/cjs/collapse/index.d.ts +43 -0
  92. package/lib/cjs/collapse/index.js +165 -0
  93. package/lib/cjs/collapse/item.d.ts +23 -0
  94. package/lib/cjs/collapse/item.js +151 -0
  95. package/lib/cjs/collapsible/index.d.ts +36 -0
  96. package/lib/cjs/collapsible/index.js +180 -0
  97. package/lib/cjs/configProvider/context.d.ts +11 -0
  98. package/lib/cjs/configProvider/context.js +18 -0
  99. package/lib/cjs/configProvider/index.d.ts +19 -0
  100. package/lib/cjs/configProvider/index.js +83 -0
  101. package/lib/cjs/datePicker/dateInput.d.ts +81 -0
  102. package/lib/cjs/datePicker/dateInput.js +408 -0
  103. package/lib/cjs/datePicker/datePicker.d.ts +180 -0
  104. package/lib/cjs/datePicker/datePicker.js +731 -0
  105. package/lib/cjs/datePicker/footer.d.ts +11 -0
  106. package/lib/cjs/datePicker/footer.js +39 -0
  107. package/lib/cjs/datePicker/index.d.ts +11 -0
  108. package/lib/cjs/datePicker/index.js +67 -0
  109. package/lib/cjs/datePicker/month.d.ts +203 -0
  110. package/lib/cjs/datePicker/month.js +507 -0
  111. package/lib/cjs/datePicker/monthsGrid.d.ts +88 -0
  112. package/lib/cjs/datePicker/monthsGrid.js +702 -0
  113. package/lib/cjs/datePicker/navigation.d.ts +44 -0
  114. package/lib/cjs/datePicker/navigation.js +117 -0
  115. package/lib/cjs/datePicker/quickControl.d.ts +22 -0
  116. package/lib/cjs/datePicker/quickControl.js +86 -0
  117. package/lib/cjs/datePicker/yearAndMonth.d.ts +48 -0
  118. package/lib/cjs/datePicker/yearAndMonth.js +281 -0
  119. package/lib/cjs/descriptions/descriptions-context.d.ts +7 -0
  120. package/lib/cjs/descriptions/descriptions-context.js +18 -0
  121. package/lib/cjs/descriptions/index.d.ts +47 -0
  122. package/lib/cjs/descriptions/index.js +102 -0
  123. package/lib/cjs/descriptions/item.d.ts +19 -0
  124. package/lib/cjs/descriptions/item.js +89 -0
  125. package/lib/cjs/dropdown/context.d.ts +5 -0
  126. package/lib/cjs/dropdown/context.js +20 -0
  127. package/lib/cjs/dropdown/dropdownDivider.d.ts +5 -0
  128. package/lib/cjs/dropdown/dropdownDivider.js +40 -0
  129. package/lib/cjs/dropdown/dropdownItem.d.ts +47 -0
  130. package/lib/cjs/dropdown/dropdownItem.js +134 -0
  131. package/lib/cjs/dropdown/dropdownMenu.d.ts +12 -0
  132. package/lib/cjs/dropdown/dropdownMenu.js +66 -0
  133. package/lib/cjs/dropdown/dropdownTitle.d.ts +16 -0
  134. package/lib/cjs/dropdown/dropdownTitle.js +62 -0
  135. package/lib/cjs/dropdown/index.d.ts +103 -0
  136. package/lib/cjs/dropdown/index.js +286 -0
  137. package/lib/cjs/empty/index.d.ts +38 -0
  138. package/lib/cjs/empty/index.js +141 -0
  139. package/lib/cjs/form/arrayField.d.ts +33 -0
  140. package/lib/cjs/form/arrayField.js +267 -0
  141. package/lib/cjs/form/baseForm.d.ts +142 -0
  142. package/lib/cjs/form/baseForm.js +325 -0
  143. package/lib/cjs/form/context.d.ts +9 -0
  144. package/lib/cjs/form/context.js +35 -0
  145. package/lib/cjs/form/errorMessage.d.ts +25 -0
  146. package/lib/cjs/form/errorMessage.js +108 -0
  147. package/lib/cjs/form/field.d.ts +78 -0
  148. package/lib/cjs/form/field.js +116 -0
  149. package/lib/cjs/form/group.d.ts +14 -0
  150. package/lib/cjs/form/group.js +147 -0
  151. package/lib/cjs/form/hoc/withField.d.ts +12 -0
  152. package/lib/cjs/form/hoc/withField.js +554 -0
  153. package/lib/cjs/form/hoc/withFormApi.d.ts +3 -0
  154. package/lib/cjs/form/hoc/withFormApi.js +25 -0
  155. package/lib/cjs/form/hoc/withFormState.d.ts +3 -0
  156. package/lib/cjs/form/hoc/withFormState.js +25 -0
  157. package/lib/cjs/form/hooks/index.d.ts +8 -0
  158. package/lib/cjs/form/hooks/index.js +72 -0
  159. package/lib/cjs/form/hooks/useArrayFieldState.d.ts +4 -0
  160. package/lib/cjs/form/hooks/useArrayFieldState.js +21 -0
  161. package/lib/cjs/form/hooks/useFieldApi.d.ts +10 -0
  162. package/lib/cjs/form/hooks/useFieldApi.js +31 -0
  163. package/lib/cjs/form/hooks/useFieldState.d.ts +6 -0
  164. package/lib/cjs/form/hooks/useFieldState.js +40 -0
  165. package/lib/cjs/form/hooks/useFormApi.d.ts +1 -0
  166. package/lib/cjs/form/hooks/useFormApi.js +17 -0
  167. package/lib/cjs/form/hooks/useFormState.d.ts +2 -0
  168. package/lib/cjs/form/hooks/useFormState.js +21 -0
  169. package/lib/cjs/form/hooks/useFormUpdater.d.ts +1 -0
  170. package/lib/cjs/form/hooks/useFormUpdater.js +17 -0
  171. package/lib/cjs/form/hooks/useStateWithGetter.d.ts +1 -0
  172. package/lib/cjs/form/hooks/useStateWithGetter.js +27 -0
  173. package/lib/cjs/form/index.d.ts +22 -0
  174. package/lib/cjs/form/index.js +117 -0
  175. package/lib/cjs/form/interface.d.ts +111 -0
  176. package/lib/cjs/form/interface.js +36 -0
  177. package/lib/cjs/form/label.d.ts +39 -0
  178. package/lib/cjs/form/label.js +91 -0
  179. package/lib/cjs/form/section.d.ts +17 -0
  180. package/lib/cjs/form/section.js +60 -0
  181. package/lib/cjs/form/slot.d.ts +14 -0
  182. package/lib/cjs/form/slot.js +204 -0
  183. package/lib/cjs/grid/col.d.ts +55 -0
  184. package/lib/cjs/grid/col.js +146 -0
  185. package/lib/cjs/grid/index.d.ts +5 -0
  186. package/lib/cjs/grid/index.js +27 -0
  187. package/lib/cjs/grid/row.d.ts +58 -0
  188. package/lib/cjs/grid/row.js +207 -0
  189. package/lib/cjs/iconButton/index.d.ts +46 -0
  190. package/lib/cjs/iconButton/index.js +153 -0
  191. package/lib/cjs/icons/index.d.ts +3 -0
  192. package/lib/cjs/icons/index.js +16 -0
  193. package/lib/cjs/index.d.ts +79 -0
  194. package/lib/cjs/index.js +782 -0
  195. package/lib/cjs/input/index.d.ts +170 -0
  196. package/lib/cjs/input/index.js +503 -0
  197. package/lib/cjs/input/inputGroup.d.ts +38 -0
  198. package/lib/cjs/input/inputGroup.js +163 -0
  199. package/lib/cjs/input/textarea.d.ts +44 -0
  200. package/lib/cjs/input/textarea.js +341 -0
  201. package/lib/cjs/inputNumber/index.d.ts +108 -0
  202. package/lib/cjs/inputNumber/index.js +530 -0
  203. package/lib/cjs/layout/Sider.d.ts +38 -0
  204. package/lib/cjs/layout/Sider.js +160 -0
  205. package/lib/cjs/layout/index.d.ts +43 -0
  206. package/lib/cjs/layout/index.js +174 -0
  207. package/lib/cjs/layout/layout-context.d.ts +9 -0
  208. package/lib/cjs/layout/layout-context.js +25 -0
  209. package/lib/cjs/list/index.d.ts +59 -0
  210. package/lib/cjs/list/index.js +189 -0
  211. package/lib/cjs/list/item.d.ts +36 -0
  212. package/lib/cjs/list/item.js +151 -0
  213. package/lib/cjs/list/list-context.d.ts +12 -0
  214. package/lib/cjs/list/list-context.js +18 -0
  215. package/lib/cjs/locale/context.d.ts +4 -0
  216. package/lib/cjs/locale/context.js +18 -0
  217. package/lib/cjs/locale/interface.d.ts +151 -0
  218. package/lib/cjs/locale/interface.js +7 -0
  219. package/lib/cjs/locale/localeConsumer.d.ts +21 -0
  220. package/lib/cjs/locale/localeConsumer.js +80 -0
  221. package/lib/cjs/locale/localeProvider.d.ts +18 -0
  222. package/lib/cjs/locale/localeProvider.js +54 -0
  223. package/lib/cjs/locale/source/ar.d.ts +3 -0
  224. package/lib/cjs/locale/source/ar.js +165 -0
  225. package/lib/cjs/locale/source/en_GB.d.ts +3 -0
  226. package/lib/cjs/locale/source/en_GB.js +165 -0
  227. package/lib/cjs/locale/source/en_US.d.ts +3 -0
  228. package/lib/cjs/locale/source/en_US.js +165 -0
  229. package/lib/cjs/locale/source/id_ID.d.ts +3 -0
  230. package/lib/cjs/locale/source/id_ID.js +165 -0
  231. package/lib/cjs/locale/source/ja_JP.d.ts +3 -0
  232. package/lib/cjs/locale/source/ja_JP.js +166 -0
  233. package/lib/cjs/locale/source/ko_KR.d.ts +3 -0
  234. package/lib/cjs/locale/source/ko_KR.js +166 -0
  235. package/lib/cjs/locale/source/ms_MY.d.ts +3 -0
  236. package/lib/cjs/locale/source/ms_MY.js +165 -0
  237. package/lib/cjs/locale/source/pt_BR.d.ts +3 -0
  238. package/lib/cjs/locale/source/pt_BR.js +173 -0
  239. package/lib/cjs/locale/source/ru_RU.d.ts +3 -0
  240. package/lib/cjs/locale/source/ru_RU.js +168 -0
  241. package/lib/cjs/locale/source/th_TH.d.ts +3 -0
  242. package/lib/cjs/locale/source/th_TH.js +169 -0
  243. package/lib/cjs/locale/source/tr_TR.d.ts +3 -0
  244. package/lib/cjs/locale/source/tr_TR.js +168 -0
  245. package/lib/cjs/locale/source/vi_VN.d.ts +3 -0
  246. package/lib/cjs/locale/source/vi_VN.js +168 -0
  247. package/lib/cjs/locale/source/zh_CN.d.ts +3 -0
  248. package/lib/cjs/locale/source/zh_CN.js +166 -0
  249. package/lib/cjs/locale/source/zh_TW.d.ts +3 -0
  250. package/lib/cjs/locale/source/zh_TW.js +166 -0
  251. package/lib/cjs/modal/ConfirmModal.d.ts +4 -0
  252. package/lib/cjs/modal/ConfirmModal.js +137 -0
  253. package/lib/cjs/modal/Modal.d.ts +133 -0
  254. package/lib/cjs/modal/Modal.js +437 -0
  255. package/lib/cjs/modal/ModalContent.d.ts +38 -0
  256. package/lib/cjs/modal/ModalContent.js +337 -0
  257. package/lib/cjs/modal/confirm.d.ts +215 -0
  258. package/lib/cjs/modal/confirm.js +132 -0
  259. package/lib/cjs/modal/index.d.ts +8 -0
  260. package/lib/cjs/modal/index.js +18 -0
  261. package/lib/cjs/modal/useModal/HookModal.d.ts +14 -0
  262. package/lib/cjs/modal/useModal/HookModal.js +79 -0
  263. package/lib/cjs/modal/useModal/index.d.ts +24 -0
  264. package/lib/cjs/modal/useModal/index.js +80 -0
  265. package/lib/cjs/motions/Rotate.d.ts +23 -0
  266. package/lib/cjs/motions/Rotate.js +87 -0
  267. package/lib/cjs/navigation/CollapseButton.d.ts +10 -0
  268. package/lib/cjs/navigation/CollapseButton.js +58 -0
  269. package/lib/cjs/navigation/Footer.d.ts +27 -0
  270. package/lib/cjs/navigation/Footer.js +107 -0
  271. package/lib/cjs/navigation/Header.d.ts +34 -0
  272. package/lib/cjs/navigation/Header.js +99 -0
  273. package/lib/cjs/navigation/Item.d.ts +70 -0
  274. package/lib/cjs/navigation/Item.js +296 -0
  275. package/lib/cjs/navigation/OpenIconTransition.d.ts +14 -0
  276. package/lib/cjs/navigation/OpenIconTransition.js +90 -0
  277. package/lib/cjs/navigation/SubNav.d.ts +103 -0
  278. package/lib/cjs/navigation/SubNav.js +440 -0
  279. package/lib/cjs/navigation/SubNavTransition.d.ts +17 -0
  280. package/lib/cjs/navigation/SubNavTransition.js +90 -0
  281. package/lib/cjs/navigation/index.d.ts +145 -0
  282. package/lib/cjs/navigation/index.js +446 -0
  283. package/lib/cjs/navigation/nav-context.d.ts +7 -0
  284. package/lib/cjs/navigation/nav-context.js +22 -0
  285. package/lib/cjs/notification/NoticeTransition.d.ts +10 -0
  286. package/lib/cjs/notification/NoticeTransition.js +90 -0
  287. package/lib/cjs/notification/index.d.ts +52 -0
  288. package/lib/cjs/notification/index.js +316 -0
  289. package/lib/cjs/notification/notice.d.ts +51 -0
  290. package/lib/cjs/notification/notice.js +240 -0
  291. package/lib/cjs/notification/useNotification/HookNotice.d.ts +7 -0
  292. package/lib/cjs/notification/useNotification/HookNotice.js +72 -0
  293. package/lib/cjs/notification/useNotification/index.d.ts +10 -0
  294. package/lib/cjs/notification/useNotification/index.js +161 -0
  295. package/lib/cjs/overflowList/index.d.ts +87 -0
  296. package/lib/cjs/overflowList/index.js +296 -0
  297. package/lib/cjs/overflowList/intersectionObserver.d.ts +34 -0
  298. package/lib/cjs/overflowList/intersectionObserver.js +121 -0
  299. package/lib/cjs/pagination/index.d.ts +99 -0
  300. package/lib/cjs/pagination/index.js +481 -0
  301. package/lib/cjs/popconfirm/index.d.ts +90 -0
  302. package/lib/cjs/popconfirm/index.js +262 -0
  303. package/lib/cjs/popover/Arrow.d.ts +9 -0
  304. package/lib/cjs/popover/Arrow.js +86 -0
  305. package/lib/cjs/popover/index.d.ts +89 -0
  306. package/lib/cjs/popover/index.js +155 -0
  307. package/lib/cjs/progress/index.d.ts +68 -0
  308. package/lib/cjs/progress/index.js +303 -0
  309. package/lib/cjs/radio/context.d.ts +22 -0
  310. package/lib/cjs/radio/context.js +18 -0
  311. package/lib/cjs/radio/index.d.ts +10 -0
  312. package/lib/cjs/radio/index.js +29 -0
  313. package/lib/cjs/radio/radio.d.ts +79 -0
  314. package/lib/cjs/radio/radio.js +225 -0
  315. package/lib/cjs/radio/radioGroup.d.ts +64 -0
  316. package/lib/cjs/radio/radioGroup.js +189 -0
  317. package/lib/cjs/radio/radioInner.d.ts +45 -0
  318. package/lib/cjs/radio/radioInner.js +140 -0
  319. package/lib/cjs/rating/index.d.ts +91 -0
  320. package/lib/cjs/rating/index.js +312 -0
  321. package/lib/cjs/rating/item.d.ts +38 -0
  322. package/lib/cjs/rating/item.js +143 -0
  323. package/lib/cjs/resizeObserver/index.d.ts +35 -0
  324. package/lib/cjs/resizeObserver/index.js +118 -0
  325. package/lib/cjs/scrollList/index.d.ts +26 -0
  326. package/lib/cjs/scrollList/index.js +82 -0
  327. package/lib/cjs/scrollList/scrollItem.d.ts +105 -0
  328. package/lib/cjs/scrollList/scrollItem.js +557 -0
  329. package/lib/cjs/select/index.d.ts +234 -0
  330. package/lib/cjs/select/index.js +1117 -0
  331. package/lib/cjs/select/option.d.ts +50 -0
  332. package/lib/cjs/select/option.js +211 -0
  333. package/lib/cjs/select/optionGroup.d.ts +20 -0
  334. package/lib/cjs/select/optionGroup.js +56 -0
  335. package/lib/cjs/select/utils.d.ts +9 -0
  336. package/lib/cjs/select/utils.js +122 -0
  337. package/lib/cjs/select/virtualRow.d.ts +8 -0
  338. package/lib/cjs/select/virtualRow.js +25 -0
  339. package/lib/cjs/sideSheet/SideSheetContent.d.ts +35 -0
  340. package/lib/cjs/sideSheet/SideSheetContent.js +195 -0
  341. package/lib/cjs/sideSheet/SideSheetTransition.d.ts +12 -0
  342. package/lib/cjs/sideSheet/SideSheetTransition.js +120 -0
  343. package/lib/cjs/sideSheet/index.d.ts +59 -0
  344. package/lib/cjs/sideSheet/index.js +303 -0
  345. package/lib/cjs/skeleton/index.d.ts +33 -0
  346. package/lib/cjs/skeleton/index.js +101 -0
  347. package/lib/cjs/skeleton/item.d.ts +34 -0
  348. package/lib/cjs/skeleton/item.js +134 -0
  349. package/lib/cjs/slider/index.d.ts +30 -0
  350. package/lib/cjs/slider/index.js +649 -0
  351. package/lib/cjs/space/index.d.ts +33 -0
  352. package/lib/cjs/space/index.js +120 -0
  353. package/lib/cjs/space/utils.d.ts +5 -0
  354. package/lib/cjs/space/utils.js +54 -0
  355. package/lib/cjs/spin/icon.d.ts +10 -0
  356. package/lib/cjs/spin/icon.js +103 -0
  357. package/lib/cjs/spin/index.d.ts +63 -0
  358. package/lib/cjs/spin/index.js +145 -0
  359. package/lib/cjs/steps/basicStep.d.ts +46 -0
  360. package/lib/cjs/steps/basicStep.js +180 -0
  361. package/lib/cjs/steps/basicSteps.d.ts +41 -0
  362. package/lib/cjs/steps/basicSteps.js +127 -0
  363. package/lib/cjs/steps/context.d.ts +6 -0
  364. package/lib/cjs/steps/context.js +17 -0
  365. package/lib/cjs/steps/fillStep.d.ts +34 -0
  366. package/lib/cjs/steps/fillStep.js +142 -0
  367. package/lib/cjs/steps/fillSteps.d.ts +35 -0
  368. package/lib/cjs/steps/fillSteps.js +127 -0
  369. package/lib/cjs/steps/index.d.ts +39 -0
  370. package/lib/cjs/steps/index.js +104 -0
  371. package/lib/cjs/steps/navStep.d.ts +30 -0
  372. package/lib/cjs/steps/navStep.js +99 -0
  373. package/lib/cjs/steps/navSteps.d.ts +33 -0
  374. package/lib/cjs/steps/navSteps.js +103 -0
  375. package/lib/cjs/steps/step.d.ts +13 -0
  376. package/lib/cjs/steps/step.js +58 -0
  377. package/lib/cjs/switch/index.d.ts +48 -0
  378. package/lib/cjs/switch/index.js +159 -0
  379. package/lib/cjs/table/Body/BaseRow.d.ts +125 -0
  380. package/lib/cjs/table/Body/BaseRow.js +359 -0
  381. package/lib/cjs/table/Body/ExpandedRow.d.ts +63 -0
  382. package/lib/cjs/table/Body/ExpandedRow.js +180 -0
  383. package/lib/cjs/table/Body/SectionRow.d.ts +67 -0
  384. package/lib/cjs/table/Body/SectionRow.js +250 -0
  385. package/lib/cjs/table/Body/index.d.ts +70 -0
  386. package/lib/cjs/table/Body/index.js +873 -0
  387. package/lib/cjs/table/ColGroup.d.ts +24 -0
  388. package/lib/cjs/table/ColGroup.js +78 -0
  389. package/lib/cjs/table/Column.d.ts +36 -0
  390. package/lib/cjs/table/Column.js +32 -0
  391. package/lib/cjs/table/ColumnFilter.d.ts +34 -0
  392. package/lib/cjs/table/ColumnFilter.js +192 -0
  393. package/lib/cjs/table/ColumnSelection.d.ts +40 -0
  394. package/lib/cjs/table/ColumnSelection.js +101 -0
  395. package/lib/cjs/table/ColumnShape.d.ts +32 -0
  396. package/lib/cjs/table/ColumnShape.js +47 -0
  397. package/lib/cjs/table/ColumnSorter.d.ts +25 -0
  398. package/lib/cjs/table/ColumnSorter.js +77 -0
  399. package/lib/cjs/table/CustomExpandIcon.d.ts +36 -0
  400. package/lib/cjs/table/CustomExpandIcon.js +102 -0
  401. package/lib/cjs/table/HeadTable.d.ts +20 -0
  402. package/lib/cjs/table/HeadTable.js +129 -0
  403. package/lib/cjs/table/ResizableHeaderCell.d.ts +13 -0
  404. package/lib/cjs/table/ResizableHeaderCell.js +75 -0
  405. package/lib/cjs/table/ResizableTable.d.ts +5 -0
  406. package/lib/cjs/table/ResizableTable.js +217 -0
  407. package/lib/cjs/table/Table.d.ts +305 -0
  408. package/lib/cjs/table/Table.js +1576 -0
  409. package/lib/cjs/table/TableCell.d.ts +124 -0
  410. package/lib/cjs/table/TableCell.js +404 -0
  411. package/lib/cjs/table/TableContextProvider.d.ts +3 -0
  412. package/lib/cjs/table/TableContextProvider.js +61 -0
  413. package/lib/cjs/table/TableHeader.d.ts +28 -0
  414. package/lib/cjs/table/TableHeader.js +192 -0
  415. package/lib/cjs/table/TableHeaderRow.d.ts +59 -0
  416. package/lib/cjs/table/TableHeaderRow.js +218 -0
  417. package/lib/cjs/table/TablePagination.d.ts +23 -0
  418. package/lib/cjs/table/TablePagination.js +69 -0
  419. package/lib/cjs/table/getColumns.d.ts +8 -0
  420. package/lib/cjs/table/getColumns.js +54 -0
  421. package/lib/cjs/table/index.d.ts +100 -0
  422. package/lib/cjs/table/index.js +85 -0
  423. package/lib/cjs/table/interface.d.ts +290 -0
  424. package/lib/cjs/table/interface.js +7 -0
  425. package/lib/cjs/table/table-context.d.ts +19 -0
  426. package/lib/cjs/table/table-context.js +25 -0
  427. package/lib/cjs/table/utils.d.ts +42 -0
  428. package/lib/cjs/table/utils.js +144 -0
  429. package/lib/cjs/tabs/TabBar.d.ts +43 -0
  430. package/lib/cjs/tabs/TabBar.js +317 -0
  431. package/lib/cjs/tabs/TabPane.d.ts +28 -0
  432. package/lib/cjs/tabs/TabPane.js +165 -0
  433. package/lib/cjs/tabs/TabPaneTransition.d.ts +4 -0
  434. package/lib/cjs/tabs/TabPaneTransition.js +119 -0
  435. package/lib/cjs/tabs/index.d.ts +52 -0
  436. package/lib/cjs/tabs/index.js +439 -0
  437. package/lib/cjs/tabs/interface.d.ts +77 -0
  438. package/lib/cjs/tabs/interface.js +7 -0
  439. package/lib/cjs/tabs/tabs-context.d.ts +4 -0
  440. package/lib/cjs/tabs/tabs-context.js +18 -0
  441. package/lib/cjs/tag/group.d.ts +40 -0
  442. package/lib/cjs/tag/group.js +165 -0
  443. package/lib/cjs/tag/index.d.ts +33 -0
  444. package/lib/cjs/tag/index.js +219 -0
  445. package/lib/cjs/tag/interface.d.ts +30 -0
  446. package/lib/cjs/tag/interface.js +7 -0
  447. package/lib/cjs/tagInput/index.d.ts +133 -0
  448. package/lib/cjs/tagInput/index.js +429 -0
  449. package/lib/cjs/timePicker/Combobox.d.ts +79 -0
  450. package/lib/cjs/timePicker/Combobox.js +345 -0
  451. package/lib/cjs/timePicker/PanelShape.d.ts +6 -0
  452. package/lib/cjs/timePicker/PanelShape.js +21 -0
  453. package/lib/cjs/timePicker/TimeInput.d.ts +66 -0
  454. package/lib/cjs/timePicker/TimeInput.js +226 -0
  455. package/lib/cjs/timePicker/TimePicker.d.ts +197 -0
  456. package/lib/cjs/timePicker/TimePicker.js +503 -0
  457. package/lib/cjs/timePicker/TimeShape.d.ts +10 -0
  458. package/lib/cjs/timePicker/TimeShape.js +26 -0
  459. package/lib/cjs/timePicker/index.d.ts +95 -0
  460. package/lib/cjs/timePicker/index.js +51 -0
  461. package/lib/cjs/timeline/index.d.ts +31 -0
  462. package/lib/cjs/timeline/index.js +145 -0
  463. package/lib/cjs/timeline/item.d.ts +30 -0
  464. package/lib/cjs/timeline/item.js +94 -0
  465. package/lib/cjs/toast/ToastTransition.d.ts +7 -0
  466. package/lib/cjs/toast/ToastTransition.js +71 -0
  467. package/lib/cjs/toast/index.d.ts +200 -0
  468. package/lib/cjs/toast/index.js +281 -0
  469. package/lib/cjs/toast/toast.d.ts +45 -0
  470. package/lib/cjs/toast/toast.js +185 -0
  471. package/lib/cjs/toast/useToast/HookToast.d.ts +7 -0
  472. package/lib/cjs/toast/useToast/HookToast.js +72 -0
  473. package/lib/cjs/toast/useToast/index.d.ts +9 -0
  474. package/lib/cjs/toast/useToast/index.js +107 -0
  475. package/lib/cjs/tooltip/ArrowBoundingShape.d.ts +8 -0
  476. package/lib/cjs/tooltip/ArrowBoundingShape.js +22 -0
  477. package/lib/cjs/tooltip/TooltipStyledTransition.d.ts +9 -0
  478. package/lib/cjs/tooltip/TooltipStyledTransition.js +54 -0
  479. package/lib/cjs/tooltip/TriangleArrow.d.ts +5 -0
  480. package/lib/cjs/tooltip/TriangleArrow.js +54 -0
  481. package/lib/cjs/tooltip/TriangleArrowVertical.d.ts +5 -0
  482. package/lib/cjs/tooltip/TriangleArrowVertical.js +53 -0
  483. package/lib/cjs/tooltip/index.d.ts +150 -0
  484. package/lib/cjs/tooltip/index.js +711 -0
  485. package/lib/cjs/transfer/index.d.ts +164 -0
  486. package/lib/cjs/transfer/index.js +668 -0
  487. package/lib/cjs/tree/autoSizer.d.ts +28 -0
  488. package/lib/cjs/tree/autoSizer.js +115 -0
  489. package/lib/cjs/tree/collapse.d.ts +29 -0
  490. package/lib/cjs/tree/collapse.js +164 -0
  491. package/lib/cjs/tree/index.d.ts +135 -0
  492. package/lib/cjs/tree/index.js +799 -0
  493. package/lib/cjs/tree/interface.d.ts +119 -0
  494. package/lib/cjs/tree/interface.js +7 -0
  495. package/lib/cjs/tree/nodeList.d.ts +9 -0
  496. package/lib/cjs/tree/nodeList.js +141 -0
  497. package/lib/cjs/tree/treeContext.d.ts +40 -0
  498. package/lib/cjs/tree/treeContext.js +18 -0
  499. package/lib/cjs/tree/treeNode.d.ts +54 -0
  500. package/lib/cjs/tree/treeNode.js +531 -0
  501. package/lib/cjs/tree/treeUtil.d.ts +1 -0
  502. package/lib/cjs/tree/treeUtil.js +30 -0
  503. package/lib/cjs/treeSelect/index.d.ts +223 -0
  504. package/lib/cjs/treeSelect/index.js +1284 -0
  505. package/lib/cjs/trigger/index.d.ts +36 -0
  506. package/lib/cjs/trigger/index.js +71 -0
  507. package/lib/cjs/typography/base.d.ts +176 -0
  508. package/lib/cjs/typography/base.js +720 -0
  509. package/lib/cjs/typography/copyable.d.ts +43 -0
  510. package/lib/cjs/typography/copyable.js +151 -0
  511. package/lib/cjs/typography/index.d.ts +17 -0
  512. package/lib/cjs/typography/index.js +48 -0
  513. package/lib/cjs/typography/interface.d.ts +25 -0
  514. package/lib/cjs/typography/interface.js +7 -0
  515. package/lib/cjs/typography/paragraph.d.ts +56 -0
  516. package/lib/cjs/typography/paragraph.js +83 -0
  517. package/lib/cjs/typography/text.d.ts +59 -0
  518. package/lib/cjs/typography/text.js +73 -0
  519. package/lib/cjs/typography/title.d.ts +61 -0
  520. package/lib/cjs/typography/title.js +97 -0
  521. package/lib/cjs/typography/typography.d.ts +22 -0
  522. package/lib/cjs/typography/typography.js +82 -0
  523. package/lib/cjs/typography/util.d.ts +2 -0
  524. package/lib/cjs/typography/util.js +155 -0
  525. package/lib/cjs/upload/fileCard.d.ts +47 -0
  526. package/lib/cjs/upload/fileCard.js +388 -0
  527. package/lib/cjs/upload/index.d.ts +161 -0
  528. package/lib/cjs/upload/index.js +552 -0
  529. package/lib/cjs/upload/interface.d.ts +56 -0
  530. package/lib/cjs/upload/interface.js +7 -0
  531. package/lib/es/_utils/index.js +7 -5
  532. package/lib/es/anchor/index.js +8 -6
  533. package/lib/es/autoComplete/index.js +10 -9
  534. package/lib/es/avatar/avatarGroup.js +6 -4
  535. package/lib/es/badge/index.js +4 -3
  536. package/lib/es/breadcrumb/index.js +7 -4
  537. package/lib/es/breadcrumb/item.js +5 -3
  538. package/lib/es/calendar/dayCalendar.js +2 -2
  539. package/lib/es/calendar/monthCalendar.js +2 -2
  540. package/lib/es/calendar/rangeCalendar.js +2 -2
  541. package/lib/es/calendar/weekCalendar.js +2 -2
  542. package/lib/es/card/index.js +5 -3
  543. package/lib/es/cascader/index.d.ts +1 -1
  544. package/lib/es/cascader/index.js +24 -19
  545. package/lib/es/cascader/item.js +2 -2
  546. package/lib/es/checkbox/checkbox.js +8 -6
  547. package/lib/es/checkbox/checkboxGroup.js +2 -2
  548. package/lib/es/checkbox/checkboxInner.js +4 -3
  549. package/lib/es/collapse/index.js +2 -2
  550. package/lib/es/datePicker/datePicker.js +26 -20
  551. package/lib/es/datePicker/footer.js +3 -3
  552. package/lib/es/datePicker/index.d.ts +1 -1
  553. package/lib/es/datePicker/month.js +11 -7
  554. package/lib/es/datePicker/monthsGrid.js +4 -3
  555. package/lib/es/datePicker/navigation.js +6 -6
  556. package/lib/es/datePicker/yearAndMonth.js +4 -3
  557. package/lib/es/descriptions/index.js +2 -2
  558. package/lib/es/dropdown/dropdownItem.js +4 -4
  559. package/lib/es/dropdown/index.js +4 -3
  560. package/lib/es/form/arrayField.js +7 -4
  561. package/lib/es/form/baseForm.d.ts +1 -1
  562. package/lib/es/form/baseForm.js +6 -6
  563. package/lib/es/form/field.d.ts +1 -1
  564. package/lib/es/form/group.js +2 -2
  565. package/lib/es/form/slot.js +7 -5
  566. package/lib/es/iconButton/index.js +3 -3
  567. package/lib/es/input/index.js +17 -15
  568. package/lib/es/input/inputGroup.js +3 -3
  569. package/lib/es/input/textarea.js +13 -11
  570. package/lib/es/inputNumber/index.d.ts +1 -2
  571. package/lib/es/inputNumber/index.js +13 -12
  572. package/lib/es/list/index.js +3 -3
  573. package/lib/es/list/item.js +3 -3
  574. package/lib/es/locale/localeConsumer.js +5 -3
  575. package/lib/es/modal/Modal.js +5 -5
  576. package/lib/es/modal/ModalContent.js +3 -3
  577. package/lib/es/modal/confirm.js +2 -2
  578. package/lib/es/modal/useModal/HookModal.js +3 -2
  579. package/lib/es/navigation/CollapseButton.js +2 -2
  580. package/lib/es/navigation/Item.js +7 -6
  581. package/lib/es/navigation/SubNav.js +4 -3
  582. package/lib/es/navigation/index.js +12 -10
  583. package/lib/es/notification/notice.js +5 -5
  584. package/lib/es/overflowList/index.js +13 -8
  585. package/lib/es/overflowList/intersectionObserver.js +4 -3
  586. package/lib/es/pagination/index.js +4 -4
  587. package/lib/es/popconfirm/index.js +8 -7
  588. package/lib/es/popover/Arrow.js +7 -4
  589. package/lib/es/popover/index.js +2 -2
  590. package/lib/es/radio/radio.js +3 -3
  591. package/lib/es/radio/radioGroup.js +2 -2
  592. package/lib/es/radio/radioInner.js +2 -2
  593. package/lib/es/scrollList/scrollItem.js +26 -13
  594. package/lib/es/select/index.js +24 -19
  595. package/lib/es/select/option.js +3 -3
  596. package/lib/es/sideSheet/SideSheetContent.js +2 -2
  597. package/lib/es/sideSheet/index.js +2 -2
  598. package/lib/es/slider/index.js +7 -6
  599. package/lib/es/space/index.js +10 -8
  600. package/lib/es/steps/basicStep.js +2 -2
  601. package/lib/es/steps/fillStep.js +2 -2
  602. package/lib/es/steps/index.js +2 -2
  603. package/lib/es/steps/navStep.js +2 -2
  604. package/lib/es/switch/index.js +4 -4
  605. package/lib/es/table/Body/BaseRow.js +25 -15
  606. package/lib/es/table/Body/ExpandedRow.js +9 -6
  607. package/lib/es/table/Body/SectionRow.js +4 -3
  608. package/lib/es/table/Body/index.js +58 -31
  609. package/lib/es/table/ColGroup.js +4 -3
  610. package/lib/es/table/ColumnFilter.js +3 -3
  611. package/lib/es/table/ColumnSelection.js +2 -2
  612. package/lib/es/table/ColumnSorter.js +2 -2
  613. package/lib/es/table/CustomExpandIcon.js +8 -7
  614. package/lib/es/table/HeadTable.js +7 -4
  615. package/lib/es/table/ResizableTable.js +17 -9
  616. package/lib/es/table/Table.js +69 -44
  617. package/lib/es/table/TableCell.js +24 -17
  618. package/lib/es/table/TableHeader.js +5 -4
  619. package/lib/es/table/TableHeaderRow.js +24 -11
  620. package/lib/es/table/TablePagination.js +7 -4
  621. package/lib/es/table/getColumns.js +5 -4
  622. package/lib/es/table/table-context.js +4 -3
  623. package/lib/es/table/utils.js +2 -2
  624. package/lib/es/tabs/TabBar.d.ts +1 -1
  625. package/lib/es/tabs/TabBar.js +3 -3
  626. package/lib/es/tabs/TabPaneTransition.js +5 -5
  627. package/lib/es/tabs/index.js +8 -6
  628. package/lib/es/tabs/interface.d.ts +1 -1
  629. package/lib/es/tagInput/index.js +24 -19
  630. package/lib/es/timePicker/Combobox.js +4 -4
  631. package/lib/es/timePicker/TimeInput.js +8 -8
  632. package/lib/es/timePicker/TimePicker.js +9 -8
  633. package/lib/es/timePicker/index.js +2 -2
  634. package/lib/es/toast/toast.js +3 -3
  635. package/lib/es/tooltip/index.js +33 -17
  636. package/lib/es/transfer/index.js +16 -11
  637. package/lib/es/tree/autoSizer.js +4 -4
  638. package/lib/es/tree/collapse.js +2 -2
  639. package/lib/es/tree/index.js +12 -9
  640. package/lib/es/tree/nodeList.js +2 -2
  641. package/lib/es/tree/treeNode.js +7 -5
  642. package/lib/es/tree/treeUtil.js +4 -3
  643. package/lib/es/treeSelect/index.js +26 -19
  644. package/lib/es/typography/base.js +17 -8
  645. package/lib/es/upload/index.js +14 -14
  646. package/package.json +12 -10
@@ -0,0 +1,1576 @@
1
+ "use strict";
2
+
3
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+
9
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
10
+
11
+ _Object$defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+
15
+ exports.default = void 0;
16
+
17
+ var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
18
+
19
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
20
+
21
+ var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
22
+
23
+ var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
24
+
25
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
26
+
27
+ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
28
+
29
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
30
+
31
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
32
+
33
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
34
+
35
+ var _includes2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
36
+
37
+ var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
38
+
39
+ var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
40
+
41
+ var _difference2 = _interopRequireDefault(require("lodash/difference"));
42
+
43
+ var _isNull2 = _interopRequireDefault(require("lodash/isNull"));
44
+
45
+ var _omit2 = _interopRequireDefault(require("lodash/omit"));
46
+
47
+ var _each2 = _interopRequireDefault(require("lodash/each"));
48
+
49
+ var _flattenDeep2 = _interopRequireDefault(require("lodash/flattenDeep"));
50
+
51
+ var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
52
+
53
+ var _some2 = _interopRequireDefault(require("lodash/some"));
54
+
55
+ var _findIndex2 = _interopRequireDefault(require("lodash/findIndex"));
56
+
57
+ var _find2 = _interopRequireDefault(require("lodash/find"));
58
+
59
+ var _includes3 = _interopRequireDefault(require("lodash/includes"));
60
+
61
+ var _noop2 = _interopRequireDefault(require("lodash/noop"));
62
+
63
+ var _get2 = _interopRequireDefault(require("lodash/get"));
64
+
65
+ var _react = _interopRequireWildcard(require("react"));
66
+
67
+ var _propTypes = _interopRequireDefault(require("prop-types"));
68
+
69
+ var _classnames = _interopRequireDefault(require("classnames"));
70
+
71
+ var _utils = require("@douyinfe/semi-foundation/lib/cjs/table/utils");
72
+
73
+ var _Store = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/Store"));
74
+
75
+ var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/table/foundation"));
76
+
77
+ var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
78
+
79
+ require("@douyinfe/semi-foundation/lib/cjs/table/table.css");
80
+
81
+ var _spin = _interopRequireDefault(require("../spin"));
82
+
83
+ var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
84
+
85
+ var _localeConsumer = _interopRequireDefault(require("../locale/localeConsumer"));
86
+
87
+ var _ColumnShape = _interopRequireDefault(require("./ColumnShape"));
88
+
89
+ var _getColumns = _interopRequireDefault(require("./getColumns"));
90
+
91
+ var _tableContext = _interopRequireDefault(require("./table-context"));
92
+
93
+ var _TableContextProvider = _interopRequireDefault(require("./TableContextProvider"));
94
+
95
+ var _ColumnSelection = _interopRequireDefault(require("./ColumnSelection"));
96
+
97
+ var _TablePagination = _interopRequireDefault(require("./TablePagination"));
98
+
99
+ var _ColumnFilter = _interopRequireDefault(require("./ColumnFilter"));
100
+
101
+ var _ColumnSorter = _interopRequireDefault(require("./ColumnSorter"));
102
+
103
+ var _CustomExpandIcon = _interopRequireDefault(require("./CustomExpandIcon"));
104
+
105
+ var _HeadTable = _interopRequireDefault(require("./HeadTable"));
106
+
107
+ var _Body = _interopRequireDefault(require("./Body"));
108
+
109
+ var _utils2 = require("./utils");
110
+
111
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
112
+
113
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
114
+
115
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
116
+ var t = {};
117
+
118
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
119
+
120
+ if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
121
+ if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
122
+ }
123
+ return t;
124
+ };
125
+ /* eslint-disable no-nested-ternary */
126
+
127
+ /* eslint-disable prefer-const */
128
+
129
+ /* eslint-disable prefer-destructuring */
130
+
131
+ /* eslint-disable no-shadow */
132
+
133
+ /* eslint-disable no-param-reassign */
134
+
135
+ /* eslint-disable max-len */
136
+
137
+ /* eslint-disable react/no-did-update-set-state */
138
+
139
+ /* eslint-disable eqeqeq */
140
+
141
+ /* eslint-disable max-lines-per-function */
142
+
143
+
144
+ class Table extends _baseComponent.default {
145
+ constructor(props, context) {
146
+ var _this;
147
+
148
+ super(props);
149
+ _this = this;
150
+
151
+ // TODO: notify when data don't have key
152
+ this._warnIfNoKey = () => {
153
+ if ((this.props.rowSelection || this.props.expandedRowRender) && (0, _some2.default)(this.props.dataSource, record => this.foundation.getRecordKey(record) == null)) {
154
+ _utils2.logger.error('You must specify a key for each element in the dataSource or use "rowKey" to specify an attribute name as the primary key!');
155
+ }
156
+ };
157
+
158
+ this._invokeRowSelection = function (funcName) {
159
+ const func = (0, _get2.default)(_this.state, ['rowSelection', funcName]);
160
+
161
+ if (typeof func === 'function') {
162
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
163
+ args[_key - 1] = arguments[_key];
164
+ }
165
+
166
+ func(...args);
167
+ }
168
+ };
169
+
170
+ this._invokeColumnFn = function (key, funcName) {
171
+ if (key && funcName) {
172
+ const column = _this.foundation.getQuery(key);
173
+
174
+ const func = (0, _get2.default)(column, funcName, null);
175
+
176
+ if (typeof func === 'function') {
177
+ for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
178
+ args[_key2 - 2] = arguments[_key2];
179
+ }
180
+
181
+ func(...args);
182
+ }
183
+ }
184
+ };
185
+
186
+ this._cacheHeaderRef = node => {
187
+ this.headerWrapRef.current = node;
188
+ };
189
+
190
+ this.getCurrentPageData = () => {
191
+ var _context;
192
+
193
+ const pageData = this.foundation.getCurrentPageData();
194
+ const retObj = (0, _reduce.default)(_context = ['dataSource', 'groups']).call(_context, (result, key) => {
195
+ if (pageData[key]) {
196
+ result[key] = pageData[key];
197
+ }
198
+
199
+ return result;
200
+ }, {});
201
+ return (0, _utils2.cloneDeep)(retObj);
202
+ };
203
+
204
+ this.getColumns = (columns, children) => !(0, _isArray.default)(columns) || !columns || !columns.length ? (0, _getColumns.default)(children) : columns; // @ts-ignore
205
+
206
+
207
+ this.getCellWidths = function () {
208
+ return _this.foundation.getCellWidths(...arguments);
209
+ }; // @ts-ignore
210
+
211
+
212
+ this.setHeadWidths = function () {
213
+ return _this.foundation.setHeadWidths(...arguments);
214
+ }; // @ts-ignore
215
+
216
+
217
+ this.getHeadWidths = function () {
218
+ return _this.foundation.getHeadWidths(...arguments);
219
+ }; // @ts-ignore
220
+
221
+
222
+ this.mergedRowExpandable = function () {
223
+ return _this.foundation.mergedRowExpandable(...arguments);
224
+ }; // @ts-ignore
225
+
226
+
227
+ this.setBodyHasScrollbar = function () {
228
+ return _this.foundation.setBodyHasScrollbar(...arguments);
229
+ };
230
+
231
+ this.handleWheel = event => {
232
+ const {
233
+ scroll = {}
234
+ } = this.props;
235
+
236
+ if (window.navigator.userAgent.match(/Trident\/7\./) && scroll.y) {
237
+ event.preventDefault();
238
+ const wd = event.deltaY;
239
+ const {
240
+ target
241
+ } = event; // const { bodyTable, fixedColumnsBodyLeft, fixedColumnsBodyRight } = this;
242
+
243
+ const bodyTable = this.bodyWrapRef.current;
244
+ let scrollTop = 0;
245
+
246
+ if (this.lastScrollTop) {
247
+ scrollTop = this.lastScrollTop + wd;
248
+ } else {
249
+ scrollTop = wd;
250
+ }
251
+
252
+ if (bodyTable && target !== bodyTable) {
253
+ bodyTable.scrollTop = scrollTop;
254
+ }
255
+ }
256
+ };
257
+
258
+ this.handleBodyScrollLeft = e => {
259
+ if (e.currentTarget !== e.target) {
260
+ return;
261
+ }
262
+
263
+ const {
264
+ target
265
+ } = e; // const { headTable, bodyTable } = this;
266
+
267
+ const headTable = this.headerWrapRef.current;
268
+ const bodyTable = this.bodyWrapRef.current;
269
+
270
+ if (target.scrollLeft !== this.lastScrollLeft) {
271
+ if (target === bodyTable && headTable) {
272
+ headTable.scrollLeft = target.scrollLeft;
273
+ } else if (target === headTable && bodyTable) {
274
+ bodyTable.scrollLeft = target.scrollLeft;
275
+ }
276
+
277
+ this.setScrollPositionClassName();
278
+ } // Remember last scrollLeft for scroll direction detecting.
279
+
280
+
281
+ this.lastScrollLeft = target.scrollLeft;
282
+ };
283
+
284
+ this.handleWindowResize = () => {
285
+ this.syncTableWidth();
286
+ this.setScrollPositionClassName();
287
+ };
288
+
289
+ this.handleBodyScrollTop = e => {
290
+ const {
291
+ target
292
+ } = e;
293
+
294
+ if (e.currentTarget !== target) {
295
+ return;
296
+ }
297
+
298
+ const {
299
+ scroll = {}
300
+ } = this.props; // const { headTable, bodyTable, fixedColumnsBodyLeft, fixedColumnsBodyRight } = this;
301
+
302
+ const headTable = this.headerWrapRef.current;
303
+ const bodyTable = this.bodyWrapRef.current;
304
+
305
+ if (target.scrollTop !== this.lastScrollTop && scroll.y && target !== headTable) {
306
+ const {
307
+ scrollTop
308
+ } = target;
309
+
310
+ if (bodyTable && target !== bodyTable) {
311
+ bodyTable.scrollTop = scrollTop;
312
+ }
313
+ } // Remember last scrollTop for scroll direction detecting.
314
+
315
+
316
+ this.lastScrollTop = target.scrollTop;
317
+ };
318
+
319
+ this.handleBodyScroll = e => {
320
+ this.handleBodyScrollLeft(e);
321
+ this.handleBodyScrollTop(e);
322
+ };
323
+
324
+ this.setScrollPosition = position => {
325
+ const {
326
+ prefixCls
327
+ } = this.props;
328
+ const positionAll = ["".concat(prefixCls, "-scroll-position-both"), "".concat(prefixCls, "-scroll-position-middle"), "".concat(prefixCls, "-scroll-position-left"), "".concat(prefixCls, "-scroll-position-right")];
329
+ this.scrollPosition = position;
330
+ const tableNode = this.wrapRef.current;
331
+
332
+ if (tableNode && tableNode.nodeType) {
333
+ if (position === 'both') {
334
+ const acceptPosition = ["".concat(prefixCls, "-scroll-position-left"), "".concat(prefixCls, "-scroll-position-right")];
335
+ tableNode.classList.remove(...(0, _difference2.default)(positionAll, acceptPosition));
336
+ tableNode.classList.add(...acceptPosition);
337
+ } else {
338
+ var _context2;
339
+
340
+ const acceptPosition = [(0, _concat.default)(_context2 = "".concat(prefixCls, "-scroll-position-")).call(_context2, position)];
341
+ tableNode.classList.remove(...(0, _difference2.default)(positionAll, acceptPosition));
342
+ tableNode.classList.add(...acceptPosition);
343
+ }
344
+ }
345
+ };
346
+
347
+ this.setScrollPositionClassName = () => {
348
+ const node = this.bodyWrapRef.current;
349
+
350
+ if (node && node.children && node.children.length) {
351
+ const scrollToLeft = node.scrollLeft === 0;
352
+ const scrollToRight = node.scrollLeft + 1 >= node.children[0].getBoundingClientRect().width - node.getBoundingClientRect().width;
353
+
354
+ if (scrollToLeft && scrollToRight) {
355
+ this.setScrollPosition('both');
356
+ } else if (scrollToLeft) {
357
+ this.setScrollPosition('left');
358
+ } else if (scrollToRight) {
359
+ this.setScrollPosition('right');
360
+ } else if (this.scrollPosition !== 'middle') {
361
+ this.setScrollPosition('middle');
362
+ }
363
+ }
364
+ };
365
+
366
+ this.syncTableWidth = () => {
367
+ if (this.rootWrapRef && this.rootWrapRef.current) {
368
+ this.setState({
369
+ tableWidth: this.rootWrapRef.current.getBoundingClientRect().width
370
+ });
371
+ }
372
+ };
373
+
374
+ this.renderSelection = function () {
375
+ let record = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
376
+ let inHeader = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
377
+ const {
378
+ rowSelection,
379
+ disabledRowKeysSet
380
+ } = _this.state;
381
+
382
+ if (rowSelection && typeof rowSelection === 'object') {
383
+ const {
384
+ selectedRowKeys = [],
385
+ selectedRowKeysSet = new _set.default(),
386
+ getCheckboxProps,
387
+ disabled
388
+ } = rowSelection;
389
+
390
+ if (inHeader) {
391
+ const columnKey = (0, _get2.default)(rowSelection, 'key', _constants.strings.DEFAULT_KEY_COLUMN_SELECTION);
392
+ const allRowKeys = _this.cachedFilteredSortedRowKeys;
393
+ const allRowKeysSet = _this.cachedFilteredSortedRowKeysSet;
394
+
395
+ const allIsSelected = _this.foundation.allIsSelected(selectedRowKeysSet, disabledRowKeysSet, allRowKeys);
396
+
397
+ const hasRowSelected = _this.foundation.hasRowSelected(selectedRowKeys, allRowKeysSet);
398
+
399
+ return /*#__PURE__*/_react.default.createElement(_ColumnSelection.default, {
400
+ disabled: disabled,
401
+ key: columnKey,
402
+ selected: allIsSelected,
403
+ indeterminate: hasRowSelected && !allIsSelected,
404
+ onChange: (status, e) => {
405
+ _this.toggleSelectAllRow(status, e);
406
+ }
407
+ });
408
+ } else {
409
+ const key = _this.foundation.getRecordKey(record);
410
+
411
+ const selected = selectedRowKeysSet.has(key);
412
+
413
+ const checkboxPropsFn = () => typeof getCheckboxProps === 'function' ? getCheckboxProps(record) : {};
414
+
415
+ return /*#__PURE__*/_react.default.createElement(_ColumnSelection.default, {
416
+ getCheckboxProps: checkboxPropsFn,
417
+ selected: selected,
418
+ onChange: (status, e) => _this.toggleSelectRow(status, key, e)
419
+ });
420
+ }
421
+ }
422
+
423
+ return null;
424
+ };
425
+
426
+ this.renderRowSelectionCallback = function (text) {
427
+ let record = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
428
+ return _this.renderSelection(record);
429
+ };
430
+
431
+ this.renderTitleSelectionCallback = () => this.renderSelection(null, true);
432
+
433
+ this.normalizeSelectionColumn = function () {
434
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
435
+ const {
436
+ rowSelection,
437
+ prefixCls
438
+ } = props;
439
+ let column = {};
440
+
441
+ if (rowSelection) {
442
+ const needOmitSelectionKey = ['selectedRowKeys', 'selectedRowKeysSet'];
443
+ column = {
444
+ key: _constants.strings.DEFAULT_KEY_COLUMN_SELECTION
445
+ };
446
+
447
+ if ((0, _isObject2.default)(rowSelection)) {
448
+ column = (0, _assign.default)((0, _assign.default)({}, column), (0, _omit2.default)(rowSelection, needOmitSelectionKey));
449
+ }
450
+
451
+ column.className = (0, _classnames.default)(column.className, "".concat(prefixCls, "-column-selection"));
452
+ column.title = _this.renderTitleSelectionCallback;
453
+ column.render = _this.renderRowSelectionCallback;
454
+ }
455
+
456
+ return column;
457
+ }; // If there is a scroll bar, manually construct a column and insert it into the header
458
+
459
+
460
+ this.normalizeScrollbarColumn = function () {
461
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
462
+ const {
463
+ scrollbarWidth = 0
464
+ } = props;
465
+ return {
466
+ key: _constants.strings.DEFAULT_KEY_COLUMN_SCROLLBAR,
467
+ width: scrollbarWidth,
468
+ fixed: 'right'
469
+ };
470
+ };
471
+ /**
472
+ * render expand icon
473
+ * @param {Object} record
474
+ * @param {Boolean} isNested
475
+ * @param {String} groupKey
476
+ * @returns {ReactNode}
477
+ */
478
+
479
+
480
+ this.renderExpandIcon = function () {
481
+ let record = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
482
+ let isNested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
483
+ let groupKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
484
+ const {
485
+ expandedRowKeys
486
+ } = _this.state;
487
+ const {
488
+ expandIcon
489
+ } = _this.props;
490
+ const key = typeof groupKey === 'string' || typeof groupKey === 'number' ? groupKey : _this.foundation.getRecordKey(record);
491
+ return /*#__PURE__*/_react.default.createElement(_CustomExpandIcon.default, {
492
+ key: key,
493
+ componentType: isNested ? 'tree' : 'expand',
494
+ expanded: (0, _includes3.default)(expandedRowKeys, key),
495
+ expandIcon: expandIcon,
496
+ onClick: (expanded, e) => _this.handleRowExpanded(expanded, key, e)
497
+ });
498
+ }; // @ts-ignore
499
+
500
+
501
+ this.handleRowExpanded = function () {
502
+ return _this.foundation.handleRowExpanded(...arguments);
503
+ };
504
+
505
+ this.normalizeExpandColumn = function () {
506
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
507
+ let column = null;
508
+ const {
509
+ prefixCls,
510
+ expandCellFixed,
511
+ expandIcon
512
+ } = props;
513
+ column = {
514
+ fixed: expandCellFixed,
515
+ key: _constants.strings.DEFAULT_KEY_COLUMN_EXPAND
516
+ };
517
+ column.className = (0, _classnames.default)(column.className, "".concat(prefixCls, "-column-expand"));
518
+ column.render = expandIcon !== false ? function () {
519
+ let text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
520
+ let record = arguments.length > 1 ? arguments[1] : undefined;
521
+ let index = arguments.length > 2 ? arguments[2] : undefined;
522
+ return _this.adapter.mergedRowExpandable(record) ? _this.renderExpandIcon(record) : null;
523
+ } : () => null;
524
+ return column;
525
+ };
526
+ /**
527
+ * Add sorting, filtering, and rendering functions to columns, and add column event handling
528
+ * Title support function, passing parameters as {filter: node, sorter: node, selection: node}
529
+ * @param {*} column
530
+ */
531
+
532
+
533
+ this.addFnsInColumn = function () {
534
+ let column = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
535
+
536
+ if (column && (column.sorter || column.filters || column.useFullRender)) {
537
+ const {
538
+ dataIndex,
539
+ title: rawTitle,
540
+ useFullRender
541
+ } = column;
542
+
543
+ const curQuery = _this.foundation.getQuery(dataIndex);
544
+
545
+ const titleMap = {};
546
+ const titleArr = []; // useFullRender adds select buttons to each column
547
+
548
+ if (useFullRender) {
549
+ titleMap.selection = _this.renderSelection(null, true);
550
+ }
551
+
552
+ const stateSortOrder = (0, _get2.default)(curQuery, 'sortOrder');
553
+ const defaultSortOrder = (0, _get2.default)(curQuery, 'defaultSortOrder', false);
554
+ const sortOrder = _this.foundation.isSortOrderValid(stateSortOrder) ? stateSortOrder : defaultSortOrder;
555
+
556
+ if (typeof column.sorter === 'function' || column.sorter === true) {
557
+ const sorter = /*#__PURE__*/_react.default.createElement(_ColumnSorter.default, {
558
+ key: _constants.strings.DEFAULT_KEY_COLUMN_SORTER,
559
+ sortOrder: sortOrder,
560
+ onClick: e => _this.foundation.handleSort(column, e)
561
+ });
562
+
563
+ useFullRender && (titleMap.sorter = sorter);
564
+ titleArr.push(sorter);
565
+ }
566
+
567
+ if ((0, _isArray.default)(column.filters) && column.filters.length || /*#__PURE__*/(0, _react.isValidElement)(column.filterDropdown)) {
568
+ const filter = /*#__PURE__*/_react.default.createElement(_ColumnFilter.default, (0, _assign.default)({
569
+ key: _constants.strings.DEFAULT_KEY_COLUMN_FILTER
570
+ }, curQuery, {
571
+ onFilterDropdownVisibleChange: visible => _this.foundation.toggleShowFilter(dataIndex, visible),
572
+ onSelect: data => _this.foundation.handleFilterSelect(dataIndex, data)
573
+ }));
574
+
575
+ useFullRender && (titleMap.filter = filter);
576
+ titleArr.push(filter);
577
+ }
578
+
579
+ const newTitle = typeof rawTitle === 'function' ? () => rawTitle(titleMap) : titleArr.unshift( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
580
+ key: _constants.strings.DEFAULT_KEY_COLUMN_TITLE
581
+ }, rawTitle)) && titleArr;
582
+ column = (0, _assign.default)((0, _assign.default)({}, column), {
583
+ title: newTitle
584
+ });
585
+ }
586
+
587
+ return column;
588
+ };
589
+
590
+ this.toggleSelectRow = (selected, realKey, e) => {
591
+ this.foundation.handleSelectRow(realKey, selected, e);
592
+ };
593
+
594
+ this.toggleSelectAllRow = (status, e) => {
595
+ this.foundation.handleSelectAllRow(status, e);
596
+ };
597
+ /**
598
+ * render pagination
599
+ * @param {object} pagination
600
+ */
601
+
602
+
603
+ this.renderPagination = (pagination, propRenderPagination) => {
604
+ if (!pagination) {
605
+ return null;
606
+ } // use memoized pagination
607
+
608
+
609
+ const mergedPagination = this.foundation.memoizedPagination(pagination);
610
+ return /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
611
+ componentName: "Table"
612
+ }, locale => {
613
+ const info = this.foundation.formatPaginationInfo(mergedPagination, locale.pageText);
614
+ return /*#__PURE__*/_react.default.createElement(_TablePagination.default, {
615
+ info: info,
616
+ pagination: mergedPagination,
617
+ renderPagination: propRenderPagination
618
+ });
619
+ });
620
+ };
621
+
622
+ this.renderTitle = function () {
623
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
624
+ let {
625
+ title
626
+ } = props;
627
+ const {
628
+ prefixCls,
629
+ dataSource
630
+ } = props;
631
+
632
+ if (typeof title === 'function') {
633
+ title = title(dataSource);
634
+ }
635
+
636
+ return /*#__PURE__*/(0, _react.isValidElement)(title) || typeof title === 'string' ? /*#__PURE__*/_react.default.createElement("div", {
637
+ className: "".concat(prefixCls, "-title")
638
+ }, title) : null;
639
+ };
640
+
641
+ this.renderEmpty = function () {
642
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
643
+ const {
644
+ prefixCls,
645
+ empty,
646
+ dataSource
647
+ } = props;
648
+ const wrapCls = "".concat(prefixCls, "-placeholder");
649
+
650
+ const isEmpty = _this.foundation.isEmpty(dataSource);
651
+
652
+ if (!isEmpty) {
653
+ return null;
654
+ }
655
+
656
+ return /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
657
+ componentName: "Table",
658
+ key: 'emptyText'
659
+ }, (locale, localeCode) => /*#__PURE__*/_react.default.createElement("div", {
660
+ className: wrapCls
661
+ }, /*#__PURE__*/_react.default.createElement("div", {
662
+ className: "".concat(prefixCls, "-empty")
663
+ }, empty || locale.emptyText)));
664
+ };
665
+
666
+ this.renderFooter = function () {
667
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
668
+ let {
669
+ footer
670
+ } = props;
671
+ const {
672
+ prefixCls,
673
+ dataSource
674
+ } = props;
675
+
676
+ if (typeof footer === 'function') {
677
+ footer = footer(dataSource);
678
+ }
679
+
680
+ return /*#__PURE__*/(0, _react.isValidElement)(footer) || typeof footer === 'string' ? /*#__PURE__*/_react.default.createElement("div", {
681
+ className: "".concat(prefixCls, "-footer"),
682
+ key: "footer"
683
+ }, footer) : null;
684
+ };
685
+
686
+ this.renderMainTable = props => {
687
+ const useFixedHeader = this.adapter.useFixedHeader();
688
+ const emptySlot = this.renderEmpty(props);
689
+ const table = [this.renderTable((0, _assign.default)((0, _assign.default)({}, props), {
690
+ fixed: false,
691
+ useFixedHeader,
692
+ headerRef: this._cacheHeaderRef,
693
+ bodyRef: this.bodyWrapRef,
694
+ includeHeader: !useFixedHeader
695
+ })), emptySlot, this.renderFooter(props)];
696
+ return table;
697
+ };
698
+
699
+ this.renderTable = props => {
700
+ const {
701
+ columns,
702
+ filteredColumns,
703
+ fixed,
704
+ useFixedHeader,
705
+ scroll,
706
+ prefixCls,
707
+ anyColumnFixed,
708
+ includeHeader,
709
+ showHeader,
710
+ components,
711
+ headerRef,
712
+ bodyRef,
713
+ rowSelection,
714
+ dataSource,
715
+ bodyHasScrollBar,
716
+ disabledRowKeysSet
717
+ } = props;
718
+ const selectedRowKeysSet = (0, _get2.default)(rowSelection, 'selectedRowKeysSet', new _set.default());
719
+ const headTable = fixed || useFixedHeader ? /*#__PURE__*/_react.default.createElement(_HeadTable.default, {
720
+ key: "head",
721
+ anyColumnFixed: anyColumnFixed,
722
+ ref: headerRef,
723
+ columns: filteredColumns,
724
+ prefixCls: prefixCls,
725
+ fixed: fixed,
726
+ handleBodyScroll: this.handleBodyScrollLeft,
727
+ components: components,
728
+ scroll: scroll,
729
+ showHeader: showHeader,
730
+ selectedRowKeysSet: selectedRowKeysSet,
731
+ dataSource: dataSource,
732
+ bodyHasScrollBar: bodyHasScrollBar
733
+ }) : null;
734
+
735
+ const bodyTable = /*#__PURE__*/_react.default.createElement(_Body.default, (0, _assign.default)({}, (0, _omit2.default)(props, ['rowSelection', 'headWidths']), {
736
+ key: "body",
737
+ ref: bodyRef,
738
+ columns: filteredColumns,
739
+ fixed: fixed,
740
+ prefixCls: prefixCls,
741
+ handleWheel: this.handleWheel,
742
+ handleBodyScroll: this.handleBodyScroll,
743
+ anyColumnFixed: anyColumnFixed,
744
+ includeHeader: includeHeader,
745
+ showHeader: showHeader,
746
+ scroll: scroll,
747
+ components: components,
748
+ store: this.store,
749
+ selectedRowKeysSet: selectedRowKeysSet,
750
+ disabledRowKeysSet: disabledRowKeysSet
751
+ }));
752
+
753
+ return [headTable, bodyTable];
754
+ };
755
+ /**
756
+ * When columns change, call this function to get the latest withFnsColumns
757
+ * In addition to changes in columns, these props changes must be recalculated
758
+ * - hideExpandedColumn
759
+ * -rowSelection changes from trusy to falsy or rowSelection.hidden changes
760
+ * -isAnyFixedRight(columns) || get(scroll,'y') changes
761
+ *
762
+ * columns变化时,调用此函数获取最新的withFnsColumns
763
+ * 除了 columns 变化,这些 props 变化也要重新计算
764
+ * - hideExpandedColumn
765
+ * - rowSelection 从 trusy 变为 falsy 或 rowSelection.hidden 发生变化
766
+ * - isAnyFixedRight(columns) || get(scroll, 'y') 发生变化
767
+ *
768
+ * @param {Array} queries
769
+ * @param {Array} cachedColumns
770
+ * @returns columns after adding extended functions
771
+ */
772
+
773
+
774
+ this.handleColumns = (queries, cachedColumns) => {
775
+ const {
776
+ hideExpandedColumn,
777
+ scroll,
778
+ prefixCls,
779
+ expandCellFixed,
780
+ expandIcon,
781
+ rowSelection
782
+ } = this.props;
783
+ const childrenColumnName = 'children';
784
+ let columns = (0, _utils2.cloneDeep)(cachedColumns); // eslint-disable-next-line @typescript-eslint/no-shadow
785
+
786
+ const addFns = function () {
787
+ let columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
788
+
789
+ if ((0, _isArray.default)(columns) && columns.length) {
790
+ (0, _each2.default)(columns, (column, index, originColumns) => {
791
+ const newColumn = _this.addFnsInColumn(column);
792
+
793
+ const children = column[childrenColumnName];
794
+
795
+ if ((0, _isArray.default)(children) && children.length) {
796
+ const newChildren = [...children];
797
+ addFns(newChildren);
798
+ newColumn[childrenColumnName] = newChildren;
799
+ }
800
+
801
+ originColumns[index] = newColumn;
802
+ });
803
+ }
804
+ };
805
+
806
+ addFns(columns); // hideExpandedColumn=false render expand column separately
807
+
808
+ if (!hideExpandedColumn) {
809
+ const column = this.normalizeExpandColumn({
810
+ prefixCls,
811
+ expandCellFixed,
812
+ expandIcon
813
+ });
814
+ const destIndex = (0, _findIndex2.default)(columns, item => item.key === _constants.strings.DEFAULT_KEY_COLUMN_EXPAND);
815
+
816
+ if (column) {
817
+ if (destIndex > -1) {
818
+ columns[destIndex] = (0, _assign.default)((0, _assign.default)({}, column), columns[destIndex]);
819
+ } else if (column.fixed === 'right') {
820
+ columns = [...columns, column];
821
+ } else {
822
+ columns = [column, ...columns];
823
+ }
824
+ }
825
+ } // selection column
826
+
827
+
828
+ if (rowSelection && !(0, _get2.default)(rowSelection, 'hidden')) {
829
+ const destIndex = (0, _findIndex2.default)(columns, item => item.key === _constants.strings.DEFAULT_KEY_COLUMN_SELECTION);
830
+ const column = this.normalizeSelectionColumn({
831
+ rowSelection,
832
+ prefixCls
833
+ });
834
+
835
+ if (destIndex > -1) {
836
+ columns[destIndex] = (0, _assign.default)((0, _assign.default)({}, column), columns[destIndex]);
837
+ } else if (column.fixed === 'right') {
838
+ columns = [...columns, column];
839
+ } else {
840
+ columns = [column, ...columns];
841
+ }
842
+ }
843
+
844
+ (0, _utils.assignColumnKeys)(columns);
845
+ return columns;
846
+ };
847
+ /**
848
+ * Convert children to columns object
849
+ * @param {Array} columns
850
+ * @param {ReactNode} children
851
+ * @returns {Array}
852
+ */
853
+
854
+
855
+ this.normalizeColumns = (columns, children) => {
856
+ const normalColumns = (0, _utils2.cloneDeep)(this.getColumns(columns, children));
857
+ return normalColumns;
858
+ };
859
+ /**
860
+ * Combine pagination and table paging processing functions
861
+ */
862
+
863
+
864
+ this.mergePagination = pagination => {
865
+ const newPagination = (0, _assign.default)({
866
+ onChange: this.foundation.setPage
867
+ }, pagination);
868
+ return newPagination;
869
+ };
870
+
871
+ this.foundation = new _foundation.default(this.adapter); // columns cannot be deepClone, otherwise the comparison will be false
872
+
873
+ const columns = this.getColumns(props.columns, props.children);
874
+ const cachedflattenColumns = (0, _utils.flattenColumns)(columns);
875
+ this.state = {
876
+ /**
877
+ * Cached props
878
+ */
879
+ cachedColumns: columns,
880
+ cachedChildren: props.children,
881
+ flattenColumns: cachedflattenColumns,
882
+ components: (0, _utils2.mergeComponents)(props.components, props.virtualized),
883
+
884
+ /**
885
+ * State calculated based on prop
886
+ */
887
+ queries: (0, _utils2.cloneDeep)(cachedflattenColumns),
888
+ dataSource: [],
889
+ flattenData: [],
890
+ expandedRowKeys: [...(props.expandedRowKeys || []), ...(props.defaultExpandedRowKeys || [])],
891
+ rowSelection: props.rowSelection ? (0, _isObject2.default)(props.rowSelection) ? (0, _assign.default)({}, props.rowSelection) : {} : null,
892
+ pagination: props.pagination && typeof props.pagination === 'object' ? (0, _assign.default)({}, props.pagination) : props.pagination || false,
893
+
894
+ /**
895
+ * Internal state
896
+ */
897
+ groups: null,
898
+ allRowKeys: [],
899
+ disabledRowKeys: [],
900
+ disabledRowKeysSet: new _set.default(),
901
+ headWidths: [],
902
+ bodyHasScrollBar: false,
903
+ prePropRowSelection: undefined
904
+ };
905
+ this.rootWrapRef = /*#__PURE__*/(0, _react.createRef)();
906
+ this.wrapRef = /*#__PURE__*/(0, _react.createRef)(); // table's outside wrap
907
+
908
+ this.bodyWrapRef = /*#__PURE__*/(0, _react.createRef)();
909
+ this.headerWrapRef = /*#__PURE__*/(0, _react.createRef)();
910
+ this.store = new _Store.default({
911
+ hoveredRowKey: null
912
+ });
913
+ this.setScrollPosition('left');
914
+ this.debouncedWindowResize = (0, _debounce2.default)(this.handleWindowResize, 150);
915
+ this.cachedFilteredSortedDataSource = [];
916
+ this.cachedFilteredSortedRowKeys = [];
917
+ this.cachedFilteredSortedRowKeysSet = new _set.default();
918
+ }
919
+
920
+ get adapter() {
921
+ var _this2 = this;
922
+
923
+ return (0, _assign.default)((0, _assign.default)({}, super.adapter), {
924
+ resetScrollY: () => {
925
+ if (this.bodyWrapRef.current) {
926
+ this.bodyWrapRef.current.scrollTop = 0;
927
+ }
928
+ },
929
+ setSelectedRowKeys: selectedRowKeys => {
930
+ this.setState({
931
+ rowSelection: (0, _assign.default)((0, _assign.default)({}, this.state.rowSelection), {
932
+ selectedRowKeys: [...selectedRowKeys],
933
+ selectedRowKeysSet: new _set.default(selectedRowKeys)
934
+ })
935
+ });
936
+ },
937
+ setDisabledRowKeys: disabledRowKeys => {
938
+ this.setState({
939
+ disabledRowKeys,
940
+ disabledRowKeysSet: new _set.default(disabledRowKeys)
941
+ });
942
+ },
943
+ setCurrentPage: currentPage => {
944
+ const {
945
+ pagination
946
+ } = this.state;
947
+
948
+ if (typeof pagination === 'object') {
949
+ this.setState({
950
+ pagination: (0, _assign.default)((0, _assign.default)({}, pagination), {
951
+ currentPage
952
+ })
953
+ });
954
+ } else {
955
+ this.setState({
956
+ pagination: {
957
+ currentPage
958
+ }
959
+ });
960
+ }
961
+ },
962
+ setPagination: pagination => this.setState({
963
+ pagination
964
+ }),
965
+ setGroups: groups => this.setState({
966
+ groups
967
+ }),
968
+ setDataSource: dataSource => this.setState({
969
+ dataSource
970
+ }),
971
+ setExpandedRowKeys: expandedRowKeys => this.setState({
972
+ expandedRowKeys: [...expandedRowKeys]
973
+ }),
974
+ setQuery: function () {
975
+ let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
976
+ let queries = [..._this2.state.queries];
977
+ queries = (0, _utils.mergeQueries)(query, queries);
978
+
979
+ _this2.setState({
980
+ queries
981
+ });
982
+ },
983
+ // Update queries when filtering or sorting
984
+ setQueries: queries => this.setState({
985
+ queries
986
+ }),
987
+ setFlattenData: flattenData => this.setState({
988
+ flattenData
989
+ }),
990
+ setAllRowKeys: allRowKeys => this.setState({
991
+ allRowKeys
992
+ }),
993
+ setHoveredRowKey: hoveredRowKey => {
994
+ this.store.setState({
995
+ hoveredRowKey
996
+ });
997
+ },
998
+ setCachedFilteredSortedDataSource: filteredSortedDataSource => {
999
+ this.cachedFilteredSortedDataSource = filteredSortedDataSource;
1000
+ },
1001
+ setCachedFilteredSortedRowKeys: filteredSortedRowKeys => {
1002
+ this.cachedFilteredSortedRowKeys = filteredSortedRowKeys;
1003
+ this.cachedFilteredSortedRowKeysSet = new _set.default(filteredSortedRowKeys);
1004
+ },
1005
+ getCurrentPage: () => (0, _get2.default)(this.state, 'pagination.currentPage', 1),
1006
+ getCurrentPageSize: () => (0, _get2.default)(this.state, 'pagination.pageSize', _constants.numbers.DEFAULT_PAGE_SIZE),
1007
+ getCachedFilteredSortedDataSource: () => this.cachedFilteredSortedDataSource,
1008
+ getCachedFilteredSortedRowKeys: () => this.cachedFilteredSortedRowKeys,
1009
+ getCachedFilteredSortedRowKeysSet: () => this.cachedFilteredSortedRowKeysSet,
1010
+ notifyFilterDropdownVisibleChange: (visible, dataIndex) => this._invokeColumnFn(dataIndex, 'onFilterDropdownVisibleChange', visible),
1011
+ notifyChange: function () {
1012
+ return _this2.props.onChange(...arguments);
1013
+ },
1014
+ notifyExpand: function () {
1015
+ return _this2.props.onExpand(...arguments);
1016
+ },
1017
+ notifyExpandedRowsChange: function () {
1018
+ return _this2.props.onExpandedRowsChange(...arguments);
1019
+ },
1020
+ notifySelect: function () {
1021
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1022
+ args[_key3] = arguments[_key3];
1023
+ }
1024
+
1025
+ return _this2._invokeRowSelection('onSelect', ...args);
1026
+ },
1027
+ notifySelectAll: function () {
1028
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1029
+ args[_key4] = arguments[_key4];
1030
+ }
1031
+
1032
+ return _this2._invokeRowSelection('onSelectAll', ...args);
1033
+ },
1034
+ notifySelectInvert: function () {
1035
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
1036
+ args[_key5] = arguments[_key5];
1037
+ }
1038
+
1039
+ return _this2._invokeRowSelection('onSelectInvert', ...args);
1040
+ },
1041
+ notifySelectionChange: function () {
1042
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
1043
+ args[_key6] = arguments[_key6];
1044
+ }
1045
+
1046
+ return _this2._invokeRowSelection('onChange', ...args);
1047
+ },
1048
+ isAnyColumnFixed: columns => (0, _some2.default)(this.getColumns(columns || this.props.columns, this.props.children), column => Boolean(column.fixed)),
1049
+ useFixedHeader: () => {
1050
+ const {
1051
+ scroll
1052
+ } = this.props;
1053
+
1054
+ if ((0, _get2.default)(scroll, 'y')) {
1055
+ return true;
1056
+ }
1057
+
1058
+ return false;
1059
+ },
1060
+ setHeadWidths: function (headWidths) {
1061
+ let index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
1062
+
1063
+ if (!(0, _utils.equalWith)(_this2.state.headWidths[index], headWidths)) {
1064
+ // The map call depends on the last state
1065
+ _this2.setState(state => {
1066
+ const newHeadWidths = [...state.headWidths];
1067
+ newHeadWidths[index] = [...headWidths];
1068
+ return {
1069
+ headWidths: newHeadWidths
1070
+ };
1071
+ });
1072
+ }
1073
+ },
1074
+ getHeadWidths: function () {
1075
+ let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
1076
+
1077
+ if (_this2.state.headWidths.length && typeof index === 'number') {
1078
+ const configs = _this2.state.headWidths[index] || [];
1079
+ return (0, _map.default)(configs).call(configs, item => item.width);
1080
+ }
1081
+
1082
+ return [];
1083
+ },
1084
+ // This method is called by row rendering function
1085
+ getCellWidths: function (flattenedColumns) {
1086
+ let flattenedWidths = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1087
+ let ignoreScrollBarKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1088
+
1089
+ if ((0, _isArray.default)(flattenedColumns) && flattenedColumns.length) {
1090
+ flattenedWidths = flattenedWidths == null && _this2.state.headWidths.length ? (0, _flattenDeep2.default)(_this2.state.headWidths) : [];
1091
+
1092
+ if ((0, _isArray.default)(flattenedWidths) && flattenedWidths.length) {
1093
+ return (0, _reduce.default)(flattenedColumns).call(flattenedColumns, (result, column) => {
1094
+ const found = column.key === _constants.strings.DEFAULT_KEY_COLUMN_SCROLLBAR && ignoreScrollBarKey ? null : (0, _find2.default)(flattenedWidths, item => item && item.key != null && item.key === column.key);
1095
+
1096
+ if (found) {
1097
+ result.push(found.width);
1098
+ }
1099
+
1100
+ return result;
1101
+ }, []);
1102
+ }
1103
+ }
1104
+
1105
+ return [];
1106
+ },
1107
+ mergedRowExpandable: record => {
1108
+ const {
1109
+ expandedRowRender,
1110
+ childrenRecordName,
1111
+ rowExpandable
1112
+ } = this.props;
1113
+ const children = (0, _get2.default)(record, childrenRecordName);
1114
+ const hasExpandedRowRender = typeof expandedRowRender === 'function';
1115
+ const hasRowExpandable = typeof rowExpandable === 'function';
1116
+ const hasChildren = (0, _isArray.default)(children) && children.length;
1117
+ const strictExpandableResult = hasRowExpandable && rowExpandable(record);
1118
+ const looseExpandableResult = !hasRowExpandable || strictExpandableResult;
1119
+ return (hasExpandedRowRender || hasChildren) && looseExpandableResult || !(hasExpandedRowRender || hasChildren) && strictExpandableResult;
1120
+ },
1121
+ isAnyColumnUseFullRender: columns => (0, _some2.default)(columns, column => Boolean(column.useFullRender)),
1122
+ getNormalizeColumns: () => this.normalizeColumns,
1123
+ getHandleColumns: () => this.handleColumns,
1124
+ getMergePagination: () => this.mergePagination,
1125
+ setBodyHasScrollbar: bodyHasScrollBar => {
1126
+ if (bodyHasScrollBar !== this.state.bodyHasScrollBar) {
1127
+ this.setState({
1128
+ bodyHasScrollBar
1129
+ });
1130
+ }
1131
+ }
1132
+ });
1133
+ }
1134
+
1135
+ static getDerivedStateFromProps(props, state) {
1136
+ const willUpdateStates = {};
1137
+ const {
1138
+ rowSelection,
1139
+ dataSource,
1140
+ childrenRecordName,
1141
+ rowKey
1142
+ } = props;
1143
+ props.columns && props.children && _utils2.logger.warn('columns should not given by object and children at the same time');
1144
+
1145
+ if (props.columns && props.columns !== state.cachedColumns) {
1146
+ const newFlattenColumns = (0, _utils.flattenColumns)(props.columns);
1147
+ willUpdateStates.flattenColumns = newFlattenColumns;
1148
+ willUpdateStates.queries = (0, _utils.mergeColumns)(state.queries, newFlattenColumns, null, false);
1149
+ willUpdateStates.cachedColumns = props.columns;
1150
+ willUpdateStates.cachedChildren = null;
1151
+ } else if (props.children && props.children !== state.cachedChildren) {
1152
+ const newFlattenColumns = (0, _utils.flattenColumns)((0, _getColumns.default)(props.children));
1153
+ const columns = (0, _utils.mergeColumns)(state.queries, newFlattenColumns, null, false);
1154
+ willUpdateStates.flattenColumns = newFlattenColumns;
1155
+ willUpdateStates.queries = [...columns];
1156
+ willUpdateStates.cachedColumns = [...columns];
1157
+ willUpdateStates.cachedChildren = props.children;
1158
+ } // Update controlled selection column
1159
+
1160
+
1161
+ if (rowSelection !== state.prePropRowSelection) {
1162
+ let newSelectionStates = {};
1163
+
1164
+ if ((0, _isObject2.default)(state.rowSelection)) {
1165
+ newSelectionStates = (0, _assign.default)((0, _assign.default)({}, newSelectionStates), state.rowSelection);
1166
+ }
1167
+
1168
+ if ((0, _isObject2.default)(rowSelection)) {
1169
+ newSelectionStates = (0, _assign.default)((0, _assign.default)({}, newSelectionStates), rowSelection);
1170
+ }
1171
+
1172
+ const selectedRowKeys = (0, _get2.default)(rowSelection, 'selectedRowKeys');
1173
+ const getCheckboxProps = (0, _get2.default)(rowSelection, 'getCheckboxProps');
1174
+
1175
+ if (selectedRowKeys && (0, _isArray.default)(selectedRowKeys)) {
1176
+ newSelectionStates.selectedRowKeysSet = new _set.default(selectedRowKeys);
1177
+ } // The return value of getCheckboxProps affects the disabled rows
1178
+
1179
+
1180
+ if ((0, _isFunction2.default)(getCheckboxProps)) {
1181
+ const disabledRowKeys = (0, _utils.getAllDisabledRowKeys)({
1182
+ dataSource,
1183
+ getCheckboxProps,
1184
+ childrenRecordName,
1185
+ rowKey
1186
+ });
1187
+ willUpdateStates.disabledRowKeys = disabledRowKeys;
1188
+ willUpdateStates.disabledRowKeysSet = new _set.default(disabledRowKeys);
1189
+ }
1190
+
1191
+ willUpdateStates.rowSelection = newSelectionStates;
1192
+ willUpdateStates.prePropRowSelection = rowSelection;
1193
+ }
1194
+
1195
+ return willUpdateStates;
1196
+ }
1197
+
1198
+ componentDidMount() {
1199
+ super.componentDidMount();
1200
+
1201
+ if (this.adapter.isAnyColumnFixed() || this.props.showHeader && this.adapter.useFixedHeader()) {
1202
+ this.handleWindowResize();
1203
+ window.addEventListener('resize', this.debouncedWindowResize);
1204
+ }
1205
+ } // TODO: Extract the setState operation to the adapter or getDerivedStateFromProps function
1206
+
1207
+
1208
+ componentDidUpdate(prevProps, prevState) {
1209
+ const {
1210
+ pagination,
1211
+ dataSource,
1212
+ expandedRowKeys,
1213
+ expandAllRows,
1214
+ expandAllGroupRows,
1215
+ virtualized,
1216
+ components
1217
+ } = this.props;
1218
+ const {
1219
+ queries: stateQueries,
1220
+ cachedColumns: stateCachedColumns,
1221
+ cachedChildren: stateCachedChildren,
1222
+ groups: stateGroups
1223
+ } = this.state;
1224
+ /**
1225
+ * State related to paging
1226
+ *
1227
+ * @param dataSource
1228
+ * @param groups
1229
+ * @param pagination
1230
+ * @param disabledRowKeys
1231
+ * @param allRowKeys
1232
+ * @param queries
1233
+ */
1234
+
1235
+ const states = {};
1236
+
1237
+ this._warnIfNoKey();
1238
+ /**
1239
+ * The state that needs to be updated after props changes
1240
+ */
1241
+ // Update controlled expand column
1242
+
1243
+
1244
+ if ((0, _isArray.default)(expandedRowKeys) && expandedRowKeys !== prevProps.expandedRowKeys) {
1245
+ this.setState({
1246
+ expandedRowKeys
1247
+ });
1248
+ } // Update components
1249
+
1250
+
1251
+ if (components !== prevProps.components || virtualized !== prevProps.virtualized) {
1252
+ this.setState({
1253
+ components: (0, _utils2.mergeComponents)(components, virtualized)
1254
+ });
1255
+ } // Update the default expanded column
1256
+
1257
+
1258
+ if (expandAllRows !== prevProps.expandAllRows || expandAllGroupRows !== prevProps.expandAllGroupRows) {
1259
+ this.foundation.initExpandedRowKeys({
1260
+ groups: stateGroups
1261
+ });
1262
+ } // Update pagination
1263
+
1264
+
1265
+ if (pagination !== prevProps.pagination) {
1266
+ states.pagination = (0, _isObject2.default)(pagination) ? (0, _assign.default)({}, pagination) : pagination;
1267
+ }
1268
+ /**
1269
+ * After dataSource is updated || (cachedColumns || cachedChildren updated)
1270
+ * 1. Cache filtered sorted data and a collection of data rows, stored in this
1271
+ * 2. Update pager and group, stored in state
1272
+ */
1273
+
1274
+
1275
+ if (dataSource !== prevProps.dataSource || stateCachedColumns !== prevState.cachedColumns || stateCachedChildren !== prevState.cachedChildren) {
1276
+ // TODO: foundation.getFilteredSortedDataSource has side effects and will be modified to the dataSource reference
1277
+ // Temporarily use _dataSource=[...dataSource] for processing
1278
+ const _dataSource = [...dataSource];
1279
+ const filteredSortedDataSource = this.foundation.getFilteredSortedDataSource(_dataSource, stateQueries);
1280
+ this.foundation.setCachedFilteredSortedDataSource(filteredSortedDataSource);
1281
+ states.dataSource = filteredSortedDataSource;
1282
+
1283
+ if (pagination === prevProps.pagination) {
1284
+ states.pagination = (0, _isObject2.default)(pagination) ? (0, _assign.default)({}, pagination) : pagination;
1285
+ }
1286
+
1287
+ if (this.props.groupBy) {
1288
+ states.groups = null;
1289
+ }
1290
+ }
1291
+
1292
+ if ((0, _keys.default)(states).length) {
1293
+ const {
1294
+ // eslint-disable-next-line @typescript-eslint/no-shadow
1295
+ queries: stateQueries = null,
1296
+ pagination: statePagination = null,
1297
+ dataSource: stateDataSource = null
1298
+ } = states;
1299
+ const handledProps = this.foundation.getCurrentPageData(stateDataSource, statePagination, stateQueries); // After the pager is updated, reset allRowKeys of the current page
1300
+
1301
+ this.adapter.setAllRowKeys(handledProps.allRowKeys);
1302
+ this.adapter.setDisabledRowKeys(handledProps.disabledRowKeys);
1303
+
1304
+ if ('dataSource' in states) {
1305
+ if (this.props.defaultExpandAllRows && handledProps.groups && handledProps.groups.size || this.props.expandAllRows || this.props.expandAllGroupRows) {
1306
+ this.foundation.initExpandedRowKeys(handledProps);
1307
+ }
1308
+ } // Centrally update paging related state
1309
+
1310
+
1311
+ const statesKeys = (0, _keys.default)(states);
1312
+
1313
+ for (const k of statesKeys) {
1314
+ this.setState({
1315
+ [k]: handledProps[k]
1316
+ });
1317
+ }
1318
+ }
1319
+
1320
+ if (this.adapter.isAnyColumnFixed() || this.props.showHeader && this.adapter.useFixedHeader()) {
1321
+ if (!this.debouncedWindowResize) {
1322
+ window.addEventListener('resize', this.debouncedWindowResize);
1323
+ }
1324
+ }
1325
+ }
1326
+
1327
+ componentWillUnmount() {
1328
+ super.componentWillUnmount();
1329
+
1330
+ if (this.debouncedWindowResize) {
1331
+ window.removeEventListener('resize', this.debouncedWindowResize);
1332
+ this.debouncedWindowResize.cancel();
1333
+ this.debouncedWindowResize = null;
1334
+ }
1335
+ }
1336
+
1337
+ render() {
1338
+ var _context3, _context4, _context5, _context6, _context7, _context8;
1339
+
1340
+ let _a = this.props,
1341
+ {
1342
+ scroll,
1343
+ prefixCls,
1344
+ className,
1345
+ style: wrapStyle = {},
1346
+ bordered,
1347
+ id,
1348
+ pagination: propPagination,
1349
+ virtualized,
1350
+ size,
1351
+ renderPagination: propRenderPagination,
1352
+ getVirtualizedListRef,
1353
+ loading,
1354
+ hideExpandedColumn,
1355
+ rowSelection: propRowSelection
1356
+ } = _a,
1357
+ rest = __rest(_a, ["scroll", "prefixCls", "className", "style", "bordered", "id", "pagination", "virtualized", "size", "renderPagination", "getVirtualizedListRef", "loading", "hideExpandedColumn", "rowSelection"]);
1358
+
1359
+ let {
1360
+ rowSelection,
1361
+ expandedRowKeys,
1362
+ headWidths,
1363
+ tableWidth,
1364
+ pagination,
1365
+ dataSource,
1366
+ queries,
1367
+ cachedColumns,
1368
+ bodyHasScrollBar
1369
+ } = this.state;
1370
+ wrapStyle = (0, _assign.default)({}, wrapStyle);
1371
+ let columns;
1372
+ /**
1373
+ * As state.queries will change, the columns should be refreshed as a whole at this time
1374
+ * The scene of changes in queries
1375
+ * 1. Filter
1376
+ * 2. Pagination
1377
+ *
1378
+ * useFullRender needs to be passed to the user selection ReactNode, so columns need to be recalculated every time the selectedRowKeys changes
1379
+ * TODO: In the future, the selection passed to the user can be changed to the function type, allowing the user to execute the function to obtain the real-time status of the selection title
1380
+ *
1381
+ * 由于state.queries会发生变化,此时columns应该整体刷新
1382
+ * queries变化的场景
1383
+ * 1. 筛选
1384
+ * 2. 分页
1385
+ * useFullRender需要传给用户selection ReactNode,因此需要每次selectedRowKeys变化时重新计算columns
1386
+ * TODO: 未来可以将传给用户的selection改为函数类型,让用户执行函数获取selection title的实时状态
1387
+ */
1388
+
1389
+ if (!this.adapter.isAnyColumnUseFullRender(queries)) {
1390
+ const rowSelectionUpdate = propRowSelection && !(0, _get2.default)(propRowSelection, 'hidden');
1391
+ columns = this.foundation.memoizedWithFnsColumns(queries, cachedColumns, rowSelectionUpdate, hideExpandedColumn, // Update the columns after the body scrollbar changes to ensure that the head and body are aligned
1392
+ bodyHasScrollBar);
1393
+ } else {
1394
+ columns = this.handleColumns(queries, cachedColumns);
1395
+ }
1396
+
1397
+ const filteredColumns = this.foundation.memoizedFilterColumns(columns);
1398
+ const flattenFnsColumns = this.foundation.memoizedFlattenFnsColumns(columns);
1399
+ const anyColumnFixed = this.adapter.isAnyColumnFixed(columns);
1400
+ /**
1401
+ * - If it is the first page break, you need to calculate the current page
1402
+ * - If it is manual paging, call foundation to modify the state
1403
+ *
1404
+ * TODO: After merging issue 1007, you can place it in the constructor to complete
1405
+ * The reason is that #1007 exposes the parameters required by getCurrentPageData in the constructor
1406
+ */
1407
+
1408
+ if ((0, _isNull2.default)(dataSource)) {
1409
+ const pageData = this.foundation.getCurrentPageData(this.props.dataSource);
1410
+ dataSource = pageData.dataSource;
1411
+ pagination = pageData.pagination;
1412
+ }
1413
+
1414
+ const props = (0, _assign.default)((0, _assign.default)((0, _assign.default)({}, rest), this.state), {
1415
+ // props not in rest
1416
+ virtualized,
1417
+ scroll,
1418
+ prefixCls,
1419
+ size,
1420
+ hideExpandedColumn,
1421
+ // renamed state
1422
+ columns,
1423
+ // calculated value
1424
+ anyColumnFixed,
1425
+ rowExpandable: this.mergedRowExpandable,
1426
+ pagination,
1427
+ dataSource,
1428
+ rowSelection,
1429
+ expandedRowKeys,
1430
+ renderExpandIcon: this.renderExpandIcon,
1431
+ filteredColumns
1432
+ });
1433
+ const x = (0, _get2.default)(scroll, 'x');
1434
+ const y = (0, _get2.default)(scroll, 'y');
1435
+
1436
+ if (virtualized) {
1437
+ if (typeof wrapStyle.width !== 'number') {
1438
+ wrapStyle.width = x;
1439
+ }
1440
+ }
1441
+
1442
+ const wrapCls = (0, _classnames.default)({
1443
+ [(0, _concat.default)(_context3 = "".concat(prefixCls, "-")).call(_context3, _constants.strings.SIZE_SMALL)]: size === _constants.strings.SIZE_SMALL,
1444
+ [(0, _concat.default)(_context4 = "".concat(prefixCls, "-")).call(_context4, _constants.strings.SIZE_MIDDLE)]: size === _constants.strings.SIZE_MIDDLE,
1445
+ ["".concat(prefixCls, "-virtualized")]: Boolean(virtualized),
1446
+ ["".concat(prefixCls, "-bordered")]: bordered,
1447
+ ["".concat(prefixCls, "-fixed-header")]: Boolean(y),
1448
+ ["".concat(prefixCls, "-scroll-position-left")]: (0, _includes2.default)(_context5 = ['both', 'left']).call(_context5, this.position),
1449
+ ["".concat(prefixCls, "-scroll-position-right")]: (0, _includes2.default)(_context6 = ['both', 'right']).call(_context6, this.position)
1450
+ }); // pagination
1451
+
1452
+ const tablePagination = pagination && propPagination ? this.renderPagination(pagination, propRenderPagination) : null;
1453
+ const paginationPosition = (0, _get2.default)(propPagination, 'position', 'bottom');
1454
+ const tableContextValue = (0, _assign.default)((0, _assign.default)({}, this.context), {
1455
+ headWidths,
1456
+ tableWidth,
1457
+ anyColumnFixed,
1458
+ flattenedColumns: flattenFnsColumns,
1459
+ renderExpandIcon: this.renderExpandIcon,
1460
+ renderSelection: this.renderSelection,
1461
+ setHeadWidths: this.setHeadWidths,
1462
+ getHeadWidths: this.getHeadWidths,
1463
+ getCellWidths: this.getCellWidths,
1464
+ handleRowExpanded: this.handleRowExpanded,
1465
+ getVirtualizedListRef,
1466
+ setBodyHasScrollbar: this.setBodyHasScrollbar
1467
+ });
1468
+ return /*#__PURE__*/_react.default.createElement("div", {
1469
+ ref: this.rootWrapRef,
1470
+ className: (0, _classnames.default)(className, "".concat(prefixCls, "-wrapper")),
1471
+ style: wrapStyle,
1472
+ id: id
1473
+ }, /*#__PURE__*/_react.default.createElement(_TableContextProvider.default, (0, _assign.default)({}, tableContextValue), /*#__PURE__*/_react.default.createElement(_spin.default, {
1474
+ spinning: loading,
1475
+ size: "large"
1476
+ }, /*#__PURE__*/_react.default.createElement("div", {
1477
+ ref: this.wrapRef,
1478
+ className: wrapCls
1479
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
1480
+ key: 'pagination-top'
1481
+ }, (0, _includes2.default)(_context7 = ['top', 'both']).call(_context7, paginationPosition) ? tablePagination : null), this.renderTitle({
1482
+ title: props.title,
1483
+ dataSource: props.dataSource,
1484
+ prefixCls: props.prefixCls
1485
+ }), /*#__PURE__*/_react.default.createElement("div", {
1486
+ className: "".concat(prefixCls, "-container")
1487
+ }, this.renderMainTable((0, _assign.default)({}, props))), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
1488
+ key: 'pagination-bottom'
1489
+ }, (0, _includes2.default)(_context8 = ['bottom', 'both']).call(_context8, paginationPosition) ? tablePagination : null)))));
1490
+ }
1491
+
1492
+ }
1493
+
1494
+ Table.contextType = _tableContext.default;
1495
+ Table.propTypes = {
1496
+ className: _propTypes.default.string,
1497
+ style: _propTypes.default.object,
1498
+ prefixCls: _propTypes.default.string,
1499
+ components: _propTypes.default.any,
1500
+ bordered: _propTypes.default.bool,
1501
+ loading: _propTypes.default.bool,
1502
+ size: _propTypes.default.oneOf(_constants.strings.SIZES),
1503
+ tableLayout: _propTypes.default.oneOf(_constants.strings.LAYOUTS),
1504
+ columns: _propTypes.default.arrayOf(_propTypes.default.shape(_ColumnShape.default)),
1505
+ hideExpandedColumn: _propTypes.default.bool,
1506
+ id: _propTypes.default.string,
1507
+ expandIcon: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func, _propTypes.default.node]),
1508
+ expandCellFixed: _propTypes.default.oneOf(_constants.strings.FIXED_SET),
1509
+ title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.func]),
1510
+ onHeaderRow: _propTypes.default.func,
1511
+ showHeader: _propTypes.default.bool,
1512
+ indentSize: _propTypes.default.number,
1513
+ rowKey: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string, _propTypes.default.number]),
1514
+ onRow: _propTypes.default.func,
1515
+ onExpandedRowsChange: _propTypes.default.func,
1516
+ onExpand: _propTypes.default.func,
1517
+ rowExpandable: _propTypes.default.func,
1518
+ expandedRowRender: _propTypes.default.func,
1519
+ expandedRowKeys: _propTypes.default.array,
1520
+ defaultExpandAllRows: _propTypes.default.bool,
1521
+ expandAllRows: _propTypes.default.bool,
1522
+ defaultExpandAllGroupRows: _propTypes.default.bool,
1523
+ expandAllGroupRows: _propTypes.default.bool,
1524
+ defaultExpandedRowKeys: _propTypes.default.array,
1525
+ pagination: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.bool]),
1526
+ renderPagination: _propTypes.default.func,
1527
+ footer: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string, _propTypes.default.node]),
1528
+ empty: _propTypes.default.node,
1529
+ dataSource: _propTypes.default.array,
1530
+ childrenRecordName: _propTypes.default.string,
1531
+ rowSelection: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.bool]),
1532
+ onChange: _propTypes.default.func,
1533
+ scroll: _propTypes.default.shape({
1534
+ x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string, _propTypes.default.bool]),
1535
+ y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
1536
+ }),
1537
+ groupBy: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.func]),
1538
+ renderGroupSection: _propTypes.default.oneOfType([_propTypes.default.func]),
1539
+ onGroupedRow: _propTypes.default.func,
1540
+ clickGroupedRowToExpand: _propTypes.default.bool,
1541
+ virtualized: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.bool]),
1542
+ dropdownPrefixCls: _propTypes.default.string,
1543
+ expandRowByClick: _propTypes.default.bool,
1544
+ getVirtualizedListRef: _propTypes.default.func // TODO: future api
1545
+
1546
+ };
1547
+ Table.defaultProps = {
1548
+ // rowExpandable: stubTrue,
1549
+ tableLayout: '',
1550
+ dataSource: [],
1551
+ prefixCls: _constants.cssClasses.PREFIX,
1552
+ rowSelection: null,
1553
+ className: '',
1554
+ childrenRecordName: 'children',
1555
+ size: 'default',
1556
+ loading: false,
1557
+ bordered: false,
1558
+ expandCellFixed: false,
1559
+ hideExpandedColumn: true,
1560
+ showHeader: true,
1561
+ indentSize: _constants.numbers.DEFAULT_INDENT_WIDTH,
1562
+ onChange: _noop2.default,
1563
+ pagination: true,
1564
+ rowKey: 'key',
1565
+ defaultExpandedRowKeys: [],
1566
+ defaultExpandAllRows: false,
1567
+ defaultExpandAllGroupRows: false,
1568
+ expandAllRows: false,
1569
+ expandAllGroupRows: false,
1570
+ onFilterDropdownVisibleChange: _noop2.default,
1571
+ onExpand: _noop2.default,
1572
+ onExpandedRowsChange: _noop2.default,
1573
+ expandRowByClick: false
1574
+ };
1575
+ var _default = Table;
1576
+ exports.default = _default;