{
    "$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
    "apiVersion": 1,
    "name": "TcHmiNumericInput",
    "namespace": "TcHmi.Controls.Beckhoff",
    "displayName": "Numeric Input",
    "version": {
        "full": "1.12.762.46",
        "major": 1,
        "minor": 12,
        "build": 762,
        "revision": 46
    },
    "visible": true,
    "themeable": "Standard",
    "base": "TcHmi.Controls.System.TcHmiControl",
    "description": "An input control which only accepts numeric values.",
    "defaultDesignerEvent": ".onValueChanged",
    "properties": {
        "containerControl": false,
        "geometry": {
            "width": 150,
            "height": 26
        }
    },
    "icons": [
        {
            "name": "Icons/16x16.png",
            "width": 16,
            "height": 16
        }
    ],
    "template": "Template.html",
    "dependencyFiles": [
        {
            "name": "Style.css",
            "type": "Stylesheet",
            "description": ""
        },
        {
            "name": "TcHmiNumericInput.js",
            "type": "JavaScript",
            "description": ""
        }
    ],
    "themes": {
        "Base": {
            "resources": [
                {
                    "name": "Themes/Base/Style.css",
                    "type": "Stylesheet",
                    "description": ""
                }
            ]
        },
        "Base-Dark": {
            "resources": [
                {
                    "name": "Themes/Base-Dark/Style.css",
                    "type": "Stylesheet",
                    "description": ""
                }
            ]
        }
    },
    "attributes": [
        {
            "name": "data-tchmi-value-color",
            "propertyName": "ValueColor",
            "propertySetterName": "setValueColor",
            "propertyGetterName": "getValueColor",
            "displayName": "ValueColor",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/SolidColor",
            "category": "Colors",
            "description": "The color of the displayed value",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-value",
            "propertyName": "Value",
            "propertySetterName": "setValue",
            "propertyGetterName": "getValue",
            "displayName": "Value",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:general#/definitions/Number",
            "category": "Common",
            "description": "Value of the NumericInput",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": 0,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-min-value",
            "propertyName": "MinValue",
            "propertySetterName": "setMinValue",
            "propertyGetterName": "getMinValue",
            "displayName": "MinValue",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 20,
            "type": "tchmi:general#/definitions/Number",
            "category": "Common",
            "description": "Minimal value of the NumericInput.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": 0,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-max-value",
            "propertyName": "MaxValue",
            "propertySetterName": "setMaxValue",
            "propertyGetterName": "getMaxValue",
            "displayName": "MaxValue",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 30,
            "type": "tchmi:general#/definitions/Number",
            "category": "Common",
            "description": "Maximal value of the NumericInput.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": 100,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-decimal-digits",
            "propertyName": "DecimalDigits",
            "propertySetterName": "setDecimalDigits",
            "propertyGetterName": "getDecimalDigits",
            "displayName": "DecimalDigits",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 40,
            "type": "tchmi:general#/definitions/Number",
            "category": "Common",
            "description": "Number of allowed decimal digits. No restriction if it's unset.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": 0,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-system-keyboard-input-mode",
            "propertyName": "SystemKeyboardInputMode",
            "propertySetterName": "setSystemKeyboardInputMode",
            "propertyGetterName": "getSystemKeyboardInputMode",
            "displayName": "SystemKeyboardInputMode",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 90,
            "type": "tchmi:framework#/definitions/Inputmode",
            "category": "Value",
            "description": "Defines which keyboard layout should be loaded in the system keyboard when interacting. The exact layout file is defined in the project. \nEmpty InputMode uses 'numeric' or 'decimal' depending on DecimalDigits. \nThe most common one are: 'numeric', 'decimal', 'text'. Own project keywords are possible. \n'skip' ignores a focusIn, 'none' closes a keyboard on focusIn.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-value-horizontal-alignment",
            "propertyName": "ValueHorizontalAlignment",
            "propertySetterName": "setValueHorizontalAlignment",
            "propertyGetterName": "getValueHorizontalAlignment",
            "displayName": "ValueHorizontalAlignment",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/HorizontalAlignment",
            "category": "Value",
            "description": "Defines the horizontal alignment of the displayed value.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-content-padding",
            "propertyName": "ContentPadding",
            "propertySetterName": "setContentPadding",
            "propertyGetterName": "getContentPadding",
            "displayName": "ContentPadding",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 55,
            "type": "tchmi:framework#/definitions/Padding",
            "category": "Value",
            "description": "The distance of the value to the border.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": {
                "top": 3,
                "right": 3,
                "bottom": 3,
                "left": 3
            },
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-value-font-family",
            "propertyName": "ValueFontFamily",
            "propertySetterName": "setValueFontFamily",
            "propertyGetterName": "getValueFontFamily",
            "displayName": "ValueFontFamily",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/FontFamily",
            "category": "Value",
            "description": "Comma separated list of family name or keyword: 'serif', 'sans-serif', 'monospace'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-value-font-size",
            "propertyName": "ValueFontSize",
            "propertySetterName": "setValueFontSize",
            "propertyGetterName": "getValueFontSize",
            "displayName": "ValueFontSize",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Value",
            "description": "The size of the font. Percent values are relative to the parent elements font size.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-value-font-size-unit",
            "propertyName": "ValueFontSizeUnit",
            "propertySetterName": "setValueFontSizeUnit",
            "propertyGetterName": "getValueFontSizeUnit",
            "refTo": "ValueFontSize",
            "displayName": "ValueFontSizeUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Value",
            "description": "Could be 'px' or for relative sizing '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-value-font-style",
            "propertyName": "ValueFontStyle",
            "propertySetterName": "setValueFontStyle",
            "propertyGetterName": "getValueFontStyle",
            "displayName": "ValueFontStyle",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/FontStyle",
            "category": "Value",
            "description": "'Normal', 'Italic' (slanted with special glyphs), 'Oblique' (slanted normal glyphs) or 'Auto' for inherited.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Auto"
        },
        {
            "name": "data-tchmi-value-font-weight",
            "propertyName": "ValueFontWeight",
            "propertySetterName": "setValueFontWeight",
            "propertyGetterName": "getValueFontWeight",
            "displayName": "ValueFontWeight",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/FontWeight",
            "category": "Value",
            "description": "'Normal', 'Bold' (glyphs with more weight) or 'Auto' for inherited.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Auto"
        },
        {
            "name": "data-tchmi-placeholder",
            "propertyName": "Placeholder",
            "propertySetterName": "setPlaceholder",
            "propertyGetterName": "getPlaceholder",
            "displayName": "Placeholder",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 50,
            "type": "tchmi:general#/definitions/String",
            "category": "Value",
            "description": "A placeholder text to display if the numeric input is empty.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-zero-padding",
            "propertyName": "ZeroPadding",
            "propertySetterName": "setZeroPadding",
            "propertyGetterName": "getZeroPadding",
            "displayName": "ZeroPadding",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 50,
            "type": "tchmi:general#/definitions/Number",
            "category": "Value",
            "description": "Pads the non fractional part of the number with zeros until the resulting part reaches the given length.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": 0
        },
        {
            "name": "data-tchmi-auto-focus-out",
            "propertyName": "AutoFocusOut",
            "propertySetterName": "setAutoFocusOut",
            "propertyGetterName": "getAutoFocusOut",
            "displayName": "AutoFocusOut",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 45,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Whether the control should automatically lose focus when the user confirms or cancels his interaction via enter or escape.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": true,
            "defaultValueInternal": false
        },
        {
            "name": "data-tchmi-auto-select-text",
            "propertyName": "AutoSelectText",
            "propertySetterName": "setAutoSelectText",
            "propertyGetterName": "getAutoSelectText",
            "displayName": "AutoSelectText",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 50,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Whether a focusIn selects the whole text or not.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": false
        },
        {
            "name": "data-tchmi-ignore-invalid-values",
            "propertyName": "IgnoreInvalidValues",
            "propertySetterName": "setIgnoreInvalidValues",
            "propertyGetterName": "getIgnoreInvalidValues",
            "displayName": "IgnoreInvalidValues",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 50,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Whether an invalid value should be displayed or not. If not, invalid values are discarded.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": false
        },
        {
            "name": "data-tchmi-reset-to-last-valid-value",
            "propertyName": "ResetToLastValidValue",
            "propertySetterName": "setResetToLastValidValue",
            "propertyGetterName": "getResetToLastValidValue",
            "displayName": "ResetToLastValidValue",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 45,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Whether the displayed text is reseted to the last valid value on focus out.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": true,
            "defaultValueInternal": false
        }
    ],
    "attributeCategories": [
        {
            "name": "Value",
            "displayPriority": 500,
            "defaultCollapsed": true,
            "description": "Attributes defining the value of the control."
        }
    ],
    "functions": [],
    "events": [
        {
            "name": ".onFocusIn",
            "displayName": ".onFocusIn",
            "visible": true,
            "displayPriority": 7,
            "category": "Operator",
            "description": "The focusin event is fired when an element is about to receive focus.",
            "heritable": true
        },
        {
            "name": ".onFocusOut",
            "displayName": ".onFocusOut",
            "visible": true,
            "displayPriority": 7,
            "category": "Operator",
            "description": "The focusout event is fired when an element is about to lose focus.",
            "heritable": true
        },
        {
            "name": ".onValueChanged",
            "displayName": ".onValueChanged",
            "visible": true,
            "displayPriority": 10,
            "category": "Control",
            "description": "The valuechanged event is fired when the value was changed. This event could be fired multiples times while a user interaction.",
            "heritable": true
        },
        {
            "name": ".onUserInteractionFinished",
            "displayName": ".onUserInteractionFinished",
            "visible": true,
            "displayPriority": 5,
            "category": "Operator",
            "description": "The userinteractionfinished event is fired after leaving the numerical input.",
            "heritable": true
        },
        {
            "name": ".onUserInteractionCanceled",
            "displayName": ".onUserInteractionCanceled",
            "visible": true,
            "displayPriority": 7,
            "category": "Operator",
            "description": "The userinteractioncanceled event is fired when the user presses the escape key, causing the value to reset to its previous value.",
            "heritable": true
        }
    ],
    "dataTypes": [
        {
            "schema": "Schema/Types.Schema.json"
        }
    ],
    "languages": {
        "en": "Lang/en.json",
        "de": "Lang/de.json"
    }
}