var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import React, { useContext } from 'react';
import { Modal } from '../Modal/index.js';
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
import { getMiniModalTheme } from './getMiniModalTheme.js';
import { MiniModalFooter } from './MiniModalFooter.js';
import { MiniModalHeader } from './MiniModalHeader.js';
import { MiniModalBody } from './MiniModalBody.js';
import { MiniModalIndent } from './MiniModalIndent.js';
export var MiniModalDataTids = {
    icon: 'MiniModal__icon',
    title: 'MiniModal__title',
    description: 'MiniModal__description',
    actions: 'MiniModal__actions',
    indent: 'MiniModal__indent',
};
/**
 * `MiniModal` — модальное диалоговое окно, которое предполагает обязательный отклик пользователя по одному из доступных действий. Обёртка над Modal.
 * Закрытие окна по клику на фон или "крестик" не рекомендуется, т.к. у этих действий нет однозначного описания в отличие от кнопок с названиями, наподобие "Сохранить", "Подтвердить" и т.п.
 *
 * По макету предполагается, что все кнопки должны быть среднего размера `size = medium`.
 */
export var MiniModal = forwardRefAndName('MiniModal', function (_a, ref) {
    var children = _a.children, propsTheme = _a.theme, mobileAppearance = _a.mobileAppearance, rest = __rest(_a, ["children", "theme", "mobileAppearance"]);
    var contextTheme = useContext(ThemeContext);
    return (React.createElement(ThemeContext.Provider, { value: getMiniModalTheme(contextTheme, propsTheme) },
        React.createElement(Modal, __assign({ width: 400, mobileAppearance: mobileAppearance !== null && mobileAppearance !== void 0 ? mobileAppearance : 'center', noClose: true, ref: ref }, rest), children)));
});
MiniModal.Header = MiniModalHeader;
MiniModal.Footer = MiniModalFooter;
MiniModal.Indent = MiniModalIndent;
MiniModal.Body = MiniModalBody;
//# sourceMappingURL=MiniModal.js.map