@basic-ui/core 0.0.39 → 0.0.42

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 (383) hide show
  1. package/build/cjs/index.js +1312 -464
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/Accordion.d.ts +7 -7
  4. package/build/esm/Accordion/Accordion.js +4 -4
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +5 -5
  7. package/build/esm/Accordion/AccordionBody.js +4 -4
  8. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  9. package/build/esm/Accordion/AccordionHeader.d.ts +6 -6
  10. package/build/esm/Accordion/AccordionHeader.js +4 -4
  11. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  12. package/build/esm/Accordion/AccordionItem.d.ts +7 -7
  13. package/build/esm/Accordion/AccordionItem.js +2 -2
  14. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  15. package/build/esm/Accordion/context.d.ts +3 -3
  16. package/build/esm/Accordion/context.js +0 -0
  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 +1 -1
  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 +1 -1
  24. package/build/esm/CheckBox/CheckBox.d.ts +6 -6
  25. package/build/esm/CheckBox/CheckBox.js +2 -2
  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 +1 -1
  30. package/build/esm/ComboBox/Combobox.d.ts +10 -10
  31. package/build/esm/ComboBox/Combobox.js +3 -3
  32. package/build/esm/ComboBox/Combobox.js.map +1 -1
  33. package/build/esm/ComboBox/ComboboxButton.d.ts +8 -8
  34. package/build/esm/ComboBox/ComboboxButton.js +4 -4
  35. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  36. package/build/esm/ComboBox/ComboboxInput.d.ts +10 -10
  37. package/build/esm/ComboBox/ComboboxInput.js +3 -3
  38. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  39. package/build/esm/ComboBox/ComboboxLabel.d.ts +5 -5
  40. package/build/esm/ComboBox/ComboboxLabel.js +2 -2
  41. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  42. package/build/esm/ComboBox/ComboboxList.d.ts +6 -6
  43. package/build/esm/ComboBox/ComboboxList.js +3 -3
  44. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  45. package/build/esm/ComboBox/ComboboxOption.d.ts +7 -7
  46. package/build/esm/ComboBox/ComboboxOption.js +4 -4
  47. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  48. package/build/esm/ComboBox/ComboboxPopover.d.ts +8 -8
  49. package/build/esm/ComboBox/ComboboxPopover.js +5 -5
  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 +1 -1
  54. package/build/esm/ComboBox/context.d.ts +10 -10
  55. package/build/esm/ComboBox/context.js +0 -0
  56. package/build/esm/ComboBox/context.js.map +1 -1
  57. package/build/esm/ComboBox/hooks.d.ts +3 -3
  58. package/build/esm/ComboBox/hooks.js +11 -11
  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 +1 -1
  63. package/build/esm/ComboBox/makeHash.d.ts +0 -0
  64. package/build/esm/ComboBox/makeHash.js +0 -0
  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 +1 -1
  69. package/build/esm/FocusLock/FocusLock.d.ts +7 -7
  70. package/build/esm/FocusLock/FocusLock.js +2 -2
  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 +1 -1
  75. package/build/esm/FocusLock/tabUtils.d.ts +0 -0
  76. package/build/esm/FocusLock/tabUtils.js +0 -0
  77. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  78. package/build/esm/FocusLock/useFocusLock.d.ts +4 -4
  79. package/build/esm/FocusLock/useFocusLock.js +0 -0
  80. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  81. package/build/esm/List/List.d.ts +6 -6
  82. package/build/esm/List/List.js +2 -2
  83. package/build/esm/List/List.js.map +1 -1
  84. package/build/esm/List/ListItem.d.ts +6 -6
  85. package/build/esm/List/ListItem.js +2 -2
  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 +0 -0
  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 +1 -1
  93. package/build/esm/Menu/Menu.d.ts +6 -6
  94. package/build/esm/Menu/Menu.js +2 -2
  95. package/build/esm/Menu/Menu.js.map +1 -1
  96. package/build/esm/Menu/MenuButton.d.ts +10 -10
  97. package/build/esm/Menu/MenuButton.js +3 -3
  98. package/build/esm/Menu/MenuButton.js.map +1 -1
  99. package/build/esm/Menu/MenuItem.d.ts +6 -6
  100. package/build/esm/Menu/MenuItem.js +4 -4
  101. package/build/esm/Menu/MenuItem.js.map +1 -1
  102. package/build/esm/Menu/MenuList.d.ts +5 -5
  103. package/build/esm/Menu/MenuList.js +6 -6
  104. package/build/esm/Menu/MenuList.js.map +1 -1
  105. package/build/esm/Menu/MenuPopover.d.ts +5 -5
  106. package/build/esm/Menu/MenuPopover.js +2 -2
  107. package/build/esm/Menu/MenuPopover.js.map +1 -1
  108. package/build/esm/Menu/context.d.ts +2 -2
  109. package/build/esm/Menu/context.js +0 -0
  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 +1 -1
  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 +1 -1
  117. package/build/esm/Modal/Modal.d.ts +6 -7
  118. package/build/esm/Modal/Modal.js +5 -5
  119. package/build/esm/Modal/Modal.js.map +1 -1
  120. package/build/esm/Modal/ModalBackdrop.d.ts +6 -6
  121. package/build/esm/Modal/ModalBackdrop.js +6 -6
  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 +1 -1
  126. package/build/esm/Popper/Popper.d.ts +7 -7
  127. package/build/esm/Popper/Popper.js +6 -6
  128. package/build/esm/Popper/Popper.js.map +1 -1
  129. package/build/esm/Popper/PopperArrow.d.ts +5 -5
  130. package/build/esm/Popper/PopperArrow.js +5 -6
  131. package/build/esm/Popper/PopperArrow.js.map +1 -1
  132. package/build/esm/Popper/context.d.ts +0 -0
  133. package/build/esm/Popper/context.js +0 -0
  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 +1 -1
  138. package/build/esm/Portal/Portal.d.ts +0 -0
  139. package/build/esm/Portal/Portal.js +0 -0
  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 +1 -1
  144. package/build/esm/RadioButton/RadioButton.d.ts +6 -6
  145. package/build/esm/RadioButton/RadioButton.js +5 -3
  146. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  147. package/build/esm/RadioButton/RadioGroup.d.ts +7 -7
  148. package/build/esm/RadioButton/RadioGroup.js +2 -2
  149. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  150. package/build/esm/RadioButton/context.d.ts +2 -2
  151. package/build/esm/RadioButton/context.js +0 -0
  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 +1 -1
  156. package/build/esm/SkipNav/SkipNav.d.ts +6 -6
  157. package/build/esm/SkipNav/SkipNav.js +2 -2
  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 +1 -1
  162. package/build/esm/Slider/Slider.d.ts +218 -0
  163. package/build/esm/Slider/Slider.js +842 -0
  164. package/build/esm/Slider/Slider.js.map +1 -0
  165. package/build/esm/Slider/index.d.ts +1 -0
  166. package/build/esm/Slider/index.js +2 -0
  167. package/build/esm/Slider/index.js.map +1 -0
  168. package/build/esm/Spinner/Spinner.d.ts +7 -7
  169. package/build/esm/Spinner/Spinner.js +2 -2
  170. package/build/esm/Spinner/Spinner.js.map +1 -1
  171. package/build/esm/Spinner/SpinnerButton.d.ts +6 -6
  172. package/build/esm/Spinner/SpinnerButton.js +3 -3
  173. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  174. package/build/esm/Spinner/context.d.ts +2 -2
  175. package/build/esm/Spinner/context.js +0 -0
  176. package/build/esm/Spinner/context.js.map +1 -1
  177. package/build/esm/Spinner/index.d.ts +0 -0
  178. package/build/esm/Spinner/index.js +0 -0
  179. package/build/esm/Spinner/index.js.map +1 -1
  180. package/build/esm/Tabs/Tab.d.ts +6 -6
  181. package/build/esm/Tabs/Tab.js +3 -3
  182. package/build/esm/Tabs/Tab.js.map +1 -1
  183. package/build/esm/Tabs/TabList.d.ts +6 -6
  184. package/build/esm/Tabs/TabList.js +4 -4
  185. package/build/esm/Tabs/TabList.js.map +1 -1
  186. package/build/esm/Tabs/TabPanel.d.ts +6 -6
  187. package/build/esm/Tabs/TabPanel.js +4 -4
  188. package/build/esm/Tabs/TabPanel.js.map +1 -1
  189. package/build/esm/Tabs/TabPanels.d.ts +5 -5
  190. package/build/esm/Tabs/TabPanels.js +4 -4
  191. package/build/esm/Tabs/TabPanels.js.map +1 -1
  192. package/build/esm/Tabs/Tabs.d.ts +6 -6
  193. package/build/esm/Tabs/Tabs.js +2 -2
  194. package/build/esm/Tabs/Tabs.js.map +1 -1
  195. package/build/esm/Tabs/context.d.ts +2 -2
  196. package/build/esm/Tabs/context.js +0 -0
  197. package/build/esm/Tabs/context.js.map +1 -1
  198. package/build/esm/Tabs/index.d.ts +0 -0
  199. package/build/esm/Tabs/index.js +0 -0
  200. package/build/esm/Tabs/index.js.map +1 -1
  201. package/build/esm/Tabs/scopeQuery.d.ts +0 -0
  202. package/build/esm/Tabs/scopeQuery.js +0 -0
  203. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  204. package/build/esm/Tooltip/Tooltip.d.ts +7 -8
  205. package/build/esm/Tooltip/Tooltip.js +5 -3
  206. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  207. package/build/esm/Tooltip/index.d.ts +0 -0
  208. package/build/esm/Tooltip/index.js +0 -0
  209. package/build/esm/Tooltip/index.js.map +1 -1
  210. package/build/esm/Tooltip/stateMachine.d.ts +0 -0
  211. package/build/esm/Tooltip/stateMachine.js +9 -9
  212. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  213. package/build/esm/Tooltip/useTooltip.d.ts +7 -7
  214. package/build/esm/Tooltip/useTooltip.js +7 -6
  215. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  216. package/build/esm/hooks/index.d.ts +0 -0
  217. package/build/esm/hooks/index.js +0 -0
  218. package/build/esm/hooks/index.js.map +1 -1
  219. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  220. package/build/esm/hooks/useAutoFocus.js +0 -0
  221. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  222. package/build/esm/hooks/useChildrenCounter.d.ts +0 -0
  223. package/build/esm/hooks/useChildrenCounter.js +0 -0
  224. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  225. package/build/esm/hooks/useControlledState.d.ts +2 -6
  226. package/build/esm/hooks/useControlledState.js +8 -7
  227. package/build/esm/hooks/useControlledState.js.map +1 -1
  228. package/build/esm/hooks/useFocusReturn.d.ts +0 -0
  229. package/build/esm/hooks/useFocusReturn.js +2 -2
  230. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  231. package/build/esm/hooks/useFocusState.d.ts +5 -5
  232. package/build/esm/hooks/useFocusState.js +1 -1
  233. package/build/esm/hooks/useFocusState.js.map +1 -1
  234. package/build/esm/hooks/useGestureHandlers.d.ts +5 -5
  235. package/build/esm/hooks/useGestureHandlers.js +23 -15
  236. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  237. package/build/esm/hooks/useMeasure.d.ts +2 -2
  238. package/build/esm/hooks/useMeasure.js +0 -1
  239. package/build/esm/hooks/useMeasure.js.map +1 -1
  240. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  241. package/build/esm/hooks/useOnClickOutside.js +0 -0
  242. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  243. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  244. package/build/esm/hooks/useOnKeyDown.js +5 -5
  245. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  246. package/build/esm/hooks/useReducerMachine.d.ts +0 -0
  247. package/build/esm/hooks/useReducerMachine.js +2 -1
  248. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  249. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -1
  250. package/build/esm/hooks/useRemoveBodyScroll.js +12 -8
  251. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  252. package/build/esm/hooks/useScope.d.ts +0 -0
  253. package/build/esm/hooks/useScope.js +0 -0
  254. package/build/esm/hooks/useScope.js.map +1 -1
  255. package/build/esm/hooks/useThrottle.d.ts +0 -0
  256. package/build/esm/hooks/useThrottle.js +0 -0
  257. package/build/esm/hooks/useThrottle.js.map +1 -1
  258. package/build/esm/index.d.ts +1 -0
  259. package/build/esm/index.js +1 -0
  260. package/build/esm/index.js.map +1 -1
  261. package/build/esm/utils/assign-ref.d.ts +3 -0
  262. package/build/esm/utils/{assignRef.js → assign-ref.js} +1 -1
  263. package/build/esm/utils/assign-ref.js.map +1 -0
  264. package/build/esm/utils/can-use-dom.d.ts +1 -0
  265. package/build/esm/utils/can-use-dom.js +4 -0
  266. package/build/esm/utils/can-use-dom.js.map +1 -0
  267. package/build/esm/utils/clamp.d.ts +0 -0
  268. package/build/esm/utils/clamp.js +0 -0
  269. package/build/esm/utils/clamp.js.map +1 -1
  270. package/build/esm/utils/context.d.ts +7 -0
  271. package/build/esm/utils/context.js +41 -0
  272. package/build/esm/utils/context.js.map +1 -0
  273. package/build/esm/utils/{createSubscription.d.ts → create-subscription.d.ts} +0 -0
  274. package/build/esm/utils/{createSubscription.js → create-subscription.js} +1 -1
  275. package/build/esm/utils/create-subscription.js.map +1 -0
  276. package/build/esm/utils/{getCircularIndex.d.ts → get-circular-index.d.ts} +0 -0
  277. package/build/esm/utils/{getCircularIndex.js → get-circular-index.js} +1 -1
  278. package/build/esm/utils/get-circular-index.js.map +1 -0
  279. package/build/esm/utils/index.d.ts +10 -4
  280. package/build/esm/utils/index.js +10 -4
  281. package/build/esm/utils/index.js.map +1 -1
  282. package/build/esm/utils/is-right-click.d.ts +6 -0
  283. package/build/esm/utils/is-right-click.js +9 -0
  284. package/build/esm/utils/is-right-click.js.map +1 -0
  285. package/build/esm/utils/owner-document.d.ts +7 -0
  286. package/build/esm/utils/owner-document.js +12 -0
  287. package/build/esm/utils/owner-document.js.map +1 -0
  288. package/build/esm/utils/polymorphic.d.ts +32 -0
  289. package/build/esm/utils/polymorphic.js +2 -0
  290. package/build/esm/utils/polymorphic.js.map +1 -0
  291. package/build/esm/utils/{rubberBandClamp.d.ts → rubber-band-clamp.d.ts} +0 -0
  292. package/build/esm/utils/{rubberBandClamp.js → rubber-band-clamp.js} +1 -1
  293. package/build/esm/utils/rubber-band-clamp.js.map +1 -0
  294. package/build/esm/utils/use-stable-callback.d.ts +16 -0
  295. package/build/esm/utils/use-stable-callback.js +43 -0
  296. package/build/esm/utils/use-stable-callback.js.map +1 -0
  297. package/build/esm/utils/wrap-event.d.ts +3 -0
  298. package/build/esm/utils/{wrapEvent.js → wrap-event.js} +1 -1
  299. package/build/esm/utils/wrap-event.js.map +1 -0
  300. package/build/tsconfig-build.tsbuildinfo +1 -0
  301. package/package.json +4 -5
  302. package/src/Accordion/Accordion.tsx +12 -6
  303. package/src/Accordion/AccordionBody.tsx +4 -5
  304. package/src/Accordion/AccordionHeader.tsx +30 -27
  305. package/src/Accordion/AccordionItem.tsx +12 -6
  306. package/src/Accordion/context.ts +3 -2
  307. package/src/CheckBox/CheckBox.tsx +5 -6
  308. package/src/ComboBox/ComboBox.story.tsx +3 -3
  309. package/src/ComboBox/Combobox.tsx +5 -8
  310. package/src/ComboBox/ComboboxButton.tsx +15 -9
  311. package/src/ComboBox/ComboboxInput.tsx +18 -10
  312. package/src/ComboBox/ComboboxLabel.tsx +4 -4
  313. package/src/ComboBox/ComboboxList.tsx +5 -6
  314. package/src/ComboBox/ComboboxOption.tsx +12 -8
  315. package/src/ComboBox/ComboboxPopover.tsx +15 -10
  316. package/src/ComboBox/context.ts +10 -9
  317. package/src/ComboBox/hooks.tsx +4 -3
  318. package/src/FocusLock/FocusLock.tsx +13 -7
  319. package/src/FocusLock/useFocusLock.ts +4 -3
  320. package/src/List/List.tsx +5 -5
  321. package/src/List/ListItem.tsx +5 -5
  322. package/src/Menu/Menu.story.tsx +2 -2
  323. package/src/Menu/Menu.tsx +13 -7
  324. package/src/Menu/MenuButton.tsx +13 -10
  325. package/src/Menu/MenuItem.tsx +15 -11
  326. package/src/Menu/MenuList.tsx +6 -6
  327. package/src/Menu/MenuPopover.tsx +4 -4
  328. package/src/Menu/context.ts +9 -4
  329. package/src/Modal/Modal.tsx +11 -7
  330. package/src/Modal/ModalBackdrop.tsx +16 -11
  331. package/src/Popper/Popper.tsx +7 -7
  332. package/src/Popper/PopperArrow.tsx +6 -8
  333. package/src/RadioButton/RadioButton.tsx +11 -6
  334. package/src/RadioButton/RadioGroup.tsx +11 -9
  335. package/src/RadioButton/context.ts +2 -4
  336. package/src/SkipNav/SkipNav.tsx +5 -5
  337. package/src/Slider/Slider.story.tsx +45 -0
  338. package/src/Slider/Slider.tsx +1106 -0
  339. package/src/Slider/index.ts +1 -0
  340. package/src/Slider/styles.css +131 -0
  341. package/src/Spinner/Spinner.tsx +13 -9
  342. package/src/Spinner/SpinnerButton.tsx +11 -6
  343. package/src/Spinner/context.ts +2 -3
  344. package/src/Tabs/Tab.tsx +13 -8
  345. package/src/Tabs/TabList.tsx +5 -5
  346. package/src/Tabs/TabPanel.tsx +5 -5
  347. package/src/Tabs/TabPanels.tsx +4 -4
  348. package/src/Tabs/Tabs.tsx +5 -7
  349. package/src/Tabs/context.ts +2 -3
  350. package/src/Tooltip/Tooltip.story.tsx +3 -3
  351. package/src/Tooltip/Tooltip.tsx +13 -7
  352. package/src/Tooltip/stateMachine.ts +9 -13
  353. package/src/Tooltip/useTooltip.ts +19 -12
  354. package/src/hooks/useAutoFocus.ts +2 -1
  355. package/src/hooks/useControlledState.ts +14 -14
  356. package/src/hooks/useFocusState.ts +4 -3
  357. package/src/hooks/useGestureHandlers.ts +33 -19
  358. package/src/hooks/useMeasure.ts +2 -2
  359. package/src/hooks/useOnClickOutside.ts +2 -2
  360. package/src/hooks/useOnKeyDown.ts +4 -3
  361. package/src/hooks/useRemoveBodyScroll.ts +18 -8
  362. package/src/index.ts +1 -0
  363. package/src/utils/{assignRef.ts → assign-ref.ts} +4 -4
  364. package/src/utils/can-use-dom.ts +7 -0
  365. package/src/utils/context.tsx +48 -0
  366. package/src/utils/{createSubscription.ts → create-subscription.ts} +0 -0
  367. package/src/utils/{getCircularIndex.ts → get-circular-index.ts} +0 -0
  368. package/src/utils/index.ts +10 -4
  369. package/src/utils/is-right-click.ts +14 -0
  370. package/src/utils/owner-document.ts +13 -0
  371. package/src/utils/polymorphic.ts +72 -0
  372. package/src/utils/{rubberBandClamp.ts → rubber-band-clamp.ts} +0 -0
  373. package/src/utils/use-stable-callback.ts +58 -0
  374. package/src/utils/wrap-event.ts +22 -0
  375. package/build/esm/utils/assignRef.d.ts +0 -3
  376. package/build/esm/utils/assignRef.js.map +0 -1
  377. package/build/esm/utils/createSubscription.js.map +0 -1
  378. package/build/esm/utils/getCircularIndex.js.map +0 -1
  379. package/build/esm/utils/rubberBandClamp.js.map +0 -1
  380. package/build/esm/utils/wrapEvent.d.ts +0 -3
  381. package/build/esm/utils/wrapEvent.js.map +0 -1
  382. package/build/tsconfig.tsbuildinfo +0 -1
  383. package/src/utils/wrapEvent.ts +0 -20
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
- export interface AccordionBodyProps extends React.HTMLAttributes<HTMLDivElement> {
3
- as?: React.ElementType<any>;
4
- innerAs?: React.ElementType<any>;
1
+ import type { HTMLAttributes, ElementType } from 'react';
2
+ export interface AccordionBodyProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
5
  }
