{
  "type": "component",
  "behavior": {
    "$listeners": {
      "desc": "All native events are being propagated (you don't need the '.native' modifier)"
    }
  },
  "props": {
    "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"
    },
    "disable": {
      "type": "Boolean",
      "desc": "Put component in disabled mode",
      "category": "state"
    },
    "direction": {
      "type": "String",
      "desc": "Direction to expand Fab Actions to",
      "default": "right",
      "values": [
        "up",
        "right",
        "down",
        "left"
      ],
      "examples": [
        "bottom"
      ],
      "category": "behavior"
    },
    "persistent": {
      "type": "Boolean",
      "desc": "By default, Fab Actions are hidden when user navigates to another route and this prop disables this behavior",
      "category": "behavior"
    },
    "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"
    },
    "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"
    }
  },
  "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"
    }
  }
}