UNPKG

@ozen-ui/kit

Version:

React component library

36 lines (35 loc) 2.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Dialog = exports.cnDialog = void 0; var tslib_1 = require("tslib"); require("./Dialog.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.cnDialog = (0, classname_1.cn)('Dialog'); /** * @deprecated Компонент устарел. Для замены используйте компонент DialogNext */ exports.Dialog = (0, react_1.forwardRef)(function (inProps, ref) { (0, useDeprecated_1.useDeprecatedComponent)('Dialog'); var props = (0, useThemeProps_1.useThemeProps)({ props: inProps, name: 'Dialog', }); var _a = props.variant, variant = _a === void 0 ? constants_1.DIALOG_DEFAULT_VARIANT : _a, _b = props.size, size = _b === void 0 ? constants_1.DIALOG_DEFAULT_SIZE : _b, _c = props.hideCloseButton, hideCloseButton = _c === void 0 ? constants_1.DIALOG_DEFAULT_HIDE_CLOSE_BUTTON : _c, open = props.open, onClose = props.onClose, children = props.children, className = props.className, windowProps = props.windowProps, closeButtonProps = props.closeButtonProps, transitionProps = props.transitionProps, other = tslib_1.__rest(props, ["variant", "size", "hideCloseButton", "open", "onClose", "children", "className", "windowProps", "closeButtonProps", "transitionProps"]); var _d = closeButtonProps || {}, closeButtonClassName = _d.className, closeButtonRestProps = tslib_1.__rest(_d, ["className"]); return (react_1.default.createElement(Modal_1.Modal, tslib_1.__assign({}, other, { open: open, onClose: onClose, windowProps: tslib_1.__assign({ role: 'dialog', radius: size === 's' ? 'l' : 'xl', shadow: 'l' }, windowProps), className: (0, exports.cnDialog)({ variant: variant, size: size, hasCloseButton: !hideCloseButton }, [ className, ]), transitionProps: tslib_1.__assign(tslib_1.__assign({}, (variant === 'fullsize' && { classNames: (0, exports.cnDialog)({ animation: 'fullsize' }), })), 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.cnDialog)('CloseButton', [closeButtonClassName]), onClick: onClose, icon: icons_1.CrossIcon, compressed: true }))), react_1.default.createElement("div", { className: (0, exports.cnDialog)('InnerContainer') }, children))); }); exports.Dialog.displayName = 'Dialog';