@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,249 +1,308 @@
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
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
3
+ 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; }
4
+ 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; }
5
+ 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; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+ 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."); }
11
+ 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); }
12
+ 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; }
13
+ 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; } }
14
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
+ import classNames from 'classnames';
16
+ import { addClass, hasClass, removeClass } from 'dom-lib';
17
+ import isEqual from 'lodash/isEqual';
18
+ import last from 'lodash/last';
19
+ import omit from 'lodash/omit';
20
+ import some from 'lodash/some';
21
+ import uniqWith from 'lodash/uniqWith';
22
+ import words from 'lodash/words';
23
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
24
+ import { createPortal } from 'react-dom';
25
+ import { createRoot } from 'react-dom/client';
26
+ // import { SortableHandle } from 'react-sortable-hoc';
27
+ import Checkbox from "../Checkbox/Checkbox";
28
+ import Icon from "../Icon/Icon";
29
+ import { isEmpty, isNotEmpty } from "../Util";
30
+ import { useClassNames, useUpdateEffect } from "../hooks";
31
+ import { TableBodyContext, TableContext } from "./TableContext";
32
+ import { activeRow, onCheck } from "./hooks/useSelection";
33
+ import { addTreeChildren, getAllChildren, mergeTreeData } from "./treeUtil";
34
+ import { createTablePopper, getRowIdentity, getRowIndex, getStyle, insertAfter } from "./util";
35
+ var TableCell = function TableCell(p) {
36
+ var row = p.row,
37
+ column = p.column,
38
+ columnIndex = p.columnIndex,
39
+ _p$className = p.className,
40
+ className = _p$className === void 0 ? '' : _p$className,
41
+ _p$style = p.style,
42
+ style = _p$style === void 0 ? {} : _p$style,
43
+ _p$rowSpan = p.rowSpan,
44
+ rowSpan = _p$rowSpan === void 0 ? 1 : _p$rowSpan,
45
+ _p$colSpan = p.colSpan,
46
+ colSpan = _p$colSpan === void 0 ? 1 : _p$colSpan;
47
+ var _useContext = useContext(TableContext),
48
+ data = _useContext.data,
49
+ setData = _useContext.setData,
50
+ props = _useContext.props,
51
+ tableRefs = _useContext.tableRefs,
52
+ flattenColumns = _useContext.flattenColumns;
53
+ var _useContext2 = useContext(TableBodyContext),
54
+ state = _useContext2.state,
55
+ dispatch = _useContext2.dispatch,
56
+ disabledRows = _useContext2.disabledRows,
57
+ isTreeExpandCell = _useContext2.isTreeExpandCell,
58
+ treeProps = _useContext2.treeProps,
59
+ treeNodes = _useContext2.treeNodes,
60
+ initialData = _useContext2.initialData,
61
+ sortedData = _useContext2.sortedData;
62
+ var cellClassName = props.cellClassName,
63
+ cellStyle = props.cellStyle,
64
+ onSelect = props.onSelect,
65
+ onSelectionChange = props.onSelectionChange,
66
+ onCellMouseEnter = props.onCellMouseEnter,
67
+ onCellMouseLeave = props.onCellMouseLeave,
68
+ onCellClick = props.onCellClick,
69
+ onCellDblclick = props.onCellDblclick,
70
+ onCellContextmenu = props.onCellContextmenu,
71
+ onRowClick = props.onRowClick,
72
+ onRowContextmenu = props.onRowContextmenu,
73
+ onRowDblclick = props.onRowDblclick,
74
+ _props$expandable = props.expandable,
75
+ expandable = _props$expandable === void 0 ? function () {
76
+ return Promise.resolve(true);
77
+ } : _props$expandable,
78
+ onExpandChange = props.onExpandChange,
79
+ hideIconOnNotExpand = props.hideIconOnNotExpand,
80
+ highlightCurrentRow = props.highlightCurrentRow,
81
+ onCurrentChange = props.onCurrentChange,
82
+ tableLayout = props.tableLayout,
83
+ rowHeight = props.rowHeight,
84
+ rowKey = props.rowKey,
85
+ _props$indent = props.indent,
86
+ indent = _props$indent === void 0 ? 16 : _props$indent,
87
+ lazy = props.lazy,
88
+ load = props.load;
89
+ var _useClassNames = useClassNames('table'),
90
+ b = _useClassNames.b,
91
+ bm = _useClassNames.bm,
92
+ e = _useClassNames.e,
93
+ em = _useClassNames.em,
94
+ is = _useClassNames.is;
95
+ var expand = useRef(false);
96
+ var trRef = useRef(null);
97
+ var tdRef = useRef(null);
98
+ var expandCell = useRef(null);
99
+ // 树形表格开始展开/折叠行树,为了保证递归展开/折叠行时不重复执行
100
+ var startRowIndex = useRef(null);
101
+ var nextRow = useRef(null);
102
+ var rootRef = useRef(null);
103
+ var tooltipRef = useRef(null);
104
+ // 懒加载
105
+ var _useState = useState(false),
106
+ _useState2 = _slicedToArray(_useState, 2),
107
+ loading = _useState2[0],
108
+ setLoading = _useState2[1];
28
109
 
29
- // src/Table/TableCell.tsx
30
- var TableCell_exports = {};
31
- __export(TableCell_exports, {
32
- default: () => TableCell_default
33
- });
34
- module.exports = __toCommonJS(TableCell_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_dom_lib = require("dom-lib");
37
- var import_isEqual = __toESM(require("lodash/isEqual"));
38
- var import_last = __toESM(require("lodash/last"));
39
- var import_omit = __toESM(require("lodash/omit"));
40
- var import_some = __toESM(require("lodash/some"));
41
- var import_uniqWith = __toESM(require("lodash/uniqWith"));
42
- var import_words = __toESM(require("lodash/words"));
43
- var import_react = __toESM(require("react"));
44
- var import_react_dom = require("react-dom");
45
- var import_client = require("react-dom/client");
46
- var import_Checkbox = require("../Checkbox");
47
- var import_Icon = require("../Icon");
48
- var import_Util = require("../Util");
49
- var import_hooks = require("../hooks");
50
- var import_TableContext = require("./TableContext");
51
- var import_useSelection = require("./hooks/useSelection");
52
- var import_treeUtil = require("./treeUtil");
53
- var import_util = require("./util");
54
- var TableCell = (p) => {
55
- const { row, column, columnIndex, className = "", style = {}, rowSpan = 1, colSpan = 1 } = p;
56
- const { data, setData, props, tableRefs, flattenColumns } = (0, import_react.useContext)(import_TableContext.TableContext);
57
- const { state, dispatch, disabledRows, isTreeExpandCell, treeProps, treeNodes, initialData, sortedData } = (0, import_react.useContext)(import_TableContext.TableBodyContext);
58
- const {
59
- cellClassName,
60
- cellStyle,
61
- onSelect,
62
- onSelectionChange,
63
- onCellMouseEnter,
64
- onCellMouseLeave,
65
- onCellClick,
66
- onCellDblclick,
67
- onCellContextmenu,
68
- onRowClick,
69
- onRowContextmenu,
70
- onRowDblclick,
71
- expandable = () => Promise.resolve(true),
72
- onExpandChange,
73
- hideIconOnNotExpand,
74
- highlightCurrentRow,
75
- onCurrentChange,
76
- tableLayout,
77
- rowHeight,
78
- rowKey,
79
- indent = 16,
80
- lazy,
81
- load
82
- } = props;
83
- const { b, bm, e, em, is } = (0, import_hooks.useClassNames)("table");
84
- const expand = (0, import_react.useRef)(false);
85
- const trRef = (0, import_react.useRef)(null);
86
- const tdRef = (0, import_react.useRef)(null);
87
- const expandCell = (0, import_react.useRef)(null);
88
- const startRowIndex = (0, import_react.useRef)();
89
- const nextRow = (0, import_react.useRef)(null);
90
- const rootRef = (0, import_react.useRef)(null);
91
- const tooltipRef = (0, import_react.useRef)(null);
92
- const [loading, setLoading] = (0, import_react.useState)(false);
93
- const handleCellMouseEnter = (0, import_react.useCallback)(
94
- (_row, _column, event) => {
95
- onCellMouseEnter == null ? void 0 : onCellMouseEnter(_row, _column, event.currentTarget, event);
96
- if (!["index", "selection"].includes((_column == null ? void 0 : _column.type) || "") && column.showOverflowTooltip) {
97
- const cell = event.currentTarget;
98
- const cellChild = event.currentTarget.querySelector("." + e`cell-content`);
99
- const range = document.createRange();
100
- range.setStart(cellChild, 0);
101
- range.setEnd(cellChild, cellChild.childNodes.length);
102
- const rangeWidth = range.getBoundingClientRect().width;
103
- const padding = (Number.parseInt((0, import_util.getStyle)(cellChild, "paddingLeft"), 10) || 0) + (Number.parseInt((0, import_util.getStyle)(cellChild, "paddingRight"), 10) || 0);
104
- if (rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) {
105
- tableRefs.tableWrapper.current && (0, import_util.createTablePopper)(
106
- tableRefs.tableWrapper.current,
107
- // {
108
- // getBoundingClientRect: tableRefs.tableWrapper.current.getBoundingClientRect(),
109
- // },
110
- cell,
111
- cell.innerText || cell.textContent || "",
112
- tooltipRef
113
- );
114
- }
110
+ /** 鼠标悬浮单元格事件 */
111
+ var handleCellMouseEnter = useCallback(function (_row, _column, event) {
112
+ onCellMouseEnter === null || onCellMouseEnter === void 0 || onCellMouseEnter(_row, _column, event.currentTarget, event);
113
+ if (!['index', 'selection'].includes((_column === null || _column === void 0 ? void 0 : _column.type) || '') && column.showOverflowTooltip) {
114
+ var cell = event.currentTarget;
115
+ var cellChild = event.currentTarget.querySelector('.' + e(_templateObject || (_templateObject = _taggedTemplateLiteral(["cell-content"]))));
116
+ var range = document.createRange();
117
+ range.setStart(cellChild, 0);
118
+ range.setEnd(cellChild, cellChild.childNodes.length);
119
+ var rangeWidth = range.getBoundingClientRect().width;
120
+ var padding = (Number.parseInt(getStyle(cellChild, 'paddingLeft'), 10) || 0) + (Number.parseInt(getStyle(cellChild, 'paddingRight'), 10) || 0);
121
+ if (rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) {
122
+ // tableRefs.tableWrapper.current && console.log(tableRefs.tableWrapper.current.getBoundingClientRect());
123
+ tableRefs.tableWrapper.current && createTablePopper(tableRefs.tableWrapper.current,
124
+ // {
125
+ // getBoundingClientRect: tableRefs.tableWrapper.current.getBoundingClientRect(),
126
+ // },
127
+ cell, cell.innerText || cell.textContent || '', tooltipRef);
115
128
  }
116
- },
117
- [column.showOverflowTooltip, e, onCellMouseEnter, tableRefs.tableWrapper]
118
- );
119
- const rowIndex = (0, import_react.useMemo)(() => (0, import_util.getRowIndex)(column.index, p.rowIndex, row), [column.index, p.rowIndex, row]);
120
- const disabled = (0, import_react.useMemo)(() => {
121
- var _a;
122
- return column.type === "selection" && ((_a = column == null ? void 0 : column.selectable) == null ? void 0 : _a.call(column, row, rowIndex)) === false;
129
+ }
130
+ }, [column.showOverflowTooltip, e, onCellMouseEnter, tableRefs.tableWrapper]);
131
+ var rowIndex = useMemo(function () {
132
+ return getRowIndex(column.index, p.rowIndex, row);
133
+ }, [column.index, p.rowIndex, row]);
134
+ var disabled = useMemo(function () {
135
+ var _column$selectable;
136
+ return column.type === 'selection' && (column === null || column === void 0 || (_column$selectable = column.selectable) === null || _column$selectable === void 0 ? void 0 : _column$selectable.call(column, row, rowIndex)) === false;
123
137
  }, [column, row, rowIndex]);
124
- const handleCheck = (0, import_react.useCallback)(
125
- (checked, _row) => {
126
- var _a;
127
- const allChildren = (0, import_treeUtil.getAllChildren)([_row], treeProps, rowKey).filter((item) => {
128
- var _a2;
129
- return column.type === "selection" && ((_a2 = column == null ? void 0 : column.selectable) == null ? void 0 : _a2.call(column, item, rowIndex)) !== false;
138
+
139
+ /** 选中行事件 */
140
+ var handleCheck = useCallback(function (checked, _row) {
141
+ var _selectedRows2, _selectedRows3, _disabledRows$current;
142
+ var allChildren = getAllChildren([_row], treeProps, rowKey).filter(function (item) {
143
+ var _column$selectable2;
144
+ return column.type === 'selection' && (column === null || column === void 0 || (_column$selectable2 = column.selectable) === null || _column$selectable2 === void 0 ? void 0 : _column$selectable2.call(column, item, rowIndex)) !== false;
145
+ });
146
+ var selectedRows = JSON.parse(JSON.stringify(state.selection));
147
+ allChildren.forEach(function (item) {
148
+ if (checked) {
149
+ selectedRows.push(item);
150
+ } else {
151
+ var _selectedRows;
152
+ selectedRows = (_selectedRows = selectedRows) === null || _selectedRows === void 0 ? void 0 : _selectedRows.filter(function (item1) {
153
+ return rowKey ? getRowIdentity(item, rowKey) !== getRowIdentity(item1, rowKey) : !isEqual(item, item1);
154
+ });
155
+ }
156
+ });
157
+ dispatch(onCheck({
158
+ isIndeterminate: ((_selectedRows2 = selectedRows) === null || _selectedRows2 === void 0 ? void 0 : _selectedRows2.length) > 0 && ((_selectedRows3 = selectedRows) === null || _selectedRows3 === void 0 ? void 0 : _selectedRows3.length) + ((_disabledRows$current = disabledRows.current) === null || _disabledRows$current === void 0 ? void 0 : _disabledRows$current.length) !== data.length,
159
+ selection: selectedRows
160
+ }));
161
+ onSelect === null || onSelect === void 0 || onSelect(selectedRows, _row);
162
+ onSelectionChange === null || onSelectionChange === void 0 || onSelectionChange(selectedRows);
163
+ }, [treeProps, rowKey, state.selection, dispatch, disabledRows, data.length, onSelect, onSelectionChange, column, rowIndex]);
164
+ var getCellStyle = useCallback(function (_column) {
165
+ var res = {};
166
+ if (rowHeight && typeof rowHeight === 'number') {
167
+ Object.assign(res, {
168
+ height: rowHeight
130
169
  });
131
- let selectedRows = JSON.parse(JSON.stringify(state.selection));
132
- allChildren.forEach((item) => {
133
- if (checked) {
134
- selectedRows.push(item);
135
- } else {
136
- selectedRows = selectedRows == null ? void 0 : selectedRows.filter((item1) => rowKey ? (0, import_util.getRowIdentity)(item, rowKey) !== (0, import_util.getRowIdentity)(item1, rowKey) : !(0, import_isEqual.default)(item, item1));
137
- }
170
+ }
171
+ if (tableLayout === 'fixed' && _column.showOverflowTooltip) {
172
+ Object.assign(res, {
173
+ width: (column.width || column.realWidth || column.minWidth || 80) - 1
138
174
  });
139
- dispatch((0, import_useSelection.onCheck)({ isIndeterminate: (selectedRows == null ? void 0 : selectedRows.length) > 0 && (selectedRows == null ? void 0 : selectedRows.length) + ((_a = disabledRows.current) == null ? void 0 : _a.length) !== data.length, selection: selectedRows }));
140
- onSelect == null ? void 0 : onSelect(selectedRows, _row);
141
- onSelectionChange == null ? void 0 : onSelectionChange(selectedRows);
142
- },
143
- [treeProps, rowKey, state.selection, dispatch, disabledRows, data.length, onSelect, onSelectionChange, column, rowIndex]
144
- );
145
- const getCellStyle = (0, import_react.useCallback)(
146
- (_column) => {
147
- const res = {};
148
- if (rowHeight && typeof rowHeight === "number") {
149
- Object.assign(res, { height: rowHeight });
150
- }
151
- if (tableLayout === "fixed" && _column.showOverflowTooltip) {
152
- Object.assign(res, { width: (column.width || column.realWidth || column.minWidth || 80) - 1 });
153
- }
154
- return res;
155
- },
156
- [column.minWidth, column.realWidth, column.width, rowHeight, tableLayout]
157
- );
158
- const getLevel = (0, import_react.useCallback)(
159
- (div) => {
160
- if (div) {
161
- const pattern = new RegExp(em("row", "level-"));
162
- const levelClassName = Array.from(div.classList).find((item) => pattern.test(item));
163
- if (levelClassName) {
164
- const _level = parseFloat((0, import_last.default)((0, import_words.default)(levelClassName)));
165
- if (!isNaN(_level)) {
166
- return _level;
167
- }
175
+ }
176
+ return res;
177
+ }, [column.minWidth, column.realWidth, column.width, rowHeight, tableLayout]);
178
+
179
+ /** 获取树形表格行层级 */
180
+ var getLevel = useCallback(function (div) {
181
+ if (div) {
182
+ var pattern = new RegExp(em('row', 'level-'));
183
+ var levelClassName = Array.from(div.classList).find(function (item) {
184
+ return pattern.test(item);
185
+ });
186
+ if (levelClassName) {
187
+ var _level = parseFloat(last(words(levelClassName)));
188
+ if (!isNaN(_level)) {
189
+ return _level;
168
190
  }
169
191
  }
170
- return 0;
171
- },
172
- [em]
173
- );
174
- const expandOrCollapseTreeRow = (0, import_react.useCallback)(
175
- (level, willExpand) => {
176
- while (nextRow.current) {
177
- if ((0, import_dom_lib.hasClass)(nextRow.current, em("row", "level-0"))) {
178
- break;
192
+ }
193
+ return 0;
194
+ }, [em]);
195
+
196
+ /**
197
+ * 展开或折叠树形表格行
198
+ * @param nextRow 下一行表格tr
199
+ * @param level 树层级
200
+ * @param willExpand 展开或折叠
201
+ */
202
+ var expandOrCollapseTreeRow = useCallback(function (level, willExpand) {
203
+ var _loop = function _loop() {
204
+ if (hasClass(nextRow.current, em('row', 'level-0'))) {
205
+ return 0; // break
179
206
  } else {
180
- const _level = getLevel(nextRow.current);
207
+ var _level = getLevel(nextRow.current);
181
208
  if (willExpand) {
209
+ // 展开时,需要保持次级行的展开/折叠情况
182
210
  if (level === _level) {
183
- const nextId = (0, import_util.getRowIdentity)(data[startRowIndex.current], rowKey);
184
- treeNodes.current = treeNodes.current.map((item) => item.id === nextId ? { ...item, display: true } : item);
185
- const expandIcon = nextRow.current.querySelector(`.${e`expand-icon`}`);
211
+ // addStyle(nextRow.current, 'display', '');
212
+ var nextId = getRowIdentity(data[startRowIndex.current], rowKey);
213
+ treeNodes.current = treeNodes.current.map(function (item) {
214
+ return item.id === nextId ? _objectSpread(_objectSpread({}, item), {}, {
215
+ display: true
216
+ }) : item;
217
+ });
218
+ var expandIcon = nextRow.current.querySelector(".".concat(e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["expand-icon"])))));
186
219
  if (expandIcon) {
187
- const nextLevel2 = getLevel(nextRow.current.nextSibling);
188
- if (nextLevel2 === 0 || nextLevel2 < level) {
189
- break;
220
+ // 下一行层级为0或层级小于当前行层级时,说明子级行遍历结束,跳出循环
221
+ var _nextLevel = getLevel(nextRow.current.nextSibling);
222
+ if (_nextLevel === 0 || _nextLevel < level) {
223
+ return 0; // break
190
224
  }
191
- const expanded = (0, import_dom_lib.hasClass)(expandIcon, em("expand-icon", "expanded"));
192
- treeNodes.current = treeNodes.current.map((item) => item.id === nextId ? { ...item, expanded } : item);
225
+ var expanded = hasClass(expandIcon, em('expand-icon', 'expanded'));
226
+ treeNodes.current = treeNodes.current.map(function (item) {
227
+ return item.id === nextId ? _objectSpread(_objectSpread({}, item), {}, {
228
+ expanded: expanded
229
+ }) : item;
230
+ });
193
231
  startRowIndex.current++;
194
232
  nextRow.current = nextRow.current.nextSibling;
195
233
  expandOrCollapseTreeRow(level + 1, expanded);
196
234
  }
197
235
  }
198
236
  } else {
237
+ // 折叠时,所有的子行都隐藏
199
238
  if (level > 0) {
200
- const nextId = (0, import_util.getRowIdentity)(data[startRowIndex.current], rowKey);
201
- treeNodes.current = treeNodes.current.map((item) => item.id === nextId ? { ...item, display: false } : item);
239
+ // addStyle(nextRow.current.current, 'display', 'none');
240
+ var _nextId = getRowIdentity(data[startRowIndex.current], rowKey);
241
+ treeNodes.current = treeNodes.current.map(function (item) {
242
+ return item.id === _nextId ? _objectSpread(_objectSpread({}, item), {}, {
243
+ display: false
244
+ }) : item;
245
+ });
202
246
  }
203
247
  }
204
- const nextLevel = getLevel(nextRow.current.nextSibling);
248
+
249
+ // 下一行层级为0或层级小于当前行层级时,说明子级行遍历结束,跳出循环
250
+ var nextLevel = getLevel(nextRow.current.nextSibling);
205
251
  if (nextLevel === 0 || nextLevel < level) {
206
- break;
252
+ return 0; // break
207
253
  }
208
254
  startRowIndex.current++;
209
255
  nextRow.current = nextRow.current.nextSibling;
210
256
  }
211
- }
212
- },
213
- [data, e, em, getLevel, rowKey, treeNodes]
214
- );
215
- const handleExpandTreeCell = (0, import_react.useCallback)(() => {
216
- var _a, _b;
217
- if (((_a = tdRef.current) == null ? void 0 : _a.parentNode) && expandCell.current) {
218
- const willExpand = !(0, import_dom_lib.hasClass)(expandCell.current, em("expand-icon", "expanded"));
257
+ },
258
+ _ret;
259
+ while (nextRow.current) {
260
+ _ret = _loop();
261
+ if (_ret === 0) break;
262
+ }
263
+ }, [data, e, em, getLevel, rowKey, treeNodes]);
264
+
265
+ /** 展开/折叠树 */
266
+ var handleExpandTreeCell = useCallback(function () {
267
+ var _tdRef$current;
268
+ if ((_tdRef$current = tdRef.current) !== null && _tdRef$current !== void 0 && _tdRef$current.parentNode && expandCell.current) {
269
+ var willExpand = !hasClass(expandCell.current, em('expand-icon', 'expanded'));
219
270
  if (lazy && row.noLazyChildren) {
220
271
  setLoading(true);
221
- const parentId = (0, import_util.getRowIdentity)(row, rowKey);
222
- new Promise((resolve) => {
223
- load == null ? void 0 : load(
224
- row,
225
- treeNodes.current.find((item) => item.id === parentId),
226
- resolve
227
- );
228
- }).then((result) => {
272
+ var parentId = getRowIdentity(row, rowKey);
273
+ new Promise(function (resolve) {
274
+ load === null || load === void 0 || load(row, treeNodes.current.find(function (item) {
275
+ return item.id === parentId;
276
+ }), resolve);
277
+ }).then(function (result) {
229
278
  setLoading(false);
230
- result = result.map((item) => {
231
- const treeNode = { parentId, display: true, level: row.level + 1, expanded: false, noLazyChildren: true };
232
- treeNodes.current.push({ id: (0, import_util.getRowIdentity)(item, rowKey), ...treeNode });
233
- return { ...item, ...treeNode };
279
+ result = result.map(function (item) {
280
+ var treeNode = {
281
+ parentId: parentId,
282
+ display: true,
283
+ level: row.level + 1,
284
+ expanded: false,
285
+ noLazyChildren: true
286
+ };
287
+ treeNodes.current.push(_objectSpread({
288
+ id: getRowIdentity(item, rowKey)
289
+ }, treeNode));
290
+ return _objectSpread(_objectSpread({}, item), treeNode);
234
291
  });
235
- (0, import_treeUtil.addTreeChildren)(initialData.current, (0, import_util.getRowIdentity)(row, rowKey), result, treeProps, rowKey);
236
- (0, import_treeUtil.addTreeChildren)(sortedData.current, (0, import_util.getRowIdentity)(row, rowKey), result, treeProps, rowKey);
237
- let _data = data.map((item) => {
238
- if (rowKey ? (0, import_util.getRowIdentity)(item, rowKey) === (0, import_util.getRowIdentity)(row, rowKey) : (0, import_isEqual.default)(item, row)) {
239
- const treeNode = treeNodes.current.find((item1) => item1.id === (0, import_util.getRowIdentity)(item, rowKey));
240
- Object.assign(treeNode, {
241
- noLazyChildren: result.length === 0,
242
- expanded: true,
243
- [treeProps.children]: result,
244
- [treeProps.hasChildren]: result.length > 0
292
+
293
+ // 添加新增的子节点
294
+ addTreeChildren(initialData.current, getRowIdentity(row, rowKey), result, treeProps, rowKey);
295
+ addTreeChildren(sortedData.current, getRowIdentity(row, rowKey), result, treeProps, rowKey);
296
+ var _data = data.map(function (item) {
297
+ if (rowKey ? getRowIdentity(item, rowKey) === getRowIdentity(row, rowKey) : isEqual(item, row)) {
298
+ var treeNode = treeNodes.current.find(function (item1) {
299
+ return item1.id === getRowIdentity(item, rowKey);
245
300
  });
246
- return { ...row, ...(0, import_omit.default)(treeNode, "id") };
301
+ Object.assign(treeNode, _defineProperty(_defineProperty({
302
+ noLazyChildren: result.length === 0,
303
+ expanded: true
304
+ }, treeProps.children, result), treeProps.hasChildren, result.length > 0));
305
+ return _objectSpread(_objectSpread({}, row), omit(treeNode, 'id'));
247
306
  }
248
307
  return item;
249
308
  });
@@ -251,147 +310,229 @@ var TableCell = (p) => {
251
310
  _data = _data.flat();
252
311
  setData(_data);
253
312
  });
313
+ // .catch(() => {
314
+ // setLoading(false);
315
+ // setData([
316
+ // ...data.slice(0, rowIndex),
317
+ // { ...row, noLazyChildren: true, expanded: true, [treeProps.children]: [], [treeProps.hasChildren]: false },
318
+ // ...data.slice(rowIndex + 1),
319
+ // ]);
320
+ // });
254
321
  } else {
322
+ var _tdRef$current$parent;
255
323
  startRowIndex.current = rowIndex + 1;
256
- nextRow.current = (_b = tdRef.current.parentNode) == null ? void 0 : _b.nextSibling;
324
+ nextRow.current = (_tdRef$current$parent = tdRef.current.parentNode) === null || _tdRef$current$parent === void 0 ? void 0 : _tdRef$current$parent.nextSibling;
257
325
  if (nextRow.current) {
258
- const nextId = (0, import_util.getRowIdentity)(data[rowIndex], rowKey);
259
- treeNodes.current = treeNodes.current.map((item) => item.id === nextId ? { ...item, expanded: willExpand } : item);
326
+ var nextId = getRowIdentity(data[rowIndex], rowKey);
327
+ treeNodes.current = treeNodes.current.map(function (item) {
328
+ return item.id === nextId ? _objectSpread(_objectSpread({}, item), {}, {
329
+ expanded: willExpand
330
+ }) : item;
331
+ });
260
332
  expandOrCollapseTreeRow(column.level + 1, willExpand);
261
- setData((0, import_treeUtil.mergeTreeData)(sortedData.current, treeNodes.current, treeProps, rowKey));
333
+ setData(mergeTreeData(sortedData.current, treeNodes.current, treeProps, rowKey));
262
334
  }
263
335
  }
264
- onExpandChange == null ? void 0 : onExpandChange(row, willExpand);
336
+
337
+ // if (willExpand) {
338
+ // addClass(expandCell.current, em('expand-icon', 'expanded'));
339
+ // } else {
340
+ // removeClass(expandCell.current, em('expand-icon', 'expanded'));
341
+ // }
342
+ onExpandChange === null || onExpandChange === void 0 || onExpandChange(row, willExpand);
265
343
  }
266
344
  }, [rowIndex, em, lazy, row, onExpandChange, rowKey, load, treeNodes, initialData, treeProps, sortedData, data, setData, expandOrCollapseTreeRow, column.level]);
267
- (0, import_hooks.useUpdateEffect)(() => {
345
+
346
+ // 展开内容区域变化时进行更新
347
+ useUpdateEffect(function () {
268
348
  if (rootRef.current && trRef.current && expand.current === true) {
269
- rootRef.current.render(
270
- (0, import_react_dom.createPortal)(
271
- /* @__PURE__ */ import_react.default.createElement("td", { colSpan: flattenColumns.length, className: (0, import_classnames.default)(e`cell`, e`expanded-cell`) }, (column == null ? void 0 : column.renderCell) && column.renderCell({ row, column, $index: rowIndex })),
272
- trRef.current
273
- )
274
- );
349
+ rootRef.current.render( /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("td", {
350
+ colSpan: flattenColumns.length,
351
+ className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["cell"]))), e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["expanded-cell"]))))
352
+ }, (column === null || column === void 0 ? void 0 : column.renderCell) && column.renderCell({
353
+ row: row,
354
+ column: column,
355
+ $index: rowIndex
356
+ })), trRef.current));
275
357
  }
276
358
  });
277
- (0, import_react.useEffect)(() => {
278
- if (column.type === "selection") {
359
+ useEffect(function () {
360
+ if (column.type === 'selection') {
279
361
  if (disabled) {
280
362
  disabledRows.current.push(row);
281
363
  } else {
282
- disabledRows.current = disabledRows.current.filter((item) => rowKey ? (0, import_util.getRowIdentity)(item, rowKey) !== (0, import_util.getRowIdentity)(row, rowKey) : !(0, import_isEqual.default)(item, row));
283
- disabledRows.current = (0, import_uniqWith.default)(
284
- disabledRows.current,
285
- rowKey ? (item1, item2) => (0, import_util.getRowIdentity)(item1, rowKey) === (0, import_util.getRowIdentity)(item2, rowKey) : import_isEqual.default
286
- );
364
+ disabledRows.current = disabledRows.current.filter(function (item) {
365
+ return rowKey ? getRowIdentity(item, rowKey) !== getRowIdentity(row, rowKey) : !isEqual(item, row);
366
+ });
367
+ // 去重
368
+ disabledRows.current = uniqWith(disabledRows.current, rowKey ? function (item1, item2) {
369
+ return getRowIdentity(item1, rowKey) === getRowIdentity(item2, rowKey);
370
+ } : isEqual);
287
371
  }
288
372
  }
373
+ // eslint-disable-next-line react-hooks/exhaustive-deps
289
374
  }, [disabled, row]);
290
- const handleExpand = (0, import_react.useCallback)(() => {
291
- var _a, _b, _c, _d, _e;
375
+
376
+ /** 展开/折叠行 */
377
+ var handleExpand = useCallback(function () {
292
378
  if (expandCell.current) {
293
379
  if (expand.current === false) {
294
- expandable(row).then((canExpand) => {
295
- var _a2, _b2;
380
+ expandable(row).then(function (canExpand) {
296
381
  if (canExpand) {
297
- (0, import_dom_lib.addClass)(expandCell.current, em("expand-icon", "expanded"));
382
+ var _tdRef$current2;
383
+ addClass(expandCell.current, em('expand-icon', 'expanded'));
298
384
  expand.current = true;
299
- if ((_b2 = (_a2 = tdRef.current) == null ? void 0 : _a2.parentNode) == null ? void 0 : _b2.parentNode) {
300
- const tr = document.createElement("tr");
301
- (0, import_util.insertAfter)(tr, tdRef.current.parentNode);
385
+ if ((_tdRef$current2 = tdRef.current) !== null && _tdRef$current2 !== void 0 && (_tdRef$current2 = _tdRef$current2.parentNode) !== null && _tdRef$current2 !== void 0 && _tdRef$current2.parentNode) {
386
+ var tr = document.createElement('tr');
387
+ insertAfter(tr, tdRef.current.parentNode);
302
388
  trRef.current = tr;
303
- rootRef.current = (0, import_client.createRoot)(tr);
304
- rootRef.current.render(
305
- (0, import_react_dom.createPortal)(
306
- /* @__PURE__ */ import_react.default.createElement("td", { colSpan: flattenColumns.length, className: (0, import_classnames.default)(e`cell`, e`expanded-cell`) }, (column == null ? void 0 : column.renderCell) && column.renderCell({ row, column, $index: rowIndex })),
307
- tr
308
- )
309
- );
310
- onExpandChange == null ? void 0 : onExpandChange(row, true);
389
+ rootRef.current = createRoot(tr);
390
+ rootRef.current.render( /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("td", {
391
+ colSpan: flattenColumns.length,
392
+ className: classNames(e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["cell"]))), e(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["expanded-cell"]))))
393
+ }, (column === null || column === void 0 ? void 0 : column.renderCell) && column.renderCell({
394
+ row: row,
395
+ column: column,
396
+ $index: rowIndex
397
+ })), tr));
398
+ onExpandChange === null || onExpandChange === void 0 || onExpandChange(row, true);
311
399
  }
312
400
  } else {
313
401
  if (hideIconOnNotExpand) {
314
- expandCell.current.style.display = "none";
402
+ expandCell.current.style.display = 'none';
315
403
  }
316
404
  }
317
405
  });
318
406
  } else {
319
- (0, import_dom_lib.removeClass)(expandCell.current, em("expand-icon", "expanded"));
407
+ var _tdRef$current3;
408
+ removeClass(expandCell.current, em('expand-icon', 'expanded'));
320
409
  expand.current = false;
321
- if (((_b = (_a = tdRef.current) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.parentNode) && trRef.current) {
322
- (_c = rootRef.current) == null ? void 0 : _c.unmount();
323
- (_e = (_d = tdRef.current) == null ? void 0 : _d.parentNode) == null ? void 0 : _e.parentNode.removeChild(trRef.current);
324
- onExpandChange == null ? void 0 : onExpandChange(row, false);
410
+ if ((_tdRef$current3 = tdRef.current) !== null && _tdRef$current3 !== void 0 && (_tdRef$current3 = _tdRef$current3.parentNode) !== null && _tdRef$current3 !== void 0 && _tdRef$current3.parentNode && trRef.current) {
411
+ var _rootRef$current, _tdRef$current4;
412
+ (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 || _rootRef$current.unmount();
413
+ (_tdRef$current4 = tdRef.current) === null || _tdRef$current4 === void 0 || (_tdRef$current4 = _tdRef$current4.parentNode) === null || _tdRef$current4 === void 0 || _tdRef$current4.parentNode.removeChild(trRef.current);
414
+ onExpandChange === null || onExpandChange === void 0 || onExpandChange(row, false);
325
415
  }
326
416
  }
327
417
  }
328
418
  }, [column, e, em, expandable, flattenColumns.length, hideIconOnNotExpand, onExpandChange, row, rowIndex]);
329
- const treeSuffix = (0, import_react.useMemo)(() => {
330
- return isTreeExpandCell(column.id) && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, column.level > 0 && /* @__PURE__ */ import_react.default.createElement("span", { className: e`indent`, style: { paddingLeft: indent * column.level } }), ((0, import_Util.isNotEmpty)(row[treeProps.children]) || row[treeProps.hasChildren]) && /* @__PURE__ */ import_react.default.createElement("div", { ref: expandCell, className: (0, import_classnames.default)(e`expand-icon`, { [em("expand-icon", "expanded")]: row == null ? void 0 : row.expanded }), onClick: handleExpandTreeCell }, loading ? /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { name: "loader", prefix: "far", spin: true }) : /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { name: "angle-right" })), (0, import_Util.isEmpty)(row[treeProps.children]) && !row[treeProps.hasChildren] && /* @__PURE__ */ import_react.default.createElement("span", { className: e`placeholder` }));
419
+
420
+ /** */
421
+ var treeSuffix = useMemo(function () {
422
+ return isTreeExpandCell(column.id) && /*#__PURE__*/React.createElement(React.Fragment, null, column.level > 0 && /*#__PURE__*/React.createElement("span", {
423
+ className: e(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["indent"]))),
424
+ style: {
425
+ paddingLeft: indent * column.level
426
+ }
427
+ }), (isNotEmpty(row[treeProps.children]) || row[treeProps.hasChildren]) && /*#__PURE__*/React.createElement("div", {
428
+ ref: expandCell,
429
+ className: classNames(e(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["expand-icon"]))), _defineProperty({}, em('expand-icon', 'expanded'), row === null || row === void 0 ? void 0 : row.expanded)),
430
+ onClick: handleExpandTreeCell
431
+ }, loading ? /*#__PURE__*/React.createElement(Icon, {
432
+ name: "loader",
433
+ prefix: "far",
434
+ spin: true
435
+ }) : /*#__PURE__*/React.createElement(Icon, {
436
+ name: "angle-right"
437
+ })), isEmpty(row[treeProps.children]) && !row[treeProps.hasChildren] && /*#__PURE__*/React.createElement("span", {
438
+ className: e(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["placeholder"])))
439
+ }));
331
440
  }, [column.id, column.level, e, em, handleExpandTreeCell, indent, isTreeExpandCell, loading, row, treeProps.children, treeProps.hasChildren]);
332
- return /* @__PURE__ */ import_react.default.createElement(
333
- "td",
334
- {
335
- ref: tdRef,
336
- className: (0, import_classnames.default)(
337
- column.id,
338
- e`cell`,
339
- { [bm("column", "selection")]: column.type === "selection" },
340
- column.className,
341
- is(column.align),
342
- className,
343
- typeof cellClassName === "function" ? cellClassName == null ? void 0 : cellClassName({ row, column, rowIndex, columnIndex }) : cellClassName
344
- ),
345
- style: { ...style, ...typeof cellStyle === "function" ? cellStyle == null ? void 0 : cellStyle({ row, column, rowIndex, columnIndex }) : cellStyle },
346
- rowSpan,
347
- colSpan,
348
- onMouseEnter: (event) => handleCellMouseEnter(row, column, event),
349
- onMouseLeave: (event) => onCellMouseLeave == null ? void 0 : onCellMouseLeave(row, column, event.currentTarget, event),
350
- onContextMenu: (event) => {
351
- onCellContextmenu == null ? void 0 : onCellContextmenu(row, column, event.currentTarget, event);
352
- onRowContextmenu == null ? void 0 : onRowContextmenu(row, column, event);
353
- },
354
- onClick: (event) => {
355
- event.stopPropagation();
356
- if (highlightCurrentRow) {
357
- dispatch((0, import_useSelection.activeRow)(row));
358
- if (!(0, import_isEqual.default)(state.currentRow, row)) {
359
- onCurrentChange == null ? void 0 : onCurrentChange(row, state.currentRow);
360
- }
441
+
442
+ /** 拖拽手柄 */
443
+ // const DragHandle = useMemo(() => {
444
+ // return SortableHandle(() => (
445
+ // <div style={{ cursor: 'grab' }}>
446
+ // <Icon name="grip-vertical" prefix="fas" />
447
+ // {/* <Icon name="grip-dots-vertical" prefix="fas" /> */}
448
+ // </div>
449
+ // ));
450
+ // }, []);
451
+
452
+ return /*#__PURE__*/React.createElement("td", {
453
+ ref: tdRef,
454
+ className: classNames(column.id, e(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["cell"]))), _defineProperty({}, bm('column', 'selection'), column.type === 'selection'), column.className, is(column.align), className, typeof cellClassName === 'function' ? cellClassName === null || cellClassName === void 0 ? void 0 : cellClassName({
455
+ row: row,
456
+ column: column,
457
+ rowIndex: rowIndex,
458
+ columnIndex: columnIndex
459
+ }) : cellClassName),
460
+ style: _objectSpread(_objectSpread({}, style), typeof cellStyle === 'function' ? cellStyle === null || cellStyle === void 0 ? void 0 : cellStyle({
461
+ row: row,
462
+ column: column,
463
+ rowIndex: rowIndex,
464
+ columnIndex: columnIndex
465
+ }) : cellStyle),
466
+ rowSpan: rowSpan,
467
+ colSpan: colSpan,
468
+ onMouseEnter: function onMouseEnter(event) {
469
+ return handleCellMouseEnter(row, column, event);
470
+ },
471
+ onMouseLeave: function onMouseLeave(event) {
472
+ return onCellMouseLeave === null || onCellMouseLeave === void 0 ? void 0 : onCellMouseLeave(row, column, event.currentTarget, event);
473
+ },
474
+ onContextMenu: function onContextMenu(event) {
475
+ onCellContextmenu === null || onCellContextmenu === void 0 || onCellContextmenu(row, column, event.currentTarget, event);
476
+ onRowContextmenu === null || onRowContextmenu === void 0 || onRowContextmenu(row, column, event);
477
+ },
478
+ onClick: function onClick(event) {
479
+ event.stopPropagation();
480
+ if (highlightCurrentRow) {
481
+ dispatch(activeRow(row));
482
+ if (!isEqual(state.currentRow, row)) {
483
+ onCurrentChange === null || onCurrentChange === void 0 || onCurrentChange(row, state.currentRow);
361
484
  }
362
- onCellClick == null ? void 0 : onCellClick(row, column, event.currentTarget, event);
363
- onRowClick == null ? void 0 : onRowClick(row, column, event);
364
- },
365
- onDoubleClick: (event) => {
366
- onCellDblclick == null ? void 0 : onCellDblclick(row, column, event.currentTarget, event);
367
- onRowDblclick == null ? void 0 : onRowDblclick(row, column, event);
368
485
  }
486
+ onCellClick === null || onCellClick === void 0 || onCellClick(row, column, event.currentTarget, event);
487
+ onRowClick === null || onRowClick === void 0 || onRowClick(row, column, event);
369
488
  },
370
- /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(e`cell-content`, { [b("tooltip", false)]: column.showOverflowTooltip }), style: getCellStyle(column) }, (() => {
371
- if (column.type === "index") {
372
- return /* @__PURE__ */ import_react.default.createElement("div", { className: e`cell-index` }, rowIndex);
373
- } else if (column.type === "expand") {
374
- return /* @__PURE__ */ import_react.default.createElement("div", { ref: expandCell, className: e`expand-icon`, onClick: handleExpand }, /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { name: "angle-right" }));
375
- } else if (column.type === "drag") {
376
- } else if (column.type === "selection") {
377
- return /* @__PURE__ */ import_react.default.createElement(
378
- import_Checkbox.Checkbox,
379
- {
380
- onClick: (event) => event.stopPropagation(),
381
- checked: !disabled && (0, import_some.default)(state.selection || [], (item) => rowKey ? (0, import_util.getRowIdentity)(item, rowKey) === (0, import_util.getRowIdentity)(row, rowKey) : (0, import_isEqual.default)(item, row)),
382
- disabled,
383
- onChange: (checked) => handleCheck(checked, row)
384
- }
385
- );
386
- } else if (column.renderCell) {
387
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, treeSuffix, column.renderCell({ row, column, $index: rowIndex }));
388
- } else if (column.formatter) {
389
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, treeSuffix, column.formatter(row, column, column.name || column.prop ? row[column.name || column.prop] : "", rowIndex));
390
- } else {
391
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, treeSuffix, column.name || column.prop ? row[column.name || column.prop] : "");
392
- }
393
- })())
394
- );
489
+ onDoubleClick: function onDoubleClick(event) {
490
+ onCellDblclick === null || onCellDblclick === void 0 || onCellDblclick(row, column, event.currentTarget, event);
491
+ onRowDblclick === null || onRowDblclick === void 0 || onRowDblclick(row, column, event);
492
+ }
493
+ }, /*#__PURE__*/React.createElement("div", {
494
+ className: classNames(e(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["cell-content"]))), _defineProperty({}, b('tooltip', false), column.showOverflowTooltip)),
495
+ style: getCellStyle(column)
496
+ }, function () {
497
+ if (column.type === 'index') {
498
+ return /*#__PURE__*/React.createElement("div", {
499
+ className: e(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["cell-index"])))
500
+ }, rowIndex);
501
+ } else if (column.type === 'expand') {
502
+ return /*#__PURE__*/React.createElement("div", {
503
+ ref: expandCell,
504
+ className: e(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["expand-icon"]))),
505
+ onClick: handleExpand
506
+ }, /*#__PURE__*/React.createElement(Icon, {
507
+ name: "angle-right"
508
+ }));
509
+ } else if (column.type === 'drag') {
510
+ // return <DragHandle />;
511
+ } else if (column.type === 'selection') {
512
+ return /*#__PURE__*/React.createElement(Checkbox, {
513
+ onClick: function onClick(event) {
514
+ return event.stopPropagation();
515
+ },
516
+ checked: !disabled && some(state.selection || [], function (item) {
517
+ return rowKey ? getRowIdentity(item, rowKey) === getRowIdentity(row, rowKey) : isEqual(item, row);
518
+ }),
519
+ disabled: disabled,
520
+ onChange: function onChange(checked) {
521
+ return handleCheck(checked, row);
522
+ }
523
+ });
524
+ } else if (column.renderCell) {
525
+ return /*#__PURE__*/React.createElement(React.Fragment, null, treeSuffix, column.renderCell({
526
+ row: row,
527
+ column: column,
528
+ $index: rowIndex
529
+ }));
530
+ } else if (column.formatter) {
531
+ return /*#__PURE__*/React.createElement(React.Fragment, null, treeSuffix, column.formatter(row, column, column.name || column.prop ? row[column.name || column.prop] : '', rowIndex));
532
+ } else {
533
+ return /*#__PURE__*/React.createElement(React.Fragment, null, treeSuffix, column.name || column.prop ? row[column.name || column.prop] : '');
534
+ }
535
+ }()));
395
536
  };
396
- TableCell.displayName = "TableCell";
397
- var TableCell_default = TableCell;
537
+ TableCell.displayName = 'TableCell';
538
+ export default TableCell;