diff --git a/bower_components/iron-list/.bower.json b/bower_components/iron-list/.bower.json old mode 100755 new mode 100644 index c5159e5..74faa24 --- a/bower_components/iron-list/.bower.json +++ b/bower_components/iron-list/.bower.json @@ -7,43 +7,52 @@ "list", "virtual-list" ], - "version": "1.1.5", + "version": "1.2.8", "homepage": "https://github.com/PolymerElements/iron-list", "authors": [ "The Polymer Authors" ], + "repository": { + "type": "git", + "url": "git://github.com/PolymerElements/iron-list" + }, "main": "iron-list.html", "license": "http://polymer.github.io/LICENSE.txt", "ignore": [], "dependencies": { "polymer": "Polymer/polymer#^1.1.0", - "iron-resizable-behavior": "polymerelements/iron-resizable-behavior#^1.0.0" + "iron-resizable-behavior": "polymerelements/iron-resizable-behavior#^1.0.0", + "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0", + "iron-scroll-target-behavior": "PolymerElements/iron-scroll-target-behavior#^1.0.0" }, "devDependencies": { + "app-layout": "PolymerLabs/app-layout#master", "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0", "iron-component-page": "polymerelements/iron-component-page#^1.0.0", - "paper-scroll-header-panel": "polymerelements/paper-scroll-header-panel#^1.0.0", + "iron-ajax": "polymerelements/iron-ajax#^1.0.0", + "iron-icon": "polymerelements/iron-icon#^1.0.0", + "iron-icons": "polymerelements/iron-icons#^1.0.0", + "iron-scroll-threshold": "polymerelements/iron-scroll-threshold#^1.0.0", + "iron-image": "polymerelements/iron-image#^1.0.0", "paper-menu": "polymerelements/paper-menu#^1.0.0", "paper-item": "polymerelements/paper-item#^1.0.0", "paper-icon-button": "polymerelements/paper-icon-button#^1.0.0", "paper-button": "polymerelements/paper-button#^1.0.0", - "iron-ajax": "polymerelements/iron-ajax#^1.0.0", - "iron-icon": "polymerelements/iron-icon#^1.0.0", - "iron-icons": "polymerelements/iron-icons#^1.0.0", "paper-badge": "polymerelements/paper-badge#^1.0.0", - "paper-toolbar": "polymerelements/paper-toolbar#^1.0.0", + "paper-spinner": "polymerelements/paper-spinner#^1.0.0", "test-fixture": "polymerelements/test-fixture#^1.0.0", "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.2", - "web-component-tester": "*" + "web-component-tester": "^4.0.0" }, - "_release": "1.1.5", + "_release": "1.2.8", "_resolution": { "type": "version", - "tag": "v1.1.5", - "commit": "c6bf7caf1745cc3bed0769d41ac405476ef981b8" + "tag": "v1.2.8", + "commit": "4d974edf5c2eca5646846910efcc0bacbbff647f" }, "_source": "git://github.com/PolymerElements/iron-list.git", - "_target": "^1.0.0", - "_originalSource": "PolymerElements/iron-list" + "_target": "~1.2.8", + "_originalSource": "PolymerElements/iron-list", + "_direct": true } \ No newline at end of file diff --git a/bower_components/iron-list/.gitignore b/bower_components/iron-list/.gitignore old mode 100755 new mode 100644 index 8d4ae25..8d4ae25 --- a/bower_components/iron-list/.gitignore +++ b/bower_components/iron-list/.gitignore diff --git a/bower_components/iron-list/.travis.yml b/bower_components/iron-list/.travis.yml new file mode 100644 index 0000000..98ae9ad --- /dev/null +++ b/bower_components/iron-list/.travis.yml @@ -0,0 +1,25 @@ +language: node_js +sudo: false +before_script: + - npm install -g bower polylint web-component-tester + - bower install + - polylint +env: + global: + - secure: qC9ustzA7LUlOLi34bsHNYQRkTMd8/KLNTXGGscSgWmSTb2bgyngdWOuIjA6qVvfaHrB/CygMiy17QJn0IeKD18yfGJHu17vYxDy4WW628An3C3VIgXO4F4+LzyDFuoHfK3eQYHrBKh6M8JvG6CVU/QYdOrzuwDtcOkZIEA72N8rj5bROcPygmHZsa/0cjz7Q29lseiI1qpPxcQPMADoJfD4BvnMD7kyJJTkLyq4UDySaWmC8GT6C8PIXeZI8uLQFOc47TQqFnGJg3H6luQoOC5wQ3uv4gBWbek5pY/GAXieDNvuXAdi7cvRziCuW4oG+cYg8NYZCBI7VkMcYhEA7wNzhhcb+OPt5eOgV0YPZjyVRhXktc+ikRQYi2UU9ig66UlJFMRuNcz9al6AAKa4La5Msalv8dJnLc896qebs9eWTN5uAn4QvOJ3KHtuBNppJtJVDi1GLdIWDZgad0paklGyyln0FRwBiQauiOsuvynJBk2H97f/45l95ExEpTNPzpu3rVXkSd5xF8UYzFvw0Fb1gYQa3kNKM10leHQvr+WfQ9t1xfpGpCkPC1YOVFS9HSipBLKGmeFkl3Xa+bMSF+lrEPSHMNTN02Tq1FfIJGOlHTeRhahLldWw0REZZ5xXyzdGa8HKt7gA0aktrkYbFbJNjciN68I+bGqMt3U2KZw= + - secure: vj29+8qXACt2RY0sK0Qk1Mf8XM5pgDDeJBqzoSyNxGAYL08BQAHQvXNv/2qWfSfA4b1HxleERsN2X4+b3mOAyWpKDAOcOABptpdI3qAQsZFOC1Qslz/vqHQBqIphZhiaxd1nVg02xJgrCt6Pk3sW8k7mj2cSH0q9JorWTch3fBWq4pLtzm0b/XEgyw2AbSAM0KUj18BCg9u0hJzrI+kVpenzegdrT3oNU3LYFSz2BgfMKKsuRtaJsMbnlfBhUKNUgfwp9FenvnztGWE3h+ZCK/1zUf0FsedH6s3OWF7U6dALv4AQlgwBKH8TmwVz82bvFpHaqCjy9bhrWbW/kYG+UYCeDg2C1DOAyjr4E42iIiGB/1QKTKCuGplVf2dzYxmozOcJGf7qa440WMfuHSccp5DWH++nEDnjrog1m1uw3GltQuSpJo6LkegwP5R0jHkZxx6K7ssaJWi3VEmwItenecsxvJTDUPn9sR1CQwID82XEc3qCapzXNZIM9UGty9dir79MFmF2oOMzKZhOD9cRt+DLm3s5btM5Nn52bDDw9rZ5XtNY9rFBChszCqZeA/S4v6Iogw8LS9uliLtcY6J8wA7m9bH0ZTjZ1cSXqXsgwovGOprPyggRsmJHD8IQqjBxsslq8/IsPoh7H9ZBSipwROXVjDDYTwsCyf9Nn5/mS2c= + - CXX=g++-4.8 +node_js: stable +addons: + firefox: latest + apt: + sources: + - google-chrome + - ubuntu-toolchain-r-test + packages: + - google-chrome-stable + - g++-4.8 + sauce_connect: true +script: + - "xvfb-run -s '-screen 0 1024x768x24' wct" + - "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi" diff --git a/bower_components/iron-list/CONTRIBUTING.md b/bower_components/iron-list/CONTRIBUTING.md new file mode 100644 index 0000000..f147978 --- /dev/null +++ b/bower_components/iron-list/CONTRIBUTING.md @@ -0,0 +1,77 @@ + + +# Polymer Elements +## Guide for Contributors + +Polymer Elements are built in the open, and the Polymer authors eagerly encourage any and all forms of community contribution. When contributing, please follow these guidelines: + +### Filing Issues + +**If you are filing an issue to request a feature**, please provide a clear description of the feature. It can be helpful to describe answers to the following questions: + + 1. **Who will use the feature?** _“As someone filling out a form…”_ + 2. **When will they use the feature?** _“When I enter an invalid value…”_ + 3. **What is the user’s goal?** _“I want to be visually notified that the value needs to be corrected…”_ + +**If you are filing an issue to report a bug**, please provide: + + 1. **A clear description of the bug and related expectations.** Consider using the following example template for reporting a bug: + + ```markdown + The `paper-foo` element causes the page to turn pink when clicked. + + ## Expected outcome + + The page stays the same color. + + ## Actual outcome + + The page turns pink. + + ## Steps to reproduce + + 1. Put a `paper-foo` element in the page. + 2. Open the page in a web browser. + 3. Click the `paper-foo` element. + ``` + + 2. **A reduced test case that demonstrates the problem.** If possible, please include the test case as a JSBin. Start with this template to easily import and use relevant Polymer Elements: [https://jsbin.com/cagaye/edit?html,output](https://jsbin.com/cagaye/edit?html,output). + + 3. **A list of browsers where the problem occurs.** This can be skipped if the problem is the same across all browsers. + +### Submitting Pull Requests + +**Before creating a pull request**, please ensure that an issue exists for the corresponding change in the pull request that you intend to make. **If an issue does not exist, please create one per the guidelines above**. The goal is to discuss the design and necessity of the proposed change with Polymer authors and community before diving into a pull request. + +When submitting pull requests, please provide: + + 1. **A reference to the corresponding issue** or issues that will be closed by the pull request. Please refer to these issues in the pull request description using the following syntax: + + ```markdown + (For a single issue) + Fixes #20 + + (For multiple issues) + Fixes #32, fixes #40 + ``` + + 2. **A succinct description of the design** used to fix any related issues. For example: + + ```markdown + This fixes #20 by removing styles that leaked which would cause the page to turn pink whenever `paper-foo` is clicked. + ``` + + 3. **At least one test for each bug fixed or feature added** as part of the pull request. Pull requests that fix bugs or add features without accompanying tests will not be considered. + +If a proposed change contains multiple commits, please [squash commits](https://www.google.com/url?q=http://blog.steveklabnik.com/posts/2012-11-08-how-to-squash-commits-in-a-github-pull-request) to as few as is necessary to succinctly express the change. A Polymer author can help you squash commits, so don’t be afraid to ask us if you need help with that! diff --git a/bower_components/iron-list/README.md b/bower_components/iron-list/README.md old mode 100755 new mode 100644 index caf6819..a4386c1 --- a/bower_components/iron-list/README.md +++ b/bower_components/iron-list/README.md @@ -1,7 +1,25 @@ -iron-list -======================== -`iron-list` displays a virtual, *'infinite'* list. The template inside + + +[![Build status](https://travis-ci.org/PolymerElements/iron-list.svg?branch=master)](https://travis-ci.org/PolymerElements/iron-list) + +_[Demo and API docs](https://elements.polymer-project.org/elements/iron-list)_ + + +##<iron-list> + +`iron-list` displays a virtual, 'infinite' list. The template inside the iron-list element represents the DOM to create for each list item. The `items` property specifies an array of list item data. @@ -13,7 +31,7 @@ be reused with a new model at any time. Particularly, any state that may change as the result of a user interaction with the list item must be bound to the model to avoid view state inconsistency. -__Important:__ `iron-list` must ether be explicitly sized, or delegate scrolling to an +__Important:__ `iron-list` must either be explicitly sized, or delegate scrolling to an explicitly sized parent. By "explicitly sized", we mean it either has an explicit CSS `height` property set via a class or inline style, or else is sized by other layout means (e.g. the `flex` or `fit` classes). @@ -24,10 +42,10 @@ List item templates should bind to template models of the following structure: ```js { - index: 0, // data index for this item - item: { // user data corresponding to items[index] - /* user item data */ - } + index: 0, // index in the item array + selected: false, // true if the current item is selected + tabIndex: -1, // a dynamically generated tabIndex for focus management + item: {} // user data corresponding to items[index] } ``` @@ -56,30 +74,33 @@ bound from the model object provided to the template scope): ``` -### Resizing +### Accessibility -`iron-list` lays out the items when it recives a notification via the `iron-resize` event. -This event is fired by any element that implements `IronResizableBehavior`. +`iron-list` automatically manages the focus state for the items. It also provides +a `tabIndex` property within the template scope that can be used for keyboard navigation. +For example, users can press the up and down keys to move to previous and next +items in the list: -By default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger -this event automatically. If you hide the list manually (e.g. you use `display: none`) -you might want to implement `IronResizableBehavior` or fire this event manually right -after the list became visible again. e.g. - -```js -document.querySelector('iron-list').fire('iron-resize'); +```html + + + ``` ### Styling -Use the `--iron-list-items-container` mixin to style the container of items, e.g. +You can use the `--iron-list-items-container` mixin to style the container of items: ```css iron-list { @@ -89,8 +110,30 @@ iron-list { } ``` +### Resizing + +`iron-list` lays out the items when it receives a notification via the `iron-resize` event. +This event is fired by any element that implements `IronResizableBehavior`. + +By default, elements such as `iron-pages`, `paper-tabs` or `paper-dialog` will trigger +this event automatically. If you hide the list manually (e.g. you use `display: none`) +you might want to implement `IronResizableBehavior` or fire this event manually right +after the list became visible again. For example: + +```js +document.querySelector('iron-list').fire('iron-resize'); +``` + ### When should `` be used? -`iron-list` should be used when a page has significantly more DOM nodes than the ones visible on the screen. e.g. the page has 500 nodes, but only 20 are visible at the time. This is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still create 500 nodes which could slow down the web app, but `iron-list` will only create 20. +`iron-list` should be used when a page has significantly more DOM nodes than the ones +visible on the screen. e.g. the page has 500 nodes, but only 20 are visible at the time. +This is why we refer to it as a `virtual` list. In this case, a `dom-repeat` will still +create 500 nodes which could slow down the web app, but `iron-list` will only create 20. + +However, having an `iron-list` does not mean that you can load all the data at once. +Say, you have a million records in the database, you want to split the data into pages +so you can bring a page at the time. The page could contain 500 items, and iron-list +will only render 20. + -However, having an `iron-list` does not mean that you can load all the data at once. Say, you have a million records in the database, you want to split the data into pages so you can bring a page at the time. The page could contain 500 items, and iron-list will only render 20. diff --git a/bower_components/iron-list/bower.json b/bower_components/iron-list/bower.json old mode 100755 new mode 100644 index 3684260..21b92c7 --- a/bower_components/iron-list/bower.json +++ b/bower_components/iron-list/bower.json @@ -7,34 +7,42 @@ "list", "virtual-list" ], - "version": "1.1.5", + "version": "1.2.8", "homepage": "https://github.com/PolymerElements/iron-list", "authors": [ "The Polymer Authors" ], + "repository": { + "type": "git", + "url": "git://github.com/PolymerElements/iron-list" + }, "main": "iron-list.html", "license": "http://polymer.github.io/LICENSE.txt", "ignore": [], "dependencies": { "polymer": "Polymer/polymer#^1.1.0", - "iron-resizable-behavior": "polymerelements/iron-resizable-behavior#^1.0.0" + "iron-resizable-behavior": "polymerelements/iron-resizable-behavior#^1.0.0", + "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0", + "iron-scroll-target-behavior": "PolymerElements/iron-scroll-target-behavior#^1.0.0" }, "devDependencies": { + "app-layout": "PolymerLabs/app-layout#master", "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0", "iron-component-page": "polymerelements/iron-component-page#^1.0.0", - "paper-scroll-header-panel": "polymerelements/paper-scroll-header-panel#^1.0.0", + "iron-ajax": "polymerelements/iron-ajax#^1.0.0", + "iron-icon": "polymerelements/iron-icon#^1.0.0", + "iron-icons": "polymerelements/iron-icons#^1.0.0", + "iron-scroll-threshold": "polymerelements/iron-scroll-threshold#^1.0.0", + "iron-image": "polymerelements/iron-image#^1.0.0", "paper-menu": "polymerelements/paper-menu#^1.0.0", "paper-item": "polymerelements/paper-item#^1.0.0", "paper-icon-button": "polymerelements/paper-icon-button#^1.0.0", "paper-button": "polymerelements/paper-button#^1.0.0", - "iron-ajax": "polymerelements/iron-ajax#^1.0.0", - "iron-icon": "polymerelements/iron-icon#^1.0.0", - "iron-icons": "polymerelements/iron-icons#^1.0.0", "paper-badge": "polymerelements/paper-badge#^1.0.0", - "paper-toolbar": "polymerelements/paper-toolbar#^1.0.0", + "paper-spinner": "polymerelements/paper-spinner#^1.0.0", "test-fixture": "polymerelements/test-fixture#^1.0.0", "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.2", - "web-component-tester": "*" + "web-component-tester": "^4.0.0" } } diff --git a/bower_components/iron-list/demo/basic.html b/bower_components/iron-list/demo/basic.html new file mode 100644 index 0000000..c5b45dd --- /dev/null +++ b/bower_components/iron-list/demo/basic.html @@ -0,0 +1,60 @@ + + + + + + + iron-list demo + + + + + + + + + + + + + + + + + + + + + + diff --git a/bower_components/iron-list/demo/collapse.html b/bower_components/iron-list/demo/collapse.html old mode 100755 new mode 100644 index c49aaf0..3ac65cd --- a/bower_components/iron-list/demo/collapse.html +++ b/bower_components/iron-list/demo/collapse.html @@ -15,7 +15,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN Collapsable items using iron-list - + @@ -23,13 +23,22 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN - - + + + + + @@ -37,26 +46,28 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN + diff --git a/bower_components/iron-list/demo/data/contacts.json b/bower_components/iron-list/demo/data/contacts.json old mode 100755 new mode 100644 index 2cde665..2cde665 --- a/bower_components/iron-list/demo/data/contacts.json +++ b/bower_components/iron-list/demo/data/contacts.json diff --git a/bower_components/iron-list/demo/index.html b/bower_components/iron-list/demo/index.html old mode 100755 new mode 100644 index b5f7a13..cfd5e2a --- a/bower_components/iron-list/demo/index.html +++ b/bower_components/iron-list/demo/index.html @@ -9,13 +9,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN --> - + - iron-list and paper-scroll-header-panel demo + iron-list demo - + @@ -23,52 +23,77 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN - - + + + + @@ -106,47 +135,35 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN - diff --git a/bower_components/iron-list/demo/scroll-threshold.html b/bower_components/iron-list/demo/scroll-threshold.html new file mode 100644 index 0000000..f71de0f --- /dev/null +++ b/bower_components/iron-list/demo/scroll-threshold.html @@ -0,0 +1,191 @@ + + + + + + + Load data using iron-scroll-threshold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bower_components/iron-list/demo/selection.html b/bower_components/iron-list/demo/selection.html old mode 100755 new mode 100644 index 86ba700..279492e --- a/bower_components/iron-list/demo/selection.html +++ b/bower_components/iron-list/demo/selection.html @@ -12,7 +12,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN - Selection + Select contacts @@ -27,7 +27,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN - + + + @@ -36,27 +38,32 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN