@basic-ui/core 0.0.53 → 0.0.56

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 (302) hide show
  1. package/build/cjs/index.js +278 -505
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/Accordion.js +20 -29
  4. package/build/esm/Accordion/Accordion.js.map +1 -1
  5. package/build/esm/Accordion/AccordionBody.js +18 -32
  6. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  7. package/build/esm/Accordion/AccordionHeader.js +37 -74
  8. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  9. package/build/esm/Accordion/AccordionItem.js +19 -22
  10. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  11. package/build/esm/Accordion/context.js +16 -13
  12. package/build/esm/Accordion/context.js.map +1 -1
  13. package/build/esm/Accordion/index.js.map +1 -1
  14. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  15. package/build/esm/CheckBox/CheckBox.js +15 -25
  16. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  17. package/build/esm/CheckBox/index.js.map +1 -1
  18. package/build/esm/ComboBox/Combobox.d.ts +7 -7
  19. package/build/esm/ComboBox/Combobox.js +52 -59
  20. package/build/esm/ComboBox/Combobox.js.map +1 -1
  21. package/build/esm/ComboBox/ComboboxButton.js +23 -28
  22. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  23. package/build/esm/ComboBox/ComboboxInput.js +67 -70
  24. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  25. package/build/esm/ComboBox/ComboboxLabel.js +15 -17
  26. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  27. package/build/esm/ComboBox/ComboboxList.js +19 -20
  28. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  29. package/build/esm/ComboBox/ComboboxOption.js +41 -45
  30. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  31. package/build/esm/ComboBox/ComboboxPopover.js +22 -21
  32. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  33. package/build/esm/ComboBox/cities.js.map +1 -1
  34. package/build/esm/ComboBox/context.js +5 -6
  35. package/build/esm/ComboBox/context.js.map +1 -1
  36. package/build/esm/ComboBox/hooks.d.ts +2 -2
  37. package/build/esm/ComboBox/hooks.js +175 -148
  38. package/build/esm/ComboBox/hooks.js.map +1 -1
  39. package/build/esm/ComboBox/index.js.map +1 -1
  40. package/build/esm/ComboBox/makeHash.js +3 -6
  41. package/build/esm/ComboBox/makeHash.js.map +1 -1
  42. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  43. package/build/esm/FocusLock/FocusLock.js +26 -32
  44. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  45. package/build/esm/FocusLock/index.js.map +1 -1
  46. package/build/esm/FocusLock/tabUtils.js +5 -7
  47. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  48. package/build/esm/FocusLock/useFocusLock.js +14 -19
  49. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  50. package/build/esm/List/List.js +9 -11
  51. package/build/esm/List/List.js.map +1 -1
  52. package/build/esm/List/ListItem.js +9 -11
  53. package/build/esm/List/ListItem.js.map +1 -1
  54. package/build/esm/List/context.js +6 -6
  55. package/build/esm/List/context.js.map +1 -1
  56. package/build/esm/List/index.js.map +1 -1
  57. package/build/esm/Menu/ContextMenuTrigger.d.ts +4 -4
  58. package/build/esm/Menu/ContextMenuTrigger.js +32 -37
  59. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  60. package/build/esm/Menu/Menu.js +33 -49
  61. package/build/esm/Menu/Menu.js.map +1 -1
  62. package/build/esm/Menu/MenuButton.d.ts +4 -4
  63. package/build/esm/Menu/MenuButton.js +28 -44
  64. package/build/esm/Menu/MenuButton.js.map +1 -1
  65. package/build/esm/Menu/MenuItem.js +29 -38
  66. package/build/esm/Menu/MenuItem.js.map +1 -1
  67. package/build/esm/Menu/MenuList.js +61 -116
  68. package/build/esm/Menu/MenuList.js.map +1 -1
  69. package/build/esm/Menu/MenuPopover.js +16 -19
  70. package/build/esm/Menu/MenuPopover.js.map +1 -1
  71. package/build/esm/Menu/context.d.ts +1 -1
  72. package/build/esm/Menu/context.js +14 -12
  73. package/build/esm/Menu/context.js.map +1 -1
  74. package/build/esm/Menu/fixtures/countryList.js +1 -1
  75. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  76. package/build/esm/Menu/index.js.map +1 -1
  77. package/build/esm/Menu/scope.js.map +1 -1
  78. package/build/esm/Modal/Modal.js +13 -18
  79. package/build/esm/Modal/Modal.js.map +1 -1
  80. package/build/esm/Modal/ModalBackdrop.js +24 -33
  81. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  82. package/build/esm/Modal/index.js.map +1 -1
  83. package/build/esm/Popper/Popper.d.ts +3 -3
  84. package/build/esm/Popper/Popper.js +44 -61
  85. package/build/esm/Popper/Popper.js.map +1 -1
  86. package/build/esm/Popper/PopperArrow.js +11 -16
  87. package/build/esm/Popper/PopperArrow.js.map +1 -1
  88. package/build/esm/Popper/context.js +3 -5
  89. package/build/esm/Popper/context.js.map +1 -1
  90. package/build/esm/Popper/index.js.map +1 -1
  91. package/build/esm/Portal/Portal.js +9 -11
  92. package/build/esm/Portal/Portal.js.map +1 -1
  93. package/build/esm/Portal/PortalSelectorProvider.d.ts +3 -3
  94. package/build/esm/Portal/PortalSelectorProvider.js +6 -4
  95. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -1
  96. package/build/esm/Portal/index.js.map +1 -1
  97. package/build/esm/RadioButton/RadioButton.js +17 -23
  98. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  99. package/build/esm/RadioButton/RadioGroup.js +19 -28
  100. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  101. package/build/esm/RadioButton/context.d.ts +1 -1
  102. package/build/esm/RadioButton/context.js +8 -6
  103. package/build/esm/RadioButton/context.js.map +1 -1
  104. package/build/esm/RadioButton/index.js.map +1 -1
  105. package/build/esm/SkipNav/SkipNav.js +9 -11
  106. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  107. package/build/esm/SkipNav/index.js.map +1 -1
  108. package/build/esm/Slider/Slider.d.ts +7 -7
  109. package/build/esm/Slider/Slider.js +340 -407
  110. package/build/esm/Slider/Slider.js.map +1 -1
  111. package/build/esm/Slider/index.js.map +1 -1
  112. package/build/esm/Spinner/Spinner.js +31 -59
  113. package/build/esm/Spinner/Spinner.js.map +1 -1
  114. package/build/esm/Spinner/SpinnerButton.js +14 -19
  115. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  116. package/build/esm/Spinner/context.js +8 -7
  117. package/build/esm/Spinner/context.js.map +1 -1
  118. package/build/esm/Spinner/index.js.map +1 -1
  119. package/build/esm/Tabs/Tab.js +32 -50
  120. package/build/esm/Tabs/Tab.js.map +1 -1
  121. package/build/esm/Tabs/TabList.js +24 -34
  122. package/build/esm/Tabs/TabList.js.map +1 -1
  123. package/build/esm/Tabs/TabPanel.js +16 -23
  124. package/build/esm/Tabs/TabPanel.js.map +1 -1
  125. package/build/esm/Tabs/TabPanels.js +15 -20
  126. package/build/esm/Tabs/TabPanels.js.map +1 -1
  127. package/build/esm/Tabs/Tabs.js +17 -33
  128. package/build/esm/Tabs/Tabs.js.map +1 -1
  129. package/build/esm/Tabs/context.js +16 -13
  130. package/build/esm/Tabs/context.js.map +1 -1
  131. package/build/esm/Tabs/index.js.map +1 -1
  132. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  133. package/build/esm/Tooltip/Tooltip.d.ts +2 -2
  134. package/build/esm/Tooltip/Tooltip.js +20 -30
  135. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  136. package/build/esm/Tooltip/index.js.map +1 -1
  137. package/build/esm/Tooltip/stateMachine.d.ts +2 -2
  138. package/build/esm/Tooltip/stateMachine.js +95 -81
  139. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  140. package/build/esm/Tooltip/useTooltip.d.ts +2 -2
  141. package/build/esm/Tooltip/useTooltip.js +38 -50
  142. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  143. package/build/esm/hooks/index.js.map +1 -1
  144. package/build/esm/hooks/useAutoFocus.js +3 -3
  145. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  146. package/build/esm/hooks/useChildrenCounter.js +6 -8
  147. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  148. package/build/esm/hooks/useControlledState.js +6 -16
  149. package/build/esm/hooks/useControlledState.js.map +1 -1
  150. package/build/esm/hooks/useFocusReturn.js +8 -12
  151. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  152. package/build/esm/hooks/useFocusState.d.ts +2 -2
  153. package/build/esm/hooks/useFocusState.js +9 -15
  154. package/build/esm/hooks/useFocusState.js.map +1 -1
  155. package/build/esm/hooks/useGestureHandlers.d.ts +1 -1
  156. package/build/esm/hooks/useGestureHandlers.js +80 -100
  157. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  158. package/build/esm/hooks/useMeasure.js +7 -15
  159. package/build/esm/hooks/useMeasure.js.map +1 -1
  160. package/build/esm/hooks/useOnClickOutside.js +4 -6
  161. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  162. package/build/esm/hooks/useOnKeyDown.js +3 -4
  163. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  164. package/build/esm/hooks/useReducerMachine.d.ts +1 -1
  165. package/build/esm/hooks/useReducerMachine.js +15 -26
  166. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  167. package/build/esm/hooks/useRemoveBodyScroll.js +9 -14
  168. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  169. package/build/esm/hooks/useScope.d.ts +2 -2
  170. package/build/esm/hooks/useScope.js +12 -14
  171. package/build/esm/hooks/useScope.js.map +1 -1
  172. package/build/esm/hooks/useThrottle.js +5 -10
  173. package/build/esm/hooks/useThrottle.js.map +1 -1
  174. package/build/esm/index.js +4 -2
  175. package/build/esm/index.js.map +1 -1
  176. package/build/esm/styles.d.js +2 -0
  177. package/build/esm/styles.d.js.map +1 -0
  178. package/build/esm/utils/assign-ref.js +3 -5
  179. package/build/esm/utils/assign-ref.js.map +1 -1
  180. package/build/esm/utils/can-use-dom.js.map +1 -1
  181. package/build/esm/utils/clamp.js.map +1 -1
  182. package/build/esm/utils/context.d.ts +1 -1
  183. package/build/esm/utils/context.js +13 -20
  184. package/build/esm/utils/context.js.map +1 -1
  185. package/build/esm/utils/create-subscription.js +5 -10
  186. package/build/esm/utils/create-subscription.js.map +1 -1
  187. package/build/esm/utils/get-circular-index.js +0 -1
  188. package/build/esm/utils/get-circular-index.js.map +1 -1
  189. package/build/esm/utils/index.js.map +1 -1
  190. package/build/esm/utils/is-right-click.js.map +1 -1
  191. package/build/esm/utils/owner-document.js +1 -1
  192. package/build/esm/utils/owner-document.js.map +1 -1
  193. package/build/esm/utils/polymorphic.d.ts +10 -10
  194. package/build/esm/utils/polymorphic.js.map +1 -1
  195. package/build/esm/utils/rubber-band-clamp.js +2 -5
  196. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  197. package/build/esm/utils/use-stable-callback.js +8 -10
  198. package/build/esm/utils/use-stable-callback.js.map +1 -1
  199. package/build/esm/utils/wrap-event.d.ts +1 -1
  200. package/build/esm/utils/wrap-event.js +2 -5
  201. package/build/esm/utils/wrap-event.js.map +1 -1
  202. package/build/tsconfig-build.tsbuildinfo +1 -1
  203. package/package.json +6 -6
  204. package/src/Accordion/Accordion.tsx +1 -1
  205. package/src/Accordion/AccordionBody.tsx +1 -1
  206. package/src/Accordion/AccordionHeader.tsx +1 -2
  207. package/src/ComboBox/Combobox.tsx +2 -2
  208. package/src/ComboBox/ComboboxList.tsx +1 -1
  209. package/src/ComboBox/ComboboxOption.tsx +0 -1
  210. package/src/ComboBox/hooks.tsx +0 -3
  211. package/src/FocusLock/useFocusLock.ts +0 -1
  212. package/src/Menu/Menu.tsx +2 -3
  213. package/src/Menu/MenuItem.tsx +1 -2
  214. package/src/Menu/MenuList.tsx +4 -4
  215. package/src/Modal/Modal.story.tsx +11 -7
  216. package/src/Modal/ModalBackdrop.tsx +1 -1
  217. package/src/Modal/NavDrawer.story.tsx +9 -6
  218. package/src/Popper/Popper.story.tsx +23 -7
  219. package/src/Popper/Popper.tsx +2 -2
  220. package/src/RadioButton/RadioButton.story.tsx +2 -1
  221. package/src/Slider/Slider.tsx +6 -11
  222. package/src/Spinner/Spinner.tsx +1 -1
  223. package/src/Tabs/TabList.tsx +1 -1
  224. package/src/Tooltip/Tooltip.tsx +8 -5
  225. package/src/Tooltip/useTooltip.ts +1 -1
  226. package/src/hooks/useControlledState.ts +1 -6
  227. package/src/hooks/useGestureHandlers.ts +0 -4
  228. package/src/hooks/useRemoveBodyScroll.ts +0 -1
  229. package/src/hooks/useScope.ts +1 -1
  230. package/src/styles.d.ts +1 -0
  231. package/src/utils/polymorphic.ts +14 -10
  232. package/src/utils/use-stable-callback.ts +0 -1
  233. package/build/esm/Carousel/Carousel.d.ts +0 -9
  234. package/build/esm/Carousel/Carousel.js +0 -38
  235. package/build/esm/Carousel/Carousel.js.map +0 -1
  236. package/build/esm/Carousel/Fader.d.ts +0 -14
  237. package/build/esm/Carousel/Fader.js +0 -76
  238. package/build/esm/Carousel/Fader.js.map +0 -1
  239. package/build/esm/Carousel/FaderItem.d.ts +0 -5
  240. package/build/esm/Carousel/FaderItem.js +0 -16
  241. package/build/esm/Carousel/FaderItem.js.map +0 -1
  242. package/build/esm/Carousel/Preloader.d.ts +0 -7
  243. package/build/esm/Carousel/Preloader.js +0 -70
  244. package/build/esm/Carousel/Preloader.js.map +0 -1
  245. package/build/esm/Carousel/Slider.d.ts +0 -14
  246. package/build/esm/Carousel/Slider.js +0 -212
  247. package/build/esm/Carousel/Slider.js.map +0 -1
  248. package/build/esm/Carousel/SliderItem.d.ts +0 -12
  249. package/build/esm/Carousel/SliderItem.js +0 -41
  250. package/build/esm/Carousel/SliderItem.js.map +0 -1
  251. package/build/esm/Carousel/context.d.ts +0 -10
  252. package/build/esm/Carousel/context.js +0 -8
  253. package/build/esm/Carousel/context.js.map +0 -1
  254. package/build/esm/Carousel/getSliderParams.d.ts +0 -9
  255. package/build/esm/Carousel/getSliderParams.js +0 -85
  256. package/build/esm/Carousel/getSliderParams.js.map +0 -1
  257. package/build/esm/Carousel/index.d.ts +0 -7
  258. package/build/esm/Carousel/index.js +0 -8
  259. package/build/esm/Carousel/index.js.map +0 -1
  260. package/build/esm/Carousel/useCarouselGestures.d.ts +0 -30
  261. package/build/esm/Carousel/useCarouselGestures.js +0 -33
  262. package/build/esm/Carousel/useCarouselGestures.js.map +0 -1
  263. package/build/esm/DatePicker/DatePicker.d.ts +0 -24
  264. package/build/esm/DatePicker/DatePicker.js +0 -101
  265. package/build/esm/DatePicker/DatePicker.js.map +0 -1
  266. package/build/esm/DatePicker/DatePickerSelect.d.ts +0 -8
  267. package/build/esm/DatePicker/DatePickerSelect.js +0 -201
  268. package/build/esm/DatePicker/DatePickerSelect.js.map +0 -1
  269. package/build/esm/DatePicker/RangeDatePicker.d.ts +0 -28
  270. package/build/esm/DatePicker/RangeDatePicker.js +0 -94
  271. package/build/esm/DatePicker/RangeDatePicker.js.map +0 -1
  272. package/build/esm/DatePicker/adjustDates.d.ts +0 -4
  273. package/build/esm/DatePicker/adjustDates.js +0 -18
  274. package/build/esm/DatePicker/adjustDates.js.map +0 -1
  275. package/build/esm/DatePicker/contexts.d.ts +0 -31
  276. package/build/esm/DatePicker/contexts.js +0 -15
  277. package/build/esm/DatePicker/contexts.js.map +0 -1
  278. package/build/esm/DatePicker/dateTypes.d.ts +0 -2
  279. package/build/esm/DatePicker/dateTypes.js +0 -2
  280. package/build/esm/DatePicker/dateTypes.js.map +0 -1
  281. package/build/esm/DatePicker/hooks.d.ts +0 -36
  282. package/build/esm/DatePicker/hooks.js +0 -98
  283. package/build/esm/DatePicker/hooks.js.map +0 -1
  284. package/build/esm/DatePicker/index.d.ts +0 -5
  285. package/build/esm/DatePicker/index.js +0 -6
  286. package/build/esm/DatePicker/index.js.map +0 -1
  287. package/build/esm/hooks/useId.d.ts +0 -1
  288. package/build/esm/hooks/useId.js +0 -25
  289. package/build/esm/hooks/useId.js.map +0 -1
  290. package/build/esm/utils/assignRef.d.ts +0 -3
  291. package/build/esm/utils/assignRef.js +0 -25
  292. package/build/esm/utils/assignRef.js.map +0 -1
  293. package/build/esm/utils/getCircularIndex.d.ts +0 -1
  294. package/build/esm/utils/getCircularIndex.js +0 -8
  295. package/build/esm/utils/getCircularIndex.js.map +0 -1
  296. package/build/esm/utils/rubberBandClamp.d.ts +0 -2
  297. package/build/esm/utils/rubberBandClamp.js +0 -20
  298. package/build/esm/utils/rubberBandClamp.js.map +0 -1
  299. package/build/esm/utils/wrapEvent.d.ts +0 -3
  300. package/build/esm/utils/wrapEvent.js +0 -16
  301. package/build/esm/utils/wrapEvent.js.map +0 -1
  302. package/build/tsconfig.tsbuildinfo +0 -7270
