{
  "type": "component",
  "meta": {
    "docsUrl": "https://v1.quasar.dev/vue-components/popup-proxy"
  },
  "props": {
    "target": {
      "type": [
        "Boolean",
        "String",
        "Element"
      ],
      "desc": "Configure a target element to trigger component toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) or a DOM element it attaches the events to the specified DOM element (if it exists)",
      "default": true,
      "values": [
        true,
        false,
        "(CSS selector)",
        "(DOM Element)"
      ],
      "examples": [
        ":target=\"false\"",
        ":target=\"$refs.target\"",
        "target=\".my-parent\"",
        "target=\"#target-id\""
      ],
      "category": "behavior"
    },
    "no-parent-event": {
      "type": "Boolean",
      "desc": "Skips attaching events to the target DOM element (that trigger the element to get shown)",
      "category": "behavior"
    },
    "context-menu": {
      "type": "Boolean",
      "desc": "Allows the component to behave like a context menu, which opens with a right mouse click (or long tap on mobile)",
      "category": "behavior"
    },
    "value": {
      "type": "Boolean",
      "desc": "Defines the state of the component (shown/hidden); Either use this property (along with a listener for 'input' event) OR use v-model directive",
      "category": "model"
    },
    "breakpoint": {
      "type": [
        "Number",
        "String"
      ],
      "desc": "Breakpoint (in pixels) of window width/height (whichever is smaller) from where a Menu will get to be used instead of a Dialog",
      "default": 450,
      "examples": [
        992,
        ":breakpoint=\"1024\""
      ],
      "category": "behavior"
    }
  },
  "slots": {
    "default": {
      "desc": "Default slot in the devland unslotted content of the component"
    }
  },
  "events": {
    "input": {
      "desc": "Emitted when the component needs to change the model; Is also used by v-model",
      "params": {
        "value": {
          "type": "Any",
          "desc": "New model value",
          "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
        }
      }
    },
    "show": {
      "desc": "Emitted after component has triggered show()",
      "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
        }
      }
    },
    "hide": {
      "desc": "Emitted after component has triggered hide()",
      "params": {
        "evt": {
          "type": "Object",
          "desc": "JS event object",
          "required": true
        }
      }
    }
  },
  "methods": {
    "show": {
      "desc": "Triggers component to show",
      "params": {
        "evt": {
          "type": "Object",
          "required": false,
          "desc": "JS event object"
        }
      }
    },
    "hide": {
      "desc": "Triggers component to hide",
      "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"
    }
  }
}