flexacore-ui-dev
Version:
Universal UI Framework for CDN, React, Angular, Vue, Svelte with TypeScript support
33 lines (32 loc) • 1.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FCModal = void 0;
const react_1 = __importDefault(require("react"));
const FCModal = ({ open, onClose, className = '', children, ...rest }) => {
react_1.default.useEffect(() => {
if (open) {
document.body.classList.add('fc-modal-open');
}
else {
document.body.classList.remove('fc-modal-open');
}
return () => {
document.body.classList.remove('fc-modal-open');
};
}, [open]);
return (react_1.default.createElement("div", { className: [
'fc-modal',
open ? 'fc-modal-active' : '',
className
].filter(Boolean).join(' '), tabIndex: -1, role: "dialog", "aria-modal": "true", onClick: e => {
if (e.target === e.currentTarget && onClose)
onClose();
}, ...rest },
react_1.default.createElement("div", { className: "fc-modal-content" },
children,
react_1.default.createElement("button", { className: "fc-modal-close", onClick: onClose, type: "button", "aria-label": "\u0110\u00F3ng" }, "\u00D7"))));
};
exports.FCModal = FCModal;