UNPKG

@nex-ui/react

Version:

🎉 A beautiful, modern, and reliable React component library.

38 lines (35 loc) • 1.11 kB
"use client"; import { jsx } from 'react/jsx-runtime'; import { useId, useMemo } from 'react'; import { PopoverProvider } from './PopoverContext.mjs'; import { useDefaultProps } from '../utils/useDefaultProps.mjs'; import { Popper } from '../popper/Popper.mjs'; const Popover = (inProps)=>{ const props = useDefaultProps({ name: 'Popover', props: inProps }); const id = useId(); const { children, open, defaultOpen, onOpenChange, openDelay = 0, closeDelay = 0, id: idProp, ...remainingProps } = props; const rootId = idProp ?? `nui-popover-${id}`; const ctx = useMemo(()=>({ id: rootId, ...remainingProps }), [ remainingProps, rootId ]); return /*#__PURE__*/ jsx(Popper, { open: open, openDelay: openDelay, closeDelay: closeDelay, defaultOpen: defaultOpen, onOpenChange: onOpenChange, children: /*#__PURE__*/ jsx(PopoverProvider, { value: ctx, children: children }) }); }; Popover.displayName = 'Popover'; export { Popover };