@basic-ui/core 0.0.54 → 0.0.57

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 (410) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +364 -591
  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 +20 -29
  6. package/build/esm/Accordion/Accordion.js.map +1 -1
  7. package/build/esm/Accordion/AccordionBody.d.ts +6 -6
  8. package/build/esm/Accordion/AccordionBody.js +18 -32
  9. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  10. package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
  11. package/build/esm/Accordion/AccordionHeader.js +37 -74
  12. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  13. package/build/esm/Accordion/AccordionItem.d.ts +9 -9
  14. package/build/esm/Accordion/AccordionItem.js +19 -22
  15. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  16. package/build/esm/Accordion/context.d.ts +19 -19
  17. package/build/esm/Accordion/context.js +16 -13
  18. package/build/esm/Accordion/context.js.map +1 -1
  19. package/build/esm/Accordion/index.d.ts +4 -4
  20. package/build/esm/Accordion/index.js.map +1 -1
  21. package/build/esm/Accordion/scopeQuery.d.ts +2 -2
  22. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  23. package/build/esm/CheckBox/CheckBox.d.ts +7 -7
  24. package/build/esm/CheckBox/CheckBox.js +15 -25
  25. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  26. package/build/esm/CheckBox/index.d.ts +1 -1
  27. package/build/esm/CheckBox/index.js.map +1 -1
  28. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  29. package/build/esm/ComboBox/Combobox.js +52 -59
  30. package/build/esm/ComboBox/Combobox.js.map +1 -1
  31. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  32. package/build/esm/ComboBox/ComboboxButton.js +23 -28
  33. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  34. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  35. package/build/esm/ComboBox/ComboboxInput.js +67 -70
  36. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  37. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  38. package/build/esm/ComboBox/ComboboxLabel.js +15 -17
  39. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  40. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  41. package/build/esm/ComboBox/ComboboxList.js +19 -20
  42. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  43. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  44. package/build/esm/ComboBox/ComboboxOption.js +41 -45
  45. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  46. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  47. package/build/esm/ComboBox/ComboboxPopover.js +22 -21
  48. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  49. package/build/esm/ComboBox/cities.d.ts +5 -5
  50. package/build/esm/ComboBox/cities.js.map +1 -1
  51. package/build/esm/ComboBox/context.d.ts +30 -30
  52. package/build/esm/ComboBox/context.js +5 -6
  53. package/build/esm/ComboBox/context.js.map +1 -1
  54. package/build/esm/ComboBox/hooks.d.ts +37 -37
  55. package/build/esm/ComboBox/hooks.js +175 -148
  56. package/build/esm/ComboBox/hooks.js.map +1 -1
  57. package/build/esm/ComboBox/index.d.ts +8 -8
  58. package/build/esm/ComboBox/index.js.map +1 -1
  59. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  60. package/build/esm/ComboBox/makeHash.js +3 -6
  61. package/build/esm/ComboBox/makeHash.js.map +1 -1
  62. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  63. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  64. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  65. package/build/esm/FocusLock/FocusLock.js +26 -32
  66. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  67. package/build/esm/FocusLock/index.d.ts +1 -1
  68. package/build/esm/FocusLock/index.js.map +1 -1
  69. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  70. package/build/esm/FocusLock/tabUtils.js +5 -7
  71. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  72. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  73. package/build/esm/FocusLock/useFocusLock.js +14 -19
  74. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  75. package/build/esm/List/List.d.ts +7 -7
  76. package/build/esm/List/List.js +9 -11
  77. package/build/esm/List/List.js.map +1 -1
  78. package/build/esm/List/ListItem.d.ts +7 -7
  79. package/build/esm/List/ListItem.js +9 -11
  80. package/build/esm/List/ListItem.js.map +1 -1
  81. package/build/esm/List/context.d.ts +4 -4
  82. package/build/esm/List/context.js +6 -6
  83. package/build/esm/List/context.js.map +1 -1
  84. package/build/esm/List/index.d.ts +2 -2
  85. package/build/esm/List/index.js.map +1 -1
  86. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  87. package/build/esm/Menu/ContextMenuTrigger.js +32 -37
  88. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  89. package/build/esm/Menu/Menu.d.ts +10 -10
  90. package/build/esm/Menu/Menu.js +33 -49
  91. package/build/esm/Menu/Menu.js.map +1 -1
  92. package/build/esm/Menu/MenuButton.d.ts +11 -11
  93. package/build/esm/Menu/MenuButton.js +28 -44
  94. package/build/esm/Menu/MenuButton.js.map +1 -1
  95. package/build/esm/Menu/MenuItem.d.ts +8 -8
  96. package/build/esm/Menu/MenuItem.js +29 -38
  97. package/build/esm/Menu/MenuItem.js.map +1 -1
  98. package/build/esm/Menu/MenuList.d.ts +7 -7
  99. package/build/esm/Menu/MenuList.js +61 -116
  100. package/build/esm/Menu/MenuList.js.map +1 -1
  101. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  102. package/build/esm/Menu/MenuPopover.js +16 -19
  103. package/build/esm/Menu/MenuPopover.js.map +1 -1
  104. package/build/esm/Menu/context.d.ts +25 -25
  105. package/build/esm/Menu/context.js +14 -12
  106. package/build/esm/Menu/context.js.map +1 -1
  107. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  108. package/build/esm/Menu/fixtures/countryList.js +1 -1
  109. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  110. package/build/esm/Menu/index.d.ts +6 -6
  111. package/build/esm/Menu/index.js.map +1 -1
  112. package/build/esm/Menu/scope.d.ts +1 -1
  113. package/build/esm/Menu/scope.js.map +1 -1
  114. package/build/esm/Modal/Modal.d.ts +9 -9
  115. package/build/esm/Modal/Modal.js +13 -18
  116. package/build/esm/Modal/Modal.js.map +1 -1
  117. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  118. package/build/esm/Modal/ModalBackdrop.js +24 -33
  119. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  120. package/build/esm/Modal/index.d.ts +2 -2
  121. package/build/esm/Modal/index.js.map +1 -1
  122. package/build/esm/Popper/Popper.d.ts +35 -35
  123. package/build/esm/Popper/Popper.js +44 -60
  124. package/build/esm/Popper/Popper.js.map +1 -1
  125. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  126. package/build/esm/Popper/PopperArrow.js +11 -16
  127. package/build/esm/Popper/PopperArrow.js.map +1 -1
  128. package/build/esm/Popper/context.d.ts +6 -6
  129. package/build/esm/Popper/context.js +3 -5
  130. package/build/esm/Popper/context.js.map +1 -1
  131. package/build/esm/Popper/index.d.ts +3 -3
  132. package/build/esm/Popper/index.js.map +1 -1
  133. package/build/esm/Portal/Portal.d.ts +7 -7
  134. package/build/esm/Portal/Portal.js +9 -11
  135. package/build/esm/Portal/Portal.js.map +1 -1
  136. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -8
  137. package/build/esm/Portal/PortalSelectorProvider.js +6 -4
  138. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -1
  139. package/build/esm/Portal/index.d.ts +2 -2
  140. package/build/esm/Portal/index.js.map +1 -1
  141. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  142. package/build/esm/RadioButton/RadioButton.js +17 -23
  143. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  144. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  145. package/build/esm/RadioButton/RadioGroup.js +19 -28
  146. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  147. package/build/esm/RadioButton/context.d.ts +9 -9
  148. package/build/esm/RadioButton/context.js +8 -6
  149. package/build/esm/RadioButton/context.js.map +1 -1
  150. package/build/esm/RadioButton/index.d.ts +2 -2
  151. package/build/esm/RadioButton/index.js.map +1 -1
  152. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  153. package/build/esm/SkipNav/SkipNav.js +9 -11
  154. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  155. package/build/esm/SkipNav/index.d.ts +1 -1
  156. package/build/esm/SkipNav/index.js.map +1 -1
  157. package/build/esm/Slider/Slider.d.ts +197 -197
  158. package/build/esm/Slider/Slider.js +422 -489
  159. package/build/esm/Slider/Slider.js.map +1 -1
  160. package/build/esm/Slider/index.d.ts +1 -1
  161. package/build/esm/Slider/index.js.map +1 -1
  162. package/build/esm/Spinner/Spinner.d.ts +12 -12
  163. package/build/esm/Spinner/Spinner.js +31 -59
  164. package/build/esm/Spinner/Spinner.js.map +1 -1
  165. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  166. package/build/esm/Spinner/SpinnerButton.js +14 -19
  167. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  168. package/build/esm/Spinner/context.d.ts +12 -12
  169. package/build/esm/Spinner/context.js +8 -7
  170. package/build/esm/Spinner/context.js.map +1 -1
  171. package/build/esm/Spinner/index.d.ts +2 -2
  172. package/build/esm/Spinner/index.js.map +1 -1
  173. package/build/esm/Tabs/Tab.d.ts +7 -7
  174. package/build/esm/Tabs/Tab.js +32 -50
  175. package/build/esm/Tabs/Tab.js.map +1 -1
  176. package/build/esm/Tabs/TabList.d.ts +9 -9
  177. package/build/esm/Tabs/TabList.js +24 -34
  178. package/build/esm/Tabs/TabList.js.map +1 -1
  179. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  180. package/build/esm/Tabs/TabPanel.js +16 -23
  181. package/build/esm/Tabs/TabPanel.js.map +1 -1
  182. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  183. package/build/esm/Tabs/TabPanels.js +15 -20
  184. package/build/esm/Tabs/TabPanels.js.map +1 -1
  185. package/build/esm/Tabs/Tabs.d.ts +10 -10
  186. package/build/esm/Tabs/Tabs.js +17 -33
  187. package/build/esm/Tabs/Tabs.js.map +1 -1
  188. package/build/esm/Tabs/context.d.ts +17 -17
  189. package/build/esm/Tabs/context.js +16 -13
  190. package/build/esm/Tabs/context.js.map +1 -1
  191. package/build/esm/Tabs/index.d.ts +5 -5
  192. package/build/esm/Tabs/index.js.map +1 -1
  193. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  194. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  195. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  196. package/build/esm/Tooltip/Tooltip.js +20 -30
  197. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  198. package/build/esm/Tooltip/index.d.ts +1 -1
  199. package/build/esm/Tooltip/index.js.map +1 -1
  200. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  201. package/build/esm/Tooltip/stateMachine.js +95 -81
  202. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  203. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  204. package/build/esm/Tooltip/useTooltip.js +38 -50
  205. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  206. package/build/esm/hooks/index.d.ts +13 -13
  207. package/build/esm/hooks/index.js.map +1 -1
  208. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  209. package/build/esm/hooks/useAutoFocus.js +3 -3
  210. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  211. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  212. package/build/esm/hooks/useChildrenCounter.js +6 -8
  213. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  214. package/build/esm/hooks/useControlledState.d.ts +3 -3
  215. package/build/esm/hooks/useControlledState.js +6 -16
  216. package/build/esm/hooks/useControlledState.js.map +1 -1
  217. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  218. package/build/esm/hooks/useFocusReturn.js +8 -12
  219. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  220. package/build/esm/hooks/useFocusState.d.ts +11 -11
  221. package/build/esm/hooks/useFocusState.js +9 -15
  222. package/build/esm/hooks/useFocusState.js.map +1 -1
  223. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  224. package/build/esm/hooks/useGestureHandlers.js +80 -100
  225. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  226. package/build/esm/hooks/useMeasure.d.ts +7 -7
  227. package/build/esm/hooks/useMeasure.js +7 -15
  228. package/build/esm/hooks/useMeasure.js.map +1 -1
  229. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  230. package/build/esm/hooks/useOnClickOutside.js +4 -6
  231. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  232. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  233. package/build/esm/hooks/useOnKeyDown.js +3 -4
  234. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  235. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  236. package/build/esm/hooks/useReducerMachine.js +15 -26
  237. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  238. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  239. package/build/esm/hooks/useRemoveBodyScroll.js +9 -14
  240. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  241. package/build/esm/hooks/useScope.d.ts +11 -11
  242. package/build/esm/hooks/useScope.js +12 -14
  243. package/build/esm/hooks/useScope.js.map +1 -1
  244. package/build/esm/hooks/useThrottle.d.ts +1 -1
  245. package/build/esm/hooks/useThrottle.js +5 -10
  246. package/build/esm/hooks/useThrottle.js.map +1 -1
  247. package/build/esm/index.d.ts +15 -15
  248. package/build/esm/index.js +4 -2
  249. package/build/esm/index.js.map +1 -1
  250. package/build/esm/styles.d.js +2 -0
  251. package/build/esm/styles.d.js.map +1 -0
  252. package/build/esm/utils/assign-ref.d.ts +3 -3
  253. package/build/esm/utils/assign-ref.js +3 -5
  254. package/build/esm/utils/assign-ref.js.map +1 -1
  255. package/build/esm/utils/can-use-dom.d.ts +1 -1
  256. package/build/esm/utils/can-use-dom.js.map +1 -1
  257. package/build/esm/utils/clamp.d.ts +1 -1
  258. package/build/esm/utils/clamp.js.map +1 -1
  259. package/build/esm/utils/context.d.ts +7 -7
  260. package/build/esm/utils/context.js +13 -20
  261. package/build/esm/utils/context.js.map +1 -1
  262. package/build/esm/utils/create-subscription.d.ts +4 -4
  263. package/build/esm/utils/create-subscription.js +5 -10
  264. package/build/esm/utils/create-subscription.js.map +1 -1
  265. package/build/esm/utils/get-circular-index.d.ts +1 -1
  266. package/build/esm/utils/get-circular-index.js +0 -1
  267. package/build/esm/utils/get-circular-index.js.map +1 -1
  268. package/build/esm/utils/index.d.ts +10 -10
  269. package/build/esm/utils/index.js.map +1 -1
  270. package/build/esm/utils/is-right-click.d.ts +6 -6
  271. package/build/esm/utils/is-right-click.js +4 -4
  272. package/build/esm/utils/is-right-click.js.map +1 -1
  273. package/build/esm/utils/owner-document.d.ts +7 -7
  274. package/build/esm/utils/owner-document.js +6 -6
  275. package/build/esm/utils/owner-document.js.map +1 -1
  276. package/build/esm/utils/polymorphic.d.ts +39 -39
  277. package/build/esm/utils/polymorphic.js.map +1 -1
  278. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  279. package/build/esm/utils/rubber-band-clamp.js +2 -5
  280. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  281. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  282. package/build/esm/utils/use-stable-callback.js +24 -26
  283. package/build/esm/utils/use-stable-callback.js.map +1 -1
  284. package/build/esm/utils/wrap-event.d.ts +3 -3
  285. package/build/esm/utils/wrap-event.js +2 -5
  286. package/build/esm/utils/wrap-event.js.map +1 -1
  287. package/build/tsconfig-build.tsbuildinfo +1 -1
  288. package/package.json +7 -11
  289. package/src/Accordion/Accordion.story.tsx +74 -74
  290. package/src/Accordion/Accordion.tsx +59 -59
  291. package/src/Accordion/AccordionBody.tsx +52 -52
  292. package/src/Accordion/AccordionHeader.tsx +166 -167
  293. package/src/Accordion/AccordionItem.tsx +50 -50
  294. package/src/Accordion/context.ts +37 -37
  295. package/src/Accordion/index.ts +4 -4
  296. package/src/Accordion/scopeQuery.ts +7 -7
  297. package/src/Accordion/styles.css +21 -21
  298. package/src/CheckBox/CheckBox.tsx +41 -41
  299. package/src/CheckBox/index.ts +1 -1
  300. package/src/ComboBox/ComboBox.story.tsx +120 -120
  301. package/src/ComboBox/Combobox.tsx +148 -148
  302. package/src/ComboBox/ComboboxButton.tsx +61 -61
  303. package/src/ComboBox/ComboboxInput.tsx +187 -187
  304. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  305. package/src/ComboBox/ComboboxList.tsx +47 -47
  306. package/src/ComboBox/ComboboxOption.tsx +110 -111
  307. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  308. package/src/ComboBox/cities.ts +23194 -23194
  309. package/src/ComboBox/context.ts +35 -35
  310. package/src/ComboBox/hooks.tsx +448 -451
  311. package/src/ComboBox/index.ts +8 -8
  312. package/src/ComboBox/makeHash.ts +19 -19
  313. package/src/ComboBox/scopeQuery.ts +6 -6
  314. package/src/ComboBox/styles.css +32 -32
  315. package/src/FocusLock/FocusLock.tsx +66 -66
  316. package/src/FocusLock/index.ts +1 -1
  317. package/src/FocusLock/tabUtils.ts +40 -40
  318. package/src/FocusLock/useFocusLock.ts +55 -56
  319. package/src/List/List.story.tsx +18 -18
  320. package/src/List/List.tsx +17 -17
  321. package/src/List/ListItem.tsx +23 -23
  322. package/src/List/context.ts +19 -19
  323. package/src/List/index.ts +2 -2
  324. package/src/Menu/ContextMenu.story.tsx +73 -73
  325. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  326. package/src/Menu/Menu.story.tsx +160 -160
  327. package/src/Menu/Menu.tsx +82 -83
  328. package/src/Menu/MenuButton.tsx +83 -83
  329. package/src/Menu/MenuComplex.story.tsx +58 -58
  330. package/src/Menu/MenuItem.tsx +87 -88
  331. package/src/Menu/MenuList.tsx +254 -254
  332. package/src/Menu/MenuPopover.tsx +35 -35
  333. package/src/Menu/context.ts +44 -44
  334. package/src/Menu/fixtures/countryList.ts +198 -198
  335. package/src/Menu/index.ts +6 -6
  336. package/src/Menu/scope.ts +7 -7
  337. package/src/Menu/styles.css +42 -42
  338. package/src/Modal/Modal.story.tsx +262 -258
  339. package/src/Modal/Modal.tsx +48 -48
  340. package/src/Modal/ModalBackdrop.tsx +78 -78
  341. package/src/Modal/NavDrawer.story.tsx +161 -158
  342. package/src/Modal/index.ts +2 -2
  343. package/src/Modal/styles.css +46 -46
  344. package/src/Popper/Popper.story.tsx +279 -263
  345. package/src/Popper/Popper.tsx +1 -1
  346. package/src/Popper/PopperArrow.tsx +35 -35
  347. package/src/Popper/context.ts +10 -10
  348. package/src/Popper/index.ts +3 -3
  349. package/src/Popper/styles.css +60 -60
  350. package/src/RadioButton/RadioButton.story.tsx +78 -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 +1115 -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 +53 -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/useControlledState.ts +1 -6
  386. package/src/hooks/useFocusReturn.ts +43 -43
  387. package/src/hooks/useFocusState.ts +30 -30
  388. package/src/hooks/useGestureHandlers.ts +282 -286
  389. package/src/hooks/useMeasure.ts +33 -33
  390. package/src/hooks/useOnClickOutside.ts +32 -32
  391. package/src/hooks/useOnKeyDown.ts +19 -19
  392. package/src/hooks/useReducerMachine.ts +60 -60
  393. package/src/hooks/useRemoveBodyScroll.ts +38 -39
  394. package/src/hooks/useScope.ts +52 -52
  395. package/src/hooks/useThrottle.ts +19 -19
  396. package/src/index.ts +20 -20
  397. package/src/styles.d.ts +1 -0
  398. package/src/utils/assign-ref.ts +27 -27
  399. package/src/utils/can-use-dom.ts +7 -7
  400. package/src/utils/clamp.ts +3 -3
  401. package/src/utils/context.tsx +48 -48
  402. package/src/utils/create-subscription.ts +16 -16
  403. package/src/utils/get-circular-index.ts +7 -7
  404. package/src/utils/index.ts +10 -10
  405. package/src/utils/is-right-click.ts +14 -14
  406. package/src/utils/owner-document.ts +13 -13
  407. package/src/utils/polymorphic.ts +82 -78
  408. package/src/utils/rubber-band-clamp.ts +25 -25
  409. package/src/utils/use-stable-callback.ts +57 -58
  410. package/src/utils/wrap-event.ts +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"useOnClickOutside.js","names":["useEffect","useCallback","useOnClickOutside","ref","handler","active","listener","event","current","contains","target","document","addEventListener","removeEventListener"],"sources":["../../../src/hooks/useOnClickOutside.ts"],"sourcesContent":["import type { RefObject } from 'react';\r\nimport { useEffect, useCallback } from 'react';\r\n\r\nexport function useOnClickOutside(\r\n ref: RefObject<any>,\r\n handler: (e: PointerEvent) => void,\r\n active = true\r\n) {\r\n const listener = useCallback(\r\n (event: PointerEvent) => {\r\n // Do nothing if clicking ref's element or descendent elements\r\n if (!ref.current || ref.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n handler && handler(event);\r\n },\r\n [ref, handler]\r\n );\r\n\r\n useEffect(() => {\r\n if (active) {\r\n document.addEventListener('pointerup', listener);\r\n\r\n return () => {\r\n document.removeEventListener('pointerup', listener);\r\n };\r\n }\r\n\r\n return;\r\n }, [listener, active]);\r\n}\r\n"],"mappings":"AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,OAAvC;AAEA,OAAO,SAASC,iBAAT,CACLC,GADK,EAELC,OAFK,EAIL;EAAA,IADAC,MACA,uEADS,IACT;EACA,IAAMC,QAAQ,GAAGL,WAAW,CAC1B,UAACM,KAAD,EAAyB;IACvB;IACA,IAAI,CAACJ,GAAG,CAACK,OAAL,IAAgBL,GAAG,CAACK,OAAJ,CAAYC,QAAZ,CAAqBF,KAAK,CAACG,MAA3B,CAApB,EAAwD;MACtD;IACD;;IAEDN,OAAO,IAAIA,OAAO,CAACG,KAAD,CAAlB;EACD,CARyB,EAS1B,CAACJ,GAAD,EAAMC,OAAN,CAT0B,CAA5B;EAYAJ,SAAS,CAAC,YAAM;IACd,IAAIK,MAAJ,EAAY;MACVM,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCN,QAAvC;MAEA,OAAO,YAAM;QACXK,QAAQ,CAACE,mBAAT,CAA6B,WAA7B,EAA0CP,QAA1C;MACD,CAFD;IAGD;;IAED;EACD,CAVQ,EAUN,CAACA,QAAD,EAAWD,MAAX,CAVM,CAAT;AAWD"}
