/*
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 { KeyEventArgsDescriptionMetadata } from "./KeyEventArgsDescriptionMetadata";
import { InputChangeEventArgsDescriptionMetadata } from "./InputChangeEventArgsDescriptionMetadata";
import { InputGroupItemDescriptionMetadata } from "./InputGroupItemDescriptionMetadata";
import { InputDescription } from "./InputDescription";
/**
 * @hidden
 */
var InputDescriptionMetadata = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(InputDescriptionMetadata, _super);
    function InputDescriptionMetadata() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    InputDescriptionMetadata.b = function (a) {
        if (InputDescriptionMetadata.a == null) {
            InputDescriptionMetadata.a = new Dictionary$2(String_$type, String_$type, 0);
            InputDescriptionMetadata.c(InputDescriptionMetadata.a);
        }
        if (a.g(InputDescriptionMetadata.a)) {
            return;
        }
        a.s(InputDescriptionMetadata.a);
        KeyEventArgsDescriptionMetadata.d(a);
        InputChangeEventArgsDescriptionMetadata.d(a);
    };
    InputDescriptionMetadata.c = function (a) {
        InputGroupItemDescriptionMetadata.c(a);
        a.item("__qualifiedNameTS", "String:XInput");
        a.item("Density", "ExportedType:string:ControlDisplayDensity");
        a.item("Density@names", "Auto;Comfortable;Cosy;Compact");
        a.item("ActualDensity", "ExportedType:string:ControlDisplayDensity");
        a.item("ActualDensity@names", "Auto;Comfortable;Cosy;Compact");
        a.item("Mask", "String");
        a.item("PromptChar", "String");
        a.item("IncludeLiterals", "Boolean");
        a.item("ActualTextColor", "Brush");
        a.item("ActualHoverTextColor", "Brush");
        a.item("TextColor", "Brush");
        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("InputType", "String");
        a.item("Placeholder", "String");
        a.item("HoverTextColor", "Brush");
        a.item("Id", "String");
        a.item("TabIndex", "Number:int");
        a.item("For", "(w:ForAttribute,xam:ForAttribute,wf:ForAttribute)String");
        a.item("AriaLabel", "String");
        a.item("IsHover", "Boolean");
        a.item("Value", "String");
        a.item("Disabled", "(w:IsDisabled,xam:IsDisabled,wf:IsDisabled)Boolean");
        a.item("Readonly", "(w:IsReadOnly,xam:IsReadOnly,wf:IsReadOnly)Boolean");
        a.item("SelectionStart", "Number:int");
        a.item("SelectionEnd", "Number:int");
        a.item("KeyDownRef", "EventRef::keyDown");
        a.item("KeyUpRef", "EventRef::keyUp");
        a.item("KeyPressRef", "EventRef::keyPress");
        a.item("ChangeRef", "EventRef::change");
        a.item("ChangingRef", "EventRef::changing");
    };
    InputDescriptionMetadata.d = function (a) {
        InputDescriptionMetadata.b(a);
        a.u("Input", function () { return new InputDescription(); });
        a.t("Input", InputDescriptionMetadata.a);
    };
    InputDescriptionMetadata.$t = markType(InputDescriptionMetadata, 'InputDescriptionMetadata');
    InputDescriptionMetadata.a = null;
    return InputDescriptionMetadata;
}(Base));
export { InputDescriptionMetadata };
