@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
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # Base Components
2
-
3
- All the components in this module should be FREE of any styling. They should only implement the core functionality of patterns. Styling should be responsibility of other components using this.
1
+ # Base Components
2
+
3
+ All the components in this module should be FREE of any styling. They should only implement the core functionality of patterns. Styling should be responsibility of other components using this.
@@ -122,20 +122,20 @@ function getCircularIndex(index, maxLength) {
122
122
  return (index % maxLength + maxLength) % maxLength;
123
123
  }
124
124
 
125
- /**
126
- * Detects right clicks
127
- *
128
- * @param nativeEvent
125
+ /**
126
+ * Detects right clicks
127
+ *
128
+ * @param nativeEvent
129
129
  */
130
130
  function isRightClick(nativeEvent) {
131
131
  return 'which' in nativeEvent ? nativeEvent.which === 3 : 'button' in nativeEvent ? nativeEvent.button === 2 : false;
132
132
  }
133
133
 
134
- /**
135
- * Get an element's owner document. Useful when components are used in iframes
136
- * or other environments like dev tools.
137
- *
138
- * @param element
134
+ /**
135
+ * Get an element's owner document. Useful when components are used in iframes
136
+ * or other environments like dev tools.
137
+ *
138
+ * @param element
139
139
  */
140
140
 
