@basic-ui/core 0.0.52 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +105 -89
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Accordion/Accordion.d.ts +9 -9
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +6 -6
  7. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  8. package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
  9. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  10. package/build/esm/Accordion/AccordionItem.d.ts +9 -9
  11. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  12. package/build/esm/Accordion/context.d.ts +19 -19
  13. package/build/esm/Accordion/context.js.map +1 -1
  14. package/build/esm/Accordion/index.d.ts +4 -4
  15. package/build/esm/Accordion/index.js.map +1 -1
  16. package/build/esm/Accordion/scopeQuery.d.ts +2 -2
  17. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  18. package/build/esm/Carousel/Carousel.d.ts +9 -0
  19. package/build/esm/Carousel/Carousel.js +38 -0
  20. package/build/esm/Carousel/Carousel.js.map +1 -0
  21. package/build/esm/Carousel/Fader.d.ts +14 -0
  22. package/build/esm/Carousel/Fader.js +76 -0
  23. package/build/esm/Carousel/Fader.js.map +1 -0
  24. package/build/esm/Carousel/FaderItem.d.ts +5 -0
  25. package/build/esm/Carousel/FaderItem.js +16 -0
  26. package/build/esm/Carousel/FaderItem.js.map +1 -0
  27. package/build/esm/Carousel/Preloader.d.ts +7 -0
  28. package/build/esm/Carousel/Preloader.js +70 -0
  29. package/build/esm/Carousel/Preloader.js.map +1 -0
  30. package/build/esm/Carousel/Slider.d.ts +14 -0
  31. package/build/esm/Carousel/Slider.js +212 -0
  32. package/build/esm/Carousel/Slider.js.map +1 -0
  33. package/build/esm/Carousel/SliderItem.d.ts +12 -0
  34. package/build/esm/Carousel/SliderItem.js +41 -0
  35. package/build/esm/Carousel/SliderItem.js.map +1 -0
  36. package/build/esm/Carousel/context.d.ts +10 -0
  37. package/build/esm/Carousel/context.js +8 -0
  38. package/build/esm/Carousel/context.js.map +1 -0
  39. package/build/esm/Carousel/getSliderParams.d.ts +9 -0
  40. package/build/esm/Carousel/getSliderParams.js +85 -0
  41. package/build/esm/Carousel/getSliderParams.js.map +1 -0
  42. package/build/esm/Carousel/index.d.ts +7 -0
  43. package/build/esm/Carousel/index.js +8 -0
  44. package/build/esm/Carousel/index.js.map +1 -0
  45. package/build/esm/Carousel/useCarouselGestures.d.ts +30 -0
  46. package/build/esm/Carousel/useCarouselGestures.js +33 -0
  47. package/build/esm/Carousel/useCarouselGestures.js.map +1 -0
  48. package/build/esm/CheckBox/CheckBox.d.ts +7 -7
  49. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  50. package/build/esm/CheckBox/index.d.ts +1 -1
  51. package/build/esm/CheckBox/index.js.map +1 -1
  52. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  53. package/build/esm/ComboBox/Combobox.js.map +1 -1
  54. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  55. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  56. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  57. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  58. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  59. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  60. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  61. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  62. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  63. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  64. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  65. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  66. package/build/esm/ComboBox/cities.d.ts +5 -5
  67. package/build/esm/ComboBox/cities.js.map +1 -1
  68. package/build/esm/ComboBox/context.d.ts +30 -30
  69. package/build/esm/ComboBox/context.js.map +1 -1
  70. package/build/esm/ComboBox/hooks.d.ts +37 -37
  71. package/build/esm/ComboBox/hooks.js.map +1 -1
  72. package/build/esm/ComboBox/index.d.ts +8 -8
  73. package/build/esm/ComboBox/index.js.map +1 -1
  74. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  75. package/build/esm/ComboBox/makeHash.js.map +1 -1
  76. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  77. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  78. package/build/esm/DatePicker/DatePicker.d.ts +24 -0
  79. package/build/esm/DatePicker/DatePicker.js +101 -0
  80. package/build/esm/DatePicker/DatePicker.js.map +1 -0
  81. package/build/esm/DatePicker/DatePickerSelect.d.ts +8 -0
  82. package/build/esm/DatePicker/DatePickerSelect.js +201 -0
  83. package/build/esm/DatePicker/DatePickerSelect.js.map +1 -0
  84. package/build/esm/DatePicker/RangeDatePicker.d.ts +28 -0
  85. package/build/esm/DatePicker/RangeDatePicker.js +94 -0
  86. package/build/esm/DatePicker/RangeDatePicker.js.map +1 -0
  87. package/build/esm/DatePicker/adjustDates.d.ts +4 -0
  88. package/build/esm/DatePicker/adjustDates.js +18 -0
  89. package/build/esm/DatePicker/adjustDates.js.map +1 -0
  90. package/build/esm/DatePicker/contexts.d.ts +31 -0
  91. package/build/esm/DatePicker/contexts.js +15 -0
  92. package/build/esm/DatePicker/contexts.js.map +1 -0
  93. package/build/esm/DatePicker/dateTypes.d.ts +2 -0
  94. package/build/esm/DatePicker/dateTypes.js +2 -0
  95. package/build/esm/DatePicker/dateTypes.js.map +1 -0
  96. package/build/esm/DatePicker/hooks.d.ts +36 -0
  97. package/build/esm/DatePicker/hooks.js +98 -0
  98. package/build/esm/DatePicker/hooks.js.map +1 -0
  99. package/build/esm/DatePicker/index.d.ts +5 -0
  100. package/build/esm/DatePicker/index.js +6 -0
  101. package/build/esm/DatePicker/index.js.map +1 -0
  102. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  103. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  104. package/build/esm/FocusLock/index.d.ts +1 -1
  105. package/build/esm/FocusLock/index.js.map +1 -1
  106. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  107. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  108. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  109. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  110. package/build/esm/List/List.d.ts +7 -7
  111. package/build/esm/List/List.js.map +1 -1
  112. package/build/esm/List/ListItem.d.ts +7 -7
  113. package/build/esm/List/ListItem.js.map +1 -1
  114. package/build/esm/List/context.d.ts +4 -4
  115. package/build/esm/List/context.js.map +1 -1
  116. package/build/esm/List/index.d.ts +2 -2
  117. package/build/esm/List/index.js.map +1 -1
  118. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  119. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  120. package/build/esm/Menu/Menu.d.ts +10 -10
  121. package/build/esm/Menu/Menu.js.map +1 -1
  122. package/build/esm/Menu/MenuButton.d.ts +11 -11
  123. package/build/esm/Menu/MenuButton.js.map +1 -1
  124. package/build/esm/Menu/MenuItem.d.ts +8 -8
  125. package/build/esm/Menu/MenuItem.js.map +1 -1
  126. package/build/esm/Menu/MenuList.d.ts +7 -7
  127. package/build/esm/Menu/MenuList.js.map +1 -1
  128. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  129. package/build/esm/Menu/MenuPopover.js.map +1 -1
  130. package/build/esm/Menu/context.d.ts +25 -25
  131. package/build/esm/Menu/context.js.map +1 -1
  132. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  133. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  134. package/build/esm/Menu/index.d.ts +6 -6
  135. package/build/esm/Menu/index.js.map +1 -1
  136. package/build/esm/Menu/scope.d.ts +1 -1
  137. package/build/esm/Menu/scope.js.map +1 -1
  138. package/build/esm/Modal/Modal.d.ts +9 -9
  139. package/build/esm/Modal/Modal.js.map +1 -1
  140. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  141. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  142. package/build/esm/Modal/index.d.ts +2 -2
  143. package/build/esm/Modal/index.js.map +1 -1
  144. package/build/esm/Popper/Popper.d.ts +35 -35
  145. package/build/esm/Popper/Popper.js.map +1 -1
  146. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  147. package/build/esm/Popper/PopperArrow.js.map +1 -1
  148. package/build/esm/Popper/context.d.ts +6 -6
  149. package/build/esm/Popper/context.js.map +1 -1
  150. package/build/esm/Popper/index.d.ts +3 -3
  151. package/build/esm/Popper/index.js.map +1 -1
  152. package/build/esm/Portal/Portal.d.ts +7 -6
  153. package/build/esm/Portal/Portal.js +6 -3
  154. package/build/esm/Portal/Portal.js.map +1 -1
  155. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -0
  156. package/build/esm/Portal/PortalSelectorProvider.js +13 -0
  157. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -0
  158. package/build/esm/Portal/index.d.ts +2 -1
  159. package/build/esm/Portal/index.js +1 -0
  160. package/build/esm/Portal/index.js.map +1 -1
  161. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  162. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  163. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  164. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  165. package/build/esm/RadioButton/context.d.ts +9 -9
  166. package/build/esm/RadioButton/context.js.map +1 -1
  167. package/build/esm/RadioButton/index.d.ts +2 -2
  168. package/build/esm/RadioButton/index.js.map +1 -1
  169. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  170. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  171. package/build/esm/SkipNav/index.d.ts +1 -1
  172. package/build/esm/SkipNav/index.js.map +1 -1
  173. package/build/esm/Slider/Slider.d.ts +197 -197
  174. package/build/esm/Slider/Slider.js +82 -82
  175. package/build/esm/Slider/Slider.js.map +1 -1
  176. package/build/esm/Slider/index.d.ts +1 -1
  177. package/build/esm/Slider/index.js.map +1 -1
  178. package/build/esm/Spinner/Spinner.d.ts +12 -12
  179. package/build/esm/Spinner/Spinner.js.map +1 -1
  180. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  181. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  182. package/build/esm/Spinner/context.d.ts +12 -12
  183. package/build/esm/Spinner/context.js.map +1 -1
  184. package/build/esm/Spinner/index.d.ts +2 -2
  185. package/build/esm/Spinner/index.js.map +1 -1
  186. package/build/esm/Tabs/Tab.d.ts +7 -7
  187. package/build/esm/Tabs/Tab.js.map +1 -1
  188. package/build/esm/Tabs/TabList.d.ts +9 -9
  189. package/build/esm/Tabs/TabList.js.map +1 -1
  190. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  191. package/build/esm/Tabs/TabPanel.js.map +1 -1
  192. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  193. package/build/esm/Tabs/TabPanels.js.map +1 -1
  194. package/build/esm/Tabs/Tabs.d.ts +10 -10
  195. package/build/esm/Tabs/Tabs.js.map +1 -1
  196. package/build/esm/Tabs/context.d.ts +17 -17
  197. package/build/esm/Tabs/context.js.map +1 -1
  198. package/build/esm/Tabs/index.d.ts +5 -5
  199. package/build/esm/Tabs/index.js.map +1 -1
  200. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  201. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  202. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  203. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  204. package/build/esm/Tooltip/index.d.ts +1 -1
  205. package/build/esm/Tooltip/index.js.map +1 -1
  206. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  207. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  208. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  209. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  210. package/build/esm/hooks/index.d.ts +13 -13
  211. package/build/esm/hooks/index.js.map +1 -1
  212. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  213. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  214. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  215. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  216. package/build/esm/hooks/useControlledState.d.ts +3 -3
  217. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  218. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  219. package/build/esm/hooks/useFocusState.d.ts +11 -11
  220. package/build/esm/hooks/useFocusState.js.map +1 -1
  221. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  222. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  223. package/build/esm/hooks/useId.d.ts +1 -0
  224. package/build/esm/hooks/useId.js +25 -0
  225. package/build/esm/hooks/useId.js.map +1 -0
  226. package/build/esm/hooks/useMeasure.d.ts +7 -7
  227. package/build/esm/hooks/useMeasure.js.map +1 -1
  228. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  229. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  230. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  231. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  232. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  233. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  234. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  235. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  236. package/build/esm/hooks/useScope.d.ts +11 -11
  237. package/build/esm/hooks/useScope.js.map +1 -1
  238. package/build/esm/hooks/useThrottle.d.ts +1 -1
  239. package/build/esm/hooks/useThrottle.js.map +1 -1
  240. package/build/esm/index.d.ts +15 -15
  241. package/build/esm/index.js.map +1 -1
  242. package/build/esm/utils/assign-ref.d.ts +3 -3
  243. package/build/esm/utils/assign-ref.js.map +1 -1
  244. package/build/esm/utils/assignRef.d.ts +3 -0
  245. package/build/esm/utils/assignRef.js +25 -0
  246. package/build/esm/utils/assignRef.js.map +1 -0
  247. package/build/esm/utils/can-use-dom.d.ts +1 -1
  248. package/build/esm/utils/can-use-dom.js.map +1 -1
  249. package/build/esm/utils/clamp.d.ts +1 -1
  250. package/build/esm/utils/clamp.js.map +1 -1
  251. package/build/esm/utils/context.d.ts +7 -7
  252. package/build/esm/utils/context.js.map +1 -1
  253. package/build/esm/utils/create-subscription.d.ts +4 -4
  254. package/build/esm/utils/create-subscription.js.map +1 -1
  255. package/build/esm/utils/get-circular-index.d.ts +1 -1
  256. package/build/esm/utils/get-circular-index.js.map +1 -1
  257. package/build/esm/utils/getCircularIndex.d.ts +1 -0
  258. package/build/esm/utils/getCircularIndex.js +8 -0
  259. package/build/esm/utils/getCircularIndex.js.map +1 -0
  260. package/build/esm/utils/index.d.ts +10 -10
  261. package/build/esm/utils/index.js.map +1 -1
  262. package/build/esm/utils/is-right-click.d.ts +6 -6
  263. package/build/esm/utils/is-right-click.js +4 -4
  264. package/build/esm/utils/is-right-click.js.map +1 -1
  265. package/build/esm/utils/owner-document.d.ts +7 -7
  266. package/build/esm/utils/owner-document.js +5 -5
  267. package/build/esm/utils/owner-document.js.map +1 -1
  268. package/build/esm/utils/polymorphic.d.ts +39 -39
  269. package/build/esm/utils/polymorphic.js.map +1 -1
  270. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  271. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  272. package/build/esm/utils/rubberBandClamp.d.ts +2 -0
  273. package/build/esm/utils/rubberBandClamp.js +20 -0
  274. package/build/esm/utils/rubberBandClamp.js.map +1 -0
  275. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  276. package/build/esm/utils/use-stable-callback.js +16 -16
  277. package/build/esm/utils/use-stable-callback.js.map +1 -1
  278. package/build/esm/utils/wrap-event.d.ts +3 -3
  279. package/build/esm/utils/wrap-event.js.map +1 -1
  280. package/build/esm/utils/wrapEvent.d.ts +3 -0
  281. package/build/esm/utils/wrapEvent.js +16 -0
  282. package/build/esm/utils/wrapEvent.js.map +1 -0
  283. package/build/tsconfig-build.tsbuildinfo +1 -1
  284. package/build/tsconfig.tsbuildinfo +7270 -0
  285. package/package.json +2 -2
  286. package/src/Accordion/Accordion.story.tsx +74 -74
  287. package/src/Accordion/Accordion.tsx +59 -59
  288. package/src/Accordion/AccordionBody.tsx +52 -52
  289. package/src/Accordion/AccordionHeader.tsx +167 -167
  290. package/src/Accordion/AccordionItem.tsx +50 -50
  291. package/src/Accordion/context.ts +37 -37
  292. package/src/Accordion/index.ts +4 -4
  293. package/src/Accordion/scopeQuery.ts +7 -7
  294. package/src/Accordion/styles.css +21 -21
  295. package/src/CheckBox/CheckBox.tsx +41 -41
  296. package/src/CheckBox/index.ts +1 -1
  297. package/src/ComboBox/ComboBox.story.tsx +120 -120
  298. package/src/ComboBox/Combobox.tsx +148 -148
  299. package/src/ComboBox/ComboboxButton.tsx +61 -61
  300. package/src/ComboBox/ComboboxInput.tsx +187 -187
  301. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  302. package/src/ComboBox/ComboboxList.tsx +47 -47
  303. package/src/ComboBox/ComboboxOption.tsx +111 -111
  304. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  305. package/src/ComboBox/cities.ts +23194 -23194
  306. package/src/ComboBox/context.ts +35 -35
  307. package/src/ComboBox/hooks.tsx +451 -451
  308. package/src/ComboBox/index.ts +8 -8
  309. package/src/ComboBox/makeHash.ts +19 -19
  310. package/src/ComboBox/scopeQuery.ts +6 -6
  311. package/src/ComboBox/styles.css +32 -32
  312. package/src/FocusLock/FocusLock.tsx +66 -66
  313. package/src/FocusLock/index.ts +1 -1
  314. package/src/FocusLock/tabUtils.ts +40 -40
  315. package/src/FocusLock/useFocusLock.ts +56 -56
  316. package/src/List/List.story.tsx +18 -18
  317. package/src/List/List.tsx +17 -17
  318. package/src/List/ListItem.tsx +23 -23
  319. package/src/List/context.ts +19 -19
  320. package/src/List/index.ts +2 -2
  321. package/src/Menu/ContextMenu.story.tsx +73 -73
  322. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  323. package/src/Menu/Menu.story.tsx +160 -160
  324. package/src/Menu/Menu.tsx +83 -83
  325. package/src/Menu/MenuButton.tsx +83 -83
  326. package/src/Menu/MenuComplex.story.tsx +58 -58
  327. package/src/Menu/MenuItem.tsx +88 -88
  328. package/src/Menu/MenuList.tsx +254 -254
  329. package/src/Menu/MenuPopover.tsx +35 -35
  330. package/src/Menu/context.ts +44 -44
  331. package/src/Menu/fixtures/countryList.ts +198 -198
  332. package/src/Menu/index.ts +6 -6
  333. package/src/Menu/scope.ts +7 -7
  334. package/src/Menu/styles.css +42 -42
  335. package/src/Modal/Modal.story.tsx +258 -258
  336. package/src/Modal/Modal.tsx +48 -48
  337. package/src/Modal/ModalBackdrop.tsx +78 -78
  338. package/src/Modal/NavDrawer.story.tsx +158 -158
  339. package/src/Modal/index.ts +2 -2
  340. package/src/Modal/styles.css +46 -46
  341. package/src/Popper/Popper.story.tsx +263 -263
  342. package/src/Popper/Popper.tsx +154 -154
  343. package/src/Popper/PopperArrow.tsx +35 -35
  344. package/src/Popper/context.ts +10 -10
  345. package/src/Popper/index.ts +3 -3
  346. package/src/Popper/styles.css +60 -60
  347. package/src/Portal/Portal.tsx +31 -20
  348. package/src/Portal/PortalSelectorProvider.tsx +24 -0
  349. package/src/Portal/index.ts +6 -1
  350. package/src/RadioButton/RadioButton.story.tsx +77 -77
  351. package/src/RadioButton/RadioButton.tsx +55 -55
  352. package/src/RadioButton/RadioGroup.tsx +60 -60
  353. package/src/RadioButton/context.ts +17 -17
  354. package/src/RadioButton/index.ts +2 -2
  355. package/src/SkipNav/SkipNav.tsx +16 -16
  356. package/src/SkipNav/index.tsx +1 -1
  357. package/src/Slider/Slider.story.tsx +45 -45
  358. package/src/Slider/Slider.tsx +1120 -1120
  359. package/src/Slider/index.ts +1 -1
  360. package/src/Slider/styles.css +131 -131
  361. package/src/Spinner/Spinner.story.tsx +31 -31
  362. package/src/Spinner/Spinner.tsx +117 -117
  363. package/src/Spinner/SpinnerButton.tsx +54 -54
  364. package/src/Spinner/context.ts +20 -20
  365. package/src/Spinner/index.ts +2 -2
  366. package/src/Spinner/styles.css +23 -23
  367. package/src/Tabs/Tab.story.tsx +80 -80
  368. package/src/Tabs/Tab.tsx +136 -136
  369. package/src/Tabs/TabList.tsx +71 -71
  370. package/src/Tabs/TabPanel.tsx +53 -53
  371. package/src/Tabs/TabPanels.tsx +30 -30
  372. package/src/Tabs/Tabs.tsx +46 -46
  373. package/src/Tabs/context.ts +30 -30
  374. package/src/Tabs/index.tsx +5 -5
  375. package/src/Tabs/scopeQuery.ts +6 -6
  376. package/src/Tooltip/Tooltip.story.tsx +61 -61
  377. package/src/Tooltip/Tooltip.tsx +50 -50
  378. package/src/Tooltip/index.ts +1 -1
  379. package/src/Tooltip/stateMachine.ts +192 -192
  380. package/src/Tooltip/styles.css +17 -17
  381. package/src/Tooltip/useTooltip.ts +136 -136
  382. package/src/hooks/index.ts +13 -13
  383. package/src/hooks/useAutoFocus.ts +22 -22
  384. package/src/hooks/useChildrenCounter.ts +51 -51
  385. package/src/hooks/useFocusReturn.ts +43 -43
  386. package/src/hooks/useFocusState.ts +30 -30
  387. package/src/hooks/useGestureHandlers.ts +286 -286
  388. package/src/hooks/useMeasure.ts +33 -33
  389. package/src/hooks/useOnClickOutside.ts +32 -32
  390. package/src/hooks/useOnKeyDown.ts +19 -19
  391. package/src/hooks/useReducerMachine.ts +60 -60
  392. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  393. package/src/hooks/useScope.ts +52 -52
  394. package/src/hooks/useThrottle.ts +19 -19
  395. package/src/index.ts +20 -20
  396. package/src/utils/assign-ref.ts +27 -27
  397. package/src/utils/can-use-dom.ts +7 -7
  398. package/src/utils/clamp.ts +3 -3
  399. package/src/utils/context.tsx +48 -48
  400. package/src/utils/create-subscription.ts +16 -16
  401. package/src/utils/get-circular-index.ts +7 -7
  402. package/src/utils/index.ts +10 -10
  403. package/src/utils/is-right-click.ts +14 -14
  404. package/src/utils/owner-document.ts +13 -13
  405. package/src/utils/polymorphic.ts +78 -78
  406. package/src/utils/rubber-band-clamp.ts +25 -25
  407. package/src/utils/use-stable-callback.ts +58 -58
  408. package/src/utils/wrap-event.ts +22 -22
