UNPKG

@ariakit/react-core

Version:

Ariakit React core

132 lines (111 loc) 4.44 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _RTNVWWNMcjs = require('../__chunks/RTNVWWNM.cjs'); var _MHV777VZcjs = require('../__chunks/MHV777VZ.cjs'); require('../__chunks/L6CLLK7R.cjs'); require('../__chunks/KPH4LMZO.cjs'); require('../__chunks/3TETLQVN.cjs'); var _LM5J3TJ3cjs = require('../__chunks/LM5J3TJ3.cjs'); require('../__chunks/IRJEM7JI.cjs'); require('../__chunks/UI5KWBYV.cjs'); require('../__chunks/L634CRNJ.cjs'); require('../__chunks/M6LCPEQR.cjs'); require('../__chunks/Y35J4OLV.cjs'); require('../__chunks/ZEICBQM2.cjs'); require('../__chunks/W32FX7DM.cjs'); require('../__chunks/22BA7ARO.cjs'); require('../__chunks/ENNAUHNH.cjs'); require('../__chunks/EIHHM2LO.cjs'); require('../__chunks/UWFFCHQU.cjs'); require('../__chunks/KNHF6C7N.cjs'); require('../__chunks/JLMLKTUB.cjs'); require('../__chunks/LCWSLOYU.cjs'); require('../__chunks/V7JASX7S.cjs'); require('../__chunks/56NPFF7P.cjs'); require('../__chunks/GASMO7Y4.cjs'); require('../__chunks/XL5ZVDYQ.cjs'); require('../__chunks/26P4PLHI.cjs'); require('../__chunks/YVOQ2BCB.cjs'); require('../__chunks/4SKDRUBR.cjs'); require('../__chunks/AQ2LO7WV.cjs'); require('../__chunks/I3ICHD5K.cjs'); require('../__chunks/T272CHVS.cjs'); require('../__chunks/ZRZUZ7E7.cjs'); require('../__chunks/3YJARQUN.cjs'); require('../__chunks/ZVS6SBRR.cjs'); require('../__chunks/VF7H2WBX.cjs'); require('../__chunks/EJVJIL4S.cjs'); require('../__chunks/PDQXLIRF.cjs'); require('../__chunks/T3QB4FR3.cjs'); require('../__chunks/76LCMKUI.cjs'); var _6TI3NXX6cjs = require('../__chunks/6TI3NXX6.cjs'); var _L5A2ID7Scjs = require('../__chunks/L5A2ID7S.cjs'); require('../__chunks/FDRJDQ5Y.cjs'); var _7EQBAZ46cjs = require('../__chunks/7EQBAZ46.cjs'); // src/tooltip/tooltip.tsx var _dom = require('@ariakit/core/utils/dom'); var _misc = require('@ariakit/core/utils/misc'); var _jsxruntime = require('react/jsx-runtime'); var TagName = "div"; var useTooltip = _6TI3NXX6cjs.createHook.call(void 0, function useTooltip2(_a) { var _b = _a, { store, portal = true, gutter = 8, preserveTabOrder = false, hideOnHoverOutside = true, hideOnInteractOutside = true } = _b, props = _7EQBAZ46cjs.__objRest.call(void 0, _b, [ "store", "portal", "gutter", "preserveTabOrder", "hideOnHoverOutside", "hideOnInteractOutside" ]); const context = _RTNVWWNMcjs.useTooltipProviderContext.call(void 0, ); store = store || context; _misc.invariant.call(void 0, store, process.env.NODE_ENV !== "production" && "Tooltip must receive a `store` prop or be wrapped in a TooltipProvider component." ); props = _L5A2ID7Scjs.useWrapElement.call(void 0, props, (element) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _RTNVWWNMcjs.TooltipScopedContextProvider, { value: store, children: element }), [store] ); const role = store.useState( (state) => state.type === "description" ? "tooltip" : "none" ); props = _7EQBAZ46cjs.__spreadValues.call(void 0, { role }, props); props = _MHV777VZcjs.useHovercard.call(void 0, _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, props), { store, portal, gutter, preserveTabOrder, hideOnHoverOutside(event) { if (_misc.isFalsyBooleanCallback.call(void 0, hideOnHoverOutside, event)) return false; const anchorElement = store == null ? void 0 : store.getState().anchorElement; if (!anchorElement) return true; if ("focusVisible" in anchorElement.dataset) return false; return true; }, hideOnInteractOutside: (event) => { if (_misc.isFalsyBooleanCallback.call(void 0, hideOnInteractOutside, event)) return false; const anchorElement = store == null ? void 0 : store.getState().anchorElement; if (!anchorElement) return true; if (_dom.contains.call(void 0, anchorElement, event.target)) return false; return true; } })); return props; } ); var Tooltip = _LM5J3TJ3cjs.createDialogComponent.call(void 0, _6TI3NXX6cjs.forwardRef.call(void 0, function Tooltip2(props) { const htmlProps = useTooltip(props); return _6TI3NXX6cjs.createElement.call(void 0, TagName, htmlProps); }), _RTNVWWNMcjs.useTooltipProviderContext ); exports.Tooltip = Tooltip; exports.useTooltip = useTooltip;