@ariakit/react-core
Version:
Ariakit React core
132 lines (111 loc) • 4.44 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _SCVBAQZ5cjs = require('../__chunks/SCVBAQZ5.cjs');
var _S45EGDDBcjs = require('../__chunks/S45EGDDB.cjs');
require('../__chunks/L6CLLK7R.cjs');
require('../__chunks/6F6SPO63.cjs');
require('../__chunks/LNC7ZL3H.cjs');
var _5XOEJL7Acjs = require('../__chunks/5XOEJL7A.cjs');
require('../__chunks/Y7XCL7GY.cjs');
require('../__chunks/UI5KWBYV.cjs');
require('../__chunks/L634CRNJ.cjs');
require('../__chunks/RDDLXR5T.cjs');
require('../__chunks/EQD56WGF.cjs');
require('../__chunks/LMAY3X4U.cjs');
require('../__chunks/W32FX7DM.cjs');
require('../__chunks/HIRVBNBX.cjs');
require('../__chunks/ENNAUHNH.cjs');
require('../__chunks/FW2GMPNK.cjs');
require('../__chunks/XYFLKFU6.cjs');
require('../__chunks/VC5V2CPO.cjs');
require('../__chunks/JLMLKTUB.cjs');
require('../__chunks/LCWSLOYU.cjs');
require('../__chunks/V7JASX7S.cjs');
require('../__chunks/56NPFF7P.cjs');
require('../__chunks/GASMO7Y4.cjs');
require('../__chunks/6IDGXS7Y.cjs');
require('../__chunks/26P4PLHI.cjs');
require('../__chunks/YVOQ2BCB.cjs');
require('../__chunks/4SKDRUBR.cjs');
require('../__chunks/AQ2LO7WV.cjs');
require('../__chunks/VIIJ4PIK.cjs');
require('../__chunks/FMHXK2IU.cjs');
require('../__chunks/6PUNKVPO.cjs');
require('../__chunks/FCZ3IGUB.cjs');
require('../__chunks/ZVJRPAXY.cjs');
require('../__chunks/YDPERDKF.cjs');
require('../__chunks/KVXNVDJK.cjs');
require('../__chunks/YUGKYIYY.cjs');
require('../__chunks/T3QB4FR3.cjs');
require('../__chunks/25BPIGZH.cjs');
var _WULEED4Qcjs = require('../__chunks/WULEED4Q.cjs');
var _OZM4QA2Vcjs = require('../__chunks/OZM4QA2V.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 = _WULEED4Qcjs.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 = _SCVBAQZ5cjs.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 = _OZM4QA2Vcjs.useWrapElement.call(void 0,
props,
(element) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _SCVBAQZ5cjs.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 = _S45EGDDBcjs.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 = _5XOEJL7Acjs.createDialogComponent.call(void 0,
_WULEED4Qcjs.forwardRef.call(void 0, function Tooltip2(props) {
const htmlProps = useTooltip(props);
return _WULEED4Qcjs.createElement.call(void 0, TagName, htmlProps);
}),
_SCVBAQZ5cjs.useTooltipProviderContext
);
exports.Tooltip = Tooltip; exports.useTooltip = useTooltip;