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

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

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

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

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

    "inner-min": {
      "type": "Number",
      "desc": "Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop",
      "category": "model",
      "addedIn": "v2.5.4"
    },

    "inner-max": {
      "type": "Number",
      "desc": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop",
      "category": "model",
      "addedIn": "v2.5.4"
    },

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

    "reverse": {
      "type": "Boolean",
      "desc": "Reverses the direction of progress",
      "category": "behavior"
    },

    "instant-feedback": {
      "type": "Boolean",
      "desc": "No animation when model changes",
      "category": "behavior"
    },

    "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",
      "category": "style"
    },

    "angle": {
      "type": "Number",
      "desc": "Angle to rotate progress arc by",
      "default": 0,
      "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": {
    "update:model-value": {
      "extends": "update:model-value",
      "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"
        }
      }
    },

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