{
  "properties": [
    {
      "name": "disabled",
      "type": "Boolean",
      "description": "Is input disabled. Passed directly to the input"
    },
    {
      "name": "help",
      "type": "String",
      "description": "Text for the tooltip next to the label"
    },
    {
      "name": "name",
      "type": "String",
      "description": "With this property current input listen event validateTest"
    },
    {
      "name": "icon",
      "type": "String",
      "description": "Icon name for icons from src/icons folder or an svg code"
    },
    {
      "name": "label",
      "type": "String",
      "description": "Label at the top of the input"
    },
    {
      "name": "subLabel",
      "type": "String",
      "description": "Label at the bottom of the input"
    },
    {
      "name": "lang",
      "type": "String",
      "description": "BCP 47 code. Language to be used in the datepicker for month names and weekday labels. Can be set globally with $root.locale. This property overrides global setting"
    },
    {
      "name": "lg",
      "type": "Boolean",
      "description": "Large size - 464px"
    },
    {
      "name": "md",
      "type": "Boolean",
      "description": "Medium size - 252px"
    },
    {
      "name": "sm",
      "type": "Boolean",
      "description": "Small size -  144px"
    },
    {
      "name": "placeholder",
      "type": "String",
      "description": "Passed directly to the input"
    },
    {
      "name": "placeholderDark",
      "type": "Boolean",
      "description": "Set darken placeholder"
    },
    {
      "name": "type",
      "type": "String",
      "default": "text",
      "description": "Passed to the input with type_ computed property"
    },
    {
      "name": "validators",
      "type": "Array<Object>",
      "description": " Array of validator Objects. When multiple validators fail, only one error is displayed, determined by their order in the array. Each Object should have three fields:",
      "subProperty": [
        {
          "name": "name",
          "type": "String",
          "description": "Validator id"
        },
        {
          "name": "message",
          "type": "String",
          "description": "Error message that shown when validation fails"
        },
        {
          "name": "validator",
          "type": "Function",
          "description": " Function that takes input value as an argument and returns Boolean"
        }
      ]
    },
    {
      "name": "value",
      "type": "null",
      "description": "Binds value property to input"
    },
    {
      "name": "slideLabel",
      "type": "Boolean",
      "description": "Set up slideble input label"
    },
    {
      "name": "showValidations",
      "type": "Boolean",
      "description": "Responsible for showing error message"
    },
    {
      "name": "iconPadding",
      "type": "String",
      "description": "Set icon padding"
    },
    {
      "name": "labelIcon",
      "type": "String",
      "description": "Icon name for icons from src/icons folder or an svg code for label of Input"
    },
    {
      "name": "labelIconColor",
      "type": "String",
      "default": "gray-500",
      "description": "Set up color for label Icon of Input"
    },
    {
      "name": "maxlength",
      "type": "Number",
      "description": "Setup max count characters for Input component with type text"
    },
    {
      "name": "pattern",
      "type": "RegExp",
      "description": "Setup regexp object with allowed characters of field"
    },
    {
      "name": "referenceModel",
      "type": "null",
      "description": "Provided value for validation purpose like equality models of Input component and any other model"
    },
    {
      "name": "activeIcon",
      "type": "Boolean",
      "default": "false",
      "description": "When setup as true allow dispatch 'icon-click' event when click on Icon"
    },
    {
      "name": "showIcon",
      "type": "Boolean",
      "default": "true",
      "description": "Responsible for showing Icon"
    },
    {
      "name": "width",
      "type": "String",
      "description": "Setup the width"
    },
    {
      "name": "generalIconStyle",
      "type": "Object",
      "description": "Set styles for general Icons"
    },
    {
      "name": "inputStyle",
      "type": "Object",
      "description": "Set styles for input element"
    },
    {
      "name": "constantlyInvalidBacklight",
      "type": "Boolean",
      "default": "true",
      "description": "Keep invalid backlight until field won't be valid"
    },
    {
      "name": "passwordDefaultIcon",
      "type": "Boolean",
      "default": "false",
      "description": "Prevented of changing the icon on click on it for Input component with type password, take the icon for displaying from icon props"
    },
    {
      "name": "labelAlt",
      "type": "Boolean",
      "default": "false",
      "description": "Set alternative label styling mode"
    },
    {
      "name": "touchName",
      "type": "String",
      "description": "With this property, Input component will listen to event with prefix 'touch' + and this property capitalized"
    },
    {
      "name": "normalize",
      "type": "String",
      "description": "Normalize value inside input with the next modes: default pattern - Allow latin Alphabet with é è ' - and space, number pattern  - Default pattern with numbers, email pattern  - Number pattern with @ . _ and without ' and space, city pattern  - Number pattern with ,"
    },
    {
      "name": "autocomplete",
      "type": "String",
      "description": "Provide 'off' for turning of autocomplete"
    },
    {
      "name": "tabindex",
      "type": "String",
      "description": "Provide 'tabindex' attribute for input element"
    },
    {
      "name": "allowValidBackLight",
      "type": "Boolean",
      "default": "true",
      "description": "The light green backlight will be shown when Input has valid state"
    },
    {
      "name": "allowInvalidBackLight",
      "type": "Boolean",
      "default": "true",
      "description": "The light red backlight will be shown when Input has invalid state"
    }
  ],
  "events": [
    {
      "name": "change",
      "description": "Emitted when the model value is changed"
    },
    {
      "name": "validation",
      "description": "Emitted when the input value changes."
    },
    {
      "name": "validate",
      "description": "Listening event 'validate' for running validation even if this field was not touched."
    },
    {
      "name": "validate{name}",
      "description": "Run field validation, for inputs which have current name property."
    },
    {
      "name": "lastKeyDownDelay",
      "description": "Run after keyDown event with delay 300 milliseconds."
    },
    {
      "name": "inputFocus",
      "description": "Triggered when the input field of Input Component will dispatch focus event"
    },
    {
      "name": "inputBlur",
      "description": "Triggered when the input field of Input Component will dispatch blur event"
    },
    {
      "name": "icon-click",
      "description": "Dispatch when Icon get click and activeIcon prop is true"
    },
    {
      "name": "showInvalidBlock",
      "description": "Dispatched when showInvalidBlock variable change inside of component"
    }
  ]
}
