@basic-ui/core 0.0.41 → 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 (350) 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 +0 -0
  4. package/build/esm/Accordion/Accordion.js +4 -3
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +0 -0
  7. package/build/esm/Accordion/AccordionBody.js +4 -3
  8. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  9. package/build/esm/Accordion/AccordionHeader.d.ts +0 -0
  10. package/build/esm/Accordion/AccordionHeader.js +4 -3
  11. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  12. package/build/esm/Accordion/AccordionItem.d.ts +0 -0
  13. package/build/esm/Accordion/AccordionItem.js +2 -1
  14. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  15. package/build/esm/Accordion/context.d.ts +0 -0
  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 +0 -0
  25. package/build/esm/CheckBox/CheckBox.js +2 -1
  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 +0 -0
  31. package/build/esm/ComboBox/Combobox.js +3 -2
  32. package/build/esm/ComboBox/Combobox.js.map +1 -1
  33. package/build/esm/ComboBox/ComboboxButton.d.ts +0 -0
  34. package/build/esm/ComboBox/ComboboxButton.js +4 -3
  35. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  36. package/build/esm/ComboBox/ComboboxInput.d.ts +0 -0
  37. package/build/esm/ComboBox/ComboboxInput.js +3 -2
  38. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  39. package/build/esm/ComboBox/ComboboxLabel.d.ts +0 -0
  40. package/build/esm/ComboBox/ComboboxLabel.js +2 -1
  41. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  42. package/build/esm/ComboBox/ComboboxList.d.ts +0 -0
  43. package/build/esm/ComboBox/ComboboxList.js +3 -2
  44. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  45. package/build/esm/ComboBox/ComboboxOption.d.ts +0 -0
  46. package/build/esm/ComboBox/ComboboxOption.js +4 -3
  47. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  48. package/build/esm/ComboBox/ComboboxPopover.d.ts +0 -0
  49. package/build/esm/ComboBox/ComboboxPopover.js +5 -4
  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 +0 -0
  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 +0 -0
  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 +0 -0
  70. package/build/esm/FocusLock/FocusLock.js +2 -1
  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 +0 -0
  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 +0 -0
  82. package/build/esm/List/List.js +2 -1
  83. package/build/esm/List/List.js.map +1 -1
  84. package/build/esm/List/ListItem.d.ts +0 -0
  85. package/build/esm/List/ListItem.js +2 -1
  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 +0 -0
  94. package/build/esm/Menu/Menu.js +2 -1
  95. package/build/esm/Menu/Menu.js.map +1 -1
  96. package/build/esm/Menu/MenuButton.d.ts +0 -0
  97. package/build/esm/Menu/MenuButton.js +3 -2
  98. package/build/esm/Menu/MenuButton.js.map +1 -1
  99. package/build/esm/Menu/MenuItem.d.ts +0 -0
  100. package/build/esm/Menu/MenuItem.js +4 -3
  101. package/build/esm/Menu/MenuItem.js.map +1 -1
  102. package/build/esm/Menu/MenuList.d.ts +0 -0
  103. package/build/esm/Menu/MenuList.js +6 -5
  104. package/build/esm/Menu/MenuList.js.map +1 -1
  105. package/build/esm/Menu/MenuPopover.d.ts +0 -0
  106. package/build/esm/Menu/MenuPopover.js +2 -1
  107. package/build/esm/Menu/MenuPopover.js.map +1 -1
  108. package/build/esm/Menu/context.d.ts +0 -0
  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 +0 -0
  118. package/build/esm/Modal/Modal.js +5 -4
  119. package/build/esm/Modal/Modal.js.map +1 -1
  120. package/build/esm/Modal/ModalBackdrop.d.ts +0 -0
  121. package/build/esm/Modal/ModalBackdrop.js +6 -5
  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 +0 -0
  127. package/build/esm/Popper/Popper.js +6 -5
  128. package/build/esm/Popper/Popper.js.map +1 -1
  129. package/build/esm/Popper/PopperArrow.d.ts +0 -0
  130. package/build/esm/Popper/PopperArrow.js +5 -5
  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 +0 -0
  145. package/build/esm/RadioButton/RadioButton.js +5 -2
  146. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  147. package/build/esm/RadioButton/RadioGroup.d.ts +0 -0
  148. package/build/esm/RadioButton/RadioGroup.js +2 -1
  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 +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 +0 -0
  157. package/build/esm/SkipNav/SkipNav.js +2 -1
  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 +0 -0
  169. package/build/esm/Spinner/Spinner.js +2 -1
  170. package/build/esm/Spinner/Spinner.js.map +1 -1
  171. package/build/esm/Spinner/SpinnerButton.d.ts +0 -0
  172. package/build/esm/Spinner/SpinnerButton.js +3 -2
  173. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  174. package/build/esm/Spinner/context.d.ts +0 -0
  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 +0 -0
  181. package/build/esm/Tabs/Tab.js +3 -2
  182. package/build/esm/Tabs/Tab.js.map +1 -1
  183. package/build/esm/Tabs/TabList.d.ts +0 -0
  184. package/build/esm/Tabs/TabList.js +4 -3
  185. package/build/esm/Tabs/TabList.js.map +1 -1
  186. package/build/esm/Tabs/TabPanel.d.ts +0 -0
  187. package/build/esm/Tabs/TabPanel.js +4 -3
  188. package/build/esm/Tabs/TabPanel.js.map +1 -1
  189. package/build/esm/Tabs/TabPanels.d.ts +0 -0
  190. package/build/esm/Tabs/TabPanels.js +4 -3
  191. package/build/esm/Tabs/TabPanels.js.map +1 -1
  192. package/build/esm/Tabs/Tabs.d.ts +0 -0
  193. package/build/esm/Tabs/Tabs.js +2 -1
  194. package/build/esm/Tabs/Tabs.js.map +1 -1
  195. package/build/esm/Tabs/context.d.ts +0 -0
  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 +0 -0
  205. package/build/esm/Tooltip/Tooltip.js +4 -2
  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 +0 -0
  214. package/build/esm/Tooltip/useTooltip.js +6 -5
  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 +0 -0
  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 +1 -1
  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 +2 -2
  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 +0 -0
  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 +0 -0
  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 +0 -0
  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 -1
  301. package/package.json +3 -4
  302. package/src/ComboBox/ComboboxButton.tsx +2 -2
  303. package/src/ComboBox/ComboboxOption.tsx +1 -1
  304. package/src/ComboBox/ComboboxPopover.tsx +2 -2
  305. package/src/ComboBox/hooks.tsx +1 -1
  306. package/src/Menu/MenuButton.tsx +1 -1
  307. package/src/Menu/MenuItem.tsx +1 -1
  308. package/src/Menu/MenuList.tsx +1 -1
  309. package/src/Modal/Modal.tsx +1 -1
  310. package/src/Modal/ModalBackdrop.tsx +2 -2
  311. package/src/Popper/Popper.tsx +1 -1
  312. package/src/Popper/PopperArrow.tsx +2 -4
  313. package/src/Slider/Slider.story.tsx +45 -0
  314. package/src/Slider/Slider.tsx +1106 -0
  315. package/src/Slider/index.ts +1 -0
  316. package/src/Slider/styles.css +131 -0
  317. package/src/Tooltip/Tooltip.story.tsx +2 -2
  318. package/src/Tooltip/stateMachine.ts +9 -13
  319. package/src/Tooltip/useTooltip.ts +2 -2
  320. package/src/hooks/useControlledState.ts +12 -9
  321. package/src/hooks/useFocusState.ts +1 -1
  322. package/src/hooks/useGestureHandlers.ts +22 -12
  323. package/src/hooks/useMeasure.ts +0 -1
  324. package/src/hooks/useOnKeyDown.ts +4 -3
  325. package/src/hooks/useRemoveBodyScroll.ts +18 -8
  326. package/src/index.ts +1 -0
  327. package/src/utils/{assignRef.ts → assign-ref.ts} +4 -4
  328. package/src/utils/can-use-dom.ts +7 -0
  329. package/src/utils/context.tsx +48 -0
  330. package/src/utils/{createSubscription.ts → create-subscription.ts} +0 -0
  331. package/src/utils/{getCircularIndex.ts → get-circular-index.ts} +0 -0
  332. package/src/utils/index.ts +10 -4
  333. package/src/utils/is-right-click.ts +14 -0
  334. package/src/utils/owner-document.ts +13 -0
  335. package/src/utils/polymorphic.ts +72 -0
  336. package/src/utils/{rubberBandClamp.ts → rubber-band-clamp.ts} +0 -0
  337. package/src/utils/use-stable-callback.ts +58 -0
  338. package/src/utils/wrap-event.ts +22 -0
  339. package/build/esm/hooks/useId.d.ts +0 -3
  340. package/build/esm/hooks/useId.js +0 -16
  341. package/build/esm/hooks/useId.js.map +0 -1
  342. package/build/esm/utils/assignRef.d.ts +0 -3
  343. package/build/esm/utils/assignRef.js.map +0 -1
  344. package/build/esm/utils/createSubscription.js.map +0 -1
  345. package/build/esm/utils/getCircularIndex.js.map +0 -1
  346. package/build/esm/utils/rubberBandClamp.js.map +0 -1
  347. package/build/esm/utils/wrapEvent.d.ts +0 -3
  348. package/build/esm/utils/wrapEvent.js.map +0 -1
  349. package/build/tsconfig.tsbuildinfo +0 -1
  350. package/src/utils/wrapEvent.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ComboBox/ComboboxOption.tsx"],"names":["forwardRef","useEffect","useRef","SELECT_WITH_CLICK","CLEAR_SELECTION","wrapEvent","useComboBoxContext","makeHash","ComboboxOption","ref","children","idProp","id","valueProp","value","textProp","text","onClick","as","Comp","innerAs","props","onSelect","navigationItem","data","transition","optionsRef","transitionCleanupRef","isActiveRef","length","Error","String","opts","current","handleClick","item","undefined"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type {\n ElementType,\n LiHTMLAttributes,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nimport { SELECT_WITH_CLICK, CLEAR_SELECTION } from './hooks';\nimport { wrapEvent } from '../utils/wrapEvent';\nimport { useComboBoxContext } from './context';\nimport { makeHash } from './makeHash';\n\nexport interface ComboboxOptionProps extends LiHTMLAttributes<HTMLLIElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n id: string;\n value: any;\n text?: string;\n onClick?: MouseEventHandler<HTMLLIElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxOption = forwardRef<HTMLLIElement, ComboboxOptionProps>(\n function ComboboxOption(\n {\n children,\n id: idProp,\n value: valueProp,\n text: textProp,\n onClick,\n as: Comp = 'li',\n innerAs,\n ...props\n },\n ref\n ) {\n const {\n onSelect,\n data: { navigationItem },\n transition,\n optionsRef,\n } = useComboBoxContext();\n const transitionCleanupRef = useRef(transition);\n const isActiveRef = useRef(false);\n\n const value: any = valueProp;\n let text: string = textProp ? textProp : '';\n\n if (text.length === 0) {\n if (typeof valueProp === 'string' && valueProp.length > 0) {\n text = valueProp;\n } else {\n throw new Error('Missing text for <ComboboxOption />');\n }\n }\n\n const id = String(makeHash(idProp));\n\n useEffect(() => {\n const opts = optionsRef.current;\n opts[id] = { value, text };\n\n return () => {\n delete opts[id];\n };\n }, [optionsRef, id, text, value]);\n\n // Keep updating this ref with the current\n // function pointer for transition, so it can\n // be used by the unmount effect below.\n transitionCleanupRef.current = transition;\n isActiveRef.current = navigationItem === id;\n\n useEffect(() => {\n return () => {\n if (isActiveRef.current === true) {\n // clean up selections if this option is getting\n // unmounted and it was the currently selected item\n transitionCleanupRef.current(CLEAR_SELECTION);\n }\n };\n }, []);\n\n const handleClick = () => {\n onSelect && onSelect(text, id, value);\n transition(SELECT_WITH_CLICK, { text, item: id });\n };\n\n return (\n <Comp\n {...props}\n as={innerAs}\n data-reach-combobox-option=\"\"\n ref={ref}\n id={id}\n role=\"option\"\n aria-selected={isActiveRef.current}\n data-highlighted={isActiveRef.current ? '' : undefined}\n // without this the menu will close from `onBlur`, but with it the\n // element can be `document.activeElement` and then our focus checks in\n // onBlur will work as intended\n tabIndex=\"-1\"\n onClick={wrapEvent(onClick, handleClick)}\n >\n {children || text}\n </Comp>\n );\n }\n);\n"],"file":"ComboboxOption.js"}
