"use strict";
exports.__esModule = true;
exports.Calendar = exports.cnCalendar = void 0;
var tslib_1 = require("tslib");
require("./Calendar.css");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var bem_1 = require("../../utils/bem");
var getSizeByMap_1 = require("../../utils/getSizeByMap");
var CalendarViewOneMonth_1 = require("./CalendarViewOneMonth/CalendarViewOneMonth");
var helpers_1 = require("./helpers");
exports.cnCalendar = (0, bem_1.cn)('Calendar');
var viewMap = {
    oneMonth: CalendarViewOneMonth_1.CalendarViewOneMonth
};
exports.Calendar = react_1["default"].forwardRef(function (props, ref) {
    var _a = props.view, view = _a === void 0 ? helpers_1.calendarPropViewDefault : _a, className = props.className, otherProps = (0, tslib_1.__rest)(props, ["view", "className"]);
    var ViewComponent = (0, getSizeByMap_1.getSizeByMap)(viewMap, view);
    return react_1["default"].createElement(ViewComponent, (0, tslib_1.__assign)({}, otherProps, { ref: ref, className: (0, exports.cnCalendar)(null, [className]) }));
});
(0, tslib_1.__exportStar)(require("./Calendar\u0421ell/Calendar\u0421ell"), exports);
(0, tslib_1.__exportStar)(require("./CalendarDay/CalendarDay"), exports);
(0, tslib_1.__exportStar)(require("./CalendarMonth/CalendarMonth"), exports);
(0, tslib_1.__exportStar)(require("./CalendarMonthLabel/CalendarMonthLabel"), exports);
(0, tslib_1.__exportStar)(require("./CalendarMonthToggler/CalendarMonthToggler"), exports);
(0, tslib_1.__exportStar)(require("./CalendarViewOneMonth/CalendarViewOneMonth"), exports);
