@basic-ui/core 0.0.52 → 0.0.53

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 (408) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +105 -89
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Accordion/Accordion.d.ts +9 -9
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +6 -6
  7. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  8. package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
  9. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  10. package/build/esm/Accordion/AccordionItem.d.ts +9 -9
  11. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  12. package/build/esm/Accordion/context.d.ts +19 -19
  13. package/build/esm/Accordion/context.js.map +1 -1
  14. package/build/esm/Accordion/index.d.ts +4 -4
  15. package/build/esm/Accordion/index.js.map +1 -1
  16. package/build/esm/Accordion/scopeQuery.d.ts +2 -2
  17. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  18. package/build/esm/Carousel/Carousel.d.ts +9 -0
  19. package/build/esm/Carousel/Carousel.js +38 -0
  20. package/build/esm/Carousel/Carousel.js.map +1 -0
  21. package/build/esm/Carousel/Fader.d.ts +14 -0
  22. package/build/esm/Carousel/Fader.js +76 -0
  23. package/build/esm/Carousel/Fader.js.map +1 -0
  24. package/build/esm/Carousel/FaderItem.d.ts +5 -0
  25. package/build/esm/Carousel/FaderItem.js +16 -0
  26. package/build/esm/Carousel/FaderItem.js.map +1 -0
  27. package/build/esm/Carousel/Preloader.d.ts +7 -0
  28. package/build/esm/Carousel/Preloader.js +70 -0
  29. package/build/esm/Carousel/Preloader.js.map +1 -0
  30. package/build/esm/Carousel/Slider.d.ts +14 -0
  31. package/build/esm/Carousel/Slider.js +212 -0
  32. package/build/esm/Carousel/Slider.js.map +1 -0
  33. package/build/esm/Carousel/SliderItem.d.ts +12 -0
  34. package/build/esm/Carousel/SliderItem.js +41 -0
  35. package/build/esm/Carousel/SliderItem.js.map +1 -0
  36. package/build/esm/Carousel/context.d.ts +10 -0
  37. package/build/esm/Carousel/context.js +8 -0
  38. package/build/esm/Carousel/context.js.map +1 -0
  39. package/build/esm/Carousel/getSliderParams.d.ts +9 -0
  40. package/build/esm/Carousel/getSliderParams.js +85 -0
  41. package/build/esm/Carousel/getSliderParams.js.map +1 -0
  42. package/build/esm/Carousel/index.d.ts +7 -0
  43. package/build/esm/Carousel/index.js +8 -0
  44. package/build/esm/Carousel/index.js.map +1 -0
  45. package/build/esm/Carousel/useCarouselGestures.d.ts +30 -0
  46. package/build/esm/Carousel/useCarouselGestures.js +33 -0
  47. package/build/esm/Carousel/useCarouselGestures.js.map +1 -0
  48. package/build/esm/CheckBox/CheckBox.d.ts +7 -7
  49. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  50. package/build/esm/CheckBox/index.d.ts +1 -1
  51. package/build/esm/CheckBox/index.js.map +1 -1
  52. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  53. package/build/esm/ComboBox/Combobox.js.map +1 -1
  54. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  55. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  56. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  57. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  58. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  59. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  60. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  61. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  62. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  63. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  64. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  65. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  66. package/build/esm/ComboBox/cities.d.ts +5 -5
  67. package/build/esm/ComboBox/cities.js.map +1 -1
  68. package/build/esm/ComboBox/context.d.ts +30 -30
  69. package/build/esm/ComboBox/context.js.map +1 -1
  70. package/build/esm/ComboBox/hooks.d.ts +37 -37
  71. package/build/esm/ComboBox/hooks.js.map +1 -1
  72. package/build/esm/ComboBox/index.d.ts +8 -8
  73. package/build/esm/ComboBox/index.js.map +1 -1
  74. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  75. package/build/esm/ComboBox/makeHash.js.map +1 -1
  76. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  77. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  78. package/build/esm/DatePicker/DatePicker.d.ts +24 -0
  79. package/build/esm/DatePicker/DatePicker.js +101 -0
  80. package/build/esm/DatePicker/DatePicker.js.map +1 -0
  81. package/build/esm/DatePicker/DatePickerSelect.d.ts +8 -0
  82. package/build/esm/DatePicker/DatePickerSelect.js +201 -0
  83. package/build/esm/DatePicker/DatePickerSelect.js.map +1 -0
  84. package/build/esm/DatePicker/RangeDatePicker.d.ts +28 -0
  85. package/build/esm/DatePicker/RangeDatePicker.js +94 -0
  86. package/build/esm/DatePicker/RangeDatePicker.js.map +1 -0
  87. package/build/esm/DatePicker/adjustDates.d.ts +4 -0
  88. package/build/esm/DatePicker/adjustDates.js +18 -0
  89. package/build/esm/DatePicker/adjustDates.js.map +1 -0
  90. package/build/esm/DatePicker/contexts.d.ts +31 -0
  91. package/build/esm/DatePicker/contexts.js +15 -0
  92. package/build/esm/DatePicker/contexts.js.map +1 -0
  93. package/build/esm/DatePicker/dateTypes.d.ts +2 -0
  94. package/build/esm/DatePicker/dateTypes.js +2 -0
  95. package/build/esm/DatePicker/dateTypes.js.map +1 -0
  96. package/build/esm/DatePicker/hooks.d.ts +36 -0
  97. package/build/esm/DatePicker/hooks.js +98 -0
  98. package/build/esm/DatePicker/hooks.js.map +1 -0
  99. package/build/esm/DatePicker/index.d.ts +5 -0
  100. package/build/esm/DatePicker/index.js +6 -0
  101. package/build/esm/DatePicker/index.js.map +1 -0
  102. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  103. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  104. package/build/esm/FocusLock/index.d.ts +1 -1
  105. package/build/esm/FocusLock/index.js.map +1 -1
  106. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  107. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  108. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  109. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  110. package/build/esm/List/List.d.ts +7 -7
  111. package/build/esm/List/List.js.map +1 -1
  112. package/build/esm/List/ListItem.d.ts +7 -7
  113. package/build/esm/List/ListItem.js.map +1 -1
  114. package/build/esm/List/context.d.ts +4 -4
  115. package/build/esm/List/context.js.map +1 -1
  116. package/build/esm/List/index.d.ts +2 -2
  117. package/build/esm/List/index.js.map +1 -1
  118. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  119. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  120. package/build/esm/Menu/Menu.d.ts +10 -10
  121. package/build/esm/Menu/Menu.js.map +1 -1
  122. package/build/esm/Menu/MenuButton.d.ts +11 -11
  123. package/build/esm/Menu/MenuButton.js.map +1 -1
  124. package/build/esm/Menu/MenuItem.d.ts +8 -8
  125. package/build/esm/Menu/MenuItem.js.map +1 -1
  126. package/build/esm/Menu/MenuList.d.ts +7 -7
  127. package/build/esm/Menu/MenuList.js.map +1 -1
  128. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  129. package/build/esm/Menu/MenuPopover.js.map +1 -1
  130. package/build/esm/Menu/context.d.ts +25 -25
  131. package/build/esm/Menu/context.js.map +1 -1
  132. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  133. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  134. package/build/esm/Menu/index.d.ts +6 -6
  135. package/build/esm/Menu/index.js.map +1 -1
  136. package/build/esm/Menu/scope.d.ts +1 -1
  137. package/build/esm/Menu/scope.js.map +1 -1
  138. package/build/esm/Modal/Modal.d.ts +9 -9
  139. package/build/esm/Modal/Modal.js.map +1 -1
  140. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  141. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  142. package/build/esm/Modal/index.d.ts +2 -2
  143. package/build/esm/Modal/index.js.map +1 -1
  144. package/build/esm/Popper/Popper.d.ts +35 -35
  145. package/build/esm/Popper/Popper.js.map +1 -1
  146. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  147. package/build/esm/Popper/PopperArrow.js.map +1 -1
  148. package/build/esm/Popper/context.d.ts +6 -6
  149. package/build/esm/Popper/context.js.map +1 -1
  150. package/build/esm/Popper/index.d.ts +3 -3
  151. package/build/esm/Popper/index.js.map +1 -1
  152. package/build/esm/Portal/Portal.d.ts +7 -6
  153. package/build/esm/Portal/Portal.js +6 -3
  154. package/build/esm/Portal/Portal.js.map +1 -1
  155. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -0
  156. package/build/esm/Portal/PortalSelectorProvider.js +13 -0
  157. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -0
  158. package/build/esm/Portal/index.d.ts +2 -1
  159. package/build/esm/Portal/index.js +1 -0
  160. package/build/esm/Portal/index.js.map +1 -1
  161. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  162. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  163. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  164. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  165. package/build/esm/RadioButton/context.d.ts +9 -9
  166. package/build/esm/RadioButton/context.js.map +1 -1
  167. package/build/esm/RadioButton/index.d.ts +2 -2
  168. package/build/esm/RadioButton/index.js.map +1 -1
  169. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  170. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  171. package/build/esm/SkipNav/index.d.ts +1 -1
  172. package/build/esm/SkipNav/index.js.map +1 -1
  173. package/build/esm/Slider/Slider.d.ts +197 -197
  174. package/build/esm/Slider/Slider.js +82 -82
  175. package/build/esm/Slider/Slider.js.map +1 -1
  176. package/build/esm/Slider/index.d.ts +1 -1
  177. package/build/esm/Slider/index.js.map +1 -1
  178. package/build/esm/Spinner/Spinner.d.ts +12 -12
  179. package/build/esm/Spinner/Spinner.js.map +1 -1
  180. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  181. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  182. package/build/esm/Spinner/context.d.ts +12 -12
  183. package/build/esm/Spinner/context.js.map +1 -1
  184. package/build/esm/Spinner/index.d.ts +2 -2
  185. package/build/esm/Spinner/index.js.map +1 -1
  186. package/build/esm/Tabs/Tab.d.ts +7 -7
  187. package/build/esm/Tabs/Tab.js.map +1 -1
  188. package/build/esm/Tabs/TabList.d.ts +9 -9
  189. package/build/esm/Tabs/TabList.js.map +1 -1
  190. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  191. package/build/esm/Tabs/TabPanel.js.map +1 -1
  192. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  193. package/build/esm/Tabs/TabPanels.js.map +1 -1
  194. package/build/esm/Tabs/Tabs.d.ts +10 -10
  195. package/build/esm/Tabs/Tabs.js.map +1 -1
  196. package/build/esm/Tabs/context.d.ts +17 -17
  197. package/build/esm/Tabs/context.js.map +1 -1
  198. package/build/esm/Tabs/index.d.ts +5 -5
  199. package/build/esm/Tabs/index.js.map +1 -1
  200. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  201. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  202. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  203. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  204. package/build/esm/Tooltip/index.d.ts +1 -1
  205. package/build/esm/Tooltip/index.js.map +1 -1
  206. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  207. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  208. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  209. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  210. package/build/esm/hooks/index.d.ts +13 -13
  211. package/build/esm/hooks/index.js.map +1 -1
  212. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  213. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  214. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  215. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  216. package/build/esm/hooks/useControlledState.d.ts +3 -3
  217. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  218. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  219. package/build/esm/hooks/useFocusState.d.ts +11 -11
  220. package/build/esm/hooks/useFocusState.js.map +1 -1
  221. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  222. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  223. package/build/esm/hooks/useId.d.ts +1 -0
  224. package/build/esm/hooks/useId.js +25 -0
  225. package/build/esm/hooks/useId.js.map +1 -0
  226. package/build/esm/hooks/useMeasure.d.ts +7 -7
  227. package/build/esm/hooks/useMeasure.js.map +1 -1
  228. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  229. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  230. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  231. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  232. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  233. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  234. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  235. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  236. package/build/esm/hooks/useScope.d.ts +11 -11
  237. package/build/esm/hooks/useScope.js.map +1 -1
  238. package/build/esm/hooks/useThrottle.d.ts +1 -1
  239. package/build/esm/hooks/useThrottle.js.map +1 -1
  240. package/build/esm/index.d.ts +15 -15
  241. package/build/esm/index.js.map +1 -1
  242. package/build/esm/utils/assign-ref.d.ts +3 -3
  243. package/build/esm/utils/assign-ref.js.map +1 -1
  244. package/build/esm/utils/assignRef.d.ts +3 -0
  245. package/build/esm/utils/assignRef.js +25 -0
  246. package/build/esm/utils/assignRef.js.map +1 -0
  247. package/build/esm/utils/can-use-dom.d.ts +1 -1
  248. package/build/esm/utils/can-use-dom.js.map +1 -1
  249. package/build/esm/utils/clamp.d.ts +1 -1
  250. package/build/esm/utils/clamp.js.map +1 -1
  251. package/build/esm/utils/context.d.ts +7 -7
  252. package/build/esm/utils/context.js.map +1 -1
  253. package/build/esm/utils/create-subscription.d.ts +4 -4
  254. package/build/esm/utils/create-subscription.js.map +1 -1
  255. package/build/esm/utils/get-circular-index.d.ts +1 -1
  256. package/build/esm/utils/get-circular-index.js.map +1 -1
  257. package/build/esm/utils/getCircularIndex.d.ts +1 -0
  258. package/build/esm/utils/getCircularIndex.js +8 -0
  259. package/build/esm/utils/getCircularIndex.js.map +1 -0
  260. package/build/esm/utils/index.d.ts +10 -10
  261. package/build/esm/utils/index.js.map +1 -1
  262. package/build/esm/utils/is-right-click.d.ts +6 -6
  263. package/build/esm/utils/is-right-click.js +4 -4
  264. package/build/esm/utils/is-right-click.js.map +1 -1
  265. package/build/esm/utils/owner-document.d.ts +7 -7
  266. package/build/esm/utils/owner-document.js +5 -5
  267. package/build/esm/utils/owner-document.js.map +1 -1
  268. package/build/esm/utils/polymorphic.d.ts +39 -39
  269. package/build/esm/utils/polymorphic.js.map +1 -1
  270. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  271. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  272. package/build/esm/utils/rubberBandClamp.d.ts +2 -0
  273. package/build/esm/utils/rubberBandClamp.js +20 -0
  274. package/build/esm/utils/rubberBandClamp.js.map +1 -0
  275. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  276. package/build/esm/utils/use-stable-callback.js +16 -16
  277. package/build/esm/utils/use-stable-callback.js.map +1 -1
  278. package/build/esm/utils/wrap-event.d.ts +3 -3
  279. package/build/esm/utils/wrap-event.js.map +1 -1
  280. package/build/esm/utils/wrapEvent.d.ts +3 -0
  281. package/build/esm/utils/wrapEvent.js +16 -0
  282. package/build/esm/utils/wrapEvent.js.map +1 -0
  283. package/build/tsconfig-build.tsbuildinfo +1 -1
  284. package/build/tsconfig.tsbuildinfo +7270 -0
  285. package/package.json +2 -2
  286. package/src/Accordion/Accordion.story.tsx +74 -74
  287. package/src/Accordion/Accordion.tsx +59 -59
  288. package/src/Accordion/AccordionBody.tsx +52 -52
  289. package/src/Accordion/AccordionHeader.tsx +167 -167
  290. package/src/Accordion/AccordionItem.tsx +50 -50
  291. package/src/Accordion/context.ts +37 -37
  292. package/src/Accordion/index.ts +4 -4
  293. package/src/Accordion/scopeQuery.ts +7 -7
  294. package/src/Accordion/styles.css +21 -21
  295. package/src/CheckBox/CheckBox.tsx +41 -41
  296. package/src/CheckBox/index.ts +1 -1
  297. package/src/ComboBox/ComboBox.story.tsx +120 -120
  298. package/src/ComboBox/Combobox.tsx +148 -148
  299. package/src/ComboBox/ComboboxButton.tsx +61 -61
  300. package/src/ComboBox/ComboboxInput.tsx +187 -187
  301. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  302. package/src/ComboBox/ComboboxList.tsx +47 -47
  303. package/src/ComboBox/ComboboxOption.tsx +111 -111
  304. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  305. package/src/ComboBox/cities.ts +23194 -23194
  306. package/src/ComboBox/context.ts +35 -35
  307. package/src/ComboBox/hooks.tsx +451 -451
  308. package/src/ComboBox/index.ts +8 -8
  309. package/src/ComboBox/makeHash.ts +19 -19
  310. package/src/ComboBox/scopeQuery.ts +6 -6
  311. package/src/ComboBox/styles.css +32 -32
  312. package/src/FocusLock/FocusLock.tsx +66 -66
  313. package/src/FocusLock/index.ts +1 -1
  314. package/src/FocusLock/tabUtils.ts +40 -40
  315. package/src/FocusLock/useFocusLock.ts +56 -56
  316. package/src/List/List.story.tsx +18 -18
  317. package/src/List/List.tsx +17 -17
  318. package/src/List/ListItem.tsx +23 -23
  319. package/src/List/context.ts +19 -19
  320. package/src/List/index.ts +2 -2
  321. package/src/Menu/ContextMenu.story.tsx +73 -73
  322. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  323. package/src/Menu/Menu.story.tsx +160 -160
  324. package/src/Menu/Menu.tsx +83 -83
  325. package/src/Menu/MenuButton.tsx +83 -83
  326. package/src/Menu/MenuComplex.story.tsx +58 -58
  327. package/src/Menu/MenuItem.tsx +88 -88
  328. package/src/Menu/MenuList.tsx +254 -254
  329. package/src/Menu/MenuPopover.tsx +35 -35
  330. package/src/Menu/context.ts +44 -44
  331. package/src/Menu/fixtures/countryList.ts +198 -198
  332. package/src/Menu/index.ts +6 -6
  333. package/src/Menu/scope.ts +7 -7
  334. package/src/Menu/styles.css +42 -42
  335. package/src/Modal/Modal.story.tsx +258 -258
  336. package/src/Modal/Modal.tsx +48 -48
  337. package/src/Modal/ModalBackdrop.tsx +78 -78
  338. package/src/Modal/NavDrawer.story.tsx +158 -158
  339. package/src/Modal/index.ts +2 -2
  340. package/src/Modal/styles.css +46 -46
  341. package/src/Popper/Popper.story.tsx +263 -263
  342. package/src/Popper/Popper.tsx +154 -154
  343. package/src/Popper/PopperArrow.tsx +35 -35
  344. package/src/Popper/context.ts +10 -10
  345. package/src/Popper/index.ts +3 -3
  346. package/src/Popper/styles.css +60 -60
  347. package/src/Portal/Portal.tsx +31 -20
  348. package/src/Portal/PortalSelectorProvider.tsx +24 -0
  349. package/src/Portal/index.ts +6 -1
  350. package/src/RadioButton/RadioButton.story.tsx +77 -77
  351. package/src/RadioButton/RadioButton.tsx +55 -55
  352. package/src/RadioButton/RadioGroup.tsx +60 -60
  353. package/src/RadioButton/context.ts +17 -17
  354. package/src/RadioButton/index.ts +2 -2
  355. package/src/SkipNav/SkipNav.tsx +16 -16
  356. package/src/SkipNav/index.tsx +1 -1
  357. package/src/Slider/Slider.story.tsx +45 -45
  358. package/src/Slider/Slider.tsx +1120 -1120
  359. package/src/Slider/index.ts +1 -1
  360. package/src/Slider/styles.css +131 -131
  361. package/src/Spinner/Spinner.story.tsx +31 -31
  362. package/src/Spinner/Spinner.tsx +117 -117
  363. package/src/Spinner/SpinnerButton.tsx +54 -54
  364. package/src/Spinner/context.ts +20 -20
  365. package/src/Spinner/index.ts +2 -2
  366. package/src/Spinner/styles.css +23 -23
  367. package/src/Tabs/Tab.story.tsx +80 -80
  368. package/src/Tabs/Tab.tsx +136 -136
  369. package/src/Tabs/TabList.tsx +71 -71
  370. package/src/Tabs/TabPanel.tsx +53 -53
  371. package/src/Tabs/TabPanels.tsx +30 -30
  372. package/src/Tabs/Tabs.tsx +46 -46
  373. package/src/Tabs/context.ts +30 -30
  374. package/src/Tabs/index.tsx +5 -5
  375. package/src/Tabs/scopeQuery.ts +6 -6
  376. package/src/Tooltip/Tooltip.story.tsx +61 -61
  377. package/src/Tooltip/Tooltip.tsx +50 -50
  378. package/src/Tooltip/index.ts +1 -1
  379. package/src/Tooltip/stateMachine.ts +192 -192
  380. package/src/Tooltip/styles.css +17 -17
  381. package/src/Tooltip/useTooltip.ts +136 -136
  382. package/src/hooks/index.ts +13 -13
  383. package/src/hooks/useAutoFocus.ts +22 -22
  384. package/src/hooks/useChildrenCounter.ts +51 -51
  385. package/src/hooks/useFocusReturn.ts +43 -43
  386. package/src/hooks/useFocusState.ts +30 -30
  387. package/src/hooks/useGestureHandlers.ts +286 -286
  388. package/src/hooks/useMeasure.ts +33 -33
  389. package/src/hooks/useOnClickOutside.ts +32 -32
  390. package/src/hooks/useOnKeyDown.ts +19 -19
  391. package/src/hooks/useReducerMachine.ts +60 -60
  392. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  393. package/src/hooks/useScope.ts +52 -52
  394. package/src/hooks/useThrottle.ts +19 -19
  395. package/src/index.ts +20 -20
  396. package/src/utils/assign-ref.ts +27 -27
  397. package/src/utils/can-use-dom.ts +7 -7
  398. package/src/utils/clamp.ts +3 -3
  399. package/src/utils/context.tsx +48 -48
  400. package/src/utils/create-subscription.ts +16 -16
  401. package/src/utils/get-circular-index.ts +7 -7
  402. package/src/utils/index.ts +10 -10
  403. package/src/utils/is-right-click.ts +14 -14
  404. package/src/utils/owner-document.ts +13 -13
  405. package/src/utils/polymorphic.ts +78 -78
  406. package/src/utils/rubber-band-clamp.ts +25 -25
  407. package/src/utils/use-stable-callback.ts +58 -58
  408. package/src/utils/wrap-event.ts +22 -22
