@basic-ui/core 0.0.36 → 0.0.39

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 (348) hide show
  1. package/build/cjs/index.js +84 -83
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/Accordion.d.ts +1 -1
  4. package/build/esm/Accordion/Accordion.js +23 -17
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +1 -1
  7. package/build/esm/Accordion/AccordionBody.js +24 -15
  8. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  9. package/build/esm/Accordion/AccordionHeader.d.ts +1 -1
  10. package/build/esm/Accordion/AccordionHeader.js +46 -31
  11. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  12. package/build/esm/Accordion/AccordionItem.d.ts +1 -1
  13. package/build/esm/Accordion/AccordionItem.js +18 -18
  14. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  15. package/build/esm/Accordion/context.d.ts +1 -1
  16. package/build/esm/Accordion/context.js +12 -10
  17. package/build/esm/Accordion/context.js.map +1 -1
  18. package/build/esm/Accordion/index.d.ts +0 -0
  19. package/build/esm/Accordion/index.js +0 -0
  20. package/build/esm/Accordion/index.js.map +0 -0
  21. package/build/esm/Accordion/scopeQuery.d.ts +0 -0
  22. package/build/esm/Accordion/scopeQuery.js +0 -0
  23. package/build/esm/Accordion/scopeQuery.js.map +0 -0
  24. package/build/esm/CheckBox/CheckBox.d.ts +1 -1
  25. package/build/esm/CheckBox/CheckBox.js +20 -12
  26. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  27. package/build/esm/CheckBox/index.d.ts +0 -0
  28. package/build/esm/CheckBox/index.js +0 -0
  29. package/build/esm/CheckBox/index.js.map +0 -0
  30. package/build/esm/ComboBox/Combobox.d.ts +1 -1
  31. package/build/esm/ComboBox/Combobox.js +55 -48
  32. package/build/esm/ComboBox/Combobox.js.map +1 -1
  33. package/build/esm/ComboBox/ComboboxButton.d.ts +1 -1
  34. package/build/esm/ComboBox/ComboboxButton.js +20 -20
  35. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  36. package/build/esm/ComboBox/ComboboxInput.d.ts +1 -1
  37. package/build/esm/ComboBox/ComboboxInput.js +53 -50
  38. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  39. package/build/esm/ComboBox/ComboboxLabel.d.ts +1 -1
  40. package/build/esm/ComboBox/ComboboxLabel.js +12 -12
  41. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  42. package/build/esm/ComboBox/ComboboxList.d.ts +1 -1
  43. package/build/esm/ComboBox/ComboboxList.js +16 -17
  44. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  45. package/build/esm/ComboBox/ComboboxOption.d.ts +1 -1
  46. package/build/esm/ComboBox/ComboboxOption.js +32 -34
  47. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  48. package/build/esm/ComboBox/ComboboxPopover.d.ts +1 -1
  49. package/build/esm/ComboBox/ComboboxPopover.js +16 -17
  50. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  51. package/build/esm/ComboBox/cities.d.ts +0 -0
  52. package/build/esm/ComboBox/cities.js +0 -0
  53. package/build/esm/ComboBox/cities.js.map +0 -0
  54. package/build/esm/ComboBox/context.d.ts +3 -3
  55. package/build/esm/ComboBox/context.js +6 -5
  56. package/build/esm/ComboBox/context.js.map +1 -1
  57. package/build/esm/ComboBox/hooks.d.ts +1 -1
  58. package/build/esm/ComboBox/hooks.js +82 -115
  59. package/build/esm/ComboBox/hooks.js.map +1 -1
  60. package/build/esm/ComboBox/index.d.ts +0 -0
  61. package/build/esm/ComboBox/index.js +0 -0
  62. package/build/esm/ComboBox/index.js.map +0 -0
  63. package/build/esm/ComboBox/makeHash.d.ts +0 -0
  64. package/build/esm/ComboBox/makeHash.js +3 -3
  65. package/build/esm/ComboBox/makeHash.js.map +1 -1
  66. package/build/esm/ComboBox/scopeQuery.d.ts +0 -0
  67. package/build/esm/ComboBox/scopeQuery.js +0 -0
  68. package/build/esm/ComboBox/scopeQuery.js.map +0 -0
  69. package/build/esm/FocusLock/FocusLock.d.ts +1 -1
  70. package/build/esm/FocusLock/FocusLock.js +18 -16
  71. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  72. package/build/esm/FocusLock/index.d.ts +0 -0
  73. package/build/esm/FocusLock/index.js +0 -0
  74. package/build/esm/FocusLock/index.js.map +0 -0
  75. package/build/esm/FocusLock/tabUtils.d.ts +1 -0
  76. package/build/esm/FocusLock/tabUtils.js +14 -2
  77. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  78. package/build/esm/FocusLock/useFocusLock.d.ts +0 -0
  79. package/build/esm/FocusLock/useFocusLock.js +14 -22
  80. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  81. package/build/esm/List/List.d.ts +1 -1
  82. package/build/esm/List/List.js +6 -6
  83. package/build/esm/List/List.js.map +1 -1
  84. package/build/esm/List/ListItem.d.ts +1 -1
  85. package/build/esm/List/ListItem.js +6 -6
  86. package/build/esm/List/ListItem.js.map +1 -1
  87. package/build/esm/List/context.d.ts +0 -0
  88. package/build/esm/List/context.js +3 -3
  89. package/build/esm/List/context.js.map +1 -1
  90. package/build/esm/List/index.d.ts +0 -0
  91. package/build/esm/List/index.js +0 -0
  92. package/build/esm/List/index.js.map +0 -0
  93. package/build/esm/Menu/Menu.d.ts +1 -1
  94. package/build/esm/Menu/Menu.js +31 -23
  95. package/build/esm/Menu/Menu.js.map +1 -1
  96. package/build/esm/Menu/MenuButton.d.ts +1 -1
  97. package/build/esm/Menu/MenuButton.js +29 -25
  98. package/build/esm/Menu/MenuButton.js.map +1 -1
  99. package/build/esm/Menu/MenuItem.d.ts +1 -1
  100. package/build/esm/Menu/MenuItem.js +26 -27
  101. package/build/esm/Menu/MenuItem.js.map +1 -1
  102. package/build/esm/Menu/MenuList.d.ts +1 -1
  103. package/build/esm/Menu/MenuList.js +62 -45
  104. package/build/esm/Menu/MenuList.js.map +1 -1
  105. package/build/esm/Menu/MenuPopover.d.ts +2 -2
  106. package/build/esm/Menu/MenuPopover.js +9 -10
  107. package/build/esm/Menu/MenuPopover.js.map +1 -1
  108. package/build/esm/Menu/context.d.ts +1 -1
  109. package/build/esm/Menu/context.js +11 -8
  110. package/build/esm/Menu/context.js.map +1 -1
  111. package/build/esm/Menu/index.d.ts +0 -0
  112. package/build/esm/Menu/index.js +0 -0
  113. package/build/esm/Menu/index.js.map +0 -0
  114. package/build/esm/Menu/scope.d.ts +0 -0
  115. package/build/esm/Menu/scope.js +0 -0
  116. package/build/esm/Menu/scope.js.map +0 -0
  117. package/build/esm/Modal/Modal.d.ts +2 -2
  118. package/build/esm/Modal/Modal.js +14 -12
  119. package/build/esm/Modal/Modal.js.map +1 -1
  120. package/build/esm/Modal/ModalBackdrop.d.ts +1 -1
  121. package/build/esm/Modal/ModalBackdrop.js +21 -19
  122. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  123. package/build/esm/Modal/index.d.ts +0 -0
  124. package/build/esm/Modal/index.js +0 -0
  125. package/build/esm/Modal/index.js.map +0 -0
  126. package/build/esm/Popper/Popper.d.ts +2 -2
  127. package/build/esm/Popper/Popper.js +51 -36
  128. package/build/esm/Popper/Popper.js.map +1 -1
  129. package/build/esm/Popper/PopperArrow.d.ts +1 -1
  130. package/build/esm/Popper/PopperArrow.js +9 -9
  131. package/build/esm/Popper/PopperArrow.js.map +1 -1
  132. package/build/esm/Popper/context.d.ts +1 -1
  133. package/build/esm/Popper/context.js +5 -3
  134. package/build/esm/Popper/context.js.map +1 -1
  135. package/build/esm/Popper/index.d.ts +0 -0
  136. package/build/esm/Popper/index.js +0 -0
  137. package/build/esm/Popper/index.js.map +0 -0
  138. package/build/esm/Portal/Portal.d.ts +1 -1
  139. package/build/esm/Portal/Portal.js +6 -5
  140. package/build/esm/Portal/Portal.js.map +1 -1
  141. package/build/esm/Portal/index.d.ts +0 -0
  142. package/build/esm/Portal/index.js +0 -0
  143. package/build/esm/Portal/index.js.map +0 -0
  144. package/build/esm/RadioButton/RadioButton.d.ts +2 -2
  145. package/build/esm/RadioButton/RadioButton.js +13 -13
  146. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  147. package/build/esm/RadioButton/RadioGroup.d.ts +2 -2
  148. package/build/esm/RadioButton/RadioGroup.js +25 -18
  149. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  150. package/build/esm/RadioButton/context.d.ts +0 -0
  151. package/build/esm/RadioButton/context.js +6 -5
  152. package/build/esm/RadioButton/context.js.map +1 -1
  153. package/build/esm/RadioButton/index.d.ts +0 -0
  154. package/build/esm/RadioButton/index.js +0 -0
  155. package/build/esm/RadioButton/index.js.map +0 -0
  156. package/build/esm/SkipNav/SkipNav.d.ts +1 -1
  157. package/build/esm/SkipNav/SkipNav.js +6 -6
  158. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  159. package/build/esm/SkipNav/index.d.ts +0 -0
  160. package/build/esm/SkipNav/index.js +0 -0
  161. package/build/esm/SkipNav/index.js.map +0 -0
  162. package/build/esm/Spinner/Spinner.d.ts +1 -1
  163. package/build/esm/Spinner/Spinner.js +42 -31
  164. package/build/esm/Spinner/Spinner.js.map +1 -1
  165. package/build/esm/Spinner/SpinnerButton.d.ts +1 -1
  166. package/build/esm/Spinner/SpinnerButton.js +12 -12
  167. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  168. package/build/esm/Spinner/context.d.ts +0 -0
  169. package/build/esm/Spinner/context.js +6 -5
  170. package/build/esm/Spinner/context.js.map +1 -1
  171. package/build/esm/Spinner/index.d.ts +0 -0
  172. package/build/esm/Spinner/index.js +0 -0
  173. package/build/esm/Spinner/index.js.map +0 -0
  174. package/build/esm/Tabs/Tab.d.ts +1 -1
  175. package/build/esm/Tabs/Tab.js +30 -29
  176. package/build/esm/Tabs/Tab.js.map +1 -1
  177. package/build/esm/Tabs/TabList.d.ts +1 -1
  178. package/build/esm/Tabs/TabList.js +27 -23
  179. package/build/esm/Tabs/TabList.js.map +1 -1
  180. package/build/esm/Tabs/TabPanel.d.ts +1 -1
  181. package/build/esm/Tabs/TabPanel.js +13 -12
  182. package/build/esm/Tabs/TabPanel.js.map +1 -1
  183. package/build/esm/Tabs/TabPanels.d.ts +1 -1
  184. package/build/esm/Tabs/TabPanels.js +14 -12
  185. package/build/esm/Tabs/TabPanels.js.map +1 -1
  186. package/build/esm/Tabs/Tabs.d.ts +1 -1
  187. package/build/esm/Tabs/Tabs.js +28 -14
  188. package/build/esm/Tabs/Tabs.js.map +1 -1
  189. package/build/esm/Tabs/context.d.ts +1 -1
  190. package/build/esm/Tabs/context.js +12 -10
  191. package/build/esm/Tabs/context.js.map +1 -1
  192. package/build/esm/Tabs/index.d.ts +0 -0
  193. package/build/esm/Tabs/index.js +0 -0
  194. package/build/esm/Tabs/index.js.map +0 -0
  195. package/build/esm/Tabs/scopeQuery.d.ts +0 -0
  196. package/build/esm/Tabs/scopeQuery.js +0 -0
  197. package/build/esm/Tabs/scopeQuery.js.map +0 -0
  198. package/build/esm/Tooltip/Tooltip.d.ts +2 -1
  199. package/build/esm/Tooltip/Tooltip.js +17 -15
  200. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  201. package/build/esm/Tooltip/index.d.ts +0 -0
  202. package/build/esm/Tooltip/index.js +0 -0
  203. package/build/esm/Tooltip/index.js.map +0 -0
  204. package/build/esm/Tooltip/stateMachine.d.ts +0 -0
  205. package/build/esm/Tooltip/stateMachine.js +56 -80
  206. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  207. package/build/esm/Tooltip/useTooltip.d.ts +1 -1
  208. package/build/esm/Tooltip/useTooltip.js +32 -31
  209. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  210. package/build/esm/hooks/index.d.ts +0 -1
  211. package/build/esm/hooks/index.js +0 -1
  212. package/build/esm/hooks/index.js.map +1 -1
  213. package/build/esm/hooks/useAutoFocus.d.ts +0 -0
  214. package/build/esm/hooks/useAutoFocus.js +6 -2
  215. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  216. package/build/esm/hooks/useChildrenCounter.d.ts +1 -1
  217. package/build/esm/hooks/useChildrenCounter.js +6 -4
  218. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  219. package/build/esm/hooks/useControlledState.d.ts +1 -1
  220. package/build/esm/hooks/useControlledState.js +7 -2
  221. package/build/esm/hooks/useControlledState.js.map +1 -1
  222. package/build/esm/hooks/useFocusReturn.d.ts +2 -1
  223. package/build/esm/hooks/useFocusReturn.js +25 -14
  224. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  225. package/build/esm/hooks/useFocusState.d.ts +0 -0
  226. package/build/esm/hooks/useFocusState.js +13 -9
  227. package/build/esm/hooks/useFocusState.js.map +1 -1
  228. package/build/esm/hooks/useGestureHandlers.d.ts +0 -0
  229. package/build/esm/hooks/useGestureHandlers.js +59 -63
  230. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  231. package/build/esm/hooks/useMeasure.d.ts +0 -0
  232. package/build/esm/hooks/useMeasure.js +13 -7
  233. package/build/esm/hooks/useMeasure.js.map +1 -1
  234. package/build/esm/hooks/useOnClickOutside.d.ts +0 -0
  235. package/build/esm/hooks/useOnClickOutside.js +5 -4
  236. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  237. package/build/esm/hooks/useOnKeyDown.d.ts +0 -0
  238. package/build/esm/hooks/useOnKeyDown.js +4 -3
  239. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  240. package/build/esm/hooks/useReducerMachine.d.ts +1 -1
  241. package/build/esm/hooks/useReducerMachine.js +13 -10
  242. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  243. package/build/esm/hooks/useRemoveBodyScroll.d.ts +0 -0
  244. package/build/esm/hooks/useRemoveBodyScroll.js +14 -21
  245. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  246. package/build/esm/hooks/useScope.d.ts +1 -1
  247. package/build/esm/hooks/useScope.js +10 -12
  248. package/build/esm/hooks/useScope.js.map +1 -1
  249. package/build/esm/hooks/useThrottle.d.ts +0 -0
  250. package/build/esm/hooks/useThrottle.js +10 -5
  251. package/build/esm/hooks/useThrottle.js.map +1 -1
  252. package/build/esm/index.d.ts +0 -0
  253. package/build/esm/index.js +0 -0
  254. package/build/esm/index.js.map +0 -0
  255. package/build/esm/utils/assignRef.d.ts +1 -1
  256. package/build/esm/utils/assignRef.js +7 -3
  257. package/build/esm/utils/assignRef.js.map +1 -1
  258. package/build/esm/utils/clamp.d.ts +0 -0
  259. package/build/esm/utils/clamp.js +0 -0
  260. package/build/esm/utils/clamp.js.map +0 -0
  261. package/build/esm/utils/createSubscription.d.ts +0 -0
  262. package/build/esm/utils/createSubscription.js +7 -5
  263. package/build/esm/utils/createSubscription.js.map +1 -1
  264. package/build/esm/utils/getCircularIndex.d.ts +0 -0
  265. package/build/esm/utils/getCircularIndex.js +0 -0
  266. package/build/esm/utils/getCircularIndex.js.map +0 -0
  267. package/build/esm/utils/index.d.ts +0 -0
  268. package/build/esm/utils/index.js +0 -0
  269. package/build/esm/utils/index.js.map +0 -0
  270. package/build/esm/utils/rubberBandClamp.d.ts +0 -0
  271. package/build/esm/utils/rubberBandClamp.js +5 -2
  272. package/build/esm/utils/rubberBandClamp.js.map +1 -1
  273. package/build/esm/utils/wrapEvent.d.ts +0 -0
  274. package/build/esm/utils/wrapEvent.js +7 -3
  275. package/build/esm/utils/wrapEvent.js.map +1 -1
  276. package/build/tsconfig.tsbuildinfo +1 -7151
  277. package/package.json +13 -13
  278. package/src/Accordion/Accordion.story.tsx +6 -4
  279. package/src/Accordion/Accordion.tsx +4 -2
  280. package/src/Accordion/AccordionBody.tsx +4 -4
  281. package/src/Accordion/AccordionHeader.tsx +7 -8
  282. package/src/Accordion/AccordionItem.tsx +5 -4
  283. package/src/Accordion/context.ts +2 -1
  284. package/src/CheckBox/CheckBox.tsx +2 -1
  285. package/src/ComboBox/ComboBox.story.tsx +11 -9
  286. package/src/ComboBox/Combobox.tsx +9 -11
  287. package/src/ComboBox/ComboboxButton.tsx +4 -9
  288. package/src/ComboBox/ComboboxInput.tsx +2 -1
  289. package/src/ComboBox/ComboboxLabel.tsx +2 -1
  290. package/src/ComboBox/ComboboxList.tsx +2 -1
  291. package/src/ComboBox/ComboboxOption.tsx +1 -1
  292. package/src/ComboBox/ComboboxPopover.tsx +2 -1
  293. package/src/ComboBox/context.ts +4 -3
  294. package/src/ComboBox/hooks.tsx +6 -9
  295. package/src/FocusLock/FocusLock.tsx +2 -1
  296. package/src/FocusLock/tabUtils.ts +12 -0
  297. package/src/FocusLock/useFocusLock.ts +5 -11
  298. package/src/List/List.story.tsx +5 -4
  299. package/src/List/List.tsx +1 -1
  300. package/src/List/ListItem.tsx +1 -1
  301. package/src/Menu/Menu.story.tsx +15 -13
  302. package/src/Menu/Menu.tsx +5 -4
  303. package/src/Menu/MenuButton.tsx +7 -11
  304. package/src/Menu/MenuItem.tsx +6 -7
  305. package/src/Menu/MenuList.tsx +4 -8
  306. package/src/Menu/MenuPopover.tsx +4 -2
  307. package/src/Menu/context.ts +2 -1
  308. package/src/Modal/Modal.story.tsx +35 -19
  309. package/src/Modal/Modal.tsx +6 -4
  310. package/src/Modal/ModalBackdrop.tsx +2 -1
  311. package/src/Modal/NavDrawer.story.tsx +8 -7
  312. package/src/Popper/Popper.story.tsx +15 -19
  313. package/src/Popper/Popper.tsx +12 -7
  314. package/src/Popper/PopperArrow.tsx +2 -1
  315. package/src/Popper/context.ts +2 -1
  316. package/src/Portal/Portal.tsx +1 -1
  317. package/src/RadioButton/RadioButton.story.tsx +13 -9
  318. package/src/RadioButton/RadioButton.tsx +4 -2
  319. package/src/RadioButton/RadioGroup.tsx +6 -4
  320. package/src/SkipNav/SkipNav.tsx +1 -1
  321. package/src/Spinner/Spinner.story.tsx +6 -5
  322. package/src/Spinner/Spinner.tsx +2 -1
  323. package/src/Spinner/SpinnerButton.tsx +2 -1
  324. package/src/Tabs/Tab.story.tsx +10 -8
  325. package/src/Tabs/Tab.tsx +4 -4
  326. package/src/Tabs/TabList.tsx +11 -3
  327. package/src/Tabs/TabPanel.tsx +2 -1
  328. package/src/Tabs/TabPanels.tsx +1 -1
  329. package/src/Tabs/Tabs.tsx +2 -1
  330. package/src/Tabs/context.ts +2 -1
  331. package/src/Tooltip/Tooltip.story.tsx +8 -6
  332. package/src/Tooltip/Tooltip.tsx +3 -7
  333. package/src/Tooltip/stateMachine.ts +1 -1
  334. package/src/Tooltip/useTooltip.ts +4 -3
  335. package/src/hooks/index.ts +0 -1
  336. package/src/hooks/useAutoFocus.ts +9 -1
  337. package/src/hooks/useChildrenCounter.ts +2 -1
  338. package/src/hooks/useControlledState.ts +3 -1
  339. package/src/hooks/useFocusReturn.ts +33 -13
  340. package/src/hooks/useFocusState.ts +1 -0
  341. package/src/hooks/useReducerMachine.ts +2 -1
  342. package/src/hooks/useRemoveBodyScroll.ts +10 -18
  343. package/src/hooks/useScope.ts +2 -1
  344. package/src/utils/assignRef.ts +1 -1
  345. package/build/esm/hooks/useId.d.ts +0 -3
  346. package/build/esm/hooks/useId.js +0 -16
  347. package/build/esm/hooks/useId.js.map +0 -1
  348. package/src/hooks/useId.ts +0 -18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basic-ui/core",
