{
  "mixins": [
    {
      "props": {
        "model-value": {
          "type": "Any",
          "desc": "Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.",
          "examples": [
            "# v-model=\"panelName\""
          ],
          "required": true,
          "category": "model"
        },
        "keep-alive": {
          "type": "Boolean",
          "desc": "Equivalent to using Vue's native <keep-alive> component on the content",
          "category": "behavior"
        },
        "keep-alive-include": {
          "type": [
            "String",
            "Array",
            "RegExp"
          ],
          "desc": "Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names",
          "examples": [
            "'a,b'",
            "/a|b/",
            "[ 'a', 'b' ]"
          ],
          "category": "behavior"
        },
        "keep-alive-exclude": {
          "type": [
            "String",
            "Array",
            "RegExp"
          ],
          "desc": "Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names",
          "examples": [
            "'a,b'",
            "/a|b/",
            "[ 'a', 'b' ]"
          ],
          "category": "behavior"
        },
        "keep-alive-max": {
          "type": "Number",
          "desc": "Equivalent to using Vue's native max prop for <keep-alive>",
          "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"
        },
        "vertical": {
          "type": "Boolean",
          "desc": "Default transitions and swipe actions will be on the vertical axis",
          "category": "behavior"
        },
        "transition-prev": {
          "extends": "transition",
          "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
          "default": "'fade'",
          "__runtimeDefault": true,
          "category": "transition",
          "__delete": [
            "__runtimeDefault"
          ]
        },
        "transition-next": {
          "extends": "transition",
          "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
          "default": "'fade'",
          "__runtimeDefault": true,
          "category": "transition",
          "__delete": [
            "__runtimeDefault"
          ]
        },
        "transition-duration": {
          "type": [
            "String",
            "Number"
          ],
          "desc": "Transition duration (in milliseconds, without unit)",
          "default": "300",
          "category": "transition",
          "addedIn": "v2.2"
        },
        "dark": {
          "extends": "dark"
        },
        "height": {
          "extends": "size",
          "desc": "Height of Carousel in CSS units, including unit name"
        },
        "padding": {
          "type": "Boolean",
          "desc": "Applies a default padding to each slide, according to the usage of 'arrows' and 'navigation' props",
          "category": "content"
        },
        "control-color": {
          "extends": "color",
          "desc": "Color name for QCarousel button controls (arrows, navigation) from the Quasar Color Palette"
        },
        "control-text-color": {
          "extends": "color",
          "desc": "Color name for text color of QCarousel button controls (arrows, navigation) from the Quasar Color Palette"
        },
        "control-type": {
          "type": "String",
          "desc": "Type of button to use for controls (arrows, navigation)",
          "values": [
            "'regular'",
            "'flat'",
            "'outline'",
            "'push'",
            "'unelevated'"
          ],
          "default": "'flat'",
          "category": "style"
        },
        "autoplay": {
          "type": [
            "Number",
            "Boolean"
          ],
          "desc": "Jump to next slide (if 'true' or val > 0) or previous slide (if val < 0) at fixed time intervals (in milliseconds); 'false' disables autoplay, 'true' enables it for 5000ms intervals",
          "examples": [
            "true",
            "false",
            "2500"
          ],
          "category": "behavior"
        },
        "arrows": {
          "type": "Boolean",
          "desc": "Show navigation arrow buttons",
          "category": "content"
        },
        "prev-icon": {
          "extends": "icon"
        },
        "next-icon": {
          "extends": "icon"
        },
        "navigation": {
          "type": "Boolean",
          "desc": "Show navigation dots",
          "category": "content"
        },
        "navigation-position": {
          "type": "String",
          "desc": "Side to stick navigation to",
          "default": "# 'bottom'/'right'",
          "__runtimeDefault": true,
          "values": [
            "'top'",
            "'right'",
            "'bottom'",
            "'left'"
          ],
          "category": "content"
        },
        "navigation-icon": {
          "extends": "icon"
        },
        "navigation-active-icon": {
          "extends": "icon",
          "desc": "Icon name following Quasar convention for the active (current slide) navigation icon; Make sure you have the icon library installed unless you are using 'img:' prefix"
        },
        "thumbnails": {
          "type": "Boolean",
          "desc": "Show thumbnails",
          "category": "content"
        }
      },
      "events": {
        "update:model-value": {
          "desc": "Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; 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",
          "params": null,
          "returns": null
        },
        "previous": {
          "desc": "Go to previous panel",
          "params": null,
          "returns": null
        },
        "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'"
              ]
            }
          },
          "returns": null
        }
      }
    },
    {
      "props": {
        "fullscreen": {
          "type": "Boolean",
          "sync": true,
          "desc": "Fullscreen mode",
          "examples": [
            "# v-model:fullscreen=\"isFullscreen\""
          ],
          "category": "behavior"
        },
        "no-route-fullscreen-exit": {
          "type": "Boolean",
          "desc": "Changing route app won't exit fullscreen",
          "category": "behavior"
        },
        "model-value": {
          "type": "Any",
          "desc": "Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.",
          "examples": [
            "# v-model=\"panelName\""
          ],
          "required": true,
          "category": "model"
        },
        "keep-alive": {
          "type": "Boolean",
          "desc": "Equivalent to using Vue's native <keep-alive> component on the content",
          "category": "behavior"
        },
        "keep-alive-include": {
          "type": [
            "String",
            "Array",
            "RegExp"
          ],
          "desc": "Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names",
          "examples": [
            "'a,b'",
            "/a|b/",
            "[ 'a', 'b' ]"
          ],
          "category": "behavior"
        },
        "keep-alive-exclude": {
          "type": [
            "String",
            "Array",
            "RegExp"
          ],
          "desc": "Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names",
          "examples": [
            "'a,b'",
            "/a|b/",
            "[ 'a', 'b' ]"
          ],
          "category": "behavior"
        },
        "keep-alive-max": {
          "type": "Number",
          "desc": "Equivalent to using Vue's native max prop for <keep-alive>",
          "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"
        },
        "vertical": {
          "type": "Boolean",
          "desc": "Default transitions and swipe actions will be on the vertical axis",
          "category": "behavior"
        },
        "transition-prev": {
          "extends": "transition",
          "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
          "default": "'fade'",
          "__runtimeDefault": true,
          "category": "transition",
          "__delete": [
            "__runtimeDefault"
          ]
        },
        "transition-next": {
          "extends": "transition",
          "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
          "default": "'fade'",
          "__runtimeDefault": true,
          "category": "transition",
          "__delete": [
            "__runtimeDefault"
          ]
        },
        "transition-duration": {
          "type": [
            "String",
            "Number"
          ],
          "desc": "Transition duration (in milliseconds, without unit)",
          "default": "300",
          "category": "transition",
          "addedIn": "v2.2"
        },
        "dark": {
          "extends": "dark"
        },
        "height": {
          "extends": "size",
          "desc": "Height of Carousel in CSS units, including unit name"
        },
        "padding": {
          "type": "Boolean",
          "desc": "Applies a default padding to each slide, according to the usage of 'arrows' and 'navigation' props",
          "category": "content"
        },
        "control-color": {
          "extends": "color",
          "desc": "Color name for QCarousel button controls (arrows, navigation) from the Quasar Color Palette"
        },
        "control-text-color": {
          "extends": "color",
          "desc": "Color name for text color of QCarousel button controls (arrows, navigation) from the Quasar Color Palette"
        },
        "control-type": {
          "type": "String",
          "desc": "Type of button to use for controls (arrows, navigation)",
          "values": [
            "'regular'",
            "'flat'",
            "'outline'",
            "'push'",
            "'unelevated'"
          ],
          "default": "'flat'",
          "category": "style"
        },
        "autoplay": {
          "type": [
            "Number",
            "Boolean"
          ],
          "desc": "Jump to next slide (if 'true' or val > 0) or previous slide (if val < 0) at fixed time intervals (in milliseconds); 'false' disables autoplay, 'true' enables it for 5000ms intervals",
          "examples": [
            "true",
            "false",
            "2500"
          ],
          "category": "behavior"
        },
        "arrows": {
          "type": "Boolean",
          "desc": "Show navigation arrow buttons",
          "category": "content"
        },
        "prev-icon": {
          "extends": "icon"
        },
        "next-icon": {
          "extends": "icon"
        },
        "navigation": {
          "type": "Boolean",
          "desc": "Show navigation dots",
          "category": "content"
        },
        "navigation-position": {
          "type": "String",
          "desc": "Side to stick navigation to",
          "default": "# 'bottom'/'right'",
          "__runtimeDefault": true,
          "values": [
            "'top'",
            "'right'",
            "'bottom'",
            "'left'"
          ],
          "category": "content"
        },
        "navigation-icon": {
          "extends": "icon"
        },
        "navigation-active-icon": {
          "extends": "icon",
          "desc": "Icon name following Quasar convention for the active (current slide) navigation icon; Make sure you have the icon library installed unless you are using 'img:' prefix"
        },
        "thumbnails": {
          "type": "Boolean",
          "desc": "Show thumbnails",
          "category": "content"
        }
      },
      "events": {
        "fullscreen": {
          "desc": "Emitted when fullscreen state changes",
          "params": {
            "value": {
              "type": "Boolean",
              "desc": "Fullscreen state (showing/hidden)"
            }
          }
        },
        "update:fullscreen": {
          "desc": "Used by Vue on 'v-model:fullscreen' prop for updating its value",
          "params": {
            "value": {
              "type": "Boolean",
              "desc": "Fullscreen state (showing/hidden)"
            }
          }
        },
        "update:model-value": {
          "desc": "Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; 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": {
        "toggleFullscreen": {
          "desc": "Toggle the view to be fullscreen or not fullscreen",
          "params": null,
          "returns": null
        },
        "setFullscreen": {
          "desc": "Enter the fullscreen view",
          "params": null,
          "returns": null
        },
        "exitFullscreen": {
          "desc": "Leave the fullscreen view",
          "params": null,
          "returns": null
        },
        "next": {
          "desc": "Go to next panel",
          "params": null,
          "returns": null
        },
        "previous": {
          "desc": "Go to previous panel",
          "params": null,
          "returns": null
        },
        "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'"
              ]
            }
          },
          "returns": null
        }
      }
    }
  ],
  "meta": {
    "docsUrl": "https://v2.quasar.dev/vue-components/carousel"
  },
  "props": {
    "fullscreen": {
      "type": "Boolean",
      "sync": true,
      "desc": "Fullscreen mode",
      "examples": [
        "# v-model:fullscreen=\"isFullscreen\""
      ],
      "category": "behavior"
    },
    "no-route-fullscreen-exit": {
      "type": "Boolean",
      "desc": "Changing route app won't exit fullscreen",
      "category": "behavior"
    },
    "model-value": {
      "type": "Any",
      "desc": "Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.",
      "examples": [
        "# v-model=\"panelName\""
      ],
      "required": true,
      "category": "model"
    },
    "keep-alive": {
      "type": "Boolean",
      "desc": "Equivalent to using Vue's native <keep-alive> component on the content",
      "category": "behavior"
    },
    "keep-alive-include": {
      "type": [
        "String",
        "Array",
        "RegExp"
      ],
      "desc": "Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names",
      "examples": [
        "'a,b'",
        "/a|b/",
        "[ 'a', 'b' ]"
      ],
      "category": "behavior"
    },
    "keep-alive-exclude": {
      "type": [
        "String",
        "Array",
        "RegExp"
      ],
      "desc": "Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names",
      "examples": [
        "'a,b'",
        "/a|b/",
        "[ 'a', 'b' ]"
      ],
      "category": "behavior"
    },
    "keep-alive-max": {
      "type": "Number",
      "desc": "Equivalent to using Vue's native max prop for <keep-alive>",
      "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"
    },
    "vertical": {
      "type": "Boolean",
      "desc": "Default transitions and swipe actions will be on the vertical axis",
      "category": "behavior"
    },
    "transition-prev": {
      "extends": "transition",
      "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
      "default": "'fade'",
      "__runtimeDefault": true,
      "category": "transition",
      "__delete": [
        "__runtimeDefault"
      ]
    },
    "transition-next": {
      "extends": "transition",
      "desc": "One of Quasar's embedded transitions (has effect only if 'animated' prop is set)",
      "default": "'fade'",
      "__runtimeDefault": true,
      "category": "transition",
      "__delete": [
        "__runtimeDefault"
      ]
    },
    "transition-duration": {
      "type": [
        "String",
        "Number"
      ],
      "desc": "Transition duration (in milliseconds, without unit)",
      "default": "300",
      "category": "transition",
      "addedIn": "v2.2"
    },
    "dark": {
      "extends": "dark"
    },
    "height": {
      "extends": "size",
      "desc": "Height of Carousel in CSS units, including unit name"
    },
    "padding": {
      "type": "Boolean",
      "desc": "Applies a default padding to each slide, according to the usage of 'arrows' and 'navigation' props",
      "category": "content"
    },
    "control-color": {
      "extends": "color",
      "desc": "Color name for QCarousel button controls (arrows, navigation) from the Quasar Color Palette"
    },
    "control-text-color": {
      "extends": "color",
      "desc": "Color name for text color of QCarousel button controls (arrows, navigation) from the Quasar Color Palette"
    },
    "control-type": {
      "type": "String",
      "desc": "Type of button to use for controls (arrows, navigation)",
      "values": [
        "'regular'",
        "'flat'",
        "'outline'",
        "'push'",
        "'unelevated'"
      ],
      "default": "'flat'",
      "category": "style"
    },
    "autoplay": {
      "type": [
        "Number",
        "Boolean"
      ],
      "desc": "Jump to next slide (if 'true' or val > 0) or previous slide (if val < 0) at fixed time intervals (in milliseconds); 'false' disables autoplay, 'true' enables it for 5000ms intervals",
      "examples": [
        "true",
        "false",
        "2500"
      ],
      "category": "behavior"
    },
    "arrows": {
      "type": "Boolean",
      "desc": "Show navigation arrow buttons",
      "category": "content"
    },
    "prev-icon": {
      "extends": "icon"
    },
    "next-icon": {
      "extends": "icon"
    },
    "navigation": {
      "type": "Boolean",
      "desc": "Show navigation dots",
      "category": "content"
    },
    "navigation-position": {
      "type": "String",
      "desc": "Side to stick navigation to",
      "default": "# 'bottom'/'right'",
      "__runtimeDefault": true,
      "values": [
        "'top'",
        "'right'",
        "'bottom'",
        "'left'"
      ],
      "category": "content"
    },
    "navigation-icon": {
      "extends": "icon"
    },
    "navigation-active-icon": {
      "extends": "icon",
      "desc": "Icon name following Quasar convention for the active (current slide) navigation icon; Make sure you have the icon library installed unless you are using 'img:' prefix"
    },
    "thumbnails": {
      "type": "Boolean",
      "desc": "Show thumbnails",
      "category": "content"
    }
  },
  "slots": {
    "default": {
      "desc": "Suggestion: QCarouselSlide"
    },
    "control": {
      "desc": "Slot specific for QCarouselControl"
    },
    "navigation-icon": {
      "desc": "Slot for navigation icon/btn; Suggestion: QBtn",
      "scope": {
        "index": {
          "type": "Number",
          "desc": "The 0-based index of corresponding slide"
        },
        "maxIndex": {
          "type": "Number",
          "desc": "The available number of slides"
        },
        "name": {
          "type": "Any",
          "desc": "The name of the corresponding slide"
        },
        "active": {
          "type": "Boolean",
          "desc": "Is this the current slide?"
        },
        "btnProps": {
          "type": "Object",
          "desc": "Default QBtn props that can be binded to your own QBtn"
        },
        "onClick": {
          "type": "Function",
          "desc": "Default trigger when clicked/tapped on",
          "params": {
            "evt": {
              "extends": "evt",
              "required": true
            }
          },
          "returns": null
        }
      }
    }
  },
  "events": {
    "fullscreen": {
      "desc": "Emitted when fullscreen state changes",
      "params": {
        "value": {
          "type": "Boolean",
          "desc": "Fullscreen state (showing/hidden)"
        }
      }
    },
    "update:fullscreen": {
      "desc": "Used by Vue on 'v-model:fullscreen' prop for updating its value",
      "params": {
        "value": {
          "type": "Boolean",
          "desc": "Fullscreen state (showing/hidden)"
        }
      }
    },
    "update:model-value": {
      "desc": "Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; 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": {
    "toggleFullscreen": {
      "desc": "Toggle the view to be fullscreen or not fullscreen",
      "params": null,
      "returns": null
    },
    "setFullscreen": {
      "desc": "Enter the fullscreen view",
      "params": null,
      "returns": null
    },
    "exitFullscreen": {
      "desc": "Leave the fullscreen view",
      "params": null,
      "returns": null
    },
    "next": {
      "desc": "Go to next panel",
      "params": null,
      "returns": null
    },
    "previous": {
      "desc": "Go to previous panel",
      "params": null,
      "returns": null
    },
    "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'"
          ]
        }
      },
      "returns": null
    }
  }
}