@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
31 lines (27 loc) • 928 B
JavaScript
"use client";
;
var react = require('react');
var ModalContext = require('./ModalContext.cjs');
const ModalClose = ({ children })=>{
const { setOpen } = ModalContext.useModal();
if (!/*#__PURE__*/ react.isValidElement(children)) {
return children;
}
const element = children;
return /*#__PURE__*/ react.cloneElement(element, {
'aria-label': element.props['aria-label'] || 'Close',
onClick: ()=>{
const { onClick } = element.props;
if (onClick) {
const result = onClick();
// Check if the result is a Promise
if (result && result instanceof Promise && typeof result.then === 'function') {
result.then(()=>setOpen(false)).catch(()=>{});
return;
}
}
setOpen(false);
}
});
};
exports.ModalClose = ModalClose;