{
  "props": {
    "value": {
      "type": "Any",
      "desc": "Model of the component defining current panel's name; If used as Number, it does not defines panel index though but slide name's which may be an Integer; Either use this property (along with a listener for 'input' event) OR use v-model directive",
      "examples": [ "v-model=\"panelName\"" ],
      "category": "model"
    },

    "keep-alive": {
      "type": "Boolean",
      "desc": "Equivalent to using Vue's native <keep-alive> component on the content",
      "category": "behavior"
    },

    "animated": {
      "type": "Boolean",
      "desc": "Enable transitions between panel (also see 'transition-prev' and 'transition-next' props)",
      "category": "behavior"
    },

    "infinite": {
      "type": "Boolean",
      "desc": "Makes component appear as infinite (when reaching last panel, next one will become the first one)",
      "category": "behavior"
    },

    "swipeable": {
      "type": "Boolean",
      "desc": "Enable swipe events (may interfere with content's touch/mouse events)",
      "category": "behavior"
    },

    "transition-prev": {
      "extends": "transition",
      "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
      "default": "slide-right",
      "category": "behavior"
    },

    "transition-next": {
      "extends": "transition",
      "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
      "default": "slide-left",
      "category": "behavior"
    }
  },

  "events": {
    "input": {
      "desc": "Emitted when component's model changes (current panel name); Is also used by v-model",
      "params": {
        "value": {
          "type": [ "String", "Number" ],
          "desc": "New current panel name",
          "examples": [ "dashboard" ]
        }
      }
    },

    "before-transition": {
      "desc": "Emitted before transitioning to a new panel",
      "params": {
        "newVal": {
          "type": [ "String", "Number" ],
          "desc": "Panel name towards transition is going",
          "examples": [ "dashboard" ]
        },
        "oldVal": {
          "type": [ "String", "Number" ],
          "desc": "Panel name from which transition is happening",
          "examples": [ "dashboard" ]
        }
      }
    },

    "transition": {
      "desc": "Emitted after component transitioned to a new panel",
      "params": {
        "newVal": {
          "type": [ "String", "Number" ],
          "desc": "Panel name towards transition has occurred",
          "examples": [ "dashboard" ]
        },
        "oldVal": {
          "type": [ "String", "Number" ],
          "desc": "Panel name from which transition has happened",
          "examples": [ "dashboard" ]
        }
      }
    }
  },

  "methods": {
    "next": {
      "desc": "Go to next panel"
    },

    "previous": {
      "desc": "Go to previous panel"
    },

    "goTo": {
      "desc": "Go to specific panel",
      "params": {
        "panelName": {
          "type": [ "String", "Number" ],
          "desc": "Panel's name, which may be a String or Number; Number does not refers to panel index, but to its name, which may be an Integer",
          "required": true,
          "examples": [ "dashboard" ]
        }
      }
    }
  }
}
