{
  "mixins": [ "composables/private/use-size", "composables/private/use-form" ],

  "meta": {
    "docsUrl": "https://v2.quasar.dev/vue-components/radio"
  },

  "props": {
    "model-value": {
      "extends": "model-value",
      "type": [ "Number", "String", "null", "undefined" ],
      "examples": [ "v-model=\"option\"" ]
    },

    "val": {
      "type": [ "Number", "String", "null", "undefined" ],
      "required": true,
      "desc": "The actual value of the option with which model value is changed",
      "examples": [ "opt1", 50 ],
      "category": "model"
    },

    "label": {
      "type": "String",
      "desc": "Label to display along the radio control (or use the default slot instead of this prop)",
      "examples": [ "label=\"Option 1\"" ],
      "category": "label"
    },

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

    "checked-icon": {
      "type": "String",
      "desc": "The icon to be used when selected (instead of the default design)",
      "examples": [ "visibility" ],
      "category": "icons",
      "addedIn": "v2.5"
    },

    "unchecked-icon": {
      "type": "String",
      "desc": "The icon to be used when un-selected (instead of the default design)",
      "examples": [ "visibility_off" ],
      "category": "icons",
      "addedIn": "v2.5"
    },

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

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

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

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

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

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

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

  "events": {
    "update:model-value": {
      "desc": "Emitted when the component needs to change the model; Is also used by v-model",
      "params": {
        "value": {
          "type": "Any",
          "desc": "New model value",
          "required": true
        },
        "evt": {
          "extends": "evt",
          "required": true
        }
      }
    }
  },

  "methods": {
    "set": {
      "desc": "Sets the Radio's v-model to equal the val"
    }
  }
}
