{
  "mixins": [
    "composables/private.use-panel/use-panel",
    "composables/private.use-fullscreen/use-fullscreen"
  ],

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

  "props": {
    "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"
    },

    "transition-prev": {
      "default": "'fade'",
      "__delete": ["__runtimeDefault"]
    },

    "transition-next": {
      "default": "'fade'",
      "__delete": ["__runtimeDefault"]
    }
  },

  "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
        }
      }
    }
  }
}
