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

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