{
  "mixins": [ "mixins/size", "mixins/form" ],

  "meta": {
    "docsUrl": "https://v1.quasar.dev/vue-components/knob"
  },

  "props": {
    "value": {
      "type": "Number",
      "desc": "Any number to indicate the given value of the knob. Either use this property (along with a listener for 'input' event) OR use the v-model directive",
      "examples": [ "v-model=\"myValue\"" ],
      "category": "model"
    },

    "min": {
      "type": "Number",
      "desc": "The minimum value that the model (the knob value) should start at",
      "examples": [ "20", "5" ],
      "category": "model"
    },

    "max": {
      "type": "Number",
      "desc": "The maximum value that the model (the knob value) should go to",
      "examples": [ "100", "50" ],
      "category": "model"
    },

    "step": {
      "type": "Number",
      "default": "1",
      "desc": "A number representing steps in the value of the model, while adjusting the knob",
      "examples": [ "1", "5" ],
      "category": "model"
    },

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

    "center-color": {
      "extends": "color",
      "desc": "Color name for the center part of the component from the Quasar Color Palette"
    },

    "track-color": {
      "extends": "color",
      "desc": "Color name for the track of the component from the Quasar Color Palette"
    },

    "font-size": {
      "type": "String",
      "desc": "Size of text in CSS units, including unit name. Suggestion: use 'em' units to sync with component size",
      "default": "0.25em",
      "examples": [ "1em", "16px", "2rem" ],
      "category": "style"
    },

    "thickness": {
      "type": "Number",
      "default": 0.2,
      "desc": "Thickness of progress arc as a ratio (0.0 < x < 1.0) of component size",
      "examples": [ 1, 0.3 ],
      "category": "style"
    },

    "angle": {
      "type": "Number",
      "desc": "Angle to rotate progress arc by",
      "default": 0,
      "examples": [ 0, 40, 90 ],
      "category": "content"
    },

    "show-value": {
      "type": "Boolean",
      "desc": "Enables the default slot and uses it (if available), otherwise it displays the 'value' prop as text; Make sure the text has enough space to be displayed inside the component",
      "category": "content|behavior"
    },

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

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

    "readonly": {
      "extends": "readonly"
    }
  },

  "slots": {
    "default": {
      "extends": "default"
    }
  },

  "events": {
    "input": {
      "extends": "input",
      "params": {
        "value": {
          "type": "Number",
          "desc": "New model value"
        }
      }
    },

    "change": {
      "desc": "Fires at the end of a knob's adjustment and offers the value of the model",
      "params": {
        "value": {
          "type": "Number",
          "desc": "New model value",
          "examples": [ 12 ]
        }
      }
    },

    "drag-value": {
      "desc": "The value of the model while dragging is still in progress",
      "params": {
        "value": {
          "type": "Number",
          "desc": "New model value",
          "examples": [ 12 ]
        }
      }
    }
  }
}
