{"_id":"@polymer/iron-list","_rev":"53-d05dd10a8394a3ee6ab7306a839919ce","name":"@polymer/iron-list","dist-tags":{"preview":"1.4.0-pre.3","next":"3.0.0-pre.20","latest":"3.1.0"},"versions":{"0.0.1":{"name":"@polymer/iron-list","version":"0.0.1","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@0.0.1","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list#readme","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"74a06118fa2f7ebee7eb2b10d11ca972599320b7","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-0.0.1.tgz","integrity":"sha512-MyYasy1qchjxlhpSsu9uYlqdX00cL0lM11zNWfjtITcRM10czW9smuViCZo8yJzJS6lSFstNPhlA5xwCHoBXqA==","signatures":[{"sig":"MEYCIQCOJWIEd2KyVOuBkUW0VZkmwdgdTHnelilHojEFbX8qbgIhAMDyFrndPaLf7Xa0IERxE8bna7p8EcUr2XpEScfF6SUj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"74a06118fa2f7ebee7eb2b10d11ca972599320b7","gitHead":"30c9e175cecd5a16c5b8e3e447a387f4d0e3d6da","scripts":{},"_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"3.3.6","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"5.0.0","dependencies":{"@polymer/polymer":"^1.2.5-npm-test.2","@polymer/iron-a11y-keys-behavior":"^0.0.1","@polymer/iron-resizable-behavior":"^0.0.1","@polymer/iron-scroll-target-behavior":"^0.0.1"},"devDependencies":{"webcomponents.js":"^0.7.2","@polymer/iron-ajax":"^0.0.1","@polymer/iron-icon":"^0.0.1","@polymer/app-layout":"master","@polymer/iron-icons":"^0.0.1","@polymer/paper-item":"^0.0.1","@polymer/paper-menu":"^0.0.1","@polymer/paper-badge":"^0.0.1","web-component-tester":"^4.0.0","@polymer/paper-button":"^0.0.1","@polymer/test-fixture":"^0.0.1","@polymer/paper-spinner":"^0.0.1","@polymer/iron-flex-layout":"^0.0.1","@polymer/iron-test-helpers":"^0.0.1","@polymer/paper-icon-button":"^0.0.1","@polymer/iron-component-page":"^0.0.1","@polymer/iron-scroll-threshold":"^0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-0.0.1.tgz_1454388253416_0.7677331857848912","host":"packages-8-eu.internal.npmjs.com"}},"0.0.3":{"name":"@polymer/iron-list","version":"0.0.3","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@0.0.3","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list#readme","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"c9cea41f101d61925a51dcc369bf42548d67fc33","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-0.0.3.tgz","integrity":"sha512-0lKd+Ibyqh0vO2jYa2nreGjoQjFm/tcSkfNpDFatBtxkjWKCu0RIoVGtOYwTX0ZmVSsw6hdZlQUolpERJXB8vA==","signatures":[{"sig":"MEUCIQCZ9mO3oqvkaxKJT6C7ZqgCNZAMJfI+fTnzLHucp4yfCwIgcztQM4ia8qszveE9c4zEPjonzEM1swS8tqrE9DPxZkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"c9cea41f101d61925a51dcc369bf42548d67fc33","gitHead":"4307c8fee351b31deb5fde36a1a6d0a2b683564a","scripts":{},"_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"3.3.6","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"5.0.0","dependencies":{"@polymer/polymer":"^1.2.5-npm-test.2","@polymer/iron-a11y-keys-behavior":"^0.0.3","@polymer/iron-resizable-behavior":"^0.0.3","@polymer/iron-scroll-target-behavior":"^0.0.3"},"devDependencies":{"webcomponents.js":"^0.7.2","@polymer/iron-ajax":"^0.0.3","@polymer/iron-icon":"^0.0.3","@polymer/app-layout":"master","@polymer/iron-icons":"^0.0.3","@polymer/paper-item":"^0.0.3","@polymer/paper-menu":"^0.0.3","@polymer/paper-badge":"^0.0.3","web-component-tester":"^4.0.0","@polymer/paper-button":"^0.0.3","@polymer/test-fixture":"^0.0.3","@polymer/paper-spinner":"^0.0.3","@polymer/iron-flex-layout":"^0.0.3","@polymer/iron-test-helpers":"^0.0.3","@polymer/paper-icon-button":"^0.0.3","@polymer/iron-component-page":"^0.0.3","@polymer/iron-scroll-threshold":"^0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-0.0.3.tgz_1454459141617_0.9436361696571112","host":"packages-5-east.internal.npmjs.com"}},"0.0.4":{"name":"@polymer/iron-list","version":"0.0.4","keywords":["web-components","polymer","list","virtual-list"],"license":"SEE LICENSE IN http://polymer.github.io/LICENSE.txt","_id":"@polymer/iron-list@0.0.4","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"0a81beb989b1c9eb423f79e7234a9dd0f0ba2563","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-0.0.4.tgz","integrity":"sha512-/Mt0gKm5xyG3HFp0GEGosf8AJ2OepTpz+x3pQ6VD+NqO2NIsO4Onu0yeDE6038gf93U2XnVobRFRMuu4C1TFKw==","signatures":[{"sig":"MEYCIQD4Uii7IZmZauTHw/DPMKjwEL2L8Q7146Fc0IZgQdJ65AIhANDEH0yHVpuur2/ijhzoBTj7s66/sSAAu+AonwY/3cEt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","_from":".","_shasum":"0a81beb989b1c9eb423f79e7234a9dd0f0ba2563","scripts":{},"_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"3.10.3","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"6.4.0","dependencies":{"@polymer/polymer":"gloo","@polymer/iron-a11y-keys-behavior":"gloo","@polymer/iron-resizable-behavior":"gloo","@polymer/iron-scroll-target-behavior":"gloo"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/iron-list-0.0.4.tgz_1483687848178_0.900346860056743","host":"packages-12-west.internal.npmjs.com"}},"1.4.0-pre.1":{"name":"@polymer/iron-list","version":"1.4.0-pre.1","keywords":["web-components","polymer","list","virtual-list"],"license":"SEE LICENSE IN http://polymer.github.io/LICENSE.txt","_id":"@polymer/iron-list@1.4.0-pre.1","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"fb77f46410fd9db4ba999ae98948feb1ae7c5622","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-1.4.0-pre.1.tgz","integrity":"sha512-JdOftp2DGj5RMauZ4wtVTO7B73PEu6no5t2XSdLNM0CZwdtET/VY9QC/H2K2Fm4sITnrKICJqHgqD7mYkqW3wQ==","signatures":[{"sig":"MEYCIQDdwsBKZdr4k+sHmSEX1ya7EQZ9w+6olm1dI8PShlXfsAIhALP0VXPtbWjqBOL+VqSUtYIyoQeoCaaU/nMi4FqL7q9B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","_from":".","_shasum":"fb77f46410fd9db4ba999ae98948feb1ae7c5622","scripts":{},"_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"3.10.3","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"6.4.0","dependencies":{"@polymer/polymer":"gloo","@polymer/iron-a11y-keys-behavior":"gloo","@polymer/iron-resizable-behavior":"gloo","@polymer/iron-scroll-target-behavior":"gloo"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/iron-list-1.4.0-pre.1.tgz_1484789563872_0.47753546643070877","host":"packages-18-east.internal.npmjs.com"}},"1.4.0-pre.2":{"name":"@polymer/iron-list","version":"1.4.0-pre.2","keywords":["web-components","polymer","list","virtual-list"],"license":"SEE LICENSE IN http://polymer.github.io/LICENSE.txt","_id":"@polymer/iron-list@1.4.0-pre.2","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"0e417f37995a0ec2516bbf860c3eb4e6c5db00a5","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-1.4.0-pre.2.tgz","integrity":"sha512-0FTj+R1N84X7fvEOnHNWg6noIcMElx2pczpku/FnxeCwgP4qrOk0RKUWBn08WO2tq+M3MkNIVzmjF0n18CCDDg==","signatures":[{"sig":"MEQCIGheYE8gJ4tBD1QxFpJL6XTrYPVCCS66FC+e2pkKOYzeAiBOXUH8hGukgseZr7vvyXPiMsKAImmHyOWAe8PzMZtImA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","_from":".","_shasum":"0e417f37995a0ec2516bbf860c3eb4e6c5db00a5","scripts":{},"_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"3.10.3","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"6.4.0","dependencies":{"@polymer/polymer":"gloo","@polymer/iron-a11y-keys-behavior":"gloo","@polymer/iron-resizable-behavior":"gloo","@polymer/iron-scroll-target-behavior":"gloo"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/iron-list-1.4.0-pre.2.tgz_1484954681681_0.2809367938898504","host":"packages-12-west.internal.npmjs.com"}},"1.4.0-pre.3":{"name":"@polymer/iron-list","version":"1.4.0-pre.3","keywords":["web-components","polymer","list","virtual-list"],"license":"SEE LICENSE IN http://polymer.github.io/LICENSE.txt","_id":"@polymer/iron-list@1.4.0-pre.3","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"9beba1709ea1f06a813dccbdfea498df12aa25ec","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-1.4.0-pre.3.tgz","integrity":"sha512-fInAoPMuG2LClTRXY/Vdb80IV1gogEk3zgZEPyW0ve+QYkk715jvAK3QosLrWu/rtAXQI9qaanfdEFNn89TzJA==","signatures":[{"sig":"MEYCIQC8Vl848McujhdImFsUMadzC6t1NPHbXrzPaaCZmU52PwIhAMsCTN2sZZ+tDUMMFjdZs9bAAqeG2JI6MQqlZXU9WVh+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","_from":".","_shasum":"9beba1709ea1f06a813dccbdfea498df12aa25ec","scripts":{},"_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"3.10.3","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"6.4.0","dependencies":{"@polymer/polymer":"preview","@polymer/iron-a11y-keys-behavior":"preview","@polymer/iron-resizable-behavior":"preview","@polymer/iron-scroll-target-behavior":"preview"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/iron-list-1.4.0-pre.3.tgz_1485217288526_0.6628649446647614","host":"packages-12-west.internal.npmjs.com"}},"3.0.0-pre.1":{"name":"@polymer/iron-list","version":"3.0.0-pre.1","keywords":["web-components","polymer","list","virtual-list"],"license":"http://polymer.github.io/LICENSE.txt","_id":"@polymer/iron-list@3.0.0-pre.1","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"8fda06e384b3676d466583d4466b3331508d0bf5","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.1.tgz","integrity":"sha512-J4AO0MWFZfbIhjOMj2gbRxRtJQG/kK3TsiYrhJ4AqJ+C6emELzHhErYUc5m4cDHxAoiHr0b8BYWkkRtbcnHoFQ==","signatures":[{"sig":"MEUCIQDg1q0CE/zOeRae8uPfu9LQHYFoO9u4CbAT0enTXJwFNwIgbNmanfCY6j81MEyce8cM4TimNuSBEAfNXmq/0ulaxqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","gitHead":"f018ee7f2f6808090716b18941ef971f113bb217","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.3.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"8.2.1","dependencies":{"@polymer/polymer":"^3.0.0-pre.1","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.1","@polymer/iron-resizable-behavior":"^3.0.0-pre.1","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.1"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/iron-list-3.0.0-pre.1.tgz_1503386585133_0.710087105166167","host":"s3://npm-registry-packages"}},"3.0.0-pre.2":{"name":"@polymer/iron-list","version":"3.0.0-pre.2","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.2","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"bf47a75e1f7446da98728810737196e8ae47fbf4","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.2.tgz","integrity":"sha512-4A7TxcmuzY9Mm5LbteglFMfbBB5yFC9dCbqJE/5DKCMqRG1QsqwavIk30gTFlxR4gmvw8tFp+ETY+apt6U6zRQ==","signatures":[{"sig":"MEUCIBT/TRHVyDpW7xomf6eOgrbZk1yNrMdbELHdHyKrUZNOAiEAnkNO0Xrwhu7HkgAoiT7TU7wT15SUcb158uSu8ui05HQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","gitHead":"c3b4cdfd634a474ebc999562d6ebd4f4fa211490","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.5.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.2.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.1","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.1","@polymer/iron-resizable-behavior":"^3.0.0-pre.1","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.1"},"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.1","@polymer/iron-icon":"^3.0.0-pre.1","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.1","@polymer/iron-icons":"^3.0.0-pre.1","@polymer/iron-image":"^3.0.0-pre.1","@polymer/paper-item":"^3.0.0-pre.1","@polymer/paper-badge":"^3.0.0-pre.1","@polymer/paper-button":"^3.0.0-pre.1","@polymer/test-fixture":"^3.0.0-pre.1","@polymer/paper-spinner":"^3.0.0-pre.1","@polymer/iron-flex-layout":"^3.0.0-pre.1","@polymer/iron-test-helpers":"^3.0.0-pre.1","@polymer/paper-icon-button":"^3.0.0-pre.1","@polymer/paper-menu-button":"^3.0.0-pre.1","@polymer/iron-component-page":"^3.0.0-pre.1","@polymer/iron-scroll-threshold":"^3.0.0-pre.1","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-3.0.0-pre.2.tgz_1515721287193_0.8779879552312195","host":"s3://npm-registry-packages"}},"3.0.0-pre.3":{"name":"@polymer/iron-list","version":"3.0.0-pre.3","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.3","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d5327187ed19a41313db0aed005f47c5f25e0efc","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.3.tgz","integrity":"sha512-Fx2vqsGvZFBCuS8akhTP50dma0bWxfeHYnyR8EtgdVNxHnn7xwXoPWSVjFfO06/vGjaF5UoOv28aXVA0QWi0UA==","signatures":[{"sig":"MEYCIQCdvE3Eppz1Mr6+nn4H2XAg/kDh3O5RTXWnW8a/i+jUuAIhAKGPgnbPoViRyxUxcCh8I+vGzvKDQA0TbZWiENzzzr73","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","gitHead":"b9c55460c8e08913b35374c31c34b3a305f5faee","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.5.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.2.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.3","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.3","@polymer/iron-resizable-behavior":"^3.0.0-pre.3","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.3"},"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.3","@polymer/iron-icon":"^3.0.0-pre.3","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.3","@polymer/iron-icons":"^3.0.0-pre.3","@polymer/iron-image":"^3.0.0-pre.3","@polymer/paper-item":"^3.0.0-pre.3","@polymer/paper-badge":"^3.0.0-pre.3","@polymer/paper-button":"^3.0.0-pre.3","@polymer/test-fixture":"^3.0.0-pre.3","@polymer/paper-spinner":"^3.0.0-pre.3","@polymer/iron-flex-layout":"^3.0.0-pre.3","@polymer/iron-test-helpers":"^3.0.0-pre.3","@polymer/paper-icon-button":"^3.0.0-pre.3","@polymer/paper-menu-button":"^3.0.0-pre.3","@polymer/iron-component-page":"^3.0.0-pre.3","@polymer/iron-scroll-threshold":"^3.0.0-pre.3","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-3.0.0-pre.3.tgz_1515725436566_0.7598528258968145","host":"s3://npm-registry-packages"}},"3.0.0-pre.4":{"name":"@polymer/iron-list","version":"3.0.0-pre.4","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.4","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d2051e6565e60cfbbe8fce1287d212a3c3ce0082","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.4.tgz","integrity":"sha512-FtRhfuSVN+RsOBzTtbvoc17AnLGjs1LvNKj0qNaEKS73QJbwt0xTLgMvY3JPxGt5Kr2XMoGKR93eAtaKsRdLUQ==","signatures":[{"sig":"MEQCIAXeE+bRA/uyU56UFZ+ELF/1kLjzPt0CHWDHf1xW5ZJ8AiA067wPi19qGDMFgWaOSJTHVybUEKj6vpS5/JQeLD45tg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","gitHead":"b2fb05e0b5a271d8f79a6aa4e5059a1072b7e02f","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.5.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.2.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.4","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.4","@polymer/iron-resizable-behavior":"^3.0.0-pre.4","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.4"},"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.4","@polymer/iron-icon":"^3.0.0-pre.4","wct-browser-legacy":"0.0.1-pre.10","@polymer/app-layout":"^3.0.0-pre.4","@polymer/iron-icons":"^3.0.0-pre.4","@polymer/iron-image":"^3.0.0-pre.4","@polymer/paper-item":"^3.0.0-pre.4","@polymer/paper-badge":"^3.0.0-pre.4","@polymer/paper-button":"^3.0.0-pre.4","@polymer/test-fixture":"^3.0.0-pre.4","@polymer/paper-spinner":"^3.0.0-pre.4","@polymer/iron-flex-layout":"^3.0.0-pre.4","@polymer/iron-test-helpers":"^3.0.0-pre.4","@polymer/paper-icon-button":"^3.0.0-pre.4","@polymer/paper-menu-button":"^3.0.0-pre.4","@polymer/iron-component-page":"^3.0.0-pre.4","@polymer/iron-scroll-threshold":"^3.0.0-pre.4","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-3.0.0-pre.4.tgz_1516145849401_0.37228235811926425","host":"s3://npm-registry-packages"}},"3.0.0-pre.6":{"name":"@polymer/iron-list","version":"3.0.0-pre.6","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.6","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"a23020fbda9ca9fb63ee2f2aae7f78f48b326cb4","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.6.tgz","integrity":"sha512-6izb/VKQoj3czGfszgBpaICWWLFSw8C/EZZsxjyFAQJWVlZKHIR4GwiehFBVOK/HHQny3MiptetG9mqedPh3uQ==","signatures":[{"sig":"MEQCIG5M76mHqlVf5xTsxBkJN6uEp6VZtrcffKcXj3pRZAKgAiBKi2qDKtZC23WKE1jhoQZ+28vZCxwCUt94r3kfOxD3ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","gitHead":"7a9bb951b52d80dece7fe860e38e05796ffee070","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.6.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.4.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.6","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.6","@polymer/iron-resizable-behavior":"^3.0.0-pre.6","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.6"},"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.6","@polymer/iron-icon":"^3.0.0-pre.6","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.6","@polymer/iron-icons":"^3.0.0-pre.6","@polymer/iron-image":"^3.0.0-pre.6","@polymer/paper-item":"^3.0.0-pre.6","@polymer/paper-badge":"^3.0.0-pre.6","@polymer/paper-button":"^3.0.0-pre.6","@polymer/test-fixture":"^3.0.0-pre.6","@polymer/paper-spinner":"^3.0.0-pre.6","@polymer/iron-flex-layout":"^3.0.0-pre.6","@polymer/iron-test-helpers":"^3.0.0-pre.6","@polymer/paper-icon-button":"^3.0.0-pre.6","@polymer/paper-menu-button":"^3.0.0-pre.6","@polymer/iron-component-page":"^3.0.0-pre.6","@polymer/iron-scroll-threshold":"^3.0.0-pre.6","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-3.0.0-pre.6.tgz_1516834340414_0.9905279139056802","host":"s3://npm-registry-packages"}},"3.0.0-pre.7":{"name":"@polymer/iron-list","version":"3.0.0-pre.7","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.7","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d5ca207a9a82cfef28ecfc624162a753d835c555","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.7.tgz","integrity":"sha512-md+0o0aMnHuqsdYh6f385KWVBmb4q5NmXcaH/ATBkodtwFva5tlre/RlwygiGnnNkqEr3KP3EK+TWOiPEm5eGg==","signatures":[{"sig":"MEQCIAiyXbuTusZqP3ePTG3WoH9jc7fQ/y4SI1S0UEo8x9ClAiBJ+5pW2L33/peseEvk0JrPPY0GujPOUaXzFL9w0QLBDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"flat":true,"main":"iron-list.html","gitHead":"1d9f03f060ec7184b55d87589f560054bdbce19e","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.6.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.4.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.7","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.7","@polymer/iron-resizable-behavior":"^3.0.0-pre.7","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.7"},"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.7","@polymer/iron-icon":"^3.0.0-pre.7","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.7","@polymer/iron-icons":"^3.0.0-pre.7","@polymer/iron-image":"^3.0.0-pre.7","@polymer/paper-item":"^3.0.0-pre.7","@polymer/paper-badge":"^3.0.0-pre.7","@polymer/paper-button":"^3.0.0-pre.7","@polymer/test-fixture":"^3.0.0-pre.7","@polymer/paper-spinner":"^3.0.0-pre.7","@polymer/iron-flex-layout":"^3.0.0-pre.7","@polymer/iron-test-helpers":"^3.0.0-pre.7","@polymer/paper-icon-button":"^3.0.0-pre.7","@polymer/paper-menu-button":"^3.0.0-pre.7","@polymer/iron-component-page":"^3.0.0-pre.7","@polymer/iron-scroll-threshold":"^3.0.0-pre.7","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list-3.0.0-pre.7.tgz_1517338117204_0.9968592040240765","host":"s3://npm-registry-packages"}},"3.0.0-pre.8":{"name":"@polymer/iron-list","version":"3.0.0-pre.8","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.8","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d3312afd82cf29394a1d9b4f3d1eac5b0510a9bd","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.8.tgz","fileCount":49,"integrity":"sha512-nxcpcs7ZSn5GqFm1CgmWVTkVXYPn3vRUcUrrktdSaCyD9vQ3x5PGOZzzRA8WkvYMCxRb0tW5vH5+QjYOHbCR0w==","signatures":[{"sig":"MEQCIE4Xau8xBeoA2gGS8HrmQPWMHitMlbDr1QGCigs71PD4AiAu6Dp+WhG55atNQ3ZAcbkVB5n4rok7JE3jxTLq19UraQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1694582},"flat":true,"main":"iron-list.html","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"6e2f1163b07e85e883c9a382248dfaec22930823","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.5.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.2.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.7","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.7","@polymer/iron-resizable-behavior":"^3.0.0-pre.7","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.7","@polymer/iron-icon":"^3.0.0-pre.7","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.7","@polymer/iron-icons":"^3.0.0-pre.7","@polymer/iron-image":"^3.0.0-pre.7","@polymer/paper-item":"^3.0.0-pre.7","@polymer/paper-badge":"^3.0.0-pre.7","@polymer/paper-button":"^3.0.0-pre.7","@polymer/test-fixture":"^3.0.0-pre.7","@polymer/paper-spinner":"^3.0.0-pre.7","@polymer/iron-flex-layout":"^3.0.0-pre.7","@polymer/iron-test-helpers":"^3.0.0-pre.7","@polymer/paper-icon-button":"^3.0.0-pre.7","@polymer/paper-menu-button":"^3.0.0-pre.7","@polymer/iron-component-page":"^3.0.0-pre.7","@polymer/iron-scroll-threshold":"^3.0.0-pre.7","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.8_1518029797436_0.022320079361099365","host":"s3://npm-registry-packages"}},"3.0.0-pre.10":{"name":"@polymer/iron-list","version":"3.0.0-pre.10","keywords":["web-components","polymer","list","virtual-list"],"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.10","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"contributors":[{"name":"The Polymer Authors"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"a7ea6b94d92a325404cb4806ac30ca0b61735923","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.10.tgz","fileCount":20,"integrity":"sha512-HbQM90+3qV5MV3Ub5WdXNZX2QGbesH8qmgKFtQn874ckQXL1Su8nQ6I+Eqek6AiMZDBnpjHac8uzIjivTfR1Cg==","signatures":[{"sig":"MEYCIQDZ67Qa+n2tWfdV/pTLaK3yllih8yttguN9d6XH85zaCwIhANMVXv2jl/Z8VSKh9QOdBn6d2Im75fpzLghVg7ucdS+E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1066889},"flat":true,"main":"iron-list.html","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"7ed7a53e1e5dd6b6b126a788176004d156c210a1","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.4.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"8.2.1","dependencies":{"@polymer/polymer":"^3.0.0-pre.10","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.10","@polymer/iron-resizable-behavior":"^3.0.0-pre.10","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.10","@polymer/iron-icon":"^3.0.0-pre.10","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.10","@polymer/iron-icons":"^3.0.0-pre.10","@polymer/iron-image":"^3.0.0-pre.10","@polymer/paper-item":"^3.0.0-pre.10","@polymer/paper-badge":"^3.0.0-pre.10","@polymer/paper-button":"^3.0.0-pre.10","@polymer/test-fixture":"^3.0.0-pre.10","@polymer/paper-spinner":"^3.0.0-pre.10","@polymer/iron-flex-layout":"^3.0.0-pre.10","@polymer/iron-test-helpers":"^3.0.0-pre.10","@polymer/paper-icon-button":"^3.0.0-pre.10","@polymer/paper-menu-button":"^3.0.0-pre.10","@polymer/iron-component-page":"^3.0.0-pre.10","@polymer/iron-scroll-threshold":"^3.0.0-pre.10","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.10_1519341332630_0.04488118146768616","host":"s3://npm-registry-packages"}},"3.0.0-pre.11":{"name":"@polymer/iron-list","version":"3.0.0-pre.11","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.11","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"e12d181f577afa2c4f42d9df0ae458544b1fb53b","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.11.tgz","fileCount":48,"integrity":"sha512-xmN2Ogx8waQOR1htd9HW+sTa5ExI0I3IQWBr53dFRi0/kg+nYvNJS52CjA1WBJoSVGMuWTbCgsD56VBL/JorFw==","signatures":[{"sig":"MEUCIH9EX5J3UQ/arvOoUPv3f0xgvbmjXQuU8dmffMhROP9dAiEAoes88su1iSuwVxp1HMrhkn+1yaQ9Vj1RfJmslb8yI4Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1692124},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"cea3149e0687dba66c8c3aace4b04846dbd7fa8b","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.6.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.7.1","dependencies":{"@polymer/polymer":"^3.0.0-pre.10","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.10","@polymer/iron-resizable-behavior":"^3.0.0-pre.10","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.10","@polymer/iron-icon":"^3.0.0-pre.10","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.10","@polymer/iron-icons":"^3.0.0-pre.10","@polymer/iron-image":"^3.0.0-pre.10","@polymer/paper-item":"^3.0.0-pre.10","@polymer/paper-badge":"^3.0.0-pre.10","@polymer/paper-button":"^3.0.0-pre.10","@polymer/test-fixture":"^3.0.0-pre.10","@polymer/paper-spinner":"^3.0.0-pre.10","@polymer/iron-flex-layout":"^3.0.0-pre.10","@polymer/iron-test-helpers":"^3.0.0-pre.10","@polymer/paper-icon-button":"^3.0.0-pre.10","@polymer/paper-menu-button":"^3.0.0-pre.10","@polymer/iron-component-page":"^3.0.0-pre.10","@polymer/iron-scroll-threshold":"^3.0.0-pre.10","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.11_1520558239743_0.9133258649985574","host":"s3://npm-registry-packages"}},"3.0.0-pre.12":{"name":"@polymer/iron-list","version":"3.0.0-pre.12","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.12","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"332a7a0c5bd56b2ecb8f33c33056132d294b89ca","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.12.tgz","fileCount":49,"integrity":"sha512-ryymx/trFw1oQzic4JnuSdvSV2tkU76UVUM4ii4DHGRn33FwR2kEh/3Pr0E48+eyheCfkvPaQ+Ib1t/RFWeU8w==","signatures":[{"sig":"MEYCIQCD1AFeOUgSm3kt5LCkTIirfFk8xFqfvPpiIid4Javc4QIhAJX8g+ykGqPN2PMtWRZLm8vBHPGKwO57TpaEkcn0DPWr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1697133},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"f024a3eb83d3d320a0cbd8f6f9e06d1e8a1b8638","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"5.5.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.2.0","dependencies":{"@polymer/polymer":"3.0.0-pre.12","@polymer/iron-a11y-keys-behavior":"3.0.0-pre.12","@polymer/iron-resizable-behavior":"3.0.0-pre.12","@polymer/iron-scroll-target-behavior":"3.0.0-pre.12"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"3.0.0-pre.12","@polymer/iron-icon":"3.0.0-pre.12","wct-browser-legacy":"0.0.1-pre.11","@polymer/app-layout":"3.0.0-pre.12","@polymer/iron-icons":"3.0.0-pre.12","@polymer/iron-image":"3.0.0-pre.12","@polymer/paper-item":"3.0.0-pre.12","@polymer/paper-badge":"3.0.0-pre.12","@polymer/paper-button":"3.0.0-pre.12","@polymer/test-fixture":"3.0.0-pre.12","@polymer/paper-spinner":"3.0.0-pre.12","@polymer/iron-flex-layout":"3.0.0-pre.12","@polymer/iron-test-helpers":"3.0.0-pre.12","@polymer/paper-icon-button":"3.0.0-pre.12","@polymer/paper-menu-button":"3.0.0-pre.12","@polymer/iron-component-page":"3.0.0-pre.12","@polymer/iron-scroll-threshold":"3.0.0-pre.12","@webcomponents/webcomponentsjs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.12_1521737807794_0.06971547026267388","host":"s3://npm-registry-packages"}},"3.0.0-pre.13":{"name":"@polymer/iron-list","version":"3.0.0-pre.13","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.13","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"88b29c2debb3ce268fb5abfcc97c98534852f0c4","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.13.tgz","fileCount":49,"integrity":"sha512-niOwP3poLgoe2v8HTlvoCjioL0fWF3sJW3Jm3pN8PH4bkq9PNTOQyWB6htKZuay+D+CGaS30XeUVVsiPG5zPiA==","signatures":[{"sig":"MEUCIH+VnFzLej113shaMESQsiGojDoIs5flTwJvKla7HockAiEAqS+yPhXIDcGPfc0AFo/dutfjPk7++yayagQC9aHdr/Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1704566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6PDACRA9TVsSAnZWagAAlzYP/04BTv7aILSbJAh3aUPC\nE54eWgRM5u3wrVkJuPepvx/gxnRQ4wRXkDpL+5itftep5O6sYC8fzEGtzEpH\nQsJyxFIHSiDu1x+0RRAd643Vmz2T5IVlpjFz7CuXpRPyFdYMaPmd/i0m99eK\nKKWlnWuNXt7MuQXVh3vpsgK1pWQOczlekQF1J0fPf5rHgZ9fS3g2oxWcBUVd\n5vTIpm2+9XDSb/kKegUS7mikOaoT1Kknwv2sEJ+cXwFoO8ZaB2F+hzf/2SJr\n4QCtR+ZAE+u1Mj7bmbkH1nnk50QrkXnqP9QWd2RZwPeS5G4w3KhCvbVCKyLY\nuNyGJFqqJ3wRMZyVXNh5JEpvJqnLSscK+nj3kwOIvx7flf3goRpC+d7BNbZA\n6iLTysYL0MQGeSGf85hpmVphio617mVaB2N4q00a1NRQgcAlMbhjl1oqJXXD\n2040PNG/d746HU4j12xS7m/0L6dcdHWOFlUFDXS4Tyiu79S5gw4VRe7gE3VC\nFQGcJHtNyyBqv/xhz8dooSb/bf+pTNJUpfQQTkm2EdyJEi243fylbKCzxT2R\nQy/QuTKtKEJ86EJxJrs1sifcv4o1+BJsK+oMhaNQMMUXvdeSNmlYOzzhrgGl\nLUnAgIU3Ag1JQfxbsZb+TjaJXw6zyBTOJV2mGYPMs48XXXQl7HCKr7QzQiGx\nMjMR\r\n=ttz2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"811ff63d17d85e8a11029746e0cbe479ccbb26af","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.13","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.13","@polymer/iron-resizable-behavior":"^3.0.0-pre.13","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.13"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.13","@polymer/iron-icon":"^3.0.0-pre.13","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.13","@polymer/iron-icons":"^3.0.0-pre.13","@polymer/iron-image":"^3.0.0-pre.13","@polymer/paper-item":"^3.0.0-pre.13","@polymer/paper-badge":"^3.0.0-pre.13","@polymer/paper-button":"^3.0.0-pre.13","@polymer/test-fixture":"^3.0.0-pre.13","@polymer/paper-spinner":"^3.0.0-pre.13","@polymer/iron-flex-layout":"^3.0.0-pre.13","@polymer/iron-test-helpers":"^3.0.0-pre.13","@polymer/paper-icon-button":"^3.0.0-pre.13","@polymer/paper-menu-button":"^3.0.0-pre.13","@polymer/iron-component-page":"^3.0.0-pre.13","@polymer/iron-scroll-threshold":"^3.0.0-pre.13","@webcomponents/webcomponentsjs":"^2.0.0-0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.13_1525215423235_0.27801561337331093","host":"s3://npm-registry-packages"}},"3.0.0-pre.14":{"name":"@polymer/iron-list","version":"3.0.0-pre.14","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.14","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"179cb4e96910e5c975da68f724df1f0d216c89e6","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.14.tgz","fileCount":49,"integrity":"sha512-Ezbq0GOszwJ5Mx9B8pHaJYnE0RcsBQlmAJk4qFIGFrGpDcNuxh+M8Bx1252sGRYMcpjiZboOHfWWWTlIUxCGtg==","signatures":[{"sig":"MEQCIDtH+Rn+EwbhVI/in+QoaH/RqYkgAYD22Ux36rdJq3XSAiAydyBhmcCs3PB72RK5MOxXBCCYpdURD2r4KxbHokDTng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1704914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6QhQCRA9TVsSAnZWagAAfJsP/14RB58SuML90SYoA64q\n+hd11UgSvNDnJm9cL78gXyOmomW/gcmzqtVf+2J+a5aCBYS2SmqJFa/uTeMA\nfX2b3BgPK90Tlg0Fv8EBDRwX1imU559nmaQD5kZcF/cWFohaq/zciLW01hQ3\n/7rpx4ZVq5KMVUcLIr/G5M0baooa1rT+hHvJJWCZAv1ccXIAeOlsVRNXkCTL\nqIg3UTbzRhmN4T7iZJI5GmiRDn9LSaa2kIt+6qwjMCneCIQAWOqO9/ieMS5k\nzaEh3eYCqUHoWemeKGfIbwmKxXN8St65c3OfYpUFoHoaSykl7NJbZJsruK8k\ne5QR3FdH7O65PaiNeGE+9vHo9qWtwC1YBMrHhQezlcx9Giusc7h5W9DBXp47\nbuENf6qT35xS2wmfKaX3DwIgjqkjUqKPB511VyJ8FAQIuqzCdW/3sbOzJGE0\nw32L7jUq9olPqa5mMghJmzlYYtgXLgZTmjcWSo3eYj0QlWLfDGsTaoarU3CR\n87v1KaqiAq5WJpY2rH9DsZXuo7t8qn9YkMqAxjVIOXThf7VTfzefk8somXav\nwePotxr+U8ypp/QqPpj7UHiOxlqGTKrA86p7LylwDDpEP3hqZrXaRFKYq20Y\nX83MRmIgPQYogJfpVtu8NWZYc/jh9RJX99CA5F7kME7rwOv2Asq953eS118G\nxqvx\r\n=9GnX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"b28208dc8681895009b53a9cb195df94908b6efc","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.13","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.14","@polymer/iron-resizable-behavior":"^3.0.0-pre.14","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.14"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.14","@polymer/iron-icon":"^3.0.0-pre.14","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.14","@polymer/iron-icons":"^3.0.0-pre.14","@polymer/iron-image":"^3.0.0-pre.14","@polymer/paper-item":"^3.0.0-pre.14","@polymer/paper-badge":"^3.0.0-pre.14","@polymer/paper-button":"^3.0.0-pre.14","@polymer/test-fixture":"^3.0.0-pre.14","@polymer/paper-spinner":"^3.0.0-pre.14","@polymer/iron-flex-layout":"^3.0.0-pre.14","@polymer/iron-test-helpers":"^3.0.0-pre.14","@polymer/paper-icon-button":"^3.0.0-pre.14","@polymer/paper-menu-button":"^3.0.0-pre.14","@polymer/iron-component-page":"^3.0.0-pre.14","@polymer/iron-scroll-threshold":"^3.0.0-pre.14","@webcomponents/webcomponentsjs":"^2.0.0-0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.14_1525221455684_0.6821208470260147","host":"s3://npm-registry-packages"}},"3.0.0-pre.15":{"name":"@polymer/iron-list","version":"3.0.0-pre.15","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.15","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"f6315b26b9023ccc2b24df74510d3b40ca550e0c","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.15.tgz","fileCount":50,"integrity":"sha512-5TrrgATQ6Kxz65yDE6XGBJeMODDhe8WatwWCElGsUSulcfI2OE4jirkKlRKvg2AKqn4WNG/fJx9cr0HxK9G6Zg==","signatures":[{"sig":"MEUCIATo5b/EwrGxHKAgfM7j6S435DopoLSwZRcNhrPbk0WGAiEA4k65AuCJ7QwYl4rh+7Gnz/cB52kyyIgYmh0psauCQTQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1708601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6iWUCRA9TVsSAnZWagAA2tIP/16Lq0HOY/Ckn2KSlNtA\nl8ZA4LyzkWWPg23THBLMA6G1TTYd+ZX6mNcgOoBAPFUD0uLW1fqYyStmfh2A\nWq3IHG3b389VyaqfwtlF2IWjFKnA1WL3vPK266qtM2vLC2mjdGbu0YBPRiS7\nXrmgrD06LUQFeSWSCSaAIUCSW/Gv+a+eb18btStx2eTqVAI5l01L96K+aOwa\n1tmv8/VL8qb7j1B3acqLxw9k1kkziEsvJU90fiw6DA2nQr/0oCxOq3BodG0r\nj95Xs1SBPTkPtcoRjQBvfWpOoAHkR3Azn21CG6kZnpFGRSYwxJYMWLL9A/Fp\ny0PohtGNPn9sakI5t2OKG+kx9R4li7RHgX69dayuRD0kT1N8TXYj3ju/RMau\nadnw6DDuuxoTm6MmcKhmxnnBQQJ2jKnvYMEM9CdRTZcjx768Jsv9nDJFfxZ6\nOu+g0RHN3ntvqh0H7X1CGV9iy3yOmpUvr7CONWX4IZ/MdShl1Lb50CzQDfnK\njPOG0Szo0113pDIi7ayqk5m7LaGGCeebr6+WzcDDVIzxCx46mntrm1AZt5Vp\nUTqkk/lOAvqEBQS/3FcJEYco13fOlAVJ2UwckcPt99+pfI/n59iRyJdCco7T\nB4KLyKmeluMO90z/tpYF3nOPbLFWGKM+2VYOJ4WjA/A3SlA4R7W2fjapHmLw\nxjtR\r\n=7PHo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"544b99b8098a0ed1e842fe30b9e04517aba74088","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.13","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.15","@polymer/iron-resizable-behavior":"^3.0.0-pre.15","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.15"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.15","@polymer/iron-icon":"^3.0.0-pre.15","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.15","@polymer/iron-icons":"^3.0.0-pre.15","@polymer/iron-image":"^3.0.0-pre.15","@polymer/paper-item":"^3.0.0-pre.15","@polymer/paper-badge":"^3.0.0-pre.15","@polymer/paper-button":"^3.0.0-pre.15","@polymer/test-fixture":"^3.0.0-pre.15","@polymer/paper-spinner":"^3.0.0-pre.15","@polymer/iron-flex-layout":"^3.0.0-pre.15","@polymer/iron-test-helpers":"^3.0.0-pre.15","@polymer/paper-icon-button":"^3.0.0-pre.15","@polymer/paper-menu-button":"^3.0.0-pre.15","@polymer/iron-component-page":"^3.0.0-pre.15","@polymer/iron-scroll-threshold":"^3.0.0-pre.15","@webcomponents/webcomponentsjs":"^2.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.15_1525294483781_0.6815066634733387","host":"s3://npm-registry-packages"}},"3.0.0-pre.16":{"name":"@polymer/iron-list","version":"3.0.0-pre.16","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.16","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"cbb1796d355c5accf2399569013ad94b96ce4c25","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.16.tgz","fileCount":50,"integrity":"sha512-HazaCamGq6fvVC2HuKzLp83ksNALqodXUy5dh1xZ66y3GXITZgxXN+gwHIeo59i6pATVkpOS4bLJsw4RBnXsFg==","signatures":[{"sig":"MEQCIDzEqw9Kmyia9sG13ivfTbHtOREx1P4y9tU1Qy4fAGPSAiBz5FdKuPeHfiKvqXnJ0Xv9NkvL2LC916uNua5KzJLUdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1708601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7MAUCRA9TVsSAnZWagAAmbcP/3QuCrgMrDTjIwOvn8iU\ncVSsh13bR8VylejR3XRtsU0XAzhI7hyZK2SHpQeAexYjtadJjpon3xrxjzpw\nL1QZE5+95pftI8fbXLApaghMJpahyXkrgAJFWrgcDBX9W8ojFdDdpk5RbuzI\nKCJgEJyBkoMYaWnFI57/Vls510UQaKFvfaZvTgFgYq4VOajuAWcmc7fgab8W\ng+orvaAbvXcPfcsZlJLbNTUOvB8qoSLfV0xgB2OLqi4Q2padIOdvHbdFdNN+\n8irkjlCwhSsGSxC5MHXrMtiKsoBeliEXCDVfggf6PJx+XHig3NI56oGY6J0I\n9LDgHo3E37FA/skkrlsZ7S42iOPXt7IosQG2cYv2RBel/042YAV0jIEQ7oRY\nl/rarBsya68pU7/1aOfOHJzonXSpli1smwmUJK87fLocFrKCONLhhbErSAQP\nqkixh3haw6ektJoz+6nMtScI+DKhusTAlQRIAHIc6zZfzJQ0Yj3mWKdH/qEE\nxiWaCyH/ZA4ULr4/HilwJ1XPq9/pa3HDTlvsu0e0YMb9mrAnm0sZKH7Oh6wy\njnpllPjIGMek+Ky2T3t6d7Cj5TrbISMw1fKHgD96Gm0BqZAYJ+klDPXiF22d\nXsEwj7aFj3OfeoB6rb3P5W5C9uxzh9X0+g9ReWgADE61YaSKcV41D2eWoLmM\nbGxE\r\n=atql\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"8cf6c0c7168b856791918e71f2509c006948db92","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.13","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.16","@polymer/iron-resizable-behavior":"^3.0.0-pre.16","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.16"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.16","@polymer/iron-icon":"^3.0.0-pre.16","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.16","@polymer/iron-icons":"^3.0.0-pre.16","@polymer/iron-image":"^3.0.0-pre.16","@polymer/paper-item":"^3.0.0-pre.16","@polymer/paper-badge":"^3.0.0-pre.16","@polymer/paper-button":"^3.0.0-pre.16","@polymer/test-fixture":"^3.0.0-pre.16","@polymer/paper-spinner":"^3.0.0-pre.16","@polymer/iron-flex-layout":"^3.0.0-pre.16","@polymer/iron-test-helpers":"^3.0.0-pre.16","@polymer/paper-icon-button":"^3.0.0-pre.16","@polymer/paper-menu-button":"^3.0.0-pre.16","@polymer/iron-component-page":"^3.0.0-pre.16","@polymer/iron-scroll-threshold":"^3.0.0-pre.16","@webcomponents/webcomponentsjs":"^2.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.16_1525465108397_0.9159032096739939","host":"s3://npm-registry-packages"}},"3.0.0-pre.17":{"name":"@polymer/iron-list","version":"3.0.0-pre.17","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.17","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"055edc2b52fe11f33771bdced88a02f7262632a7","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.17.tgz","fileCount":50,"integrity":"sha512-l3PAu+pl3rImzRZic+DXIkJGmE5odh7Nv+iR/WSSTa1SQz38tqayJNbZxBKwTGnhkZqxekXl0pzSuvmZceyP/g==","signatures":[{"sig":"MEQCIFtghIjnY1Qspc8B+CG2G9OUfII4s6TGNnJSLnjUSkJ5AiB3kXzURM0WKgHZTW+kVVqZnhFBqGZJmMtN+xzWp7Lz7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1708769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8TDPCRA9TVsSAnZWagAACF8P/22MRA3R/MvQVXsLR9Bt\n20JZfaTD85S05VlZ5gm0oUkUbZwE8b1oa5DjEQBi3s22NgZ4aX4HN1cGmvxV\nTdItTDzzT+Totz0h0lyX5V/c4kIURnyTfpDU/TwXD5ifMSOvzf9kb+1z2XQm\nXZOuBOu03xsLkDDRwJMQOJJhBkBpF5znGurCV5ULTVgmWANDUDJQvtxhSAzI\nMnNb+VnWKZ8VohAoqVkIZLmxPXndwuvkKRYSOYav0zXivo2dBvYWomed7Ux3\nAuC6gDYsuLdiOAupKFZmWk40eQ2M0ncPPTZpUSFA424BLdVaws8pIDQ2ZUe2\n5rTf8vKdMdQLrXY1/CzSI4KoO6suYyvc8BkEFEg/MrBeeo6u13qsjQlOtDJ9\niVLVU/L/7Iw9TAlth0ubAlmM8NxpE4CMqBIl8qWK4HmxO2bZDPBbvNXckGAr\n1hjNpzmfNYyOYcdmUqOWCSbrnr0+Ka+qQGDwPEOXdyMujzqPevvtDZTUu42t\nrIbECJ8E/UN8NWPFqFLRh+duswSkKbBoeLx4Y8WRSBmQwOweYD2RBEqK/+j4\n/frQ/DAv/0xkDM0AoQ5rdHha15TZqqv3R4zzww3zq2tJAUc5EW829Hj1s0/T\n6XZSjahoZ/U3WiywES/dUFM2h2y6tlExHQzdF2uWRMbn7mTmZZEM5zMTBUBi\n7PbW\r\n=7kwk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"1d0c69192475759e0f7738952302224b3f570034","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0-pre.13","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.17","@polymer/iron-resizable-behavior":"^3.0.0-pre.17","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.17"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.17","@polymer/iron-icon":"^3.0.0-pre.17","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.17","@polymer/iron-icons":"^3.0.0-pre.17","@polymer/iron-image":"^3.0.0-pre.17","@polymer/paper-item":"^3.0.0-pre.17","@polymer/paper-badge":"^3.0.0-pre.17","@polymer/paper-button":"^3.0.0-pre.17","@polymer/test-fixture":"^3.0.0-pre.17","@polymer/paper-spinner":"^3.0.0-pre.17","@polymer/iron-flex-layout":"^3.0.0-pre.17","@polymer/iron-test-helpers":"^3.0.0-pre.17","@polymer/paper-icon-button":"^3.0.0-pre.17","@polymer/paper-menu-button":"^3.0.0-pre.17","@polymer/iron-component-page":"^3.0.0-pre.17","@polymer/iron-scroll-threshold":"^3.0.0-pre.17","@webcomponents/webcomponentsjs":"^2.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.17_1525756111184_0.22385312390800105","host":"s3://npm-registry-packages"}},"3.0.0-pre.18":{"name":"@polymer/iron-list","version":"3.0.0-pre.18","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.18","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"90e4d95f6e366350b2007eef783fe188e9d69427","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.18.tgz","fileCount":49,"integrity":"sha512-Wsz094Y7wD398Jugv/nEc1ZOe0bNDEeFZsgCKRRkeFc+hFJvN1N6va52gOYzn9KWsNRmzX6mk8EkNt9e/L9xxg==","signatures":[{"sig":"MEQCIDEvWnHvWezOTa/4DbeAOp7HzVeRXUM3AH13dih4AErDAiATM/LRjQT0j9N6GN3NbAD0YfT243CKOZ+fCFm/nNycbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1704959,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8sbjCRA9TVsSAnZWagAAcykQAIHj2te1uRk2Nafcxo0E\nJN85y60FDM+mtKcs8mmA8bl63+/QRrW0HHL8ToIvVf5XHV4PZFt/mtCc3Jab\n8nbfgnI6cJQmbwM0puTLf5R087Sj+EWbzmxXrXpKKuqcgmgDv9ZARlac9Dnj\nuqKUDY1YyA1f9lP5gYTY/xxE0zaO03+60Hrmp3yo9iXjgTRHfrSHeLbfIr4l\n3cEJWXVZDP+D8Q5jQOmHm4gDeMvSDL6JSlTPJidnGbxKZ2j+x8chGhKH4Y2Z\nOBFyQRdRw2fjQbWyj/9qKi+C/roSuYVYEfJ69Li3oSIvU9C9MquJolSp6MXB\n3LWEtS1eEE/Z3Fh7XQKitWZqLdMWvz9Q1svOdPA4MWAJlr6ysfnnS4OAX1Mp\ni3iDYaYYGnnThQte9xgACspEOMV520L6+mMGBZ32EiweimA9WlPdY9mCEsyh\n87DQxuOVtpp8s7JF55Edos/dtKvwGs6ImiDC/OUrOcjKTlIiSaChcPaWARph\nJT5lt3s52sxOqDasBReYnG8kYLVfnBe272z3ysi5IeaHq0n/ea1pXJtixzWq\ny+JwFrdDkhKuosBx0oHvH2pZ0TQfZ0R+MrwI81M8bU6uiqMQjogJ9YhJ0MoR\n2uvgzk3BT5IqLz2hR283LZNAHheoua6PY6yXzdGJww2Gqa3ZPvZcchBn0yju\n7ThA\r\n=BgCf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"22fd44739d6d2983729093ff150d6b4b08ba5941","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.18","@polymer/iron-resizable-behavior":"^3.0.0-pre.18","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.18"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.18","@polymer/iron-icon":"^3.0.0-pre.18","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.18","@polymer/iron-icons":"^3.0.0-pre.18","@polymer/iron-image":"^3.0.0-pre.18","@polymer/paper-item":"^3.0.0-pre.18","@polymer/paper-badge":"^3.0.0-pre.18","@polymer/paper-button":"^3.0.0-pre.18","@polymer/test-fixture":"^3.0.0-pre.18","@polymer/paper-spinner":"^3.0.0-pre.18","@polymer/iron-flex-layout":"^3.0.0-pre.18","@polymer/iron-test-helpers":"^3.0.0-pre.18","@polymer/paper-icon-button":"^3.0.0-pre.18","@polymer/paper-menu-button":"^3.0.0-pre.18","@polymer/iron-component-page":"^3.0.0-pre.18","@polymer/iron-scroll-threshold":"^3.0.0-pre.18","@webcomponents/webcomponentsjs":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.18_1525860066759_0.8816267712487498","host":"s3://npm-registry-packages"}},"3.0.0-pre.19":{"name":"@polymer/iron-list","version":"3.0.0-pre.19","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.19","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"0ba38b663dd3649a9d5e5660af465d2ce9ecaf02","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.19.tgz","fileCount":49,"integrity":"sha512-NoFja6NeGJNnBdQl2MyD1ZdcKURCfLVozLcsrFmh92R4bnPfBa9l/ood2vec8LTEYidRjl1US1aPagd6bJhdrw==","signatures":[{"sig":"MEUCIDMQDElSWUCtfIJhY24NiNrBE/kN7ci4vjXkAmbDSgIQAiEAwq6DsfwMFJan5a2R4aFM1H2NCIKNGm0WlVrzThvNPfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1704959,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa81hpCRA9TVsSAnZWagAAN1QP/ii4daoh5h/MaadB26TQ\nDsEc87++q3dR/SZ9AlH/7gvwLbZCPdXep2pOHepkttYSNjwaBvlwI3IQB4zZ\nPxA+rTL2TW3YqRCLO3SnKvL0P8JWYBTdNuYjPMaHw3ckA5AtZOxhPo5p+Qdm\nhW1Q3d8VUVxd8cugeHJsRoYpBmd6svijBLT70xaLt12iet+Rf+yCDrwKCZn/\nRS7oT5sntkkqQnQ/gyKD1/hghKfEoRSLe4UTWRnCDHetlelvvH+gK1Z0zviR\nYlKDOMX8pBWvJ9E+IEgrLwGJrcuYNZzeC/F7e1KkAQmiN4GXBX6JjjtTeQj4\nlbV2j8z4tEsNPrCLVHfmyvKeokuid36pFigO3DBeTq7uiaZoB9dWaCFEESns\n+nAp4pYgofKO+sRPFKI2ruqXOG4ZsZWfnaqFE1g0LhB68Qx89+JtfWLE701t\nUcvelg/yDkIx3XAED0q2SPVZbdasaf6EK1ERuflm1IP2pgQXgztXIRndb4Vt\nGOS3RfP35lQtzN5KhjnGuhxpta9cL/Dji+dAfRGN4Vy9bVaEpLIWIQVGij+v\nE403HR5Eiao05sGMGzHlRc6qEtmBlGwJpGHl4gRN81Jmy3sz/SfroyhPiJqa\n4MX5pyYNyLTGkQVUauFjvD+Vt32LiVB5xaknRePqKc97iJps42qfOsjaz6xM\nguCU\r\n=zp7b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"8feb5dd8bf6691e6e0bd9f82abb05698b78aabde","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.0.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.19","@polymer/iron-resizable-behavior":"^3.0.0-pre.19","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.19"},"_hasShrinkwrap":false,"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.19","@polymer/iron-icon":"^3.0.0-pre.19","wct-browser-legacy":"^0.0.1-pre.11","@polymer/app-layout":"^3.0.0-pre.19","@polymer/iron-icons":"^3.0.0-pre.19","@polymer/iron-image":"^3.0.0-pre.19","@polymer/paper-item":"^3.0.0-pre.19","@polymer/paper-badge":"^3.0.0-pre.19","@polymer/paper-button":"^3.0.0-pre.19","@polymer/test-fixture":"^3.0.0-pre.19","@polymer/paper-spinner":"^3.0.0-pre.19","@polymer/iron-flex-layout":"^3.0.0-pre.19","@polymer/iron-test-helpers":"^3.0.0-pre.19","@polymer/paper-icon-button":"^3.0.0-pre.19","@polymer/paper-menu-button":"^3.0.0-pre.19","@polymer/iron-component-page":"^3.0.0-pre.19","@polymer/iron-scroll-threshold":"^3.0.0-pre.19","@webcomponents/webcomponentsjs":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.19_1525897319946_0.6284006678459026","host":"s3://npm-registry-packages"}},"3.0.0-pre.20":{"name":"@polymer/iron-list","version":"3.0.0-pre.20","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.20","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"b644d0117a0d2f7796f5015ff9353534509c52f3","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.20.tgz","fileCount":50,"integrity":"sha512-mgq8zryNS42lWnrKJraPNNYSXpuI8HGSLxeQkdYul37xkaUU5jdipTdxbn12q4YNOpRxctyijJnGCe8nY9VntA==","signatures":[{"sig":"MEQCIA2unLBmgZnqMVDjRJ5JIbEHl9q2+eq7tflv00GtaqUGAiASYva8mJZqjXbWdGPygE0wEIgzBB9Sq8DWhqSwRKD5lQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1705496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLZICCRA9TVsSAnZWagAAiqAP/3VG9SzsEbs1dPUD7e6u\nubj5NyCWaTwhIQiZPb5Ei86ZaP+mAHHzYYGoYzw+htCxETHUEcDA/nUh2kI1\nILGH8DFhtSa4nxxS2eh7RbWxGyvVwVBicNVGADcUDFABMTVrXQCxWPcp2R5Q\n+5s/ts2h7KhR2flJybyP0TNZwm8kkjKYrZy+VWInreEZhdg0qACtgjaodxuJ\nMeeFvErfOtXejky/xfQxF79ex1gDdchFcB3QoOCpk7f4Uxb/t3RwB6pfRc1p\nXidOm7kse16yTWxzsT3j/LP8yGCz6uVy++fZDV1Y8M8jVz5berhlPHLYvyvl\nPwBpXq5UkkDLydaOG+EiSNBA+YR6s2SXn4m35Pjr8EYwI1fJtUcsvT8F32bV\niOB70gWKH8Flq4R7TNPjvee+nU9TtJBwD5QrKabxHXZlYA4ZENRyKHLub6ov\nts0La6dYTvOhzjJf5IX9yf3mXqsBctb4K57Ev+PeNGrTMls/i5LmN0QwQSpf\nvrzxRkkA8/fozrDuNgLpUx2eS24hhgezNao3MMm8OerPqzrFPXsDo21WlVk9\napFpkAiipaDLoSoCuvbr2xEuB0at+iKs8p7woFlIPPzSmtLfh4yAWPthnNIb\naxfziF82DUY/fY3TqkfOCN2btuEQrU9qXN+d+M2q7YlqVxwq5rdJBNmcdZtd\nbjSz\r\n=oc4X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","readme":"\n<!---\n\nThis README is automatically generated from the comments in these files:\niron-list.html\n\nEdit those files, and our readme bot will duplicate them over here!\nEdit this file, and the bot will squash your changes :)\n\nThe bot does some handling of markdown. Please file a bug if it does the wrong\nthing! https://github.com/PolymerLabs/tedium/issues\n\n-->\n\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n\n_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_\n\n\n## &lt;iron-list&gt;\n\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }\n\n    iron-list {\n      flex: 1 1 auto;\n    }\n  </style>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<template is=\"x-list\">\n  <style>\n    :host {\n      display: block;\n    }\n\n    iron-list {\n      height: 100vh; /* don't use % values unless the parent element is sized. */\n    }\n  </style>\n  <iron-list items=\"[[items]]\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</template>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      height: 100vh;\n      margin: 0;\n      display: flex;\n      flex-direction: column;\n    }\n\n    app-toolbar {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n    }\n\n    iron-list {\n      /* add padding since the app-toolbar is fixed at the top */\n      padding-top: 64px;\n    }\n  </style>\n</head>\n<body>\n  <app-toolbar>App name</app-toolbar>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### Changes in v2\n\n* In v1, `selectItem` accepted an item or the index to the item in the `list.items` array. In v2, `selectItem` only accepts an item in the `list.items` array. As a result, `selectIndex` and `deselectIndex` has been introduced to allow for fast selection of items by index. If you are implementing a `selectAll` method, you should use `selectIndex` instead of `selectItem` because it's faster (O(1) run time).\n* Mutating a selected item in v2 isn't supported anymore due to the removal of `Polymer.Collection` in 2.0, for example:\n```js\n list.items = [ item1, item2, ... ,itemN];\n list.selectionEnabled = true;\n list.selectIndex(0);\n list.set('items.0', aDifferentItem);\n // list.selectedItem == item1\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n","gitHead":"70db341cbb3b2a132534fd62dc12ad92161dd140","_npmUser":{"name":"emarquez","email":"emarquez@google.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.1.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.20","@polymer/iron-resizable-behavior":"^3.0.0-pre.20","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.20"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.20","@polymer/iron-icon":"^3.0.0-pre.20","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.20","@polymer/iron-icons":"^3.0.0-pre.20","@polymer/iron-image":"^3.0.0-pre.20","@polymer/paper-item":"^3.0.0-pre.20","@polymer/paper-badge":"^3.0.0-pre.20","@polymer/paper-button":"^3.0.0-pre.20","@polymer/test-fixture":"^3.0.0-pre.20","@polymer/paper-spinner":"^3.0.0-pre.20","@polymer/iron-flex-layout":"^3.0.0-pre.20","@polymer/iron-test-helpers":"^3.0.0-pre.20","@polymer/paper-icon-button":"^3.0.0-pre.20","@polymer/paper-menu-button":"^3.0.0-pre.20","@polymer/iron-component-page":"^3.0.0-pre.20","@polymer/iron-scroll-threshold":"^3.0.0-pre.20","@webcomponents/webcomponentsjs":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.20_1529713154298_0.9346397757749048","host":"s3://npm-registry-packages"}},"3.0.0-pre.21":{"name":"@polymer/iron-list","version":"3.0.0-pre.21","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.21","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d12382feca2475dbdd91b04696871d8b2a46fae5","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.21.tgz","fileCount":50,"integrity":"sha512-91YzOehyS+PYBdO4X2R+T+oDNl/hv1BFBnPiyVTAQXDJLU1Q0wuDJYNs0D4PcchoS1rwR+k+fBqQTosQSaQvzw==","signatures":[{"sig":"MEUCIDotQ+Q9wp282091prvHEz+XRpaWS5EL+6vxsvFKAvCRAiEApw6fpYV21oBIdGgMkoGkwh1fDAez8tIod2JZojIPKfM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1705496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLZ1TCRA9TVsSAnZWagAA5cEP/3Bu2r1TMOuOAM6pAl+9\nlotROlTcxaKk3D9pNyxufvfttzejGCu4KOyDfjMieDkpLvPH5Dj/rqHzB5bN\nUvJqC2N979v7kI0pPG1yKIyphSTJqNLbUgaETPk9vKMhagqeCHFh9yJkbB8+\n688szg+cLyqOpPu6dObdvYJklS00n6oNIhAxkwFN/PI3BbzPMm1470SlSd81\nCTXBtQ0RuJzAVwLOz40YMAEdpVGMP6dHQMp1XvwgX50XvJgO8vLY+U0WlLkz\n8L/XfOEBBlQsiWCfy/Ae/tiM/I8RaAmpTXQIHMIYOF4fm3gC5M3T2mtio17o\niVCvvNq3iS/JrX6PNrruFqV6AeDMvOY7G+i6+tmGLJGovCqXyIbB6vm162uX\nzl62p22Nk2hqZBnizqs9DiOZn+riE8boZK0S7uQzS7xa23TM0GWeXGnJcKoH\nxsnBWOQWMF8Qp6oJc2F+fwYxggtD9UYuICYBmUXQ98LlqS0SDkWpRnZ3bUGL\no0mqFvpO/W5TBOVonrsu8a+/Gr2M1LLrBxftEieTTklMTVVLoLzliGJGxu43\nuutjVzS9nFbfCy0B7f33qVCcwWsIRod9FB8M3cRK+xh/bvrlZ5/BZ2D17FDv\nNfI8bNy4ziG2ryNbKxgLyC3SkPTSyu8K+yEzVbjbllS/c9QKk6wwARSpBo4M\nJCyz\r\n=ZVYz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"9ae8910eeaa4a65be47d55a3571e83232265d72b","_npmUser":{"name":"emarquez","email":"emarquez@google.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.1.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"resolutions":{"samsam":"1.1.3","inherits":"2.0.3","type-detect":"1.0.0","supports-color":"3.1.2","@webcomponents/webcomponentsjs":"2.0.0-beta.2"},"_nodeVersion":"9.8.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.21","@polymer/iron-resizable-behavior":"^3.0.0-pre.21","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.21"},"_hasShrinkwrap":false,"devDependencies":{"@polymer/iron-ajax":"^3.0.0-pre.21","@polymer/iron-icon":"^3.0.0-pre.21","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.21","@polymer/iron-icons":"^3.0.0-pre.21","@polymer/iron-image":"^3.0.0-pre.21","@polymer/paper-item":"^3.0.0-pre.21","@polymer/paper-badge":"^3.0.0-pre.21","@polymer/paper-button":"^3.0.0-pre.21","@polymer/test-fixture":"^3.0.0-pre.21","@polymer/paper-spinner":"^3.0.0-pre.21","@polymer/iron-flex-layout":"^3.0.0-pre.21","@polymer/iron-test-helpers":"^3.0.0-pre.21","@polymer/paper-icon-button":"^3.0.0-pre.21","@polymer/paper-menu-button":"^3.0.0-pre.21","@polymer/iron-component-page":"^3.0.0-pre.21","@polymer/iron-scroll-threshold":"^3.0.0-pre.21","@webcomponents/webcomponentsjs":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.21_1529716051507_0.4556604869421548","host":"s3://npm-registry-packages"}},"3.0.0-pre.22":{"name":"@polymer/iron-list","version":"3.0.0-pre.22","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.22","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"ca4f940212dbb2b66bc9c7bdabacbd5f4ca10509","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.22.tgz","fileCount":17,"integrity":"sha512-uC+pL2k4WpKZ+/fVkP54gx2QBrirKt6oItjcxkl0gR/Je152repajQea6cFMmaxfi3VnJUIYl6BFmjRah4u1+A==","signatures":[{"sig":"MEQCIB2QRArG6I8V2LHyaxQfRrVHJtXwpX0mbxws1fsF15ozAiBslroI8TlcGayO//WnF3kz+PvtQff7Mil2p0BP98nVSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgMlVCRA9TVsSAnZWagAAUjkP/is9qi9D6oFNTc5SiSME\ntNL9V8ls9d4aKQ+KxZwlAg7BG0Moo8WEf/pEtwkYKfq3zD4U2T4wSSd96l1D\nHjZRJekioXWqfI06PW5ER4SC7iKFPPxfxIyQLhwM/32lYXC5ptLzSRPszcwx\n6UCOG7GN1beuEcFDnnJE95gSBqcxQ44EkVIWltNnGtr4yz5muaEpKLoyoaif\n2F0pl47ojReskG8R/XiX5G8hu4W0Qbtntg1cFJJjHOcQ62+hvmUziRfByI68\nELZx2DYEzfpQiG1gYMyDTtQo85FuC+o+nbabh5LRqfcginsn2pQYp98fnqZt\nX5+uHwz9mOlQ/ygDEbg3hUSyxjfz+RtuxjCsFGP6ZyOuOtKEtYTYmO93S5BH\n622NXyc1+41dXx9RF6l8mRMr9IBm5exP36XSLSr/LjZtyFNUpUOhshrqd9JF\nTabffVoLOZIbT4Axi7V7nkQm4MH8Fp8dT85bxS4MKoxiNoCRkHcBgjv+ku8X\nHQ3Y8dd2D93M+0eCbF6NsCnWAV4mr81CG9aplXBfvAlXGfCumUC0Hqe93/XY\noDnWrk1cG80rnHBtn5I3PnOS7dJvkZlM0DNQhEsc/d+YuXabfZvlkUBpJRDp\nq2DA5bOFxS1B71Gsu6DpJNQs2pBLXGht0jPoDcugHsTI3FcsXV5KiRHVG8sY\nQtih\r\n=ew97\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"9c7e599f658748458996c49ac75f88380e5fe8ff","scripts":{"format":"webmat","prepack":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir ."},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.20","@polymer/iron-resizable-behavior":"^3.0.0-pre.20","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.20"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.20","@polymer/iron-icon":"^3.0.0-pre.20","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.20","@polymer/iron-icons":"^3.0.0-pre.20","@polymer/iron-image":"^3.0.0-pre.20","@polymer/paper-item":"^3.0.0-pre.20","@polymer/paper-badge":"^3.0.0-pre.20","@polymer/paper-button":"^3.0.0-pre.20","@polymer/test-fixture":"^3.0.0-pre.20","@polymer/paper-spinner":"^3.0.0-pre.20","@polymer/iron-flex-layout":"^3.0.0-pre.20","@polymer/iron-test-helpers":"^3.0.0-pre.20","@polymer/paper-icon-button":"^3.0.0-pre.20","@polymer/paper-menu-button":"^3.0.0-pre.20","@polymer/iron-scroll-threshold":"^3.0.0-pre.20","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.22_1535166805068_0.43900267718250197","host":"s3://npm-registry-packages"}},"3.0.0-pre.23":{"name":"@polymer/iron-list","version":"3.0.0-pre.23","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.23","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"c1e7f3dccd17f5e0b9a8eba0d442c4541fdddaa5","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.23.tgz","fileCount":17,"integrity":"sha512-26wCeqWaATwLo6RfH4KlQs0J4VnFUqvgd2JqyUc1Zz4RWKMu40jOW5HVb7cWztuonSzMXhkWMybOd/Slcs9DPw==","signatures":[{"sig":"MEYCIQDJZOdIw4is+eRLAP/wQVEZh8sLO4ZkwS5qlgR2csjWRQIhAIY6BoBEqyDGnQc5iSilcpqmYx6tWKDJerZCnSKj3eQu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgP95CRA9TVsSAnZWagAAY0MP/3INgExqnaP3G5CKkQ4i\nU+qRnAR2RbxPEYW/IDjUgX6nj76eEAkNX0x5g7bZosVYm/9mjzEccpM9jfEO\n+Q4MRD1QhGyDDu1fTB+AB8RydcChjA1A1HMAios6h/Rp4PrVR8+Poy2+nrLM\npAUK/SV6JfXo6zuX7Tpz0hHDDsCc5XIE+Wj2B4BoAeMJkGWHpMypftWwFBgA\ndy1bk0LNE8ld56+DCLj3cwiqGHAcZ3KlmQzT3K6WlKfLsqlieW4sJ0ARooI+\nWV0u4S41J9/jyP+zaB/Bdu2hBQBXXowfXB/+m1IrTB9Od9LqRcX6jnzyJM0D\nkkLOhZcjqR+sOaJYcpwIb0gMVkqYamw+rA5eNUXv9X8tbcqo2kG1y3oIEQPb\nTrZMzjvgGLWiZ/1UtpOLuoizNoneM8nfEO8rhhUTpqQgsSQV8gjNID21dTvO\nPjn2iszPiIry7G3DQfIhhldXW571DISdtcpY727feps31dqE2HTyxauOiXQf\n+mjSi7sw1BTUJFO7uBLLr70SBeimMXzycdreHqQbsbi1HHDvVH/Pp/4bfgmY\ngapv/0nnWNY5qUMKg94BSDPW5xYCowHEYTI/VaVJaDTdh5is8EtF+FOCzsRP\n6qc5DWr/njoHmVqNPPnOHokccY2P7VCBiVGaoeD8f0zBdIshxLgrHIkB9R91\n3xl8\r\n=d8JU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"eb44adb2e830fbbd3927cb3759135c1b02198112","scripts":{"format":"webmat","prepack":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.22","@polymer/iron-resizable-behavior":"^3.0.0-pre.22","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.22"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.22","@polymer/iron-icon":"^3.0.0-pre.22","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.22","@polymer/iron-icons":"^3.0.0-pre.22","@polymer/iron-image":"^3.0.0-pre.22","@polymer/paper-item":"^3.0.0-pre.22","@polymer/paper-badge":"^3.0.0-pre.22","@polymer/paper-button":"^3.0.0-pre.22","@polymer/test-fixture":"^4.0.0-pre.0","@polymer/paper-spinner":"^3.0.0-pre.22","@polymer/iron-flex-layout":"^3.0.0-pre.22","@polymer/iron-test-helpers":"^3.0.0-pre.22","@polymer/paper-icon-button":"^3.0.0-pre.22","@polymer/paper-menu-button":"^3.0.0-pre.22","@polymer/iron-scroll-threshold":"^3.0.0-pre.22","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.0"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.23_1535180665294_0.4944408664392923","host":"s3://npm-registry-packages"}},"3.0.0-pre.24":{"name":"@polymer/iron-list","version":"3.0.0-pre.24","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.24","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"samli","email":"sam@sam.li"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"dda57b2d06e5dd6c2ecf061a01995c23a423fc67","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.24.tgz","fileCount":17,"integrity":"sha512-HomGT01oeTPbANbwaYtnZFWn/gKwyeDehYcOai1XGRXBIHiyqCmMFMfszAsMjCtGthsbOvYqya0Mx3iz9nduuA==","signatures":[{"sig":"MEUCIQDQUTQy8gPBq/S1KW4rb22XytUwce9zxIj9+SEZC0+MpQIgXmRT3/OYZvwxT6mvkIY3Tu1+BE2AXNc224hYSkE3Xas=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhgcFCRA9TVsSAnZWagAA7iIP/jatiaPlNWShxUMZIi3U\nvavsuRLYjieW6RM/xpUTmD31iFVM/FzggIHNxr3cQQH615kZEQMgYr5Vv7mE\nwUhJbIVzY3OYMzORtdIjrRhX8jS1//Rkome1koIj4FDU8fnDBC3K4Nc2fZJ4\nNigzjlQBTSzYV64/o2jgAQX3H97o7F0Pgq+SHjPmiCmcrcKGDaWRIpv0k/nK\nirptoP2RKUjRI9+6oA6Nu61N5q7GjkuIlNCJzTRYMBKs3qtUcCYpiL9uR2gV\n7hCAwUZmK75HoOdrGVTtVjQhu3LQHDpSNVoD7RPE+iKbEec8UVBJOCZcqmRt\nq8pytesRhwKRSWvWLqEyVwek3qO65RqflvoxWYT6jumelUJZNiqAwZcJ39G5\nusZOh5k4og9SHNnZNrb0vsra/u9LO5X9dZNpJ5aXDvl56aPjuHHFmhRcP9m1\nvuuD8zqlxB2hVtzrNjZSuYWBF6ObsoWS0vWtSMEO27EM9dYj31miJc/Jcux3\n9eGB4TZbcC7ODtXHcY5i3dOMqaONoTFmjjudeIIFBF8xtkm09VVLtKZMesoK\nMsRD73p8jjwMnEVfZQ0bE3Qz60oYyOo/Utih/BxLu0Mkf5ATcY+SDE7iybhj\ndxCr5Qx8Fmll35y+6GIix55IWknLi3IMaERte7XwmCbe+vpYOMQc3Drwo+r2\nNTiO\r\n=aYy8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"d532af27b5de1221cfb46336236cd1fd5342917c","scripts":{"format":"webmat","prepack":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.22","@polymer/iron-resizable-behavior":"^3.0.0-pre.22","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.22"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.22","@polymer/iron-icon":"^3.0.0-pre.22","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.22","@polymer/iron-icons":"^3.0.0-pre.22","@polymer/iron-image":"^3.0.0-pre.22","@polymer/paper-item":"^3.0.0-pre.22","@polymer/paper-badge":"^3.0.0-pre.22","@polymer/paper-button":"^3.0.0-pre.22","@polymer/test-fixture":"^4.0.0-pre.0","@polymer/paper-spinner":"^3.0.0-pre.22","@polymer/iron-flex-layout":"^3.0.0-pre.22","@polymer/iron-test-helpers":"^3.0.0-pre.22","@polymer/paper-icon-button":"^3.0.0-pre.22","@polymer/paper-menu-button":"^3.0.0-pre.22","@polymer/iron-scroll-threshold":"^3.0.0-pre.22","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.24_1535510276502_0.7995426075684384","host":"s3://npm-registry-packages"}},"3.0.0-pre.25":{"name":"@polymer/iron-list","version":"3.0.0-pre.25","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.25","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"samli","email":"sam@sam.li"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"4c5ad82c33009936f0446f347068a37c4892ae42","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.25.tgz","fileCount":17,"integrity":"sha512-uz7fts3I40xJHxoIBmwZbN8qEyzHq2O/77ekvgJ+qhi8E5FSCGC3D1+YQw3mZeDXe1M3KqPBCu4AE3NYOG06vg==","signatures":[{"sig":"MEQCIFkGsMuCLhDNLy4ktArhKjoYuEGThR68qcou7L0HhWSWAiBIo3acSPyL+q5IDBjyoG1Tfrz9CZAI8/UVlQp2baQW4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhhg5CRA9TVsSAnZWagAAn7IP/j+0SCEyBHnYLWbj4Yel\nRA+bqbiO7kfsATlAUG1607LFqGALzyy70Ry2UsVCI83SGbhXjaAQuB5gRcnF\nATMlWiAhsAzwSPAvVMJIPOcmmZj+ns+PktzOeJrfC2CngXz1WbVRE1AvQzkw\ny9uCV/wyjDsOlEDKFhh/d1MBmkzpMamcypwp9AveSkuO6NyeSibaD8l6ZAUc\nr4JUagHyl00oOsNVLu0aT13EvGHJ5Ez4EDyXBioJHO075VqavvwfPzMVL7P+\nOpZiszZTPOSy6gj6cQWb1upp7RtBwmQ1JOYF1iWHGuXhkYRpzOnClTM8ws67\nXzNiI0HH4nSQmXljqyqazQVbOz0dN4tiDER4K1m0GaqKSoJE2+g078rdES2Z\ngm8DjBcS/uaf/p/bApO+nrGRqxmEEFBTpsC+zYJz8hXofjVYf4FswstCNwB0\n3np/KqdsUhvAbTd7SjGjunWInUHsQdqm8zOS5pp+0zcSK0BW0GJ7xQL/F995\nnYyu0r1KcsnwvTJHx0Thb3zs5Yr/2ceKq2xtrzaWdaa7zzvo7AUzaOxE9T08\nH5n4E7RtBvCQajBtlw+fx/Lm+FbLtqN+qjPgf46e6Um9vP8qmAtjGk0/nZfN\ns/qXG5jJT6Tkg8LadQAqO+jt8wEGMQjAdj9gvw2pov4LYOraA40TKUJx37Ce\nYL+h\r\n=0bBD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"a26472cdc0244acece3dbc926ccd6cb1ca3f08df","scripts":{"format":"webmat","prepack":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.24","@polymer/iron-resizable-behavior":"^3.0.0-pre.24","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.24"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.24","@polymer/iron-icon":"^3.0.0-pre.24","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.24","@polymer/iron-icons":"^3.0.0-pre.24","@polymer/iron-image":"^3.0.0-pre.24","@polymer/paper-item":"^3.0.0-pre.24","@polymer/paper-badge":"^3.0.0-pre.24","@polymer/paper-button":"^3.0.0-pre.24","@polymer/test-fixture":"^4.0.0-pre.2","@polymer/paper-spinner":"^3.0.0-pre.24","@polymer/iron-flex-layout":"^3.0.0-pre.24","@polymer/iron-test-helpers":"^3.0.0-pre.24","@polymer/paper-icon-button":"^3.0.0-pre.24","@polymer/paper-menu-button":"^3.0.0-pre.24","@polymer/iron-scroll-threshold":"^3.0.0-pre.24","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.25_1535514680801_0.508533225157862","host":"s3://npm-registry-packages"}},"3.0.0-pre.26":{"name":"@polymer/iron-list","version":"3.0.0-pre.26","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0-pre.26","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"samli","email":"sam@sam.li"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d9d1b9f3a9acba0f70a11e6c414f62f9d554c6b4","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0-pre.26.tgz","fileCount":17,"integrity":"sha512-432J4Swm7gQemrDNZ4r/8+ymlSNW3Il1uqhpvD7Qa7mHT3KODe/9Clzgh038/KzuTOQfhPB3ypWHcltBa1YBAg==","signatures":[{"sig":"MEQCIEYxQe5CyNtBKdvVzSifDIXqhASw63NnkOXDtTV5kD0+AiASlqCPdjS4h74FDI0A+7Nvssu9X6CjPAKf4LDHy4wEww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmGXWCRA9TVsSAnZWagAArQoP/jPg5Bx2aeMvaBTb4WMX\nB/PrOc+2gcZTc+J/PVKI5/OyuFEuZkE+zSf5pQiyMj3fqJ66mV5cGYkPihqG\n4jM3SmeE14LuMPUP+bNnk7Jq+2EEcr8S84wzdD/+t4NQ0eSSoVbB+4UN3Een\nV/ENVae2nXkyqzvQOJQv4kVgq6Xjhd8ejDnxdt3Y5ZToE2nUf+h0vITrfXcq\nmS0Qf3blWVS7/M/9MuxsWi0tNQb8gShMd5na8JiPHk5DnyCuTy1EavoORROB\nNnvxVg7UpwIqzdxHnMY4TJqH0Ofa4UN6YaT/gm+AYvoSqfr8lpK9sEI9wZU/\npEImLUkdc6ezUSYdC0QsOsyDD/H/pW4UIwRAyPtbLjFWZqNVBFT92wZrN2mP\n4rU0hEU0vy99Z5Yr3wJPfYoBpdXItIBmlWgJe/Wlp0cpqBa/+KTSP0KUWFzh\n87xHMX/s+uGhKcfeXpU2W73yxRHOBPPQbIzfoo6hchzDxb4qniNKytowm3j4\n9eoy0oxVCFMIvQdKk36as+eW8D3b9rOwrM+MXf4/epzgVvCOuYgzJvaaq41v\nrG/kbT0Fekzoj+JXHuuEn9CjdHBRvJqRgnH3GwelyhceQBfn4P/0gbDp0dz4\nNEZEn1PkdmtnqDtn5HJkic0BzxCTqzqwApKi4UqArAnBwNTtbgaZwrFpWoPZ\nZcNE\r\n=PnG5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"2cb00c3897ea008a2ffb0b7106035f9749269f38","scripts":{"format":"webmat","prepare":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.25","@polymer/iron-resizable-behavior":"^3.0.0-pre.25","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.25"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.25","@polymer/iron-icon":"^3.0.0-pre.25","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.25","@polymer/iron-icons":"^3.0.0-pre.25","@polymer/iron-image":"^3.0.0-pre.25","@polymer/paper-item":"^3.0.0-pre.25","@polymer/paper-badge":"^3.0.0-pre.25","@polymer/paper-button":"^3.0.0-pre.25","@polymer/test-fixture":"^4.0.1","@polymer/paper-spinner":"^3.0.0-pre.25","@polymer/iron-flex-layout":"^3.0.0-pre.25","@polymer/iron-test-helpers":"^3.0.0-pre.25","@polymer/paper-icon-button":"^3.0.0-pre.25","@polymer/paper-menu-button":"^3.0.0-pre.25","@polymer/iron-scroll-threshold":"^3.0.0-pre.25","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0-pre.26_1536714197465_0.7109454657536654","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@polymer/iron-list","version":"3.0.0","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.0","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"samli","email":"sam@sam.li"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"f2ddfc0774b724fc18ea630871fe0a2f1acbccf9","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.0.tgz","fileCount":17,"integrity":"sha512-K/sgYfwrmvifvt0xyDr89nFCxiBg34LfT9JkSsnNOE3SCZakRuskscoR3Xl/8Co+pBHpLwCj742+a+nliuCjrQ==","signatures":[{"sig":"MEUCIAGOgxMZeoIZs/Qf504OcNF5QflyHiJXtd0ucD1g++ilAiEAl3l0laJcAxcN0FgHMXdpTc/5ocKPgAPO8SsjiGNROmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmd2fCRA9TVsSAnZWagAA8UgP/0bdmsvPSo2yonpEE+lZ\nIVqgDhmQtPlrE+R3MiQGtNzxc9o9ppFvi+bkhNyQhpzcvryg71ZO/cwibqi6\np2GJ+Fu6J2TJQU900sXzVUzDaxYiMISFBfdvDOU1UHCs6VJGB9JoKjOQ6DqV\nIuacBjh4EbyeavcOYMmUg/sCHCg/T4xZxEal5mZc/QLFpsU/Z6egIk6zl8P4\nYkSsD4v6wYuhcyWjfysOwMdaQcB++vhUW9UfjpirgaLEX5LFYQdYdiDTCp1g\nZkC4u6hhxT6YvMeA2lJ1BHjejoAi2EpoM45kwVh5l8cesj/cclXR0DTSsotE\nf3jNPV2AkjwbcXs05mnU0dasChD+8Ksaa5uPrVRhyEMN0ybjDdNlFigCZb1a\nPA9jiRdxL61qWADonR6nL0GfPNaNYXvqgBTJ2Zb0s/lsp2qELFkuK1M4Is5S\nCc7Cih42KKMkN6aLh2JD84xMLKt/NNfvZflqi4EOlY/Y5Xk0C3YM3fZ6x7Ss\nm0XWOBHhMh6tjfHGaSaD/AdZQlVgdTbz3uGB/b++2J8DVW1vIeV+xv/7pH+L\nlYtExiq/uTfCN8fDekyXPhEezyW/xJFiQN+IR5vDGGO85/A2DCQgkKy5HT4Q\nK5OTQ5ovHw5Fb57nPNPMxjL4XOBn8gwOOWKwocj7tgU2fElVrfAR7YTowivT\nqmCs\r\n=aPw9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"547787ad83d380312e55f3478d401578c7faa008","scripts":{"format":"webmat","prepare":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.26","@polymer/iron-resizable-behavior":"^3.0.0-pre.26","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.26"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.26","@polymer/iron-icon":"^3.0.0-pre.26","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.26","@polymer/iron-icons":"^3.0.0-pre.26","@polymer/iron-image":"^3.0.0-pre.26","@polymer/paper-item":"^3.0.0-pre.26","@polymer/paper-badge":"^3.0.0-pre.26","@polymer/paper-button":"^3.0.0-pre.26","@polymer/test-fixture":"^4.0.1","@polymer/paper-spinner":"^3.0.0-pre.26","@polymer/iron-flex-layout":"^3.0.0-pre.26","@polymer/iron-test-helpers":"^3.0.0-pre.26","@polymer/paper-icon-button":"^3.0.0-pre.26","@polymer/paper-menu-button":"^3.0.0-pre.26","@polymer/iron-scroll-threshold":"^3.0.0-pre.26","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.0_1536810398594_0.8907710624821887","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@polymer/iron-list","version":"3.0.1","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.1","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"samli","email":"sam@sam.li"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"d6d7303742bda8a5cfb6a8a617c9598e27bdec9f","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.1.tgz","fileCount":18,"integrity":"sha512-RNMCtOiROJxge8fXla7m0cjyDbDIn8jRylL/1BAAbmTQqcbN4IU26oi4mPHxtaxx9MR+IIV5yzCY2kflsYY4Og==","signatures":[{"sig":"MEUCICeBm5mFQO5HkkEcODRZOq13jSCu3v06gQSTekkVExmpAiEAwLxO7TojBcngE2LyMt2iwbYUk0giAou8tx3A6rK74T8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1069615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmyQACRA9TVsSAnZWagAAoAAQAI3rg0Bv1JpO+zwv9IHG\nrhU+GGEKr/pTFmMPnwylj/Cmd0nWTn8VLGKvSFeichIsB8zE++XprFWzhzwh\n6b5ChBmesMQSlSqOt/Yz/1lE6rs6z/ldAnL7mCtNGWXA5X6uDHWgsEgXQAAK\nQytWMqmkv3wMb65ZpYgGHqZgTC2lElwGx/axtLrLOoyGgPSgfU9L5dBRW/4V\nD1nnQT9mwFIA+qaIcGSYdKjPtybf1D1ZQEkfGBtvEYlYEyvLtDHkbVRt1CaH\nFf/wi4ijtUrYpZfdWiRaX/nuhwyKk58uANdwty4tWYVTcANrsxD/lPtaHTzV\nzpk9kV94688oCGAz0iALabKlrdvIz9BJdFManiBHUlEQQ3NcZx5fIRATYsLP\ntUhxLT1iPGu1kUSU3pS5OizMZlqjmq869mB0+eIYTFVdZClOF69KDrhnmPsL\n5qWjpaQbGUkOpFuSqPS6sjDJ2w8gVZoWS5n/IIW2QszzXcnWoYfFUGVuS/km\npQCGCdKbv010rDmOsTNPuUjWQ/8Po3ESzGEwLrEffScLenhsw2l8Vvdcf+Ly\npCXCwwGbvN24j6dEQoXqX0kO7plXXzbg61/PQpRfks3XQNniOVz4gE+6bsIz\nluXXlPNE7y+axxPFaWjzEYxlDPyhgHNk8njB5nsX4XNyBqBr5oAjHsg2YEl6\nDhRc\r\n=vH37\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"44e1e5dda1e0052d21ae276615aec80632b7bc53","scripts":{"format":"webmat","prepare":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"bicknellr","email":"bicknellr@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.9.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.26","@polymer/iron-resizable-behavior":"^3.0.0-pre.26","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.26"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.26","@polymer/iron-icon":"^3.0.0-pre.26","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.26","@polymer/iron-icons":"^3.0.0-pre.26","@polymer/iron-image":"^3.0.0-pre.26","@polymer/paper-item":"^3.0.0-pre.26","@polymer/paper-badge":"^3.0.0-pre.26","@polymer/paper-button":"^3.0.0-pre.26","@polymer/test-fixture":"^4.0.1","@polymer/paper-spinner":"^3.0.0-pre.26","@polymer/iron-flex-layout":"^3.0.0-pre.26","@polymer/iron-test-helpers":"^3.0.0-pre.26","@polymer/paper-icon-button":"^3.0.0-pre.26","@polymer/paper-menu-button":"^3.0.0-pre.26","@polymer/iron-scroll-threshold":"^3.0.0-pre.26","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.1_1536893952079_0.7450898528285466","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@polymer/iron-list","version":"3.0.2","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.0.2","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"keanulee","email":"npm@keanulee.com"},{"name":"notwaldorf","email":"notwaldorf@gmail.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"samli","email":"sam@sam.li"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"tvanderlippe","email":"tvanderlippe@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"9e6b80e503328dc29217dbe26f94faa47adb4124","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.0.2.tgz","fileCount":18,"integrity":"sha512-A6GMTx/4mWxGn3BC6weaXqRC7B0coNjgEoxwVbEcDNwovqntv0aWs5sT9+PI4zvV/syWL5rAESyJDvOxTatoEw==","signatures":[{"sig":"MEQCIBIWTKP9Z/64piXuqor6Ms0l5H+vp4HSPTmnvjqfjnz8AiB/yrnxqz4Pmkvf4NPmPZSzfrD/Xc+h5+ontdD95wDGcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1088231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceBRLCRA9TVsSAnZWagAA2s8QAJQ68HZ/Q7NY7Q55TARH\nzuoxJebyvtmXwS//6iyD3nJujU7DY4Ibd5WTgeI3dmOXCzHvRU+srVxsuDO1\n4Bugy2x7g4x/e3GtugFlqf14GPAqsT9IaXEXoqptl2pXrsGSWrbvYzabzBYt\nxMhO108VdYLo5uktgm7pDVAzV/soE6Jdgtd/N0xqWQsQIbu43VEsyOoj3cyG\n6gcefFQWIvjwfBcSEnD1m/Z2oaALfsiLgD5030l3552jPHIP3ZVkRVb6NFFK\nP9P5pUy7vqDTsflh+HZpNZSHRIcs4fWpOSdUf36AAaqfCxRdMgNdj9TlTJLP\nOrzs75nVsyqtWSy/OfMhpteHlrrgijqnecmiKLFEeAhkA29a8OZ6B4eDdNi0\n0nT7Sbyrtsf+d+lUg+UAlwwPWUFoD5MEzjTsy1vLii/jdpApYEyeKkSC02FS\nj4EIyDrYVHRfkaY8m40VWzuu6KgxOBdtqERTR0qHBdnKYnfd5UnokiNSmSnt\nDpaoZnlQCHOYf82Kne5rtKfh7nr4D0jn8f2twyQHx+NdUy1y0nG3KI8PPVeG\nFEXnKw2STQ+ONIriEQHYKF7T/10ojDg+TCtcy2C+no6nnpFz6wEU9Y9dbNGd\nQjLblIGzby6yxrRLdQvT7DOLy0gPASHNd7mCkkuU9k+/jwgdYzWE0boHQz0S\n2Yly\r\n=RpYZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"a894e9b258fd0e0bf597ac5bf689d157b934b384","scripts":{"format":"webmat","prepare":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"keanulee","email":"npm@keanulee.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.4.1","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"10.14.2","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.26","@polymer/iron-resizable-behavior":"^3.0.0-pre.26","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.26"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.26","@polymer/iron-icon":"^3.0.0-pre.26","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.26","@polymer/iron-icons":"^3.0.0-pre.26","@polymer/iron-image":"^3.0.0-pre.26","@polymer/paper-item":"^3.0.0-pre.26","@polymer/paper-badge":"^3.0.0-pre.26","@polymer/paper-button":"^3.0.0-pre.26","@polymer/test-fixture":"^4.0.1","@polymer/paper-spinner":"^3.0.0-pre.26","@polymer/iron-flex-layout":"^3.0.0-pre.26","@polymer/iron-test-helpers":"^3.0.0-pre.26","@polymer/paper-icon-button":"^3.0.0-pre.26","@polymer/paper-menu-button":"^3.0.0-pre.26","@polymer/iron-scroll-threshold":"^3.0.0-pre.26","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.0.2_1551373386510_0.7470926098351094","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@polymer/iron-list","version":"3.1.0","keywords":["web-components","polymer","list","virtual-list"],"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"@polymer/iron-list@3.1.0","maintainers":[{"name":"aomarks","email":"aomarks@google.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"emarquez","email":"emarquez@google.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"polymer-devs","email":"admin@polymer-project.org"},{"name":"sorvell","email":"sorvell@google.com"},{"name":"straversi","email":"straversi@berkeley.edu"},{"name":"tvanderlippe","email":"tvanderlippe@google.com"},{"name":"usergenic","email":"brendan@usergenic.com"}],"homepage":"https://github.com/PolymerElements/iron-list","bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"dist":{"shasum":"9b525249a90a53b6ae249330640b54b12141202a","tarball":"https://registry.npmjs.org/@polymer/iron-list/-/iron-list-3.1.0.tgz","fileCount":18,"integrity":"sha512-Eiv6xd3h3oPmn8SXFntXVfC3ZnegH+KHAxiKLKcOASFSRY3mHnr2AdcnExUJ9ItoCMA5UzKaM/0U22eWzGERtA==","signatures":[{"sig":"MEQCIHCmHoW77krmo4CQ2EsIJ0+OmsVBEcAT/W0yOQNbvWaZAiA5bS+z16YevpjoltCi4rGfa0/DANJoIkvnIkEdmM87sw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1089312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2WzyCRA9TVsSAnZWagAA/jEQAI8umllyi0Xebj/yCBN3\njFuBC08eZZBZ7RNcC0atRwEIups6Le5t1zjMpNpBNInW1nayYCclR7JPsgbp\ngZ4whGuwB27rhAPmSemYNPqgNxW/DTnJQUBkJYSlwBOpuDgfeAOWwKDquyIX\n357fICf+NaunM8oKPsk05L47+q0W7XZRZggw+Q5GDbyEDF0IIE5WSS2C9CeH\nLktPQ7AFCmzftMP1RKKscJ+gZp67QbDtED42xMDCazCgiKfo0XVStUxDUGjl\nrp94SJCQOB61XUWAnZoy64mqdTp9bu+jA4ZIAUaMd6HzpvvN3SS/0ShqZTMw\nzAkXFJmYehRiRJuO9JOhOOdHfdBVVRb0ekyFfeLfWG6arQ11VXeWMqFVg8dl\n0vu6EKnC5IhY3Dxy/i9jtasVZ2Q/GgfeZHI7SQ2mIFmRuI5jyCkF/A+hDn+d\ntvhoJ1unqwFBIPoR9heWFgEyi3atl1H/qhO8FOcfgS/BkLoyh0Ghvv/ug3H5\nYLKry8R6FAANB85f6JNN2ZZDwkL442w2iWrS1UzTkyy04EHNcyjSVLgoP51m\nUDmoDfJhVPkW3HXiBbVjKu0b/TGiQZPmUkhLv7K8lmZ2/fSSNrHSj3efYhVp\nHz5DJNbMFYoJxUtkD/xb3aVKfVL/SzGEBUdzP2PrT+v2PT1daquaPem08yG7\n08Om\r\n=1JS3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"iron-list.js","gitHead":"6fa05981fccb71fcb59df64852ac1d53d710024d","scripts":{"format":"webmat","prepare":"npm run generate-types","generate-types":"gen-typescript-declarations --deleteExisting --outDir . --verify"},"_npmUser":{"name":"azakus","email":"dfreedm2@gmail.com"},"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"_npmVersion":"6.12.0","description":"Displays a virtual, 'infinite' scrolling list of items","directories":{},"_nodeVersion":"12.13.0","dependencies":{"@polymer/polymer":"^3.0.0","@polymer/iron-a11y-keys-behavior":"^3.0.0-pre.26","@polymer/iron-resizable-behavior":"^3.0.0-pre.26","@polymer/iron-scroll-target-behavior":"^3.0.0-pre.26"},"_hasShrinkwrap":false,"devDependencies":{"webmat":"^0.2.1","@polymer/iron-ajax":"^3.0.0-pre.26","@polymer/iron-icon":"^3.0.0-pre.26","wct-browser-legacy":"^1.0.1","@polymer/app-layout":"^3.0.0-pre.26","@polymer/iron-icons":"^3.0.0-pre.26","@polymer/iron-image":"^3.0.0-pre.26","@polymer/paper-item":"^3.0.0-pre.26","@polymer/paper-badge":"^3.0.0-pre.26","@polymer/paper-button":"^3.0.0-pre.26","@polymer/test-fixture":"^4.0.1","@polymer/paper-spinner":"^3.0.0-pre.26","@polymer/iron-flex-layout":"^3.0.0-pre.26","@polymer/iron-test-helpers":"^3.0.0-pre.26","@polymer/paper-icon-button":"^3.0.0-pre.26","@polymer/paper-menu-button":"^3.0.0-pre.26","@polymer/iron-scroll-threshold":"^3.0.0-pre.26","@webcomponents/webcomponentsjs":"^2.0.0","@polymer/gen-typescript-declarations":"^1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/iron-list_3.1.0_1572567391721_0.4555725119148062","host":"s3://npm-registry-packages"}}},"time":{"created":"2016-02-02T04:44:17.389Z","modified":"2024-10-07T21:27:21.586Z","0.0.1":"2016-02-02T04:44:17.389Z","0.0.3":"2016-02-03T00:25:42.767Z","0.0.4":"2017-01-06T07:30:48.404Z","1.4.0-pre.1":"2017-01-19T01:32:45.786Z","1.4.0-pre.2":"2017-01-20T23:24:41.904Z","1.4.0-pre.3":"2017-01-24T00:21:28.751Z","3.0.0-pre.1":"2017-08-22T07:23:05.726Z","3.0.0-pre.2":"2018-01-12T01:41:27.365Z","3.0.0-pre.3":"2018-01-12T02:50:39.119Z","3.0.0-pre.4":"2018-01-16T23:37:29.488Z","3.0.0-pre.6":"2018-01-24T22:52:20.511Z","3.0.0-pre.7":"2018-01-30T18:48:37.442Z","3.0.0-pre.8":"2018-02-07T18:56:37.580Z","3.0.0-pre.10":"2018-02-22T23:15:32.709Z","3.0.0-pre.11":"2018-03-09T01:17:19.886Z","3.0.0-pre.12":"2018-03-22T16:56:47.977Z","3.0.0-pre.13":"2018-05-01T22:57:03.926Z","3.0.0-pre.14":"2018-05-02T00:37:35.814Z","3.0.0-pre.15":"2018-05-02T20:54:43.939Z","3.0.0-pre.16":"2018-05-04T20:18:28.507Z","3.0.0-pre.17":"2018-05-08T05:08:31.308Z","3.0.0-pre.18":"2018-05-09T10:01:06.833Z","3.0.0-pre.19":"2018-05-09T20:22:00.053Z","3.0.0-pre.20":"2018-06-23T00:19:14.456Z","3.0.0-pre.21":"2018-06-23T01:07:31.626Z","3.0.0-pre.22":"2018-08-25T03:13:25.285Z","3.0.0-pre.23":"2018-08-25T07:04:25.385Z","3.0.0-pre.24":"2018-08-29T02:37:56.679Z","3.0.0-pre.25":"2018-08-29T03:51:20.977Z","3.0.0-pre.26":"2018-09-12T01:03:17.636Z","3.0.0":"2018-09-13T03:46:38.849Z","3.0.1":"2018-09-14T02:59:12.328Z","3.0.2":"2019-02-28T17:03:06.627Z","3.1.0":"2019-11-01T00:16:31.886Z"},"bugs":{"url":"https://github.com/PolymerElements/iron-list/issues"},"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","homepage":"https://github.com/PolymerElements/iron-list","keywords":["web-components","polymer","list","virtual-list"],"repository":{"url":"git://github.com/PolymerElements/iron-list.git","type":"git"},"description":"Displays a virtual, 'infinite' scrolling list of items","maintainers":[{"email":"rictic@gmail.com","name":"rictic"},{"email":"aomarks@gmail.com","name":"aomarks"},{"email":"emarquez@google.com","name":"emarquez"},{"email":"sorvell@google.com","name":"sorvell"},{"email":"bicknellr@gmail.com","name":"bicknellr"},{"email":"brendan@usergenic.com","name":"usergenic"},{"email":"admin@polymer-project.org","name":"polymer-devs"},{"email":"dfreedm2@gmail.com","name":"azakus"},{"email":"kevinpschaaf@gmail.com","name":"kevinpschaaf"},{"email":"justin@fagnani.com","name":"justinfagnani"}],"readme":"[![Published on NPM](https://img.shields.io/npm/v/@polymer/iron-list.svg)](https://www.npmjs.com/package/@polymer/iron-list)\n[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list)\n[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://webcomponents.org/element/@polymer/iron-list)\n\n## &lt;iron-list&gt;\n`iron-list` displays a virtual, 'infinite' list. The template inside\nthe iron-list element represents the DOM to create for each list item.\nThe `items` property specifies an array of list item data.\n\nFor performance reasons, not every item in the list is rendered at once;\ninstead a small subset of actual template elements *(enough to fill the viewport)*\nare rendered and reused as the user scrolls. As such, it is important that all\nstate of the list template be bound to the model driving it, since the view may\nbe reused with a new model at any time. Particularly, any state that may change\nas the result of a user interaction with the list item must be bound to the model\nto avoid view state inconsistency.\n\n### Sizing iron-list\n\n`iron-list` must either be explicitly sized, or delegate scrolling to an\nexplicitly sized parent. By \"explicitly sized\", we mean it either has an explicit\nCSS `height` property set via a class or inline style, or else is sized by other\nlayout means (e.g. the `flex` or `fit` classes).\n\n#### Flexbox - [jsbin](https://jsbin.com/vejoni/edit?html,output)\n\n```html\n<style>\n  :host {\n    height: 100vh;\n    display: flex;\n    flex-direction: column;\n  }\n\n  iron-list {\n    flex: 1;\n  }\n</style>\n<app-toolbar>App name</app-toolbar>\n<iron-list items=\"[[items]]\">\n  <template>\n    <div>\n      ...\n    </div>\n  </template>\n</iron-list>\n```\n#### Explicit size - [jsbin](https://jsbin.com/vopucus/edit?html,output)\n```html\n<style>\n  :host {\n    display: block;\n  }\n\n  iron-list {\n    height: 100vh; /* don't use % values unless the parent element is sized. */\n  }\n</style>\n<iron-list items=\"[[items]]\">\n  <template>\n    <div>\n      ...\n    </div>\n  </template>\n</iron-list>\n```\n#### Main document scrolling - [jsbin](https://jsbin.com/wevirow/edit?html,output)\n```html\n<head>\n  <style>\n    body {\n      margin: 0;\n    }\n  </style>\n</head>\n<body>\n  <iron-list scroll-target=\"document\">\n    <template>\n      <div>\n        ...\n      </div>\n    </template>\n  </iron-list>\n</body>\n```\n\n`iron-list` must be given a `<template>` which contains exactly one element. In the examples\nabove we used a `<div>`, but you can provide any element (including custom elements).\n\n### Template model\n\nList item templates should bind to template models of the following structure:\n\n```js\n{\n  index: 0,        // index in the item array\n  selected: false, // true if the current item is selected\n  tabIndex: -1,    // a dynamically generated tabIndex for focus management\n  item: {}         // user data corresponding to items[index]\n}\n```\n\nAlternatively, you can change the property name used as data index by changing the\n`indexAs` property. The `as` property defines the name of the variable to add to the binding\nscope for the array.\n\nFor example, given the following `data` array:\n\n##### data.json\n\n```js\n[\n  {\"name\": \"Bob\"},\n  {\"name\": \"Tim\"},\n  {\"name\": \"Mike\"}\n]\n```\nThe following code would render the list (note the name property is bound from the model\nobject provided to the template scope):\n```html\n<iron-ajax url=\"data.json\" last-response=\"{{data}}\" auto></iron-ajax>\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div>\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Grid layout\n\n`iron-list` supports a grid layout in addition to linear layout by setting\nthe `grid` attribute.  In this case, the list template item must have both fixed\nwidth and height (e.g. via CSS). Based on this, the number of items\nper row are determined automatically based on the size of the list viewport.\n\n### Accessibility\n\n`iron-list` automatically manages the focus state for the items. It also provides\na `tabIndex` property within the template scope that can be used for keyboard navigation.\nFor example, users can press the up and down keys, as well as the left and right\nkeys (the `grid` attribute is present), to move to focus between items in the list:\n\n```html\n<iron-list items=\"[[data]]\" as=\"item\">\n  <template>\n    <div tabindex$=\"[[tabIndex]]\">\n      Name: [[item.name]]\n    </div>\n  </template>\n</iron-list>\n```\n\n### Styling\n\nYou can use the `--iron-list-items-container` mixin to style the container of items:\n\n```css\niron-list {\n --iron-list-items-container: {\n    margin: auto;\n  };\n}\n```\n\n### Resizing\n\n`iron-list` lays out the items when it receives a notification via the `iron-resize` event.\nThis event is fired by any element that implements `IronResizableBehavior`.\n\nBy default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger\nthis event automatically. If you hide the list manually (e.g. you use `display: none`)\nyou might want to implement `IronResizableBehavior` or fire this event manually right\nafter the list became visible again. For example:\n\n```js\ndocument.querySelector('iron-list').fire('iron-resize');\n```\n\n### When should `<iron-list>` be used?\n\n`iron-list` should be used when a page has significantly more DOM nodes than the ones\nvisible on the screen. e.g. the page has 500 nodes, but only 20 are visible at a time.\nThis is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still\ncreate 500 nodes which could slow down the web app, but `iron-list` will only create 20.\n\nHowever, having an `iron-list` does not mean that you should load all the data at once.\nFor example, if you have a million records in the database, it is better split the data into pages\nso you can bring in a page at a time. The page could contain 500 items, and iron-list\nmight only render 20.\n\nSee: [Documentation](https://www.webcomponents.org/element/@polymer/iron-list),\n  [Demo](https://www.webcomponents.org/element/@polymer/iron-list/demo/demo/index.html).\n\n## Usage\n\n### Installation\n```\nnpm install --save @polymer/iron-list\n```\n\n### In a Polymer 3 element\n```js\nimport {PolymerElement, html} from '@polymer/polymer';\nimport '@polymer/iron-list/iron-list.js';\n\nclass SampleElement extends PolymerElement {\n  static get template() {\n    return html`\n      <style>\n        :host {\n          display: block;\n        }\n\n        iron-list {\n          height: 100vh; /* don't use % values unless the parent element is sized. */\n        }\n      </style>\n      <iron-list items=\"[[items]]\">\n        <template>\n          <div>\n            ...\n          </div>\n        </template>\n      </iron-list>\n    `;\n  }\n}\ncustomElements.define('sample-element', SampleElement);\n```\n\n## Contributing\nIf you want to send a PR to this element, here are\nthe instructions for running the tests and demo locally:\n\n### Installation\n```sh\ngit clone https://github.com/PolymerElements/iron-list\ncd iron-list\nnpm install\nnpm install -g polymer-cli\n```\n\n### Running the demo locally\n```sh\npolymer serve --npm\nopen http://127.0.0.1:<port>/demo/\n```\n\n### Running the tests\n```sh\npolymer test --npm\n```\n","readmeFilename":"README.md"}