@@ -1,11 +1,11 @@
1
- import type { MutableRefObject } from 'react';
2
- export declare type ScopeMatcherFn = (nodeType: string, props: {
3
- [key: string]: string;
4
- }, instance: Element) => boolean;
5
- export declare type Scope<T extends HTMLElement> = MutableRefObject<{
6
- queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];
7
- }>;
8
- export declare function getScope<T extends HTMLElement, R extends HTMLElement>(rootRef: MutableRefObject<R | undefined | null>): {
9
- queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];
10
- };
11
- export declare function useScope<T extends HTMLElement, R extends HTMLElement>(rootRef: MutableRefObject<R | undefined | null>): Scope<T>;
1
+ import type { MutableRefObject } from 'react';
2
+ export declare type ScopeMatcherFn = (nodeType: string, props: {
3
+ [key: string]: string;
4
+ }, instance: Element) => boolean;
5
+ export declare type Scope<T extends HTMLElement> = MutableRefObject<{
6
+ queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];
7
+ }>;
8
+ export declare function getScope<T extends HTMLElement, R extends HTMLElement>(rootRef: MutableRefObject<R | undefined | null>): {
9
+ queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];
10
+ };
11
+ export declare function useScope<T extends HTMLElement, R extends HTMLElement>(rootRef: MutableRefObject<R | undefined | null>): Scope<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"useScope.js","names":["useRef","getScope","rootRef","queryAllNodes","matcherFn","current","allNodes","querySelectorAll","filtered","forEach","node","props","attributes","i","length","attr","name","value","tagName","toLowerCase","push","useScope","scope"],"sources":["../../../src/hooks/useScope.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\r\nimport { useRef } from 'react';\r\n\r\nexport type ScopeMatcherFn = (\r\n nodeType: string,\r\n props: {\r\n [key: string]: string;\r\n },\r\n instance: Element\r\n) => boolean;\r\n\r\nexport type Scope<T extends HTMLElement> = MutableRefObject<{\r\n queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];\r\n}>;\r\n\r\nexport function getScope<T extends HTMLElement, R extends HTMLElement>(\r\n rootRef: MutableRefObject<R | undefined | null>\r\n) {\r\n const queryAllNodes = (matcherFn: ScopeMatcherFn) => {\r\n if (!rootRef.current) {\r\n return [];\r\n }\r\n\r\n const allNodes = rootRef.current.querySelectorAll('*');\r\n\r\n const filtered: T[] = [];\r\n allNodes.forEach((node) => {\r\n const props = {};\r\n const { attributes } = node;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr = attributes[i];\r\n props[attr.name] = attr.value;\r\n }\r\n\r\n if (matcherFn(node.tagName.toLowerCase(), props, node)) {\r\n filtered.push(node as T);\r\n }\r\n });\r\n\r\n return filtered;\r\n };\r\n\r\n return { queryAllNodes };\r\n}\r\n\r\nexport function useScope<T extends HTMLElement, R extends HTMLElement>(\r\n rootRef: MutableRefObject<R | undefined | null>\r\n): Scope<T> {\r\n const scope: Scope<T> = useRef(getScope(rootRef));\r\n\r\n return scope;\r\n}\r\n"],"mappings":"AACA,SAASA,MAAT,QAAuB,OAAvB;AAcA,OAAO,SAASC,QAAT,CACLC,OADK,EAEL;EACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,SAAD,EAA+B;IACnD,IAAI,CAACF,OAAO,CAACG,OAAb,EAAsB;MACpB,OAAO,EAAP;IACD;;IAED,IAAMC,QAAQ,GAAGJ,OAAO,CAACG,OAAR,CAAgBE,gBAAhB,CAAiC,GAAjC,CAAjB;IAEA,IAAMC,QAAa,GAAG,EAAtB;IACAF,QAAQ,CAACG,OAAT,CAAiB,UAACC,IAAD,EAAU;MACzB,IAAMC,KAAK,GAAG,EAAd;MACA,IAAQC,UAAR,GAAuBF,IAAvB,CAAQE,UAAR;;MACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,UAAU,CAACE,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;QAC1C,IAAME,IAAI,GAAGH,UAAU,CAACC,CAAD,CAAvB;QACAF,KAAK,CAACI,IAAI,CAACC,IAAN,CAAL,GAAmBD,IAAI,CAACE,KAAxB;MACD;;MAED,IAAIb,SAAS,CAACM,IAAI,CAACQ,OAAL,CAAaC,WAAb,EAAD,EAA6BR,KAA7B,EAAoCD,IAApC,CAAb,EAAwD;QACtDF,QAAQ,CAACY,IAAT,CAAcV,IAAd;MACD;IACF,CAXD;IAaA,OAAOF,QAAP;EACD,CAtBD;;EAwBA,OAAO;IAAEL,aAAa,EAAbA;EAAF,CAAP;AACD;AAED,OAAO,SAASkB,QAAT,CACLnB,OADK,EAEK;EACV,IAAMoB,KAAe,GAAGtB,MAAM,CAACC,QAAQ,CAACC,OAAD,CAAT,CAA9B;EAEA,OAAOoB,KAAP;AACD"}
1
+ {"version":3,"file":"useScope.js","names":["useRef","getScope","rootRef","queryAllNodes","matcherFn","current","allNodes","querySelectorAll","filtered","forEach","node","props","attributes","i","length","attr","name","value","tagName","toLowerCase","push","useScope","scope"],"sources":["../../../src/hooks/useScope.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\nimport { useRef } from 'react';\n\nexport type ScopeMatcherFn = (\n nodeType: string,\n props: {\n [key: string]: string;\n },\n instance: Element\n) => boolean;\n\nexport type Scope<T extends HTMLElement> = MutableRefObject<{\n queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];\n}>;\n\nexport function getScope<T extends HTMLElement, R extends HTMLElement>(\n rootRef: MutableRefObject<R | undefined | null>\n) {\n const queryAllNodes = (matcherFn: ScopeMatcherFn) => {\n if (!rootRef.current) {\n return [];\n }\n\n const allNodes = rootRef.current.querySelectorAll('*');\n\n const filtered: T[] = [];\n allNodes.forEach((node) => {\n const props = {};\n const { attributes } = node;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n props[attr.name] = attr.value;\n }\n\n if (matcherFn(node.tagName.toLowerCase(), props, node)) {\n filtered.push(node as T);\n }\n });\n\n return filtered;\n };\n\n return { queryAllNodes };\n}\n\nexport function useScope<T extends HTMLElement, R extends HTMLElement>(\n rootRef: MutableRefObject<R | undefined | null>\n): Scope<T> {\n const scope: Scope<T> = useRef(getScope(rootRef));\n\n return scope;\n}\n"],"mappings":"AACA,SAASA,MAAT,QAAuB,OAAvB;AAcA,OAAO,SAASC,QAAT,CACLC,OADK,EAEL;EACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,SAAD,EAA+B;IACnD,IAAI,CAACF,OAAO,CAACG,OAAb,EAAsB;MACpB,OAAO,EAAP;IACD;;IAED,IAAMC,QAAQ,GAAGJ,OAAO,CAACG,OAAR,CAAgBE,gBAAhB,CAAiC,GAAjC,CAAjB;IAEA,IAAMC,QAAa,GAAG,EAAtB;IACAF,QAAQ,CAACG,OAAT,CAAiB,UAACC,IAAD,EAAU;MACzB,IAAMC,KAAK,GAAG,EAAd;MACA,IAAQC,UAAR,GAAuBF,IAAvB,CAAQE,UAAR;;MACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,UAAU,CAACE,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;QAC1C,IAAME,IAAI,GAAGH,UAAU,CAACC,CAAD,CAAvB;QACAF,KAAK,CAACI,IAAI,CAACC,IAAN,CAAL,GAAmBD,IAAI,CAACE,KAAxB;MACD;;MAED,IAAIb,SAAS,CAACM,IAAI,CAACQ,OAAL,CAAaC,WAAb,EAAD,EAA6BR,KAA7B,EAAoCD,IAApC,CAAb,EAAwD;QACtDF,QAAQ,CAACY,IAAT,CAAcV,IAAd;MACD;IACF,CAXD;IAaA,OAAOF,QAAP;EACD,CAtBD;;EAwBA,OAAO;IAAEL,aAAa,EAAbA;EAAF,CAAP;AACD;AAED,OAAO,SAASkB,QAAT,CACLnB,OADK,EAEK;EACV,IAAMoB,KAAe,GAAGtB,MAAM,CAACC,QAAQ,CAACC,OAAD,CAAT,CAA9B;EAEA,OAAOoB,KAAP;AACD"}
@@ -1 +1 @@
1
- export declare function useThrottle<T>(value: T, limit: number): T;
1
+ export declare function useThrottle<T>(value: T, limit: number): T;
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottle.js","names":["useState","useEffect","useRef","useThrottle","value","limit","throttledValue","setThrottledValue","lastRan","Date","now","handler","setTimeout","current","clearTimeout"],"sources":["../../../src/hooks/useThrottle.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\r\n\r\nexport function useThrottle<T>(value: T, limit: number) {\r\n const [throttledValue, setThrottledValue] = useState(value);\r\n const lastRan = useRef(Date.now());\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setThrottledValue(value);\r\n lastRan.current = Date.now();\r\n }, limit - (Date.now() - lastRan.current));\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, limit]);\r\n\r\n return throttledValue;\r\n}\r\n"],"mappings":";AAAA,SAASA,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,QAA4C,OAA5C;AAEA,OAAO,SAASC,WAAT,CAAwBC,KAAxB,EAAkCC,KAAlC,EAAiD;EACtD,gBAA4CL,QAAQ,CAACI,KAAD,CAApD;EAAA;EAAA,IAAOE,cAAP;EAAA,IAAuBC,iBAAvB;;EACA,IAAMC,OAAO,GAAGN,MAAM,CAACO,IAAI,CAACC,GAAL,EAAD,CAAtB;EAEAT,SAAS,CAAC,YAAM;IACd,IAAMU,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC/BL,iBAAiB,CAACH,KAAD,CAAjB;MACAI,OAAO,CAACK,OAAR,GAAkBJ,IAAI,CAACC,GAAL,EAAlB;IACD,CAHyB,EAGvBL,KAAK,IAAII,IAAI,CAACC,GAAL,KAAaF,OAAO,CAACK,OAAzB,CAHkB,CAA1B;IAKA,OAAO,YAAM;MACXC,YAAY,CAACH,OAAD,CAAZ;IACD,CAFD;EAGD,CATQ,EASN,CAACP,KAAD,EAAQC,KAAR,CATM,CAAT;EAWA,OAAOC,cAAP;AACD"}
1
+ {"version":3,"file":"useThrottle.js","names":["useState","useEffect","useRef","useThrottle","value","limit","throttledValue","setThrottledValue","lastRan","Date","now","handler","setTimeout","current","clearTimeout"],"sources":["../../../src/hooks/useThrottle.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\n\nexport function useThrottle<T>(value: T, limit: number) {\n const [throttledValue, setThrottledValue] = useState(value);\n const lastRan = useRef(Date.now());\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setThrottledValue(value);\n lastRan.current = Date.now();\n }, limit - (Date.now() - lastRan.current));\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, limit]);\n\n return throttledValue;\n}\n"],"mappings":";AAAA,SAASA,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,QAA4C,OAA5C;AAEA,OAAO,SAASC,WAAT,CAAwBC,KAAxB,EAAkCC,KAAlC,EAAiD;EACtD,gBAA4CL,QAAQ,CAACI,KAAD,CAApD;EAAA;EAAA,IAAOE,cAAP;EAAA,IAAuBC,iBAAvB;;EACA,IAAMC,OAAO,GAAGN,MAAM,CAACO,IAAI,CAACC,GAAL,EAAD,CAAtB;EAEAT,SAAS,CAAC,YAAM;IACd,IAAMU,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC/BL,iBAAiB,CAACH,KAAD,CAAjB;MACAI,OAAO,CAACK,OAAR,GAAkBJ,IAAI,CAACC,GAAL,EAAlB;IACD,CAHyB,EAGvBL,KAAK,IAAII,IAAI,CAACC,GAAL,KAAaF,OAAO,CAACK,OAAzB,CAHkB,CAA1B;IAKA,OAAO,YAAM;MACXC,YAAY,CAACH,OAAD,CAAZ;IACD,CAFD;EAGD,CATQ,EASN,CAACP,KAAD,EAAQC,KAAR,CATM,CAAT;EAWA,OAAOC,cAAP;AACD"}
@@ -1,15 +1,15 @@
1
- export * from './Accordion';
2
- export * from './CheckBox';
3
- export * from './ComboBox';
4
- export * from './FocusLock';
5
- export * from './Menu';
6
- export * from './Modal';
7
- export * from './Popper';
8
- export * from './Portal';
9
- export * from './RadioButton';
10
- export * from './Slider';
11
- export * from './Spinner';
12
- export * from './Tabs';
13
- export * from './Tooltip';
14
- export * from './utils';
15
- export * from './hooks';
1
+ export * from './Accordion';
2
+ export * from './CheckBox';
3
+ export * from './ComboBox';
4
+ export * from './FocusLock';
5
+ export * from './Menu';
6
+ export * from './Modal';
7
+ export * from './Popper';
8
+ export * from './Portal';
9
+ export * from './RadioButton';
10
+ export * from './Slider';
11
+ export * from './Spinner';
12
+ export * from './Tabs';
13
+ export * from './Tooltip';
14
+ export * from './utils';
15
+ export * from './hooks';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["// Components\r\nexport * from './Accordion';\r\nexport * from './CheckBox';\r\nexport * from './ComboBox';\r\nexport * from './FocusLock';\r\nexport * from './Menu';\r\nexport * from './Modal';\r\nexport * from './Popper';\r\nexport * from './Portal';\r\nexport * from './RadioButton';\r\nexport * from './Slider';\r\nexport * from './Spinner';\r\nexport * from './Tabs';\r\nexport * from './Tooltip';\r\n\r\n// General React utilities\r\nexport * from './utils';\r\n\r\n// Hooks\r\nexport * from './hooks';\r\n"],"mappings":"AAAA;AACA,cAAc,aAAd;AACA,cAAc,YAAd;AACA,cAAc,YAAd;AACA,cAAc,aAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,UAAd;AACA,cAAc,eAAd;AACA,cAAc,UAAd;AACA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,WAAd,C,CAEA;;AACA,cAAc,SAAd,C,CAEA;;AACA,cAAc,SAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["// Components\nexport * from './Accordion';\nexport * from './CheckBox';\nexport * from './ComboBox';\nexport * from './FocusLock';\nexport * from './Menu';\nexport * from './Modal';\nexport * from './Popper';\nexport * from './Portal';\nexport * from './RadioButton';\nexport * from './Slider';\nexport * from './Spinner';\nexport * from './Tabs';\nexport * from './Tooltip';\n\n// General React utilities\nexport * from './utils';\n\n// Hooks\nexport * from './hooks';\n"],"mappings":"AAAA;AACA,cAAc,aAAd;AACA,cAAc,YAAd;AACA,cAAc,YAAd;AACA,cAAc,aAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,UAAd;AACA,cAAc,eAAd;AACA,cAAc,UAAd;AACA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,WAAd,C,CAEA;;AACA,cAAc,SAAd,C,CAEA;;AACA,cAAc,SAAd"}
@@ -1,3 +1,3 @@
1
- import type { MutableRefObject, RefCallback } from 'react';
2
- export declare function assignRef<T>(ref: MutableRefObject<T> | RefCallback<T> | null | undefined, value: T): void;
3
- export declare function assignMultipleRefs<T>(...refs: (MutableRefObject<T> | RefCallback<T> | null | undefined)[]): RefCallback<T>;
1
+ import type { MutableRefObject, RefCallback } from 'react';
2
+ export declare function assignRef<T>(ref: MutableRefObject<T> | RefCallback<T> | null | undefined, value: T): void;
3
+ export declare function assignMultipleRefs<T>(...refs: (MutableRefObject<T> | RefCallback<T> | null | undefined)[]): RefCallback<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"assign-ref.js","names":["assignRef","ref","value","current","error","Error","assignMultipleRefs","refs","node","forEach"],"sources":["../../../src/utils/assign-ref.ts"],"sourcesContent":["import type { MutableRefObject, RefCallback } from 'react';\r\n\r\nexport function assignRef<T>(\r\n ref: MutableRefObject<T> | RefCallback<T> | null | undefined,\r\n value: T\r\n) {\r\n if (ref == null) return;\r\n if (typeof ref === 'function') {\r\n ref(value);\r\n } else {\r\n try {\r\n ref.current = value;\r\n } catch (error) {\r\n throw new Error(`Cannot assign value \"${value}\" to ref \"${ref}\"`);\r\n }\r\n }\r\n}\r\n\r\nexport function assignMultipleRefs<T>(\r\n ...refs: (MutableRefObject<T> | RefCallback<T> | null | undefined)[]\r\n): RefCallback<T> {\r\n return (node: T | null) => {\r\n refs.forEach((ref) => {\r\n assignRef(ref, node);\r\n });\r\n };\r\n}\r\n"],"mappings":"AAEA,OAAO,SAASA,SAAT,CACLC,GADK,EAELC,KAFK,EAGL;EACA,IAAID,GAAG,IAAI,IAAX,EAAiB;;EACjB,IAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;IAC7BA,GAAG,CAACC,KAAD,CAAH;EACD,CAFD,MAEO;IACL,IAAI;MACFD,GAAG,CAACE,OAAJ,GAAcD,KAAd;IACD,CAFD,CAEE,OAAOE,KAAP,EAAc;MACd,MAAM,IAAIC,KAAJ,iCAAkCH,KAAlC,yBAAoDD,GAApD,QAAN;IACD;EACF;AACF;AAED,OAAO,SAASK,kBAAT,GAEW;EAAA,kCADbC,IACa;IADbA,IACa;EAAA;;EAChB,OAAO,UAACC,IAAD,EAAoB;IACzBD,IAAI,CAACE,OAAL,CAAa,UAACR,GAAD,EAAS;MACpBD,SAAS,CAACC,GAAD,EAAMO,IAAN,CAAT;IACD,CAFD;EAGD,CAJD;AAKD"}
1
+ {"version":3,"file":"assign-ref.js","names":["assignRef","ref","value","current","error","Error","assignMultipleRefs","refs","node","forEach"],"sources":["../../../src/utils/assign-ref.ts"],"sourcesContent":["import type { MutableRefObject, RefCallback } from 'react';\n\nexport function assignRef<T>(\n ref: MutableRefObject<T> | RefCallback<T> | null | undefined,\n value: T\n) {\n if (ref == null) return;\n if (typeof ref === 'function') {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(`Cannot assign value \"${value}\" to ref \"${ref}\"`);\n }\n }\n}\n\nexport function assignMultipleRefs<T>(\n ...refs: (MutableRefObject<T> | RefCallback<T> | null | undefined)[]\n): RefCallback<T> {\n return (node: T | null) => {\n refs.forEach((ref) => {\n assignRef(ref, node);\n });\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,SAAT,CACLC,GADK,EAELC,KAFK,EAGL;EACA,IAAID,GAAG,IAAI,IAAX,EAAiB;;EACjB,IAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;IAC7BA,GAAG,CAACC,KAAD,CAAH;EACD,CAFD,MAEO;IACL,IAAI;MACFD,GAAG,CAACE,OAAJ,GAAcD,KAAd;IACD,CAFD,CAEE,OAAOE,KAAP,EAAc;MACd,MAAM,IAAIC,KAAJ,iCAAkCH,KAAlC,yBAAoDD,GAApD,QAAN;IACD;EACF;AACF;AAED,OAAO,SAASK,kBAAT,GAEW;EAAA,kCADbC,IACa;IADbA,IACa;EAAA;;EAChB,OAAO,UAACC,IAAD,EAAoB;IACzBD,IAAI,CAACE,OAAL,CAAa,UAACR,GAAD,EAAS;MACpBD,SAAS,CAACC,GAAD,EAAMO,IAAN,CAAT;IACD,CAFD;EAGD,CAJD;AAKD"}
@@ -0,0 +1,3 @@
1
+ import { LegacyRef, MutableRefObject, Ref } from 'react';
2
+ export declare function assignRef<T>(ref: LegacyRef<T> | MutableRefObject<T> | Ref<T>, value: T): void;
3
+ export declare function assignMultipleRefs<T>(...refs: (LegacyRef<T> | MutableRefObject<T> | Ref<T>)[]): (node: T | null) => void;
@@ -0,0 +1,25 @@
1
+ export function assignRef(ref, value) {
2
+ if (ref == null) return;
3
+
4
+ if (typeof ref === 'function') {
5
+ ref(value);
6
+ } else {
7
+ try {
8
+ ref.current = value;
9
+ } catch (error) {
10
+ throw new Error("Cannot assign value \"".concat(value, "\" to ref \"").concat(ref, "\""));
11
+ }
12
+ }
13
+ }
14
+ export function assignMultipleRefs() {
15
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
16
+ refs[_key] = arguments[_key];
17
+ }
18
+
19
+ return function (node) {
20
+ refs.forEach(function (ref) {
21
+ assignRef(ref, node);
22
+ });
23
+ };
24
+ }
25
+ //# sourceMappingURL=assignRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/assignRef.ts"],"names":["assignRef","ref","value","current","error","Error","assignMultipleRefs","refs","node","forEach"],"mappings":"AAEA,OAAO,SAASA,SAAT,CACLC,GADK,EAELC,KAFK,EAGL;AACA,MAAID,GAAG,IAAI,IAAX,EAAiB;;AACjB,MAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;AAC7BA,IAAAA,GAAG,CAACC,KAAD,CAAH;AACD,GAFD,MAEO;AACL,QAAI;AACDD,MAAAA,GAAD,CAA6BE,OAA7B,GAAuCD,KAAvC;AACD,KAFD,CAEE,OAAOE,KAAP,EAAc;AACd,YAAM,IAAIC,KAAJ,iCAAkCH,KAAlC,yBAAoDD,GAApD,QAAN;AACD;AACF;AACF;AAED,OAAO,SAASK,kBAAT,GAEL;AAAA,oCADGC,IACH;AADGA,IAAAA,IACH;AAAA;;AACA,SAAO,UAACC,IAAD,EAAoB;AACzBD,IAAAA,IAAI,CAACE,OAAL,CAAa,UAACR,GAAD,EAAS;AACpBD,MAAAA,SAAS,CAACC,GAAD,EAAMO,IAAN,CAAT;AACD,KAFD;AAGD,GAJD;AAKD","sourcesContent":["import { LegacyRef, MutableRefObject, Ref } from 'react';\n\nexport function assignRef<T>(\n ref: LegacyRef<T> | MutableRefObject<T> | Ref<T>,\n value: T\n) {\n if (ref == null) return;\n if (typeof ref === 'function') {\n ref(value);\n } else {\n try {\n (ref as MutableRefObject<T>).current = value;\n } catch (error) {\n throw new Error(`Cannot assign value \"${value}\" to ref \"${ref}\"`);\n }\n }\n}\n\nexport function assignMultipleRefs<T>(\n ...refs: (LegacyRef<T> | MutableRefObject<T> | Ref<T>)[]\n) {\n return (node: T | null) => {\n refs.forEach((ref) => {\n assignRef(ref, node);\n });\n };\n}\n"],"file":"assignRef.js"}
@@ -1 +1 @@
1
- export declare function canUseDOM(): boolean;
1
+ export declare function canUseDOM(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"can-use-dom.js","names":["canUseDOM","window","document","createElement"],"sources":["../../../src/utils/can-use-dom.ts"],"sourcesContent":["export function canUseDOM() {\r\n return !!(\r\n typeof window !== 'undefined' &&\r\n window.document &&\r\n window.document.createElement\r\n );\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,SAAT,GAAqB;EAC1B,OAAO,CAAC,EACN,OAAOC,MAAP,KAAkB,WAAlB,IACAA,MAAM,CAACC,QADP,IAEAD,MAAM,CAACC,QAAP,CAAgBC,aAHV,CAAR;AAKD"}
1
+ {"version":3,"file":"can-use-dom.js","names":["canUseDOM","window","document","createElement"],"sources":["../../../src/utils/can-use-dom.ts"],"sourcesContent":["export function canUseDOM() {\n return !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n );\n}\n"],"mappings":"AAAA,OAAO,SAASA,SAAT,GAAqB;EAC1B,OAAO,CAAC,EACN,OAAOC,MAAP,KAAkB,WAAlB,IACAA,MAAM,CAACC,QADP,IAEAD,MAAM,CAACC,QAAP,CAAgBC,aAHV,CAAR;AAKD"}
@@ -1 +1 @@
1
- export declare function clamp(value: number, min: number, max: number): number;
1
+ export declare function clamp(value: number, min: number, max: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"clamp.js","names":["clamp","value","min","max","Math"],"sources":["../../../src/utils/clamp.ts"],"sourcesContent":["export function clamp(value: number, min: number, max: number) {\r\n return Math.min(Math.max(value, min), max);\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,KAAT,CAAeC,KAAf,EAA8BC,GAA9B,EAA2CC,GAA3C,EAAwD;EAC7D,OAAOC,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASF,KAAT,EAAgBC,GAAhB,CAAT,EAA+BC,GAA/B,CAAP;AACD"}
1
+ {"version":3,"file":"clamp.js","names":["clamp","value","min","max","Math"],"sources":["../../../src/utils/clamp.ts"],"sourcesContent":["export function clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n"],"mappings":"AAAA,OAAO,SAASA,KAAT,CAAeC,KAAf,EAA8BC,GAA9B,EAA2CC,GAA3C,EAAwD;EAC7D,OAAOC,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASF,KAAT,EAAgBC,GAAhB,CAAT,EAA+BC,GAA/B,CAAP;AACD"}
@@ -1,7 +1,7 @@
1
- import type { FC, PropsWithChildren } from 'react';
2
- declare type ContextProvider<T> = FC<PropsWithChildren<T>>;
3
- export declare function createContext<ContextValueType extends object | null>(rootName: string, defaultContext?: ContextValueType): [
4
- ContextProvider<ContextValueType>,
5
- (childName: string) => ContextValueType
6
- ];
7
- export {};
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ declare type ContextProvider<T> = FC<PropsWithChildren<T>>;
3
+ export declare function createContext<ContextValueType extends object | null>(rootName: string, defaultContext?: ContextValueType): [
4
+ ContextProvider<ContextValueType>,
5
+ (childName: string) => ContextValueType
6
+ ];
7
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["useMemo","createContext","ReactCreateContext","useContext","useReactContext","rootName","defaultContext","Ctx","Provider","props","children","context","value","Object","values","childName","Error","displayName"],"sources":["../../../src/utils/context.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\r\nimport {\r\n useMemo,\r\n createContext as ReactCreateContext,\r\n useContext as useReactContext,\r\n} from 'react';\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\ntype ContextProvider<T> = FC<PropsWithChildren<T>>;\r\n\r\nexport function createContext<ContextValueType extends object | null>(\r\n rootName: string,\r\n defaultContext?: ContextValueType\r\n): [\r\n ContextProvider<ContextValueType>,\r\n (childName: string) => ContextValueType\r\n] {\r\n const Ctx = ReactCreateContext<ContextValueType | undefined>(defaultContext);\r\n\r\n function Provider(props: PropsWithChildren<ContextValueType>) {\r\n const { children, ...context } = props;\r\n const value = useMemo(\r\n () => context,\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n Object.values(context)\r\n ) as ContextValueType;\r\n return <Ctx.Provider value={value}>{children}</Ctx.Provider>;\r\n }\r\n\r\n function useContext(childName: string) {\r\n const context = useReactContext(Ctx);\r\n if (context) {\r\n return context;\r\n }\r\n if (defaultContext) {\r\n return defaultContext;\r\n }\r\n throw Error(\r\n `${childName} must be rendered inside of a ${rootName} component.`\r\n );\r\n }\r\n\r\n Ctx.displayName = `${rootName}Context`;\r\n Provider.displayName = `${rootName}Provider`;\r\n\r\n return [Provider, useContext];\r\n}\r\n"],"mappings":";;AACA,SACEA,OADF,EAEEC,aAAa,IAAIC,kBAFnB,EAGEC,UAAU,IAAIC,eAHhB,QAIO,OAJP,C,CAMA;;;AAIA,OAAO,SAASH,aAAT,CACLI,QADK,EAELC,cAFK,EAML;EACA,IAAMC,GAAG,gBAAGL,kBAAkB,CAA+BI,cAA/B,CAA9B;;EAEA,SAASE,QAAT,CAAkBC,KAAlB,EAA8D;IAC5D,IAAQC,QAAR,GAAiCD,KAAjC,CAAQC,QAAR;IAAA,IAAqBC,OAArB,4BAAiCF,KAAjC;;IACA,IAAMG,KAAK,GAAGZ,OAAO,CACnB;MAAA,OAAMW,OAAN;IAAA,CADmB,EAEnB;IACAE,MAAM,CAACC,MAAP,CAAcH,OAAd,CAHmB,CAArB;IAKA,oBAAO,KAAC,GAAD,CAAK,QAAL;MAAc,KAAK,EAAEC,KAArB;MAAA,UAA6BF;IAA7B,EAAP;EACD;;EAED,SAASP,UAAT,CAAoBY,SAApB,EAAuC;IACrC,IAAMJ,OAAO,GAAGP,eAAe,CAACG,GAAD,CAA/B;;IACA,IAAII,OAAJ,EAAa;MACX,OAAOA,OAAP;IACD;;IACD,IAAIL,cAAJ,EAAoB;MAClB,OAAOA,cAAP;IACD;;IACD,MAAMU,KAAK,WACND,SADM,2CACoCV,QADpC,iBAAX;EAGD;;EAEDE,GAAG,CAACU,WAAJ,aAAqBZ,QAArB;EACAG,QAAQ,CAACS,WAAT,aAA0BZ,QAA1B;EAEA,OAAO,CAACG,QAAD,EAAWL,UAAX,CAAP;AACD"}
1
+ {"version":3,"file":"context.js","names":["useMemo","createContext","ReactCreateContext","useContext","useReactContext","rootName","defaultContext","Ctx","Provider","props","children","context","value","Object","values","childName","Error","displayName"],"sources":["../../../src/utils/context.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport {\n useMemo,\n createContext as ReactCreateContext,\n useContext as useReactContext,\n} from 'react';\n\n////////////////////////////////////////////////////////////////////////////////\n\ntype ContextProvider<T> = FC<PropsWithChildren<T>>;\n\nexport function createContext<ContextValueType extends object | null>(\n rootName: string,\n defaultContext?: ContextValueType\n): [\n ContextProvider<ContextValueType>,\n (childName: string) => ContextValueType\n] {\n const Ctx = ReactCreateContext<ContextValueType | undefined>(defaultContext);\n\n function Provider(props: PropsWithChildren<ContextValueType>) {\n const { children, ...context } = props;\n const value = useMemo(\n () => context,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Object.values(context)\n ) as ContextValueType;\n return <Ctx.Provider value={value}>{children}</Ctx.Provider>;\n }\n\n function useContext(childName: string) {\n const context = useReactContext(Ctx);\n if (context) {\n return context;\n }\n if (defaultContext) {\n return defaultContext;\n }\n throw Error(\n `${childName} must be rendered inside of a ${rootName} component.`\n );\n }\n\n Ctx.displayName = `${rootName}Context`;\n Provider.displayName = `${rootName}Provider`;\n\n return [Provider, useContext];\n}\n"],"mappings":";;AACA,SACEA,OADF,EAEEC,aAAa,IAAIC,kBAFnB,EAGEC,UAAU,IAAIC,eAHhB,QAIO,OAJP,C,CAMA;;;AAIA,OAAO,SAASH,aAAT,CACLI,QADK,EAELC,cAFK,EAML;EACA,IAAMC,GAAG,gBAAGL,kBAAkB,CAA+BI,cAA/B,CAA9B;;EAEA,SAASE,QAAT,CAAkBC,KAAlB,EAA8D;IAC5D,IAAQC,QAAR,GAAiCD,KAAjC,CAAQC,QAAR;IAAA,IAAqBC,OAArB,4BAAiCF,KAAjC;;IACA,IAAMG,KAAK,GAAGZ,OAAO,CACnB;MAAA,OAAMW,OAAN;IAAA,CADmB,EAEnB;IACAE,MAAM,CAACC,MAAP,CAAcH,OAAd,CAHmB,CAArB;IAKA,oBAAO,KAAC,GAAD,CAAK,QAAL;MAAc,KAAK,EAAEC,KAArB;MAAA,UAA6BF;IAA7B,EAAP;EACD;;EAED,SAASP,UAAT,CAAoBY,SAApB,EAAuC;IACrC,IAAMJ,OAAO,GAAGP,eAAe,CAACG,GAAD,CAA/B;;IACA,IAAII,OAAJ,EAAa;MACX,OAAOA,OAAP;IACD;;IACD,IAAIL,cAAJ,EAAoB;MAClB,OAAOA,cAAP;IACD;;IACD,MAAMU,KAAK,WACND,SADM,2CACoCV,QADpC,iBAAX;EAGD;;EAEDE,GAAG,CAACU,WAAJ,aAAqBZ,QAArB;EACAG,QAAQ,CAACS,WAAT,aAA0BZ,QAA1B;EAEA,OAAO,CAACG,QAAD,EAAWL,UAAX,CAAP;AACD"}
@@ -1,4 +1,4 @@
1
- export declare function createSubscription(): {
2
- subscribe: (fn: () => void) => () => void;
3
- notify: () => void;
4
- };
1
+ export declare function createSubscription(): {
2
+ subscribe: (fn: () => void) => () => void;
3
+ notify: () => void;
4
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"create-subscription.js","names":["createSubscription","subscriptions","subscribe","fn","push","splice","indexOf","notify","forEach"],"sources":["../../../src/utils/create-subscription.ts"],"sourcesContent":["export function createSubscription() {\r\n const subscriptions: (() => void)[] = [];\r\n\r\n function subscribe(fn: () => void) {\r\n subscriptions.push(fn);\r\n return () => {\r\n subscriptions.splice(subscriptions.indexOf(fn), 1);\r\n };\r\n }\r\n\r\n function notify() {\r\n subscriptions.forEach((fn) => fn());\r\n }\r\n\r\n return { subscribe, notify };\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,kBAAT,GAA8B;EACnC,IAAMC,aAA6B,GAAG,EAAtC;;EAEA,SAASC,SAAT,CAAmBC,EAAnB,EAAmC;IACjCF,aAAa,CAACG,IAAd,CAAmBD,EAAnB;IACA,OAAO,YAAM;MACXF,aAAa,CAACI,MAAd,CAAqBJ,aAAa,CAACK,OAAd,CAAsBH,EAAtB,CAArB,EAAgD,CAAhD;IACD,CAFD;EAGD;;EAED,SAASI,MAAT,GAAkB;IAChBN,aAAa,CAACO,OAAd,CAAsB,UAACL,EAAD;MAAA,OAAQA,EAAE,EAAV;IAAA,CAAtB;EACD;;EAED,OAAO;IAAED,SAAS,EAATA,SAAF;IAAaK,MAAM,EAANA;EAAb,CAAP;AACD"}
1
+ {"version":3,"file":"create-subscription.js","names":["createSubscription","subscriptions","subscribe","fn","push","splice","indexOf","notify","forEach"],"sources":["../../../src/utils/create-subscription.ts"],"sourcesContent":["export function createSubscription() {\n const subscriptions: (() => void)[] = [];\n\n function subscribe(fn: () => void) {\n subscriptions.push(fn);\n return () => {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n }\n\n function notify() {\n subscriptions.forEach((fn) => fn());\n }\n\n return { subscribe, notify };\n}\n"],"mappings":"AAAA,OAAO,SAASA,kBAAT,GAA8B;EACnC,IAAMC,aAA6B,GAAG,EAAtC;;EAEA,SAASC,SAAT,CAAmBC,EAAnB,EAAmC;IACjCF,aAAa,CAACG,IAAd,CAAmBD,EAAnB;IACA,OAAO,YAAM;MACXF,aAAa,CAACI,MAAd,CAAqBJ,aAAa,CAACK,OAAd,CAAsBH,EAAtB,CAArB,EAAgD,CAAhD;IACD,CAFD;EAGD;;EAED,SAASI,MAAT,GAAkB;IAChBN,aAAa,CAACO,OAAd,CAAsB,UAACL,EAAD;MAAA,OAAQA,EAAE,EAAV;IAAA,CAAtB;EACD;;EAED,OAAO;IAAED,SAAS,EAATA,SAAF;IAAaK,MAAM,EAANA;EAAb,CAAP;AACD"}
@@ -1 +1 @@
1
- export declare function getCircularIndex(index: number, maxLength: number): number | null;
1
+ export declare function getCircularIndex(index: number, maxLength: number): number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"get-circular-index.js","names":["getCircularIndex","index","maxLength"],"sources":["../../../src/utils/get-circular-index.ts"],"sourcesContent":["export function getCircularIndex(index: number, maxLength: number) {\r\n if (maxLength < 0) {\r\n return null;\r\n }\r\n\r\n return ((index % maxLength) + maxLength) % maxLength;\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,gBAAT,CAA0BC,KAA1B,EAAyCC,SAAzC,EAA4D;EACjE,IAAIA,SAAS,GAAG,CAAhB,EAAmB;IACjB,OAAO,IAAP;EACD;;EAED,OAAO,CAAED,KAAK,GAAGC,SAAT,GAAsBA,SAAvB,IAAoCA,SAA3C;AACD"}
1
+ {"version":3,"file":"get-circular-index.js","names":["getCircularIndex","index","maxLength"],"sources":["../../../src/utils/get-circular-index.ts"],"sourcesContent":["export function getCircularIndex(index: number, maxLength: number) {\n if (maxLength < 0) {\n return null;\n }\n\n return ((index % maxLength) + maxLength) % maxLength;\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAT,CAA0BC,KAA1B,EAAyCC,SAAzC,EAA4D;EACjE,IAAIA,SAAS,GAAG,CAAhB,EAAmB;IACjB,OAAO,IAAP;EACD;;EAED,OAAO,CAAED,KAAK,GAAGC,SAAT,GAAsBA,SAAvB,IAAoCA,SAA3C;AACD"}
@@ -0,0 +1 @@
1
+ export declare function getCircularIndex(index: number, maxLength: number): number | null;
@@ -0,0 +1,8 @@
1
+ export function getCircularIndex(index, maxLength) {
2
+ if (maxLength < 0) {
3
+ return null;
4
+ }
5
+
6
+ return (index % maxLength + maxLength) % maxLength;
7
+ }
8
+ //# sourceMappingURL=getCircularIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/getCircularIndex.ts"],"names":["getCircularIndex","index","maxLength"],"mappings":"AAAA,OAAO,SAASA,gBAAT,CAA0BC,KAA1B,EAAyCC,SAAzC,EAA4D;AACjE,MAAIA,SAAS,GAAG,CAAhB,EAAmB;AACjB,WAAO,IAAP;AACD;;AAED,SAAO,CAAED,KAAK,GAAGC,SAAT,GAAsBA,SAAvB,IAAoCA,SAA3C;AACD","sourcesContent":["export function getCircularIndex(index: number, maxLength: number) {\n if (maxLength < 0) {\n return null;\n }\n\n return ((index % maxLength) + maxLength) % maxLength;\n}\n"],"file":"getCircularIndex.js"}
@@ -1,10 +1,10 @@
1
- export * from './assign-ref';
2
- export * from './can-use-dom';
3
- export * from './context';
4
- export * from './get-circular-index';
5
- export * from './is-right-click';
6
- export * from './owner-document';
7
- export * from './polymorphic';
8
- export * from './rubber-band-clamp';
9
- export * from './use-stable-callback';
10
- export * from './wrap-event';
1
+ export * from './assign-ref';
2
+ export * from './can-use-dom';
3
+ export * from './context';
4
+ export * from './get-circular-index';
5
+ export * from './is-right-click';
6
+ export * from './owner-document';
7
+ export * from './polymorphic';
8
+ export * from './rubber-band-clamp';
9
+ export * from './use-stable-callback';
10
+ export * from './wrap-event';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './assign-ref';\r\nexport * from './can-use-dom';\r\nexport * from './context';\r\nexport * from './get-circular-index';\r\nexport * from './is-right-click';\r\nexport * from './owner-document';\r\nexport * from './polymorphic';\r\nexport * from './rubber-band-clamp';\r\nexport * from './use-stable-callback';\r\nexport * from './wrap-event';\r\n"],"mappings":"AAAA,cAAc,cAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AACA,cAAc,sBAAd;AACA,cAAc,kBAAd;AACA,cAAc,kBAAd;AACA,cAAc,eAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,cAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './assign-ref';\nexport * from './can-use-dom';\nexport * from './context';\nexport * from './get-circular-index';\nexport * from './is-right-click';\nexport * from './owner-document';\nexport * from './polymorphic';\nexport * from './rubber-band-clamp';\nexport * from './use-stable-callback';\nexport * from './wrap-event';\n"],"mappings":"AAAA,cAAc,cAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AACA,cAAc,sBAAd;AACA,cAAc,kBAAd;AACA,cAAc,kBAAd;AACA,cAAc,eAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,cAAd"}
@@ -1,6 +1,6 @@
1
- /**
2
- * Detects right clicks
3
- *
4
- * @param nativeEvent
5
- */
6
- export declare function isRightClick(nativeEvent: MouseEvent | PointerEvent | TouchEvent): boolean;
1
+ /**
2
+ * Detects right clicks
3
+ *
4
+ * @param nativeEvent
5
+ */
6
+ export declare function isRightClick(nativeEvent: MouseEvent | PointerEvent | TouchEvent): boolean;
@@ -1,7 +1,7 @@
1
- /**
2
- * Detects right clicks
3
- *
4
- * @param nativeEvent
1
+ /**
2
+ * Detects right clicks
3
+ *
4
+ * @param nativeEvent
5
5
  */
6
6
  export function isRightClick(nativeEvent) {
7
7
  return 'which' in nativeEvent ? nativeEvent.which === 3 : 'button' in nativeEvent ? nativeEvent.button === 2 : false;
@@ -1 +1 @@
1
- {"version":3,"file":"is-right-click.js","names":["isRightClick","nativeEvent","which","button"],"sources":["../../../src/utils/is-right-click.ts"],"sourcesContent":["/**\r\n * Detects right clicks\r\n *\r\n * @param nativeEvent\r\n */\r\nexport function isRightClick(\r\n nativeEvent: MouseEvent | PointerEvent | TouchEvent\r\n) {\r\n return 'which' in nativeEvent\r\n ? nativeEvent.which === 3\r\n : 'button' in nativeEvent\r\n ? (nativeEvent as any).button === 2\r\n : false;\r\n}\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAT,CACLC,WADK,EAEL;EACA,OAAO,WAAWA,WAAX,GACHA,WAAW,CAACC,KAAZ,KAAsB,CADnB,GAEH,YAAYD,WAAZ,GACCA,WAAD,CAAqBE,MAArB,KAAgC,CADhC,GAEA,KAJJ;AAKD"}
1
+ {"version":3,"file":"is-right-click.js","names":["isRightClick","nativeEvent","which","button"],"sources":["../../../src/utils/is-right-click.ts"],"sourcesContent":["/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\nexport function isRightClick(\n nativeEvent: MouseEvent | PointerEvent | TouchEvent\n) {\n return 'which' in nativeEvent\n ? nativeEvent.which === 3\n : 'button' in nativeEvent\n ? (nativeEvent as any).button === 2\n : false;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAT,CACLC,WADK,EAEL;EACA,OAAO,WAAWA,WAAX,GACHA,WAAW,CAACC,KAAZ,KAAsB,CADnB,GAEH,YAAYD,WAAZ,GACCA,WAAD,CAAqBE,MAArB,KAAgC,CADhC,GAEA,KAJJ;AAKD"}
@@ -1,7 +1,7 @@
1
- /**
2
- * Get an element's owner document. Useful when components are used in iframes
3
- * or other environments like dev tools.
4
- *
5
- * @param element
6
- */
7
- export declare function getOwnerDocument<T extends Element>(element: T | null | undefined): Document | null;
1
+ /**
2
+ * Get an element's owner document. Useful when components are used in iframes
3
+ * or other environments like dev tools.
4
+ *
5
+ * @param element
6
+ */
7
+ export declare function getOwnerDocument<T extends Element>(element: T | null | undefined): Document | null;
@@ -1,9 +1,9 @@
1
1
  import { canUseDOM } from './can-use-dom';
2
- /**
3
- * Get an element's owner document. Useful when components are used in iframes
4
- * or other environments like dev tools.
5
- *
6
- * @param element
2
+ /**
3
+ * Get an element's owner document. Useful when components are used in iframes
4
+ * or other environments like dev tools.
5
+ *
6
+ * @param element
7
7
  */
8
8
 
9
9
  export function getOwnerDocument(element) {
@@ -1 +1 @@
1
- {"version":3,"file":"owner-document.js","names":["canUseDOM","getOwnerDocument","element","ownerDocument","document"],"sources":["../../../src/utils/owner-document.ts"],"sourcesContent":["import { canUseDOM } from './can-use-dom';\r\n\r\n/**\r\n * Get an element's owner document. Useful when components are used in iframes\r\n * or other environments like dev tools.\r\n *\r\n * @param element\r\n */\r\nexport function getOwnerDocument<T extends Element>(\r\n element: T | null | undefined\r\n) {\r\n return canUseDOM() ? (element ? element.ownerDocument : document) : null;\r\n}\r\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,eAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CACLC,OADK,EAEL;EACA,OAAOF,SAAS,KAAME,OAAO,GAAGA,OAAO,CAACC,aAAX,GAA2BC,QAAxC,GAAoD,IAApE;AACD"}
1
+ {"version":3,"file":"owner-document.js","names":["canUseDOM","getOwnerDocument","element","ownerDocument","document"],"sources":["../../../src/utils/owner-document.ts"],"sourcesContent":["import { canUseDOM } from './can-use-dom';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\nexport function getOwnerDocument<T extends Element>(\n element: T | null | undefined\n) {\n return canUseDOM() ? (element ? element.ownerDocument : document) : null;\n}\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,eAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CACLC,OADK,EAEL;EACA,OAAOF,SAAS,KAAME,OAAO,GAAGA,OAAO,CAACC,aAAX,GAA2BC,QAAxC,GAAoD,IAApE;AACD"}
@@ -1,39 +1,39 @@
1
- import type * as React from 'react';
2
- export declare type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;
3
- /**
4
- * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs
5
- */
6
- export declare type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};
7
- /**
8
- * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs
9
- */
10
- export declare type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any> ? I : never;
11
- declare type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Merge<E extends React.ElementType ? React.ComponentPropsWithRef<E> : never, OwnProps & {
12
- as?: E;
13
- innerAs?: E;
14
- }>>;
15
- export interface ForwardRefComponent<IntrinsicElementString, OwnProps = {}> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {
16
- <As = IntrinsicElementString>(props: As extends '' ? {
17
- as: keyof JSX.IntrinsicElements;
18
- innerAs?: keyof JSX.IntrinsicElements;
19
- } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
20
- as: As;
21
- innerAs?: As;
22
- }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
23
- as: As;
24
- innerAs?: As;
25
- }> : never): React.ReactElement | null;
26
- }
27
- export interface MemoComponent<IntrinsicElementString, OwnProps = {}> extends React.MemoExoticComponent<ForwardRefComponent<IntrinsicElementString, OwnProps>> {
28
- <As = IntrinsicElementString>(props: As extends '' ? {
29
- as: keyof JSX.IntrinsicElements;
30
- innerAs?: keyof JSX.IntrinsicElements;
31
- } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
32
- as: As;
33
- innerAs?: As;
34
- }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
35
- as: As;
36
- innerAs?: As;
37
- }> : never): React.ReactElement | null;
38
- }
39
- export {};
1
+ import type * as React from 'react';
2
+ export declare type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;
3
+ /**
4
+ * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs
5
+ */
6
+ export declare type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};
7
+ /**
8
+ * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs
9
+ */
10
+ export declare type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any> ? I : never;
11
+ declare type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Merge<E extends React.ElementType ? React.ComponentPropsWithRef<E> : never, OwnProps & {
12
+ as?: E;
13
+ innerAs?: E;
14
+ }>>;
15
+ export interface ForwardRefComponent<IntrinsicElementString, OwnProps = {}> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {
16
+ <As = IntrinsicElementString>(props: As extends '' ? {
17
+ as: keyof JSX.IntrinsicElements;
18
+ innerAs?: keyof JSX.IntrinsicElements;
19
+ } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
20
+ as: As;
21
+ innerAs?: As;
22
+ }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
23
+ as: As;
24
+ innerAs?: As;
25
+ }> : never): React.ReactElement | null;
26
+ }
27
+ export interface MemoComponent<IntrinsicElementString, OwnProps = {}> extends React.MemoExoticComponent<ForwardRefComponent<IntrinsicElementString, OwnProps>> {
28
+ <As = IntrinsicElementString>(props: As extends '' ? {
29
+ as: keyof JSX.IntrinsicElements;
30
+ innerAs?: keyof JSX.IntrinsicElements;
31
+ } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
32
+ as: As;
33
+ innerAs?: As;
34
+ }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
35
+ as: As;
36
+ innerAs?: As;
37
+ }> : never): React.ReactElement | null;
38
+ }
39
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"polymorphic.js","names":[],"sources":["../../../src/utils/polymorphic.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\r\n// adapted from https://github.com/radix-ui/primitives/blob/2f139a832ba0cdfd445c937ebf63c2e79e0ef7ed/packages/react/polymorphic/src/polymorphic.ts\r\n// Would have liked to use it directly instead of copying but they are\r\n// (rightfully) treating it as an internal utility, so copy/paste it is to\r\n// prevent any needless churn if they make breaking changes. Big thanks to Jenna\r\n// for the heavy lifting! https://github.com/jjenzz\r\n\r\nimport type * as React from 'react';\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;\r\n\r\n/**\r\n * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs\r\n */\r\nexport type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};\r\n\r\n/**\r\n * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs\r\n */\r\nexport type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any>\r\n ? I\r\n : never;\r\n\r\ntype ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<\r\n Merge<\r\n E extends React.ElementType ? React.ComponentPropsWithRef<E> : never,\r\n OwnProps & { as?: E; innerAs?: E }\r\n >\r\n>;\r\n\r\nexport interface ForwardRefComponent<\r\n IntrinsicElementString,\r\n OwnProps = {}\r\n /*\r\n * Extends original type to ensure built in React types play nice with\r\n * polymorphic components still e.g. `React.ElementRef` etc.\r\n */\r\n> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {\r\n /*\r\n * When `as` prop is passed, use this overload. Merges original own props\r\n * (without DOM props) and the inferred props from `as` element with the own\r\n * props taking precendence.\r\n *\r\n * We explicitly avoid `React.ElementType` and manually narrow the prop types\r\n * so that events are typed when using JSX.IntrinsicElements.\r\n */\r\n <As = IntrinsicElementString>(\r\n props: As extends ''\r\n ? {\r\n as: keyof JSX.IntrinsicElements;\r\n innerAs?: keyof JSX.IntrinsicElements;\r\n }\r\n : As extends React.ComponentType<infer P>\r\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\r\n : As extends keyof JSX.IntrinsicElements\r\n ? Merge<JSX.IntrinsicElements[As], OwnProps & { as: As; innerAs?: As }>\r\n : never\r\n ): React.ReactElement | null;\r\n}\r\n\r\nexport interface MemoComponent<IntrinsicElementString, OwnProps = {}>\r\n extends React.MemoExoticComponent<\r\n ForwardRefComponent<IntrinsicElementString, OwnProps>\r\n > {\r\n <As = IntrinsicElementString>(\r\n props: As extends ''\r\n ? {\r\n as: keyof JSX.IntrinsicElements;\r\n innerAs?: keyof JSX.IntrinsicElements;\r\n }\r\n : As extends React.ComponentType<infer P>\r\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\r\n : As extends keyof JSX.IntrinsicElements\r\n ? Merge<JSX.IntrinsicElements[As], OwnProps & { as: As; innerAs?: As }>\r\n : never\r\n ): React.ReactElement | null;\r\n}\r\n"],"mappings":""}
1
+ {"version":3,"file":"polymorphic.js","names":[],"sources":["../../../src/utils/polymorphic.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n// adapted from https://github.com/radix-ui/primitives/blob/2f139a832ba0cdfd445c937ebf63c2e79e0ef7ed/packages/react/polymorphic/src/polymorphic.ts\n// Would have liked to use it directly instead of copying but they are\n// (rightfully) treating it as an internal utility, so copy/paste it is to\n// prevent any needless churn if they make breaking changes. Big thanks to Jenna\n// for the heavy lifting! https://github.com/jjenzz\n\nimport type * as React from 'react';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;\n\n/**\n * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs\n */\nexport type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};\n\n/**\n * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs\n */\nexport type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any>\n ? I\n : never;\n\ntype ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<\n Merge<\n E extends React.ElementType ? React.ComponentPropsWithRef<E> : never,\n OwnProps & { as?: E; innerAs?: E }\n >\n>;\n\nexport interface ForwardRefComponent<\n IntrinsicElementString,\n OwnProps = {}\n /*\n * Extends original type to ensure built in React types play nice with\n * polymorphic components still e.g. `React.ElementRef` etc.\n */\n> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {\n /*\n * When `as` prop is passed, use this overload. Merges original own props\n * (without DOM props) and the inferred props from `as` element with the own\n * props taking precendence.\n *\n * We explicitly avoid `React.ElementType` and manually narrow the prop types\n * so that events are typed when using JSX.IntrinsicElements.\n */\n <As = IntrinsicElementString>(\n props: As extends ''\n ? {\n as: keyof JSX.IntrinsicElements;\n innerAs?: keyof JSX.IntrinsicElements;\n }\n : As extends React.ComponentType<infer P>\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\n : As extends keyof JSX.IntrinsicElements\n ? Merge<JSX.IntrinsicElements[As], OwnProps & { as: As; innerAs?: As }>\n : never\n ): React.ReactElement | null;\n}\n\nexport interface MemoComponent<IntrinsicElementString, OwnProps = {}>\n extends React.MemoExoticComponent<\n ForwardRefComponent<IntrinsicElementString, OwnProps>\n > {\n <As = IntrinsicElementString>(\n props: As extends ''\n ? {\n as: keyof JSX.IntrinsicElements;\n innerAs?: keyof JSX.IntrinsicElements;\n }\n : As extends React.ComponentType<infer P>\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\n : As extends keyof JSX.IntrinsicElements\n ? Merge<JSX.IntrinsicElements[As], OwnProps & { as: As; innerAs?: As }>\n : never\n ): React.ReactElement | null;\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- export declare function rubberBand(distance: number, dimension: number, constant?: number): number;
2
- export declare function rubberBandClamp(min: number, max: number, delta: number, constant?: number): number;
1
+ export declare function rubberBand(distance: number, dimension: number, constant?: number): number;
2
+ export declare function rubberBandClamp(min: number, max: number, delta: number, constant?: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"rubber-band-clamp.js","names":["rubberBand","distance","dimension","constant","rubberBandClamp","min","max","delta"],"sources":["../../../src/utils/rubber-band-clamp.ts"],"sourcesContent":["// https://twitter.com/chpwn/status/285540192096497664\r\n// iOS constant = 0.55\r\nexport function rubberBand(\r\n distance: number,\r\n dimension: number,\r\n constant = 0.15\r\n) {\r\n return (distance * dimension * constant) / (dimension + constant * distance);\r\n}\r\n\r\nexport function rubberBandClamp(\r\n min: number,\r\n max: number,\r\n delta: number,\r\n constant = 0.15\r\n) {\r\n if (delta < min) {\r\n return -rubberBand(min - delta, max - min, constant) + min;\r\n }\r\n if (delta > max) {\r\n return rubberBand(delta - max, max - min, constant) + max;\r\n }\r\n\r\n return delta;\r\n}\r\n"],"mappings":"AAAA;AACA;AACA,OAAO,SAASA,UAAT,CACLC,QADK,EAELC,SAFK,EAIL;EAAA,IADAC,QACA,uEADW,IACX;EACA,OAAQF,QAAQ,GAAGC,SAAX,GAAuBC,QAAxB,IAAqCD,SAAS,GAAGC,QAAQ,GAAGF,QAA5D,CAAP;AACD;AAED,OAAO,SAASG,eAAT,CACLC,GADK,EAELC,GAFK,EAGLC,KAHK,EAKL;EAAA,IADAJ,QACA,uEADW,IACX;;EACA,IAAII,KAAK,GAAGF,GAAZ,EAAiB;IACf,OAAO,CAACL,UAAU,CAACK,GAAG,GAAGE,KAAP,EAAcD,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAX,GAAgDE,GAAvD;EACD;;EACD,IAAIE,KAAK,GAAGD,GAAZ,EAAiB;IACf,OAAON,UAAU,CAACO,KAAK,GAAGD,GAAT,EAAcA,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAV,GAA+CG,GAAtD;EACD;;EAED,OAAOC,KAAP;AACD"}
1
+ {"version":3,"file":"rubber-band-clamp.js","names":["rubberBand","distance","dimension","constant","rubberBandClamp","min","max","delta"],"sources":["../../../src/utils/rubber-band-clamp.ts"],"sourcesContent":["// https://twitter.com/chpwn/status/285540192096497664\n// iOS constant = 0.55\nexport function rubberBand(\n distance: number,\n dimension: number,\n constant = 0.15\n) {\n return (distance * dimension * constant) / (dimension + constant * distance);\n}\n\nexport function rubberBandClamp(\n min: number,\n max: number,\n delta: number,\n constant = 0.15\n) {\n if (delta < min) {\n return -rubberBand(min - delta, max - min, constant) + min;\n }\n if (delta > max) {\n return rubberBand(delta - max, max - min, constant) + max;\n }\n\n return delta;\n}\n"],"mappings":"AAAA;AACA;AACA,OAAO,SAASA,UAAT,CACLC,QADK,EAELC,SAFK,EAIL;EAAA,IADAC,QACA,uEADW,IACX;EACA,OAAQF,QAAQ,GAAGC,SAAX,GAAuBC,QAAxB,IAAqCD,SAAS,GAAGC,QAAQ,GAAGF,QAA5D,CAAP;AACD;AAED,OAAO,SAASG,eAAT,CACLC,GADK,EAELC,GAFK,EAGLC,KAHK,EAKL;EAAA,IADAJ,QACA,uEADW,IACX;;EACA,IAAII,KAAK,GAAGF,GAAZ,EAAiB;IACf,OAAO,CAACL,UAAU,CAACK,GAAG,GAAGE,KAAP,EAAcD,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAX,GAAgDE,GAAvD;EACD;;EACD,IAAIE,KAAK,GAAGD,GAAZ,EAAiB;IACf,OAAON,UAAU,CAACO,KAAK,GAAGD,GAAT,EAAcA,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAV,GAA+CG,GAAtD;EACD;;EAED,OAAOC,KAAP;AACD"}
@@ -0,0 +1,2 @@
1
+ export declare function rubberBand(distance: number, dimension: number, constant?: number): number;
2
+ export declare function rubberBandClamp(min: number, max: number, delta: number, constant?: number): number;
@@ -0,0 +1,20 @@
1
+ // https://twitter.com/chpwn/status/285540192096497664
2
+ // iOS constant = 0.55
3
+ export function rubberBand(distance, dimension) {
4
+ var constant = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.15;
5
+ return distance * dimension * constant / (dimension + constant * distance);
6
+ }
7
+ export function rubberBandClamp(min, max, delta) {
8
+ var constant = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.15;
9
+
10
+ if (delta < min) {
11
+ return -rubberBand(min - delta, max - min, constant) + min;
12
+ }
13
+
14
+ if (delta > max) {
15
+ return rubberBand(delta - max, max - min, constant) + max;
16
+ }
17
+
18
+ return delta;
19
+ }
20
+ //# sourceMappingURL=rubberBandClamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/rubberBandClamp.ts"],"names":["rubberBand","distance","dimension","constant","rubberBandClamp","min","max","delta"],"mappings":"AAAA;AACA;AACA,OAAO,SAASA,UAAT,CACLC,QADK,EAELC,SAFK,EAIL;AAAA,MADAC,QACA,uEADW,IACX;AACA,SAAQF,QAAQ,GAAGC,SAAX,GAAuBC,QAAxB,IAAqCD,SAAS,GAAGC,QAAQ,GAAGF,QAA5D,CAAP;AACD;AAED,OAAO,SAASG,eAAT,CACLC,GADK,EAELC,GAFK,EAGLC,KAHK,EAKL;AAAA,MADAJ,QACA,uEADW,IACX;;AACA,MAAII,KAAK,GAAGF,GAAZ,EAAiB;AACf,WAAO,CAACL,UAAU,CAACK,GAAG,GAAGE,KAAP,EAAcD,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAX,GAAgDE,GAAvD;AACD;;AACD,MAAIE,KAAK,GAAGD,GAAZ,EAAiB;AACf,WAAON,UAAU,CAACO,KAAK,GAAGD,GAAT,EAAcA,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAV,GAA+CG,GAAtD;AACD;;AAED,SAAOC,KAAP;AACD","sourcesContent":["// https://twitter.com/chpwn/status/285540192096497664\n// iOS constant = 0.55\nexport function rubberBand(\n distance: number,\n dimension: number,\n constant = 0.15\n) {\n return (distance * dimension * constant) / (dimension + constant * distance);\n}\n\nexport function rubberBandClamp(\n min: number,\n max: number,\n delta: number,\n constant = 0.15\n) {\n if (delta < min) {\n return -rubberBand(min - delta, max - min, constant) + min;\n }\n if (delta > max) {\n return rubberBand(delta - max, max - min, constant) + max;\n }\n\n return delta;\n}\n"],"file":"rubberBandClamp.js"}
@@ -1,16 +1,16 @@
1
- /**
2
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
3
- * prop and exposed as a stable function to avoid executing effects when passed
4
- * as a dependency.
5
- */
6
- export declare function useStableCallback<T extends (...args: any[]) => any>(callback: T | null | undefined): T;
7
- /**
8
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
9
- * prop and exposed as a stable function to avoid executing effects when passed
10
- * as a dependency.
11
- *
12
- * Use this over `useStableCallback` when you want the callback to be cached in
13
- * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
14
- * needed.
15
- */
16
- export declare function useStableLayoutCallback<T extends (...args: any[]) => any>(callback: T | null | undefined): T;
1
+ /**
2
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
3
+ * prop and exposed as a stable function to avoid executing effects when passed
4
+ * as a dependency.
5
+ */
6
+ export declare function useStableCallback<T extends (...args: any[]) => any>(callback: T | null | undefined): T;
7
+ /**
8
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
9
+ * prop and exposed as a stable function to avoid executing effects when passed
10
+ * as a dependency.
11
+ *
12
+ * Use this over `useStableCallback` when you want the callback to be cached in
13
+ * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
14
+ * needed.
15
+ */
16
+ export declare function useStableLayoutCallback<T extends (...args: any[]) => any>(callback: T | null | undefined): T;
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable react-hooks/rules-of-hooks */
2
2
  import { useRef, useEffect, useCallback, useLayoutEffect } from 'react';
3
3
  var useEnhancedEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
4
- /**
5
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
6
- * prop and exposed as a stable function to avoid executing effects when
7
- * passed as a dependency.
4
+ /**
5
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
6
+ * prop and exposed as a stable function to avoid executing effects when
7
+ * passed as a dependency.
8
8
  */
9
9
 
10
10
  function createStableCallbackHook(useEffectHook, callback) {
@@ -17,24 +17,24 @@ function createStableCallbackHook(useEffectHook, callback) {
17
17
  callbackRef.current && callbackRef.current.apply(callbackRef, arguments);
18
18
  }, []);
19
19
  }
20
- /**
21
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
22
- * prop and exposed as a stable function to avoid executing effects when passed
23
- * as a dependency.
20
+ /**
21
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
22
+ * prop and exposed as a stable function to avoid executing effects when passed
23
+ * as a dependency.
24
24
  */
25
25
 
26
26
 
27
27
  export function useStableCallback(callback) {
28
28
  return createStableCallbackHook(useEffect, callback);
29
29
  }
30
- /**
31
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
32
- * prop and exposed as a stable function to avoid executing effects when passed
33
- * as a dependency.
34
- *
35
- * Use this over `useStableCallback` when you want the callback to be cached in
36
- * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
37
- * needed.
30
+ /**
31
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
32
+ * prop and exposed as a stable function to avoid executing effects when passed
33
+ * as a dependency.
34
+ *
35
+ * Use this over `useStableCallback` when you want the callback to be cached in
36
+ * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
37
+ * needed.
38
38
  */
39
39
 
40
40
  export function useStableLayoutCallback(callback) {