UNPKG

@yandex/ui

Version:

Yandex UI components

34 lines (33 loc) 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MessageBox = exports.cnMessageBox = exports.Wrapper = exports.Corner = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var classname_1 = require("@bem-react/classname"); var MessageBox_Close_1 = require("./Close/MessageBox-Close"); var MessageBox_Buttons_1 = require("./Buttons/MessageBox-Buttons"); var MessageBox_Tail_1 = require("./Tail/MessageBox-Tail"); require("./MessageBox.css"); var MessageBox_Corner_1 = require("./Corner/MessageBox-Corner"); Object.defineProperty(exports, "Corner", { enumerable: true, get: function () { return MessageBox_Corner_1.MessageBoxCorner; } }); var MessageBox_TextWrap_1 = require("./TextWrap/MessageBox-TextWrap"); Object.defineProperty(exports, "Wrapper", { enumerable: true, get: function () { return MessageBox_TextWrap_1.MessageBoxTextWrap; } }); exports.cnMessageBox = classname_1.cn('MessageBox'); /** * Визуальный компонент для уведомлений, плашек и других паттернов. * @param {MessageBoxProps} props */ var MessageBox = function (_a) { var actions = _a.actions, background = _a.background, children = _a.children, className = _a.className, corner = _a.corner, hasTail = _a.hasTail, innerRef = _a.innerRef, _b = _a.layout, layout = _b === void 0 ? 'plain' : _b, onClose = _a.onClose, opaque = _a.opaque, tailRef = _a.tailRef, _c = _a.tailType, tailType = _c === void 0 ? 'default' : _c; return (react_1.default.createElement("div", { className: exports.cnMessageBox({ opaque: opaque, layout: layout, hasClose: Boolean(onClose) }, [className]), ref: innerRef }, react_1.default.createElement("div", { className: exports.cnMessageBox('Backdrop') }, hasTail && react_1.default.createElement(MessageBox_Tail_1.MessageBoxTail, { innerRef: tailRef, tailType: tailType }), background && react_1.default.createElement("div", { className: exports.cnMessageBox('Background') }, background)), react_1.default.createElement("div", { className: exports.cnMessageBox('Content') }, children, onClose && react_1.default.createElement(MessageBox_Close_1.MessageBoxClose, { onClick: onClose })), actions && react_1.default.createElement(MessageBox_Buttons_1.MessageBoxButtons, null, actions), corner)); }; exports.MessageBox = MessageBox; exports.MessageBox.displayName = 'MessageBox';