UNPKG

@ozen-ui/kit

Version:

React component library

32 lines (31 loc) 2.91 kB
"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';