@basic-ui/core 0.0.53 → 0.0.54

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 (400) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +88 -88
  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/CheckBox/CheckBox.d.ts +7 -7
  19. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  20. package/build/esm/CheckBox/index.d.ts +1 -1
  21. package/build/esm/CheckBox/index.js.map +1 -1
  22. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  23. package/build/esm/ComboBox/Combobox.js.map +1 -1
  24. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  25. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  26. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  27. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  28. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  29. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  30. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  31. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  32. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  33. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  34. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  35. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  36. package/build/esm/ComboBox/cities.d.ts +5 -5
  37. package/build/esm/ComboBox/cities.js.map +1 -1
  38. package/build/esm/ComboBox/context.d.ts +30 -30
  39. package/build/esm/ComboBox/context.js.map +1 -1
  40. package/build/esm/ComboBox/hooks.d.ts +37 -37
  41. package/build/esm/ComboBox/hooks.js.map +1 -1
  42. package/build/esm/ComboBox/index.d.ts +8 -8
  43. package/build/esm/ComboBox/index.js.map +1 -1
  44. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  45. package/build/esm/ComboBox/makeHash.js.map +1 -1
  46. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  47. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  48. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  49. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  50. package/build/esm/FocusLock/index.d.ts +1 -1
  51. package/build/esm/FocusLock/index.js.map +1 -1
  52. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  53. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  54. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  55. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  56. package/build/esm/List/List.d.ts +7 -7
  57. package/build/esm/List/List.js.map +1 -1
  58. package/build/esm/List/ListItem.d.ts +7 -7
  59. package/build/esm/List/ListItem.js.map +1 -1
  60. package/build/esm/List/context.d.ts +4 -4
  61. package/build/esm/List/context.js.map +1 -1
  62. package/build/esm/List/index.d.ts +2 -2
  63. package/build/esm/List/index.js.map +1 -1
  64. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  65. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  66. package/build/esm/Menu/Menu.d.ts +10 -10
  67. package/build/esm/Menu/Menu.js.map +1 -1
  68. package/build/esm/Menu/MenuButton.d.ts +11 -11
  69. package/build/esm/Menu/MenuButton.js.map +1 -1
  70. package/build/esm/Menu/MenuItem.d.ts +8 -8
  71. package/build/esm/Menu/MenuItem.js.map +1 -1
  72. package/build/esm/Menu/MenuList.d.ts +7 -7
  73. package/build/esm/Menu/MenuList.js.map +1 -1
  74. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  75. package/build/esm/Menu/MenuPopover.js.map +1 -1
  76. package/build/esm/Menu/context.d.ts +25 -25
  77. package/build/esm/Menu/context.js.map +1 -1
  78. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  79. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  80. package/build/esm/Menu/index.d.ts +6 -6
  81. package/build/esm/Menu/index.js.map +1 -1
  82. package/build/esm/Menu/scope.d.ts +1 -1
  83. package/build/esm/Menu/scope.js.map +1 -1
  84. package/build/esm/Modal/Modal.d.ts +9 -9
  85. package/build/esm/Modal/Modal.js.map +1 -1
  86. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  87. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  88. package/build/esm/Modal/index.d.ts +2 -2
  89. package/build/esm/Modal/index.js.map +1 -1
  90. package/build/esm/Popper/Popper.d.ts +35 -35
  91. package/build/esm/Popper/Popper.js +1 -2
  92. package/build/esm/Popper/Popper.js.map +1 -1
  93. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  94. package/build/esm/Popper/PopperArrow.js.map +1 -1
  95. package/build/esm/Popper/context.d.ts +6 -6
  96. package/build/esm/Popper/context.js.map +1 -1
  97. package/build/esm/Popper/index.d.ts +3 -3
  98. package/build/esm/Popper/index.js.map +1 -1
  99. package/build/esm/Portal/Portal.d.ts +7 -7
  100. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -8
  101. package/build/esm/Portal/index.d.ts +2 -2
  102. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  103. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  104. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  105. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  106. package/build/esm/RadioButton/context.d.ts +9 -9
  107. package/build/esm/RadioButton/context.js.map +1 -1
  108. package/build/esm/RadioButton/index.d.ts +2 -2
  109. package/build/esm/RadioButton/index.js.map +1 -1
  110. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  111. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  112. package/build/esm/SkipNav/index.d.ts +1 -1
  113. package/build/esm/SkipNav/index.js.map +1 -1
  114. package/build/esm/Slider/Slider.d.ts +197 -197
  115. package/build/esm/Slider/Slider.js +82 -82
  116. package/build/esm/Slider/Slider.js.map +1 -1
  117. package/build/esm/Slider/index.d.ts +1 -1
  118. package/build/esm/Slider/index.js.map +1 -1
  119. package/build/esm/Spinner/Spinner.d.ts +12 -12
  120. package/build/esm/Spinner/Spinner.js.map +1 -1
  121. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  122. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  123. package/build/esm/Spinner/context.d.ts +12 -12
  124. package/build/esm/Spinner/context.js.map +1 -1
  125. package/build/esm/Spinner/index.d.ts +2 -2
  126. package/build/esm/Spinner/index.js.map +1 -1
  127. package/build/esm/Tabs/Tab.d.ts +7 -7
  128. package/build/esm/Tabs/Tab.js.map +1 -1
  129. package/build/esm/Tabs/TabList.d.ts +9 -9
  130. package/build/esm/Tabs/TabList.js.map +1 -1
  131. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  132. package/build/esm/Tabs/TabPanel.js.map +1 -1
  133. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  134. package/build/esm/Tabs/TabPanels.js.map +1 -1
  135. package/build/esm/Tabs/Tabs.d.ts +10 -10
  136. package/build/esm/Tabs/Tabs.js.map +1 -1
  137. package/build/esm/Tabs/context.d.ts +17 -17
  138. package/build/esm/Tabs/context.js.map +1 -1
  139. package/build/esm/Tabs/index.d.ts +5 -5
  140. package/build/esm/Tabs/index.js.map +1 -1
  141. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  142. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  143. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  144. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  145. package/build/esm/Tooltip/index.d.ts +1 -1
  146. package/build/esm/Tooltip/index.js.map +1 -1
  147. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  148. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  149. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  150. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  151. package/build/esm/hooks/index.d.ts +13 -13
  152. package/build/esm/hooks/index.js.map +1 -1
  153. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  154. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  155. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  156. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  157. package/build/esm/hooks/useControlledState.d.ts +3 -3
  158. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  159. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  160. package/build/esm/hooks/useFocusState.d.ts +11 -11
  161. package/build/esm/hooks/useFocusState.js.map +1 -1
  162. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  163. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  164. package/build/esm/hooks/useMeasure.d.ts +7 -7
  165. package/build/esm/hooks/useMeasure.js.map +1 -1
  166. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  167. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  168. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  169. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  170. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  171. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  172. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  173. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  174. package/build/esm/hooks/useScope.d.ts +11 -11
  175. package/build/esm/hooks/useScope.js.map +1 -1
  176. package/build/esm/hooks/useThrottle.d.ts +1 -1
  177. package/build/esm/hooks/useThrottle.js.map +1 -1
  178. package/build/esm/index.d.ts +15 -15
  179. package/build/esm/index.js.map +1 -1
  180. package/build/esm/utils/assign-ref.d.ts +3 -3
  181. package/build/esm/utils/assign-ref.js.map +1 -1
  182. package/build/esm/utils/can-use-dom.d.ts +1 -1
  183. package/build/esm/utils/can-use-dom.js.map +1 -1
  184. package/build/esm/utils/clamp.d.ts +1 -1
  185. package/build/esm/utils/clamp.js.map +1 -1
  186. package/build/esm/utils/context.d.ts +7 -7
  187. package/build/esm/utils/context.js.map +1 -1
  188. package/build/esm/utils/create-subscription.d.ts +4 -4
  189. package/build/esm/utils/create-subscription.js.map +1 -1
  190. package/build/esm/utils/get-circular-index.d.ts +1 -1
  191. package/build/esm/utils/get-circular-index.js.map +1 -1
  192. package/build/esm/utils/index.d.ts +10 -10
  193. package/build/esm/utils/index.js.map +1 -1
  194. package/build/esm/utils/is-right-click.d.ts +6 -6
  195. package/build/esm/utils/is-right-click.js +4 -4
  196. package/build/esm/utils/is-right-click.js.map +1 -1
  197. package/build/esm/utils/owner-document.d.ts +7 -7
  198. package/build/esm/utils/owner-document.js +5 -5
  199. package/build/esm/utils/owner-document.js.map +1 -1
  200. package/build/esm/utils/polymorphic.d.ts +39 -39
  201. package/build/esm/utils/polymorphic.js.map +1 -1
  202. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  203. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  204. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  205. package/build/esm/utils/use-stable-callback.js +16 -16
  206. package/build/esm/utils/use-stable-callback.js.map +1 -1
  207. package/build/esm/utils/wrap-event.d.ts +3 -3
  208. package/build/esm/utils/wrap-event.js.map +1 -1
  209. package/build/tsconfig-build.tsbuildinfo +1 -1
  210. package/package.json +2 -2
  211. package/src/Accordion/Accordion.story.tsx +74 -74
  212. package/src/Accordion/Accordion.tsx +59 -59
  213. package/src/Accordion/AccordionBody.tsx +52 -52
  214. package/src/Accordion/AccordionHeader.tsx +167 -167
  215. package/src/Accordion/AccordionItem.tsx +50 -50
  216. package/src/Accordion/context.ts +37 -37
  217. package/src/Accordion/index.ts +4 -4
  218. package/src/Accordion/scopeQuery.ts +7 -7
  219. package/src/Accordion/styles.css +21 -21
  220. package/src/CheckBox/CheckBox.tsx +41 -41
  221. package/src/CheckBox/index.ts +1 -1
  222. package/src/ComboBox/ComboBox.story.tsx +120 -120
  223. package/src/ComboBox/Combobox.tsx +148 -148
  224. package/src/ComboBox/ComboboxButton.tsx +61 -61
  225. package/src/ComboBox/ComboboxInput.tsx +187 -187
  226. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  227. package/src/ComboBox/ComboboxList.tsx +47 -47
  228. package/src/ComboBox/ComboboxOption.tsx +111 -111
  229. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  230. package/src/ComboBox/cities.ts +23194 -23194
  231. package/src/ComboBox/context.ts +35 -35
  232. package/src/ComboBox/hooks.tsx +451 -451
  233. package/src/ComboBox/index.ts +8 -8
  234. package/src/ComboBox/makeHash.ts +19 -19
  235. package/src/ComboBox/scopeQuery.ts +6 -6
  236. package/src/ComboBox/styles.css +32 -32
  237. package/src/FocusLock/FocusLock.tsx +66 -66
  238. package/src/FocusLock/index.ts +1 -1
  239. package/src/FocusLock/tabUtils.ts +40 -40
  240. package/src/FocusLock/useFocusLock.ts +56 -56
  241. package/src/List/List.story.tsx +18 -18
  242. package/src/List/List.tsx +17 -17
  243. package/src/List/ListItem.tsx +23 -23
  244. package/src/List/context.ts +19 -19
  245. package/src/List/index.ts +2 -2
  246. package/src/Menu/ContextMenu.story.tsx +73 -73
  247. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  248. package/src/Menu/Menu.story.tsx +160 -160
  249. package/src/Menu/Menu.tsx +83 -83
  250. package/src/Menu/MenuButton.tsx +83 -83
  251. package/src/Menu/MenuComplex.story.tsx +58 -58
  252. package/src/Menu/MenuItem.tsx +88 -88
  253. package/src/Menu/MenuList.tsx +254 -254
  254. package/src/Menu/MenuPopover.tsx +35 -35
  255. package/src/Menu/context.ts +44 -44
  256. package/src/Menu/fixtures/countryList.ts +198 -198
  257. package/src/Menu/index.ts +6 -6
  258. package/src/Menu/scope.ts +7 -7
  259. package/src/Menu/styles.css +42 -42
  260. package/src/Modal/Modal.story.tsx +258 -258
  261. package/src/Modal/Modal.tsx +48 -48
  262. package/src/Modal/ModalBackdrop.tsx +78 -78
  263. package/src/Modal/NavDrawer.story.tsx +158 -158
  264. package/src/Modal/index.ts +2 -2
  265. package/src/Modal/styles.css +46 -46
  266. package/src/Popper/Popper.story.tsx +263 -263
  267. package/src/Popper/Popper.tsx +1 -1
  268. package/src/Popper/PopperArrow.tsx +35 -35
  269. package/src/Popper/context.ts +10 -10
  270. package/src/Popper/index.ts +3 -3
  271. package/src/Popper/styles.css +60 -60
  272. package/src/RadioButton/RadioButton.story.tsx +77 -77
  273. package/src/RadioButton/RadioButton.tsx +55 -55
  274. package/src/RadioButton/RadioGroup.tsx +60 -60
  275. package/src/RadioButton/context.ts +17 -17
  276. package/src/RadioButton/index.ts +2 -2
  277. package/src/SkipNav/SkipNav.tsx +16 -16
  278. package/src/SkipNav/index.tsx +1 -1
  279. package/src/Slider/Slider.story.tsx +45 -45
  280. package/src/Slider/Slider.tsx +1120 -1120
  281. package/src/Slider/index.ts +1 -1
  282. package/src/Slider/styles.css +131 -131
  283. package/src/Spinner/Spinner.story.tsx +31 -31
  284. package/src/Spinner/Spinner.tsx +117 -117
  285. package/src/Spinner/SpinnerButton.tsx +54 -54
  286. package/src/Spinner/context.ts +20 -20
  287. package/src/Spinner/index.ts +2 -2
  288. package/src/Spinner/styles.css +23 -23
  289. package/src/Tabs/Tab.story.tsx +80 -80
  290. package/src/Tabs/Tab.tsx +136 -136
  291. package/src/Tabs/TabList.tsx +71 -71
  292. package/src/Tabs/TabPanel.tsx +53 -53
  293. package/src/Tabs/TabPanels.tsx +30 -30
  294. package/src/Tabs/Tabs.tsx +46 -46
  295. package/src/Tabs/context.ts +30 -30
  296. package/src/Tabs/index.tsx +5 -5
  297. package/src/Tabs/scopeQuery.ts +6 -6
  298. package/src/Tooltip/Tooltip.story.tsx +61 -61
  299. package/src/Tooltip/Tooltip.tsx +50 -50
  300. package/src/Tooltip/index.ts +1 -1
  301. package/src/Tooltip/stateMachine.ts +192 -192
  302. package/src/Tooltip/styles.css +17 -17
  303. package/src/Tooltip/useTooltip.ts +136 -136
  304. package/src/hooks/index.ts +13 -13
  305. package/src/hooks/useAutoFocus.ts +22 -22
  306. package/src/hooks/useChildrenCounter.ts +51 -51
  307. package/src/hooks/useFocusReturn.ts +43 -43
  308. package/src/hooks/useFocusState.ts +30 -30
  309. package/src/hooks/useGestureHandlers.ts +286 -286
  310. package/src/hooks/useMeasure.ts +33 -33
  311. package/src/hooks/useOnClickOutside.ts +32 -32
  312. package/src/hooks/useOnKeyDown.ts +19 -19
  313. package/src/hooks/useReducerMachine.ts +60 -60
  314. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  315. package/src/hooks/useScope.ts +52 -52
  316. package/src/hooks/useThrottle.ts +19 -19
  317. package/src/index.ts +20 -20
  318. package/src/utils/assign-ref.ts +27 -27
  319. package/src/utils/can-use-dom.ts +7 -7
  320. package/src/utils/clamp.ts +3 -3
  321. package/src/utils/context.tsx +48 -48
  322. package/src/utils/create-subscription.ts +16 -16
  323. package/src/utils/get-circular-index.ts +7 -7
  324. package/src/utils/index.ts +10 -10
  325. package/src/utils/is-right-click.ts +14 -14
  326. package/src/utils/owner-document.ts +13 -13
  327. package/src/utils/polymorphic.ts +78 -78
  328. package/src/utils/rubber-band-clamp.ts +25 -25
  329. package/src/utils/use-stable-callback.ts +58 -58
  330. package/src/utils/wrap-event.ts +22 -22
  331. package/build/esm/Carousel/Carousel.d.ts +0 -9
  332. package/build/esm/Carousel/Carousel.js +0 -38
  333. package/build/esm/Carousel/Carousel.js.map +0 -1
  334. package/build/esm/Carousel/Fader.d.ts +0 -14
  335. package/build/esm/Carousel/Fader.js +0 -76
  336. package/build/esm/Carousel/Fader.js.map +0 -1
  337. package/build/esm/Carousel/FaderItem.d.ts +0 -5
  338. package/build/esm/Carousel/FaderItem.js +0 -16
  339. package/build/esm/Carousel/FaderItem.js.map +0 -1
  340. package/build/esm/Carousel/Preloader.d.ts +0 -7
  341. package/build/esm/Carousel/Preloader.js +0 -70
  342. package/build/esm/Carousel/Preloader.js.map +0 -1
  343. package/build/esm/Carousel/Slider.d.ts +0 -14
  344. package/build/esm/Carousel/Slider.js +0 -212
  345. package/build/esm/Carousel/Slider.js.map +0 -1
  346. package/build/esm/Carousel/SliderItem.d.ts +0 -12
  347. package/build/esm/Carousel/SliderItem.js +0 -41
  348. package/build/esm/Carousel/SliderItem.js.map +0 -1
  349. package/build/esm/Carousel/context.d.ts +0 -10
  350. package/build/esm/Carousel/context.js +0 -8
  351. package/build/esm/Carousel/context.js.map +0 -1
  352. package/build/esm/Carousel/getSliderParams.d.ts +0 -9
  353. package/build/esm/Carousel/getSliderParams.js +0 -85
  354. package/build/esm/Carousel/getSliderParams.js.map +0 -1
  355. package/build/esm/Carousel/index.d.ts +0 -7
  356. package/build/esm/Carousel/index.js +0 -8
  357. package/build/esm/Carousel/index.js.map +0 -1
  358. package/build/esm/Carousel/useCarouselGestures.d.ts +0 -30
  359. package/build/esm/Carousel/useCarouselGestures.js +0 -33
  360. package/build/esm/Carousel/useCarouselGestures.js.map +0 -1
  361. package/build/esm/DatePicker/DatePicker.d.ts +0 -24
  362. package/build/esm/DatePicker/DatePicker.js +0 -101
  363. package/build/esm/DatePicker/DatePicker.js.map +0 -1
  364. package/build/esm/DatePicker/DatePickerSelect.d.ts +0 -8
  365. package/build/esm/DatePicker/DatePickerSelect.js +0 -201
  366. package/build/esm/DatePicker/DatePickerSelect.js.map +0 -1
  367. package/build/esm/DatePicker/RangeDatePicker.d.ts +0 -28
  368. package/build/esm/DatePicker/RangeDatePicker.js +0 -94
  369. package/build/esm/DatePicker/RangeDatePicker.js.map +0 -1
  370. package/build/esm/DatePicker/adjustDates.d.ts +0 -4
  371. package/build/esm/DatePicker/adjustDates.js +0 -18
  372. package/build/esm/DatePicker/adjustDates.js.map +0 -1
  373. package/build/esm/DatePicker/contexts.d.ts +0 -31
  374. package/build/esm/DatePicker/contexts.js +0 -15
  375. package/build/esm/DatePicker/contexts.js.map +0 -1
  376. package/build/esm/DatePicker/dateTypes.d.ts +0 -2
  377. package/build/esm/DatePicker/dateTypes.js +0 -2
  378. package/build/esm/DatePicker/dateTypes.js.map +0 -1
  379. package/build/esm/DatePicker/hooks.d.ts +0 -36
  380. package/build/esm/DatePicker/hooks.js +0 -98
  381. package/build/esm/DatePicker/hooks.js.map +0 -1
  382. package/build/esm/DatePicker/index.d.ts +0 -5
  383. package/build/esm/DatePicker/index.js +0 -6
  384. package/build/esm/DatePicker/index.js.map +0 -1
  385. package/build/esm/hooks/useId.d.ts +0 -1
  386. package/build/esm/hooks/useId.js +0 -25
  387. package/build/esm/hooks/useId.js.map +0 -1
  388. package/build/esm/utils/assignRef.d.ts +0 -3
  389. package/build/esm/utils/assignRef.js +0 -25
  390. package/build/esm/utils/assignRef.js.map +0 -1
  391. package/build/esm/utils/getCircularIndex.d.ts +0 -1
  392. package/build/esm/utils/getCircularIndex.js +0 -8
  393. package/build/esm/utils/getCircularIndex.js.map +0 -1
  394. package/build/esm/utils/rubberBandClamp.d.ts +0 -2
  395. package/build/esm/utils/rubberBandClamp.js +0 -20
  396. package/build/esm/utils/rubberBandClamp.js.map +0 -1
  397. package/build/esm/utils/wrapEvent.d.ts +0 -3
  398. package/build/esm/utils/wrapEvent.js +0 -16
  399. package/build/esm/utils/wrapEvent.js.map +0 -1
  400. package/build/tsconfig.tsbuildinfo +0 -7270
