@qsxy/element-plus-react 1.0.0-next.10 → 1.0.0-next.11

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 (398) hide show
  1. package/dist/Avatar/Avatar.js +73 -72
  2. package/dist/Avatar/index.js +1 -39
  3. package/dist/Avatar/typings.js +1 -17
  4. package/dist/Badge/Badge.d.ts +2 -2
  5. package/dist/Badge/Badge.js +63 -60
  6. package/dist/Badge/index.js +1 -39
  7. package/dist/Badge/typings.d.ts +1 -1
  8. package/dist/Badge/typings.js +1 -17
  9. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  10. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  11. package/dist/Breadcrumb/index.js +2 -42
  12. package/dist/Breadcrumb/typings.js +1 -17
  13. package/dist/Button/Button.js +132 -105
  14. package/dist/Button/ButtonGroup.js +29 -48
  15. package/dist/Button/ButtonGroupContext.js +2 -30
  16. package/dist/Button/index.js +2 -42
  17. package/dist/Button/typings.d.ts +4 -2
  18. package/dist/Button/typings.js +1 -17
  19. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  20. package/dist/Button/useButtonCustomStyle.js +65 -0
  21. package/dist/Calendar/Calendar.js +310 -237
  22. package/dist/Calendar/CalendarContext.js +3 -27
  23. package/dist/Calendar/DatePanel.js +191 -158
  24. package/dist/Calendar/DateRangePanel.js +140 -125
  25. package/dist/Calendar/Footer.js +41 -51
  26. package/dist/Calendar/Header.js +83 -65
  27. package/dist/Calendar/MonthPanel.js +138 -124
  28. package/dist/Calendar/MonthRangePanel.js +137 -124
  29. package/dist/Calendar/ShortCuts.js +21 -40
  30. package/dist/Calendar/WeekPanel.js +213 -145
  31. package/dist/Calendar/YearPanel.js +150 -125
  32. package/dist/Calendar/YearRangePanel.js +138 -128
  33. package/dist/Calendar/index.js +4 -47
  34. package/dist/Calendar/typings.js +1 -17
  35. package/dist/Calendar/util.js +26 -68
  36. package/dist/Card/Card.js +36 -46
  37. package/dist/Card/index.js +1 -39
  38. package/dist/Card/typings.js +1 -17
  39. package/dist/Carousel/Carousel.js +202 -166
  40. package/dist/Carousel/CarouselContext.js +14 -42
  41. package/dist/Carousel/CarouselItem.js +55 -71
  42. package/dist/Carousel/hooks/useCarousel.js +263 -238
  43. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  44. package/dist/Carousel/index.js +2 -42
  45. package/dist/Carousel/typings.js +1 -17
  46. package/dist/Cascader/Cascader.js +693 -569
  47. package/dist/Cascader/CascaderContext.js +9 -45
  48. package/dist/Cascader/CascaderDropdown.js +90 -77
  49. package/dist/Cascader/CascaderMenu.js +101 -114
  50. package/dist/Cascader/Utils.js +6 -33
  51. package/dist/Cascader/index.js +1 -39
  52. package/dist/Cascader/typings.d.ts +1 -1
  53. package/dist/Cascader/typings.js +1 -17
  54. package/dist/Cascader/useCascader.js +648 -458
  55. package/dist/Checkbox/Checkbox.d.ts +3 -3
  56. package/dist/Checkbox/Checkbox.js +136 -161
  57. package/dist/Checkbox/CheckboxButton.js +132 -157
  58. package/dist/Checkbox/index.js +2 -42
  59. package/dist/Checkbox/typings.d.ts +1 -1
  60. package/dist/Checkbox/typings.js +1 -17
  61. package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
  62. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  63. package/dist/CheckboxGroup/index.js +2 -42
  64. package/dist/Col/Col.js +53 -72
  65. package/dist/Col/index.js +1 -39
  66. package/dist/Col/typings.js +1 -17
  67. package/dist/Collapse/Collapse.js +36 -45
  68. package/dist/Collapse/CollapseContext.js +3 -31
  69. package/dist/Collapse/CollapseItem.js +88 -73
  70. package/dist/Collapse/CollapseTransition.js +29 -67
  71. package/dist/Collapse/index.js +2 -42
  72. package/dist/Collapse/typings.js +1 -17
  73. package/dist/ColorPicker/AlphaSlider.js +117 -99
  74. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  75. package/dist/ColorPicker/ColorPicker.js +233 -189
  76. package/dist/ColorPicker/HueSlider.js +102 -96
  77. package/dist/ColorPicker/Predefine.js +65 -66
  78. package/dist/ColorPicker/SvPanel.js +95 -81
  79. package/dist/ColorPicker/color.js +301 -213
  80. package/dist/ColorPicker/draggable.js +30 -48
  81. package/dist/ColorPicker/index.js +1 -39
  82. package/dist/ColorPicker/typings.js +1 -17
  83. package/dist/ColorPicker/util.js +23 -60
  84. package/dist/ConfigProvider/ConfigProvider.js +4 -28
  85. package/dist/ConfigProvider/index.js +1 -39
  86. package/dist/DatePicker/DatePicker.d.ts +3 -3
  87. package/dist/DatePicker/DatePicker.js +251 -227
  88. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  89. package/dist/DatePicker/DateRangePicker.js +279 -276
  90. package/dist/DatePicker/index.js +2 -39
  91. package/dist/DatePicker/main.d.ts +2 -2
  92. package/dist/DatePicker/main.js +21 -44
  93. package/dist/DatePicker/typings.d.ts +24 -17
  94. package/dist/DatePicker/typings.js +1 -17
  95. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  96. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  97. package/dist/DateTimePicker/index.js +1 -39
  98. package/dist/DateTimePicker/typings.d.ts +10 -13
  99. package/dist/DateTimePicker/typings.js +1 -17
  100. package/dist/DateTimePicker/util.js +5 -35
  101. package/dist/Descriptions/Descriptions.js +83 -63
  102. package/dist/Descriptions/DescriptionsCell.js +67 -79
  103. package/dist/Descriptions/DescriptionsContext.js +4 -32
  104. package/dist/Descriptions/DescriptionsItem.js +4 -27
  105. package/dist/Descriptions/DescriptionsRow.js +42 -44
  106. package/dist/Descriptions/index.js +2 -42
  107. package/dist/Descriptions/typings.js +1 -17
  108. package/dist/Dialog/Dialog.js +224 -176
  109. package/dist/Dialog/DialogBody.js +52 -59
  110. package/dist/Dialog/DialogContext.js +6 -44
  111. package/dist/Dialog/DialogFooter.js +21 -45
  112. package/dist/Dialog/DialogHeader.js +44 -50
  113. package/dist/Dialog/index.js +1 -39
  114. package/dist/Dialog/typings.d.ts +1 -1
  115. package/dist/Dialog/typings.js +1 -17
  116. package/dist/Dialog/useDraggable.js +52 -79
  117. package/dist/Divider/Divider.d.ts +3 -3
  118. package/dist/Divider/Divider.js +38 -44
  119. package/dist/Divider/index.js +1 -39
  120. package/dist/Drawer/Drawer.js +144 -136
  121. package/dist/Drawer/DrawerBody.js +35 -57
  122. package/dist/Drawer/DrawerContext.js +13 -44
  123. package/dist/Drawer/DrawerFooter.js +22 -43
  124. package/dist/Drawer/DrawerHeader.js +41 -48
  125. package/dist/Drawer/index.js +1 -39
  126. package/dist/Drawer/typings.js +1 -17
  127. package/dist/Dropdown/Dropdown.js +89 -107
  128. package/dist/Dropdown/DropdownContext.js +5 -43
  129. package/dist/Dropdown/DropdownItem.js +40 -60
  130. package/dist/Dropdown/DropdownMenu.js +28 -56
  131. package/dist/Dropdown/index.js +3 -45
  132. package/dist/Dropdown/typings.js +1 -17
  133. package/dist/Empty/Empty.js +32 -53
  134. package/dist/Empty/ImgEmpty.js +115 -117
  135. package/dist/Empty/index.js +1 -39
  136. package/dist/Form/FieldContext.js +8 -37
  137. package/dist/Form/Form.js +167 -162
  138. package/dist/Form/FormContext.js +58 -97
  139. package/dist/Form/FormItem.js +620 -352
  140. package/dist/Form/FormItemContext.js +3 -31
  141. package/dist/Form/List.js +121 -104
  142. package/dist/Form/ListContext.js +3 -27
  143. package/dist/Form/index.js +3 -45
  144. package/dist/Form/typings.d.ts +25 -4
  145. package/dist/Form/typings.js +1 -17
  146. package/dist/Form/useForm.js +830 -690
  147. package/dist/Form/useWatch.js +64 -79
  148. package/dist/Form/utils/NameMap.js +98 -69
  149. package/dist/Form/utils/asyncUtil.js +9 -37
  150. package/dist/Form/utils/classUtil.js +26 -48
  151. package/dist/Form/utils/cloneDeep.js +8 -29
  152. package/dist/Form/utils/get.js +6 -30
  153. package/dist/Form/utils/messages.js +25 -53
  154. package/dist/Form/utils/set.js +31 -44
  155. package/dist/Form/utils/typeUtil.js +3 -31
  156. package/dist/Form/utils/util.js +18 -55
  157. package/dist/Form/utils/validateUtil.js +284 -159
  158. package/dist/Form/utils/valueUtil.js +102 -107
  159. package/dist/Icon/Icon.js +39 -63
  160. package/dist/Icon/IconList/Check.js +25 -65
  161. package/dist/Icon/IconList/Close.js +23 -52
  162. package/dist/Icon/IconList/Delete.js +25 -65
  163. package/dist/Icon/IconList/Down.js +25 -65
  164. package/dist/Icon/IconList/Eye.js +25 -65
  165. package/dist/Icon/IconList/EyeClose.js +25 -65
  166. package/dist/Icon/IconList/Left.js +25 -65
  167. package/dist/Icon/IconList/Link.js +19 -55
  168. package/dist/Icon/IconList/More.js +25 -65
  169. package/dist/Icon/IconList/Question.js +25 -65
  170. package/dist/Icon/IconList/Right.js +25 -65
  171. package/dist/Icon/IconList/Search.js +25 -65
  172. package/dist/Icon/IconList/Up.js +25 -65
  173. package/dist/Icon/IconList/Upload.js +25 -65
  174. package/dist/Icon/IconList/index.js +14 -68
  175. package/dist/Icon/index.js +2 -42
  176. package/dist/Icon/typings.js +1 -17
  177. package/dist/Input/Input.js +334 -358
  178. package/dist/Input/InputGroup.js +27 -43
  179. package/dist/Input/InputRange.js +295 -308
  180. package/dist/Input/TextArea.js +129 -120
  181. package/dist/Input/index.js +3 -45
  182. package/dist/Input/typings.js +1 -17
  183. package/dist/InputNumber/InputNumber.js +219 -203
  184. package/dist/InputNumber/index.js +1 -39
  185. package/dist/InputNumber/typings.d.ts +1 -1
  186. package/dist/InputNumber/typings.js +1 -17
  187. package/dist/Link/Link.js +43 -60
  188. package/dist/Link/index.js +1 -39
  189. package/dist/Link/typings.js +1 -17
  190. package/dist/Loading/Loading.js +93 -66
  191. package/dist/Loading/index.js +1 -39
  192. package/dist/Loading/typings.js +1 -17
  193. package/dist/Message/Main.js +41 -66
  194. package/dist/Message/Message.js +167 -130
  195. package/dist/Message/index.js +68 -88
  196. package/dist/Message/typings.js +1 -17
  197. package/dist/MessageBox/Main.js +43 -68
  198. package/dist/MessageBox/MessageBox.js +253 -202
  199. package/dist/MessageBox/index.js +74 -79
  200. package/dist/MessageBox/typings.js +1 -17
  201. package/dist/Notification/Main.js +41 -66
  202. package/dist/Notification/Notification.js +148 -131
  203. package/dist/Notification/index.js +76 -92
  204. package/dist/Notification/typings.js +1 -17
  205. package/dist/Pagination/Options.js +104 -99
  206. package/dist/Pagination/Pager.js +30 -61
  207. package/dist/Pagination/Pagination.js +462 -380
  208. package/dist/Pagination/index.js +1 -39
  209. package/dist/Pagination/typings.js +1 -17
  210. package/dist/Pagination/util.js +10 -41
  211. package/dist/Popconfirm/Popconfirm.js +108 -116
  212. package/dist/Popconfirm/index.js +1 -39
  213. package/dist/Popconfirm/typings.js +1 -17
  214. package/dist/Popover/Popover.js +87 -89
  215. package/dist/Popover/index.js +1 -39
  216. package/dist/Popover/typings.js +1 -17
  217. package/dist/Popper/Popper.js +172 -149
  218. package/dist/Popper/index.js +1 -39
  219. package/dist/Popper/popperOptions.js +79 -90
  220. package/dist/Popper/typings.js +1 -17
  221. package/dist/Progress/Progress.js +186 -155
  222. package/dist/Progress/index.js +1 -39
  223. package/dist/Progress/typings.js +1 -17
  224. package/dist/Radio/Radio.js +158 -117
  225. package/dist/Radio/RadioButton.js +127 -117
  226. package/dist/Radio/index.js +1 -39
  227. package/dist/Radio/typings.js +1 -17
  228. package/dist/RadioGroup/RadioGroup.js +63 -78
  229. package/dist/RadioGroup/index.js +1 -39
  230. package/dist/RadioGroup/typings.js +1 -17
  231. package/dist/Row/Row.js +41 -62
  232. package/dist/Row/RowContext.js +3 -31
  233. package/dist/Row/index.js +2 -42
  234. package/dist/Row/typings.js +1 -17
  235. package/dist/Scrollbar/Scrollbar.js +172 -133
  236. package/dist/Scrollbar/Thumb.js +108 -96
  237. package/dist/Scrollbar/index.js +1 -39
  238. package/dist/Scrollbar/typings.d.ts +11 -2
  239. package/dist/Scrollbar/typings.js +1 -17
  240. package/dist/Scrollbar/util.js +24 -51
  241. package/dist/Select/Option.js +50 -75
  242. package/dist/Select/OptionGroup.js +31 -47
  243. package/dist/Select/Select.js +25 -48
  244. package/dist/Select/SelectContext.js +8 -46
  245. package/dist/Select/SelectCore.js +449 -377
  246. package/dist/Select/SelectDropdown.js +200 -160
  247. package/dist/Select/index.js +2 -42
  248. package/dist/Select/typings.d.ts +1 -1
  249. package/dist/Select/typings.js +1 -17
  250. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  251. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  252. package/dist/Skeleton/PlaceholderParagraph.js +51 -52
  253. package/dist/Skeleton/Skeleton.js +8 -42
  254. package/dist/Skeleton/index.js +1 -39
  255. package/dist/Switch/Switch.js +177 -154
  256. package/dist/Switch/index.js +1 -39
  257. package/dist/Switch/typings.js +1 -17
  258. package/dist/Table/Colgroup.js +17 -41
  259. package/dist/Table/Table.js +246 -188
  260. package/dist/Table/TableBody.js +265 -200
  261. package/dist/Table/TableCell.js +461 -320
  262. package/dist/Table/TableColumn.js +9 -43
  263. package/dist/Table/TableContext.js +44 -63
  264. package/dist/Table/TableHeader.js +112 -102
  265. package/dist/Table/TableHeaderCell.js +211 -158
  266. package/dist/Table/hooks/useResize.js +69 -83
  267. package/dist/Table/hooks/useScroll.js +88 -114
  268. package/dist/Table/hooks/useSelection.js +145 -110
  269. package/dist/Table/hooks/useTable.js +411 -309
  270. package/dist/Table/index.js +2 -42
  271. package/dist/Table/treeUtil.js +99 -77
  272. package/dist/Table/typings.js +1 -17
  273. package/dist/Table/util.js +168 -109
  274. package/dist/Tabs/TabPane.js +51 -53
  275. package/dist/Tabs/Tabs.js +277 -178
  276. package/dist/Tabs/TabsContext.js +4 -32
  277. package/dist/Tabs/index.js +2 -42
  278. package/dist/Tabs/typings.js +1 -17
  279. package/dist/Tag/Tag.js +75 -74
  280. package/dist/Tag/index.js +1 -39
  281. package/dist/Tag/typings.js +1 -17
  282. package/dist/TimeLine/TimeLine.js +13 -42
  283. package/dist/TimeLine/TimeLineItem.js +66 -54
  284. package/dist/TimeLine/index.js +2 -42
  285. package/dist/TimeLine/typings.js +1 -17
  286. package/dist/TimePicker/TimePicker.d.ts +1 -4
  287. package/dist/TimePicker/TimePicker.js +275 -215
  288. package/dist/TimePicker/TimePickerPanel.js +62 -71
  289. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  290. package/dist/TimePicker/TimePickerRange.js +371 -334
  291. package/dist/TimePicker/TimeRangePanel.js +182 -165
  292. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  293. package/dist/TimePicker/index.d.ts +2 -3
  294. package/dist/TimePicker/index.js +1 -42
  295. package/dist/TimePicker/main.d.ts +9 -0
  296. package/dist/TimePicker/main.js +17 -0
  297. package/dist/TimePicker/typings.d.ts +29 -24
  298. package/dist/TimePicker/typings.js +1 -17
  299. package/dist/TimePicker/useTimePicker.js +62 -65
  300. package/dist/TimePicker/util.js +8 -40
  301. package/dist/Tooltip/Tooltip.js +172 -180
  302. package/dist/Tooltip/TooltipContext.js +8 -46
  303. package/dist/Tooltip/index.js +2 -42
  304. package/dist/Tooltip/typings.js +1 -17
  305. package/dist/Transfer/List.js +290 -241
  306. package/dist/Transfer/ListBody.js +92 -106
  307. package/dist/Transfer/ListItem.js +38 -51
  308. package/dist/Transfer/Transfer.js +323 -280
  309. package/dist/Transfer/index.js +1 -39
  310. package/dist/Transfer/interface.js +1 -17
  311. package/dist/Transfer/operation.js +35 -48
  312. package/dist/Transfer/search.js +30 -62
  313. package/dist/Transfer/typings/index.js +1 -17
  314. package/dist/Transfer/typings/list.js +1 -17
  315. package/dist/Transfer/typings/listBody.js +2 -30
  316. package/dist/Transition/Transition.js +271 -234
  317. package/dist/Transition/TransitionGroup.js +136 -88
  318. package/dist/Transition/TransitionGroupContext.js +2 -26
  319. package/dist/Transition/childMapping.js +84 -71
  320. package/dist/Transition/index.js +2 -42
  321. package/dist/Transition/util.d.ts +0 -1
  322. package/dist/Transition/util.js +6 -47
  323. package/dist/Tree/DirectoryTree.js +146 -118
  324. package/dist/Tree/DropIndicator.js +15 -45
  325. package/dist/Tree/Indent.js +23 -54
  326. package/dist/Tree/MotionTreeNode.js +94 -95
  327. package/dist/Tree/NodeList.js +228 -221
  328. package/dist/Tree/RCTree.js +969 -702
  329. package/dist/Tree/Tree.js +64 -79
  330. package/dist/Tree/TreeNode.js +254 -255
  331. package/dist/Tree/contextTypes.js +8 -42
  332. package/dist/Tree/index.js +4 -48
  333. package/dist/Tree/typings.js +1 -17
  334. package/dist/Tree/useUnmount.js +21 -41
  335. package/dist/Tree/util.js +156 -134
  336. package/dist/Tree/utils/conductUtil.js +113 -104
  337. package/dist/Tree/utils/dictUtil.js +50 -78
  338. package/dist/Tree/utils/diffUtil.js +26 -43
  339. package/dist/Tree/utils/dropIndicator.js +23 -51
  340. package/dist/Tree/utils/iconUtil.js +44 -51
  341. package/dist/Tree/utils/keyUtil.js +2 -26
  342. package/dist/Tree/utils/motion.js +34 -72
  343. package/dist/Tree/utils/pickAttrs.js +30 -58
  344. package/dist/Tree/utils/treeUtil.js +263 -203
  345. package/dist/TreeSelect/TreeSelect.js +521 -459
  346. package/dist/TreeSelect/Utils.js +15 -36
  347. package/dist/TreeSelect/index.js +1 -39
  348. package/dist/TreeSelect/typings.d.ts +1 -1
  349. package/dist/TreeSelect/typings.js +1 -17
  350. package/dist/Upload/Upload.js +106 -109
  351. package/dist/Upload/UploadContent.js +227 -182
  352. package/dist/Upload/UploadContext.js +5 -33
  353. package/dist/Upload/UploadDrag.js +77 -97
  354. package/dist/Upload/UploadList.js +104 -73
  355. package/dist/Upload/ajax.js +45 -71
  356. package/dist/Upload/index.js +1 -39
  357. package/dist/Upload/typings.js +34 -36
  358. package/dist/Upload/use-handlers.js +182 -126
  359. package/dist/Util/Math.js +81 -78
  360. package/dist/Util/PopupManager.js +5 -27
  361. package/dist/Util/base.js +101 -171
  362. package/dist/Util/genFileId.js +3 -29
  363. package/dist/Util/index.js +6 -51
  364. package/dist/Util/resize-event.js +31 -54
  365. package/dist/Util/shallowEqual.js +30 -28
  366. package/dist/Util/treeUtils.js +68 -64
  367. package/dist/config/Constants.js +17 -47
  368. package/dist/display.css +1 -0
  369. package/dist/hooks/animationPropsUtils.js +25 -49
  370. package/dist/hooks/htmlPropsUtils.js +54 -121
  371. package/dist/hooks/index.js +14 -73
  372. package/dist/hooks/popperPropsUtils.js +25 -67
  373. package/dist/hooks/prefix.js +22 -55
  374. package/dist/hooks/treePropsUtils.js +24 -103
  375. package/dist/hooks/useChildrenInstance.js +51 -60
  376. package/dist/hooks/useClassNames.d.ts +2 -0
  377. package/dist/hooks/useClassNames.js +279 -197
  378. package/dist/hooks/useClickOutside.js +37 -62
  379. package/dist/hooks/useCommonProps.js +17 -53
  380. package/dist/hooks/useComponentWillMount.js +4 -28
  381. package/dist/hooks/useControlled.js +31 -37
  382. package/dist/hooks/useForceUpdate.js +16 -34
  383. package/dist/hooks/useUpdateEffect.js +6 -29
  384. package/dist/index.css +1 -57810
  385. package/dist/index.d.ts +0 -2
  386. package/dist/index.js +69 -237
  387. package/dist/theme-chalk/common/index.js +1 -2
  388. package/dist/theme-chalk/common/index.scss +2 -2
  389. package/dist/theme-chalk/date-picker/index.scss +1 -1
  390. package/dist/theme-chalk/display.scss +46 -0
  391. package/dist/theme-chalk/form/index.scss +21 -2
  392. package/dist/types/common.js +1 -17
  393. package/dist/types/type.js +16 -28
  394. package/package.json +6 -1
  395. package/theme-chalk/common/index.scss +2 -2
  396. package/theme-chalk/date-picker/index.scss +1 -1
  397. package/theme-chalk/display.scss +46 -0
  398. package/theme-chalk/form/index.scss +21 -2