3
- "version": "0.0.36",
3
+ "version": "0.0.39",
4
4
  "description": "Accessible React Components used as building blocks for UI patterns",
5
5
  "author": "Lucas Terra <lucasterra7@gmail.com>",
6
6
  "license": "MIT",
@@ -15,20 +15,20 @@
15
15
  "sideEffects": false,
16
16
  "scripts": {
17
17
  "build": "run -T concurrently \"yarn:build:*\"",
18
- "build:dts": "tsc -p ./tsconfig.json --isolatedModules false --declaration --emitDeclarationOnly",
19
- "build:cjs": "rollup -c ../../rollup.config.js",
20
- "build:esm": "cross-env NODE_ENV=production BABEL_ENV=esm babel --config-file ../../babel.config.js ./src --extensions \".ts,.tsx,.js,.jsx\" --source-maps --out-dir ./build/esm --ignore \"**/*.story.tsx,**/*.story.ts,**/*.test.tsx,**/*.test.ts\"",
21
- "build-storybook": "build-storybook -c ../../scripts/storybook -o .out",
22
- "storybook": "yarn run -T start-storybook -p 9001 -c ../../scripts/storybook",
23
- "start": "yarn run storybook",
24
- "serve": "http-server .out",
25
- "lint": "eslint 'src/**/*.{js,jsx,ts,tsx}' --fix",
26
- "typecheck": "tsc --noEmit -p ./tsconfig.json",
27
- "test": "jest --config ../../jest.config.js",
18
+ "build:dts": "run -T tsc -p ./tsconfig.json --isolatedModules false --declaration --emitDeclarationOnly",
19
+ "build:cjs": "run -T rollup -c ../../rollup.config.js",
20
+ "build:esm": "run -T cross-env NODE_ENV=production BABEL_ENV=esm babel --config-file ../../babel.config.js ./src --extensions \".ts,.tsx,.js,.jsx\" --source-maps --out-dir ./build/esm --ignore \"**/*.story.tsx,**/*.story.ts,**/*.test.tsx,**/*.test.ts\"",
21
+ "build-storybook": "run -T build-storybook -c ../../scripts/storybook -o .out",
22
+ "storybook": "run -T start-storybook -p 9001 -c ../../scripts/storybook",
23
+ "start": "run storybook",
24
+ "serve": "run -T http-server .out",
25
+ "lint": "run -T eslint 'src/**/*.{js,jsx,ts,tsx}' --fix",
26
+ "typecheck": "run -T tsc --noEmit -p ./tsconfig.json",
27
+ "test": "run -T jest --config ../../jest.config.js",
28
28
  "test:watch": "yarn test --watch"
29
29
  },