@@ -1,32 +1,32 @@
1
- import type { RefObject } from 'react';
2
- import { useEffect, useCallback } from 'react';
3
-
4
- export function useOnClickOutside(
5
- ref: RefObject<any>,
6
- handler: (e: PointerEvent) => void,
7
- active = true
8
- ) {
9
- const listener = useCallback(
10
- (event: PointerEvent) => {
11
- // Do nothing if clicking ref's element or descendent elements
12
- if (!ref.current || ref.current.contains(event.target)) {
13
- return;
14
- }
15
-
16
- handler && handler(event);
17
- },
18
- [ref, handler]
19
- );
20
-
21
- useEffect(() => {
22
- if (active) {
23
- document.addEventListener('pointerup', listener);
24
-
25
- return () => {
26
- document.removeEventListener('pointerup', listener);
27
- };
28
- }
29
-
30
- return;
31
- }, [listener, active]);
32
- }
1
+ import type { RefObject } from 'react';
2
+ import { useEffect, useCallback } from 'react';
3
+
4
+ export function useOnClickOutside(
5
+ ref: RefObject<any>,
6
+ handler: (e: PointerEvent) => void,
7
+ active = true
8
+ ) {
9
+ const listener = useCallback(
10
+ (event: PointerEvent) => {
11
+ // Do nothing if clicking ref's element or descendent elements
12
+ if (!ref.current || ref.current.contains(event.target)) {
13
+ return;
14
+ }
15
+
16
+ handler && handler(event);
17
+ },
18
+ [ref, handler]
19
+ );
20
+
21
+ useEffect(() => {
22
+ if (active) {
23
+ document.addEventListener('pointerup', listener);
24
+
25
+ return () => {
26
+ document.removeEventListener('pointerup', listener);
27
+ };
28
+ }
29
+
30
+ return;
31
+ }, [listener, active]);
32
+ }
@@ -1,19 +1,19 @@
1
- import { useEffect } from 'react';
2
-
3
- export function useOnKeyDown(
4
- ownerWindow: Window,
5
- handler: (e: KeyboardEvent) => void,
6
- active = true
7
- ) {
8
- useEffect(() => {
9
- if (active) {
10
- ownerWindow.addEventListener('keydown', handler);
11
-
12
- return () => {
13
- ownerWindow.removeEventListener('keydown', handler);
14
- };
15
- }
16
-
17
- return;
18
- }, [ownerWindow, active, handler]);
19
- }
1
+ import { useEffect } from 'react';
2
+
3
+ export function useOnKeyDown(
4
+ ownerWindow: Window,
5
+ handler: (e: KeyboardEvent) => void,
6
+ active = true
7
+ ) {
8
+ useEffect(() => {
9
+ if (active) {
10
+ ownerWindow.addEventListener('keydown', handler);
11
+
12
+ return () => {
13
+ ownerWindow.removeEventListener('keydown', handler);
14
+ };
15
+ }
16
+
17
+ return;
18
+ }, [ownerWindow, active, handler]);
19
+ }
@@ -1,60 +1,60 @@
1
- import type { Reducer } from 'react';
2
- import { useReducer } from 'react';
3
-
4
- export interface StateChart<STypes extends string, ATypes extends string> {
5
- initial: STypes;
6
- states: {
7
- [state in STypes]?: {
8
- enter?: (prevState: STypes, payload: any) => void;
9
- leave?: (nextState: STypes, payload: any) => void;
10
- on: { [action in ATypes]?: STypes };
11
- };
12
- };
13
- }
14
-
15
- export interface StateMachineState<STypes, ATypes> {
16
- state: STypes;
17
- lastActionType: ATypes;
18
- }
19
-
20
- export interface StateMachineAction<STypes, ATypes> {
21
- type: ATypes;
22
- nextState: STypes;
23
- }
24
-
25
- type TransitionType<ATypes extends string> = (
26
- action: ATypes,
27
- payload: any
28
- ) => void;
29
-
30
- // This manages transitions between states with a built in reducer to manage
31
- // the data that goes with those transitions.
32
- export function useReducerMachine<
33
- S extends StateMachineState<STypes, ATypes>,
34
- A extends StateMachineAction<STypes, ATypes>,
35
- STypes extends string,
36
- ATypes extends string
37
- >(
38
- chart: StateChart<STypes, ATypes>,
39
- reducer: Reducer<S, A>,
40
- initialData: S
41
- ): [STypes, Omit<S, 'state'>, TransitionType<ATypes>] {
42
- const [reducerState, dispatch] = useReducer(reducer, initialData);
43
- const { state, ...data } = reducerState;
44
-
45
- const transition: TransitionType<ATypes> = (action, payload = {}) => {
46
- const currentState = chart.states[state];
47
- if (!currentState) {
48
- throw new Error(`Unknown currentState "${state}"`);
49
- }
50
-
51
- const nextState: STypes | undefined = currentState.on[action];
52
- if (!nextState) {
53
- throw new Error(`Unknown action "${action}" for state "${state}"`);
54
- }
55
-
56
- dispatch({ type: action, nextState, ...payload } as any);
57
- };
58
-
59
- return [state, data, transition];
60
- }
1
+ import type { Reducer } from 'react';
2
+ import { useReducer } from 'react';
3
+
4
+ export interface StateChart<STypes extends string, ATypes extends string> {
5
+ initial: STypes;
6
+ states: {
7
+ [state in STypes]?: {
8
+ enter?: (prevState: STypes, payload: any) => void;
9
+ leave?: (nextState: STypes, payload: any) => void;
10
+ on: { [action in ATypes]?: STypes };
11
+ };
12
+ };
13
+ }
14
+
15
+ export interface StateMachineState<STypes, ATypes> {
16
+ state: STypes;
17
+ lastActionType: ATypes;
18
+ }
19
+
20
+ export interface StateMachineAction<STypes, ATypes> {
21
+ type: ATypes;
22
+ nextState: STypes;
23
+ }
24
+
25
+ type TransitionType<ATypes extends string> = (
26
+ action: ATypes,
27
+ payload: any
28
+ ) => void;
29
+
30
+ // This manages transitions between states with a built in reducer to manage
31
+ // the data that goes with those transitions.
32
+ export function useReducerMachine<
33
+ S extends StateMachineState<STypes, ATypes>,
34
+ A extends StateMachineAction<STypes, ATypes>,
35
+ STypes extends string,
36
+ ATypes extends string
37
+ >(
38
+ chart: StateChart<STypes, ATypes>,
39
+ reducer: Reducer<S, A>,
40
+ initialData: S
41
+ ): [STypes, Omit<S, 'state'>, TransitionType<ATypes>] {
42
+ const [reducerState, dispatch] = useReducer(reducer, initialData);
43
+ const { state, ...data } = reducerState;
44
+
45
+ const transition: TransitionType<ATypes> = (action, payload = {}) => {
46
+ const currentState = chart.states[state];
47
+ if (!currentState) {
48
+ throw new Error(`Unknown currentState "${state}"`);
49
+ }
50
+
51
+ const nextState: STypes | undefined = currentState.on[action];
52
+ if (!nextState) {
53
+ throw new Error(`Unknown action "${action}" for state "${state}"`);
54
+ }
55
+
56
+ dispatch({ type: action, nextState, ...payload } as any);
57
+ };
58
+
59
+ return [state, data, transition];
60
+ }
@@ -1,39 +1,39 @@
1
- import type { RefObject } from 'react';
2
- import { useEffect } from 'react';
3
-
4
- import { getOwnerDocument } from '../utils';
5
-
6
- let scrollBodyCount = 0;
7
- export function useRemoveBodyScroll(
8
- open: boolean,
9
- elementRef: RefObject<HTMLElement | null>
10
- ) {
11
- useEffect(() => {
12
- if (open && elementRef.current) {
13
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
- const ownerDocument = getOwnerDocument(elementRef.current)!;
15
- const ownerWindow = ownerDocument.defaultView || window;
16
- scrollBodyCount += 1;
17
-
18
- // calculate scrollbar width if mounting the first scroll lock
19
- let scrollBarWidth = 0;
20
- if (scrollBodyCount === 1) {
21
- scrollBarWidth =
22
- ownerWindow.innerWidth - ownerDocument.body.clientWidth;
23
- }
24
-
25
- ownerDocument.body.style.overflow = 'hidden';
26
- if (scrollBarWidth > 0) {
27
- ownerDocument.body.style.marginRight = `${scrollBarWidth}px`;
28
- }
29
-
30
- return () => {
31
- scrollBodyCount -= 1;
32
- if (scrollBodyCount === 0) {
33
- ownerDocument.body.style.overflow = '';
34
- ownerDocument.body.style.marginRight = '';
35
- }
36
- };
37
- }
38
- }, [elementRef, open]);
39
- }
1
+ import type { RefObject } from 'react';
2
+ import { useEffect } from 'react';
3
+
4
+ import { getOwnerDocument } from '../utils';
5
+
6
+ let scrollBodyCount = 0;
7
+ export function useRemoveBodyScroll(
8
+ open: boolean,
9
+ elementRef: RefObject<HTMLElement | null>
10
+ ) {
11
+ useEffect(() => {
12
+ if (open && elementRef.current) {
13
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
+ const ownerDocument = getOwnerDocument(elementRef.current)!;
15
+ const ownerWindow = ownerDocument.defaultView || window;
16
+ scrollBodyCount += 1;
17
+
18
+ // calculate scrollbar width if mounting the first scroll lock
19
+ let scrollBarWidth = 0;
20
+ if (scrollBodyCount === 1) {
21
+ scrollBarWidth =
22
+ ownerWindow.innerWidth - ownerDocument.body.clientWidth;
23
+ }
24
+
25
+ ownerDocument.body.style.overflow = 'hidden';
26
+ if (scrollBarWidth > 0) {
27
+ ownerDocument.body.style.marginRight = `${scrollBarWidth}px`;
28
+ }
29
+
30
+ return () => {
31
+ scrollBodyCount -= 1;
32
+ if (scrollBodyCount === 0) {
33
+ ownerDocument.body.style.overflow = '';
34
+ ownerDocument.body.style.marginRight = '';
35
+ }
36
+ };
37
+ }
38
+ }, [elementRef, open]);
39
+ }
@@ -1,52 +1,52 @@
1
- import type { MutableRefObject } from 'react';
2
- import { useRef } from 'react';
3
-
4
- export type ScopeMatcherFn = (
5
- nodeType: string,
6
- props: {
7
- [key: string]: string;
8
- },
9
- instance: Element
10
- ) => boolean;
11
-
12
- export type Scope<T extends HTMLElement> = MutableRefObject<{
13
- queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];
14
- }>;
15
-
16
- export function getScope<T extends HTMLElement, R extends HTMLElement>(
17
- rootRef: MutableRefObject<R | undefined | null>
18
- ) {
19
- const queryAllNodes = (matcherFn: ScopeMatcherFn) => {
20
- if (!rootRef.current) {
21
- return [];
22
- }
23
-
24
- const allNodes = rootRef.current.querySelectorAll('*');
25
-
26
- const filtered: T[] = [];
27
- allNodes.forEach((node) => {
28
- const props = {};
29
- const { attributes } = node;
30
- for (let i = 0; i < attributes.length; i++) {
31
- const attr = attributes[i];
32
- props[attr.name] = attr.value;
33
- }
34
-
35
- if (matcherFn(node.tagName.toLowerCase(), props, node)) {
36
- filtered.push(node as T);
37
- }
38
- });
39
-
40
- return filtered;
41
- };
42
-
43
- return { queryAllNodes };
44
- }
45
-
46
- export function useScope<T extends HTMLElement, R extends HTMLElement>(
47
- rootRef: MutableRefObject<R | undefined | null>
48
- ): Scope<T> {
49
- const scope: Scope<T> = useRef(getScope(rootRef));
50
-
51
- return scope;
52
- }
1
+ import type { MutableRefObject } from 'react';
2
+ import { useRef } from 'react';
3
+
4
+ export type ScopeMatcherFn = (
5
+ nodeType: string,
6
+ props: {
7
+ [key: string]: string;
8
+ },
9
+ instance: Element
10
+ ) => boolean;
11
+
12
+ export type Scope<T extends HTMLElement> = MutableRefObject<{
13
+ queryAllNodes: (matcherFn: ScopeMatcherFn) => T[];
14
+ }>;
15
+
16
+ export function getScope<T extends HTMLElement, R extends HTMLElement>(
17
+ rootRef: MutableRefObject<R | undefined | null>
18
+ ) {
19
+ const queryAllNodes = (matcherFn: ScopeMatcherFn) => {
20
+ if (!rootRef.current) {
21
+ return [];
22
+ }
23
+
24
+ const allNodes = rootRef.current.querySelectorAll('*');
25
+
26
+ const filtered: T[] = [];
27
+ allNodes.forEach((node) => {
28
+ const props = {};
29
+ const { attributes } = node;
30
+ for (let i = 0; i < attributes.length; i++) {
31
+ const attr = attributes[i];
32
+ props[attr.name] = attr.value;
33
+ }
34
+
35
+ if (matcherFn(node.tagName.toLowerCase(), props, node)) {
36
+ filtered.push(node as T);
37
+ }
38
+ });
39
+
40
+ return filtered;
41
+ };
42
+
43
+ return { queryAllNodes };
44
+ }
45
+
46
+ export function useScope<T extends HTMLElement, R extends HTMLElement>(
47
+ rootRef: MutableRefObject<R | undefined | null>
48
+ ): Scope<T> {
49
+ const scope: Scope<T> = useRef(getScope(rootRef));
50
+
51
+ return scope;
52
+ }
@@ -1,19 +1,19 @@
1
- import { useState, useEffect, useRef } from 'react';
2
-
3
- export function useThrottle<T>(value: T, limit: number) {
4
- const [throttledValue, setThrottledValue] = useState(value);
5
- const lastRan = useRef(Date.now());
6
-
7
- useEffect(() => {
8
- const handler = setTimeout(() => {
9
- setThrottledValue(value);
10
- lastRan.current = Date.now();
11
- }, limit - (Date.now() - lastRan.current));
12
-
13
- return () => {
14
- clearTimeout(handler);
15
- };
16
- }, [value, limit]);
17
-
18
- return throttledValue;
19
- }
1
+ import { useState, useEffect, useRef } from 'react';
2
+
3
+ export function useThrottle<T>(value: T, limit: number) {
4
+ const [throttledValue, setThrottledValue] = useState(value);
5
+ const lastRan = useRef(Date.now());
6
+
7
+ useEffect(() => {
8
+ const handler = setTimeout(() => {
9
+ setThrottledValue(value);
10
+ lastRan.current = Date.now();
11
+ }, limit - (Date.now() - lastRan.current));
12
+
13
+ return () => {
14
+ clearTimeout(handler);
15
+ };
16
+ }, [value, limit]);
17
+
18
+ return throttledValue;
19
+ }
package/src/index.ts CHANGED
@@ -1,20 +1,20 @@
1
- // Components
2
- export * from './Accordion';
3
- export * from './CheckBox';
4
- export * from './ComboBox';
5
- export * from './FocusLock';
6
- export * from './Menu';
7
- export * from './Modal';
8
- export * from './Popper';
9
- export * from './Portal';
10
- export * from './RadioButton';
11
- export * from './Slider';
12
- export * from './Spinner';
13
- export * from './Tabs';
14
- export * from './Tooltip';
15
-
16
- // General React utilities
17
- export * from './utils';
18
-
19
- // Hooks
20
- export * from './hooks';
1
+ // Components
2
+ export * from './Accordion';
3
+ export * from './CheckBox';
4
+ export * from './ComboBox';
5
+ export * from './FocusLock';
6
+ export * from './Menu';
7
+ export * from './Modal';
8
+ export * from './Popper';
9
+ export * from './Portal';
10
+ export * from './RadioButton';
11
+ export * from './Slider';
12
+ export * from './Spinner';
13
+ export * from './Tabs';
14
+ export * from './Tooltip';
15
+
16
+ // General React utilities
17
+ export * from './utils';
18
+
19
+ // Hooks
20
+ export * from './hooks';
@@ -1,27 +1,27 @@
1
- import type { MutableRefObject, RefCallback } from 'react';
2
-
3
- export function assignRef<T>(
4
- ref: MutableRefObject<T> | RefCallback<T> | null | undefined,
5
- value: T
6
- ) {
7
- if (ref == null) return;
8
- if (typeof ref === 'function') {
9
- ref(value);
10
- } else {
11
- try {
12
- ref.current = value;
13
- } catch (error) {
14
- throw new Error(`Cannot assign value "${value}" to ref "${ref}"`);
15
- }
16
- }
17
- }
18
-
19
- export function assignMultipleRefs<T>(
20
- ...refs: (MutableRefObject<T> | RefCallback<T> | null | undefined)[]
21
- ): RefCallback<T> {
22
- return (node: T | null) => {
23
- refs.forEach((ref) => {
24
- assignRef(ref, node);
25
- });
26
- };
27
- }
1
+ import type { MutableRefObject, RefCallback } from 'react';
2
+
3
+ export function assignRef<T>(
4
+ ref: MutableRefObject<T> | RefCallback<T> | null | undefined,
5
+ value: T
6
+ ) {
7
+ if (ref == null) return;
8
+ if (typeof ref === 'function') {
9
+ ref(value);
10
+ } else {
11
+ try {
12
+ ref.current = value;
13
+ } catch (error) {
14
+ throw new Error(`Cannot assign value "${value}" to ref "${ref}"`);
15
+ }
16
+ }
17
+ }
18
+
19
+ export function assignMultipleRefs<T>(
20
+ ...refs: (MutableRefObject<T> | RefCallback<T> | null | undefined)[]
21
+ ): RefCallback<T> {
22
+ return (node: T | null) => {
23
+ refs.forEach((ref) => {
24
+ assignRef(ref, node);
25
+ });
26
+ };
27
+ }
@@ -1,7 +1,7 @@
1
- export function canUseDOM() {
2
- return !!(
3
- typeof window !== 'undefined' &&
4
- window.document &&
5
- window.document.createElement
6
- );
7
- }
1
+ export function canUseDOM() {
2
+ return !!(
3
+ typeof window !== 'undefined' &&
4
+ window.document &&
5
+ window.document.createElement
6
+ );
7
+ }
@@ -1,3 +1,3 @@
1
- export function clamp(value: number, min: number, max: number) {
2
- return Math.min(Math.max(value, min), max);
3
- }
1
+ export function clamp(value: number, min: number, max: number) {
2
+ return Math.min(Math.max(value, min), max);
3
+ }
@@ -1,48 +1,48 @@
1
- import type { FC, PropsWithChildren } from 'react';
2
- import {
3
- useMemo,
4
- createContext as ReactCreateContext,
5
- useContext as useReactContext,
6
- } from 'react';
7
-
8
- ////////////////////////////////////////////////////////////////////////////////
9
-
10
- type ContextProvider<T> = FC<PropsWithChildren<T>>;
11
-
12
- export function createContext<ContextValueType extends object | null>(
13
- rootName: string,
14
- defaultContext?: ContextValueType
15
- ): [
16
- ContextProvider<ContextValueType>,
17
- (childName: string) => ContextValueType
18
- ] {
19
- const Ctx = ReactCreateContext<ContextValueType | undefined>(defaultContext);
20
-
21
- function Provider(props: PropsWithChildren<ContextValueType>) {
22
- const { children, ...context } = props;
23
- const value = useMemo(
24
- () => context,
25
- // eslint-disable-next-line react-hooks/exhaustive-deps
26
- Object.values(context)
27
- ) as ContextValueType;
28
- return <Ctx.Provider value={value}>{children}</Ctx.Provider>;
29
- }
30
-
31
- function useContext(childName: string) {
32
- const context = useReactContext(Ctx);
33
- if (context) {
34
- return context;
35
- }
36
- if (defaultContext) {
37
- return defaultContext;
38
- }
39
- throw Error(
40
- `${childName} must be rendered inside of a ${rootName} component.`
41
- );
42
- }
43
-
44
- Ctx.displayName = `${rootName}Context`;
45
- Provider.displayName = `${rootName}Provider`;
46
-
47
- return [Provider, useContext];
48
- }
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import {
3
+ useMemo,
4
+ createContext as ReactCreateContext,
5
+ useContext as useReactContext,
6
+ } from 'react';
7
+
8
+ ////////////////////////////////////////////////////////////////////////////////
9
+
10
+ type ContextProvider<T> = FC<PropsWithChildren<T>>;
11
+
12
+ export function createContext<ContextValueType extends object | null>(
13
+ rootName: string,
14
+ defaultContext?: ContextValueType
15
+ ): [
16
+ ContextProvider<ContextValueType>,
17
+ (childName: string) => ContextValueType
18
+ ] {
19
+ const Ctx = ReactCreateContext<ContextValueType | undefined>(defaultContext);
20
+
21
+ function Provider(props: PropsWithChildren<ContextValueType>) {
22
+ const { children, ...context } = props;
23
+ const value = useMemo(
24
+ () => context,
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ Object.values(context)
27
+ ) as ContextValueType;
28
+ return <Ctx.Provider value={value}>{children}</Ctx.Provider>;
29
+ }
30
+
31
+ function useContext(childName: string) {
32
+ const context = useReactContext(Ctx);
33
+ if (context) {
34
+ return context;
35
+ }
36
+ if (defaultContext) {
37
+ return defaultContext;
38
+ }
39
+ throw Error(
40
+ `${childName} must be rendered inside of a ${rootName} component.`
41
+ );
42
+ }
43
+
44
+ Ctx.displayName = `${rootName}Context`;
45
+ Provider.displayName = `${rootName}Provider`;
46
+
47
+ return [Provider, useContext];
48
+ }