1
+ {"version":3,"file":"ComboboxOption.js","names":["forwardRef","useEffect","useRef","SELECT_WITH_CLICK","CLEAR_SELECTION","wrapEvent","useComboBoxContext","makeHash","ComboboxOption","ref","children","idProp","id","valueProp","value","textProp","text","onClick","as","Comp","innerAs","props","onSelect","navigationItem","data","transition","optionsRef","transitionCleanupRef","isActiveRef","length","Error","String","opts","current","handleClick","item","undefined"],"sources":["../../../src/ComboBox/ComboboxOption.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type {\n ElementType,\n LiHTMLAttributes,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nimport { SELECT_WITH_CLICK, CLEAR_SELECTION } from './hooks';\nimport { wrapEvent } from '../utils/wrap-event';\nimport { useComboBoxContext } from './context';\nimport { makeHash } from './makeHash';\n\nexport interface ComboboxOptionProps extends LiHTMLAttributes<HTMLLIElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n id: string;\n value: any;\n text?: string;\n onClick?: MouseEventHandler<HTMLLIElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxOption = forwardRef<HTMLLIElement, ComboboxOptionProps>(\n function ComboboxOption(\n {\n children,\n id: idProp,\n value: valueProp,\n text: textProp,\n onClick,\n as: Comp = 'li',\n innerAs,\n ...props\n },\n ref\n ) {\n const {\n onSelect,\n data: { navigationItem },\n transition,\n optionsRef,\n } = useComboBoxContext();\n const transitionCleanupRef = useRef(transition);\n const isActiveRef = useRef(false);\n\n const value: any = valueProp;\n let text: string = textProp ? textProp : '';\n\n if (text.length === 0) {\n if (typeof valueProp === 'string' && valueProp.length > 0) {\n text = valueProp;\n } else {\n throw new Error('Missing text for <ComboboxOption />');\n }\n }\n\n const id = String(makeHash(idProp));\n\n useEffect(() => {\n const opts = optionsRef.current;\n opts[id] = { value, text };\n\n return () => {\n delete opts[id];\n };\n }, [optionsRef, id, text, value]);\n\n // Keep updating this ref with the current\n // function pointer for transition, so it can\n // be used by the unmount effect below.\n transitionCleanupRef.current = transition;\n isActiveRef.current = navigationItem === id;\n\n useEffect(() => {\n return () => {\n if (isActiveRef.current === true) {\n // clean up selections if this option is getting\n // unmounted and it was the currently selected item\n transitionCleanupRef.current(CLEAR_SELECTION);\n }\n };\n }, []);\n\n const handleClick = () => {\n onSelect && onSelect(text, id, value);\n transition(SELECT_WITH_CLICK, { text, item: id });\n };\n\n return (\n <Comp\n {...props}\n as={innerAs}\n data-reach-combobox-option=\"\"\n ref={ref}\n id={id}\n role=\"option\"\n aria-selected={isActiveRef.current}\n data-highlighted={isActiveRef.current ? '' : undefined}\n // without this the menu will close from `onBlur`, but with it the\n // element can be `document.activeElement` and then our focus checks in\n // onBlur will work as intended\n tabIndex=\"-1\"\n onClick={wrapEvent(onClick, handleClick)}\n >\n {children || text}\n </Comp>\n );\n }\n);\n"],"mappings":";;;;AAAA;AAOA,SAASA,UAAT,EAAqBC,SAArB,EAAgCC,MAAhC,QAA8C,OAA9C;AAEA,SAASC,iBAAT,EAA4BC,eAA5B,QAAmD,SAAnD;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,QAAT,QAAyB,YAAzB;;AAYA,OAAO,IAAMC,cAAc,gBAAGR,UAAU,CACtC,SAASQ,cAAT,OAWEC,GAXF,EAYE;EAAA,IAVEC,QAUF,QAVEA,QAUF;EAAA,IATMC,MASN,QATEC,EASF;EAAA,IARSC,SAQT,QAREC,KAQF;EAAA,IAPQC,QAOR,QAPEC,IAOF;EAAA,IANEC,OAMF,QANEA,OAMF;EAAA,mBALEC,EAKF;EAAA,IALMC,IAKN,wBALa,IAKb;EAAA,IAJEC,OAIF,QAJEA,OAIF;EAAA,IAHKC,KAGL;;EACA,0BAKIf,kBAAkB,EALtB;EAAA,IACEgB,QADF,uBACEA,QADF;EAAA,IAEUC,cAFV,uBAEEC,IAFF,CAEUD,cAFV;EAAA,IAGEE,UAHF,uBAGEA,UAHF;EAAA,IAIEC,UAJF,uBAIEA,UAJF;;EAMA,IAAMC,oBAAoB,GAAGzB,MAAM,CAACuB,UAAD,CAAnC;EACA,IAAMG,WAAW,GAAG1B,MAAM,CAAC,KAAD,CAA1B;EAEA,IAAMY,KAAU,GAAGD,SAAnB;EACA,IAAIG,IAAY,GAAGD,QAAQ,GAAGA,QAAH,GAAc,EAAzC;;EAEA,IAAIC,IAAI,CAACa,MAAL,KAAgB,CAApB,EAAuB;IACrB,IAAI,OAAOhB,SAAP,KAAqB,QAArB,IAAiCA,SAAS,CAACgB,MAAV,GAAmB,CAAxD,EAA2D;MACzDb,IAAI,GAAGH,SAAP;IACD,CAFD,MAEO;MACL,MAAM,IAAIiB,KAAJ,CAAU,qCAAV,CAAN;IACD;EACF;;EAED,IAAMlB,EAAE,GAAGmB,MAAM,CAACxB,QAAQ,CAACI,MAAD,CAAT,CAAjB;EAEAV,SAAS,CAAC,YAAM;IACd,IAAM+B,IAAI,GAAGN,UAAU,CAACO,OAAxB;IACAD,IAAI,CAACpB,EAAD,CAAJ,GAAW;MAAEE,KAAK,EAALA,KAAF;MAASE,IAAI,EAAJA;IAAT,CAAX;IAEA,OAAO,YAAM;MACX,OAAOgB,IAAI,CAACpB,EAAD,CAAX;IACD,CAFD;EAGD,CAPQ,EAON,CAACc,UAAD,EAAad,EAAb,EAAiBI,IAAjB,EAAuBF,KAAvB,CAPM,CAAT,CAvBA,CAgCA;EACA;EACA;;EACAa,oBAAoB,CAACM,OAArB,GAA+BR,UAA/B;EACAG,WAAW,CAACK,OAAZ,GAAsBV,cAAc,KAAKX,EAAzC;EAEAX,SAAS,CAAC,YAAM;IACd,OAAO,YAAM;MACX,IAAI2B,WAAW,CAACK,OAAZ,KAAwB,IAA5B,EAAkC;QAChC;QACA;QACAN,oBAAoB,CAACM,OAArB,CAA6B7B,eAA7B;MACD;IACF,CAND;EAOD,CARQ,EAQN,EARM,CAAT;;EAUA,IAAM8B,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxBZ,QAAQ,IAAIA,QAAQ,CAACN,IAAD,EAAOJ,EAAP,EAAWE,KAAX,CAApB;IACAW,UAAU,CAACtB,iBAAD,EAAoB;MAAEa,IAAI,EAAJA,IAAF;MAAQmB,IAAI,EAAEvB;IAAd,CAApB,CAAV;EACD,CAHD;;EAKA,oBACE,KAAC,IAAD,wBACMS,KADN;IAEE,EAAE,EAAED,OAFN;IAGE,8BAA2B,EAH7B;IAIE,GAAG,EAAEX,GAJP;IAKE,EAAE,EAAEG,EALN;IAME,IAAI,EAAC,QANP;IAOE,iBAAegB,WAAW,CAACK,OAP7B;IAQE,oBAAkBL,WAAW,CAACK,OAAZ,GAAsB,EAAtB,GAA2BG,SAR/C,CASE;IACA;IACA;IAXF;IAYE,QAAQ,EAAC,IAZX;IAaE,OAAO,EAAE/B,SAAS,CAACY,OAAD,EAAUiB,WAAV,CAbpB;IAAA,UAeGxB,QAAQ,IAAIM;EAff,GADF;AAmBD,CArFqC,CAAjC"}
File without changes
@@ -1,9 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["onKeyDown", "onBlur", "as", "innerAs"];
3
4
  import { forwardRef } from 'react';
