{
  "properties": [
    {
      "name": "uploadOptions",
      "type": "Object",
      "description": "Upload options including the url of post",
      "subProperty": [
        {
          "name": "acceptedFiles",
          "type": "String",
          "description": "Type of upload files, it can be separated by comman if it has multiple types"
        },
        {
          "name": "addRemoveLinks",
          "type": "Boolean",
          "description": "Enable remove button on the thumbnail screen. Default value is true"
        }
      ]
    },
    {
      "name": "value",
      "type": "File | File[]",
      "description": "If multiple property is true, it will bind Array of File, and if multiple property is false, it will bind File (2 way binding)"
    },
    {
      "name": "icon",
      "type": "String",
      "description": "Show Icon on the drop panel"
    },
    {
      "name": "iconSize",
      "type": "String",
      "description": "Size of the Icon"
    },
    {
      "name": "iconColor",
      "type": "String",
      "description": "Color of preview Icon"
    },
    {
      "name": "title",
      "type": "String",
      "description": "Show title on the drop panel"
    },
    {
      "name": "subTitle",
      "type": "String",
      "description": "Show subTitle on the drop panel when preview turn off"
    },
    {
      "name": "preview",
      "type": "Boolean",
      "description": "If this property is true, Show preview images, default value is true"
    },
    {
      "name": "showErrors",
      "type": "Boolean",
      "description": "If this property is true, show errors under the image, else hide errors. Default is true"
    },
    {
      "name": "validators",
      "type": "Array",
      "description": "Included validation function, validation message"
    },
    {
      "name": "preview",
      "type": "Boolean",
      "default": "true",
      "description": "Display the preview into the drop panel instead of the list below of drop panel"
    },
    {
      "name": "uploadAreaStyles",
      "type": "Object",
      "description": "Mixed up passed styles for drop area"
    },
    {
      "name": "remote",
      "type": "Boolean",
      "description": "When property true, component will emit 'remove' event for outside handling the removing of item and won't directly update the items that it's contained"
    },
    {
      "name": "acceptedFiles",
      "type": "String, Array",
      "default": "['jpg', 'jpeg', 'png', 'pdf']",
      "description": "Set allowed type restriction like: Array types ['jpg', 'jpeg', 'png', 'pdf'] or String like provided for default"
    },
    {
      "name": "loader",
      "type": "Boolean",
      "description": "Responsible for displaying loader"
    },
    {
      "name": "maxFileCount",
      "type": "Number",
      "description": "Set the limit and set the restriction of count files that could be upload"
    },
    {
      "name": "minFileSizeKB",
      "type": "Number",
      "description": "Set min file size in KB where the base equals to 1000 instead of 1024"
    },
    {
      "name": "maxFileSizeKB",
      "type": "Number",
      "description": "Set max file size in KB where the base equals to 1000 instead of 1024"
    }
  ],
  "events": [
    {
      "name": "validation",
      "description": "Emitted when input value changed with it's status"
    }
  ]
}
