@ariakit/react-core
Version:
Ariakit React core
97 lines (95 loc) • 2.58 kB
JavaScript
"use client";
import {
usePopover
} from "../__chunks/AOOXE4FT.js";
import "../__chunks/KOWQMA5P.js";
import "../__chunks/27UGDV3K.js";
import "../__chunks/AOQQTIBO.js";
import "../__chunks/5M6RIVE2.js";
import "../__chunks/5L75JEQF.js";
import "../__chunks/POCYREJH.js";
import "../__chunks/GDMALITU.js";
import "../__chunks/6GXEOXGT.js";
import "../__chunks/VKPF3GCK.js";
import "../__chunks/R3NHSIAL.js";
import "../__chunks/SUN7W7XS.js";
import "../__chunks/336RKHJD.js";
import "../__chunks/QDZPIHAY.js";
import "../__chunks/CZ4GFWYL.js";
import "../__chunks/Z5GCVBAY.js";
import "../__chunks/IGR4SXG2.js";
import "../__chunks/677M2CI3.js";
import "../__chunks/S7U6BLGA.js";
import "../__chunks/QXEZ5Q7H.js";
import "../__chunks/3NDVDEB4.js";
import "../__chunks/AOUGVQZ3.js";
import "../__chunks/K2ZF5NU7.js";
import "../__chunks/63XF7ACK.js";
import "../__chunks/HIPI64MW.js";
import "../__chunks/NGV5ZW5X.js";
import "../__chunks/H5Z3PUKM.js";
import "../__chunks/AB647VKY.js";
import "../__chunks/467XRHWL.js";
import "../__chunks/2LVHRIRC.js";
import "../__chunks/FYYAZUDI.js";
import "../__chunks/3F6D4KUU.js";
import "../__chunks/SWN3JYXT.js";
import {
useStoreState
} from "../__chunks/SOQQIDO4.js";
import {
createElement,
createHook,
forwardRef
} from "../__chunks/L4OUMOCQ.js";
import {
useEvent
} from "../__chunks/W2TDKEPX.js";
import "../__chunks/AZVQSWGA.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 = useStoreState(store, "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
};