@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
36 lines (32 loc) • 1.07 kB
JavaScript
"use client";
;
var jsxRuntime = require('react/jsx-runtime');
var react = require('react');
var PopoverContext = require('./PopoverContext.cjs');
var PopperTrigger = require('../popper/PopperTrigger.cjs');
var PopperContext = require('../popper/PopperContext.cjs');
const useAriaProps = ()=>{
const { id, keepMounted } = PopoverContext.usePopover();
const { open } = PopperContext.usePopper();
return react.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__*/ jsxRuntime.jsx(PopperTrigger.PopperTrigger, {
interactive: true,
action: "click",
closeOnClick: closeOnClick,
elementProps: ariaProps,
children: children
});
};
PopoverTrigger.displayName = 'PopoverTrigger';
exports.PopoverTrigger = PopoverTrigger;