6
- export declare const AccordionBody: React.ForwardRefExoticComponent<AccordionBodyProps & React.RefAttributes<HTMLDivElement>>;
6
+ export declare const AccordionBody: import("react").ForwardRefExoticComponent<AccordionBodyProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["as"];
4
5
  import { forwardRef, useState, useEffect, useRef } from 'react';
5
- import * as React from 'react';
6
6
  import { useAccordionItemContext, useAccordionContext } from './context';
7
7
  import { bodyScopeQuery as scopeQuery } from './scopeQuery';
8
8
  import { assignMultipleRefs } from '../utils';
@@ -10,7 +10,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export var AccordionBody = /*#__PURE__*/forwardRef(function AccordionBody(props, forwardedRef) {
11
11
  var _props$as = props.as,
12
12
  Comp = _props$as === void 0 ? 'div' : _props$as,
13
- otherProps = _objectWithoutProperties(props, ["as"]);
13
+ otherProps = _objectWithoutProperties(props, _excluded);
14
14
 
15
15
  var accordionItemContext = useAccordionItemContext();
16
16
  var accordionContext = useAccordionContext();
@@ -37,9 +37,9 @@ export var AccordionBody = /*#__PURE__*/forwardRef(function AccordionBody(props,
37
37
  }
38
38
  }, [accordionContext]);
39
39
  var expanded = Boolean(accordionItemContext.expanded || accordionContext && accordionContext.expandedIndex === index);
40
- return /*#__PURE__*/_jsx(Comp, _extends({
40
+ return /*#__PURE__*/_jsx(Comp, _extends(_extends({
41
41
  ref: assignMultipleRefs(forwardedRef, ref)
42
- }, otherProps, {
42
+ }, otherProps), {}, {
43
43
  "aria-labelledby": accordionItemContext.headerId,
44
44
  id: accordionItemContext.bodyId,
45
45
  role: "region",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/AccordionBody.tsx"],"names":["forwardRef","useState","useEffect","useRef","React","useAccordionItemContext","useAccordionContext","bodyScopeQuery","scopeQuery","assignMultipleRefs","AccordionBody","props","forwardedRef","as","Comp","otherProps","accordionItemContext","accordionContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","Boolean","expandedIndex","headerId","bodyId","undefined"],"mappings":";;;AAAA,SAASA,UAAT,EAAqBC,QAArB,EAA+BC,SAA/B,EAA0CC,MAA1C,QAAwD,OAAxD;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,uBAAT,EAAkCC,mBAAlC,QAA6D,WAA7D;AACA,SAASC,cAAc,IAAIC,UAA3B,QAA6C,cAA7C;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAQA,OAAO,IAAMC,aAAa,gBAAGV,UAAU,CACrC,SAASU,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;AAAA,kBACED,KADF,CAClCE,EADkC;AAAA,MAC9BC,IAD8B,0BACvB,KADuB;AAAA,MACbC,UADa,4BACEJ,KADF;;AAE1C,MAAMK,oBAAoB,GAAGX,uBAAuB,EAApD;AACA,MAAMY,gBAAgB,GAAGX,mBAAmB,EAA5C;AACA,MAAMY,GAAG,GAAGf,MAAM,EAAlB;;AAJ0C,kBAKhBF,QAAQ,EALQ;AAAA;AAAA,MAKnCkB,KALmC;AAAA,MAK5BC,QAL4B;;AAO1C,MAAI,CAACJ,oBAAL,EAA2B;AACzB,UAAM,IAAIK,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAEDnB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIe,gBAAJ,EAAsB;AACpB,UAAMK,UAAU,GACdL,gBAAgB,CAACM,KAAjB,CAAuBC,OAAvB,CAA+BC,aAA/B,CAA6CjB,UAA7C,CADF;;AAGA,UAAMW,MAAK,GAAGG,UAAU,CAACI,SAAX,CAAqB,UAACC,CAAD;AAAA,eAAOA,CAAC,KAAKT,GAAG,CAACM,OAAjB;AAAA,OAArB,CAAd;;AACAJ,MAAAA,QAAQ,CAACD,MAAD,CAAR;AACD;AACF,GARQ,EAQN,CAACF,gBAAD,CARM,CAAT;AAUA,MAAMW,QAAQ,GAAGC,OAAO,CACtBb,oBAAoB,CAACY,QAArB,IACGX,gBAAgB,IAAIA,gBAAgB,CAACa,aAAjB,KAAmCX,KAFpC,CAAxB;AAKA,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEV,kBAAkB,CAACG,YAAD,EAAeM,GAAf;AADzB,KAEMH,UAFN;AAGE,uBAAiBC,oBAAoB,CAACe,QAHxC;AAIE,IAAA,EAAE,EAAEf,oBAAoB,CAACgB,MAJ3B;AAKE,IAAA,IAAI,EAAC,QALP;AAME,2BAAoB,EANtB;AAOE,IAAA,MAAM,EAAEJ,QAAQ,GAAGK,SAAH,GAAe;AAPjC,KADF;AAWD,CAtCoC,CAAhC","sourcesContent":["import { forwardRef, useState, useEffect, useRef } from 'react';\nimport * as React from 'react';\n\nimport { useAccordionItemContext, useAccordionContext } from './context';\nimport { bodyScopeQuery as scopeQuery } from './scopeQuery';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface AccordionBodyProps\n extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n}\n\nexport const AccordionBody = forwardRef<HTMLDivElement, AccordionBodyProps>(\n function AccordionBody(props, forwardedRef) {\n const { as: Comp = 'div', ...otherProps } = props;\n const accordionItemContext = useAccordionItemContext();\n const accordionContext = useAccordionContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n {...otherProps}\n aria-labelledby={accordionItemContext.headerId}\n id={accordionItemContext.bodyId}\n role=\"region\"\n data-accordion-body=\"\"\n hidden={expanded ? undefined : 'hidden'}\n />\n );\n }\n);\n"],"file":"AccordionBody.js"}
1
+ {"version":3,"file":"AccordionBody.js","names":["forwardRef","useState","useEffect","useRef","useAccordionItemContext","useAccordionContext","bodyScopeQuery","scopeQuery","assignMultipleRefs","AccordionBody","props","forwardedRef","as","Comp","otherProps","accordionItemContext","accordionContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","Boolean","expandedIndex","headerId","bodyId","undefined"],"sources":["../../../src/Accordion/AccordionBody.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType } from 'react';\nimport { forwardRef, useState, useEffect, useRef } from 'react';\n\nimport { useAccordionItemContext, useAccordionContext } from './context';\nimport { bodyScopeQuery as scopeQuery } from './scopeQuery';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface AccordionBodyProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n}\n\nexport const AccordionBody = forwardRef<HTMLDivElement, AccordionBodyProps>(\n function AccordionBody(props, forwardedRef) {\n const { as: Comp = 'div', ...otherProps } = props;\n const accordionItemContext = useAccordionItemContext();\n const accordionContext = useAccordionContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n {...otherProps}\n aria-labelledby={accordionItemContext.headerId}\n id={accordionItemContext.bodyId}\n role=\"region\"\n data-accordion-body=\"\"\n hidden={expanded ? undefined : 'hidden'}\n />\n );\n }\n);\n"],"mappings":";;;;AACA,SAASA,UAAT,EAAqBC,QAArB,EAA+BC,SAA/B,EAA0CC,MAA1C,QAAwD,OAAxD;AAEA,SAASC,uBAAT,EAAkCC,mBAAlC,QAA6D,WAA7D;AACA,SAASC,cAAc,IAAIC,UAA3B,QAA6C,cAA7C;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAOA,OAAO,IAAMC,aAAa,gBAAGT,UAAU,CACrC,SAASS,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;EAC1C,gBAA4CD,KAA5C,CAAQE,EAAR;EAAA,IAAYC,IAAZ,0BAAmB,KAAnB;EAAA,IAA6BC,UAA7B,4BAA4CJ,KAA5C;;EACA,IAAMK,oBAAoB,GAAGX,uBAAuB,EAApD;EACA,IAAMY,gBAAgB,GAAGX,mBAAmB,EAA5C;EACA,IAAMY,GAAG,GAAGd,MAAM,EAAlB;;EACA,gBAA0BF,QAAQ,EAAlC;EAAA;EAAA,IAAOiB,KAAP;EAAA,IAAcC,QAAd;;EAEA,IAAI,CAACJ,oBAAL,EAA2B;IACzB,MAAM,IAAIK,KAAJ,CAAU,wCAAV,CAAN;EACD;;EAEDlB,SAAS,CAAC,YAAM;IACd,IAAIc,gBAAJ,EAAsB;MACpB,IAAMK,UAAU,GACdL,gBAAgB,CAACM,KAAjB,CAAuBC,OAAvB,CAA+BC,aAA/B,CAA6CjB,UAA7C,CADF;;MAGA,IAAMW,MAAK,GAAGG,UAAU,CAACI,SAAX,CAAqB,UAACC,CAAD;QAAA,OAAOA,CAAC,KAAKT,GAAG,CAACM,OAAjB;MAAA,CAArB,CAAd;;MACAJ,QAAQ,CAACD,MAAD,CAAR;IACD;EACF,CARQ,EAQN,CAACF,gBAAD,CARM,CAAT;EAUA,IAAMW,QAAQ,GAAGC,OAAO,CACtBb,oBAAoB,CAACY,QAArB,IACGX,gBAAgB,IAAIA,gBAAgB,CAACa,aAAjB,KAAmCX,KAFpC,CAAxB;EAKA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEV,kBAAkB,CAACG,YAAD,EAAeM,GAAf;EADzB,GAEMH,UAFN;IAGE,mBAAiBC,oBAAoB,CAACe,QAHxC;IAIE,EAAE,EAAEf,oBAAoB,CAACgB,MAJ3B;IAKE,IAAI,EAAC,QALP;IAME,uBAAoB,EANtB;IAOE,MAAM,EAAEJ,QAAQ,GAAGK,SAAH,GAAe;EAPjC,GADF;AAWD,CAtCoC,CAAhC"}
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
2
- export interface AccordionHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
3
- as?: React.ElementType<any>;
4
- innerAs?: React.ElementType<any>;
5
- children?: React.ReactNode;
1
+ import type { HTMLAttributes, ElementType, ReactNode } from 'react';
2
+ export interface AccordionHeaderProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
6
  }
7
- export declare const AccordionHeader: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLDivElement>>;
7
+ export declare const AccordionHeader: import("react").ForwardRefExoticComponent<AccordionHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["as", "onKeyDown", "onClick", "onFocus", "onBlur"];
4
5
  import { forwardRef, useRef, useState, useEffect } from 'react';
5
- import * as React from 'react';
6
6
  import { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';
7
7
  import { useAccordionContext, useAccordionItemContext } from './context';
8
8
  import { headerScopeQuery as scopeQuery } from './scopeQuery';
@@ -14,7 +14,7 @@ export var AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(pr
14
14
  onClickProp = props.onClick,
15
15
  onFocus = props.onFocus,
16
16
  onBlur = props.onBlur,
17
- otherProps = _objectWithoutProperties(props, ["as", "onKeyDown", "onClick", "onFocus", "onBlur"]);
17
+ otherProps = _objectWithoutProperties(props, _excluded);
18
18
 
19
19
  var accordionContext = useAccordionContext();
20
20
  var accordionItemContext = useAccordionItemContext();
@@ -146,9 +146,9 @@ export var AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(pr
146
146
  };
147
147
 
148
148
  var expanded = Boolean(accordionItemContext.expanded || accordionContext && accordionContext.expandedIndex === index);
149
- return /*#__PURE__*/_jsx(Comp, _extends({
149
+ return /*#__PURE__*/_jsx(Comp, _extends(_extends({
150
150
  ref: assignMultipleRefs(ref, forwardedRef)
151
- }, otherProps, {
151
+ }, otherProps), {}, {
152
152
  id: accordionItemContext.headerId,
153
153
  "aria-controls": accordionItemContext.bodyId,
154
154
  role: "button",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/AccordionHeader.tsx"],"names":["forwardRef","useRef","useState","useEffect","React","wrapEvent","assignMultipleRefs","getCircularIndex","useAccordionContext","useAccordionItemContext","headerScopeQuery","scopeQuery","AccordionHeader","props","forwardedRef","as","Comp","onKeyDown","onClickProp","onClick","onFocus","onBlur","otherProps","accordionContext","accordionItemContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","expandedIndex","onChange","handleKeyDown","key","preventDefault","length","nextIndex","focus","handleFocus","childrenHeaderHasFocus","setChildrenHeaderHasFocus","handleBlur","newFocusIsHeader","header","relatedTarget","Boolean","headerId","bodyId","String"],"mappings":"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","sourcesContent":["import { forwardRef, useRef, useState, useEffect } from 'react';\nimport * as React from 'react';\n\nimport { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';\nimport { useAccordionContext, useAccordionItemContext } from './context';\nimport { headerScopeQuery as scopeQuery } from './scopeQuery';\n\nexport interface AccordionHeaderProps\n extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(\n function AccordionHeader(props, forwardedRef) {\n const {\n as: Comp = 'div',\n onKeyDown,\n onClick: onClickProp,\n onFocus,\n onBlur,\n ...otherProps\n } = props;\n const accordionContext = useAccordionContext();\n const accordionItemContext = useAccordionItemContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number | undefined>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const onClick = wrapEvent(\n onClickProp,\n (e: React.MouseEvent<HTMLDivElement>) => {\n let index = 0;\n if (accordionItemContext.expanded) {\n index = -1;\n } else if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n index = allHeaders.findIndex((e) => e === ref.current);\n if (index === accordionContext.expandedIndex) {\n index = -1;\n }\n accordionContext.onChange && accordionContext.onChange(e, index);\n }\n\n accordionItemContext.onChange &&\n accordionItemContext.onChange(e, index >= 0);\n }\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n onClick(e as unknown as React.MouseEvent<HTMLDivElement>);\n e.preventDefault();\n break;\n }\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End': {\n if (!accordionContext) {\n return;\n }\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n\n e.preventDefault();\n\n if (allHeaders.length === 0) {\n return;\n }\n\n let nextIndex = allHeaders.findIndex((e) => e === ref.current);\n switch (e.key) {\n case 'ArrowUp':\n nextIndex += -1;\n break;\n case 'ArrowDown':\n nextIndex += +1;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = -1;\n break;\n }\n\n // We're sure it will not be null, because we already checked for allHeaders.length > 0 above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n nextIndex = getCircularIndex(nextIndex, allHeaders.length)!;\n allHeaders[nextIndex] && allHeaders[nextIndex].focus();\n break;\n }\n default:\n return;\n }\n };\n\n const handleFocus = () => {\n if (accordionContext) {\n if (!accordionContext.childrenHeaderHasFocus) {\n // this is needed to avoid rerendering the parent and\n // messing up with the internal count for children/parent count\n accordionContext.setChildrenHeaderHasFocus(true);\n }\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n const newFocusIsHeader =\n allHeaders.findIndex((header) => header === e.relatedTarget) >= 0;\n\n // only remove focus flag if the focus went to some element\n // that is not an accordion header\n if (!newFocusIsHeader) {\n accordionContext.setChildrenHeaderHasFocus(false);\n }\n }\n };\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(ref, forwardedRef)}\n {...otherProps}\n id={accordionItemContext.headerId}\n aria-controls={accordionItemContext.bodyId}\n role=\"button\"\n data-accordion-header=\"\"\n tabIndex=\"0\"\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onClick={onClick}\n aria-expanded={String(expanded)}\n />\n );\n }\n);\n"],"file":"AccordionHeader.js"}
1
+ {"version":3,"file":"AccordionHeader.js","names":["forwardRef","useRef","useState","useEffect","wrapEvent","assignMultipleRefs","getCircularIndex","useAccordionContext","useAccordionItemContext","headerScopeQuery","scopeQuery","AccordionHeader","props","forwardedRef","as","Comp","onKeyDown","onClickProp","onClick","onFocus","onBlur","otherProps","accordionContext","accordionItemContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","expandedIndex","onChange","handleKeyDown","key","preventDefault","length","nextIndex","focus","handleFocus","childrenHeaderHasFocus","setChildrenHeaderHasFocus","handleBlur","newFocusIsHeader","header","relatedTarget","Boolean","headerId","bodyId","String"],"sources":["../../../src/Accordion/AccordionHeader.tsx"],"sourcesContent":["import type {\n HTMLAttributes,\n ElementType,\n ReactNode,\n MouseEvent,\n KeyboardEvent,\n FocusEvent,\n} from 'react';\nimport { forwardRef, useRef, useState, useEffect } from 'react';\n\nimport { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';\nimport { useAccordionContext, useAccordionItemContext } from './context';\nimport { headerScopeQuery as scopeQuery } from './scopeQuery';\n\nexport interface AccordionHeaderProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(\n function AccordionHeader(props, forwardedRef) {\n const {\n as: Comp = 'div',\n onKeyDown,\n onClick: onClickProp,\n onFocus,\n onBlur,\n ...otherProps\n } = props;\n const accordionContext = useAccordionContext();\n const accordionItemContext = useAccordionItemContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number | undefined>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const onClick = wrapEvent(onClickProp, (e: MouseEvent<HTMLDivElement>) => {\n let index = 0;\n if (accordionItemContext.expanded) {\n index = -1;\n } else if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n index = allHeaders.findIndex((e) => e === ref.current);\n if (index === accordionContext.expandedIndex) {\n index = -1;\n }\n accordionContext.onChange && accordionContext.onChange(e, index);\n }\n\n accordionItemContext.onChange &&\n accordionItemContext.onChange(e, index >= 0);\n });\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n onClick(e as unknown as MouseEvent<HTMLDivElement>);\n e.preventDefault();\n break;\n }\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End': {\n if (!accordionContext) {\n return;\n }\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n\n e.preventDefault();\n\n if (allHeaders.length === 0) {\n return;\n }\n\n let nextIndex = allHeaders.findIndex((e) => e === ref.current);\n switch (e.key) {\n case 'ArrowUp':\n nextIndex += -1;\n break;\n case 'ArrowDown':\n nextIndex += +1;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = -1;\n break;\n }\n\n // We're sure it will not be null, because we already checked for allHeaders.length > 0 above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n nextIndex = getCircularIndex(nextIndex, allHeaders.length)!;\n allHeaders[nextIndex] && allHeaders[nextIndex].focus();\n break;\n }\n default:\n return;\n }\n };\n\n const handleFocus = () => {\n if (accordionContext) {\n if (!accordionContext.childrenHeaderHasFocus) {\n // this is needed to avoid rerendering the parent and\n // messing up with the internal count for children/parent count\n accordionContext.setChildrenHeaderHasFocus(true);\n }\n }\n };\n\n const handleBlur = (e: FocusEvent<HTMLDivElement>) => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n const newFocusIsHeader =\n allHeaders.findIndex((header) => header === e.relatedTarget) >= 0;\n\n // only remove focus flag if the focus went to some element\n // that is not an accordion header\n if (!newFocusIsHeader) {\n accordionContext.setChildrenHeaderHasFocus(false);\n }\n }\n };\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(ref, forwardedRef)}\n {...otherProps}\n id={accordionItemContext.headerId}\n aria-controls={accordionItemContext.bodyId}\n role=\"button\"\n data-accordion-header=\"\"\n tabIndex=\"0\"\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onClick={onClick}\n aria-expanded={String(expanded)}\n />\n );\n }\n);\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- export interface AccordionItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3
- as?: React.ElementType<any>;
4
- innerAs?: React.ElementType<any>;
5
- children?: React.ReactNode;
1
+ import type { HTMLAttributes, ElementType, ReactNode, KeyboardEvent, MouseEvent } from 'react';
2
+ export interface AccordionItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
6
  expanded?: boolean;
7
- onChange?: (e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>, value: boolean) => void;
7
+ onChange?: (e: KeyboardEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>, value: boolean) => void;
8
8
  }
9
- export declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const AccordionItem: import("react").ForwardRefExoticComponent<AccordionItemProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["as", "expanded", "onChange"];
3
4
  import { Fragment, forwardRef, useId } from 'react';
4
- import * as React from 'react';
5
5
  import { AccordionItemProvider } from './context';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  export var AccordionItem = /*#__PURE__*/forwardRef(function AccordionItem(props, forwardedRef) {
@@ -10,7 +10,7 @@ export var AccordionItem = /*#__PURE__*/forwardRef(function AccordionItem(props,
10
10
  _props$expanded = props.expanded,
11
11
  expanded = _props$expanded === void 0 ? false : _props$expanded,
12
12
  onChange = props.onChange,
13
- otherProps = _objectWithoutProperties(props, ["as", "expanded", "onChange"]);
13
+ otherProps = _objectWithoutProperties(props, _excluded);
14
14
 
15
15
  var id = useId();
16
16
  var headerId = id ? "accordion-header-".concat(id) : undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/AccordionItem.tsx"],"names":["Fragment","forwardRef","useId","React","AccordionItemProvider","AccordionItem","props","forwardedRef","as","Comp","expanded","onChange","otherProps","id","headerId","undefined","bodyId","contextValue"],"mappings":";;AAAA,SAASA,QAAT,EAAmBC,UAAnB,EAA+BC,KAA/B,QAA4C,OAA5C;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAGA,SAASC,qBAAT,QAAsC,WAAtC;;AAcA,OAAO,IAAMC,aAAa,gBAAGJ,UAAU,CACrC,SAASI,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;AAAA,kBAMtCD,KANsC,CAExCE,EAFwC;AAAA,MAEpCC,IAFoC,0BAE7BT,QAF6B;AAAA,wBAMtCM,KANsC,CAGxCI,QAHwC;AAAA,MAGxCA,QAHwC,gCAG7B,KAH6B;AAAA,MAIxCC,QAJwC,GAMtCL,KANsC,CAIxCK,QAJwC;AAAA,MAKrCC,UALqC,4BAMtCN,KANsC;;AAO1C,MAAMO,EAAE,GAAGX,KAAK,EAAhB;AAEA,MAAMY,QAAQ,GAAGD,EAAE,8BAAuBA,EAAvB,IAA8BE,SAAjD;AACA,MAAMC,MAAM,GAAGH,EAAE,4BAAqBA,EAArB,IAA4BE,SAA7C;AACA,MAAME,YAAuC,GAAG;AAC9CH,IAAAA,QAAQ,EAARA,QAD8C;AAE9CE,IAAAA,MAAM,EAANA,MAF8C;AAG9CN,IAAAA,QAAQ,EAARA,QAH8C;AAI9CC,IAAAA,QAAQ,EAARA;AAJ8C,GAAhD;AAOA,sBACE,KAAC,qBAAD;AAAuB,IAAA,KAAK,EAAEM,YAA9B;AAAA,2BACE,KAAC,IAAD;AAAM,MAAA,GAAG,EAAEV;AAAX,OAA6BK,UAA7B;AADF,IADF;AAKD,CAxBoC,CAAhC","sourcesContent":["import { Fragment, forwardRef, useId } from 'react';\nimport * as React from 'react';\n\nimport type { AccordionItemContextProps } from './context';\nimport { AccordionItemProvider } from './context';\n\nexport interface AccordionItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n expanded?: boolean;\n onChange?: (\n e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>,\n value: boolean\n ) => void;\n}\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n function AccordionItem(props, forwardedRef) {\n const {\n as: Comp = Fragment,\n expanded = false,\n onChange,\n ...otherProps\n } = props;\n const id = useId();\n\n const headerId = id ? `accordion-header-${id}` : undefined;\n const bodyId = id ? `accordion-body-${id}` : undefined;\n const contextValue: AccordionItemContextProps = {\n headerId,\n bodyId,\n expanded,\n onChange,\n };\n\n return (\n <AccordionItemProvider value={contextValue}>\n <Comp ref={forwardedRef} {...otherProps} />\n </AccordionItemProvider>\n );\n }\n);\n"],"file":"AccordionItem.js"}
1
+ {"version":3,"file":"AccordionItem.js","names":["Fragment","forwardRef","useId","AccordionItemProvider","AccordionItem","props","forwardedRef","as","Comp","expanded","onChange","otherProps","id","headerId","undefined","bodyId","contextValue"],"sources":["../../../src/Accordion/AccordionItem.tsx"],"sourcesContent":["import type {\n HTMLAttributes,\n ElementType,\n ReactNode,\n KeyboardEvent,\n MouseEvent,\n} from 'react';\nimport { Fragment, forwardRef, useId } from 'react';\n\nimport type { AccordionItemContextProps } from './context';\nimport { AccordionItemProvider } from './context';\n\nexport interface AccordionItemProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n expanded?: boolean;\n onChange?: (\n e: KeyboardEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>,\n value: boolean\n ) => void;\n}\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n function AccordionItem(props, forwardedRef) {\n const {\n as: Comp = Fragment,\n expanded = false,\n onChange,\n ...otherProps\n } = props;\n const id = useId();\n\n const headerId = id ? `accordion-header-${id}` : undefined;\n const bodyId = id ? `accordion-body-${id}` : undefined;\n const contextValue: AccordionItemContextProps = {\n headerId,\n bodyId,\n expanded,\n onChange,\n };\n\n return (\n <AccordionItemProvider value={contextValue}>\n <Comp ref={forwardedRef} {...otherProps} />\n </AccordionItemProvider>\n );\n }\n);\n"],"mappings":";;;AAOA,SAASA,QAAT,EAAmBC,UAAnB,EAA+BC,KAA/B,QAA4C,OAA5C;AAGA,SAASC,qBAAT,QAAsC,WAAtC;;AAcA,OAAO,IAAMC,aAAa,gBAAGH,UAAU,CACrC,SAASG,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;EAC1C,gBAKID,KALJ,CACEE,EADF;EAAA,IACMC,IADN,0BACaR,QADb;EAAA,sBAKIK,KALJ,CAEEI,QAFF;EAAA,IAEEA,QAFF,gCAEa,KAFb;EAAA,IAGEC,QAHF,GAKIL,KALJ,CAGEK,QAHF;EAAA,IAIKC,UAJL,4BAKIN,KALJ;;EAMA,IAAMO,EAAE,GAAGV,KAAK,EAAhB;EAEA,IAAMW,QAAQ,GAAGD,EAAE,8BAAuBA,EAAvB,IAA8BE,SAAjD;EACA,IAAMC,MAAM,GAAGH,EAAE,4BAAqBA,EAArB,IAA4BE,SAA7C;EACA,IAAME,YAAuC,GAAG;IAC9CH,QAAQ,EAARA,QAD8C;IAE9CE,MAAM,EAANA,MAF8C;IAG9CN,QAAQ,EAARA,QAH8C;IAI9CC,QAAQ,EAARA;EAJ8C,CAAhD;EAOA,oBACE,KAAC,qBAAD;IAAuB,KAAK,EAAEM,YAA9B;IAAA,uBACE,KAAC,IAAD;MAAM,GAAG,EAAEV;IAAX,GAA6BK,UAA7B;EADF,EADF;AAKD,CAxBoC,CAAhC"}
@@ -1,11 +1,11 @@
1
- /// <reference types="react" />
1
+ import type { KeyboardEvent, MouseEvent } from 'react';
2
2
  import type { Scope } from '../hooks/useScope';
3
3
  export interface AccordionContextProps {
4
4
  childrenHeaderHasFocus: boolean;
5
5
  setChildrenHeaderHasFocus: (value: boolean) => void;
6
6
  scope: Scope<HTMLElement>;
7
7
  expandedIndex: number;
8
- onChange?: (e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>, index: number) => void;
8
+ onChange?: (e: KeyboardEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>, index: number) => void;
9
9
  }
10
10
  export declare const AccordionProvider: import("react").Provider<AccordionContextProps | null>;
11
11
  export declare const useAccordionContext: () => AccordionContextProps | null;
@@ -13,7 +13,7 @@ export interface AccordionItemContextProps {
13
13
  headerId: string | undefined;
14
14
  bodyId: string | undefined;
15
15
  expanded: boolean;
16
- onChange?: (e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>, value: boolean) => void;
16
+ onChange?: (e: KeyboardEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>, value: boolean) => void;
17
17
  }
18
18
  export declare const AccordionItemProvider: import("react").Provider<AccordionItemContextProps | null>;
19
19
  export declare const useAccordionItemContext: () => AccordionItemContextProps | null;
File without changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/context.ts"],"names":["useContext","createContext","accordionContext","AccordionProvider","Provider","useAccordionContext","accordionItemContext","AccordionItemProvider","useAccordionItemContext"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,OAA1C;AAgBA,IAAMC,gBAAgB,gBAAGD,aAAa,CAA+B,IAA/B,CAAtC;IACyBE,iB,GAAsBD,gB,CAAhCE,Q;;AACf,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SAAML,UAAU,CAACE,gBAAD,CAAhB;AAAA,CAA5B,C,CAEP;;AAWA,IAAMI,oBAAoB,gBAAGL,aAAa,CACxC,IADwC,CAA1C;IAGyBM,qB,GAA0BD,oB,CAApCF,Q;;AACf,OAAO,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAMR,UAAU,CAACM,oBAAD,CAAhB;AAAA,CAAhC","sourcesContent":["import { useContext, createContext } from 'react';\n\nimport type { Scope } from '../hooks/useScope';\n\n// AccordionGroup Component\nexport interface AccordionContextProps {\n childrenHeaderHasFocus: boolean;\n setChildrenHeaderHasFocus: (value: boolean) => void;\n scope: Scope<HTMLElement>;\n expandedIndex: number;\n onChange?: (\n e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>,\n index: number\n ) => void;\n}\n\nconst accordionContext = createContext<AccordionContextProps | null>(null);\nexport const { Provider: AccordionProvider } = accordionContext;\nexport const useAccordionContext = () => useContext(accordionContext);\n\n// Accordion Component\nexport interface AccordionItemContextProps {\n headerId: string | undefined;\n bodyId: string | undefined;\n expanded: boolean;\n onChange?: (\n e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>,\n value: boolean\n ) => void;\n}\n\nconst accordionItemContext = createContext<AccordionItemContextProps | null>(\n null\n);\nexport const { Provider: AccordionItemProvider } = accordionItemContext;\nexport const useAccordionItemContext = () => useContext(accordionItemContext);\n"],"file":"context.js"}
1
+ {"version":3,"file":"context.js","names":["useContext","createContext","accordionContext","AccordionProvider","Provider","useAccordionContext","accordionItemContext","AccordionItemProvider","useAccordionItemContext"],"sources":["../../../src/Accordion/context.ts"],"sourcesContent":["import type { KeyboardEvent, MouseEvent } from 'react';\nimport { useContext, createContext } from 'react';\n\nimport type { Scope } from '../hooks/useScope';\n\n// AccordionGroup Component\nexport interface AccordionContextProps {\n childrenHeaderHasFocus: boolean;\n setChildrenHeaderHasFocus: (value: boolean) => void;\n scope: Scope<HTMLElement>;\n expandedIndex: number;\n onChange?: (\n e: KeyboardEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>,\n index: number\n ) => void;\n}\n\nconst accordionContext = createContext<AccordionContextProps | null>(null);\nexport const { Provider: AccordionProvider } = accordionContext;\nexport const useAccordionContext = () => useContext(accordionContext);\n\n// Accordion Component\nexport interface AccordionItemContextProps {\n headerId: string | undefined;\n bodyId: string | undefined;\n expanded: boolean;\n onChange?: (\n e: KeyboardEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>,\n value: boolean\n ) => void;\n}\n\nconst accordionItemContext = createContext<AccordionItemContextProps | null>(\n null\n);\nexport const { Provider: AccordionItemProvider } = accordionItemContext;\nexport const useAccordionItemContext = () => useContext(accordionItemContext);\n"],"mappings":"AACA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,OAA1C;AAgBA,IAAMC,gBAAgB,gBAAGD,aAAa,CAA+B,IAA/B,CAAtC;AACO,IAAkBE,iBAAlB,GAAwCD,gBAAxC,CAAQE,QAAR;;AACP,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;EAAA,OAAML,UAAU,CAACE,gBAAD,CAAhB;AAAA,CAA5B,C,CAEP;;AAWA,IAAMI,oBAAoB,gBAAGL,aAAa,CACxC,IADwC,CAA1C;AAGO,IAAkBM,qBAAlB,GAA4CD,oBAA5C,CAAQF,QAAR;;AACP,OAAO,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B;EAAA,OAAMR,UAAU,CAACM,oBAAD,CAAhB;AAAA,CAAhC"}
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAd;AACA,cAAc,iBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iBAAd","sourcesContent":["export * from './Accordion';\nexport * from './AccordionItem';\nexport * from './AccordionHeader';\nexport * from './AccordionBody';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/Accordion/index.ts"],"sourcesContent":["export * from './Accordion';\nexport * from './AccordionItem';\nexport * from './AccordionHeader';\nexport * from './AccordionBody';\n"],"mappings":"AAAA,cAAc,aAAd;AACA,cAAc,iBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iBAAd"}
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/scopeQuery.ts"],"names":["headerScopeQuery","type","props","bodyScopeQuery"],"mappings":"AAAA,OAAO,SAASA,gBAAT,CAA0BC,IAA1B,EAAwCC,KAAxC,EAAwE;AAC7E,SAAOA,KAAK,CAAC,uBAAD,CAAL,KAAmC,EAA1C;AACD;AAED,OAAO,SAASC,cAAT,CAAwBF,IAAxB,EAAsCC,KAAtC,EAAsE;AAC3E,SAAOA,KAAK,CAAC,qBAAD,CAAL,KAAiC,EAAxC;AACD","sourcesContent":["export function headerScopeQuery(type: string, props: Record<string, unknown>) {\n return props['data-accordion-header'] === '';\n}\n\nexport function bodyScopeQuery(type: string, props: Record<string, unknown>) {\n return props['data-accordion-body'] === '';\n}\n"],"file":"scopeQuery.js"}
1
+ {"version":3,"file":"scopeQuery.js","names":["headerScopeQuery","type","props","bodyScopeQuery"],"sources":["../../../src/Accordion/scopeQuery.ts"],"sourcesContent":["export function headerScopeQuery(type: string, props: Record<string, unknown>) {\n return props['data-accordion-header'] === '';\n}\n\nexport function bodyScopeQuery(type: string, props: Record<string, unknown>) {\n return props['data-accordion-body'] === '';\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAT,CAA0BC,IAA1B,EAAwCC,KAAxC,EAAwE;EAC7E,OAAOA,KAAK,CAAC,uBAAD,CAAL,KAAmC,EAA1C;AACD;AAED,OAAO,SAASC,cAAT,CAAwBF,IAAxB,EAAsCC,KAAtC,EAAsE;EAC3E,OAAOA,KAAK,CAAC,qBAAD,CAAL,KAAiC,EAAxC;AACD"}
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
2
- export interface CheckBoxProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
- as?: React.ElementType<any>;
4
- innerAs?: React.ElementType<any>;
5
- children?: React.ReactNode;
1
+ import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
2
+ export interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
6
  }
7
- export declare const CheckBox: React.ForwardRefExoticComponent<CheckBoxProps & React.RefAttributes<HTMLInputElement>>;
7
+ export declare const CheckBox: import("react").ForwardRefExoticComponent<CheckBoxProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["as", "checked", "defaultChecked", "onChange"];
4
5
  import { forwardRef } from 'react';
5
- import * as React from 'react';
6
6
  import { useControlledState } from '../hooks';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  export var CheckBox = /*#__PURE__*/forwardRef(function CheckBox(props, forwardedRef) {
@@ -12,7 +12,7 @@ export var CheckBox = /*#__PURE__*/forwardRef(function CheckBox(props, forwarded
12
12
  _props$defaultChecked = props.defaultChecked,
13
13
  defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,
14
14
  onChangeProp = props.onChange,
15
- otherProps = _objectWithoutProperties(props, ["as", "checked", "defaultChecked", "onChange"]);
15
+ otherProps = _objectWithoutProperties(props, _excluded);
16
16
 
17
17
  var _useControlledState = useControlledState(checkedProp, onChangeProp, defaultChecked, function (setValue) {
18
18
  return function (e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/CheckBox/CheckBox.tsx"],"names":["forwardRef","React","useControlledState","CheckBox","props","forwardedRef","as","Comp","checkedProp","checked","defaultChecked","onChangeProp","onChange","otherProps","setValue","e","target"],"mappings":";;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,kBAAT,QAAmC,UAAnC;;AASA,OAAO,IAAMC,QAAQ,gBAAGH,UAAU,CAChC,SAASG,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;AAAA,kBAOjCD,KAPiC,CAEnCE,EAFmC;AAAA,MAE/BC,IAF+B,0BAExB,OAFwB;AAAA,MAG1BC,WAH0B,GAOjCJ,KAPiC,CAGnCK,OAHmC;AAAA,8BAOjCL,KAPiC,CAInCM,cAJmC;AAAA,MAInCA,cAJmC,sCAIlB,KAJkB;AAAA,MAKzBC,YALyB,GAOjCP,KAPiC,CAKnCQ,QALmC;AAAA,MAMhCC,UANgC,4BAOjCT,KAPiC;;AAAA,4BAQTF,kBAAkB,CAC5CM,WAD4C,EAE5CG,YAF4C,EAG5CD,cAH4C,EAI5C,UAACI,QAAD;AAAA,WAAc,UAACC,CAAD,EAAO;AACnBD,MAAAA,QAAQ,CAACC,CAAC,CAACC,MAAF,CAASP,OAAV,CAAR;AACD,KAFD;AAAA,GAJ4C,CART;AAAA;AAAA,MAQ9BA,OAR8B;AAAA,MAQrBG,QARqB;;AAiBrC,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEP,YADP;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,OAAO,EAAEI,OAHX;AAIE,oBAAcA,OAJhB;AAKE,IAAA,QAAQ,EAAEG;AALZ,KAMMC,UANN,EADF;AAUD,CA5B+B,CAA3B","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { useControlledState } from '../hooks';\n\nexport interface CheckBoxProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const CheckBox = forwardRef<HTMLInputElement, CheckBoxProps>(\n function CheckBox(props, forwardedRef) {\n const {\n as: Comp = 'input',\n checked: checkedProp,\n defaultChecked = false,\n onChange: onChangeProp,\n ...otherProps\n } = props;\n const [checked, onChange] = useControlledState(\n checkedProp,\n onChangeProp,\n defaultChecked,\n (setValue) => (e) => {\n setValue(e.target.checked);\n }\n );\n\n return (\n <Comp\n ref={forwardedRef}\n type=\"checkbox\"\n checked={checked}\n aria-checked={checked}\n onChange={onChange}\n {...otherProps}\n />\n );\n }\n);\n"],"file":"CheckBox.js"}
1
+ {"version":3,"file":"CheckBox.js","names":["forwardRef","useControlledState","CheckBox","props","forwardedRef","as","Comp","checkedProp","checked","defaultChecked","onChangeProp","onChange","otherProps","setValue","e","target"],"sources":["../../../src/CheckBox/CheckBox.tsx"],"sourcesContent":["import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useControlledState } from '../hooks';\n\nexport interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const CheckBox = forwardRef<HTMLInputElement, CheckBoxProps>(\n function CheckBox(props, forwardedRef) {\n const {\n as: Comp = 'input',\n checked: checkedProp,\n defaultChecked = false,\n onChange: onChangeProp,\n ...otherProps\n } = props;\n const [checked, onChange] = useControlledState(\n checkedProp,\n onChangeProp,\n defaultChecked,\n (setValue) => (e) => {\n setValue(e.target.checked);\n }\n );\n\n return (\n <Comp\n ref={forwardedRef}\n type=\"checkbox\"\n checked={checked}\n aria-checked={checked}\n onChange={onChange}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,kBAAT,QAAmC,UAAnC;;AAQA,OAAO,IAAMC,QAAQ,gBAAGF,UAAU,CAChC,SAASE,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;EACrC,gBAMID,KANJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,OADb;EAAA,IAEWC,WAFX,GAMIJ,KANJ,CAEEK,OAFF;EAAA,4BAMIL,KANJ,CAGEM,cAHF;EAAA,IAGEA,cAHF,sCAGmB,KAHnB;EAAA,IAIYC,YAJZ,GAMIP,KANJ,CAIEQ,QAJF;EAAA,IAKKC,UALL,4BAMIT,KANJ;;EAOA,0BAA4BF,kBAAkB,CAC5CM,WAD4C,EAE5CG,YAF4C,EAG5CD,cAH4C,EAI5C,UAACI,QAAD;IAAA,OAAc,UAACC,CAAD,EAAO;MACnBD,QAAQ,CAACC,CAAC,CAACC,MAAF,CAASP,OAAV,CAAR;IACD,CAFD;EAAA,CAJ4C,CAA9C;EAAA;EAAA,IAAOA,OAAP;EAAA,IAAgBG,QAAhB;;EASA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEP,YADP;IAEE,IAAI,EAAC,UAFP;IAGE,OAAO,EAAEI,OAHX;IAIE,gBAAcA,OAJhB;IAKE,QAAQ,EAAEG;EALZ,GAMMC,UANN,EADF;AAUD,CA5B+B,CAA3B"}
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/CheckBox/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAd","sourcesContent":["export * from './CheckBox';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/CheckBox/index.ts"],"sourcesContent":["export * from './CheckBox';\n"],"mappings":"AAAA,cAAc,YAAd"}
@@ -1,18 +1,18 @@
1
- import * as React from 'react';
1
+ import type { HTMLAttributes, ReactNode, ElementType } from 'react';
2
2
  export declare type SelectEventHandler = (text: string, itemId: string, obj: any) => void;
3
- export declare type ComboboxProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
3
+ export declare type ComboboxProps = Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
4
4
  onSelect?: SelectEventHandler;
5
5
  openOnFocus?: boolean;
6
6
  selectOnBlur?: boolean;
7
- children?: React.ReactNode;
8
- as?: React.ElementType<any>;
9
- innerAs?: React.ElementType<any>;
7
+ children?: ReactNode;
8
+ as?: ElementType<any>;
9
+ innerAs?: ElementType<any>;
10
10
  };
11
- export declare const Combobox: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> & {
11
+ export declare const Combobox: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> & {
12
12
  onSelect?: SelectEventHandler | undefined;
13
13
  openOnFocus?: boolean | undefined;
14
14
  selectOnBlur?: boolean | undefined;
15
- children?: React.ReactNode;
16
- as?: React.ElementType<any> | undefined;
17
- innerAs?: React.ElementType<any> | undefined;
18
- } & React.RefAttributes<HTMLDivElement>>;
15
+ children?: ReactNode;
16
+ as?: ElementType<any> | undefined;
17
+ innerAs?: ElementType<any> | undefined;
18
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["onSelect", "openOnFocus", "selectOnBlur", "children", "as", "innerAs"];
4
5
  import { forwardRef, useRef, useMemo, useId } from 'react';
5
- import * as React from 'react';
6
6
  import { stateChart, comboboxReducer, isVisible, INIT } from './hooks';
7
7
  import { ComboBoxProvider } from './context';
8
8
  import { useReducerMachine } from '../hooks/useReducerMachine';
@@ -18,7 +18,7 @@ export var Combobox = /*#__PURE__*/forwardRef(function Combobox(_ref, ref) {
18
18
  _ref$as = _ref.as,
19
19
  Comp = _ref$as === void 0 ? 'div' : _ref$as,
20
20
  innerAs = _ref.innerAs,
21
- rest = _objectWithoutProperties(_ref, ["onSelect", "openOnFocus", "selectOnBlur", "children", "as", "innerAs"]);
21
+ rest = _objectWithoutProperties(_ref, _excluded);
22
22
 
23
23
  // We store the values of all the ComboboxOptions on this ref. This makes it
24
24
  // possible to perform the keyboard navigation from the input on the list. We
@@ -89,7 +89,7 @@ export var Combobox = /*#__PURE__*/forwardRef(function Combobox(_ref, ref) {
89
89
  }, [data, onSelect, listScope, state, transition, openOnFocus, selectOnBlur]);
90
90
  return /*#__PURE__*/_jsx(ComboBoxProvider, {
91
91
  value: context,
92
- children: /*#__PURE__*/_jsx(Comp, _extends({}, rest, {
92
+ children: /*#__PURE__*/_jsx(Comp, _extends(_extends({}, rest), {}, {
93
93
  as: innerAs,
94
94
  "data-reach-combobox": "",
95
95
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ComboBox/Combobox.tsx"],"names":["forwardRef","useRef","useMemo","useId","React","stateChart","comboboxReducer","isVisible","INIT","ComboBoxProvider","useReducerMachine","getScope","Combobox","ref","onSelect","openOnFocus","selectOnBlur","children","as","Comp","innerAs","rest","optionsRef","listScope","current","inputRef","popoverRef","buttonRef","autocompletePropRef","persistSelectionRef","clearOnEscapeRef","listboxIdRef","labelIdRef","defaultData","state","initial","text","item","navigationItem","lastActionType","data","transition","context"],"mappings":"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","sourcesContent":["import { forwardRef, useRef, useMemo, useId } from 'react';\nimport * as React from 'react';\n\nimport type { ActionTypes } from './hooks';\nimport { stateChart, comboboxReducer, isVisible, INIT } from './hooks';\nimport type { ComboBoxContextProps } from './context';\nimport { ComboBoxProvider } from './context';\nimport { useReducerMachine } from '../hooks/useReducerMachine';\nimport type { Scope } from '../hooks';\nimport { getScope } from '../hooks';\n\nexport type SelectEventHandler = (\n text: string,\n itemId: string,\n obj: any\n) => void;\n\nexport type ComboboxProps = Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'onSelect'\n> & {\n onSelect?: SelectEventHandler;\n openOnFocus?: boolean;\n selectOnBlur?: boolean;\n children?: React.ReactNode;\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n};\n\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>(\n function Combobox(\n {\n // Called whenever the user selects an item from the list\n onSelect,\n\n // opens the list when the input receives focused (but only if there are\n // items in the list)\n openOnFocus = false,\n\n // if set to true, it will select an item after blurring\n selectOnBlur = false,\n\n children,\n as: Comp = 'div',\n innerAs,\n ...rest\n }: ComboboxProps,\n ref\n ) {\n // We store the values of all the ComboboxOptions on this ref. This makes it\n // possible to perform the keyboard navigation from the input on the list. We\n // manipulate this array through context so that we don't have to enforce a\n // parent/child relationship between ComboboxList and ComboboxOption.\n const optionsRef = useRef<{\n [itemId: string]: {\n value: string | unknown;\n text: string;\n };\n }>({});\n\n const listScope: Scope<HTMLElement> = useRef(getScope({ current: null }));\n\n // Need this to focus it\n const inputRef = useRef<HTMLInputElement>(null);\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n // When <ComboboxInput autocomplete={false} /> we don't want cycle back to\n // the user's value while navigating (because it's always the user's value),\n // but we need to know this in useKeyDown which is far away from the prop\n // here, so we do something sneaky and write it to this ref on context so we\n // can use it anywhere else 😛. Another new trick for me and I'm excited\n // about this one too!\n const autocompletePropRef = useRef<boolean>(false);\n\n const persistSelectionRef = useRef<boolean>(false);\n\n const clearOnEscapeRef = useRef<boolean>(false);\n\n const listboxIdRef = useRef<string | undefined>();\n\n const labelIdRef = useRef<string | undefined>();\n\n const defaultData = {\n // initial state\n state: stateChart.initial,\n // the value the user has typed, we derived this also when the developer is\n // controlling the value of ComboboxInput\n text: '',\n // the index the user has typed, we derived this also when the developer is\n // controlling the value of ComboboxInput\n item: '',\n // the hash of the currently navigated item\n navigationItem: '',\n // the last submitted action\n lastActionType: INIT as ActionTypes,\n };\n\n const [state, data, transition] = useReducerMachine(\n stateChart,\n comboboxReducer,\n defaultData\n );\n\n listboxIdRef.current = useId();\n\n labelIdRef.current = useId();\n\n const context = useMemo(\n (): ComboBoxContextProps => ({\n data,\n inputRef,\n popoverRef,\n buttonRef,\n onSelect,\n optionsRef,\n listScope,\n state,\n transition,\n listboxIdRef,\n labelIdRef,\n autocompletePropRef,\n persistSelectionRef,\n clearOnEscapeRef,\n isVisible: isVisible(state),\n openOnFocus,\n selectOnBlur,\n }),\n [data, onSelect, listScope, state, transition, openOnFocus, selectOnBlur]\n );\n\n return (\n <ComboBoxProvider value={context}>\n <Comp\n {...rest}\n as={innerAs}\n data-reach-combobox=\"\"\n ref={ref}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={listboxIdRef.current}\n aria-expanded={context.isVisible}\n >\n {children}\n </Comp>\n </ComboBoxProvider>\n );\n }\n);\n"],"file":"Combobox.js"}
1
+ {"version":3,"file":"Combobox.js","names":["forwardRef","useRef","useMemo","useId","stateChart","comboboxReducer","isVisible","INIT","ComboBoxProvider","useReducerMachine","getScope","Combobox","ref","onSelect","openOnFocus","selectOnBlur","children","as","Comp","innerAs","rest","optionsRef","listScope","current","inputRef","popoverRef","buttonRef","autocompletePropRef","persistSelectionRef","clearOnEscapeRef","listboxIdRef","labelIdRef","defaultData","state","initial","text","item","navigationItem","lastActionType","data","transition","context"],"sources":["../../../src/ComboBox/Combobox.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode, ElementType } from 'react';\nimport { forwardRef, useRef, useMemo, useId } from 'react';\n\nimport type { ActionTypes } from './hooks';\nimport { stateChart, comboboxReducer, isVisible, INIT } from './hooks';\nimport type { ComboBoxContextProps } from './context';\nimport { ComboBoxProvider } from './context';\nimport { useReducerMachine } from '../hooks/useReducerMachine';\nimport type { Scope } from '../hooks';\nimport { getScope } from '../hooks';\n\nexport type SelectEventHandler = (\n text: string,\n itemId: string,\n obj: any\n) => void;\n\nexport type ComboboxProps = Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n onSelect?: SelectEventHandler;\n openOnFocus?: boolean;\n selectOnBlur?: boolean;\n children?: ReactNode;\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n};\n\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>(\n function Combobox(\n {\n // Called whenever the user selects an item from the list\n onSelect,\n\n // opens the list when the input receives focused (but only if there are\n // items in the list)\n openOnFocus = false,\n\n // if set to true, it will select an item after blurring\n selectOnBlur = false,\n\n children,\n as: Comp = 'div',\n innerAs,\n ...rest\n }: ComboboxProps,\n ref\n ) {\n // We store the values of all the ComboboxOptions on this ref. This makes it\n // possible to perform the keyboard navigation from the input on the list. We\n // manipulate this array through context so that we don't have to enforce a\n // parent/child relationship between ComboboxList and ComboboxOption.\n const optionsRef = useRef<{\n [itemId: string]: {\n value: string | unknown;\n text: string;\n };\n }>({});\n\n const listScope: Scope<HTMLElement> = useRef(getScope({ current: null }));\n\n // Need this to focus it\n const inputRef = useRef<HTMLInputElement>(null);\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n // When <ComboboxInput autocomplete={false} /> we don't want cycle back to\n // the user's value while navigating (because it's always the user's value),\n // but we need to know this in useKeyDown which is far away from the prop\n // here, so we do something sneaky and write it to this ref on context so we\n // can use it anywhere else 😛. Another new trick for me and I'm excited\n // about this one too!\n const autocompletePropRef = useRef<boolean>(false);\n\n const persistSelectionRef = useRef<boolean>(false);\n\n const clearOnEscapeRef = useRef<boolean>(false);\n\n const listboxIdRef = useRef<string | undefined>();\n\n const labelIdRef = useRef<string | undefined>();\n\n const defaultData = {\n // initial state\n state: stateChart.initial,\n // the value the user has typed, we derived this also when the developer is\n // controlling the value of ComboboxInput\n text: '',\n // the index the user has typed, we derived this also when the developer is\n // controlling the value of ComboboxInput\n item: '',\n // the hash of the currently navigated item\n navigationItem: '',\n // the last submitted action\n lastActionType: INIT as ActionTypes,\n };\n\n const [state, data, transition] = useReducerMachine(\n stateChart,\n comboboxReducer,\n defaultData\n );\n\n listboxIdRef.current = useId();\n\n labelIdRef.current = useId();\n\n const context = useMemo(\n (): ComboBoxContextProps => ({\n data,\n inputRef,\n popoverRef,\n buttonRef,\n onSelect,\n optionsRef,\n listScope,\n state,\n transition,\n listboxIdRef,\n labelIdRef,\n autocompletePropRef,\n persistSelectionRef,\n clearOnEscapeRef,\n isVisible: isVisible(state),\n openOnFocus,\n selectOnBlur,\n }),\n [data, onSelect, listScope, state, transition, openOnFocus, selectOnBlur]\n );\n\n return (\n <ComboBoxProvider value={context}>\n <Comp\n {...rest}\n as={innerAs}\n data-reach-combobox=\"\"\n ref={ref}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={listboxIdRef.current}\n aria-expanded={context.isVisible}\n >\n {children}\n </Comp>\n </ComboBoxProvider>\n );\n }\n);\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- export interface ComboboxButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
- as?: React.ElementType<any>;
4
- innerAs?: React.ElementType<any>;
5
- onClick?: React.MouseEventHandler<HTMLButtonElement>;
6
- onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;
7
- children?: React.ReactNode;
1
+ import type { ButtonHTMLAttributes, ElementType, KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';
2
+ export interface ComboboxButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ onClick?: MouseEventHandler<HTMLButtonElement>;
6
+ onKeyDown?: KeyboardEventHandler<HTMLButtonElement>;
7
+ children?: ReactNode;
8
8
  }
9
- export declare const ComboboxButton: React.ForwardRefExoticComponent<ComboboxButtonProps & React.RefAttributes<HTMLButtonElement>>;
9
+ export declare const ComboboxButton: import("react").ForwardRefExoticComponent<ComboboxButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1,11 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["as", "innerAs", "onClick", "onKeyDown"];
3
4
  import { forwardRef } from 'react';
4
- import * as React from 'react';
5
5
  import { useComboBoxContext } from './context';
6
6
  import { useKeyDown, IDLE, OPEN_WITH_BUTTON, CLOSE_WITH_BUTTON } from './hooks';
7
- import { wrapEvent } from '../utils/wrapEvent';
8
- import { assignMultipleRefs } from '../utils/assignRef';
7
+ import { wrapEvent } from '../utils/wrap-event';
8
+ import { assignMultipleRefs } from '../utils/assign-ref';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export var ComboboxButton = /*#__PURE__*/forwardRef(function ComboboxButton(_ref, ref) {
11
11
  var _ref$as = _ref.as,
@@ -13,7 +13,7 @@ export var ComboboxButton = /*#__PURE__*/forwardRef(function ComboboxButton(_ref
13
13
  innerAs = _ref.innerAs,
14
14
  onClick = _ref.onClick,
15
15
  onKeyDown = _ref.onKeyDown,
16
- props = _objectWithoutProperties(_ref, ["as", "innerAs", "onClick", "onKeyDown"]);
16
+ props = _objectWithoutProperties(_ref, _excluded);
17
17
 
18
18
  var _useComboBoxContext = useComboBoxContext(),
19
19
  transition = _useComboBoxContext.transition,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ComboBox/ComboboxButton.tsx"],"names":["forwardRef","React","useComboBoxContext","useKeyDown","IDLE","OPEN_WITH_BUTTON","CLOSE_WITH_BUTTON","wrapEvent","assignMultipleRefs","ComboboxButton","ref","as","Comp","innerAs","onClick","onKeyDown","props","transition","data","state","buttonRef","listboxIdRef","isVisible","handleKeyDown","handleClick","payload","item","navigationItem","current"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,UAAT,EAAqBC,IAArB,EAA2BC,gBAA3B,EAA6CC,iBAA7C,QAAsE,SAAtE;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,kBAAT,QAAmC,oBAAnC;;AAWA,OAAO,IAAMC,cAAc,gBAAGT,UAAU,CAGtC,SAASS,cAAT,OAEAC,GAFA,EAGA;AAAA,qBAFEC,EAEF;AAAA,MAFMC,IAEN,wBAFa,QAEb;AAAA,MAFuBC,OAEvB,QAFuBA,OAEvB;AAAA,MAFgCC,OAEhC,QAFgCA,OAEhC;AAAA,MAFyCC,SAEzC,QAFyCA,SAEzC;AAAA,MAFuDC,KAEvD;;AAAA,4BAEEd,kBAAkB,EAFpB;AAAA,MACQe,UADR,uBACQA,UADR;AAAA,MACoBC,IADpB,uBACoBA,IADpB;AAAA,MAC0BC,KAD1B,uBAC0BA,KAD1B;AAAA,MACiCC,SADjC,uBACiCA,SADjC;AAAA,MAC4CC,YAD5C,uBAC4CA,YAD5C;AAAA,MAC0DC,SAD1D,uBAC0DA,SAD1D;;AAIA,MAAMC,aAAa,GAAGpB,UAAU,EAAhC;;AAEA,MAAMqB,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,QAAMC,OAAO,GAAG;AACdC,MAAAA,IAAI,EAAER,IAAI,CAACS;AADG,KAAhB;;AAIA,QAAIR,KAAK,KAAKf,IAAd,EAAoB;AAClBa,MAAAA,UAAU,CAACZ,gBAAD,EAAmBoB,OAAnB,CAAV;AACD,KAFD,MAEO;AACLR,MAAAA,UAAU,CAACX,iBAAD,EAAoBmB,OAApB,CAAV;AACD;AACF,GAVD;;AAYA,sBACE,KAAC,IAAD;AACE,IAAA,EAAE,EAAEZ,OADN;AAEE,kCAA2B,EAF7B;AAGE,qBAAeQ,YAAY,CAACO,OAH9B;AAIE,qBAAc,SAJhB;AAKE,qBAAeN,SALjB;AAME,IAAA,GAAG,EAAEd,kBAAkB,CAACE,GAAD,EAAMU,SAAN,CANzB;AAOE,IAAA,OAAO,EAAEb,SAAS,CAACO,OAAD,EAAUU,WAAV,CAPpB;AAQE,IAAA,SAAS,EAAEjB,SAAS,CAACQ,SAAD,EAAYQ,aAAZ;AARtB,KASMP,KATN,EADF;AAaD,CArCuC,CAAjC","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { useComboBoxContext } from './context';\nimport { useKeyDown, IDLE, OPEN_WITH_BUTTON, CLOSE_WITH_BUTTON } from './hooks';\nimport { wrapEvent } from '../utils/wrapEvent';\nimport { assignMultipleRefs } from '../utils/assignRef';\n\nexport interface ComboboxButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n children?: React.ReactNode;\n}\n\nexport const ComboboxButton = forwardRef<\n HTMLButtonElement,\n ComboboxButtonProps\n>(function ComboboxButton(\n { as: Comp = 'button', innerAs, onClick, onKeyDown, ...props },\n ref\n) {\n const { transition, data, state, buttonRef, listboxIdRef, isVisible } =\n useComboBoxContext();\n\n const handleKeyDown = useKeyDown();\n\n const handleClick = () => {\n const payload = {\n item: data.navigationItem,\n };\n\n if (state === IDLE) {\n transition(OPEN_WITH_BUTTON, payload);\n } else {\n transition(CLOSE_WITH_BUTTON, payload);\n }\n };\n\n return (\n <Comp\n as={innerAs}\n data-reach-combobox-button=\"\"\n aria-controls={listboxIdRef.current}\n aria-haspopup=\"listbox\"\n aria-expanded={isVisible}\n ref={assignMultipleRefs(ref, buttonRef)}\n onClick={wrapEvent(onClick, handleClick)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n {...props}\n />\n );\n});\n"],"file":"ComboboxButton.js"}
1
+ {"version":3,"file":"ComboboxButton.js","names":["forwardRef","useComboBoxContext","useKeyDown","IDLE","OPEN_WITH_BUTTON","CLOSE_WITH_BUTTON","wrapEvent","assignMultipleRefs","ComboboxButton","ref","as","Comp","innerAs","onClick","onKeyDown","props","transition","data","state","buttonRef","listboxIdRef","isVisible","handleKeyDown","handleClick","payload","item","navigationItem","current"],"sources":["../../../src/ComboBox/ComboboxButton.tsx"],"sourcesContent":["import type {\n ButtonHTMLAttributes,\n ElementType,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef } from 'react';\n\nimport { useComboBoxContext } from './context';\nimport { useKeyDown, IDLE, OPEN_WITH_BUTTON, CLOSE_WITH_BUTTON } from './hooks';\nimport { wrapEvent } from '../utils/wrap-event';\nimport { assignMultipleRefs } from '../utils/assign-ref';\n\nexport interface ComboboxButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n onKeyDown?: KeyboardEventHandler<HTMLButtonElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxButton = forwardRef<\n HTMLButtonElement,\n ComboboxButtonProps\n>(function ComboboxButton(\n { as: Comp = 'button', innerAs, onClick, onKeyDown, ...props },\n ref\n) {\n const { transition, data, state, buttonRef, listboxIdRef, isVisible } =\n useComboBoxContext();\n\n const handleKeyDown = useKeyDown();\n\n const handleClick = () => {\n const payload = {\n item: data.navigationItem,\n };\n\n if (state === IDLE) {\n transition(OPEN_WITH_BUTTON, payload);\n } else {\n transition(CLOSE_WITH_BUTTON, payload);\n }\n };\n\n return (\n <Comp\n as={innerAs}\n data-reach-combobox-button=\"\"\n aria-controls={listboxIdRef.current}\n aria-haspopup=\"listbox\"\n aria-expanded={isVisible}\n ref={assignMultipleRefs(ref, buttonRef)}\n onClick={wrapEvent(onClick, handleClick)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n {...props}\n />\n );\n});\n"],"mappings":";;;AAOA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,UAAT,EAAqBC,IAArB,EAA2BC,gBAA3B,EAA6CC,iBAA7C,QAAsE,SAAtE;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,kBAAT,QAAmC,qBAAnC;;AAWA,OAAO,IAAMC,cAAc,gBAAGR,UAAU,CAGtC,SAASQ,cAAT,OAEAC,GAFA,EAGA;EAAA,mBAFEC,EAEF;EAAA,IAFMC,IAEN,wBAFa,QAEb;EAAA,IAFuBC,OAEvB,QAFuBA,OAEvB;EAAA,IAFgCC,OAEhC,QAFgCA,OAEhC;EAAA,IAFyCC,SAEzC,QAFyCA,SAEzC;EAAA,IAFuDC,KAEvD;;EACA,0BACEd,kBAAkB,EADpB;EAAA,IAAQe,UAAR,uBAAQA,UAAR;EAAA,IAAoBC,IAApB,uBAAoBA,IAApB;EAAA,IAA0BC,KAA1B,uBAA0BA,KAA1B;EAAA,IAAiCC,SAAjC,uBAAiCA,SAAjC;EAAA,IAA4CC,YAA5C,uBAA4CA,YAA5C;EAAA,IAA0DC,SAA1D,uBAA0DA,SAA1D;;EAGA,IAAMC,aAAa,GAAGpB,UAAU,EAAhC;;EAEA,IAAMqB,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxB,IAAMC,OAAO,GAAG;MACdC,IAAI,EAAER,IAAI,CAACS;IADG,CAAhB;;IAIA,IAAIR,KAAK,KAAKf,IAAd,EAAoB;MAClBa,UAAU,CAACZ,gBAAD,EAAmBoB,OAAnB,CAAV;IACD,CAFD,MAEO;MACLR,UAAU,CAACX,iBAAD,EAAoBmB,OAApB,CAAV;IACD;EACF,CAVD;;EAYA,oBACE,KAAC,IAAD;IACE,EAAE,EAAEZ,OADN;IAEE,8BAA2B,EAF7B;IAGE,iBAAeQ,YAAY,CAACO,OAH9B;IAIE,iBAAc,SAJhB;IAKE,iBAAeN,SALjB;IAME,GAAG,EAAEd,kBAAkB,CAACE,GAAD,EAAMU,SAAN,CANzB;IAOE,OAAO,EAAEb,SAAS,CAACO,OAAD,EAAUU,WAAV,CAPpB;IAQE,SAAS,EAAEjB,SAAS,CAACQ,SAAD,EAAYQ,aAAZ;EARtB,GASMP,KATN,EADF;AAaD,CArCuC,CAAjC"}
@@ -1,17 +1,17 @@
1
- import * as React from 'react';
2
- export interface ComboboxInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
1
+ import type { ChangeEventHandler, ElementType, FocusEventHandler, InputHTMLAttributes, KeyboardEventHandler, MouseEventHandler } from 'react';
2
+ export interface ComboboxInputProps extends InputHTMLAttributes<HTMLInputElement> {
3
3
  clearOnEscape?: boolean;
4
4
  selectOnClick?: boolean;
5
5
  autocomplete?: boolean;
6
6
  defaultValue?: string;
7
7
  value?: string;
8
- onClick?: React.MouseEventHandler<HTMLInputElement>;
9
- onChange?: React.ChangeEventHandler<HTMLInputElement>;
10
- onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
11
- onBlur?: React.FocusEventHandler<HTMLInputElement>;
12
- onFocus?: React.FocusEventHandler<HTMLInputElement>;
13
- as?: React.ElementType<any>;
14
- innerAs?: React.ElementType<any>;
8
+ onClick?: MouseEventHandler<HTMLInputElement>;
9
+ onChange?: ChangeEventHandler<HTMLInputElement>;
10
+ onKeyDown?: KeyboardEventHandler<HTMLInputElement>;
11
+ onBlur?: FocusEventHandler<HTMLInputElement>;
12
+ onFocus?: FocusEventHandler<HTMLInputElement>;
13
+ as?: ElementType<any>;
14
+ innerAs?: ElementType<any>;
15
15
  id?: string;
16
16
  }
17
- export declare const ComboboxInput: React.ForwardRefExoticComponent<ComboboxInputProps & React.RefAttributes<HTMLInputElement>>;
17
+ export declare const ComboboxInput: import("react").ForwardRefExoticComponent<ComboboxInputProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["as", "innerAs", "selectOnClick", "autocomplete", "clearOnEscape", "onClick", "onChange", "onKeyDown", "onBlur", "onFocus", "id", "defaultValue", "value"];
3
4
  import { forwardRef, useEffect, useRef } from 'react';
4
- import * as React from 'react';
5
5
  import { useBlur, CLEAR, CHANGE, useKeyDown, SELECT_WITH_CLICK, FOCUS, NAVIGATING, INIT, useFocusManagement } from './hooks';
6
6
  import { assignMultipleRefs, wrapEvent } from '../utils';
7
7
  import { useComboBoxContext } from './context';
@@ -25,7 +25,7 @@ export var ComboboxInput = /*#__PURE__*/forwardRef(function ComboboxInput(_ref,
25
25
  _ref$defaultValue = _ref.defaultValue,
26
26
  defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
27
27
  controlledValue = _ref.value,
28
- props = _objectWithoutProperties(_ref, ["as", "innerAs", "selectOnClick", "autocomplete", "clearOnEscape", "onClick", "onChange", "onKeyDown", "onBlur", "onFocus", "id", "defaultValue", "value"]);
28
+ props = _objectWithoutProperties(_ref, _excluded);
29
29
 
30
30
  var _useComboBoxContext = useComboBoxContext(),
31
31
  _useComboBoxContext$d = _useComboBoxContext.data,
@@ -111,7 +111,7 @@ export var ComboboxInput = /*#__PURE__*/forwardRef(function ComboboxInput(_ref,
111
111
  item: ''
112
112
  }); // eslint-disable-next-line react-hooks/exhaustive-deps
113
113
  }, []);
114
- return /*#__PURE__*/_jsx(Comp, _extends({}, props, {
114
+ return /*#__PURE__*/_jsx(Comp, _extends(_extends({}, props), {}, {
115
115
  as: innerAs,
116
116
  "data-reach-combobox-input": "",
117
117
  ref: assignMultipleRefs(inputRef, forwardedRef),