{
  "type": "component",
  "behavior": {
    "$listeners": {
      "desc": "All native events are being propagated (you don't need the '.native' modifier)"
    }
  },
  "props": {
    "value": {
      "type": "Number",
      "desc": "Current page (must be between min/max)",
      "required": true,
      "examples": [
        3
      ],
      "category": "model"
    },
    "min": {
      "type": "Number",
      "desc": "Minimum page (must be lower than 'max')",
      "default": 1,
      "examples": [
        3
      ],
      "category": "model"
    },
    "max": {
      "type": "Number",
      "desc": "Number of last page (must be higher than 'min')",
      "default": 100,
      "required": true,
      "examples": [
        10
      ],
      "category": "model"
    },
    "color": {
      "type": "String",
      "desc": "Color name for component from the Quasar Color Palette",
      "examples": [
        "primary",
        "teal-10"
      ],
      "category": "style",
      "default": "primary"
    },
    "text-color": {
      "type": "String",
      "desc": "Overrides text color (if needed); color name from the Quasar Color Palette",
      "examples": [
        "primary",
        "teal-10"
      ],
      "category": "style"
    },
    "input-style": {
      "type": [
        "Array",
        "String",
        "Object"
      ],
      "desc": "Style definitions to be attributed to the input (if using one)",
      "examples": [
        "background-color: #ff0000",
        ":input-style=\"{ backgroundColor: '#ff0000' }\""
      ],
      "category": "style"
    },
    "input-class": {
      "type": [
        "Array",
        "String",
        "Object"
      ],
      "desc": "Class definitions to be attributed to the input (if using one)",
      "examples": [
        "my-special-class",
        ":input-class=\"{ 'my-special-class': <condition> }\""
      ],
      "category": "style"
    },
    "size": {
      "type": "String",
      "desc": "Button size in CSS units, including unit name",
      "examples": [
        "20px"
      ],
      "category": "style"
    },
    "disable": {
      "type": "Boolean",
      "desc": "Put component in disabled mode",
      "category": "state"
    },
    "input": {
      "type": "Boolean",
      "desc": "Use an input instead of buttons",
      "category": "content"
    },
    "boundary-links": {
      "type": "Boolean",
      "desc": "Show boundary button links",
      "category": "content"
    },
    "boundary-numbers": {
      "type": "Boolean",
      "desc": "Always show first and last page buttons (if not using 'input')",
      "category": "content"
    },
    "direction-links": {
      "type": "Boolean",
      "desc": "Show direction buttons",
      "category": "content"
    },
    "ellipses": {
      "type": "Boolean",
      "desc": "Show ellipses (...) when pages are available",
      "category": "content"
    },
    "max-pages": {
      "type": "Number",
      "default": 0,
      "desc": "Maximum number of page links to display at a time; 0 means Infinite",
      "examples": [
        5
      ],
      "category": "model"
    }
  },
  "events": {
    "input": {
      "desc": "Emitted when the component needs to change the model; Is also used by v-model",
      "params": {
        "value": {
          "type": "String",
          "desc": "New model value",
          "required": true
        }
      }
    }
  },
  "methods": {
    "set": {
      "desc": "Go directly to the specified page",
      "params": {
        "pageNumber": {
          "type": "Number",
          "desc": "Page number to go to",
          "examples": [
            3
          ]
        }
      }
    },
    "setByOffset": {
      "desc": "Increment/Decrement current page by offset",
      "params": {
        "offset": {
          "type": "Number",
          "desc": "Offset page, can be negative or positive",
          "examples": [
            3
          ]
        }
      }
    }
  }
}