@@ -1,77 +1,77 @@
1
- import { useState } from 'react';
2
-
3
- import { RadioButton, RadioGroup } from './';
4
- // import './styles.css';
5
-
6
- export default {
7
- title: 'components/RadioButton',
8
- };
9
-
10
- const UncontrolledExample = (props: { initialValue?: string }) => {
11
- return (
12
- <RadioGroup defaultValue={props.initialValue}>
13
- <label>
14
- <RadioButton value="highly agree" />
15
- Highly agree
16
- </label>
17
- <label>
18
- <RadioButton value="agree" />
19
- Agree
20
- </label>
21
- <label>
22
- <RadioButton value="neutral" />
23
- Neutral
24
- </label>
25
- <label>
26
- <RadioButton value="disagree" />
27
- Disagree
28
- </label>
29
- <label>
30
- <RadioButton value="highly disagree" />
31
- Highly disagree
32
- </label>
33
- </RadioGroup>
34
- );
35
- };
36
-
37
- const ControlledExample = () => {
38
- const [value, setValue] = useState(undefined);
39
-
40
- return (
41
- <RadioGroup
42
- value={value}
43
- onChange={(e, value) => {
44
- setValue(value);
45
- }}
46
- >
47
- <label>
48
- <RadioButton value="highly agree" />
49
- Highly agree
50
- </label>
51
- <label>
52
- <RadioButton value="agree" />
53
- Agree
54
- </label>
55
- <label>
56
- <RadioButton value="neutral" />
57
- Neutral
58
- </label>
59
- <label>
60
- <RadioButton value="disagree" />
61
- Disagree
62
- </label>
63
- <label>
64
- <RadioButton value="highly disagree" />
65
- Highly disagree
66
- </label>
67
- </RadioGroup>
68
- );
69
- };
70
-
71
- export const Uncontrolled = () => <UncontrolledExample />;
72
-
73
- export const UncontrolledWithInitialValue = () => (
74
- <UncontrolledExample initialValue={'highly disagree'} />
75
- );
76
-
77
- export const Controlled = () => <ControlledExample />;
1
+ import { useState } from 'react';
2
+
3
+ import { RadioButton, RadioGroup } from './';
4
+ // import './styles.css';
5
+
6
+ export default {
7
+ title: 'components/RadioButton',
8
+ };
9
+
10
+ const UncontrolledExample = (props: { initialValue?: string }) => {
11
+ return (
12
+ <RadioGroup defaultValue={props.initialValue}>
13
+ <label>
14
+ <RadioButton value="highly agree" />
15
+ Highly agree
16
+ </label>
17
+ <label>
18
+ <RadioButton value="agree" />
19
+ Agree
20
+ </label>
21
+ <label>
22
+ <RadioButton value="neutral" />
23
+ Neutral
24
+ </label>
25
+ <label>
26
+ <RadioButton value="disagree" />
27
+ Disagree
28
+ </label>
29
+ <label>
30
+ <RadioButton value="highly disagree" />
31
+ Highly disagree
32
+ </label>
33
+ </RadioGroup>
34
+ );
35
+ };
36
+
37
+ const ControlledExample = () => {
38
+ const [value, setValue] = useState(undefined);
39
+
40
+ return (
41
+ <RadioGroup
42
+ value={value}
43
+ onChange={(e, value) => {
44
+ setValue(value);
45
+ }}
46
+ >
47
+ <label>
48
+ <RadioButton value="highly agree" />
49
+ Highly agree
50
+ </label>
51
+ <label>
52
+ <RadioButton value="agree" />
53
+ Agree
54
+ </label>
55
+ <label>
56
+ <RadioButton value="neutral" />
57
+ Neutral
58
+ </label>
59
+ <label>
60
+ <RadioButton value="disagree" />
61
+ Disagree
62
+ </label>
63
+ <label>
64
+ <RadioButton value="highly disagree" />
65
+ Highly disagree
66
+ </label>
67
+ </RadioGroup>
68
+ );
69
+ };
70
+
71
+ export const Uncontrolled = () => <UncontrolledExample />;
72
+
73
+ export const UncontrolledWithInitialValue = () => (
74
+ <UncontrolledExample initialValue={'highly disagree'} />
75
+ );
76
+
77
+ export const Controlled = () => <ControlledExample />;
@@ -1,55 +1,55 @@
1
- import type {
2
- ChangeEvent,
3
- ElementType,
4
- InputHTMLAttributes,
5
- ReactNode,
6
- } from 'react';
7
- import { forwardRef } from 'react';
8
-
9
- import type { RadioValue } from './context';
10
- import { useRadioGroupContext } from './context';
11
- import { wrapEvent } from '../utils';
12
-
13
- export interface RadioButtonProps
14
- extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {
15
- as?: ElementType<any>;
16
- innerAs?: ElementType<any>;
17
- children?: ReactNode;
18
- checked?: boolean;
19
- value: RadioValue;
20
- }
21
-
22
- export const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(
23
- function RadioButton(props, forwardedRef) {
24
- const {
25
- as: Comp = 'input',
26
- value: valueProp,
27
- onChange: onChangeProp,
28
- checked: checkedProp,
29
- name: nameProp,
30
- ...otherProps
31
- } = props;
32
- const radioGroupContext = useRadioGroupContext();
33
-
34
- const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
35
- radioGroupContext?.onChange?.(e, valueProp);
36
- };
37
-
38
- const checked = radioGroupContext
39
- ? radioGroupContext.value === valueProp
40
- : checkedProp;
41
-
42
- return (
43
- <Comp
44
- ref={forwardedRef}
45
- type="radio"
46
- checked={checked}
47
- aria-checked={String(checked)}
48
- name={radioGroupContext ? radioGroupContext.name : nameProp}
49
- onChange={wrapEvent(onChangeProp, handleChange)}
50
- value={valueProp}
51
- {...otherProps}
52
- />
53
- );
54
- }
55
- );
1
+ import type {
2
+ ChangeEvent,
3
+ ElementType,
4
+ InputHTMLAttributes,
5
+ ReactNode,
6
+ } from 'react';
7
+ import { forwardRef } from 'react';
8
+
9
+ import type { RadioValue } from './context';
10
+ import { useRadioGroupContext } from './context';
11
+ import { wrapEvent } from '../utils';
12
+
13
+ export interface RadioButtonProps
14
+ extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {
15
+ as?: ElementType<any>;
16
+ innerAs?: ElementType<any>;
17
+ children?: ReactNode;
18
+ checked?: boolean;
19
+ value: RadioValue;
20
+ }
21
+
22
+ export const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(
23
+ function RadioButton(props, forwardedRef) {
24
+ const {
25
+ as: Comp = 'input',
26
+ value: valueProp,
27
+ onChange: onChangeProp,
28
+ checked: checkedProp,
29
+ name: nameProp,
30
+ ...otherProps
31
+ } = props;
32
+ const radioGroupContext = useRadioGroupContext();
33
+
34
+ const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
35
+ radioGroupContext?.onChange?.(e, valueProp);
36
+ };
37
+
38
+ const checked = radioGroupContext
39
+ ? radioGroupContext.value === valueProp
40
+ : checkedProp;
41
+
42
+ return (
43
+ <Comp
44
+ ref={forwardedRef}
45
+ type="radio"
46
+ checked={checked}
47
+ aria-checked={String(checked)}
48
+ name={radioGroupContext ? radioGroupContext.name : nameProp}
49
+ onChange={wrapEvent(onChangeProp, handleChange)}
50
+ value={valueProp}
51
+ {...otherProps}
52
+ />
53
+ );
54
+ }
55
+ );
@@ -1,60 +1,60 @@
1
- import type {
2
- ChangeEvent,
3
- ElementType,
4
- HTMLAttributes,
5
- ReactNode,
6
- } from 'react';
7
- import { forwardRef, useId } from 'react';
8
-
9
- import type { RadioValue } from './context';
10
- import { RadioGroupProvider } from './context';
11
- import { useControlledState } from '../hooks';
12
-
13
- export interface RadioGroupProps
14
- extends Omit<
15
- HTMLAttributes<HTMLDivElement>,
16
- 'onChange' | 'value' | 'defaultValue'
17
- > {
18
- as?: ElementType<any>;
19
- innerAs?: ElementType<any>;
20
- children?: ReactNode;
21
- value?: RadioValue;
22
- defaultValue?: RadioValue;
23
- name?: string;
24
- onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
25
- }
26
-
27
- export const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(
28
- function RadioGroup(props, forwardedRef) {
29
- const {
30
- as: Comp = 'div',
31
- onChange: onChangeProp,
32
- value: valueProp,
33
- name: nameProp,
34
- defaultValue,
35
- ...otherProps
36
- } = props;
37
- const [value, onChange] = useControlledState(
38
- valueProp,
39
- onChangeProp,
40
- defaultValue,
41
- (setValue) => (e, value) => {
42
- setValue(value);
43
- }
44
- );
45
-
46
- const fallbackId = useId();
47
-
48
- return (
49
- <RadioGroupProvider
50
- value={{
51
- value,
52
- onChange,
53
- name: nameProp || fallbackId,
54
- }}
55
- >
56
- <Comp ref={forwardedRef} role="radiogroup" {...otherProps} />
57
- </RadioGroupProvider>
58
- );
59
- }
60
- );
1
+ import type {
2
+ ChangeEvent,
3
+ ElementType,
4
+ HTMLAttributes,
5
+ ReactNode,
6
+ } from 'react';
7
+ import { forwardRef, useId } from 'react';
8
+
9
+ import type { RadioValue } from './context';
10
+ import { RadioGroupProvider } from './context';
11
+ import { useControlledState } from '../hooks';
12
+
13
+ export interface RadioGroupProps
14
+ extends Omit<
15
+ HTMLAttributes<HTMLDivElement>,
16
+ 'onChange' | 'value' | 'defaultValue'
17
+ > {
18
+ as?: ElementType<any>;
19
+ innerAs?: ElementType<any>;
20
+ children?: ReactNode;
21
+ value?: RadioValue;
22
+ defaultValue?: RadioValue;
23
+ name?: string;
24
+ onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
25
+ }
26
+
27
+ export const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(
28
+ function RadioGroup(props, forwardedRef) {
29
+ const {
30
+ as: Comp = 'div',
31
+ onChange: onChangeProp,
32
+ value: valueProp,
33
+ name: nameProp,
34
+ defaultValue,
35
+ ...otherProps
36
+ } = props;
37
+ const [value, onChange] = useControlledState(
38
+ valueProp,
39
+ onChangeProp,
40
+ defaultValue,
41
+ (setValue) => (e, value) => {
42
+ setValue(value);
43
+ }
44
+ );
45
+
46
+ const fallbackId = useId();
47
+
48
+ return (
49
+ <RadioGroupProvider
50
+ value={{
51
+ value,
52
+ onChange,
53
+ name: nameProp || fallbackId,
54
+ }}
55
+ >
56
+ <Comp ref={forwardedRef} role="radiogroup" {...otherProps} />
57
+ </RadioGroupProvider>
58
+ );
59
+ }
60
+ );
@@ -1,17 +1,17 @@
1
- import type { ChangeEvent } from 'react';
2
- import { createContext, useContext } from 'react';
3
-
4
- export type RadioValue = string | number | boolean;
5
-
6
- // RadioGroup Component
7
- export interface RadioGroupContextProps {
8
- value: RadioValue | undefined;
9
- onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
10
- name: string | undefined;
11
- }
12
-
13
- const RadioGroupContext = createContext<RadioGroupContextProps | undefined>(
14
- undefined
15
- );
16
- export const { Provider: RadioGroupProvider } = RadioGroupContext;
17
- export const useRadioGroupContext = () => useContext(RadioGroupContext);
1
+ import type { ChangeEvent } from 'react';
2
+ import { createContext, useContext } from 'react';
3
+
4
+ export type RadioValue = string | number | boolean;
5
+
6
+ // RadioGroup Component
7
+ export interface RadioGroupContextProps {
8
+ value: RadioValue | undefined;
9
+ onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
10
+ name: string | undefined;
11
+ }
12
+
13
+ const RadioGroupContext = createContext<RadioGroupContextProps | undefined>(
14
+ undefined
15
+ );
16
+ export const { Provider: RadioGroupProvider } = RadioGroupContext;
17
+ export const useRadioGroupContext = () => useContext(RadioGroupContext);
@@ -1,2 +1,2 @@
1
- export * from './RadioButton';
2
- export * from './RadioGroup';
1
+ export * from './RadioButton';
2
+ export * from './RadioGroup';
@@ -1,16 +1,16 @@
1
- import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
- import { forwardRef } from 'react';
3
-
4
- export interface SkipNavProps extends HTMLAttributes<HTMLDivElement> {
5
- as?: ElementType<any>;
6
- innerAs?: ElementType<any>;
7
- children?: ReactNode;
8
- }
9
-
10
- export const SkipNav = forwardRef<HTMLDivElement, SkipNavProps>(
11
- function SkipNav(props, forwardedRef) {
12
- const { as: Comp = 'div', ...otherProps } = props;
13
-
14
- return <Comp ref={forwardedRef} {...otherProps} />;
15
- }
16
- );
1
+ import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ import { forwardRef } from 'react';
3
+
4
+ export interface SkipNavProps extends HTMLAttributes<HTMLDivElement> {
5
+ as?: ElementType<any>;
6
+ innerAs?: ElementType<any>;
7
+ children?: ReactNode;
8
+ }
9
+
10
+ export const SkipNav = forwardRef<HTMLDivElement, SkipNavProps>(
11
+ function SkipNav(props, forwardedRef) {
12
+ const { as: Comp = 'div', ...otherProps } = props;
13
+
14
+ return <Comp ref={forwardedRef} {...otherProps} />;
15
+ }
16
+ );
@@ -1 +1 @@
1
- export * from './SkipNav';
1
+ export * from './SkipNav';
@@ -1,45 +1,45 @@
1
- import { Slider, SliderMarker } from './';
2
- import './styles.css';
3
- import '../Tooltip/styles.css';
4
-
5
- export default { title: 'components/Slider' };
6
-
7
- export function Basic() {
8
- return (
9
- <div>
10
- <Slider id="gee-whiz">
11
- <SliderMarker value={10}>
12
- <span>10</span>
13
- </SliderMarker>
14
- <SliderMarker value={90}>
15
- <span>90</span>
16
- </SliderMarker>
17
- </Slider>
18
- <br />
19
- <br />
20
- <br />
21
- <Slider defaultValue={30} disabled />
22
- </div>
23
- );
24
- }
25
-
26
- export function WithSteps() {
27
- const step = 20;
28
- const min = 0;
29
- const max = 120;
30
- const range = max - min;
31
- const steps = Array.from(Array(range / step + 1).keys());
32
-
33
- return (
34
- <Slider as="span" step={step} min={min} max={max}>
35
- {steps.map((key) => {
36
- const value = key * step;
37
- return (
38
- <SliderMarker key={key} value={value}>
39
- <span>{value}</span>
40
- </SliderMarker>
41
- );
42
- })}
43
- </Slider>
44
- );
45
- }
1
+ import { Slider, SliderMarker } from './';
2
+ import './styles.css';
3
+ import '../Tooltip/styles.css';
4
+
5
+ export default { title: 'components/Slider' };
6
+
7
+ export function Basic() {
8
+ return (
9
+ <div>
10
+ <Slider id="gee-whiz">
11
+ <SliderMarker value={10}>
12
+ <span>10</span>
13
+ </SliderMarker>
14
+ <SliderMarker value={90}>
15
+ <span>90</span>
16
+ </SliderMarker>
17
+ </Slider>
18
+ <br />
19
+ <br />
20
+ <br />
21
+ <Slider defaultValue={30} disabled />
22
+ </div>
23
+ );
24
+ }
25
+
26
+ export function WithSteps() {
27
+ const step = 20;
28
+ const min = 0;
29
+ const max = 120;
30
+ const range = max - min;
31
+ const steps = Array.from(Array(range / step + 1).keys());
32
+
33
+ return (
34
+ <Slider as="span" step={step} min={min} max={max}>
35
+ {steps.map((key) => {
36
+ const value = key * step;
37
+ return (
38
+ <SliderMarker key={key} value={value}>
39
+ <span>{value}</span>
40
+ </SliderMarker>
41
+ );
42
+ })}
43
+ </Slider>
44
+ );
45
+ }