141
141
  function getOwnerDocument(element) {
@@ -161,10 +161,10 @@ function rubberBandClamp(min, max, delta, constant = 0.15) {
161
161
 
162
162
  /* eslint-disable react-hooks/rules-of-hooks */
163
163
  const useEnhancedEffect$2 = typeof window !== 'undefined' ? react.useLayoutEffect : react.useEffect;
164
- /**
165
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
166
- * prop and exposed as a stable function to avoid executing effects when
167
- * passed as a dependency.
164
+ /**
165
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
166
+ * prop and exposed as a stable function to avoid executing effects when
167
+ * passed as a dependency.
168
168
  */
169
169
 
170
170
  function createStableCallbackHook(useEffectHook, callback) {
@@ -177,24 +177,24 @@ function createStableCallbackHook(useEffectHook, callback) {
177
177
  callbackRef.current && callbackRef.current(...args);
178
178
  }, []);
179
179
  }
180
- /**
181
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
182
- * prop and exposed as a stable function to avoid executing effects when passed
183
- * as a dependency.
180
+ /**
181
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
182
+ * prop and exposed as a stable function to avoid executing effects when passed
183
+ * as a dependency.
184
184
  */
185
185
 
186
186
 
187
187
  function useStableCallback(callback) {
188
188
  return createStableCallbackHook(react.useEffect, callback);
189
189
  }
190
- /**
191
- * Converts a callback to a ref to avoid triggering re-renders when passed as a
192
- * prop and exposed as a stable function to avoid executing effects when passed
193
- * as a dependency.
194
- *
195
- * Use this over `useStableCallback` when you want the callback to be cached in
196
- * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
197
- * needed.
190
+ /**
191
+ * Converts a callback to a ref to avoid triggering re-renders when passed as a
192
+ * prop and exposed as a stable function to avoid executing effects when passed
193
+ * as a dependency.
194
+ *
195
+ * Use this over `useStableCallback` when you want the callback to be cached in
196
+ * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
197
+ * needed.
198
198
  */
199
199
 
200
200
  function useStableLayoutCallback(callback) {
@@ -2342,15 +2342,30 @@ const context = /*#__PURE__*/react.createContext(null);
2342
2342
  const PopperProvider = context.Provider;
2343
2343
  const usePopperContext = () => react.useContext(context);
2344
2344
 
2345
+ const PortalSelectorContext = /*#__PURE__*/react.createContext(null);
2346
+ PortalSelectorContext.displayName = 'PortalSelectorContext';
2347
+ const PortalSelectorProvider = ({
2348
+ selector,
2349
+ children
2350
+ }) => {
2351
+ return /*#__PURE__*/jsxRuntime.jsx(PortalSelectorContext.Provider, {
2352
+ value: selector,
2353
+ children: children
2354
+ });
2355
+ };
2356
+
2345
2357
  const Portal = ({
2346
2358
  children,
2347
- selector = 'body'
2359
+ selector: selectorProp
2348
2360
  }) => {
2361
+ const selectorCtx = react.useContext(PortalSelectorContext);
2362
+
2349
2363
  if (typeof window === 'undefined') {
2350
2364
  return null;
2351
2365
  }
2352
2366
 
2353
- const dom = document.querySelector(selector);
2367
+ const selector = selectorProp || selectorCtx || 'body';
2368
+ const dom = typeof selector === 'string' ? document.querySelector(selector) : selector();
2354
2369
 
2355
2370
  if (dom) {
2356
2371
  return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -2643,10 +2658,10 @@ const noop = () => {
2643
2658
 
2644
2659
  const [SliderProvider, useSliderContext] = createContext('Slider'); ////////////////////////////////////////////////////////////////////////////////
2645
2660
 
2646
- /**
2647
- * Slider
2648
- *
2649
- * @see Docs https://reach.tech/slider#slider
2661
+ /**
2662
+ * Slider
2663
+ *
2664
+ * @see Docs https://reach.tech/slider#slider
2650
2665
  */
2651
2666
 
2652
2667
  const Slider = /*#__PURE__*/react.forwardRef(function Slider({
@@ -2661,20 +2676,20 @@ const Slider = /*#__PURE__*/react.forwardRef(function Slider({
2661
2676
  })
2662
2677
  });
2663
2678
  });
2664
- /**
2665
- * @see Docs https://reach.tech/slider#slider-props
2679
+ /**
2680
+ * @see Docs https://reach.tech/slider#slider-props
2666
2681
  */
2667
2682
 
2668
2683
  ////////////////////////////////////////////////////////////////////////////////
2669
2684
 
2670
- /**
2671
- * SliderInput
2672
- *
2673
- * The parent component of the slider interface. This is a lower level component
2674
- * if you need more control over styles or rendering the slider's inner
2675
- * components.
2676
- *
2677
- * @see Docs https://reach.tech/slider#sliderinput
2685
+ /**
2686
+ * SliderInput
2687
+ *
2688
+ * The parent component of the slider interface. This is a lower level component
2689
+ * if you need more control over styles or rendering the slider's inner
2690
+ * components.
2691
+ *
2692
+ * @see Docs https://reach.tech/slider#sliderinput
2678
2693
  */
2679
2694
  const SliderInput = /*#__PURE__*/react.forwardRef(function SliderInput({
2680
2695
  'aria-label': ariaLabel,
@@ -3033,16 +3048,16 @@ const SliderInput = /*#__PURE__*/react.forwardRef(function SliderInput({
3033
3048
  })
3034
3049
  });
3035
3050
  });
3036
- /**
3037
- * @see Docs https://reach.tech/slider#sliderinput-props
3051
+ /**
3052
+ * @see Docs https://reach.tech/slider#sliderinput-props
3038
3053
  */
3039
3054
 
3040
3055
  ////////////////////////////////////////////////////////////////////////////////
3041
3056
 
3042
- /**
3043
- * SliderTrack
3044
- *
3045
- * @see Docs https://reach.tech/slider#slidertrack
3057
+ /**
3058
+ * SliderTrack
3059
+ *
3060
+ * @see Docs https://reach.tech/slider#slidertrack
3046
3061
  */
3047
3062
  const SliderTrackImpl = /*#__PURE__*/react.forwardRef(function SliderTrack({
3048
3063
  as: Comp = 'div',
@@ -3071,19 +3086,19 @@ const SliderTrackImpl = /*#__PURE__*/react.forwardRef(function SliderTrack({
3071
3086
  });
3072
3087
  });
3073
3088
  const SliderTrack = /*#__PURE__*/react.memo(SliderTrackImpl);
3074
- /**
3075
- * @see Docs https://reach.tech/slider#slidertrack-props
3089
+ /**
3090
+ * @see Docs https://reach.tech/slider#slidertrack-props
3076
3091
  */
3077
3092
 
3078
3093
  ////////////////////////////////////////////////////////////////////////////////
3079
3094
 
3080
- /**
3081
- * SliderRange
3082
- *
3083
- * The (typically) highlighted portion of the track that represents the space
3084
- * between the slider's `min` value and its current value.
3085
- *
3086
- * @see Docs https://reach.tech/slider#sliderrange
3095
+ /**
3096
+ * SliderRange
3097
+ *
3098
+ * The (typically) highlighted portion of the track that represents the space
3099
+ * between the slider's `min` value and its current value.
3100
+ *
3101
+ * @see Docs https://reach.tech/slider#sliderrange
3087
3102
  */
3088
3103
  const SliderRangeImpl = /*#__PURE__*/react.forwardRef(function SliderRange({
3089
3104
  as: Comp = 'div',
@@ -3113,22 +3128,22 @@ const SliderRangeImpl = /*#__PURE__*/react.forwardRef(function SliderRange({
3113
3128
  });
3114
3129
  });
3115
3130
  const SliderRange = /*#__PURE__*/react.memo(SliderRangeImpl);
3116
- /**
3117
- * `SliderRange` accepts any props that a HTML div component accepts.
3118
- * `SliderRange` will not accept or render any children.
3119
- *
3120
- * @see Docs https://reach.tech/slider#sliderrange-props
3131
+ /**
3132
+ * `SliderRange` accepts any props that a HTML div component accepts.
3133
+ * `SliderRange` will not accept or render any children.
3134
+ *
3135
+ * @see Docs https://reach.tech/slider#sliderrange-props
3121
3136
  */
3122
3137
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
3123
3138
 
3124
3139
  ////////////////////////////////////////////////////////////////////////////////
3125
3140
 
3126
- /**
3127
- * SliderHandle
3128
- *
3129
- * The handle that the user drags along the track to set the slider value.
3130
- *
3131
- * @see Docs https://reach.tech/slider#sliderhandle
3141
+ /**
3142
+ * SliderHandle
3143
+ *
3144
+ * The handle that the user drags along the track to set the slider value.
3145
+ *
3146
+ * @see Docs https://reach.tech/slider#sliderhandle
3132
3147
  */
3133
3148
  const SliderHandleImpl = /*#__PURE__*/react.forwardRef(function SliderHandle({
3134
3149
  // min,
@@ -3216,22 +3231,22 @@ const SliderHandleImpl = /*#__PURE__*/react.forwardRef(function SliderHandle({
3216
3231
  });
3217
3232
  });
3218
3233
  const SliderHandle = /*#__PURE__*/react.memo(SliderHandleImpl);
3219
- /**
3220
- * `SliderRange` accepts any props that a HTML div component accepts.
3221
- *
3222
- * @see Docs https://reach.tech/slider#sliderhandle-props
3234
+ /**
3235
+ * `SliderRange` accepts any props that a HTML div component accepts.
3236
+ *
3237
+ * @see Docs https://reach.tech/slider#sliderhandle-props
3223
3238
  */
3224
3239
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
3225
3240
 
3226
3241
  ////////////////////////////////////////////////////////////////////////////////
3227
3242
 
3228
- /**
3229
- * SliderMarker
3230
- *
3231
- * A fixed value marker. These can be used to illustrate a range of steps or
3232
- * highlight important points along the slider track.
3233
- *
3234
- * @see Docs https://reach.tech/slider#slidermarker
3243
+ /**
3244
+ * SliderMarker
3245
+ *
3246
+ * A fixed value marker. These can be used to illustrate a range of steps or
3247
+ * highlight important points along the slider track.
3248
+ *
3249
+ * @see Docs https://reach.tech/slider#slidermarker
3235
3250
  */
3236
3251
  const SliderMarkerImpl = /*#__PURE__*/react.forwardRef(function SliderMarker({
3237
3252
  as: Comp = 'div',
@@ -3275,21 +3290,21 @@ const SliderMarkerImpl = /*#__PURE__*/react.forwardRef(function SliderMarker({
3275
3290
  }) : null;
3276
3291
  });
3277
3292
  const SliderMarker = /*#__PURE__*/react.memo(SliderMarkerImpl);
3278
- /**
3279
- * @see Docs https://reach.tech/slider#slidermarker-props
3293
+ /**
3294
+ * @see Docs https://reach.tech/slider#slidermarker-props
3280
3295
  */
3281
3296
 
3282
3297
  ////////////////////////////////////////////////////////////////////////////////
3283
3298
  function clamp$1(val, min, max) {
3284
3299
  return val > max ? max : val < min ? min : val;
3285
3300
  }
3286
- /**
3287
- * This handles the case when num is very small (0.00000001), js will turn
3288
- * this into 1e-8. When num is bigger than 1 or less than -1 it won't get
3289
- * converted to this notation so it's fine.
3290
- *
3291
- * @param num
3292
- * @see https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Slider/Slider.js#L69
3301
+ /**
3302
+ * This handles the case when num is very small (0.00000001), js will turn
3303
+ * this into 1e-8. When num is bigger than 1 or less than -1 it won't get
3304
+ * converted to this notation so it's fine.
3305
+ *
3306
+ * @param num
3307
+ * @see https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Slider/Slider.js#L69
3293
3308
  */
3294
3309
 
3295
3310
 
@@ -3373,8 +3388,8 @@ function useDimensions(ref) {
3373
3388
  // check for any conflicts with box sizing first and only use
3374
3389
  // `getComputedStyle` if neccessary.
3375
3390
 
3376
- /* const { width, height } = ref.current
3377
- ? ref.current.getBoundingClientRect()
3391
+ /* const { width, height } = ref.current
3392
+ ? ref.current.getBoundingClientRect()
3378
3393
  : 0; */
3379
3394
 
3380
3395
  react.useLayoutEffect(() => {
@@ -4097,6 +4112,7 @@ exports.Popper = Popper;
4097
4112
  exports.PopperArrow = PopperArrow;
4098
4113
  exports.PopperProvider = PopperProvider;
4099
4114
  exports.Portal = Portal;
4115
+ exports.PortalSelectorProvider = PortalSelectorProvider;
4100
4116
  exports.RadioButton = RadioButton;
4101
4117
  exports.RadioGroup = RadioGroup;
4102
4118
  exports.Slider = Slider;