1
+ {"version":3,"file":"useOnClickOutside.js","names":["useEffect","useCallback","useOnClickOutside","ref","handler","active","arguments","length","undefined","listener","event","current","contains","target","document","addEventListener","removeEventListener"],"sources":["../../../src/hooks/useOnClickOutside.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useCallback } from 'react';\n\nexport function useOnClickOutside(\n ref: RefObject<any>,\n handler: (e: PointerEvent) => void,\n active = true\n) {\n const listener = useCallback(\n (event: PointerEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler && handler(event);\n },\n [ref, handler]\n );\n\n useEffect(() => {\n if (active) {\n document.addEventListener('pointerup', listener);\n\n return () => {\n document.removeEventListener('pointerup', listener);\n };\n }\n\n return;\n }, [listener, active]);\n}\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,OAAO;AAE9C,OAAO,SAASC,iBAAiBA,CAC/BC,GAAmB,EACnBC,OAAkC,EAElC;EAAA,IADAC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEb,MAAMG,QAAQ,GAAGR,WAAW,CACzBS,KAAmB,IAAK;IACvB;IACA,IAAI,CAACP,GAAG,CAACQ,OAAO,IAAIR,GAAG,CAACQ,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;MACtD;IACF;IAEAT,OAAO,IAAIA,OAAO,CAACM,KAAK,CAAC;EAC3B,CAAC,EACD,CAACP,GAAG,EAAEC,OAAO,CACf,CAAC;EAEDJ,SAAS,CAAC,MAAM;IACd,IAAIK,MAAM,EAAE;MACVS,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,QAAQ,CAAC;MAEhD,OAAO,MAAM;QACXK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,QAAQ,CAAC;MACrD,CAAC;IACH;IAEA;EACF,CAAC,EAAE,CAACA,QAAQ,EAAEJ,MAAM,CAAC,CAAC;AACxB","ignoreList":[]}
@@ -1 +1 @@
1
- export declare function useOnKeyDown(ownerWindow: Window, handler: (e: KeyboardEvent) => void, active?: boolean): void;
1
+ export declare function useOnKeyDown(ownerWindow: Window, handler: (e: KeyboardEvent) => void, active?: boolean): void;
@@ -1,14 +1,13 @@
1
1
  import { useEffect } from 'react';
2
2
  export function useOnKeyDown(ownerWindow, handler) {
3
- var active = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
4
- useEffect(function () {
3
+ let active = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
4
+ useEffect(() => {
5
5
  if (active) {
6
6
  ownerWindow.addEventListener('keydown', handler);
7
- return function () {
7
+ return () => {
8
8
  ownerWindow.removeEventListener('keydown', handler);
9
9
  };
10
10
  }
11
-
12
11
  return;
13
12
  }, [ownerWindow, active, handler]);
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useOnKeyDown.js","names":["useEffect","useOnKeyDown","ownerWindow","handler","active","addEventListener","removeEventListener"],"sources":["../../../src/hooks/useOnKeyDown.ts"],"sourcesContent":["import { useEffect } from 'react';\r\n\r\nexport function useOnKeyDown(\r\n ownerWindow: Window,\r\n handler: (e: KeyboardEvent) => void,\r\n active = true\r\n) {\r\n useEffect(() => {\r\n if (active) {\r\n ownerWindow.addEventListener('keydown', handler);\r\n\r\n return () => {\r\n ownerWindow.removeEventListener('keydown', handler);\r\n };\r\n }\r\n\r\n return;\r\n }, [ownerWindow, active, handler]);\r\n}\r\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,OAA1B;AAEA,OAAO,SAASC,YAAT,CACLC,WADK,EAELC,OAFK,EAIL;EAAA,IADAC,MACA,uEADS,IACT;EACAJ,SAAS,CAAC,YAAM;IACd,IAAII,MAAJ,EAAY;MACVF,WAAW,CAACG,gBAAZ,CAA6B,SAA7B,EAAwCF,OAAxC;MAEA,OAAO,YAAM;QACXD,WAAW,CAACI,mBAAZ,CAAgC,SAAhC,EAA2CH,OAA3C;MACD,CAFD;IAGD;;IAED;EACD,CAVQ,EAUN,CAACD,WAAD,EAAcE,MAAd,EAAsBD,OAAtB,CAVM,CAAT;AAWD"}
1
+ {"version":3,"file":"useOnKeyDown.js","names":["useEffect","useOnKeyDown","ownerWindow","handler","active","arguments","length","undefined","addEventListener","removeEventListener"],"sources":["../../../src/hooks/useOnKeyDown.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nexport function useOnKeyDown(\n ownerWindow: Window,\n handler: (e: KeyboardEvent) => void,\n active = true\n) {\n useEffect(() => {\n if (active) {\n ownerWindow.addEventListener('keydown', handler);\n\n return () => {\n ownerWindow.removeEventListener('keydown', handler);\n };\n }\n\n return;\n }, [ownerWindow, active, handler]);\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,OAAO,SAASC,YAAYA,CAC1BC,WAAmB,EACnBC,OAAmC,EAEnC;EAAA,IADAC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEbL,SAAS,CAAC,MAAM;IACd,IAAII,MAAM,EAAE;MACVF,WAAW,CAACM,gBAAgB,CAAC,SAAS,EAAEL,OAAO,CAAC;MAEhD,OAAO,MAAM;QACXD,WAAW,CAACO,mBAAmB,CAAC,SAAS,EAAEN,OAAO,CAAC;MACrD,CAAC;IACH;IAEA;EACF,CAAC,EAAE,CAACD,WAAW,EAAEE,MAAM,EAAED,OAAO,CAAC,CAAC;AACpC","ignoreList":[]}
@@ -1,24 +1,24 @@
1
- import type { Reducer } from 'react';
2
- export interface StateChart<STypes extends string, ATypes extends string> {
3
- initial: STypes;
4
- states: {
5
- [state in STypes]?: {
6
- enter?: (prevState: STypes, payload: any) => void;
7
- leave?: (nextState: STypes, payload: any) => void;
8
- on: {
9
- [action in ATypes]?: STypes;
10
- };
11
- };
12
- };
13
- }
14
- export interface StateMachineState<STypes, ATypes> {
15
- state: STypes;
16
- lastActionType: ATypes;
17
- }
18
- export interface StateMachineAction<STypes, ATypes> {
19
- type: ATypes;
20
- nextState: STypes;
21
- }
22
- declare type TransitionType<ATypes extends string> = (action: ATypes, payload: any) => void;
23
- export declare function useReducerMachine<S extends StateMachineState<STypes, ATypes>, A extends StateMachineAction<STypes, ATypes>, STypes extends string, ATypes extends string>(chart: StateChart<STypes, ATypes>, reducer: Reducer<S, A>, initialData: S): [STypes, Omit<S, 'state'>, TransitionType<ATypes>];
24
- export {};
1
+ import type { Reducer } from 'react';
2
+ export interface StateChart<STypes extends string, ATypes extends string> {
3
+ initial: STypes;
4
+ states: {
5
+ [state in STypes]?: {
6
+ enter?: (prevState: STypes, payload: any) => void;
7
+ leave?: (nextState: STypes, payload: any) => void;
8
+ on: {
9
+ [action in ATypes]?: STypes;
10
+ };
11
+ };
12
+ };
13
+ }
14
+ export interface StateMachineState<STypes, ATypes> {
15
+ state: STypes;
16
+ lastActionType: ATypes;
17
+ }
18
+ export interface StateMachineAction<STypes, ATypes> {
19
+ type: ATypes;
20
+ nextState: STypes;
21
+ }
22
+ type TransitionType<ATypes extends string> = (action: ATypes, payload: any) => void;
23
+ export declare function useReducerMachine<S extends StateMachineState<STypes, ATypes>, A extends StateMachineAction<STypes, ATypes>, STypes extends string, ATypes extends string>(chart: StateChart<STypes, ATypes>, reducer: Reducer<S, A>, initialData: S): [STypes, Omit<S, 'state'>, TransitionType<ATypes>];
24
+ export {};
@@ -1,39 +1,28 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- var _excluded = ["state"];
5
1
  import { useReducer } from 'react';
6
2
  // This manages transitions between states with a built in reducer to manage
7
3
  // the data that goes with those transitions.
8
4
  export function useReducerMachine(chart, reducer, initialData) {
9
- var _useReducer = useReducer(reducer, initialData),
10
- _useReducer2 = _slicedToArray(_useReducer, 2),
11
- reducerState = _useReducer2[0],
12
- dispatch = _useReducer2[1];
13
-
14
- var state = reducerState.state,
15
- data = _objectWithoutProperties(reducerState, _excluded);
16
-
17
- var transition = function transition(action) {
18
- var payload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
- var currentState = chart.states[state];
20
-
5
+ const [reducerState, dispatch] = useReducer(reducer, initialData);
6
+ const {
7
+ state,
8
+ ...data
9
+ } = reducerState;
10
+ const transition = function (action) {
11
+ let payload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
+ const currentState = chart.states[state];
21
13
  if (!currentState) {
22
- throw new Error("Unknown currentState \"".concat(state, "\""));
14
+ throw new Error(`Unknown currentState "${state}"`);
23
15
  }
24
-
25
- var nextState = currentState.on[action];
26
-
16
+ const nextState = currentState.on[action];
27
17
  if (!nextState) {
28
- throw new Error("Unknown action \"".concat(action, "\" for state \"").concat(state, "\""));
18
+ throw new Error(`Unknown action "${action}" for state "${state}"`);
29
19
  }
30
-
31
- dispatch(_extends({
20
+ dispatch({
32
21
  type: action,
33
- nextState: nextState
34
- }, payload));
22
+ nextState,
23
+ ...payload
24
+ });
35
25
  };
36
-
37
26
  return [state, data, transition];
38
27
  }
39
28
  //# sourceMappingURL=useReducerMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReducerMachine.js","names":["useReducer","useReducerMachine","chart","reducer","initialData","reducerState","dispatch","state","data","transition","action","payload","currentState","states","Error","nextState","on","type"],"sources":["../../../src/hooks/useReducerMachine.ts"],"sourcesContent":["import type { Reducer } from 'react';\r\nimport { useReducer } from 'react';\r\n\r\nexport interface StateChart<STypes extends string, ATypes extends string> {\r\n initial: STypes;\r\n states: {\r\n [state in STypes]?: {\r\n enter?: (prevState: STypes, payload: any) => void;\r\n leave?: (nextState: STypes, payload: any) => void;\r\n on: { [action in ATypes]?: STypes };\r\n };\r\n };\r\n}\r\n\r\nexport interface StateMachineState<STypes, ATypes> {\r\n state: STypes;\r\n lastActionType: ATypes;\r\n}\r\n\r\nexport interface StateMachineAction<STypes, ATypes> {\r\n type: ATypes;\r\n nextState: STypes;\r\n}\r\n\r\ntype TransitionType<ATypes extends string> = (\r\n action: ATypes,\r\n payload: any\r\n) => void;\r\n\r\n// This manages transitions between states with a built in reducer to manage\r\n// the data that goes with those transitions.\r\nexport function useReducerMachine<\r\n S extends StateMachineState<STypes, ATypes>,\r\n A extends StateMachineAction<STypes, ATypes>,\r\n STypes extends string,\r\n ATypes extends string\r\n>(\r\n chart: StateChart<STypes, ATypes>,\r\n reducer: Reducer<S, A>,\r\n initialData: S\r\n): [STypes, Omit<S, 'state'>, TransitionType<ATypes>] {\r\n const [reducerState, dispatch] = useReducer(reducer, initialData);\r\n const { state, ...data } = reducerState;\r\n\r\n const transition: TransitionType<ATypes> = (action, payload = {}) => {\r\n const currentState = chart.states[state];\r\n if (!currentState) {\r\n throw new Error(`Unknown currentState \"${state}\"`);\r\n }\r\n\r\n const nextState: STypes | undefined = currentState.on[action];\r\n if (!nextState) {\r\n throw new Error(`Unknown action \"${action}\" for state \"${state}\"`);\r\n }\r\n\r\n dispatch({ type: action, nextState, ...payload } as any);\r\n };\r\n\r\n return [state, data, transition];\r\n}\r\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AA4BA;AACA;AACA,OAAO,SAASC,iBAAT,CAMLC,KANK,EAOLC,OAPK,EAQLC,WARK,EAS+C;EACpD,kBAAiCJ,UAAU,CAACG,OAAD,EAAUC,WAAV,CAA3C;EAAA;EAAA,IAAOC,YAAP;EAAA,IAAqBC,QAArB;;EACA,IAAQC,KAAR,GAA2BF,YAA3B,CAAQE,KAAR;EAAA,IAAkBC,IAAlB,4BAA2BH,YAA3B;;EAEA,IAAMI,UAAkC,GAAG,SAArCA,UAAqC,CAACC,MAAD,EAA0B;IAAA,IAAjBC,OAAiB,uEAAP,EAAO;IACnE,IAAMC,YAAY,GAAGV,KAAK,CAACW,MAAN,CAAaN,KAAb,CAArB;;IACA,IAAI,CAACK,YAAL,EAAmB;MACjB,MAAM,IAAIE,KAAJ,kCAAmCP,KAAnC,QAAN;IACD;;IAED,IAAMQ,SAA6B,GAAGH,YAAY,CAACI,EAAb,CAAgBN,MAAhB,CAAtC;;IACA,IAAI,CAACK,SAAL,EAAgB;MACd,MAAM,IAAID,KAAJ,4BAA6BJ,MAA7B,4BAAmDH,KAAnD,QAAN;IACD;;IAEDD,QAAQ;MAAGW,IAAI,EAAEP,MAAT;MAAiBK,SAAS,EAATA;IAAjB,GAA+BJ,OAA/B,EAAR;EACD,CAZD;;EAcA,OAAO,CAACJ,KAAD,EAAQC,IAAR,EAAcC,UAAd,CAAP;AACD"}
1
+ {"version":3,"file":"useReducerMachine.js","names":["useReducer","useReducerMachine","chart","reducer","initialData","reducerState","dispatch","state","data","transition","action","payload","arguments","length","undefined","currentState","states","Error","nextState","on","type"],"sources":["../../../src/hooks/useReducerMachine.ts"],"sourcesContent":["import type { Reducer } from 'react';\nimport { useReducer } from 'react';\n\nexport interface StateChart<STypes extends string, ATypes extends string> {\n initial: STypes;\n states: {\n [state in STypes]?: {\n enter?: (prevState: STypes, payload: any) => void;\n leave?: (nextState: STypes, payload: any) => void;\n on: { [action in ATypes]?: STypes };\n };\n };\n}\n\nexport interface StateMachineState<STypes, ATypes> {\n state: STypes;\n lastActionType: ATypes;\n}\n\nexport interface StateMachineAction<STypes, ATypes> {\n type: ATypes;\n nextState: STypes;\n}\n\ntype TransitionType<ATypes extends string> = (\n action: ATypes,\n payload: any\n) => void;\n\n// This manages transitions between states with a built in reducer to manage\n// the data that goes with those transitions.\nexport function useReducerMachine<\n S extends StateMachineState<STypes, ATypes>,\n A extends StateMachineAction<STypes, ATypes>,\n STypes extends string,\n ATypes extends string\n>(\n chart: StateChart<STypes, ATypes>,\n reducer: Reducer<S, A>,\n initialData: S\n): [STypes, Omit<S, 'state'>, TransitionType<ATypes>] {\n const [reducerState, dispatch] = useReducer(reducer, initialData);\n const { state, ...data } = reducerState;\n\n const transition: TransitionType<ATypes> = (action, payload = {}) => {\n const currentState = chart.states[state];\n if (!currentState) {\n throw new Error(`Unknown currentState \"${state}\"`);\n }\n\n const nextState: STypes | undefined = currentState.on[action];\n if (!nextState) {\n throw new Error(`Unknown action \"${action}\" for state \"${state}\"`);\n }\n\n dispatch({ type: action, nextState, ...payload } as any);\n };\n\n return [state, data, transition];\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,OAAO;AA4BlC;AACA;AACA,OAAO,SAASC,iBAAiBA,CAM/BC,KAAiC,EACjCC,OAAsB,EACtBC,WAAc,EACsC;EACpD,MAAM,CAACC,YAAY,EAAEC,QAAQ,CAAC,GAAGN,UAAU,CAACG,OAAO,EAAEC,WAAW,CAAC;EACjE,MAAM;IAAEG,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGH,YAAY;EAEvC,MAAMI,UAAkC,GAAG,SAAAA,CAACC,MAAM,EAAmB;IAAA,IAAjBC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC9D,MAAMG,YAAY,GAAGb,KAAK,CAACc,MAAM,CAACT,KAAK,CAAC;IACxC,IAAI,CAACQ,YAAY,EAAE;MACjB,MAAM,IAAIE,KAAK,CAAC,yBAAyBV,KAAK,GAAG,CAAC;IACpD;IAEA,MAAMW,SAA6B,GAAGH,YAAY,CAACI,EAAE,CAACT,MAAM,CAAC;IAC7D,IAAI,CAACQ,SAAS,EAAE;MACd,MAAM,IAAID,KAAK,CAAC,mBAAmBP,MAAM,gBAAgBH,KAAK,GAAG,CAAC;IACpE;IAEAD,QAAQ,CAAC;MAAEc,IAAI,EAAEV,MAAM;MAAEQ,SAAS;MAAE,GAAGP;IAAQ,CAAQ,CAAC;EAC1D,CAAC;EAED,OAAO,CAACJ,KAAK,EAAEC,IAAI,EAAEC,UAAU,CAAC;AAClC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import type { RefObject } from 'react';
2
- export declare function useRemoveBodyScroll(open: boolean, elementRef: RefObject<HTMLElement | null>): void;
1
+ import type { RefObject } from 'react';
2
+ export declare function useRemoveBodyScroll(open: boolean, elementRef: RefObject<HTMLElement | null>): void;
@@ -1,29 +1,24 @@
1
1
  import { useEffect } from 'react';
2
2
  import { getOwnerDocument } from '../utils';
3
- var scrollBodyCount = 0;
3
+ let scrollBodyCount = 0;
4
4
  export function useRemoveBodyScroll(open, elementRef) {
5
- useEffect(function () {
5
+ useEffect(() => {
6
6
  if (open && elementRef.current) {
7
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
8
- var ownerDocument = getOwnerDocument(elementRef.current);
9
- var ownerWindow = ownerDocument.defaultView || window;
10
- scrollBodyCount += 1; // calculate scrollbar width if mounting the first scroll lock
11
-
12
- var scrollBarWidth = 0;
7
+ const ownerDocument = getOwnerDocument(elementRef.current);
8
+ const ownerWindow = ownerDocument.defaultView || window;
9
+ scrollBodyCount += 1;
13
10
 
11
+ // calculate scrollbar width if mounting the first scroll lock
12
+ let scrollBarWidth = 0;
14
13
  if (scrollBodyCount === 1) {
15
14
  scrollBarWidth = ownerWindow.innerWidth - ownerDocument.body.clientWidth;
16
15
  }
17
-
18
16
  ownerDocument.body.style.overflow = 'hidden';
19
-
20
17
  if (scrollBarWidth > 0) {
21
- ownerDocument.body.style.marginRight = "".concat(scrollBarWidth, "px");
18
+ ownerDocument.body.style.marginRight = `${scrollBarWidth}px`;
22
19
  }
23
-
24
- return function () {
20
+ return () => {
25
21
  scrollBodyCount -= 1;
26
-
27
22
  if (scrollBodyCount === 0) {
28
23
  ownerDocument.body.style.overflow = '';
29
24
  ownerDocument.body.style.marginRight = '';
@@ -1 +1 @@
1
- {"version":3,"file":"useRemoveBodyScroll.js","names":["useEffect","getOwnerDocument","scrollBodyCount","useRemoveBodyScroll","open","elementRef","current","ownerDocument","ownerWindow","defaultView","window","scrollBarWidth","innerWidth","body","clientWidth","style","overflow","marginRight"],"sources":["../../../src/hooks/useRemoveBodyScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\r\nimport { useEffect } from 'react';\r\n\r\nimport { getOwnerDocument } from '../utils';\r\n\r\nlet scrollBodyCount = 0;\r\nexport function useRemoveBodyScroll(\r\n open: boolean,\r\n elementRef: RefObject<HTMLElement | null>\r\n) {\r\n useEffect(() => {\r\n if (open && elementRef.current) {\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n const ownerDocument = getOwnerDocument(elementRef.current)!;\r\n const ownerWindow = ownerDocument.defaultView || window;\r\n scrollBodyCount += 1;\r\n\r\n // calculate scrollbar width if mounting the first scroll lock\r\n let scrollBarWidth = 0;\r\n if (scrollBodyCount === 1) {\r\n scrollBarWidth =\r\n ownerWindow.innerWidth - ownerDocument.body.clientWidth;\r\n }\r\n\r\n ownerDocument.body.style.overflow = 'hidden';\r\n if (scrollBarWidth > 0) {\r\n ownerDocument.body.style.marginRight = `${scrollBarWidth}px`;\r\n }\r\n\r\n return () => {\r\n scrollBodyCount -= 1;\r\n if (scrollBodyCount === 0) {\r\n ownerDocument.body.style.overflow = '';\r\n ownerDocument.body.style.marginRight = '';\r\n }\r\n };\r\n }\r\n }, [elementRef, open]);\r\n}\r\n"],"mappings":"AACA,SAASA,SAAT,QAA0B,OAA1B;AAEA,SAASC,gBAAT,QAAiC,UAAjC;AAEA,IAAIC,eAAe,GAAG,CAAtB;AACA,OAAO,SAASC,mBAAT,CACLC,IADK,EAELC,UAFK,EAGL;EACAL,SAAS,CAAC,YAAM;IACd,IAAII,IAAI,IAAIC,UAAU,CAACC,OAAvB,EAAgC;MAC9B;MACA,IAAMC,aAAa,GAAGN,gBAAgB,CAACI,UAAU,CAACC,OAAZ,CAAtC;MACA,IAAME,WAAW,GAAGD,aAAa,CAACE,WAAd,IAA6BC,MAAjD;MACAR,eAAe,IAAI,CAAnB,CAJ8B,CAM9B;;MACA,IAAIS,cAAc,GAAG,CAArB;;MACA,IAAIT,eAAe,KAAK,CAAxB,EAA2B;QACzBS,cAAc,GACZH,WAAW,CAACI,UAAZ,GAAyBL,aAAa,CAACM,IAAd,CAAmBC,WAD9C;MAED;;MAEDP,aAAa,CAACM,IAAd,CAAmBE,KAAnB,CAAyBC,QAAzB,GAAoC,QAApC;;MACA,IAAIL,cAAc,GAAG,CAArB,EAAwB;QACtBJ,aAAa,CAACM,IAAd,CAAmBE,KAAnB,CAAyBE,WAAzB,aAA0CN,cAA1C;MACD;;MAED,OAAO,YAAM;QACXT,eAAe,IAAI,CAAnB;;QACA,IAAIA,eAAe,KAAK,CAAxB,EAA2B;UACzBK,aAAa,CAACM,IAAd,CAAmBE,KAAnB,CAAyBC,QAAzB,GAAoC,EAApC;UACAT,aAAa,CAACM,IAAd,CAAmBE,KAAnB,CAAyBE,WAAzB,GAAuC,EAAvC;QACD;MACF,CAND;IAOD;EACF,CA3BQ,EA2BN,CAACZ,UAAD,EAAaD,IAAb,CA3BM,CAAT;AA4BD"}
1
+ {"version":3,"file":"useRemoveBodyScroll.js","names":["useEffect","getOwnerDocument","scrollBodyCount","useRemoveBodyScroll","open","elementRef","current","ownerDocument","ownerWindow","defaultView","window","scrollBarWidth","innerWidth","body","clientWidth","style","overflow","marginRight"],"sources":["../../../src/hooks/useRemoveBodyScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect } from 'react';\n\nimport { getOwnerDocument } from '../utils';\n\nlet scrollBodyCount = 0;\nexport function useRemoveBodyScroll(\n open: boolean,\n elementRef: RefObject<HTMLElement | null>\n) {\n useEffect(() => {\n if (open && elementRef.current) {\n const ownerDocument = getOwnerDocument(elementRef.current)!;\n const ownerWindow = ownerDocument.defaultView || window;\n scrollBodyCount += 1;\n\n // calculate scrollbar width if mounting the first scroll lock\n let scrollBarWidth = 0;\n if (scrollBodyCount === 1) {\n scrollBarWidth =\n ownerWindow.innerWidth - ownerDocument.body.clientWidth;\n }\n\n ownerDocument.body.style.overflow = 'hidden';\n if (scrollBarWidth > 0) {\n ownerDocument.body.style.marginRight = `${scrollBarWidth}px`;\n }\n\n return () => {\n scrollBodyCount -= 1;\n if (scrollBodyCount === 0) {\n ownerDocument.body.style.overflow = '';\n ownerDocument.body.style.marginRight = '';\n }\n };\n }\n }, [elementRef, open]);\n}\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,gBAAgB,QAAQ,UAAU;AAE3C,IAAIC,eAAe,GAAG,CAAC;AACvB,OAAO,SAASC,mBAAmBA,CACjCC,IAAa,EACbC,UAAyC,EACzC;EACAL,SAAS,CAAC,MAAM;IACd,IAAII,IAAI,IAAIC,UAAU,CAACC,OAAO,EAAE;MAC9B,MAAMC,aAAa,GAAGN,gBAAgB,CAACI,UAAU,CAACC,OAAO,CAAE;MAC3D,MAAME,WAAW,GAAGD,aAAa,CAACE,WAAW,IAAIC,MAAM;MACvDR,eAAe,IAAI,CAAC;;MAEpB;MACA,IAAIS,cAAc,GAAG,CAAC;MACtB,IAAIT,eAAe,KAAK,CAAC,EAAE;QACzBS,cAAc,GACZH,WAAW,CAACI,UAAU,GAAGL,aAAa,CAACM,IAAI,CAACC,WAAW;MAC3D;MAEAP,aAAa,CAACM,IAAI,CAACE,KAAK,CAACC,QAAQ,GAAG,QAAQ;MAC5C,IAAIL,cAAc,GAAG,CAAC,EAAE;QACtBJ,aAAa,CAACM,IAAI,CAACE,KAAK,CAACE,WAAW,GAAG,GAAGN,cAAc,IAAI;MAC9D;MAEA,OAAO,MAAM;QACXT,eAAe,IAAI,CAAC;QACpB,IAAIA,eAAe,KAAK,CAAC,EAAE;UACzBK,aAAa,CAACM,IAAI,CAACE,KAAK,CAACC,QAAQ,GAAG,EAAE;UACtCT,aAAa,CAACM,IAAI,CAACE,KAAK,CAACE,WAAW,GAAG,EAAE;QAC3C;MACF,CAAC;IACH;EACF,CAAC,EAAE,CAACZ,UAAU,EAAED,IAAI,CAAC,CAAC;AACxB","ignoreList":[]}
@@ -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 type ScopeMatcherFn = (nodeType: string, props: {
3
+ [key: string]: string;
4
+ }, instance: Element) => boolean;
5
+ export 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,34 +1,32 @@
1
1
  import { useRef } from 'react';
2
2
  export function getScope(rootRef) {
3
- var queryAllNodes = function queryAllNodes(matcherFn) {
3
+ const queryAllNodes = matcherFn => {
4
4
  if (!rootRef.current) {
5
5
  return [];
6
6
  }
7
-
8
- var allNodes = rootRef.current.querySelectorAll('*');
9
- var filtered = [];
10
- allNodes.forEach(function (node) {
11
- var props = {};
12
- var attributes = node.attributes;
13
-
14
- for (var i = 0; i < attributes.length; i++) {
15
- var attr = attributes[i];
7
+ const allNodes = rootRef.current.querySelectorAll('*');
8
+ const filtered = [];
9
+ allNodes.forEach(node => {
10
+ const props = {};
11
+ const {
12
+ attributes
13
+ } = node;
14
+ for (let i = 0; i < attributes.length; i++) {
15
+ const attr = attributes[i];
16
16
  props[attr.name] = attr.value;
17
17
  }
18
-
19
18
  if (matcherFn(node.tagName.toLowerCase(), props, node)) {
20
19
  filtered.push(node);
21
20
  }
22
21
  });
23
22
  return filtered;
24
23
  };
25
-
26
24
  return {
27
- queryAllNodes: queryAllNodes
25
+ queryAllNodes
28
26
  };
29
27
  }
30
28
  export function useScope(rootRef) {
31
- var scope = useRef(getScope(rootRef));
29
+ const scope = useRef(getScope(rootRef));
32
30
  return scope;
33
31
  }
34
32
  //# sourceMappingURL=useScope.js.map
@@ -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: Record<string, any> = {};\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,MAAM,QAAQ,OAAO;AAc9B,OAAO,SAASC,QAAQA,CACtBC,OAA+C,EAC/C;EACA,MAAMC,aAAa,GAAIC,SAAyB,IAAK;IACnD,IAAI,CAACF,OAAO,CAACG,OAAO,EAAE;MACpB,OAAO,EAAE;IACX;IAEA,MAAMC,QAAQ,GAAGJ,OAAO,CAACG,OAAO,CAACE,gBAAgB,CAAC,GAAG,CAAC;IAEtD,MAAMC,QAAa,GAAG,EAAE;IACxBF,QAAQ,CAACG,OAAO,CAAEC,IAAI,IAAK;MACzB,MAAMC,KAA0B,GAAG,CAAC,CAAC;MACrC,MAAM;QAAEC;MAAW,CAAC,GAAGF,IAAI;MAC3B,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,UAAU,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;QAC1C,MAAME,IAAI,GAAGH,UAAU,CAACC,CAAC,CAAC;QAC1BF,KAAK,CAACI,IAAI,CAACC,IAAI,CAAC,GAAGD,IAAI,CAACE,KAAK;MAC/B;MAEA,IAAIb,SAAS,CAACM,IAAI,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC,EAAER,KAAK,EAAED,IAAI,CAAC,EAAE;QACtDF,QAAQ,CAACY,IAAI,CAACV,IAAS,CAAC;MAC1B;IACF,CAAC,CAAC;IAEF,OAAOF,QAAQ;EACjB,CAAC;EAED,OAAO;IAAEL;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASkB,QAAQA,CACtBnB,OAA+C,EACrC;EACV,MAAMoB,KAAe,GAAGtB,MAAM,CAACC,QAAQ,CAACC,OAAO,CAAC,CAAC;EAEjD,OAAOoB,KAAK;AACd","ignoreList":[]}
@@ -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,18 +1,13 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
1
  import { useState, useEffect, useRef } from 'react';
3
2
  export function useThrottle(value, limit) {
4
- var _useState = useState(value),
5
- _useState2 = _slicedToArray(_useState, 2),
6
- throttledValue = _useState2[0],
7
- setThrottledValue = _useState2[1];
8
-
9
- var lastRan = useRef(Date.now());
10
- useEffect(function () {
11
- var handler = setTimeout(function () {
3
+ const [throttledValue, setThrottledValue] = useState(value);
4
+ const lastRan = useRef(Date.now());
5
+ useEffect(() => {
6
+ const handler = setTimeout(() => {
12
7
  setThrottledValue(value);
13
8
  lastRan.current = Date.now();
14
9
  }, limit - (Date.now() - lastRan.current));
15
- return function () {
10
+ return () => {
16
11
  clearTimeout(handler);
17
12
  };
18
13
  }, [value, limit]);
@@ -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,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEnD,OAAO,SAASC,WAAWA,CAAIC,KAAQ,EAAEC,KAAa,EAAE;EACtD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGP,QAAQ,CAACI,KAAK,CAAC;EAC3D,MAAMI,OAAO,GAAGN,MAAM,CAACO,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;EAElCT,SAAS,CAAC,MAAM;IACd,MAAMU,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BL,iBAAiB,CAACH,KAAK,CAAC;MACxBI,OAAO,CAACK,OAAO,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC;IAC9B,CAAC,EAAEL,KAAK,IAAII,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,OAAO,CAACK,OAAO,CAAC,CAAC;IAE1C,OAAO,MAAM;MACXC,YAAY,CAACH,OAAO,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACP,KAAK,EAAEC,KAAK,CAAC,CAAC;EAElB,OAAOC,cAAc;AACvB","ignoreList":[]}
@@ -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';
@@ -11,9 +11,11 @@ export * from './RadioButton';
11
11
  export * from './Slider';
12
12
  export * from './Spinner';
13
13
  export * from './Tabs';
14
- export * from './Tooltip'; // General React utilities
14
+ export * from './Tooltip';
15
15
 
16
- export * from './utils'; // Hooks
16
+ // General React utilities
17
+ export * from './utils';
17
18
 
19
+ // Hooks
18
20
  export * from './hooks';
19
21
  //# sourceMappingURL=index.js.map
@@ -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,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,WAAW;;AAEzB;AACA,cAAc,SAAS;;AAEvB;AACA,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=styles.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.js","names":[],"sources":["../../src/styles.d.ts"],"sourcesContent":["declare module '*.css';\n"],"mappings":"","ignoreList":[]}
@@ -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,13 +1,12 @@
1
1
  export function assignRef(ref, value) {
2
2
  if (ref == null) return;
3
-
4
3
  if (typeof ref === 'function') {
5
4
  ref(value);
6
5
  } else {
7
6
  try {
8
7
  ref.current = value;
9
8
  } catch (error) {
10
- throw new Error("Cannot assign value \"".concat(value, "\" to ref \"").concat(ref, "\""));
9
+ throw new Error(`Cannot assign value "${value}" to ref "${ref}"`);
11
10
  }
12
11
  }
13
12
  }
@@ -15,9 +14,8 @@ export function assignMultipleRefs() {
15
14
  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
16
15
  refs[_key] = arguments[_key];
17
16
  }
18
-
19
- return function (node) {
20
- refs.forEach(function (ref) {
17
+ return node => {
18
+ refs.forEach(ref => {
21
19
  assignRef(ref, node);
22
20
  });
23
21
  };
@@ -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","_len","arguments","length","refs","Array","_key","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,SAASA,CACvBC,GAA4D,EAC5DC,KAAQ,EACR;EACA,IAAID,GAAG,IAAI,IAAI,EAAE;EACjB,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM;IACL,IAAI;MACFD,GAAG,CAACE,OAAO,GAAGD,KAAK;IACrB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd,MAAM,IAAIC,KAAK,CAAC,wBAAwBH,KAAK,aAAaD,GAAG,GAAG,CAAC;IACnE;EACF;AACF;AAEA,OAAO,SAASK,kBAAkBA,CAAA,EAEhB;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADbC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAEP,OAAQC,IAAc,IAAK;IACzBH,IAAI,CAACI,OAAO,CAAEb,GAAG,IAAK;MACpBD,SAAS,CAACC,GAAG,EAAEY,IAAI,CAAC;IACtB,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -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,SAASA,CAAA,EAAG;EAC1B,OAAO,CAAC,EACN,OAAOC,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACC,QAAQ,IACfD,MAAM,CAACC,QAAQ,CAACC,aAAa,CAC9B;AACH","ignoreList":[]}
@@ -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,KAAKA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;EAC7D,OAAOC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACF,KAAK,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAC5C","ignoreList":[]}
@@ -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
+ 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,41 +1,34 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- var _excluded = ["children"];
3
- import { useMemo, createContext as ReactCreateContext, useContext as useReactContext } from 'react'; ////////////////////////////////////////////////////////////////////////////////
1
+ import { useMemo, createContext as ReactCreateContext, useContext as useReactContext } from 'react';
4
2
 
3
+ ////////////////////////////////////////////////////////////////////////////////
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  export function createContext(rootName, defaultContext) {
7
- var Ctx = /*#__PURE__*/ReactCreateContext(defaultContext);
8
-
6
+ const Ctx = /*#__PURE__*/ReactCreateContext(defaultContext);
9
7
  function Provider(props) {
10
- var children = props.children,
11
- context = _objectWithoutProperties(props, _excluded);
12
-
13
- var value = useMemo(function () {
14
- return context;
15
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
8
+ const {
9
+ children,
10
+ ...context
11
+ } = props;
12
+ const value = useMemo(() => context,
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
16
14
  Object.values(context));
17
15
  return /*#__PURE__*/_jsx(Ctx.Provider, {
18
16
  value: value,
19
17
  children: children
20
18
  });
21
19
  }
22
-
23
20
  function useContext(childName) {
24
- var context = useReactContext(Ctx);
25
-
21
+ const context = useReactContext(Ctx);
26
22
  if (context) {
27
23
  return context;
28
24
  }
29
-
30
25
  if (defaultContext) {
31
26
  return defaultContext;
32
27
  }
33
-
34
- throw Error("".concat(childName, " must be rendered inside of a ").concat(rootName, " component."));
28
+ throw Error(`${childName} must be rendered inside of a ${rootName} component.`);
35
29
  }
36
-
37
- Ctx.displayName = "".concat(rootName, "Context");
38
- Provider.displayName = "".concat(rootName, "Provider");
30
+ Ctx.displayName = `${rootName}Context`;
31
+ Provider.displayName = `${rootName}Provider`;
39
32
  return [Provider, useContext];
40
33
  }
41
34
  //# sourceMappingURL=context.js.map