@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,166 +1,205 @@
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;
3
+ var _excluded = ["tag", "className", "style", "wrapClass", "wrapStyle", "viewClass", "viewStyle", "native", "height", "maxHeight", "minSize", "always", "onScroll", "showHorizontal", "showVertical"];
4
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
5
+ 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; }
6
+ 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; }
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ 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); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ 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."); }
12
+ 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); }
13
+ 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; }
14
+ 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; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
17
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
+ import classNames from 'classnames';
19
+ import isNumber from 'lodash/isNumber';
20
+ import isObject from 'lodash/isObject';
21
+ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
22
+ import { mergeDefaultProps } from "../Util";
23
+ import { addResizeListener, removeResizeListener } from "../Util/resize-event";
24
+ import { partitionHTMLProps, useClassNames } from "../hooks";
25
+ import Thumb from "./Thumb";
26
+ var Scrollbar = /*#__PURE__*/forwardRef(function (props, ref) {
27
+ props = mergeDefaultProps({
28
+ native: false,
29
+ tag: 'div',
30
+ always: false,
31
+ minSize: 20,
32
+ height: '100%',
33
+ showHorizontal: true,
34
+ showVertical: true
35
+ }, props);
36
+ var _props = props,
37
+ tag = _props.tag,
38
+ className = _props.className,
39
+ style = _props.style,
40
+ wrapClass = _props.wrapClass,
41
+ wrapStyle = _props.wrapStyle,
42
+ viewClass = _props.viewClass,
43
+ viewStyle = _props.viewStyle,
44
+ native = _props.native,
45
+ height = _props.height,
46
+ maxHeight = _props.maxHeight,
47
+ minSize = _props.minSize,
48
+ always = _props.always,
49
+ onScroll = _props.onScroll,
50
+ showHorizontal = _props.showHorizontal,
51
+ showVertical = _props.showVertical,
52
+ rest = _objectWithoutProperties(_props, _excluded);
53
+ var _useClassNames = useClassNames('scrollbar'),
54
+ b = _useClassNames.b,
55
+ e = _useClassNames.e,
56
+ em = _useClassNames.em;
57
+ var _partitionHTMLProps = partitionHTMLProps(rest),
58
+ _partitionHTMLProps2 = _slicedToArray(_partitionHTMLProps, 1),
59
+ htmlInputProps = _partitionHTMLProps2[0];
60
+ var containerRef = useRef(null);
61
+ var wrapRef = useRef(null);
62
+ var resizeRef = useRef(null);
63
+ var _useState = useState('0'),
64
+ _useState2 = _slicedToArray(_useState, 2),
65
+ sizeWidth = _useState2[0],
66
+ setSizeWidth = _useState2[1];
67
+ var _useState3 = useState('0'),
68
+ _useState4 = _slicedToArray(_useState3, 2),
69
+ sizeHeight = _useState4[0],
70
+ setSizeHeight = _useState4[1];
71
+ var _useState5 = useState(0),
72
+ _useState6 = _slicedToArray(_useState5, 2),
73
+ moveX = _useState6[0],
74
+ setMoveX = _useState6[1];
75
+ var _useState7 = useState(0),
76
+ _useState8 = _slicedToArray(_useState7, 2),
77
+ moveY = _useState8[0],
78
+ setMoveY = _useState8[1];
79
+ var _useState9 = useState(1),
80
+ _useState10 = _slicedToArray(_useState9, 2),
81
+ ratioX = _useState10[0],
82
+ setRatioX = _useState10[1];
83
+ var _useState11 = useState(1),
84
+ _useState12 = _slicedToArray(_useState11, 2),
85
+ ratioY = _useState12[0],
86
+ setRatioY = _useState12[1];
87
+ var GAP = 4; // top 2 + bottom 2 of bar instance
28
88
 
29
- // src/Scrollbar/Scrollbar.tsx
30
- var Scrollbar_exports = {};
31
- __export(Scrollbar_exports, {
32
- default: () => Scrollbar_default
33
- });
34
- module.exports = __toCommonJS(Scrollbar_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_isNumber = __toESM(require("lodash/isNumber"));
37
- var import_isObject = __toESM(require("lodash/isObject"));
38
- var import_react = __toESM(require("react"));
39
- var import_Util = require("../Util");
40
- var import_resize_event = require("../Util/resize-event");
41
- var import_hooks = require("../hooks");
42
- var import_Thumb = __toESM(require("./Thumb"));
43
- var Scrollbar = (0, import_react.forwardRef)((props, ref) => {
44
- props = (0, import_Util.mergeDefaultProps)(
45
- {
46
- native: false,
47
- tag: "div",
48
- always: false,
49
- minSize: 20,
50
- height: "100%",
51
- showHorizontal: true,
52
- showVertical: true
53
- },
54
- props
55
- );
56
- const { tag, className, style, wrapClass, wrapStyle, viewClass, viewStyle, native, height, maxHeight, minSize, always, onScroll, showHorizontal, showVertical, ...rest } = props;
57
- const { b, e, em } = (0, import_hooks.useClassNames)("scrollbar");
58
- const [htmlInputProps] = (0, import_hooks.partitionHTMLProps)(rest);
59
- const containerRef = (0, import_react.useRef)();
60
- const wrapRef = (0, import_react.useRef)();
61
- const resizeRef = (0, import_react.useRef)();
62
- const [sizeWidth, setSizeWidth] = (0, import_react.useState)("0");
63
- const [sizeHeight, setSizeHeight] = (0, import_react.useState)("0");
64
- const [moveX, setMoveX] = (0, import_react.useState)(0);
65
- const [moveY, setMoveY] = (0, import_react.useState)(0);
66
- const [ratioX, setRatioX] = (0, import_react.useState)(1);
67
- const [ratioY, setRatioY] = (0, import_react.useState)(1);
68
- const GAP = 4;
69
- const handleScroll = (0, import_react.useCallback)(
70
- (event) => {
71
- if (wrapRef.current) {
72
- const offsetHeight = wrapRef.current.offsetHeight - GAP;
73
- const offsetWidth = wrapRef.current.offsetWidth - GAP;
74
- setMoveX(wrapRef.current.scrollLeft * 100 / offsetWidth * ratioX);
75
- setMoveY(wrapRef.current.scrollTop * 100 / offsetHeight * ratioY);
76
- onScroll == null ? void 0 : onScroll({
77
- e: event,
78
- scrollTop: wrapRef.current.scrollTop,
79
- scrollLeft: wrapRef.current.scrollLeft
80
- });
81
- }
82
- },
83
- [ratioX, ratioY, onScroll]
84
- );
85
- const scrollTo = (0, import_react.useCallback)((options, yCoord) => {
89
+ var handleScroll = useCallback(function (event) {
90
+ if (wrapRef.current) {
91
+ var offsetHeight = wrapRef.current.offsetHeight - GAP;
92
+ var offsetWidth = wrapRef.current.offsetWidth - GAP;
93
+ setMoveX(wrapRef.current.scrollLeft * 100 / offsetWidth * ratioX);
94
+ setMoveY(wrapRef.current.scrollTop * 100 / offsetHeight * ratioY);
95
+ onScroll === null || onScroll === void 0 || onScroll({
96
+ e: event,
97
+ scrollTop: wrapRef.current.scrollTop,
98
+ scrollLeft: wrapRef.current.scrollLeft
99
+ });
100
+ }
101
+ }, [ratioX, ratioY, onScroll]);
102
+
103
+ /** 滚动到一组特定坐标 */
104
+ var scrollTo = useCallback(function (options, yCoord) {
86
105
  if (wrapRef.current) {
87
- if ((0, import_isObject.default)(options)) {
106
+ if (isObject(options)) {
88
107
  wrapRef.current.scrollTo(options);
89
- } else if ((0, import_isNumber.default)(options) && (0, import_isNumber.default)(yCoord)) {
108
+ } else if (isNumber(options) && isNumber(yCoord)) {
90
109
  wrapRef.current.scrollTo(options, yCoord);
91
110
  }
92
111
  }
93
112
  }, []);
94
- const setScrollTop = (0, import_react.useCallback)((value) => {
113
+ var setScrollTop = useCallback(function (value) {
95
114
  if (!value) {
96
115
  return;
97
116
  }
98
117
  wrapRef.current.scrollTop = value;
99
118
  }, []);
100
- const setScrollLeft = (0, import_react.useCallback)((value) => {
119
+ var setScrollLeft = useCallback(function (value) {
101
120
  if (!value) {
102
121
  return;
103
122
  }
104
123
  wrapRef.current.scrollLeft = value;
105
124
  }, []);
106
- const update = (0, import_react.useCallback)(() => {
125
+ var update = useCallback(function () {
107
126
  if (!wrapRef.current) {
108
127
  return;
109
128
  }
110
- const offsetHeight = wrapRef.current.offsetHeight - GAP;
111
- const offsetWidth = wrapRef.current.offsetWidth - GAP;
112
- const originalHeight = offsetHeight ** 2 / wrapRef.current.scrollHeight;
113
- const originalWidth = offsetWidth ** 2 / wrapRef.current.scrollWidth;
114
- const _height = Math.max(originalHeight, minSize);
115
- const width = Math.max(originalWidth, minSize);
129
+ var offsetHeight = wrapRef.current.offsetHeight - GAP;
130
+ var offsetWidth = wrapRef.current.offsetWidth - GAP;
131
+ var originalHeight = Math.pow(offsetHeight, 2) / wrapRef.current.scrollHeight;
132
+ var originalWidth = Math.pow(offsetWidth, 2) / wrapRef.current.scrollWidth;
133
+ var _height = Math.max(originalHeight, minSize);
134
+ var width = Math.max(originalWidth, minSize);
116
135
  setRatioY(originalHeight / (offsetHeight - originalHeight) / (_height / (offsetHeight - _height)));
117
136
  setRatioX(originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width)));
118
- setSizeHeight(_height + GAP < offsetHeight ? _height + "px" : "");
119
- setSizeWidth(width + GAP < offsetWidth ? width + "px" : "");
137
+ setSizeHeight(_height + GAP < offsetHeight ? _height + 'px' : '');
138
+ setSizeWidth(width + GAP < offsetWidth ? width + 'px' : '');
120
139
  }, [minSize]);
121
- (0, import_react.useImperativeHandle)(ref, () => ({
122
- ref: containerRef,
123
- scrollTo,
124
- setScrollLeft,
125
- setScrollTop,
126
- update,
127
- wrapRef,
128
- resizeRef
129
- }));
130
- (0, import_react.useEffect)(() => {
140
+ useImperativeHandle(ref, function () {
141
+ return {
142
+ ref: containerRef,
143
+ scrollTo: scrollTo,
144
+ setScrollLeft: setScrollLeft,
145
+ setScrollTop: setScrollTop,
146
+ update: update,
147
+ wrapRef: wrapRef,
148
+ resizeRef: resizeRef
149
+ };
150
+ });
151
+ useEffect(function () {
131
152
  if (!props.native) {
132
153
  update();
133
154
  }
134
155
  if (!props.noresize) {
135
- (0, import_resize_event.addResizeListener)(resizeRef.current, update);
136
- addEventListener("resize", update);
156
+ addResizeListener(resizeRef.current, update);
157
+ addEventListener('resize', update);
137
158
  }
138
- return () => {
159
+ return function () {
139
160
  if (!props.noresize) {
140
- (0, import_resize_event.removeResizeListener)(resizeRef.current, update);
141
- removeEventListener("resize", update);
161
+ // eslint-disable-next-line react-hooks/exhaustive-deps
162
+ removeResizeListener(resizeRef.current, update);
163
+ removeEventListener('resize', update);
142
164
  }
143
165
  };
144
166
  }, [props.native, props.noresize, update]);
145
- return /* @__PURE__ */ import_react.default.createElement("div", { ref: containerRef, className: (0, import_classnames.default)(b(), className), style: { ...style, height } }, /* @__PURE__ */ import_react.default.createElement(
146
- "div",
147
- {
148
- ref: wrapRef,
149
- className: (0, import_classnames.default)(wrapClass, e`wrap`, { [em("wrap", "hidden-default")]: !native }),
150
- style: { ...wrapStyle, maxHeight },
151
- onScroll: (event) => handleScroll(event)
152
- },
153
- import_react.default.createElement(
154
- tag,
155
- {
156
- ref: resizeRef,
157
- className: (0, import_classnames.default)(viewClass, e`view`),
158
- style: viewStyle,
159
- ...htmlInputProps
160
- },
161
- props.children
162
- )
163
- ), !native ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showHorizontal && /* @__PURE__ */ import_react.default.createElement(import_Thumb.default, { move: moveX, ratio: ratioX, size: sizeWidth, vertical: false, always, scrollbar: containerRef, wrapRef }), showVertical && /* @__PURE__ */ import_react.default.createElement(import_Thumb.default, { move: moveY, ratio: ratioY, size: sizeHeight, vertical: true, always, scrollbar: containerRef, wrapRef })) : null);
167
+ return /*#__PURE__*/React.createElement("div", {
168
+ ref: containerRef,
169
+ className: classNames(b(), className),
170
+ style: _objectSpread(_objectSpread({}, style), {}, {
171
+ height: height
172
+ })
173
+ }, /*#__PURE__*/React.createElement("div", {
174
+ ref: wrapRef,
175
+ className: classNames(wrapClass, e(_templateObject || (_templateObject = _taggedTemplateLiteral(["wrap"]))), _defineProperty({}, em('wrap', 'hidden-default'), !native)),
176
+ style: _objectSpread(_objectSpread({}, wrapStyle), {}, {
177
+ maxHeight: maxHeight
178
+ }),
179
+ onScroll: function onScroll(event) {
180
+ return handleScroll(event);
181
+ }
182
+ }, /*#__PURE__*/React.createElement(tag, _objectSpread({
183
+ ref: resizeRef,
184
+ className: classNames(viewClass, e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["view"])))),
185
+ style: viewStyle
186
+ }, htmlInputProps), props.children)), !native ? /*#__PURE__*/React.createElement(React.Fragment, null, showHorizontal && /*#__PURE__*/React.createElement(Thumb, {
187
+ move: moveX,
188
+ ratio: ratioX,
189
+ size: sizeWidth,
190
+ vertical: false,
191
+ always: always,
192
+ scrollbar: containerRef,
193
+ wrapRef: wrapRef
194
+ }), showVertical && /*#__PURE__*/React.createElement(Thumb, {
195
+ move: moveY,
196
+ ratio: ratioY,
197
+ size: sizeHeight,
198
+ vertical: true,
199
+ always: always,
200
+ scrollbar: containerRef,
201
+ wrapRef: wrapRef
202
+ })) : null);
164
203
  });
165
- Scrollbar.displayName = "Scrollbar";
166
- var Scrollbar_default = Scrollbar;
204
+ Scrollbar.displayName = 'ElScrollbar';
205
+ export default Scrollbar;
@@ -1,155 +1,167 @@
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);
28
-
29
- // src/Scrollbar/Thumb.tsx
30
- var Thumb_exports = {};
31
- __export(Thumb_exports, {
32
- default: () => Thumb_default
33
- });
34
- module.exports = __toCommonJS(Thumb_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_dom_lib = require("dom-lib");
37
- var import_react = __toESM(require("react"));
38
- var import_Transition = require("../Transition");
39
- var import_hooks = require("../hooks");
40
- var import_util = require("./util");
41
- var Thumb = (props) => {
42
- const { always, vertical, scrollbar, wrapRef, size, move } = props;
43
- const { b, e, is } = (0, import_hooks.useClassNames)("scrollbar");
44
- const instanceRef = (0, import_react.useRef)();
45
- const thumbRef = (0, import_react.useRef)();
46
- const bar = (0, import_react.useMemo)(() => import_util.BAR_MAP[vertical ? "vertical" : "horizontal"], [vertical]);
47
- const barStore = (0, import_react.useRef)({});
48
- const cursorDown = (0, import_react.useRef)(null);
49
- const cursorLeave = (0, import_react.useRef)(null);
50
- const [visible, setVisible] = (0, import_react.useState)(false);
51
- let onselectstartStore = null;
52
- const offsetRatio = (0, import_react.useRef)(0);
53
- const getOffsetRatio = () => {
54
- offsetRatio.current = instanceRef.current[bar.offset] ** 2 / wrapRef.current[bar.scrollSize] / props.ratio / thumbRef.current[bar.offset];
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;
3
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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
+ import classNames from 'classnames';
14
+ import { addClass, off, on, removeClass } from 'dom-lib';
15
+ import React, { memo, useEffect, useMemo, useRef, useState } from 'react';
16
+ import Transition from "../Transition/Transition";
17
+ import { useClassNames } from "../hooks";
18
+ import { BAR_MAP, renderThumbStyle } from "./util";
19
+ var Thumb = function Thumb(props) {
20
+ var always = props.always,
21
+ vertical = props.vertical,
22
+ scrollbar = props.scrollbar,
23
+ wrapRef = props.wrapRef,
24
+ size = props.size,
25
+ move = props.move;
26
+ var _useClassNames = useClassNames('scrollbar'),
27
+ b = _useClassNames.b,
28
+ e = _useClassNames.e,
29
+ is = _useClassNames.is;
30
+ var instanceRef = useRef(null);
31
+ var thumbRef = useRef(null);
32
+ var bar = useMemo(function () {
33
+ return BAR_MAP[vertical ? 'vertical' : 'horizontal'];
34
+ }, [vertical]);
35
+ var barStore = useRef({});
36
+ var cursorDown = useRef(null);
37
+ var cursorLeave = useRef(null);
38
+ var _useState = useState(false),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ visible = _useState2[0],
41
+ setVisible = _useState2[1];
42
+ var onselectstartStore = null;
43
+ var offsetRatio = useRef(0);
44
+ var getOffsetRatio = function getOffsetRatio() {
45
+ offsetRatio.current = Math.pow(instanceRef.current[bar.offset], 2) / wrapRef.current[bar.scrollSize] / props.ratio / thumbRef.current[bar.offset];
55
46
  };
56
- const onEnter = () => {
47
+ var onEnter = function onEnter() {
48
+ // offsetRatioX = original width of thumb / current width of thumb / ratioX
49
+ // offsetRatioY = original height of thumb / current height of thumb / ratioY
50
+ // instance height = wrap height - GAP
57
51
  if (visible) {
58
52
  getOffsetRatio();
59
53
  }
60
54
  };
61
- const clickThumbHandler = (event) => {
55
+ var clickThumbHandler = function clickThumbHandler(event) {
56
+ // prevent click event of middle and right button
62
57
  event.stopPropagation();
63
58
  if (event.ctrlKey || [1, 2].includes(event.button)) {
64
59
  return;
65
60
  }
66
61
  window.getSelection().removeAllRanges();
67
62
  startDrag(event);
68
- Object.assign(barStore.current, {
69
- [bar.axis]: event.currentTarget[bar.offset] - (event[bar.client] - event.currentTarget.getBoundingClientRect()[bar.direction])
70
- });
63
+ Object.assign(barStore.current, _defineProperty({}, bar.axis, event.currentTarget[bar.offset] - (event[bar.client] - event.currentTarget.getBoundingClientRect()[bar.direction])));
71
64
  };
72
- const clickTrackHandler = (event) => {
73
- const offset = Math.abs(event.target.getBoundingClientRect()[bar.direction] - event[bar.client]);
74
- const thumbHalf = thumbRef.current[bar.offset] / 2;
65
+ var clickTrackHandler = function clickTrackHandler(event) {
66
+ var offset = Math.abs(event.target.getBoundingClientRect()[bar.direction] - event[bar.client]);
67
+ var thumbHalf = thumbRef.current[bar.offset] / 2;
75
68
  if (always) {
76
69
  getOffsetRatio();
77
70
  }
78
- const thumbPositionPercentage = (offset - thumbHalf) * 100 * offsetRatio.current / instanceRef.current[bar.offset];
71
+ var thumbPositionPercentage = (offset - thumbHalf) * 100 * offsetRatio.current / instanceRef.current[bar.offset];
79
72
  wrapRef.current[bar.scroll] = thumbPositionPercentage * wrapRef.current[bar.scrollSize] / 100;
80
73
  };
81
- const startDrag = (event) => {
74
+ var startDrag = function startDrag(event) {
82
75
  event.stopPropagation();
83
76
  cursorDown.current = true;
84
- (0, import_dom_lib.addClass)(thumbRef.current, is("hover"));
85
- (0, import_dom_lib.on)(document, "mousemove", mouseMoveDocumentHandler);
86
- (0, import_dom_lib.on)(document, "mouseup", mouseUpDocumentHandler);
77
+ addClass(thumbRef.current, is('hover'));
78
+ on(document, 'mousemove', mouseMoveDocumentHandler);
79
+ on(document, 'mouseup', mouseUpDocumentHandler);
87
80
  onselectstartStore = document.onselectstart;
88
- document.onselectstart = () => false;
81
+ document.onselectstart = function () {
82
+ return false;
83
+ };
89
84
  };
90
- const mouseMoveDocumentHandler = (event) => {
85
+ var mouseMoveDocumentHandler = function mouseMoveDocumentHandler(event) {
91
86
  if (cursorDown.current === false) {
92
87
  return;
93
88
  }
94
- const prevPage = barStore.current[bar.axis];
89
+ var prevPage = barStore.current[bar.axis];
95
90
  if (!prevPage) {
96
91
  return;
97
92
  }
98
93
  if (instanceRef.current && thumbRef.current && wrapRef.current) {
99
- const offset = instanceRef.current ? (instanceRef.current.getBoundingClientRect()[bar.direction] - event[bar.client]) * -1 : 0;
100
- const thumbClickPosition = thumbRef.current[bar.offset] - prevPage;
94
+ var offset = instanceRef.current ? (instanceRef.current.getBoundingClientRect()[bar.direction] - event[bar.client]) * -1 : 0;
95
+ var thumbClickPosition = thumbRef.current[bar.offset] - prevPage;
101
96
  if (always) {
102
97
  getOffsetRatio();
103
98
  }
104
- const thumbPositionPercentage = (offset - thumbClickPosition) * 100 * offsetRatio.current / instanceRef.current[bar.offset];
99
+ var thumbPositionPercentage = (offset - thumbClickPosition) * 100 * offsetRatio.current / instanceRef.current[bar.offset];
105
100
  wrapRef.current[bar.scroll] = thumbPositionPercentage * wrapRef.current[bar.scrollSize] / 100;
106
101
  }
107
102
  };
108
- const mouseUpDocumentHandler = () => {
103
+ var mouseUpDocumentHandler = function mouseUpDocumentHandler() {
109
104
  cursorDown.current = false;
110
- (0, import_dom_lib.removeClass)(thumbRef.current, is("hover"));
111
- Object.assign(barStore.current, {
112
- [bar.axis]: 0
113
- });
114
- (0, import_dom_lib.off)(document, "mousemove", mouseMoveDocumentHandler);
115
- (0, import_dom_lib.off)(document, "mouseup", mouseUpDocumentHandler);
105
+ removeClass(thumbRef.current, is('hover'));
106
+ Object.assign(barStore.current, _defineProperty({}, bar.axis, 0));
107
+ off(document, 'mousemove', mouseMoveDocumentHandler);
108
+ off(document, 'mouseup', mouseUpDocumentHandler);
116
109
  document.onselectstart = onselectstartStore;
117
110
  if (cursorLeave.current) {
118
111
  setVisible(false);
119
112
  }
120
113
  };
121
- const thumbStyle = (0, import_react.useMemo)(() => {
122
- return (0, import_util.renderThumbStyle)({
123
- size,
124
- move,
125
- bar
114
+ var thumbStyle = useMemo(function () {
115
+ return renderThumbStyle({
116
+ size: size,
117
+ move: move,
118
+ bar: bar
126
119
  });
127
120
  }, [size, move, bar]);
128
- const mouseMoveScrollbarHandler = () => {
121
+ var mouseMoveScrollbarHandler = function mouseMoveScrollbarHandler() {
129
122
  if (!always) {
130
123
  cursorLeave.current = false;
131
124
  setVisible(!!props.size);
132
125
  }
133
126
  };
134
- const mouseLeaveScrollbarHandler = () => {
127
+ var mouseLeaveScrollbarHandler = function mouseLeaveScrollbarHandler() {
135
128
  if (!always) {
136
129
  cursorLeave.current = true;
137
130
  setVisible(cursorDown.current);
138
131
  }
139
132
  };
140
- (0, import_react.useEffect)(() => {
133
+ useEffect(function () {
141
134
  if (scrollbar.current) {
142
- (0, import_dom_lib.on)(scrollbar.current, "mousemove", mouseMoveScrollbarHandler);
143
- (0, import_dom_lib.on)(scrollbar.current, "mouseleave", mouseLeaveScrollbarHandler);
135
+ on(scrollbar.current, 'mousemove', mouseMoveScrollbarHandler);
136
+ on(scrollbar.current, 'mouseleave', mouseLeaveScrollbarHandler);
144
137
  }
145
- return () => {
146
- (0, import_dom_lib.off)(document, "mouseup", mouseUpDocumentHandler);
138
+ return function () {
139
+ off(document, 'mouseup', mouseUpDocumentHandler);
147
140
  if (scrollbar.current) {
148
- (0, import_dom_lib.off)(scrollbar.current, "mousemove", mouseMoveScrollbarHandler);
149
- (0, import_dom_lib.off)(scrollbar.current, "mouseleave", mouseLeaveScrollbarHandler);
141
+ off(scrollbar.current, 'mousemove', mouseMoveScrollbarHandler);
142
+ // eslint-disable-next-line react-hooks/exhaustive-deps
143
+ off(scrollbar.current, 'mouseleave', mouseLeaveScrollbarHandler);
150
144
  }
151
145
  };
146
+ // eslint-disable-next-line react-hooks/exhaustive-deps
152
147
  }, []);
153
- return /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { nodeRef: instanceRef, name: b`fade`, visible: always || visible, transitionAppear: true, afterEnter: onEnter }, /* @__PURE__ */ import_react.default.createElement("div", { ref: instanceRef, className: (0, import_classnames.default)(e`bar`, is(bar.key, { always })), onMouseDown: clickTrackHandler }, /* @__PURE__ */ import_react.default.createElement("div", { ref: thumbRef, className: (0, import_classnames.default)(e`thumb`), style: thumbStyle, onMouseDown: clickThumbHandler })));
148
+ return /*#__PURE__*/React.createElement(Transition, {
149
+ nodeRef: instanceRef,
150
+ name: b(_templateObject || (_templateObject = _taggedTemplateLiteral(["fade"]))),
151
+ visible: always || visible,
152
+ transitionAppear: true,
153
+ afterEnter: onEnter
154
+ }, /*#__PURE__*/React.createElement("div", {
155
+ ref: instanceRef,
156
+ className: classNames(e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["bar"]))), is(bar.key, {
157
+ always: always
158
+ })),
159
+ onMouseDown: clickTrackHandler
160
+ }, /*#__PURE__*/React.createElement("div", {
161
+ ref: thumbRef,
162
+ className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["thumb"])))),
163
+ style: thumbStyle,
164
+ onMouseDown: clickThumbHandler
165
+ })));
154
166
  };
155
- var Thumb_default = (0, import_react.memo)(Thumb);
167
+ export default /*#__PURE__*/memo(Thumb);