{
  "properties": [
    {
      "name": "value",
      "type": "null",
      "description": "Binds to input and reflect current data. Could be initialize like null or undefined, but when value will contain data, the data type will be Array"
    },
    {
      "name": "options",
      "type": "Array<Object>",
      "description": "Data for selecting. When checked option with `deselectAll=true` property, other options will be deselected. If after previous action select usual option, option with `deselectAll=true` will be discarded"
    },
    {
      "name": "dropDownPosition",
      "type": "String",
      "default": "default",
      "description": "Set position of dropdown list"
    },
    {
      "name": "idMode",
      "type": "Boolean",
      "default": "false",
      "description": "Setup mode in which value of props will be equals the id from objects' options"
    },
    {
      "name": "validators",
      "type": "Array<Object>",
      "description": "Array of validators"
    },
    {
      "name": "label",
      "type": "String",
      "description": "Label of component"
    },
    {
      "name": "placeholder",
      "type": "String",
      "description": "Show placeholder when value is empty"
    },
    {
      "name": "reversibleIcon",
      "type": "Boolean",
      "default": "false",
      "description": "Reversible icon on select component"
    },
    {
      "name": "displayTitle",
      "type": "Boolean",
      "default": "false",
      "description": "When props set up as true display only title in options"
    },
    {
      "name": "emitFullOption",
      "type": "Boolean",
      "default": "false",
      "description": "Emit full option object when set up as true"
    },
    {
      "name": "help",
      "type": "String",
      "description": "Text for the tooltip at the bottom of the select"
    },
    {
      "name": "helpLabel",
      "type": "String",
      "default": "? explication",
      "description": "Text for the tooltip label."
    },
    {
      "name": "optionsOverflow",
      "type": "String",
      "description": "Set overflow for options list of the select"
    },
    {
      "name": "showValidations",
      "type": "Boolean",
      "default": "true",
      "description": "Responsible for displaying validation of input"
    },
    {
      "name": "width",
      "type": "String",
      "description": "Setup width of the Select component"
    },
    {
      "name": "altIcon",
      "type": "Boolean",
      "default": "false",
      "description": "Responsible for displaying wider and darker pairs of  icons' select"
    },
    {
      "name": "customContent",
      "type": "Boolean",
      "default": "false",
      "description": "When set as true select options list can take slots for rendering them inside of options and displaying them into input, also set this option will affect on styles of Select component. Slot content must have width: 50px, height: 40px and Select must be without label"
    },
    {
      "name": "readonly",
      "type": "Boolean",
      "default": "true",
      "description": "When property is turn off, possible to update data property of option in dataMode"
    },
    {
      "name": "dataMode",
      "type": "Boolean",
      "description": "In this mode turning on two-way data binding of data property of the option"
    },
    {
      "name": "type",
      "type": "String",
      "default": "text",
      "description": "Can be equal to 'text', 'number', 'number-dot' or 'number-dot-comma'"
    },
    {
      "name": "maxlength",
      "type": "Number",
      "description": "Setup the max allowed length of string that can be stored inside input"
    },
    {
      "name": "extraErrorPadding",
      "type": "Boolean",
      "description": "Experimental feature, only working with lg attribute. Add extra padding when select error displaying"
    },
    {
      "name": "referenceModel",
      "type": "null",
      "description": "Provided value for validation purpose like equality models of Select component and any other model"
    },
    {
      "name": "name",
      "type": "String",
      "description": "With this property select will be listening to validation with current value for e.g. 'validateTest'"
    },
    {
      "name": "disabled",
      "type": "Boolean",
      "default": "false",
      "description": "The select will be deselected when the value is equals to true"
    },
    {
      "name": "altSelect",
      "type": "Boolean",
      "default": "false",
      "description": "Experimental feature, only working with lg attribute. Updated the padding of input and margin of label"
    },
    {
      "name": "countSymbolAfterDelimiter",
      "type": "Number",
      "default": "2",
      "description": "Setup count symbols after the last delimiter, works together with type 'number-dot-comma-delimiter'"
    },
    {
      "name": "touchName",
      "type": "String",
      "description": "With this property, Select component will listen to event with prefix 'touch' + and this property capitalized"
    },
    {
      "name": "showCorrectCheck",
      "type": "Boolean",
      "default": "true",
      "description": "Allowed to display default green background for valid state of select"
    },
    {
      "name": "tooltipMessage",
      "type": "String",
      "description": "Set icon with tooltip message for the label of the component"
    },
    {
      "name": "tooltipWidth",
      "type": "String",
      "description": "Set tooltip width"
    },
    {
      "name": "optionContent",
      "type": "Boolean",
      "default": "false",
      "description": "When set as true select can render slots option1, option2 and etc instead of options props, but options still required"
    },
    {
      "name": "hideIcon",
      "type": "Boolean",
      "default": "false",
      "description": "When the option is turn on, icons won't be displaying"
    },
    {
      "name": "height",
      "type": "String",
      "description": "Set the height input of Select component"
    },
    {
      "name": "color",
      "type": "Boolean",
      "description": "Provided additional styles for selection with that type"
    }
  ],
  "events": [
    {
      "name": "change",
      "description": "Emitted when model-value is changed"
    },
    {
      "name": "validation",
      "description": "Emitted when the multi select value changes and after component initialize"
    }
  ]
}
