@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,42 +1,32 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["as", "innerAs", "children", "disabled"],
5
- _excluded2 = ["visible"];
6
1
  import { forwardRef, cloneElement, Children } from 'react';
7
2
  import { useTooltip } from './useTooltip';
8
- import { Fragment as _Fragment } from "react/jsx-runtime";
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
- export var Tooltip = /*#__PURE__*/forwardRef(function Tooltip(props, forwardedRef) {
12
- var _props$as = props.as,
13
- Comp = _props$as === void 0 ? 'div' : _props$as,
14
- innerAs = props.innerAs,
15
- children = props.children,
16
- _props$disabled = props.disabled,
17
- disabled = _props$disabled === void 0 ? false : _props$disabled,
18
- otherProps = _objectWithoutProperties(props, _excluded);
19
-
20
- var child = Children.only(children);
21
-
22
- var _useTooltip = useTooltip(child.props, child.ref, otherProps),
23
- _useTooltip2 = _slicedToArray(_useTooltip, 2),
24
- childProps = _useTooltip2[0],
25
- _useTooltip2$ = _useTooltip2[1],
26
- visible = _useTooltip2$.visible,
27
- tooltipProps = _objectWithoutProperties(_useTooltip2$, _excluded2);
28
-
3
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ export const Tooltip = /*#__PURE__*/forwardRef(function Tooltip(props, forwardedRef) {
5
+ const {
6
+ as: Comp = 'div',
7
+ innerAs,
8
+ children,
9
+ disabled = false,
10
+ ...otherProps
11
+ } = props;
12
+ const child = Children.only(children);
13
+ // React 19: ref lives in props. React <=18: ref lives on element directly.
14
+ const childRef = child.props.ref ?? child.ref;
15
+ const [childProps, {
16
+ visible,
17
+ ...tooltipProps
18
+ }] = useTooltip(child.props, childRef, otherProps);
29
19
  if (disabled) {
30
20
  return /*#__PURE__*/_jsx(_Fragment, {
31
21
  children: child
32
22
  });
33
23
  }
34
-
35
24
  return /*#__PURE__*/_jsxs(_Fragment, {
36
- children: [/*#__PURE__*/cloneElement(child, childProps), visible && /*#__PURE__*/_jsx(Comp, _extends({
25
+ children: [/*#__PURE__*/cloneElement(child, childProps), visible && /*#__PURE__*/_jsx(Comp, {
37
26
  as: innerAs,
38
- ref: forwardedRef
39
- }, tooltipProps))]
27
+ ref: forwardedRef,
28
+ ...tooltipProps
29
+ })]
40
30
  });
41
31
  });
42
32
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["forwardRef","cloneElement","Children","useTooltip","Tooltip","props","forwardedRef","as","Comp","innerAs","children","disabled","otherProps","child","only","ref","childProps","visible","tooltipProps"],"sources":["../../../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import type {\n ElementType,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport { forwardRef, cloneElement, Children } from 'react';\n\nimport { useTooltip } from './useTooltip';\nexport type { InjectedTooltipProps } from './useTooltip';\n\nexport interface TooltipProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n label: ReactNode;\n disabled?: boolean;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(props, forwardedRef) {\n const {\n as: Comp = 'div',\n innerAs,\n children,\n disabled = false,\n ...otherProps\n } = props;\n const child: ReactElement & RefAttributes<any> = Children.only(\n children\n ) as any;\n const [childProps, { visible, ...tooltipProps }] = useTooltip(\n child.props,\n child.ref,\n otherProps\n );\n\n if (disabled) {\n return <>{child}</>;\n }\n\n return (\n <>\n {cloneElement(child, childProps)}\n {visible && <Comp as={innerAs} ref={forwardedRef} {...tooltipProps} />}\n </>\n );\n }\n);\n"],"mappings":";;;;;AAOA,SAASA,UAAT,EAAqBC,YAArB,EAAmCC,QAAnC,QAAmD,OAAnD;AAEA,SAASC,UAAT,QAA2B,cAA3B;;;;AAWA,OAAO,IAAMC,OAAO,gBAAGJ,UAAU,CAC/B,SAASI,OAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAsC;EACpC,gBAMID,KANJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,KADb;EAAA,IAEEC,OAFF,GAMIJ,KANJ,CAEEI,OAFF;EAAA,IAGEC,QAHF,GAMIL,KANJ,CAGEK,QAHF;EAAA,sBAMIL,KANJ,CAIEM,QAJF;EAAA,IAIEA,QAJF,gCAIa,KAJb;EAAA,IAKKC,UALL,4BAMIP,KANJ;;EAOA,IAAMQ,KAAwC,GAAGX,QAAQ,CAACY,IAAT,CAC/CJ,QAD+C,CAAjD;;EAGA,kBAAmDP,UAAU,CAC3DU,KAAK,CAACR,KADqD,EAE3DQ,KAAK,CAACE,GAFqD,EAG3DH,UAH2D,CAA7D;EAAA;EAAA,IAAOI,UAAP;EAAA;EAAA,IAAqBC,OAArB,iBAAqBA,OAArB;EAAA,IAAiCC,YAAjC;;EAMA,IAAIP,QAAJ,EAAc;IACZ,oBAAO;MAAA,UAAGE;IAAH,EAAP;EACD;;EAED,oBACE;IAAA,wBACGZ,YAAY,CAACY,KAAD,EAAQG,UAAR,CADf,EAEGC,OAAO,iBAAI,KAAC,IAAD;MAAM,EAAE,EAAER,OAAV;MAAmB,GAAG,EAAEH;IAAxB,GAA0CY,YAA1C,EAFd;EAAA,EADF;AAMD,CA5B8B,CAA1B"}
1
+ {"version":3,"file":"Tooltip.js","names":["forwardRef","cloneElement","Children","useTooltip","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","Tooltip","props","forwardedRef","as","Comp","innerAs","children","disabled","otherProps","child","only","childRef","ref","childProps","visible","tooltipProps"],"sources":["../../../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import type {\n ElementType,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from 'react';\nimport { forwardRef, cloneElement, Children } from 'react';\n\nimport { useTooltip } from './useTooltip';\nexport type { InjectedTooltipProps } from './useTooltip';\n\nexport interface TooltipProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n label: ReactNode;\n disabled?: boolean;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(props, forwardedRef) {\n const {\n as: Comp = 'div',\n innerAs,\n children,\n disabled = false,\n ...otherProps\n } = props;\n const child = Children.only(children) as ReactElement<\n HTMLAttributes<HTMLElement>\n >;\n // React 19: ref lives in props. React <=18: ref lives on element directly.\n const childRef =\n (child.props as { ref?: Ref<HTMLElement> }).ref ?? (child as any).ref;\n const [childProps, { visible, ...tooltipProps }] = useTooltip(\n child.props,\n childRef,\n otherProps\n );\n\n if (disabled) {\n return <>{child}</>;\n }\n\n return (\n <>\n {cloneElement(child, childProps)}\n {visible && <Comp as={innerAs} ref={forwardedRef} {...tooltipProps} />}\n </>\n );\n }\n);\n"],"mappings":"AAOA,SAASA,UAAU,EAAEC,YAAY,EAAEC,QAAQ,QAAQ,OAAO;AAE1D,SAASC,UAAU,QAAQ,cAAc;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAW1C,OAAO,MAAMC,OAAO,gBAAGV,UAAU,CAC/B,SAASU,OAAOA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACpC,MAAM;IACJC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAChBC,OAAO;IACPC,QAAQ;IACRC,QAAQ,GAAG,KAAK;IAChB,GAAGC;EACL,CAAC,GAAGP,KAAK;EACT,MAAMQ,KAAK,GAAGjB,QAAQ,CAACkB,IAAI,CAACJ,QAAQ,CAEnC;EACD;EACA,MAAMK,QAAQ,GACXF,KAAK,CAACR,KAAK,CAAgCW,GAAG,IAAKH,KAAK,CAASG,GAAG;EACvE,MAAM,CAACC,UAAU,EAAE;IAAEC,OAAO;IAAE,GAAGC;EAAa,CAAC,CAAC,GAAGtB,UAAU,CAC3DgB,KAAK,CAACR,KAAK,EACXU,QAAQ,EACRH,UACF,CAAC;EAED,IAAID,QAAQ,EAAE;IACZ,oBAAOV,IAAA,CAAAF,SAAA;MAAAW,QAAA,EAAGG;IAAK,CAAG,CAAC;EACrB;EAEA,oBACEV,KAAA,CAAAJ,SAAA;IAAAW,QAAA,gBACGf,YAAY,CAACkB,KAAK,EAAEI,UAAU,CAAC,EAC/BC,OAAO,iBAAIjB,IAAA,CAACO,IAAI;MAACD,EAAE,EAAEE,OAAQ;MAACO,GAAG,EAAEV,YAAa;MAAA,GAAKa;IAAY,CAAG,CAAC;EAAA,CACtE,CAAC;AAEP,CACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/Tooltip/index.ts"],"sourcesContent":["export * from './Tooltip';\n"],"mappings":"AAAA,cAAc,WAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/Tooltip/index.ts"],"sourcesContent":["export * from './Tooltip';\n"],"mappings":"AAAA,cAAc,WAAW","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- export declare type TooltipStates = 'IDLE' | 'FOCUSED' | 'VISIBLE' | 'LEAVING_VISIBLE' | 'DISMISSED';
1
+ export type TooltipStates = 'IDLE' | 'FOCUSED' | 'VISIBLE' | 'LEAVING_VISIBLE' | 'DISMISSED';
2
2
  export declare const Idle: "IDLE";
