@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
34 lines • 1.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Drawer = exports.DrawerUnControlled = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const drawerControlled_1 = require("./drawerControlled");
const DrawerUnControlledComponent = ({ defaultOpen = true, closeIcon, popover, onOpenClose, ...props }, ref) => {
const [open, setOpen] = react_1.default.useState(defaultOpen);
// Popover could close when pressing scape or clicking outside
const handleCloseDrawer = () => {
setOpen(prevOpen => {
if (prevOpen) {
onOpenClose?.(false);
}
return false;
});
};
const handleCloseIconClick = e => {
handleCloseDrawer();
closeIcon?.onClick?.(e);
};
const handlePopoverCloseInternally = () => {
handleCloseDrawer();
popover?.onCloseInternally?.();
};
return ((0, jsx_runtime_1.jsx)(drawerControlled_1.DrawerControlled, { ...props, ref: ref, closeIcon: { ...closeIcon, onClick: handleCloseIconClick }, open: open, popover: { ...popover, onCloseInternally: handlePopoverCloseInternally } }));
};
const DrawerUnControlled = react_1.default.forwardRef(DrawerUnControlledComponent);
exports.DrawerUnControlled = DrawerUnControlled;
exports.Drawer = DrawerUnControlled;
//# sourceMappingURL=drawerUnControlled.js.map