/**
 * DevExtreme (esm/__internal/scheduler/r1/components/month/date_table_month.js)
 * Version: 23.2.6 (build 24140-0112)
 * Build date: Sun May 19 2024
 *
 * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
 * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
 */
import _extends from "@babel/runtime/helpers/esm/extends";
import {
    createComponentVNode,
    normalizeProps
} from "inferno";
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 (null != s && "function" === typeof Object.getOwnPropertySymbols) {
        var i = 0;
        for (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 {
    createReRenderEffect,
    InfernoWrapperComponent
} from "@devextreme/runtime/inferno";
import {
    getTemplate
} from "../../../../core/r1/utils/index";
import {
    DateTable,
    DateTableDefaultProps
} from "../base/date_table";
import {
    DateTableMonthCell
} from "./date_table_month_cell";
export class DateTableMonth extends InfernoWrapperComponent {
    createEffects() {
        return [createReRenderEffect()]
    }
    render() {
        var _a = this.props,
            {
                addDateTableClass: addDateTableClass,
                addVerticalSizesClassToRows: addVerticalSizesClassToRows,
                dataCellTemplate: dataCellTemplate,
                groupOrientation: groupOrientation,
                tableRef: tableRef,
                viewData: viewData,
                width: width
            } = _a,
            restProps = __rest(_a, ["addDateTableClass", "addVerticalSizesClassToRows", "dataCellTemplate", "groupOrientation", "tableRef", "viewData", "width"]);
        var DataCellTemplateComponent = getTemplate(dataCellTemplate);
        return normalizeProps(createComponentVNode(2, DateTable, _extends({}, restProps, {
            viewData: viewData,
            groupOrientation: groupOrientation,
            addDateTableClass: addDateTableClass,
            dataCellTemplate: DataCellTemplateComponent,
            cellTemplate: DateTableMonthCell,
            tableRef: tableRef,
            addVerticalSizesClassToRows: addVerticalSizesClassToRows,
            width: width
        })))
    }
}
DateTableMonth.defaultProps = DateTableDefaultProps;