3
3
  export declare const Focused: "FOCUSED";
4
4
  export declare const Visible: "VISIBLE";
5
5
  export declare const LeavingVisible: "LEAVING_VISIBLE";
6
6
  export declare const Dismissed: "DISMISSED";
7
- export declare type TooltipEventTypes = 'BLUR' | 'FOCUS' | 'GLOBAL_MOUSE_MOVE' | 'MOUSE_DOWN' | 'MOUSE_ENTER' | 'MOUSE_LEAVE' | 'MOUSE_MOVE' | 'REST' | 'SELECT_WITH_KEYBOARD' | 'TIME_COMPLETE';
7
+ export type TooltipEventTypes = 'BLUR' | 'FOCUS' | 'GLOBAL_MOUSE_MOVE' | 'MOUSE_DOWN' | 'MOUSE_ENTER' | 'MOUSE_LEAVE' | 'MOUSE_MOVE' | 'REST' | 'SELECT_WITH_KEYBOARD' | 'TIME_COMPLETE';
8
8
  export declare const Blur: "BLUR";
9
9
  export declare const Focus: "FOCUS";
10
10
  export declare const GlobalMouseMove: "GLOBAL_MOUSE_MOVE";
@@ -1,111 +1,129 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
-
4
- var _on, _on2, _on3, _on4, _on5, _states;
5
-
6
1
  import { createSubscription } from '../utils/create-subscription';
7
2
  ////////////////////////////////////////////////////////////////////////////////
8
3
  // Timeouts:
4
+
9
5
  // Manages when the user "rests" on an element. Keeps the interface from being
10
6
  // flashing tooltips all the time as the user moves the mouse around the screen.
11
- var restTimeout;
12
-
7
+ let restTimeout;
13
8
  function startRestTimer() {
14
9
  clearTimeout(restTimeout);
15
- restTimeout = setTimeout(function () {
10
+ restTimeout = setTimeout(() => {
16
11
  send(Rest, undefined);
17
12
  }, 200);
18
13
  }
19
-
20
14
  function clearRestTimer() {
21
15
  clearTimeout(restTimeout);
22
- } // Manages the delay to hide the tooltip after rest leaves.
23
-
24
-
25
- var leavingVisibleTimer;
16
+ }
26
17
 
18
+ // Manages the delay to hide the tooltip after rest leaves.
19
+ let leavingVisibleTimer;
27
20
  function startLeavingVisibleTimer() {
28
21
  clearTimeout(leavingVisibleTimer);
29
- leavingVisibleTimer = setTimeout(function () {
30
- return send(TimeComplete, undefined);
31
- }, 100);
22
+ leavingVisibleTimer = setTimeout(() => send(TimeComplete, undefined), 100);
32
23
  }
33
-
34
24
  function clearLeavingVisibleTimer() {
35
25
  clearTimeout(leavingVisibleTimer);
36
- } ////////////////////////////////////////////////////////////////////////////////
37
- // State machine
26
+ }
38
27
 
28
+ ////////////////////////////////////////////////////////////////////////////////
29
+ // State machine
39
30
 
40
31
  // Nothing goin' on
41
- export var Idle = 'IDLE'; // We're considering showing the tooltip, but we're gonna wait a sec
42
-
43
- export var Focused = 'FOCUSED'; // It's on!
44
-
45
- export var Visible = 'VISIBLE'; // Focus has left, but we want to keep it visible for a sec
46
-
47
- export var LeavingVisible = 'LEAVING_VISIBLE'; // The user clicked the tool, so we want to hide the thing, we can't just use
32
+ export const Idle = 'IDLE';
33
+ // We're considering showing the tooltip, but we're gonna wait a sec
34
+ export const Focused = 'FOCUSED';
35
+ // It's on!
36
+ export const Visible = 'VISIBLE';
37
+ // Focus has left, but we want to keep it visible for a sec
38
+ export const LeavingVisible = 'LEAVING_VISIBLE';
39
+ // The user clicked the tool, so we want to hide the thing, we can't just use
48
40
  // IDLE because we need to ignore mousemove, etc.
