UNPKG

@ariakit/react-core

Version:

Ariakit React core

95 lines (93 loc) 2.55 kB
"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 };