UNPKG

reakit

Version:

Toolkit for building accessible rich web apps with React

72 lines (64 loc) 3.38 kB
import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js'; import { createComponent } from 'reakit-system/createComponent'; import { createHook } from 'reakit-system/createHook'; import 'reakit-utils/shallowEqual'; import { useCallback } from 'react'; import { useForkRef } from 'reakit-utils/useForkRef'; import { useLiveRef } from 'reakit-utils/useLiveRef'; import { useRole } from '../Role/Role.js'; import { b as TOOLTIP_REFERENCE_KEYS } from '../__keys-d101cb3b.js'; var useTooltipReference = createHook({ name: "TooltipReference", compose: useRole, keys: TOOLTIP_REFERENCE_KEYS, useProps: function useProps(options, _ref) { var htmlRef = _ref.ref, htmlOnFocus = _ref.onFocus, htmlOnBlur = _ref.onBlur, htmlOnMouseEnter = _ref.onMouseEnter, htmlOnMouseLeave = _ref.onMouseLeave, htmlProps = _objectWithoutPropertiesLoose(_ref, ["ref", "onFocus", "onBlur", "onMouseEnter", "onMouseLeave"]); var onFocusRef = useLiveRef(htmlOnFocus); var onBlurRef = useLiveRef(htmlOnBlur); var onMouseEnterRef = useLiveRef(htmlOnMouseEnter); var onMouseLeaveRef = useLiveRef(htmlOnMouseLeave); var onFocus = useCallback(function (event) { var _onFocusRef$current, _options$show; (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event); if (event.defaultPrevented) return; (_options$show = options.show) === null || _options$show === void 0 ? void 0 : _options$show.call(options); }, [options.show]); var onBlur = useCallback(function (event) { var _onBlurRef$current, _options$hide; (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event); if (event.defaultPrevented) return; (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options); }, [options.hide]); var onMouseEnter = useCallback(function (event) { var _onMouseEnterRef$curr, _options$show2; (_onMouseEnterRef$curr = onMouseEnterRef.current) === null || _onMouseEnterRef$curr === void 0 ? void 0 : _onMouseEnterRef$curr.call(onMouseEnterRef, event); if (event.defaultPrevented) return; (_options$show2 = options.show) === null || _options$show2 === void 0 ? void 0 : _options$show2.call(options); }, [options.show]); var onMouseLeave = useCallback(function (event) { var _onMouseLeaveRef$curr, _options$hide2; (_onMouseLeaveRef$curr = onMouseLeaveRef.current) === null || _onMouseLeaveRef$curr === void 0 ? void 0 : _onMouseLeaveRef$curr.call(onMouseLeaveRef, event); if (event.defaultPrevented) return; (_options$hide2 = options.hide) === null || _options$hide2 === void 0 ? void 0 : _options$hide2.call(options); }, [options.hide]); return _objectSpread2({ ref: useForkRef(options.unstable_referenceRef, htmlRef), tabIndex: 0, onFocus: onFocus, onBlur: onBlur, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, "aria-describedby": options.baseId }, htmlProps); } }); var TooltipReference = createComponent({ as: "div", useHook: useTooltipReference }); export { TooltipReference, useTooltipReference };