@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
34 lines (30 loc) • 995 B
JavaScript
"use client";
;
var jsxRuntime = require('react/jsx-runtime');
var styled = require('@nex-ui/styled');
var hooks = require('@nex-ui/hooks');
var ModalContext = require('./ModalContext.cjs');
var modal = require('../../theme/recipes/modal.cjs');
var useSlotProps = require('../utils/useSlotProps.cjs');
const style = modal.modalPanelRecipe();
const ModalPanel = (inProps)=>{
const { closeOnInteractOutside, setOpen } = ModalContext.useModal();
const props = inProps;
const handleClick = hooks.useEvent((e)=>{
if (closeOnInteractOutside && e.target === e.currentTarget) {
setOpen(false);
}
});
const rootProps = useSlotProps.useSlotProps({
style,
externalForwardedProps: props,
additionalProps: {
onClick: handleClick
}
});
return /*#__PURE__*/ jsxRuntime.jsx(styled.nex.div, {
...rootProps
});
};
ModalPanel.displayName = 'ModalPanel';
exports.ModalPanel = ModalPanel;