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

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 (404) hide show
  1. package/dist/Avatar/Avatar.d.ts +2 -2
  2. package/dist/Avatar/Avatar.js +81 -73
  3. package/dist/Avatar/index.js +1 -39
  4. package/dist/Avatar/typings.js +1 -17
  5. package/dist/Badge/Badge.d.ts +2 -2
  6. package/dist/Badge/Badge.js +75 -60
  7. package/dist/Badge/index.js +1 -39
  8. package/dist/Badge/typings.d.ts +1 -1
  9. package/dist/Badge/typings.js +1 -17
  10. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  11. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  12. package/dist/Breadcrumb/index.js +2 -42
  13. package/dist/Breadcrumb/typings.js +1 -17
  14. package/dist/Button/Button.js +132 -105
  15. package/dist/Button/ButtonGroup.js +29 -48
  16. package/dist/Button/ButtonGroupContext.js +2 -30
  17. package/dist/Button/index.js +2 -42
  18. package/dist/Button/typings.d.ts +4 -2
  19. package/dist/Button/typings.js +1 -17
  20. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  21. package/dist/Button/useButtonCustomStyle.js +65 -0
  22. package/dist/Calendar/Calendar.js +310 -237
  23. package/dist/Calendar/CalendarContext.js +3 -27
  24. package/dist/Calendar/DatePanel.js +191 -158
  25. package/dist/Calendar/DateRangePanel.js +140 -125
  26. package/dist/Calendar/Footer.js +41 -51
  27. package/dist/Calendar/Header.js +83 -65
  28. package/dist/Calendar/MonthPanel.js +138 -124
  29. package/dist/Calendar/MonthRangePanel.js +137 -124
  30. package/dist/Calendar/ShortCuts.js +21 -40
  31. package/dist/Calendar/WeekPanel.js +213 -145
  32. package/dist/Calendar/YearPanel.js +150 -125
  33. package/dist/Calendar/YearRangePanel.js +138 -128
  34. package/dist/Calendar/index.js +4 -47
  35. package/dist/Calendar/typings.js +1 -17
  36. package/dist/Calendar/util.js +26 -68
  37. package/dist/Card/Card.js +36 -46
  38. package/dist/Card/index.js +1 -39
  39. package/dist/Card/typings.js +1 -17
  40. package/dist/Carousel/Carousel.js +202 -166
  41. package/dist/Carousel/CarouselContext.js +14 -42
  42. package/dist/Carousel/CarouselItem.js +55 -71
  43. package/dist/Carousel/hooks/useCarousel.js +263 -238
  44. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  45. package/dist/Carousel/index.js +2 -42
  46. package/dist/Carousel/typings.js +1 -17
  47. package/dist/Cascader/Cascader.js +693 -569
  48. package/dist/Cascader/CascaderContext.js +9 -45
  49. package/dist/Cascader/CascaderDropdown.js +90 -77
  50. package/dist/Cascader/CascaderMenu.js +101 -114
  51. package/dist/Cascader/Utils.js +6 -33
  52. package/dist/Cascader/index.js +1 -39
  53. package/dist/Cascader/typings.d.ts +1 -1
  54. package/dist/Cascader/typings.js +1 -17
  55. package/dist/Cascader/useCascader.js +648 -458
  56. package/dist/Checkbox/Checkbox.d.ts +3 -3
  57. package/dist/Checkbox/Checkbox.js +138 -161
  58. package/dist/Checkbox/CheckboxButton.js +133 -157
  59. package/dist/Checkbox/index.js +2 -42
  60. package/dist/Checkbox/typings.d.ts +3 -2
  61. package/dist/Checkbox/typings.js +1 -17
  62. package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
  63. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  64. package/dist/CheckboxGroup/index.js +2 -42
  65. package/dist/Col/Col.js +53 -72
  66. package/dist/Col/index.js +1 -39
  67. package/dist/Col/typings.js +1 -17
  68. package/dist/Collapse/Collapse.js +36 -45
  69. package/dist/Collapse/CollapseContext.js +3 -31
  70. package/dist/Collapse/CollapseItem.js +88 -73
  71. package/dist/Collapse/CollapseTransition.js +29 -67
  72. package/dist/Collapse/index.js +2 -42
  73. package/dist/Collapse/typings.js +1 -17
  74. package/dist/ColorPicker/AlphaSlider.js +117 -99
  75. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  76. package/dist/ColorPicker/ColorPicker.js +233 -189
  77. package/dist/ColorPicker/HueSlider.js +102 -96
  78. package/dist/ColorPicker/Predefine.js +65 -66
  79. package/dist/ColorPicker/SvPanel.js +95 -81
  80. package/dist/ColorPicker/color.js +301 -213
  81. package/dist/ColorPicker/draggable.js +30 -48
  82. package/dist/ColorPicker/index.js +1 -39
  83. package/dist/ColorPicker/typings.js +1 -17
  84. package/dist/ColorPicker/util.js +23 -60
  85. package/dist/ConfigProvider/ConfigProvider.js +4 -28
  86. package/dist/ConfigProvider/index.js +1 -39
  87. package/dist/DatePicker/DatePicker.d.ts +3 -3
  88. package/dist/DatePicker/DatePicker.js +251 -227
  89. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  90. package/dist/DatePicker/DateRangePicker.js +279 -276
  91. package/dist/DatePicker/index.js +2 -39
  92. package/dist/DatePicker/main.d.ts +2 -2
  93. package/dist/DatePicker/main.js +21 -44
  94. package/dist/DatePicker/typings.d.ts +24 -17
  95. package/dist/DatePicker/typings.js +1 -17
  96. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  97. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  98. package/dist/DateTimePicker/index.js +1 -39
  99. package/dist/DateTimePicker/typings.d.ts +10 -13
  100. package/dist/DateTimePicker/typings.js +1 -17
  101. package/dist/DateTimePicker/util.js +5 -35
  102. package/dist/Descriptions/Descriptions.js +83 -63
  103. package/dist/Descriptions/DescriptionsCell.js +67 -79
  104. package/dist/Descriptions/DescriptionsContext.js +4 -32
  105. package/dist/Descriptions/DescriptionsItem.js +4 -27
  106. package/dist/Descriptions/DescriptionsRow.js +42 -44
  107. package/dist/Descriptions/index.js +2 -42
  108. package/dist/Descriptions/typings.js +1 -17
  109. package/dist/Dialog/Dialog.js +224 -176
  110. package/dist/Dialog/DialogBody.js +52 -59
  111. package/dist/Dialog/DialogContext.js +6 -44
  112. package/dist/Dialog/DialogFooter.js +21 -45
  113. package/dist/Dialog/DialogHeader.js +44 -50
  114. package/dist/Dialog/index.js +1 -39
  115. package/dist/Dialog/typings.d.ts +1 -1
  116. package/dist/Dialog/typings.js +1 -17
  117. package/dist/Dialog/useDraggable.js +52 -79
  118. package/dist/Divider/Divider.d.ts +3 -3
  119. package/dist/Divider/Divider.js +38 -44
  120. package/dist/Divider/index.js +1 -39
  121. package/dist/Drawer/Drawer.js +144 -136
  122. package/dist/Drawer/DrawerBody.js +35 -57
  123. package/dist/Drawer/DrawerContext.js +13 -44
  124. package/dist/Drawer/DrawerFooter.js +22 -43
  125. package/dist/Drawer/DrawerHeader.js +41 -48
  126. package/dist/Drawer/index.js +1 -39
  127. package/dist/Drawer/typings.js +1 -17
  128. package/dist/Dropdown/Dropdown.d.ts +3 -3
  129. package/dist/Dropdown/Dropdown.js +103 -107
  130. package/dist/Dropdown/DropdownContext.js +5 -43
  131. package/dist/Dropdown/DropdownItem.js +40 -60
  132. package/dist/Dropdown/DropdownMenu.js +28 -56
  133. package/dist/Dropdown/index.js +3 -45
  134. package/dist/Dropdown/typings.d.ts +8 -1
  135. package/dist/Dropdown/typings.js +1 -17
  136. package/dist/Empty/Empty.js +32 -53
  137. package/dist/Empty/ImgEmpty.js +115 -117
  138. package/dist/Empty/index.js +1 -39
  139. package/dist/Form/FieldContext.js +8 -37
  140. package/dist/Form/Form.js +167 -162
  141. package/dist/Form/FormContext.js +58 -97
  142. package/dist/Form/FormItem.js +620 -352
  143. package/dist/Form/FormItemContext.js +3 -31
  144. package/dist/Form/List.js +121 -104
  145. package/dist/Form/ListContext.js +3 -27
  146. package/dist/Form/index.js +3 -45
  147. package/dist/Form/typings.d.ts +25 -4
  148. package/dist/Form/typings.js +1 -17
  149. package/dist/Form/useForm.js +830 -690
  150. package/dist/Form/useWatch.js +64 -79
  151. package/dist/Form/utils/NameMap.js +98 -69
  152. package/dist/Form/utils/asyncUtil.js +9 -37
  153. package/dist/Form/utils/classUtil.js +26 -48
  154. package/dist/Form/utils/cloneDeep.js +8 -29
  155. package/dist/Form/utils/get.js +6 -30
  156. package/dist/Form/utils/messages.js +25 -53
  157. package/dist/Form/utils/set.js +31 -44
  158. package/dist/Form/utils/typeUtil.js +3 -31
  159. package/dist/Form/utils/util.js +18 -55
  160. package/dist/Form/utils/validateUtil.js +284 -159
  161. package/dist/Form/utils/valueUtil.js +102 -107
  162. package/dist/Icon/Icon.js +39 -63
  163. package/dist/Icon/IconList/Check.js +25 -65
  164. package/dist/Icon/IconList/Close.js +23 -52
  165. package/dist/Icon/IconList/Delete.js +25 -65
  166. package/dist/Icon/IconList/Down.js +25 -65
  167. package/dist/Icon/IconList/Eye.js +25 -65
  168. package/dist/Icon/IconList/EyeClose.js +25 -65
  169. package/dist/Icon/IconList/Left.js +25 -65
  170. package/dist/Icon/IconList/Link.js +19 -55
  171. package/dist/Icon/IconList/More.js +25 -65
  172. package/dist/Icon/IconList/Question.js +25 -65
  173. package/dist/Icon/IconList/Right.js +25 -65
  174. package/dist/Icon/IconList/Search.js +25 -65
  175. package/dist/Icon/IconList/Up.js +25 -65
  176. package/dist/Icon/IconList/Upload.js +25 -65
  177. package/dist/Icon/IconList/index.js +14 -68
  178. package/dist/Icon/index.js +2 -42
  179. package/dist/Icon/typings.js +1 -17
  180. package/dist/Input/Input.js +335 -358
  181. package/dist/Input/InputGroup.js +27 -43
  182. package/dist/Input/InputRange.js +295 -308
  183. package/dist/Input/TextArea.js +129 -120
  184. package/dist/Input/index.js +3 -45
  185. package/dist/Input/typings.d.ts +1 -1
  186. package/dist/Input/typings.js +1 -17
  187. package/dist/InputNumber/InputNumber.js +224 -203
  188. package/dist/InputNumber/index.js +1 -39
  189. package/dist/InputNumber/typings.d.ts +1 -1
  190. package/dist/InputNumber/typings.js +1 -17
  191. package/dist/Link/Link.js +43 -60
  192. package/dist/Link/index.js +1 -39
  193. package/dist/Link/typings.js +1 -17
  194. package/dist/Loading/Loading.js +93 -66
  195. package/dist/Loading/index.js +1 -39
  196. package/dist/Loading/typings.js +1 -17
  197. package/dist/Message/Main.js +41 -66
  198. package/dist/Message/Message.js +167 -130
  199. package/dist/Message/index.js +68 -88
  200. package/dist/Message/typings.js +1 -17
  201. package/dist/MessageBox/Main.js +43 -68
  202. package/dist/MessageBox/MessageBox.js +253 -202
  203. package/dist/MessageBox/index.js +74 -79
  204. package/dist/MessageBox/typings.js +1 -17
  205. package/dist/Notification/Main.js +41 -66
  206. package/dist/Notification/Notification.js +148 -131
  207. package/dist/Notification/index.js +76 -92
  208. package/dist/Notification/typings.js +1 -17
  209. package/dist/Pagination/Options.js +104 -99
  210. package/dist/Pagination/Pager.js +30 -61
  211. package/dist/Pagination/Pagination.js +462 -380
  212. package/dist/Pagination/index.js +1 -39
  213. package/dist/Pagination/typings.js +1 -17
  214. package/dist/Pagination/util.js +10 -41
  215. package/dist/Popconfirm/Popconfirm.js +108 -116
  216. package/dist/Popconfirm/index.js +1 -39
  217. package/dist/Popconfirm/typings.js +1 -17
  218. package/dist/Popover/Popover.js +87 -89
  219. package/dist/Popover/index.js +1 -39
  220. package/dist/Popover/typings.js +1 -17
  221. package/dist/Popper/Popper.js +172 -149
  222. package/dist/Popper/index.js +1 -39
  223. package/dist/Popper/popperOptions.js +79 -90
  224. package/dist/Popper/typings.js +1 -17
  225. package/dist/Progress/Progress.js +186 -155
  226. package/dist/Progress/index.js +1 -39
  227. package/dist/Progress/typings.js +1 -17
  228. package/dist/Radio/Radio.js +162 -117
  229. package/dist/Radio/RadioButton.d.ts +2 -2
  230. package/dist/Radio/RadioButton.js +137 -117
  231. package/dist/Radio/index.js +1 -39
  232. package/dist/Radio/typings.d.ts +2 -1
  233. package/dist/Radio/typings.js +1 -17
  234. package/dist/RadioGroup/RadioGroup.js +63 -78
  235. package/dist/RadioGroup/index.js +1 -39
  236. package/dist/RadioGroup/typings.js +1 -17
  237. package/dist/Row/Row.js +41 -62
  238. package/dist/Row/RowContext.js +3 -31
  239. package/dist/Row/index.js +2 -42
  240. package/dist/Row/typings.js +1 -17
  241. package/dist/Scrollbar/Scrollbar.js +172 -133
  242. package/dist/Scrollbar/Thumb.js +108 -96
  243. package/dist/Scrollbar/index.js +1 -39
  244. package/dist/Scrollbar/typings.d.ts +11 -2
  245. package/dist/Scrollbar/typings.js +1 -17
  246. package/dist/Scrollbar/util.js +24 -51
  247. package/dist/Select/Option.js +50 -75
  248. package/dist/Select/OptionGroup.js +31 -47
  249. package/dist/Select/Select.js +25 -48
  250. package/dist/Select/SelectContext.js +8 -46
  251. package/dist/Select/SelectCore.js +449 -377
  252. package/dist/Select/SelectDropdown.js +200 -160
  253. package/dist/Select/index.js +2 -42
  254. package/dist/Select/typings.d.ts +1 -1
  255. package/dist/Select/typings.js +1 -17
  256. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  257. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  258. package/dist/Skeleton/PlaceholderParagraph.js +51 -52
  259. package/dist/Skeleton/Skeleton.js +8 -42
  260. package/dist/Skeleton/index.js +1 -39
  261. package/dist/Switch/Switch.js +183 -154
  262. package/dist/Switch/index.js +1 -39
  263. package/dist/Switch/typings.js +1 -17
  264. package/dist/Table/Colgroup.js +17 -41
  265. package/dist/Table/Table.js +246 -188
  266. package/dist/Table/TableBody.js +265 -200
  267. package/dist/Table/TableCell.js +461 -320
  268. package/dist/Table/TableColumn.js +9 -43
  269. package/dist/Table/TableContext.js +44 -63
  270. package/dist/Table/TableHeader.js +112 -102
  271. package/dist/Table/TableHeaderCell.js +211 -158
  272. package/dist/Table/hooks/useResize.js +69 -83
  273. package/dist/Table/hooks/useScroll.js +88 -114
  274. package/dist/Table/hooks/useSelection.js +145 -110
  275. package/dist/Table/hooks/useTable.js +411 -309
  276. package/dist/Table/index.js +2 -42
  277. package/dist/Table/treeUtil.js +99 -77
  278. package/dist/Table/typings.js +1 -17
  279. package/dist/Table/util.js +168 -109
  280. package/dist/Tabs/TabPane.js +51 -53
  281. package/dist/Tabs/Tabs.js +277 -178
  282. package/dist/Tabs/TabsContext.js +4 -32
  283. package/dist/Tabs/index.js +2 -42
  284. package/dist/Tabs/typings.js +1 -17
  285. package/dist/Tag/Tag.js +86 -74
  286. package/dist/Tag/index.js +1 -39
  287. package/dist/Tag/typings.js +1 -17
  288. package/dist/TimeLine/TimeLine.js +13 -42
  289. package/dist/TimeLine/TimeLineItem.js +66 -54
  290. package/dist/TimeLine/index.js +2 -42
  291. package/dist/TimeLine/typings.js +1 -17
  292. package/dist/TimePicker/TimePicker.d.ts +1 -4
  293. package/dist/TimePicker/TimePicker.js +275 -215
  294. package/dist/TimePicker/TimePickerPanel.js +62 -71
  295. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  296. package/dist/TimePicker/TimePickerRange.js +371 -334
  297. package/dist/TimePicker/TimeRangePanel.js +182 -165
  298. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  299. package/dist/TimePicker/index.d.ts +2 -3
  300. package/dist/TimePicker/index.js +1 -42
  301. package/dist/TimePicker/main.d.ts +9 -0
  302. package/dist/TimePicker/main.js +17 -0
  303. package/dist/TimePicker/typings.d.ts +29 -24
  304. package/dist/TimePicker/typings.js +1 -17
  305. package/dist/TimePicker/useTimePicker.js +62 -65
  306. package/dist/TimePicker/util.js +8 -40
  307. package/dist/Tooltip/Tooltip.js +172 -180
  308. package/dist/Tooltip/TooltipContext.js +8 -46
  309. package/dist/Tooltip/index.js +2 -42
  310. package/dist/Tooltip/typings.js +1 -17
  311. package/dist/Transfer/List.js +290 -241
  312. package/dist/Transfer/ListBody.js +92 -106
  313. package/dist/Transfer/ListItem.js +38 -51
  314. package/dist/Transfer/Transfer.js +323 -280
  315. package/dist/Transfer/index.js +1 -39
  316. package/dist/Transfer/interface.js +1 -17
  317. package/dist/Transfer/operation.js +35 -48
  318. package/dist/Transfer/search.js +30 -62
  319. package/dist/Transfer/typings/index.js +1 -17
  320. package/dist/Transfer/typings/list.js +1 -17
  321. package/dist/Transfer/typings/listBody.js +2 -30
  322. package/dist/Transition/Transition.js +271 -234
  323. package/dist/Transition/TransitionGroup.js +136 -88
  324. package/dist/Transition/TransitionGroupContext.js +2 -26
  325. package/dist/Transition/childMapping.js +84 -71
  326. package/dist/Transition/index.js +2 -42
  327. package/dist/Transition/util.d.ts +0 -1
  328. package/dist/Transition/util.js +6 -47
  329. package/dist/Tree/DirectoryTree.js +146 -118
  330. package/dist/Tree/DropIndicator.js +15 -45
  331. package/dist/Tree/Indent.js +23 -54
  332. package/dist/Tree/MotionTreeNode.js +94 -95
  333. package/dist/Tree/NodeList.js +228 -221
  334. package/dist/Tree/RCTree.js +969 -702
  335. package/dist/Tree/Tree.js +64 -79
  336. package/dist/Tree/TreeNode.js +254 -255
  337. package/dist/Tree/contextTypes.js +8 -42
  338. package/dist/Tree/index.js +4 -48
  339. package/dist/Tree/typings.js +1 -17
  340. package/dist/Tree/useUnmount.js +21 -41
  341. package/dist/Tree/util.js +156 -134
  342. package/dist/Tree/utils/conductUtil.js +113 -104
  343. package/dist/Tree/utils/dictUtil.js +50 -78
  344. package/dist/Tree/utils/diffUtil.js +26 -43
  345. package/dist/Tree/utils/dropIndicator.js +23 -51
  346. package/dist/Tree/utils/iconUtil.js +44 -51
  347. package/dist/Tree/utils/keyUtil.js +2 -26
  348. package/dist/Tree/utils/motion.js +34 -72
  349. package/dist/Tree/utils/pickAttrs.js +30 -58
  350. package/dist/Tree/utils/treeUtil.js +263 -203
  351. package/dist/TreeSelect/TreeSelect.js +521 -459
  352. package/dist/TreeSelect/Utils.js +15 -36
  353. package/dist/TreeSelect/index.js +1 -39
  354. package/dist/TreeSelect/typings.d.ts +1 -1
  355. package/dist/TreeSelect/typings.js +1 -17
  356. package/dist/Upload/Upload.js +106 -109
  357. package/dist/Upload/UploadContent.js +227 -182
  358. package/dist/Upload/UploadContext.js +5 -33
  359. package/dist/Upload/UploadDrag.js +77 -97
  360. package/dist/Upload/UploadList.js +104 -73
  361. package/dist/Upload/ajax.js +45 -71
  362. package/dist/Upload/index.js +1 -39
  363. package/dist/Upload/typings.js +34 -36
  364. package/dist/Upload/use-handlers.js +182 -126
  365. package/dist/Util/Math.js +81 -78
  366. package/dist/Util/PopupManager.js +5 -27
  367. package/dist/Util/base.js +101 -171
  368. package/dist/Util/genFileId.js +3 -29
  369. package/dist/Util/index.js +6 -51
  370. package/dist/Util/resize-event.js +31 -54
  371. package/dist/Util/shallowEqual.js +30 -28
  372. package/dist/Util/treeUtils.js +68 -64
  373. package/dist/config/Constants.js +17 -47
  374. package/dist/display.css +1 -0
  375. package/dist/hooks/animationPropsUtils.js +25 -49
  376. package/dist/hooks/htmlPropsUtils.js +54 -121
  377. package/dist/hooks/index.js +14 -73
  378. package/dist/hooks/popperPropsUtils.js +25 -67
  379. package/dist/hooks/prefix.js +22 -55
  380. package/dist/hooks/treePropsUtils.js +24 -103
  381. package/dist/hooks/useChildrenInstance.js +51 -60
  382. package/dist/hooks/useClassNames.d.ts +2 -0
  383. package/dist/hooks/useClassNames.js +279 -197
  384. package/dist/hooks/useClickOutside.js +37 -62
  385. package/dist/hooks/useCommonProps.js +17 -53
  386. package/dist/hooks/useComponentWillMount.js +4 -28
  387. package/dist/hooks/useControlled.js +31 -37
  388. package/dist/hooks/useForceUpdate.js +16 -34
  389. package/dist/hooks/useUpdateEffect.js +6 -29
  390. package/dist/index.css +1 -57810
  391. package/dist/index.d.ts +0 -2
  392. package/dist/index.js +69 -237
  393. package/dist/theme-chalk/common/index.js +1 -2
  394. package/dist/theme-chalk/common/index.scss +2 -2
  395. package/dist/theme-chalk/date-picker/index.scss +1 -1
  396. package/dist/theme-chalk/display.scss +46 -0
  397. package/dist/theme-chalk/form/index.scss +21 -2
  398. package/dist/types/common.js +1 -17
  399. package/dist/types/type.js +16 -28
  400. package/package.json +6 -1
  401. package/theme-chalk/common/index.scss +2 -2
  402. package/theme-chalk/date-picker/index.scss +1 -1
  403. package/theme-chalk/display.scss +46 -0
  404. 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
+ };