@@ -1,41 +1,34 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- var _excluded = ["children"];
3
- import { useMemo, createContext as ReactCreateContext, useContext as useReactContext } from 'react'; ////////////////////////////////////////////////////////////////////////////////
1
+ import { useMemo, createContext as ReactCreateContext, useContext as useReactContext } from 'react';
4
2
 
3
+ ////////////////////////////////////////////////////////////////////////////////
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  export function createContext(rootName, defaultContext) {
7
- var Ctx = /*#__PURE__*/ReactCreateContext(defaultContext);
8
-
6
+ const Ctx = /*#__PURE__*/ReactCreateContext(defaultContext);
9
7
  function Provider(props) {
10
- var children = props.children,
11
- context = _objectWithoutProperties(props, _excluded);
12
-
13
- var value = useMemo(function () {
14
- return context;
15
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
8
+ const {
9
+ children,
10
+ ...context
11
+ } = props;
12
+ const value = useMemo(() => context,
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
16
14
  Object.values(context));
17
15
  return /*#__PURE__*/_jsx(Ctx.Provider, {
18
16
  value: value,
19
17
  children: children
20
18
  });
21
19
  }
22
-
23
20
  function useContext(childName) {
24
- var context = useReactContext(Ctx);
25
-
21
+ const context = useReactContext(Ctx);
26
22
  if (context) {
27
23
  return context;
28
24
  }
29
-
30
25
  if (defaultContext) {
31
26
  return defaultContext;
32
27
  }
33
-
34
- throw Error("".concat(childName, " must be rendered inside of a ").concat(rootName, " component."));
28
+ throw Error(`${childName} must be rendered inside of a ${rootName} component.`);
35
29
  }
36
-
37
- Ctx.displayName = "".concat(rootName, "Context");
38
- Provider.displayName = "".concat(rootName, "Provider");
30
+ Ctx.displayName = `${rootName}Context`;
31
+ Provider.displayName = `${rootName}Provider`;
39
32
  return [Provider, useContext];
40
33
  }
41
34
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["useMemo","createContext","ReactCreateContext","useContext","useReactContext","rootName","defaultContext","Ctx","Provider","props","children","context","value","Object","values","childName","Error","displayName"],"sources":["../../../src/utils/context.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport {\n useMemo,\n createContext as ReactCreateContext,\n useContext as useReactContext,\n} from 'react';\n\n////////////////////////////////////////////////////////////////////////////////\n\ntype ContextProvider<T> = FC<PropsWithChildren<T>>;\n\nexport function createContext<ContextValueType extends object | null>(\n rootName: string,\n defaultContext?: ContextValueType\n): [\n ContextProvider<ContextValueType>,\n (childName: string) => ContextValueType\n] {\n const Ctx = ReactCreateContext<ContextValueType | undefined>(defaultContext);\n\n function Provider(props: PropsWithChildren<ContextValueType>) {\n const { children, ...context } = props;\n const value = useMemo(\n () => context,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Object.values(context)\n ) as ContextValueType;\n return <Ctx.Provider value={value}>{children}</Ctx.Provider>;\n }\n\n function useContext(childName: string) {\n const context = useReactContext(Ctx);\n if (context) {\n return context;\n }\n if (defaultContext) {\n return defaultContext;\n }\n throw Error(\n `${childName} must be rendered inside of a ${rootName} component.`\n );\n }\n\n Ctx.displayName = `${rootName}Context`;\n Provider.displayName = `${rootName}Provider`;\n\n return [Provider, useContext];\n}\n"],"mappings":";;AACA,SACEA,OADF,EAEEC,aAAa,IAAIC,kBAFnB,EAGEC,UAAU,IAAIC,eAHhB,QAIO,OAJP,C,CAMA;;;AAIA,OAAO,SAASH,aAAT,CACLI,QADK,EAELC,cAFK,EAML;EACA,IAAMC,GAAG,gBAAGL,kBAAkB,CAA+BI,cAA/B,CAA9B;;EAEA,SAASE,QAAT,CAAkBC,KAAlB,EAA8D;IAC5D,IAAQC,QAAR,GAAiCD,KAAjC,CAAQC,QAAR;IAAA,IAAqBC,OAArB,4BAAiCF,KAAjC;;IACA,IAAMG,KAAK,GAAGZ,OAAO,CACnB;MAAA,OAAMW,OAAN;IAAA,CADmB,EAEnB;IACAE,MAAM,CAACC,MAAP,CAAcH,OAAd,CAHmB,CAArB;IAKA,oBAAO,KAAC,GAAD,CAAK,QAAL;MAAc,KAAK,EAAEC,KAArB;MAAA,UAA6BF;IAA7B,EAAP;EACD;;EAED,SAASP,UAAT,CAAoBY,SAApB,EAAuC;IACrC,IAAMJ,OAAO,GAAGP,eAAe,CAACG,GAAD,CAA/B;;IACA,IAAII,OAAJ,EAAa;MACX,OAAOA,OAAP;IACD;;IACD,IAAIL,cAAJ,EAAoB;MAClB,OAAOA,cAAP;IACD;;IACD,MAAMU,KAAK,WACND,SADM,2CACoCV,QADpC,iBAAX;EAGD;;EAEDE,GAAG,CAACU,WAAJ,aAAqBZ,QAArB;EACAG,QAAQ,CAACS,WAAT,aAA0BZ,QAA1B;EAEA,OAAO,CAACG,QAAD,EAAWL,UAAX,CAAP;AACD"}
1
+ {"version":3,"file":"context.js","names":["useMemo","createContext","ReactCreateContext","useContext","useReactContext","jsx","_jsx","rootName","defaultContext","Ctx","Provider","props","children","context","value","Object","values","childName","Error","displayName"],"sources":["../../../src/utils/context.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport {\n useMemo,\n createContext as ReactCreateContext,\n useContext as useReactContext,\n} from 'react';\n\n////////////////////////////////////////////////////////////////////////////////\n\ntype ContextProvider<T> = FC<PropsWithChildren<T>>;\n\nexport function createContext<ContextValueType extends object | null>(\n rootName: string,\n defaultContext?: ContextValueType\n): [\n ContextProvider<ContextValueType>,\n (childName: string) => ContextValueType\n] {\n const Ctx = ReactCreateContext<ContextValueType | undefined>(defaultContext);\n\n function Provider(props: PropsWithChildren<ContextValueType>) {\n const { children, ...context } = props;\n const value = useMemo(\n () => context,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Object.values(context)\n ) as ContextValueType;\n return <Ctx.Provider value={value}>{children}</Ctx.Provider>;\n }\n\n function useContext(childName: string) {\n const context = useReactContext(Ctx);\n if (context) {\n return context;\n }\n if (defaultContext) {\n return defaultContext;\n }\n throw Error(\n `${childName} must be rendered inside of a ${rootName} component.`\n );\n }\n\n Ctx.displayName = `${rootName}Context`;\n Provider.displayName = `${rootName}Provider`;\n\n return [Provider, useContext];\n}\n"],"mappings":"AACA,SACEA,OAAO,EACPC,aAAa,IAAIC,kBAAkB,EACnCC,UAAU,IAAIC,eAAe,QACxB,OAAO;;AAEd;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIA,OAAO,SAASL,aAAaA,CAC3BM,QAAgB,EAChBC,cAAiC,EAIjC;EACA,MAAMC,GAAG,gBAAGP,kBAAkB,CAA+BM,cAAc,CAAC;EAE5E,SAASE,QAAQA,CAACC,KAA0C,EAAE;IAC5D,MAAM;MAAEC,QAAQ;MAAE,GAAGC;IAAQ,CAAC,GAAGF,KAAK;IACtC,MAAMG,KAAK,GAAGd,OAAO,CACnB,MAAMa,OAAO;IACb;IACAE,MAAM,CAACC,MAAM,CAACH,OAAO,CACvB,CAAqB;IACrB,oBAAOP,IAAA,CAACG,GAAG,CAACC,QAAQ;MAACI,KAAK,EAAEA,KAAM;MAAAF,QAAA,EAAEA;IAAQ,CAAe,CAAC;EAC9D;EAEA,SAAST,UAAUA,CAACc,SAAiB,EAAE;IACrC,MAAMJ,OAAO,GAAGT,eAAe,CAACK,GAAG,CAAC;IACpC,IAAII,OAAO,EAAE;MACX,OAAOA,OAAO;IAChB;IACA,IAAIL,cAAc,EAAE;MAClB,OAAOA,cAAc;IACvB;IACA,MAAMU,KAAK,CACT,GAAGD,SAAS,iCAAiCV,QAAQ,aACvD,CAAC;EACH;EAEAE,GAAG,CAACU,WAAW,GAAG,GAAGZ,QAAQ,SAAS;EACtCG,QAAQ,CAACS,WAAW,GAAG,GAAGZ,QAAQ,UAAU;EAE5C,OAAO,CAACG,QAAQ,EAAEP,UAAU,CAAC;AAC/B","ignoreList":[]}
@@ -1,22 +1,17 @@
1
1
  export function createSubscription() {
2
- var subscriptions = [];
3
-
2
+ const subscriptions = [];
4
3
  function subscribe(fn) {
5
4
  subscriptions.push(fn);
6
- return function () {
5
+ return () => {
7
6
  subscriptions.splice(subscriptions.indexOf(fn), 1);
8
7
  };
9
8
  }
10
-
11
9
  function notify() {
12
- subscriptions.forEach(function (fn) {
13
- return fn();
14
- });
10
+ subscriptions.forEach(fn => fn());
15
11
  }
16
-
17
12
  return {
18
- subscribe: subscribe,
19
- notify: notify
13
+ subscribe,
14
+ notify
20
15
  };
21
16
  }
22
17
  //# sourceMappingURL=create-subscription.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-subscription.js","names":["createSubscription","subscriptions","subscribe","fn","push","splice","indexOf","notify","forEach"],"sources":["../../../src/utils/create-subscription.ts"],"sourcesContent":["export function createSubscription() {\n const subscriptions: (() => void)[] = [];\n\n function subscribe(fn: () => void) {\n subscriptions.push(fn);\n return () => {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n }\n\n function notify() {\n subscriptions.forEach((fn) => fn());\n }\n\n return { subscribe, notify };\n}\n"],"mappings":"AAAA,OAAO,SAASA,kBAAT,GAA8B;EACnC,IAAMC,aAA6B,GAAG,EAAtC;;EAEA,SAASC,SAAT,CAAmBC,EAAnB,EAAmC;IACjCF,aAAa,CAACG,IAAd,CAAmBD,EAAnB;IACA,OAAO,YAAM;MACXF,aAAa,CAACI,MAAd,CAAqBJ,aAAa,CAACK,OAAd,CAAsBH,EAAtB,CAArB,EAAgD,CAAhD;IACD,CAFD;EAGD;;EAED,SAASI,MAAT,GAAkB;IAChBN,aAAa,CAACO,OAAd,CAAsB,UAACL,EAAD;MAAA,OAAQA,EAAE,EAAV;IAAA,CAAtB;EACD;;EAED,OAAO;IAAED,SAAS,EAATA,SAAF;IAAaK,MAAM,EAANA;EAAb,CAAP;AACD"}
1
+ {"version":3,"file":"create-subscription.js","names":["createSubscription","subscriptions","subscribe","fn","push","splice","indexOf","notify","forEach"],"sources":["../../../src/utils/create-subscription.ts"],"sourcesContent":["export function createSubscription() {\n const subscriptions: (() => void)[] = [];\n\n function subscribe(fn: () => void) {\n subscriptions.push(fn);\n return () => {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n }\n\n function notify() {\n subscriptions.forEach((fn) => fn());\n }\n\n return { subscribe, notify };\n}\n"],"mappings":"AAAA,OAAO,SAASA,kBAAkBA,CAAA,EAAG;EACnC,MAAMC,aAA6B,GAAG,EAAE;EAExC,SAASC,SAASA,CAACC,EAAc,EAAE;IACjCF,aAAa,CAACG,IAAI,CAACD,EAAE,CAAC;IACtB,OAAO,MAAM;MACXF,aAAa,CAACI,MAAM,CAACJ,aAAa,CAACK,OAAO,CAACH,EAAE,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;EACH;EAEA,SAASI,MAAMA,CAAA,EAAG;IAChBN,aAAa,CAACO,OAAO,CAAEL,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;EACrC;EAEA,OAAO;IAAED,SAAS;IAAEK;EAAO,CAAC;AAC9B","ignoreList":[]}
@@ -2,7 +2,6 @@ export function getCircularIndex(index, maxLength) {
2
2
  if (maxLength < 0) {
3
3
  return null;
4
4
  }
5
-
6
5
  return (index % maxLength + maxLength) % maxLength;
7
6
  }
8
7
  //# sourceMappingURL=get-circular-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-circular-index.js","names":["getCircularIndex","index","maxLength"],"sources":["../../../src/utils/get-circular-index.ts"],"sourcesContent":["export function getCircularIndex(index: number, maxLength: number) {\n if (maxLength < 0) {\n return null;\n }\n\n return ((index % maxLength) + maxLength) % maxLength;\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAT,CAA0BC,KAA1B,EAAyCC,SAAzC,EAA4D;EACjE,IAAIA,SAAS,GAAG,CAAhB,EAAmB;IACjB,OAAO,IAAP;EACD;;EAED,OAAO,CAAED,KAAK,GAAGC,SAAT,GAAsBA,SAAvB,IAAoCA,SAA3C;AACD"}
1
+ {"version":3,"file":"get-circular-index.js","names":["getCircularIndex","index","maxLength"],"sources":["../../../src/utils/get-circular-index.ts"],"sourcesContent":["export function getCircularIndex(index: number, maxLength: number) {\n if (maxLength < 0) {\n return null;\n }\n\n return ((index % maxLength) + maxLength) % maxLength;\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAgBA,CAACC,KAAa,EAAEC,SAAiB,EAAE;EACjE,IAAIA,SAAS,GAAG,CAAC,EAAE;IACjB,OAAO,IAAI;EACb;EAEA,OAAO,CAAED,KAAK,GAAGC,SAAS,GAAIA,SAAS,IAAIA,SAAS;AACtD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './assign-ref';\nexport * from './can-use-dom';\nexport * from './context';\nexport * from './get-circular-index';\nexport * from './is-right-click';\nexport * from './owner-document';\nexport * from './polymorphic';\nexport * from './rubber-band-clamp';\nexport * from './use-stable-callback';\nexport * from './wrap-event';\n"],"mappings":"AAAA,cAAc,cAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AACA,cAAc,sBAAd;AACA,cAAc,kBAAd;AACA,cAAc,kBAAd;AACA,cAAc,eAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,cAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './assign-ref';\nexport * from './can-use-dom';\nexport * from './context';\nexport * from './get-circular-index';\nexport * from './is-right-click';\nexport * from './owner-document';\nexport * from './polymorphic';\nexport * from './rubber-band-clamp';\nexport * from './use-stable-callback';\nexport * from './wrap-event';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"is-right-click.js","names":["isRightClick","nativeEvent","which","button"],"sources":["../../../src/utils/is-right-click.ts"],"sourcesContent":["/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\nexport function isRightClick(\n nativeEvent: MouseEvent | PointerEvent | TouchEvent\n) {\n return 'which' in nativeEvent\n ? nativeEvent.which === 3\n : 'button' in nativeEvent\n ? (nativeEvent as any).button === 2\n : false;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAT,CACLC,WADK,EAEL;EACA,OAAO,WAAWA,WAAX,GACHA,WAAW,CAACC,KAAZ,KAAsB,CADnB,GAEH,YAAYD,WAAZ,GACCA,WAAD,CAAqBE,MAArB,KAAgC,CADhC,GAEA,KAJJ;AAKD"}
1
+ {"version":3,"file":"is-right-click.js","names":["isRightClick","nativeEvent","which","button"],"sources":["../../../src/utils/is-right-click.ts"],"sourcesContent":["/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\nexport function isRightClick(\n nativeEvent: MouseEvent | PointerEvent | TouchEvent\n) {\n return 'which' in nativeEvent\n ? nativeEvent.which === 3\n : 'button' in nativeEvent\n ? (nativeEvent as any).button === 2\n : false;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAYA,CAC1BC,WAAmD,EACnD;EACA,OAAO,OAAO,IAAIA,WAAW,GACzBA,WAAW,CAACC,KAAK,KAAK,CAAC,GACvB,QAAQ,IAAID,WAAW,GACtBA,WAAW,CAASE,MAAM,KAAK,CAAC,GACjC,KAAK;AACX","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  import { canUseDOM } from './can-use-dom';
2
+
2
3
  /**
3
4
  * Get an element's owner document. Useful when components are used in iframes
4
5
  * or other environments like dev tools.
5
6
  *
6
7
  * @param element
7
8
  */
8
-
9
9
  export function getOwnerDocument(element) {
10
10
  return canUseDOM() ? element ? element.ownerDocument : document : null;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"owner-document.js","names":["canUseDOM","getOwnerDocument","element","ownerDocument","document"],"sources":["../../../src/utils/owner-document.ts"],"sourcesContent":["import { canUseDOM } from './can-use-dom';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\nexport function getOwnerDocument<T extends Element>(\n element: T | null | undefined\n) {\n return canUseDOM() ? (element ? element.ownerDocument : document) : null;\n}\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,eAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CACLC,OADK,EAEL;EACA,OAAOF,SAAS,KAAME,OAAO,GAAGA,OAAO,CAACC,aAAX,GAA2BC,QAAxC,GAAoD,IAApE;AACD"}
1
+ {"version":3,"file":"owner-document.js","names":["canUseDOM","getOwnerDocument","element","ownerDocument","document"],"sources":["../../../src/utils/owner-document.ts"],"sourcesContent":["import { canUseDOM } from './can-use-dom';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\nexport function getOwnerDocument<T extends Element>(\n element: T | null | undefined\n) {\n return canUseDOM() ? (element ? element.ownerDocument : document) : null;\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,eAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,OAA6B,EAC7B;EACA,OAAOF,SAAS,CAAC,CAAC,GAAIE,OAAO,GAAGA,OAAO,CAACC,aAAa,GAAGC,QAAQ,GAAI,IAAI;AAC1E","ignoreList":[]}
@@ -1,37 +1,37 @@
1
1
  import type * as React from 'react';
2
- export declare type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;
2
+ export type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;
3
3
  /**
4
4
  * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs
5
5
  */
6
- export declare type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};
6
+ export type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};
7
7
  /**
8
8
  * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs
9
9
  */
10
- export declare type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any> ? I : never;
11
- declare type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Merge<E extends React.ElementType ? React.ComponentPropsWithRef<E> : never, OwnProps & {
10
+ export type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any> ? I : never;
11
+ type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Merge<E extends React.ElementType ? React.ComponentPropsWithRef<E> : never, OwnProps & {
12
12
  as?: E;
13
13
  innerAs?: E;
14
14
  }>>;
15
15
  export interface ForwardRefComponent<IntrinsicElementString, OwnProps = {}> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {
16
16
  <As = IntrinsicElementString>(props: As extends '' ? {
17
- as: keyof JSX.IntrinsicElements;
18
- innerAs?: keyof JSX.IntrinsicElements;
17
+ as: keyof React.JSX.IntrinsicElements;
18
+ innerAs?: keyof React.JSX.IntrinsicElements;
19
19
  } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
20
20
  as: As;
21
21
  innerAs?: As;
22
- }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
22
+ }> : As extends keyof React.JSX.IntrinsicElements ? Merge<React.JSX.IntrinsicElements[As], OwnProps & {
23
23
  as: As;
24
24
  innerAs?: As;
25
25
  }> : never): React.ReactElement | null;
26
26
  }
27
27
  export interface MemoComponent<IntrinsicElementString, OwnProps = {}> extends React.MemoExoticComponent<ForwardRefComponent<IntrinsicElementString, OwnProps>> {
28
28
  <As = IntrinsicElementString>(props: As extends '' ? {
29
- as: keyof JSX.IntrinsicElements;
30
- innerAs?: keyof JSX.IntrinsicElements;
29
+ as: keyof React.JSX.IntrinsicElements;
30
+ innerAs?: keyof React.JSX.IntrinsicElements;
31
31
  } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
32
32
  as: As;
33
33
  innerAs?: As;
34
- }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
34
+ }> : As extends keyof React.JSX.IntrinsicElements ? Merge<React.JSX.IntrinsicElements[As], OwnProps & {
35
35
  as: As;
36
36
  innerAs?: As;
37
37
  }> : never): React.ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"polymorphic.js","names":[],"sources":["../../../src/utils/polymorphic.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n// adapted from https://github.com/radix-ui/primitives/blob/2f139a832ba0cdfd445c937ebf63c2e79e0ef7ed/packages/react/polymorphic/src/polymorphic.ts\n// Would have liked to use it directly instead of copying but they are\n// (rightfully) treating it as an internal utility, so copy/paste it is to\n// prevent any needless churn if they make breaking changes. Big thanks to Jenna\n// for the heavy lifting! https://github.com/jjenzz\n\nimport type * as React from 'react';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;\n\n/**\n * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs\n */\nexport type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};\n\n/**\n * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs\n */\nexport type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any>\n ? I\n : never;\n\ntype ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<\n Merge<\n E extends React.ElementType ? React.ComponentPropsWithRef<E> : never,\n OwnProps & { as?: E; innerAs?: E }\n >\n>;\n\nexport interface ForwardRefComponent<\n IntrinsicElementString,\n OwnProps = {}\n /*\n * Extends original type to ensure built in React types play nice with\n * polymorphic components still e.g. `React.ElementRef` etc.\n */\n> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {\n /*\n * When `as` prop is passed, use this overload. Merges original own props\n * (without DOM props) and the inferred props from `as` element with the own\n * props taking precendence.\n *\n * We explicitly avoid `React.ElementType` and manually narrow the prop types\n * so that events are typed when using JSX.IntrinsicElements.\n */\n <As = IntrinsicElementString>(\n props: As extends ''\n ? {\n as: keyof JSX.IntrinsicElements;\n innerAs?: keyof JSX.IntrinsicElements;\n }\n : As extends React.ComponentType<infer P>\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\n : As extends keyof JSX.IntrinsicElements\n ? Merge<JSX.IntrinsicElements[As], OwnProps & { as: As; innerAs?: As }>\n : never\n ): React.ReactElement | null;\n}\n\nexport interface MemoComponent<IntrinsicElementString, OwnProps = {}>\n extends React.MemoExoticComponent<\n ForwardRefComponent<IntrinsicElementString, OwnProps>\n > {\n <As = IntrinsicElementString>(\n props: As extends ''\n ? {\n as: keyof JSX.IntrinsicElements;\n innerAs?: keyof JSX.IntrinsicElements;\n }\n : As extends React.ComponentType<infer P>\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\n : As extends keyof JSX.IntrinsicElements\n ? Merge<JSX.IntrinsicElements[As], OwnProps & { as: As; innerAs?: As }>\n : never\n ): React.ReactElement | null;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"polymorphic.js","names":[],"sources":["../../../src/utils/polymorphic.ts"],"sourcesContent":["// adapted from https://github.com/radix-ui/primitives/blob/2f139a832ba0cdfd445c937ebf63c2e79e0ef7ed/packages/react/polymorphic/src/polymorphic.ts\n// Would have liked to use it directly instead of copying but they are\n// (rightfully) treating it as an internal utility, so copy/paste it is to\n// prevent any needless churn if they make breaking changes. Big thanks to Jenna\n// for the heavy lifting! https://github.com/jjenzz\n\nimport type * as React from 'react';\n\nexport type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;\n\n/**\n * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs\n */\nexport type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};\n\n/**\n * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs\n */\nexport type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any>\n ? I\n : never;\n\ntype ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<\n Merge<\n E extends React.ElementType ? React.ComponentPropsWithRef<E> : never,\n OwnProps & { as?: E; innerAs?: E }\n >\n>;\n\nexport interface ForwardRefComponent<\n IntrinsicElementString,\n OwnProps = {}\n /*\n * Extends original type to ensure built in React types play nice with\n * polymorphic components still e.g. `React.ElementRef` etc.\n */\n> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {\n /*\n * When `as` prop is passed, use this overload. Merges original own props\n * (without DOM props) and the inferred props from `as` element with the own\n * props taking precendence.\n *\n * We explicitly avoid `React.ElementType` and manually narrow the prop types\n * so that events are typed when using JSX.IntrinsicElements.\n */\n <As = IntrinsicElementString>(\n props: As extends ''\n ? {\n as: keyof React.JSX.IntrinsicElements;\n innerAs?: keyof React.JSX.IntrinsicElements;\n }\n : As extends React.ComponentType<infer P>\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\n : As extends keyof React.JSX.IntrinsicElements\n ? Merge<\n React.JSX.IntrinsicElements[As],\n OwnProps & { as: As; innerAs?: As }\n >\n : never\n ): React.ReactElement | null;\n}\n\nexport interface MemoComponent<IntrinsicElementString, OwnProps = {}>\n extends React.MemoExoticComponent<\n ForwardRefComponent<IntrinsicElementString, OwnProps>\n > {\n <As = IntrinsicElementString>(\n props: As extends ''\n ? {\n as: keyof React.JSX.IntrinsicElements;\n innerAs?: keyof React.JSX.IntrinsicElements;\n }\n : As extends React.ComponentType<infer P>\n ? Merge<P, OwnProps & { as: As; innerAs?: As }>\n : As extends keyof React.JSX.IntrinsicElements\n ? Merge<\n React.JSX.IntrinsicElements[As],\n OwnProps & { as: As; innerAs?: As }\n >\n : never\n ): React.ReactElement | null;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,20 +1,17 @@
1
1
  // https://twitter.com/chpwn/status/285540192096497664
2
2
  // iOS constant = 0.55
3
3
  export function rubberBand(distance, dimension) {
4
- var constant = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.15;
4
+ let constant = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.15;
5
5
  return distance * dimension * constant / (dimension + constant * distance);
6
6
  }
7
7
  export function rubberBandClamp(min, max, delta) {
8
- var constant = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.15;
9
-
8
+ let constant = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.15;
10
9
  if (delta < min) {
11
10
  return -rubberBand(min - delta, max - min, constant) + min;
12
11
  }
13
-
14
12
  if (delta > max) {
15
13
  return rubberBand(delta - max, max - min, constant) + max;
16
14
  }
17
-
18
15
  return delta;
19
16
  }
20
17
  //# sourceMappingURL=rubber-band-clamp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rubber-band-clamp.js","names":["rubberBand","distance","dimension","constant","rubberBandClamp","min","max","delta"],"sources":["../../../src/utils/rubber-band-clamp.ts"],"sourcesContent":["// https://twitter.com/chpwn/status/285540192096497664\n// iOS constant = 0.55\nexport function rubberBand(\n distance: number,\n dimension: number,\n constant = 0.15\n) {\n return (distance * dimension * constant) / (dimension + constant * distance);\n}\n\nexport function rubberBandClamp(\n min: number,\n max: number,\n delta: number,\n constant = 0.15\n) {\n if (delta < min) {\n return -rubberBand(min - delta, max - min, constant) + min;\n }\n if (delta > max) {\n return rubberBand(delta - max, max - min, constant) + max;\n }\n\n return delta;\n}\n"],"mappings":"AAAA;AACA;AACA,OAAO,SAASA,UAAT,CACLC,QADK,EAELC,SAFK,EAIL;EAAA,IADAC,QACA,uEADW,IACX;EACA,OAAQF,QAAQ,GAAGC,SAAX,GAAuBC,QAAxB,IAAqCD,SAAS,GAAGC,QAAQ,GAAGF,QAA5D,CAAP;AACD;AAED,OAAO,SAASG,eAAT,CACLC,GADK,EAELC,GAFK,EAGLC,KAHK,EAKL;EAAA,IADAJ,QACA,uEADW,IACX;;EACA,IAAII,KAAK,GAAGF,GAAZ,EAAiB;IACf,OAAO,CAACL,UAAU,CAACK,GAAG,GAAGE,KAAP,EAAcD,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAX,GAAgDE,GAAvD;EACD;;EACD,IAAIE,KAAK,GAAGD,GAAZ,EAAiB;IACf,OAAON,UAAU,CAACO,KAAK,GAAGD,GAAT,EAAcA,GAAG,GAAGD,GAApB,EAAyBF,QAAzB,CAAV,GAA+CG,GAAtD;EACD;;EAED,OAAOC,KAAP;AACD"}
1
+ {"version":3,"file":"rubber-band-clamp.js","names":["rubberBand","distance","dimension","constant","arguments","length","undefined","rubberBandClamp","min","max","delta"],"sources":["../../../src/utils/rubber-band-clamp.ts"],"sourcesContent":["// https://twitter.com/chpwn/status/285540192096497664\n// iOS constant = 0.55\nexport function rubberBand(\n distance: number,\n dimension: number,\n constant = 0.15\n) {\n return (distance * dimension * constant) / (dimension + constant * distance);\n}\n\nexport function rubberBandClamp(\n min: number,\n max: number,\n delta: number,\n constant = 0.15\n) {\n if (delta < min) {\n return -rubberBand(min - delta, max - min, constant) + min;\n }\n if (delta > max) {\n return rubberBand(delta - max, max - min, constant) + max;\n }\n\n return delta;\n}\n"],"mappings":"AAAA;AACA;AACA,OAAO,SAASA,UAAUA,CACxBC,QAAgB,EAChBC,SAAiB,EAEjB;EAAA,IADAC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEf,OAAQH,QAAQ,GAAGC,SAAS,GAAGC,QAAQ,IAAKD,SAAS,GAAGC,QAAQ,GAAGF,QAAQ,CAAC;AAC9E;AAEA,OAAO,SAASM,eAAeA,CAC7BC,GAAW,EACXC,GAAW,EACXC,KAAa,EAEb;EAAA,IADAP,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEf,IAAIM,KAAK,GAAGF,GAAG,EAAE;IACf,OAAO,CAACR,UAAU,CAACQ,GAAG,GAAGE,KAAK,EAAED,GAAG,GAAGD,GAAG,EAAEL,QAAQ,CAAC,GAAGK,GAAG;EAC5D;EACA,IAAIE,KAAK,GAAGD,GAAG,EAAE;IACf,OAAOT,UAAU,CAACU,KAAK,GAAGD,GAAG,EAAEA,GAAG,GAAGD,GAAG,EAAEL,QAAQ,CAAC,GAAGM,GAAG;EAC3D;EAEA,OAAOC,KAAK;AACd","ignoreList":[]}
@@ -1,32 +1,31 @@
1
1
  /* eslint-disable react-hooks/rules-of-hooks */
2
2
  import { useRef, useEffect, useCallback, useLayoutEffect } from 'react';
3
- var useEnhancedEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
3
+ const useEnhancedEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
4
+
4
5
  /**
5
6
  * Converts a callback to a ref to avoid triggering re-renders when passed as a
6
7
  * prop and exposed as a stable function to avoid executing effects when
7
8
  * passed as a dependency.
8
9
  */
9
-
10
10
  function createStableCallbackHook(useEffectHook, callback) {
11
- var callbackRef = useRef(callback);
12
- useEffectHook(function () {
11
+ const callbackRef = useRef(callback);
12
+ useEffectHook(() => {
13
13
  callbackRef.current = callback;
14
- }); // eslint-disable-next-line react-hooks/exhaustive-deps
15
-
14
+ });
16
15
  return useCallback(function () {
17
- callbackRef.current && callbackRef.current.apply(callbackRef, arguments);
16
+ callbackRef.current && callbackRef.current(...arguments);
18
17
  }, []);
19
18
  }
19
+
20
20
  /**
21
21
  * Converts a callback to a ref to avoid triggering re-renders when passed as a
22
22
  * prop and exposed as a stable function to avoid executing effects when passed
23
23
  * as a dependency.
24
24
  */
25
-
26
-
27
25
  export function useStableCallback(callback) {
28
26
  return createStableCallbackHook(useEffect, callback);
29
27
  }
28
+
30
29
  /**
31
30
  * Converts a callback to a ref to avoid triggering re-renders when passed as a
32
31
  * prop and exposed as a stable function to avoid executing effects when passed
@@ -36,7 +35,6 @@ export function useStableCallback(callback) {
36
35
  * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when
37
36
  * needed.
38
37
  */
39
-
40
38
  export function useStableLayoutCallback(callback) {
41
39
  return createStableCallbackHook(useEnhancedEffect, callback);
42
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-stable-callback.js","names":["useRef","useEffect","useCallback","useLayoutEffect","useEnhancedEffect","window","createStableCallbackHook","useEffectHook","callback","callbackRef","current","useStableCallback","useStableLayoutCallback"],"sources":["../../../src/utils/use-stable-callback.ts"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { useRef, useEffect, useCallback, useLayoutEffect } from 'react';\nimport type * as React from 'react';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\nfunction createStableCallbackHook<T extends (...args: any[]) => any>(\n useEffectHook: (\n effect: React.EffectCallback,\n deps?: React.DependencyList | undefined\n ) => void,\n callback: T | null | undefined\n): T {\n const callbackRef = useRef(callback);\n useEffectHook(() => {\n callbackRef.current = callback;\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback(\n ((...args) => {\n callbackRef.current && callbackRef.current(...args);\n }) as T,\n []\n );\n}\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when passed\n * as a dependency.\n */\nexport function useStableCallback<T extends (...args: any[]) => any>(\n callback: T | null | undefined\n): T {\n return createStableCallbackHook(useEffect, callback);\n}\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when passed\n * as a dependency.\n *\n * Use this over `useStableCallback` when you want the callback to be cached in\n * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when\n * needed.\n */\nexport function useStableLayoutCallback<T extends (...args: any[]) => any>(\n callback: T | null | undefined\n): T {\n return createStableCallbackHook(useEnhancedEffect, callback);\n}\n"],"mappings":"AAAA;AACA,SAASA,MAAT,EAAiBC,SAAjB,EAA4BC,WAA5B,EAAyCC,eAAzC,QAAgE,OAAhE;AAGA,IAAMC,iBAAiB,GACrB,OAAOC,MAAP,KAAkB,WAAlB,GAAgCF,eAAhC,GAAkDF,SADpD;AAGA;AACA;AACA;AACA;AACA;;AACA,SAASK,wBAAT,CACEC,aADF,EAKEC,QALF,EAMK;EACH,IAAMC,WAAW,GAAGT,MAAM,CAACQ,QAAD,CAA1B;EACAD,aAAa,CAAC,YAAM;IAClBE,WAAW,CAACC,OAAZ,GAAsBF,QAAtB;EACD,CAFY,CAAb,CAFG,CAMH;;EACA,OAAON,WAAW,CACf,YAAa;IACZO,WAAW,CAACC,OAAZ,IAAuBD,WAAW,CAACC,OAAZ,OAAAD,WAAW,YAAlC;EACD,CAHe,EAIhB,EAJgB,CAAlB;AAMD;AAED;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASE,iBAAT,CACLH,QADK,EAEF;EACH,OAAOF,wBAAwB,CAACL,SAAD,EAAYO,QAAZ,CAA/B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASI,uBAAT,CACLJ,QADK,EAEF;EACH,OAAOF,wBAAwB,CAACF,iBAAD,EAAoBI,QAApB,CAA/B;AACD"}
1
+ {"version":3,"file":"use-stable-callback.js","names":["useRef","useEffect","useCallback","useLayoutEffect","useEnhancedEffect","window","createStableCallbackHook","useEffectHook","callback","callbackRef","current","arguments","useStableCallback","useStableLayoutCallback"],"sources":["../../../src/utils/use-stable-callback.ts"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { useRef, useEffect, useCallback, useLayoutEffect } from 'react';\nimport type * as React from 'react';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\nfunction createStableCallbackHook<T extends (...args: any[]) => any>(\n useEffectHook: (\n effect: React.EffectCallback,\n deps?: React.DependencyList | undefined\n ) => void,\n callback: T | null | undefined\n): T {\n const callbackRef = useRef(callback);\n useEffectHook(() => {\n callbackRef.current = callback;\n });\n\n return useCallback(\n ((...args) => {\n callbackRef.current && callbackRef.current(...args);\n }) as T,\n []\n );\n}\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when passed\n * as a dependency.\n */\nexport function useStableCallback<T extends (...args: any[]) => any>(\n callback: T | null | undefined\n): T {\n return createStableCallbackHook(useEffect, callback);\n}\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when passed\n * as a dependency.\n *\n * Use this over `useStableCallback` when you want the callback to be cached in\n * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when\n * needed.\n */\nexport function useStableLayoutCallback<T extends (...args: any[]) => any>(\n callback: T | null | undefined\n): T {\n return createStableCallbackHook(useEnhancedEffect, callback);\n}\n"],"mappings":"AAAA;AACA,SAASA,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,eAAe,QAAQ,OAAO;AAGvE,MAAMC,iBAAiB,GACrB,OAAOC,MAAM,KAAK,WAAW,GAAGF,eAAe,GAAGF,SAAS;;AAE7D;AACA;AACA;AACA;AACA;AACA,SAASK,wBAAwBA,CAC/BC,aAGS,EACTC,QAA8B,EAC3B;EACH,MAAMC,WAAW,GAAGT,MAAM,CAACQ,QAAQ,CAAC;EACpCD,aAAa,CAAC,MAAM;IAClBE,WAAW,CAACC,OAAO,GAAGF,QAAQ;EAChC,CAAC,CAAC;EAEF,OAAON,WAAW,CACf,YAAa;IACZO,WAAW,CAACC,OAAO,IAAID,WAAW,CAACC,OAAO,CAAC,GAAAC,SAAO,CAAC;EACrD,CAAC,EACD,EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAC/BJ,QAA8B,EAC3B;EACH,OAAOF,wBAAwB,CAACL,SAAS,EAAEO,QAAQ,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,uBAAuBA,CACrCL,QAA8B,EAC3B;EACH,OAAOF,wBAAwB,CAACF,iBAAiB,EAAEI,QAAQ,CAAC;AAC9D","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import type { SyntheticEvent } from 'react';
2
- export declare type CustomEventHandler<E extends SyntheticEvent<any> | Event, H extends unknown[]> = (e: E, ...args: H) => void;
2
+ export type CustomEventHandler<E extends SyntheticEvent<any> | Event, H extends unknown[]> = (e: E, ...args: H) => void;
3
3
  export declare function wrapEvent<EventType extends SyntheticEvent<any> | Event, H extends unknown[]>(theirHandler: CustomEventHandler<EventType, H> | undefined, ourHandler: CustomEventHandler<EventType, H>): CustomEventHandler<EventType, H>;
@@ -3,13 +3,10 @@ export function wrapEvent(theirHandler, ourHandler) {
3
3
  for (var _len = arguments.length, otherArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4
4
  otherArgs[_key - 1] = arguments[_key];
5
5
  }
6
-
7
- var ret = theirHandler && theirHandler.apply(void 0, [event].concat(otherArgs));
8
-
6
+ const ret = theirHandler && theirHandler(event, ...otherArgs);
9
7
  if (!event || !event.defaultPrevented) {
10
- return ourHandler.apply(void 0, [event].concat(otherArgs));
8
+ return ourHandler(event, ...otherArgs);
11
9
  }
12
-
13
10
  return ret;
14
11
  };
15
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-event.js","names":["wrapEvent","theirHandler","ourHandler","event","otherArgs","ret","defaultPrevented"],"sources":["../../../src/utils/wrap-event.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react';\n\nexport type CustomEventHandler<\n E extends SyntheticEvent<any> | Event,\n H extends unknown[]\n> = (e: E, ...args: H) => void;\n\nexport function wrapEvent<\n EventType extends SyntheticEvent<any> | Event,\n H extends unknown[]\n>(\n theirHandler: CustomEventHandler<EventType, H> | undefined,\n ourHandler: CustomEventHandler<EventType, H>\n): CustomEventHandler<EventType, H> {\n return (event: EventType, ...otherArgs: H) => {\n const ret = theirHandler && theirHandler(event, ...otherArgs);\n if (!event || !event.defaultPrevented) {\n return ourHandler(event, ...otherArgs);\n }\n return ret;\n };\n}\n"],"mappings":"AAOA,OAAO,SAASA,SAAT,CAILC,YAJK,EAKLC,UALK,EAM6B;EAClC,OAAO,UAACC,KAAD,EAAuC;IAAA,kCAAjBC,SAAiB;MAAjBA,SAAiB;IAAA;;IAC5C,IAAMC,GAAG,GAAGJ,YAAY,IAAIA,YAAY,MAAZ,UAAaE,KAAb,SAAuBC,SAAvB,EAA5B;;IACA,IAAI,CAACD,KAAD,IAAU,CAACA,KAAK,CAACG,gBAArB,EAAuC;MACrC,OAAOJ,UAAU,MAAV,UAAWC,KAAX,SAAqBC,SAArB,EAAP;IACD;;IACD,OAAOC,GAAP;EACD,CAND;AAOD"}
1
+ {"version":3,"file":"wrap-event.js","names":["wrapEvent","theirHandler","ourHandler","event","_len","arguments","length","otherArgs","Array","_key","ret","defaultPrevented"],"sources":["../../../src/utils/wrap-event.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react';\n\nexport type CustomEventHandler<\n E extends SyntheticEvent<any> | Event,\n H extends unknown[]\n> = (e: E, ...args: H) => void;\n\nexport function wrapEvent<\n EventType extends SyntheticEvent<any> | Event,\n H extends unknown[]\n>(\n theirHandler: CustomEventHandler<EventType, H> | undefined,\n ourHandler: CustomEventHandler<EventType, H>\n): CustomEventHandler<EventType, H> {\n return (event: EventType, ...otherArgs: H) => {\n const ret = theirHandler && theirHandler(event, ...otherArgs);\n if (!event || !event.defaultPrevented) {\n return ourHandler(event, ...otherArgs);\n }\n return ret;\n };\n}\n"],"mappings":"AAOA,OAAO,SAASA,SAASA,CAIvBC,YAA0D,EAC1DC,UAA4C,EACV;EAClC,OAAO,UAACC,KAAgB,EAAsB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAjBC,SAAS,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAATF,SAAS,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IACpC,MAAMC,GAAG,GAAGT,YAAY,IAAIA,YAAY,CAACE,KAAK,EAAE,GAAGI,SAAS,CAAC;IAC7D,IAAI,CAACJ,KAAK,IAAI,CAACA,KAAK,CAACQ,gBAAgB,EAAE;MACrC,OAAOT,UAAU,CAACC,KAAK,EAAE,GAAGI,SAAS,CAAC;IACxC;IACA,OAAOG,GAAG;EACZ,CAAC;AACH","ignoreList":[]}