30
30
  "dependencies": {
31
- "@popperjs/core": "^2.9.2",
31
+ "@popperjs/core": "^2.11.5",
32
32
  "resize-observer-polyfill": "^1.5.1"
33
33
  },
34
34
  "peerDependencies": {
@@ -36,5 +36,5 @@
36
36
  "react": "^16.14.0 || ^17.0.0 || ^18.0.0",
37
37
  "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0"
38
38
  },
39
- "gitHead": "255161ee895cdd62ff5de0a539562d593d215cdb"
39
+ "gitHead": "bda815fc43ce5234609c4cd0c7e98074f06d70e3"
40
40
  }
@@ -1,9 +1,11 @@
1
1
  import { useState } from 'react';
2
+
2
3
  import { Accordion, AccordionBody, AccordionHeader, AccordionItem } from './';
3
- import { storiesOf } from '@storybook/react';
4
4
  import './styles.css';
5
5
 
6
- const stories = storiesOf('Components/Accordion', module);
6
+ export default {
7
+ title: 'components/Accordion',
8
+ };
7
9
 
8
10
  function AccordionControlled() {
9
11
  const [expandedId, setExpandedId] = useState(0);
@@ -67,6 +69,6 @@ function SingleAccordionItem() {
67
69
  );
68
70
  }