@@ -1,409 +1,511 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ /* eslint-disable indent */
14
+ import { useDebounceFn } from 'ahooks';
15
+ import cloneDeep from 'lodash/cloneDeep';
16
+ import { Children, useCallback, useEffect, useMemo, useRef, useState } from 'react';
17
+ import { isNotEmpty } from "../../Util";
18
+ import { useChildrenInstance } from "../../hooks";
19
+ import { flatTreeData } from "../treeUtil";
20
+ import { TableIdManager, getRowIdentity } from "../util";
28
21
 
29
- // src/Table/hooks/useTable.ts
30
- var useTable_exports = {};
31
- __export(useTable_exports, {
32
- useTable: () => useTable
33
- });
34
- module.exports = __toCommonJS(useTable_exports);
35
- var import_ahooks = require("ahooks");
36
- var import_cloneDeep = __toESM(require("lodash/cloneDeep"));
37
- var import_react = require("react");
38
- var import_Util = require("../../Util");
39
- var import_hooks = require("../../hooks");
40
- var import_treeUtil = require("../treeUtil");
41
- var import_util = require("../util");
42
- var useTable = (props, refs, tableId) => {
43
- const getChildren = (0, import_hooks.useChildrenInstance)("TableColumn");
44
- const _children = getChildren(props.children);
45
- const maxLevel = (0, import_react.useRef)(0);
46
- const flatColumns = (0, import_react.useRef)([]);
47
- const oldBodyWidth = (0, import_react.useRef)(400);
48
- const bodyWidth = (0, import_react.useRef)(400);
49
- const scrollX = (0, import_react.useRef)(false);
50
- const initialData = (0, import_react.useRef)([]);
51
- const sortedData = (0, import_react.useRef)([]);
52
- const isTree = (0, import_react.useRef)(false);
53
- const treeNodes = (0, import_react.useRef)([]);
54
- const [data, setData] = (0, import_react.useState)([]);
55
- const treeProps = (0, import_react.useMemo)(() => {
56
- return { hasChildren: "hasChildren", children: "children", ...props.treeProps ?? {} };
22
+ /**
23
+ * @author Parker
24
+ * @CreateTime 2022/9/11 12:24:23
25
+ * @LastEditor Parker
26
+ * @LastEditor Parker
27
+ * @ModifyTime 2022/11/19 23:23:42
28
+ */
29
+ export var useTable = function useTable(props, refs, tableId) {
30
+ var getChildren = useChildrenInstance('TableColumn');
31
+ var _children = getChildren(props.children);
32
+ var maxLevel = useRef(0);
33
+ var flatColumns = useRef([]);
34
+ // 表格宽度
35
+ var oldBodyWidth = useRef(400);
36
+ var bodyWidth = useRef(400);
37
+ var scrollX = useRef(false);
38
+ var initialData = useRef([]);
39
+ var sortedData = useRef([]);
40
+ var isTree = useRef(false);
41
+ var treeNodes = useRef([]);
42
+ var _useState = useState([]),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ data = _useState2[0],
45
+ setData = _useState2[1];
46
+ var treeProps = useMemo(function () {
47
+ var _props$treeProps;
48
+ return _objectSpread({
49
+ hasChildren: 'hasChildren',
50
+ children: 'children'
51
+ }, (_props$treeProps = props.treeProps) !== null && _props$treeProps !== void 0 ? _props$treeProps : {});
57
52
  }, [props.treeProps]);
58
- (0, import_react.useEffect)(() => {
59
- isTree.current = props.rowKey && props.data.some((item) => treeProps.children in item || treeProps.hasChildren in item);
60
- sortedData.current = initialData.current = (0, import_cloneDeep.default)(props.data);
53
+ useEffect(function () {
54
+ isTree.current = props.rowKey && props.data.some(function (item) {
55
+ return treeProps.children in item || treeProps.hasChildren in item;
56
+ });
57
+ sortedData.current = initialData.current = cloneDeep(props.data);
61
58
  if (isTree.current) {
62
- const _data = (0, import_treeUtil.flatTreeData)((0, import_cloneDeep.default)(props.data), treeProps, props.rowKey, props.defaultExpandAll, props.expandRowKeys);
63
- treeNodes.current = _data.map((item) => {
64
- const { parentId, expanded, loading, display, level, noLazyChildren, indent } = item;
65
- const id = (0, import_util.getRowIdentity)(item, props.rowKey);
66
- return { id, parentId, expanded, loading, display, level, noLazyChildren, indent };
59
+ var _data = flatTreeData(cloneDeep(props.data), treeProps, props.rowKey, props.defaultExpandAll, props.expandRowKeys);
60
+ treeNodes.current = _data.map(function (item) {
61
+ var parentId = item.parentId,
62
+ expanded = item.expanded,
63
+ loading = item.loading,
64
+ display = item.display,
65
+ level = item.level,
66
+ noLazyChildren = item.noLazyChildren,
67
+ indent = item.indent;
68
+ var id = getRowIdentity(item, props.rowKey);
69
+ return {
70
+ id: id,
71
+ parentId: parentId,
72
+ expanded: expanded,
73
+ loading: loading,
74
+ display: display,
75
+ level: level,
76
+ noLazyChildren: noLazyChildren,
77
+ indent: indent
78
+ };
67
79
  });
68
80
  setData(_data);
69
81
  } else {
70
82
  setData(props.data);
71
83
  }
84
+ // eslint-disable-next-line react-hooks/exhaustive-deps
72
85
  }, [props.data]);
73
- const [columns, setColumns] = (0, import_react.useState)([]);
74
- const [flattenColumns, setFlattenColumns] = (0, import_react.useState)([]);
75
- const [fixedLeftColumns, setFixedLeftColumns] = (0, import_react.useState)([]);
76
- const [fixedRightColumns, setFixedRightColumns] = (0, import_react.useState)([]);
77
- const [isGroup, setIsGroup] = (0, import_react.useState)(false);
78
- const initColumns = (0, import_react.useCallback)(
79
- (cols, level = 0) => {
80
- return import_react.Children.map(cols, (item) => {
81
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
82
- if (level > maxLevel.current) {
83
- maxLevel.current = level;
84
- }
85
- let children = [], renderCell;
86
- if ((_a = item.props) == null ? void 0 : _a.children) {
87
- if (item.props.children instanceof Function) {
88
- renderCell = item.props.children;
86
+
87
+ // 多级列
88
+ var _useState3 = useState([]),
89
+ _useState4 = _slicedToArray(_useState3, 2),
90
+ columns = _useState4[0],
91
+ setColumns = _useState4[1];
92
+ // 最后一级列
93
+ var _useState5 = useState([]),
94
+ _useState6 = _slicedToArray(_useState5, 2),
95
+ flattenColumns = _useState6[0],
96
+ setFlattenColumns = _useState6[1];
97
+ // 固定列
98
+ // const [fixedColumns, setFixedColumns] = useState<TableColumnCtx<T>[]>([]);
99
+ // 左固定列
100
+ var _useState7 = useState([]),
101
+ _useState8 = _slicedToArray(_useState7, 2),
102
+ fixedLeftColumns = _useState8[0],
103
+ setFixedLeftColumns = _useState8[1];
104
+ // 右固定列
105
+ var _useState9 = useState([]),
106
+ _useState10 = _slicedToArray(_useState9, 2),
107
+ fixedRightColumns = _useState10[0],
108
+ setFixedRightColumns = _useState10[1];
109
+ // 是否组合列
110
+ var _useState11 = useState(false),
111
+ _useState12 = _slicedToArray(_useState11, 2),
112
+ isGroup = _useState12[0],
113
+ setIsGroup = _useState12[1];
114
+
115
+ /** 初始化列 */
116
+ var initColumns = useCallback(function (cols) {
117
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
118
+ return Children.map(cols, function (item) {
119
+ var _item$props, _item$props2, _item$props$width, _item$props3, _item$props4, _item$props5, _item$props$align, _item$props6, _item$props$align2, _item$props7, _item$props8, _item$props9;
120
+ if (level > maxLevel.current) {
121
+ maxLevel.current = level;
122
+ }
123
+ var children = [],
124
+ renderCell;
125
+ if ((_item$props = item.props) !== null && _item$props !== void 0 && _item$props.children) {
126
+ if (item.props.children instanceof Function) {
127
+ renderCell = item.props.children;
128
+ } else {
129
+ var _columns = getChildren(item.props.children);
130
+ if (_columns.length > 0) {
131
+ children = initColumns(item.props.children, level + 1);
89
132
  } else {
90
- const _columns = getChildren(item.props.children);
91
- if (_columns.length > 0) {
92
- children = initColumns(item.props.children, level + 1);
93
- } else {
94
- renderCell = () => item.props.children;
95
- }
133
+ renderCell = function renderCell() {
134
+ return item.props.children;
135
+ };
96
136
  }
97
137
  }
98
- const column = {
99
- ...item.props,
100
- id: tableId + "_" + import_util.TableIdManager.nextColumnId(),
101
- children,
102
- level,
103
- colSpan: children.length > 0 ? children.reduce((prev, child) => {
104
- var _a2;
105
- const len = ((_a2 = child == null ? void 0 : child.children) == null ? void 0 : _a2.length) ?? 1;
106
- return prev + (len >= 1 ? len : 1);
107
- }, 0) : 1,
108
- isColumnGroup: children.length > 0,
109
- isSubColumn: children.length === 0,
110
- renderCell,
111
- width: ((_b = item.props) == null ? void 0 : _b.type) === "expand" ? ((_c = item.props) == null ? void 0 : _c.width) ?? 48 : (_d = item.props) == null ? void 0 : _d.width,
112
- align: ["index", "selection", "expand"].includes((_e = item.props) == null ? void 0 : _e.type) ? ((_f = item.props) == null ? void 0 : _f.align) ?? "center" : ((_g = item.props) == null ? void 0 : _g.align) ?? "left",
113
- resizable: ((_h = item.props) == null ? void 0 : _h.type) === "expand" ? false : (_i = item.props) == null ? void 0 : _i.resizable
114
- };
115
- return column;
116
- }).filter((item) => item !== null);
117
- },
118
- [getChildren, tableId]
119
- );
120
- const groupColumns = (0, import_react.useCallback)((cols, level = 0) => {
121
- return cols.map((item) => {
138
+ }
139
+ var column = _objectSpread(_objectSpread({}, item.props), {}, {
140
+ id: tableId + '_' + TableIdManager.nextColumnId(),
141
+ children: children,
142
+ level: level,
143
+ colSpan: children.length > 0 ? children.reduce(function (prev, child) {
144
+ var _child$children$lengt, _child$children;
145
+ var len = (_child$children$lengt = child === null || child === void 0 || (_child$children = child.children) === null || _child$children === void 0 ? void 0 : _child$children.length) !== null && _child$children$lengt !== void 0 ? _child$children$lengt : 1;
146
+ return prev + (len >= 1 ? len : 1);
147
+ }, 0) : 1,
148
+ isColumnGroup: children.length > 0,
149
+ isSubColumn: children.length === 0,
150
+ renderCell: renderCell,
151
+ width: ((_item$props2 = item.props) === null || _item$props2 === void 0 ? void 0 : _item$props2.type) === 'expand' ? (_item$props$width = (_item$props3 = item.props) === null || _item$props3 === void 0 ? void 0 : _item$props3.width) !== null && _item$props$width !== void 0 ? _item$props$width : 48 : (_item$props4 = item.props) === null || _item$props4 === void 0 ? void 0 : _item$props4.width,
152
+ align: ['index', 'selection', 'expand'].includes((_item$props5 = item.props) === null || _item$props5 === void 0 ? void 0 : _item$props5.type) ? (_item$props$align = (_item$props6 = item.props) === null || _item$props6 === void 0 ? void 0 : _item$props6.align) !== null && _item$props$align !== void 0 ? _item$props$align : 'center' : (_item$props$align2 = (_item$props7 = item.props) === null || _item$props7 === void 0 ? void 0 : _item$props7.align) !== null && _item$props$align2 !== void 0 ? _item$props$align2 : 'left',
153
+ resizable: ((_item$props8 = item.props) === null || _item$props8 === void 0 ? void 0 : _item$props8.type) === 'expand' ? false : (_item$props9 = item.props) === null || _item$props9 === void 0 ? void 0 : _item$props9.resizable
154
+ });
155
+ return column;
156
+ }).filter(function (item) {
157
+ return item !== null;
158
+ });
159
+ }, [getChildren, tableId]);
160
+
161
+ /** 分组列 */
162
+ var groupColumns = useCallback(function (cols) {
163
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
164
+ return cols.map(function (item) {
122
165
  if (!flatColumns.current[level]) {
123
166
  flatColumns.current[level] = [];
124
167
  }
125
- let children = [];
168
+ var children = [];
126
169
  if (item.children) {
127
170
  children = groupColumns(item.children, level + 1);
128
171
  }
129
- const column = { ...item, children, rowSpan: children.length > 0 ? 1 : maxLevel.current - level + 1 };
172
+ var column = _objectSpread(_objectSpread({}, item), {}, {
173
+ children: children,
174
+ rowSpan: children.length > 0 ? 1 : maxLevel.current - level + 1
175
+ });
130
176
  flatColumns.current[level].push(column);
131
177
  return column;
132
178
  });
133
179
  }, []);
134
- const getFlattenColumns = (0, import_react.useCallback)(
135
- (immediate = true) => {
136
- const result = [];
137
- columns.forEach((row) => {
138
- row.forEach((col) => {
139
- if (col.isSubColumn) {
140
- const find = flattenColumns.find((item) => item.id === col.id);
141
- if (find && immediate) {
142
- col = ["width", "minWidth", "realWidth"].reduce((prev, item) => {
143
- if (find[item]) {
144
- return { ...prev, [item]: find[item] };
145
- }
146
- return prev;
147
- }, col);
148
- result.push(col);
149
- } else {
150
- result.push(col);
151
- }
180
+ var getFlattenColumns = useCallback(function () {
181
+ var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
182
+ var result = [];
183
+ columns.forEach(function (row) {
184
+ row.forEach(function (col) {
185
+ if (col.isSubColumn) {
186
+ var find = flattenColumns.find(function (item) {
187
+ return item.id === col.id;
188
+ });
189
+ if (find && immediate) {
190
+ // 表格重新布局后,同步下自定义宽度
191
+ col = ['width', 'minWidth', 'realWidth'].reduce(function (prev, item) {
192
+ if (find[item]) {
193
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, item, find[item]));
194
+ }
195
+ return prev;
196
+ }, col);
197
+ result.push(col);
198
+ } else {
199
+ result.push(col);
152
200
  }
153
- });
201
+ }
154
202
  });
155
- return result;
156
- },
157
- [columns, flattenColumns]
158
- );
159
- const getFixedColumns = (0, import_react.useCallback)(() => {
160
- const fixed = [];
161
- const fixedLeft = [];
162
- const fixedRight = [];
163
- const dataColumns = getFlattenColumns();
164
- dataColumns.forEach((item) => {
203
+ });
204
+ return result;
205
+ }, [columns, flattenColumns]);
206
+ var getFixedColumns = useCallback(function () {
207
+ var fixed = [];
208
+ var fixedLeft = [];
209
+ var fixedRight = [];
210
+ var dataColumns = getFlattenColumns();
211
+ dataColumns.forEach(function (item) {
165
212
  if (item.level === 0 && item.isSubColumn) {
166
- if (item.fixed === true || item.fixed === "left") {
213
+ if (item.fixed === true || item.fixed === 'left') {
167
214
  fixed.push(item);
168
215
  fixedLeft.push(item);
169
- } else if (item.fixed === "right") {
216
+ } else if (item.fixed === 'right') {
170
217
  fixedRight.push(item);
171
218
  }
172
219
  }
173
220
  });
174
221
  return {
175
- fixed,
176
- fixedLeft,
177
- fixedRight
222
+ fixed: fixed,
223
+ fixedLeft: fixedLeft,
224
+ fixedRight: fixedRight
178
225
  };
179
226
  }, [getFlattenColumns]);
180
- const setbodyWidth = (0, import_react.useCallback)(
181
- (width) => {
182
- if (width > 0 && oldBodyWidth.current !== width) {
183
- oldBodyWidth.current = bodyWidth.current;
184
- bodyWidth.current = width;
185
- if (refs.tableHeader.current) {
186
- refs.tableHeader.current.style.width = width + "px";
187
- }
188
- if (refs.tableBody.current) {
189
- refs.tableBody.current.style.width = width + "px";
190
- }
227
+ var setbodyWidth = useCallback(function (width) {
228
+ if (width > 0 && oldBodyWidth.current !== width) {
229
+ oldBodyWidth.current = bodyWidth.current;
230
+ bodyWidth.current = width;
231
+ if (refs.tableHeader.current) {
232
+ refs.tableHeader.current.style.width = width + 'px';
191
233
  }
192
- },
193
- [refs.tableBody, refs.tableHeader]
194
- );
195
- const updateColumnsWidth = (0, import_react.useCallback)(
196
- (immediate = true) => {
197
- var _a;
198
- const { fit } = props;
199
- let bodyMinWidth = 0;
200
- const _bodyWidth = ((_a = refs.tableWrapper.current) == null ? void 0 : _a.clientWidth) || 0;
201
- const dataColumns = getFlattenColumns(immediate);
202
- const flexColumns = dataColumns.filter((column) => typeof column.width !== "number");
203
- dataColumns.forEach((column) => {
204
- if (typeof column.width === "number" && column.realWidth) {
205
- column.realWidth = void 0;
206
- }
234
+ if (refs.tableBody.current) {
235
+ refs.tableBody.current.style.width = width + 'px';
236
+ }
237
+ // if (refs.emptyBlock.current) {
238
+ // refs.emptyBlock.current.style.width = width + 'px';
239
+ // }
240
+ }
241
+ }, [refs.tableBody, refs.tableHeader]);
242
+ var updateColumnsWidth = useCallback(function () {
243
+ var _refs$tableWrapper$cu;
244
+ var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
245
+ var fit = props.fit;
246
+ var bodyMinWidth = 0;
247
+ var _bodyWidth = ((_refs$tableWrapper$cu = refs.tableWrapper.current) === null || _refs$tableWrapper$cu === void 0 ? void 0 : _refs$tableWrapper$cu.clientWidth) || 0;
248
+ var dataColumns = getFlattenColumns(immediate);
249
+ var flexColumns = dataColumns.filter(function (column) {
250
+ return typeof column.width !== 'number';
251
+ });
252
+ dataColumns.forEach(function (column) {
253
+ // Clean those columns whose width changed from flex to unflex
254
+ if (typeof column.width === 'number' && column.realWidth) {
255
+ column.realWidth = undefined;
256
+ }
257
+ });
258
+ if (flexColumns.length > 0 && fit) {
259
+ dataColumns.forEach(function (column) {
260
+ bodyMinWidth += Number(column.width || column.minWidth || 80);
207
261
  });
208
- if (flexColumns.length > 0 && fit) {
209
- dataColumns.forEach((column) => {
210
- bodyMinWidth += Number(column.width || column.minWidth || 80);
211
- });
212
- if (bodyMinWidth <= _bodyWidth) {
213
- scrollX.current = false;
214
- const totalFlexWidth = _bodyWidth - bodyMinWidth;
215
- if (flexColumns.length === 1) {
216
- flexColumns[0].realWidth = Number(flexColumns[0].minWidth || 80) + totalFlexWidth;
217
- } else {
218
- const allColumnsWidth = flexColumns.reduce((prev, column) => prev + Number(column.minWidth || 80), 0);
219
- const flexWidthPerPixel = totalFlexWidth / allColumnsWidth;
220
- let noneFirstWidth = 0;
221
- flexColumns.forEach((column, index) => {
222
- if (index === 0) {
223
- return;
224
- }
225
- const flexWidth = Math.floor(Number(column.minWidth || 80) * flexWidthPerPixel);
226
- noneFirstWidth += flexWidth;
227
- column.realWidth = Number(column.minWidth || 80) + flexWidth;
228
- });
229
- flexColumns[0].realWidth = Number(flexColumns[0].minWidth || 80) + totalFlexWidth - noneFirstWidth;
230
- }
262
+ if (bodyMinWidth <= _bodyWidth) {
263
+ // DON'T HAVE SCROLL BAR
264
+ scrollX.current = false;
265
+ var totalFlexWidth = _bodyWidth - bodyMinWidth;
266
+ if (flexColumns.length === 1) {
267
+ flexColumns[0].realWidth = Number(flexColumns[0].minWidth || 80) + totalFlexWidth;
231
268
  } else {
232
- scrollX.current = true;
233
- flexColumns.forEach((column) => {
234
- column.realWidth = Number(column.minWidth || 80);
269
+ var allColumnsWidth = flexColumns.reduce(function (prev, column) {
270
+ return prev + Number(column.minWidth || 80);
271
+ }, 0);
272
+ var flexWidthPerPixel = totalFlexWidth / allColumnsWidth;
273
+ var noneFirstWidth = 0;
274
+ flexColumns.forEach(function (column, index) {
275
+ if (index === 0) {
276
+ return;
277
+ }
278
+ var flexWidth = Math.floor(Number(column.minWidth || 80) * flexWidthPerPixel);
279
+ noneFirstWidth += flexWidth;
280
+ column.realWidth = Number(column.minWidth || 80) + flexWidth;
235
281
  });
282
+ flexColumns[0].realWidth = Number(flexColumns[0].minWidth || 80) + totalFlexWidth - noneFirstWidth;
236
283
  }
237
- setbodyWidth(Math.max(bodyMinWidth, _bodyWidth));
238
284
  } else {
239
- dataColumns.forEach((column) => {
240
- if (!column.width && !column.minWidth) {
241
- column.realWidth = 80;
242
- } else {
243
- column.realWidth = Number(column.width || column.minWidth);
244
- }
245
- bodyMinWidth += column.realWidth;
285
+ // HAVE HORIZONTAL SCROLL BAR
286
+ scrollX.current = true;
287
+ flexColumns.forEach(function (column) {
288
+ column.realWidth = Number(column.minWidth || 80);
246
289
  });
247
- scrollX.current = bodyMinWidth > _bodyWidth;
248
- setbodyWidth(bodyMinWidth);
249
290
  }
250
- const {
251
- /* fixed, */
252
- fixedLeft,
253
- fixedRight
254
- } = getFixedColumns();
255
- if (fixedLeft.length > 0) {
256
- let fixedWidth = 0;
257
- setFixedLeftColumns(
258
- fixedLeft.map((column) => {
259
- column.offsetWidth = fixedWidth;
260
- fixedWidth += Number(column.realWidth || column.width);
261
- return column;
262
- })
263
- );
264
- }
265
- if (fixedRight.length > 0) {
266
- let rightFixedWidth = 0;
267
- setFixedRightColumns(
268
- fixedRight.reverse().map((column) => {
269
- column.offsetWidth = rightFixedWidth;
270
- rightFixedWidth += Number(column.realWidth || column.width);
271
- return column;
272
- }).reverse()
273
- );
274
- }
275
- setFlattenColumns(dataColumns);
276
- },
277
- [getFixedColumns, getFlattenColumns, props, refs.tableWrapper, setbodyWidth]
278
- );
279
- const setScrollClassByEl = (el, className) => {
291
+ setbodyWidth(Math.max(bodyMinWidth, _bodyWidth));
292
+ // this.table.state.resizeState.value.width = this.bodyWidth.value;
293
+ } else {
294
+ dataColumns.forEach(function (column) {
295
+ if (!column.width && !column.minWidth) {
296
+ column.realWidth = 80;
297
+ } else {
298
+ column.realWidth = Number(column.width || column.minWidth);
299
+ }
300
+ bodyMinWidth += column.realWidth;
301
+ });
302
+ scrollX.current = bodyMinWidth > _bodyWidth;
303
+ setbodyWidth(bodyMinWidth);
304
+ }
305
+ var _getFixedColumns = getFixedColumns(),
306
+ fixedLeft = _getFixedColumns.fixedLeft,
307
+ fixedRight = _getFixedColumns.fixedRight;
308
+
309
+ // if (fixedLeftColumns.length > 0) {
310
+ // setFixedColumns(fixed);
311
+ // }
312
+
313
+ if (fixedLeft.length > 0) {
314
+ var fixedWidth = 0;
315
+ setFixedLeftColumns(fixedLeft.map(function (column) {
316
+ column.offsetWidth = fixedWidth;
317
+ fixedWidth += Number(column.realWidth || column.width);
318
+ return column;
319
+ }));
320
+
321
+ // this.fixedWidth.value = fixedWidth;
322
+ }
323
+ if (fixedRight.length > 0) {
324
+ var rightFixedWidth = 0;
325
+ setFixedRightColumns(fixedRight.reverse().map(function (column) {
326
+ column.offsetWidth = rightFixedWidth;
327
+ rightFixedWidth += Number(column.realWidth || column.width);
328
+ return column;
329
+ }).reverse());
330
+
331
+ // this.rightFixedWidth.value = rightFixedWidth;
332
+ }
333
+ setFlattenColumns(dataColumns);
334
+ }, [getFixedColumns, getFlattenColumns, props, refs.tableWrapper, setbodyWidth]);
335
+
336
+ // // 更新列
337
+ // const updateColumns = () => {
338
+ // const fixedColumns = flattenColumns.filter(item => item.fixed === true || item.fixed === 'left');
339
+ // const rightFixedColumns = flattenColumns.filter(column => column.fixed === 'right');
340
+ // if (fixedColumns.length > 0 && flattenColumns[0] && flattenColumns[0].type === 'selection' && !flattenColumns[0].fixed) {
341
+ // flattenColumns[0].fixed = true;
342
+ // fixedColumns.unshift(flattenColumns[0]);
343
+ // }
344
+
345
+ // const notFixedColumns = flattenColumns.filter(column => !column.fixed);
346
+ // const originColumns = [].concat(fixedColumns).concat(notFixedColumns).concat(rightFixedColumns);
347
+ // const leafColumns = doFlattenColumns(notFixedColumns);
348
+ // const fixedLeafColumns = doFlattenColumns(fixedColumns);
349
+ // const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns);
350
+
351
+ // const leafColumnsLength = leafColumns.length;
352
+ // const fixedLeafColumnsLength = fixedLeafColumns.length;
353
+ // const rightFixedLeafColumnsLength = rightFixedLeafColumns.length;
354
+
355
+ // setFlattenColumns([].concat(fixedLeafColumns).concat(leafColumns).concat(rightFixedLeafColumns));
356
+ // // isComplex = fixedColumns.length > 0 || rightFixedColumns.length > 0;
357
+ // };
358
+
359
+ var setScrollClassByEl = function setScrollClassByEl(el, className) {
280
360
  if (!el) {
281
361
  return;
282
362
  }
283
- const classList = Array.from(el.classList).filter((item) => !item.startsWith("is-scrolling-"));
284
- classList.push(scrollX.current ? className : "is-scrolling-none");
363
+ var classList = Array.from(el.classList).filter(function (item) {
364
+ return !item.startsWith('is-scrolling-');
365
+ });
366
+ classList.push(scrollX.current ? className : 'is-scrolling-none');
285
367
  classList.push(className);
286
- el.className = classList.join(" ");
368
+ el.className = classList.join(' ');
287
369
  };
288
- const setScrollClass = (className) => {
289
- const { tableWrapper } = refs;
370
+ var setScrollClass = function setScrollClass(className) {
371
+ var tableWrapper = refs.tableWrapper;
290
372
  if (tableWrapper.current) {
291
373
  setScrollClassByEl(tableWrapper.current, className);
292
374
  }
293
375
  };
294
- const hasScrollClass = (className) => {
295
- const { tableWrapper } = refs;
376
+ var hasScrollClass = function hasScrollClass(className) {
377
+ var tableWrapper = refs.tableWrapper;
296
378
  return !!(tableWrapper.current && tableWrapper.current.classList.contains(className));
297
379
  };
298
- const syncPosition = function() {
380
+ var syncPosition = function syncPosition() {
299
381
  if (!refs.scrollBarRef.current) {
300
382
  return;
301
383
  }
302
384
  if (!scrollX.current) {
303
- const scrollingNoneClass = "is-scrolling-none";
385
+ var scrollingNoneClass = 'is-scrolling-none';
304
386
  if (!hasScrollClass(scrollingNoneClass)) {
305
387
  setScrollClass(scrollingNoneClass);
306
388
  }
307
389
  return;
308
390
  }
309
- const scrollContainer = refs.scrollBarRef.current.wrapRef;
391
+ var scrollContainer = refs.scrollBarRef.current.wrapRef;
310
392
  if (!scrollContainer.current) {
311
393
  return;
312
394
  }
313
- const { scrollLeft, offsetWidth, scrollWidth } = scrollContainer.current;
314
- const { headerWrapper, footerWrapper } = refs;
395
+ var _scrollContainer$curr = scrollContainer.current,
396
+ scrollLeft = _scrollContainer$curr.scrollLeft,
397
+ offsetWidth = _scrollContainer$curr.offsetWidth,
398
+ scrollWidth = _scrollContainer$curr.scrollWidth;
399
+ var headerWrapper = refs.headerWrapper,
400
+ footerWrapper = refs.footerWrapper;
315
401
  if (headerWrapper.current) {
316
402
  headerWrapper.current.scrollLeft = scrollLeft;
317
403
  }
318
404
  if (footerWrapper.current) {
319
405
  footerWrapper.current.scrollLeft = scrollLeft;
320
406
  }
321
- const maxScrollLeftPosition = scrollWidth - offsetWidth - 1;
407
+ var maxScrollLeftPosition = scrollWidth - offsetWidth - 1;
322
408
  if (scrollLeft >= maxScrollLeftPosition) {
323
- setScrollClass("is-scrolling-right");
409
+ setScrollClass('is-scrolling-right');
324
410
  } else if (scrollLeft === 0) {
325
- setScrollClass("is-scrolling-left");
411
+ setScrollClass('is-scrolling-left');
326
412
  } else {
327
- setScrollClass("is-scrolling-middle");
413
+ setScrollClass('is-scrolling-middle');
328
414
  }
329
415
  };
330
- const scheduleLayout = (immediate = true) => {
331
- var _a;
332
- if (((_a = refs.tableWrapper.current) == null ? void 0 : _a.clientWidth) === 0) {
416
+
417
+ /**
418
+ * 更新 DOM
419
+ * @param immediate 是否立即更新
420
+ * @returns
421
+ */
422
+ var scheduleLayout = function scheduleLayout() {
423
+ var _refs$tableWrapper$cu2;
424
+ var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
425
+ if (((_refs$tableWrapper$cu2 = refs.tableWrapper.current) === null || _refs$tableWrapper$cu2 === void 0 ? void 0 : _refs$tableWrapper$cu2.clientWidth) === 0) {
333
426
  return;
334
427
  }
335
428
  updateColumnsWidth(immediate);
336
429
  requestAnimationFrame(syncPosition);
430
+ // if (needUpdateColumns) {
431
+ // updateColumns();
432
+ // }
433
+ // if (immediate) {
434
+ // instance.state.doLayout();
435
+ // } else {
436
+ // instance.state.debouncedUpdateLayout();
437
+ // }
337
438
  };
338
- const { run } = (0, import_ahooks.useDebounceFn)(
339
- () => {
439
+ var _useDebounceFn = useDebounceFn(function () {
340
440
  scheduleLayout();
341
- },
342
- {
441
+ }, {
343
442
  wait: 200
344
- }
345
- );
346
- window.addEventListener("resize", run);
347
- (0, import_react.useEffect)(() => {
348
- var _a;
349
- if (((_a = refs.tableWrapper.current) == null ? void 0 : _a.clientWidth) === 0) {
443
+ }),
444
+ run = _useDebounceFn.run;
445
+ window.addEventListener('resize', run);
446
+ useEffect(function () {
447
+ var _refs$tableWrapper$cu3;
448
+ if (((_refs$tableWrapper$cu3 = refs.tableWrapper.current) === null || _refs$tableWrapper$cu3 === void 0 ? void 0 : _refs$tableWrapper$cu3.clientWidth) === 0) {
449
+ // warning(false, '表格宽度为0,无法初始化,如果表格所在的容器是懒加载,请忽略此消息!');
350
450
  return;
351
451
  }
352
- import_util.TableIdManager.columnId = 0;
353
- const children = getChildren(props.children);
354
- const _columns = initColumns(children);
452
+ TableIdManager.columnId = 0;
453
+ var children = getChildren(props.children);
454
+ var _columns = initColumns(children);
355
455
  groupColumns(_columns);
356
456
  setColumns(flatColumns.current);
357
457
  setIsGroup(flatColumns.current.length > 1);
358
458
  flatColumns.current = [];
459
+ // requestAnimationFrame(scheduleLayout);
460
+ // eslint-disable-next-line react-hooks/exhaustive-deps
359
461
  }, [props.children]);
360
- (0, import_react.useEffect)(() => {
462
+ useEffect(function () {
361
463
  scheduleLayout();
464
+ // eslint-disable-next-line react-hooks/exhaustive-deps
362
465
  }, [columns]);
363
- const treeExpandCell = (0, import_react.useMemo)(() => {
364
- let dataColumns = [];
466
+ var treeExpandCell = useMemo(function () {
467
+ var dataColumns = [];
365
468
  if (fixedLeftColumns.length > 0) {
366
- dataColumns = fixedLeftColumns.filter((item) => !["index", "selection", "expand"].includes(item.type));
469
+ dataColumns = fixedLeftColumns.filter(function (item) {
470
+ return !['index', 'selection', 'expand'].includes(item.type);
471
+ });
367
472
  }
368
473
  if (dataColumns.length === 0) {
369
- dataColumns = flattenColumns.filter((item) => !["index", "selection", "expand"].includes(item.type));
474
+ dataColumns = flattenColumns.filter(function (item) {
475
+ return !['index', 'selection', 'expand'].includes(item.type);
476
+ });
370
477
  }
371
- return dataColumns.length > 0 ? dataColumns[0] : void 0;
478
+ return dataColumns.length > 0 ? dataColumns[0] : undefined;
372
479
  }, [fixedLeftColumns, flattenColumns]);
373
- const isTreeTable = (0, import_react.useCallback)(() => isTree.current === true, []);
374
- const isTreeExpandCell = (0, import_react.useCallback)(
375
- (id) => {
376
- if (isTreeTable() && (0, import_Util.isNotEmpty)(props.rowKey) && treeExpandCell) {
377
- return treeExpandCell.id === id;
378
- }
379
- return false;
380
- },
381
- [isTreeTable, props.rowKey, treeExpandCell]
382
- );
480
+ var isTreeTable = useCallback(function () {
481
+ return isTree.current === true;
482
+ }, []);
483
+ var isTreeExpandCell = useCallback(function (id) {
484
+ if (isTreeTable() && isNotEmpty(props.rowKey) && treeExpandCell) {
485
+ return treeExpandCell.id === id;
486
+ }
487
+ return false;
488
+ }, [isTreeTable, props.rowKey, treeExpandCell]);
383
489
  return {
384
- data,
385
- setData,
386
- _children,
387
- columns,
388
- flattenColumns,
490
+ data: data,
491
+ setData: setData,
492
+ _children: _children,
493
+ columns: columns,
494
+ flattenColumns: flattenColumns,
389
495
  // fixedColumns,
390
- fixedLeftColumns,
391
- fixedRightColumns,
392
- isGroup,
393
- bodyWidth,
394
- maxLevel,
395
- scheduleLayout,
396
- setScrollClass,
397
- syncPosition,
398
- initialData,
399
- sortedData,
400
- treeNodes,
401
- treeProps,
402
- isTreeTable,
403
- isTreeExpandCell
496
+ fixedLeftColumns: fixedLeftColumns,
497
+ fixedRightColumns: fixedRightColumns,
498
+ isGroup: isGroup,
499
+ bodyWidth: bodyWidth,
500
+ maxLevel: maxLevel,
501
+ scheduleLayout: scheduleLayout,
502
+ setScrollClass: setScrollClass,
503
+ syncPosition: syncPosition,
504
+ initialData: initialData,
505
+ sortedData: sortedData,
506
+ treeNodes: treeNodes,
507
+ treeProps: treeProps,
508
+ isTreeTable: isTreeTable,
509
+ isTreeExpandCell: isTreeExpandCell
404
510
  };
405
- };
406
- // Annotate the CommonJS export names for ESM import in node:
407
- 0 && (module.exports = {
408
- useTable
409
- });
511
+ };