/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import * as tslib_1 from "tslib";
import { Base, String_$type, markType } from "./type";
import { Dictionary$2 } from "./Dictionary$2";
import { SelectedValueChangedEventArgsDescriptionMetadata } from "./SelectedValueChangedEventArgsDescriptionMetadata";
import { CalendarDescription } from "./CalendarDescription";
/**
 * @hidden
 */
var CalendarDescriptionMetadata = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(CalendarDescriptionMetadata, _super);
    function CalendarDescriptionMetadata() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    CalendarDescriptionMetadata.b = function (a) {
        if (CalendarDescriptionMetadata.a == null) {
            CalendarDescriptionMetadata.a = new Dictionary$2(String_$type, String_$type, 0);
            CalendarDescriptionMetadata.c(CalendarDescriptionMetadata.a);
        }
        if (a.g(CalendarDescriptionMetadata.a)) {
            return;
        }
        a.s(CalendarDescriptionMetadata.a);
        SelectedValueChangedEventArgsDescriptionMetadata.d(a);
    };
    CalendarDescriptionMetadata.c = function (a) {
        a.item("__qualifiedNameTS", "String:XCalendar");
        a.item("Value", "Date");
        a.item("Today", "Date");
        a.item("MinDate", "Date");
        a.item("MaxDate", "Date");
        a.item("Density", "ExportedType:string:ControlDisplayDensity");
        a.item("Density@names", "Auto;Comfortable;Cosy;Compact");
        a.item("BaseTheme", "ExportedType:string:BaseControlTheme");
        a.item("BaseTheme@names", "Default;DenaliLight;MaterialLight");
        a.item("BackgroundColor", "Brush");
        a.item("SelectedDateBackgroundColor", "Brush");
        a.item("SelectedFocusDateBackgroundColor", "Brush");
        a.item("FocusDateBackgroundColor", "Brush");
        a.item("HoverBackgroundColor", "Brush");
        a.item("TextColor", "Brush");
        a.item("SelectedDateTextColor", "Brush");
        a.item("FocusDateTextColor", "Brush");
        a.item("CurrentDateTextColor", "Brush");
        a.item("CurrentDateBorderColor", "Brush");
        a.item("ShowTodayButton", "Boolean");
        a.item("FontFamily", "(w:FontFamily/FontFamilyTransform,xam:FontFamily,wf:FontFamily,web:textStyle/FontFamilyTransform)String");
        a.item("FontSize", "(w:FontSize,xam:FontSize,wf:FontSize,web:textStyle/FontSizeTransform)Number:double");
        a.item("FontStyle", "(w:FontStyle/FontStyleTransform,xam:FontFamily/FontStyleTransform,wf:FontFamily/FontStyleTransform,web:textStyle/FontStyleTransform)String");
        a.item("FontWeight", "(w:FontWeight/FontWeightTransform,xam:FontFamily/FontWeightTransform,wf:FontFamily/FontWeightTransform,web:textStyle/FontWeightTransform)String");
        a.item("FirstDayOfWeek", "ExportedType:string:DayOfWeek");
        a.item("FirstDayOfWeek@names", "Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday");
        a.item("FirstWeekOfYear", "ExportedType:string:FirstWeek");
        a.item("FirstWeekOfYear@names", "FirstDay;FirstFullWeek;FirstFourDayWeek");
        a.item("ShowWeekNumbers", "Boolean");
        a.item("SelectedValueChangedRef", "EventRef::selectedValueChanged");
        a.item("ValueChangeRef", "EventRef::valueChange");
    };
    CalendarDescriptionMetadata.d = function (a) {
        CalendarDescriptionMetadata.b(a);
        a.u("Calendar", function () { return new CalendarDescription(); });
        a.t("Calendar", CalendarDescriptionMetadata.a);
    };
    CalendarDescriptionMetadata.$t = markType(CalendarDescriptionMetadata, 'CalendarDescriptionMetadata');
    CalendarDescriptionMetadata.a = null;
    return CalendarDescriptionMetadata;
}(Base));
export { CalendarDescriptionMetadata };