69
71
 
70
- stories.add('controlled', () => <AccordionControlled />);
72
+ export const Controlled = () => <AccordionControlled />;
71
73
 
72
- stories.add('single accordion, controlled', () => <SingleAccordionItem />);
74
+ export const SingleAccordionControlled = () => <SingleAccordionItem />;
@@ -1,6 +1,8 @@
1
1
  import { forwardRef, useRef, useState } from 'react';
2
- import type * as React from 'react';
3
- import { AccordionContextProps, AccordionProvider } from './context';
2
+ import * as React from 'react';
3
+
4
+ import type { AccordionContextProps } from './context';
5
+ import { AccordionProvider } from './context';
4
6
  import { useScope } from '../hooks';
5
7
  import { assignMultipleRefs } from '../utils';
6
8
 
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, useState, useEffect, useRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useAccordionItemContext, useAccordionContext } from './context';
4
5
  import { bodyScopeQuery as scopeQuery } from './scopeQuery';
5
6
  import { assignMultipleRefs } from '../utils';
@@ -24,9 +25,8 @@ export const AccordionBody = forwardRef<HTMLDivElement, AccordionBodyProps>(
24
25
 
25
26
  useEffect(() => {
26
27
  if (accordionContext) {
27
- const allHeaders = accordionContext.scope.current.queryAllNodes(
28
- scopeQuery
29
- );
28
+ const allHeaders =
29
+ accordionContext.scope.current.queryAllNodes(scopeQuery);
30
30
 
31
31
  const index = allHeaders.findIndex((e) => e === ref.current);
32
32
  setIndex(index);
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, useRef, useState, useEffect } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';
4
5
  import { useAccordionContext, useAccordionItemContext } from './context';
5
6
  import { headerScopeQuery as scopeQuery } from './scopeQuery';
@@ -66,7 +67,7 @@ export const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(
66
67
  switch (e.key) {
67
68
  case 'Enter':
68
69
  case ' ': {
69
- onClick((e as unknown) as React.MouseEvent<HTMLDivElement>);
70
+ onClick(e as unknown as React.MouseEvent<HTMLDivElement>);
70
71
  e.preventDefault();
71
72
  break;
72
73
  }
@@ -77,9 +78,8 @@ export const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(
77
78
  if (!accordionContext) {
78
79
  return;
79
80
  }
80
- const allHeaders = accordionContext.scope.current.queryAllNodes(
81
- scopeQuery
82
- );
81
+ const allHeaders =
82
+ accordionContext.scope.current.queryAllNodes(scopeQuery);
83
83
 
84
84
  e.preventDefault();
85
85
 
@@ -126,9 +126,8 @@ export const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(
126
126
 
127
127
  const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {
128
128
  if (accordionContext) {
129
- const allHeaders = accordionContext.scope.current.queryAllNodes(
130
- scopeQuery
131
- );
129
+ const allHeaders =
130
+ accordionContext.scope.current.queryAllNodes(scopeQuery);
132
131
  const newFocusIsHeader =
133
132
  allHeaders.findIndex((header) => header === e.relatedTarget) >= 0;
134
133
 
@@ -1,7 +1,8 @@
1
- import { Fragment, forwardRef } from 'react';
2
- import type * as React from 'react';
3
- import { AccordionItemContextProps, AccordionItemProvider } from './context';
4
- import { useId } from '../hooks';
1
+ import { Fragment, forwardRef, useId } from 'react';
2
+ import * as React from 'react';
3
+
4
+ import type { AccordionItemContextProps } from './context';
5
+ import { AccordionItemProvider } from './context';
5
6
 
6
7
  export interface AccordionItemProps
7
8
  extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
@@ -1,5 +1,6 @@
1
1
  import { useContext, createContext } from 'react';
2
- import { Scope } from '../hooks/useScope';
2
+
3
+ import type { Scope } from '../hooks/useScope';
3
4
 
4
5
  // AccordionGroup Component
5
6
  export interface AccordionContextProps {
@@ -1,5 +1,6 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useControlledState } from '../hooks';
4
5
 
5
6
  export interface CheckBoxProps
@@ -1,6 +1,6 @@
1
1
  import { useMemo, useState } from 'react';
2
- import type * as React from 'react';
3
- import { storiesOf } from '@storybook/react';
2
+ import * as React from 'react';
3
+
4
4
  import { ComboboxOption } from './ComboboxOption';
5
5
  import { ComboboxList } from './ComboboxList';
6
6
  import { ComboboxPopover } from './ComboboxPopover';
@@ -10,7 +10,9 @@ import { Combobox } from './Combobox';
10
10
  import cities from './cities';
11
11
  import './styles.css';
12
12
 
13
- const stories = storiesOf('Components/Combobox', module);
13
+ export default {
14
+ title: 'components/Combobox',
15
+ };
14
16
 
15
17
  function useCityMatch(searchTerm: string) {
16
18
  return useMemo(() => {
@@ -108,11 +110,11 @@ export function ControlledClientSideExample({ initialValue = '' }) {
108
110
  );
109
111
  }
110
112
 
111
- stories.add('Uncontrolled Clientside', () => <UncontrolledClientSideExample />);
112
- stories.add('Uncontrolled Clientside - Initial', () => (
113
+ export const UncontrolledClientSide = () => <UncontrolledClientSideExample />;
114
+ export const UncontrolledClientSideInitial = () => (
113
115
  <UncontrolledClientSideExample initialValue="Aberdeen" />
114
- ));
115
- stories.add('Controlled Clientside', () => <ControlledClientSideExample />);
116
- stories.add('Controlled Clientside - Initial', () => (
116
+ );
117
+ export const ControlledClientSide = () => <ControlledClientSideExample />;
118
+ export const ControlledClientsideInitial = () => (
117
119
  <ControlledClientSideExample initialValue="Aberdeen" />
118
- ));
120
+ );
@@ -1,15 +1,13 @@
1
- import { forwardRef, useRef, useMemo } from 'react';
2
- import type * as React from 'react';
3
- import {
4
- stateChart,
5
- comboboxReducer,
6
- isVisible,
7
- INIT,
8
- ActionTypes,
9
- } from './hooks';
10
- import { ComboBoxProvider, ComboBoxContextProps } from './context';
1
+ import { forwardRef, useRef, useMemo, useId } from 'react';
2
+ import * as React from 'react';
3
+
4
+ import type { ActionTypes } from './hooks';
5
+ import { stateChart, comboboxReducer, isVisible, INIT } from './hooks';
6
+ import type { ComboBoxContextProps } from './context';
7
+ import { ComboBoxProvider } from './context';
11
8
  import { useReducerMachine } from '../hooks/useReducerMachine';
12
- import { useId, Scope, getScope } from '../hooks';
9
+ import type { Scope } from '../hooks';
10
+ import { getScope } from '../hooks';
13
11
 
14
12
  export type SelectEventHandler = (
15
13
  text: string,
@@ -1,5 +1,6 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useComboBoxContext } from './context';
4
5
  import { useKeyDown, IDLE, OPEN_WITH_BUTTON, CLOSE_WITH_BUTTON } from './hooks';
5
6
  import { wrapEvent } from '../utils/wrapEvent';
@@ -21,14 +22,8 @@ export const ComboboxButton = forwardRef<
21
22
  { as: Comp = 'button', innerAs, onClick, onKeyDown, ...props },
22
23
  ref
23
24
  ) {
24
- const {
25
- transition,
26
- data,
27
- state,
28
- buttonRef,
29
- listboxIdRef,
30
- isVisible,
31
- } = useComboBoxContext();
25
+ const { transition, data, state, buttonRef, listboxIdRef, isVisible } =
26
+ useComboBoxContext();
32
27
 
33
28
  const handleKeyDown = useKeyDown();
34
29
 
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, useEffect, useRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import {
4
5
  useBlur,
5
6
  CLEAR,
@@ -1,5 +1,6 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useComboBoxContext } from './context';
4
5
 
5
6
  export interface ComboboxLabelProps
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, useRef, useEffect } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useComboBoxContext } from './context';
4
5
  import { getScope } from '../hooks';
5
6
  import { assignMultipleRefs } from '../utils';
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-use-before-define */
2
2
  import { forwardRef, useEffect, useRef } from 'react';
3
+ import * as React from 'react';
3
4
 
4
- import type * as React from 'react';
5
5
  import { SELECT_WITH_CLICK, CLEAR_SELECTION } from './hooks';
6
6
  import { wrapEvent } from '../utils/wrapEvent';
7
7
  import { useComboBoxContext } from './context';
@@ -1,5 +1,6 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useKeyDown, useBlur } from './hooks';
4
5
  import { wrapEvent } from '../utils/wrapEvent';
5
6
  import { assignMultipleRefs } from '../utils/assignRef';
@@ -1,7 +1,8 @@
1
1
  import { createContext, useContext } from 'react';
2
- import { ActionTypes, StateTypes, ReducerState } from './hooks';
3
- import { SelectEventHandler } from './Combobox';
4
- import { Scope } from '../hooks';
2
+
3
+ import type { ActionTypes, StateTypes, ReducerState } from './hooks';
4
+ import type { SelectEventHandler } from './Combobox';
5
+ import type { Scope } from '../hooks';
5
6
 
6
7
  export interface ComboBoxContextProps {
7
8
  data: Omit<ReducerState, 'state'>;
@@ -1,7 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/no-use-before-define */
2
2
  /* eslint-disable default-case */
3
3
  import { useEffect } from 'react';
4
- import {
4
+
5
+ import type {
5
6
  StateChart as GenericStateChart,
6
7
  StateMachineState,
7
8
  } from '../hooks/useReducerMachine';
@@ -357,10 +358,8 @@ export function useKeyDown() {
357
358
  }
358
359
  case 'Enter': {
359
360
  if (state === NAVIGATING && navigationItem !== '') {
360
- const {
361
- value: navigationValue,
362
- text: navigationText,
363
- } = optionsRef.current[navigationItem];
361
+ const { value: navigationValue, text: navigationText } =
362
+ optionsRef.current[navigationItem];
364
363
 
365
364
  // don't want to submit forms
366
365
  event.preventDefault();
@@ -408,10 +407,8 @@ export function useBlur() {
408
407
  transition(BLUR, { text: stateText, item: '' });
409
408
  } else {
410
409
  // select the currently selected item
411
- const {
412
- value: navigationValue,
413
- text: navigationText,
414
- } = optionsRef.current[navigationItem];
410
+ const { value: navigationValue, text: navigationText } =
411
+ optionsRef.current[navigationItem];
415
412
 
416
413
  onSelect &&
417
414
  onSelect(navigationText, navigationItem, navigationValue);
@@ -1,5 +1,6 @@
1
1
  import { useRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useFocusLock } from './useFocusLock';
4
5
 
5
6
  export interface FocusLockProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -26,3 +26,15 @@ export const getTabblableNodes = (
26
26
 
27
27
  return Array.from(parentNode.querySelectorAll(tabblable));
28
28
  };
29
+
30
+ export function focusOnChildNode(parentNode: HTMLElement, itemIndex: 0 | -1) {
31
+ const elements = getTabblableNodes(parentNode);
32
+ if (elements.length > 0) {
33
+ elements[itemIndex === -1 ? elements.length - 1 : 0].focus();
34
+ } else {
35
+ const currentTabIndex = parentNode.tabIndex;
36
+ parentNode.tabIndex = 0;
37
+ parentNode.focus();
38
+ parentNode.tabIndex = currentTabIndex;
39
+ }
40
+ }
@@ -1,5 +1,6 @@
1
1
  import { useEffect } from 'react';
2
- import { getTabblableNodes } from './tabUtils';
2
+
3
+ import { focusOnChildNode } from './tabUtils';
3
4
 
4
5
  export interface FocusLockOptions {
5
6
  enabled: boolean;
@@ -28,23 +29,16 @@ export function useFocusLock(
28
29
  }
29
30
 
30
31
  if (event.target === lockEndRef.current) {
31
- rootEl.focus();
32
+ focusOnChildNode(rootEl, 0);
32
33
  } else if (event.target === lockStartRef.current) {
33
- const nodes = getTabblableNodes(rootEl);
34
-
35
- if (nodes.length > 0) {
36
- const nodeToFocus = nodes.length - 1;
37
- nodes[nodeToFocus].focus();
38
- } else {
39
- rootEl.focus();
40
- }
34
+ focusOnChildNode(rootEl, -1);
41
35
  } else if (
42
36
  document !== event.target &&
43
37
  rootEl !== event.target &&
44
38
  !rootEl.contains(event.target as any)
45
39
  ) {
46
40
  event.preventDefault();
47
- rootEl.focus();
41
+ focusOnChildNode(rootEl, 0);
48
42
  }
49
43
  };
50
44
 
@@ -1,7 +1,10 @@
1
1
  import { List, ListItem } from './';
2
- import { storiesOf } from '@storybook/react';
3
2
  // import './styles.css';
4
3
 
4
+ export default {
5
+ title: 'components/List',
6
+ };
7
+
5
8
  const Example = () => {
6
9
  return (
7
10
  <List>
@@ -12,6 +15,4 @@ const Example = () => {
12
15
  );
13
16
  };
14
17
 
15
- const stories = storiesOf('Components/List', module);
16
-
17
- stories.add('controlled', () => <Example />);
18
+ export const Controlled = () => <Example />;
package/src/List/List.tsx CHANGED
@@ -1,5 +1,5 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
3
 
4
4
  export interface ListProps extends React.HTMLAttributes<HTMLUListElement> {
5
5
  as?: React.ElementType<any>;
@@ -1,5 +1,5 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
2
+ import * as React from 'react';
3
3
 
4
4
  export interface ListItemProps extends React.HTMLAttributes<HTMLLIElement> {
5
5
  as?: React.ElementType<any>;
@@ -1,11 +1,13 @@
1
1
  import { useState } from 'react';
2
- import type * as React from 'react';
3
- import { storiesOf } from '@storybook/react';
4
- import { Menu, MenuButton, MenuItem, MenuList, MenuPopover } from './';
2
+ import * as React from 'react';
5
3
  import { animated, useSpring } from 'react-spring';
4
+
5
+ import { Menu, MenuButton, MenuItem, MenuList, MenuPopover } from './';
6
6
  import './styles.css';
7
7
 
8
- const stories = storiesOf('Components/Menu', module);
8
+ export default {
9
+ title: 'components/Menu',
10
+ };
9
11
 
10
12
  const noop = () => {
11
13
  // noop function to be used on onRest, as a cleanup
@@ -90,10 +92,10 @@ const MenuControlledWithAnimation = () => {
90
92
  <MenuList
91
93
  as={animated.ul}
92
94
  style={{
93
- opacity: (opacity as unknown) as number,
94
- transform: (scale.to(
95
+ opacity: opacity as unknown as number,
96
+ transform: scale.to(
95
97
  (x) => `scale(${x}, ${x * x})`
96
- ) as unknown) as string,
98
+ ) as unknown as string,
97
99
  }}
98
100
  >
99
101
  <MenuItem>Dog</MenuItem>
@@ -139,20 +141,20 @@ const MenuWithMultipleButtons = () => {
139
141
  );
140
142
  };
141
143
 
142
- stories.add('Controlled', () => (
144
+ export const Controlled = () => (
143
145
  <Wrapper>
144
146
  <MenuControlled />
145
147
  </Wrapper>
146
- ));
148
+ );
147
149
 
148
- stories.add('With animation, controlled', () => (
150
+ export const WithAnimationControlled = () => (
149
151
  <Wrapper>
150
152
  <MenuControlledWithAnimation />
151
153
  </Wrapper>
152
- ));
154
+ );
153
155
 
154
- stories.add('With multiple buttons', () => (
156
+ export const WithMultipleButtons = () => (
155
157
  <Wrapper>
156
158
  <MenuWithMultipleButtons />
157
159
  </Wrapper>
158
- ));
160
+ );
package/src/Menu/Menu.tsx CHANGED
@@ -1,7 +1,8 @@
1
- import { forwardRef, useRef, Fragment } from 'react';
2
- import type * as React from 'react';
3
- import { MenuProvider, MenuContextProps } from './context';
4
- import { useId } from '../hooks/useId';
1
+ import { forwardRef, useRef, Fragment, useId } from 'react';
2
+ import * as React from 'react';
3
+
4
+ import type { MenuContextProps } from './context';
5
+ import { MenuProvider } from './context';
5
6
  import { useControlledState } from '../hooks';
6
7
 
7
8
  export interface MenuProps {
@@ -1,8 +1,8 @@
1
- import { forwardRef } from 'react';
2
- import type * as React from 'react';
1
+ import { forwardRef, useId } from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useMenuContext } from './context';
4
5
  import { wrapEvent } from '../utils/wrapEvent';
5
- import { useId } from '../hooks';
6
6
 
7
7
  export type MenuButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
8
8
  as?: React.ElementType<any>;
@@ -24,15 +24,11 @@ export const MenuButton = forwardRef<HTMLButtonElement, MenuButtonProps>(
24
24
  disabled,
25
25
  ...otherProps
26
26
  } = props;
27
- const {
28
- menuListIdRef,
29
- openWithArrowKeyRef,
30
- open,
31
- buttonRef,
32
- onChange,
33
- } = useMenuContext();
27
+ const { menuListIdRef, openWithArrowKeyRef, open, buttonRef, onChange } =
28
+ useMenuContext();
34
29
 
35
- const buttonId = useId(preferredId);
30
+ const buttonIdGenerated = useId();
31
+ const buttonId = preferredId || buttonIdGenerated;
36
32
 
37
33
  const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {
38
34
  if (disabled) {
@@ -1,5 +1,6 @@
1
- import { forwardRef, useRef } from 'react';
2
- import type * as React from 'react';
1
+ import { forwardRef, useRef, useId } from 'react';
2
+ import * as React from 'react';
3
+
3
4
  import { useMenuContext, useMenuListContext } from './context';
4
5
  import { assignMultipleRefs } from '../utils/assignRef';
5
6
  import { wrapEvent } from '../utils';
@@ -25,10 +26,10 @@ export const MenuItem = forwardRef<any, MenuItemProps>(function MenuItem(
25
26
  onKeyDown,
26
27
  ...otherProps
27
28
  } = props;
28
- const { menuListIdRef, onChange, buttonRef } = useMenuContext();
29
+ const { onChange, buttonRef } = useMenuContext();
29
30
  const { navigationItem, onNavigate } = useMenuListContext();
30
31
  const ref = useRef<HTMLLIElement>();
31
- const itemIndex = useRef(-1);
32
+ const itemId = useId();
32
33
 
33
34
  const isActive = ref.current && ref.current === navigationItem;
34
35
 
@@ -65,9 +66,7 @@ export const MenuItem = forwardRef<any, MenuItemProps>(function MenuItem(
65
66
  return (
66
67
  <Comp
67
68
  ref={assignMultipleRefs(ref, forwardedRef)}
68
- id={
69
- disabled ? undefined : `${menuListIdRef.current}_${itemIndex.current}`
70
- }
69
+ id={disabled ? undefined : itemId}
71
70
  data-menu-item=""
72
71
  data-highlighted={isActive ? '' : undefined}
73
72
  role="menuitem"
@@ -5,7 +5,8 @@ import {
5
5
  useState,
6
6
  useLayoutEffect,
7
7
  } from 'react';
8
- import type * as React from 'react';
8
+ import * as React from 'react';
9
+
9
10
  import { useMenuContext, MenuListProvider } from './context';
10
11
  import { assignMultipleRefs } from '../utils/assignRef';
11
12
  import { useOnClickOutside } from '../hooks/useOnClickOutside';
@@ -32,13 +33,8 @@ export const MenuList = forwardRef<HTMLUListElement, MenuListProps>(
32
33
  ...otherProps
33
34
  } = props;
34
35
 
35
- const {
36
- menuListIdRef,
37
- buttonRef,
38
- onChange,
39
- openWithArrowKeyRef,
40
- open,
41
- } = useMenuContext();
36
+ const { menuListIdRef, buttonRef, onChange, openWithArrowKeyRef, open } =
37
+ useMenuContext();
42
38
 
43
39
  const [navigationItem, setNavigationItem] = useState<
44
40
  HTMLElement | undefined
@@ -1,6 +1,8 @@
1
1
  import { forwardRef } from 'react';
2
- import type * as React from 'react';
3
- import { Popper, PopperProps } from '../Popper';
2
+ import * as React from 'react';
3
+
4
+ import type { PopperProps } from '../Popper';
5
+ import { Popper } from '../Popper';
4
6
  import { useMenuContext } from './context';
5
7
 
6
8
  export interface MenuPopoverProps extends Omit<PopperProps, 'anchorEl'> {
@@ -1,4 +1,5 @@
1
- import { createContext, useContext, MutableRefObject } from 'react';
1
+ import type { MutableRefObject } from 'react';
2
+ import { createContext, useContext } from 'react';
2
3
 
3
4
  export type ItemObject = { text: string; value: any; id: string | undefined };
4
5