{
  "mixins": [ "composables/private/use-anchor" ],

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

  "props": {
    "model-value": {
      "extends": "model-value",
      "type": "Boolean",
      "desc": "Defines the state of the component (shown/hidden); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
      "required": false
    },

    "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,
      "category": "behavior"
    }
  },

  "slots": {
    "default": {
      "extends": "default"
    }
  },

  "events": {
    "update:model-value": {
      "extends": "update:model-value"
    },

    "before-show": {
      "extends": "before-show"
    },

    "show": {
      "extends": "show"
    },

    "before-hide": {
      "extends": "before-hide"
    },

    "hide": {
      "extends": "hide"
    }
  },

  "methods": {
    "show": {
      "extends": "show"
    },

    "hide": {
      "extends": "hide"
    },

    "toggle": {
      "extends": "toggle"
    }
  },

  "computedProps": {
    "currentComponent": {
      "type": "Object",
      "desc": "Access current underlying component (QMenu or QDialog)",
      "definition": {
        "type": {
          "type": "String",
          "desc": "Component type",
          "values": [ "dialog", "menu" ]
        },
        "ref": {
          "type": "Component",
          "tsType": "QPopupProxyInnerComponent",
          "desc": "The actual component (QMenu or QDialog); Access it directly, without '.value'"
        }
      }
    }
  }
}
