@ozen-ui/kit
Version:
React component library
36 lines (35 loc) • 2.9 kB
JavaScript
"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';