{
  "meta": {
    "docsUrl": "https://v2.quasar.dev/vue-components/intersection"
  },
  "props": {
    "tag": {
      "extends": "tag",
      "default": "'div'",
      "examples": [
        "'div'",
        "'span'",
        "'blockquote'"
      ]
    },
    "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"
    },
    "root": {
      "type": [
        "Element",
        "null"
      ],
      "default": "null",
      "desc": "[Intersection API root prop] Lets you define an alternative to the viewport as your root (through its DOM element); It is important to keep in mind that root needs to be an ancestor of the observed element",
      "examples": [
        "document.getElementById('myTable')",
        "$refs.myTable.$el"
      ],
      "category": "behavior"
    },
    "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 ]",
        "1"
      ],
      "category": "behavior"
    },
    "transition": {
      "extends": "transition",
      "category": "behavior"
    },
    "transition-duration": {
      "type": [
        "String",
        "Number"
      ],
      "desc": "Transition duration (in milliseconds, without unit)",
      "default": "300",
      "category": "behavior",
      "addedIn": "v2.3.1"
    },
    "disable": {
      "type": "Boolean",
      "desc": "Disable visibility observable (content will remain as it was, visible or hidden)",
      "category": "behavior"
    }
  },
  "slots": {
    "default": {
      "extends": "default"
    },
    "hidden": {
      "desc": "Slot for content to render when component is not on screen; Example: a text that the user can search for with the browser's search function",
      "addedIn": "v2.12"
    }
  },
  "events": {
    "visibility": {
      "desc": "Fires when visibility changes",
      "params": {
        "isVisible": {
          "type": "Boolean",
          "desc": "Visibility status (true/false)"
        }
      }
    }
  }
}