/** * DO NOT EDIT * * This file was automatically generated by * https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations * * To modify these typings, edit the source file(s): * iron-list.js */ import {IronResizableBehavior} from '@polymer/iron-resizable-behavior/iron-resizable-behavior.js'; import {IronScrollTargetBehavior} from '@polymer/iron-scroll-target-behavior/iron-scroll-target-behavior.js'; import {OptionalMutableDataBehavior} from '@polymer/polymer/lib/legacy/mutable-data-behavior.js'; import {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js'; import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js'; import {Templatizer} from '@polymer/polymer/lib/legacy/templatizer-behavior.js'; import {animationFrame, idlePeriod, microTask} from '@polymer/polymer/lib/utils/async.js'; import {Debouncer} from '@polymer/polymer/lib/utils/debounce.js'; import {enqueueDebouncer, flush} from '@polymer/polymer/lib/utils/flush.js'; import {html} from '@polymer/polymer/lib/utils/html-tag.js'; import {matches, translate} from '@polymer/polymer/lib/utils/path.js'; import {TemplateInstanceBase} from '@polymer/polymer/lib/utils/templatize.js'; import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js'; /** * `iron-list` displays a virtual, 'infinite' list. The template inside * the iron-list element represents the DOM to create for each list item. * The `items` property specifies an array of list item data. * * For performance reasons, not every item in the list is rendered at once; * instead a small subset of actual template elements *(enough to fill the * viewport)* are rendered and reused as the user scrolls. As such, it is important * that all state of the list template is bound to the model driving it, since the * view may be reused with a new model at any time. Particularly, any state that * may change as the result of a user interaction with the list item must be bound * to the model to avoid view state inconsistency. * * ### Sizing iron-list * * `iron-list` must either be explicitly sized, or delegate scrolling to an * explicitly sized parent. By "explicitly sized", we mean it either has an * explicit CSS `height` property set via a class or inline style, or else is sized * by other layout means (e.g. the `flex` or `fit` classes). * * #### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output) * * ```html * * ``` * #### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output) * ```html * * ``` * #### Main document scrolling - * [jsbin](https://jsbin.com/wevirow/edit?html,output) * ```html * * * * * App name * * * * * ``` * * `iron-list` must be given a `