@ariakit/react-core
Version:
Ariakit React core
95 lines (93 loc) • 2.55 kB
JavaScript
"use client";
import {
usePopover
} from "../__chunks/4Z6JSVUY.js";
import "../__chunks/2S4Q4M35.js";
import "../__chunks/SWBQ42SL.js";
import "../__chunks/AOQQTIBO.js";
import "../__chunks/5M6RIVE2.js";
import "../__chunks/IEBFIEPB.js";
import "../__chunks/RBTTLCIN.js";
import "../__chunks/UG4JNWMY.js";
import "../__chunks/6GXEOXGT.js";
import "../__chunks/Y7OMCS5T.js";
import "../__chunks/HLTQOHKZ.js";
import "../__chunks/DJAL6CN3.js";
import "../__chunks/NQXOL4RD.js";
import "../__chunks/NE2XEEQN.js";
import "../__chunks/CZ4GFWYL.js";
import "../__chunks/Z5GCVBAY.js";
import "../__chunks/IGR4SXG2.js";
import "../__chunks/677M2CI3.js";
import "../__chunks/S7U6BLGA.js";
import "../__chunks/LVVSG7VH.js";
import "../__chunks/3NDVDEB4.js";
import "../__chunks/AOUGVQZ3.js";
import "../__chunks/K2ZF5NU7.js";
import "../__chunks/63XF7ACK.js";
import "../__chunks/HAX24JB7.js";
import "../__chunks/5NIUVND5.js";
import "../__chunks/33YRLYNQ.js";
import "../__chunks/HIN2NSI2.js";
import "../__chunks/MWF5B7KS.js";
import "../__chunks/63N3TCQX.js";
import "../__chunks/FFSBKSAM.js";
import "../__chunks/US3TW2XI.js";
import "../__chunks/SWN3JYXT.js";
import "../__chunks/Q3KUZPD7.js";
import {
createElement,
createHook,
forwardRef
} from "../__chunks/ILRXHV7V.js";
import {
useEvent
} from "../__chunks/K2XTQB3X.js";
import "../__chunks/YXGXYGQX.js";
// src/composite/composite-overflow.tsx
var TagName = "div";
var hiddenStyle = {
opacity: 0,
pointerEvents: "none"
};
var useCompositeOverflow = createHook(function useCompositeOverflow2({
store,
wrapperProps: wrapperPropsProp,
portal = false,
...props
}) {
const onFocusProp = props.onFocus;
const onFocus = useEvent((event) => {
onFocusProp == null ? void 0 : onFocusProp(event);
if (event.defaultPrevented) return;
store.show();
});
const mounted = store.useState("mounted");
const getStyle = (styleProp) => mounted ? styleProp : { ...hiddenStyle, ...styleProp };
const wrapperProps = {
...wrapperPropsProp,
style: getStyle(wrapperPropsProp == null ? void 0 : wrapperPropsProp.style)
};
props = {
role: "presentation",
...props,
onFocus
};
props = usePopover({
store,
focusable: false,
alwaysVisible: true,
wrapperProps,
portal,
...props
});
return props;
});
var CompositeOverflow = forwardRef(function CompositeOverflow2(props) {
const htmlProps = useCompositeOverflow(props);
return createElement(TagName, htmlProps);
});
export {
CompositeOverflow,
useCompositeOverflow
};