{
  "props": {
    "value": {
      "extends": "value",
      "required": true,
      "type": [ "Any", "Array" ],
      "examples": [ "false", "['car', 'building']" ],
      "category": "model"
    },

    "val": {
      "type": "Any",
      "desc": "Works when model ('value') is Array. It tells the component which value should add/remove when ticked/unticked",
      "examples": [ "car" ],
      "category": "model"
    },

    "true-value": {
      "type": "Any",
      "desc": "What model value should be considered as checked/ticked/on?",
      "default": true,
      "examples": [ "Agreed" ],
      "category": "model"
    },

    "false-value": {
      "type": "Any",
      "desc": "What model value should be considered as unchecked/unticked/off?",
      "default": false,
      "examples": [ "Disagree" ],
      "category": "model"
    },

    "label": {
      "type": "String",
      "desc": "Label to display along the component (or use the default slot instead of this prop)",
      "examples": [ "I agree with the Terms and Conditions" ],
      "category": "label"
    },

    "left-label": {
      "type": "Boolean",
      "desc": "Label (if any specified) should be displayed on the left side of the component",
      "category": "label"
    },

    "color": {
      "extends": "color"
    },

    "keep-color": {
      "type": "Boolean",
      "desc": "Should the color (if specified any) be kept when the component is unticked/ off?",
      "category": "behavior"
    },

    "dark": {
      "extends": "dark"
    },

    "dense": {
      "extends": "dense"
    },

    "disable": {
      "extends": "disable"
    },

    "tabindex": {
      "extends": "tabindex"
    }
  },

  "events": {
    "input": {
      "extends": "input"
    }
  },

  "methods": {
    "toggle": {
      "desc": "Toggle the state (of the model)"
    }
  },

  "slots": {
    "default": {
      "desc": "Default slot can be used as label, unless 'label' prop is specified; Suggestion: string"
    }
  }
}
