{
  "type": "component",
  "meta": {
    "docsUrl": "https://v1.quasar.dev/vue-components/floating-action-button"
  },
  "behavior": {
    "$listeners": {
      "desc": "All native events are being propagated (you don't need the '.native' modifier)"
    }
  },
  "props": {
    "type": {
      "type": "String",
      "desc": "Define the button HTML DOM type",
      "default": "a",
      "values": [
        "a",
        "submit",
        "button",
        "reset"
      ],
      "category": "general"
    },
    "outline": {
      "type": "Boolean",
      "desc": "Use 'outline' design for Fab button",
      "category": "style"
    },
    "push": {
      "type": "Boolean",
      "desc": "Use 'push' design for Fab button",
      "category": "style"
    },
    "flat": {
      "type": "Boolean",
      "desc": "Use 'flat' design for Fab button",
      "category": "style"
    },
    "unelevated": {
      "type": "Boolean",
      "desc": "Remove shadow",
      "category": "style",
      "addedIn": "v1.9.0"
    },
    "color": {
      "type": "String",
      "desc": "Color name for component from the Quasar Color Palette",
      "examples": [
        "primary",
        "teal-10"
      ],
      "category": "style"
    },
    "text-color": {
      "type": "String",
      "desc": "Overrides text color (if needed); Color name from the Quasar Color Palette",
      "examples": [
        "primary",
        "teal-10"
      ],
      "category": "style"
    },
    "glossy": {
      "type": "Boolean",
      "desc": "Apply the glossy effect over the button",
      "category": "style"
    },
    "external-label": {
      "type": "Boolean",
      "desc": "Display label besides the FABs, as external content",
      "category": "style|content",
      "addedIn": "v1.9.0"
    },
    "label": {
      "type": [
        "String",
        "Number"
      ],
      "desc": "The label that will be shown when Fab is extended",
      "default": "",
      "examples": [
        "Button Label"
      ],
      "category": "content",
      "addedIn": "v1.9.0"
    },
    "label-position": {
      "type": "String",
      "desc": "Position of the label around the icon",
      "values": [
        "top",
        "right",
        "bottom",
        "left"
      ],
      "category": "style|content",
      "addedIn": "v1.9.0"
    },
    "hide-label": {
      "type": "Boolean",
      "desc": "Hide the label; Useful for animation purposes where you toggle the visibility of the label",
      "category": "style|content",
      "addedIn": "v1.9.0"
    },
    "label-class": {
      "type": [
        "Array",
        "String",
        "Object"
      ],
      "desc": "Class definitions to be attributed to the label container",
      "examples": [
        "my-special-class",
        ":input-class=\"{ 'my-special-class': <condition> }\""
      ],
      "category": "style",
      "addedIn": "v1.9.0"
    },
    "label-style": {
      "type": [
        "Array",
        "String",
        "Object"
      ],
      "desc": "Style definitions to be attributed to the label container",
      "examples": [
        "background-color: #ff0000",
        ":input-style=\"{ backgroundColor: '#ff0000' }\""
      ],
      "category": "style",
      "addedIn": "v1.9.0"
    },
    "square": {
      "type": "Boolean",
      "desc": "Apply a rectangle aspect to the FAB",
      "category": "style",
      "addedIn": "v1.9.0"
    },
    "disable": {
      "type": "Boolean",
      "desc": "Put component in disabled mode",
      "category": "state"
    },
    "value": {
      "type": "Boolean",
      "desc": "Controls state of fab actions (showing/hidden); Works best with v-model directive, otherwise use along listening to 'input' event",
      "category": "model"
    },
    "icon": {
      "type": "String",
      "desc": "Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix",
      "examples": [
        "map",
        "ion-add",
        "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg",
        "img:statics/path/to/some_image.png"
      ],
      "category": "content"
    },
    "active-icon": {
      "type": "String",
      "desc": "Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix",
      "examples": [
        "map",
        "ion-add",
        "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg",
        "img:statics/path/to/some_image.png"
      ],
      "category": "content"
    },
    "hide-icon": {
      "type": "Boolean",
      "desc": "Hide the icon (don't use any)",
      "category": "style|content",
      "addedIn": "v1.9.14"
    },
    "direction": {
      "type": "String",
      "desc": "Direction to expand Fab Actions to",
      "default": "right",
      "values": [
        "up",
        "right",
        "down",
        "left"
      ],
      "examples": [
        "bottom"
      ],
      "category": "behavior"
    },
    "vertical-actions-align": {
      "type": "String",
      "desc": "The side of the Fab where Fab Actions will expand (only when direction is 'up' or 'down')",
      "default": "center",
      "values": [
        "left",
        "center",
        "right"
      ],
      "category": "style|content",
      "addedIn": "v1.9.0"
    },
    "persistent": {
      "type": "Boolean",
      "desc": "By default, Fab Actions are hidden when user navigates to another route and this prop disables this behavior",
      "category": "behavior"
    }
  },
  "slots": {
    "default": {
      "desc": "This is where QFabActions may go into"
    },
    "tooltip": {
      "desc": "Slot specifically designed for a QTooltip"
    }
  },
  "events": {
    "input": {
      "desc": "Emitted when fab actions are shown/hidden; Captured by v-model directive",
      "params": {
        "value": {
          "type": "Boolean",
          "desc": "New state (showing/hidden)"
        }
      }
    },
    "show": {
      "desc": "Emitted after component has triggered show()",
      "params": {
        "evt": {
          "type": "Object",
          "desc": "JS event object",
          "required": true
        }
      }
    },
    "before-show": {
      "desc": "Emitted when component triggers show() but before it finishes doing it",
      "params": {
        "evt": {
          "type": "Object",
          "desc": "JS event object",
          "required": true
        }
      }
    },
    "hide": {
      "desc": "Emitted after component has triggered hide()",
      "params": {
        "evt": {
          "type": "Object",
          "desc": "JS event object",
          "required": true
        }
      }
    },
    "before-hide": {
      "desc": "Emitted when component triggers hide() but before it finishes doing it",
      "params": {
        "evt": {
          "type": "Object",
          "desc": "JS event object",
          "required": true
        }
      }
    }
  },
  "methods": {
    "show": {
      "desc": "Expands fab actions list",
      "params": {
        "evt": {
          "type": "Object",
          "required": false,
          "desc": "JS event object"
        }
      }
    },
    "hide": {
      "desc": "Collapses fab actions list",
      "params": {
        "evt": {
          "type": "Object",
          "required": false,
          "desc": "JS event object"
        }
      }
    },
    "toggle": {
      "params": {
        "evt": {
          "type": "Object",
          "required": false,
          "desc": "JS event object"
        }
      },
      "desc": "Triggers component to toggle between show/hide"
    }
  }
}