@basic-ui/core 0.0.50 → 0.0.52

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 (337) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +106 -92
  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 +1 -0
  72. package/build/esm/Menu/MenuItem.js.map +1 -1
  73. package/build/esm/Menu/MenuList.d.ts +7 -7
  74. package/build/esm/Menu/MenuList.js +17 -4
  75. package/build/esm/Menu/MenuList.js.map +1 -1
  76. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  77. package/build/esm/Menu/MenuPopover.js.map +1 -1
  78. package/build/esm/Menu/context.d.ts +25 -25
  79. package/build/esm/Menu/context.js.map +1 -1
  80. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  81. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  82. package/build/esm/Menu/index.d.ts +6 -6
  83. package/build/esm/Menu/index.js.map +1 -1
  84. package/build/esm/Menu/scope.d.ts +1 -1
  85. package/build/esm/Menu/scope.js.map +1 -1
  86. package/build/esm/Modal/Modal.d.ts +9 -9
  87. package/build/esm/Modal/Modal.js.map +1 -1
  88. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  89. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  90. package/build/esm/Modal/index.d.ts +2 -2
  91. package/build/esm/Modal/index.js.map +1 -1
  92. package/build/esm/Popper/Popper.d.ts +35 -35
  93. package/build/esm/Popper/Popper.js.map +1 -1
  94. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  95. package/build/esm/Popper/PopperArrow.js.map +1 -1
  96. package/build/esm/Popper/context.d.ts +6 -6
  97. package/build/esm/Popper/context.js.map +1 -1
  98. package/build/esm/Popper/index.d.ts +3 -3
  99. package/build/esm/Popper/index.js.map +1 -1
  100. package/build/esm/Portal/Portal.d.ts +6 -6
  101. package/build/esm/Portal/Portal.js.map +1 -1
  102. package/build/esm/Portal/index.d.ts +1 -1
  103. package/build/esm/Portal/index.js.map +1 -1
  104. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  105. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  106. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  107. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  108. package/build/esm/RadioButton/context.d.ts +9 -9
  109. package/build/esm/RadioButton/context.js.map +1 -1
  110. package/build/esm/RadioButton/index.d.ts +2 -2
  111. package/build/esm/RadioButton/index.js.map +1 -1
  112. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  113. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  114. package/build/esm/SkipNav/index.d.ts +1 -1
  115. package/build/esm/SkipNav/index.js.map +1 -1
  116. package/build/esm/Slider/Slider.d.ts +197 -197
  117. package/build/esm/Slider/Slider.js +82 -82
  118. package/build/esm/Slider/Slider.js.map +1 -1
  119. package/build/esm/Slider/index.d.ts +1 -1
  120. package/build/esm/Slider/index.js.map +1 -1
  121. package/build/esm/Spinner/Spinner.d.ts +12 -12
  122. package/build/esm/Spinner/Spinner.js.map +1 -1
  123. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  124. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  125. package/build/esm/Spinner/context.d.ts +12 -12
  126. package/build/esm/Spinner/context.js.map +1 -1
  127. package/build/esm/Spinner/index.d.ts +2 -2
  128. package/build/esm/Spinner/index.js.map +1 -1
  129. package/build/esm/Tabs/Tab.d.ts +7 -7
  130. package/build/esm/Tabs/Tab.js.map +1 -1
  131. package/build/esm/Tabs/TabList.d.ts +9 -9
  132. package/build/esm/Tabs/TabList.js.map +1 -1
  133. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  134. package/build/esm/Tabs/TabPanel.js.map +1 -1
  135. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  136. package/build/esm/Tabs/TabPanels.js.map +1 -1
  137. package/build/esm/Tabs/Tabs.d.ts +10 -10
  138. package/build/esm/Tabs/Tabs.js.map +1 -1
  139. package/build/esm/Tabs/context.d.ts +17 -17
  140. package/build/esm/Tabs/context.js.map +1 -1
  141. package/build/esm/Tabs/index.d.ts +5 -5
  142. package/build/esm/Tabs/index.js.map +1 -1
  143. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  144. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  145. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  146. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  147. package/build/esm/Tooltip/index.d.ts +1 -1
  148. package/build/esm/Tooltip/index.js.map +1 -1
  149. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  150. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  151. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  152. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  153. package/build/esm/hooks/index.d.ts +13 -13
  154. package/build/esm/hooks/index.js.map +1 -1
  155. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  156. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  157. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  158. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  159. package/build/esm/hooks/useControlledState.d.ts +3 -3
  160. package/build/esm/hooks/useControlledState.js +1 -1
  161. package/build/esm/hooks/useControlledState.js.map +1 -1
  162. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  163. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  164. package/build/esm/hooks/useFocusState.d.ts +11 -11
  165. package/build/esm/hooks/useFocusState.js.map +1 -1
  166. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  167. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  168. package/build/esm/hooks/useMeasure.d.ts +7 -7
  169. package/build/esm/hooks/useMeasure.js.map +1 -1
  170. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  171. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  172. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  173. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  174. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  175. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  176. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  177. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  178. package/build/esm/hooks/useScope.d.ts +11 -11
  179. package/build/esm/hooks/useScope.js.map +1 -1
  180. package/build/esm/hooks/useThrottle.d.ts +1 -1
  181. package/build/esm/hooks/useThrottle.js.map +1 -1
  182. package/build/esm/index.d.ts +15 -15
  183. package/build/esm/index.js.map +1 -1
  184. package/build/esm/utils/assign-ref.d.ts +3 -3
  185. package/build/esm/utils/assign-ref.js.map +1 -1
  186. package/build/esm/utils/can-use-dom.d.ts +1 -1
  187. package/build/esm/utils/can-use-dom.js.map +1 -1
  188. package/build/esm/utils/clamp.d.ts +1 -1
  189. package/build/esm/utils/clamp.js.map +1 -1
  190. package/build/esm/utils/context.d.ts +7 -7
  191. package/build/esm/utils/context.js.map +1 -1
  192. package/build/esm/utils/create-subscription.d.ts +4 -4
  193. package/build/esm/utils/create-subscription.js.map +1 -1
  194. package/build/esm/utils/get-circular-index.d.ts +1 -1
  195. package/build/esm/utils/get-circular-index.js.map +1 -1
  196. package/build/esm/utils/index.d.ts +10 -10
  197. package/build/esm/utils/index.js.map +1 -1
  198. package/build/esm/utils/is-right-click.d.ts +6 -6
  199. package/build/esm/utils/is-right-click.js +4 -4
  200. package/build/esm/utils/is-right-click.js.map +1 -1
  201. package/build/esm/utils/owner-document.d.ts +7 -7
  202. package/build/esm/utils/owner-document.js +5 -5
  203. package/build/esm/utils/owner-document.js.map +1 -1
  204. package/build/esm/utils/polymorphic.d.ts +39 -39
  205. package/build/esm/utils/polymorphic.js.map +1 -1
  206. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  207. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  208. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  209. package/build/esm/utils/use-stable-callback.js +16 -16
  210. package/build/esm/utils/use-stable-callback.js.map +1 -1
  211. package/build/esm/utils/wrap-event.d.ts +3 -3
  212. package/build/esm/utils/wrap-event.js.map +1 -1
  213. package/build/tsconfig-build.tsbuildinfo +1 -1
  214. package/package.json +2 -2
  215. package/src/Accordion/Accordion.story.tsx +74 -74
  216. package/src/Accordion/Accordion.tsx +59 -59
  217. package/src/Accordion/AccordionBody.tsx +52 -52
  218. package/src/Accordion/AccordionHeader.tsx +167 -167
  219. package/src/Accordion/AccordionItem.tsx +50 -50
  220. package/src/Accordion/context.ts +37 -37
  221. package/src/Accordion/index.ts +4 -4
  222. package/src/Accordion/scopeQuery.ts +7 -7
  223. package/src/Accordion/styles.css +21 -21
  224. package/src/CheckBox/CheckBox.tsx +41 -41
  225. package/src/CheckBox/index.ts +1 -1
  226. package/src/ComboBox/ComboBox.story.tsx +120 -120
  227. package/src/ComboBox/Combobox.tsx +148 -148
  228. package/src/ComboBox/ComboboxButton.tsx +61 -61
  229. package/src/ComboBox/ComboboxInput.tsx +187 -187
  230. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  231. package/src/ComboBox/ComboboxList.tsx +47 -47
  232. package/src/ComboBox/ComboboxOption.tsx +111 -111
  233. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  234. package/src/ComboBox/cities.ts +23194 -23194
  235. package/src/ComboBox/context.ts +35 -35
  236. package/src/ComboBox/hooks.tsx +451 -451
  237. package/src/ComboBox/index.ts +8 -8
  238. package/src/ComboBox/makeHash.ts +19 -19
  239. package/src/ComboBox/scopeQuery.ts +6 -6
  240. package/src/ComboBox/styles.css +32 -32
  241. package/src/FocusLock/FocusLock.tsx +66 -66
  242. package/src/FocusLock/index.ts +1 -1
  243. package/src/FocusLock/tabUtils.ts +40 -40
  244. package/src/FocusLock/useFocusLock.ts +56 -56
  245. package/src/List/List.story.tsx +18 -18
  246. package/src/List/List.tsx +17 -17
  247. package/src/List/ListItem.tsx +23 -23
  248. package/src/List/context.ts +19 -19
  249. package/src/List/index.ts +2 -2
  250. package/src/Menu/ContextMenu.story.tsx +73 -73
  251. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  252. package/src/Menu/Menu.story.tsx +160 -160
  253. package/src/Menu/Menu.tsx +83 -83
  254. package/src/Menu/MenuButton.tsx +83 -83
  255. package/src/Menu/MenuComplex.story.tsx +58 -58
  256. package/src/Menu/MenuItem.tsx +88 -87
  257. package/src/Menu/MenuList.tsx +254 -243
  258. package/src/Menu/MenuPopover.tsx +35 -35
  259. package/src/Menu/context.ts +44 -44
  260. package/src/Menu/fixtures/countryList.ts +198 -198
  261. package/src/Menu/index.ts +6 -6
  262. package/src/Menu/scope.ts +7 -7
  263. package/src/Menu/styles.css +42 -42
  264. package/src/Modal/Modal.story.tsx +258 -258
  265. package/src/Modal/Modal.tsx +48 -48
  266. package/src/Modal/ModalBackdrop.tsx +78 -78
  267. package/src/Modal/NavDrawer.story.tsx +158 -158
  268. package/src/Modal/index.ts +2 -2
  269. package/src/Modal/styles.css +46 -46
  270. package/src/Popper/Popper.story.tsx +263 -263
  271. package/src/Popper/Popper.tsx +154 -154
  272. package/src/Popper/PopperArrow.tsx +35 -35
  273. package/src/Popper/context.ts +10 -10
  274. package/src/Popper/index.ts +3 -3
  275. package/src/Popper/styles.css +60 -60
  276. package/src/Portal/Portal.tsx +20 -20
  277. package/src/Portal/index.ts +1 -1
  278. package/src/RadioButton/RadioButton.story.tsx +77 -77
  279. package/src/RadioButton/RadioButton.tsx +55 -55
  280. package/src/RadioButton/RadioGroup.tsx +60 -60
  281. package/src/RadioButton/context.ts +17 -17
  282. package/src/RadioButton/index.ts +2 -2
  283. package/src/SkipNav/SkipNav.tsx +16 -16
  284. package/src/SkipNav/index.tsx +1 -1
  285. package/src/Slider/Slider.story.tsx +45 -45
  286. package/src/Slider/Slider.tsx +1120 -1120
  287. package/src/Slider/index.ts +1 -1
  288. package/src/Slider/styles.css +131 -131
  289. package/src/Spinner/Spinner.story.tsx +31 -31
  290. package/src/Spinner/Spinner.tsx +117 -117
  291. package/src/Spinner/SpinnerButton.tsx +54 -54
  292. package/src/Spinner/context.ts +20 -20
  293. package/src/Spinner/index.ts +2 -2
  294. package/src/Spinner/styles.css +23 -23
  295. package/src/Tabs/Tab.story.tsx +80 -80
  296. package/src/Tabs/Tab.tsx +136 -136
  297. package/src/Tabs/TabList.tsx +71 -71
  298. package/src/Tabs/TabPanel.tsx +53 -53
  299. package/src/Tabs/TabPanels.tsx +30 -30
  300. package/src/Tabs/Tabs.tsx +46 -46
  301. package/src/Tabs/context.ts +30 -30
  302. package/src/Tabs/index.tsx +5 -5
  303. package/src/Tabs/scopeQuery.ts +6 -6
  304. package/src/Tooltip/Tooltip.story.tsx +61 -61
  305. package/src/Tooltip/Tooltip.tsx +50 -50
  306. package/src/Tooltip/index.ts +1 -1
  307. package/src/Tooltip/stateMachine.ts +192 -192
  308. package/src/Tooltip/styles.css +17 -17
  309. package/src/Tooltip/useTooltip.ts +136 -136
  310. package/src/hooks/index.ts +13 -13
  311. package/src/hooks/useAutoFocus.ts +22 -22
  312. package/src/hooks/useChildrenCounter.ts +51 -51
  313. package/src/hooks/useControlledState.ts +3 -3
  314. package/src/hooks/useFocusReturn.ts +43 -43
  315. package/src/hooks/useFocusState.ts +30 -30
  316. package/src/hooks/useGestureHandlers.ts +286 -286
  317. package/src/hooks/useMeasure.ts +33 -33
  318. package/src/hooks/useOnClickOutside.ts +32 -32
  319. package/src/hooks/useOnKeyDown.ts +19 -19
  320. package/src/hooks/useReducerMachine.ts +60 -60
  321. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  322. package/src/hooks/useScope.ts +52 -52
  323. package/src/hooks/useThrottle.ts +19 -19
  324. package/src/index.ts +20 -20
  325. package/src/utils/assign-ref.ts +27 -27
  326. package/src/utils/can-use-dom.ts +7 -7
  327. package/src/utils/clamp.ts +3 -3
  328. package/src/utils/context.tsx +48 -48
  329. package/src/utils/create-subscription.ts +16 -16
  330. package/src/utils/get-circular-index.ts +7 -7
  331. package/src/utils/index.ts +10 -10
  332. package/src/utils/is-right-click.ts +14 -14
  333. package/src/utils/owner-document.ts +13 -13
  334. package/src/utils/polymorphic.ts +78 -78
  335. package/src/utils/rubber-band-clamp.ts +25 -25
  336. package/src/utils/use-stable-callback.ts +58 -58
  337. 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) {
@@ -220,7 +220,7 @@ function useControlledState(valueProp, onChangeProp, defaultValue, defaultOnChan
220
220
  const [valueState, setValueState] = react.useState(defaultValue);
221
221
 
222
222
  if (isControlled) {
223
- if (wasControlled.current && process.env.NODE_ENV !== 'production' && !hasWarned.current) {
223
+ if (!wasControlled.current && !hasWarned.current && process.env.NODE_ENV !== 'production') {
224
224
  console.warn('Trying to change from controlled to uncontrolled.');
225
225
  hasWarned.current = true;
226
226
  }
@@ -2103,6 +2103,7 @@ const MenuItem = /*#__PURE__*/react.forwardRef(function MenuItem(props, forwarde
2103
2103
 
2104
2104
  const handleKeyDown = e => {
2105
2105
  switch (e.key) {
2106
+ case ' ':
2106
2107
  case 'Enter':
2107
2108
  if (!disabled) {
2108
2109
  handleSelect(e);
@@ -2171,10 +2172,23 @@ const MenuList = /*#__PURE__*/react.forwardRef(function MenuList(props, forwarde
2171
2172
  let index = getCircularIndex(openWithArrowKeyRef.current === 'ArrowUp' ? -1 : 0, allItems.length);
2172
2173
 
2173
2174
  if (defaultActiveItemValue) {
2174
- for (let i = 0; i < allItems.length; i++) {
2175
- if (allItems[i].dataset.value === defaultActiveItemValue) {
2176
- index = i;
2177
- break;
2175
+ if (typeof defaultActiveItemValue === 'string') {
2176
+ for (let i = 0; i < allItems.length; i++) {
2177
+ if (allItems[i].dataset.value === defaultActiveItemValue) {
2178
+ index = i;
2179
+ break;
2180
+ }
2181
+ }
2182
+ } else if (Array.isArray(defaultActiveItemValue)) {
2183
+ const set = new Set(defaultActiveItemValue);
2184
+
2185
+ for (let i = 0; i < allItems.length; i++) {
2186
+ const val = allItems[i].dataset.value;
2187
+
2188
+ if (val && set.has(val)) {
2189
+ index = i;
2190
+ break;
2191
+ }
2178
2192
  }
2179
2193
  }
2180
2194
  }
@@ -2629,10 +2643,10 @@ const noop = () => {
2629
2643
 
2630
2644
  const [SliderProvider, useSliderContext] = createContext('Slider'); ////////////////////////////////////////////////////////////////////////////////
2631
2645
 
2632
- /**
2633
- * Slider
2634
- *
2635
- * @see Docs https://reach.tech/slider#slider
2646
+ /**
2647
+ * Slider
2648
+ *
2649
+ * @see Docs https://reach.tech/slider#slider
2636
2650
  */
2637
2651
 
2638
2652
  const Slider = /*#__PURE__*/react.forwardRef(function Slider({
@@ -2647,20 +2661,20 @@ const Slider = /*#__PURE__*/react.forwardRef(function Slider({
2647
2661
  })
2648
2662
  });
2649
2663
  });
2650
- /**
2651
- * @see Docs https://reach.tech/slider#slider-props
2664
+ /**
2665
+ * @see Docs https://reach.tech/slider#slider-props
2652
2666
  */
2653
2667
 
2654
2668
  ////////////////////////////////////////////////////////////////////////////////
2655
2669
 
2656
- /**
2657
- * SliderInput
2658
- *
2659
- * The parent component of the slider interface. This is a lower level component
2660
- * if you need more control over styles or rendering the slider's inner
2661
- * components.
2662
- *
2663
- * @see Docs https://reach.tech/slider#sliderinput
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
2664
2678
  */
2665
2679
  const SliderInput = /*#__PURE__*/react.forwardRef(function SliderInput({
2666
2680
  'aria-label': ariaLabel,
@@ -3019,16 +3033,16 @@ const SliderInput = /*#__PURE__*/react.forwardRef(function SliderInput({
3019
3033
  })
3020
3034
  });
3021
3035
  });
3022
- /**
3023
- * @see Docs https://reach.tech/slider#sliderinput-props
3036
+ /**
3037
+ * @see Docs https://reach.tech/slider#sliderinput-props
3024
3038
  */
3025
3039
 
3026
3040
  ////////////////////////////////////////////////////////////////////////////////
3027
3041
 
3028
- /**
3029
- * SliderTrack
3030
- *
3031
- * @see Docs https://reach.tech/slider#slidertrack
3042
+ /**
3043
+ * SliderTrack
3044
+ *
3045
+ * @see Docs https://reach.tech/slider#slidertrack
3032
3046
  */
3033
3047
  const SliderTrackImpl = /*#__PURE__*/react.forwardRef(function SliderTrack({
3034
3048
  as: Comp = 'div',
@@ -3057,19 +3071,19 @@ const SliderTrackImpl = /*#__PURE__*/react.forwardRef(function SliderTrack({
3057
3071
  });
3058
3072
  });
3059
3073
  const SliderTrack = /*#__PURE__*/react.memo(SliderTrackImpl);
3060
- /**
3061
- * @see Docs https://reach.tech/slider#slidertrack-props
3074
+ /**
3075
+ * @see Docs https://reach.tech/slider#slidertrack-props
3062
3076
  */
3063
3077
 
3064
3078
  ////////////////////////////////////////////////////////////////////////////////
3065
3079
 
3066
- /**
3067
- * SliderRange
3068
- *
3069
- * The (typically) highlighted portion of the track that represents the space
3070
- * between the slider's `min` value and its current value.
3071
- *
3072
- * @see Docs https://reach.tech/slider#sliderrange
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
3073
3087
  */
3074
3088
  const SliderRangeImpl = /*#__PURE__*/react.forwardRef(function SliderRange({
3075
3089
  as: Comp = 'div',
@@ -3099,22 +3113,22 @@ const SliderRangeImpl = /*#__PURE__*/react.forwardRef(function SliderRange({
3099
3113
  });
3100
3114
  });
3101
3115
  const SliderRange = /*#__PURE__*/react.memo(SliderRangeImpl);
3102
- /**
3103
- * `SliderRange` accepts any props that a HTML div component accepts.
3104
- * `SliderRange` will not accept or render any children.
3105
- *
3106
- * @see Docs https://reach.tech/slider#sliderrange-props
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
3107
3121
  */
3108
3122
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
3109
3123
 
3110
3124
  ////////////////////////////////////////////////////////////////////////////////
3111
3125
 
3112
- /**
3113
- * SliderHandle
3114
- *
3115
- * The handle that the user drags along the track to set the slider value.
3116
- *
3117
- * @see Docs https://reach.tech/slider#sliderhandle
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
3118
3132
  */
3119
3133
  const SliderHandleImpl = /*#__PURE__*/react.forwardRef(function SliderHandle({
3120
3134
  // min,
@@ -3202,22 +3216,22 @@ const SliderHandleImpl = /*#__PURE__*/react.forwardRef(function SliderHandle({
3202
3216
  });
3203
3217
  });
3204
3218
  const SliderHandle = /*#__PURE__*/react.memo(SliderHandleImpl);
3205
- /**
3206
- * `SliderRange` accepts any props that a HTML div component accepts.
3207
- *
3208
- * @see Docs https://reach.tech/slider#sliderhandle-props
3219
+ /**
3220
+ * `SliderRange` accepts any props that a HTML div component accepts.
3221
+ *
3222
+ * @see Docs https://reach.tech/slider#sliderhandle-props
3209
3223
  */
3210
3224
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
3211
3225
 
3212
3226
  ////////////////////////////////////////////////////////////////////////////////
3213
3227
 
3214
- /**
3215
- * SliderMarker
3216
- *
3217
- * A fixed value marker. These can be used to illustrate a range of steps or
3218
- * highlight important points along the slider track.
3219
- *
3220
- * @see Docs https://reach.tech/slider#slidermarker
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
3221
3235
  */
3222
3236
  const SliderMarkerImpl = /*#__PURE__*/react.forwardRef(function SliderMarker({
3223
3237
  as: Comp = 'div',
@@ -3261,21 +3275,21 @@ const SliderMarkerImpl = /*#__PURE__*/react.forwardRef(function SliderMarker({
3261
3275
  }) : null;
3262
3276
  });
3263
3277
  const SliderMarker = /*#__PURE__*/react.memo(SliderMarkerImpl);
3264
- /**
3265
- * @see Docs https://reach.tech/slider#slidermarker-props
3278
+ /**
3279
+ * @see Docs https://reach.tech/slider#slidermarker-props
3266
3280
  */
3267
3281
 
3268
3282
  ////////////////////////////////////////////////////////////////////////////////
3269
3283
  function clamp$1(val, min, max) {
3270
3284
  return val > max ? max : val < min ? min : val;
3271
3285
  }
3272
- /**
3273
- * This handles the case when num is very small (0.00000001), js will turn
3274
- * this into 1e-8. When num is bigger than 1 or less than -1 it won't get
3275
- * converted to this notation so it's fine.
3276
- *
3277
- * @param num
3278
- * @see https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Slider/Slider.js#L69
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
3279
3293
  */
3280
3294
 
3281
3295
 
@@ -3359,8 +3373,8 @@ function useDimensions(ref) {
3359
3373
  // check for any conflicts with box sizing first and only use
3360
3374
  // `getComputedStyle` if neccessary.
3361
3375
 
3362
- /* const { width, height } = ref.current
3363
- ? ref.current.getBoundingClientRect()
3376
+ /* const { width, height } = ref.current
3377
+ ? ref.current.getBoundingClientRect()
3364
3378
  : 0; */
3365
3379
 
3366
3380
  react.useLayoutEffect(() => {