4
5
  import { useKeyDown, useBlur } from './hooks';
5
- import { wrapEvent } from '../utils/wrapEvent';
6
- import { assignMultipleRefs } from '../utils/assignRef';
6
+ import { wrapEvent } from '../utils/wrap-event';
7
+ import { assignMultipleRefs } from '../utils/assign-ref';
7
8
  import { useComboBoxContext } from './context';
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  export var ComboboxPopover = /*#__PURE__*/forwardRef(function ComboboxPopover(_ref, forwardedRef) {
@@ -12,7 +13,7 @@ export var ComboboxPopover = /*#__PURE__*/forwardRef(function ComboboxPopover(_r
12
13
  _ref$as = _ref.as,
13
14
  Comp = _ref$as === void 0 ? 'div' : _ref$as,
14
15
  innerAs = _ref.innerAs,
15
- props = _objectWithoutProperties(_ref, ["onKeyDown", "onBlur", "as", "innerAs"]);
16
+ props = _objectWithoutProperties(_ref, _excluded);
16
17
 
17
18
  var _useComboBoxContext = useComboBoxContext(),
18
19
  popoverRef = _useComboBoxContext.popoverRef,
@@ -28,7 +29,7 @@ export var ComboboxPopover = /*#__PURE__*/forwardRef(function ComboboxPopover(_r
28
29
  // whatever).
29
30
 
30
31
  var hidden = !isVisible;
31
- return /*#__PURE__*/_jsx(Comp, _extends({}, props, {
32
+ return /*#__PURE__*/_jsx(Comp, _extends(_extends({}, props), {}, {
32
33
  as: innerAs,
33
34
  "data-reach-combobox-popover": "",
34
35
  ref: assignMultipleRefs(popoverRef, forwardedRef),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ComboBox/ComboboxPopover.tsx"],"names":["forwardRef","useKeyDown","useBlur","wrapEvent","assignMultipleRefs","useComboBoxContext","ComboboxPopover","forwardedRef","onKeyDown","onBlur","as","Comp","innerAs","props","popoverRef","isVisible","handleKeyDown","handleBlur","hidden"],"mappings":";;AAOA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAT,EAAqBC,OAArB,QAAoC,SAApC;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AACA,SAASC,kBAAT,QAAmC,WAAnC;;AAUA,OAAO,IAAMC,eAAe,gBAAGN,UAAU,CACvC,SAASM,eAAT,OAUEC,YAVF,EAWE;AAAA,MAREC,SAQF,QAREA,SAQF;AAAA,MAPEC,MAOF,QAPEA,MAOF;AAAA,qBALEC,EAKF;AAAA,MALMC,IAKN,wBALa,KAKb;AAAA,MAJEC,OAIF,QAJEA,OAIF;AAAA,MAHKC,KAGL;;AAAA,4BACkCR,kBAAkB,EADpD;AAAA,MACQS,UADR,uBACQA,UADR;AAAA,MACoBC,SADpB,uBACoBA,SADpB;;AAEA,MAAMC,aAAa,GAAGf,UAAU,EAAhC;AACA,MAAMgB,UAAU,GAAGf,OAAO,EAA1B,CAHA,CAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMgB,MAAM,GAAG,CAACH,SAAhB;AAEA,sBACE,KAAC,IAAD,eACMF,KADN;AAEE,IAAA,EAAE,EAAED,OAFN;AAGE,mCAA4B,EAH9B;AAIE,IAAA,GAAG,EAAER,kBAAkB,CAACU,UAAD,EAAaP,YAAb,CAJzB;AAKE,IAAA,SAAS,EAAEJ,SAAS,CAACK,SAAD,EAAYQ,aAAZ,CALtB;AAME,IAAA,MAAM,EAAEb,SAAS,CAACM,MAAD,EAASQ,UAAT,CANnB;AAOE,IAAA,MAAM,EAAEC,MAPV,CAQE;AACA;AATF;AAUE,IAAA,QAAQ,EAAC;AAVX,KADF;AAcD,CAxCsC,CAAlC","sourcesContent":["import type {\n ElementType,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef } from 'react';\n\nimport { useKeyDown, useBlur } from './hooks';\nimport { wrapEvent } from '../utils/wrapEvent';\nimport { assignMultipleRefs } from '../utils/assignRef';\nimport { useComboBoxContext } from './context';\n\nexport interface ComboboxPopoverProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n onKeyDown?: KeyboardEventHandler<HTMLDivElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxPopover = forwardRef<HTMLDivElement, ComboboxPopoverProps>(\n function ComboboxPopover(\n {\n // wrapped events\n onKeyDown,\n onBlur,\n\n as: Comp = 'div',\n innerAs,\n ...props\n },\n forwardedRef\n ) {\n const { popoverRef, isVisible } = useComboBoxContext();\n const handleKeyDown = useKeyDown();\n const handleBlur = useBlur();\n\n // Instead of conditionally rendering the popover we use the `hidden` prop\n // because we don't want to unmount on close (from escape or onSelect). If\n // we unmounted, then we'd lose the optionsRef and the user wouldn't be able\n // to use the arrow keys to pop the list back open. However, the developer\n // can conditionally render the ComboboxPopover if they do want to cause\n // mount/unmount based on the app's own data (like results.length or\n // whatever).\n const hidden = !isVisible;\n\n return (\n <Comp\n {...props}\n as={innerAs}\n data-reach-combobox-popover=\"\"\n ref={assignMultipleRefs(popoverRef, forwardedRef)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n hidden={hidden}\n // Allow the user to click empty space inside the popover without causing\n // to close from useBlur\n tabIndex=\"-1\"\n />\n );\n }\n);\n"],"file":"ComboboxPopover.js"}
1
+ {"version":3,"file":"ComboboxPopover.js","names":["forwardRef","useKeyDown","useBlur","wrapEvent","assignMultipleRefs","useComboBoxContext","ComboboxPopover","forwardedRef","onKeyDown","onBlur","as","Comp","innerAs","props","popoverRef","isVisible","handleKeyDown","handleBlur","hidden"],"sources":["../../../src/ComboBox/ComboboxPopover.tsx"],"sourcesContent":["import type {\n ElementType,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef } from 'react';\n\nimport { useKeyDown, useBlur } from './hooks';\nimport { wrapEvent } from '../utils/wrap-event';\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { useComboBoxContext } from './context';\n\nexport interface ComboboxPopoverProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n onKeyDown?: KeyboardEventHandler<HTMLDivElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxPopover = forwardRef<HTMLDivElement, ComboboxPopoverProps>(\n function ComboboxPopover(\n {\n // wrapped events\n onKeyDown,\n onBlur,\n\n as: Comp = 'div',\n innerAs,\n ...props\n },\n forwardedRef\n ) {\n const { popoverRef, isVisible } = useComboBoxContext();\n const handleKeyDown = useKeyDown();\n const handleBlur = useBlur();\n\n // Instead of conditionally rendering the popover we use the `hidden` prop\n // because we don't want to unmount on close (from escape or onSelect). If\n // we unmounted, then we'd lose the optionsRef and the user wouldn't be able\n // to use the arrow keys to pop the list back open. However, the developer\n // can conditionally render the ComboboxPopover if they do want to cause\n // mount/unmount based on the app's own data (like results.length or\n // whatever).\n const hidden = !isVisible;\n\n return (\n <Comp\n {...props}\n as={innerAs}\n data-reach-combobox-popover=\"\"\n ref={assignMultipleRefs(popoverRef, forwardedRef)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n hidden={hidden}\n // Allow the user to click empty space inside the popover without causing\n // to close from useBlur\n tabIndex=\"-1\"\n />\n );\n }\n);\n"],"mappings":";;;AAOA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAT,EAAqBC,OAArB,QAAoC,SAApC;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,kBAAT,QAAmC,qBAAnC;AACA,SAASC,kBAAT,QAAmC,WAAnC;;AAUA,OAAO,IAAMC,eAAe,gBAAGN,UAAU,CACvC,SAASM,eAAT,OAUEC,YAVF,EAWE;EAAA,IAREC,SAQF,QAREA,SAQF;EAAA,IAPEC,MAOF,QAPEA,MAOF;EAAA,mBALEC,EAKF;EAAA,IALMC,IAKN,wBALa,KAKb;EAAA,IAJEC,OAIF,QAJEA,OAIF;EAAA,IAHKC,KAGL;;EACA,0BAAkCR,kBAAkB,EAApD;EAAA,IAAQS,UAAR,uBAAQA,UAAR;EAAA,IAAoBC,SAApB,uBAAoBA,SAApB;;EACA,IAAMC,aAAa,GAAGf,UAAU,EAAhC;EACA,IAAMgB,UAAU,GAAGf,OAAO,EAA1B,CAHA,CAKA;EACA;EACA;EACA;EACA;EACA;EACA;;EACA,IAAMgB,MAAM,GAAG,CAACH,SAAhB;EAEA,oBACE,KAAC,IAAD,wBACMF,KADN;IAEE,EAAE,EAAED,OAFN;IAGE,+BAA4B,EAH9B;IAIE,GAAG,EAAER,kBAAkB,CAACU,UAAD,EAAaP,YAAb,CAJzB;IAKE,SAAS,EAAEJ,SAAS,CAACK,SAAD,EAAYQ,aAAZ,CALtB;IAME,MAAM,EAAEb,SAAS,CAACM,MAAD,EAASQ,UAAT,CANnB;IAOE,MAAM,EAAEC,MAPV,CAQE;IACA;IATF;IAUE,QAAQ,EAAC;EAVX,GADF;AAcD,CAxCsC,CAAlC"}
File without changes
File without changes