49
-
50
- export var Dismissed = 'DISMISSED';
51
- export var Blur = 'BLUR';
52
- export var Focus = 'FOCUS';
53
- export var GlobalMouseMove = 'GLOBAL_MOUSE_MOVE';
54
- export var MouseDown = 'MOUSE_DOWN';
55
- export var MouseEnter = 'MOUSE_ENTER';
56
- export var MouseLeave = 'MOUSE_LEAVE';
57
- export var MouseMove = 'MOUSE_MOVE';
58
- export var Rest = 'REST';
59
- export var SelectWithKeyboard = 'SELECT_WITH_KEYBOARD';
60
- export var TimeComplete = 'TIME_COMPLETE';
61
- export var subscription = createSubscription();
62
- export var state = {
41
+ export const Dismissed = 'DISMISSED';
42
+ export const Blur = 'BLUR';
43
+ export const Focus = 'FOCUS';
44
+ export const GlobalMouseMove = 'GLOBAL_MOUSE_MOVE';
45
+ export const MouseDown = 'MOUSE_DOWN';
46
+ export const MouseEnter = 'MOUSE_ENTER';
47
+ export const MouseLeave = 'MOUSE_LEAVE';
48
+ export const MouseMove = 'MOUSE_MOVE';
49
+ export const Rest = 'REST';
50
+ export const SelectWithKeyboard = 'SELECT_WITH_KEYBOARD';
51
+ export const TimeComplete = 'TIME_COMPLETE';
52
+ export const subscription = createSubscription();
53
+ export const state = {
63
54
  current: {
64
55
  state: Idle,
65
56
  id: ''
66
57
  }
67
58
  };
68
-
69
59
  function clearContextId() {
70
60
  state.current.id = '';
71
61
  }
72
-
73
- var chart = {
62
+ const chart = {
74
63
  initial: Idle,
75
- states: (_states = {}, _defineProperty(_states, Idle, {
76
- enter: function enter() {
77
- clearContextId();
64
+ states: {
65
+ [Idle]: {
66
+ enter: () => {
67
+ clearContextId();
68
+ },
69
+ on: {
70
+ [MouseEnter]: Focused,
71
+ [Focus]: Visible
72
+ }
78
73
  },
79
- on: (_on = {}, _defineProperty(_on, MouseEnter, Focused), _defineProperty(_on, Focus, Visible), _on)
80
- }), _defineProperty(_states, Focused, {
81
- enter: startRestTimer,
82
- leave: clearRestTimer,
83
- on: (_on2 = {}, _defineProperty(_on2, MouseMove, Focused), _defineProperty(_on2, MouseLeave, Idle), _defineProperty(_on2, MouseDown, Dismissed), _defineProperty(_on2, Blur, Idle), _defineProperty(_on2, Rest, Visible), _on2)
84
- }), _defineProperty(_states, Visible, {
85
- on: (_on3 = {}, _defineProperty(_on3, Focus, Focused), _defineProperty(_on3, MouseEnter, Focused), _defineProperty(_on3, MouseLeave, LeavingVisible), _defineProperty(_on3, Blur, LeavingVisible), _defineProperty(_on3, MouseDown, Dismissed), _defineProperty(_on3, SelectWithKeyboard, Dismissed), _defineProperty(_on3, GlobalMouseMove, LeavingVisible), _on3)
86
- }), _defineProperty(_states, LeavingVisible, {
87
- enter: function enter() {
88
- startLeavingVisibleTimer();
74
+ [Focused]: {
75
+ enter: startRestTimer,
76
+ leave: clearRestTimer,
77
+ on: {
78
+ [MouseMove]: Focused,
79
+ [MouseLeave]: Idle,
80
+ [MouseDown]: Dismissed,
81
+ [Blur]: Idle,
82
+ [Rest]: Visible
83
+ }
89
84
  },
90
- leave: function leave() {
91
- clearLeavingVisibleTimer();
92
- clearContextId();
85
+ [Visible]: {
86
+ on: {
87
+ [Focus]: Focused,
88
+ [MouseEnter]: Focused,
89
+ [MouseLeave]: LeavingVisible,
90
+ [Blur]: LeavingVisible,
91
+ [MouseDown]: Dismissed,
92
+ [SelectWithKeyboard]: Dismissed,
93
+ [GlobalMouseMove]: LeavingVisible
94
+ }
93
95
  },
94
- on: (_on4 = {}, _defineProperty(_on4, MouseEnter, Visible), _defineProperty(_on4, Focus, Visible), _defineProperty(_on4, TimeComplete, Idle), _on4)
95
- }), _defineProperty(_states, Dismissed, {
96
- leave: function leave() {
97
- clearContextId();
96
+ [LeavingVisible]: {
97
+ enter: () => {
98
+ startLeavingVisibleTimer();
99
+ },
100
+ leave: () => {
101
+ clearLeavingVisibleTimer();
102
+ clearContextId();
103
+ },
104
+ on: {
105
+ [MouseEnter]: Visible,
106
+ [Focus]: Visible,
107
+ [TimeComplete]: Idle
108
+ }
98
109
  },
99
- on: (_on5 = {}, _defineProperty(_on5, MouseLeave, Idle), _defineProperty(_on5, Blur, Idle), _on5)
100
- }), _states)
110
+ [Dismissed]: {
111
+ leave: () => {
112
+ clearContextId();
113
+ },
114
+ on: {
115
+ [MouseLeave]: Idle,
116
+ [Blur]: Idle
117
+ }
118
+ }
119
+ }
101
120
  };
102
-
103
121
  function transition(currentState, event, payload) {
104
- var _stateDef$on;
122
+ const currentStateValue = currentState.state;
123
+ const stateDef = chart.states[currentState.state];
124
+ const nextState = stateDef?.on?.[event];
105
125
 
106
- var currentStateValue = currentState.state;
107
- var stateDef = chart.states[currentState.state];
108
- var nextState = stateDef === null || stateDef === void 0 ? void 0 : (_stateDef$on = stateDef.on) === null || _stateDef$on === void 0 ? void 0 : _stateDef$on[event]; // Really useful for debugging
126
+ // Really useful for debugging
109
127
  // console.log({
110
128
  // event,
111
129
  // state: state.current.state,
@@ -116,26 +134,22 @@ function transition(currentState, event, payload) {
116
134
  if (!nextState) {
117
135
  return currentState;
118
136
  }
119
-
120
137
  if (stateDef && stateDef.leave) {
121
138
  stateDef.leave(currentStateValue, payload);
122
139
  }
123
-
124
- var nextStateValue = nextState;
125
- var nextDef = chart.states[nextStateValue];
126
-
140
+ const nextStateValue = nextState;
141
+ const nextDef = chart.states[nextStateValue];
127
142
  if (nextDef && nextDef.enter) {
128
143
  nextDef.enter(nextStateValue, payload);
129
144
  }
130
-
131
- return _extends(_extends(_extends({}, currentState), payload), {}, {
145
+ return {
146
+ ...currentState,
147
+ ...payload,
132
148
  state: nextStateValue
133
- });
149
+ };
134
150
  }
135
-
136
151
  export function send(event, payload) {
137
- var nextState = transition(state.current, event, payload);
138
-
152
+ const nextState = transition(state.current, event, payload);
139
153
  if (state.current !== nextState) {
140
154
  state.current = nextState;
141
155
  subscription.notify();
@@ -1 +1 @@
1
- {"version":3,"file":"stateMachine.js","names":["createSubscription","restTimeout","startRestTimer","clearTimeout","setTimeout","send","Rest","undefined","clearRestTimer","leavingVisibleTimer","startLeavingVisibleTimer","TimeComplete","clearLeavingVisibleTimer","Idle","Focused","Visible","LeavingVisible","Dismissed","Blur","Focus","GlobalMouseMove","MouseDown","MouseEnter","MouseLeave","MouseMove","SelectWithKeyboard","subscription","state","current","id","clearContextId","chart","initial","states","enter","on","leave","transition","currentState","event","payload","currentStateValue","stateDef","nextState","nextStateValue","nextDef","notify"],"sources":["../../../src/Tooltip/stateMachine.ts"],"sourcesContent":["import { createSubscription } from '../utils/create-subscription';\nimport type { StateChart as GenericStateChart } from '../hooks/useReducerMachine';\n\n////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n\n// Manages when the user \"rests\" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\nlet restTimeout: NodeJS.Timeout;\nfunction startRestTimer() {\n clearTimeout(restTimeout);\n restTimeout = setTimeout(() => {\n send(Rest, undefined);\n }, 200);\n}\n\nfunction clearRestTimer() {\n clearTimeout(restTimeout);\n}\n\n// Manages the delay to hide the tooltip after rest leaves.\nlet leavingVisibleTimer: NodeJS.Timeout;\nfunction startLeavingVisibleTimer() {\n clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = setTimeout(() => send(TimeComplete, undefined), 100);\n}\n\nfunction clearLeavingVisibleTimer() {\n clearTimeout(leavingVisibleTimer);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// State machine\n\nexport type TooltipStates =\n | 'IDLE'\n | 'FOCUSED'\n | 'VISIBLE'\n | 'LEAVING_VISIBLE'\n | 'DISMISSED';\n\n// Nothing goin' on\nexport const Idle = 'IDLE' as const;\n// We're considering showing the tooltip, but we're gonna wait a sec\nexport const Focused = 'FOCUSED' as const;\n// It's on!\nexport const Visible = 'VISIBLE' as const;\n// Focus has left, but we want to keep it visible for a sec\nexport const LeavingVisible = 'LEAVING_VISIBLE' as const;\n// The user clicked the tool, so we want to hide the thing, we can't just use\n// IDLE because we need to ignore mousemove, etc.\nexport const Dismissed = 'DISMISSED' as const;\n\nexport type TooltipEventTypes =\n | 'BLUR'\n | 'FOCUS'\n | 'GLOBAL_MOUSE_MOVE'\n | 'MOUSE_DOWN'\n | 'MOUSE_ENTER'\n | 'MOUSE_LEAVE'\n | 'MOUSE_MOVE'\n | 'REST'\n | 'SELECT_WITH_KEYBOARD'\n | 'TIME_COMPLETE';\n\nexport const Blur = 'BLUR' as const;\nexport const Focus = 'FOCUS' as const;\nexport const GlobalMouseMove = 'GLOBAL_MOUSE_MOVE' as const;\nexport const MouseDown = 'MOUSE_DOWN' as const;\nexport const MouseEnter = 'MOUSE_ENTER' as const;\nexport const MouseLeave = 'MOUSE_LEAVE' as const;\nexport const MouseMove = 'MOUSE_MOVE' as const;\nexport const Rest = 'REST' as const;\nexport const SelectWithKeyboard = 'SELECT_WITH_KEYBOARD' as const;\nexport const TimeComplete = 'TIME_COMPLETE' as const;\n\nexport const subscription = createSubscription();\nexport const state = {\n current: {\n state: Idle as TooltipStates,\n id: '',\n },\n};\n\nfunction clearContextId() {\n state.current.id = '';\n}\n\nconst chart: GenericStateChart<TooltipStates, TooltipEventTypes> = {\n initial: Idle,\n states: {\n [Idle]: {\n enter: () => {\n clearContextId();\n },\n on: {\n [MouseEnter]: Focused,\n [Focus]: Visible,\n },\n },\n [Focused]: {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: {\n [MouseMove]: Focused,\n [MouseLeave]: Idle,\n [MouseDown]: Dismissed,\n [Blur]: Idle,\n [Rest]: Visible,\n },\n },\n [Visible]: {\n on: {\n [Focus]: Focused,\n [MouseEnter]: Focused,\n [MouseLeave]: LeavingVisible,\n [Blur]: LeavingVisible,\n [MouseDown]: Dismissed,\n [SelectWithKeyboard]: Dismissed,\n [GlobalMouseMove]: LeavingVisible,\n },\n },\n [LeavingVisible]: {\n enter: () => {\n startLeavingVisibleTimer();\n },\n leave: () => {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: {\n [MouseEnter]: Visible,\n [Focus]: Visible,\n [TimeComplete]: Idle,\n },\n },\n [Dismissed]: {\n leave: () => {\n clearContextId();\n },\n on: {\n [MouseLeave]: Idle,\n [Blur]: Idle,\n },\n },\n },\n};\n\nfunction transition(\n currentState: typeof state['current'],\n event: TooltipEventTypes,\n payload?: Omit<typeof state['current'], 'state'>\n): typeof state['current'] {\n const currentStateValue = currentState.state;\n const stateDef = chart.states[currentState.state];\n const nextState = stateDef?.on?.[event];\n\n // Really useful for debugging\n // console.log({\n // event,\n // state: state.current.state,\n // id: state.current.id,\n // nextState,\n // });\n\n if (!nextState) {\n return currentState;\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentStateValue, payload);\n }\n\n const nextStateValue = nextState;\n const nextDef = chart.states[nextStateValue];\n if (nextDef && nextDef.enter) {\n nextDef.enter(nextStateValue, payload);\n }\n\n return { ...currentState, ...payload, state: nextStateValue };\n}\n\nexport function send<T extends TooltipEventTypes>(\n event: T,\n payload?: Omit<typeof state['current'], 'state'>\n) {\n const nextState = transition(state.current, event, payload);\n if (state.current !== nextState) {\n state.current = nextState;\n subscription.notify();\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,kBAAT,QAAmC,8BAAnC;AAGA;AACA;AAEA;AACA;AACA,IAAIC,WAAJ;;AACA,SAASC,cAAT,GAA0B;EACxBC,YAAY,CAACF,WAAD,CAAZ;EACAA,WAAW,GAAGG,UAAU,CAAC,YAAM;IAC7BC,IAAI,CAACC,IAAD,EAAOC,SAAP,CAAJ;EACD,CAFuB,EAErB,GAFqB,CAAxB;AAGD;;AAED,SAASC,cAAT,GAA0B;EACxBL,YAAY,CAACF,WAAD,CAAZ;AACD,C,CAED;;;AACA,IAAIQ,mBAAJ;;AACA,SAASC,wBAAT,GAAoC;EAClCP,YAAY,CAACM,mBAAD,CAAZ;EACAA,mBAAmB,GAAGL,UAAU,CAAC;IAAA,OAAMC,IAAI,CAACM,YAAD,EAAeJ,SAAf,CAAV;EAAA,CAAD,EAAsC,GAAtC,CAAhC;AACD;;AAED,SAASK,wBAAT,GAAoC;EAClCT,YAAY,CAACM,mBAAD,CAAZ;AACD,C,CAED;AACA;;;AASA;AACA,OAAO,IAAMI,IAAI,GAAG,MAAb,C,CACP;;AACA,OAAO,IAAMC,OAAO,GAAG,SAAhB,C,CACP;;AACA,OAAO,IAAMC,OAAO,GAAG,SAAhB,C,CACP;;AACA,OAAO,IAAMC,cAAc,GAAG,iBAAvB,C,CACP;AACA;;AACA,OAAO,IAAMC,SAAS,GAAG,WAAlB;AAcP,OAAO,IAAMC,IAAI,GAAG,MAAb;AACP,OAAO,IAAMC,KAAK,GAAG,OAAd;AACP,OAAO,IAAMC,eAAe,GAAG,mBAAxB;AACP,OAAO,IAAMC,SAAS,GAAG,YAAlB;AACP,OAAO,IAAMC,UAAU,GAAG,aAAnB;AACP,OAAO,IAAMC,UAAU,GAAG,aAAnB;AACP,OAAO,IAAMC,SAAS,GAAG,YAAlB;AACP,OAAO,IAAMlB,IAAI,GAAG,MAAb;AACP,OAAO,IAAMmB,kBAAkB,GAAG,sBAA3B;AACP,OAAO,IAAMd,YAAY,GAAG,eAArB;AAEP,OAAO,IAAMe,YAAY,GAAG1B,kBAAkB,EAAvC;AACP,OAAO,IAAM2B,KAAK,GAAG;EACnBC,OAAO,EAAE;IACPD,KAAK,EAAEd,IADA;IAEPgB,EAAE,EAAE;EAFG;AADU,CAAd;;AAOP,SAASC,cAAT,GAA0B;EACxBH,KAAK,CAACC,OAAN,CAAcC,EAAd,GAAmB,EAAnB;AACD;;AAED,IAAME,KAA0D,GAAG;EACjEC,OAAO,EAAEnB,IADwD;EAEjEoB,MAAM,0CACHpB,IADG,EACI;IACNqB,KAAK,EAAE,iBAAM;MACXJ,cAAc;IACf,CAHK;IAINK,EAAE,kCACCb,UADD,EACcR,OADd,wBAECK,KAFD,EAESJ,OAFT;EAJI,CADJ,4BAUHD,OAVG,EAUO;IACToB,KAAK,EAAEhC,cADE;IAETkC,KAAK,EAAE5B,cAFE;IAGT2B,EAAE,oCACCX,SADD,EACaV,OADb,yBAECS,UAFD,EAEcV,IAFd,yBAGCQ,SAHD,EAGaJ,SAHb,yBAICC,IAJD,EAIQL,IAJR,yBAKCP,IALD,EAKQS,OALR;EAHO,CAVP,4BAqBHA,OArBG,EAqBO;IACToB,EAAE,oCACChB,KADD,EACSL,OADT,yBAECQ,UAFD,EAEcR,OAFd,yBAGCS,UAHD,EAGcP,cAHd,yBAICE,IAJD,EAIQF,cAJR,yBAKCK,SALD,EAKaJ,SALb,yBAMCQ,kBAND,EAMsBR,SANtB,yBAOCG,eAPD,EAOmBJ,cAPnB;EADO,CArBP,4BAgCHA,cAhCG,EAgCc;IAChBkB,KAAK,EAAE,iBAAM;MACXxB,wBAAwB;IACzB,CAHe;IAIhB0B,KAAK,EAAE,iBAAM;MACXxB,wBAAwB;MACxBkB,cAAc;IACf,CAPe;IAQhBK,EAAE,oCACCb,UADD,EACcP,OADd,yBAECI,KAFD,EAESJ,OAFT,yBAGCJ,YAHD,EAGgBE,IAHhB;EARc,CAhCd,4BA8CHI,SA9CG,EA8CS;IACXmB,KAAK,EAAE,iBAAM;MACXN,cAAc;IACf,CAHU;IAIXK,EAAE,oCACCZ,UADD,EACcV,IADd,yBAECK,IAFD,EAEQL,IAFR;EAJS,CA9CT;AAF2D,CAAnE;;AA4DA,SAASwB,UAAT,CACEC,YADF,EAEEC,KAFF,EAGEC,OAHF,EAI2B;EAAA;;EACzB,IAAMC,iBAAiB,GAAGH,YAAY,CAACX,KAAvC;EACA,IAAMe,QAAQ,GAAGX,KAAK,CAACE,MAAN,CAAaK,YAAY,CAACX,KAA1B,CAAjB;EACA,IAAMgB,SAAS,GAAGD,QAAH,aAAGA,QAAH,uCAAGA,QAAQ,CAAEP,EAAb,iDAAG,aAAeI,KAAf,CAAlB,CAHyB,CAKzB;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,IAAI,CAACI,SAAL,EAAgB;IACd,OAAOL,YAAP;EACD;;EAED,IAAII,QAAQ,IAAIA,QAAQ,CAACN,KAAzB,EAAgC;IAC9BM,QAAQ,CAACN,KAAT,CAAeK,iBAAf,EAAkCD,OAAlC;EACD;;EAED,IAAMI,cAAc,GAAGD,SAAvB;EACA,IAAME,OAAO,GAAGd,KAAK,CAACE,MAAN,CAAaW,cAAb,CAAhB;;EACA,IAAIC,OAAO,IAAIA,OAAO,CAACX,KAAvB,EAA8B;IAC5BW,OAAO,CAACX,KAAR,CAAcU,cAAd,EAA8BJ,OAA9B;EACD;;EAED,sCAAYF,YAAZ,GAA6BE,OAA7B;IAAsCb,KAAK,EAAEiB;EAA7C;AACD;;AAED,OAAO,SAASvC,IAAT,CACLkC,KADK,EAELC,OAFK,EAGL;EACA,IAAMG,SAAS,GAAGN,UAAU,CAACV,KAAK,CAACC,OAAP,EAAgBW,KAAhB,EAAuBC,OAAvB,CAA5B;;EACA,IAAIb,KAAK,CAACC,OAAN,KAAkBe,SAAtB,EAAiC;IAC/BhB,KAAK,CAACC,OAAN,GAAgBe,SAAhB;IACAjB,YAAY,CAACoB,MAAb;EACD;AACF"}
1
+ {"version":3,"file":"stateMachine.js","names":["createSubscription","restTimeout","startRestTimer","clearTimeout","setTimeout","send","Rest","undefined","clearRestTimer","leavingVisibleTimer","startLeavingVisibleTimer","TimeComplete","clearLeavingVisibleTimer","Idle","Focused","Visible","LeavingVisible","Dismissed","Blur","Focus","GlobalMouseMove","MouseDown","MouseEnter","MouseLeave","MouseMove","SelectWithKeyboard","subscription","state","current","id","clearContextId","chart","initial","states","enter","on","leave","transition","currentState","event","payload","currentStateValue","stateDef","nextState","nextStateValue","nextDef","notify"],"sources":["../../../src/Tooltip/stateMachine.ts"],"sourcesContent":["import { createSubscription } from '../utils/create-subscription';\nimport type { StateChart as GenericStateChart } from '../hooks/useReducerMachine';\n\n////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n\n// Manages when the user \"rests\" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\nlet restTimeout: NodeJS.Timeout;\nfunction startRestTimer() {\n clearTimeout(restTimeout);\n restTimeout = setTimeout(() => {\n send(Rest, undefined);\n }, 200);\n}\n\nfunction clearRestTimer() {\n clearTimeout(restTimeout);\n}\n\n// Manages the delay to hide the tooltip after rest leaves.\nlet leavingVisibleTimer: NodeJS.Timeout;\nfunction startLeavingVisibleTimer() {\n clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = setTimeout(() => send(TimeComplete, undefined), 100);\n}\n\nfunction clearLeavingVisibleTimer() {\n clearTimeout(leavingVisibleTimer);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// State machine\n\nexport type TooltipStates =\n | 'IDLE'\n | 'FOCUSED'\n | 'VISIBLE'\n | 'LEAVING_VISIBLE'\n | 'DISMISSED';\n\n// Nothing goin' on\nexport const Idle = 'IDLE' as const;\n// We're considering showing the tooltip, but we're gonna wait a sec\nexport const Focused = 'FOCUSED' as const;\n// It's on!\nexport const Visible = 'VISIBLE' as const;\n// Focus has left, but we want to keep it visible for a sec\nexport const LeavingVisible = 'LEAVING_VISIBLE' as const;\n// The user clicked the tool, so we want to hide the thing, we can't just use\n// IDLE because we need to ignore mousemove, etc.\nexport const Dismissed = 'DISMISSED' as const;\n\nexport type TooltipEventTypes =\n | 'BLUR'\n | 'FOCUS'\n | 'GLOBAL_MOUSE_MOVE'\n | 'MOUSE_DOWN'\n | 'MOUSE_ENTER'\n | 'MOUSE_LEAVE'\n | 'MOUSE_MOVE'\n | 'REST'\n | 'SELECT_WITH_KEYBOARD'\n | 'TIME_COMPLETE';\n\nexport const Blur = 'BLUR' as const;\nexport const Focus = 'FOCUS' as const;\nexport const GlobalMouseMove = 'GLOBAL_MOUSE_MOVE' as const;\nexport const MouseDown = 'MOUSE_DOWN' as const;\nexport const MouseEnter = 'MOUSE_ENTER' as const;\nexport const MouseLeave = 'MOUSE_LEAVE' as const;\nexport const MouseMove = 'MOUSE_MOVE' as const;\nexport const Rest = 'REST' as const;\nexport const SelectWithKeyboard = 'SELECT_WITH_KEYBOARD' as const;\nexport const TimeComplete = 'TIME_COMPLETE' as const;\n\nexport const subscription = createSubscription();\nexport const state = {\n current: {\n state: Idle as TooltipStates,\n id: '',\n },\n};\n\nfunction clearContextId() {\n state.current.id = '';\n}\n\nconst chart: GenericStateChart<TooltipStates, TooltipEventTypes> = {\n initial: Idle,\n states: {\n [Idle]: {\n enter: () => {\n clearContextId();\n },\n on: {\n [MouseEnter]: Focused,\n [Focus]: Visible,\n },\n },\n [Focused]: {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: {\n [MouseMove]: Focused,\n [MouseLeave]: Idle,\n [MouseDown]: Dismissed,\n [Blur]: Idle,\n [Rest]: Visible,\n },\n },\n [Visible]: {\n on: {\n [Focus]: Focused,\n [MouseEnter]: Focused,\n [MouseLeave]: LeavingVisible,\n [Blur]: LeavingVisible,\n [MouseDown]: Dismissed,\n [SelectWithKeyboard]: Dismissed,\n [GlobalMouseMove]: LeavingVisible,\n },\n },\n [LeavingVisible]: {\n enter: () => {\n startLeavingVisibleTimer();\n },\n leave: () => {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: {\n [MouseEnter]: Visible,\n [Focus]: Visible,\n [TimeComplete]: Idle,\n },\n },\n [Dismissed]: {\n leave: () => {\n clearContextId();\n },\n on: {\n [MouseLeave]: Idle,\n [Blur]: Idle,\n },\n },\n },\n};\n\nfunction transition(\n currentState: typeof state['current'],\n event: TooltipEventTypes,\n payload?: Omit<typeof state['current'], 'state'>\n): typeof state['current'] {\n const currentStateValue = currentState.state;\n const stateDef = chart.states[currentState.state];\n const nextState = stateDef?.on?.[event];\n\n // Really useful for debugging\n // console.log({\n // event,\n // state: state.current.state,\n // id: state.current.id,\n // nextState,\n // });\n\n if (!nextState) {\n return currentState;\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentStateValue, payload);\n }\n\n const nextStateValue = nextState;\n const nextDef = chart.states[nextStateValue];\n if (nextDef && nextDef.enter) {\n nextDef.enter(nextStateValue, payload);\n }\n\n return { ...currentState, ...payload, state: nextStateValue };\n}\n\nexport function send<T extends TooltipEventTypes>(\n event: T,\n payload?: Omit<typeof state['current'], 'state'>\n) {\n const nextState = transition(state.current, event, payload);\n if (state.current !== nextState) {\n state.current = nextState;\n subscription.notify();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { HTMLAttributes, ReactNode, Ref, RefAttributes, RefObject } from 'react';
2
- export declare type ChildProps = HTMLAttributes<HTMLElement> & RefAttributes<HTMLElement>;
2
+ export type ChildProps = HTMLAttributes<HTMLElement> & RefAttributes<HTMLElement>;
3
3
  export interface InjectedTooltipProps extends HTMLAttributes<HTMLElement> {
4
- anchorEl: RefObject<HTMLElement>;
4
+ anchorEl: RefObject<HTMLElement | null>;
5
5
  visible: boolean;
6
6
  children?: ReactNode;
7
7
  }
@@ -1,87 +1,74 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- var _excluded = ["label", "onMouseEnter", "onMouseLeave", "onMouseMove"];
5
1
  import { useRef, useEffect, useState, useId } from 'react';
6
2
  import { assignMultipleRefs } from '../utils/assign-ref';
7
3
  import { wrapEvent } from '../utils/wrap-event';
8
4
  import { send, state, subscription, Blur, Focus, LeavingVisible, MouseDown, MouseEnter, MouseLeave, MouseMove, SelectWithKeyboard, Visible } from './stateMachine';
9
5
  export function useTooltip(childProps, childRef, tooltipProps) {
10
- var onMouseEnter = childProps.onMouseEnter,
11
- onMouseLeave = childProps.onMouseLeave,
12
- onMouseMove = childProps.onMouseMove,
13
- onMouseDown = childProps.onMouseDown,
14
- onKeyDown = childProps.onKeyDown,
15
- onFocus = childProps.onFocus,
16
- onBlur = childProps.onBlur;
17
- var anchorEl = useRef(null);
18
-
19
- var _useState = useState(false),
20
- _useState2 = _slicedToArray(_useState, 2),
21
- visible = _useState2[0],
22
- setVisible = _useState2[1];
23
-
24
- var id = useId();
25
- useEffect(function () {
26
- subscription.subscribe(function () {
6
+ const {
7
+ onMouseEnter,
8
+ onMouseLeave,
9
+ onMouseMove,
10
+ onMouseDown,
11
+ onKeyDown,
12
+ onFocus,
13
+ onBlur
14
+ } = childProps;
15
+ const anchorEl = useRef(null);
16
+ const [visible, setVisible] = useState(false);
17
+ const id = useId();
18
+ useEffect(() => {
19
+ subscription.subscribe(() => {
27
20
  setVisible((state.current.state === Visible || state.current.state === LeavingVisible) && state.current.id === id);
28
21
  });
29
22
  }, [id]);
30
-
31
23
  function handleMouseEnter() {
32
24
  send(MouseEnter, {
33
- id: id
25
+ id
34
26
  });
35
27
  }
36
-
37
28
  function handleMouseMove() {
38
29
  send(MouseMove, {
39
- id: id
30
+ id
40
31
  });
41
32
  }
42
-
43
33
  function handleMouseLeave() {
44
34
  send(MouseLeave);
45
35
  }
46
-
47
36
  function handleMouseDown() {
48
37
  // Allow quick click from one tool to another
49
38
  if (state.current.id === id) {
50
39
  send(MouseDown);
51
40
  }
52
41
  }
53
-
54
42
  function handleFocus() {
55
43
  send(Focus, {
56
- id: id
44
+ id
57
45
  });
58
46
  }
59
-
60
47
  function handleBlur() {
61
48
  // Allow quick click from one tool to another
62
49
  if (state.current.id === id) {
63
50
  send(Blur, undefined);
64
51
  }
65
52
  }
66
-
67
53
  function handleKeyDown(event) {
68
54
  if (event.key === 'Enter' || event.key === ' ') {
69
55
  send(SelectWithKeyboard);
70
56
  }
71
57
  }
72
-
73
- var children = tooltipProps.label,
74
- tooltipOnMouseEnter = tooltipProps.onMouseEnter,
75
- tooltipOnMouseLeave = tooltipProps.onMouseLeave,
76
- tooltipOnMouseMove = tooltipProps.onMouseMove,
77
- otherTooltipProps = _objectWithoutProperties(tooltipProps, _excluded);
78
-
79
- var tooltipId = "tooltip-".concat(id);
80
- return [_extends(_extends(_extends({}, childProps), {}, {
81
- ref: assignMultipleRefs(childRef, anchorEl)
82
- }, visible && !childProps['aria-label'] && {
83
- 'aria-describedby': tooltipId
84
- }), {}, {
58
+ const {
59
+ label: children,
60
+ onMouseEnter: tooltipOnMouseEnter,
61
+ onMouseLeave: tooltipOnMouseLeave,
62
+ onMouseMove: tooltipOnMouseMove,
63
+ ...otherTooltipProps
64
+ } = tooltipProps;
65
+ const tooltipId = `tooltip-${id}`;
66
+ return [{
67
+ ...childProps,
68
+ ref: assignMultipleRefs(childRef, anchorEl),
69
+ ...(visible && !childProps['aria-label'] && {
70
+ 'aria-describedby': tooltipId
71
+ }),
85
72
  onMouseEnter: wrapEvent(onMouseEnter, handleMouseEnter),
86
73
  onMouseLeave: wrapEvent(onMouseLeave, handleMouseLeave),
87
74
  onMouseMove: wrapEvent(onMouseMove, handleMouseMove),
@@ -89,15 +76,16 @@ export function useTooltip(childProps, childRef, tooltipProps) {
89
76
  onFocus: wrapEvent(onFocus, handleFocus),
90
77
  onBlur: wrapEvent(onBlur, handleBlur),
91
78
  onKeyDown: wrapEvent(onKeyDown, handleKeyDown)
92
- }), _extends({
79
+ }, {
93
80
  id: tooltipId,
94
- anchorEl: anchorEl,
95
- visible: visible,
96
- children: children,
81
+ anchorEl,
82
+ visible,
83
+ children,
97
84
  onMouseEnter: wrapEvent(tooltipOnMouseEnter, handleMouseEnter),
98
85
  onMouseLeave: wrapEvent(tooltipOnMouseLeave, handleMouseLeave),
99
86
  onMouseMove: wrapEvent(tooltipOnMouseMove, handleMouseMove),
100
- role: 'tooltip'
101
- }, otherTooltipProps)];
87
+ role: 'tooltip',
88
+ ...otherTooltipProps
89
+ }];
102
90
  }
103
91
  //# sourceMappingURL=useTooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTooltip.js","names":["useRef","useEffect","useState","useId","assignMultipleRefs","wrapEvent","send","state","subscription","Blur","Focus","LeavingVisible","MouseDown","MouseEnter","MouseLeave","MouseMove","SelectWithKeyboard","Visible","useTooltip","childProps","childRef","tooltipProps","onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onKeyDown","onFocus","onBlur","anchorEl","visible","setVisible","id","subscribe","current","handleMouseEnter","handleMouseMove","handleMouseLeave","handleMouseDown","handleFocus","handleBlur","undefined","handleKeyDown","event","key","children","label","tooltipOnMouseEnter","tooltipOnMouseLeave","tooltipOnMouseMove","otherTooltipProps","tooltipId","ref","role"],"sources":["../../../src/Tooltip/useTooltip.ts"],"sourcesContent":["import type {\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n Ref,\n RefAttributes,\n RefObject,\n} from 'react';\nimport { useRef, useEffect, useState, useId } from 'react';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { wrapEvent } from '../utils/wrap-event';\nimport {\n send,\n state,\n subscription,\n Blur,\n Focus,\n LeavingVisible,\n MouseDown,\n MouseEnter,\n MouseLeave,\n MouseMove,\n SelectWithKeyboard,\n Visible,\n} from './stateMachine';\n\nexport type ChildProps = HTMLAttributes<HTMLElement> &\n RefAttributes<HTMLElement>;\n\nexport interface InjectedTooltipProps extends HTMLAttributes<HTMLElement> {\n anchorEl: RefObject<HTMLElement>;\n visible: boolean;\n children?: ReactNode;\n}\n\nexport function useTooltip(\n childProps: ChildProps,\n childRef: Ref<HTMLElement> | undefined,\n tooltipProps: HTMLAttributes<HTMLElement> & { label?: ReactNode }\n): [ChildProps, InjectedTooltipProps] {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onKeyDown,\n onFocus,\n onBlur,\n } = childProps;\n const anchorEl = useRef<HTMLElement>(null);\n const [visible, setVisible] = useState(false);\n const id = useId();\n\n useEffect(() => {\n subscription.subscribe(() => {\n setVisible(\n (state.current.state === Visible ||\n state.current.state === LeavingVisible) &&\n state.current.id === id\n );\n });\n }, [id]);\n\n function handleMouseEnter() {\n send(MouseEnter, { id });\n }\n\n function handleMouseMove() {\n send(MouseMove, { id });\n }\n\n function handleMouseLeave() {\n send(MouseLeave);\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.current.id === id) {\n send(MouseDown);\n }\n }\n\n function handleFocus() {\n send(Focus, { id });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.current.id === id) {\n send(Blur, undefined);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLElement>) {\n if (event.key === 'Enter' || event.key === ' ') {\n send(SelectWithKeyboard);\n }\n }\n\n const {\n label: children,\n onMouseEnter: tooltipOnMouseEnter,\n onMouseLeave: tooltipOnMouseLeave,\n onMouseMove: tooltipOnMouseMove,\n ...otherTooltipProps\n } = tooltipProps;\n\n const tooltipId = `tooltip-${id}`;\n return [\n {\n ...childProps,\n ref: assignMultipleRefs(childRef, anchorEl),\n ...(visible &&\n !childProps['aria-label'] && { 'aria-describedby': tooltipId }),\n onMouseEnter: wrapEvent(onMouseEnter, handleMouseEnter),\n onMouseLeave: wrapEvent(onMouseLeave, handleMouseLeave),\n onMouseMove: wrapEvent(onMouseMove, handleMouseMove),\n onMouseDown: wrapEvent(onMouseDown, handleMouseDown),\n onFocus: wrapEvent(onFocus, handleFocus),\n onBlur: wrapEvent(onBlur, handleBlur),\n onKeyDown: wrapEvent(onKeyDown, handleKeyDown),\n },\n {\n id: tooltipId,\n anchorEl,\n visible,\n children,\n onMouseEnter: wrapEvent(tooltipOnMouseEnter, handleMouseEnter),\n onMouseLeave: wrapEvent(tooltipOnMouseLeave, handleMouseLeave),\n onMouseMove: wrapEvent(tooltipOnMouseMove, handleMouseMove),\n role: 'tooltip',\n ...otherTooltipProps,\n },\n ];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTooltip.js","names":["useRef","useEffect","useState","useId","assignMultipleRefs","wrapEvent","send","state","subscription","Blur","Focus","LeavingVisible","MouseDown","MouseEnter","MouseLeave","MouseMove","SelectWithKeyboard","Visible","useTooltip","childProps","childRef","tooltipProps","onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onKeyDown","onFocus","onBlur","anchorEl","visible","setVisible","id","subscribe","current","handleMouseEnter","handleMouseMove","handleMouseLeave","handleMouseDown","handleFocus","handleBlur","undefined","handleKeyDown","event","key","label","children","tooltipOnMouseEnter","tooltipOnMouseLeave","tooltipOnMouseMove","otherTooltipProps","tooltipId","ref","role"],"sources":["../../../src/Tooltip/useTooltip.ts"],"sourcesContent":["import type {\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n Ref,\n RefAttributes,\n RefObject,\n} from 'react';\nimport { useRef, useEffect, useState, useId } from 'react';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { wrapEvent } from '../utils/wrap-event';\nimport {\n send,\n state,\n subscription,\n Blur,\n Focus,\n LeavingVisible,\n MouseDown,\n MouseEnter,\n MouseLeave,\n MouseMove,\n SelectWithKeyboard,\n Visible,\n} from './stateMachine';\n\nexport type ChildProps = HTMLAttributes<HTMLElement> &\n RefAttributes<HTMLElement>;\n\nexport interface InjectedTooltipProps extends HTMLAttributes<HTMLElement> {\n anchorEl: RefObject<HTMLElement | null>;\n visible: boolean;\n children?: ReactNode;\n}\n\nexport function useTooltip(\n childProps: ChildProps,\n childRef: Ref<HTMLElement> | undefined,\n tooltipProps: HTMLAttributes<HTMLElement> & { label?: ReactNode }\n): [ChildProps, InjectedTooltipProps] {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onKeyDown,\n onFocus,\n onBlur,\n } = childProps;\n const anchorEl = useRef<HTMLElement>(null);\n const [visible, setVisible] = useState(false);\n const id = useId();\n\n useEffect(() => {\n subscription.subscribe(() => {\n setVisible(\n (state.current.state === Visible ||\n state.current.state === LeavingVisible) &&\n state.current.id === id\n );\n });\n }, [id]);\n\n function handleMouseEnter() {\n send(MouseEnter, { id });\n }\n\n function handleMouseMove() {\n send(MouseMove, { id });\n }\n\n function handleMouseLeave() {\n send(MouseLeave);\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.current.id === id) {\n send(MouseDown);\n }\n }\n\n function handleFocus() {\n send(Focus, { id });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.current.id === id) {\n send(Blur, undefined);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLElement>) {\n if (event.key === 'Enter' || event.key === ' ') {\n send(SelectWithKeyboard);\n }\n }\n\n const {\n label: children,\n onMouseEnter: tooltipOnMouseEnter,\n onMouseLeave: tooltipOnMouseLeave,\n onMouseMove: tooltipOnMouseMove,\n ...otherTooltipProps\n } = tooltipProps;\n\n const tooltipId = `tooltip-${id}`;\n return [\n {\n ...childProps,\n ref: assignMultipleRefs(childRef, anchorEl),\n ...(visible &&\n !childProps['aria-label'] && { 'aria-describedby': tooltipId }),\n onMouseEnter: wrapEvent(onMouseEnter, handleMouseEnter),\n onMouseLeave: wrapEvent(onMouseLeave, handleMouseLeave),\n onMouseMove: wrapEvent(onMouseMove, handleMouseMove),\n onMouseDown: wrapEvent(onMouseDown, handleMouseDown),\n onFocus: wrapEvent(onFocus, handleFocus),\n onBlur: wrapEvent(onBlur, handleBlur),\n onKeyDown: wrapEvent(onKeyDown, handleKeyDown),\n },\n {\n id: tooltipId,\n anchorEl,\n visible,\n children,\n onMouseEnter: wrapEvent(tooltipOnMouseEnter, handleMouseEnter),\n onMouseLeave: wrapEvent(tooltipOnMouseLeave, handleMouseLeave),\n onMouseMove: wrapEvent(tooltipOnMouseMove, handleMouseMove),\n role: 'tooltip',\n ...otherTooltipProps,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useAutoFocus';\nexport * from './useControlledState';\nexport * from './useChildrenCounter';\nexport * from './useFocusReturn';\nexport * from './useFocusState';\nexport * from './useOnClickOutside';\nexport * from './useOnKeyDown';\nexport * from './useReducerMachine';\nexport * from './useRemoveBodyScroll';\nexport * from './useThrottle';\nexport * from './useMeasure';\nexport * from './useGestureHandlers';\nexport * from './useScope';\n"],"mappings":"AAAA,cAAc,gBAAd;AACA,cAAc,sBAAd;AACA,cAAc,sBAAd;AACA,cAAc,kBAAd;AACA,cAAc,iBAAd;AACA,cAAc,qBAAd;AACA,cAAc,gBAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,eAAd;AACA,cAAc,cAAd;AACA,cAAc,sBAAd;AACA,cAAc,YAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useAutoFocus';\nexport * from './useControlledState';\nexport * from './useChildrenCounter';\nexport * from './useFocusReturn';\nexport * from './useFocusState';\nexport * from './useOnClickOutside';\nexport * from './useOnKeyDown';\nexport * from './useReducerMachine';\nexport * from './useRemoveBodyScroll';\nexport * from './useThrottle';\nexport * from './useMeasure';\nexport * from './useGestureHandlers';\nexport * from './useScope';\n"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,sBAAsB;AACpC,cAAc,YAAY","ignoreList":[]}