@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
40 lines (36 loc) • 1.19 kB
JavaScript
"use client";
;
var jsxRuntime = require('react/jsx-runtime');
var react = require('react');
var PopoverContext = require('./PopoverContext.cjs');
var useDefaultProps = require('../utils/useDefaultProps.cjs');
var Popper = require('../popper/Popper.cjs');
const Popover = (inProps)=>{
const props = useDefaultProps.useDefaultProps({
name: 'Popover',
props: inProps
});
const id = react.useId();
const { children, open, defaultOpen, onOpenChange, openDelay = 0, closeDelay = 0, id: idProp, ...remainingProps } = props;
const rootId = idProp ?? `nui-popover-${id}`;
const ctx = react.useMemo(()=>({
id: rootId,
...remainingProps
}), [
remainingProps,
rootId
]);
return /*#__PURE__*/ jsxRuntime.jsx(Popper.Popper, {
open: open,
openDelay: openDelay,
closeDelay: closeDelay,
defaultOpen: defaultOpen,
onOpenChange: onOpenChange,
children: /*#__PURE__*/ jsxRuntime.jsx(PopoverContext.PopoverProvider, {
value: ctx,
children: children
})
});
};
Popover.displayName = 'Popover';
exports.Popover = Popover;