{
  "mixins": [ "mixins/tag" ],

  "meta": {
    "docsUrl": "https://v1.quasar.dev/vue-components/intersection"
  },

  "behavior": {
    "$listeners": true
  },

  "props": {
    "tag": {
      "examples": [ "div", "span", "blockquote" ],
      "addedIn": "v1.9.3"
    },

    "once": {
      "type": "Boolean",
      "desc": "Get triggered only once",
      "category": "behavior"
    },

    "ssr-prerender": {
      "type": "Boolean",
      "desc": "Pre-render content on server side if using SSR (use it to pre-render above the fold content)",
      "category": "behavior",
      "addedIn": "v1.9.5"
    },

    "margin": {
      "type": "String",
      "desc": "[Intersection API rootMargin prop] Allows you to specify the margins for the root, effectively allowing you to either grow or shrink the area used for intersections",
      "examples": [ "-20px 0px", "10px 20px 30px 40px" ],
      "category": "behavior"
    },

    "threshold": {
      "type": [ "Array", "Number" ],
      "desc": "[Intersection API threshold prop] Threshold(s) at which to trigger, specified as a ratio, or list of ratios, of (visible area / total area) of the observed element",
      "examples": [
        "[ 0, 0.25, 0.5, 0.75, 1 ]",
        ":threshold=\"1\""
      ],
      "category": "behavior"
    },

    "transition": {
      "extends": "transition",
      "category": "behavior"
    },

    "disable": {
      "type": "Boolean",
      "desc": "Disable visibility observable (content will remain as it was, visible or hidden)",
      "category": "behavior"
    }
  },

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

  "events": {
    "visibility": {
      "desc": "Fires when visibility changes",
      "params": {
        "isVisible": {
          "type": "Boolean",
          "desc": "Visibility status (true/false)"
        }
      }
    }
  }
}
