@ozen-ui/kit
Version:
React component library
32 lines (31 loc) • 2.91 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Drawer = exports.cnDrawer = void 0;
var tslib_1 = require("tslib");
require("./Drawer.css");
var react_1 = tslib_1.__importStar(require("react"));
var icons_1 = require("@ozen-ui/icons");
var useDeprecated_1 = require("../../hooks/useDeprecated");
var useThemeProps_1 = require("../../hooks/useThemeProps");
var classname_1 = require("../../utils/classname");
var IconButtonNext_1 = require("../IconButtonNext");
var Modal_1 = require("../Modal");
var constants_1 = require("./constants");
var utils_1 = require("./utils");
exports.cnDrawer = (0, classname_1.cn)('Drawer');
/**
* @deprecated Компонент устарел. Для замены используйте компонент DrawerNext
*/
exports.Drawer = (0, react_1.forwardRef)(function (inProps, ref) {
(0, useDeprecated_1.useDeprecatedComponent)('Drawer');
var props = (0, useThemeProps_1.useThemeProps)({
props: inProps,
name: 'Drawer',
});
var _a = props.variant, variant = _a === void 0 ? constants_1.DRAWER_DEFAULT_VARIANT : _a, _b = props.size, size = _b === void 0 ? constants_1.DRAWER_DEFAULT_SIZE : _b, _c = props.placement, placement = _c === void 0 ? constants_1.DRAWER_DEFAULT_PLACEMENT : _c, _d = props.hideCloseButton, hideCloseButton = _d === void 0 ? constants_1.DRAWER_DEFAULT_HIDE_CLOSE_BUTTON : _d, open = props.open, onClose = props.onClose, children = props.children, className = props.className, windowProps = props.windowProps, transitionProps = props.transitionProps, closeButtonProps = props.closeButtonProps, other = tslib_1.__rest(props, ["variant", "size", "placement", "hideCloseButton", "open", "onClose", "children", "className", "windowProps", "transitionProps", "closeButtonProps"]);
var _e = closeButtonProps || {}, closeButtonClassName = _e.className, closeButtonRestProps = tslib_1.__rest(_e, ["className"]);
return (react_1.default.createElement(Modal_1.Modal, tslib_1.__assign({}, other, { open: open, onClose: onClose, windowProps: tslib_1.__assign({ radius: size === 's' ? 'l' : 'xl', shadow: 'l' }, windowProps), className: (0, exports.cnDrawer)({ variant: variant, size: size, placement: placement, hasCloseButton: !hideCloseButton }, [className]), transitionProps: tslib_1.__assign({ classNames: (0, exports.cnDrawer)({ animation: true }) }, transitionProps), ref: ref }),
!hideCloseButton && (react_1.default.createElement(IconButtonNext_1.IconButton, tslib_1.__assign({ size: utils_1.iconButtonSizeMapper[size], variant: "ghost", name: "close" }, closeButtonRestProps, { className: (0, exports.cnDrawer)('CloseButton', [closeButtonClassName]), onClick: onClose, icon: icons_1.CrossIcon, compressed: true }))),
react_1.default.createElement("div", { className: (0, exports.cnDrawer)('InnerContainer') }, children)));
});
exports.Drawer.displayName = 'Drawer';