UNPKG

@ariakit/react-core

Version:

Ariakit React core

124 lines (105 loc) 4.11 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _RIE6SJH7cjs = require('../__chunks/RIE6SJH7.cjs'); var _VESZKTSJcjs = require('../__chunks/VESZKTSJ.cjs'); require('../__chunks/RF45TVVP.cjs'); require('../__chunks/YYY7KD73.cjs'); require('../__chunks/XPWK4QRC.cjs'); var _6SC6IEJJcjs = require('../__chunks/6SC6IEJJ.cjs'); require('../__chunks/6NFJUQ7Q.cjs'); require('../__chunks/UI5KWBYV.cjs'); require('../__chunks/L634CRNJ.cjs'); require('../__chunks/3PV6Y4XH.cjs'); require('../__chunks/WWNMQZJA.cjs'); require('../__chunks/CXFFS6H4.cjs'); require('../__chunks/W32FX7DM.cjs'); require('../__chunks/ERSQB5XO.cjs'); require('../__chunks/5RIUFRY2.cjs'); require('../__chunks/HMJY2Y4H.cjs'); require('../__chunks/JQCSYNKY.cjs'); require('../__chunks/MXT5U5PP.cjs'); require('../__chunks/JLMLKTUB.cjs'); require('../__chunks/LCWSLOYU.cjs'); require('../__chunks/V7JASX7S.cjs'); require('../__chunks/56NPFF7P.cjs'); require('../__chunks/GASMO7Y4.cjs'); require('../__chunks/O5T5YIJ4.cjs'); require('../__chunks/26P4PLHI.cjs'); require('../__chunks/YVOQ2BCB.cjs'); require('../__chunks/4SKDRUBR.cjs'); require('../__chunks/AQ2LO7WV.cjs'); require('../__chunks/DRXSFB5O.cjs'); require('../__chunks/EM3Q5QVV.cjs'); require('../__chunks/XRHNSFIK.cjs'); require('../__chunks/4IRVZ6J3.cjs'); require('../__chunks/7X7JMIHX.cjs'); require('../__chunks/WDV6EJ2U.cjs'); require('../__chunks/VFNUZFXS.cjs'); require('../__chunks/BB34VMZX.cjs'); require('../__chunks/T3QB4FR3.cjs'); var _RDNUVX4Vcjs = require('../__chunks/RDNUVX4V.cjs'); var _SQLDFLTEcjs = require('../__chunks/SQLDFLTE.cjs'); var _4KGS3DOWcjs = require('../__chunks/4KGS3DOW.cjs'); require('../__chunks/TWX5YNTH.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 = _SQLDFLTEcjs.createHook.call(void 0, function useTooltip2({ store, portal = true, gutter = 8, preserveTabOrder = false, hideOnHoverOutside = true, hideOnInteractOutside = true, ...props }) { const context = _RIE6SJH7cjs.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 = _4KGS3DOWcjs.useWrapElement.call(void 0, props, (element) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _RIE6SJH7cjs.TooltipScopedContextProvider, { value: store, children: element }), [store] ); const role = _RDNUVX4Vcjs.useStoreState.call(void 0, store, (state) => state.type === "description" ? "tooltip" : "none" ); props = { role, ...props }; props = _VESZKTSJcjs.useHovercard.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 = _6SC6IEJJcjs.createDialogComponent.call(void 0, _SQLDFLTEcjs.forwardRef.call(void 0, function Tooltip2(props) { const htmlProps = useTooltip(props); return _SQLDFLTEcjs.createElement.call(void 0, TagName, htmlProps); }), _RIE6SJH7cjs.useTooltipProviderContext ); exports.Tooltip = Tooltip; exports.useTooltip = useTooltip;