{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "vaadin-virtual-list.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/vaadin-virtual-list.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-virtual-list-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "VirtualListMixin",
          "members": [
            {
              "kind": "field",
              "name": "firstVisibleIndex",
              "description": "Gets the index of the first visible item in the viewport.",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "itemAccessibleNameGenerator",
              "privacy": "public",
              "type": {
                "text": "function"
              },
              "description": "A function that generates accessible names for virtual list items.\nThe function gets the item as an argument and the\nreturn value should be a string representing that item. The\nresult gets applied to the corresponding virtual list child element\nas an `aria-label` attribute.",
              "attribute": "item-accessible-name-generator"
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "Array<!VirtualListItem> | undefined"
              },
              "description": "An array containing items determining how many instances to render.",
              "attribute": "items"
            },
            {
              "kind": "field",
              "name": "lastVisibleIndex",
              "description": "Gets the index of the last visible item in the viewport.",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "renderer",
              "privacy": "public",
              "type": {
                "text": "VirtualListRenderer | undefined"
              },
              "description": "Custom function for rendering the content of every item.\nReceives three arguments:\n\n- `root` The render target element representing one item at a time.\n- `virtualList` The reference to the `<vaadin-virtual-list>` element.\n- `model` The object with the properties related with the rendered\n  item, contains:\n  - `model.index` The index of the rendered item.\n  - `model.item` The item.",
              "attribute": "renderer"
            },
            {
              "kind": "method",
              "name": "requestContentUpdate",
              "description": "Requests an update for the content of the rows.\nWhile performing the update, it invokes the renderer passed in the `renderer` property for each visible row.\n\nIt is not guaranteed that the update happens immediately (synchronously) after it is requested."
            },
            {
              "kind": "method",
              "name": "scrollToIndex",
              "parameters": [
                {
                  "name": "index",
                  "description": "Index to scroll to",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Scroll to a specific index in the virtual list."
            }
          ],
          "attributes": [
            {
              "name": "item-accessible-name-generator",
              "type": {
                "text": "function"
              },
              "description": "A function that generates accessible names for virtual list items.\nThe function gets the item as an argument and the\nreturn value should be a string representing that item. The\nresult gets applied to the corresponding virtual list child element\nas an `aria-label` attribute.",
              "fieldName": "itemAccessibleNameGenerator"
            },
            {
              "name": "renderer",
              "type": {
                "text": "VirtualListRenderer | undefined"
              },
              "description": "Custom function for rendering the content of every item.\nReceives three arguments:\n\n- `root` The render target element representing one item at a time.\n- `virtualList` The reference to the `<vaadin-virtual-list>` element.\n- `model` The object with the properties related with the rendered\n  item, contains:\n  - `model.index` The index of the rendered item.\n  - `model.item` The item.",
              "fieldName": "renderer"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "VirtualListMixin",
          "declaration": {
            "name": "VirtualListMixin",
            "module": "src/vaadin-virtual-list-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-virtual-list.js",
      "declarations": [
        {
          "kind": "class",
          "description": "`<vaadin-virtual-list>` is a Web Component for displaying a virtual/infinite list of items.\n\n```html\n<vaadin-virtual-list></vaadin-virtual-list>\n```\n\n```js\nconst list = document.querySelector('vaadin-virtual-list');\nlist.items = items; // An array of data items\nlist.renderer = (root, list, {item, index}) => {\n  root.textContent = `#${index}: ${item.name}`\n}\n```\n\n### Styling\n\nThe following state attributes are available for styling:\n\nAttribute        | Description\n-----------------|--------------------------------------------\n`overflow`       | Set to `top`, `bottom`, both, or none.\n\n### Built-in Theme Variants\n\n`<vaadin-virtual-list>` supports the following theme variants:\n\nTheme variant                            | Description\n-----------------------------------------|---------------\n`theme=\"overflow-indicators\"`            | Shows visual indicators at the top and bottom when the content is scrolled\n`theme=\"overflow-indicator-top\"`         | Shows the visual indicator at the top when the content is scrolled\n`theme=\"overflow-indicator-top-bottom\"`  | Shows the visual indicator at the bottom when the content is scrolled\n\n### Custom CSS Properties\n\nThe following custom CSS properties are available for styling:\n\nCustom CSS property                                |\n:--------------------------------------------------|\n`--vaadin-virtual-list-overflow-indicator-color`   |\n`--vaadin-virtual-list-overflow-indicator-height`  |\n`--vaadin-virtual-list-padding-block`              |\n`--vaadin-virtual-list-padding-inline`             |\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
          "name": "VirtualList",
          "members": [
            {
              "kind": "field",
              "name": "firstVisibleIndex",
              "description": "Gets the index of the first visible item in the viewport.",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "itemAccessibleNameGenerator",
              "privacy": "public",
              "type": {
                "text": "function"
              },
              "description": "A function that generates accessible names for virtual list items.\nThe function gets the item as an argument and the\nreturn value should be a string representing that item. The\nresult gets applied to the corresponding virtual list child element\nas an `aria-label` attribute.",
              "attribute": "item-accessible-name-generator",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "Array<!VirtualListItem> | undefined"
              },
              "description": "An array containing items determining how many instances to render.",
              "attribute": "items",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "lastVisibleIndex",
              "description": "Gets the index of the last visible item in the viewport.",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "renderer",
              "privacy": "public",
              "type": {
                "text": "VirtualListRenderer | undefined"
              },
              "description": "Custom function for rendering the content of every item.\nReceives three arguments:\n\n- `root` The render target element representing one item at a time.\n- `virtualList` The reference to the `<vaadin-virtual-list>` element.\n- `model` The object with the properties related with the rendered\n  item, contains:\n  - `model.index` The index of the rendered item.\n  - `model.item` The item.",
              "attribute": "renderer",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "requestContentUpdate",
              "description": "Requests an update for the content of the rows.\nWhile performing the update, it invokes the renderer passed in the `renderer` property for each visible row.\n\nIt is not guaranteed that the update happens immediately (synchronously) after it is requested.",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "scrollToIndex",
              "parameters": [
                {
                  "name": "index",
                  "description": "Index to scroll to",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Scroll to a specific index in the virtual list.",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            }
          ],
          "mixins": [
            {
              "name": "VirtualListMixin",
              "module": "src/vaadin-virtual-list-mixin.js"
            },
            {
              "name": "ThemableMixin",
              "package": "@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js"
            },
            {
              "name": "ElementMixin",
              "package": "@vaadin/component-base/src/element-mixin.js"
            },
            {
              "name": "PolylitMixin",
              "package": "@vaadin/component-base/src/polylit-mixin.js"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "vaadin-virtual-list",
          "customElement": true,
          "attributes": [
            {
              "name": "item-accessible-name-generator",
              "type": {
                "text": "function"
              },
              "description": "A function that generates accessible names for virtual list items.\nThe function gets the item as an argument and the\nreturn value should be a string representing that item. The\nresult gets applied to the corresponding virtual list child element\nas an `aria-label` attribute.",
              "fieldName": "itemAccessibleNameGenerator",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            },
            {
              "name": "renderer",
              "type": {
                "text": "VirtualListRenderer | undefined"
              },
              "description": "Custom function for rendering the content of every item.\nReceives three arguments:\n\n- `root` The render target element representing one item at a time.\n- `virtualList` The reference to the `<vaadin-virtual-list>` element.\n- `model` The object with the properties related with the rendered\n  item, contains:\n  - `model.index` The index of the rendered item.\n  - `model.item` The item.",
              "fieldName": "renderer",
              "inheritedFrom": {
                "name": "VirtualListMixin",
                "module": "src/vaadin-virtual-list-mixin.js"
              }
            }
          ],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "VirtualList",
          "declaration": {
            "name": "VirtualList",
            "module": "src/vaadin-virtual-list.js"
          }
        }
      ]
    }
  ]
}
