UNPKG

@nex-ui/react

Version:

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

34 lines (31 loc) • 975 B
"use client"; import { jsx } from 'react/jsx-runtime'; import { useMemo } from 'react'; import { usePopover } from './PopoverContext.mjs'; import { PopperTrigger } from '../popper/PopperTrigger.mjs'; import { usePopper } from '../popper/PopperContext.mjs'; const useAriaProps = ()=>{ const { id, keepMounted } = usePopover(); const { open } = usePopper(); return useMemo(()=>({ 'aria-haspopup': 'dialog', 'aria-expanded': open, 'aria-controls': open || keepMounted ? id : undefined }), [ id, keepMounted, open ]); }; const PopoverTrigger = ({ children, closeOnClick })=>{ const ariaProps = useAriaProps(); return /*#__PURE__*/ jsx(PopperTrigger, { interactive: true, action: "click", closeOnClick: closeOnClick, elementProps: ariaProps, children: children }); }; PopoverTrigger.displayName = 'PopoverTrigger'; export { PopoverTrigger };