summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichaelpg <michaelpg@chromium.org>2015-07-20 18:07:27 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-21 01:08:18 +0000
commit11430b7b875f089c3239ea17a189e801ad6c845e (patch)
tree60dfbed1c46e18e0f305301ad327749104446874
parent31510fe3e2d3b1f3123f391db52372b2506c46ca (diff)
downloadchromium_src-11430b7b875f089c3239ea17a189e801ad6c845e.zip
chromium_src-11430b7b875f089c3239ea17a189e801ad6c845e.tar.gz
chromium_src-11430b7b875f089c3239ea17a189e801ad6c845e.tar.bz2
Update bower.json for Polymer elements and add PRESUBMIT.py
Specify each element we use in bower.json, and enforce this with a PRESUBMIT. This way we won't be surprised by random 3rd-party libraries being added by Polymer in the future. This is virtually identical to the old PRESUBMIT.py that was third_party/polymer. Also remove some stuff we don't seem to use. R=jlklein@chromium.org,dzhioev@chromium.org Review URL: https://codereview.chromium.org/1221923003 Cr-Commit-Position: refs/heads/master@{#339585}
-rw-r--r--third_party/polymer/v1_0/PRESUBMIT.py57
-rw-r--r--third_party/polymer/v1_0/bower.json55
-rw-r--r--third_party/polymer/v1_0/chromium.patch11
-rw-r--r--third_party/polymer/v1_0/components-chromium/font-roboto/.bower.json31
-rw-r--r--third_party/polymer/v1_0/components-chromium/font-roboto/README.md1
-rw-r--r--third_party/polymer/v1_0/components-chromium/font-roboto/bower.json22
-rw-r--r--third_party/polymer/v1_0/components-chromium/font-roboto/roboto.html (renamed from third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals.html)5
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.bower.json38
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/README.md29
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/bower.json28
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/index.html28
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer-extracted.js65
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer.html59
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js8
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys/.bower.json39
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys/README.md3
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json29
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys/index.html24
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js107
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys.html13
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/.bower.json13
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/bower.json5
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea-extracted.js42
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea.html8
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-behaviors/.bower.json12
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-behaviors/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-behaviors/iron-button-state-extracted.js4
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-collapse/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-collapse/README.md2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-collapse/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-collapse/iron-collapse-extracted.js3
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-elements/.bower.json68
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-elements/README.md34
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-elements/bower.json59
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-fit-behavior/.bower.json5
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-flex-layout/.bower.json13
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-flex-layout/.gitignore (renamed from third_party/polymer/v1_0/components-chromium/iron-localstorage/.gitignore)1
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-flex-layout/bower.json7
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/.bower.json13
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/bower.json7
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js34
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-icon/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-icon/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-icons/.bower.json12
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-icons/README.md2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-icons/bower.json4
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset-svg/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset-svg/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset-svg/iron-iconset-svg-extracted.js2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/.bower.json36
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/README.md51
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/bower.json26
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/index.html27
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset-extracted.js276
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset.html58
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/.bower.json36
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/README.md60
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/bower.json26
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/index.html24
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/iron-image-extracted.js251
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-image/iron-image.html101
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-input/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-input/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-input/iron-input-extracted.js13
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/.bower.json41
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/README.md10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/bower.json32
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/hero.svg31
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/index.html26
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library-extracted.js229
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library.html28
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/.bower.json33
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/README.md13
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/bower.json24
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/hero.svg37
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/index.html23
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage-extracted.js156
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage.html39
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-media-query/.bower.json11
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-media-query/README.md4
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-media-query/bower.json3
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query-extracted.js7
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query.html4
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-menu-behavior/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-meta/.bower.json15
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-meta/README.md10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-meta/bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta-extracted.js47
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta.html10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/iron-overlay-behavior-extracted.js5
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-pages/.bower.json15
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-pages/bower.json7
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-pages/iron-pages-extracted.js12
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-range-behavior/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-range-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-range-behavior/index.html8
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js8
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/iron-resizable-behavior-extracted.js80
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-signals/.bower.json29
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-signals/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-signals/README.md26
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-signals/bower.json20
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-signals/index.html23
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals-extracted.js69
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-test-helpers/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/.bower.json8
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/iron-validatable-behavior-extracted.js6
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.bower.json43
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validator-behavior/README.md4
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validator-behavior/bower.json34
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validator-behavior/index.html30
-rw-r--r--third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior-extracted.js47
-rw-r--r--third_party/polymer/v1_0/components-chromium/more-routing/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/README.md2
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/cascaded-animation-extracted.js20
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/hero-animation-extracted.js2
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation-extracted.js49
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation.html35
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/ripple-animation-extracted.js8
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/scale-up-animation-extracted.js11
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation-extracted.js9
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation.html4
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages-extracted.js22
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages.html7
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-behavior-extracted.js5
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-runner-behavior-extracted.js17
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-animations.html1
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animatable-behavior-extracted.js12
-rw-r--r--third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animation-behavior-extracted.js12
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-behaviors/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-behaviors/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-button/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-button/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-button/paper-button.html7
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-checkbox/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-checkbox/README.md4
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-checkbox/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.css4
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.html4
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-behavior-extracted.js22
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-common.css2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.bower.json45
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/README.md8
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/bower.json36
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/hero.svg69
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/index.html30
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable-extracted.js64
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable.html85
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-dialog/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-drawer-panel/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-drawer-panel/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel-extracted.js68
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.css26
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.html36
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-elements/.bower.json60
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-elements/README.md21
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-elements/bower.json51
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-fab/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-fab/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-header-panel/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-icon-button/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-icon-button/bower.json6
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-icon-button/paper-icon-button.html1
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/.bower.json19
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/bower.json11
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior-extracted.js55
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior.html1
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input-container.html12
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error-extracted.js4
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error.html6
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input-extracted.js3
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-input.html2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea-extracted.js3
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea.html3
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-item/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-item/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-material/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-material/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-menu/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-menu/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-menu/paper-menu.html13
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-progress/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-progress/README.md15
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-progress/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-progress/paper-progress.html40
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-button/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-button/README.md13
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-button/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.css2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.html10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-group/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-group/README.md6
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-group/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group-extracted.js10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group.html6
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.bower.json48
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/README.md56
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/bower.json38
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/hero.svg41
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/index.html28
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel-extracted.js303
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel.html150
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-slider/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-slider/README.md60
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-slider/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider-extracted.js56
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.css9
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.html65
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-spinner/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-spinner/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner-extracted.js188
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner.css7
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-styles/.bower.json18
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-styles/bower.json12
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-styles/classes/shadow.html41
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-styles/classes/typography.html6
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-styles/shadow.html4
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-styles/typography.html16
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-tabs/.bower.json15
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-tabs/bower.json7
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-tabs/paper-tabs-extracted.js3
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/.bower.json38
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/README.md4
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/bower.json28
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/hero.svg20
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/index.html26
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast-extracted.js89
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast.html73
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toggle-button/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toggle-button/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.css1
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.html2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toolbar/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toolbar/README.md9
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toolbar/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar-extracted.js6
-rw-r--r--third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar.html18
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer-externs/.bower.json8
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer-externs/polymer.externs.js157
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer/.bower.json8
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer/bower.json2
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer/build.log27
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js974
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer/polymer-micro-extracted.js31
-rw-r--r--third_party/polymer/v1_0/components-chromium/polymer/polymer-mini-extracted.js202
-rw-r--r--third_party/polymer/v1_0/components/font-roboto/.bower.json31
-rw-r--r--third_party/polymer/v1_0/components/font-roboto/README.md1
-rw-r--r--third_party/polymer/v1_0/components/font-roboto/bower.json22
-rw-r--r--third_party/polymer/v1_0/components/font-roboto/roboto.html (renamed from third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior.html)6
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-announcer/.bower.json38
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-announcer/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-announcer/README.md29
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-announcer/bower.json28
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-announcer/index.html28
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-announcer/iron-a11y-announcer.html125
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys-behavior/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys-behavior/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html8
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys/.bower.json39
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys/README.md3
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys/bower.json29
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys/index.html24
-rw-r--r--third_party/polymer/v1_0/components/iron-a11y-keys/iron-a11y-keys.html122
-rw-r--r--third_party/polymer/v1_0/components/iron-autogrow-textarea/.bower.json13
-rw-r--r--third_party/polymer/v1_0/components/iron-autogrow-textarea/bower.json5
-rw-r--r--third_party/polymer/v1_0/components/iron-autogrow-textarea/iron-autogrow-textarea.html47
-rw-r--r--third_party/polymer/v1_0/components/iron-behaviors/.bower.json12
-rw-r--r--third_party/polymer/v1_0/components/iron-behaviors/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html4
-rw-r--r--third_party/polymer/v1_0/components/iron-collapse/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/iron-collapse/README.md2
-rw-r--r--third_party/polymer/v1_0/components/iron-collapse/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-collapse/iron-collapse.html3
-rw-r--r--third_party/polymer/v1_0/components/iron-elements/.bower.json68
-rw-r--r--third_party/polymer/v1_0/components/iron-elements/README.md34
-rw-r--r--third_party/polymer/v1_0/components/iron-elements/bower.json59
-rw-r--r--third_party/polymer/v1_0/components/iron-fit-behavior/.bower.json5
-rw-r--r--third_party/polymer/v1_0/components/iron-flex-layout/.bower.json13
-rw-r--r--third_party/polymer/v1_0/components/iron-flex-layout/.gitignore (renamed from third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.gitignore)1
-rw-r--r--third_party/polymer/v1_0/components/iron-flex-layout/bower.json7
-rw-r--r--third_party/polymer/v1_0/components/iron-form-element-behavior/.bower.json13
-rw-r--r--third_party/polymer/v1_0/components/iron-form-element-behavior/bower.json7
-rw-r--r--third_party/polymer/v1_0/components/iron-form-element-behavior/iron-form-element-behavior.html34
-rw-r--r--third_party/polymer/v1_0/components/iron-icon/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components/iron-icon/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/iron-icons/.bower.json12
-rw-r--r--third_party/polymer/v1_0/components/iron-icons/README.md2
-rw-r--r--third_party/polymer/v1_0/components/iron-icons/bower.json4
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset-svg/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset-svg/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset-svg/iron-iconset-svg.html2
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset/.bower.json36
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset/README.md51
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset/bower.json26
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset/index.html27
-rw-r--r--third_party/polymer/v1_0/components/iron-iconset/iron-iconset.html336
-rw-r--r--third_party/polymer/v1_0/components/iron-image/.bower.json36
-rw-r--r--third_party/polymer/v1_0/components/iron-image/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/iron-image/README.md60
-rw-r--r--third_party/polymer/v1_0/components/iron-image/bower.json26
-rw-r--r--third_party/polymer/v1_0/components/iron-image/index.html24
-rw-r--r--third_party/polymer/v1_0/components/iron-image/iron-image.html354
-rw-r--r--third_party/polymer/v1_0/components/iron-input/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/iron-input/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-input/iron-input.html13
-rw-r--r--third_party/polymer/v1_0/components/iron-jsonp-library/.bower.json41
-rw-r--r--third_party/polymer/v1_0/components/iron-jsonp-library/README.md10
-rw-r--r--third_party/polymer/v1_0/components/iron-jsonp-library/bower.json32
-rw-r--r--third_party/polymer/v1_0/components/iron-jsonp-library/hero.svg31
-rw-r--r--third_party/polymer/v1_0/components/iron-jsonp-library/index.html26
-rw-r--r--third_party/polymer/v1_0/components/iron-jsonp-library/iron-jsonp-library.html259
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/.bower.json33
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/README.md13
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/bower.json24
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/hero.svg37
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/index.html23
-rw-r--r--third_party/polymer/v1_0/components/iron-localstorage/iron-localstorage.html197
-rw-r--r--third_party/polymer/v1_0/components/iron-media-query/.bower.json11
-rw-r--r--third_party/polymer/v1_0/components/iron-media-query/README.md4
-rw-r--r--third_party/polymer/v1_0/components/iron-media-query/bower.json3
-rw-r--r--third_party/polymer/v1_0/components/iron-media-query/iron-media-query.html11
-rw-r--r--third_party/polymer/v1_0/components/iron-menu-behavior/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-meta/.bower.json15
-rw-r--r--third_party/polymer/v1_0/components/iron-meta/README.md10
-rw-r--r--third_party/polymer/v1_0/components/iron-meta/bower.json14
-rw-r--r--third_party/polymer/v1_0/components/iron-meta/iron-meta.html57
-rw-r--r--third_party/polymer/v1_0/components/iron-overlay-behavior/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/iron-overlay-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html5
-rw-r--r--third_party/polymer/v1_0/components/iron-pages/.bower.json15
-rw-r--r--third_party/polymer/v1_0/components/iron-pages/bower.json7
-rw-r--r--third_party/polymer/v1_0/components/iron-pages/iron-pages.html12
-rw-r--r--third_party/polymer/v1_0/components/iron-range-behavior/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/iron-range-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-range-behavior/index.html8
-rw-r--r--third_party/polymer/v1_0/components/iron-range-behavior/iron-range-behavior.html8
-rw-r--r--third_party/polymer/v1_0/components/iron-resizable-behavior/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components/iron-resizable-behavior/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/iron-resizable-behavior/iron-resizable-behavior.html80
-rw-r--r--third_party/polymer/v1_0/components/iron-signals/.bower.json29
-rw-r--r--third_party/polymer/v1_0/components/iron-signals/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/iron-signals/README.md26
-rw-r--r--third_party/polymer/v1_0/components/iron-signals/bower.json20
-rw-r--r--third_party/polymer/v1_0/components/iron-signals/index.html23
-rw-r--r--third_party/polymer/v1_0/components/iron-signals/iron-signals.html81
-rw-r--r--third_party/polymer/v1_0/components/iron-test-helpers/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-validatable-behavior/.bower.json8
-rw-r--r--third_party/polymer/v1_0/components/iron-validatable-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/iron-validatable-behavior/iron-validatable-behavior.html6
-rw-r--r--third_party/polymer/v1_0/components/iron-validator-behavior/.bower.json43
-rw-r--r--third_party/polymer/v1_0/components/iron-validator-behavior/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/iron-validator-behavior/README.md4
-rw-r--r--third_party/polymer/v1_0/components/iron-validator-behavior/bower.json34
-rw-r--r--third_party/polymer/v1_0/components/iron-validator-behavior/index.html30
-rw-r--r--third_party/polymer/v1_0/components/iron-validator-behavior/iron-validator-behavior.html61
-rw-r--r--third_party/polymer/v1_0/components/more-routing/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/README.md2
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/animations/cascaded-animation.html20
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/animations/hero-animation.html2
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/animations/reverse-ripple-animation.html87
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/animations/ripple-animation.html8
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/animations/scale-up-animation.html11
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/animations/transform-animation.html13
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html29
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/neon-animation-behavior.html5
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/neon-animation-runner-behavior.html17
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/neon-animations.html1
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animatable-behavior.html12
-rw-r--r--third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animation-behavior.html12
-rw-r--r--third_party/polymer/v1_0/components/paper-behaviors/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-behaviors/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-button/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-button/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-button/paper-button.html7
-rw-r--r--third_party/polymer/v1_0/components/paper-checkbox/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-checkbox/README.md4
-rw-r--r--third_party/polymer/v1_0/components/paper-checkbox/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.css4
-rw-r--r--third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.html4
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-behavior/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-behavior/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-behavior.html22
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-common.css2
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/.bower.json45
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/README.md8
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/bower.json36
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/hero.svg69
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/index.html30
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog-scrollable/paper-dialog-scrollable.html151
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-dialog/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-drawer-panel/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-drawer-panel/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.css26
-rw-r--r--third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.html104
-rw-r--r--third_party/polymer/v1_0/components/paper-elements/.bower.json60
-rw-r--r--third_party/polymer/v1_0/components/paper-elements/README.md21
-rw-r--r--third_party/polymer/v1_0/components/paper-elements/bower.json51
-rw-r--r--third_party/polymer/v1_0/components/paper-fab/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-fab/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-header-panel/.bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-icon-button/.bower.json14
-rw-r--r--third_party/polymer/v1_0/components/paper-icon-button/bower.json6
-rw-r--r--third_party/polymer/v1_0/components/paper-icon-button/paper-icon-button.html1
-rw-r--r--third_party/polymer/v1_0/components/paper-input/.bower.json19
-rw-r--r--third_party/polymer/v1_0/components/paper-input/bower.json11
-rw-r--r--third_party/polymer/v1_0/components/paper-input/paper-input-behavior.html56
-rw-r--r--third_party/polymer/v1_0/components/paper-input/paper-input-container.html12
-rw-r--r--third_party/polymer/v1_0/components/paper-input/paper-input-error.html10
-rw-r--r--third_party/polymer/v1_0/components/paper-input/paper-input.html8
-rw-r--r--third_party/polymer/v1_0/components/paper-input/paper-textarea.html7
-rw-r--r--third_party/polymer/v1_0/components/paper-item/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-item/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-material/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-material/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-menu/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-menu/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-menu/paper-menu.html13
-rw-r--r--third_party/polymer/v1_0/components/paper-progress/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-progress/README.md15
-rw-r--r--third_party/polymer/v1_0/components/paper-progress/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-progress/paper-progress.html38
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-button/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-button/README.md13
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-button/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.css2
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.html10
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-group/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-group/README.md6
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-group/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-radio-group/paper-radio-group.html16
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/.bower.json48
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/README.md56
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/bower.json38
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/hero.svg41
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/index.html28
-rw-r--r--third_party/polymer/v1_0/components/paper-scroll-header-panel/paper-scroll-header-panel.html455
-rw-r--r--third_party/polymer/v1_0/components/paper-slider/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-slider/README.md60
-rw-r--r--third_party/polymer/v1_0/components/paper-slider/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-slider/paper-slider.css9
-rw-r--r--third_party/polymer/v1_0/components/paper-slider/paper-slider.html121
-rw-r--r--third_party/polymer/v1_0/components/paper-spinner/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-spinner/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-spinner/paper-spinner.css7
-rw-r--r--third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html188
-rw-r--r--third_party/polymer/v1_0/components/paper-styles/.bower.json18
-rw-r--r--third_party/polymer/v1_0/components/paper-styles/bower.json12
-rw-r--r--third_party/polymer/v1_0/components/paper-styles/classes/shadow.html41
-rw-r--r--third_party/polymer/v1_0/components/paper-styles/classes/typography.html6
-rw-r--r--third_party/polymer/v1_0/components/paper-styles/shadow.html4
-rw-r--r--third_party/polymer/v1_0/components/paper-styles/typography.html16
-rw-r--r--third_party/polymer/v1_0/components/paper-tabs/.bower.json15
-rw-r--r--third_party/polymer/v1_0/components/paper-tabs/bower.json7
-rw-r--r--third_party/polymer/v1_0/components/paper-tabs/paper-tabs.html3
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/.bower.json38
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/.gitignore1
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/README.md4
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/bower.json28
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/hero.svg20
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/index.html26
-rw-r--r--third_party/polymer/v1_0/components/paper-toast/paper-toast.html164
-rw-r--r--third_party/polymer/v1_0/components/paper-toggle-button/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-toggle-button/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.css1
-rw-r--r--third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.html2
-rw-r--r--third_party/polymer/v1_0/components/paper-toolbar/.bower.json10
-rw-r--r--third_party/polymer/v1_0/components/paper-toolbar/README.md9
-rw-r--r--third_party/polymer/v1_0/components/paper-toolbar/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/paper-toolbar/paper-toolbar.html24
-rw-r--r--third_party/polymer/v1_0/components/polymer-externs/.bower.json8
-rw-r--r--third_party/polymer/v1_0/components/polymer-externs/polymer.externs.js157
-rw-r--r--third_party/polymer/v1_0/components/polymer/.bower.json8
-rw-r--r--third_party/polymer/v1_0/components/polymer/bower.json2
-rw-r--r--third_party/polymer/v1_0/components/polymer/build.log27
-rw-r--r--third_party/polymer/v1_0/components/polymer/polymer-micro.html31
-rw-r--r--third_party/polymer/v1_0/components/polymer/polymer-mini.html202
-rw-r--r--third_party/polymer/v1_0/components/polymer/polymer.html974
-rwxr-xr-xthird_party/polymer/v1_0/reproduce.sh3
-rw-r--r--third_party/web-animations-js/sources/.bower.json8
-rw-r--r--third_party/web-animations-js/sources/History.md28
-rw-r--r--third_party/web-animations-js/sources/web-animations-next-lite.min.js4
-rw-r--r--third_party/web-animations-js/sources/web-animations-next-lite.min.js.map2
-rw-r--r--third_party/web-animations-js/sources/web-animations-next.min.js4
-rw-r--r--third_party/web-animations-js/sources/web-animations-next.min.js.map2
-rw-r--r--third_party/web-animations-js/sources/web-animations.min.js4
-rw-r--r--third_party/web-animations-js/sources/web-animations.min.js.map2
-rw-r--r--ui/webui/resources/polymer_resources.grdp3
512 files changed, 4727 insertions, 10638 deletions
diff --git a/third_party/polymer/v1_0/PRESUBMIT.py b/third_party/polymer/v1_0/PRESUBMIT.py
new file mode 100644
index 0000000..4a765f3
--- /dev/null
+++ b/third_party/polymer/v1_0/PRESUBMIT.py
@@ -0,0 +1,57 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Chromium presubmit script for third_party/polymer/v1_0.
+
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
+for more details on the presubmit API built into depot_tools.
+"""
+
+import os
+import json
+
+def _CheckBowerDependencies(input_api, output_api):
+ os_path = input_api.os_path
+ cwd = input_api.PresubmitLocalPath()
+ components_dir = os_path.join(cwd, 'components')
+ bower_json_path = os_path.join(cwd, 'bower.json')
+
+ for f in input_api.AffectedFiles(include_dirs=True):
+ p = f.AbsoluteLocalPath()
+ if p == bower_json_path or p.startswith(components_dir):
+ break
+ else:
+ return []
+
+ bower_dependencies = \
+ set(json.load(open(bower_json_path))['dependencies'].keys())
+ installed_components = set(p for p in os.listdir(components_dir))
+ # Add web-animations-js because we keep it in a separate directory
+ # '../third_party/web-animations-js'.
+ installed_components.add('web-animations-js')
+
+ if bower_dependencies == installed_components:
+ return []
+
+ problems = []
+
+ if installed_components - bower_dependencies:
+ problems.append(output_api.PresubmitError(
+ 'Found components that are not listed in bower.json.',
+ items = list(installed_components - bower_dependencies)))
+
+ if bower_dependencies - installed_components:
+ problems.append(output_api.PresubmitError(
+ 'Some of the Bower dependencies are not installed.',
+ items = list(bower_dependencies - installed_components)))
+
+ return problems
+
+
+def CheckChangeOnUpload(input_api, output_api):
+ return _CheckBowerDependencies(input_api, output_api)
+
+
+def CheckChangeOnCommit(input_api, output_api):
+ return _CheckBowerDependencies(input_api, output_api)
diff --git a/third_party/polymer/v1_0/bower.json b/third_party/polymer/v1_0/bower.json
index 5236c81..95059dc 100644
--- a/third_party/polymer/v1_0/bower.json
+++ b/third_party/polymer/v1_0/bower.json
@@ -5,9 +5,58 @@
"polymer": "Polymer/polymer#~v1.0.0",
"polymer-externs": "PolymerLabs/polymer-externs#~1.0.0",
- "iron-elements": "PolymerElements/iron-elements#~1.0.0",
- "paper-elements": "PolymerElements/paper-elements#~1.0.0",
- "more-routing": "PolymerLabs/more-routing#^1.0.0",
+ "font-roboto": "PolymerElements/font-roboto#~1.0.0",
+
+ "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#~1.0.0",
+ "iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#~1.0.0",
+ "iron-behaviors": "PolymerElements/iron-behaviors#~1.0.0",
+ "iron-collapse": "PolymerElements/iron-collapse#~1.0.0",
+ "iron-fit-behavior": "PolymerElements/iron-fit-behavior#~1.0.0",
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#~1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#~1.0.0",
+ "iron-icon": "PolymerElements/iron-icon#~1.0.0",
+ "iron-icons": "PolymerElements/iron-icons#~1.0.0",
+ "iron-iconset-svg": "PolymerElements/iron-iconset-svg#~1.0.0",
+ "iron-input": "PolymerElements/iron-input#~1.0.0",
+ "iron-media-query": "PolymerElements/iron-media-query#~1.0.0",
+ "iron-menu-behavior": "PolymerElements/iron-menu-behavior#~1.0.0",
+ "iron-meta": "PolymerElements/iron-meta#~1.0.0",
+ "iron-overlay-behavior": "PolymerElements/iron-overlay-behavior#~1.0.0",
+ "iron-pages": "PolymerElements/iron-pages#~1.0.0",
+ "iron-range-behavior": "PolymerElements/iron-range-behavior#~1.0.0",
+ "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#~1.0.0",
+ "iron-selector": "PolymerElements/iron-selector#~1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#~1.0.0",
+ "iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#~1.0.0",
+
+ "more-routing": "PolymerLabs/more-routing#~1.0.0",
+
+ "neon-animation": "PolymerElements/neon-animation#~1.0.0",
+
+ "paper-behaviors": "PolymerElements/paper-behaviors#~1.0.0",
+ "paper-button": "PolymerElements/paper-button#~1.0.0",
+ "paper-checkbox": "PolymerElements/paper-checkbox#~1.0.0",
+ "paper-dialog": "PolymerElements/paper-dialog#~1.0.0",
+ "paper-dialog-behavior": "PolymerElements/paper-dialog-behavior#~1.0.0",
+ "paper-drawer-panel": "PolymerElements/paper-drawer-panel#~1.0.0",
+ "paper-fab": "PolymerElements/paper-fab#~1.0.0",
+ "paper-header-panel": "PolymerElements/paper-header-panel#~1.0.0",
+ "paper-icon-button": "PolymerElements/paper-icon-button#~1.0.0",
+ "paper-input": "PolymerElements/paper-input#~1.0.0",
+ "paper-item": "PolymerElements/paper-item#~1.0.0",
+ "paper-material": "PolymerElements/paper-material#~1.0.0",
+ "paper-menu": "PolymerElements/paper-menu#~1.0.0",
+ "paper-progress": "PolymerElements/paper-progress#~1.0.0",
+ "paper-radio-button": "PolymerElements/paper-radio-button#~1.0.0",
+ "paper-radio-group": "PolymerElements/paper-radio-group#~1.0.0",
+ "paper-ripple": "PolymerElements/paper-ripple#~1.0.0",
+ "paper-slider": "PolymerElements/paper-slider#~1.0.0",
+ "paper-spinner": "PolymerElements/paper-spinner#~1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#~1.0.0",
+ "paper-tabs": "PolymerElements/paper-tabs#~1.0.0",
+ "paper-toggle-button": "PolymerElements/paper-toggle-button#~1.0.0",
+ "paper-toolbar": "PolymerElements/paper-toolbar#~1.0.0",
+
"web-animations-js": "web-animations/web-animations-js#^2.0.0"
}
}
diff --git a/third_party/polymer/v1_0/chromium.patch b/third_party/polymer/v1_0/chromium.patch
new file mode 100644
index 0000000..362bbf3
--- /dev/null
+++ b/third_party/polymer/v1_0/chromium.patch
@@ -0,0 +1,11 @@
+diff --git a/components/font-roboto/roboto.html b/components/font-roboto/roboto.html
+index 7a24999..4eefcba 100644
+--- a/components/font-roboto/roboto.html
++++ b/components/font-roboto/roboto.html
+@@ -7,5 +7,4 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
+ Code distributed by Google as part of the polymer project is also
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+ -->
+-<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
+-<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700">
++<link rel="stylesheet" href="chrome://resources/css/roboto.css">
diff --git a/third_party/polymer/v1_0/components-chromium/font-roboto/.bower.json b/third_party/polymer/v1_0/components-chromium/font-roboto/.bower.json
new file mode 100644
index 0000000..d811ee4
--- /dev/null
+++ b/third_party/polymer/v1_0/components-chromium/font-roboto/.bower.json
@@ -0,0 +1,31 @@
+{
+ "name": "font-roboto",
+ "version": "1.0.1",
+ "description": "An HTML import for Roboto",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "font",
+ "roboto"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/font-roboto.git"
+ },
+ "main": "roboto.html",
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/font-roboto/",
+ "ignore": [
+ "/.*"
+ ],
+ "_release": "1.0.1",
+ "_resolution": {
+ "type": "version",
+ "tag": "v1.0.1",
+ "commit": "21ce9b51a417fa9995cf6606e886aba0728f70a1"
+ },
+ "_source": "git://github.com/PolymerElements/font-roboto.git",
+ "_target": "~1.0.0",
+ "_originalSource": "PolymerElements/font-roboto"
+} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/font-roboto/README.md b/third_party/polymer/v1_0/components-chromium/font-roboto/README.md
new file mode 100644
index 0000000..61c6394
--- /dev/null
+++ b/third_party/polymer/v1_0/components-chromium/font-roboto/README.md
@@ -0,0 +1 @@
+# font-roboto
diff --git a/third_party/polymer/v1_0/components-chromium/font-roboto/bower.json b/third_party/polymer/v1_0/components-chromium/font-roboto/bower.json
new file mode 100644
index 0000000..977cf2d
--- /dev/null
+++ b/third_party/polymer/v1_0/components-chromium/font-roboto/bower.json
@@ -0,0 +1,22 @@
+{
+ "name": "font-roboto",
+ "version": "1.0.1",
+ "description": "An HTML import for Roboto",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "font",
+ "roboto"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/font-roboto.git"
+ },
+ "main": "roboto.html",
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/font-roboto/",
+ "ignore": [
+ "/.*"
+ ]
+}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals.html b/third_party/polymer/v1_0/components-chromium/font-roboto/roboto.html
index c4305e4..4eefcba 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals.html
+++ b/third_party/polymer/v1_0/components-chromium/font-roboto/roboto.html
@@ -6,6 +6,5 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-
-</head><body><script src="iron-signals-extracted.js"></script></body></html> \ No newline at end of file
+-->
+<link rel="stylesheet" href="chrome://resources/css/roboto.css">
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.bower.json
deleted file mode 100644
index 54806db..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "iron-a11y-announcer",
- "version": "1.0.0",
- "description": "A singleton element that simplifies announcing text to screen readers.",
- "keywords": [
- "web-components",
- "polymer",
- "a11y",
- "live"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-announcer.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "paper-styles": "polymerelements/paper-styles#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*"
- },
- "homepage": "https://github.com/PolymerElements/iron-a11y-announcer",
- "_release": "1.0.0",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.0",
- "commit": "c809efbb3fd27a25eef515acd2f46f07a5f5c6a2"
- },
- "_source": "git://github.com/PolymerElements/iron-a11y-announcer.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-a11y-announcer"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/README.md b/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/README.md
deleted file mode 100644
index 5988d8c..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-iron-a11y-announcer
-===================
-
-`iron-a11y-announcer` is a singleton element that is intended to add a11y
-to features that require on-demand announcement from screen readers. In
-order to make use of the announcer, it is best to request its availability
-in the announcing element.
-
-Example:
-
- Polymer({
- is: 'x-chatty',
- attached: function() {
- // This will create the singlton element if it has not
- // been created yet:
- Polymer.IronA11yAnnouncer.requestAvailability();
- }
- });
-
-After the `iron-a11y-announcer` has been made available, elements can
-make announces by firing bubbling `iron-announce` events.
-
-Example:
-
- this.fire('iron-announce', {
- text: 'This is an announcement!'
- }, { bubbles: true });
-
-Note: announcements are only audible if you have a screen reader enabled.
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/bower.json
deleted file mode 100644
index ce802c1..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/bower.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "iron-a11y-announcer",
- "version": "1.0.0",
- "description": "A singleton element that simplifies announcing text to screen readers.",
- "keywords": [
- "web-components",
- "polymer",
- "a11y",
- "live"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-announcer.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "paper-styles": "polymerelements/paper-styles#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/index.html b/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/index.html
deleted file mode 100644
index 1f8889a..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<html>
-<head>
-
- <title>iron-a11y-announcer</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer-extracted.js
deleted file mode 100644
index 28063d2..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer-extracted.js
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
- (function() {
- 'use strict';
-
- Polymer.IronA11yAnnouncer = Polymer({
- is: 'iron-a11y-announcer',
-
- properties: {
-
- /**
- * The value of mode is used to set the `aria-live` attribute
- * for the element that will be announced. Valid values are: `off`,
- * `polite` and `assertive`.
- */
- mode: {
- type: String,
- value: 'polite'
- },
-
- _text: {
- type: String,
- value: ''
- }
- },
-
- created: function() {
- if (!Polymer.IronA11yAnnouncer.instance) {
- Polymer.IronA11yAnnouncer.instance = this;
- }
-
- document.body.addEventListener('iron-announce', this._onIronAnnounce.bind(this));
- },
-
- /**
- * Cause a text string to be announced by screen readers.
- *
- * @param {string} text The text that should be announced.
- */
- announce: function(text) {
- this._text = '';
- this.async(function() {
- this._text = text;
- }, 100);
- },
-
- _onIronAnnounce: function(event) {
- if (event.detail && event.detail.text) {
- this.announce(event.detail.text);
- }
- }
- });
-
- Polymer.IronA11yAnnouncer.instance = null;
-
- Polymer.IronA11yAnnouncer.requestAvailability = function() {
- if (!Polymer.IronA11yAnnouncer.instance) {
- document.createElement('iron-a11y-announcer');
- }
-
- document.body.appendChild(Polymer.IronA11yAnnouncer.instance);
- };
- })();
-
- \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer.html b/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer.html
deleted file mode 100644
index 85ce8c6..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-
-<!--
-`iron-a11y-announcer` is a singleton element that is intended to add a11y
-to features that require on-demand announcement from screen readers. In
-order to make use of the announcer, it is best to request its availability
-in the announcing element.
-
-Example:
-
- Polymer({
-
- is: 'x-chatty',
-
- attached: function() {
- // This will create the singlton element if it has not
- // been created yet:
- Polymer.IronA11yAnnouncer.requestAvailability();
- }
- });
-
-After the `iron-a11y-announcer` has been made available, elements can
-make announces by firing bubbling `iron-announce` events.
-
-Example:
-
- this.fire('iron-announce', {
- text: 'This is an announcement!'
- }, { bubbles: true });
-
-Note: announcements are only audible if you have a screen reader enabled.
-
-@group Iron Elements
-@demo demo/index.html
--->
-
-</head><body><dom-module id="iron-a11y-announcer">
- <style>
- :host {
- display: inline-block;
- position: fixed;
- clip: rect(0px,0px,0px,0px);
- }
- </style>
-
- <template>
- <span aria-live$="[[mode]]">[[_text]]</span>
- </template>
-
- </dom-module>
-<script src="iron-a11y-announcer-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/.bower.json
index 1273560..dd55694 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-a11y-keys-behavior",
- "version": "1.0.2",
+ "version": "1.0.5",
"description": "A behavior that enables keybindings for greater a11y.",
"keywords": [
"web-components",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git"
+ },
"main": "iron-a11y-keys-behavior.html",
"license": "http://polymer.github.io/LICENSE.txt",
"dependencies": {
@@ -26,13 +30,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-a11y-keys-behavior",
- "_release": "1.0.2",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "f65766278e9943649e70ff8ab01a848ccf068b01"
+ "tag": "v1.0.5",
+ "commit": "cf833eab5c55a26c5aa92e56d3fcb079120ce66a"
},
"_source": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-a11y-keys-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/bower.json
index cbf6871..aa52718 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-a11y-keys-behavior",
- "version": "1.0.2",
+ "version": "1.0.5",
"description": "A behavior that enables keybindings for greater a11y.",
"keywords": [
"web-components",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git"
+ },
"main": "iron-a11y-keys-behavior.html",
"license": "http://polymer.github.io/LICENSE.txt",
"dependencies": {
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js
index c9da8f4..0511da98 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js
@@ -82,10 +82,10 @@
* in a KeyboardEvent instance.
*/
var MODIFIER_KEYS = {
- shift: 'shiftKey',
- ctrl: 'ctrlKey',
- alt: 'altKey',
- meta: 'metaKey'
+ 'shift': 'shiftKey',
+ 'ctrl': 'ctrlKey',
+ 'alt': 'altKey',
+ 'meta': 'metaKey'
};
/**
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/.bower.json
deleted file mode 100644
index cb2b091..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/.bower.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "iron-a11y-keys",
- "version": "1.0.1",
- "description": "A basic element implementation of iron-a11y-keys-behavior, matching the legacy core-a11y-keys.",
- "keywords": [
- "web-components",
- "web-component",
- "polymer",
- "a11y",
- "input"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-keys.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0",
- "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-a11y-keys",
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "9ba9b2bb3a328c6b88ebabb436dc96402dc0e455"
- },
- "_source": "git://github.com/PolymerElements/iron-a11y-keys.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-a11y-keys"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/README.md b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/README.md
deleted file mode 100644
index 514b4f5..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-iron-a11y-keys
-==============
-
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json
deleted file mode 100644
index c3bb104..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "iron-a11y-keys",
- "version": "1.0.1",
- "description": "A basic element implementation of iron-a11y-keys-behavior, matching the legacy core-a11y-keys.",
- "keywords": [
- "web-components",
- "web-component",
- "polymer",
- "a11y",
- "input"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-keys.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0",
- "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/index.html b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/index.html
deleted file mode 100644
index 02c5182..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <title>iron-a11y-keys</title>
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js
deleted file mode 100644
index 477f6f1..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-/*
-`iron-a11y-keys` provides a normalized interface for processing keyboard commands that pertain to [WAI-ARIA best
-practices](http://www.w3.org/TR/wai-aria-practices/#kbd_general_binding). The element takes care of browser differences
-with respect to Keyboard events and uses an expressive syntax to filter key presses.
-
-Use the `keys` attribute to express what combination of keys will trigger the event to fire.
-
-Use the `target` attribute to set up event handlers on a specific node.
-The `keys-pressed` event will fire when one of the key combinations set with the `keys` attribute is pressed.
-
-Example:
-
-This element will call `arrowHandler` on all arrow keys:
-
- <iron-a11y-keys target="{{}}" keys="up down left right" on-keys-pressed="{{arrowHandler}}"></iron-a11y-keys>
-
-Keys Syntax:
-
-The `keys` attribute can accepts a space seprated, `+` concatenated set of modifier keys and some common keyboard keys.
-
-The common keys are `a-z`, `0-9` (top row and number pad), `*` (shift 8 and number pad), `F1-F12`, `Page Up`, `Page
-Down`, `Left Arrow`, `Right Arrow`, `Down Arrow`, `Up Arrow`, `Home`, `End`, `Escape`, `Space`, `Tab`, and `Enter` keys.
-
-The modifier keys are `Shift`, `Control`, and `Alt`.
-
-All keys are expected to be lowercase and shortened:
-`Left Arrow` is `left`, `Page Down` is `pagedown`, `Control` is `ctrl`, `F1` is `f1`, `Escape` is `esc` etc.
-
-Keys Syntax Example:
-
-Given the `keys` attribute value "ctrl+shift+f7 up pagedown esc space alt+m", the `<iron-a11y-keys>` element will send
-the `keys-pressed` event if any of the follow key combos are pressed: Control and Shift and F7 keys, Up Arrow key, Page
-Down key, Escape key, Space key, Alt and M key.
-
-Slider Example:
-
-The following is an example of the set of keys that fulfil the WAI-ARIA "slider" role [best
-practices](http://www.w3.org/TR/wai-aria-practices/#slider):
-
- <iron-a11y-keys target="{{}}" keys="left pagedown down" on-keys-pressed="{{decrement}}"></iron-a11y-keys>
- <iron-a11y-keys target="{{}}" keys="right pageup up" on-keys-pressed="{{increment}}"></iron-a11y-keys>
- <iron-a11y-keys target="{{}}" keys="home" on-keys-pressed="{{setMin}}"></iron-a11y-keys>
- <iron-a11y-keys target="{{}}" keys="end" on-keys-pressed="{{setMax}}"></iron-a11y-keys>
-
-The `increment` function will move the slider a set amount toward the maximum value.
-The `decrement` function will move the slider a set amount toward the minimum value.
-The `setMin` function will move the slider to the minimum value.
-The `setMax` function will move the slider to the maximum value.
-
-Keys Syntax Grammar:
-
-[EBNF](http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form) Grammar of the `keys` attribute.
-
- modifier = "shift" | "ctrl" | "alt";
- ascii = ? /[a-z0-9]/ ? ;
- fnkey = ? f1 through f12 ? ;
- arrow = "up" | "down" | "left" | "right" ;
- key = "tab" | "esc" | "space" | "*" | "pageup" | "pagedown" | "home" | "end" | arrow | ascii | fnkey ;
- keycombo = { modifier, "+" }, key ;
- keys = keycombo, { " ", keycombo } ;
-
-@demo demo/index.html
-*/
-
-
- Polymer({
- is: 'iron-a11y-keys',
-
- behaviors: [
- Polymer.IronA11yKeysBehavior
- ],
-
- properties: {
- /** @type {?Node} */
- target: {
- type: Object,
- observer: '_targetChanged'
- },
-
- keys: {
- type: String,
- reflectToAttribute: true,
- observer: '_keysChanged'
- }
- },
-
- attached: function() {
- if (!this.target) {
- this.target = this.parentNode;
- }
- },
-
- _targetChanged: function(target) {
- this.keyEventTarget = target;
- },
-
- _keysChanged: function() {
- this.removeOwnKeyBindings();
- this.addOwnKeyBinding(this.keys, '_fireKeysPressed');
- },
-
- _fireKeysPressed: function(event) {
- this.fire('keys-pressed', event.detail, {});
- }
- });
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys.html b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys.html
deleted file mode 100644
index 6e6a8d8..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html">
-
-
-</head><body><script src="iron-a11y-keys-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/.bower.json
index 6601ce9..8403c61 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-autogrow-textarea",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "A textarea element that automatically grows with input",
"authors": [
"The Polymer Authors"
@@ -23,24 +23,27 @@
"homepage": "https://github.com/PolymerElements/iron-autogrow-textarea",
"ignore": [],
"dependencies": {
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "e2bd6f5e964d032beccacabbccb63f93c73f74c0"
+ "tag": "v1.0.3",
+ "commit": "9eae088ce72a31b0baf44e6cdc183e5b73014af5"
},
"_source": "git://github.com/PolymerElements/iron-autogrow-textarea.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-autogrow-textarea"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/bower.json b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/bower.json
index bcb7ff0..810f88f 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-autogrow-textarea",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "A textarea element that automatically grows with input",
"authors": [
"The Polymer Authors"
@@ -23,12 +23,15 @@
"homepage": "https://github.com/PolymerElements/iron-autogrow-textarea",
"ignore": [],
"dependencies": {
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea-extracted.js
index de9ac3f..d69ffdb 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea-extracted.js
@@ -5,7 +5,9 @@
is: 'iron-autogrow-textarea',
behaviors: [
- Polymer.IronValidatableBehavior
+ Polymer.IronFormElementBehavior,
+ Polymer.IronValidatableBehavior,
+ Polymer.IronControlState
],
properties: {
@@ -76,6 +78,15 @@
},
/**
+ * The value for this input, same as `bindValue`
+ */
+ value: {
+ notify: true,
+ type: String,
+ computed: '_computeValue(bindValue)'
+ },
+
+ /**
* Bound to the textarea's `placeholder` attribute.
*/
placeholder: {
@@ -111,11 +122,36 @@
/**
* Returns the underlying textarea.
+ * @type HTMLTextAreaElement
*/
get textarea() {
return this.$.textarea;
},
+ /**
+ * Returns true if `value` is valid. The validator provided in `validator`
+ * will be used first, if it exists; otherwise, the `textarea`'s validity
+ * is used.
+ * @return {boolean} True if the value is valid.
+ */
+ validate: function() {
+ // Empty, non-required input is valid.
+ if (!this.required && this.value == '') {
+ this.invalid = false;
+ return true;
+ }
+
+ var valid;
+ if (this.hasValidator()) {
+ valid = Polymer.IronValidatableBehavior.validate.call(this, this.value);
+ } else {
+ valid = this.$.textarea.validity.valid;
+ this.invalid = !valid;
+ }
+ this.fire('iron-input-validate');
+ return valid;
+ },
+
_update: function() {
this.$.mirror.innerHTML = this._valueForMirror();
@@ -170,5 +206,9 @@
_updateCached: function() {
this.$.mirror.innerHTML = this._constrain(this.tokens);
+ },
+
+ _computeValue: function() {
+ return this.bindValue;
}
})
diff --git a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea.html b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea.html
index 7c24a08..9dae98c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea.html
+++ b/third_party/polymer/v1_0/components-chromium/iron-autogrow-textarea/iron-autogrow-textarea.html
@@ -7,8 +7,10 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--><html><head><link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../iron-behaviors/iron-control-state.html">
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
<link rel="import" href="../iron-validatable-behavior/iron-validatable-behavior.html">
+<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
<!--
`iron-autogrow-textarea` is an element containing a textarea that grows in height as more
@@ -53,6 +55,7 @@ this element's `bind-value` instead for imperative updates.
border: none;
resize: none;
background: inherit;
+ color: inherit;
/* see comments in template */
width: 100%;
height: 100%;
@@ -71,8 +74,9 @@ this element's `bind-value` instead for imperative updates.
<!-- size the input/textarea with a div, because the textarea has intrinsic size in ff -->
<div class="textarea-container fit">
- <textarea id="textarea" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" rows$="[[rows]]" maxlength$="[[maxlength]]"></textarea>
+ <textarea id="textarea" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" rows$="[[rows]]" maxlength$="[[maxlength]]"></textarea>
</div>
</template>
+</dom-module>
-</dom-module><script src="iron-autogrow-textarea-extracted.js"></script></body></html> \ No newline at end of file
+<script src="iron-autogrow-textarea-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-behaviors/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-behaviors/.bower.json
index 17a4dda..bf8b6cf 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-behaviors/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-behaviors/.bower.json
@@ -1,11 +1,15 @@
{
"name": "iron-behaviors",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "Provides a set of behaviors for the iron elements",
"private": true,
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-behaviors.git"
+ },
"main": [
"iron-button-state.html",
"iron-control-state.html"
@@ -24,11 +28,11 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-behaviors",
- "_release": "1.0.3",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "a8e8245c60d65712e2f0ac727f1ce3529dcf395d"
+ "tag": "v1.0.4",
+ "commit": "8792edd457de697a74f398c09b67df30adf7d866"
},
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-behaviors/bower.json b/third_party/polymer/v1_0/components-chromium/iron-behaviors/bower.json
index 9f55d07..6a18575 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-behaviors/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-behaviors/bower.json
@@ -1,11 +1,15 @@
{
"name": "iron-behaviors",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "Provides a set of behaviors for the iron elements",
"private": true,
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-behaviors.git"
+ },
"main": [
"iron-button-state.html",
"iron-control-state.html"
diff --git a/third_party/polymer/v1_0/components-chromium/iron-behaviors/iron-button-state-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-behaviors/iron-button-state-extracted.js
index f9c6498..a6516eb 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-behaviors/iron-button-state-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-behaviors/iron-button-state-extracted.js
@@ -2,7 +2,7 @@
/**
* @demo demo/index.html
- * @polymerBehavior
+ * @polymerBehavior Polymer.IronButtonState
*/
Polymer.IronButtonStateImpl = {
@@ -163,7 +163,7 @@
};
- /** @polymerBehavior Polymer.IronButtonState */
+ /** @polymerBehavior */
Polymer.IronButtonState = [
Polymer.IronA11yKeysBehavior,
Polymer.IronButtonStateImpl
diff --git a/third_party/polymer/v1_0/components-chromium/iron-collapse/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-collapse/.bower.json
index 67ce4ad..9320f0b 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-collapse/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-collapse/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-collapse",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provides a collapsable container",
"authors": [
"The Polymer Authors"
@@ -28,13 +28,13 @@
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "336d40cd1aacc16602cae1b7cf6172c32b5f947d"
+ "tag": "v1.0.2",
+ "commit": "0b0228632fa005a57664d3bda8dbe14c89bec942"
},
"_source": "git://github.com/PolymerElements/iron-collapse.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-collapse"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-collapse/README.md b/third_party/polymer/v1_0/components-chromium/iron-collapse/README.md
index 13a013b..b11ac66 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-collapse/README.md
+++ b/third_party/polymer/v1_0/components-chromium/iron-collapse/README.md
@@ -4,7 +4,7 @@
will be collapsed. Use `opened` or `toggle()` to show/hide the content.
```html
-<button on-click="{{toggle}}">toggle collapse</button>
+<button on-click="toggle">toggle collapse</button>
<iron-collapse id="collapse">
<div>Content goes here...</div>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-collapse/bower.json b/third_party/polymer/v1_0/components-chromium/iron-collapse/bower.json
index 55df067..4c1a7a4 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-collapse/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-collapse/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-collapse",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provides a collapsable container",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/iron-collapse/iron-collapse-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-collapse/iron-collapse-extracted.js
index f85b985..4ac7a79 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-collapse/iron-collapse-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-collapse/iron-collapse-extracted.js
@@ -33,8 +33,7 @@
hostAttributes: {
role: 'group',
- 'aria-expanded': 'false',
- tabindex: 0
+ 'aria-expanded': 'false'
},
listeners: {
diff --git a/third_party/polymer/v1_0/components-chromium/iron-elements/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-elements/.bower.json
deleted file mode 100644
index 98a0928..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-elements/.bower.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "iron-elements",
- "version": "1.0.0",
- "description": "Iron elements are a set of visual and non-visual utility elements. They include elements for working with layout, user input, selection, and scaffolding apps.",
- "keywords": [
- "web-components",
- "polymer",
- "utility",
- "user-input",
- "selection"
- ],
- "dependencies": {
- "iron-a11y-announcer": "PolymerElements/iron-a11y-announcer#^1.0.0",
- "iron-a11y-keys": "PolymerElements/iron-a11y-keys#^1.0.0",
- "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
- "iron-ajax": "PolymerElements/iron-ajax#^1.0.0",
- "iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
- "iron-collapse": "PolymerElements/iron-collapse#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-doc-viewer": "PolymerElements/iron-doc-viewer#^1.0.0",
- "iron-fit-behavior": "PolymerElements/iron-fit-behavior#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-form": "PolymerElements/iron-form#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "iron-icon": "PolymerElements/iron-icon#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "iron-iconset": "PolymerElements/iron-iconset#^1.0.0",
- "iron-iconset-svg": "PolymerElements/iron-iconset-svg#^1.0.0",
- "iron-image": "PolymerElements/iron-image#^1.0.0",
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-jsonp-library": "PolymerElements/iron-jsonp-library#^1.0.0",
- "iron-localstorage": "PolymerElements/iron-localstorage#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-menu-behavior": "PolymerElements/iron-menu-behavior#^1.0.0",
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "iron-overlay-behavior": "PolymerElements/iron-overlay-behavior#^1.0.0",
- "iron-pages": "PolymerElements/iron-pages#^1.0.0",
- "iron-range-behavior": "PolymerElements/iron-range-behavior#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
- "iron-selector": "PolymerElements/iron-selector#^1.0.0",
- "iron-signals": "PolymerElements/iron-signals#^1.0.0",
- "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
- "iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
- "iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-elements",
- "authors": [
- "The Polymer Authors"
- ],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "_release": "1.0.0",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.0",
- "commit": "3afca31d047c2a3bcf3b196f77fcf2018b84f173"
- },
- "_source": "git://github.com/PolymerElements/iron-elements.git",
- "_target": "~1.0.0",
- "_originalSource": "PolymerElements/iron-elements"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-elements/README.md b/third_party/polymer/v1_0/components-chromium/iron-elements/README.md
deleted file mode 100644
index 979217f..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-elements/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# iron-elements
-
-Basic building blocks for creating an application.
-
-## Roadmap
-
-### Elements in progress
-
-* `iron-list` - the upgraded version of a virtualized infinite list, previously named `core-list`. ETA: Couple weeks.
-
-### Elements planned
-_Elements we're planning on building soon but haven't started yet_
-
-[Currently focused on getting all elements up to speed]
-
-### Elements not planned, notably
-_Elements we're not planning on building as part of this product line, but that one might be wondering about_
-
-A number of elements existed as `core` elements that are not in this product line:
-* `core-action-icons` - This wasn't really an element, and wasn't particularly heavily used.
-* `core-animation` - The animation-related elements that were part of core will be created as part of the `neon` product line.
-* `core-docs` - Deprecated: use [`iron-doc-viewer`](https://github.com/polymerelements/iron-doc-viewer).
-* `core-drag-drop` - Not currently working on.
-* `core-dropdown` and `core-dropdown-menu` - These were confusing UI to have in `core`, so we've moved them to the `paper` element set for now and made them easier to customize. More on the thought process behind this change in the [blog](https://blog.polymer-project.org/announcements/2015/05/14/updated-elements/).
-* `core-focusable` - This has been re-implemented using Polymer behaviors - see for example the `paper-radio-button-behavior` in [`paper-behaviors`](https://github.com/PolymerElements/paper-behaviors).
-* `core-item` - This had UI opinion, so was re-implemented as [`paper-item`](https://github.com/polymerelements/paper-item).
-* `core-layout` - We're working on more stable, consistent layout elements.
-* `core-overlay` - This is re-implemented as a behavior, in [`iron-overlay-behavior`](https://github.com/polymerelements/iron-overlay-behavior).
-* `core-popup-menu` - This element wasn't particularly of unique value, so we're putting it away for now.
-* `core-scroll-header-panel` - This had UI opinion, so it's been moved to [`paper-scroll-header-panel`](https://github.com/polymerelements/paper-scroll-header-panel).
-* `core-splitter` - This element was relatively trivial, so we've put it off for now.
-* `core-style` - This element is not useful with Polymer's new styling system. Check out the latest docs for more.
-* `core-tooltip` - This will become `paper-tooltip`.
-* `core-menu` - This had UI opinion, and will become `paper-dropdown-menu`.
diff --git a/third_party/polymer/v1_0/components-chromium/iron-elements/bower.json b/third_party/polymer/v1_0/components-chromium/iron-elements/bower.json
deleted file mode 100644
index de10b39..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-elements/bower.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "name": "iron-elements",
- "version": "1.0.0",
- "description": "Iron elements are a set of visual and non-visual utility elements. They include elements for working with layout, user input, selection, and scaffolding apps.",
- "keywords": [
- "web-components",
- "polymer",
- "utility",
- "user-input",
- "selection"
- ],
-
- "dependencies": {
- "iron-a11y-announcer": "PolymerElements/iron-a11y-announcer#^1.0.0",
- "iron-a11y-keys": "PolymerElements/iron-a11y-keys#^1.0.0",
- "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
- "iron-ajax": "PolymerElements/iron-ajax#^1.0.0",
- "iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
- "iron-collapse": "PolymerElements/iron-collapse#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-doc-viewer": "PolymerElements/iron-doc-viewer#^1.0.0",
- "iron-fit-behavior": "PolymerElements/iron-fit-behavior#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-form": "PolymerElements/iron-form#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "iron-icon": "PolymerElements/iron-icon#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "iron-iconset": "PolymerElements/iron-iconset#^1.0.0",
- "iron-iconset-svg": "PolymerElements/iron-iconset-svg#^1.0.0",
- "iron-image": "PolymerElements/iron-image#^1.0.0",
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-jsonp-library": "PolymerElements/iron-jsonp-library#^1.0.0",
- "iron-localstorage": "PolymerElements/iron-localstorage#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-menu-behavior": "PolymerElements/iron-menu-behavior#^1.0.0",
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "iron-overlay-behavior": "PolymerElements/iron-overlay-behavior#^1.0.0",
- "iron-pages": "PolymerElements/iron-pages#^1.0.0",
- "iron-range-behavior": "PolymerElements/iron-range-behavior#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
- "iron-selector": "PolymerElements/iron-selector#^1.0.0",
- "iron-signals": "PolymerElements/iron-signals#^1.0.0",
- "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
- "iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
- "iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0"
- },
-
- "homepage": "https://github.com/PolymerElements/iron-elements",
- "authors": ["The Polymer Authors"],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ]
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-fit-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-fit-behavior/.bower.json
index e219376..dd2336c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-fit-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-fit-behavior/.bower.json
@@ -37,7 +37,6 @@
"commit": "df9fd83577ea6ebd98f5cad8333daa73dd0f34ba"
},
"_source": "git://github.com/PolymerElements/iron-fit-behavior.git",
- "_target": "~1.0.3",
- "_originalSource": "PolymerElements/iron-fit-behavior",
- "_direct": true
+ "_target": "~1.0.0",
+ "_originalSource": "PolymerElements/iron-fit-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-flex-layout/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-flex-layout/.bower.json
index dff0707..98650a25 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-flex-layout/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-flex-layout/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-flex-layout",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provide flexbox-based layouts",
"keywords": [
"web-components",
@@ -12,18 +12,23 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-flex-layout.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-flex-layout",
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "8828cc6ad1bb70d6a99aa1ecabc070b30256da06"
+ "tag": "v1.0.2",
+ "commit": "50bcecf40ab23caa7c2cd90030555e00c5ba7154"
},
"_source": "git://github.com/PolymerElements/iron-flex-layout.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/.gitignore b/third_party/polymer/v1_0/components-chromium/iron-flex-layout/.gitignore
index 8d4ae25..1eb1fa5 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/.gitignore
+++ b/third_party/polymer/v1_0/components-chromium/iron-flex-layout/.gitignore
@@ -1 +1,2 @@
bower_components
+
diff --git a/third_party/polymer/v1_0/components-chromium/iron-flex-layout/bower.json b/third_party/polymer/v1_0/components-chromium/iron-flex-layout/bower.json
index 46dcdb8..202fbe0 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-flex-layout/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-flex-layout/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-flex-layout",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provide flexbox-based layouts",
"keywords": [
"web-components",
@@ -12,10 +12,15 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-flex-layout.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
}
}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/.bower.json
index f1369b1..3f9b472 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/.bower.json
@@ -1,9 +1,9 @@
{
"name": "iron-form-element-behavior",
- "version": "1.0.1",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"private": true,
- "main": "iron-form-element-behavior",
+ "main": "iron-form-element-behavior.html",
"authors": "The Polymer Authors",
"description": "Enables a custom element to be included in an iron-form",
"keywords": [
@@ -22,14 +22,15 @@
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
},
"homepage": "https://github.com/PolymerElements/iron-form-element-behavior",
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "f386143e866c320025589f3d79798c12103377a4"
+ "tag": "v1.0.3",
+ "commit": "a55bc86f6f4fcba1d1c08d6bfaa26ba145ce3112"
},
"_source": "git://github.com/PolymerElements/iron-form-element-behavior.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/bower.json
index 1e141f2..357b57f 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/bower.json
@@ -1,9 +1,9 @@
{
"name": "iron-form-element-behavior",
- "version": "1.0.1",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"private": true,
- "main": "iron-form-element-behavior",
+ "main": "iron-form-element-behavior.html",
"authors": "The Polymer Authors",
"description": "Enables a custom element to be included in an iron-form",
"keywords": [
@@ -22,6 +22,7 @@
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
}
}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js
index c8ae235..d5bec7c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js
@@ -1,14 +1,25 @@
- /**
-
+ /**
+
@demo demo/index.html
- @polymerBehavior
-
+ @polymerBehavior
+
*/
Polymer.IronFormElementBehavior = {
properties: {
+ /**
+ * Fired when the element is added to an `iron-form`.
+ *
+ * @event iron-form-element-register
+ */
+
+ /**
+ * Fired when the element is removed from an `iron-form`.
+ *
+ * @event iron-form-element-unregister
+ */
/**
* The name of this element.
@@ -24,10 +35,25 @@
notify: true,
type: String
},
+
+ /**
+ * The form that the element is registered to.
+ */
+ _parentForm: {
+ type: Object
+ }
},
attached: function() {
+ // Note: the iron-form that this element belongs to will set this
+ // element's _parentForm property when handling this event.
this.fire('iron-form-element-register');
+ },
+
+ detached: function() {
+ if (this._parentForm) {
+ this._parentForm.fire('iron-form-element-unregister', {target: this});
+ }
}
};
diff --git a/third_party/polymer/v1_0/components-chromium/iron-icon/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-icon/.bower.json
index 8d82e66..d2a8d13 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-icon/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-icon/.bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-icon",
"private": true,
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "An element that supports displaying an icon",
"main": "iron-icon.html",
@@ -13,6 +13,10 @@
"polymer",
"icon"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-icon.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0",
@@ -27,13 +31,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-icon",
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "530b0156756487b4c352d67a9e636724d6a4fe5e"
+ "tag": "v1.0.2",
+ "commit": "f9246c47ecb1c682f0fb9ea48255d5f7debd1e03"
},
"_source": "git://github.com/PolymerElements/iron-icon.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-icon"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-icon/bower.json b/third_party/polymer/v1_0/components-chromium/iron-icon/bower.json
index 8052729..9361b56 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-icon/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-icon/bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-icon",
"private": true,
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "An element that supports displaying an icon",
"main": "iron-icon.html",
@@ -13,6 +13,10 @@
"polymer",
"icon"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-icon.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-icons/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-icons/.bower.json
index 573d083..d918b3d 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-icons/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-icons/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-icons",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A set of icons for use with iron-icon",
"authors": [
"The Polymer Authors"
@@ -14,7 +14,7 @@
"private": true,
"repository": {
"type": "git",
- "url": "git://github.com/PolymerElements/paper-icons"
+ "url": "git://github.com/PolymerElements/iron-icons"
},
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/PolymerElements/paper-icons",
@@ -34,13 +34,13 @@
"util",
"update-icons.sh"
],
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "7340b4e26a0235ffdf2477299ccecd0c5d3d99e8"
+ "tag": "v1.0.3",
+ "commit": "036325be99c33c052ac807a705aacad70be1127f"
},
"_source": "git://github.com/PolymerElements/iron-icons.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-icons"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-icons/README.md b/third_party/polymer/v1_0/components-chromium/iron-icons/README.md
index ed473f7..5502532 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-icons/README.md
+++ b/third_party/polymer/v1_0/components-chromium/iron-icons/README.md
@@ -1,8 +1,6 @@
iron-icons
=========
-See the [component page](http://polymer-project.org/docs/elements/iron-elements.html#iron-icons) for more information.
-
## Building
Running `update-icons.sh` will checkout [material-design-icons](https://github.com/google/material-design-icons), reduce
the fileset to 24px svgs, and compile the iconsets.
diff --git a/third_party/polymer/v1_0/components-chromium/iron-icons/bower.json b/third_party/polymer/v1_0/components-chromium/iron-icons/bower.json
index 9ac5f25..8ec25db 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-icons/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-icons/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-icons",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A set of icons for use with iron-icon",
"authors": [
"The Polymer Authors"
@@ -14,7 +14,7 @@
"private": true,
"repository": {
"type": "git",
- "url": "git://github.com/PolymerElements/paper-icons"
+ "url": "git://github.com/PolymerElements/iron-icons"
},
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/PolymerElements/paper-icons",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/.bower.json
index dc56cd7..f7e678c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/.bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-iconset-svg",
"description": "Manages a set of svg icons",
- "version": "1.0.3",
+ "version": "1.0.4",
"keywords": [
"web-components",
"polymer",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-iconset-svg.git"
+ },
"dependencies": {
"polymer": "polymer/polymer#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0"
@@ -25,13 +29,13 @@
"web-component-tester": "*"
},
"homepage": "https://github.com/PolymerElements/iron-iconset-svg",
- "_release": "1.0.3",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "d909fa093ce23da7aa3ce844c6b080848e0580f6"
+ "tag": "v1.0.4",
+ "commit": "795aa82ac22971421bc4375efbd2419ebba9099f"
},
"_source": "git://github.com/PolymerElements/iron-iconset-svg.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-iconset-svg"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/bower.json b/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/bower.json
index 16c6dfb..b58569c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-iconset-svg",
"description": "Manages a set of svg icons",
- "version": "1.0.3",
+ "version": "1.0.4",
"keywords": [
"web-components",
"polymer",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-iconset-svg.git"
+ },
"dependencies": {
"polymer": "polymer/polymer#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0"
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/iron-iconset-svg-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/iron-iconset-svg-extracted.js
index bbbf099..e7fd402 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/iron-iconset-svg-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-iconset-svg/iron-iconset-svg-extracted.js
@@ -11,7 +11,7 @@
*
* Example:
*
- * <iron-iconset-svg id="my-svg-icons" iconSize="24">
+ * <iron-iconset-svg name="my-svg-icons" size="24">
* <svg>
* <defs>
* <g id="shape">
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-iconset/.bower.json
deleted file mode 100644
index 75ea9f6..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/.bower.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "iron-iconset",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "Represents a set of icons",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "icon"
- ],
- "private": true,
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-icon": "polymerelements/iron-icon#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-iconset",
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "d13a943588e6d200b6140adeb8ee2981dd9b5f04"
- },
- "_source": "git://github.com/PolymerElements/iron-iconset.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-iconset"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/.gitignore b/third_party/polymer/v1_0/components-chromium/iron-iconset/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/README.md b/third_party/polymer/v1_0/components-chromium/iron-iconset/README.md
deleted file mode 100644
index 53a245b..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-iron-iconset
-============
-
-The `iron-iconset` element allows users to define their own icon sets.
-The `src` property specifies the url of the icon image. Multiple icons may
-be included in this image and they may be organized into rows.
-The `icons` property is a space separated list of names corresponding to the
-icons. The names must be ordered as the icons are ordered in the icon image.
-Icons are expected to be square and are the size specified by the `size`
-property. The `width` property corresponds to the width of the icon image
-and must be specified if icons are arranged into multiple rows in the image.
-
-All `iron-iconset` elements are available for use by other `iron-iconset`
-elements via a database keyed by id. Typically, an element author that wants
-to support a set of custom icons uses a `iron-iconset` to retrieve
-and use another, user-defined iconset.
-
-Example:
-
-```html
-<iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
-</iron-iconset>
-```
-
-This will automatically register the icon set "my-icons" to the iconset
-database. To use these icons from within another element, make a
-`iron-iconset` element and call the `byId` method to retrieve a
-given iconset. To apply a particular icon to an element, use the
-`applyIcon` method. For example:
-
-```javascript
-iconset.applyIcon(iconNode, 'car');
-```
-
-Themed icon sets are also supported. The `iron-iconset` can contain child
-`property` elements that specify a theme with an offsetX and offsetY of the
-theme within the icon resource. For example.
-
-```html
-<iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
- <property theme="special" offsetX="256" offsetY="24"></property>
-</iron-iconset>
-```
-
-Then a themed icon can be applied like this:
-
-```javascript
-iconset.applyIcon(iconNode, 'car', 'special');
-```
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/bower.json b/third_party/polymer/v1_0/components-chromium/iron-iconset/bower.json
deleted file mode 100644
index 135633f..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/bower.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "iron-iconset",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "Represents a set of icons",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "icon"
- ],
- "private": true,
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-icon": "polymerelements/iron-icon#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/index.html b/third_party/polymer/v1_0/components-chromium/iron-iconset/index.html
deleted file mode 100644
index 64e80d5..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <title>iron-iconset</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset-extracted.js
deleted file mode 100644
index 1a3cfddb..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset-extracted.js
+++ /dev/null
@@ -1,276 +0,0 @@
-
-
- Polymer({
-
- is: 'iron-iconset',
-
- properties: {
-
- /**
- * The URL of the iconset image.
- *
- * @attribute src
- * @type string
- * @default ''
- */
- src: {
- type: String,
- observer: '_srcChanged'
- },
-
- /**
- * The name of the iconset.
- *
- * @attribute name
- * @type string
- * @default 'no-name'
- */
- name: {
- type: String,
- observer: '_nameChanged'
- },
-
- /**
- * The width of the iconset image. This must only be specified if the
- * icons are arranged into separate rows inside the image.
- *
- * @attribute width
- * @type number
- * @default 0
- */
- width: {
- type: Number,
- value: 0
- },
-
- /**
- * A space separated list of names corresponding to icons in the iconset
- * image file. This list must be ordered the same as the icon images
- * in the image file.
- *
- * @attribute icons
- * @type string
- * @default ''
- */
- icons: {
- type: String
- },
-
- /**
- * The size of an individual icon. Note that icons must be square.
- *
- * @attribute size
- * @type number
- * @default 24
- */
- size: {
- type: Number,
- value: 24
- },
-
- /**
- * The horizontal offset of the icon images in the inconset src image.
- * This is typically used if the image resource contains additional images
- * beside those intended for the iconset.
- *
- * @attribute offset-x
- * @type number
- * @default 0
- */
- _offsetX: {
- type: Number,
- value: 0
- },
-
- /**
- * The vertical offset of the icon images in the inconset src image.
- * This is typically used if the image resource contains additional images
- * beside those intended for the iconset.
- *
- * @attribute offset-y
- * @type number
- * @default 0
- */
- _offsetY: {
- type: Number,
- value: 0
- },
-
- /**
- * Array of fully-qualified names of icons in this set.
- */
- iconNames: {
- type: Array,
- notify: true
- }
-
- },
-
- hostAttributes: {
- // non-visual
- style: 'display: none;'
- },
-
- ready: function() {
- // theme data must exist at ready-time
- this._themes = this._mapThemes();
- },
-
- /**
- * Applies an icon to the given element as a css background image. This
- * method does not size the element, and it's usually necessary to set
- * the element's height and width so that the background image is visible.
- *
- * @method applyIcon
- * @param {Element} element The element to which the icon is applied.
- * @param {String|Number} icon The name or index of the icon to apply.
- * @param {String} theme (optional) The name or index of the icon to apply.
- * @param {Number} scale (optional, defaults to 1) Icon scaling factor.
- */
- applyIcon: function(element, icon, theme, scale) {
- this._validateIconMap();
- var offset = this._getThemedOffset(icon, theme);
- if (element && offset) {
- this._addIconStyles(element, this._srcUrl, offset, scale || 1,
- this.size, this.width);
- }
- },
-
- /**
- * Remove an icon from the given element by undoing the changes effected
- * by `applyIcon`.
- *
- * @param {Element} element The element from which the icon is removed.
- */
- removeIcon: function(element) {
- this._removeIconStyles(element.style);
- },
-
- _mapThemes: function() {
- var themes = Object.create(null);
- Polymer.dom(this).querySelectorAll('property[theme]')
- .forEach(function(property) {
- var offsetX = window.parseInt(
- property.getAttribute('offset-x'), 10
- ) || 0;
- var offsetY = window.parseInt(
- property.getAttribute('offset-y'), 10
- ) || 0;
- themes[property.getAttribute('theme')] = {
- offsetX: offsetX,
- offsetY: offsetY
- };
- });
- return themes;
- },
-
- _srcChanged: function(src) {
- // ensure `srcUrl` is always relative to the main document
- this._srcUrl = this.ownerDocument !== document
- ? this.resolveUrl(src) : src;
- this._prepareIconset();
- },
-
- _nameChanged: function(name) {
- this._prepareIconset();
- },
-
- _prepareIconset: function() {
- new Polymer.IronMeta({type: 'iconset', key: this.name, value: this});
- },
-
- _invalidateIconMap: function() {
- this._iconMapValid = false;
- },
-
- _validateIconMap: function() {
- if (!this._iconMapValid) {
- this._recomputeIconMap();
- this._iconMapValid = true;
- }
- },
-
- _recomputeIconMap: function() {
- this.iconNames = this._computeIconNames(this.icons);
- this.iconMap = this._computeIconMap(this._offsetX, this._offsetY,
- this.size, this.width, this.iconNames);
- },
-
- _computeIconNames: function(icons) {
- return icons.split(/\s+/g);
- },
-
- _computeIconMap: function(offsetX, offsetY, size, width, iconNames) {
- var iconMap = {};
- if (offsetX !== undefined && offsetY !== undefined) {
- var x0 = offsetX;
- iconNames.forEach(function(iconName) {
- iconMap[iconName] = {
- offsetX: offsetX,
- offsetY: offsetY
- };
- if ((offsetX + size) < width) {
- offsetX += size;
- } else {
- offsetX = x0;
- offsetY += size;
- }
- }, this);
- }
- return iconMap;
- },
-
- /**
- * Returns an object containing `offsetX` and `offsetY` properties which
- * specify the pixel location in the iconset's src file for the given
- * `icon` and `theme`. It's uncommon to call this method. It is useful,
- * for example, to manually position a css backgroundImage to the proper
- * offset. It's more common to use the `applyIcon` method.
- *
- * @method getThemedOffset
- * @param {String|Number} identifier The name of the icon or the index of
- * the icon within in the icon image.
- * @param {String} theme The name of the theme.
- * @returns {Object} An object specifying the offset of the given icon
- * within the icon resource file; `offsetX` is the horizontal offset and
- * `offsetY` is the vertical offset. Both values are in pixel units.
- */
- _getThemedOffset: function(identifier, theme) {
- var iconOffset = this._getIconOffset(identifier);
- var themeOffset = this._themes[theme];
- if (iconOffset && themeOffset) {
- return {
- offsetX: iconOffset.offsetX + themeOffset.offsetX,
- offsetY: iconOffset.offsetY + themeOffset.offsetY
- };
- }
- return iconOffset;
- },
-
- _getIconOffset: function(identifier) {
- // TODO(sjmiles): consider creating offsetArray (indexed by Number)
- // and having iconMap map names to indices, then and index is just
- // iconMap[identifier] || identifier (be careful of zero, store indices
- // as 1-based)
- return this.iconMap[identifier] ||
- this.iconMap[this.iconNames[Number(identifier)]];
- },
-
- _addIconStyles: function(element, url, offset, scale, size, width) {
- var style = element.style;
- style.backgroundImage = 'url(' + url + ')';
- style.backgroundPosition =
- (-offset.offsetX * scale + 'px') + ' ' +
- (-offset.offsetY * scale + 'px');
- style.backgroundSize = (scale === 1) ? 'auto' : width * scale + 'px';
- style.width = size + 'px';
- style.height = size + 'px';
- element.setAttribute('role', 'img');
- },
-
- _removeIconStyles: function(style) {
- style.background = '';
- }
-
- });
-
diff --git a/third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset.html b/third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset.html
deleted file mode 100644
index f864d4b..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-iconset/iron-iconset.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-meta/iron-meta.html">
-
-<!--
-The `iron-iconset` element allows users to define their own icon sets.
-The `src` property specifies the url of the icon image. Multiple icons may
-be included in this image and they may be organized into rows.
-The `icons` property is a space separated list of names corresponding to the
-icons. The names must be ordered as the icons are ordered in the icon image.
-Icons are expected to be square and are the size specified by the `size`
-property. The `width` property corresponds to the width of the icon image
-and must be specified if icons are arranged into multiple rows in the image.
-
-All `iron-iconset` elements are available for use by other `iron-iconset`
-elements via a database keyed by id. Typically, an element author that wants
-to support a set of custom icons uses a `iron-iconset` to retrieve
-and use another, user-defined iconset.
-
-Example:
-
- <iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
- </iron-iconset>
-
-This will automatically register the icon set "my-icons" to the iconset
-database. To use these icons from within another element, make a
-`iron-iconset` element and call the `byId` method to retrieve a
-given iconset. To apply a particular icon to an element, use the
-`applyIcon` method. For example:
-
- iconset.applyIcon(iconNode, 'car');
-
-Themed icon sets are also supported. The `iron-iconset` can contain child
-`property` elements that specify a theme with an offsetX and offsetY of the
-theme within the icon resource. For example.
-
- <iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
- <property theme="special" offsetX="256" offsetY="24"></property>
- </iron-iconset>
-
-Then a themed icon can be applied like this:
-
- iconset.applyIcon(iconNode, 'car', 'special');
-
-@element iron-iconset
-@demo demo/index.html
--->
-
-</head><body><script src="iron-iconset-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-image/.bower.json
deleted file mode 100644
index 18d5ff0..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/.bower.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "iron-image",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "An image-displaying element with lots of convenient features",
- "private": true,
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "media"
- ],
- "dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "polymerelements/paper-styles#^1.0.4",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-image",
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "54aa387756c16ba09620e1b36ae4ee2d7fd274c6"
- },
- "_source": "git://github.com/PolymerElements/iron-image.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-image"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/.gitignore b/third_party/polymer/v1_0/components-chromium/iron-image/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/README.md b/third_party/polymer/v1_0/components-chromium/iron-image/README.md
deleted file mode 100644
index 04fda7a..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-iron-image
-==========
-
-`iron-image` is an element for displaying an image that provides useful sizing and
-preloading options not found on the standard `<img>` tag.
-
-The `sizing` option allows the image to be either cropped (`cover`) or
-letterboxed (`contain`) to fill a fixed user-size placed on the element.
-
-The `preload` option prevents the browser from rendering the image until the
-image is fully loaded. In the interim, either the element's CSS `background-color`
-can be be used as the placeholder, or the `placeholder` property can be
-set to a URL (preferably a data-URI, for instant rendering) for an
-placeholder image.
-
-The `fade` option (only valid when `preload` is set) will cause the placeholder
-image/color to be faded out once the image is rendered.
-
-Examples:
-
-Basically identical to `<img src="...">` tag:
-
-```html
-<iron-image src="http://lorempixel.com/400/400"></iron-image>
-```
-
-Will letterbox the image to fit:
-
-```html
-<iron-image style="width:400px; height:400px;" sizing="contain"
- src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will crop the image to fit:
-
-```html
-<iron-image style="width:400px; height:400px;" sizing="cover"
- src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will show light-gray background until the image loads:
-
-```html
-<iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will show a base-64 encoded placeholder image until the image loads:
-
-```html
-<iron-image style="width:400px; height:400px;" placeholder="data:image/gif;base64,..."
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will fade the light-gray background out once the image is loaded:
-
-```html
-<iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload fade src="http://lorempixel.com/600/400"></iron-image>
-```
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/bower.json b/third_party/polymer/v1_0/components-chromium/iron-image/bower.json
deleted file mode 100644
index 129e130..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/bower.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "iron-image",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "An image-displaying element with lots of convenient features",
- "private": true,
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "media"
- ],
- "dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "polymerelements/paper-styles#^1.0.4",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/index.html b/third_party/polymer/v1_0/components-chromium/iron-image/index.html
deleted file mode 100644
index b12d417..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <title>iron-image</title>
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/iron-image-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-image/iron-image-extracted.js
deleted file mode 100644
index 9dc432e..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/iron-image-extracted.js
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
- Polymer({
-
- is: 'iron-image',
-
- properties: {
- /**
- * The URL of an image.
- */
- src: {
- observer: '_srcChanged',
- type: String,
- value: ''
- },
-
- /**
- * When true, the image is prevented from loading and any placeholder is
- * shown. This may be useful when a binding to the src property is known to
- * be invalid, to prevent 404 requests.
- */
- preventLoad: {
- type: Boolean,
- value: false
- },
-
- /**
- * Sets a sizing option for the image. Valid values are `contain` (full
- * aspect ratio of the image is contained within the element and
- * letterboxed) or `cover` (image is cropped in order to fully cover the
- * bounds of the element), or `null` (default: image takes natural size).
- */
- sizing: {
- type: String,
- value: null
- },
-
- /**
- * When a sizing option is uzed (`cover` or `contain`), this determines
- * how the image is aligned within the element bounds.
- */
- position: {
- type: String,
- value: 'center'
- },
-
- /**
- * When `true`, any change to the `src` property will cause the `placeholder`
- * image to be shown until the
- */
- preload: {
- type: Boolean,
- value: false
- },
-
- /**
- * This image will be used as a background/placeholder until the src image has
- * loaded. Use of a data-URI for placeholder is encouraged for instant rendering.
- */
- placeholder: {
- type: String,
- value: null
- },
-
- /**
- * When `preload` is true, setting `fade` to true will cause the image to
- * fade into place.
- */
- fade: {
- type: Boolean,
- value: false
- },
-
- /**
- * Read-only value that is true when the image is loaded.
- */
- loaded: {
- notify: true,
- type: Boolean,
- value: false
- },
-
- /**
- * Read-only value that tracks the loading state of the image when the `preload`
- * option is used.
- */
- loading: {
- notify: true,
- type: Boolean,
- value: false
- },
-
- /**
- * Can be used to set the width of image (e.g. via binding); size may also be
- * set via CSS.
- */
- width: {
- observer: '_widthChanged',
- type: Number,
- value: null
- },
-
- /**
- * Can be used to set the height of image (e.g. via binding); size may also be
- * set via CSS.
- *
- * @attribute height
- * @type number
- * @default null
- */
- height: {
- observer: '_heightChanged',
- type: Number,
- value: null
- },
-
- _placeholderBackgroundUrl: {
- type: String,
- computed: '_computePlaceholderBackgroundUrl(preload,placeholder)',
- observer: '_placeholderBackgroundUrlChanged'
- },
-
- requiresPreload: {
- type: Boolean,
- computed: '_computeRequiresPreload(preload,loaded)'
- },
-
- canLoad: {
- type: Boolean,
- computed: '_computeCanLoad(preventLoad, src)'
- }
-
- },
-
- observers: [
- '_transformChanged(sizing, position)',
- '_loadBehaviorChanged(canLoad, preload, loaded)',
- '_loadStateChanged(src, preload, loaded)',
- ],
-
- ready: function() {
- if (!this.hasAttribute('role')) {
- this.setAttribute('role', 'img');
- }
- },
-
- _computeImageVisibility: function() {
- return !!this.sizing;
- },
-
- _computePlaceholderVisibility: function() {
- return !this.preload || (this.loaded && !this.fade);
- },
-
- _computePlaceholderClassName: function() {
- if (!this.preload) {
- return '';
- }
-
- var className = 'fit';
- if (this.loaded && this.fade) {
- className += ' faded-out';
- }
- return className;
- },
-
- _computePlaceholderBackgroundUrl: function() {
- if (this.preload && this.placeholder) {
- return 'url(' + this.placeholder + ')';
- }
-
- return null;
- },
-
- _computeRequiresPreload: function() {
- return this.preload && !this.loaded;
- },
-
- _computeCanLoad: function() {
- return Boolean(!this.preventLoad && this.src);
- },
-
- _widthChanged: function() {
- this.style.width = isNaN(this.width) ? this.width : this.width + 'px';
- },
-
- _heightChanged: function() {
- this.style.height = isNaN(this.height) ? this.height : this.height + 'px';
- },
-
- _srcChanged: function(newSrc, oldSrc) {
- if (newSrc !== oldSrc) {
- this.loaded = false;
- }
- },
-
- _placeholderBackgroundUrlChanged: function() {
- this.$.placeholder.style.backgroundImage =
- this._placeholderBackgroundUrl;
- },
-
- _transformChanged: function() {
- var placeholderStyle = this.$.placeholder.style;
-
- this.style.backgroundSize =
- placeholderStyle.backgroundSize = this.sizing;
-
- this.style.backgroundPosition =
- placeholderStyle.backgroundPosition =
- this.sizing ? this.position : '';
-
- this.style.backgroundRepeat =
- placeholderStyle.backgroundRepeat =
- this.sizing ? 'no-repeat' : '';
- },
-
- _loadBehaviorChanged: function() {
- var img;
-
- if (!this.canLoad) {
- return;
- }
-
- if (this.requiresPreload) {
- img = new Image();
- img.src = this.src;
-
- this.loading = true;
-
- img.onload = function() {
- this.loading = false;
- this.loaded = true;
- }.bind(this);
- } else {
- this.loaded = true;
- }
- },
-
- _loadStateChanged: function() {
- if (this.requiresPreload) {
- return;
- }
-
- if (this.sizing) {
- this.style.backgroundImage = this.src ? 'url(' + this.src + ')': '';
- } else {
- this.$.img.src = this.src || '';
- }
- }
- });
-
diff --git a/third_party/polymer/v1_0/components-chromium/iron-image/iron-image.html b/third_party/polymer/v1_0/components-chromium/iron-image/iron-image.html
deleted file mode 100644
index b284ed0..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-image/iron-image.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
-
-<!--
-`iron-image` is an element for displaying an image that provides useful sizing and
-preloading options not found on the standard `<img>` tag.
-
-The `sizing` option allows the image to be either cropped (`cover`) or
-letterboxed (`contain`) to fill a fixed user-size placed on the element.
-
-The `preload` option prevents the browser from rendering the image until the
-image is fully loaded. In the interim, either the element's CSS `background-color`
-can be be used as the placeholder, or the `placeholder` property can be
-set to a URL (preferably a data-URI, for instant rendering) for an
-placeholder image.
-
-The `fade` option (only valid when `preload` is set) will cause the placeholder
-image/color to be faded out once the image is rendered.
-
-Examples:
-
- Basically identical to &lt;img src="..."&gt; tag:
-
- <iron-image src="http://lorempixel.com/400/400"></iron-image>
-
- Will letterbox the image to fit:
-
- <iron-image style="width:400px; height:400px;" sizing="contain"
- src="http://lorempixel.com/600/400"></iron-image>
-
- Will crop the image to fit:
-
- <iron-image style="width:400px; height:400px;" sizing="cover"
- src="http://lorempixel.com/600/400"></iron-image>
-
- Will show light-gray background until the image loads:
-
- <iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-
- Will show a base-64 encoded placeholder image until the image loads:
-
- <iron-image style="width:400px; height:400px;" placeholder="data:image/gif;base64,..."
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-
- Will fade the light-gray background out once the image is loaded:
-
- <iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload fade src="http://lorempixel.com/600/400"></iron-image>
-
-
-@group Iron Elements
-@element iron-image
-@demo demo/index.html
--->
-
-</head><body><dom-module id="iron-image">
-
- <style>
-
- :host {
- display: inline-block;
- overflow: hidden;
- position: relative;
- }
-
- :host([sizing]) #img {
- display: none;
- }
-
- #placeholder {
- background-color: inherit;
- opacity: 1;
- }
-
- #placeholder.faded-out {
- transition: opacity 0.5s linear;
- opacity: 0;
- }
-
- </style>
-
- <template>
-
- <img id="img" role="none" hidden$="[[_computeImageVisibility(sizing)]]">
- <div id="placeholder" hidden$="[[_computePlaceholderVisibility(fade,loaded,preload)]]" class$="[[_computePlaceholderClassName(fade,loaded,preload)]]"></div>
- <content></content>
-
- </template>
-
-</dom-module>
-
-<script src="iron-image-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-input/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-input/.bower.json
index 1383a44..0fbbfec 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-input/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-input/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-input",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "An input element with data binding",
"authors": [
"The Polymer Authors"
@@ -33,13 +33,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "edb505f41d67120cb505deedb92aa69e90078d2f"
+ "tag": "v1.0.4",
+ "commit": "eebeeb1642ab3e9b1abd5012c1df038250741184"
},
"_source": "git://github.com/PolymerElements/iron-input.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-input"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-input/bower.json b/third_party/polymer/v1_0/components-chromium/iron-input/bower.json
index c4c8951..eb02ed7 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-input/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-input/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-input",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "An input element with data binding",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/iron-input/iron-input-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-input/iron-input-extracted.js
index 09f0053..7828cf4 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-input/iron-input-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-input/iron-input-extracted.js
@@ -28,7 +28,7 @@ It may be desirable to only allow users to enter certain characters. You can use
is separate from validation, and `allowed-pattern` does not affect how the input is validated.
<!-- only allow characters that match [0-9] -->
- <input is="iron-input" prevent-invaild-input allowed-pattern="[0-9]">
+ <input is="iron-input" prevent-invalid-input allowed-pattern="[0-9]">
@hero hero.svg
@demo demo/index.html
@@ -141,11 +141,16 @@ is separate from validation, and `allowed-pattern` does not affect how the input
// always matches the charCode.
// None of this makes any sense.
- var nonPrintable =
+ // For these keys, ASCII code == browser keycode.
+ var anyNonPrintable =
(event.keyCode == 8) || // backspace
+ (event.keyCode == 13) || // enter
+ (event.keyCode == 27); // escape
+
+ // For these keys, make sure it's a browser keycode and not an ASCII code.
+ var mozNonPrintable =
(event.keyCode == 19) || // pause
(event.keyCode == 20) || // caps lock
- (event.keyCode == 27) || // escape
(event.keyCode == 45) || // insert
(event.keyCode == 46) || // delete
(event.keyCode == 144) || // num lock
@@ -153,7 +158,7 @@ is separate from validation, and `allowed-pattern` does not affect how the input
(event.keyCode > 32 && event.keyCode < 41) || // page up/down, end, home, arrows
(event.keyCode > 111 && event.keyCode < 124); // fn keys
- return !(event.charCode == 0 && nonPrintable);
+ return !anyNonPrintable && !(event.charCode == 0 && mozNonPrintable);
},
_onKeypress: function(event) {
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/.bower.json
deleted file mode 100644
index ae094c55..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/.bower.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "iron-jsonp-library",
- "version": "1.0.1",
- "description": "Loads jsonp libraries",
- "authors": [
- "Aleks Totic <a@totic.org>",
- "The Polymer Authors"
- ],
- "keywords": [
- "web-component",
- "polymer",
- "behavior"
- ],
- "main": "iron-jsonp-library.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-jsonp-library/",
- "ignore": [
- "/.*",
- "/test/",
- "/demo/"
- ],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.1"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "4f1b758be4b000cd7d1f5cce7088d210d5b0b280"
- },
- "_source": "git://github.com/PolymerElements/iron-jsonp-library.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-jsonp-library"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/README.md b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/README.md
deleted file mode 100644
index d1b3206..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# iron-jsonp-library
-
-`Polymer.IronJsonpLibraryBehavior` loads a jsonp library.
-Multiple components can request same library, only one copy will load.
-
-Some libraries require a specific global function be defined.
-If this is the case, specify the `callbackName` property.
-
-You should use an HTML Import to load library dependencies
-when possible instead of using this element.
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/bower.json b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/bower.json
deleted file mode 100644
index e387f62..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/bower.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "iron-jsonp-library",
- "version": "1.0.1",
- "description": "Loads jsonp libraries",
- "authors": [
- "Aleks Totic <a@totic.org>",
- "The Polymer Authors"
- ],
- "keywords": [
- "web-component",
- "polymer",
- "behavior"
- ],
- "main": "iron-jsonp-library.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-jsonp-library/",
- "ignore": [
- "/.*",
- "/test/",
- "/demo/"
- ],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.1"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/hero.svg b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/hero.svg
deleted file mode 100644
index d6c1c13..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/hero.svg
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <circle cx="112" cy="36" r="4"/>
- <circle cx="112" cy="90" r="4"/>
- <circle cx="91" cy="98" r="4"/>
- <circle cx="91" cy="29" r="4"/>
- <circle cx="133" cy="29" r="4"/>
- <circle cx="133" cy="97" r="4"/>
- <circle cx="56" cy="63" r="4"/>
- <circle cx="168" cy="63" r="4"/>
- <circle cx="99" cy="63" r="4"/>
- <circle cx="125" cy="63" r="4"/>
- <path d="M90.8,98.5c-19.6,0-35.5-15.9-35.5-35.5s15.9-35.5,35.5-35.5s35.5,15.9,35.5,35.5S110.3,98.5,90.8,98.5z M90.8,29.5
- c-18.5,0-33.5,15-33.5,33.5s15,33.5,33.5,33.5s33.5-15,33.5-33.5S109.2,29.5,90.8,29.5z"/>
- <path d="M133.2,98.5c-19.6,0-35.5-15.9-35.5-35.5s15.9-35.5,35.5-35.5s35.5,15.9,35.5,35.5S152.8,98.5,133.2,98.5z M133.2,29.5
- c-18.5,0-33.5,15-33.5,33.5s15,33.5,33.5,33.5s33.5-15,33.5-33.5S151.7,29.5,133.2,29.5z"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/index.html b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/index.html
deleted file mode 100644
index 487bb5c..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library-extracted.js
deleted file mode 100644
index bbdb50e..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library-extracted.js
+++ /dev/null
@@ -1,229 +0,0 @@
-
-(function() {
- "use strict";
- /**
- `Polymer.IronJsonpLibraryBehavior` loads a jsonp library.
- Multiple components can request same library, only one copy will load.
-
- Some libraries require a specific global function be defined.
- If this is the case, specify the `callbackName` property.
-
- You should use an HTML Import to load library dependencies
- when possible instead of using this element.
-
- @hero hero.svg
- @demo demo/index.html
- @polymerBehavior
- */
- Polymer.IronJsonpLibraryBehavior = {
-
- properties: {
- /**
- * True if library has been successfully loaded
- */
- libraryLoaded: {
- type: Boolean,
- value: false,
- notify: true,
- readOnly: true
- },
- /**
- * Not null if library has failed to load
- */
- libraryErrorMessage: {
- type: String,
- value: null,
- notify: true,
- readOnly: true
- }
- // Following properties are to be set by behavior users
- /**
- * Library url. Must contain string `%%callback_name%%`.
- *
- * `%%callback_name%%` is a placeholder for jsonp wrapper function name
- *
- * Ex: https://maps.googleapis.com/maps/api/js?callback=%%callback%%
- * @property libraryUrl
- */
- /**
- * Set if library requires specific callback name.
- * Name will be automatically generated if not set.
- * @property callbackName
- */
- /**
- * name of event to be emitted when library loads. Standard is `api-load`
- * @property notifyEvent
- */
- /**
- * event with name specified in `notifyEvent` attribute
- * will fire upon successful load2
- * @event `notifyEvent`
- */
- },
-
- _libraryLoadCallback: function(err, result) {
- if (err) {
- console.warn("Library load failed:", err.message);
- this._setLibraryErrorMessage(err.message);
- }
- else {
- this._setLibraryErrorMessage(null);
- this._setLibraryLoaded(true);
- if (this.notifyEvent)
- this.fire( this.notifyEvent, result);
- }
- },
-
- /** loads the library, and fires this.notifyEvent upon completion */
- _loadLibrary: function() {
- LoaderMap.require(
- this.libraryUrl,
- this._libraryLoadCallback.bind(this),
- this.callbackName
- );
- },
-
- ready: function() {
- this._loadLibrary();
- }
- };
-
- /**
- * LoaderMap keeps track of all Loaders
- */
- var LoaderMap = {
- apiMap: {}, // { hash -> Loader }
-
- /**
- * @param {Function} notifyCallback loaded callback fn(result)
- * @param {string} jsonpCallbackName name of jsonpcallback. If API does not provide it, leave empty. Optional.
- */
- require: function(url, notifyCallback, jsonpCallbackName) {
-
- // make hashable string form url
- var name = this.nameFromUrl(url);
-
- // create a loader as needed
- if (!this.apiMap[name])
- this.apiMap[name] = new Loader(name, url, jsonpCallbackName);
-
- // ask for notification
- this.apiMap[name].requestNotify(notifyCallback);
- },
-
- nameFromUrl: function(url) {
- return url.replace(/[\:\/\%\?\&\.\=\-\,]/g, '_') + '_api';
- }
- };
-
- /** @constructor */
- var Loader = function(name, url, callbackName) {
- this.notifiers = []; // array of notifyFn [ notifyFn* ]
-
- // callback is specified either as callback name
- // or computed dynamically if url has callbackMacro in it
- if (!callbackName) {
- if (url.indexOf(this.callbackMacro) >= 0) {
- callbackName = name + '_loaded';
- url = url.replace(this.callbackMacro, callbackName);
- } else {
- this.error = new Error('IronJsonpLibraryBehavior a %%callback_name%% parameter is required in libraryUrl');
- // TODO(sjmiles): we should probably fallback to listening to script.load
- return;
- }
- }
- this.callbackName = callbackName;
- window[this.callbackName] = this.success.bind(this);
- this.addScript(url);
- };
-
- Loader.prototype = {
-
- callbackMacro: '%%callback%%',
- loaded: false,
-
- addScript: function(src) {
- var script = document.createElement('script');
- script.src = src;
- script.onerror = this.handleError.bind(this);
- var s = document.querySelector('script') || document.body;
- s.parentNode.insertBefore(script, s);
- this.script = script;
- },
-
- removeScript: function() {
- if (this.script.parentNode) {
- this.script.parentNode.removeChild(this.script);
- }
- this.script = null;
- },
-
- handleError: function(ev) {
- this.error = new Error("Library failed to load");
- this.notifyAll();
- this.cleanup();
- },
-
- success: function() {
- this.loaded = true;
- this.result = Array.prototype.slice.call(arguments);
- this.notifyAll();
- this.cleanup();
- },
-
- cleanup: function() {
- delete window[this.callbackName];
- },
-
- notifyAll: function() {
- this.notifiers.forEach( function(notifyCallback) {
- notifyCallback(this.error, this.result);
- }.bind(this));
- this.notifiers = [];
- },
-
- requestNotify: function(notifyCallback) {
- if (this.loaded || this.error) {
- notifyCallback( this.error, this.result);
- } else {
- this.notifiers.push(notifyCallback);
- }
- }
- };
-})();
-
-;
- Polymer({
-
- is: 'iron-jsonp-library',
-
- behaviors: [ Polymer.IronJsonpLibraryBehavior ],
-
- properties: {
- /**
- * Library url. Must contain string `%%callback_name%%`.
- *
- * `%%callback_name%%` is a placeholder for jsonp wrapper function name
- *
- * Ex: https://maps.googleapis.com/maps/api/js?callback=%%callback%%
- */
- libraryUrl: String,
- /**
- * Set if library requires specific callback name.
- * Name will be automatically generated if not set.
- */
- callbackName: String,
- /**
- * event with name specified in 'notifyEvent' attribute
- * will fire upon successful load
- */
- notifyEvent: String
- /**
- * event with name specified in 'notifyEvent' attribute
- * will fire upon successful load
- * @event `notifyEvent`
- */
-
- }
- });
-
diff --git a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library.html b/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library.html
deleted file mode 100644
index 7a734b6..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-jsonp-library/iron-jsonp-library.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-
-<!--
- Loads specified jsonp library.
-
- Example:
-
- <iron-jsonp-library
- library-url="https://apis.google.com/js/plusone.js?onload=%%callback%%"
- notify-event="api-load"
- library-loaded="{{loaded}}"></iron-jsonp-library>
-
- Will emit 'api-load' event when loaded, and set 'loaded' to true
-
- Implemented by Polymer.IronJsonpLibraryBehavior. Use it
- to create specific library loader elements.
-
- @demo
--->
-</head><body><script src="iron-jsonp-library-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-localstorage/.bower.json
deleted file mode 100644
index c37bfa7..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/.bower.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "iron-localstorage",
- "version": "1.0.1",
- "description": "Provides access to local storage",
- "keywords": [
- "web-component",
- "polymer",
- "storage"
- ],
- "main": "iron-localstorage.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-localstorage/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.1"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "7e8d167ef295e7cf7cb8f0729c57d7e65e0ee64f"
- },
- "_source": "git://github.com/PolymerElements/iron-localstorage.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-localstorage"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/README.md b/third_party/polymer/v1_0/components-chromium/iron-localstorage/README.md
deleted file mode 100644
index f3e1acd..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-iron-localstorage
-=================
-
-Element access to localStorage. The "name" property
-is the key to the data ("value" property) stored in localStorage.
-
-`iron-localstorage` automatically saves the value to localStorage when
-value is changed. Note that if value is an object auto-save will be
-triggered only when value is a different instance.
-
-```html
-<iron-localstorage name="my-app-storage" value="{{value}}"></iron-localstorage>
-```
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/bower.json b/third_party/polymer/v1_0/components-chromium/iron-localstorage/bower.json
deleted file mode 100644
index 1c481d5..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/bower.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "iron-localstorage",
- "version": "1.0.1",
- "description": "Provides access to local storage",
- "keywords": [
- "web-component",
- "polymer",
- "storage"
- ],
- "main": "iron-localstorage.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-localstorage/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.1"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/hero.svg b/third_party/polymer/v1_0/components-chromium/iron-localstorage/hero.svg
deleted file mode 100644
index 0c0ec6b..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/hero.svg
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <path d="M124,45.3c-0.5-0.6-4.7-1.6-12-1.6s-11.5,1.1-12,1.6c0,0,0.1-0.3,0.1-0.3h-2c0-3,10.7-3.4,14-3.4s14,0.4,14,3.4h-2
- C124,45,124,45.3,124,45.3z"/>
- <path d="M112,83c-3.3,0-14-0.2-14-3.4l0-7.6l0-1.6l2,0c0-0.2-0.1-0.3-0.1-0.3c0.5,0.6,4.7,1.6,12,1.6s11.5-1.1,12-1.6
- c0,0-0.1,0.1-0.1,0.3l2,0l0,1.5l0,7.7C126,82.8,115.3,83,112,83z M100,79.4c0.8,0.6,4.9,1.6,12,1.6s11.2-1,12-1.6l0-7
- c-3.2,1.3-9.6,1.4-12,1.4c-2.4,0-8.8-0.1-12-1.4L100,79.4z"/>
- <path d="M112,70c-3.3,0-14-0.2-14-3.4l0-7.6l0-1.6l2,0c0-0.2-0.1-0.3-0.1-0.3c0.5,0.6,4.7,1.6,12,1.6s11.5-1.1,12-1.6
- c0,0-0.1,0.1-0.1,0.3l2,0l0,1.5l0,7.7C126,69.8,115.3,70,112,70z M100,66.4c0.8,0.6,4.9,1.6,12,1.6s11.2-1,12-1.6l0-7
- c-3.2,1.3-9.6,1.4-12,1.4c-2.4,0-8.8-0.1-12-1.4L100,66.4z"/>
- <path d="M112,57c-3.3,0-14-0.2-14-3.4l0-7.6l0-1.6l2,0c0-0.2-0.1-0.3-0.1-0.3c0.5,0.6,4.7,1.6,12,1.6s11.5-1.1,12-1.6
- c0,0-0.1,0.1-0.1,0.3l2,0l0,1.5l0,7.7C126,56.8,115.3,57,112,57z M100,53.4c0.8,0.6,4.9,1.6,12,1.6s11.2-1,12-1.6l0-7
- c-3.2,1.3-9.6,1.4-12,1.4c-2.4,0-8.8-0.1-12-1.4L100,53.4z"/>
- <path d="M151,99H73V27h78V99z M75,97h74V29H75V97z"/>
- <circle cx="74" cy="28" r="4"/>
- <circle cx="150" cy="28" r="4"/>
- <circle cx="150" cy="98" r="4"/>
- <circle cx="74" cy="98" r="4"/>
- <circle cx="113" cy="98" r="4"/>
- <circle cx="113" cy="28" r="4"/>
- <circle cx="74" cy="63" r="4"/>
- <circle cx="150" cy="63" r="4"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/index.html b/third_party/polymer/v1_0/components-chromium/iron-localstorage/index.html
deleted file mode 100644
index 246af10..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage-extracted.js
deleted file mode 100644
index baf6df9..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage-extracted.js
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
- Polymer({
- is: 'iron-localstorage',
-
- /**
- * Fired when value loads from localStorage.
- *
- * @event paper-responsive-change
- * @param {{externalChange: boolean}} detail -
- * externalChange: True if change occured in different window.
- */
-
- /**
- * Fired when loaded value is null.
- * You can use event handler to initialize default value.
- *
- * @event iron-localstorage-load-empty
- */
- properties: {
- /**
- * The key to the data stored in localStorage.
- */
- name: {
- type: String,
- value: ''
- },
- /**
- * The data associated with this storage.
- * If value is set to null, and storage is in useRaw mode, item will be deleted
- * @type {*}
- */
- value: {
- type: Object,
- notify: true
- },
-
- /**
- * Value is stored and retrieved without JSON parse if true
- */
- useRaw: {
- type: Boolean,
- value: false
- },
-
- /**
- * Auto save is disabled if true. Default to false.
- */
- autoSaveDisabled: {
- type: Boolean,
- value: false
- },
- /**
- * Last error encountered while saving/loading items. Null otherwise
- */
- errorMessage: {
- type: String,
- notify: true
- },
- /*
- * True if value was loaded
- */
- _loaded: {
- type: Boolean,
- value: false
- }
- },
-
- observers: [
- 'reload(name,useRaw)',
- '_trySaveValue(value, _loaded, autoSaveDisabled)'
- ],
-
- ready: function() {
- this._boundHandleStorage = this._handleStorage.bind(this);
- },
-
- attached: function() {
- window.addEventListener('storage', this._boundHandleStorage);
- },
-
- detached: function() {
- window.removeEventListener('storage', this._boundHandleStorage);
- },
-
- _handleStorage: function(ev) {
- if (ev.key == this.name) {
- this._load(true);
- }
- },
-
- _trySaveValue: function(value, _loaded, autoSaveDisabled) {
- if (this._justLoaded) { // guard against saving after _load()
- this._justLoaded = false;
- return;
- }
- if (_loaded && !autoSaveDisabled) {
- this.save();
- }
- },
-
- /**
- * Loads the value again. Use if you modify
- * localStorage using DOM calls, and want to
- * keep this element in sync.
- */
- reload: function() {
- this._load();
- },
-
- /**
- * loads value from local storage
- * @param {boolean=} externalChange true if loading changes from a different window
- */
- _load: function(externalChange) {
- var v = window.localStorage.getItem(this.name);
-
- if (v === null) {
- this.fire('iron-localstorage-load-empty');
- } else if (!this.useRaw) {
- try {
- v = JSON.parse(v);
- } catch(x) {
- this.errorMessage = "Could not parse local storage value";
- console.error("could not parse local storage value", v);
- }
- }
-
- this._justLoaded = true;
- this._loaded = true;
- this.value = v;
- this.fire('iron-localstorage-load', { externalChange: externalChange});
- },
-
- /**
- * Saves the value to localStorage. Call to save if autoSaveDisabled is set.
- * If `value` is null, deletes localStorage.
- */
- save: function() {
- var v = this.useRaw ? this.value : JSON.stringify(this.value);
- try {
- if (this.value === null) {
- window.localStorage.removeItem(this.name);
- } else {
- window.localStorage.setItem(this.name, /** @type {string} */ (v));
- }
- }
- catch(ex) {
- // Happens in Safari incognito mode,
- this.errorMessage = ex.message;
- console.error("localStorage could not be saved. Safari incoginito mode?", ex);
- }
- }
-
- });
-
diff --git a/third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage.html b/third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage.html
deleted file mode 100644
index 9c08b74..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-localstorage/iron-localstorage.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-
-<!--
-Element access to Web Storage API (window.localStorage).
-
-Keeps `value` in sync with a localStorage key.
-
-Direct assignments to `value` are automatically detected and saved.
-Subproperty assignments are not (ex: `value.bar='foo'`).
-Call `save()` manually to commit your changes after modifying subproperties.
-
-Value is saved in localStorage as JSON by default.
-
-If you set the value to null, storage key will be deleted.
-
- <iron-localstorage name="my-app-storage" value="{{value}}">
- </iron-localstorage>
-
-
-<b>Warning</b>: do not pass subproperty bindings to iron-localstorage until Polymer
-[bug 1550](https://github.com/Polymer/polymer/issues/1550)
-is resolved. Local storage will be blown away.
-No `<iron-localstorage value="{{foo.bar}}"`.
-
-@group Iron Elements
-@demo demo/index.html
-@hero hero.svg
-@element iron-localstorage
--->
-</head><body><dom-module id="iron-localstorage"></dom-module>
-<script src="iron-localstorage-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-media-query/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-media-query/.bower.json
index 7bc9132..d8f7bb1 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-media-query/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-media-query/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-media-query",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Lets you bind to a CSS media query",
"authors": [
"The Polymer Authors"
@@ -22,18 +22,19 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"web-component-tester": "*",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "655ba5a1b8f2d8c3e5d0c4053a4f18d6c4c6ac69"
+ "tag": "v1.0.2",
+ "commit": "34abf0a3b8bf9e9e478352dbb3d9e6a76bf3669a"
},
"_source": "git://github.com/PolymerElements/iron-media-query.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-media-query"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-media-query/README.md b/third_party/polymer/v1_0/components-chromium/iron-media-query/README.md
index 3f1b91c..f577b3c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-media-query/README.md
+++ b/third_party/polymer/v1_0/components-chromium/iron-media-query/README.md
@@ -2,10 +2,10 @@
`iron-media-query` can be used to data bind to a CSS media query.
The `query` property is a bare CSS media query.
-The `queryMatches` property is a boolean representing if the page matches that media query.
+The `query-matches` property is a boolean representing if the page matches that media query.
Example:
```html
-<iron-media-query query="(min-width: 600px)" queryMatches="{{queryMatches}}"></iron-media-query>
+<iron-media-query query="(min-width: 600px)" query-matches="{{queryMatches}}"></iron-media-query>
```
diff --git a/third_party/polymer/v1_0/components-chromium/iron-media-query/bower.json b/third_party/polymer/v1_0/components-chromium/iron-media-query/bower.json
index 1c692e7..48c342a 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-media-query/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-media-query/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-media-query",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Lets you bind to a CSS media query",
"authors": [
"The Polymer Authors"
@@ -22,6 +22,7 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"web-component-tester": "*",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query-extracted.js
index 6439d3a..a827c28 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query-extracted.js
@@ -8,10 +8,6 @@
/**
* The Boolean return value of the media query.
- *
- * @attribute queryMatches
- * @type Boolean
- * @default false
*/
queryMatches: {
type: Boolean,
@@ -22,9 +18,6 @@
/**
* The CSS media query to evaluate.
- *
- * @attribute query
- * @type String
*/
query: {
type: String,
diff --git a/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query.html b/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query.html
index b3cd952..d8a8e64 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query.html
+++ b/third_party/polymer/v1_0/components-chromium/iron-media-query/iron-media-query.html
@@ -10,11 +10,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<!--
`iron-media-query` can be used to data bind to a CSS media query.
The `query` property is a bare CSS media query.
-The `queryMatches` property is a boolean representing if the page matches that media query.
+The `query-matches` property is a boolean representing whether the page matches that media query.
Example:
- <iron-media-query query="(min-width: 600px)" queryMatches="{{queryMatches}}"></iron-media-query>
+ <iron-media-query query="(min-width: 600px)" query-matches="{{queryMatches}}"></iron-media-query>
@group Iron Elements
@demo demo/index.html
diff --git a/third_party/polymer/v1_0/components-chromium/iron-menu-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-menu-behavior/.bower.json
index 7ca24d4..5f4c077 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-menu-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-menu-behavior/.bower.json
@@ -36,6 +36,6 @@
"commit": "3809f0eb7461c8ca63640aaa238775b3a25aa578"
},
"_source": "git://github.com/PolymerElements/iron-menu-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-menu-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-meta/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-meta/.bower.json
index 0336c02..167163d 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-meta/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-meta/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-meta",
- "version": "1.0.1",
+ "version": "1.0.3",
"keywords": [
"web-components",
"polymer"
@@ -11,23 +11,28 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-meta.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.4",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-meta",
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "74e95dc020cfebfbf4343fb952f0f224ccd47f8e"
+ "tag": "v1.0.3",
+ "commit": "91529259262b0d8f33fed44bc3fd47aedf35cb04"
},
"_source": "git://github.com/PolymerElements/iron-meta.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-meta"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-meta/README.md b/third_party/polymer/v1_0/components-chromium/iron-meta/README.md
index b3b0f27..26e2ddf 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-meta/README.md
+++ b/third_party/polymer/v1_0/components-chromium/iron-meta/README.md
@@ -16,23 +16,23 @@ Examples:
If I create an instance like this:
```html
-<iron-meta key="info" keyUrl="foo/bar"></iron-meta>
+<iron-meta key="info" value="foo/bar"></iron-meta>
```
-Note that keyUrl="foo/bar" is the metadata I've defined. I could define more
+Note that value="foo/bar" is the metadata I've defined. I could define more
attributes or use child nodes to define additional metadata.
Now I can access that element (and it's metadata) from any iron-meta instance
via the byKey method, e.g.
```javascript
-meta.byKey('info').getAttribute('keyUrl').
+meta.byKey('info').getAttribute('value');
```
Pure imperative form would be like:
```javascript
-document.createElement('iron-meta').byKey('info').getAttribute('keyUrl');
+document.createElement('iron-meta').byKey('info').getAttribute('value');
```
Or, in a Polymer element, you can include a meta in your template:
@@ -42,5 +42,5 @@ Or, in a Polymer element, you can include a meta in your template:
```
```javascript
-this.$.meta.byKey('info').getAttribute('keyUrl');
+this.$.meta.byKey('info').getAttribute('value');
```
diff --git a/third_party/polymer/v1_0/components-chromium/iron-meta/bower.json b/third_party/polymer/v1_0/components-chromium/iron-meta/bower.json
index 6e7e3f3..65a1f8f 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-meta/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-meta/bower.json
@@ -1,10 +1,9 @@
{
"name": "iron-meta",
- "version": "1.0.1",
+ "version": "1.0.3",
"keywords": [
"web-components",
- "polymer",
- "meta"
+ "polymer"
],
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Useful for sharing information across a DOM tree",
@@ -12,14 +11,15 @@
"authors": [
"The Polymer Authors"
],
- "keywords": [
- "web-components",
- "polymer"
- ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-meta.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.4",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta-extracted.js
index 579f9c0..e9a74f0 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta-extracted.js
@@ -15,10 +15,6 @@
/**
* The type of meta-data. All meta-data of the same type is stored
* together.
- *
- * @attribute type
- * @type String
- * @default 'default'
*/
type: {
type: String,
@@ -28,10 +24,6 @@
/**
* The key used to store `value` under the `type` namespace.
- *
- * @attribute key
- * @type String
- * @default ''
*/
key: {
type: String,
@@ -40,10 +32,6 @@
/**
* The meta-data to store or retrieve.
- *
- * @attribute value
- * @type *
- * @default this
*/
value: {
type: Object,
@@ -53,10 +41,6 @@
/**
* If true, `value` is set to the iron-meta instance itself.
- *
- * @attribute self
- * @type Boolean
- * @default false
*/
self: {
type: Boolean,
@@ -65,9 +49,6 @@
/**
* Array of all meta-data values for the given type.
- *
- * @property list
- * @type Array
*/
list: {
type: Array,
@@ -131,8 +112,8 @@
* Retrieves meta data value by key.
*
* @method byKey
- * @param {String} key The key of the meta-data to be returned.
- * @returns *
+ * @param {string} key The key of the meta-data to be returned.
+ * @return {*}
*/
byKey: function(key) {
return this._metaData && this._metaData[key];
@@ -179,7 +160,7 @@
<iron-meta key="info" value="foo/bar"></iron-meta>
- Note that keyUrl="foo/bar" is the metadata I've defined. I could define more
+ Note that value="foo/bar" is the metadata I've defined. I could define more
attributes or use child nodes to define additional metadata.
Now I can access that element (and it's metadata) from any `iron-meta-query` instance:
@@ -198,10 +179,6 @@
/**
* The type of meta-data. All meta-data of the same type is stored
* together.
- *
- * @attribute type
- * @type String
- * @default 'default'
*/
type: {
type: String,
@@ -212,9 +189,6 @@
/**
* Specifies a key to use for retrieving `value` from the `type`
* namespace.
- *
- * @attribute key
- * @type String
*/
key: {
type: String,
@@ -223,10 +197,6 @@
/**
* The meta-data to store or retrieve.
- *
- * @attribute value
- * @type *
- * @default this
*/
value: {
type: Object,
@@ -236,9 +206,6 @@
/**
* Array of all meta-data values for the given type.
- *
- * @property list
- * @type Array
*/
list: {
type: Array,
@@ -251,7 +218,7 @@
* Actually a factory method, not a true constructor. Only runs if
* someone invokes it directly (via `new Polymer.IronMeta()`);
*/
- constructor: function(config) {
+ factoryImpl: function(config) {
if (config) {
for (var n in config) {
switch(n) {
@@ -284,10 +251,8 @@
/**
* Retrieves meta data value by key.
- *
- * @method byKey
- * @param {String} key The key of the meta-data to be returned.
- * @returns *
+ * @param {string} key The key of the meta-data to be returned.
+ * @return {*}
*/
byKey: function(key) {
return this._metaData && this._metaData[key];
diff --git a/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta.html b/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta.html
index 2ca804b..e6e151e 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta.html
+++ b/third_party/polymer/v1_0/components-chromium/iron-meta/iron-meta.html
@@ -23,25 +23,25 @@ Examples:
If I create an instance like this:
- <iron-meta key="info" keyUrl="foo/bar"></iron-meta>
+ <iron-meta key="info" value="foo/bar"></iron-meta>
-Note that keyUrl="foo/bar" is the metadata I've defined. I could define more
+Note that value="foo/bar" is the metadata I've defined. I could define more
attributes or use child nodes to define additional metadata.
Now I can access that element (and it's metadata) from any iron-meta instance
via the byKey method, e.g.
- meta.byKey('info').getAttribute('keyUrl').
+ meta.byKey('info').getAttribute('value').
Pure imperative form would be like:
- document.createElement('iron-meta').byKey('info').getAttribute('keyUrl');
+ document.createElement('iron-meta').byKey('info').getAttribute('value');
Or, in a Polymer element, you can include a meta in your template:
<iron-meta id="meta"></iron-meta>
...
- this.$.meta.byKey('info').getAttribute('keyUrl');
+ this.$.meta.byKey('info').getAttribute('value');
@group Iron Elements
@demo demo/index.html
diff --git a/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/.bower.json
index 7a37c57..6308cfd 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-overlay-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for making an element an overlay",
"private": true,
@@ -35,13 +35,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-overlay-behavior",
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "e84965cddda459c9e4a24e8d442c56ba4d5823eb"
+ "tag": "v1.0.4",
+ "commit": "7939cabf4f23467a0d02b572094ef05d35ad0dcc"
},
"_source": "git://github.com/PolymerElements/iron-overlay-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-overlay-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/bower.json
index de2114b..3ee071c 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-overlay-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for making an element an overlay",
"private": true,
diff --git a/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/iron-overlay-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/iron-overlay-behavior-extracted.js
index f42def0..586f7ce 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/iron-overlay-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-overlay-behavior/iron-overlay-behavior-extracted.js
@@ -45,7 +45,8 @@ context. You should place this element as a child of `<body>` whenever possible.
opened: {
observer: '_openedChanged',
type: Boolean,
- value: false
+ value: false,
+ notify: true
},
/**
@@ -353,7 +354,7 @@ context. You should place this element as a child of `<body>` whenever possible.
this.style.display = '';
},
- _finishPositioning: function(target) {
+ _finishPositioning: function() {
this.style.display = 'none';
this.style.transform = this.style.webkitTransform = '';
// force layout to avoid application of transform
diff --git a/third_party/polymer/v1_0/components-chromium/iron-pages/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-pages/.bower.json
index 46d3ac1..bac6fa4 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-pages/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-pages/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-pages",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Organizes a set of pages and shows one at a time",
"main": "iron-pages.html",
@@ -8,6 +8,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-pages.git"
+ },
"keywords": [
"web-components",
"polymer",
@@ -19,19 +23,20 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-pages",
- "_release": "1.0.0",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "5450f62ac96fb0b21237efb58b9847cd2ce9a27c"
+ "tag": "v1.0.2",
+ "commit": "061e9ea95b58880f0f992b081c52a06665b553c9"
},
"_source": "git://github.com/PolymerElements/iron-pages.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-pages"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-pages/bower.json b/third_party/polymer/v1_0/components-chromium/iron-pages/bower.json
index 57fd16d..c41be27 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-pages/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-pages/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-pages",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Organizes a set of pages and shows one at a time",
"main": "iron-pages.html",
@@ -8,6 +8,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-pages.git"
+ },
"keywords": [
"web-components",
"polymer",
@@ -19,6 +23,7 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-pages/iron-pages-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-pages/iron-pages-extracted.js
index 503d9b5..c175b14 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-pages/iron-pages-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-pages/iron-pages-extracted.js
@@ -9,6 +9,18 @@
Polymer.IronSelectableBehavior
],
+ properties: {
+
+ // as the selected page is the only one visible, activateEvent
+ // is both non-sensical and problematic; e.g. in cases where a user
+ // handler attempts to change the page and the activateEvent
+ // handler immediately changes it back
+ activateEvent: {
+ value: null
+ }
+
+ },
+
observers: [
'_selectedPageChanged(selected)'
],
diff --git a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/.bower.json
index 0a4896f..9e969fe 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-range-behavior",
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for something with a minimum and maximum value",
"authors": "The Polymer Authors",
@@ -28,13 +28,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-range-behavior",
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "80aa8588f3b8527b96f3206655b29e23970fb7a3"
+ "tag": "v1.0.2",
+ "commit": "a743ac0b204a8e76466c2dba349ab2180c9f15f5"
},
"_source": "git://github.com/PolymerElements/iron-range-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-range-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/bower.json
index 2f3cea4..6abc839 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-range-behavior",
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for something with a minimum and maximum value",
"authors": "The Polymer Authors",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/index.html b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/index.html
index 25ed936..cc77788 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/index.html
+++ b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/index.html
@@ -2,11 +2,11 @@
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
<head>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
index ce73374..c16f335 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
@@ -71,6 +71,14 @@
},
_calcStep: function(value) {
+ /**
+ * if we calculate the step using
+ * `Math.round(value / step) * step` we may hit a precision point issue
+ * eg. 0.1 * 0.2 = 0.020000000000000004
+ * http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
+ *
+ * as a work around we can divide by the reciprocal of `step`
+ */
return this.step ? (Math.round(value / this.step) / (1 / this.step)) : value;
},
diff --git a/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/.bower.json
index abbcb68..f67f958 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-resizable-behavior",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Coordinates the flow of resizeable elements",
"private": true,
@@ -14,6 +14,10 @@
"iron",
"behavior"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-resizable-behavior.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
@@ -24,13 +28,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-resizable-behavior",
- "_release": "1.0.0",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "62e0fb1dd6d657bceab7c78faf1a8b0fb909239c"
+ "tag": "v1.0.2",
+ "commit": "85de8ba28be2bf17c81d6436ef1119022b003674"
},
"_source": "git://github.com/PolymerElements/iron-resizable-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-resizable-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/bower.json
index b1c66f0..d0591a3 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-resizable-behavior",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Coordinates the flow of resizeable elements",
"private": true,
@@ -14,6 +14,10 @@
"iron",
"behavior"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-resizable-behavior.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
diff --git a/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/iron-resizable-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/iron-resizable-behavior-extracted.js
index f199bc9..37efb02 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/iron-resizable-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-resizable-behavior/iron-resizable-behavior-extracted.js
@@ -17,9 +17,21 @@
**/
Polymer.IronResizableBehavior = {
properties: {
+ /**
+ * The closest ancestor element that implements `IronResizableBehavior`.
+ */
_parentResizable: {
type: Object,
observer: '_parentResizableChanged'
+ },
+
+ /**
+ * True if this element is currently notifying its descedant elements of
+ * resize.
+ */
+ _notifyingDescendant: {
+ type: Boolean,
+ value: false
}
},
@@ -37,7 +49,8 @@
attached: function() {
this.fire('iron-request-resize-notifications', null, {
node: this,
- bubbles: true
+ bubbles: true,
+ cancelable: true
});
if (!this._parentResizable) {
@@ -66,16 +79,12 @@
}
this._interestedResizables.forEach(function(resizable) {
- // TODO(cdata): Currently behaviors cannot define "abstract" methods..
- if (!this.resizerShouldNotify || this.resizerShouldNotify(resizable)) {
- resizable.notifyResize();
+ if (this.resizerShouldNotify(resizable)) {
+ this._notifyDescendant(resizable);
}
}, this);
- this.fire('iron-resize', null, {
- node: this,
- bubbles: false
- });
+ this._fireResize();
},
/**
@@ -95,18 +104,42 @@
if (index > -1) {
this._interestedResizables.splice(index, 1);
+ this.unlisten(target, 'iron-resize', '_onDescendantIronResize');
}
},
- // TODO(cdata): Currently behaviors cannot define "abstract" methods.
- // resizerShouldNotify: function(el) { return true; },
+ /**
+ * This method can be overridden to filter nested elements that should or
+ * should not be notified by the current element. Return true if an element
+ * should be notified, or false if it should not be notified.
+ *
+ * @param {HTMLElement} element A candidate descendant element that
+ * implements `IronResizableBehavior`.
+ * @return {boolean} True if the `element` should be notified of resize.
+ */
+ resizerShouldNotify: function(element) { return true; },
- _parentResizableChanged: function(parentResizable) {
- if (parentResizable) {
- window.removeEventListener('resize', this._boundNotifyResize);
+ _onDescendantIronResize: function(event) {
+ if (this._notifyingDescendant) {
+ event.stopPropagation();
+ return;
+ }
+
+ // NOTE(cdata): In ShadowDOM, event retargetting makes echoing of the
+ // otherwise non-bubbling event "just work." We do it manually here for
+ // the case where Polymer is not using shadow roots for whatever reason:
+ if (!Polymer.Settings.useShadow) {
+ this._fireResize();
}
},
+ _fireResize: function() {
+ this.fire('iron-resize', null, {
+ node: this,
+ bubbles: false
+ });
+ },
+
_onIronRequestResizeNotifications: function(event) {
var target = event.path ? event.path[0] : event.target;
@@ -116,10 +149,31 @@
if (this._interestedResizables.indexOf(target) === -1) {
this._interestedResizables.push(target);
+ this.listen(target, 'iron-resize', '_onDescendantIronResize');
}
target.assignParentResizable(this);
+ this._notifyDescendant(target);
event.stopPropagation();
+ },
+
+ _parentResizableChanged: function(parentResizable) {
+ if (parentResizable) {
+ window.removeEventListener('resize', this._boundNotifyResize);
+ }
+ },
+
+ _notifyDescendant: function(descendant) {
+ // NOTE(cdata): In IE10, attached is fired on children first, so it's
+ // important not to notify them if the parent is not attached yet (or
+ // else they will get redundantly notified when the parent attaches).
+ if (!this.isAttached) {
+ return;
+ }
+
+ this._notifyingDescendant = true;
+ descendant.notifyResize();
+ this._notifyingDescendant = false;
}
};
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-signals/.bower.json
deleted file mode 100644
index 36a1cb2..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/.bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "iron-signals",
- "version": "1.0.1",
- "description": "Basic publish-subscribe functionality",
- "keywords": [
- "web-component",
- "polymer",
- "signals"
- ],
- "main": "iron-signals.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-signals/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "bd43f7706bfb9f8099bfcd017affa9378fb3fa4b"
- },
- "_source": "git://github.com/PolymerElements/iron-signals.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-signals"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/.gitignore b/third_party/polymer/v1_0/components-chromium/iron-signals/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/README.md b/third_party/polymer/v1_0/components-chromium/iron-signals/README.md
deleted file mode 100644
index fe82ffd..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-iron-signals
-============
-
-`iron-signals` provides basic publish-subscribe functionality.
-
-Note: avoid using `iron-signals` whenever you can use
-a controller (parent element) to mediate communication
-instead.
-
-To send a signal, fire a custom event of type `iron-signal`, with
-a detail object containing `name` and `data` fields.
-
-```javascript
-this.fire('iron-signal', {name: 'hello', data: null});
-```
-
-To receive a signal, listen for `iron-signal-<name>` event on a
-`iron-signals` element.
-
-```html
-<iron-signals on-iron-signal-hello="{{helloSignal}}">
-```
-
-You can fire a signal event from anywhere, and all
-`iron-signals` elements will receive the event, regardless
-of where they are in DOM.
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/bower.json b/third_party/polymer/v1_0/components-chromium/iron-signals/bower.json
deleted file mode 100644
index 73a984c..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/bower.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "iron-signals",
- "version": "1.0.1",
- "description": "Basic publish-subscribe functionality",
- "keywords": [
- "web-component",
- "polymer",
- "signals"
- ],
- "main": "iron-signals.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-signals/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/index.html b/third_party/polymer/v1_0/components-chromium/iron-signals/index.html
deleted file mode 100644
index 246af10..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals-extracted.js
deleted file mode 100644
index 2fdc69f..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-signals/iron-signals-extracted.js
+++ /dev/null
@@ -1,69 +0,0 @@
-
-(function(){
-/**
-`iron-signals` provides basic publish-subscribe functionality.
-
-Note: avoid using `iron-signals` whenever you can use
-a controller (parent element) to mediate communication
-instead.
-
-To send a signal, fire a custom event of type `iron-signal`, with
-a detail object containing `name` and `data` fields.
-
- this.fire('iron-signal', {name: 'hello', data: null});
-
-To receive a signal, listen for `iron-signal-<name>` event on a
-`iron-signals` element.
-
- <iron-signals on-iron-signal-hello="{{helloSignal}}">
-
-You can fire a signal event from anywhere, and all
-`iron-signals` elements will receive the event, regardless
-of where they are in DOM.
-
-@demo demo/index.html
-*/
- Polymer({
- is: 'iron-signals',
-
- attached: function() {
- signals.push(this);
- },
- detached: function() {
- var i = signals.indexOf(this);
- if (i >= 0) {
- signals.splice(i, 1);
- }
- }
- });
-
- // private shared database
- var signals = [];
-
- // signal dispatcher
- function notify(name, data) {
- // convert generic-signal event to named-signal event
- var signal = new CustomEvent('iron-signal-' + name, {
- // if signals bubble, it's easy to get confusing duplicates
- // (1) listen on a container on behalf of local child
- // (2) some deep child ignores the event and it bubbles
- // up to said container
- // (3) local child event bubbles up to container
- // also, for performance, we avoid signals flying up the
- // tree from all over the place
- bubbles: false,
- detail: data
- });
- // dispatch named-signal to all 'signals' instances,
- // only interested listeners will react
- signals.forEach(function(s) {
- s.dispatchEvent(signal);
- });
- }
-
- // signal listener at document
- document.addEventListener('iron-signal', function(e) {
- notify(e.detail.name, e.detail.data);
- });
-
-})();
diff --git a/third_party/polymer/v1_0/components-chromium/iron-test-helpers/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-test-helpers/.bower.json
index 0f3971ac..46fae4a 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-test-helpers/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-test-helpers/.bower.json
@@ -32,6 +32,6 @@
"commit": "4c5d28f58adda0d076850321582cfe86359f95fb"
},
"_source": "git://github.com/PolymerElements/iron-test-helpers.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-test-helpers"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/.bower.json
index b1acc42..b8bd6b3 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-validatable-behavior",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Provides a behavior for an element that validates user input",
"authors": "The Polymer Authors",
"keywords": [
@@ -32,11 +32,11 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "1.0.2",
- "commit": "a4fc340fdb268e274f312dadedd0633b025ac3a4"
+ "tag": "v1.0.3",
+ "commit": "714ac9f09f9d7d5f6f792a38bb15970adaacb264"
},
"_source": "git://github.com/PolymerElements/iron-validatable-behavior.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/bower.json
index eaab387..8522d53 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-validatable-behavior",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Provides a behavior for an element that validates user input",
"authors": "The Polymer Authors",
"keywords": [
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/iron-validatable-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/iron-validatable-behavior-extracted.js
index 0e294ff..81e175e 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/iron-validatable-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/iron-validatable-behavior-extracted.js
@@ -78,7 +78,11 @@
* @return {boolean} True if `values` is valid.
*/
validate: function(values) {
- var valid = this._validator && this._validator.validate(values);
+ var valid = true;
+ if (this.hasValidator()) {
+ valid = this._validator.validate(values);
+ }
+
this.invalid = !valid;
return valid;
}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.bower.json
deleted file mode 100644
index 257b945..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.bower.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "iron-validator-behavior",
- "version": "1.0.1",
- "description": "Implements a input validator",
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "iron",
- "behavior"
- ],
- "main": [
- "iron-validator-behavior.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/iron-validator-behavior.git"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-validator-behavior",
- "ignore": [],
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "fd9c609472c0c0b64657488d1d33dfc2365dea44"
- },
- "_source": "git://github.com/PolymerElements/iron-validator-behavior.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-validator-behavior"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.gitignore b/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/README.md b/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/README.md
deleted file mode 100644
index 8aa8b61..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# iron-validator-behavior
-Use `Polymer.IronValidatorBehavior` to implement a custom input/form validator. Element instances
-implementing this behavior will be registered for use in elements that implement
-`Polymer.IronValidatableBehavior`.
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/bower.json
deleted file mode 100644
index 7d57d72..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/bower.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "iron-validator-behavior",
- "version": "1.0.1",
- "description": "Implements a input validator",
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "iron",
- "behavior"
- ],
- "main": [
- "iron-validator-behavior.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/iron-validator-behavior.git"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-validator-behavior",
- "ignore": [],
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/index.html b/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/index.html
deleted file mode 100644
index d0f6936..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-
- <title>iron-validator-behavior</title>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
-
- <link rel="import" href="../polymer/polymer.html">
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior-extracted.js
deleted file mode 100644
index debc886..0000000
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior-extracted.js
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- /**
- * Use `Polymer.IronValidatorBehavior` to implement a custom input/form validator. Element
- * instances implementing this behavior will be registered for use in elements that implement
- * `Polymer.IronValidatableBehavior`.
- *
- * @demo demo/index.html
- * @polymerBehavior
- */
- Polymer.IronValidatorBehavior = {
-
- properties: {
-
- /**
- * Namespace for this validator.
- */
- validatorType: {
- type: String,
- value: 'validator'
- },
-
- /**
- * Name for this validator, used by `Polymer.IronValidatableBehavior` to lookup this element.
- */
- validatorName: {
- type: String,
- value: function() {
- return this.is;
- }
- }
-
- },
-
- ready: function() {
- new Polymer.IronMeta({type: this.validatorType, key: this.validatorName, value: this});
- },
-
- /**
- * Implement custom validation logic in this function.
- * @param {Object} values The value to validate. May be any type depending on the validation logic.
- * @return {Boolean} true if `values` is valid.
- */
- validate: function(values) {
- }
- };
-
diff --git a/third_party/polymer/v1_0/components-chromium/more-routing/.bower.json b/third_party/polymer/v1_0/components-chromium/more-routing/.bower.json
index 1c6276c..d8e947b 100644
--- a/third_party/polymer/v1_0/components-chromium/more-routing/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/more-routing/.bower.json
@@ -37,6 +37,6 @@
"commit": "b9dcc768f789547bb99f65cd976006cb578af255"
},
"_source": "git://github.com/PolymerLabs/more-routing.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerLabs/more-routing"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/.bower.json b/third_party/polymer/v1_0/components-chromium/neon-animation/.bower.json
index 9d394ec..afa7b37 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/.bower.json
@@ -1,6 +1,6 @@
{
"name": "neon-animation",
- "version": "1.0.1",
+ "version": "1.0.6",
"authors": [
"The Polymer Authors"
],
@@ -11,12 +11,12 @@
"web-animations"
],
"main": [
+ "neon-animated-pages.html",
"neon-animatable-behavior.html",
"neon-animation-behavior.html",
"neon-animation-runner-behavior.html",
"neon-shared-element-animatable-behavior.html",
"neon-shared-element-animation-behavior.html",
- "neon-animated-pages.html",
"neon-animatable.html",
"neon-animations.html"
],
@@ -34,7 +34,7 @@
"iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "web-animations-js": "web-animations/web-animations-js#^2.0.0"
+ "web-animations-js": "web-animations/web-animations-js#2.1.2"
},
"devDependencies": {
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
@@ -48,13 +48,13 @@
"iron-icons": "PolymerElements/iron-icons#^1.0.0",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.6",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "160f14c31b4692cc8073b67e8849e444b0695cde"
+ "tag": "v1.0.6",
+ "commit": "ec51bf68f05c40373536cc726ca674e4549b7db2"
},
"_source": "git://github.com/PolymerElements/neon-animation.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/neon-animation"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/README.md b/third_party/polymer/v1_0/components-chromium/neon-animation/README.md
index c1b258c..24fa780 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/README.md
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/README.md
@@ -101,7 +101,7 @@ Polymer({
hide: function() {
this.opened = false;
// run fade-out-animation
- this.playAnimation('fade-out-animation');
+ this.playAnimation('exit');
},
_onNeonAnimationFinish: function() {
if (!this.opened) {
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/cascaded-animation-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/cascaded-animation-extracted.js
index 7cdb976..d276122 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/cascaded-animation-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/cascaded-animation-extracted.js
@@ -10,6 +10,7 @@
properties: {
+ /** @type {!Polymer.IronMeta} */
_animationMeta: {
type: Object,
value: function() {
@@ -19,13 +20,23 @@
},
+ /**
+ * @param {{
+ * animation: string,
+ * nodes: !Array<!Element>,
+ * nodeDelay: (number|undefined),
+ * timing: (Object|undefined)
+ * }} config
+ */
configure: function(config) {
- var animationConstructor = this._animationMeta.byKey(config.animation);
+ var animationConstructor = /** @type {Function} */ (
+ this._animationMeta.byKey(config.animation));
if (!animationConstructor) {
console.warn(this.is + ':', 'constructor for', config.animation, 'not found!');
return;
}
+ this._animations = [];
var nodes = config.nodes;
var effects = [];
var nodeDelay = config.nodeDelay || 50;
@@ -41,12 +52,19 @@
var animation = new animationConstructor();
var effect = animation.configure(config);
+ this._animations.push(animation);
effects.push(effect);
}
config.timing.delay = oldDelay;
this._effect = new GroupEffect(effects);
return this._effect;
+ },
+
+ complete: function() {
+ for (var animation, index = 0; animation = this._animations[index]; index++) {
+ animation.complete(animation.config);
+ }
}
});
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/hero-animation-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/hero-animation-extracted.js
index 501d61e..19616b9 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/hero-animation-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/hero-animation-extracted.js
@@ -11,7 +11,7 @@
configure: function(config) {
var shared = this.findSharedElements(config);
if (!shared) {
- return null;
+ return;
}
var fromRect = shared.from.getBoundingClientRect();
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation-extracted.js
new file mode 100644
index 0000000..7629865
--- /dev/null
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation-extracted.js
@@ -0,0 +1,49 @@
+
+ Polymer({
+ is: 'reverse-ripple-animation',
+
+ behaviors: [
+ Polymer.NeonSharedElementAnimationBehavior
+ ],
+
+ configure: function(config) {
+ var shared = this.findSharedElements(config);
+ if (!shared) {
+ return null;
+ }
+
+ var translateX, translateY;
+ var fromRect = shared.from.getBoundingClientRect();
+ if (config.gesture) {
+ translateX = config.gesture.x - (fromRect.left + (fromRect.width / 2));
+ translateY = config.gesture.y - (fromRect.top + (fromRect.height / 2));
+ } else {
+ var toRect = shared.to.getBoundingClientRect();
+ translateX = (toRect.left + (toRect.width / 2)) - (fromRect.left + (fromRect.width / 2));
+ translateY = (toRect.top + (toRect.height / 2)) - (fromRect.top + (fromRect.height / 2));
+ }
+ var translate = 'translate(' + translateX + 'px,' + translateY + 'px)';
+
+ var size = Math.max(fromRect.width + Math.abs(translateX) * 2, fromRect.height + Math.abs(translateY) * 2);
+ var diameter = Math.sqrt(2 * size * size);
+ var scaleX = diameter / fromRect.width;
+ var scaleY = diameter / fromRect.height;
+ var scale = 'scale(' + scaleX + ',' + scaleY + ')';
+
+ this.setPrefixedProperty(shared.from, 'transformOrigin', '50% 50%');
+ shared.from.style.borderRadius = '50%';
+
+ this._effect = new KeyframeEffect(shared.from, [
+ {'transform': translate + ' ' + scale},
+ {'transform': translate + ' scale(0)'}
+ ], this.timingFromConfig(config));
+ return this._effect;
+ },
+
+ complete: function() {
+ if (this.sharedElements) {
+ this.setPrefixedProperty(this.sharedElements.from, 'transformOrigin', '');
+ this.sharedElements.from.style.borderRadius = '';
+ }
+ }
+ });
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation.html b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation.html
new file mode 100644
index 0000000..d4f6ced
--- /dev/null
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/reverse-ripple-animation.html
@@ -0,0 +1,35 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+--><html><head><link rel="import" href="../../polymer/polymer.html">
+<link rel="import" href="../neon-shared-element-animation-behavior.html">
+<link rel="import" href="../web-animations.html">
+
+<!--
+`<reverse-ripple-animation>` scales and transform an element such that it appears to ripple down from this element, to either
+a shared element, or a screen position.
+
+If using as a shared element animation in `<neon-animated-pages>`, use this animation in an `exit`
+animation in the source page and in an `entry` animation in the destination page. Also, define the
+reverse-ripple elements in the `sharedElements` property (not a configuration property, see
+`Polymer.NeonSharedElementAnimatableBehavior`).
+If using a screen position, define the `gesture` property.
+Configuration:
+```
+{
+ name: 'reverse-ripple-animation`.
+ id: <shared-element-id>, /* set this or gesture */
+ gesture: {x: <page-x>, y: <page-y>}, /* set this or id */
+ timing: <animation-timing>,
+ toPage: <node>, /* define for the destination page */
+ fromPage: <node>, /* define for the source page */
+}
+```
+-->
+
+</head><body><script src="reverse-ripple-animation-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/ripple-animation-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/ripple-animation-extracted.js
index c7e8c71..96b4b81 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/ripple-animation-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/ripple-animation-extracted.js
@@ -8,8 +8,8 @@
Polymer.NeonSharedElementAnimationBehavior
],
- configure: function(config, fromPage, toPage) {
- var shared = this.findSharedElements(config, fromPage, toPage);
+ configure: function(config) {
+ var shared = this.findSharedElements(config);
if (!shared) {
return null;
}
@@ -18,11 +18,11 @@
var toRect = shared.to.getBoundingClientRect();
if (config.gesture) {
translateX = config.gesture.x - (toRect.left + (toRect.width / 2));
- translateY = config.gesture.y - (toRect.left + (toRect.height / 2));
+ translateY = config.gesture.y - (toRect.top + (toRect.height / 2));
} else {
var fromRect = shared.from.getBoundingClientRect();
translateX = (fromRect.left + (fromRect.width / 2)) - (toRect.left + (toRect.width / 2));
- translateY = (fromRect.top + (fromRect.height / 2)) - (toRect.left + (toRect.height / 2));
+ translateY = (fromRect.top + (fromRect.height / 2)) - (toRect.top + (toRect.height / 2));
}
var translate = 'translate(' + translateX + 'px,' + translateY + 'px)';
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/scale-up-animation-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/scale-up-animation-extracted.js
index a63aad6..c94708c 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/scale-up-animation-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/scale-up-animation-extracted.js
@@ -15,9 +15,16 @@
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
+ var scaleProperty = 'scale(0)';
+ if (config.axis === 'x') {
+ scaleProperty = 'scale(0, 1)';
+ } else if (config.axis === 'y') {
+ scaleProperty = 'scale(1, 0)';
+ }
+
this._effect = new KeyframeEffect(node, [
- {'transform': 'scale(0)'},
- {'transform': 'scale(1)'}
+ {'transform': scaleProperty},
+ {'transform': 'scale(1, 1)'}
], this.timingFromConfig(config));
return this._effect;
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation-extracted.js
index bb8eabd..048e3a1 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation-extracted.js
@@ -8,6 +8,15 @@
Polymer.NeonAnimationBehavior
],
+ /**
+ * @param {{
+ * node: !Element,
+ * transformOrigin: (string|undefined),
+ * transformFrom: (string|undefined),
+ * transformTo: (string|undefined),
+ * timing: (Object|undefined)
+ * }} config
+ */
configure: function(config) {
var node = config.node;
var transformFrom = config.transformFrom || 'none';
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation.html b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation.html
index b645ce9..8a92bd2 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation.html
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/animations/transform-animation.html
@@ -11,13 +11,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="../web-animations.html">
<!--
-`<slide-down-animation>` animates a custom transform on an element. Use this to animate multiple
+`<transform-animation>` animates a custom transform on an element. Use this to animate multiple
transform properties, or to apply a custom transform value.
Configuration:
```
{
- name: 'slide-down-animation',
+ name: 'transform-animation',
node: <node>,
transformOrigin: <transform-origin>,
transformFrom: <transform-from-string>,
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/bower.json b/third_party/polymer/v1_0/components-chromium/neon-animation/bower.json
index 4e687f6..5102f69 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/bower.json
@@ -1,6 +1,6 @@
{
"name": "neon-animation",
- "version": "1.0.1",
+ "version": "1.0.4",
"authors": [
"The Polymer Authors"
],
@@ -11,12 +11,12 @@
"web-animations"
],
"main": [
+ "neon-animated-pages.html",
"neon-animatable-behavior.html",
"neon-animation-behavior.html",
"neon-animation-runner-behavior.html",
"neon-shared-element-animatable-behavior.html",
"neon-shared-element-animation-behavior.html",
- "neon-animated-pages.html",
"neon-animatable.html",
"neon-animations.html"
],
@@ -34,7 +34,7 @@
"iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "web-animations-js": "web-animations/web-animations-js#^2.0.0"
+ "web-animations-js": "web-animations/web-animations-js#2.1.2"
},
"devDependencies": {
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages-extracted.js
index 596fd73..37a4a3f 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages-extracted.js
@@ -37,8 +37,8 @@
_selectedChanged: function(selected) {
var selectedPage = this.selectedItem;
- var oldPage = this._prevSelected || false;
- this._prevSelected = selectedPage;
+ var oldPage = this._valueToItem(this._prevSelected) || false;
+ this._prevSelected = selected;
// on initial load and if animateInitialSelection is negated, simply display selectedPage.
if (!oldPage && !this.animateInitialSelection) {
@@ -105,14 +105,14 @@
// on first load, ensure we run animations only after element is attached.
if (!this.isAttached) {
this.async(function () {
- this.playAnimation(null, {
+ this.playAnimation(undefined, {
fromPage: null,
toPage: selectedPage
});
});
} else {
- this.playAnimation(null, {
+ this.playAnimation(undefined, {
fromPage: oldPage,
toPage: selectedPage
});
@@ -123,6 +123,10 @@
}
},
+ /**
+ * @param {Object=} oldPage
+ * @param {Object=} selectedPage
+ */
_completeSelectedChanged: function(oldPage, selectedPage) {
if (selectedPage) {
selectedPage.classList.remove('neon-animating');
@@ -136,7 +140,7 @@
node.classList && node.classList.remove('neon-animating');
}
}
- this.async(this.notifyResize);
+ this.async(this._notifyPageResize);
},
_onNeonAnimationFinish: function(event) {
@@ -145,6 +149,14 @@
return;
}
this._completeSelectedChanged(event.detail.fromPage, event.detail.toPage);
+ },
+
+ _notifyPageResize: function() {
+ var selectedPage = this.selectedItem;
+ this.resizerShouldNotify = function(element) {
+ return element == selectedPage;
+ }
+ this.notifyResize();
}
})
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages.html b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages.html
index 379e739..e6cd184 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages.html
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animated-pages.html
@@ -8,7 +8,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
--><html><head><link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../iron-resizable-behavior/iron-resizable-behavior.html">
<link rel="import" href="../iron-selector/iron-selectable.html">
-<link rel="import" href="../paper-styles/paper-styles.html">
<link rel="import" href="neon-animation-runner-behavior.html">
<link rel="import" href="animations/opaque-animation.html">
@@ -32,7 +31,11 @@ animations to be run when switching to or switching out of the page.
}
:host > ::content > * {
- @apply(--layout-fit);
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
height: 100%;
}
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-behavior-extracted.js
index cb52f51..8b8f9dc 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-behavior-extracted.js
@@ -65,10 +65,7 @@
/**
* Called when the animation finishes.
*/
- complete: function() {
- // FIXME not sure about non-bubbling event
- this.fire(this.animationEndEvent, null, {bubbles: false});
- }
+ complete: function() {}
};
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-runner-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-runner-behavior-extracted.js
index 6600ec6..1c06f05 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-runner-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animation-runner-behavior-extracted.js
@@ -2,9 +2,10 @@
/**
* `Polymer.NeonAnimationRunnerBehavior` adds a method to run animations.
- * @polymerBehavior
+ *
+ * @polymerBehavior Polymer.NeonAnimationRunnerBehavior
*/
- Polymer.NeonAnimationRunnerBehavior = [Polymer.NeonAnimatableBehavior, {
+ Polymer.NeonAnimationRunnerBehaviorImpl = {
properties: {
@@ -15,6 +16,7 @@
}
},
+ /** @type {?Object} */
_player: {
type: Object
}
@@ -45,7 +47,7 @@
},
_runAnimationEffects: function(allEffects) {
- return player = document.timeline.play(new GroupEffect(allEffects));
+ return document.timeline.play(new GroupEffect(allEffects));
},
_completeAnimations: function(allAnimations) {
@@ -56,6 +58,8 @@
/**
* Plays an animation with an optional `type`.
+ * @param {string=} type
+ * @param {!Object=} cookie
*/
playAnimation: function(type, cookie) {
var allConfigs = this.getAnimationConfig(type);
@@ -93,5 +97,10 @@
this._player.cancel();
}
}
+ };
- }];
+ /** @polymerBehavior Polymer.NeonAnimationRunnerBehavior */
+ Polymer.NeonAnimationRunnerBehavior = [
+ Polymer.NeonAnimatableBehavior,
+ Polymer.NeonAnimationRunnerBehaviorImpl
+ ];
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animations.html b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animations.html
index f3bdf49..9a34c97 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animations.html
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-animations.html
@@ -13,6 +13,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="animations/hero-animation.html">
<link rel="import" href="animations/opaque-animation.html">
<link rel="import" href="animations/ripple-animation.html">
+<link rel="import" href="animations/reverse-ripple-animation.html">
<link rel="import" href="animations/scale-down-animation.html">
<link rel="import" href="animations/scale-up-animation.html">
<link rel="import" href="animations/slide-from-left-animation.html">
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animatable-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animatable-behavior-extracted.js
index 8724e9e..19fe498 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animatable-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animatable-behavior-extracted.js
@@ -3,9 +3,9 @@
/**
* Use `Polymer.NeonSharedElementAnimatableBehavior` to implement elements containing shared element
* animations.
- * @polymerBehavior
+ * @polymerBehavior Polymer.NeonSharedElementAnimatableBehavior
*/
- Polymer.NeonSharedElementAnimatableBehavior = [Polymer.NeonAnimatableBehavior, {
+ Polymer.NeonSharedElementAnimatableBehaviorImpl = {
properties: {
@@ -19,5 +19,11 @@
}
- }];
+ };
+
+ /** @polymerBehavior Polymer.NeonSharedElementAnimatableBehavior */
+ Polymer.NeonSharedElementAnimatableBehavior = [
+ Polymer.NeonAnimatableBehavior,
+ Polymer.NeonSharedElementAnimatableBehaviorImpl
+ ];
diff --git a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animation-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animation-behavior-extracted.js
index e5cd7c9..28f7617 100644
--- a/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animation-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/neon-animation/neon-shared-element-animation-behavior-extracted.js
@@ -2,9 +2,9 @@
/**
* Use `Polymer.NeonSharedElementAnimationBehavior` to implement shared element animations.
- * @polymerBehavior
+ * @polymerBehavior Polymer.NeonSharedElementAnimationBehavior
*/
- Polymer.NeonSharedElementAnimationBehavior = [Polymer.NeonAnimationBehavior, {
+ Polymer.NeonSharedElementAnimationBehaviorImpl = {
properties: {
@@ -48,5 +48,11 @@
return this.sharedElements;
}
- }];
+ };
+
+ /** @polymerBehavior Polymer.NeonSharedElementAnimationBehavior */
+ Polymer.NeonSharedElementAnimationBehavior = [
+ Polymer.NeonAnimationBehavior,
+ Polymer.NeonSharedElementAnimationBehaviorImpl
+ ];
diff --git a/third_party/polymer/v1_0/components-chromium/paper-behaviors/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-behaviors/.bower.json
index ce085ea..b163209 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-behaviors/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-behaviors/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-behaviors",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Common behaviors across the paper elements",
"authors": [
"The Polymer Authors"
@@ -36,13 +36,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "4dd226a2cc5b780a73d0058cd9998b6e0af1cb2c"
+ "tag": "v1.0.3",
+ "commit": "90b54de14264c19693601b9fc16af6b68a9d48e4"
},
"_source": "git://github.com/PolymerElements/paper-behaviors.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-behaviors"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-behaviors/bower.json b/third_party/polymer/v1_0/components-chromium/paper-behaviors/bower.json
index d4cae45..167abbb 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-behaviors/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-behaviors/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-behaviors",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Common behaviors across the paper elements",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-button/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-button/.bower.json
index 21100e3..c24863a 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-button/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-button/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-button",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "Material design button",
"authors": [
"The Polymer Authors"
@@ -36,13 +36,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "e11a0603feaaedd8cf6c7e0d533bdc67de24c8de"
+ "tag": "v1.0.3",
+ "commit": "f50a40fa1bf3ab20aaad413769452ed69b14ef66"
},
"_source": "git://github.com/PolymerElements/paper-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-button/bower.json b/third_party/polymer/v1_0/components-chromium/paper-button/bower.json
index 940aa6d..371282e 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-button/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-button/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-button",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "Material design button",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-button/paper-button.html b/third_party/polymer/v1_0/components-chromium/paper-button/paper-button.html
index f32d104..80b728b 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-button/paper-button.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-button/paper-button.html
@@ -24,12 +24,17 @@ Example:
<paper-button>flat button</paper-button>
<paper-button raised>raised button</paper-button>
<paper-button noink>No ripple effect</paper-button>
+ <paper-button toggles>toggle-able button</paper-button>
+
+A button that has `toggles` true will remain `active` after being clicked (and
+will have an `active` attribute set). For more information, see the `Polymer.IronButtonState`
+behavior.
You may use custom DOM in the button body to create a variety of buttons. For example, to
create a button with an icon and some text:
<paper-button>
- <core-icon icon="favorite"></core-icon>
+ <iron-icon icon="favorite"></iron-icon>
custom button content
</paper-button>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-checkbox/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-checkbox/.bower.json
index f4cb1ba..a085d42 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-checkbox/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-checkbox/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-checkbox",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design checkbox",
"authors": [
"The Polymer Authors"
@@ -34,13 +34,13 @@
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
"polymer": "Polymer/polymer#^1.0.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "b32696b963cdcb00223f2a2433ef439363c9a150"
+ "tag": "v1.0.5",
+ "commit": "af864401daab761d2fb7e6eadddb3cd659be8f85"
},
"_source": "git://github.com/PolymerElements/paper-checkbox.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-checkbox"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-checkbox/README.md b/third_party/polymer/v1_0/components-chromium/paper-checkbox/README.md
index 2269079..01eddc1 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-checkbox/README.md
+++ b/third_party/polymer/v1_0/components-chromium/paper-checkbox/README.md
@@ -19,8 +19,12 @@ Styling a checkbox:
```html
<style is="custom-style">
paper-checkbox {
+ --paper-checkbox-label-color: #000;
+ --paper-checkbox-checkmark-color: #fff;
+
/* Unhecked state colors. */
--paper-checkbox-unchecked-color: #5a5a5a;
+ --paper-checkbox-unchecked-background-color: #5a5a5a;
--paper-checkbox-unchecked-ink-color: #5a5a5a;
/* Checked state colors. */
diff --git a/third_party/polymer/v1_0/components-chromium/paper-checkbox/bower.json b/third_party/polymer/v1_0/components-chromium/paper-checkbox/bower.json
index c68d6d83a..dc4f513 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-checkbox/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-checkbox/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-checkbox",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design checkbox",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.css b/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.css
index 195d822..6577c39 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.css
@@ -29,6 +29,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
-webkit-transform: translateZ(0);
transform: translateZ(0);
vertical-align: middle;
+ background-color: var(--paper-checkbox-unchecked-background-color, transparent);
}
:host #ink {
@@ -39,6 +40,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
height: 48px;
color: var(--paper-checkbox-unchecked-ink-color, --primary-text-color);
opacity: 0.6;
+ pointer-events: none;
}
:host #ink[checked] {
@@ -111,7 +113,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
border-left: none;
border-right-width: 2px;
border-bottom-width: 2px;
- border-color: white;
+ border-color: var(--paper-checkbox-checkmark-color, white);
}
/* label */
diff --git a/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.html b/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.html
index 6906c15..c98d20c 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-checkbox/paper-checkbox.html
@@ -31,10 +31,12 @@ The following custom properties and mixins are available for styling:
Custom property | Description | Default
----------------|-------------|----------
-`--paper-checkbox-unchecked-color` | Checkbox color when the input is not checked | `--primary-text-color`
+`--paper-checkbox-unchecked-background-color` | Checkbox background color when the input is not checked | `transparent`
+`--paper-checkbox-unchecked-color` | Checkbox border color when the input is not checked | `--primary-text-color`
`--paper-checkbox-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--primary-text-color`
`--paper-checkbox-checked-color` | Checkbox color when the input is checked | `--default-primary-color`
`--paper-checkbox-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color`
+`--paper-checkbox-checkmark-color` | Checkmark color | `white`
`--paper-checkbox-label-color` | Label color | `--primary-text-color`
@demo demo/index.html
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/.bower.json
index 532e273..8d83e48 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-dialog-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "Implements a behavior used for material design dialogs",
"authors": "The Polymer Authors",
"keywords": [
@@ -34,13 +34,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "156945a20318c11bb65d0bc83ef402262c3071ca"
+ "tag": "v1.0.4",
+ "commit": "09662387b0bc55651dd7b9ef8d38b3b8f55ecf3c"
},
"_source": "git://github.com/PolymerElements/paper-dialog-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-dialog-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/bower.json b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/bower.json
index cdd57c6..9ff98a0 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-dialog-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "Implements a behavior used for material design dialogs",
"authors": "The Polymer Authors",
"keywords": [
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-behavior-extracted.js
index 18689a5..099e607 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-behavior-extracted.js
@@ -38,7 +38,7 @@ Custom property | Description | Default
### Accessibility
This element has `role="dialog"` by default. Depending on the context, it may be more appropriate
-to override this attribute with `role="alertdialog"`. The header (a `<h2>` element) will
+to override this attribute with `role="alertdialog"`.
If `modal` is set, the element will set `aria-modal` and prevent the focus from exiting the element.
It will also ensure that focus remains in the dialog.
@@ -159,15 +159,17 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
_onDialogClick: function(event) {
var target = event.target;
- while (target !== this) {
- if (target.hasAttribute('dialog-dismiss')) {
- this._updateClosingReasonConfirmed(false);
- this.close();
- break;
- } else if (target.hasAttribute('dialog-confirm')) {
- this._updateClosingReasonConfirmed(true);
- this.close();
- break;
+ while (target && target !== this) {
+ if (target.hasAttribute) {
+ if (target.hasAttribute('dialog-dismiss')) {
+ this._updateClosingReasonConfirmed(false);
+ this.close();
+ break;
+ } else if (target.hasAttribute('dialog-confirm')) {
+ this._updateClosingReasonConfirmed(true);
+ this.close();
+ break;
+ }
}
target = target.parentNode;
}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-common.css b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-common.css
index 67bddb19..542f6f3 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-common.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-dialog-behavior/paper-dialog-common.css
@@ -28,7 +28,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
:host > ::content > .no-padding {
padding: 0;
-};
+}
:host > ::content > *:first-child {
margin-top: 24px;
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.bower.json
deleted file mode 100644
index a7eda78..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.bower.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "paper-dialog-scrollable",
- "version": "1.0.1",
- "description": "A scrollable area used inside the material design dialog",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "dialog",
- "overlay"
- ],
- "main": [
- "paper-dialog-scrollable.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/paper-dialog-scrollable"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/paper-dialog-scrollable",
- "ignore": [],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "94e65968791d9166d2d3bf186e449d042b10168f"
- },
- "_source": "git://github.com/PolymerElements/paper-dialog-scrollable.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/paper-dialog-scrollable"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.gitignore b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/README.md b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/README.md
deleted file mode 100644
index 201d0af..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# paper-dialog-scrollable
-
-`paper-dialog-scrollable` implements a scrolling area used in a Material Design dialog. Use this
-together with elements implementing `paper-dialog-behavior`.
-
-It shows a top divider after scrolling if it is not the first child in its parent container. It
-shows a bottom divider if it is scrollable and it is not the last child in its parent container.
-The bottom divider is hidden if it is scrolled to the bottom.
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/bower.json b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/bower.json
deleted file mode 100644
index 17ae8f7..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/bower.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "paper-dialog-scrollable",
- "version": "1.0.1",
- "description": "A scrollable area used inside the material design dialog",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "dialog",
- "overlay"
- ],
- "main": [
- "paper-dialog-scrollable.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/paper-dialog-scrollable"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/paper-dialog-scrollable",
- "ignore": [],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/hero.svg b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/hero.svg
deleted file mode 100644
index 40bc69a..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/hero.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <g>
- <polygon points="0,124 0,126 2,126 "/>
- <polygon points="0,111.6 0,114.4 11.6,126 14.4,126 "/>
- <polygon points="0,99.1 0,101.9 24.1,126 26.9,126 "/>
- <polygon points="0,86.6 0,89.5 36.5,126 39.4,126 "/>
- <polygon points="0,74.2 0,77 49,126 51.8,126 "/>
- <polygon points="0,61.7 0,64.5 61.5,126 64.3,126 "/>
- <polygon points="0,49.2 0,52.1 73.9,126 76.8,126 "/>
- <polygon points="0,36.8 0,39.6 86.4,126 89.2,126 "/>
- <polygon points="76.7,101 74,101 74,98.3 0,24.3 0,27.1 98.9,126 101.7,126 "/>
- <polygon points="74,88.7 74,85.8 0,11.8 0,14.7 "/>
- <polygon points="89.2,101 86.3,101 111.3,126 114.2,126 "/>
- <polygon points="101.6,101 98.8,101 123.8,126 126.6,126 "/>
- <polygon points="74,76.2 74,73.4 0.6,0 0,0 0,2.2 "/>
- <polygon points="114.1,101 111.3,101 136.3,126 139.1,126 "/>
- <polygon points="74,63.7 74,60.9 13.1,0 10.3,0 "/>
- <polygon points="74,51.3 74,48.4 25.6,0 22.7,0 "/>
- <polygon points="126.6,101 123.7,101 148.7,126 151.6,126 "/>
- <polygon points="74,38.8 74,36 38,0 35.2,0 "/>
- <polygon points="139,101 136.2,101 161.2,126 164,126 "/>
- <polygon points="74,26.3 74,25 75.5,25 50.5,0 47.7,0 "/>
- <polygon points="150,99.5 150,101 148.7,101 173.7,126 176.5,126 "/>
- <polygon points="150,87 150,89.9 186.1,126 189,126 "/>
- <polygon points="85.1,25 88,25 63,0 60.1,0 "/>
- <polygon points="150,74.6 150,77.4 198.6,126 201.4,126 "/>
- <polygon points="97.6,25 100.4,25 75.4,0 72.6,0 "/>
- <polygon points="150,62.1 150,64.9 211.1,126 213.9,126 "/>
- <polygon points="110.1,25 112.9,25 87.9,0 85.1,0 "/>
- <polygon points="150,49.7 150,52.5 223.5,126 225,126 225,124.7 "/>
- <polygon points="122.5,25 125.3,25 100.3,0 97.5,0 "/>
- <polygon points="112.8,0 110,0 135,25 137.8,25 "/>
- <polygon points="150,37.2 150,40 225,115 225,112.2 "/>
- <polygon points="125.3,0 122.5,0 147.5,25 150,25 150,27.5 225,102.5 225,99.7 "/>
- <polygon points="137.7,0 134.9,0 225,90.1 225,87.3 "/>
- <polygon points="150.2,0 147.4,0 225,77.6 225,74.8 "/>
- <polygon points="162.7,0 159.8,0 225,65.2 225,62.3 "/>
- <polygon points="175.1,0 172.3,0 225,52.7 225,49.9 "/>
- <polygon points="187.6,0 184.8,0 225,40.2 225,37.4 "/>
- <polygon points="200.1,0 197.2,0 225,27.8 225,24.9 "/>
- <polygon points="212.5,0 209.7,0 225,15.3 225,12.5 "/>
- <polygon points="225,0 222.2,0 225,2.8 225,0 "/>
- </g>
- <path d="M151,102H73V24h78V102z M75,100h74V26H75V100z"/>
- <rect x="82" y="53" width="26" height="2"/>
- <rect x="116" y="53" width="26" height="2"/>
- <rect x="82" y="62" width="26" height="2"/>
- <rect x="82" y="72" width="26" height="2"/>
- <rect x="116" y="72" width="26" height="2"/>
- <rect x="82" y="42" width="26" height="2"/>
- <circle cx="120" cy="63" r="4"/>
- <circle cx="134" cy="63" r="4"/>
- <rect x="116" y="85" width="22" height="5.5"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/index.html b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/index.html
deleted file mode 100644
index 2d2ec7e..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-
- <title>paper-dialog-scrollable</title>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
-
- <link rel="import" href="../polymer/polymer.html">
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable-extracted.js
deleted file mode 100644
index 7be247e..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable-extracted.js
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-(function() {
-
- Polymer({
-
- is: 'paper-dialog-scrollable',
-
- properties: {
-
- /**
- * The dialog element that implements `Polymer.PaperDialogBehavior` containing this element.
- * @type {?Node}
- */
- dialogElement: {
- type: Object,
- value: function() {
- return this.parentNode;
- }
- }
-
- },
-
- listeners: {
- 'scrollable.scroll': '_onScroll',
- 'iron-resize': '_onIronResize'
- },
-
- /**
- * Returns the scrolling element.
- */
- get scrollTarget() {
- return this.$.scrollable;
- },
-
- attached: function() {
- this.classList.add('no-padding');
- // Set itself to the overlay sizing target
- this.dialogElement.sizingTarget = this.scrollTarget;
- // If the host is sized, fit the scrollable area to the container. Otherwise let it be
- // its natural size.
- requestAnimationFrame(function() {
- if (this.offsetHeight > 0) {
- this.$.scrollable.classList.add('fit');
- }
- this._scroll();
- }.bind(this));
- },
-
- _scroll: function() {
- this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);
- this.toggleClass('can-scroll', this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);
- this.toggleClass('scrolled-to-bottom',
- this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >= this.scrollTarget.scrollHeight);
- },
-
- _onScroll: function() {
- this._scroll();
- }
-
- })
-
-})();
-
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable.html b/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable.html
deleted file mode 100644
index ad790ca..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog-scrollable/paper-dialog-scrollable.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
-<link rel="import" href="../paper-styles/paper-styles.html">
-
-<!--
-`paper-dialog-scrollable` implements a scrolling area used in a Material Design dialog. It shows
-a divider at the top and/or bottom indicating more content, depending on scroll position. Use this
-together with elements implementing `Polymer.PaperDialogBehavior`.
-
- <paper-dialog-impl>
- <h2>Header</h2>
- <paper-dialog-scrollable>
- Lorem ipsum...
- </paper-dialog-scrollable>
- <div class="buttons">
- <paper-button>OK</paper-button>
- </div>
- </paper-dialog-impl>
-
-It shows a top divider after scrolling if it is not the first child in its parent container,
-indicating there is more content above. It shows a bottom divider if it is scrollable and it is not
-the last child in its parent container, indicating there is more content below. The bottom divider
-is hidden if it is scrolled to the bottom.
-
-@group Paper Elements
-@element paper-dialog-scrollable
-@demo demo/index.html
-@hero hero.svg
--->
-
-</head><body><dom-module id="paper-dialog-scrollable">
-
- <style>
-
- :host {
- display: block;
- position: relative;
- }
-
- :host(.is-scrolled:not(:first-child))::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 1px;
- background: var(--divider-color);
- }
-
- :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {
- content: '';
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- height: 1px;
- background: var(--divider-color);
- }
-
- .scrollable {
- padding: 0 24px;
-
- @apply(--layout-scroll);
-
- @apply(--paper-dialog-scrollable);
- }
- </style>
-
- <template>
- <div id="scrollable" class="scrollable">
- <content></content>
- </div>
- </template>
-
-</dom-module>
-
-<script src="paper-dialog-scrollable-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-dialog/.bower.json
index 540adab..bf37ed7 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-dialog/.bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-dialog",
"description": "A Material Design dialog",
- "version": "1.0.0",
+ "version": "1.0.1",
"authors": "The Polymer Authors",
"keywords": [
"web-components",
@@ -32,13 +32,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "6d66cf1e022e56ec28353a2f718e93535c7cac20"
+ "tag": "v1.0.1",
+ "commit": "1339718c67ef50add5221dd63d35e03a54fb619f"
},
"_source": "git://github.com/PolymerElements/paper-dialog.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-dialog"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-dialog/bower.json b/third_party/polymer/v1_0/components-chromium/paper-dialog/bower.json
index 2bce00e..a7d5c38 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-dialog/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-dialog/bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-dialog",
"description": "A Material Design dialog",
- "version": "1.0.0",
+ "version": "1.0.1",
"authors": "The Polymer Authors",
"keywords": [
"web-components",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/.bower.json
index e49fa46..ba958ea 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-drawer-panel",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A responsive drawer panel",
"authors": [
"The Polymer Authors"
@@ -30,13 +30,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "691739c877914f7231eaca16b724bdca295dfe8d"
+ "tag": "v1.0.3",
+ "commit": "92713b61eb8eec378db63af61b73341453b8180d"
},
"_source": "git://github.com/PolymerElements/paper-drawer-panel.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-drawer-panel"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/bower.json b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/bower.json
index f87cca9..76a2f0c 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-drawer-panel",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A responsive drawer panel",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel-extracted.js
index b3de143..6305886 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel-extracted.js
@@ -31,17 +31,24 @@
*/
/**
- * Fired when the selected panel changes.
+ * Fired when the a panel is selected.
*
* Listening for this event is an alternative to observing changes in the `selected` attribute.
- * This event is fired both when a panel is selected and deselected.
- * The `isSelected` detail property contains the selection state.
+ * This event is fired both when a panel is selected.
*
- * @event paper-select {{isSelected: boolean, item: Object}} detail -
- * isSelected: True for selection and false for deselection.
+ * @event iron-select {{item: Object}} detail -
* item: The panel that the event refers to.
*/
+ /**
+ * Fired when a panel is deselected.
+ *
+ * Listening for this event is an alternative to observing changes in the `selected` attribute.
+ * This event is fired both when a panel is deselected.
+ *
+ * @event iron-deselect {{item: Object}} detail -
+ * item: The panel that the event refers to.
+ */
properties: {
/**
@@ -240,13 +247,14 @@
this.transition = true;
},
- _computeIronSelectorClass: function(narrow, transition, dragging, rightDrawer) {
+ _computeIronSelectorClass: function(narrow, transition, dragging, rightDrawer, peeking) {
return classNames({
dragging: dragging,
'narrow-layout': narrow,
'right-drawer': rightDrawer,
'left-drawer': !rightDrawer,
- transition: transition
+ transition: transition,
+ peeking: peeking
});
},
@@ -261,8 +269,6 @@
if (rightDrawer) {
style += 'right:' + (narrow ? '' : drawerWidth) + ';';
- } else {
- style += 'right:;';
}
return style;
@@ -276,19 +282,19 @@
return !narrow || disableEdgeSwipe;
},
- _onTrack: function(e) {
+ _onTrack: function(event) {
if (sharedPanel && this !== sharedPanel) {
return;
}
- switch (e.detail.state) {
+ switch (event.detail.state) {
case 'start':
- this._trackStart(e);
+ this._trackStart(event);
break;
case 'track':
- this._trackX(e);
+ this._trackX(event);
break;
case 'end':
- this._trackEnd(e);
+ this._trackEnd(event);
break;
}
@@ -305,8 +311,8 @@
this.fire('paper-responsive-change', {narrow: this.narrow});
},
- _onQueryMatchesChanged: function(e) {
- this._responsiveChange(e.detail.value);
+ _onQueryMatchesChanged: function(event) {
+ this._responsiveChange(event.detail.value);
},
_forceNarrowChanged: function() {
@@ -336,9 +342,11 @@
}
},
- _downHandler: function(e) {
- if (!this.dragging && this._isMainSelected() && this._isEdgeTouch(e) && !sharedPanel) {
+ _downHandler: function(event) {
+ if (!this.dragging && this._isMainSelected() && this._isEdgeTouch(event) && !sharedPanel) {
this._startEdgePeek();
+ // cancel selection
+ event.preventDefault();
// grab this panel
sharedPanel = this;
}
@@ -350,8 +358,8 @@
sharedPanel = null;
},
- _onTap: function(e) {
- var targetElement = Polymer.dom(e).localTarget;
+ _onTap: function(event) {
+ var targetElement = Polymer.dom(event).localTarget;
var isTargetToggleElement = targetElement &&
this.drawerToggleAttribute &&
targetElement.hasAttribute(this.drawerToggleAttribute);
@@ -361,8 +369,8 @@
}
},
- _isEdgeTouch: function(e) {
- var x = e.detail.x;
+ _isEdgeTouch: function(event) {
+ var x = event.detail.x;
return !this.disableEdgeSwipe && this._swipeAllowed() &&
(this.rightDrawer ?
@@ -396,9 +404,9 @@
}
},
- _trackX: function(e) {
+ _trackX: function(event) {
if (this.dragging) {
- var dx = e.detail.dx;
+ var dx = event.detail.dx;
if (this.peeking) {
if (Math.abs(dx) <= this.edgeSwipeSensitivity) {
@@ -412,9 +420,9 @@
}
},
- _trackEnd: function(e) {
+ _trackEnd: function(event) {
if (this.dragging) {
- var xDirection = e.detail.dx > 0;
+ var xDirection = event.detail.dx > 0;
this._setDragging(false);
this.transition = true;
@@ -439,13 +447,7 @@
},
_moveDrawer: function(translateX) {
- var s = this.$.drawer.style;
-
- if (this.hasTransform) {
- s.transform = this._transformForTranslateX(translateX);
- } else {
- s.webkitTransform = this._transformForTranslateX(translateX);
- }
+ this.transform(this._transformForTranslateX(translateX), this.$.drawer);
}
});
diff --git a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.css b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.css
index ab7c568..747f0bb7 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.css
@@ -6,8 +6,8 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-
*/
+
:host {
display: block;
position: absolute;
@@ -24,16 +24,16 @@ iron-selector > #drawer {
left: 0;
height: 100%;
background-color: white;
- will-change: transform;
- box-sizing: border-box;
+
-moz-box-sizing: border-box;
+ box-sizing: border-box;
@apply(--paper-drawer-panel-drawer-container);
}
.transition > #drawer {
- transition: -webkit-transform ease-in-out 0.3s, width ease-in-out 0.3s;
- transition: transform ease-in-out 0.3s, width ease-in-out 0.3s;
+ transition: -webkit-transform ease-in-out 0.3s, width ease-in-out 0.3s, visibility 0.3s;
+ transition: transform ease-in-out 0.3s, width ease-in-out 0.3s, visibility 0.3s;
}
.left-drawer > #drawer {
@@ -88,6 +88,10 @@ iron-selector > #main {
background-color: rgba(0, 0, 0, 0.3);
}
+.narrow-layout > #drawer {
+ will-change: transform;
+}
+
.narrow-layout > #drawer.iron-selected {
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}
@@ -107,19 +111,24 @@ iron-selector > #main {
.right-drawer.narrow-layout > #drawer:not(.iron-selected) {
left: auto;
+ visibility: hidden;
+
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
+.right-drawer.narrow-layout.dragging > #drawer:not(.iron-selected),
+.right-drawer.narrow-layout.peeking > #drawer:not(.iron-selected) {
+ visibility: visible;
+}
+
.narrow-layout > #main {
- left: 0 !important;
padding: 0;
}
.right-drawer.narrow-layout > #main {
left: 0;
right: 0;
- padding: 0;
}
.narrow-layout > #main:not(.iron-selected) > #scrim,
@@ -133,8 +142,9 @@ iron-selector > #main {
min-height: 100%;
left: 0;
right: 0;
- box-sizing: border-box;
+
-moz-box-sizing: border-box;
+ box-sizing: border-box;
}
iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.html b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.html
index d7ea76b..e334999 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-drawer-panel/paper-drawer-panel.html
@@ -72,29 +72,31 @@ To position the drawer to the right, add `right-drawer` attribute.
<div main> Main panel... </div>
</paper-drawer-panel>
-Styling paper-drawer-panel:
+Styling `paper-drawer-panel`
To change the main container:
- paper-drawer-panel {
- --paper-drawer-panel-main-container: {
- background-color: gray;
- };
- }
+
+ paper-drawer-panel {
+ --paper-drawer-panel-main-container: {
+ background-color: gray;
+ };
+ }
To change the drawer container when it's in the left side:
- paper-drawer-panel {
- --paper-drawer-panel-left-drawer-container: {
- background-color: white;
- };
- }
+
+ paper-drawer-panel {
+ --paper-drawer-panel-left-drawer-container: {
+ background-color: white;
+ };
+ }
To change the drawer container when it's in the right side:
- paper-drawer-panel {
- --paper-drawer-panel-right-drawer-container: {
- background-color: white;
- };
- }
+ paper-drawer-panel {
+ --paper-drawer-panel-right-drawer-container: {
+ background-color: white;
+ };
+ }
@group Paper elements
@element paper-drawer-panel
@@ -109,7 +111,7 @@ To change the drawer container when it's in the right side:
<iron-media-query id="mq" on-query-matches-changed="_onQueryMatchesChanged" query="[[_computeMediaQuery(forceNarrow, responsiveWidth)]]">
</iron-media-query>
- <iron-selector attr-for-selected="id" class$="[[_computeIronSelectorClass(narrow, transition, dragging, rightDrawer)]]" activate-event="" selected="[[selected]]">
+ <iron-selector attr-for-selected="id" class$="[[_computeIronSelectorClass(narrow, transition, dragging, rightDrawer, peeking)]]" activate-event="" selected="[[selected]]">
<div id="main" style$="[[_computeMainStyle(narrow, rightDrawer, drawerWidth)]]">
<content select="[main]"></content>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-elements/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-elements/.bower.json
deleted file mode 100644
index 5bfdd28..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-elements/.bower.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "name": "paper-elements",
- "version": "1.0.1",
- "homepage": "https://github.com/PolymerElements/paper-elements",
- "authors": [
- "The Polymer Authors"
- ],
- "description": "Paper elements are a set of visual elements that implement Google's Material Design.",
- "main": "paper-elements.html",
- "keywords": [
- "web-components",
- "polymer",
- "paper"
- ],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
- "paper-button": "PolymerElements/paper-button#^1.0.0",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.0",
- "paper-dialog": "PolymerElements/paper-dialog#^1.0.0",
- "paper-dialog-behavior": "PolymerElements/paper-dialog-behavior#^1.0.0",
- "paper-dialog-scrollable": "PolymerElements/paper-dialog-scrollable#^1.0.0",
- "paper-drawer-panel": "PolymerElements/paper-drawer-panel#^1.0.0",
- "paper-fab": "PolymerElements/paper-fab#^1.0.0",
- "paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "paper-item": "PolymerElements/paper-item#^1.0.0",
- "paper-material": "PolymerElements/paper-material#^1.0.0",
- "paper-menu": "PolymerElements/paper-menu#^1.0.0",
- "paper-progress": "PolymerElements/paper-progress#^1.0.0",
- "paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
- "paper-radio-group": "PolymerElements/paper-radio-group#^1.0.0",
- "paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
- "paper-slider": "PolymerElements/paper-slider#^1.0.0",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "paper-tabs": "PolymerElements/paper-tabs#^1.0.0",
- "paper-toast": "PolymerElements/paper-toast#^1.0.0",
- "paper-toggle-button": "PolymerElements/paper-toggle-button#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel#^1.0.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "c4b7d791a9a7cfec9d671a34112c97a0dad5de69"
- },
- "_source": "git://github.com/PolymerElements/paper-elements.git",
- "_target": "~1.0.0",
- "_originalSource": "PolymerElements/paper-elements"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-elements/README.md b/third_party/polymer/v1_0/components-chromium/paper-elements/README.md
deleted file mode 100644
index 300275c..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-elements/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-#paper-elements
-
-The paper elements are a set of UI components designed to implement Google's [material design](http://www.google.com/design/spec/material-design/introduction.html) guidelines.
-
-## Roadmap
-
-### Elements in progress
-
-* `paper-dropdown-menu` - a dropdown menu
-
-### Elements planned
-_Elements we're planning on building soon but haven't started yet_
-
-* `paper-tooltip` - a hover tooltip
-
-[Currently focused on getting all elements up to speed]
-
-### Elements not planned, notably
-_Elements we're not planning on building as part of this product line, but that one might be wondering about_
-
-[None]
diff --git a/third_party/polymer/v1_0/components-chromium/paper-elements/bower.json b/third_party/polymer/v1_0/components-chromium/paper-elements/bower.json
deleted file mode 100644
index 34083c3..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-elements/bower.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "paper-elements",
- "version": "1.0.1",
- "homepage": "https://github.com/PolymerElements/paper-elements",
- "authors": [
- "The Polymer Authors"
- ],
- "description": "Paper elements are a set of visual elements that implement Google's Material Design.",
- "main": "paper-elements.html",
- "keywords": [
- "web-components",
- "polymer",
- "paper"
- ],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
- "paper-button": "PolymerElements/paper-button#^1.0.0",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.0",
- "paper-dialog": "PolymerElements/paper-dialog#^1.0.0",
- "paper-dialog-behavior": "PolymerElements/paper-dialog-behavior#^1.0.0",
- "paper-dialog-scrollable": "PolymerElements/paper-dialog-scrollable#^1.0.0",
- "paper-drawer-panel": "PolymerElements/paper-drawer-panel#^1.0.0",
- "paper-fab": "PolymerElements/paper-fab#^1.0.0",
- "paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "paper-item": "PolymerElements/paper-item#^1.0.0",
- "paper-material": "PolymerElements/paper-material#^1.0.0",
- "paper-menu": "PolymerElements/paper-menu#^1.0.0",
- "paper-progress": "PolymerElements/paper-progress#^1.0.0",
- "paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
- "paper-radio-group": "PolymerElements/paper-radio-group#^1.0.0",
- "paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
- "paper-slider": "PolymerElements/paper-slider#^1.0.0",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "paper-tabs": "PolymerElements/paper-tabs#^1.0.0",
- "paper-toast": "PolymerElements/paper-toast#^1.0.0",
- "paper-toggle-button": "PolymerElements/paper-toggle-button#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel#^1.0.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-fab/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-fab/.bower.json
index 15e922a..3fe9ece 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-fab/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-fab/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-fab",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design floating action button",
"authors": [
"The Polymer Authors"
@@ -36,13 +36,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "59d2f77f456271f1ae4059b92d83ba7655fb1580"
+ "tag": "v1.0.3",
+ "commit": "0371767ba859a842ffd07dfbdf574206c1d7294f"
},
"_source": "git://github.com/PolymerElements/paper-fab.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-fab"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-fab/bower.json b/third_party/polymer/v1_0/components-chromium/paper-fab/bower.json
index f3738a2..fe8ce02 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-fab/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-fab/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-fab",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design floating action button",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-header-panel/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-header-panel/.bower.json
index 6129668..aa0efb5 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-header-panel/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-header-panel/.bower.json
@@ -32,6 +32,6 @@
"commit": "19cde2fc5dfd51439e3433b3d5e6b618d444cb0a"
},
"_source": "git://github.com/PolymerElements/paper-header-panel.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-header-panel"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-icon-button/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-icon-button/.bower.json
index 71c8d45..7e9632c 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-icon-button/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-icon-button/.bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-icon-button",
"private": true,
- "version": "1.0.2",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design icon button",
"main": "paper-icon-button.html",
@@ -15,6 +15,10 @@
"icon",
"control"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-icon-button.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-icon": "polymerelements/iron-icon#^1.0.0",
@@ -31,13 +35,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-icon-button",
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "b22ade2080f2527760eae41e4700c52d4689a866"
+ "tag": "v1.0.3",
+ "commit": "9f183bdae3ff419aeae78a51a05fcc4d0100e5a3"
},
"_source": "git://github.com/PolymerElements/paper-icon-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-icon-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-icon-button/bower.json b/third_party/polymer/v1_0/components-chromium/paper-icon-button/bower.json
index 6886757..f7fe35c 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-icon-button/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-icon-button/bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-icon-button",
"private": true,
- "version": "1.0.2",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design icon button",
"main": "paper-icon-button.html",
@@ -15,6 +15,10 @@
"icon",
"control"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-icon-button.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-icon": "polymerelements/iron-icon#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-icon-button/paper-icon-button.html b/third_party/polymer/v1_0/components-chromium/paper-icon-button/paper-icon-button.html
index cad8699..ade2172 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-icon-button/paper-icon-button.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-icon-button/paper-icon-button.html
@@ -75,6 +75,7 @@ Custom property | Description | Default
position: relative;
padding: 8px;
outline: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-input/.bower.json
index 12c5a8c..6b7a996 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-input",
- "version": "1.0.3",
+ "version": "1.0.6",
"description": "Material design text fields",
"authors": [
"The Polymer Authors"
@@ -27,11 +27,12 @@
"homepage": "https://github.com/PolymerElements/paper-input",
"ignore": [],
"dependencies": {
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
+ "polymer": "Polymer/polymer#^1.0.0",
"iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
+ "iron-input": "PolymerElements/iron-input#^1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
@@ -41,13 +42,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.6",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "5d3c8a4a95fce54f4b8b6a5e5b319e821a080447"
+ "tag": "v1.0.6",
+ "commit": "327605642c1bfa5366c0d3effc638b81f24c3adc"
},
"_source": "git://github.com/PolymerElements/paper-input.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-input"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/bower.json b/third_party/polymer/v1_0/components-chromium/paper-input/bower.json
index d25cce1..f268e8e 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-input",
- "version": "1.0.3",
+ "version": "1.0.6",
"description": "Material design text fields",
"authors": [
"The Polymer Authors"
@@ -27,11 +27,12 @@
"homepage": "https://github.com/PolymerElements/paper-input",
"ignore": [],
"dependencies": {
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
+ "polymer": "Polymer/polymer#^1.0.0",
"iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
+ "iron-input": "PolymerElements/iron-input#^1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior-extracted.js
index ff51360..6acae99 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior-extracted.js
@@ -8,9 +8,9 @@
*
* The input element can be accessed by the `inputElement` property if you need to access
* properties or methods that are not exposed.
- * @polymerBehavior
+ * @polymerBehavior Polymer.PaperInputBehavior
*/
- Polymer.PaperInputBehavior = {
+ Polymer.PaperInputBehaviorImpl = {
properties: {
@@ -73,6 +73,14 @@
},
/**
+ * The datalist of the input (if any). This should match the id of an existing <datalist>. Bind this
+ * to the `<input is="iron-input">`'s `list` property.
+ */
+ list: {
+ type: String
+ },
+
+ /**
* A pattern to validate the `input` with. Bind this to the `<input is="iron-input">`'s
* `pattern` property.
*/
@@ -210,6 +218,24 @@
type: Number
},
+ // Nonstandard attributes for binding if needed
+
+ /**
+ * Bind this to the `<input is="iron-input">`'s `autocapitalize` property.
+ */
+ autocapitalize: {
+ type: String,
+ value: 'none'
+ },
+
+ /**
+ * Bind this to the `<input is="iron-input">`'s `autocorrect` property.
+ */
+ autocorrect: {
+ type: String,
+ value: 'off'
+ },
+
_ariaDescribedBy: {
type: String,
value: ''
@@ -221,6 +247,10 @@
'addon-attached': '_onAddonAttached'
},
+ observers: [
+ '_focusedControlStateChanged(focused)'
+ ],
+
/**
* Returns a reference to the input element.
*/
@@ -285,6 +315,24 @@
return placeholder || alwaysFloatLabel;
},
+ _focusedControlStateChanged: function(focused) {
+ // IronControlState stops the focus and blur events in order to redispatch them on the host
+ // element, but paper-input-container listens to those events. Since there are more
+ // pending work on focus/blur in IronControlState, I'm putting in this hack to get the
+ // input focus state working for now.
+ if (!this.$.container) {
+ this.$.container = Polymer.dom(this.root).querySelector('paper-input-container');
+ if (!this.$.container) {
+ return;
+ }
+ }
+ if (focused) {
+ this.$.container._onFocus();
+ } else {
+ this.$.container._onBlur();
+ }
+ },
+
_updateAriaLabelledBy: function() {
var label = Polymer.dom(this.root).querySelector('label');
if (!label) {
@@ -303,3 +351,6 @@
};
+ /** @polymerBehavior */
+ Polymer.PaperInputBehavior = [Polymer.IronControlState, Polymer.PaperInputBehaviorImpl];
+
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior.html b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior.html
index 0db3d09..8509063 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-behavior.html
@@ -7,5 +7,6 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--><html><head><link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../iron-behaviors/iron-control-state.html">
</head><body><script src="paper-input-behavior-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-container.html b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-container.html
index 4b805f5..5626014 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-container.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-container.html
@@ -63,7 +63,11 @@ Custom property | Description | Default
`--paper-input-container-input-color` | Input foreground color | `--primary-text-color`
`--paper-input-container` | Mixin applied to the container | `{}`
`--paper-input-container-label` | Mixin applied to the label | `{}`
+`--paper-input-container-label-focus` | Mixin applied to the label when the input is focused | `{}`
`--paper-input-container-input` | Mixin applied to the input | `{}`
+`--paper-input-container-underline` | Mixin applied to the underline | `{}`
+`--paper-input-container-underline-focus` | Mixin applied to the underline when the input is focued | `{}`
+`--paper-input-container-underline-disabled` | Mixin applied to the underline when the input is disabled | `{}`
This element is `display:block` by default, but you can set the `inline` attribute to make it
`display:inline-block`.
@@ -105,6 +109,8 @@ This element is `display:block` by default, but you can set the `inline` attribu
transform: scale3d(0,1,1);
background: var(--paper-input-container-focus-color, --default-primary-color);
+
+ @apply(--paper-input-container-underline-focus);
}
.underline.is-highlighted .focused-line {
@@ -130,12 +136,16 @@ This element is `display:block` by default, but you can set the `inline` attribu
.unfocused-line {
height: 1px;
background: var(--paper-input-container-color, --secondary-text-color);
+
+ @apply(--paper-input-container-underline);
}
:host([disabled]) .unfocused-line {
border-bottom: 1px dashed;
border-color: var(--paper-input-container-color, --secondary-text-color);
background: transparent;
+
+ @apply(--paper-input-container-underline-disabled);
}
.input-content {
@@ -170,6 +180,8 @@ This element is `display:block` by default, but you can set the `inline` attribu
.input-content.label-is-highlighted ::content label,
.input-content.label-is-highlighted ::content .paper-input-label {
color: var(--paper-input-container-focus-color, --default-primary-color);
+
+ @apply(--paper-input-container-label-focus);
}
.input-content.is-invalid ::content label,
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error-extracted.js
index 4cea279..2d0ff41 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error-extracted.js
@@ -10,10 +10,6 @@
Polymer.PaperInputAddonBehavior
],
- hostAttributes: {
- 'role': 'alert'
- },
-
properties: {
/**
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error.html b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error.html
index f32cad3..e56c0f9 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-error.html
@@ -33,8 +33,8 @@ Custom property | Description | Default
<style>
:host {
- /* need to use display: none for role="alert" */
- display: none;
+ display: inline-block;
+ visibility: hidden;
float: left;
color: var(--paper-input-container-invalid-color, --google-red-500);
@@ -44,7 +44,7 @@ Custom property | Description | Default
}
:host([invalid]) {
- display: inline-block;
+ visibility: visible;
};
</style>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-extracted.js
index a1d94bd..5ef213a 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input-extracted.js
@@ -7,8 +7,9 @@
is: 'paper-input',
behaviors: [
+ Polymer.IronFormElementBehavior,
Polymer.PaperInputBehavior,
- Polymer.IronFormElementBehavior
+ Polymer.IronControlState
]
})
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input.html b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input.html
index 078fcf8..aa5be24 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-input.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-input.html
@@ -69,7 +69,7 @@ style this element.
<label hidden$="[[!label]]">[[label]]</label>
- <input is="iron-input" id="input" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="[[pattern]]" maxlength$="[[maxlength]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" size$="[[size]]">
+ <input is="iron-input" id="input" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="[[pattern]]" maxlength$="[[maxlength]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" list$="[[list]]" size$="[[size]]" autocapitalize$="[[autocapitalize]]" autocorrect$="[[autocorrect]]">
<template is="dom-if" if="[[errorMessage]]">
<paper-input-error>[[errorMessage]]</paper-input-error>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea-extracted.js
index ca96bac..ec175c2 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea-extracted.js
@@ -7,8 +7,7 @@
is: 'paper-textarea',
behaviors: [
- Polymer.PaperInputBehavior,
- Polymer.IronFormElementBehavior
+ Polymer.PaperInputBehavior
],
properties: {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea.html b/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea.html
index fa2fbbb..5ed0971 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-input/paper-textarea.html
@@ -8,7 +8,6 @@ Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--><html><head><link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../iron-autogrow-textarea/iron-autogrow-textarea.html">
-<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
<link rel="import" href="paper-input-behavior.html">
<link rel="import" href="paper-input-container.html">
<link rel="import" href="paper-input-error.html">
@@ -38,7 +37,7 @@ style this element.
<label hidden$="[[!label]]">[[label]]</label>
- <iron-autogrow-textarea id="input" class="paper-input-input" bind-value="{{value}}" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" maxlength$="[[maxlength]]"></iron-autogrow-textarea>
+ <iron-autogrow-textarea id="input" class="paper-input-input" bind-value="{{value}}" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" maxlength$="[[maxlength]]" autocapitalize$="[[autocapitalize]]"></iron-autogrow-textarea>
<template is="dom-if" if="[[errorMessage]]">
<paper-input-error>[[errorMessage]]</paper-input-error>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-item/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-item/.bower.json
index 00391bb..c037d6d 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-item/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-item/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-item",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material-design styled list item",
"authors": [
"The Polymer Authors"
@@ -37,13 +37,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "645ebae475ab4fc28698da253ccc3aa2c48341d7"
+ "tag": "v1.0.2",
+ "commit": "209d000bd2e99d9b31cfc996bbc5b0fc554be21d"
},
"_source": "git://github.com/PolymerElements/paper-item.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-item"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-item/bower.json b/third_party/polymer/v1_0/components-chromium/paper-item/bower.json
index f077268..bbfec78 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-item/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-item/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-item",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material-design styled list item",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-material/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-material/.bower.json
index 7775045..6e93e9c 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-material/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-material/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-material",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "A material design container that looks like a lifted sheet of paper",
"private": true,
"authors": [
@@ -33,13 +33,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "bd769d2b8c4f9ab000aee22582d76b5935793dc1"
+ "tag": "v1.0.1",
+ "commit": "1663016f2b9f1deb197cfa93ef16d45d3de815c8"
},
"_source": "git://github.com/PolymerElements/paper-material.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-material"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-material/bower.json b/third_party/polymer/v1_0/components-chromium/paper-material/bower.json
index e6f78bc..c5d8489 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-material/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-material/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-material",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "A material design container that looks like a lifted sheet of paper",
"private": true,
"authors": [
diff --git a/third_party/polymer/v1_0/components-chromium/paper-menu/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-menu/.bower.json
index 0e4dff9..b3fbd39 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-menu/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-menu/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-menu",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "Implements an accessible material design menu",
"authors": "The Polymer Authors",
"keywords": [
@@ -29,13 +29,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "0642450ec9df0fc0b1d909842f436c3dea79ed1e"
+ "tag": "v1.0.1",
+ "commit": "137caedb322ab2464730d7b1776e5c88989d2c3f"
},
"_source": "git://github.com/PolymerElements/paper-menu.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-menu"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-menu/bower.json b/third_party/polymer/v1_0/components-chromium/paper-menu/bower.json
index dd2a5cd..35d527dd 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-menu/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-menu/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-menu",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "Implements an accessible material design menu",
"authors": "The Polymer Authors",
"keywords": [
diff --git a/third_party/polymer/v1_0/components-chromium/paper-menu/paper-menu.html b/third_party/polymer/v1_0/components-chromium/paper-menu/paper-menu.html
index 5233d19..4553813 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-menu/paper-menu.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-menu/paper-menu.html
@@ -19,6 +19,13 @@ is highlighted, and the selected item has bolded text.
<paper-item>Item 2</paper-item>
</paper-menu>
+An initial selection can be specified with the `selected` attribute.
+
+ <paper-menu selected="0">
+ <paper-item>Item 1</paper-item>
+ <paper-item>Item 2</paper-item>
+ </paper-menu>
+
Make a multi-select menu with the `multi` attribute. Items in a multi-select menu can be deselected,
and multiple item can be selected.
@@ -34,7 +41,7 @@ The following custom properties and mixins are available for styling:
Custom property | Description | Default
----------------|-------------|----------
`--paper-menu-background-color` | Menu background color | `--primary-background-color`
-`-paper-menu-color` | Menu foreground color | `--primary-text-color`
+`--paper-menu-color` | Menu foreground color | `--primary-text-color`
`--paper-menu-disabled-color` | Foreground color for a disabled item | `--disabled-text-color`
`--paper-menu` | Mixin applied to the menu | `{}`
`--paper-menu-selected-item` | Mixin applied to the selected item | `{}`
@@ -83,7 +90,7 @@ of a menu item will also focus it.
position: relative;
outline: 0;
- @apply(--paper-menu-colored-focused-item);
+ @apply(--paper-menu-focused-item);
}
.content > ::content > *:focus:after {
@@ -93,7 +100,7 @@ of a menu item will also focus it.
opacity: 0.12;
content: '';
- @apply(--paper-menu-colored-focused-item-after);
+ @apply(--paper-menu-focused-item-after);
}
.content > ::content > *[colored]:focus:after {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-progress/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-progress/.bower.json
index 100fe00..57180d4 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-progress/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-progress/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-progress",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design progress bar",
"authors": "The Polymer Authors",
@@ -29,13 +29,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-progress",
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "1bef80a0d4110654b85746e70c006796ce8cdc2c"
+ "tag": "v1.0.1",
+ "commit": "5cc9e18dad0420fd7f92a2b5b32981782a31cb06"
},
"_source": "git://github.com/PolymerElements/paper-progress.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-progress"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-progress/README.md b/third_party/polymer/v1_0/components-chromium/paper-progress/README.md
index 7aaf060..edc309f 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-progress/README.md
+++ b/third_party/polymer/v1_0/components-chromium/paper-progress/README.md
@@ -17,10 +17,10 @@ progress, such as the buffer level during a streaming playback progress bar.
Example:
```html
-<paper-progress value="10" secondaryProgress="30"></paper-progress>
+<paper-progress value="10" secondary-progress="30"></paper-progress>
```
-Styling progress bar:
+### Styling progress bar:
To change the active progress bar color:
@@ -45,3 +45,14 @@ paper-progress {
--paper-progress-container-color: #64ffda;
}
```
+
+Add the class `transiting` to a `<paper-progress>` to animate the progress bar when
+the value changed. You can also customize the transition:
+
+```css
+paper-progress {
+ --paper-progress-transition-duration: 0.08s;
+ --paper-progress-transition-timing-function: ease;
+ --paper-progress-transition-transition-delay: 0s;
+}
+```
diff --git a/third_party/polymer/v1_0/components-chromium/paper-progress/bower.json b/third_party/polymer/v1_0/components-chromium/paper-progress/bower.json
index 8c17acb..937d6dc 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-progress/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-progress/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-progress",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design progress bar",
"authors": "The Polymer Authors",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-progress/paper-progress.html b/third_party/polymer/v1_0/components-chromium/paper-progress/paper-progress.html
index 9db7102..6076a64 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-progress/paper-progress.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-progress/paper-progress.html
@@ -1,12 +1,13 @@
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
---><html><head><link rel="import" href="../paper-styles/paper-styles.html">
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+--><html><head><link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../paper-styles/paper-styles.html">
<link rel="import" href="../iron-range-behavior/iron-range-behavior.html">
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
@@ -26,7 +27,7 @@ Example:
<paper-progress value="10" secondary-progress="30"></paper-progress>
-Styling progress bar:
+### Styling progress bar:
To change the active progress bar color:
@@ -46,6 +47,15 @@ To change the progress bar background color:
--paper-progress-container-color: #64ffda;
}
+Add the class `transiting` to a paper-progress to animate the progress bar when
+the value changed. You can also customize the transition:
+
+ paper-progress {
+ --paper-progress-transition-duration: 0.08s;
+ --paper-progress-transition-timing-function: ease;
+ --paper-progress-transition-transition-delay: 0s;
+ }
+
@group Paper Elements
@element paper-progress
@hero hero.svg
@@ -60,6 +70,24 @@ To change the progress bar background color:
height: 4px;
}
+ :host(.transiting) #activeProgress,
+ :host(.transiting) #secondaryProgress {
+ -webkit-transition-property: -webkit-transform;
+ transition-property: transform;
+
+ /* Duration */
+ -webkit-transition-duration: var(--paper-progress-transition-duration, 0.08s);
+ transition-duration: var(--paper-progress-transition-duration, 0.08s);
+
+ /* Timing function */
+ -webkit-transition-timing-function: var(--paper-progress-transition-timing-function, ease);
+ transition-timing-function: var(--paper-progress-transition-timing-function, ease);
+
+ /* Delay */
+ -webkit-transition-delay: var(--paper-progress-transition-delay, 0s);
+ transition-delay: var(--paper-progress-transition-delay, 0s);
+ }
+
#progressContainer {
position: relative;
height: 100%;
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-button/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-radio-button/.bower.json
index 921a3c1..23a1612 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-button/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-button/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design radio button",
"authors": [
"The Polymer Authors"
@@ -32,13 +32,13 @@
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "adf0de18d7f0b20b6ee7e891b4f265427fe2e5ff"
+ "tag": "v1.0.5",
+ "commit": "05cd3c675d1e807362d2e72c83d3ae34c5d120a9"
},
"_source": "git://github.com/PolymerElements/paper-radio-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-radio-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-button/README.md b/third_party/polymer/v1_0/components-chromium/paper-radio-button/README.md
index f1bdf54..eee7af6 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-button/README.md
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-button/README.md
@@ -1,16 +1,16 @@
# paper-radio-button
`paper-radio-button` is a button that can be either checked or unchecked.
-User can tap the radio button to check it. But it cannot be unchecked by
-tapping once checked.
-
-Use `paper-radio-group` to group a set of radio buttons. When radio buttons
-are inside a radio group, only one radio button in the group can be checked.
+User can tap the radio button to check or uncheck it.
+Use a `<paper-radio-group>` to group a set of radio buttons. When radio buttons
+are inside a radio group, exactly one radio button in the group can be checked
+at any time.
Example:
```html
<paper-radio-button></paper-radio-button>
+<paper-radio-button>Item label</paper-radio-button>
```
Styling a radio button:
@@ -19,11 +19,14 @@ Styling a radio button:
:root {
/* Unchecked state colors. */
--paper-radio-button-unchecked-color: #5a5a5a;
+ --paper-radio-button-unchecked-background-color: #fff;
--paper-radio-button-unchecked-ink-color: #5a5a5a;
/* Checked state colors. */
--paper-radio-button-checked-color: #009688;
--paper-radio-button-checked-ink-color: #0f9d58;
+
+ --paper-radio-button-label-color: black;
}
</style>
```
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-button/bower.json b/third_party/polymer/v1_0/components-chromium/paper-radio-button/bower.json
index 4612f3d..b6a2bad 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-button/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-button/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design radio button",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.css b/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.css
index 682d8c5..852296e 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.css
@@ -33,6 +33,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
height: 48px;
color: var(--paper-radio-button-unchecked-ink-color, --primary-text-color);
opacity: 0.6;
+ pointer-events: none;
}
:host #ink[checked] {
@@ -47,6 +48,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
height: 12px;
border-radius: 50%;
border: solid 2px;
+ background-color: var(--paper-radio-button-unchecked-background-color, transparent);
border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
transition: border-color 0.28s;
}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.html b/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.html
index 030a143..e1d21a9 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-button/paper-radio-button.html
@@ -12,15 +12,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<!--
`paper-radio-button` is a button that can be either checked or unchecked.
-User can tap the radio button to check it. But it cannot be unchecked by
-tapping once checked.
+User can tap the radio button to check or uncheck it.
-Use `paper-radio-group` to group a set of radio buttons. When radio buttons
-are inside a radio group, only one radio button in the group can be checked.
+Use a `<paper-radio-group>` to group a set of radio buttons. When radio buttons
+are inside a radio group, exactly one radio button in the group can be checked
+at any time.
Example:
<paper-radio-button></paper-radio-button>
+ <paper-radio-button>Item label</paper-radio-button>
### Styling
@@ -28,6 +29,7 @@ The following custom properties and mixins are available for styling:
Custom property | Description | Default
----------------|-------------|----------
+`--paper-radio-button-unchecked-background-color` | Radio button background color when the input is not checked | `transparent`
`--paper-radio-button-unchecked-color` | Radio button color when the input is not checked | `--primary-text-color`
`--paper-radio-button-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--primary-text-color`
`--paper-radio-button-checked-color` | Radio button color when the input is checked | `--default-primary-color`
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-group/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-radio-group/.bower.json
index 327bd4a..5836e21 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-group/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-group/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-group",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "A group of material design radio buttons",
"authors": [
"The Polymer Authors"
@@ -33,13 +33,13 @@
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "8599c003cd2e914e688daed06170955433445c25"
+ "tag": "v1.0.4",
+ "commit": "18b94b1ef062d8583cf37c9ccfbb21f70e49ad78"
},
"_source": "git://github.com/PolymerElements/paper-radio-group.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-radio-group"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-group/README.md b/third_party/polymer/v1_0/components-chromium/paper-radio-group/README.md
index 0b02d58..e643ee7 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-group/README.md
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-group/README.md
@@ -10,9 +10,9 @@ Example:
```html
<paper-radio-group selected="small">
- <paper-radio-button name="small" label="Small"></paper-radio-button>
- <paper-radio-button name="medium" label="Medium"></paper-radio-button>
- <paper-radio-button name="large" label="Large"></paper-radio-button>
+ <paper-radio-button name="small">Small</paper-radio-button>
+ <paper-radio-button name="medium">Medium</paper-radio-button>
+ <paper-radio-button name="large">Large</paper-radio-button>
</paper-radio-group>
```
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-group/bower.json b/third_party/polymer/v1_0/components-chromium/paper-radio-group/bower.json
index 10e1eeb..58fc5e2 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-group/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-group/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-group",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "A group of material design radio buttons",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group-extracted.js
index 115b8d9..6c13939 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group-extracted.js
@@ -27,6 +27,14 @@
selectedAttribute: {
type: String,
value: 'checked'
+ },
+
+ /**
+ * Overriden from Polymer.IronSelectableBehavior
+ */
+ selectable: {
+ type: String,
+ value: 'paper-radio-button'
}
},
@@ -73,7 +81,7 @@
/**
* Selects the next item. If the next item is disabled, then it is
- * skipped, and its nexy item is selected
+ * skipped, and the next item after it is selected.
*/
selectNext: function() {
var length = this.items.length;
diff --git a/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group.html b/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group.html
index 5b8ef2e..354527a 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-radio-group/paper-radio-group.html
@@ -20,9 +20,9 @@ previously checked radio button within the same group. Use
Example:
<paper-radio-group selected="small">
- <paper-radio-button name="small" label="Small"></paper-radio-button>
- <paper-radio-button name="medium" label="Medium"></paper-radio-button>
- <paper-radio-button name="large" label="Large"></paper-radio-button>
+ <paper-radio-button name="small">Small</paper-radio-button>
+ <paper-radio-button name="medium">Medium</paper-radio-button>
+ <paper-radio-button name="large">Large</paper-radio-button>
</paper-radio-group>
See <a href="paper-radio-button.html">paper-radio-button</a> for more
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.bower.json
deleted file mode 100644
index 18736ee..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.bower.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "paper-scroll-header-panel",
- "description": "A header bar with scrolling behavior",
- "version": "1.0.2",
- "license": "http://polymer.github.io/LICENSE.txt",
- "private": true,
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "layout",
- "responsive"
- ],
- "main": [
- "paper-scroll-header-panel.html"
- ],
- "repository": {
- "type": "git",
- "url": "git@github.com:PolymerElements/paper-scroll-header-panel.git"
- },
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/paper-scroll-header-panel",
- "_release": "1.0.2",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.2",
- "commit": "99768fba06e038ffdeeb2b229515f9af7b4b1575"
- },
- "_source": "git://github.com/PolymerElements/paper-scroll-header-panel.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/paper-scroll-header-panel"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.gitignore b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/README.md b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/README.md
deleted file mode 100644
index 78f6376..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-paper-scroll-header-panel
-========================
-
-`paper-scroll-header-panel` contains a header section and a content section. The header is initially on the top part of the view but it scrolls away with the rest of the scrollable content. Upon scrolling slightly up at any point, the header scrolls back into view. This saves screen space and allows users to access important controls by easily moving them back to the view.
-
-Important: The `paper-scroll-header-panel` will not display if its parent does not have a height. Using layout classes, you can easily make the `paper-scroll-header-panel` fill the screen
-
-```html
-<body class="fullbleed layout vertical">
- <paper-scroll-header-panel class="flex">
- <paper-toolbar>
- Hello World!
- </paper-toolbar>
- </paper-scroll-header-panel>
-</body>
-```
-or, if you would prefer to do it in CSS, just give html, body, and `paper-scroll-header-panel` a height of 100%:
-```css
-html, body {
- height: 100%;
- margin: 0;
-}
-paper-scroll-header-panel {
- height: 100%;
-}
-```
-`paper-scroll-header-panel` works well with `paper-toolbar` but can use any element that represents a header by adding a `paper-header` class to it.
-
-```html
-<paper-scroll-header-panel>
- <paper-toolbar>Header</paper-toolbar>
- <div>Content goes here...</div>
-</paper-scroll-header-panel>
-```
-
-### Styling scroll-header-panel:
-
-To change background for toolbar when it is at its full size:
-
-```css
-paper-scroll-header-panel {
- --paper-scroll-header-panel-full-header: {
- background-color: red;
- };
-}
-```
-
-To change the background for toolbar when it is condensed:
-
-```css
-paper-scroll-header-panel {
- --paper-scroll-header-panel-condensed-header: {
- background-color: #f4b400;
- };
-}
-```
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/bower.json b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/bower.json
deleted file mode 100644
index 8075eae..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "paper-scroll-header-panel",
- "description": "A header bar with scrolling behavior",
- "version": "1.0.2",
- "license": "http://polymer.github.io/LICENSE.txt",
- "private": true,
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "layout",
- "responsive"
- ],
- "main": [
- "paper-scroll-header-panel.html"
- ],
- "repository": {
- "type": "git",
- "url": "git@github.com:PolymerElements/paper-scroll-header-panel.git"
- },
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/hero.svg b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/hero.svg
deleted file mode 100644
index c130c84..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/hero.svg
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <circle cx="170.6" cy="28.5" r="4"/>
- <circle cx="170.6" cy="58.5" r="4"/>
- <rect x="170" y="29" width="2" height="30"/>
- <path d="M163,102H73V24h90V102z M75,100h86V26H75V100z"/>
- <rect x="74" y="62" width="88" height="2"/>
- <g id="ic_x5F_add_x0D_">
- </g>
- <g>
- <polygon points="74,59.6 74,62.5 74.5,63 77.4,63 "/>
- <polygon points="74,51.9 74,54.7 82.3,63 85.1,63 "/>
- <polygon points="74,44.1 74,46.9 90.1,63 92.9,63 "/>
- <polygon points="74,36.3 74,39.2 97.8,63 100.7,63 "/>
- <polygon points="74,28.6 74,31.4 105.6,63 108.4,63 "/>
- <polygon points="78.2,25 75.4,25 113.4,63 116.2,63 "/>
- <polygon points="86,25 83.1,25 121.1,63 124,63 "/>
- <polygon points="93.7,25 90.9,25 128.9,63 131.7,63 "/>
- <polygon points="101.5,25 98.7,25 136.7,63 139.5,63 "/>
- <polygon points="109.2,25 106.4,25 144.4,63 147.2,63 "/>
- <polygon points="117,25 114.2,25 152.2,63 155,63 "/>
- <polygon points="124.8,25 122,25 160,63 162,63 162,62.2 "/>
- <polygon points="132.5,25 129.7,25 162,57.3 162,54.5 "/>
- <polygon points="140.3,25 137.5,25 162,49.5 162,46.7 "/>
- <polygon points="148.1,25 145.2,25 162,41.8 162,38.9 "/>
- <polygon points="155.8,25 153,25 162,34 162,31.2 "/>
- <polygon points="162,26.2 162,25 160.8,25 "/>
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/index.html b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/index.html
deleted file mode 100644
index e2e7712..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <title>paper-scroll-header-panel</title>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel-extracted.js
deleted file mode 100644
index 9178d3b..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel-extracted.js
+++ /dev/null
@@ -1,303 +0,0 @@
-
-(function() {
-
- 'use strict';
-
- Polymer({
-
- /**
- * Fired when the content has been scrolled.
- *
- * @event content-scroll
- */
-
- /**
- * Fired when the header is transformed.
- *
- * @event paper-header-transform
- */
-
- is: 'paper-scroll-header-panel',
-
- behaviors: [
- Polymer.IronResizableBehavior
- ],
-
- properties: {
-
- /**
- * If true, the header's height will condense to `_condensedHeaderHeight`
- * as the user scrolls down from the top of the content area.
- */
- condenses: {
- type: Boolean,
- value: false,
- observer: '_condensesChanged'
- },
-
- /**
- * If true, no cross-fade transition from one background to another.
- */
- noDissolve: {
- type: Boolean,
- value: false
- },
-
- /**
- * If true, the header doesn't slide back in when scrolling back up.
- */
- noReveal: {
- type: Boolean,
- value: false
- },
-
- /**
- * If true, the header is fixed to the top and never moves away.
- */
- fixed: {
- type: Boolean,
- value: false
- },
-
- /**
- * If true, the condensed header is always shown and does not move away.
- */
- keepCondensedHeader: {
- type: Boolean,
- value: false
- },
-
- /**
- * The height of the header when it is at its full size.
- *
- * By default, the height will be measured when it is ready. If the height
- * changes later the user needs to either set this value to reflect the
- * new height or invoke `measureHeaderHeight()`.
- */
- headerHeight: {
- type: Number,
- value: 0
- },
-
- /**
- * The height of the header when it is condensed.
- *
- * By default, `_condensedHeaderHeight` is 1/3 of `headerHeight` unless
- * this is specified.
- */
- condensedHeaderHeight: {
- type: Number,
- value: 0
- },
-
- /**
- * By default, the top part of the header stays when the header is being
- * condensed. Set this to true if you want the top part of the header
- * to be scrolled away.
- */
- scrollAwayTopbar: {
- type: Boolean,
- value: false
- },
-
- _headerMargin: {
- type: Number
- },
-
- _prevScrollTop: {
- type: Number
- },
-
- _y: {
- type: Number
- }
-
- },
-
- observers: [
- '_setup(_headerMargin, headerHeight, fixed)',
- '_headerHeightChanged(headerHeight, condensedHeaderHeight)',
- '_condensedHeaderHeightChanged(headerHeight, condensedHeaderHeight)'
- ],
-
- listeners: {
- 'iron-resize': 'measureHeaderHeight'
- },
-
- ready: function() {
- this.async(this.measureHeaderHeight, 5);
- this._scrollHandler = this._scroll.bind(this);
- this.scroller.addEventListener('scroll', this._scrollHandler);
- },
-
- detached: function() {
- this.scroller.removeEventListener('scroll', this._scrollHandler);
- },
-
- /**
- * Returns the header element.
- *
- * @property header
- * @type Object
- */
- get header() {
- return Polymer.dom(this.$.headerContent).getDistributedNodes()[0];
- },
-
- /**
- * Returns the content element.
- *
- * @property content
- * @type Object
- */
- get content() {
- return Polymer.dom(this.$.mainContent).getDistributedNodes()[0];
- },
-
- /**
- * Returns the scrollable element.
- *
- * @property scroller
- * @type Object
- */
- get scroller() {
- return this.$.mainContainer;
- },
-
- /**
- * Invoke this to tell `paper-scroll-header-panel` to re-measure the header's
- * height.
- *
- * @method measureHeaderHeight
- */
- measureHeaderHeight: function() {
- var header = this.header;
- if (header && header.offsetHeight) {
- this.headerHeight = header.offsetHeight;
- }
- },
-
- _headerHeightChanged: function() {
- if (!this.condensedHeaderHeight) {
- // assume condensedHeaderHeight is 1/3 of the headerHeight
- this.condensedHeaderHeight = this.headerHeight * 1 / 3;
- }
- },
-
- _condensedHeaderHeightChanged: function() {
- if (this.headerHeight) {
- this._headerMargin = this.headerHeight - this.condensedHeaderHeight;
- }
- },
-
- _condensesChanged: function() {
- if (this.condenses) {
- this._scroll();
- } else {
- // reset transform/opacity set on the header
- this._condenseHeader(null);
- }
- },
-
- _setup: function() {
- var s = this.scroller.style;
- s.paddingTop = this.fixed ? '' : this.headerHeight + 'px';
-
- s.top = this.fixed ? this.headerHeight + 'px' : '';
-
- if (this.fixed) {
- this._transformHeader(null);
- } else {
- this._scroll();
- }
- },
-
- _transformHeader: function(y) {
- var s = this.$.headerContainer.style;
- this._translateY(s, -y);
-
- if (this.condenses) {
- this._condenseHeader(y);
- }
-
- this.fire('paper-header-transform', {y: y, height: this.headerHeight,
- condensedHeight: this.condensedHeaderHeight});
- },
-
- _condenseHeader: function(y) {
- var reset = (y === null);
-
- // adjust top bar in paper-header so the top bar stays at the top
- if (!this.scrollAwayTopbar && this.header.$ && this.header.$.topBar) {
- this._translateY(this.header.$.topBar.style,
- reset ? null : Math.min(y, this._headerMargin));
- }
- // transition header bg
- var hbg = this.$.headerBg.style;
- if (!this.noDissolve) {
- hbg.opacity = reset ? '' : (this._headerMargin - y) / this._headerMargin;
- }
- // adjust header bg so it stays at the center
- this._translateY(hbg, reset ? null : y / 2);
- // transition condensed header bg
- if (!this.noDissolve) {
- var chbg = this.$.condensedHeaderBg.style;
- chbg = this.$.condensedHeaderBg.style;
- chbg.opacity = reset ? '' : y / this._headerMargin;
-
- // adjust condensed header bg so it stays at the center
- this._translateY(chbg, reset ? null : y / 2);
- }
- },
-
- _translateY: function(s, y) {
- var t = (y === null) ? '' : 'translate3d(0, ' + y + 'px, 0)';
- setTransform(s, t);
- },
-
- /** @param {Event=} event */
- _scroll: function(event) {
- if (!this.header) {
- return;
- }
-
- var sTop = this.scroller.scrollTop;
-
- this._y = this._y || 0;
- this._prevScrollTop = this._prevScrollTop || 0;
-
- var y = Math.min(this.keepCondensedHeader ?
- this._headerMargin : this.headerHeight, Math.max(0,
- (this.noReveal ? sTop : this._y + sTop - this._prevScrollTop)));
-
- if (this.condenses && this._prevScrollTop >= sTop && sTop > this._headerMargin) {
- y = Math.max(y, this._headerMargin);
- }
-
- if (!event || !this.fixed && y !== this._y) {
- this._transformHeader(y);
- }
-
- this._prevScrollTop = Math.max(sTop, 0);
- this._y = y;
-
- if (event) {
- this.fire('content-scroll', {target: this.scroller}, {cancelable: false});
- }
- }
-
- });
-
- //determine proper transform mechanizm
- if (document.documentElement.style.transform !== undefined) {
- var setTransform = function(style, string) {
- style.transform = string;
- }
- } else {
- var setTransform = function(style, string) {
- style.webkitTransform = string;
- }
- }
-
-})();
-
diff --git a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel.html b/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel.html
deleted file mode 100644
index 5bbb33db..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-scroll-header-panel/paper-scroll-header-panel.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-resizable-behavior/iron-resizable-behavior.html">
-
-<!--
-`paper-scroll-header-panel` contains a header section and a content section. The
-header is initially on the top part of the view but it scrolls away with the
-rest of the scrollable content. Upon scrolling slightly up at any point, the
-header scrolls back into view. This saves screen space and allows users to
-access important controls by easily moving them back to the view.
-
-__Important:__ The `paper-scroll-header-panel` will not display if its parent does not have a height.
-
-Using [layout attributes](http://www.polymer-project.org/docs/polymer/layout-attrs.html), you can easily make the `paper-scroll-header-panel` fill the screen
-
- <body class="fullbleed layout vertical">
- <paper-scroll-header-panel class="flex">
- <paper-toolbar>
- <div>Hello World!</div>
- </paper-toolbar>
- </paper-scroll-header-panel>
- </body>
-
-or, if you would prefer to do it in CSS, just give `html`, `body`, and `paper-scroll-header-panel` a height of 100%:
-
- html, body {
- height: 100%;
- margin: 0;
- }
- paper-scroll-header-panel {
- height: 100%;
- }
-
-`paper-scroll-header-panel` works well with `paper-toolbar` but can use any element
-that represents a header by adding a `paper-header` class to it.
-
- <paper-scroll-header-panel>
- <paper-toolbar>Header</paper-toolbar>
- <div>Content goes here...</div>
- </paper-scroll-header-panel>
-
-Styling scroll-header-panel:
-
- To change background for toolbar when it is at its full size:
-
- paper-scroll-header-panel {
- --paper-scroll-header-panel-full-header: {
- background-color: red;
- };
- }
-
- To change the background for toolbar when it is condensed:
-
- paper-scroll-header-panel {
- --paper-scroll-header-panel-condensed-header: {
- background-color: #f4b400;
- };
- }
-
-@group Paper Element
-@element paper-scrollheader-panel
-@demo demo/index.html
-@hero hero.svg
--->
-
-</head><body><dom-module id="paper-scroll-header-panel">
-
- <style>
- :host {
- display: block;
- position: relative;
- overflow: hidden;
- }
-
- #mainContainer {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-overflow-scrolling: touch;
- overflow-x: hidden;
- overflow-_y: auto;
- -webkit-transform: translateZ(0);
- transform: translateZ(0);
- }
-
- #headerContainer {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- }
-
- .bg-container {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- overflow: hidden;
- }
-
- #headerBg {
- @apply(--paper-scroll-header-panel-full-header);
- }
-
- #condensedHeaderBg {
- @apply(--paper-scroll-header-panel-condensed-header);
- }
-
- #headerBg, #condensedHeaderBg {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background-repeat: no-repeat;
- background-size: cover;
- background-position: center center;
- }
-
- #condensedHeaderBg {
- opacity: 0;
- }
- </style>
- <template>
- <div id="mainContainer">
- <content id="mainContent" select=":not(paper-toolbar):not(.paper-header)"></content>
- </div>
- <div id="headerContainer">
- <div class="bg-container">
- <div id="condensedHeaderBg"></div>
- <div id="headerBg"></div>
- </div>
- <content id="headerContent" select="paper-toolbar, .paper-header"></content>
- </div>
- </template>
-</dom-module>
-
-<script src="paper-scroll-header-panel-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-slider/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-slider/.bower.json
index 99e51fb..f08698e 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-slider/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-slider/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-slider",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design-style slider",
"license": "http://polymer.github.io/LICENSE.txt",
"authors": "The Polymer Authors",
@@ -37,13 +37,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-slider",
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "88ca34f8b87059a2cb187a4a42f5105756a30eff"
+ "tag": "v1.0.3",
+ "commit": "d2b1542b6f02595fa124359945a4cc00cb0fca44"
},
"_source": "git://github.com/PolymerElements/paper-slider.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-slider"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-slider/README.md b/third_party/polymer/v1_0/components-chromium/paper-slider/README.md
index fd00cd2..bfd50b5 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-slider/README.md
+++ b/third_party/polymer/v1_0/components-chromium/paper-slider/README.md
@@ -19,51 +19,31 @@ Use `min` and `max` to specify the slider range. Default is `0` to `100`. For ex
### Styling slider
-To change the slider progress bar color:
-```css
-paper-slider {
- --paper-slider-active-color: #0f9d58;
-}
-```
+The following custom properties and mixins are available for styling:
+
+Custom property | Description | Default
+----------------|-------------|----------
+`--paper-slider-bar-color` | The background color of the slider | `transparent`
+`--paper-slider-active-color` | The progress bar color | `--google-blue-700`
+`--paper-slider-secondary-color` | The secondary progress bar color | `--google-blue-300`
+`--paper-slider-knob-color` | The knob color | `--google-blue-700`
+`--paper-slider-disabled-knob-color` | The disabled knob color | `--google-grey-500`
+`--paper-slider-pin-color` | The pin color | `--google-blue-700`
+`--paper-slider-font-color` | The pin's text color | `#fff`
+`--paper-slider-disabled-active-color` | The disabled progress bar color | `--google-grey-500`
+`--paper-slider-disabled-secondary-color` | The disabled secondary progress bar color | `--google-grey-300`
-To change the slider knob color:
-```css
-paper-slider {
- --paper-slider-knob-color: #0f9d58;
-}
-```
+Example:
-To change the slider pin color:
-```css
-paper-slider {
- --paper-slider-pin-color: #0f9d58;
-}
```
-
-To change the slider pin's font color:
-```css
-paper-slider {
- --paper-slider-pin-font-color: #0f9d58;
-}
-```
-
-To change the slider secondary progress bar color:
-```css
paper-slider {
+ --paper-slider-bar-color: #fff;
+ --paper-slider-active-color: #0f9d58;
+ --paper-slider-knob-color: #0f9d58;
+ --paper-slider-pin-color: #0f9d58;
+ --paper-slider-font-color: #0f9d58;
--paper-slider-secondary-color: #0f9d58;
-}
-```
-
-To change the slider disabled active color:
-```css
-paper-slider {
--paper-slider-disabled-active-color: #ccc;
-}
-```
-
-To change the slider disabled secondary progress bar color:
-```css
-paper-slider {
--paper-slider-disabled-secondary-color: #ccc;
}
-``` \ No newline at end of file
+```
diff --git a/third_party/polymer/v1_0/components-chromium/paper-slider/bower.json b/third_party/polymer/v1_0/components-chromium/paper-slider/bower.json
index 127b9ac..ac19915 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-slider/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-slider/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-slider",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design-style slider",
"license": "http://polymer.github.io/LICENSE.txt",
"authors": "The Polymer Authors",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider-extracted.js
index b50d22f..bf973c7 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider-extracted.js
@@ -1,36 +1,17 @@
- /**
- * Fired when the slider's value changes.
- *
- * @event value-change
- */
-
- /**
- * Fired when the slider's immediateValue changes.
- *
- * @event immediate-value-change
- */
-
- /**
- * Fired when the slider's value changes due to user interaction.
- *
- * Changes to the slider's value due to changes in an underlying
- * bound variable will not trigger this event.
- *
- * @event change
- */
Polymer({
is: 'paper-slider',
behaviors: [
- Polymer.IronRangeBehavior,
Polymer.IronA11yKeysBehavior,
+ Polymer.PaperInkyFocusBehavior,
Polymer.IronFormElementBehavior,
- Polymer.PaperInkyFocusBehavior
+ Polymer.IronRangeBehavior
],
properties: {
+
/**
* If true, the slider thumb snaps to tick marks evenly spaced based
* on the `step` property value.
@@ -141,7 +122,6 @@
ready: function() {
// issue polymer/polymer#1305
-
this.async(function() {
this._updateKnob(this.value);
this._updateInputValue();
@@ -201,14 +181,12 @@
},
_expandKnob: function() {
- this.$.ink.holdDown = false;
this._setExpand(true);
},
_resetKnob: function() {
this.cancelDebouncer('expandKnob');
this._setExpand(false);
- this.$.ink.hidden = true;
},
_positionKnob: function(ratio) {
@@ -292,10 +270,6 @@
},
_bardown: function(event) {
- this.$.ink.hidden = true;
-
- event.preventDefault();
-
this._w = this.$.sliderBar.offsetWidth;
var rect = this.$.sliderBar.getBoundingClientRect();
var ratio = (event.detail.x - rect.left) / this._w;
@@ -373,4 +347,26 @@
}
this.fire('change');
}
- })
+ });
+
+ /**
+ * Fired when the slider's value changes.
+ *
+ * @event value-change
+ */
+
+ /**
+ * Fired when the slider's immediateValue changes.
+ *
+ * @event immediate-value-change
+ */
+
+ /**
+ * Fired when the slider's value changes due to user interaction.
+ *
+ * Changes to the slider's value due to changes in an underlying
+ * bound variable will not trigger this event.
+ *
+ * @event change
+ */
+
diff --git a/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.css b/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.css
index 0fd8682..af769f4 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.css
@@ -1,11 +1,11 @@
/**
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/
:host {
@@ -83,6 +83,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
width: 100%;
padding: 8px 0;
margin: -8px 0;
+ background-color: var(--paper-slider-bar-color, transparent);
}
.ring #sliderBar {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.html b/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.html
index 5761025..e444196 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-slider/paper-slider.html
@@ -1,11 +1,11 @@
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--><html><head><link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../paper-styles/paper-styles.html">
<link rel="import" href="../paper-progress/paper-progress.html">
@@ -13,6 +13,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="../paper-behaviors/paper-inky-focus-behavior.html">
<link rel="import" href="../paper-ripple/paper-ripple.html">
<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html">
+<link rel="import" href="../iron-range-behavior/iron-range-behavior.html">
<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
<!--
@@ -31,49 +32,21 @@ Example:
<paper-slider min="10" max="200" value="110"></paper-slider>
-Styling slider:
+### Styling
-To change the slider progress bar color:
+The following custom properties and mixins are available for styling:
- paper-slider {
- --paper-slider-active-color: #0f9d58;
- }
-
-To change the slider knob color:
-
- paper-slider {
- --paper-slider-knob-color: #0f9d58;
- }
-
-To change the slider pin color:
-
- paper-slider {
- --paper-slider-pin-color: #0f9d58;
- }
-
-To change the slider pin's font color:
-
- paper-slider {
- --paper-slider-pin-font-color: #0f9d58;
- }
-
-To change the slider secondary progress bar color:
-
- paper-slider {
- --paper-slider-secondary-color: #0f9d58;
- }
-
-To change the slider disabled active color:
-
- paper-slider {
- --paper-slider-disabled-active-color: #ccc;
- }
-
-To change the slider disabled secondary progress bar color:
-
- paper-slider {
- --paper-slider-disabled-secondary-color: #ccc;
- }
+Custom property | Description | Default
+----------------|-------------|----------
+`--paper-slider-bar-color` | The background color of the slider | `transparent`
+`--paper-slider-active-color` | The progress bar color | `--google-blue-700`
+`--paper-slider-secondary-color` | The secondary progress bar color | `--google-blue-300`
+`--paper-slider-knob-color` | The knob color | `--google-blue-700`
+`--paper-slider-disabled-knob-color` | The disabled knob color | `--google-grey-500`
+`--paper-slider-pin-color` | The pin color | `--google-blue-700`
+`--paper-slider-font-color` | The pin's text color | `#fff`
+`--paper-slider-disabled-active-color` | The disabled progress bar color | `--google-grey-500`
+`--paper-slider-disabled-secondary-color` | The disabled secondary progress bar color | `--google-grey-300`
@group Paper Elements
@element paper-slider
@@ -102,7 +75,7 @@ To change the slider disabled secondary progress bar color:
</template>
<div id="sliderKnob" class="center-justified center horizontal layout" on-down="_knobdown" on-up="_resetKnob" on-track="_onTrack" on-transitionend="_knobTransitionEnd">
- <paper-ripple id="ink" class="circle" center=""></paper-ripple>
+ <paper-ripple id="ink" class="circle" center="" hidden$="[[!receivedFocusFromKeyboard]]"></paper-ripple>
<div id="sliderKnobInner" value$="[[immediateValue]]"></div>
</div>
</div>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-spinner/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-spinner/.bower.json
index 1787b05..b8fd0a6 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-spinner/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-spinner/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-spinner",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material design spinner",
"authors": [
"The Polymer Authors"
@@ -30,13 +30,13 @@
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "5e2b7412922259c9eed1805d69abb18e433efaad"
+ "tag": "v1.0.2",
+ "commit": "18bda194750ace719102d54c17ae1c6ce4a6793e"
},
"_source": "git://github.com/PolymerElements/paper-spinner.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-spinner"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-spinner/bower.json b/third_party/polymer/v1_0/components-chromium/paper-spinner/bower.json
index d27e049..a8c31cf 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-spinner/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-spinner/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-spinner",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material design spinner",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner-extracted.js
index 4122215..2cdc573 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner-extracted.js
@@ -1,121 +1,99 @@
- (function() {
-
- 'use strict';
-
- function classNames(obj) {
- var classNames = [];
- for (var key in obj) {
- if (obj.hasOwnProperty(key) && obj[key]) {
- classNames.push(key);
- }
- }
-
- return classNames.join(' ');
- }
-
- Polymer({
-
- is: 'paper-spinner',
-
- listeners: {
- 'animationend': 'reset',
- 'webkitAnimationEnd': 'reset'
+ Polymer({
+
+ is: 'paper-spinner',
+
+ listeners: {
+ 'animationend': 'reset',
+ 'webkitAnimationEnd': 'reset'
+ },
+
+ properties: {
+
+ /**
+ * Displays the spinner.
+ *
+ * @attribute active
+ * @type boolean
+ * @default false
+ */
+ active: {
+ type: Boolean,
+ value: false,
+ reflectToAttribute: true,
+ observer: '_activeChanged'
},
- properties: {
-
- /**
- * Displays the spinner.
- *
- * @attribute active
- * @type boolean
- * @default false
- */
- active: {
- observer: '_activeChanged',
- type: Boolean,
- value: false
- },
-
- /**
- * Alternative text content for accessibility support.
- * If alt is present, it will add an aria-label whose content matches alt when active.
- * If alt is not present, it will default to 'loading' as the alt value.
- *
- * @attribute alt
- * @type string
- * @default 'loading'
- */
- alt: {
- observer: '_altChanged',
- type: String,
- value: 'loading'
- },
-
- /**
- * True when the spinner is going from active to inactive. This is represented by a fade
- * to 0% opacity to the user.
- */
- _coolingDown: {
- type: Boolean,
- value: false
- },
-
- _spinnerContainerClassName: {
- type: String,
- computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
- }
-
+ /**
+ * Alternative text content for accessibility support.
+ * If alt is present, it will add an aria-label whose content matches alt when active.
+ * If alt is not present, it will default to 'loading' as the alt value.
+ *
+ * @attribute alt
+ * @type string
+ * @default 'loading'
+ */
+ alt: {
+ type: String,
+ value: 'loading',
+ observer: '_altChanged'
},
- _computeSpinnerContainerClassName: function(active, _coolingDown) {
- return classNames({
- active: active || _coolingDown,
- cooldown: _coolingDown
- });
+ /**
+ * True when the spinner is going from active to inactive. This is represented by a fade
+ * to 0% opacity to the user.
+ */
+ _coolingDown: {
+ type: Boolean,
+ value: false
},
- ready: function() {
- // Allow user-provided `aria-label` take preference to any other text alternative.
- if (this.hasAttribute('aria-label')) {
- this.alt = this.getAttribute('aria-label');
- } else {
- this.setAttribute('aria-label', this.alt);
- }
-
- if (!this.active) {
- this.setAttribute('aria-hidden', 'true');
- }
- },
-
- _activeChanged: function() {
- if (this.active) {
- this.removeAttribute('aria-hidden');
- } else {
- this._coolingDown = true;
- this.setAttribute('aria-hidden', 'true');
- }
- },
+ _spinnerContainerClassName: {
+ type: String,
+ computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
+ }
- _altChanged: function() {
- if (this.alt === '') {
- this.setAttribute('aria-hidden', 'true');
- } else {
- this.removeAttribute('aria-hidden');
- }
+ },
- this.setAttribute('aria-label', this.alt);
- },
+ _computeSpinnerContainerClassName: function(active, coolingDown) {
+ return [
+ active || coolingDown ? 'active' : '',
+ coolingDown ? 'cooldown' : ''
+ ].join(' ');
+ },
- reset: function() {
- this.active = false;
- this._coolingDown = false;
+ _activeChanged: function(active, old) {
+ this._setAriaHidden(!active);
+ if (!active && old) {
+ this._coolingDown = true;
+ }
+ },
+
+ _altChanged: function(alt) {
+ // user-provided `aria-label` takes precedence over prototype default
+ if (alt === this.getPropertyInfo('alt').value) {
+ this.alt = this.getAttribute('aria-label') || alt;
+ } else {
+ this._setAriaHidden(alt==='');
+ this.setAttribute('aria-label', alt);
}
+ },
+
+ _setAriaHidden: function(hidden) {
+ var attr = 'aria-hidden';
+ if (hidden) {
+ this.setAttribute(attr, 'true');
+ } else {
+ this.removeAttribute(attr);
+ }
+ },
- });
+ reset: function() {
+ this.active = false;
+ this._coolingDown = false;
+ }
- }());
+ });
\ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner.css b/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner.css
index 30c4e7e..d295c3f 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-spinner/paper-spinner.css
@@ -26,7 +26,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
* SHRINK_TIME = 400ms
*/
- :host {
+:host {
display: inline-block;
position: relative;
width: 28px; /* CONTAINERWIDTH */
@@ -36,6 +36,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
#spinnerContainer {
width: 100%;
height: 100%;
+
+ /* The spinner does not have any contents that would have to be
+ * flipped if the direction changes. Always use ltr so that the
+ * style works out correctly in both cases. */
+ direction: ltr;
}
#spinnerContainer.active {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-styles/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-styles/.bower.json
index 8de16cb..7765e26 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-styles/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-styles/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-styles",
- "version": "1.0.4",
+ "version": "1.0.10",
"description": "Common (global) styles for Material Design elements.",
"authors": [
"The Polymer Authors"
@@ -10,25 +10,29 @@
"polymer",
"style"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-styles.git"
+ },
"main": "paper-styles.html",
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/polymerelements/paper-styles/",
"ignore": [
- "/.*",
- "/demo/"
+ "/.*"
],
"dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
+ "font-roboto": "PolymerElements/font-roboto#^1.0.1",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.4",
+ "_release": "1.0.10",
"_resolution": {
"type": "version",
- "tag": "v1.0.4",
- "commit": "d23af125cb74978532c25e5cd152f9b2e6d991c8"
+ "tag": "v1.0.10",
+ "commit": "f1a79cd7916f7870a59918911062007bbc07867e"
},
"_source": "git://github.com/PolymerElements/paper-styles.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-styles/bower.json b/third_party/polymer/v1_0/components-chromium/paper-styles/bower.json
index 930947d..4f7e0ed 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-styles/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-styles/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-styles",
- "version": "1.0.4",
+ "version": "1.0.10",
"description": "Common (global) styles for Material Design elements.",
"authors": [
"The Polymer Authors"
@@ -10,15 +10,19 @@
"polymer",
"style"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-styles.git"
+ },
"main": "paper-styles.html",
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/polymerelements/paper-styles/",
"ignore": [
- "/.*",
- "/demo/"
+ "/.*"
],
"dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
+ "font-roboto": "PolymerElements/font-roboto#^1.0.1",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-styles/classes/shadow.html b/third_party/polymer/v1_0/components-chromium/paper-styles/classes/shadow.html
index b4c340d..4c40a14 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-styles/classes/shadow.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-styles/classes/shadow.html
@@ -13,27 +13,40 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
-.shadow-elevation-1 {
- box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
+.shadow-elevation-2dp {
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 5px 0 rgba(0, 0, 0, 0.12),
+ 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}
-.shadow-elevation-2 {
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2),
- 0 6px 10px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-3dp {
+ box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 8px 0 rgba(0, 0, 0, 0.12),
+ 0 3px 3px -2px rgba(0, 0, 0, 0.4);
}
-.shadow-elevation-3 {
- box-shadow: 0 11px 7px 0 rgba(0, 0, 0, 0.19),
- 0 13px 25px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-4dp {
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 10px 0 rgba(0, 0, 0, 0.12),
+ 0 2px 4px -1px rgba(0, 0, 0, 0.4);
}
-.shadow-elevation-4 {
- box-shadow: 0 14px 12px 0 rgba(0, 0, 0, 0.17),
- 0 20px 40px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-6dp {
+ box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 18px 0 rgba(0, 0, 0, 0.12),
+ 0 3px 5px -1px rgba(0, 0, 0, 0.4);
}
-.shadow-elevation-5 {
- box-shadow: 0 17px 17px 0 rgba(0, 0, 0, 0.15),
- 0 27px 55px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-8dp {
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14),
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12),
+ 0 5px 5px -3px rgba(0, 0, 0, 0.4);
}
+
+.shadow-elevation-16dp {
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14),
+ 0 6px 30px 5px rgba(0, 0, 0, 0.12),
+ 0 8px 10px -5px rgba(0, 0, 0, 0.4);
+}
+
</style>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-styles/classes/typography.html b/third_party/polymer/v1_0/components-chromium/paper-styles/classes/typography.html
index 5514abb..14e2744 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-styles/classes/typography.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-styles/classes/typography.html
@@ -7,9 +7,7 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
-<!-- TODO(nevir): Should we upgrade Polymer/font-roboto to the final font? -->
-<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
-<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Inconsolata:400,700">
+<link rel="import" href="../../font-roboto/roboto.html">
<!--
Typographic styles are provided matching the Material Design standard styles:
@@ -44,7 +42,7 @@ Design typography section.
.paper-font-code2,
.paper-font-code1 {
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased; /* OS X subpixel AA bleed bug */
}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-styles/shadow.html b/third_party/polymer/v1_0/components-chromium/paper-styles/shadow.html
index 7339d8e..dfb7e8a 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-styles/shadow.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-styles/shadow.html
@@ -18,6 +18,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
};
+ --shadow-none: {
+ box-shadow: none;
+ };
+
/* from http://codepen.io/shyndman/pen/c5394ddf2e8b2a5c9185904b57421cdb */
--shadow-elevation-2dp: {
diff --git a/third_party/polymer/v1_0/components-chromium/paper-styles/typography.html b/third_party/polymer/v1_0/components-chromium/paper-styles/typography.html
index a37cd34..ce78602 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-styles/typography.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-styles/typography.html
@@ -7,10 +7,9 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
-<!-- TODO(nevir): Should we upgrade Polymer/font-roboto to the final font? -->
-<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../font-roboto/roboto.html">
<style is="custom-style">
@@ -19,16 +18,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/* Shared Styles */
/*
- Unfortunately, we can't make use of these yet - sibling properties aren't
- evaluated. See https://github.com/Polymer/polymer/issues/1399
-
+ Unfortunately, we can't use nested rules
+ See https://github.com/Polymer/polymer/issues/1399
+ */
--paper-font-common-base: {
font-family: 'Roboto', 'Noto', sans-serif;
-webkit-font-smoothing: antialiased;
};
--paper-font-common-code: {
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased;
};
@@ -41,7 +40,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
overflow: hidden;
text-overflow: ellipsis;
};
- */
/* Material Font Styles */
@@ -217,7 +215,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
--paper-font-code2: {
/* @apply(--paper-font-common-code); */
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased;
font-size: 14px;
@@ -227,7 +225,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
--paper-font-code1: {
/* @apply(--paper-font-common-code); */
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased;
font-size: 14px;
diff --git a/third_party/polymer/v1_0/components-chromium/paper-tabs/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-tabs/.bower.json
index 0b9b4e2..e66eb61 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-tabs/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-tabs/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-tabs",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Material design tabs",
"private": true,
@@ -14,7 +14,10 @@
"tabs",
"control"
],
- "repository": "https://github.com/PolymerElements/paper-tabs.git",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-tabs.git"
+ },
"dependencies": {
"iron-behaviors": "polymerelements/iron-behaviors#^1.0.0",
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
@@ -35,13 +38,13 @@
"web-component-tester": "*"
},
"homepage": "https://github.com/PolymerElements/paper-tabs",
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "af6820e55f73fc5aa8c8e4d5294085e46374c7ca"
+ "tag": "v1.0.1",
+ "commit": "6403be53eeef5f9e7a7a7ccd9251f551d26c7548"
},
"_source": "git://github.com/PolymerElements/paper-tabs.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-tabs"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-tabs/bower.json b/third_party/polymer/v1_0/components-chromium/paper-tabs/bower.json
index cff76e9..1908f29 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-tabs/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-tabs/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-tabs",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Material design tabs",
"private": true,
@@ -14,7 +14,10 @@
"tabs",
"control"
],
- "repository": "https://github.com/PolymerElements/paper-tabs.git",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-tabs.git"
+ },
"dependencies": {
"iron-behaviors": "polymerelements/iron-behaviors#^1.0.0",
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/paper-tabs/paper-tabs-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-tabs/paper-tabs-extracted.js
index 0948456..aaf1b8f 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-tabs/paper-tabs-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-tabs/paper-tabs-extracted.js
@@ -263,6 +263,9 @@
},
_positionBar: function(width, left) {
+ width = width || 0;
+ left = left || 0;
+
this._width = width;
this._left = left;
this.transform(
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-toast/.bower.json
deleted file mode 100644
index 3c32c49d..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/.bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "paper-toast",
- "version": "1.0.0",
- "description": "A material design notification toast",
- "private": true,
- "license": "http://polymer.github.io/LICENSE.txt",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "toast",
- "notification"
- ],
- "main": "paper-toast.html",
- "dependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0",
- "iron-a11y-announcer": "polymerelements/iron-a11y-announcer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/paper-toast",
- "_release": "1.0.0",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.0",
- "commit": "71e6c327f7aafe9c71010c83d4c4571f63990072"
- },
- "_source": "git://github.com/PolymerElements/paper-toast.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/paper-toast"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/.gitignore b/third_party/polymer/v1_0/components-chromium/paper-toast/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/README.md b/third_party/polymer/v1_0/components-chromium/paper-toast/README.md
deleted file mode 100644
index 722ec35..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-paper-toast
-============
-
-A material design notification toast.
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/bower.json b/third_party/polymer/v1_0/components-chromium/paper-toast/bower.json
deleted file mode 100644
index a4fd51a..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/bower.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "paper-toast",
- "version": "1.0.0",
- "description": "A material design notification toast",
- "private": true,
- "license": "http://polymer.github.io/LICENSE.txt",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "toast",
- "notification"
- ],
- "main": "paper-toast.html",
- "dependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0",
- "iron-a11y-announcer": "polymerelements/iron-a11y-announcer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/hero.svg b/third_party/polymer/v1_0/components-chromium/paper-toast/hero.svg
deleted file mode 100644
index bfdc180..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/hero.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <path d="M164,114H13V88h151V114z M15,112h147V90H15V112z"/>
- <rect x="26" y="100" width="79" height="2"/>
- <rect x="135" y="100" width="16" height="2"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/index.html b/third_party/polymer/v1_0/components-chromium/paper-toast/index.html
deleted file mode 100644
index e871f17..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast-extracted.js
deleted file mode 100644
index 999b6d70..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast-extracted.js
+++ /dev/null
@@ -1,89 +0,0 @@
-
-(function() {
-
- var PaperToast = Polymer({
- is: 'paper-toast',
-
- properties: {
- /**
- * The duration in milliseconds to show the toast.
- */
- duration: {
- type: Number,
- value: 3000
- },
-
- /**
- * The text to display in the toast.
- */
- text: {
- type: String,
- value: ""
- },
-
- /**
- * True if the toast is currently visible.
- */
- visible: {
- type: Boolean,
- readOnly: true,
- value: false,
- observer: '_visibleChanged'
- }
- },
-
- created: function() {
- Polymer.IronA11yAnnouncer.requestAvailability();
- },
-
- ready: function() {
- this.async(function() {
- this.hide();
- });
- },
-
- /**
- * Show the toast.
- * @method show
- */
- show: function() {
- if (PaperToast.currentToast) {
- PaperToast.currentToast.hide();
- }
- PaperToast.currentToast = this;
- this.removeAttribute('aria-hidden');
- this._setVisible(true);
- this.fire('iron-announce', {
- text: this.text
- });
- this.debounce('hide', this.hide, this.duration);
- },
-
- /**
- * Hide the toast
- */
- hide: function() {
- this.setAttribute('aria-hidden', 'true');
- this._setVisible(false);
- },
-
- /**
- * Toggle the opened state of the toast.
- * @method toggle
- */
- toggle: function() {
- if (!this.visible) {
- this.show();
- } else {
- this.hide();
- }
- },
-
- _visibleChanged: function(visible) {
- this.toggleClass('paper-toast-open', visible);
- }
- });
-
- PaperToast.currentToast = null;
-
-})();
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast.html b/third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast.html
deleted file mode 100644
index 4c2e9c6..0000000
--- a/third_party/polymer/v1_0/components-chromium/paper-toast/paper-toast.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../paper-styles/typography.html">
-<link rel="import" href="../iron-a11y-announcer/iron-a11y-announcer.html">
-
-<!--
-`paper-toast` provides a subtle notification toast.
-
-@group Paper Elements
-@element paper-toast
-@demo demo/index.html
-@hero hero.svg
--->
-</head><body><dom-module id="paper-toast">
- <style>
- :host {
- display: inline-block;
- position: fixed;
-
- background: #323232;
- color: #f1f1f1;
- min-height: 48px;
- min-width: 288px;
- padding: 16px 24px 12px;
- box-sizing: border-box;
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
- border-radius: 2px;
- bottom: 12px;
- left: 12px;
- font-size: 14px;
- cursor: default;
-
- -webkit-transition: visibility 0.3s, -webkit-transform 0.3s;
- transition: visibility 0.3s, transform 0.3s;
-
- -webkit-transform: translateY(100px);
- transform: translateY(100px);
-
- visibility: hidden;
- }
-
- :host(.capsule) {
- border-radius: 24px;
- }
-
- :host(.fit-bottom) {
- bottom: 0;
- left: 0;
- width: 100%;
- min-width: 0;
- border-radius: 0;
- }
-
- :host(.paper-toast-open){
- visibility: visible;
-
- -webkit-transform: translateY(0px);
- transform: translateY(0px);
- }
- </style>
- <template>
- <span id="label">{{text}}</span>
- <content></content>
- </template>
-</dom-module>
-<script src="paper-toast-extracted.js"></script></body></html> \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/.bower.json
index db09a19..5c832b2 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toggle-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design toggle button control",
"authors": [
"The Polymer Authors"
@@ -33,13 +33,13 @@
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "34235a35f65be5efadc8fc5c6f6e5dee0fbb6c52"
+ "tag": "v1.0.5",
+ "commit": "9891ee6a4af756b198290c14137498f78d97593d"
},
"_source": "git://github.com/PolymerElements/paper-toggle-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-toggle-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/bower.json b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/bower.json
index 2a80170..73e21c1 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toggle-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design toggle button control",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.css b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.css
index bdadd9d..ad3a6b5 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.css
+++ b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.css
@@ -105,4 +105,5 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
width: 48px;
height: 48px;
opacity: 0.5;
+ pointer-events: none;
}
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.html b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.html
index f47e043..f7821e8 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-toggle-button/paper-toggle-button.html
@@ -7,6 +7,8 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--><html><head><link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../paper-styles/color.html">
+<link rel="import" href="../paper-styles/default-theme.html">
<link rel="import" href="../paper-ripple/paper-ripple.html">
<link rel="import" href="../paper-behaviors/paper-inky-focus-behavior.html">
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toolbar/.bower.json b/third_party/polymer/v1_0/components-chromium/paper-toolbar/.bower.json
index de532ef..b334cc3 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toolbar/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-toolbar/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toolbar",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design toolbar that is easily customizable",
"private": true,
@@ -33,13 +33,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-toolbar",
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "402eb11da736a5ae19713748bfa04cd96f3f7a0c"
+ "tag": "v1.0.4",
+ "commit": "15096d1c9ee6cc547eaf078b431f3e07d0968367"
},
"_source": "git://github.com/PolymerElements/paper-toolbar.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-toolbar"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toolbar/README.md b/third_party/polymer/v1_0/components-chromium/paper-toolbar/README.md
index ef525f4..997c345 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toolbar/README.md
+++ b/third_party/polymer/v1_0/components-chromium/paper-toolbar/README.md
@@ -49,3 +49,12 @@ When `tall`, items can pin to either the top (default), middle or bottom. Use
For `medium-tall` toolbar, the middle and bottom contents overlap and are
pinned to the bottom. But `middleJustify` and `bottomJustify` attributes are
still honored separately.
+
+To make an element completely fit at the bottom of the toolbar, use `fit` along
+with `bottom`.
+
+```html
+<paper-toolbar class="tall">
+ <div id="progressBar" class="bottom fit"></div>
+</paper-toolbar>
+``` \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toolbar/bower.json b/third_party/polymer/v1_0/components-chromium/paper-toolbar/bower.json
index 26a02b6..fee8df5 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toolbar/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/paper-toolbar/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toolbar",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design toolbar that is easily customizable",
"private": true,
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar-extracted.js
index ba04543..07e2180 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar-extracted.js
@@ -114,9 +114,9 @@
_computeBarClassName: function(barJustify) {
var classObj = {
- center: true,
- horizontal: true,
- layout: true,
+ 'center': true,
+ 'horizontal': true,
+ 'layout': true,
'toolbar-tools': true
};
diff --git a/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar.html b/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar.html
index 4481273..7acb0c9 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar.html
+++ b/third_party/polymer/v1_0/components-chromium/paper-toolbar/paper-toolbar.html
@@ -50,6 +50,13 @@ For `medium-tall` toolbar, the middle and bottom contents overlap and are
pinned to the bottom. But `middleJustify` and `bottomJustify` attributes are
still honored separately.
+To make an element completely fit at the bottom of the toolbar, use `fit` along
+with `bottom`.
+
+ <paper-toolbar class="tall">
+ <div id="progressBar" class="bottom fit"></div>
+ </paper-toolbar>
+
### Styling
The following custom properties and mixins are available for styling:
@@ -204,6 +211,17 @@ be used as the label of the toolbar via `aria-labelledby`.
.toolbar-tools > ::content[select=".bottom"] paper-icon-button + .title {
margin-left: 0;
}
+
+ .toolbar-tools > ::content > .fit {
+ position: absolute;
+ top: auto;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ width: auto;
+ margin: 0;
+ }
+
</style>
<template>
diff --git a/third_party/polymer/v1_0/components-chromium/polymer-externs/.bower.json b/third_party/polymer/v1_0/components-chromium/polymer-externs/.bower.json
index 2ee5eab..509fba0 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer-externs/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/polymer-externs/.bower.json
@@ -1,12 +1,12 @@
{
"name": "polymer-externs",
"homepage": "https://github.com/PolymerLabs/polymer-externs",
- "version": "1.0.3",
- "_release": "1.0.3",
+ "version": "1.0.7",
+ "_release": "1.0.7",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "a9ff08086ba7541111e2d16a7418030b3e5f4711"
+ "tag": "v1.0.7",
+ "commit": "122ad41fa686b680079bd02174fc650c3727772e"
},
"_source": "git://github.com/PolymerLabs/polymer-externs.git",
"_target": "~1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/polymer-externs/polymer.externs.js b/third_party/polymer/v1_0/components-chromium/polymer-externs/polymer.externs.js
index 41008e3..c495e208 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer-externs/polymer.externs.js
+++ b/third_party/polymer/v1_0/components-chromium/polymer-externs/polymer.externs.js
@@ -72,6 +72,8 @@ PolymerElement.prototype.observers;
PolymerElement.prototype.created = function() {};
/** On ready callback. */
PolymerElement.prototype.ready = function() {};
+/** On registered callback. */
+PolymerElement.prototype.registered = function() {};
/** On attached to the DOM callback. */
PolymerElement.prototype.attached = function() {};
/** On detached from the DOM callback. */
@@ -164,6 +166,82 @@ PolymerElement.prototype.set = function(path, value, root) {};
PolymerElement.prototype.get = function(path, root) {};
/**
+ * Adds items onto the end of the array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.push`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @param {...*} var_args Items to push onto array
+ * @return {number} New length of the array.
+ */
+PolymerElement.prototype.push = function(path, var_args) {};
+
+/**
+ * Removes an item from the end of array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.pop`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @return {*} Item that was removed.
+ */
+PolymerElement.prototype.pop = function(path) {};
+
+/**
+ * Starting from the start index specified, removes 0 or more items
+ * from the array and inserts 0 or more new itms in their place.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.splice`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @param {number} start Index from which to start removing/inserting.
+ * @param {number} deleteCount Number of items to remove.
+ * @param {...*} var_args Items to insert into array.
+ * @return {!Array} Array of removed items.
+ */
+PolymerElement.prototype.splice = function(path, start, deleteCount, var_args) {};
+
+/**
+ * Removes an item from the beginning of array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.pop`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @return {*} Item that was removed.
+ */
+PolymerElement.prototype.shift = function(path) {};
+
+/**
+ * Adds items onto the beginning of the array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.push`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @param {...*} var_args Items to insert info array
+ * @return {number} New length of the array.
+ */
+PolymerElement.prototype.unshift = function(path, var_args) {};
+
+/**
* Fire an event.
*
* @param {string} type An event name.
@@ -215,6 +293,14 @@ PolymerElement.prototype.attributeFollows = function(name, newNode, oldNode) {};
PolymerElement.prototype.listen = function(node, eventName, methodName) {};
/**
+ * Convenience method to remove an event listener from a given element.
+ * @param {!Element} node Element to remove event listener from.
+ * @param {string} eventName Name of event to stop listening for.
+ * @param {string} methodName Name of handler method on this to remove.
+ */
+PolymerElement.prototype.unlisten = function(node, eventName, methodName) {};
+
+/**
* Override scrolling behavior to all direction, one direction, or none.
*
* Valid scroll directions:
@@ -236,6 +322,11 @@ PolymerElement.prototype.setScrollDirection = function(direction, node) {};
*/
PolymerElement.prototype.async = function(method, wait) {};
+/**
+ * @param {...*} var_args
+ */
+PolymerElement.prototype.factoryImpl = function(var_args) {};
+
Polymer.Base;
/**
@@ -248,6 +339,18 @@ Polymer.Base;
Polymer.Base.async = function(method, wait) {};
/**
+ * Returns a property descriptor object for the property specified.
+ *
+ * This method allows introspecting the configuration of a Polymer element's
+ * properties as configured in its `properties` object. Note, this method
+ * normalizes shorthand forms of the `properties` object into longhand form.
+ *
+ * @param {string} property Name of property to introspect.
+ * @return {Object} Property descriptor for specified property.
+*/
+Polymer.Base.getPropertyInfo = function(property) {};
+
+/**
* @param {number} handle
*/
PolymerElement.prototype.cancelAsync = function(handle) {};
@@ -413,7 +516,7 @@ PolymerDomApi.prototype.querySelector = function(selector) {};
/**
* @param {string} selector
- * @return {!Array<?HTMLElement>}
+ * @return {!Array<!HTMLElement>}
*/
PolymerDomApi.prototype.querySelectorAll = function(selector) {};
@@ -441,6 +544,12 @@ PolymerDomApi.prototype.removeAttribute = function(attribute) {};
PolymerDomApi.prototype.classList;
/**
+ * @param {string} selector
+ * @return {!Array<!HTMLElement>}
+ */
+PolymerDomApi.prototype.queryDistributedElements = function(selector) {};
+
+/**
* A Polymer Event API.
*
* @constructor
@@ -485,6 +594,52 @@ Polymer.CaseMap.camelToDashCase = function(camel) {};
/**
+ * Settings pulled from
+ * https://github.com/Polymer/polymer/blob/master/src/lib/settings.html
+ */
+Polymer.Settings;
+
+/** @type {boolean} */
+Polymer.Settings.wantShadow;
+
+/** @type {boolean} */
+Polymer.Settings.hasShadow;
+
+/** @type {boolean} */
+Polymer.Settings.nativeShadow;
+
+/** @type {boolean} */
+Polymer.Settings.useShadow;
+
+/** @type {boolean} */
+Polymer.Settings.useNativeShadow;
+
+/** @type {boolean} */
+Polymer.Settings.useNativeImports;
+
+/** @type {boolean} */
+Polymer.Settings.useNativeCustomElements;
+
+
+/**
+ * @see https://github.com/Polymer/polymer/blob/master/src/lib/template/templatizer.html
+ * @polymerBehavior
+ */
+Polymer.Templatizer = {
+ /**
+ * @param {?Object} model
+ * @return {?Element}
+ */
+ stamp: function(model) {},
+
+ /**
+ * @param {?Element} template
+ */
+ templatize: function(template) {},
+};
+
+
+/**
* An Event type fired when moving while finger/button is down.
* state - a string indicating the tracking state:
* + start: fired when tracking is first detected (finger/button down and
diff --git a/third_party/polymer/v1_0/components-chromium/polymer/.bower.json b/third_party/polymer/v1_0/components-chromium/polymer/.bower.json
index 314686e..031b285 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer/.bower.json
+++ b/third_party/polymer/v1_0/components-chromium/polymer/.bower.json
@@ -1,6 +1,6 @@
{
"name": "polymer",
- "version": "1.0.3",
+ "version": "1.0.7",
"main": [
"polymer.html"
],
@@ -24,11 +24,11 @@
},
"private": true,
"homepage": "https://github.com/Polymer/polymer",
- "_release": "1.0.3",
+ "_release": "1.0.7",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "336178d90e44ea7e01ec84155e83d037adf05a4c"
+ "tag": "v1.0.7",
+ "commit": "b39d0015ce5428232409eb3aca7ddefea899f894"
},
"_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/polymer/bower.json b/third_party/polymer/v1_0/components-chromium/polymer/bower.json
index 2cbb654..4618f2f 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer/bower.json
+++ b/third_party/polymer/v1_0/components-chromium/polymer/bower.json
@@ -1,6 +1,6 @@
{
"name": "polymer",
- "version": "1.0.3",
+ "version": "1.0.7",
"main": [
"polymer.html"
],
diff --git a/third_party/polymer/v1_0/components-chromium/polymer/build.log b/third_party/polymer/v1_0/components-chromium/polymer/build.log
index b87b858..abccfe9 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer/build.log
+++ b/third_party/polymer/v1_0/components-chromium/polymer/build.log
@@ -1,27 +1,30 @@
BUILD LOG
---------
-Build Time: 2015-06-04T20:19:11-0700
+Build Time: 2015-07-16T14:37:31-0700
NODEJS INFORMATION
==================
-nodejs: v2.0.2
+nodejs: v2.3.4
+del: 1.2.0
gulp: 3.9.0
gulp-audit: 1.0.0
+gulp-bump: 0.3.1
gulp-rename: 1.2.2
-gulp-vulcanize: 6.0.0
-lazypipe: 0.2.3
-polyclean: 1.2.0
-run-sequence: 1.1.0
-del: 1.2.0
gulp-replace: 0.5.3
-vulcanize: 1.8.1
+gulp-vulcanize: 6.0.1
+minimist: 1.1.1
+lazypipe: 0.2.4
+polyclean: 1.2.0
+run-sequence: 1.1.1
+semver: 4.3.6
+nodegit: 0.4.1
REPO REVISIONS
==============
-polymer: 0c73fc226b6b5ca308a851b334b1bdeda289195d
+polymer: 3d56eb0c97eb1ef90ec6942aca364d279377ff43
BUILD HASHES
============
-polymer-mini.html: 8173d099edaed570f4db95cd54317f49dc3183ae
-polymer-micro.html: afd2d239fc08ec69fa912a0fc7e73e8ce58e3f91
-polymer.html: 2094f18d71f5aec3321b1364575579e960b37cbc \ No newline at end of file
+polymer-mini.html: 2429dd9d7909014a82cca9f81b8df239fc5a0599
+polymer-micro.html: 924b916bacfafd1a166c10fce29eab24ebd02717
+polymer.html: dbb7a228a8facf071dea38e4db2415a9a6becfc0 \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js b/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
index efa86c5..ad5ce0a 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
@@ -36,6 +36,9 @@ var annote = {
bindings: [],
events: []
};
+if (element.localName === 'content') {
+list._hasContent = true;
+}
this._parseChildNodesAnnotations(element, annote, list);
if (element.attributes) {
this._parseNodeAttributeAnnotations(element, annote, list);
@@ -54,6 +57,14 @@ for (var i = 0, node = root.firstChild; node; node = node.nextSibling, i++) {
if (node.localName === 'template' && !node.hasAttribute('preserve-content')) {
this._parseTemplate(node, i, list, annote);
}
+if (node.nodeType === Node.TEXT_NODE) {
+var n = node.nextSibling;
+while (n && n.nodeType === Node.TEXT_NODE) {
+node.textContent += n.textContent;
+root.removeChild(n);
+n = n.nextSibling;
+}
+}
var childAnnotation = this._parseNodeAnnotations(node, list, callback);
if (childAnnotation) {
childAnnotation.parent = annote;
@@ -163,6 +174,9 @@ at.value = a === 'style' ? resolveCss(v, ownerDocument) : resolve(v, ownerDocume
}
}
function resolve(url, ownerDocument) {
+if (url && url[0] === '#') {
+return url;
+}
var resolver = getUrlResolver(ownerDocument);
resolver.href = url;
return resolver.href || url;
@@ -323,18 +337,57 @@ this.listen(node, name, listeners[key]);
listen: function (node, eventName, methodName) {
this._listen(node, eventName, this._createEventHandler(node, eventName, methodName));
},
+_boundListenerKey: function (eventName, methodName) {
+return eventName + ':' + methodName;
+},
+_recordEventHandler: function (host, eventName, target, methodName, handler) {
+var hbl = host.__boundListeners;
+if (!hbl) {
+hbl = host.__boundListeners = new WeakMap();
+}
+var bl = hbl.get(target);
+if (!bl) {
+bl = {};
+hbl.set(target, bl);
+}
+var key = this._boundListenerKey(eventName, methodName);
+bl[key] = handler;
+},
+_recallEventHandler: function (host, eventName, target, methodName) {
+var hbl = host.__boundListeners;
+if (!hbl) {
+return;
+}
+var bl = hbl.get(target);
+if (!bl) {
+return;
+}
+var key = this._boundListenerKey(eventName, methodName);
+return bl[key];
+},
_createEventHandler: function (node, eventName, methodName) {
var host = this;
-return function (e) {
+var handler = function (e) {
if (host[methodName]) {
host[methodName](e, e.detail);
} else {
host._warn(host._logf('_createEventHandler', 'listener method `' + methodName + '` not defined'));
}
};
+this._recordEventHandler(host, eventName, node, methodName, handler);
+return handler;
+},
+unlisten: function (node, eventName, methodName) {
+var handler = this._recallEventHandler(this, eventName, node, methodName);
+if (handler) {
+this._unlisten(node, eventName, handler);
+}
},
_listen: function (node, eventName, handler) {
node.addEventListener(eventName, handler);
+},
+_unlisten: function (node, eventName, handler) {
+node.removeEventListener(eventName, handler);
}
});
(function () {
@@ -353,6 +406,7 @@ var MOUSE_EVENTS = [
'mouseup',
'click'
];
+var IS_TOUCH_ONLY = navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);
var mouseCanceller = function (mouseEvent) {
mouseEvent[HANDLED_OBJ] = { skip: true };
if (mouseEvent.type === 'click') {
@@ -377,6 +431,9 @@ document.removeEventListener(en, mouseCanceller, true);
}
}
function ignoreMouse() {
+if (IS_TOUCH_ONLY) {
+return;
+}
if (!POINTERSTATE.mouse.mouseIgnoreJob) {
setupTeardownMouseCanceller(true);
}
@@ -388,7 +445,6 @@ POINTERSTATE.mouse.mouseIgnoreJob = null;
POINTERSTATE.mouse.mouseIgnoreJob = Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob, unset, MOUSE_TIMEOUT);
}
var POINTERSTATE = {
-tapPrevented: false,
mouse: {
target: null,
mouseIgnoreJob: null
@@ -426,6 +482,12 @@ node = next;
}
return node;
},
+findOriginalTarget: function (ev) {
+if (ev.path) {
+return ev.path[0];
+}
+return ev.target;
+},
handleNative: function (ev) {
var handled;
var type = ev.type;
@@ -510,24 +572,62 @@ node[GESTURE_KEY] = gobj = {};
}
for (var i = 0, dep, gd; i < deps.length; i++) {
dep = deps[i];
+if (IS_TOUCH_ONLY && MOUSE_EVENTS.indexOf(dep) > -1) {
+continue;
+}
gd = gobj[dep];
if (!gd) {
-gobj[dep] = gd = {};
+gobj[dep] = gd = { _count: 0 };
+}
+if (gd._count === 0) {
node.addEventListener(dep, this.handleNative);
}
gd[name] = (gd[name] || 0) + 1;
+gd._count = (gd._count || 0) + 1;
}
node.addEventListener(evType, handler);
if (recognizer.touchAction) {
this.setTouchAction(node, recognizer.touchAction);
}
},
+remove: function (node, evType, handler) {
+var recognizer = this.gestures[evType];
+var deps = recognizer.deps;
+var name = recognizer.name;
+var gobj = node[GESTURE_KEY];
+if (gobj) {
+for (var i = 0, dep, gd; i < deps.length; i++) {
+dep = deps[i];
+gd = gobj[dep];
+if (gd && gd[name]) {
+gd[name] = (gd[name] || 1) - 1;
+gd._count = (gd._count || 1) - 1;
+}
+if (gd._count === 0) {
+node.removeEventListener(dep, this.handleNative);
+}
+}
+}
+node.removeEventListener(evType, handler);
+},
register: function (recog) {
this.recognizers.push(recog);
for (var i = 0; i < recog.emits.length; i++) {
this.gestures[recog.emits[i]] = recog;
}
},
+findRecognizerByEvent: function (evName) {
+for (var i = 0, r; i < this.recognizers.length; i++) {
+r = this.recognizers[i];
+for (var j = 0, n; j < r.emits.length; j++) {
+n = r.emits[j];
+if (n === evName) {
+return r;
+}
+}
+}
+return null;
+},
setTouchAction: function (node, value) {
if (HAS_NATIVE_TA) {
node.style.touchAction = value;
@@ -535,12 +635,23 @@ node.style.touchAction = value;
node[TOUCH_ACTION] = value;
},
fire: function (target, type, detail) {
-var ev = new CustomEvent(type, {
-detail: detail,
+var ev = Polymer.Base.fire(type, detail, {
+node: target,
bubbles: true,
cancelable: true
});
-target.dispatchEvent(ev);
+if (ev.defaultPrevented) {
+var se = detail.sourceEvent;
+if (se && se.preventDefault) {
+se.preventDefault();
+}
+}
+},
+prevent: function (evName) {
+var recognizer = this.findRecognizerByEvent(evName);
+if (recognizer.info) {
+recognizer.info.prevent = true;
+}
}
};
Gestures.register({
@@ -555,7 +666,7 @@ emits: [
'up'
],
mousedown: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var self = this;
var upfn = function upfn(e) {
self.fire('up', t, e);
@@ -565,16 +676,18 @@ document.addEventListener('mouseup', upfn);
this.fire('down', t, e);
},
touchstart: function (e) {
-this.fire('down', e.currentTarget, e.changedTouches[0]);
+this.fire('down', Gestures.findOriginalTarget(e), e.changedTouches[0]);
},
touchend: function (e) {
-this.fire('up', e.currentTarget, e.changedTouches[0]);
+this.fire('up', Gestures.findOriginalTarget(e), e.changedTouches[0]);
},
fire: function (type, target, event) {
+var self = this;
Gestures.fire(target, type, {
x: event.clientX,
y: event.clientY,
-sourceEvent: event
+sourceEvent: event,
+prevent: Gestures.prevent.bind(Gestures)
});
}
});
@@ -599,7 +712,8 @@ if (this.moves.length > TRACK_LENGTH) {
this.moves.shift();
}
this.moves.push(move);
-}
+},
+prevent: false
},
clearInfo: function () {
this.info.state = 'start';
@@ -607,8 +721,12 @@ this.info.started = false;
this.info.moves = [];
this.info.x = 0;
this.info.y = 0;
+this.info.prevent = false;
},
hasMovedEnough: function (x, y) {
+if (this.info.prevent) {
+return false;
+}
if (this.info.started) {
return true;
}
@@ -617,7 +735,7 @@ var dy = Math.abs(this.info.y - y);
return dx >= TRACK_DISTANCE || dy >= TRACK_DISTANCE;
},
mousedown: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var self = this;
var movefn = function movefn(e) {
var x = e.clientX, y = e.clientY;
@@ -628,13 +746,12 @@ x: x,
y: y
});
self.fire(t, e);
-e.preventDefault();
self.info.started = true;
}
};
var upfn = function upfn(e) {
if (self.info.started) {
-POINTERSTATE.tapPrevented = true;
+Gestures.prevent('tap');
movefn(e);
}
self.clearInfo();
@@ -652,7 +769,7 @@ this.info.x = ct.clientX;
this.info.y = ct.clientY;
},
touchmove: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var ct = e.changedTouches[0];
var x = ct.clientX, y = ct.clientY;
if (this.hasMovedEnough(x, y)) {
@@ -666,10 +783,10 @@ this.info.started = true;
}
},
touchend: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var ct = e.changedTouches[0];
if (this.info.started) {
-POINTERSTATE.tapPrevented = true;
+Gestures.prevent('tap');
this.info.state = 'end';
this.info.addMove({
x: ct.clientX,
@@ -713,38 +830,39 @@ deps: [
'touchend'
],
emits: ['tap'],
-start: {
+info: {
x: NaN,
-y: NaN
+y: NaN,
+prevent: false
},
reset: function () {
-this.start.x = NaN;
-this.start.y = NaN;
+this.info.x = NaN;
+this.info.y = NaN;
+this.info.prevent = false;
},
save: function (e) {
-this.start.x = e.clientX;
-this.start.y = e.clientY;
+this.info.x = e.clientX;
+this.info.y = e.clientY;
},
mousedown: function (e) {
-POINTERSTATE.tapPrevented = false;
this.save(e);
},
click: function (e) {
this.forward(e);
},
touchstart: function (e) {
-POINTERSTATE.tapPrevented = false;
this.save(e.changedTouches[0]);
},
touchend: function (e) {
this.forward(e.changedTouches[0]);
},
forward: function (e) {
-var dx = Math.abs(e.clientX - this.start.x);
-var dy = Math.abs(e.clientY - this.start.y);
+var dx = Math.abs(e.clientX - this.info.x);
+var dy = Math.abs(e.clientY - this.info.y);
+var t = Gestures.findOriginalTarget(e);
if (isNaN(dx) || isNaN(dy) || dx <= TAP_DISTANCE && dy <= TAP_DISTANCE) {
-if (!POINTERSTATE.tapPrevented) {
-Gestures.fire(e.target, 'tap', {
+if (!this.info.prevent) {
+Gestures.fire(t, 'tap', {
x: e.clientX,
y: e.clientY,
sourceEvent: e
@@ -768,6 +886,13 @@ Gestures.add(node, eventName, handler);
node.addEventListener(eventName, handler);
}
},
+_unlisten: function (node, eventName, handler) {
+if (Gestures.gestures[eventName]) {
+Gestures.remove(node, eventName, handler);
+} else {
+node.removeEventListener(eventName, handler);
+}
+},
setScrollDirection: function (direction, node) {
node = node || this;
Gestures.setTouchAction(node, DIRECTION_MAP[direction] || 'auto');
@@ -775,50 +900,55 @@ Gestures.setTouchAction(node, DIRECTION_MAP[direction] || 'auto');
});
Polymer.Gestures = Gestures;
}());
-Polymer.Async = function () {
-var currVal = 0;
-var lastVal = 0;
-var callbacks = [];
-var twiddle = document.createTextNode('');
-function runAsync(callback, waitTime) {
+Polymer.Async = {
+_currVal: 0,
+_lastVal: 0,
+_callbacks: [],
+_twiddleContent: 0,
+_twiddle: document.createTextNode(''),
+run: function (callback, waitTime) {
if (waitTime > 0) {
return ~setTimeout(callback, waitTime);
} else {
-twiddle.textContent = currVal++;
-callbacks.push(callback);
-return currVal - 1;
-}
+this._twiddle.textContent = this._twiddleContent++;
+this._callbacks.push(callback);
+return this._currVal++;
}
-function cancelAsync(handle) {
+},
+cancel: function (handle) {
if (handle < 0) {
clearTimeout(~handle);
} else {
-var idx = handle - lastVal;
+var idx = handle - this._lastVal;
if (idx >= 0) {
-if (!callbacks[idx]) {
+if (!this._callbacks[idx]) {
throw 'invalid async handle: ' + handle;
}
-callbacks[idx] = null;
+this._callbacks[idx] = null;
}
}
-}
-function atEndOfMicrotask() {
-var len = callbacks.length;
+},
+_atEndOfMicrotask: function () {
+var len = this._callbacks.length;
for (var i = 0; i < len; i++) {
-var cb = callbacks[i];
+var cb = this._callbacks[i];
if (cb) {
+try {
cb();
+} catch (e) {
+i++;
+this._callbacks.splice(0, i);
+this._lastVal += i;
+this._twiddle.textContent = this._twiddleContent++;
+throw e;
}
}
-callbacks.splice(0, len);
-lastVal += len;
}
-new (window.MutationObserver || JsMutationObserver)(atEndOfMicrotask).observe(twiddle, { characterData: true });
-return {
-run: runAsync,
-cancel: cancelAsync
+this._callbacks.splice(0, len);
+this._lastVal += len;
+}
};
-}();
+new (window.MutationObserver || JsMutationObserver)(Polymer.Async._atEndOfMicrotask.bind(Polymer.Async)).observe(Polymer.Async._twiddle, { characterData: true });
Polymer.Debounce = function () {
var Async = Polymer.Async;
var Debouncer = function (context) {
@@ -901,7 +1031,8 @@ Polymer.dom(toElement).setAttribute(name, '');
}
},
getContentChildNodes: function (slctr) {
-return Polymer.dom(Polymer.dom(this.root).querySelector(slctr || 'content')).getDistributedNodes();
+var content = Polymer.dom(this.root).querySelector(slctr || 'content');
+return content ? Polymer.dom(content).getDistributedNodes() : [];
},
getContentChildren: function (slctr) {
return this.getContentChildNodes(slctr).filter(function (n) {
@@ -913,9 +1044,10 @@ options = options || Polymer.nob;
var node = options.node || this;
var detail = detail === null || detail === undefined ? Polymer.nob : detail;
var bubbles = options.bubbles === undefined ? true : options.bubbles;
+var cancelable = Boolean(options.cancelable);
var event = new CustomEvent(type, {
bubbles: Boolean(bubbles),
-cancelable: Boolean(options.cancelable),
+cancelable: cancelable,
detail: detail
});
node.dispatchEvent(event);
@@ -972,30 +1104,25 @@ elt[n] = props[n];
}
}
return elt;
-},
-mixin: function (target, source) {
-for (var i in source) {
-target[i] = source[i];
-}
}
});
Polymer.Bind = {
prepareModel: function (model) {
model._propertyEffects = {};
model._bindListeners = [];
-var api = this._modelApi;
-for (var n in api) {
-model[n] = api[n];
-}
+Polymer.Base.mixin(model, this._modelApi);
},
_modelApi: {
_notifyChange: function (property) {
var eventName = Polymer.CaseMap.camelToDashCase(property) + '-changed';
-this.fire(eventName, { value: this[property] }, { bubbles: false });
+Polymer.Base.fire(eventName, { value: this[property] }, {
+bubbles: false,
+node: this
+});
},
-_propertySet: function (property, value, effects) {
+_propertySetter: function (property, value, effects, fromAbove) {
var old = this.__data__[property];
-if (old !== value) {
+if (old !== value && (old === old || value === value)) {
this.__data__[property] = value;
if (typeof value == 'object') {
this._clearPath(property);
@@ -1004,16 +1131,25 @@ if (this._propertyChanged) {
this._propertyChanged(property, value, old);
}
if (effects) {
-this._effectEffects(property, value, effects, old);
+this._effectEffects(property, value, effects, old, fromAbove);
}
}
return old;
},
-_effectEffects: function (property, value, effects, old) {
+__setProperty: function (property, value, quiet, node) {
+node = node || this;
+var effects = node._propertyEffects && node._propertyEffects[property];
+if (effects) {
+node._propertySetter(property, value, effects, quiet);
+} else {
+node[property] = value;
+}
+},
+_effectEffects: function (property, value, effects, old, fromAbove) {
effects.forEach(function (fx) {
var fn = Polymer.Bind['_' + fx.kind + 'Effect'];
if (fn) {
-fn.call(this, property, value, fx.effect, old);
+fn.call(this, property, value, fx.effect, old, fromAbove);
}
}, this);
},
@@ -1071,10 +1207,13 @@ return this.__data__[property];
}
};
var setter = function (value) {
-this._propertySet(property, value, effects);
+this._propertySetter(property, value, effects);
};
-if (model.getPropertyInfo && model.getPropertyInfo(property).readOnly) {
+var info = model.getPropertyInfo && model.getPropertyInfo(property);
+if (info && info.readOnly) {
+if (!info.computed) {
model['_set' + this.upper(property)] = setter;
+}
} else {
defun.set = setter;
}
@@ -1145,11 +1284,13 @@ return this._applyEffectValue(calc, effect);
_reflectEffect: function (source) {
this.reflectPropertyToAttribute(source);
},
-_notifyEffect: function (source) {
+_notifyEffect: function (source, value, effect, old, fromAbove) {
+if (!fromAbove) {
this._notifyChange(source);
+}
},
-_functionEffect: function (source, value, fn, old) {
-fn.call(this, source, value, old);
+_functionEffect: function (source, value, fn, old, fromAbove) {
+fn.call(this, source, value, old, fromAbove);
},
_observerEffect: function (source, value, effect, old) {
var fn = this[effect.method];
@@ -1175,7 +1316,7 @@ var args = Polymer.Bind._marshalArgs(this.__data__, effect, source, value);
if (args) {
var fn = this[effect.method];
if (fn) {
-this[effect.property] = fn.apply(this, args);
+this.__setProperty(effect.property, fn.apply(this, args));
} else {
this._warn(this._logf('_computeEffect', 'compute method `' + effect.method + '` not defined'));
}
@@ -1248,6 +1389,7 @@ if (prop.observer) {
this._addObserverEffect(p, prop.observer);
}
if (prop.computed) {
+prop.readOnly = true;
this._addComputedEffect(p, prop.computed);
}
if (prop.notify) {
@@ -1438,12 +1580,13 @@ this._configure();
},
_configure: function () {
this._configureAnnotationReferences();
+this._aboveConfig = this.mixin({}, this._config);
var config = {};
this.behaviors.forEach(function (b) {
this._configureProperties(b.properties, config);
}, this);
this._configureProperties(this.properties, config);
-this._mixinConfigure(config, this._config);
+this._mixinConfigure(config, this._aboveConfig);
this._config = config;
this._distributeConfig(this._config);
},
@@ -1487,18 +1630,13 @@ node._configValue(x.effect.name, value);
},
_afterClientsReady: function () {
this._executeStaticEffects();
-this._applyConfig(this._config);
+this._applyConfig(this._config, this._aboveConfig);
this._flushHandlers();
},
-_applyConfig: function (config) {
+_applyConfig: function (config, aboveConfig) {
for (var n in config) {
if (this[n] === undefined) {
-var effects = this._propertyEffects[n];
-if (effects) {
-this._propertySet(n, config[n], effects);
-} else {
-this[n] = config[n];
-}
+this.__setProperty(n, config[n], n in aboveConfig);
}
}
},
@@ -1527,12 +1665,13 @@ h[0].call(this, h[1], h[2]);
'use strict';
Polymer.Base._addFeature({
notifyPath: function (path, value, fromAbove) {
-var old = this._propertySet(path, value);
-if (old !== value) {
+var old = this._propertySetter(path, value);
+if (old !== value && (old === old || value === value)) {
this._pathEffector(path, value);
if (!fromAbove) {
this._notifyPath(path, value);
}
+return true;
}
},
_getPathParts: function (path) {
@@ -1565,6 +1704,15 @@ return;
}
array = Array.isArray(prop) ? prop : null;
}
+if (array) {
+var coll = Polymer.Collection.get(array);
+var old = prop[last];
+var key = coll.getKey(old);
+if (key) {
+parts[i] = key;
+coll.setItem(key, value);
+}
+}
prop[last] = value;
if (!root) {
this.notifyPath(parts.join('.'), value);
@@ -1689,7 +1837,7 @@ object: array,
type: 'splice'
}];
var change = {
-keySplices: Polymer.Collection.get(array).applySplices(splices),
+keySplices: Polymer.Collection.applySplices(array, splices),
indexSplices: splices
};
this.set(path + '.splices', change);
@@ -1718,9 +1866,8 @@ return ret;
splice: function (path, start, deleteCount) {
var array = this.get(path);
var args = Array.prototype.slice.call(arguments, 1);
-var rem = array.slice(start, start + deleteCount);
var ret = array.splice.apply(array, args);
-this._notifySplice(array, path, start, args.length - 2, rem);
+this._notifySplice(array, path, start, args.length - 2, ret);
return ret;
},
shift: function (path) {
@@ -1868,10 +2015,10 @@ var AT_START = '@';
var rx = {
comments: /\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,
port: /@import[^;]*;/gim,
-customProp: /(?:^|[\s;])--[^;{]*?:[^{};]*?;/gim,
-mixinProp: /(?:^|[\s;])--[^;{]*?:[^{;]*?{[^}]*?};?/gim,
-mixinApply: /@apply[\s]*\([^)]*?\)[\s]*;/gim,
-varApply: /[^;:]*?:[^;]*var[^;]*;/gim,
+customProp: /(?:^|[\s;])--[^;{]*?:[^{};]*?(?:[;\n]|$)/gim,
+mixinProp: /(?:^|[\s;])--[^;{]*?:[^{;]*?{[^}]*?}(?:[;\n]|$)?/gim,
+mixinApply: /@apply[\s]*\([^)]*?\)[\s]*(?:[;\n]|$)?/gim,
+varApply: /[^;:]*?:[^;]*var[^;]*(?:[;\n]|$)?/gim,
keyframesRule: /^@[^\s]*keyframes/
};
return api;
@@ -1889,12 +2036,14 @@ this.forEachStyleRule(rules, callback);
return this.parser.stringify(rules, preserveProperties);
},
forRulesInStyles: function (styles, callback) {
+if (styles) {
for (var i = 0, l = styles.length, s; i < l && (s = styles[i]); i++) {
this.forEachStyleRule(this.rulesForStyle(s), callback);
}
+}
},
rulesForStyle: function (style) {
-if (!style.__cssRules) {
+if (!style.__cssRules && style.textContent) {
style.__cssRules = this.parser.parse(style.textContent);
}
return style.__cssRules;
@@ -2047,23 +2196,33 @@ rule.selector = p$.join(COMPLEX_SELECTOR_SEP);
},
_transformComplexSelector: function (selector, scope, hostScope) {
var stop = false;
+var hostContext = false;
var self = this;
selector = selector.replace(SIMPLE_SELECTOR_SEP, function (m, c, s) {
if (!stop) {
-var o = self._transformCompoundSelector(s, c, scope, hostScope);
-if (o.stop) {
-stop = true;
-}
-c = o.combinator;
-s = o.value;
+var info = self._transformCompoundSelector(s, c, scope, hostScope);
+stop = stop || info.stop;
+hostContext = hostContext || info.hostContext;
+c = info.combinator;
+s = info.value;
+} else {
+s = s.replace(SCOPE_JUMP, ' ');
}
return c + s;
});
+if (hostContext) {
+selector = selector.replace(HOST_CONTEXT_PAREN, function (m, pre, paren, post) {
+return pre + paren + ' ' + hostScope + post + COMPLEX_SELECTOR_SEP + ' ' + pre + hostScope + paren + post;
+});
+}
return selector;
},
_transformCompoundSelector: function (selector, combinator, scope, hostScope) {
var jumpIndex = selector.search(SCOPE_JUMP);
-if (selector.indexOf(HOST) >= 0) {
+var hostContext = false;
+if (selector.indexOf(HOST_CONTEXT) >= 0) {
+hostContext = true;
+} else if (selector.indexOf(HOST) >= 0) {
selector = selector.replace(HOST_PAREN, function (m, host, paren) {
return hostScope + paren;
});
@@ -2082,7 +2241,8 @@ stop = true;
return {
value: selector,
combinator: combinator,
-stop: stop
+stop: stop,
+hostContext: hostContext
};
},
_transformSimpleSelector: function (selector, scope) {
@@ -2090,20 +2250,32 @@ var p$ = selector.split(PSEUDO_PREFIX);
p$[0] += scope;
return p$.join(PSEUDO_PREFIX);
},
-rootRule: function (rule) {
-this._transformRule(rule, this._transformRootSelector);
+documentRule: function (rule) {
+rule.selector = rule.parsedSelector;
+this.normalizeRootSelector(rule);
+if (!nativeShadow) {
+this._transformRule(rule, this._transformDocumentSelector);
+}
+},
+normalizeRootSelector: function (rule) {
+if (rule.selector === ROOT) {
+rule.selector = 'body';
+}
},
-_transformRootSelector: function (selector) {
-return selector.match(SCOPE_JUMP) ? this._transformComplexSelector(selector) : selector.trim() + SCOPE_ROOT_SELECTOR;
+_transformDocumentSelector: function (selector) {
+return selector.match(SCOPE_JUMP) ? this._transformComplexSelector(selector, SCOPE_DOC_SELECTOR) : this._transformSimpleSelector(selector.trim(), SCOPE_DOC_SELECTOR);
},
SCOPE_NAME: 'style-scope'
};
var SCOPE_NAME = api.SCOPE_NAME;
-var SCOPE_ROOT_SELECTOR = ':not([' + SCOPE_NAME + '])' + ':not(.' + SCOPE_NAME + ')';
+var SCOPE_DOC_SELECTOR = ':not([' + SCOPE_NAME + '])' + ':not(.' + SCOPE_NAME + ')';
var COMPLEX_SELECTOR_SEP = ',';
var SIMPLE_SELECTOR_SEP = /(^|[\s>+~]+)([^\s>+~]+)/g;
var HOST = ':host';
+var ROOT = ':root';
var HOST_PAREN = /(\:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;
+var HOST_CONTEXT = ':host-context';
+var HOST_CONTEXT_PAREN = /(.*)(?:\:host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;
var CONTENT = '::content';
var SCOPE_JUMP = /\:\:content|\:\:shadow|\/deep\//;
var CSS_CLASS_PREFIX = '.';
@@ -2278,6 +2450,7 @@ return mo;
});
}());
Polymer.StyleProperties = function () {
+'use strict';
var nativeShadow = Polymer.Settings.useNativeShadow;
var matchesSelector = Polymer.DomApi.matchesSelector;
var styleUtil = Polymer.StyleUtil;
@@ -2344,6 +2517,10 @@ collectPropertiesInCssText: function (cssText, props) {
var m;
while (m = this.rx.VAR_CAPTURE.exec(cssText)) {
props[m[1]] = true;
+var def = m[2];
+if (def && def.match(this.rx.IS_VAR)) {
+props[def] = true;
+}
}
},
reify: function (props) {
@@ -2443,27 +2620,29 @@ return props;
},
transformStyles: function (element, properties, scopeSelector) {
var self = this;
-var hostRx = new RegExp(this.rx.HOST_PREFIX + element.is + this.rx.HOST_SUFFIX);
+var hostSelector = styleTransformer._calcHostScope(element.is, element.extends);
+var rxHostSelector = element.extends ? '\\' + hostSelector.slice(0, -1) + '\\]' : hostSelector;
+var hostRx = new RegExp(this.rx.HOST_PREFIX + rxHostSelector + this.rx.HOST_SUFFIX);
return styleTransformer.elementStyles(element, function (rule) {
self.applyProperties(rule, properties);
if (rule.cssText && !nativeShadow) {
-self._scopeSelector(rule, hostRx, element.is, element._scopeCssViaAttr, scopeSelector);
+self._scopeSelector(rule, hostRx, hostSelector, element._scopeCssViaAttr, scopeSelector);
}
});
},
-_scopeSelector: function (rule, hostRx, is, viaAttr, scopeId) {
+_scopeSelector: function (rule, hostRx, hostSelector, viaAttr, scopeId) {
rule.transformedSelector = rule.transformedSelector || rule.selector;
var selector = rule.transformedSelector;
var scope = viaAttr ? '[' + styleTransformer.SCOPE_NAME + '~=' + scopeId + ']' : '.' + scopeId;
var parts = selector.split(',');
for (var i = 0, l = parts.length, p; i < l && (p = parts[i]); i++) {
-parts[i] = p.match(hostRx) ? p.replace(is, is + scope) : scope + ' ' + p;
+parts[i] = p.match(hostRx) ? p.replace(hostSelector, hostSelector + scope) : scope + ' ' + p;
}
rule.selector = parts.join(',');
},
applyElementScopeSelector: function (element, selector, old, viaAttr) {
var c = viaAttr ? element.getAttribute(styleTransformer.SCOPE_NAME) : element.className;
-v = old ? c.replace(old, selector) : (c ? c + ' ' : '') + this.XSCOPE_NAME + ' ' + selector;
+var v = old ? c.replace(old, selector) : (c ? c + ' ' : '') + this.XSCOPE_NAME + ' ' + selector;
if (c !== v) {
if (viaAttr) {
element.setAttribute(styleTransformer.SCOPE_NAME, v);
@@ -2477,7 +2656,7 @@ var cssText = style ? style.textContent || '' : this.transformStyles(element, pr
var s = element._customStyle;
if (s && !nativeShadow && s !== style) {
s._useCount--;
-if (s._useCount <= 0) {
+if (s._useCount <= 0 && s.parentNode) {
s.parentNode.removeChild(s);
}
}
@@ -2498,13 +2677,23 @@ element._customStyle = style;
}
return style;
},
+mixinCustomStyle: function (props, customStyle) {
+var v;
+for (var i in customStyle) {
+v = customStyle[i];
+if (v || v === 0) {
+props[i] = v;
+}
+}
+},
rx: {
-VAR_ASSIGN: /(?:^|;\s*)(--[^\:;]*?):\s*?(?:([^;{]*?)|{([^}]*)})(?=;)/gim,
-MIXIN_MATCH: /(?:^|\W+)@apply[\s]*\(([^)]*)\);?/im,
-VAR_MATCH: /(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,)]*)|(?:[^;]*\([^;)]*\)))[\s]*?\)/gim,
-VAR_CAPTURE: /\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gim,
+VAR_ASSIGN: /(?:^|[;\n]\s*)(--[\w-]*?):\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\n])|$)/gi,
+MIXIN_MATCH: /(?:^|\W+)@apply[\s]*\(([^)]*)\)/i,
+VAR_MATCH: /(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,)]*)|(?:[^;]*\([^;)]*\)))[\s]*?\)/gi,
+VAR_CAPTURE: /\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gi,
+IS_VAR: /^--/,
BRACKETED: /\{[^}]*\}/g,
-HOST_PREFIX: '(?:^|[^.])',
+HOST_PREFIX: '(?:^|[^.#[:])',
HOST_SUFFIX: '($|[.:[\\s>+~])'
},
HOST_SELECTORS: [':host'],
@@ -2517,35 +2706,6 @@ var v = 1 << n % 32;
bits[o] = (bits[o] || 0) | v;
}
}();
-Polymer.StyleDefaults = function () {
-var styleProperties = Polymer.StyleProperties;
-var styleUtil = Polymer.StyleUtil;
-var style = document.createElement('style');
-var api = {
-style: style,
-_styles: [style],
-_properties: null,
-applyCss: function (cssText) {
-this.style.textContent += cssText;
-styleUtil.clearStyleRules(this.style);
-this._properties = null;
-},
-get _styleProperties() {
-if (!this._properties) {
-styleProperties.decorateStyles(this._styles);
-this._styles._scopeStyleProperties = null;
-this._properties = styleProperties.scopePropertiesFromStyles(this._styles);
-}
-return this._properties;
-},
-_needsStyleProperties: function () {
-},
-_computeStyleProperties: function () {
-return this._styleProperties;
-}
-};
-return api;
-}();
(function () {
Polymer.StyleCache = function () {
this.cache = {};
@@ -2576,8 +2736,10 @@ clear: function () {
this.cache = {};
},
_objectsEqual: function (target, source) {
+var t, s;
for (var i in target) {
-if (target[i] !== source[i]) {
+t = target[i], s = source[i];
+if (!(typeof t === 'object' && t ? this._objectsStrictlyEqual(t, s) : t === s)) {
return false;
}
}
@@ -2585,10 +2747,57 @@ if (Array.isArray(target)) {
return target.length === source.length;
}
return true;
+},
+_objectsStrictlyEqual: function (target, source) {
+return this._objectsEqual(target, source) && this._objectsEqual(source, target);
}
};
}());
+Polymer.StyleDefaults = function () {
+var styleProperties = Polymer.StyleProperties;
+var styleUtil = Polymer.StyleUtil;
+var StyleCache = Polymer.StyleCache;
+var api = {
+_styles: [],
+_properties: null,
+customStyle: {},
+_styleCache: new StyleCache(),
+addStyle: function (style) {
+this._styles.push(style);
+this._properties = null;
+},
+get _styleProperties() {
+if (!this._properties) {
+styleProperties.decorateStyles(this._styles);
+this._styles._scopeStyleProperties = null;
+this._properties = styleProperties.scopePropertiesFromStyles(this._styles);
+styleProperties.mixinCustomStyle(this._properties, this.customStyle);
+styleProperties.reify(this._properties);
+}
+return this._properties;
+},
+_needsStyleProperties: function () {
+},
+_computeStyleProperties: function () {
+return this._styleProperties;
+},
+updateStyles: function (properties) {
+this._properties = null;
+if (properties) {
+Polymer.Base.mixin(this.customStyle, properties);
+}
+this._styleCache.clear();
+for (var i = 0, s; i < this._styles.length; i++) {
+s = this._styles[i];
+s = s.__importElement || s;
+s._apply();
+}
+}
+};
+return api;
+}();
(function () {
+'use strict';
var serializeValueToAttribute = Polymer.Base.serializeValueToAttribute;
var propertyUtils = Polymer.StyleProperties;
var styleTransformer = Polymer.StyleTransformer;
@@ -2610,12 +2819,23 @@ if (!this._scopeSelector && this._needsStyleProperties()) {
this._updateStyleProperties();
}
},
+_findStyleHost: function () {
+var e = this, root;
+while (root = Polymer.dom(e).getOwnerRoot()) {
+if (Polymer.isInstance(root.host)) {
+return root.host;
+}
+e = root.host;
+}
+return styleDefaults;
+},
_updateStyleProperties: function () {
-var info, scope = this.domHost || styleDefaults;
+var info, scope = this._findStyleHost();
if (!scope._styleCache) {
scope._styleCache = new Polymer.StyleCache();
}
var scopeData = propertyUtils.propertyDataFromStyles(scope._styles, this);
+scopeData.key.customStyle = this.customStyle;
info = scope._styleCache.retrieve(this.is, scopeData.key, this._styles);
var scopeCached = Boolean(info);
if (scopeCached) {
@@ -2628,17 +2848,16 @@ if (!scopeCached) {
info = styleCache.retrieve(this.is, this._ownStyleProperties, this._styles);
}
var globalCached = Boolean(info) && !scopeCached;
-style = this._applyStyleProperties(info);
+var style = this._applyStyleProperties(info);
if (!scopeCached) {
-var cacheableStyle = style;
-if (nativeShadow) {
-cacheableStyle = style.cloneNode ? style.cloneNode(true) : Object.create(style || null);
-}
+style = style && nativeShadow ? style.cloneNode(true) : style;
info = {
-style: cacheableStyle,
+style: style,
_scopeSelector: this._scopeSelector,
_styleProperties: this._styleProperties
};
+scopeData.key.customStyle = {};
+this.mixin(scopeData.key.customStyle, this.customStyle);
scope._styleCache.store(this.is, info, scopeData.key, this._styles);
if (!globalCached) {
styleCache.store(this.is, Object.create(info), this._ownStyleProperties, this._styles);
@@ -2646,7 +2865,7 @@ styleCache.store(this.is, Object.create(info), this._ownStyleProperties, this._s
}
},
_computeStyleProperties: function (scopeProps) {
-var scope = this.domHost || styleDefaults;
+var scope = this._findStyleHost();
if (!scope._styleProperties) {
scope._computeStyleProperties();
}
@@ -2655,7 +2874,7 @@ this.mixin(props, propertyUtils.hostPropertiesFromStyles(this._styles));
scopeProps = scopeProps || propertyUtils.propertyDataFromStyles(scope._styles, this).properties;
this.mixin(props, scopeProps);
this.mixin(props, propertyUtils.scopePropertiesFromStyles(this._styles));
-this.mixin(props, this.customStyle);
+propertyUtils.mixinCustomStyle(props, this.customStyle);
propertyUtils.reify(props);
this._styleProperties = props;
},
@@ -2671,15 +2890,15 @@ _scopeCount: 0,
_applyStyleProperties: function (info) {
var oldScopeSelector = this._scopeSelector;
this._scopeSelector = info ? info._scopeSelector : this.is + '-' + this.__proto__._scopeCount++;
-style = propertyUtils.applyElementStyle(this, this._styleProperties, this._scopeSelector, info && info.style);
-if ((style || oldScopeSelector) && !nativeShadow) {
+var style = propertyUtils.applyElementStyle(this, this._styleProperties, this._scopeSelector, info && info.style);
+if (!nativeShadow) {
propertyUtils.applyElementScopeSelector(this, this._scopeSelector, oldScopeSelector, this._scopeCssViaAttr);
}
-return style || {};
+return style;
},
serializeValueToAttribute: function (value, attribute, node) {
node = node || this;
-if (attribute === 'class') {
+if (attribute === 'class' && !nativeShadow) {
var host = node === this ? this.domHost || this.dataHost : this;
if (host) {
value = host._scopeElementClass(node, value);
@@ -2694,8 +2913,11 @@ selector += (selector ? ' ' : '') + SCOPE_NAME + ' ' + this.is + (element._scope
}
return selector;
},
-updateStyles: function () {
+updateStyles: function (properties) {
if (this.isAttached) {
+if (properties) {
+this.mixin(this.customStyle, properties);
+}
if (this._needsStyleProperties()) {
this._updateStyleProperties();
} else {
@@ -2719,8 +2941,8 @@ c.updateStyles();
}
}
});
-Polymer.updateStyles = function () {
-styleDefaults._styleCache.clear();
+Polymer.updateStyles = function (properties) {
+styleDefaults.updateStyles(properties);
Polymer.Base._updateRootStyles(document);
};
var styleCache = new Polymer.StyleCache();
@@ -2732,7 +2954,6 @@ Polymer.Base._addFeature({
_registerFeatures: function () {
this._prepIs();
this._prepAttributes();
-this._prepExtends();
this._prepConstructor();
this._prepTemplate();
this._prepStyles();
@@ -2772,53 +2993,52 @@ var nativeShadow = Polymer.Settings.useNativeShadow;
var propertyUtils = Polymer.StyleProperties;
var styleUtil = Polymer.StyleUtil;
var styleDefaults = Polymer.StyleDefaults;
+var styleTransformer = Polymer.StyleTransformer;
Polymer({
is: 'custom-style',
extends: 'style',
created: function () {
-this._appliesToDocument = this.parentNode.localName !== 'dom-module';
-if (this._appliesToDocument) {
+this._tryApply();
+},
+attached: function () {
+this._tryApply();
+},
+_tryApply: function () {
+if (!this._appliesToDocument) {
+if (this.parentNode && this.parentNode.localName !== 'dom-module') {
+this._appliesToDocument = true;
var e = this.__appliedElement || this;
-var rules = styleUtil.rulesForStyle(e);
-propertyUtils.decorateStyles([e]);
-this._rulesToDefaultProperties(rules);
-this.async(this._applyStyle);
+styleDefaults.addStyle(e);
+if (e.textContent) {
+this._apply();
+} else {
+var observer = new MutationObserver(function () {
+observer.disconnect();
+this._apply();
+}.bind(this));
+observer.observe(e, { childList: true });
+}
+}
}
},
-_applyStyle: function () {
+_apply: function () {
var e = this.__appliedElement || this;
this._computeStyleProperties();
var props = this._styleProperties;
var self = this;
e.textContent = styleUtil.toCssText(styleUtil.rulesForStyle(e), function (rule) {
-if (rule.selector === ':root') {
-rule.selector = 'body';
-}
var css = rule.cssText = rule.parsedCssText;
if (rule.propertyInfo && rule.propertyInfo.cssText) {
css = css.replace(propertyUtils.rx.VAR_ASSIGN, '');
rule.cssText = propertyUtils.valueForProperties(css, props);
}
-if (!nativeShadow) {
-Polymer.StyleTransformer.rootRule(rule);
-}
+styleTransformer.documentRule(rule);
});
-},
-_rulesToDefaultProperties: function (rules) {
-styleUtil.forEachStyleRule(rules, function (rule) {
-if (!rule.propertyInfo.properties) {
-rule.cssText = '';
-}
-});
-var cssText = styleUtil.parser.stringify(rules, true);
-if (cssText) {
-styleDefaults.applyCss(cssText);
-}
}
});
}());
Polymer.Templatizer = {
-properties: { _hideTemplateChildren: { observer: '_showHideChildren' } },
+properties: { __hideTemplateChildren__: { observer: '_showHideChildren' } },
_templatizerStatic: {
count: 0,
callbacks: {},
@@ -2847,6 +3067,7 @@ this._prepParentProperties(archetype, template);
archetype._notifyPath = this._notifyPathImpl;
archetype._scopeElementClass = this._scopeElementClassImpl;
archetype.listen = this._listenImpl;
+archetype._showHideChildren = this._showHideChildrenImpl;
var _constructor = this._constructorImpl;
var ctor = function TemplateInstance(model, host) {
_constructor.call(this, model, host);
@@ -2859,7 +3080,15 @@ this.ctor = ctor;
_getRootDataHost: function () {
return this.dataHost && this.dataHost._rootDataHost || this.dataHost;
},
-_showHideChildren: function (hidden) {
+_showHideChildrenImpl: function (hide) {
+var c = this._children;
+for (var i = 0; i < c.length; i++) {
+var n = c[i];
+if (n.style) {
+n.style.display = hide ? 'none' : '';
+n.__hideTemplateChildren__ = hide;
+}
+}
},
_debounceTemplate: function (fn) {
this._templatizerStatic.callbacks[this._templatizerId] = fn.bind(this);
@@ -2882,6 +3111,9 @@ var parentProps = archetype._parentProps;
for (var prop in parentProps) {
archetype._addPropertyEffect(prop, 'function', this._createHostPropEffector(prop));
}
+for (var prop in this._instanceProps) {
+archetype._addPropertyEffect(prop, 'function', this._createInstancePropEffector(prop));
+}
},
_customPrepAnnotations: function (archetype, template) {
archetype._template = template;
@@ -2940,18 +3172,29 @@ return function (source, value) {
this.dataHost['_parent_' + prop] = value;
};
},
+_createInstancePropEffector: function (prop) {
+return function (source, value, old, fromAbove) {
+if (!fromAbove) {
+this.dataHost._forwardInstanceProp(this, prop, value);
+}
+};
+},
_extendTemplate: function (template, proto) {
Object.getOwnPropertyNames(proto).forEach(function (n) {
var val = template[n];
var pd = Object.getOwnPropertyDescriptor(proto, n);
Object.defineProperty(template, n, pd);
if (val !== undefined) {
-template._propertySet(n, val);
+template._propertySetter(n, val);
}
});
},
+_showHideChildren: function (hidden) {
+},
_forwardInstancePath: function (inst, path, value) {
},
+_forwardInstanceProp: function (inst, prop, value) {
+},
_notifyPathImpl: function (path, value) {
var dataHost = this.dataHost;
var dot = path.indexOf('.');
@@ -2974,6 +3217,7 @@ this._rootDataHost = host._getRootDataHost();
this._setupConfigure(model);
this._pushHost(host);
this.root = this.instanceTemplate(this._template);
+this.root.__noContent = !this._notes._hasContent;
this.root.__styleScoped = true;
this._popHost();
this._marshalAnnotatedNodes();
@@ -2985,6 +3229,9 @@ children.push(n);
n._templateInstance = this;
}
this._children = children;
+if (host.__hideTemplateChildren__) {
+this._showHideChildren(true);
+}
this._tryReady();
},
_listenImpl: function (node, eventName, methodName) {
@@ -3011,6 +3258,20 @@ model[prop] = this['_parent_' + prop];
}
}
return new this.ctor(model, this);
+},
+modelForElement: function (el) {
+var model;
+while (el) {
+if (model = el._templateInstance) {
+if (model.dataHost != this) {
+el = model.dataHost;
+} else {
+return model;
+}
+} else {
+el = el.parentNode;
+}
+}
}
};
Polymer({
@@ -3057,7 +3318,7 @@ this._removeFromMap(this.store[key]);
delete this.store[key];
},
_removeFromMap: function (item) {
-if (typeof item == 'object') {
+if (item && typeof item == 'object') {
this.omap.delete(item);
} else {
delete this.pmap[item];
@@ -3069,7 +3330,7 @@ this.removeKey(key);
return key;
},
getKey: function (item) {
-if (typeof item == 'object') {
+if (item && typeof item == 'object') {
return this.omap.get(item);
} else {
return this.pmap[item];
@@ -3078,8 +3339,17 @@ return this.pmap[item];
getKeys: function () {
return Object.keys(this.store);
},
-setItem: function (key, value) {
-this.store[key] = value;
+setItem: function (key, item) {
+var old = this.store[key];
+if (old) {
+this._removeFromMap(old);
+}
+if (item && typeof item == 'object') {
+this.omap.set(item, key);
+} else {
+this.pmap[item] = key;
+}
+this.store[key] = item;
},
getItem: function (key) {
return this.store[key];
@@ -3091,7 +3361,7 @@ items.push(store[key]);
}
return items;
},
-applySplices: function (splices) {
+_applySplices: function (splices) {
var keySplices = [];
for (var i = 0; i < splices.length; i++) {
var j, o, key, s = splices[i];
@@ -3120,6 +3390,10 @@ return keySplices;
Polymer.Collection.get = function (userArray) {
return Polymer._collections.get(userArray) || new Polymer.Collection(userArray);
};
+Polymer.Collection.applySplices = function (userArray, splices) {
+var coll = Polymer._collections.get(userArray);
+return coll ? coll._applySplices(splices) : null;
+};
Polymer({
is: 'dom-repeat',
extends: 'template',
@@ -3149,19 +3423,18 @@ delay: Number
},
behaviors: [Polymer.Templatizer],
observers: ['_itemsChanged(items.*)'],
+created: function () {
+this._instances = [];
+},
detached: function () {
-if (this.rows) {
-for (var i = 0; i < this.rows.length; i++) {
+for (var i = 0; i < this._instances.length; i++) {
this._detachRow(i);
}
-}
},
attached: function () {
-if (this.rows) {
var parentNode = Polymer.dom(this).parentNode;
-for (var i = 0; i < this.rows.length; i++) {
-Polymer.dom(parentNode).insertBefore(this.rows[i].root, this);
-}
+for (var i = 0; i < this._instances.length; i++) {
+Polymer.dom(parentNode).insertBefore(this._instances[i].root, this);
}
},
ready: function () {
@@ -3178,7 +3451,7 @@ var sort = this.sort;
this._sortFn = sort && (typeof sort == 'function' ? sort : function () {
return dataHost[sort].apply(dataHost, arguments);
});
-this._fullRefresh = true;
+this._needFullRefresh = true;
if (this.items) {
this._debounceTemplate(this._render);
}
@@ -3189,7 +3462,7 @@ var filter = this.filter;
this._filterFn = filter && (typeof filter == 'function' ? filter : function () {
return dataHost[filter].apply(dataHost, arguments);
});
-this._fullRefresh = true;
+this._needFullRefresh = true;
if (this.items) {
this._debounceTemplate(this._render);
}
@@ -3207,7 +3480,7 @@ this.collection = null;
this._error(this._logf('dom-repeat', 'expected array for `items`,' + ' found', this.items));
}
this._splices = [];
-this._fullRefresh = true;
+this._needFullRefresh = true;
this._debounceTemplate(this._render);
} else if (change.path == 'items.splices') {
this._splices = this._splices.concat(change.value.keySplices);
@@ -3224,7 +3497,7 @@ path = path.substring(path.indexOf('.') + 1);
var paths = this._observePaths;
for (var i = 0; i < paths.length; i++) {
if (path.indexOf(paths[i]) === 0) {
-this._fullRefresh = true;
+this._needFullRefresh = true;
if (this.delay) {
this.debounce('render', this._render, this.delay);
} else {
@@ -3236,102 +3509,111 @@ return;
}
},
render: function () {
-this._fullRefresh = true;
-this.debounce('render', this._render);
+this._needFullRefresh = true;
+this._debounceTemplate(this._render);
this._flushTemplates();
},
_render: function () {
var c = this.collection;
-if (!this._fullRefresh) {
+if (this._needFullRefresh) {
+this._applyFullRefresh();
+this._needFullRefresh = false;
+} else {
if (this._sortFn) {
-this._applySplicesViewSort(this._splices);
+this._applySplicesUserSort(this._splices);
} else {
if (this._filterFn) {
-this._fullRefresh = true;
+this._applyFullRefresh();
} else {
-this._applySplicesArraySort(this._splices);
-}
+this._applySplicesArrayOrder(this._splices);
}
}
-if (this._fullRefresh) {
-this._sortAndFilter();
-this._fullRefresh = false;
}
this._splices = [];
-var rowForKey = this._rowForKey = {};
-var keys = this._orderedKeys;
-this.rows = this.rows || [];
-for (var i = 0; i < keys.length; i++) {
-var key = keys[i];
-var item = c.getItem(key);
-var row = this.rows[i];
-rowForKey[key] = i;
-if (!row) {
-this.rows.push(row = this._insertRow(i, null, item));
-}
-row[this.as] = item;
-row.__key__ = key;
-row[this.indexAs] = i;
-}
-for (; i < this.rows.length; i++) {
-this._detachRow(i);
+var keyToIdx = this._keyToInstIdx = {};
+for (var i = 0; i < this._instances.length; i++) {
+var inst = this._instances[i];
+keyToIdx[inst.__key__] = i;
+inst.__setProperty(this.indexAs, i, true);
}
-this.rows.splice(keys.length, this.rows.length - keys.length);
this.fire('dom-change');
},
-_sortAndFilter: function () {
+_applyFullRefresh: function () {
var c = this.collection;
-if (!this._sortFn) {
-this._orderedKeys = [];
+var keys;
+if (this._sortFn) {
+keys = c ? c.getKeys() : [];
+} else {
+keys = [];
var items = this.items;
if (items) {
for (var i = 0; i < items.length; i++) {
-this._orderedKeys.push(c.getKey(items[i]));
+keys.push(c.getKey(items[i]));
}
}
-} else {
-this._orderedKeys = c ? c.getKeys() : [];
}
if (this._filterFn) {
-this._orderedKeys = this._orderedKeys.filter(function (a) {
+keys = keys.filter(function (a) {
return this._filterFn(c.getItem(a));
}, this);
}
if (this._sortFn) {
-this._orderedKeys.sort(function (a, b) {
+keys.sort(function (a, b) {
return this._sortFn(c.getItem(a), c.getItem(b));
}.bind(this));
}
+for (var i = 0; i < keys.length; i++) {
+var key = keys[i];
+var inst = this._instances[i];
+if (inst) {
+inst.__setProperty('__key__', key, true);
+inst.__setProperty(this.as, c.getItem(key), true);
+} else {
+this._instances.push(this._insertRow(i, key));
+}
+}
+for (; i < this._instances.length; i++) {
+this._detachRow(i);
+}
+this._instances.splice(keys.length, this._instances.length - keys.length);
},
_keySort: function (a, b) {
return this.collection.getKey(a) - this.collection.getKey(b);
},
-_applySplicesViewSort: function (splices) {
+_applySplicesUserSort: function (splices) {
var c = this.collection;
-var keys = this._orderedKeys;
-var rows = this.rows;
-var removedRows = [];
-var addedKeys = [];
+var instances = this._instances;
+var keyMap = {};
var pool = [];
var sortFn = this._sortFn || this._keySort.bind(this);
splices.forEach(function (s) {
for (var i = 0; i < s.removed.length; i++) {
-var idx = this._rowForKey[s.removed[i]];
-if (idx != null) {
-removedRows.push(idx);
-}
+var key = s.removed[i];
+keyMap[key] = keyMap[key] ? null : -1;
}
for (var i = 0; i < s.added.length; i++) {
-addedKeys.push(s.added[i]);
+var key = s.added[i];
+keyMap[key] = keyMap[key] ? null : 1;
}
}, this);
-if (removedRows.length) {
-removedRows.sort();
-for (var i = removedRows.length - 1; i >= 0; i--) {
-var idx = removedRows[i];
+var removedIdxs = [];
+var addedKeys = [];
+for (var key in keyMap) {
+if (keyMap[key] === -1) {
+removedIdxs.push(this._keyToInstIdx[key]);
+}
+if (keyMap[key] === 1) {
+addedKeys.push(key);
+}
+}
+if (removedIdxs.length) {
+removedIdxs.sort();
+for (var i = removedIdxs.length - 1; i >= 0; i--) {
+var idx = removedIdxs[i];
+if (idx !== undefined) {
pool.push(this._detachRow(idx));
-rows.splice(idx, 1);
-keys.splice(idx, 1);
+instances.splice(idx, 1);
+}
}
}
if (addedKeys.length) {
@@ -3345,19 +3627,19 @@ return this._sortFn(c.getItem(a), c.getItem(b));
}.bind(this));
var start = 0;
for (var i = 0; i < addedKeys.length; i++) {
-start = this._insertRowIntoViewSort(start, addedKeys[i], pool);
+start = this._insertRowUserSort(start, addedKeys[i], pool);
}
}
},
-_insertRowIntoViewSort: function (start, key, pool) {
+_insertRowUserSort: function (start, key, pool) {
var c = this.collection;
var item = c.getItem(key);
-var end = this.rows.length - 1;
+var end = this._instances.length - 1;
var idx = -1;
var sortFn = this._sortFn || this._keySort.bind(this);
while (start <= end) {
var mid = start + end >> 1;
-var midKey = this._orderedKeys[mid];
+var midKey = this._instances[mid].__key__;
var cmp = sortFn(c.getItem(midKey), item);
if (cmp < 0) {
start = mid + 1;
@@ -3371,121 +3653,114 @@ break;
if (idx < 0) {
idx = end + 1;
}
-this._orderedKeys.splice(idx, 0, key);
-this.rows.splice(idx, 0, this._insertRow(idx, pool, c.getItem(key)));
+this._instances.splice(idx, 0, this._insertRow(idx, key, pool));
return idx;
},
-_applySplicesArraySort: function (splices) {
-var keys = this._orderedKeys;
+_applySplicesArrayOrder: function (splices) {
var pool = [];
+var c = this.collection;
splices.forEach(function (s) {
for (var i = 0; i < s.removed.length; i++) {
-pool.push(this._detachRow(s.index + i));
+var inst = this._detachRow(s.index + i);
+if (!inst.isPlaceholder) {
+pool.push(inst);
}
-this.rows.splice(s.index, s.removed.length);
-}, this);
-var c = this.collection;
-splices.forEach(function (s) {
-var args = [
-s.index,
-s.removed.length
-].concat(s.added);
-keys.splice.apply(keys, args);
+}
+this._instances.splice(s.index, s.removed.length);
for (var i = 0; i < s.added.length; i++) {
-var item = c.getItem(s.added[i]);
-var row = this._insertRow(s.index + i, pool, item);
-this.rows.splice(s.index + i, 0, row);
+var inst = {
+isPlaceholder: true,
+key: s.added[i]
+};
+this._instances.splice(s.index + i, 0, inst);
}
}, this);
+for (var i = this._instances.length - 1; i >= 0; i--) {
+var inst = this._instances[i];
+if (inst.isPlaceholder) {
+this._instances[i] = this._insertRow(i, inst.key, pool, true);
+}
+}
},
_detachRow: function (idx) {
-var row = this.rows[idx];
+var inst = this._instances[idx];
+if (!inst.isPlaceholder) {
var parentNode = Polymer.dom(this).parentNode;
-for (var i = 0; i < row._children.length; i++) {
-var el = row._children[i];
-Polymer.dom(row.root).appendChild(el);
+for (var i = 0; i < inst._children.length; i++) {
+var el = inst._children[i];
+Polymer.dom(inst.root).appendChild(el);
}
-return row;
+}
+return inst;
},
-_insertRow: function (idx, pool, item) {
-var row = pool && pool.pop() || this._generateRow(idx, item);
-var beforeRow = this.rows[idx];
+_insertRow: function (idx, key, pool, replace) {
+var inst;
+if (inst = pool && pool.pop()) {
+inst.__setProperty(this.as, this.collection.getItem(key), true);
+inst.__setProperty('__key__', key, true);
+} else {
+inst = this._generateRow(idx, key);
+}
+var beforeRow = this._instances[replace ? idx + 1 : idx];
var beforeNode = beforeRow ? beforeRow._children[0] : this;
var parentNode = Polymer.dom(this).parentNode;
-Polymer.dom(parentNode).insertBefore(row.root, beforeNode);
-return row;
+Polymer.dom(parentNode).insertBefore(inst.root, beforeNode);
+return inst;
},
-_generateRow: function (idx, item) {
-var model = { __key__: this.collection.getKey(item) };
-model[this.as] = item;
+_generateRow: function (idx, key) {
+var model = { __key__: key };
+model[this.as] = this.collection.getItem(key);
model[this.indexAs] = idx;
-var row = this.stamp(model);
-return row;
+var inst = this.stamp(model);
+return inst;
},
_showHideChildren: function (hidden) {
-if (this.rows) {
-for (var i = 0; i < this.rows.length; i++) {
-var c$ = this.rows[i]._children;
-for (var j = 0; j < c$.length; j++) {
-var c = c$[j];
-if (c.style) {
-c.style.display = hidden ? 'none' : '';
-}
-c._hideTemplateChildren = hidden;
+for (var i = 0; i < this._instances.length; i++) {
+this._instances[i]._showHideChildren(hidden);
}
+},
+_forwardInstanceProp: function (inst, prop, value) {
+if (prop == this.as) {
+var idx;
+if (this._sortFn || this._filterFn) {
+idx = this.items.indexOf(this.collection.getItem(inst.__key__));
+} else {
+idx = inst[this.indexAs];
}
+this.set('items.' + idx, value);
}
},
-_forwardInstancePath: function (row, path, value) {
+_forwardInstancePath: function (inst, path, value) {
if (path.indexOf(this.as + '.') === 0) {
-this.notifyPath('items.' + row.__key__ + '.' + path.slice(this.as.length + 1), value);
-return true;
+this.notifyPath('items.' + inst.__key__ + '.' + path.slice(this.as.length + 1), value);
}
},
_forwardParentProp: function (prop, value) {
-if (this.rows) {
-this.rows.forEach(function (row) {
-row[prop] = value;
+this._instances.forEach(function (inst) {
+inst.__setProperty(prop, value, true);
}, this);
-}
},
_forwardParentPath: function (path, value) {
-if (this.rows) {
-this.rows.forEach(function (row) {
-row.notifyPath(path, value, true);
+this._instances.forEach(function (inst) {
+inst.notifyPath(path, value, true);
}, this);
-}
},
_forwardItemPath: function (path, value) {
-if (this._rowForKey) {
+if (this._keyToInstIdx) {
var dot = path.indexOf('.');
var key = path.substring(0, dot < 0 ? path.length : dot);
-var idx = this._rowForKey[key];
-var row = this.rows[idx];
-if (row) {
+var idx = this._keyToInstIdx[key];
+var inst = this._instances[idx];
+if (inst) {
if (dot >= 0) {
path = this.as + '.' + path.substring(dot + 1);
-row.notifyPath(path, value, true);
+inst.notifyPath(path, value, true);
} else {
-row[this.as] = value;
+inst.__setProperty(this.as, value, true);
}
}
}
},
-modelForElement: function (el) {
-var model;
-while (el) {
-if (model = el._templateInstance) {
-if (model.dataHost != this) {
-el = model.dataHost;
-} else {
-return model;
-}
-} else {
-el = el.parentNode;
-}
-}
-},
itemForElement: function (el) {
var instance = this.modelForElement(el);
return instance && instance[this.as];
@@ -3549,8 +3824,10 @@ if (this.multi) {
var scol = Polymer.Collection.get(this.selected);
var skey = scol.getKey(item);
if (skey >= 0) {
+if (this.toggle) {
this.deselect(item);
-} else if (this.toggle) {
+}
+} else {
this.push('selected', item);
this.async(function () {
skey = scol.getKey(item);
@@ -3573,15 +3850,16 @@ extends: 'template',
properties: {
'if': {
type: Boolean,
-value: false
+value: false,
+observer: '_queueRender'
},
restamp: {
type: Boolean,
-value: false
+value: false,
+observer: '_queueRender'
}
},
behaviors: [Polymer.Templatizer],
-observers: ['_queueRender(if, restamp)'],
_queueRender: function () {
this._debounceTemplate(this._render);
},
@@ -3637,7 +3915,7 @@ this._instance = null;
},
_wrapTextNodes: function (root) {
for (var n = root.firstChild; n; n = n.nextSibling) {
-if (n.nodeType === Node.TEXT_NODE) {
+if (n.nodeType === Node.TEXT_NODE && n.textContent.trim()) {
var s = document.createElement('span');
root.insertBefore(s, n);
s.appendChild(n);
@@ -3646,14 +3924,9 @@ n = s;
}
},
_showHideChildren: function () {
-var hidden = this._hideTemplateChildren || !this.if;
+var hidden = this.__hideTemplateChildren__ || !this.if;
if (this._instance) {
-var c$ = this._instance._children;
-for (var i = 0; i < c$.length; i++) {
-var c = c$[i];
-c.style.display = hidden ? 'none' : '';
-c._hideTemplateChildren = hidden;
-}
+this._instance._showHideChildren(hidden);
}
},
_forwardParentProp: function (prop, value) {
@@ -3700,7 +3973,6 @@ created: function () {
Polymer.ImportStatus.whenLoaded(this._readySelf.bind(this));
},
_registerFeatures: function () {
-this._prepExtends();
this._prepConstructor();
},
_insertChildren: function () {
diff --git a/third_party/polymer/v1_0/components-chromium/polymer/polymer-micro-extracted.js b/third_party/polymer/v1_0/components-chromium/polymer/polymer-micro-extracted.js
index 7b7b84d..c71ecde 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer/polymer-micro-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/polymer/polymer-micro-extracted.js
@@ -51,7 +51,11 @@ document.registerElement(prototype.is, options);
return ctor;
};
var desugar = function (prototype) {
-prototype = Polymer.Base.chainObject(prototype, Polymer.Base);
+var base = Polymer.Base;
+if (prototype.extends) {
+base = Polymer.Base._getExtendedPrototype(prototype.extends);
+}
+prototype = Polymer.Base.chainObject(prototype, base);
prototype.registerCallback();
return prototype.constructor;
};
@@ -84,6 +88,7 @@ return (document._currentScript || document.currentScript).ownerDocument;
}
});
Polymer.Base = {
+__isPolymerInstance__: true,
_addFeature: function (feature) {
this.extend(this, feature);
},
@@ -117,6 +122,12 @@ this.copyOwnProperty(n, api, prototype);
}
return prototype || api;
},
+mixin: function (target, source) {
+for (var i in source) {
+target[i] = source[i];
+}
+return target;
+},
copyOwnProperty: function (name, source, target) {
var pd = Object.getOwnPropertyDescriptor(source, name);
if (pd) {
@@ -147,6 +158,16 @@ object.__proto__ = inherited;
return object;
};
Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype);
+if (window.CustomElements) {
+Polymer.instanceof = CustomElements.instanceof;
+} else {
+Polymer.instanceof = function (obj, ctor) {
+return obj instanceof ctor;
+};
+}
+Polymer.isInstance = function (obj) {
+return Boolean(obj && obj.__isPolymerInstance__);
+};
Polymer.telemetry.instanceCount = 0;
(function () {
var modules = {};
@@ -275,11 +296,6 @@ this._marshalBehavior(this);
}
});
Polymer.Base._addFeature({
-_prepExtends: function () {
-if (this.extends) {
-this.__proto__ = this._getExtendedPrototype(this.extends);
-}
-},
_getExtendedPrototype: function (tag) {
return this._getExtendedNativePrototype(tag);
},
@@ -492,13 +508,12 @@ debouncer.stop();
}
}
});
-Polymer.version = '1.0.3';
+Polymer.version = '1.0.7';
Polymer.Base._addFeature({
_registerFeatures: function () {
this._prepIs();
this._prepAttributes();
this._prepBehaviors();
-this._prepExtends();
this._prepConstructor();
},
_prepBehavior: function (b) {
diff --git a/third_party/polymer/v1_0/components-chromium/polymer/polymer-mini-extracted.js b/third_party/polymer/v1_0/components-chromium/polymer/polymer-mini-extracted.js
index d5bef3c..640b155 100644
--- a/third_party/polymer/v1_0/components-chromium/polymer/polymer-mini-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/polymer/polymer-mini-extracted.js
@@ -1,13 +1,6 @@
Polymer.Base._addFeature({
_prepTemplate: function () {
this._template = this._template || Polymer.DomModule.import(this.is, 'template');
-if (!this._template) {
-var script = document._currentScript || document.currentScript;
-var prev = script && script.previousElementSibling;
-if (prev && prev.localName === 'template') {
-this._template = prev;
-}
-}
if (this._template && this._template.hasAttribute('is')) {
this._warn(this._logf('_prepTemplate', 'top-level Polymer template ' + 'must not be a type-extension, found', this._template, 'Move inside simple <template>.'));
}
@@ -423,6 +416,8 @@ var getInnerHTML = Polymer.domInnerHTML.getInnerHTML;
var nativeInsertBefore = Element.prototype.insertBefore;
var nativeRemoveChild = Element.prototype.removeChild;
var nativeAppendChild = Element.prototype.appendChild;
+var nativeCloneNode = Element.prototype.cloneNode;
+var nativeImportNode = Document.prototype.importNode;
var dirtyRoots = [];
var DomApi = function (node) {
this.node = node;
@@ -446,20 +441,17 @@ dirtyRoots.push(host);
}
},
appendChild: function (node) {
-var distributed;
-this._removeNodeFromHost(node);
+var handled;
+this._removeNodeFromHost(node, true);
if (this._nodeIsInLogicalTree(this.node)) {
-var host = this._hostForNode(this.node);
-this._addLogicalInfo(node, this.node, host && host.shadyRoot);
+this._addLogicalInfo(node, this.node);
this._addNodeToHost(node);
-if (host) {
-distributed = this._maybeDistribute(node, this.node, host);
-}
+handled = this._maybeDistribute(node, this.node);
}
-if (!distributed && !this._tryRemoveUndistributedNode(node)) {
+if (!handled && !this._tryRemoveUndistributedNode(node)) {
var container = this.node._isShadyRoot ? this.node.host : this.node;
-nativeAppendChild.call(container, node);
addToComposedParent(container, node);
+nativeAppendChild.call(container, node);
}
return node;
},
@@ -467,8 +459,8 @@ insertBefore: function (node, ref_node) {
if (!ref_node) {
return this.appendChild(node);
}
-var distributed;
-this._removeNodeFromHost(node);
+var handled;
+this._removeNodeFromHost(node, true);
if (this._nodeIsInLogicalTree(this.node)) {
saveLightChildrenIfNeeded(this.node);
var children = this.childNodes;
@@ -476,18 +468,15 @@ var index = children.indexOf(ref_node);
if (index < 0) {
throw Error('The ref_node to be inserted before is not a child ' + 'of this node');
}
-var host = this._hostForNode(this.node);
-this._addLogicalInfo(node, this.node, host && host.shadyRoot, index);
+this._addLogicalInfo(node, this.node, index);
this._addNodeToHost(node);
-if (host) {
-distributed = this._maybeDistribute(node, this.node, host);
+handled = this._maybeDistribute(node, this.node);
}
-}
-if (!distributed && !this._tryRemoveUndistributedNode(node)) {
+if (!handled && !this._tryRemoveUndistributedNode(node)) {
ref_node = ref_node.localName === CONTENT ? this._firstComposedNode(ref_node) : ref_node;
var container = this.node._isShadyRoot ? this.node.host : this.node;
-nativeInsertBefore.call(container, node, ref_node);
addToComposedParent(container, node, ref_node);
+nativeInsertBefore.call(container, node, ref_node);
}
return node;
},
@@ -495,17 +484,16 @@ removeChild: function (node) {
if (factory(node).parentNode !== this.node) {
console.warn('The node to be removed is not a child of this node', node);
}
-var distributed;
+var handled;
if (this._nodeIsInLogicalTree(this.node)) {
-var host = this._hostForNode(this.node);
-distributed = this._maybeDistribute(node, this.node, host);
this._removeNodeFromHost(node);
+handled = this._maybeDistribute(node, this.node);
}
-if (!distributed) {
+if (!handled) {
var container = this.node._isShadyRoot ? this.node.host : this.node;
if (container === node.parentNode) {
-nativeRemoveChild.call(container, node);
removeFromComposedParent(container, node);
+nativeRemoveChild.call(container, node);
}
}
return node;
@@ -538,21 +526,28 @@ node._ownerShadyRoot = root;
}
return node._ownerShadyRoot;
},
-_maybeDistribute: function (node, parent, host) {
-var nodeNeedsDistribute = this._nodeNeedsDistribution(node);
-var distribute = this._parentNeedsDistribution(parent) || nodeNeedsDistribute;
-if (nodeNeedsDistribute) {
+_maybeDistribute: function (node, parent) {
+var fragContent = node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !node.__noContent && Polymer.dom(node).querySelector(CONTENT);
+var wrappedContent = fragContent && Polymer.dom(fragContent).parentNode.nodeType !== Node.DOCUMENT_FRAGMENT_NODE;
+var hasContent = fragContent || node.localName === CONTENT;
+if (hasContent) {
+var root = this._ownerShadyRootForNode(parent);
+if (root) {
+var host = root.host;
this._updateInsertionPoints(host);
-}
-if (distribute) {
this._lazyDistribute(host);
}
-return distribute;
+}
+var parentNeedsDist = this._parentNeedsDistribution(parent);
+if (parentNeedsDist) {
+this._lazyDistribute(parent);
+}
+return parentNeedsDist || hasContent && !wrappedContent;
},
_tryRemoveUndistributedNode: function (node) {
if (this.node.shadyRoot) {
-if (node.parentNode) {
-nativeRemoveChild.call(node.parentNode, node);
+if (node._composedParent) {
+nativeRemoveChild.call(node._composedParent, node);
}
return true;
}
@@ -561,27 +556,58 @@ _updateInsertionPoints: function (host) {
host.shadyRoot._insertionPoints = factory(host.shadyRoot).querySelectorAll(CONTENT);
},
_nodeIsInLogicalTree: function (node) {
-return Boolean(node._lightParent || node._isShadyRoot || this._ownerShadyRootForNode(node) || node.shadyRoot);
-},
-_hostForNode: function (node) {
-var root = node.shadyRoot || (node._isShadyRoot ? node : this._ownerShadyRootForNode(node));
-return root && root.host;
+return Boolean(node._lightParent !== undefined || node._isShadyRoot || this._ownerShadyRootForNode(node) || node.shadyRoot);
},
_parentNeedsDistribution: function (parent) {
return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot);
},
-_nodeNeedsDistribution: function (node) {
-return node.localName === CONTENT || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && node.querySelector(CONTENT);
-},
-_removeNodeFromHost: function (node) {
-if (node._lightParent) {
-var root = this._ownerShadyRootForNode(node);
+_removeNodeFromHost: function (node, ensureComposedRemoval) {
+var hostNeedsDist;
+var root;
+var parent = node._lightParent;
+if (parent) {
+root = this._ownerShadyRootForNode(node);
if (root) {
root.host._elementRemove(node);
+hostNeedsDist = this._removeDistributedChildren(root, node);
}
this._removeLogicalInfo(node, node._lightParent);
}
this._removeOwnerShadyRoot(node);
+if (root && hostNeedsDist) {
+this._updateInsertionPoints(root.host);
+this._lazyDistribute(root.host);
+} else if (ensureComposedRemoval) {
+removeFromComposedParent(parent || node.parentNode, node);
+}
+},
+_removeDistributedChildren: function (root, container) {
+var hostNeedsDist;
+var ip$ = root._insertionPoints;
+for (var i = 0; i < ip$.length; i++) {
+var content = ip$[i];
+if (this._contains(container, content)) {
+var dc$ = factory(content).getDistributedNodes();
+for (var j = 0; j < dc$.length; j++) {
+hostNeedsDist = true;
+var node = dc$[j];
+var parent = node.parentNode;
+if (parent) {
+removeFromComposedParent(parent, node);
+nativeRemoveChild.call(parent, node);
+}
+}
+}
+}
+return hostNeedsDist;
+},
+_contains: function (container, node) {
+while (node) {
+if (node == container) {
+return true;
+}
+node = factory(node).parentNode;
+}
},
_addNodeToHost: function (node) {
var checkNode = node.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? node.firstChild : node;
@@ -590,7 +616,7 @@ if (root) {
root.host._elementAdd(node);
}
},
-_addLogicalInfo: function (node, container, root, index) {
+_addLogicalInfo: function (node, container, index) {
saveLightChildrenIfNeeded(container);
var children = factory(container).childNodes;
index = index === undefined ? children.length : index;
@@ -703,6 +729,31 @@ _distributeParent: function () {
if (this._parentNeedsDistribution(this.parentNode)) {
this._lazyDistribute(this.parentNode);
}
+},
+cloneNode: function (deep) {
+var n = nativeCloneNode.call(this.node, false);
+if (deep) {
+var c$ = this.childNodes;
+var d = factory(n);
+for (var i = 0, nc; i < c$.length; i++) {
+nc = factory(c$[i]).cloneNode(true);
+d.appendChild(nc);
+}
+}
+return n;
+},
+importNode: function (externalNode, deep) {
+var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
+var n = nativeImportNode.call(doc, externalNode, false);
+if (deep) {
+var c$ = factory(externalNode).childNodes;
+var d = factory(n);
+for (var i = 0, nc; i < c$.length; i++) {
+nc = factory(doc).importNode(c$[i], true);
+d.appendChild(nc);
+}
+}
+return n;
}
};
Object.defineProperty(DomApi.prototype, 'classList', {
@@ -730,6 +781,9 @@ this.domApi._distributeParent();
toggle: function () {
this.node.classList.toggle.apply(this.node.classList, arguments);
this.domApi._distributeParent();
+},
+contains: function () {
+return this.node.classList.contains.apply(this.node.classList, arguments);
}
};
if (!Settings.useShadow) {
@@ -848,8 +902,9 @@ if (this.node.nodeType !== Node.TEXT_NODE) {
this._clear();
var d = document.createElement('div');
d.innerHTML = text;
-for (var e = d.firstChild; e; e = e.nextSibling) {
-this.appendChild(e);
+var c$ = Array.prototype.slice.call(d.childNodes);
+for (var i = 0; i < c$.length; i++) {
+this.appendChild(c$[i]);
}
}
},
@@ -872,12 +927,19 @@ return n;
n = n.parentNode;
}
};
+DomApi.prototype.cloneNode = function (deep) {
+return this.node.cloneNode(deep);
+};
+DomApi.prototype.importNode = function (externalNode, deep) {
+var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
+return doc.importNode(externalNode, deep);
+};
DomApi.prototype.getDestinationInsertionPoints = function () {
-var n$ = this.node.getDestinationInsertionPoints();
+var n$ = this.node.getDestinationInsertionPoints && this.node.getDestinationInsertionPoints();
return n$ ? Array.prototype.slice.call(n$) : [];
};
DomApi.prototype.getDistributedNodes = function () {
-var n$ = this.node.getDistributedNodes();
+var n$ = this.node.getDistributedNodes && this.node.getDistributedNodes();
return n$ ? Array.prototype.slice.call(n$) : [];
};
DomApi.prototype._distributeParent = function () {
@@ -965,20 +1027,17 @@ var children = getComposedChildren(parent);
var i = ref_node ? children.indexOf(ref_node) : -1;
if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
var fragChildren = getComposedChildren(node);
-fragChildren.forEach(function (c) {
-addNodeToComposedChildren(c, parent, children, i);
-});
+for (var j = 0; j < fragChildren.length; j++) {
+addNodeToComposedChildren(fragChildren[j], parent, children, i + j);
+}
+node._composedChildren = null;
} else {
addNodeToComposedChildren(node, parent, children, i);
}
}
function addNodeToComposedChildren(node, parent, children, i) {
node._composedParent = parent;
-if (i >= 0) {
-children.splice(i, 0, node);
-} else {
-children.push(node);
-}
+children.splice(i >= 0 ? i : children.length, 0, node);
}
function removeFromComposedParent(parent, node) {
node._composedParent = null;
@@ -1019,9 +1078,6 @@ factory: factory
Polymer.Base._addFeature({
_prepShady: function () {
this._useContent = this._useContent || Boolean(this._template);
-if (this._useContent) {
-this._template._hasInsertionPoint = this._template.content.querySelector('content');
-}
},
_poolContent: function () {
if (this._useContent) {
@@ -1041,7 +1097,7 @@ this.shadyRoot = this.root;
this.shadyRoot._distributionClean = false;
this.shadyRoot._isShadyRoot = true;
this.shadyRoot._dirtyRoots = [];
-this.shadyRoot._insertionPoints = this._template._hasInsertionPoint ? this.shadyRoot.querySelectorAll('content') : [];
+this.shadyRoot._insertionPoints = !this._notes || this._notes._hasContent ? this.shadyRoot.querySelectorAll('content') : [];
saveLightChildrenIfNeeded(this.shadyRoot);
this.shadyRoot.host = this;
},
@@ -1049,10 +1105,14 @@ get domHost() {
var root = Polymer.dom(this).getOwnerRoot();
return root && root.host;
},
-distributeContent: function () {
+distributeContent: function (updateInsertionPoints) {
if (this.shadyRoot) {
+var dom = Polymer.dom(this);
+if (updateInsertionPoints) {
+dom._updateInsertionPoints(this);
+}
var host = getTopDistributingHost(this);
-Polymer.dom(this)._lazyDistribute(host);
+dom._lazyDistribute(host);
}
},
_distributeContent: function () {
@@ -1082,6 +1142,7 @@ this._composeTree();
} else {
if (!this.shadyRoot._hasDistributed) {
this.textContent = '';
+this._composedChildren = null;
this.appendChild(this.shadyRoot);
} else {
var children = this._composeNode(this);
@@ -1241,6 +1302,7 @@ points.push(insertionPoint);
}
function clearDistributedDestinationInsertionPoints(content) {
var e$ = content._distributedNodes;
+if (e$) {
for (var i = 0; i < e$.length; i++) {
var d = e$[i]._destinationInsertionPoints;
if (d) {
@@ -1248,6 +1310,7 @@ d.splice(d.indexOf(content) + 1, d.length);
}
}
}
+}
function maybeRedistributeParent(content, host) {
var parent = content._lightParent;
if (parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot) && parent.shadyRoot._distributionClean) {
@@ -1334,7 +1397,6 @@ _registerFeatures: function () {
this._prepIs();
this._prepAttributes();
this._prepBehaviors();
-this._prepExtends();
this._prepConstructor();
this._prepTemplate();
this._prepShady();
diff --git a/third_party/polymer/v1_0/components/font-roboto/.bower.json b/third_party/polymer/v1_0/components/font-roboto/.bower.json
new file mode 100644
index 0000000..d811ee4
--- /dev/null
+++ b/third_party/polymer/v1_0/components/font-roboto/.bower.json
@@ -0,0 +1,31 @@
+{
+ "name": "font-roboto",
+ "version": "1.0.1",
+ "description": "An HTML import for Roboto",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "font",
+ "roboto"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/font-roboto.git"
+ },
+ "main": "roboto.html",
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/font-roboto/",
+ "ignore": [
+ "/.*"
+ ],
+ "_release": "1.0.1",
+ "_resolution": {
+ "type": "version",
+ "tag": "v1.0.1",
+ "commit": "21ce9b51a417fa9995cf6606e886aba0728f70a1"
+ },
+ "_source": "git://github.com/PolymerElements/font-roboto.git",
+ "_target": "~1.0.0",
+ "_originalSource": "PolymerElements/font-roboto"
+} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/font-roboto/README.md b/third_party/polymer/v1_0/components/font-roboto/README.md
new file mode 100644
index 0000000..61c6394
--- /dev/null
+++ b/third_party/polymer/v1_0/components/font-roboto/README.md
@@ -0,0 +1 @@
+# font-roboto
diff --git a/third_party/polymer/v1_0/components/font-roboto/bower.json b/third_party/polymer/v1_0/components/font-roboto/bower.json
new file mode 100644
index 0000000..977cf2d
--- /dev/null
+++ b/third_party/polymer/v1_0/components/font-roboto/bower.json
@@ -0,0 +1,22 @@
+{
+ "name": "font-roboto",
+ "version": "1.0.1",
+ "description": "An HTML import for Roboto",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "font",
+ "roboto"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/font-roboto.git"
+ },
+ "main": "roboto.html",
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/font-roboto/",
+ "ignore": [
+ "/.*"
+ ]
+}
diff --git a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior.html b/third_party/polymer/v1_0/components/font-roboto/roboto.html
index 71e9f2d..4eefcba 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-validator-behavior/iron-validator-behavior.html
+++ b/third_party/polymer/v1_0/components/font-roboto/roboto.html
@@ -6,7 +6,5 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
---><html><head><link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-meta/iron-meta.html">
-
-</head><body><script src="iron-validator-behavior-extracted.js"></script></body></html> \ No newline at end of file
+-->
+<link rel="stylesheet" href="chrome://resources/css/roboto.css">
diff --git a/third_party/polymer/v1_0/components/iron-a11y-announcer/.bower.json b/third_party/polymer/v1_0/components/iron-a11y-announcer/.bower.json
deleted file mode 100644
index 54806db..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-announcer/.bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "iron-a11y-announcer",
- "version": "1.0.0",
- "description": "A singleton element that simplifies announcing text to screen readers.",
- "keywords": [
- "web-components",
- "polymer",
- "a11y",
- "live"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-announcer.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "paper-styles": "polymerelements/paper-styles#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*"
- },
- "homepage": "https://github.com/PolymerElements/iron-a11y-announcer",
- "_release": "1.0.0",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.0",
- "commit": "c809efbb3fd27a25eef515acd2f46f07a5f5c6a2"
- },
- "_source": "git://github.com/PolymerElements/iron-a11y-announcer.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-a11y-announcer"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-a11y-announcer/.gitignore b/third_party/polymer/v1_0/components/iron-a11y-announcer/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-announcer/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/iron-a11y-announcer/README.md b/third_party/polymer/v1_0/components/iron-a11y-announcer/README.md
deleted file mode 100644
index 5988d8c..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-announcer/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-iron-a11y-announcer
-===================
-
-`iron-a11y-announcer` is a singleton element that is intended to add a11y
-to features that require on-demand announcement from screen readers. In
-order to make use of the announcer, it is best to request its availability
-in the announcing element.
-
-Example:
-
- Polymer({
- is: 'x-chatty',
- attached: function() {
- // This will create the singlton element if it has not
- // been created yet:
- Polymer.IronA11yAnnouncer.requestAvailability();
- }
- });
-
-After the `iron-a11y-announcer` has been made available, elements can
-make announces by firing bubbling `iron-announce` events.
-
-Example:
-
- this.fire('iron-announce', {
- text: 'This is an announcement!'
- }, { bubbles: true });
-
-Note: announcements are only audible if you have a screen reader enabled.
diff --git a/third_party/polymer/v1_0/components/iron-a11y-announcer/bower.json b/third_party/polymer/v1_0/components/iron-a11y-announcer/bower.json
deleted file mode 100644
index ce802c1..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-announcer/bower.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "iron-a11y-announcer",
- "version": "1.0.0",
- "description": "A singleton element that simplifies announcing text to screen readers.",
- "keywords": [
- "web-components",
- "polymer",
- "a11y",
- "live"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-announcer.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "paper-styles": "polymerelements/paper-styles#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-a11y-announcer/index.html b/third_party/polymer/v1_0/components/iron-a11y-announcer/index.html
deleted file mode 100644
index 1f8889a..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-announcer/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<html>
-<head>
-
- <title>iron-a11y-announcer</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-a11y-announcer/iron-a11y-announcer.html b/third_party/polymer/v1_0/components/iron-a11y-announcer/iron-a11y-announcer.html
deleted file mode 100644
index 87e2be1..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-announcer/iron-a11y-announcer.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-
-<!--
-`iron-a11y-announcer` is a singleton element that is intended to add a11y
-to features that require on-demand announcement from screen readers. In
-order to make use of the announcer, it is best to request its availability
-in the announcing element.
-
-Example:
-
- Polymer({
-
- is: 'x-chatty',
-
- attached: function() {
- // This will create the singlton element if it has not
- // been created yet:
- Polymer.IronA11yAnnouncer.requestAvailability();
- }
- });
-
-After the `iron-a11y-announcer` has been made available, elements can
-make announces by firing bubbling `iron-announce` events.
-
-Example:
-
- this.fire('iron-announce', {
- text: 'This is an announcement!'
- }, { bubbles: true });
-
-Note: announcements are only audible if you have a screen reader enabled.
-
-@group Iron Elements
-@demo demo/index.html
--->
-
-<dom-module id="iron-a11y-announcer">
- <style>
- :host {
- display: inline-block;
- position: fixed;
- clip: rect(0px,0px,0px,0px);
- }
- </style>
-
- <template>
- <span aria-live$="[[mode]]">[[_text]]</span>
- </template>
-
- <script>
-
- (function() {
- 'use strict';
-
- Polymer.IronA11yAnnouncer = Polymer({
- is: 'iron-a11y-announcer',
-
- properties: {
-
- /**
- * The value of mode is used to set the `aria-live` attribute
- * for the element that will be announced. Valid values are: `off`,
- * `polite` and `assertive`.
- */
- mode: {
- type: String,
- value: 'polite'
- },
-
- _text: {
- type: String,
- value: ''
- }
- },
-
- created: function() {
- if (!Polymer.IronA11yAnnouncer.instance) {
- Polymer.IronA11yAnnouncer.instance = this;
- }
-
- document.body.addEventListener('iron-announce', this._onIronAnnounce.bind(this));
- },
-
- /**
- * Cause a text string to be announced by screen readers.
- *
- * @param {string} text The text that should be announced.
- */
- announce: function(text) {
- this._text = '';
- this.async(function() {
- this._text = text;
- }, 100);
- },
-
- _onIronAnnounce: function(event) {
- if (event.detail && event.detail.text) {
- this.announce(event.detail.text);
- }
- }
- });
-
- Polymer.IronA11yAnnouncer.instance = null;
-
- Polymer.IronA11yAnnouncer.requestAvailability = function() {
- if (!Polymer.IronA11yAnnouncer.instance) {
- document.createElement('iron-a11y-announcer');
- }
-
- document.body.appendChild(Polymer.IronA11yAnnouncer.instance);
- };
- })();
-
- </script>
-</dom-module>
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/.bower.json
index 1273560..dd55694 100644
--- a/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-a11y-keys-behavior",
- "version": "1.0.2",
+ "version": "1.0.5",
"description": "A behavior that enables keybindings for greater a11y.",
"keywords": [
"web-components",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git"
+ },
"main": "iron-a11y-keys-behavior.html",
"license": "http://polymer.github.io/LICENSE.txt",
"dependencies": {
@@ -26,13 +30,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-a11y-keys-behavior",
- "_release": "1.0.2",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "f65766278e9943649e70ff8ab01a848ccf068b01"
+ "tag": "v1.0.5",
+ "commit": "cf833eab5c55a26c5aa92e56d3fcb079120ce66a"
},
"_source": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-a11y-keys-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/bower.json b/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/bower.json
index cbf6871..aa52718 100644
--- a/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-a11y-keys-behavior",
- "version": "1.0.2",
+ "version": "1.0.5",
"description": "A behavior that enables keybindings for greater a11y.",
"keywords": [
"web-components",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git"
+ },
"main": "iron-a11y-keys-behavior.html",
"license": "http://polymer.github.io/LICENSE.txt",
"dependencies": {
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html b/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html
index 47b7ee6..e95a298 100644
--- a/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html
+++ b/third_party/polymer/v1_0/components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html
@@ -94,10 +94,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
* in a KeyboardEvent instance.
*/
var MODIFIER_KEYS = {
- shift: 'shiftKey',
- ctrl: 'ctrlKey',
- alt: 'altKey',
- meta: 'metaKey'
+ 'shift': 'shiftKey',
+ 'ctrl': 'ctrlKey',
+ 'alt': 'altKey',
+ 'meta': 'metaKey'
};
/**
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys/.bower.json b/third_party/polymer/v1_0/components/iron-a11y-keys/.bower.json
deleted file mode 100644
index cb2b091..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-keys/.bower.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "iron-a11y-keys",
- "version": "1.0.1",
- "description": "A basic element implementation of iron-a11y-keys-behavior, matching the legacy core-a11y-keys.",
- "keywords": [
- "web-components",
- "web-component",
- "polymer",
- "a11y",
- "input"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-keys.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0",
- "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-a11y-keys",
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "9ba9b2bb3a328c6b88ebabb436dc96402dc0e455"
- },
- "_source": "git://github.com/PolymerElements/iron-a11y-keys.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-a11y-keys"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys/README.md b/third_party/polymer/v1_0/components/iron-a11y-keys/README.md
deleted file mode 100644
index 514b4f5..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-keys/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-iron-a11y-keys
-==============
-
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys/bower.json b/third_party/polymer/v1_0/components/iron-a11y-keys/bower.json
deleted file mode 100644
index c3bb104..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-keys/bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "iron-a11y-keys",
- "version": "1.0.1",
- "description": "A basic element implementation of iron-a11y-keys-behavior, matching the legacy core-a11y-keys.",
- "keywords": [
- "web-components",
- "web-component",
- "polymer",
- "a11y",
- "input"
- ],
- "authors": [
- "The Polymer Authors"
- ],
- "main": "iron-a11y-keys.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "dependencies": {
- "polymer": "polymer/polymer#^1.0.0",
- "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "web-component-tester": "*",
- "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys/index.html b/third_party/polymer/v1_0/components/iron-a11y-keys/index.html
deleted file mode 100644
index 02c5182..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-keys/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <title>iron-a11y-keys</title>
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-a11y-keys/iron-a11y-keys.html b/third_party/polymer/v1_0/components/iron-a11y-keys/iron-a11y-keys.html
deleted file mode 100644
index b60a090..0000000
--- a/third_party/polymer/v1_0/components/iron-a11y-keys/iron-a11y-keys.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html">
-
-
-<script>
-
-/*
-`iron-a11y-keys` provides a normalized interface for processing keyboard commands that pertain to [WAI-ARIA best
-practices](http://www.w3.org/TR/wai-aria-practices/#kbd_general_binding). The element takes care of browser differences
-with respect to Keyboard events and uses an expressive syntax to filter key presses.
-
-Use the `keys` attribute to express what combination of keys will trigger the event to fire.
-
-Use the `target` attribute to set up event handlers on a specific node.
-The `keys-pressed` event will fire when one of the key combinations set with the `keys` attribute is pressed.
-
-Example:
-
-This element will call `arrowHandler` on all arrow keys:
-
- <iron-a11y-keys target="{{}}" keys="up down left right" on-keys-pressed="{{arrowHandler}}"></iron-a11y-keys>
-
-Keys Syntax:
-
-The `keys` attribute can accepts a space seprated, `+` concatenated set of modifier keys and some common keyboard keys.
-
-The common keys are `a-z`, `0-9` (top row and number pad), `*` (shift 8 and number pad), `F1-F12`, `Page Up`, `Page
-Down`, `Left Arrow`, `Right Arrow`, `Down Arrow`, `Up Arrow`, `Home`, `End`, `Escape`, `Space`, `Tab`, and `Enter` keys.
-
-The modifier keys are `Shift`, `Control`, and `Alt`.
-
-All keys are expected to be lowercase and shortened:
-`Left Arrow` is `left`, `Page Down` is `pagedown`, `Control` is `ctrl`, `F1` is `f1`, `Escape` is `esc` etc.
-
-Keys Syntax Example:
-
-Given the `keys` attribute value "ctrl+shift+f7 up pagedown esc space alt+m", the `<iron-a11y-keys>` element will send
-the `keys-pressed` event if any of the follow key combos are pressed: Control and Shift and F7 keys, Up Arrow key, Page
-Down key, Escape key, Space key, Alt and M key.
-
-Slider Example:
-
-The following is an example of the set of keys that fulfil the WAI-ARIA "slider" role [best
-practices](http://www.w3.org/TR/wai-aria-practices/#slider):
-
- <iron-a11y-keys target="{{}}" keys="left pagedown down" on-keys-pressed="{{decrement}}"></iron-a11y-keys>
- <iron-a11y-keys target="{{}}" keys="right pageup up" on-keys-pressed="{{increment}}"></iron-a11y-keys>
- <iron-a11y-keys target="{{}}" keys="home" on-keys-pressed="{{setMin}}"></iron-a11y-keys>
- <iron-a11y-keys target="{{}}" keys="end" on-keys-pressed="{{setMax}}"></iron-a11y-keys>
-
-The `increment` function will move the slider a set amount toward the maximum value.
-The `decrement` function will move the slider a set amount toward the minimum value.
-The `setMin` function will move the slider to the minimum value.
-The `setMax` function will move the slider to the maximum value.
-
-Keys Syntax Grammar:
-
-[EBNF](http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form) Grammar of the `keys` attribute.
-
- modifier = "shift" | "ctrl" | "alt";
- ascii = ? /[a-z0-9]/ ? ;
- fnkey = ? f1 through f12 ? ;
- arrow = "up" | "down" | "left" | "right" ;
- key = "tab" | "esc" | "space" | "*" | "pageup" | "pagedown" | "home" | "end" | arrow | ascii | fnkey ;
- keycombo = { modifier, "+" }, key ;
- keys = keycombo, { " ", keycombo } ;
-
-@demo demo/index.html
-*/
-
-
- Polymer({
- is: 'iron-a11y-keys',
-
- behaviors: [
- Polymer.IronA11yKeysBehavior
- ],
-
- properties: {
- /** @type {?Node} */
- target: {
- type: Object,
- observer: '_targetChanged'
- },
-
- keys: {
- type: String,
- reflectToAttribute: true,
- observer: '_keysChanged'
- }
- },
-
- attached: function() {
- if (!this.target) {
- this.target = this.parentNode;
- }
- },
-
- _targetChanged: function(target) {
- this.keyEventTarget = target;
- },
-
- _keysChanged: function() {
- this.removeOwnKeyBindings();
- this.addOwnKeyBinding(this.keys, '_fireKeysPressed');
- },
-
- _fireKeysPressed: function(event) {
- this.fire('keys-pressed', event.detail, {});
- }
- });
-</script>
diff --git a/third_party/polymer/v1_0/components/iron-autogrow-textarea/.bower.json b/third_party/polymer/v1_0/components/iron-autogrow-textarea/.bower.json
index 6601ce9..8403c61 100644
--- a/third_party/polymer/v1_0/components/iron-autogrow-textarea/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-autogrow-textarea/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-autogrow-textarea",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "A textarea element that automatically grows with input",
"authors": [
"The Polymer Authors"
@@ -23,24 +23,27 @@
"homepage": "https://github.com/PolymerElements/iron-autogrow-textarea",
"ignore": [],
"dependencies": {
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "e2bd6f5e964d032beccacabbccb63f93c73f74c0"
+ "tag": "v1.0.3",
+ "commit": "9eae088ce72a31b0baf44e6cdc183e5b73014af5"
},
"_source": "git://github.com/PolymerElements/iron-autogrow-textarea.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-autogrow-textarea"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-autogrow-textarea/bower.json b/third_party/polymer/v1_0/components/iron-autogrow-textarea/bower.json
index bcb7ff0..810f88f 100644
--- a/third_party/polymer/v1_0/components/iron-autogrow-textarea/bower.json
+++ b/third_party/polymer/v1_0/components/iron-autogrow-textarea/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-autogrow-textarea",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "A textarea element that automatically grows with input",
"authors": [
"The Polymer Authors"
@@ -23,12 +23,15 @@
"homepage": "https://github.com/PolymerElements/iron-autogrow-textarea",
"ignore": [],
"dependencies": {
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/iron-autogrow-textarea/iron-autogrow-textarea.html b/third_party/polymer/v1_0/components/iron-autogrow-textarea/iron-autogrow-textarea.html
index 376177d..cb1cd33 100644
--- a/third_party/polymer/v1_0/components/iron-autogrow-textarea/iron-autogrow-textarea.html
+++ b/third_party/polymer/v1_0/components/iron-autogrow-textarea/iron-autogrow-textarea.html
@@ -9,8 +9,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
-->
<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../iron-behaviors/iron-control-state.html">
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
<link rel="import" href="../iron-validatable-behavior/iron-validatable-behavior.html">
+<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
<!--
`iron-autogrow-textarea` is an element containing a textarea that grows in height as more
@@ -55,6 +57,7 @@ this element's `bind-value` instead for imperative updates.
border: none;
resize: none;
background: inherit;
+ color: inherit;
/* see comments in template */
width: 100%;
height: 100%;
@@ -77,7 +80,6 @@ this element's `bind-value` instead for imperative updates.
autocomplete$="[[autocomplete]]"
autofocus$="[[autofocus]]"
inputmode$="[[inputmode]]"
- name$="[[name]]"
placeholder$="[[placeholder]]"
readonly$="[[readonly]]"
required$="[[required]]"
@@ -85,6 +87,7 @@ this element's `bind-value` instead for imperative updates.
maxlength$="[[maxlength]]"></textarea>
</div>
</template>
+</dom-module>
<script>
@@ -93,7 +96,9 @@ this element's `bind-value` instead for imperative updates.
is: 'iron-autogrow-textarea',
behaviors: [
- Polymer.IronValidatableBehavior
+ Polymer.IronFormElementBehavior,
+ Polymer.IronValidatableBehavior,
+ Polymer.IronControlState
],
properties: {
@@ -164,6 +169,15 @@ this element's `bind-value` instead for imperative updates.
},
/**
+ * The value for this input, same as `bindValue`
+ */
+ value: {
+ notify: true,
+ type: String,
+ computed: '_computeValue(bindValue)'
+ },
+
+ /**
* Bound to the textarea's `placeholder` attribute.
*/
placeholder: {
@@ -199,11 +213,36 @@ this element's `bind-value` instead for imperative updates.
/**
* Returns the underlying textarea.
+ * @type HTMLTextAreaElement
*/
get textarea() {
return this.$.textarea;
},
+ /**
+ * Returns true if `value` is valid. The validator provided in `validator`
+ * will be used first, if it exists; otherwise, the `textarea`'s validity
+ * is used.
+ * @return {boolean} True if the value is valid.
+ */
+ validate: function() {
+ // Empty, non-required input is valid.
+ if (!this.required && this.value == '') {
+ this.invalid = false;
+ return true;
+ }
+
+ var valid;
+ if (this.hasValidator()) {
+ valid = Polymer.IronValidatableBehavior.validate.call(this, this.value);
+ } else {
+ valid = this.$.textarea.validity.valid;
+ this.invalid = !valid;
+ }
+ this.fire('iron-input-validate');
+ return valid;
+ },
+
_update: function() {
this.$.mirror.innerHTML = this._valueForMirror();
@@ -258,6 +297,10 @@ this element's `bind-value` instead for imperative updates.
_updateCached: function() {
this.$.mirror.innerHTML = this._constrain(this.tokens);
+ },
+
+ _computeValue: function() {
+ return this.bindValue;
}
})
</script>
diff --git a/third_party/polymer/v1_0/components/iron-behaviors/.bower.json b/third_party/polymer/v1_0/components/iron-behaviors/.bower.json
index 17a4dda..bf8b6cf 100644
--- a/third_party/polymer/v1_0/components/iron-behaviors/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-behaviors/.bower.json
@@ -1,11 +1,15 @@
{
"name": "iron-behaviors",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "Provides a set of behaviors for the iron elements",
"private": true,
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-behaviors.git"
+ },
"main": [
"iron-button-state.html",
"iron-control-state.html"
@@ -24,11 +28,11 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-behaviors",
- "_release": "1.0.3",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "a8e8245c60d65712e2f0ac727f1ce3529dcf395d"
+ "tag": "v1.0.4",
+ "commit": "8792edd457de697a74f398c09b67df30adf7d866"
},
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components/iron-behaviors/bower.json b/third_party/polymer/v1_0/components/iron-behaviors/bower.json
index 9f55d07..6a18575 100644
--- a/third_party/polymer/v1_0/components/iron-behaviors/bower.json
+++ b/third_party/polymer/v1_0/components/iron-behaviors/bower.json
@@ -1,11 +1,15 @@
{
"name": "iron-behaviors",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "Provides a set of behaviors for the iron elements",
"private": true,
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-behaviors.git"
+ },
"main": [
"iron-button-state.html",
"iron-control-state.html"
diff --git a/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html b/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html
index 9c666c6..fc52e172 100644
--- a/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html
+++ b/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html
@@ -16,7 +16,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* @demo demo/index.html
- * @polymerBehavior
+ * @polymerBehavior Polymer.IronButtonState
*/
Polymer.IronButtonStateImpl = {
@@ -177,7 +177,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
};
- /** @polymerBehavior Polymer.IronButtonState */
+ /** @polymerBehavior */
Polymer.IronButtonState = [
Polymer.IronA11yKeysBehavior,
Polymer.IronButtonStateImpl
diff --git a/third_party/polymer/v1_0/components/iron-collapse/.bower.json b/third_party/polymer/v1_0/components/iron-collapse/.bower.json
index 67ce4ad..9320f0b 100644
--- a/third_party/polymer/v1_0/components/iron-collapse/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-collapse/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-collapse",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provides a collapsable container",
"authors": [
"The Polymer Authors"
@@ -28,13 +28,13 @@
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "336d40cd1aacc16602cae1b7cf6172c32b5f947d"
+ "tag": "v1.0.2",
+ "commit": "0b0228632fa005a57664d3bda8dbe14c89bec942"
},
"_source": "git://github.com/PolymerElements/iron-collapse.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-collapse"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-collapse/README.md b/third_party/polymer/v1_0/components/iron-collapse/README.md
index 13a013b..b11ac66 100644
--- a/third_party/polymer/v1_0/components/iron-collapse/README.md
+++ b/third_party/polymer/v1_0/components/iron-collapse/README.md
@@ -4,7 +4,7 @@
will be collapsed. Use `opened` or `toggle()` to show/hide the content.
```html
-<button on-click="{{toggle}}">toggle collapse</button>
+<button on-click="toggle">toggle collapse</button>
<iron-collapse id="collapse">
<div>Content goes here...</div>
diff --git a/third_party/polymer/v1_0/components/iron-collapse/bower.json b/third_party/polymer/v1_0/components/iron-collapse/bower.json
index 55df067..4c1a7a4 100644
--- a/third_party/polymer/v1_0/components/iron-collapse/bower.json
+++ b/third_party/polymer/v1_0/components/iron-collapse/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-collapse",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provides a collapsable container",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/iron-collapse/iron-collapse.html b/third_party/polymer/v1_0/components/iron-collapse/iron-collapse.html
index 3821c28..b8f72fd 100644
--- a/third_party/polymer/v1_0/components/iron-collapse/iron-collapse.html
+++ b/third_party/polymer/v1_0/components/iron-collapse/iron-collapse.html
@@ -111,8 +111,7 @@ and instead put a div inside and style that.
hostAttributes: {
role: 'group',
- 'aria-expanded': 'false',
- tabindex: 0
+ 'aria-expanded': 'false'
},
listeners: {
diff --git a/third_party/polymer/v1_0/components/iron-elements/.bower.json b/third_party/polymer/v1_0/components/iron-elements/.bower.json
deleted file mode 100644
index 98a0928..0000000
--- a/third_party/polymer/v1_0/components/iron-elements/.bower.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "iron-elements",
- "version": "1.0.0",
- "description": "Iron elements are a set of visual and non-visual utility elements. They include elements for working with layout, user input, selection, and scaffolding apps.",
- "keywords": [
- "web-components",
- "polymer",
- "utility",
- "user-input",
- "selection"
- ],
- "dependencies": {
- "iron-a11y-announcer": "PolymerElements/iron-a11y-announcer#^1.0.0",
- "iron-a11y-keys": "PolymerElements/iron-a11y-keys#^1.0.0",
- "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
- "iron-ajax": "PolymerElements/iron-ajax#^1.0.0",
- "iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
- "iron-collapse": "PolymerElements/iron-collapse#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-doc-viewer": "PolymerElements/iron-doc-viewer#^1.0.0",
- "iron-fit-behavior": "PolymerElements/iron-fit-behavior#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-form": "PolymerElements/iron-form#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "iron-icon": "PolymerElements/iron-icon#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "iron-iconset": "PolymerElements/iron-iconset#^1.0.0",
- "iron-iconset-svg": "PolymerElements/iron-iconset-svg#^1.0.0",
- "iron-image": "PolymerElements/iron-image#^1.0.0",
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-jsonp-library": "PolymerElements/iron-jsonp-library#^1.0.0",
- "iron-localstorage": "PolymerElements/iron-localstorage#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-menu-behavior": "PolymerElements/iron-menu-behavior#^1.0.0",
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "iron-overlay-behavior": "PolymerElements/iron-overlay-behavior#^1.0.0",
- "iron-pages": "PolymerElements/iron-pages#^1.0.0",
- "iron-range-behavior": "PolymerElements/iron-range-behavior#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
- "iron-selector": "PolymerElements/iron-selector#^1.0.0",
- "iron-signals": "PolymerElements/iron-signals#^1.0.0",
- "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
- "iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
- "iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-elements",
- "authors": [
- "The Polymer Authors"
- ],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "_release": "1.0.0",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.0",
- "commit": "3afca31d047c2a3bcf3b196f77fcf2018b84f173"
- },
- "_source": "git://github.com/PolymerElements/iron-elements.git",
- "_target": "~1.0.0",
- "_originalSource": "PolymerElements/iron-elements"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-elements/README.md b/third_party/polymer/v1_0/components/iron-elements/README.md
deleted file mode 100644
index 979217f..0000000
--- a/third_party/polymer/v1_0/components/iron-elements/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# iron-elements
-
-Basic building blocks for creating an application.
-
-## Roadmap
-
-### Elements in progress
-
-* `iron-list` - the upgraded version of a virtualized infinite list, previously named `core-list`. ETA: Couple weeks.
-
-### Elements planned
-_Elements we're planning on building soon but haven't started yet_
-
-[Currently focused on getting all elements up to speed]
-
-### Elements not planned, notably
-_Elements we're not planning on building as part of this product line, but that one might be wondering about_
-
-A number of elements existed as `core` elements that are not in this product line:
-* `core-action-icons` - This wasn't really an element, and wasn't particularly heavily used.
-* `core-animation` - The animation-related elements that were part of core will be created as part of the `neon` product line.
-* `core-docs` - Deprecated: use [`iron-doc-viewer`](https://github.com/polymerelements/iron-doc-viewer).
-* `core-drag-drop` - Not currently working on.
-* `core-dropdown` and `core-dropdown-menu` - These were confusing UI to have in `core`, so we've moved them to the `paper` element set for now and made them easier to customize. More on the thought process behind this change in the [blog](https://blog.polymer-project.org/announcements/2015/05/14/updated-elements/).
-* `core-focusable` - This has been re-implemented using Polymer behaviors - see for example the `paper-radio-button-behavior` in [`paper-behaviors`](https://github.com/PolymerElements/paper-behaviors).
-* `core-item` - This had UI opinion, so was re-implemented as [`paper-item`](https://github.com/polymerelements/paper-item).
-* `core-layout` - We're working on more stable, consistent layout elements.
-* `core-overlay` - This is re-implemented as a behavior, in [`iron-overlay-behavior`](https://github.com/polymerelements/iron-overlay-behavior).
-* `core-popup-menu` - This element wasn't particularly of unique value, so we're putting it away for now.
-* `core-scroll-header-panel` - This had UI opinion, so it's been moved to [`paper-scroll-header-panel`](https://github.com/polymerelements/paper-scroll-header-panel).
-* `core-splitter` - This element was relatively trivial, so we've put it off for now.
-* `core-style` - This element is not useful with Polymer's new styling system. Check out the latest docs for more.
-* `core-tooltip` - This will become `paper-tooltip`.
-* `core-menu` - This had UI opinion, and will become `paper-dropdown-menu`.
diff --git a/third_party/polymer/v1_0/components/iron-elements/bower.json b/third_party/polymer/v1_0/components/iron-elements/bower.json
deleted file mode 100644
index de10b39..0000000
--- a/third_party/polymer/v1_0/components/iron-elements/bower.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "name": "iron-elements",
- "version": "1.0.0",
- "description": "Iron elements are a set of visual and non-visual utility elements. They include elements for working with layout, user input, selection, and scaffolding apps.",
- "keywords": [
- "web-components",
- "polymer",
- "utility",
- "user-input",
- "selection"
- ],
-
- "dependencies": {
- "iron-a11y-announcer": "PolymerElements/iron-a11y-announcer#^1.0.0",
- "iron-a11y-keys": "PolymerElements/iron-a11y-keys#^1.0.0",
- "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
- "iron-ajax": "PolymerElements/iron-ajax#^1.0.0",
- "iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
- "iron-collapse": "PolymerElements/iron-collapse#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-doc-viewer": "PolymerElements/iron-doc-viewer#^1.0.0",
- "iron-fit-behavior": "PolymerElements/iron-fit-behavior#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-form": "PolymerElements/iron-form#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "iron-icon": "PolymerElements/iron-icon#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "iron-iconset": "PolymerElements/iron-iconset#^1.0.0",
- "iron-iconset-svg": "PolymerElements/iron-iconset-svg#^1.0.0",
- "iron-image": "PolymerElements/iron-image#^1.0.0",
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-jsonp-library": "PolymerElements/iron-jsonp-library#^1.0.0",
- "iron-localstorage": "PolymerElements/iron-localstorage#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-menu-behavior": "PolymerElements/iron-menu-behavior#^1.0.0",
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "iron-overlay-behavior": "PolymerElements/iron-overlay-behavior#^1.0.0",
- "iron-pages": "PolymerElements/iron-pages#^1.0.0",
- "iron-range-behavior": "PolymerElements/iron-range-behavior#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
- "iron-selector": "PolymerElements/iron-selector#^1.0.0",
- "iron-signals": "PolymerElements/iron-signals#^1.0.0",
- "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
- "iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
- "iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0"
- },
-
- "homepage": "https://github.com/PolymerElements/iron-elements",
- "authors": ["The Polymer Authors"],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ]
-}
diff --git a/third_party/polymer/v1_0/components/iron-fit-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-fit-behavior/.bower.json
index e219376..dd2336c 100644
--- a/third_party/polymer/v1_0/components/iron-fit-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-fit-behavior/.bower.json
@@ -37,7 +37,6 @@
"commit": "df9fd83577ea6ebd98f5cad8333daa73dd0f34ba"
},
"_source": "git://github.com/PolymerElements/iron-fit-behavior.git",
- "_target": "~1.0.3",
- "_originalSource": "PolymerElements/iron-fit-behavior",
- "_direct": true
+ "_target": "~1.0.0",
+ "_originalSource": "PolymerElements/iron-fit-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-flex-layout/.bower.json b/third_party/polymer/v1_0/components/iron-flex-layout/.bower.json
index dff0707..98650a25 100644
--- a/third_party/polymer/v1_0/components/iron-flex-layout/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-flex-layout/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-flex-layout",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provide flexbox-based layouts",
"keywords": [
"web-components",
@@ -12,18 +12,23 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-flex-layout.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-flex-layout",
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "8828cc6ad1bb70d6a99aa1ecabc070b30256da06"
+ "tag": "v1.0.2",
+ "commit": "50bcecf40ab23caa7c2cd90030555e00c5ba7154"
},
"_source": "git://github.com/PolymerElements/iron-flex-layout.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.gitignore b/third_party/polymer/v1_0/components/iron-flex-layout/.gitignore
index 8d4ae25..1eb1fa5 100644
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/.gitignore
+++ b/third_party/polymer/v1_0/components/iron-flex-layout/.gitignore
@@ -1 +1,2 @@
bower_components
+
diff --git a/third_party/polymer/v1_0/components/iron-flex-layout/bower.json b/third_party/polymer/v1_0/components/iron-flex-layout/bower.json
index 46dcdb8..202fbe0 100644
--- a/third_party/polymer/v1_0/components/iron-flex-layout/bower.json
+++ b/third_party/polymer/v1_0/components/iron-flex-layout/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-flex-layout",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Provide flexbox-based layouts",
"keywords": [
"web-components",
@@ -12,10 +12,15 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-flex-layout.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
}
}
diff --git a/third_party/polymer/v1_0/components/iron-form-element-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-form-element-behavior/.bower.json
index f1369b1..3f9b472 100644
--- a/third_party/polymer/v1_0/components/iron-form-element-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-form-element-behavior/.bower.json
@@ -1,9 +1,9 @@
{
"name": "iron-form-element-behavior",
- "version": "1.0.1",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"private": true,
- "main": "iron-form-element-behavior",
+ "main": "iron-form-element-behavior.html",
"authors": "The Polymer Authors",
"description": "Enables a custom element to be included in an iron-form",
"keywords": [
@@ -22,14 +22,15 @@
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
},
"homepage": "https://github.com/PolymerElements/iron-form-element-behavior",
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "f386143e866c320025589f3d79798c12103377a4"
+ "tag": "v1.0.3",
+ "commit": "a55bc86f6f4fcba1d1c08d6bfaa26ba145ce3112"
},
"_source": "git://github.com/PolymerElements/iron-form-element-behavior.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components/iron-form-element-behavior/bower.json b/third_party/polymer/v1_0/components/iron-form-element-behavior/bower.json
index 1e141f2..357b57f 100644
--- a/third_party/polymer/v1_0/components/iron-form-element-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/iron-form-element-behavior/bower.json
@@ -1,9 +1,9 @@
{
"name": "iron-form-element-behavior",
- "version": "1.0.1",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"private": true,
- "main": "iron-form-element-behavior",
+ "main": "iron-form-element-behavior.html",
"authors": "The Polymer Authors",
"description": "Enables a custom element to be included in an iron-form",
"keywords": [
@@ -22,6 +22,7 @@
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
}
}
diff --git a/third_party/polymer/v1_0/components/iron-form-element-behavior/iron-form-element-behavior.html b/third_party/polymer/v1_0/components/iron-form-element-behavior/iron-form-element-behavior.html
index d7678a7..6948273 100644
--- a/third_party/polymer/v1_0/components/iron-form-element-behavior/iron-form-element-behavior.html
+++ b/third_party/polymer/v1_0/components/iron-form-element-behavior/iron-form-element-behavior.html
@@ -15,15 +15,26 @@ Enables a custom element to be included in an `iron-form`.
-->
<script>
- /**
-
+ /**
+
@demo demo/index.html
- @polymerBehavior
-
+ @polymerBehavior
+
*/
Polymer.IronFormElementBehavior = {
properties: {
+ /**
+ * Fired when the element is added to an `iron-form`.
+ *
+ * @event iron-form-element-register
+ */
+
+ /**
+ * Fired when the element is removed from an `iron-form`.
+ *
+ * @event iron-form-element-unregister
+ */
/**
* The name of this element.
@@ -39,10 +50,25 @@ Enables a custom element to be included in an `iron-form`.
notify: true,
type: String
},
+
+ /**
+ * The form that the element is registered to.
+ */
+ _parentForm: {
+ type: Object
+ }
},
attached: function() {
+ // Note: the iron-form that this element belongs to will set this
+ // element's _parentForm property when handling this event.
this.fire('iron-form-element-register');
+ },
+
+ detached: function() {
+ if (this._parentForm) {
+ this._parentForm.fire('iron-form-element-unregister', {target: this});
+ }
}
};
diff --git a/third_party/polymer/v1_0/components/iron-icon/.bower.json b/third_party/polymer/v1_0/components/iron-icon/.bower.json
index 8d82e66..d2a8d13 100644
--- a/third_party/polymer/v1_0/components/iron-icon/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-icon/.bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-icon",
"private": true,
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "An element that supports displaying an icon",
"main": "iron-icon.html",
@@ -13,6 +13,10 @@
"polymer",
"icon"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-icon.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0",
@@ -27,13 +31,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-icon",
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "530b0156756487b4c352d67a9e636724d6a4fe5e"
+ "tag": "v1.0.2",
+ "commit": "f9246c47ecb1c682f0fb9ea48255d5f7debd1e03"
},
"_source": "git://github.com/PolymerElements/iron-icon.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-icon"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-icon/bower.json b/third_party/polymer/v1_0/components/iron-icon/bower.json
index 8052729..9361b56 100644
--- a/third_party/polymer/v1_0/components/iron-icon/bower.json
+++ b/third_party/polymer/v1_0/components/iron-icon/bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-icon",
"private": true,
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "An element that supports displaying an icon",
"main": "iron-icon.html",
@@ -13,6 +13,10 @@
"polymer",
"icon"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-icon.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/iron-icons/.bower.json b/third_party/polymer/v1_0/components/iron-icons/.bower.json
index 573d083..d918b3d 100644
--- a/third_party/polymer/v1_0/components/iron-icons/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-icons/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-icons",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A set of icons for use with iron-icon",
"authors": [
"The Polymer Authors"
@@ -14,7 +14,7 @@
"private": true,
"repository": {
"type": "git",
- "url": "git://github.com/PolymerElements/paper-icons"
+ "url": "git://github.com/PolymerElements/iron-icons"
},
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/PolymerElements/paper-icons",
@@ -34,13 +34,13 @@
"util",
"update-icons.sh"
],
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "7340b4e26a0235ffdf2477299ccecd0c5d3d99e8"
+ "tag": "v1.0.3",
+ "commit": "036325be99c33c052ac807a705aacad70be1127f"
},
"_source": "git://github.com/PolymerElements/iron-icons.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-icons"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-icons/README.md b/third_party/polymer/v1_0/components/iron-icons/README.md
index ed473f7..5502532 100644
--- a/third_party/polymer/v1_0/components/iron-icons/README.md
+++ b/third_party/polymer/v1_0/components/iron-icons/README.md
@@ -1,8 +1,6 @@
iron-icons
=========
-See the [component page](http://polymer-project.org/docs/elements/iron-elements.html#iron-icons) for more information.
-
## Building
Running `update-icons.sh` will checkout [material-design-icons](https://github.com/google/material-design-icons), reduce
the fileset to 24px svgs, and compile the iconsets.
diff --git a/third_party/polymer/v1_0/components/iron-icons/bower.json b/third_party/polymer/v1_0/components/iron-icons/bower.json
index 9ac5f25..8ec25db 100644
--- a/third_party/polymer/v1_0/components/iron-icons/bower.json
+++ b/third_party/polymer/v1_0/components/iron-icons/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-icons",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A set of icons for use with iron-icon",
"authors": [
"The Polymer Authors"
@@ -14,7 +14,7 @@
"private": true,
"repository": {
"type": "git",
- "url": "git://github.com/PolymerElements/paper-icons"
+ "url": "git://github.com/PolymerElements/iron-icons"
},
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/PolymerElements/paper-icons",
diff --git a/third_party/polymer/v1_0/components/iron-iconset-svg/.bower.json b/third_party/polymer/v1_0/components/iron-iconset-svg/.bower.json
index dc56cd7..f7e678c 100644
--- a/third_party/polymer/v1_0/components/iron-iconset-svg/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-iconset-svg/.bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-iconset-svg",
"description": "Manages a set of svg icons",
- "version": "1.0.3",
+ "version": "1.0.4",
"keywords": [
"web-components",
"polymer",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-iconset-svg.git"
+ },
"dependencies": {
"polymer": "polymer/polymer#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0"
@@ -25,13 +29,13 @@
"web-component-tester": "*"
},
"homepage": "https://github.com/PolymerElements/iron-iconset-svg",
- "_release": "1.0.3",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "d909fa093ce23da7aa3ce844c6b080848e0580f6"
+ "tag": "v1.0.4",
+ "commit": "795aa82ac22971421bc4375efbd2419ebba9099f"
},
"_source": "git://github.com/PolymerElements/iron-iconset-svg.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-iconset-svg"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-iconset-svg/bower.json b/third_party/polymer/v1_0/components/iron-iconset-svg/bower.json
index 16c6dfb..b58569c 100644
--- a/third_party/polymer/v1_0/components/iron-iconset-svg/bower.json
+++ b/third_party/polymer/v1_0/components/iron-iconset-svg/bower.json
@@ -1,7 +1,7 @@
{
"name": "iron-iconset-svg",
"description": "Manages a set of svg icons",
- "version": "1.0.3",
+ "version": "1.0.4",
"keywords": [
"web-components",
"polymer",
@@ -12,6 +12,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-iconset-svg.git"
+ },
"dependencies": {
"polymer": "polymer/polymer#^1.0.0",
"iron-meta": "polymerelements/iron-meta#^1.0.0"
diff --git a/third_party/polymer/v1_0/components/iron-iconset-svg/iron-iconset-svg.html b/third_party/polymer/v1_0/components/iron-iconset-svg/iron-iconset-svg.html
index 4852857..3cebc2c 100644
--- a/third_party/polymer/v1_0/components/iron-iconset-svg/iron-iconset-svg.html
+++ b/third_party/polymer/v1_0/components/iron-iconset-svg/iron-iconset-svg.html
@@ -24,7 +24,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
*
* Example:
*
- * <iron-iconset-svg id="my-svg-icons" iconSize="24">
+ * <iron-iconset-svg name="my-svg-icons" size="24">
* <svg>
* <defs>
* <g id="shape">
diff --git a/third_party/polymer/v1_0/components/iron-iconset/.bower.json b/third_party/polymer/v1_0/components/iron-iconset/.bower.json
deleted file mode 100644
index 75ea9f6..0000000
--- a/third_party/polymer/v1_0/components/iron-iconset/.bower.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "iron-iconset",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "Represents a set of icons",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "icon"
- ],
- "private": true,
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-icon": "polymerelements/iron-icon#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-iconset",
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "d13a943588e6d200b6140adeb8ee2981dd9b5f04"
- },
- "_source": "git://github.com/PolymerElements/iron-iconset.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-iconset"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-iconset/.gitignore b/third_party/polymer/v1_0/components/iron-iconset/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/iron-iconset/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/iron-iconset/README.md b/third_party/polymer/v1_0/components/iron-iconset/README.md
deleted file mode 100644
index 53a245b..0000000
--- a/third_party/polymer/v1_0/components/iron-iconset/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-iron-iconset
-============
-
-The `iron-iconset` element allows users to define their own icon sets.
-The `src` property specifies the url of the icon image. Multiple icons may
-be included in this image and they may be organized into rows.
-The `icons` property is a space separated list of names corresponding to the
-icons. The names must be ordered as the icons are ordered in the icon image.
-Icons are expected to be square and are the size specified by the `size`
-property. The `width` property corresponds to the width of the icon image
-and must be specified if icons are arranged into multiple rows in the image.
-
-All `iron-iconset` elements are available for use by other `iron-iconset`
-elements via a database keyed by id. Typically, an element author that wants
-to support a set of custom icons uses a `iron-iconset` to retrieve
-and use another, user-defined iconset.
-
-Example:
-
-```html
-<iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
-</iron-iconset>
-```
-
-This will automatically register the icon set "my-icons" to the iconset
-database. To use these icons from within another element, make a
-`iron-iconset` element and call the `byId` method to retrieve a
-given iconset. To apply a particular icon to an element, use the
-`applyIcon` method. For example:
-
-```javascript
-iconset.applyIcon(iconNode, 'car');
-```
-
-Themed icon sets are also supported. The `iron-iconset` can contain child
-`property` elements that specify a theme with an offsetX and offsetY of the
-theme within the icon resource. For example.
-
-```html
-<iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
- <property theme="special" offsetX="256" offsetY="24"></property>
-</iron-iconset>
-```
-
-Then a themed icon can be applied like this:
-
-```javascript
-iconset.applyIcon(iconNode, 'car', 'special');
-```
diff --git a/third_party/polymer/v1_0/components/iron-iconset/bower.json b/third_party/polymer/v1_0/components/iron-iconset/bower.json
deleted file mode 100644
index 135633f..0000000
--- a/third_party/polymer/v1_0/components/iron-iconset/bower.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "iron-iconset",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "Represents a set of icons",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "icon"
- ],
- "private": true,
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "iron-icon": "polymerelements/iron-icon#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-iconset/index.html b/third_party/polymer/v1_0/components/iron-iconset/index.html
deleted file mode 100644
index 64e80d5..0000000
--- a/third_party/polymer/v1_0/components/iron-iconset/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <title>iron-iconset</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-iconset/iron-iconset.html b/third_party/polymer/v1_0/components/iron-iconset/iron-iconset.html
deleted file mode 100644
index fc21d99..0000000
--- a/third_party/polymer/v1_0/components/iron-iconset/iron-iconset.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-meta/iron-meta.html">
-
-<!--
-The `iron-iconset` element allows users to define their own icon sets.
-The `src` property specifies the url of the icon image. Multiple icons may
-be included in this image and they may be organized into rows.
-The `icons` property is a space separated list of names corresponding to the
-icons. The names must be ordered as the icons are ordered in the icon image.
-Icons are expected to be square and are the size specified by the `size`
-property. The `width` property corresponds to the width of the icon image
-and must be specified if icons are arranged into multiple rows in the image.
-
-All `iron-iconset` elements are available for use by other `iron-iconset`
-elements via a database keyed by id. Typically, an element author that wants
-to support a set of custom icons uses a `iron-iconset` to retrieve
-and use another, user-defined iconset.
-
-Example:
-
- <iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
- </iron-iconset>
-
-This will automatically register the icon set "my-icons" to the iconset
-database. To use these icons from within another element, make a
-`iron-iconset` element and call the `byId` method to retrieve a
-given iconset. To apply a particular icon to an element, use the
-`applyIcon` method. For example:
-
- iconset.applyIcon(iconNode, 'car');
-
-Themed icon sets are also supported. The `iron-iconset` can contain child
-`property` elements that specify a theme with an offsetX and offsetY of the
-theme within the icon resource. For example.
-
- <iron-iconset id="my-icons" src="my-icons.png" width="96" size="24"
- icons="location place starta stopb bus car train walk">
- <property theme="special" offsetX="256" offsetY="24"></property>
- </iron-iconset>
-
-Then a themed icon can be applied like this:
-
- iconset.applyIcon(iconNode, 'car', 'special');
-
-@element iron-iconset
-@demo demo/index.html
--->
-
-<script>
-
- Polymer({
-
- is: 'iron-iconset',
-
- properties: {
-
- /**
- * The URL of the iconset image.
- *
- * @attribute src
- * @type string
- * @default ''
- */
- src: {
- type: String,
- observer: '_srcChanged'
- },
-
- /**
- * The name of the iconset.
- *
- * @attribute name
- * @type string
- * @default 'no-name'
- */
- name: {
- type: String,
- observer: '_nameChanged'
- },
-
- /**
- * The width of the iconset image. This must only be specified if the
- * icons are arranged into separate rows inside the image.
- *
- * @attribute width
- * @type number
- * @default 0
- */
- width: {
- type: Number,
- value: 0
- },
-
- /**
- * A space separated list of names corresponding to icons in the iconset
- * image file. This list must be ordered the same as the icon images
- * in the image file.
- *
- * @attribute icons
- * @type string
- * @default ''
- */
- icons: {
- type: String
- },
-
- /**
- * The size of an individual icon. Note that icons must be square.
- *
- * @attribute size
- * @type number
- * @default 24
- */
- size: {
- type: Number,
- value: 24
- },
-
- /**
- * The horizontal offset of the icon images in the inconset src image.
- * This is typically used if the image resource contains additional images
- * beside those intended for the iconset.
- *
- * @attribute offset-x
- * @type number
- * @default 0
- */
- _offsetX: {
- type: Number,
- value: 0
- },
-
- /**
- * The vertical offset of the icon images in the inconset src image.
- * This is typically used if the image resource contains additional images
- * beside those intended for the iconset.
- *
- * @attribute offset-y
- * @type number
- * @default 0
- */
- _offsetY: {
- type: Number,
- value: 0
- },
-
- /**
- * Array of fully-qualified names of icons in this set.
- */
- iconNames: {
- type: Array,
- notify: true
- }
-
- },
-
- hostAttributes: {
- // non-visual
- style: 'display: none;'
- },
-
- ready: function() {
- // theme data must exist at ready-time
- this._themes = this._mapThemes();
- },
-
- /**
- * Applies an icon to the given element as a css background image. This
- * method does not size the element, and it's usually necessary to set
- * the element's height and width so that the background image is visible.
- *
- * @method applyIcon
- * @param {Element} element The element to which the icon is applied.
- * @param {String|Number} icon The name or index of the icon to apply.
- * @param {String} theme (optional) The name or index of the icon to apply.
- * @param {Number} scale (optional, defaults to 1) Icon scaling factor.
- */
- applyIcon: function(element, icon, theme, scale) {
- this._validateIconMap();
- var offset = this._getThemedOffset(icon, theme);
- if (element && offset) {
- this._addIconStyles(element, this._srcUrl, offset, scale || 1,
- this.size, this.width);
- }
- },
-
- /**
- * Remove an icon from the given element by undoing the changes effected
- * by `applyIcon`.
- *
- * @param {Element} element The element from which the icon is removed.
- */
- removeIcon: function(element) {
- this._removeIconStyles(element.style);
- },
-
- _mapThemes: function() {
- var themes = Object.create(null);
- Polymer.dom(this).querySelectorAll('property[theme]')
- .forEach(function(property) {
- var offsetX = window.parseInt(
- property.getAttribute('offset-x'), 10
- ) || 0;
- var offsetY = window.parseInt(
- property.getAttribute('offset-y'), 10
- ) || 0;
- themes[property.getAttribute('theme')] = {
- offsetX: offsetX,
- offsetY: offsetY
- };
- });
- return themes;
- },
-
- _srcChanged: function(src) {
- // ensure `srcUrl` is always relative to the main document
- this._srcUrl = this.ownerDocument !== document
- ? this.resolveUrl(src) : src;
- this._prepareIconset();
- },
-
- _nameChanged: function(name) {
- this._prepareIconset();
- },
-
- _prepareIconset: function() {
- new Polymer.IronMeta({type: 'iconset', key: this.name, value: this});
- },
-
- _invalidateIconMap: function() {
- this._iconMapValid = false;
- },
-
- _validateIconMap: function() {
- if (!this._iconMapValid) {
- this._recomputeIconMap();
- this._iconMapValid = true;
- }
- },
-
- _recomputeIconMap: function() {
- this.iconNames = this._computeIconNames(this.icons);
- this.iconMap = this._computeIconMap(this._offsetX, this._offsetY,
- this.size, this.width, this.iconNames);
- },
-
- _computeIconNames: function(icons) {
- return icons.split(/\s+/g);
- },
-
- _computeIconMap: function(offsetX, offsetY, size, width, iconNames) {
- var iconMap = {};
- if (offsetX !== undefined && offsetY !== undefined) {
- var x0 = offsetX;
- iconNames.forEach(function(iconName) {
- iconMap[iconName] = {
- offsetX: offsetX,
- offsetY: offsetY
- };
- if ((offsetX + size) < width) {
- offsetX += size;
- } else {
- offsetX = x0;
- offsetY += size;
- }
- }, this);
- }
- return iconMap;
- },
-
- /**
- * Returns an object containing `offsetX` and `offsetY` properties which
- * specify the pixel location in the iconset's src file for the given
- * `icon` and `theme`. It's uncommon to call this method. It is useful,
- * for example, to manually position a css backgroundImage to the proper
- * offset. It's more common to use the `applyIcon` method.
- *
- * @method getThemedOffset
- * @param {String|Number} identifier The name of the icon or the index of
- * the icon within in the icon image.
- * @param {String} theme The name of the theme.
- * @returns {Object} An object specifying the offset of the given icon
- * within the icon resource file; `offsetX` is the horizontal offset and
- * `offsetY` is the vertical offset. Both values are in pixel units.
- */
- _getThemedOffset: function(identifier, theme) {
- var iconOffset = this._getIconOffset(identifier);
- var themeOffset = this._themes[theme];
- if (iconOffset && themeOffset) {
- return {
- offsetX: iconOffset.offsetX + themeOffset.offsetX,
- offsetY: iconOffset.offsetY + themeOffset.offsetY
- };
- }
- return iconOffset;
- },
-
- _getIconOffset: function(identifier) {
- // TODO(sjmiles): consider creating offsetArray (indexed by Number)
- // and having iconMap map names to indices, then and index is just
- // iconMap[identifier] || identifier (be careful of zero, store indices
- // as 1-based)
- return this.iconMap[identifier] ||
- this.iconMap[this.iconNames[Number(identifier)]];
- },
-
- _addIconStyles: function(element, url, offset, scale, size, width) {
- var style = element.style;
- style.backgroundImage = 'url(' + url + ')';
- style.backgroundPosition =
- (-offset.offsetX * scale + 'px') + ' ' +
- (-offset.offsetY * scale + 'px');
- style.backgroundSize = (scale === 1) ? 'auto' : width * scale + 'px';
- style.width = size + 'px';
- style.height = size + 'px';
- element.setAttribute('role', 'img');
- },
-
- _removeIconStyles: function(style) {
- style.background = '';
- }
-
- });
-
-</script>
diff --git a/third_party/polymer/v1_0/components/iron-image/.bower.json b/third_party/polymer/v1_0/components/iron-image/.bower.json
deleted file mode 100644
index 18d5ff0..0000000
--- a/third_party/polymer/v1_0/components/iron-image/.bower.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "iron-image",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "An image-displaying element with lots of convenient features",
- "private": true,
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "media"
- ],
- "dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "polymerelements/paper-styles#^1.0.4",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/iron-image",
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "54aa387756c16ba09620e1b36ae4ee2d7fd274c6"
- },
- "_source": "git://github.com/PolymerElements/iron-image.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-image"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-image/.gitignore b/third_party/polymer/v1_0/components/iron-image/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/iron-image/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/iron-image/README.md b/third_party/polymer/v1_0/components/iron-image/README.md
deleted file mode 100644
index 04fda7a..0000000
--- a/third_party/polymer/v1_0/components/iron-image/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-iron-image
-==========
-
-`iron-image` is an element for displaying an image that provides useful sizing and
-preloading options not found on the standard `<img>` tag.
-
-The `sizing` option allows the image to be either cropped (`cover`) or
-letterboxed (`contain`) to fill a fixed user-size placed on the element.
-
-The `preload` option prevents the browser from rendering the image until the
-image is fully loaded. In the interim, either the element's CSS `background-color`
-can be be used as the placeholder, or the `placeholder` property can be
-set to a URL (preferably a data-URI, for instant rendering) for an
-placeholder image.
-
-The `fade` option (only valid when `preload` is set) will cause the placeholder
-image/color to be faded out once the image is rendered.
-
-Examples:
-
-Basically identical to `<img src="...">` tag:
-
-```html
-<iron-image src="http://lorempixel.com/400/400"></iron-image>
-```
-
-Will letterbox the image to fit:
-
-```html
-<iron-image style="width:400px; height:400px;" sizing="contain"
- src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will crop the image to fit:
-
-```html
-<iron-image style="width:400px; height:400px;" sizing="cover"
- src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will show light-gray background until the image loads:
-
-```html
-<iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will show a base-64 encoded placeholder image until the image loads:
-
-```html
-<iron-image style="width:400px; height:400px;" placeholder="data:image/gif;base64,..."
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-```
-
-Will fade the light-gray background out once the image is loaded:
-
-```html
-<iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload fade src="http://lorempixel.com/600/400"></iron-image>
-```
diff --git a/third_party/polymer/v1_0/components/iron-image/bower.json b/third_party/polymer/v1_0/components/iron-image/bower.json
deleted file mode 100644
index 129e130..0000000
--- a/third_party/polymer/v1_0/components/iron-image/bower.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "iron-image",
- "version": "1.0.1",
- "license": "http://polymer.github.io/LICENSE.txt",
- "description": "An image-displaying element with lots of convenient features",
- "private": true,
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "media"
- ],
- "dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "polymerelements/paper-styles#^1.0.4",
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "test-fixture": "polymerelements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-image/index.html b/third_party/polymer/v1_0/components/iron-image/index.html
deleted file mode 100644
index b12d417..0000000
--- a/third_party/polymer/v1_0/components/iron-image/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <title>iron-image</title>
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-image/iron-image.html b/third_party/polymer/v1_0/components/iron-image/iron-image.html
deleted file mode 100644
index 7eba73f..0000000
--- a/third_party/polymer/v1_0/components/iron-image/iron-image.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
-
-<!--
-`iron-image` is an element for displaying an image that provides useful sizing and
-preloading options not found on the standard `<img>` tag.
-
-The `sizing` option allows the image to be either cropped (`cover`) or
-letterboxed (`contain`) to fill a fixed user-size placed on the element.
-
-The `preload` option prevents the browser from rendering the image until the
-image is fully loaded. In the interim, either the element's CSS `background-color`
-can be be used as the placeholder, or the `placeholder` property can be
-set to a URL (preferably a data-URI, for instant rendering) for an
-placeholder image.
-
-The `fade` option (only valid when `preload` is set) will cause the placeholder
-image/color to be faded out once the image is rendered.
-
-Examples:
-
- Basically identical to &lt;img src="..."&gt; tag:
-
- <iron-image src="http://lorempixel.com/400/400"></iron-image>
-
- Will letterbox the image to fit:
-
- <iron-image style="width:400px; height:400px;" sizing="contain"
- src="http://lorempixel.com/600/400"></iron-image>
-
- Will crop the image to fit:
-
- <iron-image style="width:400px; height:400px;" sizing="cover"
- src="http://lorempixel.com/600/400"></iron-image>
-
- Will show light-gray background until the image loads:
-
- <iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-
- Will show a base-64 encoded placeholder image until the image loads:
-
- <iron-image style="width:400px; height:400px;" placeholder="data:image/gif;base64,..."
- sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>
-
- Will fade the light-gray background out once the image is loaded:
-
- <iron-image style="width:400px; height:400px; background-color: lightgray;"
- sizing="cover" preload fade src="http://lorempixel.com/600/400"></iron-image>
-
-
-@group Iron Elements
-@element iron-image
-@demo demo/index.html
--->
-
-<dom-module id="iron-image">
-
- <style>
-
- :host {
- display: inline-block;
- overflow: hidden;
- position: relative;
- }
-
- :host([sizing]) #img {
- display: none;
- }
-
- #placeholder {
- background-color: inherit;
- opacity: 1;
- }
-
- #placeholder.faded-out {
- transition: opacity 0.5s linear;
- opacity: 0;
- }
-
- </style>
-
- <template>
-
- <img id="img" role="none" hidden$="[[_computeImageVisibility(sizing)]]">
- <div id="placeholder" hidden$="[[_computePlaceholderVisibility(fade,loaded,preload)]]" class$="[[_computePlaceholderClassName(fade,loaded,preload)]]"></div>
- <content></content>
-
- </template>
-
-</dom-module>
-
-<script>
-
- Polymer({
-
- is: 'iron-image',
-
- properties: {
- /**
- * The URL of an image.
- */
- src: {
- observer: '_srcChanged',
- type: String,
- value: ''
- },
-
- /**
- * When true, the image is prevented from loading and any placeholder is
- * shown. This may be useful when a binding to the src property is known to
- * be invalid, to prevent 404 requests.
- */
- preventLoad: {
- type: Boolean,
- value: false
- },
-
- /**
- * Sets a sizing option for the image. Valid values are `contain` (full
- * aspect ratio of the image is contained within the element and
- * letterboxed) or `cover` (image is cropped in order to fully cover the
- * bounds of the element), or `null` (default: image takes natural size).
- */
- sizing: {
- type: String,
- value: null
- },
-
- /**
- * When a sizing option is uzed (`cover` or `contain`), this determines
- * how the image is aligned within the element bounds.
- */
- position: {
- type: String,
- value: 'center'
- },
-
- /**
- * When `true`, any change to the `src` property will cause the `placeholder`
- * image to be shown until the
- */
- preload: {
- type: Boolean,
- value: false
- },
-
- /**
- * This image will be used as a background/placeholder until the src image has
- * loaded. Use of a data-URI for placeholder is encouraged for instant rendering.
- */
- placeholder: {
- type: String,
- value: null
- },
-
- /**
- * When `preload` is true, setting `fade` to true will cause the image to
- * fade into place.
- */
- fade: {
- type: Boolean,
- value: false
- },
-
- /**
- * Read-only value that is true when the image is loaded.
- */
- loaded: {
- notify: true,
- type: Boolean,
- value: false
- },
-
- /**
- * Read-only value that tracks the loading state of the image when the `preload`
- * option is used.
- */
- loading: {
- notify: true,
- type: Boolean,
- value: false
- },
-
- /**
- * Can be used to set the width of image (e.g. via binding); size may also be
- * set via CSS.
- */
- width: {
- observer: '_widthChanged',
- type: Number,
- value: null
- },
-
- /**
- * Can be used to set the height of image (e.g. via binding); size may also be
- * set via CSS.
- *
- * @attribute height
- * @type number
- * @default null
- */
- height: {
- observer: '_heightChanged',
- type: Number,
- value: null
- },
-
- _placeholderBackgroundUrl: {
- type: String,
- computed: '_computePlaceholderBackgroundUrl(preload,placeholder)',
- observer: '_placeholderBackgroundUrlChanged'
- },
-
- requiresPreload: {
- type: Boolean,
- computed: '_computeRequiresPreload(preload,loaded)'
- },
-
- canLoad: {
- type: Boolean,
- computed: '_computeCanLoad(preventLoad, src)'
- }
-
- },
-
- observers: [
- '_transformChanged(sizing, position)',
- '_loadBehaviorChanged(canLoad, preload, loaded)',
- '_loadStateChanged(src, preload, loaded)',
- ],
-
- ready: function() {
- if (!this.hasAttribute('role')) {
- this.setAttribute('role', 'img');
- }
- },
-
- _computeImageVisibility: function() {
- return !!this.sizing;
- },
-
- _computePlaceholderVisibility: function() {
- return !this.preload || (this.loaded && !this.fade);
- },
-
- _computePlaceholderClassName: function() {
- if (!this.preload) {
- return '';
- }
-
- var className = 'fit';
- if (this.loaded && this.fade) {
- className += ' faded-out';
- }
- return className;
- },
-
- _computePlaceholderBackgroundUrl: function() {
- if (this.preload && this.placeholder) {
- return 'url(' + this.placeholder + ')';
- }
-
- return null;
- },
-
- _computeRequiresPreload: function() {
- return this.preload && !this.loaded;
- },
-
- _computeCanLoad: function() {
- return Boolean(!this.preventLoad && this.src);
- },
-
- _widthChanged: function() {
- this.style.width = isNaN(this.width) ? this.width : this.width + 'px';
- },
-
- _heightChanged: function() {
- this.style.height = isNaN(this.height) ? this.height : this.height + 'px';
- },
-
- _srcChanged: function(newSrc, oldSrc) {
- if (newSrc !== oldSrc) {
- this.loaded = false;
- }
- },
-
- _placeholderBackgroundUrlChanged: function() {
- this.$.placeholder.style.backgroundImage =
- this._placeholderBackgroundUrl;
- },
-
- _transformChanged: function() {
- var placeholderStyle = this.$.placeholder.style;
-
- this.style.backgroundSize =
- placeholderStyle.backgroundSize = this.sizing;
-
- this.style.backgroundPosition =
- placeholderStyle.backgroundPosition =
- this.sizing ? this.position : '';
-
- this.style.backgroundRepeat =
- placeholderStyle.backgroundRepeat =
- this.sizing ? 'no-repeat' : '';
- },
-
- _loadBehaviorChanged: function() {
- var img;
-
- if (!this.canLoad) {
- return;
- }
-
- if (this.requiresPreload) {
- img = new Image();
- img.src = this.src;
-
- this.loading = true;
-
- img.onload = function() {
- this.loading = false;
- this.loaded = true;
- }.bind(this);
- } else {
- this.loaded = true;
- }
- },
-
- _loadStateChanged: function() {
- if (this.requiresPreload) {
- return;
- }
-
- if (this.sizing) {
- this.style.backgroundImage = this.src ? 'url(' + this.src + ')': '';
- } else {
- this.$.img.src = this.src || '';
- }
- }
- });
-
-</script>
diff --git a/third_party/polymer/v1_0/components/iron-input/.bower.json b/third_party/polymer/v1_0/components/iron-input/.bower.json
index 1383a44..0fbbfec 100644
--- a/third_party/polymer/v1_0/components/iron-input/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-input/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-input",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "An input element with data binding",
"authors": [
"The Polymer Authors"
@@ -33,13 +33,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "edb505f41d67120cb505deedb92aa69e90078d2f"
+ "tag": "v1.0.4",
+ "commit": "eebeeb1642ab3e9b1abd5012c1df038250741184"
},
"_source": "git://github.com/PolymerElements/iron-input.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-input"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-input/bower.json b/third_party/polymer/v1_0/components/iron-input/bower.json
index c4c8951..eb02ed7 100644
--- a/third_party/polymer/v1_0/components/iron-input/bower.json
+++ b/third_party/polymer/v1_0/components/iron-input/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-input",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "An input element with data binding",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/iron-input/iron-input.html b/third_party/polymer/v1_0/components/iron-input/iron-input.html
index 3d8cccb..da30882 100644
--- a/third_party/polymer/v1_0/components/iron-input/iron-input.html
+++ b/third_party/polymer/v1_0/components/iron-input/iron-input.html
@@ -41,7 +41,7 @@ It may be desirable to only allow users to enter certain characters. You can use
is separate from validation, and `allowed-pattern` does not affect how the input is validated.
<!-- only allow characters that match [0-9] -->
- <input is="iron-input" prevent-invaild-input allowed-pattern="[0-9]">
+ <input is="iron-input" prevent-invalid-input allowed-pattern="[0-9]">
@hero hero.svg
@demo demo/index.html
@@ -154,11 +154,16 @@ is separate from validation, and `allowed-pattern` does not affect how the input
// always matches the charCode.
// None of this makes any sense.
- var nonPrintable =
+ // For these keys, ASCII code == browser keycode.
+ var anyNonPrintable =
(event.keyCode == 8) || // backspace
+ (event.keyCode == 13) || // enter
+ (event.keyCode == 27); // escape
+
+ // For these keys, make sure it's a browser keycode and not an ASCII code.
+ var mozNonPrintable =
(event.keyCode == 19) || // pause
(event.keyCode == 20) || // caps lock
- (event.keyCode == 27) || // escape
(event.keyCode == 45) || // insert
(event.keyCode == 46) || // delete
(event.keyCode == 144) || // num lock
@@ -166,7 +171,7 @@ is separate from validation, and `allowed-pattern` does not affect how the input
(event.keyCode > 32 && event.keyCode < 41) || // page up/down, end, home, arrows
(event.keyCode > 111 && event.keyCode < 124); // fn keys
- return !(event.charCode == 0 && nonPrintable);
+ return !anyNonPrintable && !(event.charCode == 0 && mozNonPrintable);
},
_onKeypress: function(event) {
diff --git a/third_party/polymer/v1_0/components/iron-jsonp-library/.bower.json b/third_party/polymer/v1_0/components/iron-jsonp-library/.bower.json
deleted file mode 100644
index ae094c55..0000000
--- a/third_party/polymer/v1_0/components/iron-jsonp-library/.bower.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "iron-jsonp-library",
- "version": "1.0.1",
- "description": "Loads jsonp libraries",
- "authors": [
- "Aleks Totic <a@totic.org>",
- "The Polymer Authors"
- ],
- "keywords": [
- "web-component",
- "polymer",
- "behavior"
- ],
- "main": "iron-jsonp-library.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-jsonp-library/",
- "ignore": [
- "/.*",
- "/test/",
- "/demo/"
- ],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.1"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "4f1b758be4b000cd7d1f5cce7088d210d5b0b280"
- },
- "_source": "git://github.com/PolymerElements/iron-jsonp-library.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-jsonp-library"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-jsonp-library/README.md b/third_party/polymer/v1_0/components/iron-jsonp-library/README.md
deleted file mode 100644
index d1b3206..0000000
--- a/third_party/polymer/v1_0/components/iron-jsonp-library/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# iron-jsonp-library
-
-`Polymer.IronJsonpLibraryBehavior` loads a jsonp library.
-Multiple components can request same library, only one copy will load.
-
-Some libraries require a specific global function be defined.
-If this is the case, specify the `callbackName` property.
-
-You should use an HTML Import to load library dependencies
-when possible instead of using this element.
diff --git a/third_party/polymer/v1_0/components/iron-jsonp-library/bower.json b/third_party/polymer/v1_0/components/iron-jsonp-library/bower.json
deleted file mode 100644
index e387f62..0000000
--- a/third_party/polymer/v1_0/components/iron-jsonp-library/bower.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "iron-jsonp-library",
- "version": "1.0.1",
- "description": "Loads jsonp libraries",
- "authors": [
- "Aleks Totic <a@totic.org>",
- "The Polymer Authors"
- ],
- "keywords": [
- "web-component",
- "polymer",
- "behavior"
- ],
- "main": "iron-jsonp-library.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-jsonp-library/",
- "ignore": [
- "/.*",
- "/test/",
- "/demo/"
- ],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.1"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-jsonp-library/hero.svg b/third_party/polymer/v1_0/components/iron-jsonp-library/hero.svg
deleted file mode 100644
index d6c1c13..0000000
--- a/third_party/polymer/v1_0/components/iron-jsonp-library/hero.svg
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <circle cx="112" cy="36" r="4"/>
- <circle cx="112" cy="90" r="4"/>
- <circle cx="91" cy="98" r="4"/>
- <circle cx="91" cy="29" r="4"/>
- <circle cx="133" cy="29" r="4"/>
- <circle cx="133" cy="97" r="4"/>
- <circle cx="56" cy="63" r="4"/>
- <circle cx="168" cy="63" r="4"/>
- <circle cx="99" cy="63" r="4"/>
- <circle cx="125" cy="63" r="4"/>
- <path d="M90.8,98.5c-19.6,0-35.5-15.9-35.5-35.5s15.9-35.5,35.5-35.5s35.5,15.9,35.5,35.5S110.3,98.5,90.8,98.5z M90.8,29.5
- c-18.5,0-33.5,15-33.5,33.5s15,33.5,33.5,33.5s33.5-15,33.5-33.5S109.2,29.5,90.8,29.5z"/>
- <path d="M133.2,98.5c-19.6,0-35.5-15.9-35.5-35.5s15.9-35.5,35.5-35.5s35.5,15.9,35.5,35.5S152.8,98.5,133.2,98.5z M133.2,29.5
- c-18.5,0-33.5,15-33.5,33.5s15,33.5,33.5,33.5s33.5-15,33.5-33.5S151.7,29.5,133.2,29.5z"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components/iron-jsonp-library/index.html b/third_party/polymer/v1_0/components/iron-jsonp-library/index.html
deleted file mode 100644
index 487bb5c..0000000
--- a/third_party/polymer/v1_0/components/iron-jsonp-library/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-jsonp-library/iron-jsonp-library.html b/third_party/polymer/v1_0/components/iron-jsonp-library/iron-jsonp-library.html
deleted file mode 100644
index 63c60a3..0000000
--- a/third_party/polymer/v1_0/components/iron-jsonp-library/iron-jsonp-library.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<link rel="import" href="../polymer/polymer.html">
-
-<script>
-(function() {
- "use strict";
- /**
- `Polymer.IronJsonpLibraryBehavior` loads a jsonp library.
- Multiple components can request same library, only one copy will load.
-
- Some libraries require a specific global function be defined.
- If this is the case, specify the `callbackName` property.
-
- You should use an HTML Import to load library dependencies
- when possible instead of using this element.
-
- @hero hero.svg
- @demo demo/index.html
- @polymerBehavior
- */
- Polymer.IronJsonpLibraryBehavior = {
-
- properties: {
- /**
- * True if library has been successfully loaded
- */
- libraryLoaded: {
- type: Boolean,
- value: false,
- notify: true,
- readOnly: true
- },
- /**
- * Not null if library has failed to load
- */
- libraryErrorMessage: {
- type: String,
- value: null,
- notify: true,
- readOnly: true
- }
- // Following properties are to be set by behavior users
- /**
- * Library url. Must contain string `%%callback_name%%`.
- *
- * `%%callback_name%%` is a placeholder for jsonp wrapper function name
- *
- * Ex: https://maps.googleapis.com/maps/api/js?callback=%%callback%%
- * @property libraryUrl
- */
- /**
- * Set if library requires specific callback name.
- * Name will be automatically generated if not set.
- * @property callbackName
- */
- /**
- * name of event to be emitted when library loads. Standard is `api-load`
- * @property notifyEvent
- */
- /**
- * event with name specified in `notifyEvent` attribute
- * will fire upon successful load2
- * @event `notifyEvent`
- */
- },
-
- _libraryLoadCallback: function(err, result) {
- if (err) {
- console.warn("Library load failed:", err.message);
- this._setLibraryErrorMessage(err.message);
- }
- else {
- this._setLibraryErrorMessage(null);
- this._setLibraryLoaded(true);
- if (this.notifyEvent)
- this.fire( this.notifyEvent, result);
- }
- },
-
- /** loads the library, and fires this.notifyEvent upon completion */
- _loadLibrary: function() {
- LoaderMap.require(
- this.libraryUrl,
- this._libraryLoadCallback.bind(this),
- this.callbackName
- );
- },
-
- ready: function() {
- this._loadLibrary();
- }
- };
-
- /**
- * LoaderMap keeps track of all Loaders
- */
- var LoaderMap = {
- apiMap: {}, // { hash -> Loader }
-
- /**
- * @param {Function} notifyCallback loaded callback fn(result)
- * @param {string} jsonpCallbackName name of jsonpcallback. If API does not provide it, leave empty. Optional.
- */
- require: function(url, notifyCallback, jsonpCallbackName) {
-
- // make hashable string form url
- var name = this.nameFromUrl(url);
-
- // create a loader as needed
- if (!this.apiMap[name])
- this.apiMap[name] = new Loader(name, url, jsonpCallbackName);
-
- // ask for notification
- this.apiMap[name].requestNotify(notifyCallback);
- },
-
- nameFromUrl: function(url) {
- return url.replace(/[\:\/\%\?\&\.\=\-\,]/g, '_') + '_api';
- }
- };
-
- /** @constructor */
- var Loader = function(name, url, callbackName) {
- this.notifiers = []; // array of notifyFn [ notifyFn* ]
-
- // callback is specified either as callback name
- // or computed dynamically if url has callbackMacro in it
- if (!callbackName) {
- if (url.indexOf(this.callbackMacro) >= 0) {
- callbackName = name + '_loaded';
- url = url.replace(this.callbackMacro, callbackName);
- } else {
- this.error = new Error('IronJsonpLibraryBehavior a %%callback_name%% parameter is required in libraryUrl');
- // TODO(sjmiles): we should probably fallback to listening to script.load
- return;
- }
- }
- this.callbackName = callbackName;
- window[this.callbackName] = this.success.bind(this);
- this.addScript(url);
- };
-
- Loader.prototype = {
-
- callbackMacro: '%%callback%%',
- loaded: false,
-
- addScript: function(src) {
- var script = document.createElement('script');
- script.src = src;
- script.onerror = this.handleError.bind(this);
- var s = document.querySelector('script') || document.body;
- s.parentNode.insertBefore(script, s);
- this.script = script;
- },
-
- removeScript: function() {
- if (this.script.parentNode) {
- this.script.parentNode.removeChild(this.script);
- }
- this.script = null;
- },
-
- handleError: function(ev) {
- this.error = new Error("Library failed to load");
- this.notifyAll();
- this.cleanup();
- },
-
- success: function() {
- this.loaded = true;
- this.result = Array.prototype.slice.call(arguments);
- this.notifyAll();
- this.cleanup();
- },
-
- cleanup: function() {
- delete window[this.callbackName];
- },
-
- notifyAll: function() {
- this.notifiers.forEach( function(notifyCallback) {
- notifyCallback(this.error, this.result);
- }.bind(this));
- this.notifiers = [];
- },
-
- requestNotify: function(notifyCallback) {
- if (this.loaded || this.error) {
- notifyCallback( this.error, this.result);
- } else {
- this.notifiers.push(notifyCallback);
- }
- }
- };
-})();
-</script>
-
-<!--
- Loads specified jsonp library.
-
- Example:
-
- <iron-jsonp-library
- library-url="https://apis.google.com/js/plusone.js?onload=%%callback%%"
- notify-event="api-load"
- library-loaded="{{loaded}}"></iron-jsonp-library>
-
- Will emit 'api-load' event when loaded, and set 'loaded' to true
-
- Implemented by Polymer.IronJsonpLibraryBehavior. Use it
- to create specific library loader elements.
-
- @demo
--->
-<script>
- Polymer({
-
- is: 'iron-jsonp-library',
-
- behaviors: [ Polymer.IronJsonpLibraryBehavior ],
-
- properties: {
- /**
- * Library url. Must contain string `%%callback_name%%`.
- *
- * `%%callback_name%%` is a placeholder for jsonp wrapper function name
- *
- * Ex: https://maps.googleapis.com/maps/api/js?callback=%%callback%%
- */
- libraryUrl: String,
- /**
- * Set if library requires specific callback name.
- * Name will be automatically generated if not set.
- */
- callbackName: String,
- /**
- * event with name specified in 'notifyEvent' attribute
- * will fire upon successful load
- */
- notifyEvent: String
- /**
- * event with name specified in 'notifyEvent' attribute
- * will fire upon successful load
- * @event `notifyEvent`
- */
-
- }
- });
-
-</script>
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/.bower.json b/third_party/polymer/v1_0/components/iron-localstorage/.bower.json
deleted file mode 100644
index c37bfa7..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/.bower.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "iron-localstorage",
- "version": "1.0.1",
- "description": "Provides access to local storage",
- "keywords": [
- "web-component",
- "polymer",
- "storage"
- ],
- "main": "iron-localstorage.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-localstorage/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.1"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "7e8d167ef295e7cf7cb8f0729c57d7e65e0ee64f"
- },
- "_source": "git://github.com/PolymerElements/iron-localstorage.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-localstorage"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/.gitignore b/third_party/polymer/v1_0/components/iron-localstorage/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/README.md b/third_party/polymer/v1_0/components/iron-localstorage/README.md
deleted file mode 100644
index f3e1acd..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-iron-localstorage
-=================
-
-Element access to localStorage. The "name" property
-is the key to the data ("value" property) stored in localStorage.
-
-`iron-localstorage` automatically saves the value to localStorage when
-value is changed. Note that if value is an object auto-save will be
-triggered only when value is a different instance.
-
-```html
-<iron-localstorage name="my-app-storage" value="{{value}}"></iron-localstorage>
-```
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/bower.json b/third_party/polymer/v1_0/components/iron-localstorage/bower.json
deleted file mode 100644
index 1c481d5..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/bower.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "iron-localstorage",
- "version": "1.0.1",
- "description": "Provides access to local storage",
- "keywords": [
- "web-component",
- "polymer",
- "storage"
- ],
- "main": "iron-localstorage.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-localstorage/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.2",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.1"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/hero.svg b/third_party/polymer/v1_0/components/iron-localstorage/hero.svg
deleted file mode 100644
index 0c0ec6b..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/hero.svg
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <path d="M124,45.3c-0.5-0.6-4.7-1.6-12-1.6s-11.5,1.1-12,1.6c0,0,0.1-0.3,0.1-0.3h-2c0-3,10.7-3.4,14-3.4s14,0.4,14,3.4h-2
- C124,45,124,45.3,124,45.3z"/>
- <path d="M112,83c-3.3,0-14-0.2-14-3.4l0-7.6l0-1.6l2,0c0-0.2-0.1-0.3-0.1-0.3c0.5,0.6,4.7,1.6,12,1.6s11.5-1.1,12-1.6
- c0,0-0.1,0.1-0.1,0.3l2,0l0,1.5l0,7.7C126,82.8,115.3,83,112,83z M100,79.4c0.8,0.6,4.9,1.6,12,1.6s11.2-1,12-1.6l0-7
- c-3.2,1.3-9.6,1.4-12,1.4c-2.4,0-8.8-0.1-12-1.4L100,79.4z"/>
- <path d="M112,70c-3.3,0-14-0.2-14-3.4l0-7.6l0-1.6l2,0c0-0.2-0.1-0.3-0.1-0.3c0.5,0.6,4.7,1.6,12,1.6s11.5-1.1,12-1.6
- c0,0-0.1,0.1-0.1,0.3l2,0l0,1.5l0,7.7C126,69.8,115.3,70,112,70z M100,66.4c0.8,0.6,4.9,1.6,12,1.6s11.2-1,12-1.6l0-7
- c-3.2,1.3-9.6,1.4-12,1.4c-2.4,0-8.8-0.1-12-1.4L100,66.4z"/>
- <path d="M112,57c-3.3,0-14-0.2-14-3.4l0-7.6l0-1.6l2,0c0-0.2-0.1-0.3-0.1-0.3c0.5,0.6,4.7,1.6,12,1.6s11.5-1.1,12-1.6
- c0,0-0.1,0.1-0.1,0.3l2,0l0,1.5l0,7.7C126,56.8,115.3,57,112,57z M100,53.4c0.8,0.6,4.9,1.6,12,1.6s11.2-1,12-1.6l0-7
- c-3.2,1.3-9.6,1.4-12,1.4c-2.4,0-8.8-0.1-12-1.4L100,53.4z"/>
- <path d="M151,99H73V27h78V99z M75,97h74V29H75V97z"/>
- <circle cx="74" cy="28" r="4"/>
- <circle cx="150" cy="28" r="4"/>
- <circle cx="150" cy="98" r="4"/>
- <circle cx="74" cy="98" r="4"/>
- <circle cx="113" cy="98" r="4"/>
- <circle cx="113" cy="28" r="4"/>
- <circle cx="74" cy="63" r="4"/>
- <circle cx="150" cy="63" r="4"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/index.html b/third_party/polymer/v1_0/components/iron-localstorage/index.html
deleted file mode 100644
index 246af10..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-localstorage/iron-localstorage.html b/third_party/polymer/v1_0/components/iron-localstorage/iron-localstorage.html
deleted file mode 100644
index 46a094e..0000000
--- a/third_party/polymer/v1_0/components/iron-localstorage/iron-localstorage.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-
-<!--
-Element access to Web Storage API (window.localStorage).
-
-Keeps `value` in sync with a localStorage key.
-
-Direct assignments to `value` are automatically detected and saved.
-Subproperty assignments are not (ex: `value.bar='foo'`).
-Call `save()` manually to commit your changes after modifying subproperties.
-
-Value is saved in localStorage as JSON by default.
-
-If you set the value to null, storage key will be deleted.
-
- <iron-localstorage name="my-app-storage" value="{{value}}">
- </iron-localstorage>
-
-
-<b>Warning</b>: do not pass subproperty bindings to iron-localstorage until Polymer
-[bug 1550](https://github.com/Polymer/polymer/issues/1550)
-is resolved. Local storage will be blown away.
-No `<iron-localstorage value="{{foo.bar}}"`.
-
-@group Iron Elements
-@demo demo/index.html
-@hero hero.svg
-@element iron-localstorage
--->
-<dom-module id="iron-localstorage"></dom-module>
-<script>
-
- Polymer({
- is: 'iron-localstorage',
-
- /**
- * Fired when value loads from localStorage.
- *
- * @event paper-responsive-change
- * @param {{externalChange: boolean}} detail -
- * externalChange: True if change occured in different window.
- */
-
- /**
- * Fired when loaded value is null.
- * You can use event handler to initialize default value.
- *
- * @event iron-localstorage-load-empty
- */
- properties: {
- /**
- * The key to the data stored in localStorage.
- */
- name: {
- type: String,
- value: ''
- },
- /**
- * The data associated with this storage.
- * If value is set to null, and storage is in useRaw mode, item will be deleted
- * @type {*}
- */
- value: {
- type: Object,
- notify: true
- },
-
- /**
- * Value is stored and retrieved without JSON parse if true
- */
- useRaw: {
- type: Boolean,
- value: false
- },
-
- /**
- * Auto save is disabled if true. Default to false.
- */
- autoSaveDisabled: {
- type: Boolean,
- value: false
- },
- /**
- * Last error encountered while saving/loading items. Null otherwise
- */
- errorMessage: {
- type: String,
- notify: true
- },
- /*
- * True if value was loaded
- */
- _loaded: {
- type: Boolean,
- value: false
- }
- },
-
- observers: [
- 'reload(name,useRaw)',
- '_trySaveValue(value, _loaded, autoSaveDisabled)'
- ],
-
- ready: function() {
- this._boundHandleStorage = this._handleStorage.bind(this);
- },
-
- attached: function() {
- window.addEventListener('storage', this._boundHandleStorage);
- },
-
- detached: function() {
- window.removeEventListener('storage', this._boundHandleStorage);
- },
-
- _handleStorage: function(ev) {
- if (ev.key == this.name) {
- this._load(true);
- }
- },
-
- _trySaveValue: function(value, _loaded, autoSaveDisabled) {
- if (this._justLoaded) { // guard against saving after _load()
- this._justLoaded = false;
- return;
- }
- if (_loaded && !autoSaveDisabled) {
- this.save();
- }
- },
-
- /**
- * Loads the value again. Use if you modify
- * localStorage using DOM calls, and want to
- * keep this element in sync.
- */
- reload: function() {
- this._load();
- },
-
- /**
- * loads value from local storage
- * @param {boolean=} externalChange true if loading changes from a different window
- */
- _load: function(externalChange) {
- var v = window.localStorage.getItem(this.name);
-
- if (v === null) {
- this.fire('iron-localstorage-load-empty');
- } else if (!this.useRaw) {
- try {
- v = JSON.parse(v);
- } catch(x) {
- this.errorMessage = "Could not parse local storage value";
- console.error("could not parse local storage value", v);
- }
- }
-
- this._justLoaded = true;
- this._loaded = true;
- this.value = v;
- this.fire('iron-localstorage-load', { externalChange: externalChange});
- },
-
- /**
- * Saves the value to localStorage. Call to save if autoSaveDisabled is set.
- * If `value` is null, deletes localStorage.
- */
- save: function() {
- var v = this.useRaw ? this.value : JSON.stringify(this.value);
- try {
- if (this.value === null) {
- window.localStorage.removeItem(this.name);
- } else {
- window.localStorage.setItem(this.name, /** @type {string} */ (v));
- }
- }
- catch(ex) {
- // Happens in Safari incognito mode,
- this.errorMessage = ex.message;
- console.error("localStorage could not be saved. Safari incoginito mode?", ex);
- }
- }
-
- });
-
-</script>
diff --git a/third_party/polymer/v1_0/components/iron-media-query/.bower.json b/third_party/polymer/v1_0/components/iron-media-query/.bower.json
index 7bc9132..d8f7bb1 100644
--- a/third_party/polymer/v1_0/components/iron-media-query/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-media-query/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-media-query",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Lets you bind to a CSS media query",
"authors": [
"The Polymer Authors"
@@ -22,18 +22,19 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"web-component-tester": "*",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "655ba5a1b8f2d8c3e5d0c4053a4f18d6c4c6ac69"
+ "tag": "v1.0.2",
+ "commit": "34abf0a3b8bf9e9e478352dbb3d9e6a76bf3669a"
},
"_source": "git://github.com/PolymerElements/iron-media-query.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-media-query"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-media-query/README.md b/third_party/polymer/v1_0/components/iron-media-query/README.md
index 3f1b91c..f577b3c 100644
--- a/third_party/polymer/v1_0/components/iron-media-query/README.md
+++ b/third_party/polymer/v1_0/components/iron-media-query/README.md
@@ -2,10 +2,10 @@
`iron-media-query` can be used to data bind to a CSS media query.
The `query` property is a bare CSS media query.
-The `queryMatches` property is a boolean representing if the page matches that media query.
+The `query-matches` property is a boolean representing if the page matches that media query.
Example:
```html
-<iron-media-query query="(min-width: 600px)" queryMatches="{{queryMatches}}"></iron-media-query>
+<iron-media-query query="(min-width: 600px)" query-matches="{{queryMatches}}"></iron-media-query>
```
diff --git a/third_party/polymer/v1_0/components/iron-media-query/bower.json b/third_party/polymer/v1_0/components/iron-media-query/bower.json
index 1c692e7..48c342a 100644
--- a/third_party/polymer/v1_0/components/iron-media-query/bower.json
+++ b/third_party/polymer/v1_0/components/iron-media-query/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-media-query",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Lets you bind to a CSS media query",
"authors": [
"The Polymer Authors"
@@ -22,6 +22,7 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"web-component-tester": "*",
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/iron-media-query/iron-media-query.html b/third_party/polymer/v1_0/components/iron-media-query/iron-media-query.html
index 4d51cb7..8325eb2 100644
--- a/third_party/polymer/v1_0/components/iron-media-query/iron-media-query.html
+++ b/third_party/polymer/v1_0/components/iron-media-query/iron-media-query.html
@@ -12,11 +12,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<!--
`iron-media-query` can be used to data bind to a CSS media query.
The `query` property is a bare CSS media query.
-The `queryMatches` property is a boolean representing if the page matches that media query.
+The `query-matches` property is a boolean representing whether the page matches that media query.
Example:
- <iron-media-query query="(min-width: 600px)" queryMatches="{{queryMatches}}"></iron-media-query>
+ <iron-media-query query="(min-width: 600px)" query-matches="{{queryMatches}}"></iron-media-query>
@group Iron Elements
@demo demo/index.html
@@ -34,10 +34,6 @@ Example:
/**
* The Boolean return value of the media query.
- *
- * @attribute queryMatches
- * @type Boolean
- * @default false
*/
queryMatches: {
type: Boolean,
@@ -48,9 +44,6 @@ Example:
/**
* The CSS media query to evaluate.
- *
- * @attribute query
- * @type String
*/
query: {
type: String,
diff --git a/third_party/polymer/v1_0/components/iron-menu-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-menu-behavior/.bower.json
index 7ca24d4..5f4c077 100644
--- a/third_party/polymer/v1_0/components/iron-menu-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-menu-behavior/.bower.json
@@ -36,6 +36,6 @@
"commit": "3809f0eb7461c8ca63640aaa238775b3a25aa578"
},
"_source": "git://github.com/PolymerElements/iron-menu-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-menu-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-meta/.bower.json b/third_party/polymer/v1_0/components/iron-meta/.bower.json
index 0336c02..167163d 100644
--- a/third_party/polymer/v1_0/components/iron-meta/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-meta/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-meta",
- "version": "1.0.1",
+ "version": "1.0.3",
"keywords": [
"web-components",
"polymer"
@@ -11,23 +11,28 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-meta.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.4",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-meta",
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "74e95dc020cfebfbf4343fb952f0f224ccd47f8e"
+ "tag": "v1.0.3",
+ "commit": "91529259262b0d8f33fed44bc3fd47aedf35cb04"
},
"_source": "git://github.com/PolymerElements/iron-meta.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-meta"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-meta/README.md b/third_party/polymer/v1_0/components/iron-meta/README.md
index b3b0f27..26e2ddf 100644
--- a/third_party/polymer/v1_0/components/iron-meta/README.md
+++ b/third_party/polymer/v1_0/components/iron-meta/README.md
@@ -16,23 +16,23 @@ Examples:
If I create an instance like this:
```html
-<iron-meta key="info" keyUrl="foo/bar"></iron-meta>
+<iron-meta key="info" value="foo/bar"></iron-meta>
```
-Note that keyUrl="foo/bar" is the metadata I've defined. I could define more
+Note that value="foo/bar" is the metadata I've defined. I could define more
attributes or use child nodes to define additional metadata.
Now I can access that element (and it's metadata) from any iron-meta instance
via the byKey method, e.g.
```javascript
-meta.byKey('info').getAttribute('keyUrl').
+meta.byKey('info').getAttribute('value');
```
Pure imperative form would be like:
```javascript
-document.createElement('iron-meta').byKey('info').getAttribute('keyUrl');
+document.createElement('iron-meta').byKey('info').getAttribute('value');
```
Or, in a Polymer element, you can include a meta in your template:
@@ -42,5 +42,5 @@ Or, in a Polymer element, you can include a meta in your template:
```
```javascript
-this.$.meta.byKey('info').getAttribute('keyUrl');
+this.$.meta.byKey('info').getAttribute('value');
```
diff --git a/third_party/polymer/v1_0/components/iron-meta/bower.json b/third_party/polymer/v1_0/components/iron-meta/bower.json
index 6e7e3f3..65a1f8f 100644
--- a/third_party/polymer/v1_0/components/iron-meta/bower.json
+++ b/third_party/polymer/v1_0/components/iron-meta/bower.json
@@ -1,10 +1,9 @@
{
"name": "iron-meta",
- "version": "1.0.1",
+ "version": "1.0.3",
"keywords": [
"web-components",
- "polymer",
- "meta"
+ "polymer"
],
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Useful for sharing information across a DOM tree",
@@ -12,14 +11,15 @@
"authors": [
"The Polymer Authors"
],
- "keywords": [
- "web-components",
- "polymer"
- ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-meta.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.4",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
diff --git a/third_party/polymer/v1_0/components/iron-meta/iron-meta.html b/third_party/polymer/v1_0/components/iron-meta/iron-meta.html
index 10addd7..4b34311 100644
--- a/third_party/polymer/v1_0/components/iron-meta/iron-meta.html
+++ b/third_party/polymer/v1_0/components/iron-meta/iron-meta.html
@@ -25,25 +25,25 @@ Examples:
If I create an instance like this:
- <iron-meta key="info" keyUrl="foo/bar"></iron-meta>
+ <iron-meta key="info" value="foo/bar"></iron-meta>
-Note that keyUrl="foo/bar" is the metadata I've defined. I could define more
+Note that value="foo/bar" is the metadata I've defined. I could define more
attributes or use child nodes to define additional metadata.
Now I can access that element (and it's metadata) from any iron-meta instance
via the byKey method, e.g.
- meta.byKey('info').getAttribute('keyUrl').
+ meta.byKey('info').getAttribute('value').
Pure imperative form would be like:
- document.createElement('iron-meta').byKey('info').getAttribute('keyUrl');
+ document.createElement('iron-meta').byKey('info').getAttribute('value');
Or, in a Polymer element, you can include a meta in your template:
<iron-meta id="meta"></iron-meta>
...
- this.$.meta.byKey('info').getAttribute('keyUrl');
+ this.$.meta.byKey('info').getAttribute('value');
@group Iron Elements
@demo demo/index.html
@@ -68,10 +68,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* The type of meta-data. All meta-data of the same type is stored
* together.
- *
- * @attribute type
- * @type String
- * @default 'default'
*/
type: {
type: String,
@@ -81,10 +77,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* The key used to store `value` under the `type` namespace.
- *
- * @attribute key
- * @type String
- * @default ''
*/
key: {
type: String,
@@ -93,10 +85,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* The meta-data to store or retrieve.
- *
- * @attribute value
- * @type *
- * @default this
*/
value: {
type: Object,
@@ -106,10 +94,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* If true, `value` is set to the iron-meta instance itself.
- *
- * @attribute self
- * @type Boolean
- * @default false
*/
self: {
type: Boolean,
@@ -118,9 +102,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* Array of all meta-data values for the given type.
- *
- * @property list
- * @type Array
*/
list: {
type: Array,
@@ -184,8 +165,8 @@ Or, in a Polymer element, you can include a meta in your template:
* Retrieves meta data value by key.
*
* @method byKey
- * @param {String} key The key of the meta-data to be returned.
- * @returns *
+ * @param {string} key The key of the meta-data to be returned.
+ * @return {*}
*/
byKey: function(key) {
return this._metaData && this._metaData[key];
@@ -232,7 +213,7 @@ Or, in a Polymer element, you can include a meta in your template:
<iron-meta key="info" value="foo/bar"></iron-meta>
- Note that keyUrl="foo/bar" is the metadata I've defined. I could define more
+ Note that value="foo/bar" is the metadata I've defined. I could define more
attributes or use child nodes to define additional metadata.
Now I can access that element (and it's metadata) from any `iron-meta-query` instance:
@@ -251,10 +232,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* The type of meta-data. All meta-data of the same type is stored
* together.
- *
- * @attribute type
- * @type String
- * @default 'default'
*/
type: {
type: String,
@@ -265,9 +242,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* Specifies a key to use for retrieving `value` from the `type`
* namespace.
- *
- * @attribute key
- * @type String
*/
key: {
type: String,
@@ -276,10 +250,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* The meta-data to store or retrieve.
- *
- * @attribute value
- * @type *
- * @default this
*/
value: {
type: Object,
@@ -289,9 +259,6 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* Array of all meta-data values for the given type.
- *
- * @property list
- * @type Array
*/
list: {
type: Array,
@@ -304,7 +271,7 @@ Or, in a Polymer element, you can include a meta in your template:
* Actually a factory method, not a true constructor. Only runs if
* someone invokes it directly (via `new Polymer.IronMeta()`);
*/
- constructor: function(config) {
+ factoryImpl: function(config) {
if (config) {
for (var n in config) {
switch(n) {
@@ -337,10 +304,8 @@ Or, in a Polymer element, you can include a meta in your template:
/**
* Retrieves meta data value by key.
- *
- * @method byKey
- * @param {String} key The key of the meta-data to be returned.
- * @returns *
+ * @param {string} key The key of the meta-data to be returned.
+ * @return {*}
*/
byKey: function(key) {
return this._metaData && this._metaData[key];
diff --git a/third_party/polymer/v1_0/components/iron-overlay-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-overlay-behavior/.bower.json
index 7a37c57..6308cfd 100644
--- a/third_party/polymer/v1_0/components/iron-overlay-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-overlay-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-overlay-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for making an element an overlay",
"private": true,
@@ -35,13 +35,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-overlay-behavior",
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "e84965cddda459c9e4a24e8d442c56ba4d5823eb"
+ "tag": "v1.0.4",
+ "commit": "7939cabf4f23467a0d02b572094ef05d35ad0dcc"
},
"_source": "git://github.com/PolymerElements/iron-overlay-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-overlay-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-overlay-behavior/bower.json b/third_party/polymer/v1_0/components/iron-overlay-behavior/bower.json
index de2114b..3ee071c 100644
--- a/third_party/polymer/v1_0/components/iron-overlay-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/iron-overlay-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-overlay-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for making an element an overlay",
"private": true,
diff --git a/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html b/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html
index c4db372..4bc044d 100644
--- a/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html
+++ b/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html
@@ -61,7 +61,8 @@ context. You should place this element as a child of `<body>` whenever possible.
opened: {
observer: '_openedChanged',
type: Boolean,
- value: false
+ value: false,
+ notify: true
},
/**
@@ -369,7 +370,7 @@ context. You should place this element as a child of `<body>` whenever possible.
this.style.display = '';
},
- _finishPositioning: function(target) {
+ _finishPositioning: function() {
this.style.display = 'none';
this.style.transform = this.style.webkitTransform = '';
// force layout to avoid application of transform
diff --git a/third_party/polymer/v1_0/components/iron-pages/.bower.json b/third_party/polymer/v1_0/components/iron-pages/.bower.json
index 46d3ac1..bac6fa4 100644
--- a/third_party/polymer/v1_0/components/iron-pages/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-pages/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-pages",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Organizes a set of pages and shows one at a time",
"main": "iron-pages.html",
@@ -8,6 +8,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-pages.git"
+ },
"keywords": [
"web-components",
"polymer",
@@ -19,19 +23,20 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-pages",
- "_release": "1.0.0",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "5450f62ac96fb0b21237efb58b9847cd2ce9a27c"
+ "tag": "v1.0.2",
+ "commit": "061e9ea95b58880f0f992b081c52a06665b553c9"
},
"_source": "git://github.com/PolymerElements/iron-pages.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-pages"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-pages/bower.json b/third_party/polymer/v1_0/components/iron-pages/bower.json
index 57fd16d..c41be27 100644
--- a/third_party/polymer/v1_0/components/iron-pages/bower.json
+++ b/third_party/polymer/v1_0/components/iron-pages/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-pages",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Organizes a set of pages and shows one at a time",
"main": "iron-pages.html",
@@ -8,6 +8,10 @@
"authors": [
"The Polymer Authors"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-pages.git"
+ },
"keywords": [
"web-components",
"polymer",
@@ -19,6 +23,7 @@
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
+ "paper-styles": "polymerelements/paper-styles#^1.0.2",
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
"test-fixture": "polymerelements/test-fixture#^1.0.0",
"web-component-tester": "*",
diff --git a/third_party/polymer/v1_0/components/iron-pages/iron-pages.html b/third_party/polymer/v1_0/components/iron-pages/iron-pages.html
index 6fe2f48..1753f0e 100644
--- a/third_party/polymer/v1_0/components/iron-pages/iron-pages.html
+++ b/third_party/polymer/v1_0/components/iron-pages/iron-pages.html
@@ -71,6 +71,18 @@ Example:
Polymer.IronSelectableBehavior
],
+ properties: {
+
+ // as the selected page is the only one visible, activateEvent
+ // is both non-sensical and problematic; e.g. in cases where a user
+ // handler attempts to change the page and the activateEvent
+ // handler immediately changes it back
+ activateEvent: {
+ value: null
+ }
+
+ },
+
observers: [
'_selectedPageChanged(selected)'
],
diff --git a/third_party/polymer/v1_0/components/iron-range-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-range-behavior/.bower.json
index 0a4896f..9e969fe 100644
--- a/third_party/polymer/v1_0/components/iron-range-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-range-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-range-behavior",
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for something with a minimum and maximum value",
"authors": "The Polymer Authors",
@@ -28,13 +28,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-range-behavior",
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "80aa8588f3b8527b96f3206655b29e23970fb7a3"
+ "tag": "v1.0.2",
+ "commit": "a743ac0b204a8e76466c2dba349ab2180c9f15f5"
},
"_source": "git://github.com/PolymerElements/iron-range-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-range-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-range-behavior/bower.json b/third_party/polymer/v1_0/components/iron-range-behavior/bower.json
index 2f3cea4..6abc839 100644
--- a/third_party/polymer/v1_0/components/iron-range-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/iron-range-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-range-behavior",
- "version": "1.0.1",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Provides a behavior for something with a minimum and maximum value",
"authors": "The Polymer Authors",
diff --git a/third_party/polymer/v1_0/components/iron-range-behavior/index.html b/third_party/polymer/v1_0/components/iron-range-behavior/index.html
index 25ed936..cc77788 100644
--- a/third_party/polymer/v1_0/components/iron-range-behavior/index.html
+++ b/third_party/polymer/v1_0/components/iron-range-behavior/index.html
@@ -2,11 +2,11 @@
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
<head>
diff --git a/third_party/polymer/v1_0/components/iron-range-behavior/iron-range-behavior.html b/third_party/polymer/v1_0/components/iron-range-behavior/iron-range-behavior.html
index d89843d..4306e69 100644
--- a/third_party/polymer/v1_0/components/iron-range-behavior/iron-range-behavior.html
+++ b/third_party/polymer/v1_0/components/iron-range-behavior/iron-range-behavior.html
@@ -83,6 +83,14 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
},
_calcStep: function(value) {
+ /**
+ * if we calculate the step using
+ * `Math.round(value / step) * step` we may hit a precision point issue
+ * eg. 0.1 * 0.2 = 0.020000000000000004
+ * http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
+ *
+ * as a work around we can divide by the reciprocal of `step`
+ */
return this.step ? (Math.round(value / this.step) / (1 / this.step)) : value;
},
diff --git a/third_party/polymer/v1_0/components/iron-resizable-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-resizable-behavior/.bower.json
index abbcb68..f67f958 100644
--- a/third_party/polymer/v1_0/components/iron-resizable-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-resizable-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-resizable-behavior",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Coordinates the flow of resizeable elements",
"private": true,
@@ -14,6 +14,10 @@
"iron",
"behavior"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-resizable-behavior.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
@@ -24,13 +28,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-resizable-behavior",
- "_release": "1.0.0",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "62e0fb1dd6d657bceab7c78faf1a8b0fb909239c"
+ "tag": "v1.0.2",
+ "commit": "85de8ba28be2bf17c81d6436ef1119022b003674"
},
"_source": "git://github.com/PolymerElements/iron-resizable-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-resizable-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-resizable-behavior/bower.json b/third_party/polymer/v1_0/components/iron-resizable-behavior/bower.json
index b1c66f0..d0591a3 100644
--- a/third_party/polymer/v1_0/components/iron-resizable-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/iron-resizable-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-resizable-behavior",
- "version": "1.0.0",
+ "version": "1.0.2",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Coordinates the flow of resizeable elements",
"private": true,
@@ -14,6 +14,10 @@
"iron",
"behavior"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/iron-resizable-behavior.git"
+ },
"dependencies": {
"polymer": "Polymer/polymer#^1.0.0"
},
diff --git a/third_party/polymer/v1_0/components/iron-resizable-behavior/iron-resizable-behavior.html b/third_party/polymer/v1_0/components/iron-resizable-behavior/iron-resizable-behavior.html
index 3529b4d0..19b8c02 100644
--- a/third_party/polymer/v1_0/components/iron-resizable-behavior/iron-resizable-behavior.html
+++ b/third_party/polymer/v1_0/components/iron-resizable-behavior/iron-resizable-behavior.html
@@ -29,9 +29,21 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
**/
Polymer.IronResizableBehavior = {
properties: {
+ /**
+ * The closest ancestor element that implements `IronResizableBehavior`.
+ */
_parentResizable: {
type: Object,
observer: '_parentResizableChanged'
+ },
+
+ /**
+ * True if this element is currently notifying its descedant elements of
+ * resize.
+ */
+ _notifyingDescendant: {
+ type: Boolean,
+ value: false
}
},
@@ -49,7 +61,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
attached: function() {
this.fire('iron-request-resize-notifications', null, {
node: this,
- bubbles: true
+ bubbles: true,
+ cancelable: true
});
if (!this._parentResizable) {
@@ -78,16 +91,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
}
this._interestedResizables.forEach(function(resizable) {
- // TODO(cdata): Currently behaviors cannot define "abstract" methods..
- if (!this.resizerShouldNotify || this.resizerShouldNotify(resizable)) {
- resizable.notifyResize();
+ if (this.resizerShouldNotify(resizable)) {
+ this._notifyDescendant(resizable);
}
}, this);
- this.fire('iron-resize', null, {
- node: this,
- bubbles: false
- });
+ this._fireResize();
},
/**
@@ -107,18 +116,42 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
if (index > -1) {
this._interestedResizables.splice(index, 1);
+ this.unlisten(target, 'iron-resize', '_onDescendantIronResize');
}
},
- // TODO(cdata): Currently behaviors cannot define "abstract" methods.
- // resizerShouldNotify: function(el) { return true; },
+ /**
+ * This method can be overridden to filter nested elements that should or
+ * should not be notified by the current element. Return true if an element
+ * should be notified, or false if it should not be notified.
+ *
+ * @param {HTMLElement} element A candidate descendant element that
+ * implements `IronResizableBehavior`.
+ * @return {boolean} True if the `element` should be notified of resize.
+ */
+ resizerShouldNotify: function(element) { return true; },
- _parentResizableChanged: function(parentResizable) {
- if (parentResizable) {
- window.removeEventListener('resize', this._boundNotifyResize);
+ _onDescendantIronResize: function(event) {
+ if (this._notifyingDescendant) {
+ event.stopPropagation();
+ return;
+ }
+
+ // NOTE(cdata): In ShadowDOM, event retargetting makes echoing of the
+ // otherwise non-bubbling event "just work." We do it manually here for
+ // the case where Polymer is not using shadow roots for whatever reason:
+ if (!Polymer.Settings.useShadow) {
+ this._fireResize();
}
},
+ _fireResize: function() {
+ this.fire('iron-resize', null, {
+ node: this,
+ bubbles: false
+ });
+ },
+
_onIronRequestResizeNotifications: function(event) {
var target = event.path ? event.path[0] : event.target;
@@ -128,11 +161,32 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
if (this._interestedResizables.indexOf(target) === -1) {
this._interestedResizables.push(target);
+ this.listen(target, 'iron-resize', '_onDescendantIronResize');
}
target.assignParentResizable(this);
+ this._notifyDescendant(target);
event.stopPropagation();
+ },
+
+ _parentResizableChanged: function(parentResizable) {
+ if (parentResizable) {
+ window.removeEventListener('resize', this._boundNotifyResize);
+ }
+ },
+
+ _notifyDescendant: function(descendant) {
+ // NOTE(cdata): In IE10, attached is fired on children first, so it's
+ // important not to notify them if the parent is not attached yet (or
+ // else they will get redundantly notified when the parent attaches).
+ if (!this.isAttached) {
+ return;
+ }
+
+ this._notifyingDescendant = true;
+ descendant.notifyResize();
+ this._notifyingDescendant = false;
}
};
</script>
diff --git a/third_party/polymer/v1_0/components/iron-signals/.bower.json b/third_party/polymer/v1_0/components/iron-signals/.bower.json
deleted file mode 100644
index 36a1cb2..0000000
--- a/third_party/polymer/v1_0/components/iron-signals/.bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "iron-signals",
- "version": "1.0.1",
- "description": "Basic publish-subscribe functionality",
- "keywords": [
- "web-component",
- "polymer",
- "signals"
- ],
- "main": "iron-signals.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-signals/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "bd43f7706bfb9f8099bfcd017affa9378fb3fa4b"
- },
- "_source": "git://github.com/PolymerElements/iron-signals.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-signals"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-signals/.gitignore b/third_party/polymer/v1_0/components/iron-signals/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/iron-signals/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/iron-signals/README.md b/third_party/polymer/v1_0/components/iron-signals/README.md
deleted file mode 100644
index fe82ffd..0000000
--- a/third_party/polymer/v1_0/components/iron-signals/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-iron-signals
-============
-
-`iron-signals` provides basic publish-subscribe functionality.
-
-Note: avoid using `iron-signals` whenever you can use
-a controller (parent element) to mediate communication
-instead.
-
-To send a signal, fire a custom event of type `iron-signal`, with
-a detail object containing `name` and `data` fields.
-
-```javascript
-this.fire('iron-signal', {name: 'hello', data: null});
-```
-
-To receive a signal, listen for `iron-signal-<name>` event on a
-`iron-signals` element.
-
-```html
-<iron-signals on-iron-signal-hello="{{helloSignal}}">
-```
-
-You can fire a signal event from anywhere, and all
-`iron-signals` elements will receive the event, regardless
-of where they are in DOM.
diff --git a/third_party/polymer/v1_0/components/iron-signals/bower.json b/third_party/polymer/v1_0/components/iron-signals/bower.json
deleted file mode 100644
index 73a984c..0000000
--- a/third_party/polymer/v1_0/components/iron-signals/bower.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "iron-signals",
- "version": "1.0.1",
- "description": "Basic publish-subscribe functionality",
- "keywords": [
- "web-component",
- "polymer",
- "signals"
- ],
- "main": "iron-signals.html",
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-signals/",
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-signals/index.html b/third_party/polymer/v1_0/components/iron-signals/index.html
deleted file mode 100644
index 246af10..0000000
--- a/third_party/polymer/v1_0/components/iron-signals/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-signals/iron-signals.html b/third_party/polymer/v1_0/components/iron-signals/iron-signals.html
deleted file mode 100644
index dcf2e59..0000000
--- a/third_party/polymer/v1_0/components/iron-signals/iron-signals.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<link rel="import" href="../polymer/polymer.html">
-
-<script>
-(function(){
-/**
-`iron-signals` provides basic publish-subscribe functionality.
-
-Note: avoid using `iron-signals` whenever you can use
-a controller (parent element) to mediate communication
-instead.
-
-To send a signal, fire a custom event of type `iron-signal`, with
-a detail object containing `name` and `data` fields.
-
- this.fire('iron-signal', {name: 'hello', data: null});
-
-To receive a signal, listen for `iron-signal-<name>` event on a
-`iron-signals` element.
-
- <iron-signals on-iron-signal-hello="{{helloSignal}}">
-
-You can fire a signal event from anywhere, and all
-`iron-signals` elements will receive the event, regardless
-of where they are in DOM.
-
-@demo demo/index.html
-*/
- Polymer({
- is: 'iron-signals',
-
- attached: function() {
- signals.push(this);
- },
- detached: function() {
- var i = signals.indexOf(this);
- if (i >= 0) {
- signals.splice(i, 1);
- }
- }
- });
-
- // private shared database
- var signals = [];
-
- // signal dispatcher
- function notify(name, data) {
- // convert generic-signal event to named-signal event
- var signal = new CustomEvent('iron-signal-' + name, {
- // if signals bubble, it's easy to get confusing duplicates
- // (1) listen on a container on behalf of local child
- // (2) some deep child ignores the event and it bubbles
- // up to said container
- // (3) local child event bubbles up to container
- // also, for performance, we avoid signals flying up the
- // tree from all over the place
- bubbles: false,
- detail: data
- });
- // dispatch named-signal to all 'signals' instances,
- // only interested listeners will react
- signals.forEach(function(s) {
- s.dispatchEvent(signal);
- });
- }
-
- // signal listener at document
- document.addEventListener('iron-signal', function(e) {
- notify(e.detail.name, e.detail.data);
- });
-
-})();
-</script>
diff --git a/third_party/polymer/v1_0/components/iron-test-helpers/.bower.json b/third_party/polymer/v1_0/components/iron-test-helpers/.bower.json
index 0f3971ac..46fae4a 100644
--- a/third_party/polymer/v1_0/components/iron-test-helpers/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-test-helpers/.bower.json
@@ -32,6 +32,6 @@
"commit": "4c5d28f58adda0d076850321582cfe86359f95fb"
},
"_source": "git://github.com/PolymerElements/iron-test-helpers.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/iron-test-helpers"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-validatable-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-validatable-behavior/.bower.json
index b1acc42..b8bd6b3 100644
--- a/third_party/polymer/v1_0/components/iron-validatable-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/iron-validatable-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-validatable-behavior",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Provides a behavior for an element that validates user input",
"authors": "The Polymer Authors",
"keywords": [
@@ -32,11 +32,11 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "1.0.2",
- "commit": "a4fc340fdb268e274f312dadedd0633b025ac3a4"
+ "tag": "v1.0.3",
+ "commit": "714ac9f09f9d7d5f6f792a38bb15970adaacb264"
},
"_source": "git://github.com/PolymerElements/iron-validatable-behavior.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components/iron-validatable-behavior/bower.json b/third_party/polymer/v1_0/components/iron-validatable-behavior/bower.json
index eaab387..8522d53 100644
--- a/third_party/polymer/v1_0/components/iron-validatable-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/iron-validatable-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-validatable-behavior",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Provides a behavior for an element that validates user input",
"authors": "The Polymer Authors",
"keywords": [
diff --git a/third_party/polymer/v1_0/components/iron-validatable-behavior/iron-validatable-behavior.html b/third_party/polymer/v1_0/components/iron-validatable-behavior/iron-validatable-behavior.html
index c59c47e..a264668 100644
--- a/third_party/polymer/v1_0/components/iron-validatable-behavior/iron-validatable-behavior.html
+++ b/third_party/polymer/v1_0/components/iron-validatable-behavior/iron-validatable-behavior.html
@@ -91,7 +91,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
* @return {boolean} True if `values` is valid.
*/
validate: function(values) {
- var valid = this._validator && this._validator.validate(values);
+ var valid = true;
+ if (this.hasValidator()) {
+ valid = this._validator.validate(values);
+ }
+
this.invalid = !valid;
return valid;
}
diff --git a/third_party/polymer/v1_0/components/iron-validator-behavior/.bower.json b/third_party/polymer/v1_0/components/iron-validator-behavior/.bower.json
deleted file mode 100644
index 257b945..0000000
--- a/third_party/polymer/v1_0/components/iron-validator-behavior/.bower.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "iron-validator-behavior",
- "version": "1.0.1",
- "description": "Implements a input validator",
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "iron",
- "behavior"
- ],
- "main": [
- "iron-validator-behavior.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/iron-validator-behavior.git"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-validator-behavior",
- "ignore": [],
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "fd9c609472c0c0b64657488d1d33dfc2365dea44"
- },
- "_source": "git://github.com/PolymerElements/iron-validator-behavior.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-validator-behavior"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/iron-validator-behavior/.gitignore b/third_party/polymer/v1_0/components/iron-validator-behavior/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/iron-validator-behavior/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/iron-validator-behavior/README.md b/third_party/polymer/v1_0/components/iron-validator-behavior/README.md
deleted file mode 100644
index 8aa8b61..0000000
--- a/third_party/polymer/v1_0/components/iron-validator-behavior/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# iron-validator-behavior
-Use `Polymer.IronValidatorBehavior` to implement a custom input/form validator. Element instances
-implementing this behavior will be registered for use in elements that implement
-`Polymer.IronValidatableBehavior`.
diff --git a/third_party/polymer/v1_0/components/iron-validator-behavior/bower.json b/third_party/polymer/v1_0/components/iron-validator-behavior/bower.json
deleted file mode 100644
index 7d57d72..0000000
--- a/third_party/polymer/v1_0/components/iron-validator-behavior/bower.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "iron-validator-behavior",
- "version": "1.0.1",
- "description": "Implements a input validator",
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "iron",
- "behavior"
- ],
- "main": [
- "iron-validator-behavior.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/iron-validator-behavior.git"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/iron-validator-behavior",
- "ignore": [],
- "dependencies": {
- "iron-meta": "PolymerElements/iron-meta#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/iron-validator-behavior/index.html b/third_party/polymer/v1_0/components/iron-validator-behavior/index.html
deleted file mode 100644
index d0f6936..0000000
--- a/third_party/polymer/v1_0/components/iron-validator-behavior/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-
- <title>iron-validator-behavior</title>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
-
- <link rel="import" href="../polymer/polymer.html">
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/iron-validator-behavior/iron-validator-behavior.html b/third_party/polymer/v1_0/components/iron-validator-behavior/iron-validator-behavior.html
deleted file mode 100644
index d8afc84..0000000
--- a/third_party/polymer/v1_0/components/iron-validator-behavior/iron-validator-behavior.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-meta/iron-meta.html">
-
-<script>
-
- /**
- * Use `Polymer.IronValidatorBehavior` to implement a custom input/form validator. Element
- * instances implementing this behavior will be registered for use in elements that implement
- * `Polymer.IronValidatableBehavior`.
- *
- * @demo demo/index.html
- * @polymerBehavior
- */
- Polymer.IronValidatorBehavior = {
-
- properties: {
-
- /**
- * Namespace for this validator.
- */
- validatorType: {
- type: String,
- value: 'validator'
- },
-
- /**
- * Name for this validator, used by `Polymer.IronValidatableBehavior` to lookup this element.
- */
- validatorName: {
- type: String,
- value: function() {
- return this.is;
- }
- }
-
- },
-
- ready: function() {
- new Polymer.IronMeta({type: this.validatorType, key: this.validatorName, value: this});
- },
-
- /**
- * Implement custom validation logic in this function.
- * @param {Object} values The value to validate. May be any type depending on the validation logic.
- * @return {Boolean} true if `values` is valid.
- */
- validate: function(values) {
- }
- };
-
-</script>
diff --git a/third_party/polymer/v1_0/components/more-routing/.bower.json b/third_party/polymer/v1_0/components/more-routing/.bower.json
index 1c6276c..d8e947b 100644
--- a/third_party/polymer/v1_0/components/more-routing/.bower.json
+++ b/third_party/polymer/v1_0/components/more-routing/.bower.json
@@ -37,6 +37,6 @@
"commit": "b9dcc768f789547bb99f65cd976006cb578af255"
},
"_source": "git://github.com/PolymerLabs/more-routing.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerLabs/more-routing"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/neon-animation/.bower.json b/third_party/polymer/v1_0/components/neon-animation/.bower.json
index 9d394ec..afa7b37 100644
--- a/third_party/polymer/v1_0/components/neon-animation/.bower.json
+++ b/third_party/polymer/v1_0/components/neon-animation/.bower.json
@@ -1,6 +1,6 @@
{
"name": "neon-animation",
- "version": "1.0.1",
+ "version": "1.0.6",
"authors": [
"The Polymer Authors"
],
@@ -11,12 +11,12 @@
"web-animations"
],
"main": [
+ "neon-animated-pages.html",
"neon-animatable-behavior.html",
"neon-animation-behavior.html",
"neon-animation-runner-behavior.html",
"neon-shared-element-animatable-behavior.html",
"neon-shared-element-animation-behavior.html",
- "neon-animated-pages.html",
"neon-animatable.html",
"neon-animations.html"
],
@@ -34,7 +34,7 @@
"iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "web-animations-js": "web-animations/web-animations-js#^2.0.0"
+ "web-animations-js": "web-animations/web-animations-js#2.1.2"
},
"devDependencies": {
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
@@ -48,13 +48,13 @@
"iron-icons": "PolymerElements/iron-icons#^1.0.0",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.6",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "160f14c31b4692cc8073b67e8849e444b0695cde"
+ "tag": "v1.0.6",
+ "commit": "ec51bf68f05c40373536cc726ca674e4549b7db2"
},
"_source": "git://github.com/PolymerElements/neon-animation.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/neon-animation"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/neon-animation/README.md b/third_party/polymer/v1_0/components/neon-animation/README.md
index c1b258c..24fa780 100644
--- a/third_party/polymer/v1_0/components/neon-animation/README.md
+++ b/third_party/polymer/v1_0/components/neon-animation/README.md
@@ -101,7 +101,7 @@ Polymer({
hide: function() {
this.opened = false;
// run fade-out-animation
- this.playAnimation('fade-out-animation');
+ this.playAnimation('exit');
},
_onNeonAnimationFinish: function() {
if (!this.opened) {
diff --git a/third_party/polymer/v1_0/components/neon-animation/animations/cascaded-animation.html b/third_party/polymer/v1_0/components/neon-animation/animations/cascaded-animation.html
index 9e089e9..303735c 100644
--- a/third_party/polymer/v1_0/components/neon-animation/animations/cascaded-animation.html
+++ b/third_party/polymer/v1_0/components/neon-animation/animations/cascaded-animation.html
@@ -40,6 +40,7 @@ Configuration:
properties: {
+ /** @type {!Polymer.IronMeta} */
_animationMeta: {
type: Object,
value: function() {
@@ -49,13 +50,23 @@ Configuration:
},
+ /**
+ * @param {{
+ * animation: string,
+ * nodes: !Array<!Element>,
+ * nodeDelay: (number|undefined),
+ * timing: (Object|undefined)
+ * }} config
+ */
configure: function(config) {
- var animationConstructor = this._animationMeta.byKey(config.animation);
+ var animationConstructor = /** @type {Function} */ (
+ this._animationMeta.byKey(config.animation));
if (!animationConstructor) {
console.warn(this.is + ':', 'constructor for', config.animation, 'not found!');
return;
}
+ this._animations = [];
var nodes = config.nodes;
var effects = [];
var nodeDelay = config.nodeDelay || 50;
@@ -71,12 +82,19 @@ Configuration:
var animation = new animationConstructor();
var effect = animation.configure(config);
+ this._animations.push(animation);
effects.push(effect);
}
config.timing.delay = oldDelay;
this._effect = new GroupEffect(effects);
return this._effect;
+ },
+
+ complete: function() {
+ for (var animation, index = 0; animation = this._animations[index]; index++) {
+ animation.complete(animation.config);
+ }
}
});
diff --git a/third_party/polymer/v1_0/components/neon-animation/animations/hero-animation.html b/third_party/polymer/v1_0/components/neon-animation/animations/hero-animation.html
index 6891561..a9075e1 100644
--- a/third_party/polymer/v1_0/components/neon-animation/animations/hero-animation.html
+++ b/third_party/polymer/v1_0/components/neon-animation/animations/hero-animation.html
@@ -46,7 +46,7 @@ Configuration:
configure: function(config) {
var shared = this.findSharedElements(config);
if (!shared) {
- return null;
+ return;
}
var fromRect = shared.from.getBoundingClientRect();
diff --git a/third_party/polymer/v1_0/components/neon-animation/animations/reverse-ripple-animation.html b/third_party/polymer/v1_0/components/neon-animation/animations/reverse-ripple-animation.html
new file mode 100644
index 0000000..24760ac
--- /dev/null
+++ b/third_party/polymer/v1_0/components/neon-animation/animations/reverse-ripple-animation.html
@@ -0,0 +1,87 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+
+<link rel="import" href="../../polymer/polymer.html">
+<link rel="import" href="../neon-shared-element-animation-behavior.html">
+<link rel="import" href="../web-animations.html">
+
+<!--
+`<reverse-ripple-animation>` scales and transform an element such that it appears to ripple down from this element, to either
+a shared element, or a screen position.
+
+If using as a shared element animation in `<neon-animated-pages>`, use this animation in an `exit`
+animation in the source page and in an `entry` animation in the destination page. Also, define the
+reverse-ripple elements in the `sharedElements` property (not a configuration property, see
+`Polymer.NeonSharedElementAnimatableBehavior`).
+If using a screen position, define the `gesture` property.
+Configuration:
+```
+{
+ name: 'reverse-ripple-animation`.
+ id: <shared-element-id>, /* set this or gesture */
+ gesture: {x: <page-x>, y: <page-y>}, /* set this or id */
+ timing: <animation-timing>,
+ toPage: <node>, /* define for the destination page */
+ fromPage: <node>, /* define for the source page */
+}
+```
+-->
+
+<script>
+ Polymer({
+ is: 'reverse-ripple-animation',
+
+ behaviors: [
+ Polymer.NeonSharedElementAnimationBehavior
+ ],
+
+ configure: function(config) {
+ var shared = this.findSharedElements(config);
+ if (!shared) {
+ return null;
+ }
+
+ var translateX, translateY;
+ var fromRect = shared.from.getBoundingClientRect();
+ if (config.gesture) {
+ translateX = config.gesture.x - (fromRect.left + (fromRect.width / 2));
+ translateY = config.gesture.y - (fromRect.top + (fromRect.height / 2));
+ } else {
+ var toRect = shared.to.getBoundingClientRect();
+ translateX = (toRect.left + (toRect.width / 2)) - (fromRect.left + (fromRect.width / 2));
+ translateY = (toRect.top + (toRect.height / 2)) - (fromRect.top + (fromRect.height / 2));
+ }
+ var translate = 'translate(' + translateX + 'px,' + translateY + 'px)';
+
+ var size = Math.max(fromRect.width + Math.abs(translateX) * 2, fromRect.height + Math.abs(translateY) * 2);
+ var diameter = Math.sqrt(2 * size * size);
+ var scaleX = diameter / fromRect.width;
+ var scaleY = diameter / fromRect.height;
+ var scale = 'scale(' + scaleX + ',' + scaleY + ')';
+
+ this.setPrefixedProperty(shared.from, 'transformOrigin', '50% 50%');
+ shared.from.style.borderRadius = '50%';
+
+ this._effect = new KeyframeEffect(shared.from, [
+ {'transform': translate + ' ' + scale},
+ {'transform': translate + ' scale(0)'}
+ ], this.timingFromConfig(config));
+ return this._effect;
+ },
+
+ complete: function() {
+ if (this.sharedElements) {
+ this.setPrefixedProperty(this.sharedElements.from, 'transformOrigin', '');
+ this.sharedElements.from.style.borderRadius = '';
+ }
+ }
+ });
+</script>
diff --git a/third_party/polymer/v1_0/components/neon-animation/animations/ripple-animation.html b/third_party/polymer/v1_0/components/neon-animation/animations/ripple-animation.html
index afc61f6..1f5c736 100644
--- a/third_party/polymer/v1_0/components/neon-animation/animations/ripple-animation.html
+++ b/third_party/polymer/v1_0/components/neon-animation/animations/ripple-animation.html
@@ -46,8 +46,8 @@ Configuration:
Polymer.NeonSharedElementAnimationBehavior
],
- configure: function(config, fromPage, toPage) {
- var shared = this.findSharedElements(config, fromPage, toPage);
+ configure: function(config) {
+ var shared = this.findSharedElements(config);
if (!shared) {
return null;
}
@@ -56,11 +56,11 @@ Configuration:
var toRect = shared.to.getBoundingClientRect();
if (config.gesture) {
translateX = config.gesture.x - (toRect.left + (toRect.width / 2));
- translateY = config.gesture.y - (toRect.left + (toRect.height / 2));
+ translateY = config.gesture.y - (toRect.top + (toRect.height / 2));
} else {
var fromRect = shared.from.getBoundingClientRect();
translateX = (fromRect.left + (fromRect.width / 2)) - (toRect.left + (toRect.width / 2));
- translateY = (fromRect.top + (fromRect.height / 2)) - (toRect.left + (toRect.height / 2));
+ translateY = (fromRect.top + (fromRect.height / 2)) - (toRect.top + (toRect.height / 2));
}
var translate = 'translate(' + translateX + 'px,' + translateY + 'px)';
diff --git a/third_party/polymer/v1_0/components/neon-animation/animations/scale-up-animation.html b/third_party/polymer/v1_0/components/neon-animation/animations/scale-up-animation.html
index 43d3d46..b5164f7 100644
--- a/third_party/polymer/v1_0/components/neon-animation/animations/scale-up-animation.html
+++ b/third_party/polymer/v1_0/components/neon-animation/animations/scale-up-animation.html
@@ -45,9 +45,16 @@ Configuration:
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
+ var scaleProperty = 'scale(0)';
+ if (config.axis === 'x') {
+ scaleProperty = 'scale(0, 1)';
+ } else if (config.axis === 'y') {
+ scaleProperty = 'scale(1, 0)';
+ }
+
this._effect = new KeyframeEffect(node, [
- {'transform': 'scale(0)'},
- {'transform': 'scale(1)'}
+ {'transform': scaleProperty},
+ {'transform': 'scale(1, 1)'}
], this.timingFromConfig(config));
return this._effect;
diff --git a/third_party/polymer/v1_0/components/neon-animation/animations/transform-animation.html b/third_party/polymer/v1_0/components/neon-animation/animations/transform-animation.html
index b0d7af5..f5963ed0 100644
--- a/third_party/polymer/v1_0/components/neon-animation/animations/transform-animation.html
+++ b/third_party/polymer/v1_0/components/neon-animation/animations/transform-animation.html
@@ -13,13 +13,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="../web-animations.html">
<!--
-`<slide-down-animation>` animates a custom transform on an element. Use this to animate multiple
+`<transform-animation>` animates a custom transform on an element. Use this to animate multiple
transform properties, or to apply a custom transform value.
Configuration:
```
{
- name: 'slide-down-animation',
+ name: 'transform-animation',
node: <node>,
transformOrigin: <transform-origin>,
transformFrom: <transform-from-string>,
@@ -39,6 +39,15 @@ Configuration:
Polymer.NeonAnimationBehavior
],
+ /**
+ * @param {{
+ * node: !Element,
+ * transformOrigin: (string|undefined),
+ * transformFrom: (string|undefined),
+ * transformTo: (string|undefined),
+ * timing: (Object|undefined)
+ * }} config
+ */
configure: function(config) {
var node = config.node;
var transformFrom = config.transformFrom || 'none';
diff --git a/third_party/polymer/v1_0/components/neon-animation/bower.json b/third_party/polymer/v1_0/components/neon-animation/bower.json
index 4e687f6..5102f69 100644
--- a/third_party/polymer/v1_0/components/neon-animation/bower.json
+++ b/third_party/polymer/v1_0/components/neon-animation/bower.json
@@ -1,6 +1,6 @@
{
"name": "neon-animation",
- "version": "1.0.1",
+ "version": "1.0.4",
"authors": [
"The Polymer Authors"
],
@@ -11,12 +11,12 @@
"web-animations"
],
"main": [
+ "neon-animated-pages.html",
"neon-animatable-behavior.html",
"neon-animation-behavior.html",
"neon-animation-runner-behavior.html",
"neon-shared-element-animatable-behavior.html",
"neon-shared-element-animation-behavior.html",
- "neon-animated-pages.html",
"neon-animatable.html",
"neon-animations.html"
],
@@ -34,7 +34,7 @@
"iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "web-animations-js": "web-animations/web-animations-js#^2.0.0"
+ "web-animations-js": "web-animations/web-animations-js#2.1.2"
},
"devDependencies": {
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html b/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html
index 3a5259d..43309b7 100644
--- a/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html
+++ b/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html
@@ -9,7 +9,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../iron-resizable-behavior/iron-resizable-behavior.html">
<link rel="import" href="../iron-selector/iron-selectable.html">
-<link rel="import" href="../paper-styles/paper-styles.html">
<link rel="import" href="neon-animation-runner-behavior.html">
<link rel="import" href="animations/opaque-animation.html">
@@ -33,7 +32,11 @@ animations to be run when switching to or switching out of the page.
}
:host > ::content > * {
- @apply(--layout-fit);
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
height: 100%;
}
@@ -92,8 +95,8 @@ animations to be run when switching to or switching out of the page.
_selectedChanged: function(selected) {
var selectedPage = this.selectedItem;
- var oldPage = this._prevSelected || false;
- this._prevSelected = selectedPage;
+ var oldPage = this._valueToItem(this._prevSelected) || false;
+ this._prevSelected = selected;
// on initial load and if animateInitialSelection is negated, simply display selectedPage.
if (!oldPage && !this.animateInitialSelection) {
@@ -160,14 +163,14 @@ animations to be run when switching to or switching out of the page.
// on first load, ensure we run animations only after element is attached.
if (!this.isAttached) {
this.async(function () {
- this.playAnimation(null, {
+ this.playAnimation(undefined, {
fromPage: null,
toPage: selectedPage
});
});
} else {
- this.playAnimation(null, {
+ this.playAnimation(undefined, {
fromPage: oldPage,
toPage: selectedPage
});
@@ -178,6 +181,10 @@ animations to be run when switching to or switching out of the page.
}
},
+ /**
+ * @param {Object=} oldPage
+ * @param {Object=} selectedPage
+ */
_completeSelectedChanged: function(oldPage, selectedPage) {
if (selectedPage) {
selectedPage.classList.remove('neon-animating');
@@ -191,7 +198,7 @@ animations to be run when switching to or switching out of the page.
node.classList && node.classList.remove('neon-animating');
}
}
- this.async(this.notifyResize);
+ this.async(this._notifyPageResize);
},
_onNeonAnimationFinish: function(event) {
@@ -200,6 +207,14 @@ animations to be run when switching to or switching out of the page.
return;
}
this._completeSelectedChanged(event.detail.fromPage, event.detail.toPage);
+ },
+
+ _notifyPageResize: function() {
+ var selectedPage = this.selectedItem;
+ this.resizerShouldNotify = function(element) {
+ return element == selectedPage;
+ }
+ this.notifyResize();
}
})
diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-animation-behavior.html b/third_party/polymer/v1_0/components/neon-animation/neon-animation-behavior.html
index f3b9bc6..107d753 100644
--- a/third_party/polymer/v1_0/components/neon-animation/neon-animation-behavior.html
+++ b/third_party/polymer/v1_0/components/neon-animation/neon-animation-behavior.html
@@ -78,10 +78,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Called when the animation finishes.
*/
- complete: function() {
- // FIXME not sure about non-bubbling event
- this.fire(this.animationEndEvent, null, {bubbles: false});
- }
+ complete: function() {}
};
diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-animation-runner-behavior.html b/third_party/polymer/v1_0/components/neon-animation/neon-animation-runner-behavior.html
index ce1211e..bed94fc 100644
--- a/third_party/polymer/v1_0/components/neon-animation/neon-animation-runner-behavior.html
+++ b/third_party/polymer/v1_0/components/neon-animation/neon-animation-runner-behavior.html
@@ -14,9 +14,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* `Polymer.NeonAnimationRunnerBehavior` adds a method to run animations.
- * @polymerBehavior
+ *
+ * @polymerBehavior Polymer.NeonAnimationRunnerBehavior
*/
- Polymer.NeonAnimationRunnerBehavior = [Polymer.NeonAnimatableBehavior, {
+ Polymer.NeonAnimationRunnerBehaviorImpl = {
properties: {
@@ -27,6 +28,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
}
},
+ /** @type {?Object} */
_player: {
type: Object
}
@@ -57,7 +59,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
},
_runAnimationEffects: function(allEffects) {
- return player = document.timeline.play(new GroupEffect(allEffects));
+ return document.timeline.play(new GroupEffect(allEffects));
},
_completeAnimations: function(allAnimations) {
@@ -68,6 +70,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Plays an animation with an optional `type`.
+ * @param {string=} type
+ * @param {!Object=} cookie
*/
playAnimation: function(type, cookie) {
var allConfigs = this.getAnimationConfig(type);
@@ -105,6 +109,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
this._player.cancel();
}
}
+ };
- }];
+ /** @polymerBehavior Polymer.NeonAnimationRunnerBehavior */
+ Polymer.NeonAnimationRunnerBehavior = [
+ Polymer.NeonAnimatableBehavior,
+ Polymer.NeonAnimationRunnerBehaviorImpl
+ ];
</script>
diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-animations.html b/third_party/polymer/v1_0/components/neon-animation/neon-animations.html
index f3bdf49..9a34c97 100644
--- a/third_party/polymer/v1_0/components/neon-animation/neon-animations.html
+++ b/third_party/polymer/v1_0/components/neon-animation/neon-animations.html
@@ -13,6 +13,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="animations/hero-animation.html">
<link rel="import" href="animations/opaque-animation.html">
<link rel="import" href="animations/ripple-animation.html">
+<link rel="import" href="animations/reverse-ripple-animation.html">
<link rel="import" href="animations/scale-down-animation.html">
<link rel="import" href="animations/scale-up-animation.html">
<link rel="import" href="animations/slide-from-left-animation.html">
diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animatable-behavior.html b/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animatable-behavior.html
index 9d5f6e7..e63173d 100644
--- a/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animatable-behavior.html
+++ b/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animatable-behavior.html
@@ -16,9 +16,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Use `Polymer.NeonSharedElementAnimatableBehavior` to implement elements containing shared element
* animations.
- * @polymerBehavior
+ * @polymerBehavior Polymer.NeonSharedElementAnimatableBehavior
*/
- Polymer.NeonSharedElementAnimatableBehavior = [Polymer.NeonAnimatableBehavior, {
+ Polymer.NeonSharedElementAnimatableBehaviorImpl = {
properties: {
@@ -32,6 +32,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
}
- }];
+ };
+
+ /** @polymerBehavior Polymer.NeonSharedElementAnimatableBehavior */
+ Polymer.NeonSharedElementAnimatableBehavior = [
+ Polymer.NeonAnimatableBehavior,
+ Polymer.NeonSharedElementAnimatableBehaviorImpl
+ ];
</script>
diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animation-behavior.html b/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animation-behavior.html
index 88a9ccb..7787615 100644
--- a/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animation-behavior.html
+++ b/third_party/polymer/v1_0/components/neon-animation/neon-shared-element-animation-behavior.html
@@ -15,9 +15,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Use `Polymer.NeonSharedElementAnimationBehavior` to implement shared element animations.
- * @polymerBehavior
+ * @polymerBehavior Polymer.NeonSharedElementAnimationBehavior
*/
- Polymer.NeonSharedElementAnimationBehavior = [Polymer.NeonAnimationBehavior, {
+ Polymer.NeonSharedElementAnimationBehaviorImpl = {
properties: {
@@ -61,6 +61,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
return this.sharedElements;
}
- }];
+ };
+
+ /** @polymerBehavior Polymer.NeonSharedElementAnimationBehavior */
+ Polymer.NeonSharedElementAnimationBehavior = [
+ Polymer.NeonAnimationBehavior,
+ Polymer.NeonSharedElementAnimationBehaviorImpl
+ ];
</script>
diff --git a/third_party/polymer/v1_0/components/paper-behaviors/.bower.json b/third_party/polymer/v1_0/components/paper-behaviors/.bower.json
index ce085ea..b163209 100644
--- a/third_party/polymer/v1_0/components/paper-behaviors/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-behaviors/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-behaviors",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Common behaviors across the paper elements",
"authors": [
"The Polymer Authors"
@@ -36,13 +36,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "4dd226a2cc5b780a73d0058cd9998b6e0af1cb2c"
+ "tag": "v1.0.3",
+ "commit": "90b54de14264c19693601b9fc16af6b68a9d48e4"
},
"_source": "git://github.com/PolymerElements/paper-behaviors.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-behaviors"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-behaviors/bower.json b/third_party/polymer/v1_0/components/paper-behaviors/bower.json
index d4cae45..167abbb 100644
--- a/third_party/polymer/v1_0/components/paper-behaviors/bower.json
+++ b/third_party/polymer/v1_0/components/paper-behaviors/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-behaviors",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "Common behaviors across the paper elements",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-button/.bower.json b/third_party/polymer/v1_0/components/paper-button/.bower.json
index 21100e3..c24863a 100644
--- a/third_party/polymer/v1_0/components/paper-button/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-button/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-button",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "Material design button",
"authors": [
"The Polymer Authors"
@@ -36,13 +36,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "e11a0603feaaedd8cf6c7e0d533bdc67de24c8de"
+ "tag": "v1.0.3",
+ "commit": "f50a40fa1bf3ab20aaad413769452ed69b14ef66"
},
"_source": "git://github.com/PolymerElements/paper-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-button/bower.json b/third_party/polymer/v1_0/components/paper-button/bower.json
index 940aa6d..371282e 100644
--- a/third_party/polymer/v1_0/components/paper-button/bower.json
+++ b/third_party/polymer/v1_0/components/paper-button/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-button",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "Material design button",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-button/paper-button.html b/third_party/polymer/v1_0/components/paper-button/paper-button.html
index 897ccc6..7f5117b 100644
--- a/third_party/polymer/v1_0/components/paper-button/paper-button.html
+++ b/third_party/polymer/v1_0/components/paper-button/paper-button.html
@@ -26,12 +26,17 @@ Example:
<paper-button>flat button</paper-button>
<paper-button raised>raised button</paper-button>
<paper-button noink>No ripple effect</paper-button>
+ <paper-button toggles>toggle-able button</paper-button>
+
+A button that has `toggles` true will remain `active` after being clicked (and
+will have an `active` attribute set). For more information, see the `Polymer.IronButtonState`
+behavior.
You may use custom DOM in the button body to create a variety of buttons. For example, to
create a button with an icon and some text:
<paper-button>
- <core-icon icon="favorite"></core-icon>
+ <iron-icon icon="favorite"></iron-icon>
custom button content
</paper-button>
diff --git a/third_party/polymer/v1_0/components/paper-checkbox/.bower.json b/third_party/polymer/v1_0/components/paper-checkbox/.bower.json
index f4cb1ba..a085d42 100644
--- a/third_party/polymer/v1_0/components/paper-checkbox/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-checkbox/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-checkbox",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design checkbox",
"authors": [
"The Polymer Authors"
@@ -34,13 +34,13 @@
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
"polymer": "Polymer/polymer#^1.0.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "b32696b963cdcb00223f2a2433ef439363c9a150"
+ "tag": "v1.0.5",
+ "commit": "af864401daab761d2fb7e6eadddb3cd659be8f85"
},
"_source": "git://github.com/PolymerElements/paper-checkbox.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-checkbox"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-checkbox/README.md b/third_party/polymer/v1_0/components/paper-checkbox/README.md
index 2269079..01eddc1 100644
--- a/third_party/polymer/v1_0/components/paper-checkbox/README.md
+++ b/third_party/polymer/v1_0/components/paper-checkbox/README.md
@@ -19,8 +19,12 @@ Styling a checkbox:
```html
<style is="custom-style">
paper-checkbox {
+ --paper-checkbox-label-color: #000;
+ --paper-checkbox-checkmark-color: #fff;
+
/* Unhecked state colors. */
--paper-checkbox-unchecked-color: #5a5a5a;
+ --paper-checkbox-unchecked-background-color: #5a5a5a;
--paper-checkbox-unchecked-ink-color: #5a5a5a;
/* Checked state colors. */
diff --git a/third_party/polymer/v1_0/components/paper-checkbox/bower.json b/third_party/polymer/v1_0/components/paper-checkbox/bower.json
index c68d6d83a..dc4f513 100644
--- a/third_party/polymer/v1_0/components/paper-checkbox/bower.json
+++ b/third_party/polymer/v1_0/components/paper-checkbox/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-checkbox",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design checkbox",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.css b/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.css
index 195d822..6577c39 100644
--- a/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.css
+++ b/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.css
@@ -29,6 +29,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
-webkit-transform: translateZ(0);
transform: translateZ(0);
vertical-align: middle;
+ background-color: var(--paper-checkbox-unchecked-background-color, transparent);
}
:host #ink {
@@ -39,6 +40,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
height: 48px;
color: var(--paper-checkbox-unchecked-ink-color, --primary-text-color);
opacity: 0.6;
+ pointer-events: none;
}
:host #ink[checked] {
@@ -111,7 +113,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
border-left: none;
border-right-width: 2px;
border-bottom-width: 2px;
- border-color: white;
+ border-color: var(--paper-checkbox-checkmark-color, white);
}
/* label */
diff --git a/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.html b/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.html
index ee40cf9..4529942 100644
--- a/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.html
+++ b/third_party/polymer/v1_0/components/paper-checkbox/paper-checkbox.html
@@ -33,10 +33,12 @@ The following custom properties and mixins are available for styling:
Custom property | Description | Default
----------------|-------------|----------
-`--paper-checkbox-unchecked-color` | Checkbox color when the input is not checked | `--primary-text-color`
+`--paper-checkbox-unchecked-background-color` | Checkbox background color when the input is not checked | `transparent`
+`--paper-checkbox-unchecked-color` | Checkbox border color when the input is not checked | `--primary-text-color`
`--paper-checkbox-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--primary-text-color`
`--paper-checkbox-checked-color` | Checkbox color when the input is checked | `--default-primary-color`
`--paper-checkbox-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color`
+`--paper-checkbox-checkmark-color` | Checkmark color | `white`
`--paper-checkbox-label-color` | Label color | `--primary-text-color`
@demo demo/index.html
diff --git a/third_party/polymer/v1_0/components/paper-dialog-behavior/.bower.json b/third_party/polymer/v1_0/components/paper-dialog-behavior/.bower.json
index 532e273..8d83e48 100644
--- a/third_party/polymer/v1_0/components/paper-dialog-behavior/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-dialog-behavior/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-dialog-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "Implements a behavior used for material design dialogs",
"authors": "The Polymer Authors",
"keywords": [
@@ -34,13 +34,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "156945a20318c11bb65d0bc83ef402262c3071ca"
+ "tag": "v1.0.4",
+ "commit": "09662387b0bc55651dd7b9ef8d38b3b8f55ecf3c"
},
"_source": "git://github.com/PolymerElements/paper-dialog-behavior.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-dialog-behavior"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-dialog-behavior/bower.json b/third_party/polymer/v1_0/components/paper-dialog-behavior/bower.json
index cdd57c6..9ff98a0 100644
--- a/third_party/polymer/v1_0/components/paper-dialog-behavior/bower.json
+++ b/third_party/polymer/v1_0/components/paper-dialog-behavior/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-dialog-behavior",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "Implements a behavior used for material design dialogs",
"authors": "The Polymer Authors",
"keywords": [
diff --git a/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-behavior.html b/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-behavior.html
index 227fb4d..0afcb8b 100644
--- a/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-behavior.html
+++ b/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-behavior.html
@@ -52,7 +52,7 @@ Custom property | Description | Default
### Accessibility
This element has `role="dialog"` by default. Depending on the context, it may be more appropriate
-to override this attribute with `role="alertdialog"`. The header (a `<h2>` element) will
+to override this attribute with `role="alertdialog"`.
If `modal` is set, the element will set `aria-modal` and prevent the focus from exiting the element.
It will also ensure that focus remains in the dialog.
@@ -173,15 +173,17 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
_onDialogClick: function(event) {
var target = event.target;
- while (target !== this) {
- if (target.hasAttribute('dialog-dismiss')) {
- this._updateClosingReasonConfirmed(false);
- this.close();
- break;
- } else if (target.hasAttribute('dialog-confirm')) {
- this._updateClosingReasonConfirmed(true);
- this.close();
- break;
+ while (target && target !== this) {
+ if (target.hasAttribute) {
+ if (target.hasAttribute('dialog-dismiss')) {
+ this._updateClosingReasonConfirmed(false);
+ this.close();
+ break;
+ } else if (target.hasAttribute('dialog-confirm')) {
+ this._updateClosingReasonConfirmed(true);
+ this.close();
+ break;
+ }
}
target = target.parentNode;
}
diff --git a/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-common.css b/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-common.css
index 67bddb19..542f6f3 100644
--- a/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-common.css
+++ b/third_party/polymer/v1_0/components/paper-dialog-behavior/paper-dialog-common.css
@@ -28,7 +28,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
:host > ::content > .no-padding {
padding: 0;
-};
+}
:host > ::content > *:first-child {
margin-top: 24px;
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/.bower.json b/third_party/polymer/v1_0/components/paper-dialog-scrollable/.bower.json
deleted file mode 100644
index a7eda78..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/.bower.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "paper-dialog-scrollable",
- "version": "1.0.1",
- "description": "A scrollable area used inside the material design dialog",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "dialog",
- "overlay"
- ],
- "main": [
- "paper-dialog-scrollable.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/paper-dialog-scrollable"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/paper-dialog-scrollable",
- "ignore": [],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "94e65968791d9166d2d3bf186e449d042b10168f"
- },
- "_source": "git://github.com/PolymerElements/paper-dialog-scrollable.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/paper-dialog-scrollable"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/.gitignore b/third_party/polymer/v1_0/components/paper-dialog-scrollable/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/README.md b/third_party/polymer/v1_0/components/paper-dialog-scrollable/README.md
deleted file mode 100644
index 201d0af..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# paper-dialog-scrollable
-
-`paper-dialog-scrollable` implements a scrolling area used in a Material Design dialog. Use this
-together with elements implementing `paper-dialog-behavior`.
-
-It shows a top divider after scrolling if it is not the first child in its parent container. It
-shows a bottom divider if it is scrollable and it is not the last child in its parent container.
-The bottom divider is hidden if it is scrolled to the bottom.
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/bower.json b/third_party/polymer/v1_0/components/paper-dialog-scrollable/bower.json
deleted file mode 100644
index 17ae8f7..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/bower.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "paper-dialog-scrollable",
- "version": "1.0.1",
- "description": "A scrollable area used inside the material design dialog",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "dialog",
- "overlay"
- ],
- "main": [
- "paper-dialog-scrollable.html"
- ],
- "private": true,
- "repository": {
- "type": "git",
- "url": "git://github.com/PolymerElements/paper-dialog-scrollable"
- },
- "license": "http://polymer.github.io/LICENSE.txt",
- "homepage": "https://github.com/PolymerElements/paper-dialog-scrollable",
- "ignore": [],
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/hero.svg b/third_party/polymer/v1_0/components/paper-dialog-scrollable/hero.svg
deleted file mode 100644
index 40bc69a..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/hero.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <g>
- <polygon points="0,124 0,126 2,126 "/>
- <polygon points="0,111.6 0,114.4 11.6,126 14.4,126 "/>
- <polygon points="0,99.1 0,101.9 24.1,126 26.9,126 "/>
- <polygon points="0,86.6 0,89.5 36.5,126 39.4,126 "/>
- <polygon points="0,74.2 0,77 49,126 51.8,126 "/>
- <polygon points="0,61.7 0,64.5 61.5,126 64.3,126 "/>
- <polygon points="0,49.2 0,52.1 73.9,126 76.8,126 "/>
- <polygon points="0,36.8 0,39.6 86.4,126 89.2,126 "/>
- <polygon points="76.7,101 74,101 74,98.3 0,24.3 0,27.1 98.9,126 101.7,126 "/>
- <polygon points="74,88.7 74,85.8 0,11.8 0,14.7 "/>
- <polygon points="89.2,101 86.3,101 111.3,126 114.2,126 "/>
- <polygon points="101.6,101 98.8,101 123.8,126 126.6,126 "/>
- <polygon points="74,76.2 74,73.4 0.6,0 0,0 0,2.2 "/>
- <polygon points="114.1,101 111.3,101 136.3,126 139.1,126 "/>
- <polygon points="74,63.7 74,60.9 13.1,0 10.3,0 "/>
- <polygon points="74,51.3 74,48.4 25.6,0 22.7,0 "/>
- <polygon points="126.6,101 123.7,101 148.7,126 151.6,126 "/>
- <polygon points="74,38.8 74,36 38,0 35.2,0 "/>
- <polygon points="139,101 136.2,101 161.2,126 164,126 "/>
- <polygon points="74,26.3 74,25 75.5,25 50.5,0 47.7,0 "/>
- <polygon points="150,99.5 150,101 148.7,101 173.7,126 176.5,126 "/>
- <polygon points="150,87 150,89.9 186.1,126 189,126 "/>
- <polygon points="85.1,25 88,25 63,0 60.1,0 "/>
- <polygon points="150,74.6 150,77.4 198.6,126 201.4,126 "/>
- <polygon points="97.6,25 100.4,25 75.4,0 72.6,0 "/>
- <polygon points="150,62.1 150,64.9 211.1,126 213.9,126 "/>
- <polygon points="110.1,25 112.9,25 87.9,0 85.1,0 "/>
- <polygon points="150,49.7 150,52.5 223.5,126 225,126 225,124.7 "/>
- <polygon points="122.5,25 125.3,25 100.3,0 97.5,0 "/>
- <polygon points="112.8,0 110,0 135,25 137.8,25 "/>
- <polygon points="150,37.2 150,40 225,115 225,112.2 "/>
- <polygon points="125.3,0 122.5,0 147.5,25 150,25 150,27.5 225,102.5 225,99.7 "/>
- <polygon points="137.7,0 134.9,0 225,90.1 225,87.3 "/>
- <polygon points="150.2,0 147.4,0 225,77.6 225,74.8 "/>
- <polygon points="162.7,0 159.8,0 225,65.2 225,62.3 "/>
- <polygon points="175.1,0 172.3,0 225,52.7 225,49.9 "/>
- <polygon points="187.6,0 184.8,0 225,40.2 225,37.4 "/>
- <polygon points="200.1,0 197.2,0 225,27.8 225,24.9 "/>
- <polygon points="212.5,0 209.7,0 225,15.3 225,12.5 "/>
- <polygon points="225,0 222.2,0 225,2.8 225,0 "/>
- </g>
- <path d="M151,102H73V24h78V102z M75,100h74V26H75V100z"/>
- <rect x="82" y="53" width="26" height="2"/>
- <rect x="116" y="53" width="26" height="2"/>
- <rect x="82" y="62" width="26" height="2"/>
- <rect x="82" y="72" width="26" height="2"/>
- <rect x="116" y="72" width="26" height="2"/>
- <rect x="82" y="42" width="26" height="2"/>
- <circle cx="120" cy="63" r="4"/>
- <circle cx="134" cy="63" r="4"/>
- <rect x="116" y="85" width="22" height="5.5"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/index.html b/third_party/polymer/v1_0/components/paper-dialog-scrollable/index.html
deleted file mode 100644
index 2d2ec7e..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-
- <title>paper-dialog-scrollable</title>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
-
- <link rel="import" href="../polymer/polymer.html">
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/paper-dialog-scrollable/paper-dialog-scrollable.html b/third_party/polymer/v1_0/components/paper-dialog-scrollable/paper-dialog-scrollable.html
deleted file mode 100644
index 5f46d9c..0000000
--- a/third_party/polymer/v1_0/components/paper-dialog-scrollable/paper-dialog-scrollable.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
-<link rel="import" href="../paper-styles/paper-styles.html">
-
-<!--
-`paper-dialog-scrollable` implements a scrolling area used in a Material Design dialog. It shows
-a divider at the top and/or bottom indicating more content, depending on scroll position. Use this
-together with elements implementing `Polymer.PaperDialogBehavior`.
-
- <paper-dialog-impl>
- <h2>Header</h2>
- <paper-dialog-scrollable>
- Lorem ipsum...
- </paper-dialog-scrollable>
- <div class="buttons">
- <paper-button>OK</paper-button>
- </div>
- </paper-dialog-impl>
-
-It shows a top divider after scrolling if it is not the first child in its parent container,
-indicating there is more content above. It shows a bottom divider if it is scrollable and it is not
-the last child in its parent container, indicating there is more content below. The bottom divider
-is hidden if it is scrolled to the bottom.
-
-@group Paper Elements
-@element paper-dialog-scrollable
-@demo demo/index.html
-@hero hero.svg
--->
-
-<dom-module id="paper-dialog-scrollable">
-
- <style>
-
- :host {
- display: block;
- position: relative;
- }
-
- :host(.is-scrolled:not(:first-child))::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 1px;
- background: var(--divider-color);
- }
-
- :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {
- content: '';
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- height: 1px;
- background: var(--divider-color);
- }
-
- .scrollable {
- padding: 0 24px;
-
- @apply(--layout-scroll);
-
- @apply(--paper-dialog-scrollable);
- }
- </style>
-
- <template>
- <div id="scrollable" class="scrollable">
- <content></content>
- </div>
- </template>
-
-</dom-module>
-
-<script>
-
-(function() {
-
- Polymer({
-
- is: 'paper-dialog-scrollable',
-
- properties: {
-
- /**
- * The dialog element that implements `Polymer.PaperDialogBehavior` containing this element.
- * @type {?Node}
- */
- dialogElement: {
- type: Object,
- value: function() {
- return this.parentNode;
- }
- }
-
- },
-
- listeners: {
- 'scrollable.scroll': '_onScroll',
- 'iron-resize': '_onIronResize'
- },
-
- /**
- * Returns the scrolling element.
- */
- get scrollTarget() {
- return this.$.scrollable;
- },
-
- attached: function() {
- this.classList.add('no-padding');
- // Set itself to the overlay sizing target
- this.dialogElement.sizingTarget = this.scrollTarget;
- // If the host is sized, fit the scrollable area to the container. Otherwise let it be
- // its natural size.
- requestAnimationFrame(function() {
- if (this.offsetHeight > 0) {
- this.$.scrollable.classList.add('fit');
- }
- this._scroll();
- }.bind(this));
- },
-
- _scroll: function() {
- this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);
- this.toggleClass('can-scroll', this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);
- this.toggleClass('scrolled-to-bottom',
- this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >= this.scrollTarget.scrollHeight);
- },
-
- _onScroll: function() {
- this._scroll();
- }
-
- })
-
-})();
-
-</script>
diff --git a/third_party/polymer/v1_0/components/paper-dialog/.bower.json b/third_party/polymer/v1_0/components/paper-dialog/.bower.json
index 540adab..bf37ed7 100644
--- a/third_party/polymer/v1_0/components/paper-dialog/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-dialog/.bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-dialog",
"description": "A Material Design dialog",
- "version": "1.0.0",
+ "version": "1.0.1",
"authors": "The Polymer Authors",
"keywords": [
"web-components",
@@ -32,13 +32,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "6d66cf1e022e56ec28353a2f718e93535c7cac20"
+ "tag": "v1.0.1",
+ "commit": "1339718c67ef50add5221dd63d35e03a54fb619f"
},
"_source": "git://github.com/PolymerElements/paper-dialog.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-dialog"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-dialog/bower.json b/third_party/polymer/v1_0/components/paper-dialog/bower.json
index 2bce00e..a7d5c38 100644
--- a/third_party/polymer/v1_0/components/paper-dialog/bower.json
+++ b/third_party/polymer/v1_0/components/paper-dialog/bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-dialog",
"description": "A Material Design dialog",
- "version": "1.0.0",
+ "version": "1.0.1",
"authors": "The Polymer Authors",
"keywords": [
"web-components",
diff --git a/third_party/polymer/v1_0/components/paper-drawer-panel/.bower.json b/third_party/polymer/v1_0/components/paper-drawer-panel/.bower.json
index e49fa46..ba958ea 100644
--- a/third_party/polymer/v1_0/components/paper-drawer-panel/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-drawer-panel/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-drawer-panel",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A responsive drawer panel",
"authors": [
"The Polymer Authors"
@@ -30,13 +30,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "691739c877914f7231eaca16b724bdca295dfe8d"
+ "tag": "v1.0.3",
+ "commit": "92713b61eb8eec378db63af61b73341453b8180d"
},
"_source": "git://github.com/PolymerElements/paper-drawer-panel.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-drawer-panel"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-drawer-panel/bower.json b/third_party/polymer/v1_0/components/paper-drawer-panel/bower.json
index f87cca9..76a2f0c 100644
--- a/third_party/polymer/v1_0/components/paper-drawer-panel/bower.json
+++ b/third_party/polymer/v1_0/components/paper-drawer-panel/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-drawer-panel",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A responsive drawer panel",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.css b/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.css
index ab7c568..747f0bb7 100644
--- a/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.css
+++ b/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.css
@@ -6,8 +6,8 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-
*/
+
:host {
display: block;
position: absolute;
@@ -24,16 +24,16 @@ iron-selector > #drawer {
left: 0;
height: 100%;
background-color: white;
- will-change: transform;
- box-sizing: border-box;
+
-moz-box-sizing: border-box;
+ box-sizing: border-box;
@apply(--paper-drawer-panel-drawer-container);
}
.transition > #drawer {
- transition: -webkit-transform ease-in-out 0.3s, width ease-in-out 0.3s;
- transition: transform ease-in-out 0.3s, width ease-in-out 0.3s;
+ transition: -webkit-transform ease-in-out 0.3s, width ease-in-out 0.3s, visibility 0.3s;
+ transition: transform ease-in-out 0.3s, width ease-in-out 0.3s, visibility 0.3s;
}
.left-drawer > #drawer {
@@ -88,6 +88,10 @@ iron-selector > #main {
background-color: rgba(0, 0, 0, 0.3);
}
+.narrow-layout > #drawer {
+ will-change: transform;
+}
+
.narrow-layout > #drawer.iron-selected {
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}
@@ -107,19 +111,24 @@ iron-selector > #main {
.right-drawer.narrow-layout > #drawer:not(.iron-selected) {
left: auto;
+ visibility: hidden;
+
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
+.right-drawer.narrow-layout.dragging > #drawer:not(.iron-selected),
+.right-drawer.narrow-layout.peeking > #drawer:not(.iron-selected) {
+ visibility: visible;
+}
+
.narrow-layout > #main {
- left: 0 !important;
padding: 0;
}
.right-drawer.narrow-layout > #main {
left: 0;
right: 0;
- padding: 0;
}
.narrow-layout > #main:not(.iron-selected) > #scrim,
@@ -133,8 +142,9 @@ iron-selector > #main {
min-height: 100%;
left: 0;
right: 0;
- box-sizing: border-box;
+
-moz-box-sizing: border-box;
+ box-sizing: border-box;
}
iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
diff --git a/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.html b/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.html
index 148cfeb..f4cb1fb 100644
--- a/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.html
+++ b/third_party/polymer/v1_0/components/paper-drawer-panel/paper-drawer-panel.html
@@ -74,29 +74,31 @@ To position the drawer to the right, add `right-drawer` attribute.
<div main> Main panel... </div>
</paper-drawer-panel>
-Styling paper-drawer-panel:
+Styling `paper-drawer-panel`
To change the main container:
- paper-drawer-panel {
- --paper-drawer-panel-main-container: {
- background-color: gray;
- };
- }
+
+ paper-drawer-panel {
+ --paper-drawer-panel-main-container: {
+ background-color: gray;
+ };
+ }
To change the drawer container when it's in the left side:
- paper-drawer-panel {
- --paper-drawer-panel-left-drawer-container: {
- background-color: white;
- };
- }
+
+ paper-drawer-panel {
+ --paper-drawer-panel-left-drawer-container: {
+ background-color: white;
+ };
+ }
To change the drawer container when it's in the right side:
- paper-drawer-panel {
- --paper-drawer-panel-right-drawer-container: {
- background-color: white;
- };
- }
+ paper-drawer-panel {
+ --paper-drawer-panel-right-drawer-container: {
+ background-color: white;
+ };
+ }
@group Paper elements
@element paper-drawer-panel
@@ -116,7 +118,7 @@ To change the drawer container when it's in the right side:
<iron-selector
attr-for-selected="id"
- class$="[[_computeIronSelectorClass(narrow, transition, dragging, rightDrawer)]]"
+ class$="[[_computeIronSelectorClass(narrow, transition, dragging, rightDrawer, peeking)]]"
activate-event=""
selected="[[selected]]">
@@ -167,17 +169,24 @@ To change the drawer container when it's in the right side:
*/
/**
- * Fired when the selected panel changes.
+ * Fired when the a panel is selected.
*
* Listening for this event is an alternative to observing changes in the `selected` attribute.
- * This event is fired both when a panel is selected and deselected.
- * The `isSelected` detail property contains the selection state.
+ * This event is fired both when a panel is selected.
*
- * @event paper-select {{isSelected: boolean, item: Object}} detail -
- * isSelected: True for selection and false for deselection.
+ * @event iron-select {{item: Object}} detail -
* item: The panel that the event refers to.
*/
+ /**
+ * Fired when a panel is deselected.
+ *
+ * Listening for this event is an alternative to observing changes in the `selected` attribute.
+ * This event is fired both when a panel is deselected.
+ *
+ * @event iron-deselect {{item: Object}} detail -
+ * item: The panel that the event refers to.
+ */
properties: {
/**
@@ -376,13 +385,14 @@ To change the drawer container when it's in the right side:
this.transition = true;
},
- _computeIronSelectorClass: function(narrow, transition, dragging, rightDrawer) {
+ _computeIronSelectorClass: function(narrow, transition, dragging, rightDrawer, peeking) {
return classNames({
dragging: dragging,
'narrow-layout': narrow,
'right-drawer': rightDrawer,
'left-drawer': !rightDrawer,
- transition: transition
+ transition: transition,
+ peeking: peeking
});
},
@@ -397,8 +407,6 @@ To change the drawer container when it's in the right side:
if (rightDrawer) {
style += 'right:' + (narrow ? '' : drawerWidth) + ';';
- } else {
- style += 'right:;';
}
return style;
@@ -412,19 +420,19 @@ To change the drawer container when it's in the right side:
return !narrow || disableEdgeSwipe;
},
- _onTrack: function(e) {
+ _onTrack: function(event) {
if (sharedPanel && this !== sharedPanel) {
return;
}
- switch (e.detail.state) {
+ switch (event.detail.state) {
case 'start':
- this._trackStart(e);
+ this._trackStart(event);
break;
case 'track':
- this._trackX(e);
+ this._trackX(event);
break;
case 'end':
- this._trackEnd(e);
+ this._trackEnd(event);
break;
}
@@ -441,8 +449,8 @@ To change the drawer container when it's in the right side:
this.fire('paper-responsive-change', {narrow: this.narrow});
},
- _onQueryMatchesChanged: function(e) {
- this._responsiveChange(e.detail.value);
+ _onQueryMatchesChanged: function(event) {
+ this._responsiveChange(event.detail.value);
},
_forceNarrowChanged: function() {
@@ -472,9 +480,11 @@ To change the drawer container when it's in the right side:
}
},
- _downHandler: function(e) {
- if (!this.dragging && this._isMainSelected() && this._isEdgeTouch(e) && !sharedPanel) {
+ _downHandler: function(event) {
+ if (!this.dragging && this._isMainSelected() && this._isEdgeTouch(event) && !sharedPanel) {
this._startEdgePeek();
+ // cancel selection
+ event.preventDefault();
// grab this panel
sharedPanel = this;
}
@@ -486,8 +496,8 @@ To change the drawer container when it's in the right side:
sharedPanel = null;
},
- _onTap: function(e) {
- var targetElement = Polymer.dom(e).localTarget;
+ _onTap: function(event) {
+ var targetElement = Polymer.dom(event).localTarget;
var isTargetToggleElement = targetElement &&
this.drawerToggleAttribute &&
targetElement.hasAttribute(this.drawerToggleAttribute);
@@ -497,8 +507,8 @@ To change the drawer container when it's in the right side:
}
},
- _isEdgeTouch: function(e) {
- var x = e.detail.x;
+ _isEdgeTouch: function(event) {
+ var x = event.detail.x;
return !this.disableEdgeSwipe && this._swipeAllowed() &&
(this.rightDrawer ?
@@ -532,9 +542,9 @@ To change the drawer container when it's in the right side:
}
},
- _trackX: function(e) {
+ _trackX: function(event) {
if (this.dragging) {
- var dx = e.detail.dx;
+ var dx = event.detail.dx;
if (this.peeking) {
if (Math.abs(dx) <= this.edgeSwipeSensitivity) {
@@ -548,9 +558,9 @@ To change the drawer container when it's in the right side:
}
},
- _trackEnd: function(e) {
+ _trackEnd: function(event) {
if (this.dragging) {
- var xDirection = e.detail.dx > 0;
+ var xDirection = event.detail.dx > 0;
this._setDragging(false);
this.transition = true;
@@ -575,13 +585,7 @@ To change the drawer container when it's in the right side:
},
_moveDrawer: function(translateX) {
- var s = this.$.drawer.style;
-
- if (this.hasTransform) {
- s.transform = this._transformForTranslateX(translateX);
- } else {
- s.webkitTransform = this._transformForTranslateX(translateX);
- }
+ this.transform(this._transformForTranslateX(translateX), this.$.drawer);
}
});
diff --git a/third_party/polymer/v1_0/components/paper-elements/.bower.json b/third_party/polymer/v1_0/components/paper-elements/.bower.json
deleted file mode 100644
index 5bfdd28..0000000
--- a/third_party/polymer/v1_0/components/paper-elements/.bower.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "name": "paper-elements",
- "version": "1.0.1",
- "homepage": "https://github.com/PolymerElements/paper-elements",
- "authors": [
- "The Polymer Authors"
- ],
- "description": "Paper elements are a set of visual elements that implement Google's Material Design.",
- "main": "paper-elements.html",
- "keywords": [
- "web-components",
- "polymer",
- "paper"
- ],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
- "paper-button": "PolymerElements/paper-button#^1.0.0",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.0",
- "paper-dialog": "PolymerElements/paper-dialog#^1.0.0",
- "paper-dialog-behavior": "PolymerElements/paper-dialog-behavior#^1.0.0",
- "paper-dialog-scrollable": "PolymerElements/paper-dialog-scrollable#^1.0.0",
- "paper-drawer-panel": "PolymerElements/paper-drawer-panel#^1.0.0",
- "paper-fab": "PolymerElements/paper-fab#^1.0.0",
- "paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "paper-item": "PolymerElements/paper-item#^1.0.0",
- "paper-material": "PolymerElements/paper-material#^1.0.0",
- "paper-menu": "PolymerElements/paper-menu#^1.0.0",
- "paper-progress": "PolymerElements/paper-progress#^1.0.0",
- "paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
- "paper-radio-group": "PolymerElements/paper-radio-group#^1.0.0",
- "paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
- "paper-slider": "PolymerElements/paper-slider#^1.0.0",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "paper-tabs": "PolymerElements/paper-tabs#^1.0.0",
- "paper-toast": "PolymerElements/paper-toast#^1.0.0",
- "paper-toggle-button": "PolymerElements/paper-toggle-button#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel#^1.0.0"
- },
- "_release": "1.0.1",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.1",
- "commit": "c4b7d791a9a7cfec9d671a34112c97a0dad5de69"
- },
- "_source": "git://github.com/PolymerElements/paper-elements.git",
- "_target": "~1.0.0",
- "_originalSource": "PolymerElements/paper-elements"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-elements/README.md b/third_party/polymer/v1_0/components/paper-elements/README.md
deleted file mode 100644
index 300275c..0000000
--- a/third_party/polymer/v1_0/components/paper-elements/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-#paper-elements
-
-The paper elements are a set of UI components designed to implement Google's [material design](http://www.google.com/design/spec/material-design/introduction.html) guidelines.
-
-## Roadmap
-
-### Elements in progress
-
-* `paper-dropdown-menu` - a dropdown menu
-
-### Elements planned
-_Elements we're planning on building soon but haven't started yet_
-
-* `paper-tooltip` - a hover tooltip
-
-[Currently focused on getting all elements up to speed]
-
-### Elements not planned, notably
-_Elements we're not planning on building as part of this product line, but that one might be wondering about_
-
-[None]
diff --git a/third_party/polymer/v1_0/components/paper-elements/bower.json b/third_party/polymer/v1_0/components/paper-elements/bower.json
deleted file mode 100644
index 34083c3..0000000
--- a/third_party/polymer/v1_0/components/paper-elements/bower.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "paper-elements",
- "version": "1.0.1",
- "homepage": "https://github.com/PolymerElements/paper-elements",
- "authors": [
- "The Polymer Authors"
- ],
- "description": "Paper elements are a set of visual elements that implement Google's Material Design.",
- "main": "paper-elements.html",
- "keywords": [
- "web-components",
- "polymer",
- "paper"
- ],
- "license": "http://polymer.github.io/LICENSE.txt",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
- "paper-button": "PolymerElements/paper-button#^1.0.0",
- "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.0",
- "paper-dialog": "PolymerElements/paper-dialog#^1.0.0",
- "paper-dialog-behavior": "PolymerElements/paper-dialog-behavior#^1.0.0",
- "paper-dialog-scrollable": "PolymerElements/paper-dialog-scrollable#^1.0.0",
- "paper-drawer-panel": "PolymerElements/paper-drawer-panel#^1.0.0",
- "paper-fab": "PolymerElements/paper-fab#^1.0.0",
- "paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "paper-item": "PolymerElements/paper-item#^1.0.0",
- "paper-material": "PolymerElements/paper-material#^1.0.0",
- "paper-menu": "PolymerElements/paper-menu#^1.0.0",
- "paper-progress": "PolymerElements/paper-progress#^1.0.0",
- "paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
- "paper-radio-group": "PolymerElements/paper-radio-group#^1.0.0",
- "paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
- "paper-slider": "PolymerElements/paper-slider#^1.0.0",
- "paper-spinner": "PolymerElements/paper-spinner#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "paper-tabs": "PolymerElements/paper-tabs#^1.0.0",
- "paper-toast": "PolymerElements/paper-toast#^1.0.0",
- "paper-toggle-button": "PolymerElements/paper-toggle-button#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel#^1.0.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/paper-fab/.bower.json b/third_party/polymer/v1_0/components/paper-fab/.bower.json
index 15e922a..3fe9ece 100644
--- a/third_party/polymer/v1_0/components/paper-fab/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-fab/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-fab",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design floating action button",
"authors": [
"The Polymer Authors"
@@ -36,13 +36,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "59d2f77f456271f1ae4059b92d83ba7655fb1580"
+ "tag": "v1.0.3",
+ "commit": "0371767ba859a842ffd07dfbdf574206c1d7294f"
},
"_source": "git://github.com/PolymerElements/paper-fab.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-fab"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-fab/bower.json b/third_party/polymer/v1_0/components/paper-fab/bower.json
index f3738a2..fe8ce02 100644
--- a/third_party/polymer/v1_0/components/paper-fab/bower.json
+++ b/third_party/polymer/v1_0/components/paper-fab/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-fab",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design floating action button",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-header-panel/.bower.json b/third_party/polymer/v1_0/components/paper-header-panel/.bower.json
index 6129668..aa0efb5 100644
--- a/third_party/polymer/v1_0/components/paper-header-panel/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-header-panel/.bower.json
@@ -32,6 +32,6 @@
"commit": "19cde2fc5dfd51439e3433b3d5e6b618d444cb0a"
},
"_source": "git://github.com/PolymerElements/paper-header-panel.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-header-panel"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-icon-button/.bower.json b/third_party/polymer/v1_0/components/paper-icon-button/.bower.json
index 71c8d45..7e9632c 100644
--- a/third_party/polymer/v1_0/components/paper-icon-button/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-icon-button/.bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-icon-button",
"private": true,
- "version": "1.0.2",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design icon button",
"main": "paper-icon-button.html",
@@ -15,6 +15,10 @@
"icon",
"control"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-icon-button.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-icon": "polymerelements/iron-icon#^1.0.0",
@@ -31,13 +35,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-icon-button",
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "b22ade2080f2527760eae41e4700c52d4689a866"
+ "tag": "v1.0.3",
+ "commit": "9f183bdae3ff419aeae78a51a05fcc4d0100e5a3"
},
"_source": "git://github.com/PolymerElements/paper-icon-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-icon-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-icon-button/bower.json b/third_party/polymer/v1_0/components/paper-icon-button/bower.json
index 6886757..f7fe35c 100644
--- a/third_party/polymer/v1_0/components/paper-icon-button/bower.json
+++ b/third_party/polymer/v1_0/components/paper-icon-button/bower.json
@@ -1,7 +1,7 @@
{
"name": "paper-icon-button",
"private": true,
- "version": "1.0.2",
+ "version": "1.0.3",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design icon button",
"main": "paper-icon-button.html",
@@ -15,6 +15,10 @@
"icon",
"control"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-icon-button.git"
+ },
"dependencies": {
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-icon": "polymerelements/iron-icon#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/paper-icon-button/paper-icon-button.html b/third_party/polymer/v1_0/components/paper-icon-button/paper-icon-button.html
index f4164ce..2da1f5c 100644
--- a/third_party/polymer/v1_0/components/paper-icon-button/paper-icon-button.html
+++ b/third_party/polymer/v1_0/components/paper-icon-button/paper-icon-button.html
@@ -77,6 +77,7 @@ Custom property | Description | Default
position: relative;
padding: 8px;
outline: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
diff --git a/third_party/polymer/v1_0/components/paper-input/.bower.json b/third_party/polymer/v1_0/components/paper-input/.bower.json
index 12c5a8c..6b7a996 100644
--- a/third_party/polymer/v1_0/components/paper-input/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-input/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-input",
- "version": "1.0.3",
+ "version": "1.0.6",
"description": "Material design text fields",
"authors": [
"The Polymer Authors"
@@ -27,11 +27,12 @@
"homepage": "https://github.com/PolymerElements/paper-input",
"ignore": [],
"dependencies": {
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
+ "polymer": "Polymer/polymer#^1.0.0",
"iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
+ "iron-input": "PolymerElements/iron-input#^1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
@@ -41,13 +42,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.6",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "5d3c8a4a95fce54f4b8b6a5e5b319e821a080447"
+ "tag": "v1.0.6",
+ "commit": "327605642c1bfa5366c0d3effc638b81f24c3adc"
},
"_source": "git://github.com/PolymerElements/paper-input.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-input"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-input/bower.json b/third_party/polymer/v1_0/components/paper-input/bower.json
index d25cce1..f268e8e 100644
--- a/third_party/polymer/v1_0/components/paper-input/bower.json
+++ b/third_party/polymer/v1_0/components/paper-input/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-input",
- "version": "1.0.3",
+ "version": "1.0.6",
"description": "Material design text fields",
"authors": [
"The Polymer Authors"
@@ -27,11 +27,12 @@
"homepage": "https://github.com/PolymerElements/paper-input",
"ignore": [],
"dependencies": {
- "iron-input": "PolymerElements/iron-input#^1.0.0",
- "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
+ "polymer": "Polymer/polymer#^1.0.0",
"iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0"
+ "iron-behaviors": "PolymerElements/iron-behaviors#^1.0.0",
+ "iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
+ "iron-input": "PolymerElements/iron-input#^1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0"
},
"devDependencies": {
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/paper-input/paper-input-behavior.html b/third_party/polymer/v1_0/components/paper-input/paper-input-behavior.html
index 1e72e98..685d10a 100644
--- a/third_party/polymer/v1_0/components/paper-input/paper-input-behavior.html
+++ b/third_party/polymer/v1_0/components/paper-input/paper-input-behavior.html
@@ -8,6 +8,7 @@ Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../iron-behaviors/iron-control-state.html">
<script>
@@ -19,9 +20,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
*
* The input element can be accessed by the `inputElement` property if you need to access
* properties or methods that are not exposed.
- * @polymerBehavior
+ * @polymerBehavior Polymer.PaperInputBehavior
*/
- Polymer.PaperInputBehavior = {
+ Polymer.PaperInputBehaviorImpl = {
properties: {
@@ -84,6 +85,14 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
},
/**
+ * The datalist of the input (if any). This should match the id of an existing <datalist>. Bind this
+ * to the `<input is="iron-input">`'s `list` property.
+ */
+ list: {
+ type: String
+ },
+
+ /**
* A pattern to validate the `input` with. Bind this to the `<input is="iron-input">`'s
* `pattern` property.
*/
@@ -221,6 +230,24 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
type: Number
},
+ // Nonstandard attributes for binding if needed
+
+ /**
+ * Bind this to the `<input is="iron-input">`'s `autocapitalize` property.
+ */
+ autocapitalize: {
+ type: String,
+ value: 'none'
+ },
+
+ /**
+ * Bind this to the `<input is="iron-input">`'s `autocorrect` property.
+ */
+ autocorrect: {
+ type: String,
+ value: 'off'
+ },
+
_ariaDescribedBy: {
type: String,
value: ''
@@ -232,6 +259,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
'addon-attached': '_onAddonAttached'
},
+ observers: [
+ '_focusedControlStateChanged(focused)'
+ ],
+
/**
* Returns a reference to the input element.
*/
@@ -296,6 +327,24 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
return placeholder || alwaysFloatLabel;
},
+ _focusedControlStateChanged: function(focused) {
+ // IronControlState stops the focus and blur events in order to redispatch them on the host
+ // element, but paper-input-container listens to those events. Since there are more
+ // pending work on focus/blur in IronControlState, I'm putting in this hack to get the
+ // input focus state working for now.
+ if (!this.$.container) {
+ this.$.container = Polymer.dom(this.root).querySelector('paper-input-container');
+ if (!this.$.container) {
+ return;
+ }
+ }
+ if (focused) {
+ this.$.container._onFocus();
+ } else {
+ this.$.container._onBlur();
+ }
+ },
+
_updateAriaLabelledBy: function() {
var label = Polymer.dom(this.root).querySelector('label');
if (!label) {
@@ -314,4 +363,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
};
+ /** @polymerBehavior */
+ Polymer.PaperInputBehavior = [Polymer.IronControlState, Polymer.PaperInputBehaviorImpl];
+
</script>
diff --git a/third_party/polymer/v1_0/components/paper-input/paper-input-container.html b/third_party/polymer/v1_0/components/paper-input/paper-input-container.html
index e9088c2..bd585fa 100644
--- a/third_party/polymer/v1_0/components/paper-input/paper-input-container.html
+++ b/third_party/polymer/v1_0/components/paper-input/paper-input-container.html
@@ -65,7 +65,11 @@ Custom property | Description | Default
`--paper-input-container-input-color` | Input foreground color | `--primary-text-color`
`--paper-input-container` | Mixin applied to the container | `{}`
`--paper-input-container-label` | Mixin applied to the label | `{}`
+`--paper-input-container-label-focus` | Mixin applied to the label when the input is focused | `{}`
`--paper-input-container-input` | Mixin applied to the input | `{}`
+`--paper-input-container-underline` | Mixin applied to the underline | `{}`
+`--paper-input-container-underline-focus` | Mixin applied to the underline when the input is focued | `{}`
+`--paper-input-container-underline-disabled` | Mixin applied to the underline when the input is disabled | `{}`
This element is `display:block` by default, but you can set the `inline` attribute to make it
`display:inline-block`.
@@ -107,6 +111,8 @@ This element is `display:block` by default, but you can set the `inline` attribu
transform: scale3d(0,1,1);
background: var(--paper-input-container-focus-color, --default-primary-color);
+
+ @apply(--paper-input-container-underline-focus);
}
.underline.is-highlighted .focused-line {
@@ -132,12 +138,16 @@ This element is `display:block` by default, but you can set the `inline` attribu
.unfocused-line {
height: 1px;
background: var(--paper-input-container-color, --secondary-text-color);
+
+ @apply(--paper-input-container-underline);
}
:host([disabled]) .unfocused-line {
border-bottom: 1px dashed;
border-color: var(--paper-input-container-color, --secondary-text-color);
background: transparent;
+
+ @apply(--paper-input-container-underline-disabled);
}
.input-content {
@@ -172,6 +182,8 @@ This element is `display:block` by default, but you can set the `inline` attribu
.input-content.label-is-highlighted ::content label,
.input-content.label-is-highlighted ::content .paper-input-label {
color: var(--paper-input-container-focus-color, --default-primary-color);
+
+ @apply(--paper-input-container-label-focus);
}
.input-content.is-invalid ::content label,
diff --git a/third_party/polymer/v1_0/components/paper-input/paper-input-error.html b/third_party/polymer/v1_0/components/paper-input/paper-input-error.html
index c034e96..f23c49c 100644
--- a/third_party/polymer/v1_0/components/paper-input/paper-input-error.html
+++ b/third_party/polymer/v1_0/components/paper-input/paper-input-error.html
@@ -35,8 +35,8 @@ Custom property | Description | Default
<style>
:host {
- /* need to use display: none for role="alert" */
- display: none;
+ display: inline-block;
+ visibility: hidden;
float: left;
color: var(--paper-input-container-invalid-color, --google-red-500);
@@ -46,7 +46,7 @@ Custom property | Description | Default
}
:host([invalid]) {
- display: inline-block;
+ visibility: visible;
};
</style>
@@ -71,10 +71,6 @@ Custom property | Description | Default
Polymer.PaperInputAddonBehavior
],
- hostAttributes: {
- 'role': 'alert'
- },
-
properties: {
/**
diff --git a/third_party/polymer/v1_0/components/paper-input/paper-input.html b/third_party/polymer/v1_0/components/paper-input/paper-input.html
index f6720e7..81b4d22 100644
--- a/third_party/polymer/v1_0/components/paper-input/paper-input.html
+++ b/third_party/polymer/v1_0/components/paper-input/paper-input.html
@@ -90,7 +90,10 @@ style this element.
name$="[[name]]"
placeholder$="[[placeholder]]"
readonly$="[[readonly]]"
- size$="[[size]]">
+ list$="[[list]]"
+ size$="[[size]]"
+ autocapitalize$="[[autocapitalize]]"
+ autocorrect$="[[autocorrect]]">
<template is="dom-if" if="[[errorMessage]]">
<paper-input-error>[[errorMessage]]</paper-input-error>
@@ -115,8 +118,9 @@ style this element.
is: 'paper-input',
behaviors: [
+ Polymer.IronFormElementBehavior,
Polymer.PaperInputBehavior,
- Polymer.IronFormElementBehavior
+ Polymer.IronControlState
]
})
diff --git a/third_party/polymer/v1_0/components/paper-input/paper-textarea.html b/third_party/polymer/v1_0/components/paper-input/paper-textarea.html
index d47a5b5..5702c72 100644
--- a/third_party/polymer/v1_0/components/paper-input/paper-textarea.html
+++ b/third_party/polymer/v1_0/components/paper-input/paper-textarea.html
@@ -9,7 +9,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
-->
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../iron-autogrow-textarea/iron-autogrow-textarea.html">
-<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
<link rel="import" href="paper-input-behavior.html">
<link rel="import" href="paper-input-container.html">
<link rel="import" href="paper-input-error.html">
@@ -48,7 +47,8 @@ style this element.
placeholder$="[[placeholder]]"
readonly$="[[readonly]]"
required$="[[required]]"
- maxlength$="[[maxlength]]"></iron-autogrow-textarea>
+ maxlength$="[[maxlength]]"
+ autocapitalize$="[[autocapitalize]]"></iron-autogrow-textarea>
<template is="dom-if" if="[[errorMessage]]">
<paper-input-error>[[errorMessage]]</paper-input-error>
@@ -73,8 +73,7 @@ style this element.
is: 'paper-textarea',
behaviors: [
- Polymer.PaperInputBehavior,
- Polymer.IronFormElementBehavior
+ Polymer.PaperInputBehavior
],
properties: {
diff --git a/third_party/polymer/v1_0/components/paper-item/.bower.json b/third_party/polymer/v1_0/components/paper-item/.bower.json
index 00391bb..c037d6d 100644
--- a/third_party/polymer/v1_0/components/paper-item/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-item/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-item",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material-design styled list item",
"authors": [
"The Polymer Authors"
@@ -37,13 +37,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "645ebae475ab4fc28698da253ccc3aa2c48341d7"
+ "tag": "v1.0.2",
+ "commit": "209d000bd2e99d9b31cfc996bbc5b0fc554be21d"
},
"_source": "git://github.com/PolymerElements/paper-item.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-item"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-item/bower.json b/third_party/polymer/v1_0/components/paper-item/bower.json
index f077268..bbfec78 100644
--- a/third_party/polymer/v1_0/components/paper-item/bower.json
+++ b/third_party/polymer/v1_0/components/paper-item/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-item",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material-design styled list item",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-material/.bower.json b/third_party/polymer/v1_0/components/paper-material/.bower.json
index 7775045..6e93e9c 100644
--- a/third_party/polymer/v1_0/components/paper-material/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-material/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-material",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "A material design container that looks like a lifted sheet of paper",
"private": true,
"authors": [
@@ -33,13 +33,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "bd769d2b8c4f9ab000aee22582d76b5935793dc1"
+ "tag": "v1.0.1",
+ "commit": "1663016f2b9f1deb197cfa93ef16d45d3de815c8"
},
"_source": "git://github.com/PolymerElements/paper-material.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-material"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-material/bower.json b/third_party/polymer/v1_0/components/paper-material/bower.json
index e6f78bc..c5d8489 100644
--- a/third_party/polymer/v1_0/components/paper-material/bower.json
+++ b/third_party/polymer/v1_0/components/paper-material/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-material",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "A material design container that looks like a lifted sheet of paper",
"private": true,
"authors": [
diff --git a/third_party/polymer/v1_0/components/paper-menu/.bower.json b/third_party/polymer/v1_0/components/paper-menu/.bower.json
index 0e4dff9..b3fbd39 100644
--- a/third_party/polymer/v1_0/components/paper-menu/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-menu/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-menu",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "Implements an accessible material design menu",
"authors": "The Polymer Authors",
"keywords": [
@@ -29,13 +29,13 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "0642450ec9df0fc0b1d909842f436c3dea79ed1e"
+ "tag": "v1.0.1",
+ "commit": "137caedb322ab2464730d7b1776e5c88989d2c3f"
},
"_source": "git://github.com/PolymerElements/paper-menu.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-menu"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-menu/bower.json b/third_party/polymer/v1_0/components/paper-menu/bower.json
index dd2a5cd..35d527dd 100644
--- a/third_party/polymer/v1_0/components/paper-menu/bower.json
+++ b/third_party/polymer/v1_0/components/paper-menu/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-menu",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "Implements an accessible material design menu",
"authors": "The Polymer Authors",
"keywords": [
diff --git a/third_party/polymer/v1_0/components/paper-menu/paper-menu.html b/third_party/polymer/v1_0/components/paper-menu/paper-menu.html
index 45ecd72..4158fa1 100644
--- a/third_party/polymer/v1_0/components/paper-menu/paper-menu.html
+++ b/third_party/polymer/v1_0/components/paper-menu/paper-menu.html
@@ -21,6 +21,13 @@ is highlighted, and the selected item has bolded text.
<paper-item>Item 2</paper-item>
</paper-menu>
+An initial selection can be specified with the `selected` attribute.
+
+ <paper-menu selected="0">
+ <paper-item>Item 1</paper-item>
+ <paper-item>Item 2</paper-item>
+ </paper-menu>
+
Make a multi-select menu with the `multi` attribute. Items in a multi-select menu can be deselected,
and multiple item can be selected.
@@ -36,7 +43,7 @@ The following custom properties and mixins are available for styling:
Custom property | Description | Default
----------------|-------------|----------
`--paper-menu-background-color` | Menu background color | `--primary-background-color`
-`-paper-menu-color` | Menu foreground color | `--primary-text-color`
+`--paper-menu-color` | Menu foreground color | `--primary-text-color`
`--paper-menu-disabled-color` | Foreground color for a disabled item | `--disabled-text-color`
`--paper-menu` | Mixin applied to the menu | `{}`
`--paper-menu-selected-item` | Mixin applied to the selected item | `{}`
@@ -85,7 +92,7 @@ of a menu item will also focus it.
position: relative;
outline: 0;
- @apply(--paper-menu-colored-focused-item);
+ @apply(--paper-menu-focused-item);
}
.content > ::content > *:focus:after {
@@ -95,7 +102,7 @@ of a menu item will also focus it.
opacity: 0.12;
content: '';
- @apply(--paper-menu-colored-focused-item-after);
+ @apply(--paper-menu-focused-item-after);
}
.content > ::content > *[colored]:focus:after {
diff --git a/third_party/polymer/v1_0/components/paper-progress/.bower.json b/third_party/polymer/v1_0/components/paper-progress/.bower.json
index 100fe00..57180d4 100644
--- a/third_party/polymer/v1_0/components/paper-progress/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-progress/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-progress",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design progress bar",
"authors": "The Polymer Authors",
@@ -29,13 +29,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-progress",
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "1bef80a0d4110654b85746e70c006796ce8cdc2c"
+ "tag": "v1.0.1",
+ "commit": "5cc9e18dad0420fd7f92a2b5b32981782a31cb06"
},
"_source": "git://github.com/PolymerElements/paper-progress.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-progress"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-progress/README.md b/third_party/polymer/v1_0/components/paper-progress/README.md
index 7aaf060..edc309f 100644
--- a/third_party/polymer/v1_0/components/paper-progress/README.md
+++ b/third_party/polymer/v1_0/components/paper-progress/README.md
@@ -17,10 +17,10 @@ progress, such as the buffer level during a streaming playback progress bar.
Example:
```html
-<paper-progress value="10" secondaryProgress="30"></paper-progress>
+<paper-progress value="10" secondary-progress="30"></paper-progress>
```
-Styling progress bar:
+### Styling progress bar:
To change the active progress bar color:
@@ -45,3 +45,14 @@ paper-progress {
--paper-progress-container-color: #64ffda;
}
```
+
+Add the class `transiting` to a `<paper-progress>` to animate the progress bar when
+the value changed. You can also customize the transition:
+
+```css
+paper-progress {
+ --paper-progress-transition-duration: 0.08s;
+ --paper-progress-transition-timing-function: ease;
+ --paper-progress-transition-transition-delay: 0s;
+}
+```
diff --git a/third_party/polymer/v1_0/components/paper-progress/bower.json b/third_party/polymer/v1_0/components/paper-progress/bower.json
index 8c17acb..937d6dc 100644
--- a/third_party/polymer/v1_0/components/paper-progress/bower.json
+++ b/third_party/polymer/v1_0/components/paper-progress/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-progress",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design progress bar",
"authors": "The Polymer Authors",
diff --git a/third_party/polymer/v1_0/components/paper-progress/paper-progress.html b/third_party/polymer/v1_0/components/paper-progress/paper-progress.html
index 949e1bc..3df2577 100644
--- a/third_party/polymer/v1_0/components/paper-progress/paper-progress.html
+++ b/third_party/polymer/v1_0/components/paper-progress/paper-progress.html
@@ -1,13 +1,14 @@
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
+<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../paper-styles/paper-styles.html">
<link rel="import" href="../iron-range-behavior/iron-range-behavior.html">
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
@@ -28,7 +29,7 @@ Example:
<paper-progress value="10" secondary-progress="30"></paper-progress>
-Styling progress bar:
+### Styling progress bar:
To change the active progress bar color:
@@ -48,6 +49,15 @@ To change the progress bar background color:
--paper-progress-container-color: #64ffda;
}
+Add the class `transiting` to a paper-progress to animate the progress bar when
+the value changed. You can also customize the transition:
+
+ paper-progress {
+ --paper-progress-transition-duration: 0.08s;
+ --paper-progress-transition-timing-function: ease;
+ --paper-progress-transition-transition-delay: 0s;
+ }
+
@group Paper Elements
@element paper-progress
@hero hero.svg
@@ -62,6 +72,24 @@ To change the progress bar background color:
height: 4px;
}
+ :host(.transiting) #activeProgress,
+ :host(.transiting) #secondaryProgress {
+ -webkit-transition-property: -webkit-transform;
+ transition-property: transform;
+
+ /* Duration */
+ -webkit-transition-duration: var(--paper-progress-transition-duration, 0.08s);
+ transition-duration: var(--paper-progress-transition-duration, 0.08s);
+
+ /* Timing function */
+ -webkit-transition-timing-function: var(--paper-progress-transition-timing-function, ease);
+ transition-timing-function: var(--paper-progress-transition-timing-function, ease);
+
+ /* Delay */
+ -webkit-transition-delay: var(--paper-progress-transition-delay, 0s);
+ transition-delay: var(--paper-progress-transition-delay, 0s);
+ }
+
#progressContainer {
position: relative;
height: 100%;
diff --git a/third_party/polymer/v1_0/components/paper-radio-button/.bower.json b/third_party/polymer/v1_0/components/paper-radio-button/.bower.json
index 921a3c1..23a1612 100644
--- a/third_party/polymer/v1_0/components/paper-radio-button/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-radio-button/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design radio button",
"authors": [
"The Polymer Authors"
@@ -32,13 +32,13 @@
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "adf0de18d7f0b20b6ee7e891b4f265427fe2e5ff"
+ "tag": "v1.0.5",
+ "commit": "05cd3c675d1e807362d2e72c83d3ae34c5d120a9"
},
"_source": "git://github.com/PolymerElements/paper-radio-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-radio-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-radio-button/README.md b/third_party/polymer/v1_0/components/paper-radio-button/README.md
index f1bdf54..eee7af6 100644
--- a/third_party/polymer/v1_0/components/paper-radio-button/README.md
+++ b/third_party/polymer/v1_0/components/paper-radio-button/README.md
@@ -1,16 +1,16 @@
# paper-radio-button
`paper-radio-button` is a button that can be either checked or unchecked.
-User can tap the radio button to check it. But it cannot be unchecked by
-tapping once checked.
-
-Use `paper-radio-group` to group a set of radio buttons. When radio buttons
-are inside a radio group, only one radio button in the group can be checked.
+User can tap the radio button to check or uncheck it.
+Use a `<paper-radio-group>` to group a set of radio buttons. When radio buttons
+are inside a radio group, exactly one radio button in the group can be checked
+at any time.
Example:
```html
<paper-radio-button></paper-radio-button>
+<paper-radio-button>Item label</paper-radio-button>
```
Styling a radio button:
@@ -19,11 +19,14 @@ Styling a radio button:
:root {
/* Unchecked state colors. */
--paper-radio-button-unchecked-color: #5a5a5a;
+ --paper-radio-button-unchecked-background-color: #fff;
--paper-radio-button-unchecked-ink-color: #5a5a5a;
/* Checked state colors. */
--paper-radio-button-checked-color: #009688;
--paper-radio-button-checked-ink-color: #0f9d58;
+
+ --paper-radio-button-label-color: black;
}
</style>
```
diff --git a/third_party/polymer/v1_0/components/paper-radio-button/bower.json b/third_party/polymer/v1_0/components/paper-radio-button/bower.json
index 4612f3d..b6a2bad 100644
--- a/third_party/polymer/v1_0/components/paper-radio-button/bower.json
+++ b/third_party/polymer/v1_0/components/paper-radio-button/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design radio button",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.css b/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.css
index 682d8c5..852296e 100644
--- a/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.css
+++ b/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.css
@@ -33,6 +33,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
height: 48px;
color: var(--paper-radio-button-unchecked-ink-color, --primary-text-color);
opacity: 0.6;
+ pointer-events: none;
}
:host #ink[checked] {
@@ -47,6 +48,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
height: 12px;
border-radius: 50%;
border: solid 2px;
+ background-color: var(--paper-radio-button-unchecked-background-color, transparent);
border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
transition: border-color 0.28s;
}
diff --git a/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.html b/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.html
index 63fba75..781ea10 100644
--- a/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.html
+++ b/third_party/polymer/v1_0/components/paper-radio-button/paper-radio-button.html
@@ -14,15 +14,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<!--
`paper-radio-button` is a button that can be either checked or unchecked.
-User can tap the radio button to check it. But it cannot be unchecked by
-tapping once checked.
+User can tap the radio button to check or uncheck it.
-Use `paper-radio-group` to group a set of radio buttons. When radio buttons
-are inside a radio group, only one radio button in the group can be checked.
+Use a `<paper-radio-group>` to group a set of radio buttons. When radio buttons
+are inside a radio group, exactly one radio button in the group can be checked
+at any time.
Example:
<paper-radio-button></paper-radio-button>
+ <paper-radio-button>Item label</paper-radio-button>
### Styling
@@ -30,6 +31,7 @@ The following custom properties and mixins are available for styling:
Custom property | Description | Default
----------------|-------------|----------
+`--paper-radio-button-unchecked-background-color` | Radio button background color when the input is not checked | `transparent`
`--paper-radio-button-unchecked-color` | Radio button color when the input is not checked | `--primary-text-color`
`--paper-radio-button-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--primary-text-color`
`--paper-radio-button-checked-color` | Radio button color when the input is checked | `--default-primary-color`
diff --git a/third_party/polymer/v1_0/components/paper-radio-group/.bower.json b/third_party/polymer/v1_0/components/paper-radio-group/.bower.json
index 327bd4a..5836e21 100644
--- a/third_party/polymer/v1_0/components/paper-radio-group/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-radio-group/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-group",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "A group of material design radio buttons",
"authors": [
"The Polymer Authors"
@@ -33,13 +33,13 @@
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "8599c003cd2e914e688daed06170955433445c25"
+ "tag": "v1.0.4",
+ "commit": "18b94b1ef062d8583cf37c9ccfbb21f70e49ad78"
},
"_source": "git://github.com/PolymerElements/paper-radio-group.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-radio-group"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-radio-group/README.md b/third_party/polymer/v1_0/components/paper-radio-group/README.md
index 0b02d58..e643ee7 100644
--- a/third_party/polymer/v1_0/components/paper-radio-group/README.md
+++ b/third_party/polymer/v1_0/components/paper-radio-group/README.md
@@ -10,9 +10,9 @@ Example:
```html
<paper-radio-group selected="small">
- <paper-radio-button name="small" label="Small"></paper-radio-button>
- <paper-radio-button name="medium" label="Medium"></paper-radio-button>
- <paper-radio-button name="large" label="Large"></paper-radio-button>
+ <paper-radio-button name="small">Small</paper-radio-button>
+ <paper-radio-button name="medium">Medium</paper-radio-button>
+ <paper-radio-button name="large">Large</paper-radio-button>
</paper-radio-group>
```
diff --git a/third_party/polymer/v1_0/components/paper-radio-group/bower.json b/third_party/polymer/v1_0/components/paper-radio-group/bower.json
index 10e1eeb..58fc5e2 100644
--- a/third_party/polymer/v1_0/components/paper-radio-group/bower.json
+++ b/third_party/polymer/v1_0/components/paper-radio-group/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-radio-group",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "A group of material design radio buttons",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-radio-group/paper-radio-group.html b/third_party/polymer/v1_0/components/paper-radio-group/paper-radio-group.html
index d28b6d7..9308892 100644
--- a/third_party/polymer/v1_0/components/paper-radio-group/paper-radio-group.html
+++ b/third_party/polymer/v1_0/components/paper-radio-group/paper-radio-group.html
@@ -22,9 +22,9 @@ previously checked radio button within the same group. Use
Example:
<paper-radio-group selected="small">
- <paper-radio-button name="small" label="Small"></paper-radio-button>
- <paper-radio-button name="medium" label="Medium"></paper-radio-button>
- <paper-radio-button name="large" label="Large"></paper-radio-button>
+ <paper-radio-button name="small">Small</paper-radio-button>
+ <paper-radio-button name="medium">Medium</paper-radio-button>
+ <paper-radio-button name="large">Large</paper-radio-button>
</paper-radio-group>
See <a href="paper-radio-button.html">paper-radio-button</a> for more
@@ -82,6 +82,14 @@ information about `paper-radio-button`.
selectedAttribute: {
type: String,
value: 'checked'
+ },
+
+ /**
+ * Overriden from Polymer.IronSelectableBehavior
+ */
+ selectable: {
+ type: String,
+ value: 'paper-radio-button'
}
},
@@ -128,7 +136,7 @@ information about `paper-radio-button`.
/**
* Selects the next item. If the next item is disabled, then it is
- * skipped, and its nexy item is selected
+ * skipped, and the next item after it is selected.
*/
selectNext: function() {
var length = this.items.length;
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/.bower.json b/third_party/polymer/v1_0/components/paper-scroll-header-panel/.bower.json
deleted file mode 100644
index 18736ee..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/.bower.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "paper-scroll-header-panel",
- "description": "A header bar with scrolling behavior",
- "version": "1.0.2",
- "license": "http://polymer.github.io/LICENSE.txt",
- "private": true,
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "layout",
- "responsive"
- ],
- "main": [
- "paper-scroll-header-panel.html"
- ],
- "repository": {
- "type": "git",
- "url": "git@github.com:PolymerElements/paper-scroll-header-panel.git"
- },
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/paper-scroll-header-panel",
- "_release": "1.0.2",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.2",
- "commit": "99768fba06e038ffdeeb2b229515f9af7b4b1575"
- },
- "_source": "git://github.com/PolymerElements/paper-scroll-header-panel.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/paper-scroll-header-panel"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/.gitignore b/third_party/polymer/v1_0/components/paper-scroll-header-panel/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/README.md b/third_party/polymer/v1_0/components/paper-scroll-header-panel/README.md
deleted file mode 100644
index 78f6376..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-paper-scroll-header-panel
-========================
-
-`paper-scroll-header-panel` contains a header section and a content section. The header is initially on the top part of the view but it scrolls away with the rest of the scrollable content. Upon scrolling slightly up at any point, the header scrolls back into view. This saves screen space and allows users to access important controls by easily moving them back to the view.
-
-Important: The `paper-scroll-header-panel` will not display if its parent does not have a height. Using layout classes, you can easily make the `paper-scroll-header-panel` fill the screen
-
-```html
-<body class="fullbleed layout vertical">
- <paper-scroll-header-panel class="flex">
- <paper-toolbar>
- Hello World!
- </paper-toolbar>
- </paper-scroll-header-panel>
-</body>
-```
-or, if you would prefer to do it in CSS, just give html, body, and `paper-scroll-header-panel` a height of 100%:
-```css
-html, body {
- height: 100%;
- margin: 0;
-}
-paper-scroll-header-panel {
- height: 100%;
-}
-```
-`paper-scroll-header-panel` works well with `paper-toolbar` but can use any element that represents a header by adding a `paper-header` class to it.
-
-```html
-<paper-scroll-header-panel>
- <paper-toolbar>Header</paper-toolbar>
- <div>Content goes here...</div>
-</paper-scroll-header-panel>
-```
-
-### Styling scroll-header-panel:
-
-To change background for toolbar when it is at its full size:
-
-```css
-paper-scroll-header-panel {
- --paper-scroll-header-panel-full-header: {
- background-color: red;
- };
-}
-```
-
-To change the background for toolbar when it is condensed:
-
-```css
-paper-scroll-header-panel {
- --paper-scroll-header-panel-condensed-header: {
- background-color: #f4b400;
- };
-}
-```
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/bower.json b/third_party/polymer/v1_0/components/paper-scroll-header-panel/bower.json
deleted file mode 100644
index 8075eae..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "paper-scroll-header-panel",
- "description": "A header bar with scrolling behavior",
- "version": "1.0.2",
- "license": "http://polymer.github.io/LICENSE.txt",
- "private": true,
- "authors": "The Polymer Authors",
- "keywords": [
- "web-components",
- "polymer",
- "layout",
- "responsive"
- ],
- "main": [
- "paper-scroll-header-panel.html"
- ],
- "repository": {
- "type": "git",
- "url": "git@github.com:PolymerElements/paper-scroll-header-panel.git"
- },
- "dependencies": {
- "polymer": "Polymer/polymer#^1.0.0",
- "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
- "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0"
- },
- "devDependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
- "iron-media-query": "PolymerElements/iron-media-query#^1.0.0",
- "iron-icons": "PolymerElements/iron-icons#^1.0.0",
- "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0",
- "paper-input": "PolymerElements/paper-input#^1.0.0",
- "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
- "test-fixture": "PolymerElements/test-fixture#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/hero.svg b/third_party/polymer/v1_0/components/paper-scroll-header-panel/hero.svg
deleted file mode 100644
index c130c84..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/hero.svg
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <circle cx="170.6" cy="28.5" r="4"/>
- <circle cx="170.6" cy="58.5" r="4"/>
- <rect x="170" y="29" width="2" height="30"/>
- <path d="M163,102H73V24h90V102z M75,100h86V26H75V100z"/>
- <rect x="74" y="62" width="88" height="2"/>
- <g id="ic_x5F_add_x0D_">
- </g>
- <g>
- <polygon points="74,59.6 74,62.5 74.5,63 77.4,63 "/>
- <polygon points="74,51.9 74,54.7 82.3,63 85.1,63 "/>
- <polygon points="74,44.1 74,46.9 90.1,63 92.9,63 "/>
- <polygon points="74,36.3 74,39.2 97.8,63 100.7,63 "/>
- <polygon points="74,28.6 74,31.4 105.6,63 108.4,63 "/>
- <polygon points="78.2,25 75.4,25 113.4,63 116.2,63 "/>
- <polygon points="86,25 83.1,25 121.1,63 124,63 "/>
- <polygon points="93.7,25 90.9,25 128.9,63 131.7,63 "/>
- <polygon points="101.5,25 98.7,25 136.7,63 139.5,63 "/>
- <polygon points="109.2,25 106.4,25 144.4,63 147.2,63 "/>
- <polygon points="117,25 114.2,25 152.2,63 155,63 "/>
- <polygon points="124.8,25 122,25 160,63 162,63 162,62.2 "/>
- <polygon points="132.5,25 129.7,25 162,57.3 162,54.5 "/>
- <polygon points="140.3,25 137.5,25 162,49.5 162,46.7 "/>
- <polygon points="148.1,25 145.2,25 162,41.8 162,38.9 "/>
- <polygon points="155.8,25 153,25 162,34 162,31.2 "/>
- <polygon points="162,26.2 162,25 160.8,25 "/>
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/index.html b/third_party/polymer/v1_0/components/paper-scroll-header-panel/index.html
deleted file mode 100644
index e2e7712..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <title>paper-scroll-header-panel</title>
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/paper-scroll-header-panel/paper-scroll-header-panel.html b/third_party/polymer/v1_0/components/paper-scroll-header-panel/paper-scroll-header-panel.html
deleted file mode 100644
index 740e9c7c..0000000
--- a/third_party/polymer/v1_0/components/paper-scroll-header-panel/paper-scroll-header-panel.html
+++ /dev/null
@@ -1,455 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../iron-resizable-behavior/iron-resizable-behavior.html">
-
-<!--
-`paper-scroll-header-panel` contains a header section and a content section. The
-header is initially on the top part of the view but it scrolls away with the
-rest of the scrollable content. Upon scrolling slightly up at any point, the
-header scrolls back into view. This saves screen space and allows users to
-access important controls by easily moving them back to the view.
-
-__Important:__ The `paper-scroll-header-panel` will not display if its parent does not have a height.
-
-Using [layout attributes](http://www.polymer-project.org/docs/polymer/layout-attrs.html), you can easily make the `paper-scroll-header-panel` fill the screen
-
- <body class="fullbleed layout vertical">
- <paper-scroll-header-panel class="flex">
- <paper-toolbar>
- <div>Hello World!</div>
- </paper-toolbar>
- </paper-scroll-header-panel>
- </body>
-
-or, if you would prefer to do it in CSS, just give `html`, `body`, and `paper-scroll-header-panel` a height of 100%:
-
- html, body {
- height: 100%;
- margin: 0;
- }
- paper-scroll-header-panel {
- height: 100%;
- }
-
-`paper-scroll-header-panel` works well with `paper-toolbar` but can use any element
-that represents a header by adding a `paper-header` class to it.
-
- <paper-scroll-header-panel>
- <paper-toolbar>Header</paper-toolbar>
- <div>Content goes here...</div>
- </paper-scroll-header-panel>
-
-Styling scroll-header-panel:
-
- To change background for toolbar when it is at its full size:
-
- paper-scroll-header-panel {
- --paper-scroll-header-panel-full-header: {
- background-color: red;
- };
- }
-
- To change the background for toolbar when it is condensed:
-
- paper-scroll-header-panel {
- --paper-scroll-header-panel-condensed-header: {
- background-color: #f4b400;
- };
- }
-
-@group Paper Element
-@element paper-scrollheader-panel
-@demo demo/index.html
-@hero hero.svg
--->
-
-<dom-module id="paper-scroll-header-panel">
-
- <style>
- :host {
- display: block;
- position: relative;
- overflow: hidden;
- }
-
- #mainContainer {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-overflow-scrolling: touch;
- overflow-x: hidden;
- overflow-_y: auto;
- -webkit-transform: translateZ(0);
- transform: translateZ(0);
- }
-
- #headerContainer {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- }
-
- .bg-container {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- overflow: hidden;
- }
-
- #headerBg {
- @apply(--paper-scroll-header-panel-full-header);
- }
-
- #condensedHeaderBg {
- @apply(--paper-scroll-header-panel-condensed-header);
- }
-
- #headerBg, #condensedHeaderBg {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background-repeat: no-repeat;
- background-size: cover;
- background-position: center center;
- }
-
- #condensedHeaderBg {
- opacity: 0;
- }
- </style>
- <template>
- <div id="mainContainer">
- <content id="mainContent" select=":not(paper-toolbar):not(.paper-header)"></content>
- </div>
- <div id="headerContainer">
- <div class="bg-container">
- <div id="condensedHeaderBg"></div>
- <div id="headerBg"></div>
- </div>
- <content id="headerContent" select="paper-toolbar, .paper-header"></content>
- </div>
- </template>
-</dom-module>
-
-<script>
-(function() {
-
- 'use strict';
-
- Polymer({
-
- /**
- * Fired when the content has been scrolled.
- *
- * @event content-scroll
- */
-
- /**
- * Fired when the header is transformed.
- *
- * @event paper-header-transform
- */
-
- is: 'paper-scroll-header-panel',
-
- behaviors: [
- Polymer.IronResizableBehavior
- ],
-
- properties: {
-
- /**
- * If true, the header's height will condense to `_condensedHeaderHeight`
- * as the user scrolls down from the top of the content area.
- */
- condenses: {
- type: Boolean,
- value: false,
- observer: '_condensesChanged'
- },
-
- /**
- * If true, no cross-fade transition from one background to another.
- */
- noDissolve: {
- type: Boolean,
- value: false
- },
-
- /**
- * If true, the header doesn't slide back in when scrolling back up.
- */
- noReveal: {
- type: Boolean,
- value: false
- },
-
- /**
- * If true, the header is fixed to the top and never moves away.
- */
- fixed: {
- type: Boolean,
- value: false
- },
-
- /**
- * If true, the condensed header is always shown and does not move away.
- */
- keepCondensedHeader: {
- type: Boolean,
- value: false
- },
-
- /**
- * The height of the header when it is at its full size.
- *
- * By default, the height will be measured when it is ready. If the height
- * changes later the user needs to either set this value to reflect the
- * new height or invoke `measureHeaderHeight()`.
- */
- headerHeight: {
- type: Number,
- value: 0
- },
-
- /**
- * The height of the header when it is condensed.
- *
- * By default, `_condensedHeaderHeight` is 1/3 of `headerHeight` unless
- * this is specified.
- */
- condensedHeaderHeight: {
- type: Number,
- value: 0
- },
-
- /**
- * By default, the top part of the header stays when the header is being
- * condensed. Set this to true if you want the top part of the header
- * to be scrolled away.
- */
- scrollAwayTopbar: {
- type: Boolean,
- value: false
- },
-
- _headerMargin: {
- type: Number
- },
-
- _prevScrollTop: {
- type: Number
- },
-
- _y: {
- type: Number
- }
-
- },
-
- observers: [
- '_setup(_headerMargin, headerHeight, fixed)',
- '_headerHeightChanged(headerHeight, condensedHeaderHeight)',
- '_condensedHeaderHeightChanged(headerHeight, condensedHeaderHeight)'
- ],
-
- listeners: {
- 'iron-resize': 'measureHeaderHeight'
- },
-
- ready: function() {
- this.async(this.measureHeaderHeight, 5);
- this._scrollHandler = this._scroll.bind(this);
- this.scroller.addEventListener('scroll', this._scrollHandler);
- },
-
- detached: function() {
- this.scroller.removeEventListener('scroll', this._scrollHandler);
- },
-
- /**
- * Returns the header element.
- *
- * @property header
- * @type Object
- */
- get header() {
- return Polymer.dom(this.$.headerContent).getDistributedNodes()[0];
- },
-
- /**
- * Returns the content element.
- *
- * @property content
- * @type Object
- */
- get content() {
- return Polymer.dom(this.$.mainContent).getDistributedNodes()[0];
- },
-
- /**
- * Returns the scrollable element.
- *
- * @property scroller
- * @type Object
- */
- get scroller() {
- return this.$.mainContainer;
- },
-
- /**
- * Invoke this to tell `paper-scroll-header-panel` to re-measure the header's
- * height.
- *
- * @method measureHeaderHeight
- */
- measureHeaderHeight: function() {
- var header = this.header;
- if (header && header.offsetHeight) {
- this.headerHeight = header.offsetHeight;
- }
- },
-
- _headerHeightChanged: function() {
- if (!this.condensedHeaderHeight) {
- // assume condensedHeaderHeight is 1/3 of the headerHeight
- this.condensedHeaderHeight = this.headerHeight * 1 / 3;
- }
- },
-
- _condensedHeaderHeightChanged: function() {
- if (this.headerHeight) {
- this._headerMargin = this.headerHeight - this.condensedHeaderHeight;
- }
- },
-
- _condensesChanged: function() {
- if (this.condenses) {
- this._scroll();
- } else {
- // reset transform/opacity set on the header
- this._condenseHeader(null);
- }
- },
-
- _setup: function() {
- var s = this.scroller.style;
- s.paddingTop = this.fixed ? '' : this.headerHeight + 'px';
-
- s.top = this.fixed ? this.headerHeight + 'px' : '';
-
- if (this.fixed) {
- this._transformHeader(null);
- } else {
- this._scroll();
- }
- },
-
- _transformHeader: function(y) {
- var s = this.$.headerContainer.style;
- this._translateY(s, -y);
-
- if (this.condenses) {
- this._condenseHeader(y);
- }
-
- this.fire('paper-header-transform', {y: y, height: this.headerHeight,
- condensedHeight: this.condensedHeaderHeight});
- },
-
- _condenseHeader: function(y) {
- var reset = (y === null);
-
- // adjust top bar in paper-header so the top bar stays at the top
- if (!this.scrollAwayTopbar && this.header.$ && this.header.$.topBar) {
- this._translateY(this.header.$.topBar.style,
- reset ? null : Math.min(y, this._headerMargin));
- }
- // transition header bg
- var hbg = this.$.headerBg.style;
- if (!this.noDissolve) {
- hbg.opacity = reset ? '' : (this._headerMargin - y) / this._headerMargin;
- }
- // adjust header bg so it stays at the center
- this._translateY(hbg, reset ? null : y / 2);
- // transition condensed header bg
- if (!this.noDissolve) {
- var chbg = this.$.condensedHeaderBg.style;
- chbg = this.$.condensedHeaderBg.style;
- chbg.opacity = reset ? '' : y / this._headerMargin;
-
- // adjust condensed header bg so it stays at the center
- this._translateY(chbg, reset ? null : y / 2);
- }
- },
-
- _translateY: function(s, y) {
- var t = (y === null) ? '' : 'translate3d(0, ' + y + 'px, 0)';
- setTransform(s, t);
- },
-
- /** @param {Event=} event */
- _scroll: function(event) {
- if (!this.header) {
- return;
- }
-
- var sTop = this.scroller.scrollTop;
-
- this._y = this._y || 0;
- this._prevScrollTop = this._prevScrollTop || 0;
-
- var y = Math.min(this.keepCondensedHeader ?
- this._headerMargin : this.headerHeight, Math.max(0,
- (this.noReveal ? sTop : this._y + sTop - this._prevScrollTop)));
-
- if (this.condenses && this._prevScrollTop >= sTop && sTop > this._headerMargin) {
- y = Math.max(y, this._headerMargin);
- }
-
- if (!event || !this.fixed && y !== this._y) {
- this._transformHeader(y);
- }
-
- this._prevScrollTop = Math.max(sTop, 0);
- this._y = y;
-
- if (event) {
- this.fire('content-scroll', {target: this.scroller}, {cancelable: false});
- }
- }
-
- });
-
- //determine proper transform mechanizm
- if (document.documentElement.style.transform !== undefined) {
- var setTransform = function(style, string) {
- style.transform = string;
- }
- } else {
- var setTransform = function(style, string) {
- style.webkitTransform = string;
- }
- }
-
-})();
-
-</script>
diff --git a/third_party/polymer/v1_0/components/paper-slider/.bower.json b/third_party/polymer/v1_0/components/paper-slider/.bower.json
index 99e51fb..f08698e 100644
--- a/third_party/polymer/v1_0/components/paper-slider/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-slider/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-slider",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design-style slider",
"license": "http://polymer.github.io/LICENSE.txt",
"authors": "The Polymer Authors",
@@ -37,13 +37,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-slider",
- "_release": "1.0.2",
+ "_release": "1.0.3",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "88ca34f8b87059a2cb187a4a42f5105756a30eff"
+ "tag": "v1.0.3",
+ "commit": "d2b1542b6f02595fa124359945a4cc00cb0fca44"
},
"_source": "git://github.com/PolymerElements/paper-slider.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-slider"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-slider/README.md b/third_party/polymer/v1_0/components/paper-slider/README.md
index fd00cd2..bfd50b5 100644
--- a/third_party/polymer/v1_0/components/paper-slider/README.md
+++ b/third_party/polymer/v1_0/components/paper-slider/README.md
@@ -19,51 +19,31 @@ Use `min` and `max` to specify the slider range. Default is `0` to `100`. For ex
### Styling slider
-To change the slider progress bar color:
-```css
-paper-slider {
- --paper-slider-active-color: #0f9d58;
-}
-```
+The following custom properties and mixins are available for styling:
+
+Custom property | Description | Default
+----------------|-------------|----------
+`--paper-slider-bar-color` | The background color of the slider | `transparent`
+`--paper-slider-active-color` | The progress bar color | `--google-blue-700`
+`--paper-slider-secondary-color` | The secondary progress bar color | `--google-blue-300`
+`--paper-slider-knob-color` | The knob color | `--google-blue-700`
+`--paper-slider-disabled-knob-color` | The disabled knob color | `--google-grey-500`
+`--paper-slider-pin-color` | The pin color | `--google-blue-700`
+`--paper-slider-font-color` | The pin's text color | `#fff`
+`--paper-slider-disabled-active-color` | The disabled progress bar color | `--google-grey-500`
+`--paper-slider-disabled-secondary-color` | The disabled secondary progress bar color | `--google-grey-300`
-To change the slider knob color:
-```css
-paper-slider {
- --paper-slider-knob-color: #0f9d58;
-}
-```
+Example:
-To change the slider pin color:
-```css
-paper-slider {
- --paper-slider-pin-color: #0f9d58;
-}
```
-
-To change the slider pin's font color:
-```css
-paper-slider {
- --paper-slider-pin-font-color: #0f9d58;
-}
-```
-
-To change the slider secondary progress bar color:
-```css
paper-slider {
+ --paper-slider-bar-color: #fff;
+ --paper-slider-active-color: #0f9d58;
+ --paper-slider-knob-color: #0f9d58;
+ --paper-slider-pin-color: #0f9d58;
+ --paper-slider-font-color: #0f9d58;
--paper-slider-secondary-color: #0f9d58;
-}
-```
-
-To change the slider disabled active color:
-```css
-paper-slider {
--paper-slider-disabled-active-color: #ccc;
-}
-```
-
-To change the slider disabled secondary progress bar color:
-```css
-paper-slider {
--paper-slider-disabled-secondary-color: #ccc;
}
-``` \ No newline at end of file
+```
diff --git a/third_party/polymer/v1_0/components/paper-slider/bower.json b/third_party/polymer/v1_0/components/paper-slider/bower.json
index 127b9ac..ac19915 100644
--- a/third_party/polymer/v1_0/components/paper-slider/bower.json
+++ b/third_party/polymer/v1_0/components/paper-slider/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-slider",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "A material design-style slider",
"license": "http://polymer.github.io/LICENSE.txt",
"authors": "The Polymer Authors",
diff --git a/third_party/polymer/v1_0/components/paper-slider/paper-slider.css b/third_party/polymer/v1_0/components/paper-slider/paper-slider.css
index 0fd8682..af769f4 100644
--- a/third_party/polymer/v1_0/components/paper-slider/paper-slider.css
+++ b/third_party/polymer/v1_0/components/paper-slider/paper-slider.css
@@ -1,11 +1,11 @@
/**
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/
:host {
@@ -83,6 +83,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
width: 100%;
padding: 8px 0;
margin: -8px 0;
+ background-color: var(--paper-slider-bar-color, transparent);
}
.ring #sliderBar {
diff --git a/third_party/polymer/v1_0/components/paper-slider/paper-slider.html b/third_party/polymer/v1_0/components/paper-slider/paper-slider.html
index c51236f..beaed90 100644
--- a/third_party/polymer/v1_0/components/paper-slider/paper-slider.html
+++ b/third_party/polymer/v1_0/components/paper-slider/paper-slider.html
@@ -1,11 +1,11 @@
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<link rel="import" href="../polymer/polymer.html">
@@ -15,6 +15,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="../paper-behaviors/paper-inky-focus-behavior.html">
<link rel="import" href="../paper-ripple/paper-ripple.html">
<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html">
+<link rel="import" href="../iron-range-behavior/iron-range-behavior.html">
<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
<!--
@@ -33,49 +34,21 @@ Example:
<paper-slider min="10" max="200" value="110"></paper-slider>
-Styling slider:
+### Styling
-To change the slider progress bar color:
+The following custom properties and mixins are available for styling:
- paper-slider {
- --paper-slider-active-color: #0f9d58;
- }
-
-To change the slider knob color:
-
- paper-slider {
- --paper-slider-knob-color: #0f9d58;
- }
-
-To change the slider pin color:
-
- paper-slider {
- --paper-slider-pin-color: #0f9d58;
- }
-
-To change the slider pin's font color:
-
- paper-slider {
- --paper-slider-pin-font-color: #0f9d58;
- }
-
-To change the slider secondary progress bar color:
-
- paper-slider {
- --paper-slider-secondary-color: #0f9d58;
- }
-
-To change the slider disabled active color:
-
- paper-slider {
- --paper-slider-disabled-active-color: #ccc;
- }
-
-To change the slider disabled secondary progress bar color:
-
- paper-slider {
- --paper-slider-disabled-secondary-color: #ccc;
- }
+Custom property | Description | Default
+----------------|-------------|----------
+`--paper-slider-bar-color` | The background color of the slider | `transparent`
+`--paper-slider-active-color` | The progress bar color | `--google-blue-700`
+`--paper-slider-secondary-color` | The secondary progress bar color | `--google-blue-300`
+`--paper-slider-knob-color` | The knob color | `--google-blue-700`
+`--paper-slider-disabled-knob-color` | The disabled knob color | `--google-grey-500`
+`--paper-slider-pin-color` | The pin color | `--google-blue-700`
+`--paper-slider-font-color` | The pin's text color | `#fff`
+`--paper-slider-disabled-active-color` | The disabled progress bar color | `--google-grey-500`
+`--paper-slider-disabled-secondary-color` | The disabled secondary progress bar color | `--google-grey-300`
@group Paper Elements
@element paper-slider
@@ -120,7 +93,7 @@ To change the slider disabled secondary progress bar color:
on-up="_resetKnob"
on-track="_onTrack"
on-transitionend="_knobTransitionEnd">
- <paper-ripple id="ink" class="circle" center></paper-ripple>
+ <paper-ripple id="ink" class="circle" center hidden$="[[!receivedFocusFromKeyboard]]"></paper-ripple>
<div id="sliderKnobInner" value$="[[immediateValue]]"></div>
</div>
</div>
@@ -138,38 +111,19 @@ To change the slider disabled secondary progress bar color:
</dom-module>
<script>
- /**
- * Fired when the slider's value changes.
- *
- * @event value-change
- */
-
- /**
- * Fired when the slider's immediateValue changes.
- *
- * @event immediate-value-change
- */
-
- /**
- * Fired when the slider's value changes due to user interaction.
- *
- * Changes to the slider's value due to changes in an underlying
- * bound variable will not trigger this event.
- *
- * @event change
- */
Polymer({
is: 'paper-slider',
behaviors: [
- Polymer.IronRangeBehavior,
Polymer.IronA11yKeysBehavior,
+ Polymer.PaperInkyFocusBehavior,
Polymer.IronFormElementBehavior,
- Polymer.PaperInkyFocusBehavior
+ Polymer.IronRangeBehavior
],
properties: {
+
/**
* If true, the slider thumb snaps to tick marks evenly spaced based
* on the `step` property value.
@@ -280,7 +234,6 @@ To change the slider disabled secondary progress bar color:
ready: function() {
// issue polymer/polymer#1305
-
this.async(function() {
this._updateKnob(this.value);
this._updateInputValue();
@@ -340,14 +293,12 @@ To change the slider disabled secondary progress bar color:
},
_expandKnob: function() {
- this.$.ink.holdDown = false;
this._setExpand(true);
},
_resetKnob: function() {
this.cancelDebouncer('expandKnob');
this._setExpand(false);
- this.$.ink.hidden = true;
},
_positionKnob: function(ratio) {
@@ -431,10 +382,6 @@ To change the slider disabled secondary progress bar color:
},
_bardown: function(event) {
- this.$.ink.hidden = true;
-
- event.preventDefault();
-
this._w = this.$.sliderBar.offsetWidth;
var rect = this.$.sliderBar.getBoundingClientRect();
var ratio = (event.detail.x - rect.left) / this._w;
@@ -512,5 +459,27 @@ To change the slider disabled secondary progress bar color:
}
this.fire('change');
}
- })
+ });
+
+ /**
+ * Fired when the slider's value changes.
+ *
+ * @event value-change
+ */
+
+ /**
+ * Fired when the slider's immediateValue changes.
+ *
+ * @event immediate-value-change
+ */
+
+ /**
+ * Fired when the slider's value changes due to user interaction.
+ *
+ * Changes to the slider's value due to changes in an underlying
+ * bound variable will not trigger this event.
+ *
+ * @event change
+ */
+
</script>
diff --git a/third_party/polymer/v1_0/components/paper-spinner/.bower.json b/third_party/polymer/v1_0/components/paper-spinner/.bower.json
index 1787b05..b8fd0a6 100644
--- a/third_party/polymer/v1_0/components/paper-spinner/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-spinner/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-spinner",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material design spinner",
"authors": [
"The Polymer Authors"
@@ -30,13 +30,13 @@
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.1",
+ "_release": "1.0.2",
"_resolution": {
"type": "version",
- "tag": "v1.0.1",
- "commit": "5e2b7412922259c9eed1805d69abb18e433efaad"
+ "tag": "v1.0.2",
+ "commit": "18bda194750ace719102d54c17ae1c6ce4a6793e"
},
"_source": "git://github.com/PolymerElements/paper-spinner.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-spinner"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-spinner/bower.json b/third_party/polymer/v1_0/components/paper-spinner/bower.json
index d27e049..a8c31cf 100644
--- a/third_party/polymer/v1_0/components/paper-spinner/bower.json
+++ b/third_party/polymer/v1_0/components/paper-spinner/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-spinner",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A material design spinner",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.css b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.css
index 30c4e7e..d295c3f 100644
--- a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.css
+++ b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.css
@@ -26,7 +26,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
* SHRINK_TIME = 400ms
*/
- :host {
+:host {
display: inline-block;
position: relative;
width: 28px; /* CONTAINERWIDTH */
@@ -36,6 +36,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
#spinnerContainer {
width: 100%;
height: 100%;
+
+ /* The spinner does not have any contents that would have to be
+ * flipped if the direction changes. Always use ltr so that the
+ * style works out correctly in both cases. */
+ direction: ltr;
}
#spinnerContainer.active {
diff --git a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
index b5503cc..5a1f9ed 100644
--- a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
+++ b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
@@ -99,123 +99,101 @@ Custom property | Description | Default
<script>
- (function() {
-
- 'use strict';
-
- function classNames(obj) {
- var classNames = [];
- for (var key in obj) {
- if (obj.hasOwnProperty(key) && obj[key]) {
- classNames.push(key);
- }
- }
-
- return classNames.join(' ');
- }
-
- Polymer({
-
- is: 'paper-spinner',
-
- listeners: {
- 'animationend': 'reset',
- 'webkitAnimationEnd': 'reset'
+ Polymer({
+
+ is: 'paper-spinner',
+
+ listeners: {
+ 'animationend': 'reset',
+ 'webkitAnimationEnd': 'reset'
+ },
+
+ properties: {
+
+ /**
+ * Displays the spinner.
+ *
+ * @attribute active
+ * @type boolean
+ * @default false
+ */
+ active: {
+ type: Boolean,
+ value: false,
+ reflectToAttribute: true,
+ observer: '_activeChanged'
},
- properties: {
-
- /**
- * Displays the spinner.
- *
- * @attribute active
- * @type boolean
- * @default false
- */
- active: {
- observer: '_activeChanged',
- type: Boolean,
- value: false
- },
-
- /**
- * Alternative text content for accessibility support.
- * If alt is present, it will add an aria-label whose content matches alt when active.
- * If alt is not present, it will default to 'loading' as the alt value.
- *
- * @attribute alt
- * @type string
- * @default 'loading'
- */
- alt: {
- observer: '_altChanged',
- type: String,
- value: 'loading'
- },
-
- /**
- * True when the spinner is going from active to inactive. This is represented by a fade
- * to 0% opacity to the user.
- */
- _coolingDown: {
- type: Boolean,
- value: false
- },
-
- _spinnerContainerClassName: {
- type: String,
- computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
- }
-
+ /**
+ * Alternative text content for accessibility support.
+ * If alt is present, it will add an aria-label whose content matches alt when active.
+ * If alt is not present, it will default to 'loading' as the alt value.
+ *
+ * @attribute alt
+ * @type string
+ * @default 'loading'
+ */
+ alt: {
+ type: String,
+ value: 'loading',
+ observer: '_altChanged'
},
- _computeSpinnerContainerClassName: function(active, _coolingDown) {
- return classNames({
- active: active || _coolingDown,
- cooldown: _coolingDown
- });
+ /**
+ * True when the spinner is going from active to inactive. This is represented by a fade
+ * to 0% opacity to the user.
+ */
+ _coolingDown: {
+ type: Boolean,
+ value: false
},
- ready: function() {
- // Allow user-provided `aria-label` take preference to any other text alternative.
- if (this.hasAttribute('aria-label')) {
- this.alt = this.getAttribute('aria-label');
- } else {
- this.setAttribute('aria-label', this.alt);
- }
-
- if (!this.active) {
- this.setAttribute('aria-hidden', 'true');
- }
- },
-
- _activeChanged: function() {
- if (this.active) {
- this.removeAttribute('aria-hidden');
- } else {
- this._coolingDown = true;
- this.setAttribute('aria-hidden', 'true');
- }
- },
+ _spinnerContainerClassName: {
+ type: String,
+ computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
+ }
- _altChanged: function() {
- if (this.alt === '') {
- this.setAttribute('aria-hidden', 'true');
- } else {
- this.removeAttribute('aria-hidden');
- }
+ },
- this.setAttribute('aria-label', this.alt);
- },
+ _computeSpinnerContainerClassName: function(active, coolingDown) {
+ return [
+ active || coolingDown ? 'active' : '',
+ coolingDown ? 'cooldown' : ''
+ ].join(' ');
+ },
- reset: function() {
- this.active = false;
- this._coolingDown = false;
+ _activeChanged: function(active, old) {
+ this._setAriaHidden(!active);
+ if (!active && old) {
+ this._coolingDown = true;
+ }
+ },
+
+ _altChanged: function(alt) {
+ // user-provided `aria-label` takes precedence over prototype default
+ if (alt === this.getPropertyInfo('alt').value) {
+ this.alt = this.getAttribute('aria-label') || alt;
+ } else {
+ this._setAriaHidden(alt==='');
+ this.setAttribute('aria-label', alt);
}
+ },
+
+ _setAriaHidden: function(hidden) {
+ var attr = 'aria-hidden';
+ if (hidden) {
+ this.setAttribute(attr, 'true');
+ } else {
+ this.removeAttribute(attr);
+ }
+ },
- });
+ reset: function() {
+ this.active = false;
+ this._coolingDown = false;
+ }
- }());
+ });
</script>
diff --git a/third_party/polymer/v1_0/components/paper-styles/.bower.json b/third_party/polymer/v1_0/components/paper-styles/.bower.json
index 8de16cb..7765e26 100644
--- a/third_party/polymer/v1_0/components/paper-styles/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-styles/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-styles",
- "version": "1.0.4",
+ "version": "1.0.10",
"description": "Common (global) styles for Material Design elements.",
"authors": [
"The Polymer Authors"
@@ -10,25 +10,29 @@
"polymer",
"style"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-styles.git"
+ },
"main": "paper-styles.html",
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/polymerelements/paper-styles/",
"ignore": [
- "/.*",
- "/demo/"
+ "/.*"
],
"dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
+ "font-roboto": "PolymerElements/font-roboto#^1.0.1",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.4",
+ "_release": "1.0.10",
"_resolution": {
"type": "version",
- "tag": "v1.0.4",
- "commit": "d23af125cb74978532c25e5cd152f9b2e6d991c8"
+ "tag": "v1.0.10",
+ "commit": "f1a79cd7916f7870a59918911062007bbc07867e"
},
"_source": "git://github.com/PolymerElements/paper-styles.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components/paper-styles/bower.json b/third_party/polymer/v1_0/components/paper-styles/bower.json
index 930947d..4f7e0ed 100644
--- a/third_party/polymer/v1_0/components/paper-styles/bower.json
+++ b/third_party/polymer/v1_0/components/paper-styles/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-styles",
- "version": "1.0.4",
+ "version": "1.0.10",
"description": "Common (global) styles for Material Design elements.",
"authors": [
"The Polymer Authors"
@@ -10,15 +10,19 @@
"polymer",
"style"
],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-styles.git"
+ },
"main": "paper-styles.html",
"license": "http://polymer.github.io/LICENSE.txt",
"homepage": "https://github.com/polymerelements/paper-styles/",
"ignore": [
- "/.*",
- "/demo/"
+ "/.*"
],
"dependencies": {
- "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
+ "font-roboto": "PolymerElements/font-roboto#^1.0.1",
"polymer": "Polymer/polymer#^1.0.0"
},
"devDependencies": {
diff --git a/third_party/polymer/v1_0/components/paper-styles/classes/shadow.html b/third_party/polymer/v1_0/components/paper-styles/classes/shadow.html
index b4c340d..4c40a14 100644
--- a/third_party/polymer/v1_0/components/paper-styles/classes/shadow.html
+++ b/third_party/polymer/v1_0/components/paper-styles/classes/shadow.html
@@ -13,27 +13,40 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
-.shadow-elevation-1 {
- box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
+.shadow-elevation-2dp {
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 5px 0 rgba(0, 0, 0, 0.12),
+ 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}
-.shadow-elevation-2 {
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2),
- 0 6px 10px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-3dp {
+ box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 8px 0 rgba(0, 0, 0, 0.12),
+ 0 3px 3px -2px rgba(0, 0, 0, 0.4);
}
-.shadow-elevation-3 {
- box-shadow: 0 11px 7px 0 rgba(0, 0, 0, 0.19),
- 0 13px 25px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-4dp {
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 10px 0 rgba(0, 0, 0, 0.12),
+ 0 2px 4px -1px rgba(0, 0, 0, 0.4);
}
-.shadow-elevation-4 {
- box-shadow: 0 14px 12px 0 rgba(0, 0, 0, 0.17),
- 0 20px 40px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-6dp {
+ box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14),
+ 0 1px 18px 0 rgba(0, 0, 0, 0.12),
+ 0 3px 5px -1px rgba(0, 0, 0, 0.4);
}
-.shadow-elevation-5 {
- box-shadow: 0 17px 17px 0 rgba(0, 0, 0, 0.15),
- 0 27px 55px 0 rgba(0, 0, 0, 0.3);
+.shadow-elevation-8dp {
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14),
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12),
+ 0 5px 5px -3px rgba(0, 0, 0, 0.4);
}
+
+.shadow-elevation-16dp {
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14),
+ 0 6px 30px 5px rgba(0, 0, 0, 0.12),
+ 0 8px 10px -5px rgba(0, 0, 0, 0.4);
+}
+
</style>
diff --git a/third_party/polymer/v1_0/components/paper-styles/classes/typography.html b/third_party/polymer/v1_0/components/paper-styles/classes/typography.html
index 5514abb..14e2744 100644
--- a/third_party/polymer/v1_0/components/paper-styles/classes/typography.html
+++ b/third_party/polymer/v1_0/components/paper-styles/classes/typography.html
@@ -7,9 +7,7 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
-<!-- TODO(nevir): Should we upgrade Polymer/font-roboto to the final font? -->
-<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
-<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Inconsolata:400,700">
+<link rel="import" href="../../font-roboto/roboto.html">
<!--
Typographic styles are provided matching the Material Design standard styles:
@@ -44,7 +42,7 @@ Design typography section.
.paper-font-code2,
.paper-font-code1 {
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased; /* OS X subpixel AA bleed bug */
}
diff --git a/third_party/polymer/v1_0/components/paper-styles/shadow.html b/third_party/polymer/v1_0/components/paper-styles/shadow.html
index 7339d8e..dfb7e8a 100644
--- a/third_party/polymer/v1_0/components/paper-styles/shadow.html
+++ b/third_party/polymer/v1_0/components/paper-styles/shadow.html
@@ -18,6 +18,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
};
+ --shadow-none: {
+ box-shadow: none;
+ };
+
/* from http://codepen.io/shyndman/pen/c5394ddf2e8b2a5c9185904b57421cdb */
--shadow-elevation-2dp: {
diff --git a/third_party/polymer/v1_0/components/paper-styles/typography.html b/third_party/polymer/v1_0/components/paper-styles/typography.html
index a37cd34..ce78602 100644
--- a/third_party/polymer/v1_0/components/paper-styles/typography.html
+++ b/third_party/polymer/v1_0/components/paper-styles/typography.html
@@ -7,10 +7,9 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
-<!-- TODO(nevir): Should we upgrade Polymer/font-roboto to the final font? -->
-<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../font-roboto/roboto.html">
<style is="custom-style">
@@ -19,16 +18,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/* Shared Styles */
/*
- Unfortunately, we can't make use of these yet - sibling properties aren't
- evaluated. See https://github.com/Polymer/polymer/issues/1399
-
+ Unfortunately, we can't use nested rules
+ See https://github.com/Polymer/polymer/issues/1399
+ */
--paper-font-common-base: {
font-family: 'Roboto', 'Noto', sans-serif;
-webkit-font-smoothing: antialiased;
};
--paper-font-common-code: {
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased;
};
@@ -41,7 +40,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
overflow: hidden;
text-overflow: ellipsis;
};
- */
/* Material Font Styles */
@@ -217,7 +215,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
--paper-font-code2: {
/* @apply(--paper-font-common-code); */
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased;
font-size: 14px;
@@ -227,7 +225,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
--paper-font-code1: {
/* @apply(--paper-font-common-code); */
- font-family: 'Inconsolata', 'Consolas', 'Source Code Pro', 'Monaco', 'Menlo', monospace;
+ font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace;
-webkit-font-smoothing: antialiased;
font-size: 14px;
diff --git a/third_party/polymer/v1_0/components/paper-tabs/.bower.json b/third_party/polymer/v1_0/components/paper-tabs/.bower.json
index 0b9b4e2..e66eb61 100644
--- a/third_party/polymer/v1_0/components/paper-tabs/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-tabs/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-tabs",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Material design tabs",
"private": true,
@@ -14,7 +14,10 @@
"tabs",
"control"
],
- "repository": "https://github.com/PolymerElements/paper-tabs.git",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-tabs.git"
+ },
"dependencies": {
"iron-behaviors": "polymerelements/iron-behaviors#^1.0.0",
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
@@ -35,13 +38,13 @@
"web-component-tester": "*"
},
"homepage": "https://github.com/PolymerElements/paper-tabs",
- "_release": "1.0.0",
+ "_release": "1.0.1",
"_resolution": {
"type": "version",
- "tag": "v1.0.0",
- "commit": "af6820e55f73fc5aa8c8e4d5294085e46374c7ca"
+ "tag": "v1.0.1",
+ "commit": "6403be53eeef5f9e7a7a7ccd9251f551d26c7548"
},
"_source": "git://github.com/PolymerElements/paper-tabs.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-tabs"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-tabs/bower.json b/third_party/polymer/v1_0/components/paper-tabs/bower.json
index cff76e9..1908f29 100644
--- a/third_party/polymer/v1_0/components/paper-tabs/bower.json
+++ b/third_party/polymer/v1_0/components/paper-tabs/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-tabs",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "Material design tabs",
"private": true,
@@ -14,7 +14,10 @@
"tabs",
"control"
],
- "repository": "https://github.com/PolymerElements/paper-tabs.git",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-tabs.git"
+ },
"dependencies": {
"iron-behaviors": "polymerelements/iron-behaviors#^1.0.0",
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
diff --git a/third_party/polymer/v1_0/components/paper-tabs/paper-tabs.html b/third_party/polymer/v1_0/components/paper-tabs/paper-tabs.html
index ca648df..dbb0683 100644
--- a/third_party/polymer/v1_0/components/paper-tabs/paper-tabs.html
+++ b/third_party/polymer/v1_0/components/paper-tabs/paper-tabs.html
@@ -458,6 +458,9 @@ Custom property | Description | Default
},
_positionBar: function(width, left) {
+ width = width || 0;
+ left = left || 0;
+
this._width = width;
this._left = left;
this.transform(
diff --git a/third_party/polymer/v1_0/components/paper-toast/.bower.json b/third_party/polymer/v1_0/components/paper-toast/.bower.json
deleted file mode 100644
index 3c32c49d..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/.bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "paper-toast",
- "version": "1.0.0",
- "description": "A material design notification toast",
- "private": true,
- "license": "http://polymer.github.io/LICENSE.txt",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "toast",
- "notification"
- ],
- "main": "paper-toast.html",
- "dependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0",
- "iron-a11y-announcer": "polymerelements/iron-a11y-announcer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- },
- "homepage": "https://github.com/PolymerElements/paper-toast",
- "_release": "1.0.0",
- "_resolution": {
- "type": "version",
- "tag": "v1.0.0",
- "commit": "71e6c327f7aafe9c71010c83d4c4571f63990072"
- },
- "_source": "git://github.com/PolymerElements/paper-toast.git",
- "_target": "^1.0.0",
- "_originalSource": "PolymerElements/paper-toast"
-} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-toast/.gitignore b/third_party/polymer/v1_0/components/paper-toast/.gitignore
deleted file mode 100644
index 8d4ae25..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bower_components
diff --git a/third_party/polymer/v1_0/components/paper-toast/README.md b/third_party/polymer/v1_0/components/paper-toast/README.md
deleted file mode 100644
index 722ec35..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-paper-toast
-============
-
-A material design notification toast.
diff --git a/third_party/polymer/v1_0/components/paper-toast/bower.json b/third_party/polymer/v1_0/components/paper-toast/bower.json
deleted file mode 100644
index a4fd51a..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/bower.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "paper-toast",
- "version": "1.0.0",
- "description": "A material design notification toast",
- "private": true,
- "license": "http://polymer.github.io/LICENSE.txt",
- "authors": [
- "The Polymer Authors"
- ],
- "keywords": [
- "web-components",
- "polymer",
- "toast",
- "notification"
- ],
- "main": "paper-toast.html",
- "dependencies": {
- "paper-styles": "PolymerElements/paper-styles#^1.0.0",
- "polymer": "Polymer/polymer#^1.0.0",
- "iron-a11y-announcer": "polymerelements/iron-a11y-announcer#^1.0.0"
- },
- "devDependencies": {
- "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
- "paper-button": "polymerelements/paper-button#^1.0.0",
- "web-component-tester": "*",
- "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
- }
-}
diff --git a/third_party/polymer/v1_0/components/paper-toast/hero.svg b/third_party/polymer/v1_0/components/paper-toast/hero.svg
deleted file mode 100644
index bfdc180..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/hero.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
-<g id="background" display="none">
- <rect display="inline" fill="#B0BEC5" width="225" height="126"/>
-</g>
-<g id="label">
-</g>
-<g id="art">
- <path d="M164,114H13V88h151V114z M15,112h147V90H15V112z"/>
- <rect x="26" y="100" width="79" height="2"/>
- <rect x="135" y="100" width="16" height="2"/>
- <g id="ic_x5F_add_x0D_">
- </g>
-</g>
-<g id="Guides">
-</g>
-</svg>
diff --git a/third_party/polymer/v1_0/components/paper-toast/index.html b/third_party/polymer/v1_0/components/paper-toast/index.html
deleted file mode 100644
index e871f17..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
-The complete set of authors may be found at http://polymer.github.io/AUTHORS
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
--->
-<html>
-<head>
-
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <script src="../webcomponentsjs/webcomponents-lite.js"></script>
- <link rel="import" href="../iron-component-page/iron-component-page.html">
-
-</head>
-<body>
-
- <iron-component-page></iron-component-page>
-
-</body>
-</html>
diff --git a/third_party/polymer/v1_0/components/paper-toast/paper-toast.html b/third_party/polymer/v1_0/components/paper-toast/paper-toast.html
deleted file mode 100644
index 5afdae3..0000000
--- a/third_party/polymer/v1_0/components/paper-toast/paper-toast.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<link rel="import" href="../polymer/polymer.html">
-<link rel="import" href="../paper-styles/typography.html">
-<link rel="import" href="../iron-a11y-announcer/iron-a11y-announcer.html">
-
-<!--
-`paper-toast` provides a subtle notification toast.
-
-@group Paper Elements
-@element paper-toast
-@demo demo/index.html
-@hero hero.svg
--->
-<dom-module id="paper-toast">
- <style>
- :host {
- display: inline-block;
- position: fixed;
-
- background: #323232;
- color: #f1f1f1;
- min-height: 48px;
- min-width: 288px;
- padding: 16px 24px 12px;
- box-sizing: border-box;
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
- border-radius: 2px;
- bottom: 12px;
- left: 12px;
- font-size: 14px;
- cursor: default;
-
- -webkit-transition: visibility 0.3s, -webkit-transform 0.3s;
- transition: visibility 0.3s, transform 0.3s;
-
- -webkit-transform: translateY(100px);
- transform: translateY(100px);
-
- visibility: hidden;
- }
-
- :host(.capsule) {
- border-radius: 24px;
- }
-
- :host(.fit-bottom) {
- bottom: 0;
- left: 0;
- width: 100%;
- min-width: 0;
- border-radius: 0;
- }
-
- :host(.paper-toast-open){
- visibility: visible;
-
- -webkit-transform: translateY(0px);
- transform: translateY(0px);
- }
- </style>
- <template>
- <span id="label">{{text}}</span>
- <content></content>
- </template>
-</dom-module>
-<script>
-(function() {
-
- var PaperToast = Polymer({
- is: 'paper-toast',
-
- properties: {
- /**
- * The duration in milliseconds to show the toast.
- */
- duration: {
- type: Number,
- value: 3000
- },
-
- /**
- * The text to display in the toast.
- */
- text: {
- type: String,
- value: ""
- },
-
- /**
- * True if the toast is currently visible.
- */
- visible: {
- type: Boolean,
- readOnly: true,
- value: false,
- observer: '_visibleChanged'
- }
- },
-
- created: function() {
- Polymer.IronA11yAnnouncer.requestAvailability();
- },
-
- ready: function() {
- this.async(function() {
- this.hide();
- });
- },
-
- /**
- * Show the toast.
- * @method show
- */
- show: function() {
- if (PaperToast.currentToast) {
- PaperToast.currentToast.hide();
- }
- PaperToast.currentToast = this;
- this.removeAttribute('aria-hidden');
- this._setVisible(true);
- this.fire('iron-announce', {
- text: this.text
- });
- this.debounce('hide', this.hide, this.duration);
- },
-
- /**
- * Hide the toast
- */
- hide: function() {
- this.setAttribute('aria-hidden', 'true');
- this._setVisible(false);
- },
-
- /**
- * Toggle the opened state of the toast.
- * @method toggle
- */
- toggle: function() {
- if (!this.visible) {
- this.show();
- } else {
- this.hide();
- }
- },
-
- _visibleChanged: function(visible) {
- this.toggleClass('paper-toast-open', visible);
- }
- });
-
- PaperToast.currentToast = null;
-
-})();
-</script>
diff --git a/third_party/polymer/v1_0/components/paper-toggle-button/.bower.json b/third_party/polymer/v1_0/components/paper-toggle-button/.bower.json
index db09a19..5c832b2 100644
--- a/third_party/polymer/v1_0/components/paper-toggle-button/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-toggle-button/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toggle-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design toggle button control",
"authors": [
"The Polymer Authors"
@@ -33,13 +33,13 @@
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "_release": "1.0.3",
+ "_release": "1.0.5",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "34235a35f65be5efadc8fc5c6f6e5dee0fbb6c52"
+ "tag": "v1.0.5",
+ "commit": "9891ee6a4af756b198290c14137498f78d97593d"
},
"_source": "git://github.com/PolymerElements/paper-toggle-button.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-toggle-button"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-toggle-button/bower.json b/third_party/polymer/v1_0/components/paper-toggle-button/bower.json
index 2a80170..73e21c1 100644
--- a/third_party/polymer/v1_0/components/paper-toggle-button/bower.json
+++ b/third_party/polymer/v1_0/components/paper-toggle-button/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toggle-button",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "A material design toggle button control",
"authors": [
"The Polymer Authors"
diff --git a/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.css b/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.css
index bdadd9d..ad3a6b5 100644
--- a/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.css
+++ b/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.css
@@ -105,4 +105,5 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
width: 48px;
height: 48px;
opacity: 0.5;
+ pointer-events: none;
}
diff --git a/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.html b/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.html
index a531907..4d2f9c2 100644
--- a/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.html
+++ b/third_party/polymer/v1_0/components/paper-toggle-button/paper-toggle-button.html
@@ -9,6 +9,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
-->
<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../paper-styles/color.html">
+<link rel="import" href="../paper-styles/default-theme.html">
<link rel="import" href="../paper-ripple/paper-ripple.html">
<link rel="import" href="../paper-behaviors/paper-inky-focus-behavior.html">
diff --git a/third_party/polymer/v1_0/components/paper-toolbar/.bower.json b/third_party/polymer/v1_0/components/paper-toolbar/.bower.json
index de532ef..b334cc3 100644
--- a/third_party/polymer/v1_0/components/paper-toolbar/.bower.json
+++ b/third_party/polymer/v1_0/components/paper-toolbar/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toolbar",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design toolbar that is easily customizable",
"private": true,
@@ -33,13 +33,13 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/paper-toolbar",
- "_release": "1.0.2",
+ "_release": "1.0.4",
"_resolution": {
"type": "version",
- "tag": "v1.0.2",
- "commit": "402eb11da736a5ae19713748bfa04cd96f3f7a0c"
+ "tag": "v1.0.4",
+ "commit": "15096d1c9ee6cc547eaf078b431f3e07d0968367"
},
"_source": "git://github.com/PolymerElements/paper-toolbar.git",
- "_target": "^1.0.0",
+ "_target": "~1.0.0",
"_originalSource": "PolymerElements/paper-toolbar"
} \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-toolbar/README.md b/third_party/polymer/v1_0/components/paper-toolbar/README.md
index ef525f4..997c345 100644
--- a/third_party/polymer/v1_0/components/paper-toolbar/README.md
+++ b/third_party/polymer/v1_0/components/paper-toolbar/README.md
@@ -49,3 +49,12 @@ When `tall`, items can pin to either the top (default), middle or bottom. Use
For `medium-tall` toolbar, the middle and bottom contents overlap and are
pinned to the bottom. But `middleJustify` and `bottomJustify` attributes are
still honored separately.
+
+To make an element completely fit at the bottom of the toolbar, use `fit` along
+with `bottom`.
+
+```html
+<paper-toolbar class="tall">
+ <div id="progressBar" class="bottom fit"></div>
+</paper-toolbar>
+``` \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/paper-toolbar/bower.json b/third_party/polymer/v1_0/components/paper-toolbar/bower.json
index 26a02b6..fee8df5 100644
--- a/third_party/polymer/v1_0/components/paper-toolbar/bower.json
+++ b/third_party/polymer/v1_0/components/paper-toolbar/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-toolbar",
- "version": "1.0.2",
+ "version": "1.0.4",
"license": "http://polymer.github.io/LICENSE.txt",
"description": "A material design toolbar that is easily customizable",
"private": true,
diff --git a/third_party/polymer/v1_0/components/paper-toolbar/paper-toolbar.html b/third_party/polymer/v1_0/components/paper-toolbar/paper-toolbar.html
index 153305e..e3c7a03 100644
--- a/third_party/polymer/v1_0/components/paper-toolbar/paper-toolbar.html
+++ b/third_party/polymer/v1_0/components/paper-toolbar/paper-toolbar.html
@@ -52,6 +52,13 @@ For `medium-tall` toolbar, the middle and bottom contents overlap and are
pinned to the bottom. But `middleJustify` and `bottomJustify` attributes are
still honored separately.
+To make an element completely fit at the bottom of the toolbar, use `fit` along
+with `bottom`.
+
+ <paper-toolbar class="tall">
+ <div id="progressBar" class="bottom fit"></div>
+ </paper-toolbar>
+
### Styling
The following custom properties and mixins are available for styling:
@@ -206,6 +213,17 @@ be used as the label of the toolbar via `aria-labelledby`.
.toolbar-tools > ::content[select=".bottom"] paper-icon-button + .title {
margin-left: 0;
}
+
+ .toolbar-tools > ::content > .fit {
+ position: absolute;
+ top: auto;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ width: auto;
+ margin: 0;
+ }
+
</style>
<template>
@@ -342,9 +360,9 @@ be used as the label of the toolbar via `aria-labelledby`.
_computeBarClassName: function(barJustify) {
var classObj = {
- center: true,
- horizontal: true,
- layout: true,
+ 'center': true,
+ 'horizontal': true,
+ 'layout': true,
'toolbar-tools': true
};
diff --git a/third_party/polymer/v1_0/components/polymer-externs/.bower.json b/third_party/polymer/v1_0/components/polymer-externs/.bower.json
index 2ee5eab..509fba0 100644
--- a/third_party/polymer/v1_0/components/polymer-externs/.bower.json
+++ b/third_party/polymer/v1_0/components/polymer-externs/.bower.json
@@ -1,12 +1,12 @@
{
"name": "polymer-externs",
"homepage": "https://github.com/PolymerLabs/polymer-externs",
- "version": "1.0.3",
- "_release": "1.0.3",
+ "version": "1.0.7",
+ "_release": "1.0.7",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "a9ff08086ba7541111e2d16a7418030b3e5f4711"
+ "tag": "v1.0.7",
+ "commit": "122ad41fa686b680079bd02174fc650c3727772e"
},
"_source": "git://github.com/PolymerLabs/polymer-externs.git",
"_target": "~1.0.0",
diff --git a/third_party/polymer/v1_0/components/polymer-externs/polymer.externs.js b/third_party/polymer/v1_0/components/polymer-externs/polymer.externs.js
index 41008e3..c495e208 100644
--- a/third_party/polymer/v1_0/components/polymer-externs/polymer.externs.js
+++ b/third_party/polymer/v1_0/components/polymer-externs/polymer.externs.js
@@ -72,6 +72,8 @@ PolymerElement.prototype.observers;
PolymerElement.prototype.created = function() {};
/** On ready callback. */
PolymerElement.prototype.ready = function() {};
+/** On registered callback. */
+PolymerElement.prototype.registered = function() {};
/** On attached to the DOM callback. */
PolymerElement.prototype.attached = function() {};
/** On detached from the DOM callback. */
@@ -164,6 +166,82 @@ PolymerElement.prototype.set = function(path, value, root) {};
PolymerElement.prototype.get = function(path, root) {};
/**
+ * Adds items onto the end of the array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.push`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @param {...*} var_args Items to push onto array
+ * @return {number} New length of the array.
+ */
+PolymerElement.prototype.push = function(path, var_args) {};
+
+/**
+ * Removes an item from the end of array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.pop`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @return {*} Item that was removed.
+ */
+PolymerElement.prototype.pop = function(path) {};
+
+/**
+ * Starting from the start index specified, removes 0 or more items
+ * from the array and inserts 0 or more new itms in their place.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.splice`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @param {number} start Index from which to start removing/inserting.
+ * @param {number} deleteCount Number of items to remove.
+ * @param {...*} var_args Items to insert into array.
+ * @return {!Array} Array of removed items.
+ */
+PolymerElement.prototype.splice = function(path, start, deleteCount, var_args) {};
+
+/**
+ * Removes an item from the beginning of array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.pop`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @return {*} Item that was removed.
+ */
+PolymerElement.prototype.shift = function(path) {};
+
+/**
+ * Adds items onto the beginning of the array at the path specified.
+ *
+ * The arguments after `path` and return value match that of
+ * `Array.prototype.push`.
+ *
+ * This method notifies other paths to the same array that a
+ * splice occurred to the array.
+ *
+ * @param {string} path Path to array.
+ * @param {...*} var_args Items to insert info array
+ * @return {number} New length of the array.
+ */
+PolymerElement.prototype.unshift = function(path, var_args) {};
+
+/**
* Fire an event.
*
* @param {string} type An event name.
@@ -215,6 +293,14 @@ PolymerElement.prototype.attributeFollows = function(name, newNode, oldNode) {};
PolymerElement.prototype.listen = function(node, eventName, methodName) {};
/**
+ * Convenience method to remove an event listener from a given element.
+ * @param {!Element} node Element to remove event listener from.
+ * @param {string} eventName Name of event to stop listening for.
+ * @param {string} methodName Name of handler method on this to remove.
+ */
+PolymerElement.prototype.unlisten = function(node, eventName, methodName) {};
+
+/**
* Override scrolling behavior to all direction, one direction, or none.
*
* Valid scroll directions:
@@ -236,6 +322,11 @@ PolymerElement.prototype.setScrollDirection = function(direction, node) {};
*/
PolymerElement.prototype.async = function(method, wait) {};
+/**
+ * @param {...*} var_args
+ */
+PolymerElement.prototype.factoryImpl = function(var_args) {};
+
Polymer.Base;
/**
@@ -248,6 +339,18 @@ Polymer.Base;
Polymer.Base.async = function(method, wait) {};
/**
+ * Returns a property descriptor object for the property specified.
+ *
+ * This method allows introspecting the configuration of a Polymer element's
+ * properties as configured in its `properties` object. Note, this method
+ * normalizes shorthand forms of the `properties` object into longhand form.
+ *
+ * @param {string} property Name of property to introspect.
+ * @return {Object} Property descriptor for specified property.
+*/
+Polymer.Base.getPropertyInfo = function(property) {};
+
+/**
* @param {number} handle
*/
PolymerElement.prototype.cancelAsync = function(handle) {};
@@ -413,7 +516,7 @@ PolymerDomApi.prototype.querySelector = function(selector) {};
/**
* @param {string} selector
- * @return {!Array<?HTMLElement>}
+ * @return {!Array<!HTMLElement>}
*/
PolymerDomApi.prototype.querySelectorAll = function(selector) {};
@@ -441,6 +544,12 @@ PolymerDomApi.prototype.removeAttribute = function(attribute) {};
PolymerDomApi.prototype.classList;
/**
+ * @param {string} selector
+ * @return {!Array<!HTMLElement>}
+ */
+PolymerDomApi.prototype.queryDistributedElements = function(selector) {};
+
+/**
* A Polymer Event API.
*
* @constructor
@@ -485,6 +594,52 @@ Polymer.CaseMap.camelToDashCase = function(camel) {};
/**
+ * Settings pulled from
+ * https://github.com/Polymer/polymer/blob/master/src/lib/settings.html
+ */
+Polymer.Settings;
+
+/** @type {boolean} */
+Polymer.Settings.wantShadow;
+
+/** @type {boolean} */
+Polymer.Settings.hasShadow;
+
+/** @type {boolean} */
+Polymer.Settings.nativeShadow;
+
+/** @type {boolean} */
+Polymer.Settings.useShadow;
+
+/** @type {boolean} */
+Polymer.Settings.useNativeShadow;
+
+/** @type {boolean} */
+Polymer.Settings.useNativeImports;
+
+/** @type {boolean} */
+Polymer.Settings.useNativeCustomElements;
+
+
+/**
+ * @see https://github.com/Polymer/polymer/blob/master/src/lib/template/templatizer.html
+ * @polymerBehavior
+ */
+Polymer.Templatizer = {
+ /**
+ * @param {?Object} model
+ * @return {?Element}
+ */
+ stamp: function(model) {},
+
+ /**
+ * @param {?Element} template
+ */
+ templatize: function(template) {},
+};
+
+
+/**
* An Event type fired when moving while finger/button is down.
* state - a string indicating the tracking state:
* + start: fired when tracking is first detected (finger/button down and
diff --git a/third_party/polymer/v1_0/components/polymer/.bower.json b/third_party/polymer/v1_0/components/polymer/.bower.json
index 314686e..031b285 100644
--- a/third_party/polymer/v1_0/components/polymer/.bower.json
+++ b/third_party/polymer/v1_0/components/polymer/.bower.json
@@ -1,6 +1,6 @@
{
"name": "polymer",
- "version": "1.0.3",
+ "version": "1.0.7",
"main": [
"polymer.html"
],
@@ -24,11 +24,11 @@
},
"private": true,
"homepage": "https://github.com/Polymer/polymer",
- "_release": "1.0.3",
+ "_release": "1.0.7",
"_resolution": {
"type": "version",
- "tag": "v1.0.3",
- "commit": "336178d90e44ea7e01ec84155e83d037adf05a4c"
+ "tag": "v1.0.7",
+ "commit": "b39d0015ce5428232409eb3aca7ddefea899f894"
},
"_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.0.0",
diff --git a/third_party/polymer/v1_0/components/polymer/bower.json b/third_party/polymer/v1_0/components/polymer/bower.json
index 2cbb654..4618f2f 100644
--- a/third_party/polymer/v1_0/components/polymer/bower.json
+++ b/third_party/polymer/v1_0/components/polymer/bower.json
@@ -1,6 +1,6 @@
{
"name": "polymer",
- "version": "1.0.3",
+ "version": "1.0.7",
"main": [
"polymer.html"
],
diff --git a/third_party/polymer/v1_0/components/polymer/build.log b/third_party/polymer/v1_0/components/polymer/build.log
index b87b858..abccfe9 100644
--- a/third_party/polymer/v1_0/components/polymer/build.log
+++ b/third_party/polymer/v1_0/components/polymer/build.log
@@ -1,27 +1,30 @@
BUILD LOG
---------
-Build Time: 2015-06-04T20:19:11-0700
+Build Time: 2015-07-16T14:37:31-0700
NODEJS INFORMATION
==================
-nodejs: v2.0.2
+nodejs: v2.3.4
+del: 1.2.0
gulp: 3.9.0
gulp-audit: 1.0.0
+gulp-bump: 0.3.1
gulp-rename: 1.2.2
-gulp-vulcanize: 6.0.0
-lazypipe: 0.2.3
-polyclean: 1.2.0
-run-sequence: 1.1.0
-del: 1.2.0
gulp-replace: 0.5.3
-vulcanize: 1.8.1
+gulp-vulcanize: 6.0.1
+minimist: 1.1.1
+lazypipe: 0.2.4
+polyclean: 1.2.0
+run-sequence: 1.1.1
+semver: 4.3.6
+nodegit: 0.4.1
REPO REVISIONS
==============
-polymer: 0c73fc226b6b5ca308a851b334b1bdeda289195d
+polymer: 3d56eb0c97eb1ef90ec6942aca364d279377ff43
BUILD HASHES
============
-polymer-mini.html: 8173d099edaed570f4db95cd54317f49dc3183ae
-polymer-micro.html: afd2d239fc08ec69fa912a0fc7e73e8ce58e3f91
-polymer.html: 2094f18d71f5aec3321b1364575579e960b37cbc \ No newline at end of file
+polymer-mini.html: 2429dd9d7909014a82cca9f81b8df239fc5a0599
+polymer-micro.html: 924b916bacfafd1a166c10fce29eab24ebd02717
+polymer.html: dbb7a228a8facf071dea38e4db2415a9a6becfc0 \ No newline at end of file
diff --git a/third_party/polymer/v1_0/components/polymer/polymer-micro.html b/third_party/polymer/v1_0/components/polymer/polymer-micro.html
index 8e72da4..caad844 100644
--- a/third_party/polymer/v1_0/components/polymer/polymer-micro.html
+++ b/third_party/polymer/v1_0/components/polymer/polymer-micro.html
@@ -59,7 +59,11 @@ document.registerElement(prototype.is, options);
return ctor;
};
var desugar = function (prototype) {
-prototype = Polymer.Base.chainObject(prototype, Polymer.Base);
+var base = Polymer.Base;
+if (prototype.extends) {
+base = Polymer.Base._getExtendedPrototype(prototype.extends);
+}
+prototype = Polymer.Base.chainObject(prototype, base);
prototype.registerCallback();
return prototype.constructor;
};
@@ -92,6 +96,7 @@ return (document._currentScript || document.currentScript).ownerDocument;
}
});
Polymer.Base = {
+__isPolymerInstance__: true,
_addFeature: function (feature) {
this.extend(this, feature);
},
@@ -125,6 +130,12 @@ this.copyOwnProperty(n, api, prototype);
}
return prototype || api;
},
+mixin: function (target, source) {
+for (var i in source) {
+target[i] = source[i];
+}
+return target;
+},
copyOwnProperty: function (name, source, target) {
var pd = Object.getOwnPropertyDescriptor(source, name);
if (pd) {
@@ -155,6 +166,16 @@ object.__proto__ = inherited;
return object;
};
Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype);
+if (window.CustomElements) {
+Polymer.instanceof = CustomElements.instanceof;
+} else {
+Polymer.instanceof = function (obj, ctor) {
+return obj instanceof ctor;
+};
+}
+Polymer.isInstance = function (obj) {
+return Boolean(obj && obj.__isPolymerInstance__);
+};
Polymer.telemetry.instanceCount = 0;
(function () {
var modules = {};
@@ -283,11 +304,6 @@ this._marshalBehavior(this);
}
});
Polymer.Base._addFeature({
-_prepExtends: function () {
-if (this.extends) {
-this.__proto__ = this._getExtendedPrototype(this.extends);
-}
-},
_getExtendedPrototype: function (tag) {
return this._getExtendedNativePrototype(tag);
},
@@ -500,13 +516,12 @@ debouncer.stop();
}
}
});
-Polymer.version = '1.0.3';
+Polymer.version = '1.0.7';
Polymer.Base._addFeature({
_registerFeatures: function () {
this._prepIs();
this._prepAttributes();
this._prepBehaviors();
-this._prepExtends();
this._prepConstructor();
},
_prepBehavior: function (b) {
diff --git a/third_party/polymer/v1_0/components/polymer/polymer-mini.html b/third_party/polymer/v1_0/components/polymer/polymer-mini.html
index 533db50..de29af0 100644
--- a/third_party/polymer/v1_0/components/polymer/polymer-mini.html
+++ b/third_party/polymer/v1_0/components/polymer/polymer-mini.html
@@ -11,13 +11,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<script>Polymer.Base._addFeature({
_prepTemplate: function () {
this._template = this._template || Polymer.DomModule.import(this.is, 'template');
-if (!this._template) {
-var script = document._currentScript || document.currentScript;
-var prev = script && script.previousElementSibling;
-if (prev && prev.localName === 'template') {
-this._template = prev;
-}
-}
if (this._template && this._template.hasAttribute('is')) {
this._warn(this._logf('_prepTemplate', 'top-level Polymer template ' + 'must not be a type-extension, found', this._template, 'Move inside simple <template>.'));
}
@@ -433,6 +426,8 @@ var getInnerHTML = Polymer.domInnerHTML.getInnerHTML;
var nativeInsertBefore = Element.prototype.insertBefore;
var nativeRemoveChild = Element.prototype.removeChild;
var nativeAppendChild = Element.prototype.appendChild;
+var nativeCloneNode = Element.prototype.cloneNode;
+var nativeImportNode = Document.prototype.importNode;
var dirtyRoots = [];
var DomApi = function (node) {
this.node = node;
@@ -456,20 +451,17 @@ dirtyRoots.push(host);
}
},
appendChild: function (node) {
-var distributed;
-this._removeNodeFromHost(node);
+var handled;
+this._removeNodeFromHost(node, true);
if (this._nodeIsInLogicalTree(this.node)) {
-var host = this._hostForNode(this.node);
-this._addLogicalInfo(node, this.node, host && host.shadyRoot);
+this._addLogicalInfo(node, this.node);
this._addNodeToHost(node);
-if (host) {
-distributed = this._maybeDistribute(node, this.node, host);
-}
+handled = this._maybeDistribute(node, this.node);
}
-if (!distributed && !this._tryRemoveUndistributedNode(node)) {
+if (!handled && !this._tryRemoveUndistributedNode(node)) {
var container = this.node._isShadyRoot ? this.node.host : this.node;
-nativeAppendChild.call(container, node);
addToComposedParent(container, node);
+nativeAppendChild.call(container, node);
}
return node;
},
@@ -477,8 +469,8 @@ insertBefore: function (node, ref_node) {
if (!ref_node) {
return this.appendChild(node);
}
-var distributed;
-this._removeNodeFromHost(node);
+var handled;
+this._removeNodeFromHost(node, true);
if (this._nodeIsInLogicalTree(this.node)) {
saveLightChildrenIfNeeded(this.node);
var children = this.childNodes;
@@ -486,18 +478,15 @@ var index = children.indexOf(ref_node);
if (index < 0) {
throw Error('The ref_node to be inserted before is not a child ' + 'of this node');
}
-var host = this._hostForNode(this.node);
-this._addLogicalInfo(node, this.node, host && host.shadyRoot, index);
+this._addLogicalInfo(node, this.node, index);
this._addNodeToHost(node);
-if (host) {
-distributed = this._maybeDistribute(node, this.node, host);
+handled = this._maybeDistribute(node, this.node);
}
-}
-if (!distributed && !this._tryRemoveUndistributedNode(node)) {
+if (!handled && !this._tryRemoveUndistributedNode(node)) {
ref_node = ref_node.localName === CONTENT ? this._firstComposedNode(ref_node) : ref_node;
var container = this.node._isShadyRoot ? this.node.host : this.node;
-nativeInsertBefore.call(container, node, ref_node);
addToComposedParent(container, node, ref_node);
+nativeInsertBefore.call(container, node, ref_node);
}
return node;
},
@@ -505,17 +494,16 @@ removeChild: function (node) {
if (factory(node).parentNode !== this.node) {
console.warn('The node to be removed is not a child of this node', node);
}
-var distributed;
+var handled;
if (this._nodeIsInLogicalTree(this.node)) {
-var host = this._hostForNode(this.node);
-distributed = this._maybeDistribute(node, this.node, host);
this._removeNodeFromHost(node);
+handled = this._maybeDistribute(node, this.node);
}
-if (!distributed) {
+if (!handled) {
var container = this.node._isShadyRoot ? this.node.host : this.node;
if (container === node.parentNode) {
-nativeRemoveChild.call(container, node);
removeFromComposedParent(container, node);
+nativeRemoveChild.call(container, node);
}
}
return node;
@@ -548,21 +536,28 @@ node._ownerShadyRoot = root;
}
return node._ownerShadyRoot;
},
-_maybeDistribute: function (node, parent, host) {
-var nodeNeedsDistribute = this._nodeNeedsDistribution(node);
-var distribute = this._parentNeedsDistribution(parent) || nodeNeedsDistribute;
-if (nodeNeedsDistribute) {
+_maybeDistribute: function (node, parent) {
+var fragContent = node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !node.__noContent && Polymer.dom(node).querySelector(CONTENT);
+var wrappedContent = fragContent && Polymer.dom(fragContent).parentNode.nodeType !== Node.DOCUMENT_FRAGMENT_NODE;
+var hasContent = fragContent || node.localName === CONTENT;
+if (hasContent) {
+var root = this._ownerShadyRootForNode(parent);
+if (root) {
+var host = root.host;
this._updateInsertionPoints(host);
-}
-if (distribute) {
this._lazyDistribute(host);
}
-return distribute;
+}
+var parentNeedsDist = this._parentNeedsDistribution(parent);
+if (parentNeedsDist) {
+this._lazyDistribute(parent);
+}
+return parentNeedsDist || hasContent && !wrappedContent;
},
_tryRemoveUndistributedNode: function (node) {
if (this.node.shadyRoot) {
-if (node.parentNode) {
-nativeRemoveChild.call(node.parentNode, node);
+if (node._composedParent) {
+nativeRemoveChild.call(node._composedParent, node);
}
return true;
}
@@ -571,27 +566,58 @@ _updateInsertionPoints: function (host) {
host.shadyRoot._insertionPoints = factory(host.shadyRoot).querySelectorAll(CONTENT);
},
_nodeIsInLogicalTree: function (node) {
-return Boolean(node._lightParent || node._isShadyRoot || this._ownerShadyRootForNode(node) || node.shadyRoot);
-},
-_hostForNode: function (node) {
-var root = node.shadyRoot || (node._isShadyRoot ? node : this._ownerShadyRootForNode(node));
-return root && root.host;
+return Boolean(node._lightParent !== undefined || node._isShadyRoot || this._ownerShadyRootForNode(node) || node.shadyRoot);
},
_parentNeedsDistribution: function (parent) {
return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot);
},
-_nodeNeedsDistribution: function (node) {
-return node.localName === CONTENT || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && node.querySelector(CONTENT);
-},
-_removeNodeFromHost: function (node) {
-if (node._lightParent) {
-var root = this._ownerShadyRootForNode(node);
+_removeNodeFromHost: function (node, ensureComposedRemoval) {
+var hostNeedsDist;
+var root;
+var parent = node._lightParent;
+if (parent) {
+root = this._ownerShadyRootForNode(node);
if (root) {
root.host._elementRemove(node);
+hostNeedsDist = this._removeDistributedChildren(root, node);
}
this._removeLogicalInfo(node, node._lightParent);
}
this._removeOwnerShadyRoot(node);
+if (root && hostNeedsDist) {
+this._updateInsertionPoints(root.host);
+this._lazyDistribute(root.host);
+} else if (ensureComposedRemoval) {
+removeFromComposedParent(parent || node.parentNode, node);
+}
+},
+_removeDistributedChildren: function (root, container) {
+var hostNeedsDist;
+var ip$ = root._insertionPoints;
+for (var i = 0; i < ip$.length; i++) {
+var content = ip$[i];
+if (this._contains(container, content)) {
+var dc$ = factory(content).getDistributedNodes();
+for (var j = 0; j < dc$.length; j++) {
+hostNeedsDist = true;
+var node = dc$[j];
+var parent = node.parentNode;
+if (parent) {
+removeFromComposedParent(parent, node);
+nativeRemoveChild.call(parent, node);
+}
+}
+}
+}
+return hostNeedsDist;
+},
+_contains: function (container, node) {
+while (node) {
+if (node == container) {
+return true;
+}
+node = factory(node).parentNode;
+}
},
_addNodeToHost: function (node) {
var checkNode = node.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? node.firstChild : node;
@@ -600,7 +626,7 @@ if (root) {
root.host._elementAdd(node);
}
},
-_addLogicalInfo: function (node, container, root, index) {
+_addLogicalInfo: function (node, container, index) {
saveLightChildrenIfNeeded(container);
var children = factory(container).childNodes;
index = index === undefined ? children.length : index;
@@ -713,6 +739,31 @@ _distributeParent: function () {
if (this._parentNeedsDistribution(this.parentNode)) {
this._lazyDistribute(this.parentNode);
}
+},
+cloneNode: function (deep) {
+var n = nativeCloneNode.call(this.node, false);
+if (deep) {
+var c$ = this.childNodes;
+var d = factory(n);
+for (var i = 0, nc; i < c$.length; i++) {
+nc = factory(c$[i]).cloneNode(true);
+d.appendChild(nc);
+}
+}
+return n;
+},
+importNode: function (externalNode, deep) {
+var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
+var n = nativeImportNode.call(doc, externalNode, false);
+if (deep) {
+var c$ = factory(externalNode).childNodes;
+var d = factory(n);
+for (var i = 0, nc; i < c$.length; i++) {
+nc = factory(doc).importNode(c$[i], true);
+d.appendChild(nc);
+}
+}
+return n;
}
};
Object.defineProperty(DomApi.prototype, 'classList', {
@@ -740,6 +791,9 @@ this.domApi._distributeParent();
toggle: function () {
this.node.classList.toggle.apply(this.node.classList, arguments);
this.domApi._distributeParent();
+},
+contains: function () {
+return this.node.classList.contains.apply(this.node.classList, arguments);
}
};
if (!Settings.useShadow) {
@@ -858,8 +912,9 @@ if (this.node.nodeType !== Node.TEXT_NODE) {
this._clear();
var d = document.createElement('div');
d.innerHTML = text;
-for (var e = d.firstChild; e; e = e.nextSibling) {
-this.appendChild(e);
+var c$ = Array.prototype.slice.call(d.childNodes);
+for (var i = 0; i < c$.length; i++) {
+this.appendChild(c$[i]);
}
}
},
@@ -882,12 +937,19 @@ return n;
n = n.parentNode;
}
};
+DomApi.prototype.cloneNode = function (deep) {
+return this.node.cloneNode(deep);
+};
+DomApi.prototype.importNode = function (externalNode, deep) {
+var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
+return doc.importNode(externalNode, deep);
+};
DomApi.prototype.getDestinationInsertionPoints = function () {
-var n$ = this.node.getDestinationInsertionPoints();
+var n$ = this.node.getDestinationInsertionPoints && this.node.getDestinationInsertionPoints();
return n$ ? Array.prototype.slice.call(n$) : [];
};
DomApi.prototype.getDistributedNodes = function () {
-var n$ = this.node.getDistributedNodes();
+var n$ = this.node.getDistributedNodes && this.node.getDistributedNodes();
return n$ ? Array.prototype.slice.call(n$) : [];
};
DomApi.prototype._distributeParent = function () {
@@ -975,20 +1037,17 @@ var children = getComposedChildren(parent);
var i = ref_node ? children.indexOf(ref_node) : -1;
if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
var fragChildren = getComposedChildren(node);
-fragChildren.forEach(function (c) {
-addNodeToComposedChildren(c, parent, children, i);
-});
+for (var j = 0; j < fragChildren.length; j++) {
+addNodeToComposedChildren(fragChildren[j], parent, children, i + j);
+}
+node._composedChildren = null;
} else {
addNodeToComposedChildren(node, parent, children, i);
}
}
function addNodeToComposedChildren(node, parent, children, i) {
node._composedParent = parent;
-if (i >= 0) {
-children.splice(i, 0, node);
-} else {
-children.push(node);
-}
+children.splice(i >= 0 ? i : children.length, 0, node);
}
function removeFromComposedParent(parent, node) {
node._composedParent = null;
@@ -1029,9 +1088,6 @@ factory: factory
Polymer.Base._addFeature({
_prepShady: function () {
this._useContent = this._useContent || Boolean(this._template);
-if (this._useContent) {
-this._template._hasInsertionPoint = this._template.content.querySelector('content');
-}
},
_poolContent: function () {
if (this._useContent) {
@@ -1051,7 +1107,7 @@ this.shadyRoot = this.root;
this.shadyRoot._distributionClean = false;
this.shadyRoot._isShadyRoot = true;
this.shadyRoot._dirtyRoots = [];
-this.shadyRoot._insertionPoints = this._template._hasInsertionPoint ? this.shadyRoot.querySelectorAll('content') : [];
+this.shadyRoot._insertionPoints = !this._notes || this._notes._hasContent ? this.shadyRoot.querySelectorAll('content') : [];
saveLightChildrenIfNeeded(this.shadyRoot);
this.shadyRoot.host = this;
},
@@ -1059,10 +1115,14 @@ get domHost() {
var root = Polymer.dom(this).getOwnerRoot();
return root && root.host;
},
-distributeContent: function () {
+distributeContent: function (updateInsertionPoints) {
if (this.shadyRoot) {
+var dom = Polymer.dom(this);
+if (updateInsertionPoints) {
+dom._updateInsertionPoints(this);
+}
var host = getTopDistributingHost(this);
-Polymer.dom(this)._lazyDistribute(host);
+dom._lazyDistribute(host);
}
},
_distributeContent: function () {
@@ -1092,6 +1152,7 @@ this._composeTree();
} else {
if (!this.shadyRoot._hasDistributed) {
this.textContent = '';
+this._composedChildren = null;
this.appendChild(this.shadyRoot);
} else {
var children = this._composeNode(this);
@@ -1251,6 +1312,7 @@ points.push(insertionPoint);
}
function clearDistributedDestinationInsertionPoints(content) {
var e$ = content._distributedNodes;
+if (e$) {
for (var i = 0; i < e$.length; i++) {
var d = e$[i]._destinationInsertionPoints;
if (d) {
@@ -1258,6 +1320,7 @@ d.splice(d.indexOf(content) + 1, d.length);
}
}
}
+}
function maybeRedistributeParent(content, host) {
var parent = content._lightParent;
if (parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot) && parent.shadyRoot._distributionClean) {
@@ -1344,7 +1407,6 @@ _registerFeatures: function () {
this._prepIs();
this._prepAttributes();
this._prepBehaviors();
-this._prepExtends();
this._prepConstructor();
this._prepTemplate();
this._prepShady();
diff --git a/third_party/polymer/v1_0/components/polymer/polymer.html b/third_party/polymer/v1_0/components/polymer/polymer.html
index cb08dbb..89e28a3 100644
--- a/third_party/polymer/v1_0/components/polymer/polymer.html
+++ b/third_party/polymer/v1_0/components/polymer/polymer.html
@@ -54,6 +54,9 @@ var annote = {
bindings: [],
events: []
};
+if (element.localName === 'content') {
+list._hasContent = true;
+}
this._parseChildNodesAnnotations(element, annote, list);
if (element.attributes) {
this._parseNodeAttributeAnnotations(element, annote, list);
@@ -72,6 +75,14 @@ for (var i = 0, node = root.firstChild; node; node = node.nextSibling, i++) {
if (node.localName === 'template' && !node.hasAttribute('preserve-content')) {
this._parseTemplate(node, i, list, annote);
}
+if (node.nodeType === Node.TEXT_NODE) {
+var n = node.nextSibling;
+while (n && n.nodeType === Node.TEXT_NODE) {
+node.textContent += n.textContent;
+root.removeChild(n);
+n = n.nextSibling;
+}
+}
var childAnnotation = this._parseNodeAnnotations(node, list, callback);
if (childAnnotation) {
childAnnotation.parent = annote;
@@ -181,6 +192,9 @@ at.value = a === 'style' ? resolveCss(v, ownerDocument) : resolve(v, ownerDocume
}
}
function resolve(url, ownerDocument) {
+if (url && url[0] === '#') {
+return url;
+}
var resolver = getUrlResolver(ownerDocument);
resolver.href = url;
return resolver.href || url;
@@ -341,18 +355,57 @@ this.listen(node, name, listeners[key]);
listen: function (node, eventName, methodName) {
this._listen(node, eventName, this._createEventHandler(node, eventName, methodName));
},
+_boundListenerKey: function (eventName, methodName) {
+return eventName + ':' + methodName;
+},
+_recordEventHandler: function (host, eventName, target, methodName, handler) {
+var hbl = host.__boundListeners;
+if (!hbl) {
+hbl = host.__boundListeners = new WeakMap();
+}
+var bl = hbl.get(target);
+if (!bl) {
+bl = {};
+hbl.set(target, bl);
+}
+var key = this._boundListenerKey(eventName, methodName);
+bl[key] = handler;
+},
+_recallEventHandler: function (host, eventName, target, methodName) {
+var hbl = host.__boundListeners;
+if (!hbl) {
+return;
+}
+var bl = hbl.get(target);
+if (!bl) {
+return;
+}
+var key = this._boundListenerKey(eventName, methodName);
+return bl[key];
+},
_createEventHandler: function (node, eventName, methodName) {
var host = this;
-return function (e) {
+var handler = function (e) {
if (host[methodName]) {
host[methodName](e, e.detail);
} else {
host._warn(host._logf('_createEventHandler', 'listener method `' + methodName + '` not defined'));
}
};
+this._recordEventHandler(host, eventName, node, methodName, handler);
+return handler;
+},
+unlisten: function (node, eventName, methodName) {
+var handler = this._recallEventHandler(this, eventName, node, methodName);
+if (handler) {
+this._unlisten(node, eventName, handler);
+}
},
_listen: function (node, eventName, handler) {
node.addEventListener(eventName, handler);
+},
+_unlisten: function (node, eventName, handler) {
+node.removeEventListener(eventName, handler);
}
});
(function () {
@@ -371,6 +424,7 @@ var MOUSE_EVENTS = [
'mouseup',
'click'
];
+var IS_TOUCH_ONLY = navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);
var mouseCanceller = function (mouseEvent) {
mouseEvent[HANDLED_OBJ] = { skip: true };
if (mouseEvent.type === 'click') {
@@ -395,6 +449,9 @@ document.removeEventListener(en, mouseCanceller, true);
}
}
function ignoreMouse() {
+if (IS_TOUCH_ONLY) {
+return;
+}
if (!POINTERSTATE.mouse.mouseIgnoreJob) {
setupTeardownMouseCanceller(true);
}
@@ -406,7 +463,6 @@ POINTERSTATE.mouse.mouseIgnoreJob = null;
POINTERSTATE.mouse.mouseIgnoreJob = Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob, unset, MOUSE_TIMEOUT);
}
var POINTERSTATE = {
-tapPrevented: false,
mouse: {
target: null,
mouseIgnoreJob: null
@@ -444,6 +500,12 @@ node = next;
}
return node;
},
+findOriginalTarget: function (ev) {
+if (ev.path) {
+return ev.path[0];
+}
+return ev.target;
+},
handleNative: function (ev) {
var handled;
var type = ev.type;
@@ -528,24 +590,62 @@ node[GESTURE_KEY] = gobj = {};
}
for (var i = 0, dep, gd; i < deps.length; i++) {
dep = deps[i];
+if (IS_TOUCH_ONLY && MOUSE_EVENTS.indexOf(dep) > -1) {
+continue;
+}
gd = gobj[dep];
if (!gd) {
-gobj[dep] = gd = {};
+gobj[dep] = gd = { _count: 0 };
+}
+if (gd._count === 0) {
node.addEventListener(dep, this.handleNative);
}
gd[name] = (gd[name] || 0) + 1;
+gd._count = (gd._count || 0) + 1;
}
node.addEventListener(evType, handler);
if (recognizer.touchAction) {
this.setTouchAction(node, recognizer.touchAction);
}
},
+remove: function (node, evType, handler) {
+var recognizer = this.gestures[evType];
+var deps = recognizer.deps;
+var name = recognizer.name;
+var gobj = node[GESTURE_KEY];
+if (gobj) {
+for (var i = 0, dep, gd; i < deps.length; i++) {
+dep = deps[i];
+gd = gobj[dep];
+if (gd && gd[name]) {
+gd[name] = (gd[name] || 1) - 1;
+gd._count = (gd._count || 1) - 1;
+}
+if (gd._count === 0) {
+node.removeEventListener(dep, this.handleNative);
+}
+}
+}
+node.removeEventListener(evType, handler);
+},
register: function (recog) {
this.recognizers.push(recog);
for (var i = 0; i < recog.emits.length; i++) {
this.gestures[recog.emits[i]] = recog;
}
},
+findRecognizerByEvent: function (evName) {
+for (var i = 0, r; i < this.recognizers.length; i++) {
+r = this.recognizers[i];
+for (var j = 0, n; j < r.emits.length; j++) {
+n = r.emits[j];
+if (n === evName) {
+return r;
+}
+}
+}
+return null;
+},
setTouchAction: function (node, value) {
if (HAS_NATIVE_TA) {
node.style.touchAction = value;
@@ -553,12 +653,23 @@ node.style.touchAction = value;
node[TOUCH_ACTION] = value;
},
fire: function (target, type, detail) {
-var ev = new CustomEvent(type, {
-detail: detail,
+var ev = Polymer.Base.fire(type, detail, {
+node: target,
bubbles: true,
cancelable: true
});
-target.dispatchEvent(ev);
+if (ev.defaultPrevented) {
+var se = detail.sourceEvent;
+if (se && se.preventDefault) {
+se.preventDefault();
+}
+}
+},
+prevent: function (evName) {
+var recognizer = this.findRecognizerByEvent(evName);
+if (recognizer.info) {
+recognizer.info.prevent = true;
+}
}
};
Gestures.register({
@@ -573,7 +684,7 @@ emits: [
'up'
],
mousedown: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var self = this;
var upfn = function upfn(e) {
self.fire('up', t, e);
@@ -583,16 +694,18 @@ document.addEventListener('mouseup', upfn);
this.fire('down', t, e);
},
touchstart: function (e) {
-this.fire('down', e.currentTarget, e.changedTouches[0]);
+this.fire('down', Gestures.findOriginalTarget(e), e.changedTouches[0]);
},
touchend: function (e) {
-this.fire('up', e.currentTarget, e.changedTouches[0]);
+this.fire('up', Gestures.findOriginalTarget(e), e.changedTouches[0]);
},
fire: function (type, target, event) {
+var self = this;
Gestures.fire(target, type, {
x: event.clientX,
y: event.clientY,
-sourceEvent: event
+sourceEvent: event,
+prevent: Gestures.prevent.bind(Gestures)
});
}
});
@@ -617,7 +730,8 @@ if (this.moves.length > TRACK_LENGTH) {
this.moves.shift();
}
this.moves.push(move);
-}
+},
+prevent: false
},
clearInfo: function () {
this.info.state = 'start';
@@ -625,8 +739,12 @@ this.info.started = false;
this.info.moves = [];
this.info.x = 0;
this.info.y = 0;
+this.info.prevent = false;
},
hasMovedEnough: function (x, y) {
+if (this.info.prevent) {
+return false;
+}
if (this.info.started) {
return true;
}
@@ -635,7 +753,7 @@ var dy = Math.abs(this.info.y - y);
return dx >= TRACK_DISTANCE || dy >= TRACK_DISTANCE;
},
mousedown: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var self = this;
var movefn = function movefn(e) {
var x = e.clientX, y = e.clientY;
@@ -646,13 +764,12 @@ x: x,
y: y
});
self.fire(t, e);
-e.preventDefault();
self.info.started = true;
}
};
var upfn = function upfn(e) {
if (self.info.started) {
-POINTERSTATE.tapPrevented = true;
+Gestures.prevent('tap');
movefn(e);
}
self.clearInfo();
@@ -670,7 +787,7 @@ this.info.x = ct.clientX;
this.info.y = ct.clientY;
},
touchmove: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var ct = e.changedTouches[0];
var x = ct.clientX, y = ct.clientY;
if (this.hasMovedEnough(x, y)) {
@@ -684,10 +801,10 @@ this.info.started = true;
}
},
touchend: function (e) {
-var t = e.currentTarget;
+var t = Gestures.findOriginalTarget(e);
var ct = e.changedTouches[0];
if (this.info.started) {
-POINTERSTATE.tapPrevented = true;
+Gestures.prevent('tap');
this.info.state = 'end';
this.info.addMove({
x: ct.clientX,
@@ -731,38 +848,39 @@ deps: [
'touchend'
],
emits: ['tap'],
-start: {
+info: {
x: NaN,
-y: NaN
+y: NaN,
+prevent: false
},
reset: function () {
-this.start.x = NaN;
-this.start.y = NaN;
+this.info.x = NaN;
+this.info.y = NaN;
+this.info.prevent = false;
},
save: function (e) {
-this.start.x = e.clientX;
-this.start.y = e.clientY;
+this.info.x = e.clientX;
+this.info.y = e.clientY;
},
mousedown: function (e) {
-POINTERSTATE.tapPrevented = false;
this.save(e);
},
click: function (e) {
this.forward(e);
},
touchstart: function (e) {
-POINTERSTATE.tapPrevented = false;
this.save(e.changedTouches[0]);
},
touchend: function (e) {
this.forward(e.changedTouches[0]);
},
forward: function (e) {
-var dx = Math.abs(e.clientX - this.start.x);
-var dy = Math.abs(e.clientY - this.start.y);
+var dx = Math.abs(e.clientX - this.info.x);
+var dy = Math.abs(e.clientY - this.info.y);
+var t = Gestures.findOriginalTarget(e);
if (isNaN(dx) || isNaN(dy) || dx <= TAP_DISTANCE && dy <= TAP_DISTANCE) {
-if (!POINTERSTATE.tapPrevented) {
-Gestures.fire(e.target, 'tap', {
+if (!this.info.prevent) {
+Gestures.fire(t, 'tap', {
x: e.clientX,
y: e.clientY,
sourceEvent: e
@@ -786,6 +904,13 @@ Gestures.add(node, eventName, handler);
node.addEventListener(eventName, handler);
}
},
+_unlisten: function (node, eventName, handler) {
+if (Gestures.gestures[eventName]) {
+Gestures.remove(node, eventName, handler);
+} else {
+node.removeEventListener(eventName, handler);
+}
+},
setScrollDirection: function (direction, node) {
node = node || this;
Gestures.setTouchAction(node, DIRECTION_MAP[direction] || 'auto');
@@ -793,50 +918,55 @@ Gestures.setTouchAction(node, DIRECTION_MAP[direction] || 'auto');
});
Polymer.Gestures = Gestures;
}());
-Polymer.Async = function () {
-var currVal = 0;
-var lastVal = 0;
-var callbacks = [];
-var twiddle = document.createTextNode('');
-function runAsync(callback, waitTime) {
+Polymer.Async = {
+_currVal: 0,
+_lastVal: 0,
+_callbacks: [],
+_twiddleContent: 0,
+_twiddle: document.createTextNode(''),
+run: function (callback, waitTime) {
if (waitTime > 0) {
return ~setTimeout(callback, waitTime);
} else {
-twiddle.textContent = currVal++;
-callbacks.push(callback);
-return currVal - 1;
-}
+this._twiddle.textContent = this._twiddleContent++;
+this._callbacks.push(callback);
+return this._currVal++;
}
-function cancelAsync(handle) {
+},
+cancel: function (handle) {
if (handle < 0) {
clearTimeout(~handle);
} else {
-var idx = handle - lastVal;
+var idx = handle - this._lastVal;
if (idx >= 0) {
-if (!callbacks[idx]) {
+if (!this._callbacks[idx]) {
throw 'invalid async handle: ' + handle;
}
-callbacks[idx] = null;
+this._callbacks[idx] = null;
}
}
-}
-function atEndOfMicrotask() {
-var len = callbacks.length;
+},
+_atEndOfMicrotask: function () {
+var len = this._callbacks.length;
for (var i = 0; i < len; i++) {
-var cb = callbacks[i];
+var cb = this._callbacks[i];
if (cb) {
+try {
cb();
+} catch (e) {
+i++;
+this._callbacks.splice(0, i);
+this._lastVal += i;
+this._twiddle.textContent = this._twiddleContent++;
+throw e;
}
}
-callbacks.splice(0, len);
-lastVal += len;
}
-new (window.MutationObserver || JsMutationObserver)(atEndOfMicrotask).observe(twiddle, { characterData: true });
-return {
-run: runAsync,
-cancel: cancelAsync
+this._callbacks.splice(0, len);
+this._lastVal += len;
+}
};
-}();
+new (window.MutationObserver || JsMutationObserver)(Polymer.Async._atEndOfMicrotask.bind(Polymer.Async)).observe(Polymer.Async._twiddle, { characterData: true });
Polymer.Debounce = function () {
var Async = Polymer.Async;
var Debouncer = function (context) {
@@ -919,7 +1049,8 @@ Polymer.dom(toElement).setAttribute(name, '');
}
},
getContentChildNodes: function (slctr) {
-return Polymer.dom(Polymer.dom(this.root).querySelector(slctr || 'content')).getDistributedNodes();
+var content = Polymer.dom(this.root).querySelector(slctr || 'content');
+return content ? Polymer.dom(content).getDistributedNodes() : [];
},
getContentChildren: function (slctr) {
return this.getContentChildNodes(slctr).filter(function (n) {
@@ -931,9 +1062,10 @@ options = options || Polymer.nob;
var node = options.node || this;
var detail = detail === null || detail === undefined ? Polymer.nob : detail;
var bubbles = options.bubbles === undefined ? true : options.bubbles;
+var cancelable = Boolean(options.cancelable);
var event = new CustomEvent(type, {
bubbles: Boolean(bubbles),
-cancelable: Boolean(options.cancelable),
+cancelable: cancelable,
detail: detail
});
node.dispatchEvent(event);
@@ -990,30 +1122,25 @@ elt[n] = props[n];
}
}
return elt;
-},
-mixin: function (target, source) {
-for (var i in source) {
-target[i] = source[i];
-}
}
});
Polymer.Bind = {
prepareModel: function (model) {
model._propertyEffects = {};
model._bindListeners = [];
-var api = this._modelApi;
-for (var n in api) {
-model[n] = api[n];
-}
+Polymer.Base.mixin(model, this._modelApi);
},
_modelApi: {
_notifyChange: function (property) {
var eventName = Polymer.CaseMap.camelToDashCase(property) + '-changed';
-this.fire(eventName, { value: this[property] }, { bubbles: false });
+Polymer.Base.fire(eventName, { value: this[property] }, {
+bubbles: false,
+node: this
+});
},
-_propertySet: function (property, value, effects) {
+_propertySetter: function (property, value, effects, fromAbove) {
var old = this.__data__[property];
-if (old !== value) {
+if (old !== value && (old === old || value === value)) {
this.__data__[property] = value;
if (typeof value == 'object') {
this._clearPath(property);
@@ -1022,16 +1149,25 @@ if (this._propertyChanged) {
this._propertyChanged(property, value, old);
}
if (effects) {
-this._effectEffects(property, value, effects, old);
+this._effectEffects(property, value, effects, old, fromAbove);
}
}
return old;
},
-_effectEffects: function (property, value, effects, old) {
+__setProperty: function (property, value, quiet, node) {
+node = node || this;
+var effects = node._propertyEffects && node._propertyEffects[property];
+if (effects) {
+node._propertySetter(property, value, effects, quiet);
+} else {
+node[property] = value;
+}
+},
+_effectEffects: function (property, value, effects, old, fromAbove) {
effects.forEach(function (fx) {
var fn = Polymer.Bind['_' + fx.kind + 'Effect'];
if (fn) {
-fn.call(this, property, value, fx.effect, old);
+fn.call(this, property, value, fx.effect, old, fromAbove);
}
}, this);
},
@@ -1089,10 +1225,13 @@ return this.__data__[property];
}
};
var setter = function (value) {
-this._propertySet(property, value, effects);
+this._propertySetter(property, value, effects);
};
-if (model.getPropertyInfo && model.getPropertyInfo(property).readOnly) {
+var info = model.getPropertyInfo && model.getPropertyInfo(property);
+if (info && info.readOnly) {
+if (!info.computed) {
model['_set' + this.upper(property)] = setter;
+}
} else {
defun.set = setter;
}
@@ -1163,11 +1302,13 @@ return this._applyEffectValue(calc, effect);
_reflectEffect: function (source) {
this.reflectPropertyToAttribute(source);
},
-_notifyEffect: function (source) {
+_notifyEffect: function (source, value, effect, old, fromAbove) {
+if (!fromAbove) {
this._notifyChange(source);
+}
},
-_functionEffect: function (source, value, fn, old) {
-fn.call(this, source, value, old);
+_functionEffect: function (source, value, fn, old, fromAbove) {
+fn.call(this, source, value, old, fromAbove);
},
_observerEffect: function (source, value, effect, old) {
var fn = this[effect.method];
@@ -1193,7 +1334,7 @@ var args = Polymer.Bind._marshalArgs(this.__data__, effect, source, value);
if (args) {
var fn = this[effect.method];
if (fn) {
-this[effect.property] = fn.apply(this, args);
+this.__setProperty(effect.property, fn.apply(this, args));
} else {
this._warn(this._logf('_computeEffect', 'compute method `' + effect.method + '` not defined'));
}
@@ -1266,6 +1407,7 @@ if (prop.observer) {
this._addObserverEffect(p, prop.observer);
}
if (prop.computed) {
+prop.readOnly = true;
this._addComputedEffect(p, prop.computed);
}
if (prop.notify) {
@@ -1456,12 +1598,13 @@ this._configure();
},
_configure: function () {
this._configureAnnotationReferences();
+this._aboveConfig = this.mixin({}, this._config);
var config = {};
this.behaviors.forEach(function (b) {
this._configureProperties(b.properties, config);
}, this);
this._configureProperties(this.properties, config);
-this._mixinConfigure(config, this._config);
+this._mixinConfigure(config, this._aboveConfig);
this._config = config;
this._distributeConfig(this._config);
},
@@ -1505,18 +1648,13 @@ node._configValue(x.effect.name, value);
},
_afterClientsReady: function () {
this._executeStaticEffects();
-this._applyConfig(this._config);
+this._applyConfig(this._config, this._aboveConfig);
this._flushHandlers();
},
-_applyConfig: function (config) {
+_applyConfig: function (config, aboveConfig) {
for (var n in config) {
if (this[n] === undefined) {
-var effects = this._propertyEffects[n];
-if (effects) {
-this._propertySet(n, config[n], effects);
-} else {
-this[n] = config[n];
-}
+this.__setProperty(n, config[n], n in aboveConfig);
}
}
},
@@ -1545,12 +1683,13 @@ h[0].call(this, h[1], h[2]);
'use strict';
Polymer.Base._addFeature({
notifyPath: function (path, value, fromAbove) {
-var old = this._propertySet(path, value);
-if (old !== value) {
+var old = this._propertySetter(path, value);
+if (old !== value && (old === old || value === value)) {
this._pathEffector(path, value);
if (!fromAbove) {
this._notifyPath(path, value);
}
+return true;
}
},
_getPathParts: function (path) {
@@ -1583,6 +1722,15 @@ return;
}
array = Array.isArray(prop) ? prop : null;
}
+if (array) {
+var coll = Polymer.Collection.get(array);
+var old = prop[last];
+var key = coll.getKey(old);
+if (key) {
+parts[i] = key;
+coll.setItem(key, value);
+}
+}
prop[last] = value;
if (!root) {
this.notifyPath(parts.join('.'), value);
@@ -1707,7 +1855,7 @@ object: array,
type: 'splice'
}];
var change = {
-keySplices: Polymer.Collection.get(array).applySplices(splices),
+keySplices: Polymer.Collection.applySplices(array, splices),
indexSplices: splices
};
this.set(path + '.splices', change);
@@ -1736,9 +1884,8 @@ return ret;
splice: function (path, start, deleteCount) {
var array = this.get(path);
var args = Array.prototype.slice.call(arguments, 1);
-var rem = array.slice(start, start + deleteCount);
var ret = array.splice.apply(array, args);
-this._notifySplice(array, path, start, args.length - 2, rem);
+this._notifySplice(array, path, start, args.length - 2, ret);
return ret;
},
shift: function (path) {
@@ -1886,10 +2033,10 @@ var AT_START = '@';
var rx = {
comments: /\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,
port: /@import[^;]*;/gim,
-customProp: /(?:^|[\s;])--[^;{]*?:[^{};]*?;/gim,
-mixinProp: /(?:^|[\s;])--[^;{]*?:[^{;]*?{[^}]*?};?/gim,
-mixinApply: /@apply[\s]*\([^)]*?\)[\s]*;/gim,
-varApply: /[^;:]*?:[^;]*var[^;]*;/gim,
+customProp: /(?:^|[\s;])--[^;{]*?:[^{};]*?(?:[;\n]|$)/gim,
+mixinProp: /(?:^|[\s;])--[^;{]*?:[^{;]*?{[^}]*?}(?:[;\n]|$)?/gim,
+mixinApply: /@apply[\s]*\([^)]*?\)[\s]*(?:[;\n]|$)?/gim,
+varApply: /[^;:]*?:[^;]*var[^;]*(?:[;\n]|$)?/gim,
keyframesRule: /^@[^\s]*keyframes/
};
return api;
@@ -1907,12 +2054,14 @@ this.forEachStyleRule(rules, callback);
return this.parser.stringify(rules, preserveProperties);
},
forRulesInStyles: function (styles, callback) {
+if (styles) {
for (var i = 0, l = styles.length, s; i < l && (s = styles[i]); i++) {
this.forEachStyleRule(this.rulesForStyle(s), callback);
}
+}
},
rulesForStyle: function (style) {
-if (!style.__cssRules) {
+if (!style.__cssRules && style.textContent) {
style.__cssRules = this.parser.parse(style.textContent);
}
return style.__cssRules;
@@ -2065,23 +2214,33 @@ rule.selector = p$.join(COMPLEX_SELECTOR_SEP);
},
_transformComplexSelector: function (selector, scope, hostScope) {
var stop = false;
+var hostContext = false;
var self = this;
selector = selector.replace(SIMPLE_SELECTOR_SEP, function (m, c, s) {
if (!stop) {
-var o = self._transformCompoundSelector(s, c, scope, hostScope);
-if (o.stop) {
-stop = true;
-}
-c = o.combinator;
-s = o.value;
+var info = self._transformCompoundSelector(s, c, scope, hostScope);
+stop = stop || info.stop;
+hostContext = hostContext || info.hostContext;
+c = info.combinator;
+s = info.value;
+} else {
+s = s.replace(SCOPE_JUMP, ' ');
}
return c + s;
});
+if (hostContext) {
+selector = selector.replace(HOST_CONTEXT_PAREN, function (m, pre, paren, post) {
+return pre + paren + ' ' + hostScope + post + COMPLEX_SELECTOR_SEP + ' ' + pre + hostScope + paren + post;
+});
+}
return selector;
},
_transformCompoundSelector: function (selector, combinator, scope, hostScope) {
var jumpIndex = selector.search(SCOPE_JUMP);
-if (selector.indexOf(HOST) >= 0) {
+var hostContext = false;
+if (selector.indexOf(HOST_CONTEXT) >= 0) {
+hostContext = true;
+} else if (selector.indexOf(HOST) >= 0) {
selector = selector.replace(HOST_PAREN, function (m, host, paren) {
return hostScope + paren;
});
@@ -2100,7 +2259,8 @@ stop = true;
return {
value: selector,
combinator: combinator,
-stop: stop
+stop: stop,
+hostContext: hostContext
};
},
_transformSimpleSelector: function (selector, scope) {
@@ -2108,20 +2268,32 @@ var p$ = selector.split(PSEUDO_PREFIX);
p$[0] += scope;
return p$.join(PSEUDO_PREFIX);
},
-rootRule: function (rule) {
-this._transformRule(rule, this._transformRootSelector);
+documentRule: function (rule) {
+rule.selector = rule.parsedSelector;
+this.normalizeRootSelector(rule);
+if (!nativeShadow) {
+this._transformRule(rule, this._transformDocumentSelector);
+}
+},
+normalizeRootSelector: function (rule) {
+if (rule.selector === ROOT) {
+rule.selector = 'body';
+}
},
-_transformRootSelector: function (selector) {
-return selector.match(SCOPE_JUMP) ? this._transformComplexSelector(selector) : selector.trim() + SCOPE_ROOT_SELECTOR;
+_transformDocumentSelector: function (selector) {
+return selector.match(SCOPE_JUMP) ? this._transformComplexSelector(selector, SCOPE_DOC_SELECTOR) : this._transformSimpleSelector(selector.trim(), SCOPE_DOC_SELECTOR);
},
SCOPE_NAME: 'style-scope'
};
var SCOPE_NAME = api.SCOPE_NAME;
-var SCOPE_ROOT_SELECTOR = ':not([' + SCOPE_NAME + '])' + ':not(.' + SCOPE_NAME + ')';
+var SCOPE_DOC_SELECTOR = ':not([' + SCOPE_NAME + '])' + ':not(.' + SCOPE_NAME + ')';
var COMPLEX_SELECTOR_SEP = ',';
var SIMPLE_SELECTOR_SEP = /(^|[\s>+~]+)([^\s>+~]+)/g;
var HOST = ':host';
+var ROOT = ':root';
var HOST_PAREN = /(\:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;
+var HOST_CONTEXT = ':host-context';
+var HOST_CONTEXT_PAREN = /(.*)(?:\:host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;
var CONTENT = '::content';
var SCOPE_JUMP = /\:\:content|\:\:shadow|\/deep\//;
var CSS_CLASS_PREFIX = '.';
@@ -2296,6 +2468,7 @@ return mo;
});
}());
Polymer.StyleProperties = function () {
+'use strict';
var nativeShadow = Polymer.Settings.useNativeShadow;
var matchesSelector = Polymer.DomApi.matchesSelector;
var styleUtil = Polymer.StyleUtil;
@@ -2362,6 +2535,10 @@ collectPropertiesInCssText: function (cssText, props) {
var m;
while (m = this.rx.VAR_CAPTURE.exec(cssText)) {
props[m[1]] = true;
+var def = m[2];
+if (def && def.match(this.rx.IS_VAR)) {
+props[def] = true;
+}
}
},
reify: function (props) {
@@ -2461,27 +2638,29 @@ return props;
},
transformStyles: function (element, properties, scopeSelector) {
var self = this;
-var hostRx = new RegExp(this.rx.HOST_PREFIX + element.is + this.rx.HOST_SUFFIX);
+var hostSelector = styleTransformer._calcHostScope(element.is, element.extends);
+var rxHostSelector = element.extends ? '\\' + hostSelector.slice(0, -1) + '\\]' : hostSelector;
+var hostRx = new RegExp(this.rx.HOST_PREFIX + rxHostSelector + this.rx.HOST_SUFFIX);
return styleTransformer.elementStyles(element, function (rule) {
self.applyProperties(rule, properties);
if (rule.cssText && !nativeShadow) {
-self._scopeSelector(rule, hostRx, element.is, element._scopeCssViaAttr, scopeSelector);
+self._scopeSelector(rule, hostRx, hostSelector, element._scopeCssViaAttr, scopeSelector);
}
});
},
-_scopeSelector: function (rule, hostRx, is, viaAttr, scopeId) {
+_scopeSelector: function (rule, hostRx, hostSelector, viaAttr, scopeId) {
rule.transformedSelector = rule.transformedSelector || rule.selector;
var selector = rule.transformedSelector;
var scope = viaAttr ? '[' + styleTransformer.SCOPE_NAME + '~=' + scopeId + ']' : '.' + scopeId;
var parts = selector.split(',');
for (var i = 0, l = parts.length, p; i < l && (p = parts[i]); i++) {
-parts[i] = p.match(hostRx) ? p.replace(is, is + scope) : scope + ' ' + p;
+parts[i] = p.match(hostRx) ? p.replace(hostSelector, hostSelector + scope) : scope + ' ' + p;
}
rule.selector = parts.join(',');
},
applyElementScopeSelector: function (element, selector, old, viaAttr) {
var c = viaAttr ? element.getAttribute(styleTransformer.SCOPE_NAME) : element.className;
-v = old ? c.replace(old, selector) : (c ? c + ' ' : '') + this.XSCOPE_NAME + ' ' + selector;
+var v = old ? c.replace(old, selector) : (c ? c + ' ' : '') + this.XSCOPE_NAME + ' ' + selector;
if (c !== v) {
if (viaAttr) {
element.setAttribute(styleTransformer.SCOPE_NAME, v);
@@ -2495,7 +2674,7 @@ var cssText = style ? style.textContent || '' : this.transformStyles(element, pr
var s = element._customStyle;
if (s && !nativeShadow && s !== style) {
s._useCount--;
-if (s._useCount <= 0) {
+if (s._useCount <= 0 && s.parentNode) {
s.parentNode.removeChild(s);
}
}
@@ -2516,13 +2695,23 @@ element._customStyle = style;
}
return style;
},
+mixinCustomStyle: function (props, customStyle) {
+var v;
+for (var i in customStyle) {
+v = customStyle[i];
+if (v || v === 0) {
+props[i] = v;
+}
+}
+},
rx: {
-VAR_ASSIGN: /(?:^|;\s*)(--[^\:;]*?):\s*?(?:([^;{]*?)|{([^}]*)})(?=;)/gim,
-MIXIN_MATCH: /(?:^|\W+)@apply[\s]*\(([^)]*)\);?/im,
-VAR_MATCH: /(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,)]*)|(?:[^;]*\([^;)]*\)))[\s]*?\)/gim,
-VAR_CAPTURE: /\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gim,
+VAR_ASSIGN: /(?:^|[;\n]\s*)(--[\w-]*?):\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\n])|$)/gi,
+MIXIN_MATCH: /(?:^|\W+)@apply[\s]*\(([^)]*)\)/i,
+VAR_MATCH: /(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,)]*)|(?:[^;]*\([^;)]*\)))[\s]*?\)/gi,
+VAR_CAPTURE: /\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gi,
+IS_VAR: /^--/,
BRACKETED: /\{[^}]*\}/g,
-HOST_PREFIX: '(?:^|[^.])',
+HOST_PREFIX: '(?:^|[^.#[:])',
HOST_SUFFIX: '($|[.:[\\s>+~])'
},
HOST_SELECTORS: [':host'],
@@ -2535,35 +2724,6 @@ var v = 1 << n % 32;
bits[o] = (bits[o] || 0) | v;
}
}();
-Polymer.StyleDefaults = function () {
-var styleProperties = Polymer.StyleProperties;
-var styleUtil = Polymer.StyleUtil;
-var style = document.createElement('style');
-var api = {
-style: style,
-_styles: [style],
-_properties: null,
-applyCss: function (cssText) {
-this.style.textContent += cssText;
-styleUtil.clearStyleRules(this.style);
-this._properties = null;
-},
-get _styleProperties() {
-if (!this._properties) {
-styleProperties.decorateStyles(this._styles);
-this._styles._scopeStyleProperties = null;
-this._properties = styleProperties.scopePropertiesFromStyles(this._styles);
-}
-return this._properties;
-},
-_needsStyleProperties: function () {
-},
-_computeStyleProperties: function () {
-return this._styleProperties;
-}
-};
-return api;
-}();
(function () {
Polymer.StyleCache = function () {
this.cache = {};
@@ -2594,8 +2754,10 @@ clear: function () {
this.cache = {};
},
_objectsEqual: function (target, source) {
+var t, s;
for (var i in target) {
-if (target[i] !== source[i]) {
+t = target[i], s = source[i];
+if (!(typeof t === 'object' && t ? this._objectsStrictlyEqual(t, s) : t === s)) {
return false;
}
}
@@ -2603,10 +2765,57 @@ if (Array.isArray(target)) {
return target.length === source.length;
}
return true;
+},
+_objectsStrictlyEqual: function (target, source) {
+return this._objectsEqual(target, source) && this._objectsEqual(source, target);
}
};
}());
+Polymer.StyleDefaults = function () {
+var styleProperties = Polymer.StyleProperties;
+var styleUtil = Polymer.StyleUtil;
+var StyleCache = Polymer.StyleCache;
+var api = {
+_styles: [],
+_properties: null,
+customStyle: {},
+_styleCache: new StyleCache(),
+addStyle: function (style) {
+this._styles.push(style);
+this._properties = null;
+},
+get _styleProperties() {
+if (!this._properties) {
+styleProperties.decorateStyles(this._styles);
+this._styles._scopeStyleProperties = null;
+this._properties = styleProperties.scopePropertiesFromStyles(this._styles);
+styleProperties.mixinCustomStyle(this._properties, this.customStyle);
+styleProperties.reify(this._properties);
+}
+return this._properties;
+},
+_needsStyleProperties: function () {
+},
+_computeStyleProperties: function () {
+return this._styleProperties;
+},
+updateStyles: function (properties) {
+this._properties = null;
+if (properties) {
+Polymer.Base.mixin(this.customStyle, properties);
+}
+this._styleCache.clear();
+for (var i = 0, s; i < this._styles.length; i++) {
+s = this._styles[i];
+s = s.__importElement || s;
+s._apply();
+}
+}
+};
+return api;
+}();
(function () {
+'use strict';
var serializeValueToAttribute = Polymer.Base.serializeValueToAttribute;
var propertyUtils = Polymer.StyleProperties;
var styleTransformer = Polymer.StyleTransformer;
@@ -2628,12 +2837,23 @@ if (!this._scopeSelector && this._needsStyleProperties()) {
this._updateStyleProperties();
}
},
+_findStyleHost: function () {
+var e = this, root;
+while (root = Polymer.dom(e).getOwnerRoot()) {
+if (Polymer.isInstance(root.host)) {
+return root.host;
+}
+e = root.host;
+}
+return styleDefaults;
+},
_updateStyleProperties: function () {
-var info, scope = this.domHost || styleDefaults;
+var info, scope = this._findStyleHost();
if (!scope._styleCache) {
scope._styleCache = new Polymer.StyleCache();
}
var scopeData = propertyUtils.propertyDataFromStyles(scope._styles, this);
+scopeData.key.customStyle = this.customStyle;
info = scope._styleCache.retrieve(this.is, scopeData.key, this._styles);
var scopeCached = Boolean(info);
if (scopeCached) {
@@ -2646,17 +2866,16 @@ if (!scopeCached) {
info = styleCache.retrieve(this.is, this._ownStyleProperties, this._styles);
}
var globalCached = Boolean(info) && !scopeCached;
-style = this._applyStyleProperties(info);
+var style = this._applyStyleProperties(info);
if (!scopeCached) {
-var cacheableStyle = style;
-if (nativeShadow) {
-cacheableStyle = style.cloneNode ? style.cloneNode(true) : Object.create(style || null);
-}
+style = style && nativeShadow ? style.cloneNode(true) : style;
info = {
-style: cacheableStyle,
+style: style,
_scopeSelector: this._scopeSelector,
_styleProperties: this._styleProperties
};
+scopeData.key.customStyle = {};
+this.mixin(scopeData.key.customStyle, this.customStyle);
scope._styleCache.store(this.is, info, scopeData.key, this._styles);
if (!globalCached) {
styleCache.store(this.is, Object.create(info), this._ownStyleProperties, this._styles);
@@ -2664,7 +2883,7 @@ styleCache.store(this.is, Object.create(info), this._ownStyleProperties, this._s
}
},
_computeStyleProperties: function (scopeProps) {
-var scope = this.domHost || styleDefaults;
+var scope = this._findStyleHost();
if (!scope._styleProperties) {
scope._computeStyleProperties();
}
@@ -2673,7 +2892,7 @@ this.mixin(props, propertyUtils.hostPropertiesFromStyles(this._styles));
scopeProps = scopeProps || propertyUtils.propertyDataFromStyles(scope._styles, this).properties;
this.mixin(props, scopeProps);
this.mixin(props, propertyUtils.scopePropertiesFromStyles(this._styles));
-this.mixin(props, this.customStyle);
+propertyUtils.mixinCustomStyle(props, this.customStyle);
propertyUtils.reify(props);
this._styleProperties = props;
},
@@ -2689,15 +2908,15 @@ _scopeCount: 0,
_applyStyleProperties: function (info) {
var oldScopeSelector = this._scopeSelector;
this._scopeSelector = info ? info._scopeSelector : this.is + '-' + this.__proto__._scopeCount++;
-style = propertyUtils.applyElementStyle(this, this._styleProperties, this._scopeSelector, info && info.style);
-if ((style || oldScopeSelector) && !nativeShadow) {
+var style = propertyUtils.applyElementStyle(this, this._styleProperties, this._scopeSelector, info && info.style);
+if (!nativeShadow) {
propertyUtils.applyElementScopeSelector(this, this._scopeSelector, oldScopeSelector, this._scopeCssViaAttr);
}
-return style || {};
+return style;
},
serializeValueToAttribute: function (value, attribute, node) {
node = node || this;
-if (attribute === 'class') {
+if (attribute === 'class' && !nativeShadow) {
var host = node === this ? this.domHost || this.dataHost : this;
if (host) {
value = host._scopeElementClass(node, value);
@@ -2712,8 +2931,11 @@ selector += (selector ? ' ' : '') + SCOPE_NAME + ' ' + this.is + (element._scope
}
return selector;
},
-updateStyles: function () {
+updateStyles: function (properties) {
if (this.isAttached) {
+if (properties) {
+this.mixin(this.customStyle, properties);
+}
if (this._needsStyleProperties()) {
this._updateStyleProperties();
} else {
@@ -2737,8 +2959,8 @@ c.updateStyles();
}
}
});
-Polymer.updateStyles = function () {
-styleDefaults._styleCache.clear();
+Polymer.updateStyles = function (properties) {
+styleDefaults.updateStyles(properties);
Polymer.Base._updateRootStyles(document);
};
var styleCache = new Polymer.StyleCache();
@@ -2750,7 +2972,6 @@ Polymer.Base._addFeature({
_registerFeatures: function () {
this._prepIs();
this._prepAttributes();
-this._prepExtends();
this._prepConstructor();
this._prepTemplate();
this._prepStyles();
@@ -2790,53 +3011,52 @@ var nativeShadow = Polymer.Settings.useNativeShadow;
var propertyUtils = Polymer.StyleProperties;
var styleUtil = Polymer.StyleUtil;
var styleDefaults = Polymer.StyleDefaults;
+var styleTransformer = Polymer.StyleTransformer;
Polymer({
is: 'custom-style',
extends: 'style',
created: function () {
-this._appliesToDocument = this.parentNode.localName !== 'dom-module';
-if (this._appliesToDocument) {
+this._tryApply();
+},
+attached: function () {
+this._tryApply();
+},
+_tryApply: function () {
+if (!this._appliesToDocument) {
+if (this.parentNode && this.parentNode.localName !== 'dom-module') {
+this._appliesToDocument = true;
var e = this.__appliedElement || this;
-var rules = styleUtil.rulesForStyle(e);
-propertyUtils.decorateStyles([e]);
-this._rulesToDefaultProperties(rules);
-this.async(this._applyStyle);
+styleDefaults.addStyle(e);
+if (e.textContent) {
+this._apply();
+} else {
+var observer = new MutationObserver(function () {
+observer.disconnect();
+this._apply();
+}.bind(this));
+observer.observe(e, { childList: true });
+}
+}
}
},
-_applyStyle: function () {
+_apply: function () {
var e = this.__appliedElement || this;
this._computeStyleProperties();
var props = this._styleProperties;
var self = this;
e.textContent = styleUtil.toCssText(styleUtil.rulesForStyle(e), function (rule) {
-if (rule.selector === ':root') {
-rule.selector = 'body';
-}
var css = rule.cssText = rule.parsedCssText;
if (rule.propertyInfo && rule.propertyInfo.cssText) {
css = css.replace(propertyUtils.rx.VAR_ASSIGN, '');
rule.cssText = propertyUtils.valueForProperties(css, props);
}
-if (!nativeShadow) {
-Polymer.StyleTransformer.rootRule(rule);
-}
+styleTransformer.documentRule(rule);
});
-},
-_rulesToDefaultProperties: function (rules) {
-styleUtil.forEachStyleRule(rules, function (rule) {
-if (!rule.propertyInfo.properties) {
-rule.cssText = '';
-}
-});
-var cssText = styleUtil.parser.stringify(rules, true);
-if (cssText) {
-styleDefaults.applyCss(cssText);
-}
}
});
}());
Polymer.Templatizer = {
-properties: { _hideTemplateChildren: { observer: '_showHideChildren' } },
+properties: { __hideTemplateChildren__: { observer: '_showHideChildren' } },
_templatizerStatic: {
count: 0,
callbacks: {},
@@ -2865,6 +3085,7 @@ this._prepParentProperties(archetype, template);
archetype._notifyPath = this._notifyPathImpl;
archetype._scopeElementClass = this._scopeElementClassImpl;
archetype.listen = this._listenImpl;
+archetype._showHideChildren = this._showHideChildrenImpl;
var _constructor = this._constructorImpl;
var ctor = function TemplateInstance(model, host) {
_constructor.call(this, model, host);
@@ -2877,7 +3098,15 @@ this.ctor = ctor;
_getRootDataHost: function () {
return this.dataHost && this.dataHost._rootDataHost || this.dataHost;
},
-_showHideChildren: function (hidden) {
+_showHideChildrenImpl: function (hide) {
+var c = this._children;
+for (var i = 0; i < c.length; i++) {
+var n = c[i];
+if (n.style) {
+n.style.display = hide ? 'none' : '';
+n.__hideTemplateChildren__ = hide;
+}
+}
},
_debounceTemplate: function (fn) {
this._templatizerStatic.callbacks[this._templatizerId] = fn.bind(this);
@@ -2900,6 +3129,9 @@ var parentProps = archetype._parentProps;
for (var prop in parentProps) {
archetype._addPropertyEffect(prop, 'function', this._createHostPropEffector(prop));
}
+for (var prop in this._instanceProps) {
+archetype._addPropertyEffect(prop, 'function', this._createInstancePropEffector(prop));
+}
},
_customPrepAnnotations: function (archetype, template) {
archetype._template = template;
@@ -2958,18 +3190,29 @@ return function (source, value) {
this.dataHost['_parent_' + prop] = value;
};
},
+_createInstancePropEffector: function (prop) {
+return function (source, value, old, fromAbove) {
+if (!fromAbove) {
+this.dataHost._forwardInstanceProp(this, prop, value);
+}
+};
+},
_extendTemplate: function (template, proto) {
Object.getOwnPropertyNames(proto).forEach(function (n) {
var val = template[n];
var pd = Object.getOwnPropertyDescriptor(proto, n);
Object.defineProperty(template, n, pd);
if (val !== undefined) {
-template._propertySet(n, val);
+template._propertySetter(n, val);
}
});
},
+_showHideChildren: function (hidden) {
+},
_forwardInstancePath: function (inst, path, value) {
},
+_forwardInstanceProp: function (inst, prop, value) {
+},
_notifyPathImpl: function (path, value) {
var dataHost = this.dataHost;
var dot = path.indexOf('.');
@@ -2992,6 +3235,7 @@ this._rootDataHost = host._getRootDataHost();
this._setupConfigure(model);
this._pushHost(host);
this.root = this.instanceTemplate(this._template);
+this.root.__noContent = !this._notes._hasContent;
this.root.__styleScoped = true;
this._popHost();
this._marshalAnnotatedNodes();
@@ -3003,6 +3247,9 @@ children.push(n);
n._templateInstance = this;
}
this._children = children;
+if (host.__hideTemplateChildren__) {
+this._showHideChildren(true);
+}
this._tryReady();
},
_listenImpl: function (node, eventName, methodName) {
@@ -3029,6 +3276,20 @@ model[prop] = this['_parent_' + prop];
}
}
return new this.ctor(model, this);
+},
+modelForElement: function (el) {
+var model;
+while (el) {
+if (model = el._templateInstance) {
+if (model.dataHost != this) {
+el = model.dataHost;
+} else {
+return model;
+}
+} else {
+el = el.parentNode;
+}
+}
}
};
Polymer({
@@ -3075,7 +3336,7 @@ this._removeFromMap(this.store[key]);
delete this.store[key];
},
_removeFromMap: function (item) {
-if (typeof item == 'object') {
+if (item && typeof item == 'object') {
this.omap.delete(item);
} else {
delete this.pmap[item];
@@ -3087,7 +3348,7 @@ this.removeKey(key);
return key;
},
getKey: function (item) {
-if (typeof item == 'object') {
+if (item && typeof item == 'object') {
return this.omap.get(item);
} else {
return this.pmap[item];
@@ -3096,8 +3357,17 @@ return this.pmap[item];
getKeys: function () {
return Object.keys(this.store);
},
-setItem: function (key, value) {
-this.store[key] = value;
+setItem: function (key, item) {
+var old = this.store[key];
+if (old) {
+this._removeFromMap(old);
+}
+if (item && typeof item == 'object') {
+this.omap.set(item, key);
+} else {
+this.pmap[item] = key;
+}
+this.store[key] = item;
},
getItem: function (key) {
return this.store[key];
@@ -3109,7 +3379,7 @@ items.push(store[key]);
}
return items;
},
-applySplices: function (splices) {
+_applySplices: function (splices) {
var keySplices = [];
for (var i = 0; i < splices.length; i++) {
var j, o, key, s = splices[i];
@@ -3138,6 +3408,10 @@ return keySplices;
Polymer.Collection.get = function (userArray) {
return Polymer._collections.get(userArray) || new Polymer.Collection(userArray);
};
+Polymer.Collection.applySplices = function (userArray, splices) {
+var coll = Polymer._collections.get(userArray);
+return coll ? coll._applySplices(splices) : null;
+};
Polymer({
is: 'dom-repeat',
extends: 'template',
@@ -3167,19 +3441,18 @@ delay: Number
},
behaviors: [Polymer.Templatizer],
observers: ['_itemsChanged(items.*)'],
+created: function () {
+this._instances = [];
+},
detached: function () {
-if (this.rows) {
-for (var i = 0; i < this.rows.length; i++) {
+for (var i = 0; i < this._instances.length; i++) {
this._detachRow(i);
}
-}
},
attached: function () {
-if (this.rows) {
var parentNode = Polymer.dom(this).parentNode;
-for (var i = 0; i < this.rows.length; i++) {
-Polymer.dom(parentNode).insertBefore(this.rows[i].root, this);
-}
+for (var i = 0; i < this._instances.length; i++) {
+Polymer.dom(parentNode).insertBefore(this._instances[i].root, this);
}
},
ready: function () {
@@ -3196,7 +3469,7 @@ var sort = this.sort;
this._sortFn = sort && (typeof sort == 'function' ? sort : function () {
return dataHost[sort].apply(dataHost, arguments);
});
-this._fullRefresh = true;
+this._needFullRefresh = true;
if (this.items) {
this._debounceTemplate(this._render);
}
@@ -3207,7 +3480,7 @@ var filter = this.filter;
this._filterFn = filter && (typeof filter == 'function' ? filter : function () {
return dataHost[filter].apply(dataHost, arguments);
});
-this._fullRefresh = true;
+this._needFullRefresh = true;
if (this.items) {
this._debounceTemplate(this._render);
}
@@ -3225,7 +3498,7 @@ this.collection = null;
this._error(this._logf('dom-repeat', 'expected array for `items`,' + ' found', this.items));
}
this._splices = [];
-this._fullRefresh = true;
+this._needFullRefresh = true;
this._debounceTemplate(this._render);
} else if (change.path == 'items.splices') {
this._splices = this._splices.concat(change.value.keySplices);
@@ -3242,7 +3515,7 @@ path = path.substring(path.indexOf('.') + 1);
var paths = this._observePaths;
for (var i = 0; i < paths.length; i++) {
if (path.indexOf(paths[i]) === 0) {
-this._fullRefresh = true;
+this._needFullRefresh = true;
if (this.delay) {
this.debounce('render', this._render, this.delay);
} else {
@@ -3254,102 +3527,111 @@ return;
}
},
render: function () {
-this._fullRefresh = true;
-this.debounce('render', this._render);
+this._needFullRefresh = true;
+this._debounceTemplate(this._render);
this._flushTemplates();
},
_render: function () {
var c = this.collection;
-if (!this._fullRefresh) {
+if (this._needFullRefresh) {
+this._applyFullRefresh();
+this._needFullRefresh = false;
+} else {
if (this._sortFn) {
-this._applySplicesViewSort(this._splices);
+this._applySplicesUserSort(this._splices);
} else {
if (this._filterFn) {
-this._fullRefresh = true;
+this._applyFullRefresh();
} else {
-this._applySplicesArraySort(this._splices);
-}
+this._applySplicesArrayOrder(this._splices);
}
}
-if (this._fullRefresh) {
-this._sortAndFilter();
-this._fullRefresh = false;
}
this._splices = [];
-var rowForKey = this._rowForKey = {};
-var keys = this._orderedKeys;
-this.rows = this.rows || [];
-for (var i = 0; i < keys.length; i++) {
-var key = keys[i];
-var item = c.getItem(key);
-var row = this.rows[i];
-rowForKey[key] = i;
-if (!row) {
-this.rows.push(row = this._insertRow(i, null, item));
-}
-row[this.as] = item;
-row.__key__ = key;
-row[this.indexAs] = i;
-}
-for (; i < this.rows.length; i++) {
-this._detachRow(i);
+var keyToIdx = this._keyToInstIdx = {};
+for (var i = 0; i < this._instances.length; i++) {
+var inst = this._instances[i];
+keyToIdx[inst.__key__] = i;
+inst.__setProperty(this.indexAs, i, true);
}
-this.rows.splice(keys.length, this.rows.length - keys.length);
this.fire('dom-change');
},
-_sortAndFilter: function () {
+_applyFullRefresh: function () {
var c = this.collection;
-if (!this._sortFn) {
-this._orderedKeys = [];
+var keys;
+if (this._sortFn) {
+keys = c ? c.getKeys() : [];
+} else {
+keys = [];
var items = this.items;
if (items) {
for (var i = 0; i < items.length; i++) {
-this._orderedKeys.push(c.getKey(items[i]));
+keys.push(c.getKey(items[i]));
}
}
-} else {
-this._orderedKeys = c ? c.getKeys() : [];
}
if (this._filterFn) {
-this._orderedKeys = this._orderedKeys.filter(function (a) {
+keys = keys.filter(function (a) {
return this._filterFn(c.getItem(a));
}, this);
}
if (this._sortFn) {
-this._orderedKeys.sort(function (a, b) {
+keys.sort(function (a, b) {
return this._sortFn(c.getItem(a), c.getItem(b));
}.bind(this));
}
+for (var i = 0; i < keys.length; i++) {
+var key = keys[i];
+var inst = this._instances[i];
+if (inst) {
+inst.__setProperty('__key__', key, true);
+inst.__setProperty(this.as, c.getItem(key), true);
+} else {
+this._instances.push(this._insertRow(i, key));
+}
+}
+for (; i < this._instances.length; i++) {
+this._detachRow(i);
+}
+this._instances.splice(keys.length, this._instances.length - keys.length);
},
_keySort: function (a, b) {
return this.collection.getKey(a) - this.collection.getKey(b);
},
-_applySplicesViewSort: function (splices) {
+_applySplicesUserSort: function (splices) {
var c = this.collection;
-var keys = this._orderedKeys;
-var rows = this.rows;
-var removedRows = [];
-var addedKeys = [];
+var instances = this._instances;
+var keyMap = {};
var pool = [];
var sortFn = this._sortFn || this._keySort.bind(this);
splices.forEach(function (s) {
for (var i = 0; i < s.removed.length; i++) {
-var idx = this._rowForKey[s.removed[i]];
-if (idx != null) {
-removedRows.push(idx);
-}
+var key = s.removed[i];
+keyMap[key] = keyMap[key] ? null : -1;
}
for (var i = 0; i < s.added.length; i++) {
-addedKeys.push(s.added[i]);
+var key = s.added[i];
+keyMap[key] = keyMap[key] ? null : 1;
}
}, this);
-if (removedRows.length) {
-removedRows.sort();
-for (var i = removedRows.length - 1; i >= 0; i--) {
-var idx = removedRows[i];
+var removedIdxs = [];
+var addedKeys = [];
+for (var key in keyMap) {
+if (keyMap[key] === -1) {
+removedIdxs.push(this._keyToInstIdx[key]);
+}
+if (keyMap[key] === 1) {
+addedKeys.push(key);
+}
+}
+if (removedIdxs.length) {
+removedIdxs.sort();
+for (var i = removedIdxs.length - 1; i >= 0; i--) {
+var idx = removedIdxs[i];
+if (idx !== undefined) {
pool.push(this._detachRow(idx));
-rows.splice(idx, 1);
-keys.splice(idx, 1);
+instances.splice(idx, 1);
+}
}
}
if (addedKeys.length) {
@@ -3363,19 +3645,19 @@ return this._sortFn(c.getItem(a), c.getItem(b));
}.bind(this));
var start = 0;
for (var i = 0; i < addedKeys.length; i++) {
-start = this._insertRowIntoViewSort(start, addedKeys[i], pool);
+start = this._insertRowUserSort(start, addedKeys[i], pool);
}
}
},
-_insertRowIntoViewSort: function (start, key, pool) {
+_insertRowUserSort: function (start, key, pool) {
var c = this.collection;
var item = c.getItem(key);
-var end = this.rows.length - 1;
+var end = this._instances.length - 1;
var idx = -1;
var sortFn = this._sortFn || this._keySort.bind(this);
while (start <= end) {
var mid = start + end >> 1;
-var midKey = this._orderedKeys[mid];
+var midKey = this._instances[mid].__key__;
var cmp = sortFn(c.getItem(midKey), item);
if (cmp < 0) {
start = mid + 1;
@@ -3389,121 +3671,114 @@ break;
if (idx < 0) {
idx = end + 1;
}
-this._orderedKeys.splice(idx, 0, key);
-this.rows.splice(idx, 0, this._insertRow(idx, pool, c.getItem(key)));
+this._instances.splice(idx, 0, this._insertRow(idx, key, pool));
return idx;
},
-_applySplicesArraySort: function (splices) {
-var keys = this._orderedKeys;
+_applySplicesArrayOrder: function (splices) {
var pool = [];
+var c = this.collection;
splices.forEach(function (s) {
for (var i = 0; i < s.removed.length; i++) {
-pool.push(this._detachRow(s.index + i));
+var inst = this._detachRow(s.index + i);
+if (!inst.isPlaceholder) {
+pool.push(inst);
}
-this.rows.splice(s.index, s.removed.length);
-}, this);
-var c = this.collection;
-splices.forEach(function (s) {
-var args = [
-s.index,
-s.removed.length
-].concat(s.added);
-keys.splice.apply(keys, args);
+}
+this._instances.splice(s.index, s.removed.length);
for (var i = 0; i < s.added.length; i++) {
-var item = c.getItem(s.added[i]);
-var row = this._insertRow(s.index + i, pool, item);
-this.rows.splice(s.index + i, 0, row);
+var inst = {
+isPlaceholder: true,
+key: s.added[i]
+};
+this._instances.splice(s.index + i, 0, inst);
}
}, this);
+for (var i = this._instances.length - 1; i >= 0; i--) {
+var inst = this._instances[i];
+if (inst.isPlaceholder) {
+this._instances[i] = this._insertRow(i, inst.key, pool, true);
+}
+}
},
_detachRow: function (idx) {
-var row = this.rows[idx];
+var inst = this._instances[idx];
+if (!inst.isPlaceholder) {
var parentNode = Polymer.dom(this).parentNode;
-for (var i = 0; i < row._children.length; i++) {
-var el = row._children[i];
-Polymer.dom(row.root).appendChild(el);
+for (var i = 0; i < inst._children.length; i++) {
+var el = inst._children[i];
+Polymer.dom(inst.root).appendChild(el);
}
-return row;
+}
+return inst;
},
-_insertRow: function (idx, pool, item) {
-var row = pool && pool.pop() || this._generateRow(idx, item);
-var beforeRow = this.rows[idx];
+_insertRow: function (idx, key, pool, replace) {
+var inst;
+if (inst = pool && pool.pop()) {
+inst.__setProperty(this.as, this.collection.getItem(key), true);
+inst.__setProperty('__key__', key, true);
+} else {
+inst = this._generateRow(idx, key);
+}
+var beforeRow = this._instances[replace ? idx + 1 : idx];
var beforeNode = beforeRow ? beforeRow._children[0] : this;
var parentNode = Polymer.dom(this).parentNode;
-Polymer.dom(parentNode).insertBefore(row.root, beforeNode);
-return row;
+Polymer.dom(parentNode).insertBefore(inst.root, beforeNode);
+return inst;
},
-_generateRow: function (idx, item) {
-var model = { __key__: this.collection.getKey(item) };
-model[this.as] = item;
+_generateRow: function (idx, key) {
+var model = { __key__: key };
+model[this.as] = this.collection.getItem(key);
model[this.indexAs] = idx;
-var row = this.stamp(model);
-return row;
+var inst = this.stamp(model);
+return inst;
},
_showHideChildren: function (hidden) {
-if (this.rows) {
-for (var i = 0; i < this.rows.length; i++) {
-var c$ = this.rows[i]._children;
-for (var j = 0; j < c$.length; j++) {
-var c = c$[j];
-if (c.style) {
-c.style.display = hidden ? 'none' : '';
-}
-c._hideTemplateChildren = hidden;
+for (var i = 0; i < this._instances.length; i++) {
+this._instances[i]._showHideChildren(hidden);
}
+},
+_forwardInstanceProp: function (inst, prop, value) {
+if (prop == this.as) {
+var idx;
+if (this._sortFn || this._filterFn) {
+idx = this.items.indexOf(this.collection.getItem(inst.__key__));
+} else {
+idx = inst[this.indexAs];
}
+this.set('items.' + idx, value);
}
},
-_forwardInstancePath: function (row, path, value) {
+_forwardInstancePath: function (inst, path, value) {
if (path.indexOf(this.as + '.') === 0) {
-this.notifyPath('items.' + row.__key__ + '.' + path.slice(this.as.length + 1), value);
-return true;
+this.notifyPath('items.' + inst.__key__ + '.' + path.slice(this.as.length + 1), value);
}
},
_forwardParentProp: function (prop, value) {
-if (this.rows) {
-this.rows.forEach(function (row) {
-row[prop] = value;
+this._instances.forEach(function (inst) {
+inst.__setProperty(prop, value, true);
}, this);
-}
},
_forwardParentPath: function (path, value) {
-if (this.rows) {
-this.rows.forEach(function (row) {
-row.notifyPath(path, value, true);
+this._instances.forEach(function (inst) {
+inst.notifyPath(path, value, true);
}, this);
-}
},
_forwardItemPath: function (path, value) {
-if (this._rowForKey) {
+if (this._keyToInstIdx) {
var dot = path.indexOf('.');
var key = path.substring(0, dot < 0 ? path.length : dot);
-var idx = this._rowForKey[key];
-var row = this.rows[idx];
-if (row) {
+var idx = this._keyToInstIdx[key];
+var inst = this._instances[idx];
+if (inst) {
if (dot >= 0) {
path = this.as + '.' + path.substring(dot + 1);
-row.notifyPath(path, value, true);
+inst.notifyPath(path, value, true);
} else {
-row[this.as] = value;
+inst.__setProperty(this.as, value, true);
}
}
}
},
-modelForElement: function (el) {
-var model;
-while (el) {
-if (model = el._templateInstance) {
-if (model.dataHost != this) {
-el = model.dataHost;
-} else {
-return model;
-}
-} else {
-el = el.parentNode;
-}
-}
-},
itemForElement: function (el) {
var instance = this.modelForElement(el);
return instance && instance[this.as];
@@ -3567,8 +3842,10 @@ if (this.multi) {
var scol = Polymer.Collection.get(this.selected);
var skey = scol.getKey(item);
if (skey >= 0) {
+if (this.toggle) {
this.deselect(item);
-} else if (this.toggle) {
+}
+} else {
this.push('selected', item);
this.async(function () {
skey = scol.getKey(item);
@@ -3591,15 +3868,16 @@ extends: 'template',
properties: {
'if': {
type: Boolean,
-value: false
+value: false,
+observer: '_queueRender'
},
restamp: {
type: Boolean,
-value: false
+value: false,
+observer: '_queueRender'
}
},
behaviors: [Polymer.Templatizer],
-observers: ['_queueRender(if, restamp)'],
_queueRender: function () {
this._debounceTemplate(this._render);
},
@@ -3655,7 +3933,7 @@ this._instance = null;
},
_wrapTextNodes: function (root) {
for (var n = root.firstChild; n; n = n.nextSibling) {
-if (n.nodeType === Node.TEXT_NODE) {
+if (n.nodeType === Node.TEXT_NODE && n.textContent.trim()) {
var s = document.createElement('span');
root.insertBefore(s, n);
s.appendChild(n);
@@ -3664,14 +3942,9 @@ n = s;
}
},
_showHideChildren: function () {
-var hidden = this._hideTemplateChildren || !this.if;
+var hidden = this.__hideTemplateChildren__ || !this.if;
if (this._instance) {
-var c$ = this._instance._children;
-for (var i = 0; i < c$.length; i++) {
-var c = c$[i];
-c.style.display = hidden ? 'none' : '';
-c._hideTemplateChildren = hidden;
-}
+this._instance._showHideChildren(hidden);
}
},
_forwardParentProp: function (prop, value) {
@@ -3718,7 +3991,6 @@ created: function () {
Polymer.ImportStatus.whenLoaded(this._readySelf.bind(this));
},
_registerFeatures: function () {
-this._prepExtends();
this._prepConstructor();
},
_insertChildren: function () {
diff --git a/third_party/polymer/v1_0/reproduce.sh b/third_party/polymer/v1_0/reproduce.sh
index 5b52fe6..331164c 100755
--- a/third_party/polymer/v1_0/reproduce.sh
+++ b/third_party/polymer/v1_0/reproduce.sh
@@ -53,4 +53,7 @@ find components -type f \( -name \*.html -o -name \*.css -o -name \*.js\
NBSP=$(python -c 'print u"\u00A0".encode("utf-8")')
sed -i 's/['"$NBSP"']/\\u00A0/g' components/polymer/polymer-mini.html
+# Remove import of external resource in font-roboto (fonts.googleapis.com).
+patch -p1 < chromium.patch
+
./extract_inline_scripts.sh components components-chromium
diff --git a/third_party/web-animations-js/sources/.bower.json b/third_party/web-animations-js/sources/.bower.json
index 4215dea..4759a11 100644
--- a/third_party/web-animations-js/sources/.bower.json
+++ b/third_party/web-animations-js/sources/.bower.json
@@ -28,12 +28,12 @@
"web-animations-next-lite.dev.html",
"web-animations-next-lite.dev.js"
],
- "version": "2.1.0",
- "_release": "2.1.0",
+ "version": "2.1.2",
+ "_release": "2.1.2",
"_resolution": {
"type": "version",
- "tag": "2.1.0",
- "commit": "7215de49976c233fb7abe2c19ee31a1009acc655"
+ "tag": "2.1.2",
+ "commit": "28e527353b67a9d74f6f7cdffe6ccefa3c54e94b"
},
"_source": "git://github.com/web-animations/web-animations-js.git",
"_target": "^2.0.0",
diff --git a/third_party/web-animations-js/sources/History.md b/third_party/web-animations-js/sources/History.md
index c612d230..22cb7c4 100644
--- a/third_party/web-animations-js/sources/History.md
+++ b/third_party/web-animations-js/sources/History.md
@@ -1,3 +1,31 @@
+### 2.1.2 - *July 8 2015*
+ * Fix a bug where onfinish was being called for GroupEffects before they were finished.
+
+### 2.1.1 - *July 1 2015*
+ * Add Animation.timeline getter
+ * Add AnimationEffect.parent getter
+ * Make AnimationEffectTiming (returned by AnimationEffect.timing) attributes mutable
+ * Expose the Animation constructor
+ * Change custom effects from AnimationEffects to onsample functions. Custom effects should now be created by setting the onsample attribute of a KeyframeEffect.
+
+ For example, this is deprecated:
+
+ var myEffect = new KeyframeEffect(
+ element,
+ function(timeFraction, target, effect) {
+ target.style.opacity = timeFraction;
+ },
+ 1000);
+ var myAnimation = document.timeline.play(myEffect);
+
+ and this should be used insead:
+
+ var myEffect = new KeyframeEffect(element, [], 1000);
+ effect.onsample = function(timeFraction, effect, animation) {
+ effect.target.style.opacity = timeFraction;
+ };
+ var myAnimation = document.timeline.play(myEffect);
+
### 2.1.0 - *June 15 2015*
* Fix bug affecting GroupEffects with infinite iteration children
* Add GroupEffect.firstChild and GroupEffect.lastChild
diff --git a/third_party/web-animations-js/sources/web-animations-next-lite.min.js b/third_party/web-animations-js/sources/web-animations-next-lite.min.js
index 2ca5d37..afbc954 100644
--- a/third_party/web-animations-js/sources/web-animations-next-lite.min.js
+++ b/third_party/web-animations-js/sources/web-animations-next-lite.min.js
@@ -12,6 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-!function(a,b){b["true"]=a;var c={},d={},e={},f=null;!function(a){function b(a){if("number"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function c(b,c){var d={delay:0,endDelay:0,fill:c?"both":"none",iterationStart:0,iterations:1,duration:c?"auto":0,playbackRate:1,direction:"normal",easing:"linear"};return"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof d[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==q.indexOf(b[c]))return;if("direction"==c&&-1==r.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;d[c]=b[c]}}):d.duration=b,d}function d(a,b){var d=c(a,b);return d.easing=g(d.easing),d}function e(a,b,c,d){return 0>a||a>1||0>c||c>1?z:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function f(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function g(a){var b=x.exec(a);if(b)return e.apply(this,b.slice(1).map(Number));var c=y.exec(a);if(c)return f(Number(c[1]),{start:s,middle:t,end:u}[c[2]]);var d=v[a];return d?d:z}function h(a){return Math.abs(i(a)/a.playbackRate)}function i(a){return a.duration*a.iterations}function j(a,b,c){return null==b?A:b<c.delay?B:b>=c.delay+a?C:D}function k(a,b,c,d,e){switch(d){case B:return"backwards"==b||"both"==b?0:null;case D:return c-e;case C:return"forwards"==b||"both"==b?a:null;case A:return null}}function l(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function m(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function n(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function o(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function p(a,b,c){var d=j(a,b,c),e=k(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===B?0:1;var f=c.iterationStart*c.duration,g=l(a,e,f,c),h=m(c.duration,i(c),g,f,c),p=n(c.duration,h,g,c);return o(p,c.duration,h,c)/c.duration}var q="backwards|forwards|both|none".split("|"),r="reverse|alternate|alternate-reverse".split("|"),s=1,t=.5,u=0,v={ease:e(.25,.1,.25,1),"ease-in":e(.42,0,1,1),"ease-out":e(0,0,.58,1),"ease-in-out":e(.42,0,.58,1),"step-start":f(1,s),"step-middle":f(1,t),"step-end":f(1,u)},w="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",x=new RegExp("cubic-bezier\\("+w+","+w+","+w+","+w+"\\)"),y=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,z=function(a){return a},A=0,B=1,C=2,D=3;a.cloneTimingInput=b,a.makeTiming=c,a.normalizeTimingInput=d,a.calculateActiveDuration=h,a.calculateTimeFraction=p,a.calculatePhase=j,a.toTimingFunction=g}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframes must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){var f=e?"are":"is";if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+f+" no longer supported. "+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){if("initial"==c||"initial"==d){var g=b.replace(/-(.)/g,function(a,b){return b.toUpperCase()});"initial"==c&&(c=f[g]),"initial"==d&&(d=f[g])}for(var h=c==d?[]:e[b],i=0;h&&i<h.length;i++){var j=h[i][0](c),k=h[i][0](d);if(void 0!==j&&void 0!==k){var l=h[i][1](j,k);if(l){var m=a.Interpolation.apply(null,l);return function(a){return 0==a?c:1==a?d:m(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c;var f={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};a.propertyInterpolation=d}(d,f),function(a,b){function c(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}b.KeyframeEffect=function(d,e,f){var g,h=c(a.normalizeTimingInput(f)),i=b.convertEffectInput(e),j=function(){i(d,g)};return j._update=function(a){return g=h(a),null!==g},j._clear=function(){i(d,null)},j._hasSameTarget=function(a){return d===a},j._isCurrent=h._isCurrent,j._totalDuration=h._totalDuration,j},b.NullEffect=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){a.apply=function(b,c,d){b.style[a.propertyName(c)]=d},a.clear=function(b,c){b.style[a.propertyName(c)]=""}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.KeyframeEffect(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a,b){a.sequenceNumber=0;var c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this._inEffect=this._effect._update(this.playbackRate<0&&0===this.currentTime?-1:this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects()))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var b=this.currentTime;this._playbackRate=a,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!=b&&(this.currentTime=b)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,b.invalidateEffects()),this._finishedFlag=!1,b.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this._isFinished||this._paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null,this._effect._update(null),b.invalidateEffects(),b.restart())},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this._isFinished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this._paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(c,d,f),function(a,b){function c(a){var b=i;i=[],a<s.currentTime&&(a=s.currentTime),g(a),b.forEach(function(b){b[1](a)}),o&&g(a),f(),l=void 0}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){p.forEach(function(a){a()}),p.length=0}function g(a){n=!1;var c=b.timeline;c.currentTime=a,c._animations.sort(d),m=!1;var e=c._animations;c._animations=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._effect):f.push(b._effect),b._isFinished||b._paused||b._idle||(m=!0),b._inTimeline}),p.push.apply(p,f),p.push.apply(p,g),c._animations.push.apply(c._animations,e),o=!1,m&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.invalidateEffects(),d}};var k,l=void 0,k=function(){return void 0==l&&(l=performance.now()),l},m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n};var o=!1;b.invalidateEffects=function(){o=!0};var p=[],q=1e3/60,r=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){if(o){var a=k();a-s.currentTime>0&&(s.currentTime+=q*(Math.floor((a-s.currentTime)/q)+1)),g(s.currentTime)}return f(),r.apply(this,arguments)}});var s=new e;b.timeline=s}(c,d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}(),!function(a,b){function c(a){var b=window.document.timeline;b.currentTime=a,b._discardAnimations(),0==b._animations.length?e=!1:requestAnimationFrame(c)}var d=window.requestAnimationFrame;window.requestAnimationFrame=function(a){return d(function(b){window.document.timeline._updateAnimationsPromises(),a(b),window.document.timeline._updateAnimationsPromises()})},b.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},getAnimationPlayers:function(){return a.deprecated("AnimationTimeline.getAnimationPlayers","2015-03-23","Use AnimationTimeline.getAnimations instead."),this.getAnimations()},_updateAnimationsPromises:function(){b.animationsWithPromises=b.animationsWithPromises.filter(function(a){return a._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(a){return"finished"!=a.playState&&"idle"!=a.playState})},_play:function(a){var c=new b.Animation(a);return this._animations.push(c),b.restartWebAnimationsNextTick(),c._updatePromises(),c._animation.play(),c._updatePromises(),c},play:function(a){return a&&a.remove(),this._play(a)}};var e=!1;b.restartWebAnimationsNextTick=function(){e||(e=!0,requestAnimationFrame(c))};var f=new b.AnimationTimeline;b.timeline=f;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return f}})}catch(g){}try{window.document.timeline=f}catch(g){}}(c,e,f),function(a,b){b.animationsWithPromises=[],b.Animation=function(b){this.effect=b,b&&(b._animation=this),this._sequenceNumber=a.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},b.Animation.prototype={_updatePromises:function(){var a=this._oldPlayState,b=this.playState;return this._readyPromise&&b!==a&&("idle"==b?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==a?this._resolveReadyPromise():"pending"==b&&(this._readyPromise=void 0)),this._finishedPromise&&b!==a&&("idle"==b?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==b?this._resolveFinishedPromise():"finished"==a&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var a,c,d,e,f=this._animation?!0:!1;f&&(a=this.playbackRate,c=this._paused,d=this.startTime,e=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=b.newUnderlyingAnimationForKeyframeEffect(this.effect),b.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=b.newUnderlyingAnimationForGroup(this.effect),b.bindAnimationForGroup(this)),f&&(1!=a&&(this.playbackRate=a),null!==d?this.startTime=d:null!==e?this.currentTime=e:null!==this._holdTime&&(this.currentTime=this._holdTime),c&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var a=this.effect._timing.delay;this._childAnimations.forEach(function(c){this._arrangeChildren(c,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c.effect))}.bind(this))}},_setExternalAnimation:function(a){if(this.effect&&this._isGroup)for(var b=0;b<this.effect.children.length;b++)this.effect.children[b]._animation=a,this._childAnimations[b]._setExternalAnimation(a)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var a=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(c){var d=window.document.timeline._play(c);this._childAnimations.push(d),d.playbackRate=this.playbackRate,this._paused&&d.pause(),c._animation=this.effect._animation,this._arrangeChildren(d,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c))
-}.bind(this))}},_arrangeChildren:function(a,b){null===this.startTime?a.currentTime=this.currentTime-b/this.playbackRate:a.startTime!==this.startTime+b/this.playbackRate&&(a.startTime=this.startTime+b/this.playbackRate)},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(a,b){this._resolveFinishedPromise=function(){a(this)},this._rejectFinishedPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get ready(){return window.Promise?(this._readyPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._readyPromise=new Promise(function(a,b){this._resolveReadyPromise=function(){a(this)},this._rejectReadyPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._onfinish},set onfinish(a){"function"==typeof a?(this._onfinish=a,this._animation.onfinish=function(b){b.target=this,a.call(this,b)}.bind(this)):(this._animation.onfinish=a,this.onfinish=this._animation.onfinish)},get currentTime(){this._updatePromises();var a=this._animation.currentTime;return this._updatePromises(),a},set currentTime(a){this._updatePromises(),this._animation.currentTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.currentTime=a-c}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(a){this._updatePromises(),this._animation.startTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.startTime=a+c}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(a){this._updatePromises();var b=this.currentTime;this._animation.playbackRate=a,this._forEachChild(function(b){b.playbackRate=a}),"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!==b&&(this.currentTime=b),this._updatePromises()},get source(){return a.deprecated("Animation.source","2015-03-23","Use Animation.effect instead."),this.effect},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==document.timeline._animations.indexOf(this)&&document.timeline._animations.push(this),this._register(),b.awaitStartTime(this),this._forEachChild(function(a){var b=a.currentTime;a.play(),a.currentTime=b}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(a){a.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var a=this.currentTime;this._animation.reverse(),this._forEachChild(function(a){a.reverse()}),null!==a&&(this.currentTime=a),this._updatePromises()},addEventListener:function(a,b){var c=b;"function"==typeof b&&(c=function(a){a.target=this,b.call(this,a)}.bind(this),b._wrapper=c),this._animation.addEventListener(a,c)},removeEventListener:function(a,b){this._animation.removeEventListener(a,b&&b._wrapper||b)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(b){var c=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(a){b.call(this,a,c),this.effect instanceof window.SequenceEffect&&(c+=a.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var d=this.effect._timing,e=this.currentTime;null!==e&&(e=a.calculateTimeFraction(a.calculateActiveDuration(d),e,d)),(null==e||isNaN(e))&&this._removeChildAnimations()}}}}(c,e,f),function(a,b){function c(b){this._frames=a.normalizeKeyframes(b)}function d(){for(var a=!1;h.length;){var b=h.shift();b._updateChildren(),a=!0}return a}var e=function(a){if(a._animation=void 0,a instanceof window.SequenceEffect||a instanceof window.GroupEffect)for(var b=0;b<a.children.length;b++)e(a.children[b])};b.removeMulti=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];d._parent?(-1==b.indexOf(d._parent)&&b.push(d._parent),d._parent.children.splice(d._parent.children.indexOf(d),1),d._parent=null,e(d)):d._animation&&d._animation.effect==d&&(d._animation.cancel(),d._animation.effect=new KeyframeEffect(null,[]),d._animation._callback&&(d._animation._callback._animation=null),d._animation._rebuildUnderlyingAnimation(),e(d))}for(c=0;c<b.length;c++)b[c]._rebuild()},b.KeyframeEffect=function(b,d,e){return this.target=b,this._timingInput=a.cloneTimingInput(e),this._timing=a.normalizeTimingInput(e),this.timing=a.makeTiming(e),this._normalizedKeyframes="function"==typeof d?d:new c(d),this._keyframes=d,this.activeDuration=a.calculateActiveDuration(this._timing),this},b.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},get effect(){return a.deprecated("KeyframeEffect.effect","2015-03-23","Use KeyframeEffect.getFrames() instead."),this._normalizedKeyframes},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var b=new KeyframeEffect(this.target,[],a.cloneTimingInput(this._timingInput));return b._normalizedKeyframes=this._normalizedKeyframes,b._keyframes=this._keyframes,b},remove:function(){b.removeMulti([this])}};var f=Element.prototype.animate;Element.prototype.animate=function(a,c){return b.timeline._play(new b.KeyframeEffect(this,a,c))};var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");b.newUnderlyingAnimationForKeyframeEffect=function(a){if(a){var b=a.target||g,c=a._keyframes;"function"==typeof c&&(c=[]);var d=a._timingInput}else var b=g,c=[],d=0;return f.apply(b,[c,d])},b.bindAnimationForKeyframeEffect=function(a){a.effect&&"function"==typeof a.effect._normalizedKeyframes&&b.bindAnimationForCustomEffect(a)};var h=[];b.awaitStartTime=function(a){null===a.startTime&&a._isGroup&&(0==h.length&&requestAnimationFrame(d),h.push(a))};var i=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){window.document.timeline._updateAnimationsPromises();var a=i.apply(this,arguments);return d()&&(a=i.apply(this,arguments)),window.document.timeline._updateAnimationsPromises(),a}}),window.KeyframeEffect=b.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(a){return null!==a.effect&&a.effect.target==this}.bind(this))},window.Element.prototype.getAnimationPlayers=function(){return a.deprecated("Element.getAnimationPlayers","2015-03-23","Use Element.getAnimations instead."),this.getAnimations()},window.Animation=function(){a.deprecated("window.Animation","2015-03-23","Use window.KeyframeEffect instead."),window.KeyframeEffect.apply(this,arguments)},window.Animation.prototype=Object.create(window.KeyframeEffect.prototype),window.Animation.prototype.constructor=window.Animation}(c,e,f),function(a,b){function c(a){a._registered||(a._registered=!0,f.push(a),g||(g=!0,requestAnimationFrame(d)))}function d(){var a=f;f=[],a.sort(function(a,b){return a._sequenceNumber-b._sequenceNumber}),a=a.filter(function(a){a();var b=a._animation?a._animation.playState:"idle";return"running"!=b&&"pending"!=b&&(a._registered=!1),a._registered}),f.push.apply(f,a),f.length?(g=!0,requestAnimationFrame(d)):g=!1}var e=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);b.bindAnimationForCustomEffect=function(b){var d=b.effect.target,f=b.effect._normalizedKeyframes,g=b.effect.timing,h=null;g=a.normalizeTimingInput(g);var i=function(){var c=i._animation?i._animation.currentTime:null;null!==c&&(c=a.calculateTimeFraction(a.calculateActiveDuration(g),c,g),isNaN(c)&&(c=null)),c!==h&&f(c,d,b.effect),h=c};i._animation=b,i._registered=!1,i._sequenceNumber=e++,b._callback=i,c(i)};var f=[],g=!1;b.Animation.prototype._register=function(){this._callback&&c(this._callback)}}(c,e,f),function(a,b){function c(a){return a._timing.delay+a.activeDuration+a._timing.endDelay}function d(b,c){this._parent=null,this.children=b||[],this._reparent(this.children),this._timingInput=a.cloneTimingInput(c),this._timing=a.normalizeTimingInput(c,!0),this.timing=a.makeTiming(c,!0),"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){d.apply(this,arguments)},window.GroupEffect=function(){d.apply(this,arguments)},d.prototype={_isAncestor:function(a){for(var b=this;null!==b;){if(b==a)return!0;b=b._parent}return!1},_rebuild:function(){for(var a=this;a;)"auto"===a.timing.duration&&(a._timing.duration=a.activeDuration),a=a._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(a){b.removeMulti(a);for(var c=0;c<a.length;c++)a[c]._parent=this},_putChild:function(a,b){for(var c=b?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",d=0;d<a.length;d++)if(this._isAncestor(a[d]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:c};for(var d=0;d<a.length;d++)b?this.children.push(a[d]):this.children.unshift(a[d]);this._reparent(a),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get firstChild(){return this.children.length?this.children[0]:null},get lastChild(){return this.children.length?this.children[this.children.length-1]:null},clone:function(){for(var b=a.cloneTimingInput(this._timingInput),c=[],d=0;d<this.children.length;d++)c.push(this.children[d].clone());return this instanceof GroupEffect?new GroupEffect(c,b):new SequenceEffect(c,b)},remove:function(){b.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a+=c(b)}),Math.max(a,0)}}),window.GroupEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a=Math.max(a,c(b))}),a}}),b.newUnderlyingAnimationForGroup=function(c){var d,e=null,f=function(b){var c=d._wrapper;return c&&"pending"!=c.playState&&c.effect?null==b?void c._removeChildAnimations():0==b&&c.playbackRate<0&&(e||(e=a.normalizeTimingInput(c.effect.timing)),b=a.calculateTimeFraction(a.calculateActiveDuration(e),-1,e),isNaN(b)||null==b)?(c._forEachChild(function(a){a.currentTime=-1}),void c._removeChildAnimations()):void 0:void 0};return d=b.timeline._play(new b.KeyframeEffect(null,f,c._timing))},b.bindAnimationForGroup=function(a){a._animation._wrapper=a,a._isGroup=!0,b.awaitStartTime(a),a._constructChildAnimations(),a._setExternalAnimation(a)},b.groupChildDuration=c,window.AnimationSequence=function(){a.deprecated("window.AnimationSequence","2015-03-23","Use window.SequenceEffect instead."),window.SequenceEffect.apply(this,arguments)},window.AnimationSequence.prototype=Object.create(window.SequenceEffect.prototype),window.AnimationSequence.prototype.constructor=window.AnimationSequence,window.AnimationGroup=function(){a.deprecated("window.AnimationGroup","2015-03-23","Use window.GroupEffect instead."),window.GroupEffect.apply(this,arguments)},window.AnimationGroup.prototype=Object.create(window.GroupEffect.prototype),window.AnimationGroup.prototype.constructor=window.AnimationGroup}(c,e,f)}({},function(){return this}());
+!function(a,b){b["true"]=a;var c={},d={},e={},f=null;!function(a){function b(a){if("number"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function c(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear"}function d(b,d){var e=new c;return d&&(e.fill="both",e.duration="auto"),"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof e[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==s.indexOf(b[c]))return;if("direction"==c&&-1==t.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;e[c]=b[c]}}):e.duration=b,e}function e(a){return"number"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function f(b,c){b=a.numericTimingToObject(b);var e=d(b,c);return e._easing=i(e.easing),e}function g(a,b,c,d){return 0>a||a>1||0>c||c>1?B:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function h(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function i(a){var b=z.exec(a);if(b)return g.apply(this,b.slice(1).map(Number));var c=A.exec(a);if(c)return h(Number(c[1]),{start:u,middle:v,end:w}[c[2]]);var d=x[a];return d?d:B}function j(a){return Math.abs(k(a)/a.playbackRate)}function k(a){return a.duration*a.iterations}function l(a,b,c){return null==b?C:b<c.delay?D:b>=c.delay+a?E:F}function m(a,b,c,d,e){switch(d){case D:return"backwards"==b||"both"==b?0:null;case F:return c-e;case E:return"forwards"==b||"both"==b?a:null;case C:return null}}function n(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function o(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function p(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function q(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function r(a,b,c){var d=l(a,b,c),e=m(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===D?0:1;var f=c.iterationStart*c.duration,g=n(a,e,f,c),h=o(c.duration,k(c),g,f,c),i=p(c.duration,h,g,c);return q(i,c.duration,h,c)/c.duration}var s="backwards|forwards|both|none".split("|"),t="reverse|alternate|alternate-reverse".split("|");c.prototype={_setMember:function(b,c){this["_"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(a.normalizeTimingInput(this._effect._timingInput)),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember("delay",a)},get delay(){return this._delay},set endDelay(a){this._setMember("endDelay",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember("fill",a)},get fill(){return this._fill},set iterationStart(a){this._setMember("iterationStart",a)},get iterationStart(){return this._iterationStart},set duration(a){this._setMember("duration",a)},get duration(){return this._duration},set direction(a){this._setMember("direction",a)},get direction(){return this._direction},set easing(a){this._setMember("easing",a)},get easing(){return this._easing},set iterations(a){this._setMember("iterations",a)},get iterations(){return this._iterations}};var u=1,v=.5,w=0,x={ease:g(.25,.1,.25,1),"ease-in":g(.42,0,1,1),"ease-out":g(0,0,.58,1),"ease-in-out":g(.42,0,.58,1),"step-start":h(1,u),"step-middle":h(1,v),"step-end":h(1,w)},y="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",z=new RegExp("cubic-bezier\\("+y+","+y+","+y+","+y+"\\)"),A=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,B=function(a){return a},C=0,D=1,E=2,F=3;a.cloneTimingInput=b,a.makeTiming=d,a.numericTimingToObject=e,a.normalizeTimingInput=f,a.calculateActiveDuration=j,a.calculateTimeFraction=r,a.calculatePhase=l,a.toTimingFunction=i}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframes must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){var f=e?"are":"is";if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+f+" no longer supported. "+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){if("initial"==c||"initial"==d){var g=b.replace(/-(.)/g,function(a,b){return b.toUpperCase()});"initial"==c&&(c=f[g]),"initial"==d&&(d=f[g])}for(var h=c==d?[]:e[b],i=0;h&&i<h.length;i++){var j=h[i][0](c),k=h[i][0](d);if(void 0!==j&&void 0!==k){var l=h[i][1](j,k);if(l){var m=a.Interpolation.apply(null,l);return function(a){return 0==a?c:1==a?d:m(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c;var f={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};a.propertyInterpolation=d}(d,f),function(a,b){function c(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}b.KeyframeEffect=function(d,e,f){var g,h=c(a.normalizeTimingInput(f)),i=b.convertEffectInput(e),j=function(){i(d,g)};return j._update=function(a){return g=h(a),null!==g},j._clear=function(){i(d,null)},j._hasSameTarget=function(a){return d===a},j._isCurrent=h._isCurrent,j._totalDuration=h._totalDuration,j},b.NullEffect=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){a.apply=function(b,c,d){b.style[a.propertyName(c)]=d},a.clear=function(b,c){b.style[a.propertyName(c)]=""}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.KeyframeEffect(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a,b){a.sequenceNumber=0;var c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this._inEffect=this._effect._update(this.playbackRate<0&&0===this.currentTime?-1:this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects()))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var b=this.currentTime;this._playbackRate=a,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!=b&&(this.currentTime=b)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,b.invalidateEffects()),this._finishedFlag=!1,b.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this._isFinished||this._paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null,this._effect._update(null),b.invalidateEffects(),b.restart())},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this._isFinished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this._paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(c,d,f),function(a,b){function c(a){var b=i;i=[],a<s.currentTime&&(a=s.currentTime),g(a),b.forEach(function(b){b[1](a)}),o&&g(a),f(),l=void 0}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){p.forEach(function(a){a()}),p.length=0}function g(a){n=!1;var c=b.timeline;c.currentTime=a,c._animations.sort(d),m=!1;var e=c._animations;c._animations=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._effect):f.push(b._effect),b._isFinished||b._paused||b._idle||(m=!0),b._inTimeline}),p.push.apply(p,f),p.push.apply(p,g),c._animations.push.apply(c._animations,e),o=!1,m&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.invalidateEffects(),d}};var k,l=void 0,k=function(){return void 0==l&&(l=performance.now()),l},m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n};var o=!1;b.invalidateEffects=function(){o=!0};var p=[],q=1e3/60,r=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){if(o){var a=k();a-s.currentTime>0&&(s.currentTime+=q*(Math.floor((a-s.currentTime)/q)+1)),g(s.currentTime)}return f(),r.apply(this,arguments)}});var s=new e;b.timeline=s}(c,d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}(),!function(a,b){function c(a){var b=window.document.timeline;b.currentTime=a,b._discardAnimations(),0==b._animations.length?e=!1:requestAnimationFrame(c)}var d=window.requestAnimationFrame;window.requestAnimationFrame=function(a){return d(function(b){window.document.timeline._updateAnimationsPromises(),a(b),window.document.timeline._updateAnimationsPromises()})},b.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){b.animationsWithPromises=b.animationsWithPromises.filter(function(a){return a._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(a){return"finished"!=a.playState&&"idle"!=a.playState})},_play:function(a){var c=new b.Animation(a,this);return this._animations.push(c),b.restartWebAnimationsNextTick(),c._updatePromises(),c._animation.play(),c._updatePromises(),c},play:function(a){return a&&a.remove(),this._play(a)}};var e=!1;b.restartWebAnimationsNextTick=function(){e||(e=!0,requestAnimationFrame(c))};var f=new b.AnimationTimeline;b.timeline=f;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return f}})}catch(g){}try{window.document.timeline=f}catch(g){}}(c,e,f),function(a,b){b.animationsWithPromises=[],b.Animation=function(b,c){if(this.effect=b,b&&(b._animation=this),!c)throw new Error("Animation with null timeline is not supported");this._timeline=c,this._sequenceNumber=a.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},b.Animation.prototype={_updatePromises:function(){var a=this._oldPlayState,b=this.playState;return this._readyPromise&&b!==a&&("idle"==b?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==a?this._resolveReadyPromise():"pending"==b&&(this._readyPromise=void 0)),this._finishedPromise&&b!==a&&("idle"==b?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==b?this._resolveFinishedPromise():"finished"==a&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var a,c,d,e,f=this._animation?!0:!1;f&&(a=this.playbackRate,c=this._paused,d=this.startTime,e=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=b.newUnderlyingAnimationForKeyframeEffect(this.effect),b.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=b.newUnderlyingAnimationForGroup(this.effect),b.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&b.bindAnimationForCustomEffect(this),f&&(1!=a&&(this.playbackRate=a),null!==d?this.startTime=d:null!==e?this.currentTime=e:null!==this._holdTime&&(this.currentTime=this._holdTime),c&&this.pause()),this._updatePromises()
+},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var a=this.effect._timing.delay;this._childAnimations.forEach(function(c){this._arrangeChildren(c,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c.effect))}.bind(this))}},_setExternalAnimation:function(a){if(this.effect&&this._isGroup)for(var b=0;b<this.effect.children.length;b++)this.effect.children[b]._animation=a,this._childAnimations[b]._setExternalAnimation(a)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var a=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(c){var d=window.document.timeline._play(c);this._childAnimations.push(d),d.playbackRate=this.playbackRate,this._paused&&d.pause(),c._animation=this.effect._animation,this._arrangeChildren(d,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c))}.bind(this))}},_arrangeChildren:function(a,b){null===this.startTime?a.currentTime=this.currentTime-b/this.playbackRate:a.startTime!==this.startTime+b/this.playbackRate&&(a.startTime=this.startTime+b/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(a,b){this._resolveFinishedPromise=function(){a(this)},this._rejectFinishedPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get ready(){return window.Promise?(this._readyPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._readyPromise=new Promise(function(a,b){this._resolveReadyPromise=function(){a(this)},this._rejectReadyPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._onfinish},set onfinish(a){"function"==typeof a?(this._onfinish=a,this._animation.onfinish=function(b){b.target=this,a.call(this,b)}.bind(this)):(this._animation.onfinish=a,this.onfinish=this._animation.onfinish)},get currentTime(){this._updatePromises();var a=this._animation.currentTime;return this._updatePromises(),a},set currentTime(a){this._updatePromises(),this._animation.currentTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.currentTime=a-c}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(a){this._updatePromises(),this._animation.startTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.startTime=a+c}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(a){this._updatePromises();var b=this.currentTime;this._animation.playbackRate=a,this._forEachChild(function(b){b.playbackRate=a}),"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!==b&&(this.currentTime=b),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),b.awaitStartTime(this),this._forEachChild(function(a){var b=a.currentTime;a.play(),a.currentTime=b}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(a){a.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var a=this.currentTime;this._animation.reverse(),this._forEachChild(function(a){a.reverse()}),null!==a&&(this.currentTime=a),this._updatePromises()},addEventListener:function(a,b){var c=b;"function"==typeof b&&(c=function(a){a.target=this,b.call(this,a)}.bind(this),b._wrapper=c),this._animation.addEventListener(a,c)},removeEventListener:function(a,b){this._animation.removeEventListener(a,b&&b._wrapper||b)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(b){var c=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(a){b.call(this,a,c),this.effect instanceof window.SequenceEffect&&(c+=a.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var d=this.effect._timing,e=this.currentTime;null!==e&&(e=a.calculateTimeFraction(a.calculateActiveDuration(d),e,d)),(null==e||isNaN(e))&&this._removeChildAnimations()}}},window.Animation=b.Animation}(c,e,f),function(a,b){function c(b){this._frames=a.normalizeKeyframes(b)}function d(){for(var a=!1;h.length;){var b=h.shift();b._updateChildren(),a=!0}return a}var e=function(a){if(a._animation=void 0,a instanceof window.SequenceEffect||a instanceof window.GroupEffect)for(var b=0;b<a.children.length;b++)e(a.children[b])};b.removeMulti=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];d._parent?(-1==b.indexOf(d._parent)&&b.push(d._parent),d._parent.children.splice(d._parent.children.indexOf(d),1),d._parent=null,e(d)):d._animation&&d._animation.effect==d&&(d._animation.cancel(),d._animation.effect=new KeyframeEffect(null,[]),d._animation._callback&&(d._animation._callback._animation=null),d._animation._rebuildUnderlyingAnimation(),e(d))}for(c=0;c<b.length;c++)b[c]._rebuild()},b.KeyframeEffect=function(b,d,e){return this.target=b,this._parent=null,e=a.numericTimingToObject(e),this._timingInput=a.cloneTimingInput(e),this._timing=a.normalizeTimingInput(e),this.timing=a.makeTiming(e,!1,this),this.timing._effect=this,"function"==typeof d?(a.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=d):this._normalizedKeyframes=new c(d),this._keyframes=d,this.activeDuration=a.calculateActiveDuration(this._timing),this},b.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(a){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=a,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var b=new KeyframeEffect(this.target,[],a.cloneTimingInput(this._timingInput));return b._normalizedKeyframes=this._normalizedKeyframes,b._keyframes=this._keyframes,b},remove:function(){b.removeMulti([this])}};var f=Element.prototype.animate;Element.prototype.animate=function(a,c){return b.timeline._play(new b.KeyframeEffect(this,a,c))};var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");b.newUnderlyingAnimationForKeyframeEffect=function(a){if(a){var b=a.target||g,c=a._keyframes;"function"==typeof c&&(c=[]);var d=a._timingInput}else var b=g,c=[],d=0;return f.apply(b,[c,d])},b.bindAnimationForKeyframeEffect=function(a){a.effect&&"function"==typeof a.effect._normalizedKeyframes&&b.bindAnimationForCustomEffect(a)};var h=[];b.awaitStartTime=function(a){null===a.startTime&&a._isGroup&&(0==h.length&&requestAnimationFrame(d),h.push(a))};var i=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){window.document.timeline._updateAnimationsPromises();var a=i.apply(this,arguments);return d()&&(a=i.apply(this,arguments)),window.document.timeline._updateAnimationsPromises(),a}}),window.KeyframeEffect=b.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(a){return null!==a.effect&&a.effect.target==this}.bind(this))}}(c,e,f),function(a,b){function c(a){a._registered||(a._registered=!0,f.push(a),g||(g=!0,requestAnimationFrame(d)))}function d(){var a=f;f=[],a.sort(function(a,b){return a._sequenceNumber-b._sequenceNumber}),a=a.filter(function(a){a();var b=a._animation?a._animation.playState:"idle";return"running"!=b&&"pending"!=b&&(a._registered=!1),a._registered}),f.push.apply(f,a),f.length?(g=!0,requestAnimationFrame(d)):g=!1}var e=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);b.bindAnimationForCustomEffect=function(b){var d,f=b.effect.target,g="function"==typeof b.effect.getFrames();d=g?b.effect.getFrames():b.effect._onsample;var h=b.effect.timing,i=null;h=a.normalizeTimingInput(h);var j=function(){var c=j._animation?j._animation.currentTime:null;null!==c&&(c=a.calculateTimeFraction(a.calculateActiveDuration(h),c,h),isNaN(c)&&(c=null)),c!==i&&(g?d(c,f,b.effect):d(c,b.effect,b.effect._animation)),i=c};j._animation=b,j._registered=!1,j._sequenceNumber=e++,b._callback=j,c(j)};var f=[],g=!1;b.Animation.prototype._register=function(){this._callback&&c(this._callback)}}(c,e,f),function(a,b){function c(a){return a._timing.delay+a.activeDuration+a._timing.endDelay}function d(b,c){this._parent=null,this.children=b||[],this._reparent(this.children),c=a.numericTimingToObject(c),this._timingInput=a.cloneTimingInput(c),this._timing=a.normalizeTimingInput(c,!0),this.timing=a.makeTiming(c,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){d.apply(this,arguments)},window.GroupEffect=function(){d.apply(this,arguments)},d.prototype={_isAncestor:function(a){for(var b=this;null!==b;){if(b==a)return!0;b=b._parent}return!1},_rebuild:function(){for(var a=this;a;)"auto"===a.timing.duration&&(a._timing.duration=a.activeDuration),a=a._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(a){b.removeMulti(a);for(var c=0;c<a.length;c++)a[c]._parent=this},_putChild:function(a,b){for(var c=b?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",d=0;d<a.length;d++)if(this._isAncestor(a[d]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:c};for(var d=0;d<a.length;d++)b?this.children.push(a[d]):this.children.unshift(a[d]);this._reparent(a),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._parent},get firstChild(){return this.children.length?this.children[0]:null},get lastChild(){return this.children.length?this.children[this.children.length-1]:null},clone:function(){for(var b=a.cloneTimingInput(this._timingInput),c=[],d=0;d<this.children.length;d++)c.push(this.children[d].clone());return this instanceof GroupEffect?new GroupEffect(c,b):new SequenceEffect(c,b)},remove:function(){b.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a+=c(b)}),Math.max(a,0)}}),window.GroupEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a=Math.max(a,c(b))}),a}}),b.newUnderlyingAnimationForGroup=function(c){var d,e=null,f=function(b){var c=d._wrapper;return c&&"pending"!=c.playState&&c.effect?null==b?void c._removeChildAnimations():0==b&&c.playbackRate<0&&(e||(e=a.normalizeTimingInput(c.effect.timing)),b=a.calculateTimeFraction(a.calculateActiveDuration(e),-1,e),isNaN(b)||null==b)?(c._forEachChild(function(a){a.currentTime=-1}),void c._removeChildAnimations()):void 0:void 0},g=new KeyframeEffect(null,[],c._timing);return g.onsample=f,d=b.timeline._play(g)},b.bindAnimationForGroup=function(a){a._animation._wrapper=a,a._isGroup=!0,b.awaitStartTime(a),a._constructChildAnimations(),a._setExternalAnimation(a)},b.groupChildDuration=c}(c,e,f)}({},function(){return this}());
//# sourceMappingURL=web-animations-next-lite.min.js.map \ No newline at end of file
diff --git a/third_party/web-animations-js/sources/web-animations-next-lite.min.js.map b/third_party/web-animations-js/sources/web-animations-next-lite.min.js.map
index 61fcb9f..75474b7 100644
--- a/third_party/web-animations-js/sources/web-animations-next-lite.min.js.map
+++ b/third_party/web-animations-js/sources/web-animations-next-lite.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"web-animations-next-lite.min.js","sources":["src/scope.js","src/timing-utilities.js","src/normalize-keyframes.js","src/deprecation.js","src/keyframe-interpolations.js","src/timeline.js","src/web-animations-next-animation.js","src/keyframe-effect-constructor.js","src/effect-callback.js","src/group-constructors.js"],"names":["webAnimationsShared","webAnimations1","webAnimationsNext","webAnimationsTesting","shared","cloneTimingInput","timingInput","clone","m","makeTiming","forGroup","timing","delay","endDelay","fill","iterationStart","iterations","duration","playbackRate","direction","easing","isNaN","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","isDeprecated","normalizeTimingInput","toTimingFunction","cubic","a","b","c","d","linear","x","f","start","end","mid","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","this","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","calculatePhase","activeDuration","localTime","PhaseNone","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","calculateCurrentIteration","iterationTime","floor","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","directedTime","timeFraction","calculateTimeFraction","split","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","antiAlias","value","aliases","expandShorthandAndAntiAlias","result","longProperties","shorthandToLonghand","shorthandExpanderElem","style","i","longProperty","longhandValue","normalizeKeyframes","effectInput","spaceKeyframes","length","keyframes","offset","previousIndex","previousOffset","j","Array","isArray","TypeError","originalKeyframe","keyframe","member","memberValue","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","everyFrameHasOffset","code","INVALID_MODIFICATION_ERR","filter","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","document","createElementNS","borderWidthAliases","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","silenced","feature","date","advice","plural","auxVerb","today","Date","expiry","setMonth","getMonth","console","warn","toDateString","deprecated","Error","testing","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","groupName","group","scope","webAnimationsNextTick","t","timeline","window","currentTime","_discardAnimations","_animations","ticking","requestAnimationFrame","originalRequestAnimationFrame","_updateAnimationsPromises","AnimationTimeline","prototype","getAnimations","getAnimationPlayers","animationsWithPromises","animation","_updatePromises","playState","_play","effect","Animation","push","restartWebAnimationsNextTick","_animation","play","remove","defineProperty","configurable","get","e","_sequenceNumber","sequenceNumber","_holdTime","_paused","_isGroup","_childAnimations","_callback","_oldPlayState","_rebuildUnderlyingAnimation","cancel","oldPlayState","newPlayState","_readyPromise","_rejectReadyPromise","_resolveReadyPromise","_finishedPromise","_rejectFinishedPromise","_resolveFinishedPromise","oldPlaybackRate","oldPaused","oldStartTime","oldCurrentTime","hadUnderlying","startTime","_wrapper","KeyframeEffect","newUnderlyingAnimationForKeyframeEffect","bindAnimationForKeyframeEffect","SequenceEffect","GroupEffect","newUnderlyingAnimationForGroup","bindAnimationForGroup","pause","_updateChildren","_timing","childAnimation","_arrangeChildren","groupChildDuration","bind","_setExternalAnimation","children","_constructChildAnimations","_removeChildAnimations","child",{"end":{"file":"src/animation.js","comments_before":[],"nlb":false,"endpos":2487,"pos":2476,"col":8,"line":72,"value":"currentTime","type":"name"},"start":{"file":"src/animation.js","comments_before":[],"nlb":false,"endpos":2487,"pos":2476,"col":8,"line":72,"value":"currentTime","type":"name"},"name":"currentTime"},"finished","Promise","resolve","reject","ABORT_ERR","ready","onfinish","_onfinish","v","target","call","sign","MAX_VALUE","_register","_forEachChild","source","awaitStartTime","time","finish","reverse","addEventListener","handler","wrapped","removeEventListener","pop","KeyframeList","_frames","updatePendingGroups","updated","pendingGroups","shift","disassociate","removeMulti","effects","oldParents","_parent","splice","_rebuild","_timingInput","_normalizedKeyframes","_keyframes","getFrames","originalElementAnimate","Element","animate","nullTarget","keyframeEffect","bindAnimationForCustomEffect","groupAnimation","originalGetComputedStyle","getComputedStyle","enumerable","arguments","create","constructor","register","callback","_registered","callbacks","tick","updating","sort","left","right","effectFunction","last","node","_reparent","_isAncestor","newChildren","_putChild","args","isAppend","HIERARCHY_REQUEST_ERR","unshift","append","prepend","firstChild","lastChild","clonedTiming","clonedChildren","total","max","underlyingAnimation","ticker","tf","AnimationSequence","AnimationGroup"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"web-animations-next-lite.min.js","sources":["src/scope.js","src/timing-utilities.js","src/normalize-keyframes.js","src/deprecation.js","src/keyframe-interpolations.js","src/timeline.js","src/web-animations-next-animation.js","src/keyframe-effect-constructor.js","src/effect-callback.js","src/group-constructors.js"],"names":["webAnimationsShared","webAnimations1","webAnimationsNext","webAnimationsTesting","shared","cloneTimingInput","timingInput","clone","m","AnimationEffectTiming","this","_delay","_endDelay","_fill","_iterationStart","_iterations","_duration","_playbackRate","_direction","_easing","makeTiming","forGroup","timing","fill","duration","isNaN","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","isDeprecated","numericTimingToObject","normalizeTimingInput","toTimingFunction","easing","cubic","a","b","c","d","linear","x","f","start","end","mid","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","playbackRate","iterations","calculatePhase","activeDuration","localTime","PhaseNone","delay","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","iterationStart","calculateCurrentIteration","iterationTime","floor","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","direction","directedTime","timeFraction","calculateTimeFraction","split","prototype","_setMember","member","value","_effect","_timingInput","_timing","_animation","_rebuildUnderlyingAnimation",{"end":{"file":"src/timing-utilities.js","comments_before":[],"nlb":false,"endpos":1832,"pos":1820,"col":8,"line":55,"value":"playbackRate","type":"name"},"start":{"file":"src/timing-utilities.js","comments_before":[],"nlb":false,"endpos":1832,"pos":1820,"col":8,"line":55,"value":"playbackRate","type":"name"},"name":"playbackRate"},"endDelay","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","antiAlias","aliases","expandShorthandAndAntiAlias","result","longProperties","shorthandToLonghand","shorthandExpanderElem","style","i","longProperty","longhandValue","normalizeKeyframes","effectInput","spaceKeyframes","length","keyframes","offset","previousIndex","previousOffset","j","Array","isArray","TypeError","originalKeyframe","keyframe","memberValue","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","everyFrameHasOffset","code","INVALID_MODIFICATION_ERR","filter","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","document","createElementNS","borderWidthAliases","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","silenced","feature","date","advice","plural","auxVerb","today","Date","expiry","setMonth","getMonth","console","warn","toDateString","deprecated","Error","testing","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","groupName","group","scope","webAnimationsNextTick","t","timeline","window","currentTime","_discardAnimations","_animations","ticking","requestAnimationFrame","originalRequestAnimationFrame","_updateAnimationsPromises","AnimationTimeline","getAnimations","animationsWithPromises","animation","_updatePromises","playState","_play","effect","Animation","push","restartWebAnimationsNextTick","play","remove","defineProperty","configurable","get","e","_timeline","_sequenceNumber","sequenceNumber","_holdTime","_paused","_isGroup","_childAnimations","_callback","_oldPlayState","cancel","oldPlayState","newPlayState","_readyPromise","_rejectReadyPromise","_resolveReadyPromise","_finishedPromise","_rejectFinishedPromise","_resolveFinishedPromise","oldPlaybackRate","oldPaused","oldStartTime","oldCurrentTime","hadUnderlying","startTime","_wrapper","KeyframeEffect","newUnderlyingAnimationForKeyframeEffect","bindAnimationForKeyframeEffect","SequenceEffect","GroupEffect","newUnderlyingAnimationForGroup","bindAnimationForGroup","_onsample","bindAnimationForCustomEffect","pause","_updateChildren","childAnimation","_arrangeChildren","groupChildDuration","bind","_setExternalAnimation","children","_constructChildAnimations","_removeChildAnimations","child","finished","Promise","resolve","reject","ABORT_ERR","ready","onfinish","_onfinish","v","target","call","sign","MAX_VALUE","_register","_forEachChild","awaitStartTime","time","finish","reverse","addEventListener","handler","wrapped","removeEventListener","pop","KeyframeList","_frames","updatePendingGroups","updated","pendingGroups","shift","disassociate","removeMulti","effects","oldParents","_parent","splice","_rebuild","_normalizedKeyframes","_keyframes","getFrames","onsample","callback","parent","originalElementAnimate","Element","animate","nullTarget","keyframeEffect","groupAnimation","originalGetComputedStyle","getComputedStyle","enumerable","arguments","register","_registered","callbacks","tick","updating","sort","left","right","effectFunction","isKeyframeEffect","last","node","constructor","_reparent","_isAncestor","newChildren","_putChild","args","isAppend","HIERARCHY_REQUEST_ERR","unshift","append","prepend","firstChild","lastChild","clonedTiming","clonedChildren","create","total","max","underlyingAnimation","ticker","tf","underlyingEffect"],"mappings":"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"} \ No newline at end of file
diff --git a/third_party/web-animations-js/sources/web-animations-next.min.js b/third_party/web-animations-js/sources/web-animations-next.min.js
index b555389..63b0751 100644
--- a/third_party/web-animations-js/sources/web-animations-next.min.js
+++ b/third_party/web-animations-js/sources/web-animations-next.min.js
@@ -12,6 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-!function(a,b){b["true"]=a;var c={},d={},e={},f=null;!function(a){function b(a){if("number"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function c(b,c){var d={delay:0,endDelay:0,fill:c?"both":"none",iterationStart:0,iterations:1,duration:c?"auto":0,playbackRate:1,direction:"normal",easing:"linear"};return"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof d[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==q.indexOf(b[c]))return;if("direction"==c&&-1==r.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;d[c]=b[c]}}):d.duration=b,d}function d(a,b){var d=c(a,b);return d.easing=g(d.easing),d}function e(a,b,c,d){return 0>a||a>1||0>c||c>1?z:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function f(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function g(a){var b=x.exec(a);if(b)return e.apply(this,b.slice(1).map(Number));var c=y.exec(a);if(c)return f(Number(c[1]),{start:s,middle:t,end:u}[c[2]]);var d=v[a];return d?d:z}function h(a){return Math.abs(i(a)/a.playbackRate)}function i(a){return a.duration*a.iterations}function j(a,b,c){return null==b?A:b<c.delay?B:b>=c.delay+a?C:D}function k(a,b,c,d,e){switch(d){case B:return"backwards"==b||"both"==b?0:null;case D:return c-e;case C:return"forwards"==b||"both"==b?a:null;case A:return null}}function l(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function m(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function n(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function o(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function p(a,b,c){var d=j(a,b,c),e=k(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===B?0:1;var f=c.iterationStart*c.duration,g=l(a,e,f,c),h=m(c.duration,i(c),g,f,c),p=n(c.duration,h,g,c);return o(p,c.duration,h,c)/c.duration}var q="backwards|forwards|both|none".split("|"),r="reverse|alternate|alternate-reverse".split("|"),s=1,t=.5,u=0,v={ease:e(.25,.1,.25,1),"ease-in":e(.42,0,1,1),"ease-out":e(0,0,.58,1),"ease-in-out":e(.42,0,.58,1),"step-start":f(1,s),"step-middle":f(1,t),"step-end":f(1,u)},w="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",x=new RegExp("cubic-bezier\\("+w+","+w+","+w+","+w+"\\)"),y=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,z=function(a){return a},A=0,B=1,C=2,D=3;a.cloneTimingInput=b,a.makeTiming=c,a.normalizeTimingInput=d,a.calculateActiveDuration=h,a.calculateTimeFraction=p,a.calculatePhase=j,a.toTimingFunction=g}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframes must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){var f=e?"are":"is";if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+f+" no longer supported. "+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){if("initial"==c||"initial"==d){var g=b.replace(/-(.)/g,function(a,b){return b.toUpperCase()});"initial"==c&&(c=f[g]),"initial"==d&&(d=f[g])}for(var h=c==d?[]:e[b],i=0;h&&i<h.length;i++){var j=h[i][0](c),k=h[i][0](d);if(void 0!==j&&void 0!==k){var l=h[i][1](j,k);if(l){var m=a.Interpolation.apply(null,l);return function(a){return 0==a?c:1==a?d:m(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c;var f={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};a.propertyInterpolation=d}(d,f),function(a,b){function c(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}b.KeyframeEffect=function(d,e,f){var g,h=c(a.normalizeTimingInput(f)),i=b.convertEffectInput(e),j=function(){i(d,g)};return j._update=function(a){return g=h(a),null!==g},j._clear=function(){i(d,null)},j._hasSameTarget=function(a){return d===a},j._isCurrent=h._isCurrent,j._totalDuration=h._totalDuration,j},b.NullEffect=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){function b(a,b,c){c.enumerable=!0,c.configurable=!0,Object.defineProperty(a,b,c)}function c(a){this._surrogateStyle=document.createElementNS("http://www.w3.org/1999/xhtml","div").style,this._style=a.style,this._length=0,this._isAnimatedProperty={};for(var b=0;b<this._style.length;b++){var c=this._style[b];this._surrogateStyle[c]=this._style[c]}this._updateIndices()}function d(a){if(!a._webAnimationsPatchedStyle){var d=new c(a);try{b(a,"style",{get:function(){return d}})}catch(e){a.style._set=function(b,c){a.style[b]=c},a.style._clear=function(b){a.style[b]=""}}a._webAnimationsPatchedStyle=a.style}}var e={cssText:1,length:1,parentRule:1},f={getPropertyCSSValue:1,getPropertyPriority:1,getPropertyValue:1,item:1,removeProperty:1,setProperty:1},g={removeProperty:1,setProperty:1};c.prototype={get cssText(){return this._surrogateStyle.cssText},set cssText(a){for(var b={},c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;this._surrogateStyle.cssText=a,this._updateIndices();for(var c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;for(var d in b)this._isAnimatedProperty[d]||this._style.setProperty(d,this._surrogateStyle.getPropertyValue(d))},get length(){return this._surrogateStyle.length},get parentRule(){return this._style.parentRule},_updateIndices:function(){for(;this._length<this._surrogateStyle.length;)Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,get:function(a){return function(){return this._surrogateStyle[a]}}(this._length)}),this._length++;for(;this._length>this._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(a,b){this._style[a]=b,this._isAnimatedProperty[a]=!0},_clear:function(a){this._style[a]=this._surrogateStyle[a],delete this._isAnimatedProperty[a]}};for(var h in f)c.prototype[h]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(h,h in g);for(var i in document.documentElement.style)i in e||i in f||!function(a){b(c.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(i);a.apply=function(b,c,e){d(b),b.style._set(a.propertyName(c),e)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.KeyframeEffect(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a){function b(a,b,c){return Math.max(Math.min(a,c),b)}function c(c,d,e){var f=a.dot(c,d);f=b(f,-1,1);var g=[];if(1===f)g=c;else for(var h=Math.acos(f),i=1*Math.sin(e*h)/Math.sqrt(1-f*f),j=0;4>j;j++)g.push(c[j]*(Math.cos(e*h)-f*i)+d[j]*i);return g}var d=function(){function a(a,b){for(var c=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],d=0;4>d;d++)for(var e=0;4>e;e++)for(var f=0;4>f;f++)c[d][e]+=b[d][f]*a[f][e];return c}function b(a){return 0==a[0][2]&&0==a[0][3]&&0==a[1][2]&&0==a[1][3]&&0==a[2][0]&&0==a[2][1]&&1==a[2][2]&&0==a[2][3]&&0==a[3][2]&&1==a[3][3]}function c(c,d,e,f,g){for(var h=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],i=0;4>i;i++)h[i][3]=g[i];for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[3][i]+=c[j]*h[j][i];var k=f[0],l=f[1],m=f[2],n=f[3],o=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];o[0][0]=1-2*(l*l+m*m),o[0][1]=2*(k*l-m*n),o[0][2]=2*(k*m+l*n),o[1][0]=2*(k*l+m*n),o[1][1]=1-2*(k*k+m*m),o[1][2]=2*(l*m-k*n),o[2][0]=2*(k*m-l*n),o[2][1]=2*(l*m+k*n),o[2][2]=1-2*(k*k+l*l),h=a(h,o);var p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];e[2]&&(p[2][1]=e[2],h=a(h,p)),e[1]&&(p[2][1]=0,p[2][0]=e[0],h=a(h,p)),e[0]&&(p[2][0]=0,p[1][0]=e[0],h=a(h,p));for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[i][j]*=d[i];return b(h)?[h[0][0],h[0][1],h[1][0],h[1][1],h[3][0],h[3][1]]:h[0].concat(h[1],h[2],h[3])}return c}();a.composeMatrix=d,a.quat=c}(d,f),function(a,b){a.sequenceNumber=0;var c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this._inEffect=this._effect._update(this.playbackRate<0&&0===this.currentTime?-1:this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects()))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var b=this.currentTime;this._playbackRate=a,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!=b&&(this.currentTime=b)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,b.invalidateEffects()),this._finishedFlag=!1,b.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this._isFinished||this._paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null,this._effect._update(null),b.invalidateEffects(),b.restart())},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this._isFinished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this._paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(c,d,f),function(a,b){function c(a){var b=i;i=[],a<s.currentTime&&(a=s.currentTime),g(a),b.forEach(function(b){b[1](a)}),o&&g(a),f(),l=void 0}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){p.forEach(function(a){a()}),p.length=0}function g(a){n=!1;var c=b.timeline;c.currentTime=a,c._animations.sort(d),m=!1;var e=c._animations;c._animations=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._effect):f.push(b._effect),b._isFinished||b._paused||b._idle||(m=!0),b._inTimeline}),p.push.apply(p,f),p.push.apply(p,g),c._animations.push.apply(c._animations,e),o=!1,m&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.invalidateEffects(),d}};var k,l=void 0,k=function(){return void 0==l&&(l=performance.now()),l},m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n};var o=!1;b.invalidateEffects=function(){o=!0};var p=[],q=1e3/60,r=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){if(o){var a=k();a-s.currentTime>0&&(s.currentTime+=q*(Math.floor((a-s.currentTime)/q)+1)),g(s.currentTime)}return f(),r.apply(this,arguments)}});var s=new e;b.timeline=s}(c,d,f),function(a){function b(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c}function c(a,b){return[a[0]*b[0]+a[4]*b[1]+a[8]*b[2]+a[12]*b[3],a[1]*b[0]+a[5]*b[1]+a[9]*b[2]+a[13]*b[3],a[2]*b[0]+a[6]*b[1]+a[10]*b[2]+a[14]*b[3],a[3]*b[0]+a[7]*b[1]+a[11]*b[2]+a[15]*b[3],a[0]*b[4]+a[4]*b[5]+a[8]*b[6]+a[12]*b[7],a[1]*b[4]+a[5]*b[5]+a[9]*b[6]+a[13]*b[7],a[2]*b[4]+a[6]*b[5]+a[10]*b[6]+a[14]*b[7],a[3]*b[4]+a[7]*b[5]+a[11]*b[6]+a[15]*b[7],a[0]*b[8]+a[4]*b[9]+a[8]*b[10]+a[12]*b[11],a[1]*b[8]+a[5]*b[9]+a[9]*b[10]+a[13]*b[11],a[2]*b[8]+a[6]*b[9]+a[10]*b[10]+a[14]*b[11],a[3]*b[8]+a[7]*b[9]+a[11]*b[10]+a[15]*b[11],a[0]*b[12]+a[4]*b[13]+a[8]*b[14]+a[12]*b[15],a[1]*b[12]+a[5]*b[13]+a[9]*b[14]+a[13]*b[15],a[2]*b[12]+a[6]*b[13]+a[10]*b[14]+a[14]*b[15],a[3]*b[12]+a[7]*b[13]+a[11]*b[14]+a[15]*b[15]]}function d(a){switch(a.t){case"rotatex":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,0,Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1];case"rotatey":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),0,-Math.sin(d),0,0,1,0,0,Math.sin(d),0,Math.cos(d),0,0,0,0,1];case"rotate":case"rotatez":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1,0,0,0,0,1];case"rotate3d":var e=a.d[0],f=a.d[1],g=a.d[2],b=a.d[3].rad||0,c=a.d[3].deg||0,d=c*Math.PI/180+b,h=e*e+f*f+g*g;if(0===h)e=1,f=0,g=0;else if(1!==h){var i=Math.sqrt(h);e/=i,f/=i,g/=i}var j=Math.sin(d/2),k=j*Math.cos(d/2),l=j*j;return[1-2*(f*f+g*g)*l,2*(e*f*l+g*k),2*(e*g*l-f*k),0,2*(e*f*l-g*k),1-2*(e*e+g*g)*l,2*(f*g*l+e*k),0,2*(e*g*l+f*k),2*(f*g*l-e*k),1-2*(e*e+f*f)*l,0,0,0,0,1];case"scale":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,1,0,0,0,0,1];case"scalex":return[a.d[0],0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaley":return[1,0,0,0,0,a.d[0],0,0,0,0,1,0,0,0,0,1];case"scalez":return[1,0,0,0,0,1,0,0,0,0,a.d[0],0,0,0,0,1];case"scale3d":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,a.d[2],0,0,0,0,1];case"skew":var m=a.d[0].deg||0,n=a.d[0].rad||0,o=a.d[1].deg||0,p=a.d[1].rad||0,q=m*Math.PI/180+n,r=o*Math.PI/180+p;return[1,Math.tan(r),0,0,Math.tan(q),1,0,0,0,0,1,0,0,0,0,1];case"skewx":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,Math.tan(d),1,0,0,0,0,1,0,0,0,0,1];case"skewy":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,Math.tan(d),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":var e=a.d[0].px||0,f=a.d[1].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,0,1];case"translatex":var e=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translatey":var f=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,f,0,1];case"translatez":var g=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,g,1];case"translate3d":var e=a.d[0].px||0,f=a.d[1].px||0,g=a.d[2].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,g,1];case"perspective":var s=a.d[0].px?-1/a.d[0].px:0;return[1,0,0,0,0,1,0,0,0,0,1,s,0,0,0,1];case"matrix":return[a.d[0],a.d[1],0,0,a.d[2],a.d[3],0,0,0,0,1,0,a.d[4],a.d[5],0,1];case"matrix3d":return a.d}}function e(a){return 0===a.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:a.map(d).reduce(c)}function f(a){return[g(e(a))]}var g=function(){function a(a){return a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0]}function c(b){for(var c=1/a(b),d=b[0][0],e=b[0][1],f=b[0][2],g=b[1][0],h=b[1][1],i=b[1][2],j=b[2][0],k=b[2][1],l=b[2][2],m=[[(h*l-i*k)*c,(f*k-e*l)*c,(e*i-f*h)*c,0],[(i*j-g*l)*c,(d*l-f*j)*c,(f*g-d*i)*c,0],[(g*k-h*j)*c,(j*e-d*k)*c,(d*h-e*g)*c,0]],n=[],o=0;3>o;o++){for(var p=0,q=0;3>q;q++)p+=b[3][q]*m[q][o];n.push(p)}return n.push(1),m.push(n),m}function d(a){return[[a[0][0],a[1][0],a[2][0],a[3][0]],[a[0][1],a[1][1],a[2][1],a[3][1]],[a[0][2],a[1][2],a[2][2],a[3][2]],[a[0][3],a[1][3],a[2][3],a[3][3]]]}function e(a,b){for(var c=[],d=0;4>d;d++){for(var e=0,f=0;4>f;f++)e+=a[f]*b[f][d];c.push(e)}return c}function f(a){var b=g(a);return[a[0]/b,a[1]/b,a[2]/b]}function g(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2])}function h(a,b,c,d){return[c*a[0]+d*b[0],c*a[1]+d*b[1],c*a[2]+d*b[2]]}function i(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function j(j){var k=[j.slice(0,4),j.slice(4,8),j.slice(8,12),j.slice(12,16)];if(1!==k[3][3])return null;for(var l=[],m=0;4>m;m++)l.push(k[m].slice());for(var m=0;3>m;m++)l[m][3]=0;if(0===a(l))return!1;var n,o=[];if(k[0][3]||k[1][3]||k[2][3]){o.push(k[0][3]),o.push(k[1][3]),o.push(k[2][3]),o.push(k[3][3]);var p=c(l),q=d(p);n=e(o,q)}else n=[0,0,0,1];var r=k[3].slice(0,3),s=[];s.push(k[0].slice(0,3));var t=[];t.push(g(s[0])),s[0]=f(s[0]);var u=[];s.push(k[1].slice(0,3)),u.push(b(s[0],s[1])),s[1]=h(s[1],s[0],1,-u[0]),t.push(g(s[1])),s[1]=f(s[1]),u[0]/=t[1],s.push(k[2].slice(0,3)),u.push(b(s[0],s[2])),s[2]=h(s[2],s[0],1,-u[1]),u.push(b(s[1],s[2])),s[2]=h(s[2],s[1],1,-u[2]),t.push(g(s[2])),s[2]=f(s[2]),u[1]/=t[2],u[2]/=t[2];var v=i(s[1],s[2]);if(b(s[0],v)<0)for(var m=0;3>m;m++)t[m]*=-1,s[m][0]*=-1,s[m][1]*=-1,s[m][2]*=-1;var w,x,y=s[0][0]+s[1][1]+s[2][2]+1;return y>1e-4?(w=.5/Math.sqrt(y),x=[(s[2][1]-s[1][2])*w,(s[0][2]-s[2][0])*w,(s[1][0]-s[0][1])*w,.25/w]):s[0][0]>s[1][1]&&s[0][0]>s[2][2]?(w=2*Math.sqrt(1+s[0][0]-s[1][1]-s[2][2]),x=[.25*w,(s[0][1]+s[1][0])/w,(s[0][2]+s[2][0])/w,(s[2][1]-s[1][2])/w]):s[1][1]>s[2][2]?(w=2*Math.sqrt(1+s[1][1]-s[0][0]-s[2][2]),x=[(s[0][1]+s[1][0])/w,.25*w,(s[1][2]+s[2][1])/w,(s[0][2]-s[2][0])/w]):(w=2*Math.sqrt(1+s[2][2]-s[0][0]-s[1][1]),x=[(s[0][2]+s[2][0])/w,(s[1][2]+s[2][1])/w,.25*w,(s[1][0]-s[0][1])/w]),[r,t,u,x,n]}return j}();a.dot=b,a.makeMatrixDecomposition=f}(d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;
-var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a){var b=Number(a);return isNaN(b)||100>b||b>900||b%100!==0?void 0:b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?"normal":700===b?"bold":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,["font-weight"])}(d),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&""==e[1]){var f=e[0];if(f[0]=f[0]||"center",f[1]=f[1]||"center",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return"object"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{"%":50},{"%":50}],i=0,j=!1,k=0;k<f.length;k++){var l=f[k];"string"==typeof l?(j=/bottom|right/.test(l),i={left:0,right:0,center:i,top:1,bottom:1}[l],h[i]=g[l],"center"==l&&i++):(j&&(l=b(l),l["%"]=(l["%"]||0)+100),h[i]=l,i++,j=!1)}return[h,e[1]]}}function f(b){var c=a.consumeRepeated(e,/^,/,b);return c&&""==c[1]?c[0]:void 0}var g={left:{"%":0},center:{"%":50},right:{"%":100},top:{"%":0},bottom:{"%":100}},h=a.mergeNestedRepeated.bind(null,a.mergeDimensions," ");a.addPropertiesHandler(d.bind(null,3),h,["transform-origin"]),a.addPropertiesHandler(d.bind(null,2),h,["perspective-origin"]),a.consumePosition=e,a.mergeOffsetList=h;var i=a.mergeNestedRepeated.bind(null,h,", ");a.addPropertiesHandler(f,i,["background-position","object-position"])}(d),function(a){function b(b){var c=a.consumeToken(/^circle/,b);if(c&&c[0])return["circle"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),d,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],c[1]));var f=a.consumeToken(/^ellipse/,b);if(f&&f[0])return["ellipse"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),e,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],f[1]));var g=a.consumeToken(/^polygon/,b);return g&&g[0]?["polygon"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),a.optional(a.consumeToken.bind(void 0,/^nonzero\s*,|^evenodd\s*,/),"nonzero,"),a.consumeSizePairList,a.ignore(a.consumeToken.bind(void 0,/^\)/))],g[1])):void 0}function c(b,c){return b[0]===c[0]?"circle"==b[0]?a.mergeList(b.slice(1),c.slice(1),["circle(",a.mergeDimensions," at ",a.mergeOffsetList,")"]):"ellipse"==b[0]?a.mergeList(b.slice(1),c.slice(1),["ellipse(",a.mergeNonNegativeSizePair," at ",a.mergeOffsetList,")"]):"polygon"==b[0]&&b[1]==c[1]?a.mergeList(b.slice(2),c.slice(2),["polygon(",b[1],g,")"]):void 0:void 0}var d=a.consumeParenthesised.bind(null,a.parseLengthOrPercent),e=a.consumeRepeated.bind(void 0,d,/^/),f=a.mergeNestedRepeated.bind(void 0,a.mergeDimensions," "),g=a.mergeNestedRepeated.bind(void 0,f,",");a.addPropertiesHandler(b,c,["shape-outside"])}(d),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}(),!function(a,b){function c(a){var b=window.document.timeline;b.currentTime=a,b._discardAnimations(),0==b._animations.length?e=!1:requestAnimationFrame(c)}var d=window.requestAnimationFrame;window.requestAnimationFrame=function(a){return d(function(b){window.document.timeline._updateAnimationsPromises(),a(b),window.document.timeline._updateAnimationsPromises()})},b.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},getAnimationPlayers:function(){return a.deprecated("AnimationTimeline.getAnimationPlayers","2015-03-23","Use AnimationTimeline.getAnimations instead."),this.getAnimations()},_updateAnimationsPromises:function(){b.animationsWithPromises=b.animationsWithPromises.filter(function(a){return a._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(a){return"finished"!=a.playState&&"idle"!=a.playState})},_play:function(a){var c=new b.Animation(a);return this._animations.push(c),b.restartWebAnimationsNextTick(),c._updatePromises(),c._animation.play(),c._updatePromises(),c},play:function(a){return a&&a.remove(),this._play(a)}};var e=!1;b.restartWebAnimationsNextTick=function(){e||(e=!0,requestAnimationFrame(c))};var f=new b.AnimationTimeline;b.timeline=f;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return f}})}catch(g){}try{window.document.timeline=f}catch(g){}}(c,e,f),function(a,b){b.animationsWithPromises=[],b.Animation=function(b){this.effect=b,b&&(b._animation=this),this._sequenceNumber=a.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},b.Animation.prototype={_updatePromises:function(){var a=this._oldPlayState,b=this.playState;return this._readyPromise&&b!==a&&("idle"==b?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==a?this._resolveReadyPromise():"pending"==b&&(this._readyPromise=void 0)),this._finishedPromise&&b!==a&&("idle"==b?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==b?this._resolveFinishedPromise():"finished"==a&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var a,c,d,e,f=this._animation?!0:!1;f&&(a=this.playbackRate,c=this._paused,d=this.startTime,e=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=b.newUnderlyingAnimationForKeyframeEffect(this.effect),b.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=b.newUnderlyingAnimationForGroup(this.effect),b.bindAnimationForGroup(this)),f&&(1!=a&&(this.playbackRate=a),null!==d?this.startTime=d:null!==e?this.currentTime=e:null!==this._holdTime&&(this.currentTime=this._holdTime),c&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var a=this.effect._timing.delay;this._childAnimations.forEach(function(c){this._arrangeChildren(c,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c.effect))}.bind(this))}},_setExternalAnimation:function(a){if(this.effect&&this._isGroup)for(var b=0;b<this.effect.children.length;b++)this.effect.children[b]._animation=a,this._childAnimations[b]._setExternalAnimation(a)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var a=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(c){var d=window.document.timeline._play(c);this._childAnimations.push(d),d.playbackRate=this.playbackRate,this._paused&&d.pause(),c._animation=this.effect._animation,this._arrangeChildren(d,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c))}.bind(this))}},_arrangeChildren:function(a,b){null===this.startTime?a.currentTime=this.currentTime-b/this.playbackRate:a.startTime!==this.startTime+b/this.playbackRate&&(a.startTime=this.startTime+b/this.playbackRate)},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(a,b){this._resolveFinishedPromise=function(){a(this)},this._rejectFinishedPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get ready(){return window.Promise?(this._readyPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._readyPromise=new Promise(function(a,b){this._resolveReadyPromise=function(){a(this)},this._rejectReadyPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._onfinish},set onfinish(a){"function"==typeof a?(this._onfinish=a,this._animation.onfinish=function(b){b.target=this,a.call(this,b)}.bind(this)):(this._animation.onfinish=a,this.onfinish=this._animation.onfinish)},get currentTime(){this._updatePromises();var a=this._animation.currentTime;return this._updatePromises(),a},set currentTime(a){this._updatePromises(),this._animation.currentTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.currentTime=a-c}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(a){this._updatePromises(),this._animation.startTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.startTime=a+c}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(a){this._updatePromises();var b=this.currentTime;this._animation.playbackRate=a,this._forEachChild(function(b){b.playbackRate=a}),"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!==b&&(this.currentTime=b),this._updatePromises()},get source(){return a.deprecated("Animation.source","2015-03-23","Use Animation.effect instead."),this.effect},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==document.timeline._animations.indexOf(this)&&document.timeline._animations.push(this),this._register(),b.awaitStartTime(this),this._forEachChild(function(a){var b=a.currentTime;a.play(),a.currentTime=b}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(a){a.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var a=this.currentTime;this._animation.reverse(),this._forEachChild(function(a){a.reverse()}),null!==a&&(this.currentTime=a),this._updatePromises()},addEventListener:function(a,b){var c=b;"function"==typeof b&&(c=function(a){a.target=this,b.call(this,a)}.bind(this),b._wrapper=c),this._animation.addEventListener(a,c)},removeEventListener:function(a,b){this._animation.removeEventListener(a,b&&b._wrapper||b)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(b){var c=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(a){b.call(this,a,c),this.effect instanceof window.SequenceEffect&&(c+=a.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var d=this.effect._timing,e=this.currentTime;null!==e&&(e=a.calculateTimeFraction(a.calculateActiveDuration(d),e,d)),(null==e||isNaN(e))&&this._removeChildAnimations()}}}}(c,e,f),function(a,b){function c(b){this._frames=a.normalizeKeyframes(b)}function d(){for(var a=!1;h.length;){var b=h.shift();b._updateChildren(),a=!0}return a}var e=function(a){if(a._animation=void 0,a instanceof window.SequenceEffect||a instanceof window.GroupEffect)for(var b=0;b<a.children.length;b++)e(a.children[b])};b.removeMulti=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];d._parent?(-1==b.indexOf(d._parent)&&b.push(d._parent),d._parent.children.splice(d._parent.children.indexOf(d),1),d._parent=null,e(d)):d._animation&&d._animation.effect==d&&(d._animation.cancel(),d._animation.effect=new KeyframeEffect(null,[]),d._animation._callback&&(d._animation._callback._animation=null),d._animation._rebuildUnderlyingAnimation(),e(d))}for(c=0;c<b.length;c++)b[c]._rebuild()},b.KeyframeEffect=function(b,d,e){return this.target=b,this._timingInput=a.cloneTimingInput(e),this._timing=a.normalizeTimingInput(e),this.timing=a.makeTiming(e),this._normalizedKeyframes="function"==typeof d?d:new c(d),this._keyframes=d,this.activeDuration=a.calculateActiveDuration(this._timing),this},b.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},get effect(){return a.deprecated("KeyframeEffect.effect","2015-03-23","Use KeyframeEffect.getFrames() instead."),this._normalizedKeyframes},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var b=new KeyframeEffect(this.target,[],a.cloneTimingInput(this._timingInput));return b._normalizedKeyframes=this._normalizedKeyframes,b._keyframes=this._keyframes,b},remove:function(){b.removeMulti([this])}};var f=Element.prototype.animate;Element.prototype.animate=function(a,c){return b.timeline._play(new b.KeyframeEffect(this,a,c))};var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");b.newUnderlyingAnimationForKeyframeEffect=function(a){if(a){var b=a.target||g,c=a._keyframes;"function"==typeof c&&(c=[]);var d=a._timingInput}else var b=g,c=[],d=0;return f.apply(b,[c,d])},b.bindAnimationForKeyframeEffect=function(a){a.effect&&"function"==typeof a.effect._normalizedKeyframes&&b.bindAnimationForCustomEffect(a)};var h=[];b.awaitStartTime=function(a){null===a.startTime&&a._isGroup&&(0==h.length&&requestAnimationFrame(d),h.push(a))};var i=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){window.document.timeline._updateAnimationsPromises();var a=i.apply(this,arguments);return d()&&(a=i.apply(this,arguments)),window.document.timeline._updateAnimationsPromises(),a}}),window.KeyframeEffect=b.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(a){return null!==a.effect&&a.effect.target==this}.bind(this))},window.Element.prototype.getAnimationPlayers=function(){return a.deprecated("Element.getAnimationPlayers","2015-03-23","Use Element.getAnimations instead."),this.getAnimations()},window.Animation=function(){a.deprecated("window.Animation","2015-03-23","Use window.KeyframeEffect instead."),window.KeyframeEffect.apply(this,arguments)},window.Animation.prototype=Object.create(window.KeyframeEffect.prototype),window.Animation.prototype.constructor=window.Animation}(c,e,f),function(a,b){function c(a){a._registered||(a._registered=!0,f.push(a),g||(g=!0,requestAnimationFrame(d)))}function d(){var a=f;f=[],a.sort(function(a,b){return a._sequenceNumber-b._sequenceNumber}),a=a.filter(function(a){a();var b=a._animation?a._animation.playState:"idle";return"running"!=b&&"pending"!=b&&(a._registered=!1),a._registered}),f.push.apply(f,a),f.length?(g=!0,requestAnimationFrame(d)):g=!1}var e=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);b.bindAnimationForCustomEffect=function(b){var d=b.effect.target,f=b.effect._normalizedKeyframes,g=b.effect.timing,h=null;g=a.normalizeTimingInput(g);var i=function(){var c=i._animation?i._animation.currentTime:null;null!==c&&(c=a.calculateTimeFraction(a.calculateActiveDuration(g),c,g),isNaN(c)&&(c=null)),c!==h&&f(c,d,b.effect),h=c};i._animation=b,i._registered=!1,i._sequenceNumber=e++,b._callback=i,c(i)};var f=[],g=!1;b.Animation.prototype._register=function(){this._callback&&c(this._callback)}}(c,e,f),function(a,b){function c(a){return a._timing.delay+a.activeDuration+a._timing.endDelay}function d(b,c){this._parent=null,this.children=b||[],this._reparent(this.children),this._timingInput=a.cloneTimingInput(c),this._timing=a.normalizeTimingInput(c,!0),this.timing=a.makeTiming(c,!0),"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){d.apply(this,arguments)},window.GroupEffect=function(){d.apply(this,arguments)},d.prototype={_isAncestor:function(a){for(var b=this;null!==b;){if(b==a)return!0;b=b._parent}return!1},_rebuild:function(){for(var a=this;a;)"auto"===a.timing.duration&&(a._timing.duration=a.activeDuration),a=a._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(a){b.removeMulti(a);for(var c=0;c<a.length;c++)a[c]._parent=this},_putChild:function(a,b){for(var c=b?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",d=0;d<a.length;d++)if(this._isAncestor(a[d]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:c};for(var d=0;d<a.length;d++)b?this.children.push(a[d]):this.children.unshift(a[d]);this._reparent(a),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get firstChild(){return this.children.length?this.children[0]:null},get lastChild(){return this.children.length?this.children[this.children.length-1]:null},clone:function(){for(var b=a.cloneTimingInput(this._timingInput),c=[],d=0;d<this.children.length;d++)c.push(this.children[d].clone());return this instanceof GroupEffect?new GroupEffect(c,b):new SequenceEffect(c,b)},remove:function(){b.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a+=c(b)}),Math.max(a,0)}}),window.GroupEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a=Math.max(a,c(b))}),a}}),b.newUnderlyingAnimationForGroup=function(c){var d,e=null,f=function(b){var c=d._wrapper;return c&&"pending"!=c.playState&&c.effect?null==b?void c._removeChildAnimations():0==b&&c.playbackRate<0&&(e||(e=a.normalizeTimingInput(c.effect.timing)),b=a.calculateTimeFraction(a.calculateActiveDuration(e),-1,e),isNaN(b)||null==b)?(c._forEachChild(function(a){a.currentTime=-1}),void c._removeChildAnimations()):void 0:void 0};return d=b.timeline._play(new b.KeyframeEffect(null,f,c._timing))},b.bindAnimationForGroup=function(a){a._animation._wrapper=a,a._isGroup=!0,b.awaitStartTime(a),a._constructChildAnimations(),a._setExternalAnimation(a)},b.groupChildDuration=c,window.AnimationSequence=function(){a.deprecated("window.AnimationSequence","2015-03-23","Use window.SequenceEffect instead."),window.SequenceEffect.apply(this,arguments)},window.AnimationSequence.prototype=Object.create(window.SequenceEffect.prototype),window.AnimationSequence.prototype.constructor=window.AnimationSequence,window.AnimationGroup=function(){a.deprecated("window.AnimationGroup","2015-03-23","Use window.GroupEffect instead."),window.GroupEffect.apply(this,arguments)},window.AnimationGroup.prototype=Object.create(window.GroupEffect.prototype),window.AnimationGroup.prototype.constructor=window.AnimationGroup}(c,e,f)}({},function(){return this}());
+!function(a,b){b["true"]=a;var c={},d={},e={},f=null;!function(a){function b(a){if("number"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function c(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear"}function d(b,d){var e=new c;return d&&(e.fill="both",e.duration="auto"),"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof e[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==s.indexOf(b[c]))return;if("direction"==c&&-1==t.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;e[c]=b[c]}}):e.duration=b,e}function e(a){return"number"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function f(b,c){b=a.numericTimingToObject(b);var e=d(b,c);return e._easing=i(e.easing),e}function g(a,b,c,d){return 0>a||a>1||0>c||c>1?B:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function h(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function i(a){var b=z.exec(a);if(b)return g.apply(this,b.slice(1).map(Number));var c=A.exec(a);if(c)return h(Number(c[1]),{start:u,middle:v,end:w}[c[2]]);var d=x[a];return d?d:B}function j(a){return Math.abs(k(a)/a.playbackRate)}function k(a){return a.duration*a.iterations}function l(a,b,c){return null==b?C:b<c.delay?D:b>=c.delay+a?E:F}function m(a,b,c,d,e){switch(d){case D:return"backwards"==b||"both"==b?0:null;case F:return c-e;case E:return"forwards"==b||"both"==b?a:null;case C:return null}}function n(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function o(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function p(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function q(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function r(a,b,c){var d=l(a,b,c),e=m(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===D?0:1;var f=c.iterationStart*c.duration,g=n(a,e,f,c),h=o(c.duration,k(c),g,f,c),i=p(c.duration,h,g,c);return q(i,c.duration,h,c)/c.duration}var s="backwards|forwards|both|none".split("|"),t="reverse|alternate|alternate-reverse".split("|");c.prototype={_setMember:function(b,c){this["_"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(a.normalizeTimingInput(this._effect._timingInput)),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember("delay",a)},get delay(){return this._delay},set endDelay(a){this._setMember("endDelay",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember("fill",a)},get fill(){return this._fill},set iterationStart(a){this._setMember("iterationStart",a)},get iterationStart(){return this._iterationStart},set duration(a){this._setMember("duration",a)},get duration(){return this._duration},set direction(a){this._setMember("direction",a)},get direction(){return this._direction},set easing(a){this._setMember("easing",a)},get easing(){return this._easing},set iterations(a){this._setMember("iterations",a)},get iterations(){return this._iterations}};var u=1,v=.5,w=0,x={ease:g(.25,.1,.25,1),"ease-in":g(.42,0,1,1),"ease-out":g(0,0,.58,1),"ease-in-out":g(.42,0,.58,1),"step-start":h(1,u),"step-middle":h(1,v),"step-end":h(1,w)},y="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",z=new RegExp("cubic-bezier\\("+y+","+y+","+y+","+y+"\\)"),A=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,B=function(a){return a},C=0,D=1,E=2,F=3;a.cloneTimingInput=b,a.makeTiming=d,a.numericTimingToObject=e,a.normalizeTimingInput=f,a.calculateActiveDuration=j,a.calculateTimeFraction=r,a.calculatePhase=l,a.toTimingFunction=i}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframes must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){var f=e?"are":"is";if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+f+" no longer supported. "+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){if("initial"==c||"initial"==d){var g=b.replace(/-(.)/g,function(a,b){return b.toUpperCase()});"initial"==c&&(c=f[g]),"initial"==d&&(d=f[g])}for(var h=c==d?[]:e[b],i=0;h&&i<h.length;i++){var j=h[i][0](c),k=h[i][0](d);if(void 0!==j&&void 0!==k){var l=h[i][1](j,k);if(l){var m=a.Interpolation.apply(null,l);return function(a){return 0==a?c:1==a?d:m(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c;var f={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};a.propertyInterpolation=d}(d,f),function(a,b){function c(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}b.KeyframeEffect=function(d,e,f){var g,h=c(a.normalizeTimingInput(f)),i=b.convertEffectInput(e),j=function(){i(d,g)};return j._update=function(a){return g=h(a),null!==g},j._clear=function(){i(d,null)},j._hasSameTarget=function(a){return d===a},j._isCurrent=h._isCurrent,j._totalDuration=h._totalDuration,j},b.NullEffect=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){function b(a,b,c){c.enumerable=!0,c.configurable=!0,Object.defineProperty(a,b,c)}function c(a){this._surrogateStyle=document.createElementNS("http://www.w3.org/1999/xhtml","div").style,this._style=a.style,this._length=0,this._isAnimatedProperty={};for(var b=0;b<this._style.length;b++){var c=this._style[b];this._surrogateStyle[c]=this._style[c]}this._updateIndices()}function d(a){if(!a._webAnimationsPatchedStyle){var d=new c(a);try{b(a,"style",{get:function(){return d}})}catch(e){a.style._set=function(b,c){a.style[b]=c},a.style._clear=function(b){a.style[b]=""}}a._webAnimationsPatchedStyle=a.style}}var e={cssText:1,length:1,parentRule:1},f={getPropertyCSSValue:1,getPropertyPriority:1,getPropertyValue:1,item:1,removeProperty:1,setProperty:1},g={removeProperty:1,setProperty:1};c.prototype={get cssText(){return this._surrogateStyle.cssText},set cssText(a){for(var b={},c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;this._surrogateStyle.cssText=a,this._updateIndices();for(var c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;for(var d in b)this._isAnimatedProperty[d]||this._style.setProperty(d,this._surrogateStyle.getPropertyValue(d))},get length(){return this._surrogateStyle.length},get parentRule(){return this._style.parentRule},_updateIndices:function(){for(;this._length<this._surrogateStyle.length;)Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,get:function(a){return function(){return this._surrogateStyle[a]}}(this._length)}),this._length++;for(;this._length>this._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(a,b){this._style[a]=b,this._isAnimatedProperty[a]=!0},_clear:function(a){this._style[a]=this._surrogateStyle[a],delete this._isAnimatedProperty[a]}};for(var h in f)c.prototype[h]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(h,h in g);for(var i in document.documentElement.style)i in e||i in f||!function(a){b(c.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(i);a.apply=function(b,c,e){d(b),b.style._set(a.propertyName(c),e)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.KeyframeEffect(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a){function b(a,b,c){return Math.max(Math.min(a,c),b)}function c(c,d,e){var f=a.dot(c,d);f=b(f,-1,1);var g=[];if(1===f)g=c;else for(var h=Math.acos(f),i=1*Math.sin(e*h)/Math.sqrt(1-f*f),j=0;4>j;j++)g.push(c[j]*(Math.cos(e*h)-f*i)+d[j]*i);return g}var d=function(){function a(a,b){for(var c=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],d=0;4>d;d++)for(var e=0;4>e;e++)for(var f=0;4>f;f++)c[d][e]+=b[d][f]*a[f][e];return c}function b(a){return 0==a[0][2]&&0==a[0][3]&&0==a[1][2]&&0==a[1][3]&&0==a[2][0]&&0==a[2][1]&&1==a[2][2]&&0==a[2][3]&&0==a[3][2]&&1==a[3][3]}function c(c,d,e,f,g){for(var h=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],i=0;4>i;i++)h[i][3]=g[i];for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[3][i]+=c[j]*h[j][i];var k=f[0],l=f[1],m=f[2],n=f[3],o=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];o[0][0]=1-2*(l*l+m*m),o[0][1]=2*(k*l-m*n),o[0][2]=2*(k*m+l*n),o[1][0]=2*(k*l+m*n),o[1][1]=1-2*(k*k+m*m),o[1][2]=2*(l*m-k*n),o[2][0]=2*(k*m-l*n),o[2][1]=2*(l*m+k*n),o[2][2]=1-2*(k*k+l*l),h=a(h,o);var p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];e[2]&&(p[2][1]=e[2],h=a(h,p)),e[1]&&(p[2][1]=0,p[2][0]=e[0],h=a(h,p)),e[0]&&(p[2][0]=0,p[1][0]=e[0],h=a(h,p));for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[i][j]*=d[i];return b(h)?[h[0][0],h[0][1],h[1][0],h[1][1],h[3][0],h[3][1]]:h[0].concat(h[1],h[2],h[3])}return c}();a.composeMatrix=d,a.quat=c}(d,f),function(a,b){a.sequenceNumber=0;var c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this._inEffect=this._effect._update(this.playbackRate<0&&0===this.currentTime?-1:this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects()))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var b=this.currentTime;this._playbackRate=a,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!=b&&(this.currentTime=b)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,b.invalidateEffects()),this._finishedFlag=!1,b.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this._isFinished||this._paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null,this._effect._update(null),b.invalidateEffects(),b.restart())},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this._isFinished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this._paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(c,d,f),function(a,b){function c(a){var b=i;i=[],a<s.currentTime&&(a=s.currentTime),g(a),b.forEach(function(b){b[1](a)}),o&&g(a),f(),l=void 0}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){p.forEach(function(a){a()}),p.length=0}function g(a){n=!1;var c=b.timeline;c.currentTime=a,c._animations.sort(d),m=!1;var e=c._animations;c._animations=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._effect):f.push(b._effect),b._isFinished||b._paused||b._idle||(m=!0),b._inTimeline}),p.push.apply(p,f),p.push.apply(p,g),c._animations.push.apply(c._animations,e),o=!1,m&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.invalidateEffects(),d}};var k,l=void 0,k=function(){return void 0==l&&(l=performance.now()),l},m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n};var o=!1;b.invalidateEffects=function(){o=!0};var p=[],q=1e3/60,r=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){if(o){var a=k();a-s.currentTime>0&&(s.currentTime+=q*(Math.floor((a-s.currentTime)/q)+1)),g(s.currentTime)}return f(),r.apply(this,arguments)}});var s=new e;b.timeline=s}(c,d,f),function(a){function b(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c}function c(a,b){return[a[0]*b[0]+a[4]*b[1]+a[8]*b[2]+a[12]*b[3],a[1]*b[0]+a[5]*b[1]+a[9]*b[2]+a[13]*b[3],a[2]*b[0]+a[6]*b[1]+a[10]*b[2]+a[14]*b[3],a[3]*b[0]+a[7]*b[1]+a[11]*b[2]+a[15]*b[3],a[0]*b[4]+a[4]*b[5]+a[8]*b[6]+a[12]*b[7],a[1]*b[4]+a[5]*b[5]+a[9]*b[6]+a[13]*b[7],a[2]*b[4]+a[6]*b[5]+a[10]*b[6]+a[14]*b[7],a[3]*b[4]+a[7]*b[5]+a[11]*b[6]+a[15]*b[7],a[0]*b[8]+a[4]*b[9]+a[8]*b[10]+a[12]*b[11],a[1]*b[8]+a[5]*b[9]+a[9]*b[10]+a[13]*b[11],a[2]*b[8]+a[6]*b[9]+a[10]*b[10]+a[14]*b[11],a[3]*b[8]+a[7]*b[9]+a[11]*b[10]+a[15]*b[11],a[0]*b[12]+a[4]*b[13]+a[8]*b[14]+a[12]*b[15],a[1]*b[12]+a[5]*b[13]+a[9]*b[14]+a[13]*b[15],a[2]*b[12]+a[6]*b[13]+a[10]*b[14]+a[14]*b[15],a[3]*b[12]+a[7]*b[13]+a[11]*b[14]+a[15]*b[15]]}function d(a){switch(a.t){case"rotatex":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,0,Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1];case"rotatey":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),0,-Math.sin(d),0,0,1,0,0,Math.sin(d),0,Math.cos(d),0,0,0,0,1];case"rotate":case"rotatez":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1,0,0,0,0,1];case"rotate3d":var e=a.d[0],f=a.d[1],g=a.d[2],b=a.d[3].rad||0,c=a.d[3].deg||0,d=c*Math.PI/180+b,h=e*e+f*f+g*g;if(0===h)e=1,f=0,g=0;else if(1!==h){var i=Math.sqrt(h);e/=i,f/=i,g/=i}var j=Math.sin(d/2),k=j*Math.cos(d/2),l=j*j;return[1-2*(f*f+g*g)*l,2*(e*f*l+g*k),2*(e*g*l-f*k),0,2*(e*f*l-g*k),1-2*(e*e+g*g)*l,2*(f*g*l+e*k),0,2*(e*g*l+f*k),2*(f*g*l-e*k),1-2*(e*e+f*f)*l,0,0,0,0,1];case"scale":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,1,0,0,0,0,1];case"scalex":return[a.d[0],0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaley":return[1,0,0,0,0,a.d[0],0,0,0,0,1,0,0,0,0,1];case"scalez":return[1,0,0,0,0,1,0,0,0,0,a.d[0],0,0,0,0,1];case"scale3d":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,a.d[2],0,0,0,0,1];case"skew":var m=a.d[0].deg||0,n=a.d[0].rad||0,o=a.d[1].deg||0,p=a.d[1].rad||0,q=m*Math.PI/180+n,r=o*Math.PI/180+p;return[1,Math.tan(r),0,0,Math.tan(q),1,0,0,0,0,1,0,0,0,0,1];case"skewx":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,Math.tan(d),1,0,0,0,0,1,0,0,0,0,1];case"skewy":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,Math.tan(d),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":var e=a.d[0].px||0,f=a.d[1].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,0,1];case"translatex":var e=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translatey":var f=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,f,0,1];case"translatez":var g=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,g,1];case"translate3d":var e=a.d[0].px||0,f=a.d[1].px||0,g=a.d[2].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,g,1];case"perspective":var s=a.d[0].px?-1/a.d[0].px:0;return[1,0,0,0,0,1,0,0,0,0,1,s,0,0,0,1];case"matrix":return[a.d[0],a.d[1],0,0,a.d[2],a.d[3],0,0,0,0,1,0,a.d[4],a.d[5],0,1];case"matrix3d":return a.d}}function e(a){return 0===a.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:a.map(d).reduce(c)}function f(a){return[g(e(a))]}var g=function(){function a(a){return a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0]}function c(b){for(var c=1/a(b),d=b[0][0],e=b[0][1],f=b[0][2],g=b[1][0],h=b[1][1],i=b[1][2],j=b[2][0],k=b[2][1],l=b[2][2],m=[[(h*l-i*k)*c,(f*k-e*l)*c,(e*i-f*h)*c,0],[(i*j-g*l)*c,(d*l-f*j)*c,(f*g-d*i)*c,0],[(g*k-h*j)*c,(j*e-d*k)*c,(d*h-e*g)*c,0]],n=[],o=0;3>o;o++){for(var p=0,q=0;3>q;q++)p+=b[3][q]*m[q][o];n.push(p)}return n.push(1),m.push(n),m}function d(a){return[[a[0][0],a[1][0],a[2][0],a[3][0]],[a[0][1],a[1][1],a[2][1],a[3][1]],[a[0][2],a[1][2],a[2][2],a[3][2]],[a[0][3],a[1][3],a[2][3],a[3][3]]]}function e(a,b){for(var c=[],d=0;4>d;d++){for(var e=0,f=0;4>f;f++)e+=a[f]*b[f][d];c.push(e)}return c}function f(a){var b=g(a);return[a[0]/b,a[1]/b,a[2]/b]}function g(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2])}function h(a,b,c,d){return[c*a[0]+d*b[0],c*a[1]+d*b[1],c*a[2]+d*b[2]]}function i(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function j(j){var k=[j.slice(0,4),j.slice(4,8),j.slice(8,12),j.slice(12,16)];if(1!==k[3][3])return null;for(var l=[],m=0;4>m;m++)l.push(k[m].slice());for(var m=0;3>m;m++)l[m][3]=0;if(0===a(l))return!1;var n,o=[];if(k[0][3]||k[1][3]||k[2][3]){o.push(k[0][3]),o.push(k[1][3]),o.push(k[2][3]),o.push(k[3][3]);var p=c(l),q=d(p);n=e(o,q)}else n=[0,0,0,1];var r=k[3].slice(0,3),s=[];s.push(k[0].slice(0,3));var t=[];t.push(g(s[0])),s[0]=f(s[0]);var u=[];s.push(k[1].slice(0,3)),u.push(b(s[0],s[1])),s[1]=h(s[1],s[0],1,-u[0]),t.push(g(s[1])),s[1]=f(s[1]),u[0]/=t[1],s.push(k[2].slice(0,3)),u.push(b(s[0],s[2])),s[2]=h(s[2],s[0],1,-u[1]),u.push(b(s[1],s[2])),s[2]=h(s[2],s[1],1,-u[2]),t.push(g(s[2])),s[2]=f(s[2]),u[1]/=t[2],u[2]/=t[2];var v=i(s[1],s[2]);if(b(s[0],v)<0)for(var m=0;3>m;m++)t[m]*=-1,s[m][0]*=-1,s[m][1]*=-1,s[m][2]*=-1;var w,x,y=s[0][0]+s[1][1]+s[2][2]+1;return y>1e-4?(w=.5/Math.sqrt(y),x=[(s[2][1]-s[1][2])*w,(s[0][2]-s[2][0])*w,(s[1][0]-s[0][1])*w,.25/w]):s[0][0]>s[1][1]&&s[0][0]>s[2][2]?(w=2*Math.sqrt(1+s[0][0]-s[1][1]-s[2][2]),x=[.25*w,(s[0][1]+s[1][0])/w,(s[0][2]+s[2][0])/w,(s[2][1]-s[1][2])/w]):s[1][1]>s[2][2]?(w=2*Math.sqrt(1+s[1][1]-s[0][0]-s[2][2]),x=[(s[0][1]+s[1][0])/w,.25*w,(s[1][2]+s[2][1])/w,(s[0][2]-s[2][0])/w]):(w=2*Math.sqrt(1+s[2][2]-s[0][0]-s[1][1]),x=[(s[0][2]+s[2][0])/w,(s[1][2]+s[2][1])/w,.25*w,(s[1][0]-s[0][1])/w]),[r,t,u,x,n]}return j}();a.dot=b,a.makeMatrixDecomposition=f}(d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c
+}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a){var b=Number(a);return isNaN(b)||100>b||b>900||b%100!==0?void 0:b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?"normal":700===b?"bold":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,["font-weight"])}(d),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&""==e[1]){var f=e[0];if(f[0]=f[0]||"center",f[1]=f[1]||"center",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return"object"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{"%":50},{"%":50}],i=0,j=!1,k=0;k<f.length;k++){var l=f[k];"string"==typeof l?(j=/bottom|right/.test(l),i={left:0,right:0,center:i,top:1,bottom:1}[l],h[i]=g[l],"center"==l&&i++):(j&&(l=b(l),l["%"]=(l["%"]||0)+100),h[i]=l,i++,j=!1)}return[h,e[1]]}}function f(b){var c=a.consumeRepeated(e,/^,/,b);return c&&""==c[1]?c[0]:void 0}var g={left:{"%":0},center:{"%":50},right:{"%":100},top:{"%":0},bottom:{"%":100}},h=a.mergeNestedRepeated.bind(null,a.mergeDimensions," ");a.addPropertiesHandler(d.bind(null,3),h,["transform-origin"]),a.addPropertiesHandler(d.bind(null,2),h,["perspective-origin"]),a.consumePosition=e,a.mergeOffsetList=h;var i=a.mergeNestedRepeated.bind(null,h,", ");a.addPropertiesHandler(f,i,["background-position","object-position"])}(d),function(a){function b(b){var c=a.consumeToken(/^circle/,b);if(c&&c[0])return["circle"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),d,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],c[1]));var f=a.consumeToken(/^ellipse/,b);if(f&&f[0])return["ellipse"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),e,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],f[1]));var g=a.consumeToken(/^polygon/,b);return g&&g[0]?["polygon"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),a.optional(a.consumeToken.bind(void 0,/^nonzero\s*,|^evenodd\s*,/),"nonzero,"),a.consumeSizePairList,a.ignore(a.consumeToken.bind(void 0,/^\)/))],g[1])):void 0}function c(b,c){return b[0]===c[0]?"circle"==b[0]?a.mergeList(b.slice(1),c.slice(1),["circle(",a.mergeDimensions," at ",a.mergeOffsetList,")"]):"ellipse"==b[0]?a.mergeList(b.slice(1),c.slice(1),["ellipse(",a.mergeNonNegativeSizePair," at ",a.mergeOffsetList,")"]):"polygon"==b[0]&&b[1]==c[1]?a.mergeList(b.slice(2),c.slice(2),["polygon(",b[1],g,")"]):void 0:void 0}var d=a.consumeParenthesised.bind(null,a.parseLengthOrPercent),e=a.consumeRepeated.bind(void 0,d,/^/),f=a.mergeNestedRepeated.bind(void 0,a.mergeDimensions," "),g=a.mergeNestedRepeated.bind(void 0,f,",");a.addPropertiesHandler(b,c,["shape-outside"])}(d),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}(),!function(a,b){function c(a){var b=window.document.timeline;b.currentTime=a,b._discardAnimations(),0==b._animations.length?e=!1:requestAnimationFrame(c)}var d=window.requestAnimationFrame;window.requestAnimationFrame=function(a){return d(function(b){window.document.timeline._updateAnimationsPromises(),a(b),window.document.timeline._updateAnimationsPromises()})},b.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){b.animationsWithPromises=b.animationsWithPromises.filter(function(a){return a._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(a){return"finished"!=a.playState&&"idle"!=a.playState})},_play:function(a){var c=new b.Animation(a,this);return this._animations.push(c),b.restartWebAnimationsNextTick(),c._updatePromises(),c._animation.play(),c._updatePromises(),c},play:function(a){return a&&a.remove(),this._play(a)}};var e=!1;b.restartWebAnimationsNextTick=function(){e||(e=!0,requestAnimationFrame(c))};var f=new b.AnimationTimeline;b.timeline=f;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return f}})}catch(g){}try{window.document.timeline=f}catch(g){}}(c,e,f),function(a,b){b.animationsWithPromises=[],b.Animation=function(b,c){if(this.effect=b,b&&(b._animation=this),!c)throw new Error("Animation with null timeline is not supported");this._timeline=c,this._sequenceNumber=a.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},b.Animation.prototype={_updatePromises:function(){var a=this._oldPlayState,b=this.playState;return this._readyPromise&&b!==a&&("idle"==b?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==a?this._resolveReadyPromise():"pending"==b&&(this._readyPromise=void 0)),this._finishedPromise&&b!==a&&("idle"==b?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==b?this._resolveFinishedPromise():"finished"==a&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var a,c,d,e,f=this._animation?!0:!1;f&&(a=this.playbackRate,c=this._paused,d=this.startTime,e=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=b.newUnderlyingAnimationForKeyframeEffect(this.effect),b.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=b.newUnderlyingAnimationForGroup(this.effect),b.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&b.bindAnimationForCustomEffect(this),f&&(1!=a&&(this.playbackRate=a),null!==d?this.startTime=d:null!==e?this.currentTime=e:null!==this._holdTime&&(this.currentTime=this._holdTime),c&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var a=this.effect._timing.delay;this._childAnimations.forEach(function(c){this._arrangeChildren(c,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c.effect))}.bind(this))}},_setExternalAnimation:function(a){if(this.effect&&this._isGroup)for(var b=0;b<this.effect.children.length;b++)this.effect.children[b]._animation=a,this._childAnimations[b]._setExternalAnimation(a)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var a=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(c){var d=window.document.timeline._play(c);this._childAnimations.push(d),d.playbackRate=this.playbackRate,this._paused&&d.pause(),c._animation=this.effect._animation,this._arrangeChildren(d,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c))}.bind(this))}},_arrangeChildren:function(a,b){null===this.startTime?a.currentTime=this.currentTime-b/this.playbackRate:a.startTime!==this.startTime+b/this.playbackRate&&(a.startTime=this.startTime+b/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(a,b){this._resolveFinishedPromise=function(){a(this)},this._rejectFinishedPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get ready(){return window.Promise?(this._readyPromise||(-1==b.animationsWithPromises.indexOf(this)&&b.animationsWithPromises.push(this),this._readyPromise=new Promise(function(a,b){this._resolveReadyPromise=function(){a(this)},this._rejectReadyPromise=function(){b({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._onfinish},set onfinish(a){"function"==typeof a?(this._onfinish=a,this._animation.onfinish=function(b){b.target=this,a.call(this,b)}.bind(this)):(this._animation.onfinish=a,this.onfinish=this._animation.onfinish)},get currentTime(){this._updatePromises();var a=this._animation.currentTime;return this._updatePromises(),a},set currentTime(a){this._updatePromises(),this._animation.currentTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.currentTime=a-c}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(a){this._updatePromises(),this._animation.startTime=isFinite(a)?a:Math.sign(a)*Number.MAX_VALUE,this._register(),this._forEachChild(function(b,c){b.startTime=a+c}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(a){this._updatePromises();var b=this.currentTime;this._animation.playbackRate=a,this._forEachChild(function(b){b.playbackRate=a}),"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!==b&&(this.currentTime=b),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),b.awaitStartTime(this),this._forEachChild(function(a){var b=a.currentTime;a.play(),a.currentTime=b}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(a){a.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var a=this.currentTime;this._animation.reverse(),this._forEachChild(function(a){a.reverse()}),null!==a&&(this.currentTime=a),this._updatePromises()},addEventListener:function(a,b){var c=b;"function"==typeof b&&(c=function(a){a.target=this,b.call(this,a)}.bind(this),b._wrapper=c),this._animation.addEventListener(a,c)},removeEventListener:function(a,b){this._animation.removeEventListener(a,b&&b._wrapper||b)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(b){var c=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(a){b.call(this,a,c),this.effect instanceof window.SequenceEffect&&(c+=a.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var d=this.effect._timing,e=this.currentTime;null!==e&&(e=a.calculateTimeFraction(a.calculateActiveDuration(d),e,d)),(null==e||isNaN(e))&&this._removeChildAnimations()}}},window.Animation=b.Animation}(c,e,f),function(a,b){function c(b){this._frames=a.normalizeKeyframes(b)}function d(){for(var a=!1;h.length;){var b=h.shift();b._updateChildren(),a=!0}return a}var e=function(a){if(a._animation=void 0,a instanceof window.SequenceEffect||a instanceof window.GroupEffect)for(var b=0;b<a.children.length;b++)e(a.children[b])};b.removeMulti=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];d._parent?(-1==b.indexOf(d._parent)&&b.push(d._parent),d._parent.children.splice(d._parent.children.indexOf(d),1),d._parent=null,e(d)):d._animation&&d._animation.effect==d&&(d._animation.cancel(),d._animation.effect=new KeyframeEffect(null,[]),d._animation._callback&&(d._animation._callback._animation=null),d._animation._rebuildUnderlyingAnimation(),e(d))}for(c=0;c<b.length;c++)b[c]._rebuild()},b.KeyframeEffect=function(b,d,e){return this.target=b,this._parent=null,e=a.numericTimingToObject(e),this._timingInput=a.cloneTimingInput(e),this._timing=a.normalizeTimingInput(e),this.timing=a.makeTiming(e,!1,this),this.timing._effect=this,"function"==typeof d?(a.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=d):this._normalizedKeyframes=new c(d),this._keyframes=d,this.activeDuration=a.calculateActiveDuration(this._timing),this},b.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(a){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=a,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var b=new KeyframeEffect(this.target,[],a.cloneTimingInput(this._timingInput));return b._normalizedKeyframes=this._normalizedKeyframes,b._keyframes=this._keyframes,b},remove:function(){b.removeMulti([this])}};var f=Element.prototype.animate;Element.prototype.animate=function(a,c){return b.timeline._play(new b.KeyframeEffect(this,a,c))};var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");b.newUnderlyingAnimationForKeyframeEffect=function(a){if(a){var b=a.target||g,c=a._keyframes;"function"==typeof c&&(c=[]);var d=a._timingInput}else var b=g,c=[],d=0;return f.apply(b,[c,d])},b.bindAnimationForKeyframeEffect=function(a){a.effect&&"function"==typeof a.effect._normalizedKeyframes&&b.bindAnimationForCustomEffect(a)};var h=[];b.awaitStartTime=function(a){null===a.startTime&&a._isGroup&&(0==h.length&&requestAnimationFrame(d),h.push(a))};var i=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){window.document.timeline._updateAnimationsPromises();var a=i.apply(this,arguments);return d()&&(a=i.apply(this,arguments)),window.document.timeline._updateAnimationsPromises(),a}}),window.KeyframeEffect=b.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(a){return null!==a.effect&&a.effect.target==this}.bind(this))}}(c,e,f),function(a,b){function c(a){a._registered||(a._registered=!0,f.push(a),g||(g=!0,requestAnimationFrame(d)))}function d(){var a=f;f=[],a.sort(function(a,b){return a._sequenceNumber-b._sequenceNumber}),a=a.filter(function(a){a();var b=a._animation?a._animation.playState:"idle";return"running"!=b&&"pending"!=b&&(a._registered=!1),a._registered}),f.push.apply(f,a),f.length?(g=!0,requestAnimationFrame(d)):g=!1}var e=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);b.bindAnimationForCustomEffect=function(b){var d,f=b.effect.target,g="function"==typeof b.effect.getFrames();d=g?b.effect.getFrames():b.effect._onsample;var h=b.effect.timing,i=null;h=a.normalizeTimingInput(h);var j=function(){var c=j._animation?j._animation.currentTime:null;null!==c&&(c=a.calculateTimeFraction(a.calculateActiveDuration(h),c,h),isNaN(c)&&(c=null)),c!==i&&(g?d(c,f,b.effect):d(c,b.effect,b.effect._animation)),i=c};j._animation=b,j._registered=!1,j._sequenceNumber=e++,b._callback=j,c(j)};var f=[],g=!1;b.Animation.prototype._register=function(){this._callback&&c(this._callback)}}(c,e,f),function(a,b){function c(a){return a._timing.delay+a.activeDuration+a._timing.endDelay}function d(b,c){this._parent=null,this.children=b||[],this._reparent(this.children),c=a.numericTimingToObject(c),this._timingInput=a.cloneTimingInput(c),this._timing=a.normalizeTimingInput(c,!0),this.timing=a.makeTiming(c,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){d.apply(this,arguments)},window.GroupEffect=function(){d.apply(this,arguments)},d.prototype={_isAncestor:function(a){for(var b=this;null!==b;){if(b==a)return!0;b=b._parent}return!1},_rebuild:function(){for(var a=this;a;)"auto"===a.timing.duration&&(a._timing.duration=a.activeDuration),a=a._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(a){b.removeMulti(a);for(var c=0;c<a.length;c++)a[c]._parent=this},_putChild:function(a,b){for(var c=b?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",d=0;d<a.length;d++)if(this._isAncestor(a[d]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:c};for(var d=0;d<a.length;d++)b?this.children.push(a[d]):this.children.unshift(a[d]);this._reparent(a),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._parent},get firstChild(){return this.children.length?this.children[0]:null},get lastChild(){return this.children.length?this.children[this.children.length-1]:null},clone:function(){for(var b=a.cloneTimingInput(this._timingInput),c=[],d=0;d<this.children.length;d++)c.push(this.children[d].clone());return this instanceof GroupEffect?new GroupEffect(c,b):new SequenceEffect(c,b)},remove:function(){b.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a+=c(b)}),Math.max(a,0)}}),window.GroupEffect.prototype=Object.create(d.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var a=0;return this.children.forEach(function(b){a=Math.max(a,c(b))}),a}}),b.newUnderlyingAnimationForGroup=function(c){var d,e=null,f=function(b){var c=d._wrapper;return c&&"pending"!=c.playState&&c.effect?null==b?void c._removeChildAnimations():0==b&&c.playbackRate<0&&(e||(e=a.normalizeTimingInput(c.effect.timing)),b=a.calculateTimeFraction(a.calculateActiveDuration(e),-1,e),isNaN(b)||null==b)?(c._forEachChild(function(a){a.currentTime=-1}),void c._removeChildAnimations()):void 0:void 0},g=new KeyframeEffect(null,[],c._timing);return g.onsample=f,d=b.timeline._play(g)},b.bindAnimationForGroup=function(a){a._animation._wrapper=a,a._isGroup=!0,b.awaitStartTime(a),a._constructChildAnimations(),a._setExternalAnimation(a)},b.groupChildDuration=c}(c,e,f)}({},function(){return this}());
//# sourceMappingURL=web-animations-next.min.js.map \ No newline at end of file
diff --git a/third_party/web-animations-js/sources/web-animations-next.min.js.map b/third_party/web-animations-js/sources/web-animations-next.min.js.map
index bcb0efc..0d13f2b 100644
--- a/third_party/web-animations-js/sources/web-animations-next.min.js.map
+++ b/third_party/web-animations-js/sources/web-animations-next.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"web-animations-next.min.js","sources":["src/scope.js","src/timing-utilities.js","src/normalize-keyframes.js","src/deprecation.js","src/keyframe-interpolations.js","src/property-interpolation.js","src/keyframe-effect.js","src/apply-preserving-inline-style.js","src/element-animatable.js","src/interpolation.js","src/matrix-interpolation.js","src/animation.js","src/tick.js","src/timeline.js","src/web-animations-next-animation.js","src/keyframe-effect-constructor.js","src/effect-callback.js","src/group-constructors.js"],"names":["webAnimationsShared","webAnimations1","webAnimationsNext","webAnimationsTesting","shared","cloneTimingInput","timingInput","clone","m","makeTiming","forGroup","timing","delay","endDelay","fill","iterationStart","iterations","duration","playbackRate","direction","easing","isNaN","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","isDeprecated","normalizeTimingInput","toTimingFunction","cubic","a","b","c","d","linear","x","f","start","end","mid","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","this","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","calculatePhase","activeDuration","localTime","PhaseNone","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","calculateCurrentIteration","iterationTime","floor","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","directedTime","timeFraction","calculateTimeFraction","split","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","antiAlias","value","aliases","expandShorthandAndAntiAlias","result","longProperties","shorthandToLonghand","shorthandExpanderElem","style","i","longProperty","longhandValue","normalizeKeyframes","effectInput","spaceKeyframes","length","keyframes","offset","previousIndex","previousOffset","j","Array","isArray","TypeError","originalKeyframe","keyframe","member","memberValue","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","everyFrameHasOffset","code","INVALID_MODIFICATION_ERR","filter","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","document","createElementNS","borderWidthAliases","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","silenced","feature","date","advice","plural","auxVerb","today","Date","expiry","setMonth","getMonth","console","warn","toDateString","deprecated","Error","scope","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","groupName","group","makeInterpolations","interpolations","startTime","startValue","endValue","endTime","push","propertyInterpolation","sort","leftInterpolation","rightInterpolation","convertEffectInput","target","fraction","interpolation","offsetFraction","localDuration","scaledLocalTime","clear","addPropertyHandler","parser","merger","propertyHandlers","addPropertiesHandler","properties","replace","toUpperCase","left","initialValues","ucProperty","right","handlers","parsedLeft","parsedRight","interpolationArgs","Interpolation","t","interp","bool","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","bottom","clip","color","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","opacity","outlineColor","paddingBottom","paddingLeft","paddingRight","paddingTop","transform","verticalAlign","visibility","width","wordSpacing","zIndex","EffectTime","effectTime","_totalDuration","KeyframeEffect","keyframeEffect","_update","_clear","_hasSameTarget","otherTarget","_isCurrent","nullEffect","testing","configureProperty","descriptor","enumerable","configurable","defineProperty","AnimatedCSSStyleDeclaration","element","_surrogateStyle","_length","_isAnimatedProperty","_style","_updateIndices","ensureStyleIsPatched","_webAnimationsPatchedStyle","animatedStyle","get","styleAttributes","cssText","parentRule","styleMethods","getPropertyCSSValue","getPropertyPriority","getPropertyValue","removeProperty","styleMutatingMethods","setProperty","prototype",{"end":{"file":"src/apply-preserving-inline-style.js","comments_before":[],"nlb":false,"endpos":2110,"pos":2103,"col":8,"line":64,"value":"cssText","type":"name"},"start":{"file":"src/apply-preserving-inline-style.js","comments_before":[],"nlb":false,"endpos":2110,"pos":2103,"col":8,"line":64,"value":"cssText","type":"name"},"name":"cssText"},"isAffectedProperty","text","index","method","modifiesStyle","arguments","documentElement","_set","propertyName","window","Element","animate","timeline","_play","from","to","r","interpolate","convertToString","clamp","max","min","quat","product","fromQ","toQ","theta","sin","sqrt","cos","composeMatrix","multiply","k","is2D","translate","skew","perspective","matrix","y","z","rotMatrix","w","temp","scale","concat","sequenceNumber","AnimationEvent","currentTime","timelineTime","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","effect","_sequenceNumber","_currentTime","_paused","_playbackRate","_inTimeline","_finishedFlag","onfinish","_finishHandlers","_effect","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","newTime","ignoreLimit","_isFinished","restart","_startTime","_timeline","invalidateEffects","oldCurrentTime","playState","play","pause","finish","cancel","addEventListener","handler","removeEventListener","splice","_fireEvents","baseTime","finished","event","setTimeout","call","processRafCallbacks","processing","rafCallbacks","tick","entry","needsRetick","applyPendingEffects","_now","compareAnimations","rightAnimation","leftAnimation","InternalTimeline","performance","hasRestartedThisFrame","ticking","updatingAnimations","newPendingClears","newPendingEffects","animation","_tick","webAnimationsNextTick","_discardAnimations","requestAnimationFrame","originalRequestAnimationFrame","_updateAnimationsPromises","AnimationTimeline","getAnimations","getAnimationPlayers","animationsWithPromises","_updatePromises","restartWebAnimationsNextTick","_animation","remove","e","_holdTime","_isGroup","_childAnimations","_callback","_oldPlayState","_rebuildUnderlyingAnimation","oldPlayState","newPlayState","_readyPromise","_rejectReadyPromise","_resolveReadyPromise","_finishedPromise","_rejectFinishedPromise","_resolveFinishedPromise","oldPlaybackRate","oldPaused","oldStartTime","hadUnderlying","_wrapper","newUnderlyingAnimationForKeyframeEffect","bindAnimationForKeyframeEffect","SequenceEffect","GroupEffect","newUnderlyingAnimationForGroup","bindAnimationForGroup","_updateChildren","_timing","childAnimation","_arrangeChildren","groupChildDuration","bind","_setExternalAnimation","children","_constructChildAnimations","_removeChildAnimations","child","Promise","resolve","reject","ABORT_ERR","ready","_onfinish","v","sign","MAX_VALUE","_register","_forEachChild","source","awaitStartTime","time","reverse","wrapped","pop","KeyframeList","_frames","updatePendingGroups","updated","pendingGroups","shift","disassociate","removeMulti","effects","oldParents","_parent","_rebuild","_timingInput","_normalizedKeyframes","_keyframes","getFrames","originalElementAnimate","nullTarget","bindAnimationForCustomEffect","groupAnimation","originalGetComputedStyle","getComputedStyle","create","constructor","register","callback","_registered","callbacks","updating","effectFunction","last","node","_reparent","_isAncestor","newChildren","_putChild","args","isAppend","HIERARCHY_REQUEST_ERR","unshift","append","prepend","firstChild","lastChild","clonedTiming","clonedChildren","total","underlyingAnimation","ticker","tf","AnimationSequence","AnimationGroup"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"web-animations-next.min.js","sources":["src/scope.js","src/timing-utilities.js","src/normalize-keyframes.js","src/deprecation.js","src/keyframe-interpolations.js","src/property-interpolation.js","src/keyframe-effect.js","src/apply-preserving-inline-style.js","src/element-animatable.js","src/interpolation.js","src/matrix-interpolation.js","src/animation.js","src/tick.js","src/timeline.js","src/web-animations-next-animation.js","src/keyframe-effect-constructor.js","src/effect-callback.js","src/group-constructors.js"],"names":["webAnimationsShared","webAnimations1","webAnimationsNext","webAnimationsTesting","shared","cloneTimingInput","timingInput","clone","m","AnimationEffectTiming","this","_delay","_endDelay","_fill","_iterationStart","_iterations","_duration","_playbackRate","_direction","_easing","makeTiming","forGroup","timing","fill","duration","isNaN","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","isDeprecated","numericTimingToObject","normalizeTimingInput","toTimingFunction","easing","cubic","a","b","c","d","linear","x","f","start","end","mid","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","playbackRate","iterations","calculatePhase","activeDuration","localTime","PhaseNone","delay","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","iterationStart","calculateCurrentIteration","iterationTime","floor","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","direction","directedTime","timeFraction","calculateTimeFraction","split","prototype","_setMember","member","value","_effect","_timingInput","_timing","_animation","_rebuildUnderlyingAnimation",{"end":{"file":"src/timing-utilities.js","comments_before":[],"nlb":false,"endpos":1832,"pos":1820,"col":8,"line":55,"value":"playbackRate","type":"name"},"start":{"file":"src/timing-utilities.js","comments_before":[],"nlb":false,"endpos":1832,"pos":1820,"col":8,"line":55,"value":"playbackRate","type":"name"},"name":"playbackRate"},"endDelay","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","antiAlias","aliases","expandShorthandAndAntiAlias","result","longProperties","shorthandToLonghand","shorthandExpanderElem","style","i","longProperty","longhandValue","normalizeKeyframes","effectInput","spaceKeyframes","length","keyframes","offset","previousIndex","previousOffset","j","Array","isArray","TypeError","originalKeyframe","keyframe","memberValue","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","everyFrameHasOffset","code","INVALID_MODIFICATION_ERR","filter","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","document","createElementNS","borderWidthAliases","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","silenced","feature","date","advice","plural","auxVerb","today","Date","expiry","setMonth","getMonth","console","warn","toDateString","deprecated","Error","scope","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","groupName","group","makeInterpolations","interpolations","startTime","startValue","endValue","endTime","push","propertyInterpolation","sort","leftInterpolation","rightInterpolation","convertEffectInput","target","fraction","interpolation","offsetFraction","localDuration","scaledLocalTime","clear","addPropertyHandler","parser","merger","propertyHandlers","addPropertiesHandler","properties","replace","toUpperCase","left","initialValues","ucProperty","right","handlers","parsedLeft","parsedRight","interpolationArgs","Interpolation","t","interp","bool","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","bottom","clip","color","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","opacity","outlineColor","paddingBottom","paddingLeft","paddingRight","paddingTop","transform","verticalAlign","visibility","width","wordSpacing","zIndex","EffectTime","effectTime","_totalDuration","KeyframeEffect","keyframeEffect","_update","_clear","_hasSameTarget","otherTarget","_isCurrent","nullEffect","testing","configureProperty","descriptor","enumerable","configurable","defineProperty","AnimatedCSSStyleDeclaration","element","_surrogateStyle","_length","_isAnimatedProperty","_style","_updateIndices","ensureStyleIsPatched","_webAnimationsPatchedStyle","animatedStyle","get","styleAttributes","cssText","parentRule","styleMethods","getPropertyCSSValue","getPropertyPriority","getPropertyValue","removeProperty","styleMutatingMethods","setProperty","isAffectedProperty","text","index","method","modifiesStyle","arguments","documentElement","_set","propertyName","window","Element","animate","timeline","_play","from","to","r","interpolate","convertToString","clamp","max","min","quat","product","fromQ","toQ","theta","sin","sqrt","cos","composeMatrix","multiply","k","is2D","translate","skew","perspective","matrix","y","z","rotMatrix","w","temp","scale","concat","sequenceNumber","AnimationEvent","currentTime","timelineTime","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","effect","_sequenceNumber","_currentTime","_paused","_inTimeline","_finishedFlag","onfinish","_finishHandlers","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","newTime","ignoreLimit","_isFinished","restart","_startTime","_timeline","invalidateEffects","oldCurrentTime","playState","play","pause","finish","cancel","addEventListener","handler","removeEventListener","splice","_fireEvents","baseTime","finished","event","setTimeout","call","processRafCallbacks","processing","rafCallbacks","tick","entry","needsRetick","applyPendingEffects","_now","compareAnimations","rightAnimation","leftAnimation","InternalTimeline","performance","hasRestartedThisFrame","ticking","updatingAnimations","newPendingClears","newPendingEffects","animation","_tick","webAnimationsNextTick","_discardAnimations","requestAnimationFrame","originalRequestAnimationFrame","_updateAnimationsPromises","AnimationTimeline","getAnimations","animationsWithPromises","_updatePromises","restartWebAnimationsNextTick","remove","e","_holdTime","_isGroup","_childAnimations","_callback","_oldPlayState","oldPlayState","newPlayState","_readyPromise","_rejectReadyPromise","_resolveReadyPromise","_finishedPromise","_rejectFinishedPromise","_resolveFinishedPromise","oldPlaybackRate","oldPaused","oldStartTime","hadUnderlying","_wrapper","newUnderlyingAnimationForKeyframeEffect","bindAnimationForKeyframeEffect","SequenceEffect","GroupEffect","newUnderlyingAnimationForGroup","bindAnimationForGroup","_onsample","bindAnimationForCustomEffect","_updateChildren","childAnimation","_arrangeChildren","groupChildDuration","bind","_setExternalAnimation","children","_constructChildAnimations","_removeChildAnimations","child","Promise","resolve","reject","ABORT_ERR","ready","_onfinish","v","sign","MAX_VALUE","_register","_forEachChild","awaitStartTime","time","reverse","wrapped","pop","KeyframeList","_frames","updatePendingGroups","updated","pendingGroups","shift","disassociate","removeMulti","effects","oldParents","_parent","_rebuild","_normalizedKeyframes","_keyframes","getFrames","onsample","callback","parent","originalElementAnimate","nullTarget","groupAnimation","originalGetComputedStyle","getComputedStyle","register","_registered","callbacks","updating","effectFunction","isKeyframeEffect","last","node","constructor","_reparent","_isAncestor","newChildren","_putChild","args","isAppend","HIERARCHY_REQUEST_ERR","unshift","append","prepend","firstChild","lastChild","clonedTiming","clonedChildren","create","total","underlyingAnimation","ticker","tf","underlyingEffect"],"mappings":"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"} \ No newline at end of file
diff --git a/third_party/web-animations-js/sources/web-animations.min.js b/third_party/web-animations-js/sources/web-animations.min.js
index 62c3ae5..db3df68 100644
--- a/third_party/web-animations-js/sources/web-animations.min.js
+++ b/third_party/web-animations-js/sources/web-animations.min.js
@@ -12,6 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-!function(a,b){b["true"]=a,function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}var c={},d={},e={},f=null;!function(a){function b(a){if("number"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function c(b,c){var d={delay:0,endDelay:0,fill:c?"both":"none",iterationStart:0,iterations:1,duration:c?"auto":0,playbackRate:1,direction:"normal",easing:"linear"};return"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof d[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==q.indexOf(b[c]))return;if("direction"==c&&-1==r.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;d[c]=b[c]}}):d.duration=b,d}function d(a,b){var d=c(a,b);return d.easing=g(d.easing),d}function e(a,b,c,d){return 0>a||a>1||0>c||c>1?z:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function f(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function g(a){var b=x.exec(a);if(b)return e.apply(this,b.slice(1).map(Number));var c=y.exec(a);if(c)return f(Number(c[1]),{start:s,middle:t,end:u}[c[2]]);var d=v[a];return d?d:z}function h(a){return Math.abs(i(a)/a.playbackRate)}function i(a){return a.duration*a.iterations}function j(a,b,c){return null==b?A:b<c.delay?B:b>=c.delay+a?C:D}function k(a,b,c,d,e){switch(d){case B:return"backwards"==b||"both"==b?0:null;case D:return c-e;case C:return"forwards"==b||"both"==b?a:null;case A:return null}}function l(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function m(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function n(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function o(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function p(a,b,c){var d=j(a,b,c),e=k(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===B?0:1;var f=c.iterationStart*c.duration,g=l(a,e,f,c),h=m(c.duration,i(c),g,f,c),p=n(c.duration,h,g,c);return o(p,c.duration,h,c)/c.duration}var q="backwards|forwards|both|none".split("|"),r="reverse|alternate|alternate-reverse".split("|"),s=1,t=.5,u=0,v={ease:e(.25,.1,.25,1),"ease-in":e(.42,0,1,1),"ease-out":e(0,0,.58,1),"ease-in-out":e(.42,0,.58,1),"step-start":f(1,s),"step-middle":f(1,t),"step-end":f(1,u)},w="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",x=new RegExp("cubic-bezier\\("+w+","+w+","+w+","+w+"\\)"),y=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,z=function(a){return a},A=0,B=1,C=2,D=3;a.cloneTimingInput=b,a.makeTiming=c,a.normalizeTimingInput=d,a.calculateActiveDuration=h,a.calculateTimeFraction=p,a.calculatePhase=j,a.toTimingFunction=g}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframes must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){var f=e?"are":"is";if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+f+" no longer supported. "+d)}}(c),function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){if("initial"==c||"initial"==d){var g=b.replace(/-(.)/g,function(a,b){return b.toUpperCase()});"initial"==c&&(c=f[g]),"initial"==d&&(d=f[g])}for(var h=c==d?[]:e[b],i=0;h&&i<h.length;i++){var j=h[i][0](c),k=h[i][0](d);if(void 0!==j&&void 0!==k){var l=h[i][1](j,k);if(l){var m=a.Interpolation.apply(null,l);return function(a){return 0==a?c:1==a?d:m(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c;var f={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};a.propertyInterpolation=d}(d,f),function(a,b){function c(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}b.KeyframeEffect=function(d,e,f){var g,h=c(a.normalizeTimingInput(f)),i=b.convertEffectInput(e),j=function(){i(d,g)};return j._update=function(a){return g=h(a),null!==g},j._clear=function(){i(d,null)},j._hasSameTarget=function(a){return d===a},j._isCurrent=h._isCurrent,j._totalDuration=h._totalDuration,j},b.NullEffect=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){function b(a,b,c){c.enumerable=!0,c.configurable=!0,Object.defineProperty(a,b,c)}function c(a){this._surrogateStyle=document.createElementNS("http://www.w3.org/1999/xhtml","div").style,this._style=a.style,this._length=0,this._isAnimatedProperty={};for(var b=0;b<this._style.length;b++){var c=this._style[b];this._surrogateStyle[c]=this._style[c]}this._updateIndices()}function d(a){if(!a._webAnimationsPatchedStyle){var d=new c(a);try{b(a,"style",{get:function(){return d}})}catch(e){a.style._set=function(b,c){a.style[b]=c},a.style._clear=function(b){a.style[b]=""}}a._webAnimationsPatchedStyle=a.style}}var e={cssText:1,length:1,parentRule:1},f={getPropertyCSSValue:1,getPropertyPriority:1,getPropertyValue:1,item:1,removeProperty:1,setProperty:1},g={removeProperty:1,setProperty:1};c.prototype={get cssText(){return this._surrogateStyle.cssText},set cssText(a){for(var b={},c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;this._surrogateStyle.cssText=a,this._updateIndices();for(var c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;for(var d in b)this._isAnimatedProperty[d]||this._style.setProperty(d,this._surrogateStyle.getPropertyValue(d))},get length(){return this._surrogateStyle.length},get parentRule(){return this._style.parentRule},_updateIndices:function(){for(;this._length<this._surrogateStyle.length;)Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,get:function(a){return function(){return this._surrogateStyle[a]}}(this._length)}),this._length++;for(;this._length>this._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(a,b){this._style[a]=b,this._isAnimatedProperty[a]=!0},_clear:function(a){this._style[a]=this._surrogateStyle[a],delete this._isAnimatedProperty[a]}};for(var h in f)c.prototype[h]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(h,h in g);for(var i in document.documentElement.style)i in e||i in f||!function(a){b(c.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(i);a.apply=function(b,c,e){d(b),b.style._set(a.propertyName(c),e)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.KeyframeEffect(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a){function b(a,b,c){return Math.max(Math.min(a,c),b)}function c(c,d,e){var f=a.dot(c,d);f=b(f,-1,1);var g=[];if(1===f)g=c;else for(var h=Math.acos(f),i=1*Math.sin(e*h)/Math.sqrt(1-f*f),j=0;4>j;j++)g.push(c[j]*(Math.cos(e*h)-f*i)+d[j]*i);return g}var d=function(){function a(a,b){for(var c=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],d=0;4>d;d++)for(var e=0;4>e;e++)for(var f=0;4>f;f++)c[d][e]+=b[d][f]*a[f][e];return c}function b(a){return 0==a[0][2]&&0==a[0][3]&&0==a[1][2]&&0==a[1][3]&&0==a[2][0]&&0==a[2][1]&&1==a[2][2]&&0==a[2][3]&&0==a[3][2]&&1==a[3][3]}function c(c,d,e,f,g){for(var h=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],i=0;4>i;i++)h[i][3]=g[i];for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[3][i]+=c[j]*h[j][i];var k=f[0],l=f[1],m=f[2],n=f[3],o=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];o[0][0]=1-2*(l*l+m*m),o[0][1]=2*(k*l-m*n),o[0][2]=2*(k*m+l*n),o[1][0]=2*(k*l+m*n),o[1][1]=1-2*(k*k+m*m),o[1][2]=2*(l*m-k*n),o[2][0]=2*(k*m-l*n),o[2][1]=2*(l*m+k*n),o[2][2]=1-2*(k*k+l*l),h=a(h,o);var p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];e[2]&&(p[2][1]=e[2],h=a(h,p)),e[1]&&(p[2][1]=0,p[2][0]=e[0],h=a(h,p)),e[0]&&(p[2][0]=0,p[1][0]=e[0],h=a(h,p));for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[i][j]*=d[i];return b(h)?[h[0][0],h[0][1],h[1][0],h[1][1],h[3][0],h[3][1]]:h[0].concat(h[1],h[2],h[3])}return c}();a.composeMatrix=d,a.quat=c}(d,f),function(a,b){a.sequenceNumber=0;var c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this._inEffect=this._effect._update(this.playbackRate<0&&0===this.currentTime?-1:this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects()))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var b=this.currentTime;this._playbackRate=a,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!=b&&(this.currentTime=b)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,b.invalidateEffects()),this._finishedFlag=!1,b.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this._isFinished||this._paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null,this._effect._update(null),b.invalidateEffects(),b.restart())},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this._isFinished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this._paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(c,d,f),function(a,b){function c(a){var b=i;i=[],a<s.currentTime&&(a=s.currentTime),g(a),b.forEach(function(b){b[1](a)}),o&&g(a),f(),l=void 0}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){p.forEach(function(a){a()}),p.length=0}function g(a){n=!1;var c=b.timeline;c.currentTime=a,c._animations.sort(d),m=!1;var e=c._animations;c._animations=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._effect):f.push(b._effect),b._isFinished||b._paused||b._idle||(m=!0),b._inTimeline}),p.push.apply(p,f),p.push.apply(p,g),c._animations.push.apply(c._animations,e),o=!1,m&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.invalidateEffects(),d}};var k,l=void 0,k=function(){return void 0==l&&(l=performance.now()),l},m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n};var o=!1;b.invalidateEffects=function(){o=!0};var p=[],q=1e3/60,r=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){if(o){var a=k();a-s.currentTime>0&&(s.currentTime+=q*(Math.floor((a-s.currentTime)/q)+1)),g(s.currentTime)}return f(),r.apply(this,arguments)}});var s=new e;b.timeline=s}(c,d,f),function(a){function b(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c}function c(a,b){return[a[0]*b[0]+a[4]*b[1]+a[8]*b[2]+a[12]*b[3],a[1]*b[0]+a[5]*b[1]+a[9]*b[2]+a[13]*b[3],a[2]*b[0]+a[6]*b[1]+a[10]*b[2]+a[14]*b[3],a[3]*b[0]+a[7]*b[1]+a[11]*b[2]+a[15]*b[3],a[0]*b[4]+a[4]*b[5]+a[8]*b[6]+a[12]*b[7],a[1]*b[4]+a[5]*b[5]+a[9]*b[6]+a[13]*b[7],a[2]*b[4]+a[6]*b[5]+a[10]*b[6]+a[14]*b[7],a[3]*b[4]+a[7]*b[5]+a[11]*b[6]+a[15]*b[7],a[0]*b[8]+a[4]*b[9]+a[8]*b[10]+a[12]*b[11],a[1]*b[8]+a[5]*b[9]+a[9]*b[10]+a[13]*b[11],a[2]*b[8]+a[6]*b[9]+a[10]*b[10]+a[14]*b[11],a[3]*b[8]+a[7]*b[9]+a[11]*b[10]+a[15]*b[11],a[0]*b[12]+a[4]*b[13]+a[8]*b[14]+a[12]*b[15],a[1]*b[12]+a[5]*b[13]+a[9]*b[14]+a[13]*b[15],a[2]*b[12]+a[6]*b[13]+a[10]*b[14]+a[14]*b[15],a[3]*b[12]+a[7]*b[13]+a[11]*b[14]+a[15]*b[15]]}function d(a){switch(a.t){case"rotatex":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,0,Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1];case"rotatey":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),0,-Math.sin(d),0,0,1,0,0,Math.sin(d),0,Math.cos(d),0,0,0,0,1];case"rotate":case"rotatez":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1,0,0,0,0,1];case"rotate3d":var e=a.d[0],f=a.d[1],g=a.d[2],b=a.d[3].rad||0,c=a.d[3].deg||0,d=c*Math.PI/180+b,h=e*e+f*f+g*g;if(0===h)e=1,f=0,g=0;else if(1!==h){var i=Math.sqrt(h);e/=i,f/=i,g/=i}var j=Math.sin(d/2),k=j*Math.cos(d/2),l=j*j;return[1-2*(f*f+g*g)*l,2*(e*f*l+g*k),2*(e*g*l-f*k),0,2*(e*f*l-g*k),1-2*(e*e+g*g)*l,2*(f*g*l+e*k),0,2*(e*g*l+f*k),2*(f*g*l-e*k),1-2*(e*e+f*f)*l,0,0,0,0,1];case"scale":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,1,0,0,0,0,1];case"scalex":return[a.d[0],0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaley":return[1,0,0,0,0,a.d[0],0,0,0,0,1,0,0,0,0,1];case"scalez":return[1,0,0,0,0,1,0,0,0,0,a.d[0],0,0,0,0,1];case"scale3d":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,a.d[2],0,0,0,0,1];case"skew":var m=a.d[0].deg||0,n=a.d[0].rad||0,o=a.d[1].deg||0,p=a.d[1].rad||0,q=m*Math.PI/180+n,r=o*Math.PI/180+p;return[1,Math.tan(r),0,0,Math.tan(q),1,0,0,0,0,1,0,0,0,0,1];case"skewx":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,Math.tan(d),1,0,0,0,0,1,0,0,0,0,1];case"skewy":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,Math.tan(d),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":var e=a.d[0].px||0,f=a.d[1].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,0,1];case"translatex":var e=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translatey":var f=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,f,0,1];case"translatez":var g=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,g,1];case"translate3d":var e=a.d[0].px||0,f=a.d[1].px||0,g=a.d[2].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,g,1];case"perspective":var s=a.d[0].px?-1/a.d[0].px:0;return[1,0,0,0,0,1,0,0,0,0,1,s,0,0,0,1];case"matrix":return[a.d[0],a.d[1],0,0,a.d[2],a.d[3],0,0,0,0,1,0,a.d[4],a.d[5],0,1];case"matrix3d":return a.d}}function e(a){return 0===a.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:a.map(d).reduce(c)}function f(a){return[g(e(a))]}var g=function(){function a(a){return a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0]}function c(b){for(var c=1/a(b),d=b[0][0],e=b[0][1],f=b[0][2],g=b[1][0],h=b[1][1],i=b[1][2],j=b[2][0],k=b[2][1],l=b[2][2],m=[[(h*l-i*k)*c,(f*k-e*l)*c,(e*i-f*h)*c,0],[(i*j-g*l)*c,(d*l-f*j)*c,(f*g-d*i)*c,0],[(g*k-h*j)*c,(j*e-d*k)*c,(d*h-e*g)*c,0]],n=[],o=0;3>o;o++){for(var p=0,q=0;3>q;q++)p+=b[3][q]*m[q][o];n.push(p)}return n.push(1),m.push(n),m}function d(a){return[[a[0][0],a[1][0],a[2][0],a[3][0]],[a[0][1],a[1][1],a[2][1],a[3][1]],[a[0][2],a[1][2],a[2][2],a[3][2]],[a[0][3],a[1][3],a[2][3],a[3][3]]]}function e(a,b){for(var c=[],d=0;4>d;d++){for(var e=0,f=0;4>f;f++)e+=a[f]*b[f][d];c.push(e)}return c}function f(a){var b=g(a);return[a[0]/b,a[1]/b,a[2]/b]}function g(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2])}function h(a,b,c,d){return[c*a[0]+d*b[0],c*a[1]+d*b[1],c*a[2]+d*b[2]]}function i(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function j(j){var k=[j.slice(0,4),j.slice(4,8),j.slice(8,12),j.slice(12,16)];if(1!==k[3][3])return null;for(var l=[],m=0;4>m;m++)l.push(k[m].slice());for(var m=0;3>m;m++)l[m][3]=0;if(0===a(l))return!1;var n,o=[];if(k[0][3]||k[1][3]||k[2][3]){o.push(k[0][3]),o.push(k[1][3]),o.push(k[2][3]),o.push(k[3][3]);var p=c(l),q=d(p);n=e(o,q)}else n=[0,0,0,1];var r=k[3].slice(0,3),s=[];s.push(k[0].slice(0,3));var t=[];t.push(g(s[0])),s[0]=f(s[0]);var u=[];s.push(k[1].slice(0,3)),u.push(b(s[0],s[1])),s[1]=h(s[1],s[0],1,-u[0]),t.push(g(s[1])),s[1]=f(s[1]),u[0]/=t[1],s.push(k[2].slice(0,3)),u.push(b(s[0],s[2])),s[2]=h(s[2],s[0],1,-u[1]),u.push(b(s[1],s[2])),s[2]=h(s[2],s[1],1,-u[2]),t.push(g(s[2])),s[2]=f(s[2]),u[1]/=t[2],u[2]/=t[2];var v=i(s[1],s[2]);if(b(s[0],v)<0)for(var m=0;3>m;m++)t[m]*=-1,s[m][0]*=-1,s[m][1]*=-1,s[m][2]*=-1;var w,x,y=s[0][0]+s[1][1]+s[2][2]+1;return y>1e-4?(w=.5/Math.sqrt(y),x=[(s[2][1]-s[1][2])*w,(s[0][2]-s[2][0])*w,(s[1][0]-s[0][1])*w,.25/w]):s[0][0]>s[1][1]&&s[0][0]>s[2][2]?(w=2*Math.sqrt(1+s[0][0]-s[1][1]-s[2][2]),x=[.25*w,(s[0][1]+s[1][0])/w,(s[0][2]+s[2][0])/w,(s[2][1]-s[1][2])/w]):s[1][1]>s[2][2]?(w=2*Math.sqrt(1+s[1][1]-s[0][0]-s[2][2]),x=[(s[0][1]+s[1][0])/w,.25*w,(s[1][2]+s[2][1])/w,(s[0][2]-s[2][0])/w]):(w=2*Math.sqrt(1+s[2][2]-s[0][0]-s[1][1]),x=[(s[0][2]+s[2][0])/w,(s[1][2]+s[2][1])/w,.25*w,(s[1][0]-s[0][1])/w]),[r,t,u,x,n]}return j}();a.dot=b,a.makeMatrixDecomposition=f}(d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;
-var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a){var b=Number(a);return isNaN(b)||100>b||b>900||b%100!==0?void 0:b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?"normal":700===b?"bold":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,["font-weight"])}(d),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&""==e[1]){var f=e[0];if(f[0]=f[0]||"center",f[1]=f[1]||"center",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return"object"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{"%":50},{"%":50}],i=0,j=!1,k=0;k<f.length;k++){var l=f[k];"string"==typeof l?(j=/bottom|right/.test(l),i={left:0,right:0,center:i,top:1,bottom:1}[l],h[i]=g[l],"center"==l&&i++):(j&&(l=b(l),l["%"]=(l["%"]||0)+100),h[i]=l,i++,j=!1)}return[h,e[1]]}}function f(b){var c=a.consumeRepeated(e,/^,/,b);return c&&""==c[1]?c[0]:void 0}var g={left:{"%":0},center:{"%":50},right:{"%":100},top:{"%":0},bottom:{"%":100}},h=a.mergeNestedRepeated.bind(null,a.mergeDimensions," ");a.addPropertiesHandler(d.bind(null,3),h,["transform-origin"]),a.addPropertiesHandler(d.bind(null,2),h,["perspective-origin"]),a.consumePosition=e,a.mergeOffsetList=h;var i=a.mergeNestedRepeated.bind(null,h,", ");a.addPropertiesHandler(f,i,["background-position","object-position"])}(d),function(a){function b(b){var c=a.consumeToken(/^circle/,b);if(c&&c[0])return["circle"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),d,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],c[1]));var f=a.consumeToken(/^ellipse/,b);if(f&&f[0])return["ellipse"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),e,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],f[1]));var g=a.consumeToken(/^polygon/,b);return g&&g[0]?["polygon"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),a.optional(a.consumeToken.bind(void 0,/^nonzero\s*,|^evenodd\s*,/),"nonzero,"),a.consumeSizePairList,a.ignore(a.consumeToken.bind(void 0,/^\)/))],g[1])):void 0}function c(b,c){return b[0]===c[0]?"circle"==b[0]?a.mergeList(b.slice(1),c.slice(1),["circle(",a.mergeDimensions," at ",a.mergeOffsetList,")"]):"ellipse"==b[0]?a.mergeList(b.slice(1),c.slice(1),["ellipse(",a.mergeNonNegativeSizePair," at ",a.mergeOffsetList,")"]):"polygon"==b[0]&&b[1]==c[1]?a.mergeList(b.slice(2),c.slice(2),["polygon(",b[1],g,")"]):void 0:void 0}var d=a.consumeParenthesised.bind(null,a.parseLengthOrPercent),e=a.consumeRepeated.bind(void 0,d,/^/),f=a.mergeNestedRepeated.bind(void 0,a.mergeDimensions," "),g=a.mergeNestedRepeated.bind(void 0,f,",");a.addPropertiesHandler(b,c,["shape-outside"])}(d),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}()}({},function(){return this}());
+!function(a,b){b["true"]=a,function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}var c={},d={},e={},f=null;!function(a){function b(a){if("number"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function c(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear"}function d(b,d){var e=new c;return d&&(e.fill="both",e.duration="auto"),"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof e[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==s.indexOf(b[c]))return;if("direction"==c&&-1==t.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;e[c]=b[c]}}):e.duration=b,e}function e(a){return"number"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function f(b,c){b=a.numericTimingToObject(b);var e=d(b,c);return e._easing=i(e.easing),e}function g(a,b,c,d){return 0>a||a>1||0>c||c>1?B:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function h(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function i(a){var b=z.exec(a);if(b)return g.apply(this,b.slice(1).map(Number));var c=A.exec(a);if(c)return h(Number(c[1]),{start:u,middle:v,end:w}[c[2]]);var d=x[a];return d?d:B}function j(a){return Math.abs(k(a)/a.playbackRate)}function k(a){return a.duration*a.iterations}function l(a,b,c){return null==b?C:b<c.delay?D:b>=c.delay+a?E:F}function m(a,b,c,d,e){switch(d){case D:return"backwards"==b||"both"==b?0:null;case F:return c-e;case E:return"forwards"==b||"both"==b?a:null;case C:return null}}function n(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function o(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function p(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function q(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function r(a,b,c){var d=l(a,b,c),e=m(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===D?0:1;var f=c.iterationStart*c.duration,g=n(a,e,f,c),h=o(c.duration,k(c),g,f,c),i=p(c.duration,h,g,c);return q(i,c.duration,h,c)/c.duration}var s="backwards|forwards|both|none".split("|"),t="reverse|alternate|alternate-reverse".split("|");c.prototype={_setMember:function(b,c){this["_"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(a.normalizeTimingInput(this._effect._timingInput)),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember("delay",a)},get delay(){return this._delay},set endDelay(a){this._setMember("endDelay",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember("fill",a)},get fill(){return this._fill},set iterationStart(a){this._setMember("iterationStart",a)},get iterationStart(){return this._iterationStart},set duration(a){this._setMember("duration",a)},get duration(){return this._duration},set direction(a){this._setMember("direction",a)},get direction(){return this._direction},set easing(a){this._setMember("easing",a)},get easing(){return this._easing},set iterations(a){this._setMember("iterations",a)},get iterations(){return this._iterations}};var u=1,v=.5,w=0,x={ease:g(.25,.1,.25,1),"ease-in":g(.42,0,1,1),"ease-out":g(0,0,.58,1),"ease-in-out":g(.42,0,.58,1),"step-start":h(1,u),"step-middle":h(1,v),"step-end":h(1,w)},y="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",z=new RegExp("cubic-bezier\\("+y+","+y+","+y+","+y+"\\)"),A=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,B=function(a){return a},C=0,D=1,E=2,F=3;a.cloneTimingInput=b,a.makeTiming=d,a.numericTimingToObject=e,a.normalizeTimingInput=f,a.calculateActiveDuration=j,a.calculateTimeFraction=r,a.calculatePhase=l,a.toTimingFunction=i}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframes must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){var f=e?"are":"is";if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+f+" no longer supported. "+d)}}(c),function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){if("initial"==c||"initial"==d){var g=b.replace(/-(.)/g,function(a,b){return b.toUpperCase()});"initial"==c&&(c=f[g]),"initial"==d&&(d=f[g])}for(var h=c==d?[]:e[b],i=0;h&&i<h.length;i++){var j=h[i][0](c),k=h[i][0](d);if(void 0!==j&&void 0!==k){var l=h[i][1](j,k);if(l){var m=a.Interpolation.apply(null,l);return function(a){return 0==a?c:1==a?d:m(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c;var f={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};a.propertyInterpolation=d}(d,f),function(a,b){function c(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}b.KeyframeEffect=function(d,e,f){var g,h=c(a.normalizeTimingInput(f)),i=b.convertEffectInput(e),j=function(){i(d,g)};return j._update=function(a){return g=h(a),null!==g},j._clear=function(){i(d,null)},j._hasSameTarget=function(a){return d===a},j._isCurrent=h._isCurrent,j._totalDuration=h._totalDuration,j},b.NullEffect=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){function b(a,b,c){c.enumerable=!0,c.configurable=!0,Object.defineProperty(a,b,c)}function c(a){this._surrogateStyle=document.createElementNS("http://www.w3.org/1999/xhtml","div").style,this._style=a.style,this._length=0,this._isAnimatedProperty={};for(var b=0;b<this._style.length;b++){var c=this._style[b];this._surrogateStyle[c]=this._style[c]}this._updateIndices()}function d(a){if(!a._webAnimationsPatchedStyle){var d=new c(a);try{b(a,"style",{get:function(){return d}})}catch(e){a.style._set=function(b,c){a.style[b]=c},a.style._clear=function(b){a.style[b]=""}}a._webAnimationsPatchedStyle=a.style}}var e={cssText:1,length:1,parentRule:1},f={getPropertyCSSValue:1,getPropertyPriority:1,getPropertyValue:1,item:1,removeProperty:1,setProperty:1},g={removeProperty:1,setProperty:1};c.prototype={get cssText(){return this._surrogateStyle.cssText},set cssText(a){for(var b={},c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;this._surrogateStyle.cssText=a,this._updateIndices();for(var c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;for(var d in b)this._isAnimatedProperty[d]||this._style.setProperty(d,this._surrogateStyle.getPropertyValue(d))},get length(){return this._surrogateStyle.length},get parentRule(){return this._style.parentRule},_updateIndices:function(){for(;this._length<this._surrogateStyle.length;)Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,get:function(a){return function(){return this._surrogateStyle[a]}}(this._length)}),this._length++;for(;this._length>this._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(a,b){this._style[a]=b,this._isAnimatedProperty[a]=!0},_clear:function(a){this._style[a]=this._surrogateStyle[a],delete this._isAnimatedProperty[a]}};for(var h in f)c.prototype[h]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(h,h in g);for(var i in document.documentElement.style)i in e||i in f||!function(a){b(c.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(i);a.apply=function(b,c,e){d(b),b.style._set(a.propertyName(c),e)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.KeyframeEffect(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a){function b(a,b,c){return Math.max(Math.min(a,c),b)}function c(c,d,e){var f=a.dot(c,d);f=b(f,-1,1);var g=[];if(1===f)g=c;else for(var h=Math.acos(f),i=1*Math.sin(e*h)/Math.sqrt(1-f*f),j=0;4>j;j++)g.push(c[j]*(Math.cos(e*h)-f*i)+d[j]*i);return g}var d=function(){function a(a,b){for(var c=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],d=0;4>d;d++)for(var e=0;4>e;e++)for(var f=0;4>f;f++)c[d][e]+=b[d][f]*a[f][e];return c}function b(a){return 0==a[0][2]&&0==a[0][3]&&0==a[1][2]&&0==a[1][3]&&0==a[2][0]&&0==a[2][1]&&1==a[2][2]&&0==a[2][3]&&0==a[3][2]&&1==a[3][3]}function c(c,d,e,f,g){for(var h=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],i=0;4>i;i++)h[i][3]=g[i];for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[3][i]+=c[j]*h[j][i];var k=f[0],l=f[1],m=f[2],n=f[3],o=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];o[0][0]=1-2*(l*l+m*m),o[0][1]=2*(k*l-m*n),o[0][2]=2*(k*m+l*n),o[1][0]=2*(k*l+m*n),o[1][1]=1-2*(k*k+m*m),o[1][2]=2*(l*m-k*n),o[2][0]=2*(k*m-l*n),o[2][1]=2*(l*m+k*n),o[2][2]=1-2*(k*k+l*l),h=a(h,o);var p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];e[2]&&(p[2][1]=e[2],h=a(h,p)),e[1]&&(p[2][1]=0,p[2][0]=e[0],h=a(h,p)),e[0]&&(p[2][0]=0,p[1][0]=e[0],h=a(h,p));for(var i=0;3>i;i++)for(var j=0;3>j;j++)h[i][j]*=d[i];return b(h)?[h[0][0],h[0][1],h[1][0],h[1][1],h[3][0],h[3][1]]:h[0].concat(h[1],h[2],h[3])}return c}();a.composeMatrix=d,a.quat=c}(d,f),function(a,b){a.sequenceNumber=0;var c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this._inEffect=this._effect._update(this.playbackRate<0&&0===this.currentTime?-1:this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects()))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var b=this.currentTime;this._playbackRate=a,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&this.play(),null!=b&&(this.currentTime=b)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,b.invalidateEffects()),this._finishedFlag=!1,b.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this._isFinished||this._paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null,this._effect._update(null),b.invalidateEffects(),b.restart())},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this._isFinished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this._paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(c,d,f),function(a,b){function c(a){var b=i;i=[],a<s.currentTime&&(a=s.currentTime),g(a),b.forEach(function(b){b[1](a)}),o&&g(a),f(),l=void 0}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){p.forEach(function(a){a()}),p.length=0}function g(a){n=!1;var c=b.timeline;c.currentTime=a,c._animations.sort(d),m=!1;var e=c._animations;c._animations=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._effect):f.push(b._effect),b._isFinished||b._paused||b._idle||(m=!0),b._inTimeline}),p.push.apply(p,f),p.push.apply(p,g),c._animations.push.apply(c._animations,e),o=!1,m&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.invalidateEffects(),d}};var k,l=void 0,k=function(){return void 0==l&&(l=performance.now()),l},m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n};var o=!1;b.invalidateEffects=function(){o=!0};var p=[],q=1e3/60,r=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){if(o){var a=k();a-s.currentTime>0&&(s.currentTime+=q*(Math.floor((a-s.currentTime)/q)+1)),g(s.currentTime)}return f(),r.apply(this,arguments)}});var s=new e;b.timeline=s}(c,d,f),function(a){function b(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c}function c(a,b){return[a[0]*b[0]+a[4]*b[1]+a[8]*b[2]+a[12]*b[3],a[1]*b[0]+a[5]*b[1]+a[9]*b[2]+a[13]*b[3],a[2]*b[0]+a[6]*b[1]+a[10]*b[2]+a[14]*b[3],a[3]*b[0]+a[7]*b[1]+a[11]*b[2]+a[15]*b[3],a[0]*b[4]+a[4]*b[5]+a[8]*b[6]+a[12]*b[7],a[1]*b[4]+a[5]*b[5]+a[9]*b[6]+a[13]*b[7],a[2]*b[4]+a[6]*b[5]+a[10]*b[6]+a[14]*b[7],a[3]*b[4]+a[7]*b[5]+a[11]*b[6]+a[15]*b[7],a[0]*b[8]+a[4]*b[9]+a[8]*b[10]+a[12]*b[11],a[1]*b[8]+a[5]*b[9]+a[9]*b[10]+a[13]*b[11],a[2]*b[8]+a[6]*b[9]+a[10]*b[10]+a[14]*b[11],a[3]*b[8]+a[7]*b[9]+a[11]*b[10]+a[15]*b[11],a[0]*b[12]+a[4]*b[13]+a[8]*b[14]+a[12]*b[15],a[1]*b[12]+a[5]*b[13]+a[9]*b[14]+a[13]*b[15],a[2]*b[12]+a[6]*b[13]+a[10]*b[14]+a[14]*b[15],a[3]*b[12]+a[7]*b[13]+a[11]*b[14]+a[15]*b[15]]}function d(a){switch(a.t){case"rotatex":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,0,Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1];case"rotatey":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),0,-Math.sin(d),0,0,1,0,0,Math.sin(d),0,Math.cos(d),0,0,0,0,1];case"rotate":case"rotatez":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[Math.cos(d),Math.sin(d),0,0,-Math.sin(d),Math.cos(d),0,0,0,0,1,0,0,0,0,1];case"rotate3d":var e=a.d[0],f=a.d[1],g=a.d[2],b=a.d[3].rad||0,c=a.d[3].deg||0,d=c*Math.PI/180+b,h=e*e+f*f+g*g;if(0===h)e=1,f=0,g=0;else if(1!==h){var i=Math.sqrt(h);e/=i,f/=i,g/=i}var j=Math.sin(d/2),k=j*Math.cos(d/2),l=j*j;return[1-2*(f*f+g*g)*l,2*(e*f*l+g*k),2*(e*g*l-f*k),0,2*(e*f*l-g*k),1-2*(e*e+g*g)*l,2*(f*g*l+e*k),0,2*(e*g*l+f*k),2*(f*g*l-e*k),1-2*(e*e+f*f)*l,0,0,0,0,1];case"scale":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,1,0,0,0,0,1];case"scalex":return[a.d[0],0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaley":return[1,0,0,0,0,a.d[0],0,0,0,0,1,0,0,0,0,1];case"scalez":return[1,0,0,0,0,1,0,0,0,0,a.d[0],0,0,0,0,1];case"scale3d":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,a.d[2],0,0,0,0,1];case"skew":var m=a.d[0].deg||0,n=a.d[0].rad||0,o=a.d[1].deg||0,p=a.d[1].rad||0,q=m*Math.PI/180+n,r=o*Math.PI/180+p;return[1,Math.tan(r),0,0,Math.tan(q),1,0,0,0,0,1,0,0,0,0,1];case"skewx":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,0,0,0,Math.tan(d),1,0,0,0,0,1,0,0,0,0,1];case"skewy":var b=a.d[0].rad||0,c=a.d[0].deg||0,d=c*Math.PI/180+b;return[1,Math.tan(d),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":var e=a.d[0].px||0,f=a.d[1].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,0,1];case"translatex":var e=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translatey":var f=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,f,0,1];case"translatez":var g=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,g,1];case"translate3d":var e=a.d[0].px||0,f=a.d[1].px||0,g=a.d[2].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,e,f,g,1];case"perspective":var s=a.d[0].px?-1/a.d[0].px:0;return[1,0,0,0,0,1,0,0,0,0,1,s,0,0,0,1];case"matrix":return[a.d[0],a.d[1],0,0,a.d[2],a.d[3],0,0,0,0,1,0,a.d[4],a.d[5],0,1];case"matrix3d":return a.d}}function e(a){return 0===a.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:a.map(d).reduce(c)}function f(a){return[g(e(a))]}var g=function(){function a(a){return a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0]}function c(b){for(var c=1/a(b),d=b[0][0],e=b[0][1],f=b[0][2],g=b[1][0],h=b[1][1],i=b[1][2],j=b[2][0],k=b[2][1],l=b[2][2],m=[[(h*l-i*k)*c,(f*k-e*l)*c,(e*i-f*h)*c,0],[(i*j-g*l)*c,(d*l-f*j)*c,(f*g-d*i)*c,0],[(g*k-h*j)*c,(j*e-d*k)*c,(d*h-e*g)*c,0]],n=[],o=0;3>o;o++){for(var p=0,q=0;3>q;q++)p+=b[3][q]*m[q][o];n.push(p)}return n.push(1),m.push(n),m}function d(a){return[[a[0][0],a[1][0],a[2][0],a[3][0]],[a[0][1],a[1][1],a[2][1],a[3][1]],[a[0][2],a[1][2],a[2][2],a[3][2]],[a[0][3],a[1][3],a[2][3],a[3][3]]]}function e(a,b){for(var c=[],d=0;4>d;d++){for(var e=0,f=0;4>f;f++)e+=a[f]*b[f][d];c.push(e)}return c}function f(a){var b=g(a);return[a[0]/b,a[1]/b,a[2]/b]}function g(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2])}function h(a,b,c,d){return[c*a[0]+d*b[0],c*a[1]+d*b[1],c*a[2]+d*b[2]]}function i(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function j(j){var k=[j.slice(0,4),j.slice(4,8),j.slice(8,12),j.slice(12,16)];if(1!==k[3][3])return null;for(var l=[],m=0;4>m;m++)l.push(k[m].slice());for(var m=0;3>m;m++)l[m][3]=0;if(0===a(l))return!1;var n,o=[];if(k[0][3]||k[1][3]||k[2][3]){o.push(k[0][3]),o.push(k[1][3]),o.push(k[2][3]),o.push(k[3][3]);var p=c(l),q=d(p);n=e(o,q)}else n=[0,0,0,1];var r=k[3].slice(0,3),s=[];s.push(k[0].slice(0,3));var t=[];t.push(g(s[0])),s[0]=f(s[0]);var u=[];s.push(k[1].slice(0,3)),u.push(b(s[0],s[1])),s[1]=h(s[1],s[0],1,-u[0]),t.push(g(s[1])),s[1]=f(s[1]),u[0]/=t[1],s.push(k[2].slice(0,3)),u.push(b(s[0],s[2])),s[2]=h(s[2],s[0],1,-u[1]),u.push(b(s[1],s[2])),s[2]=h(s[2],s[1],1,-u[2]),t.push(g(s[2])),s[2]=f(s[2]),u[1]/=t[2],u[2]/=t[2];var v=i(s[1],s[2]);if(b(s[0],v)<0)for(var m=0;3>m;m++)t[m]*=-1,s[m][0]*=-1,s[m][1]*=-1,s[m][2]*=-1;var w,x,y=s[0][0]+s[1][1]+s[2][2]+1;return y>1e-4?(w=.5/Math.sqrt(y),x=[(s[2][1]-s[1][2])*w,(s[0][2]-s[2][0])*w,(s[1][0]-s[0][1])*w,.25/w]):s[0][0]>s[1][1]&&s[0][0]>s[2][2]?(w=2*Math.sqrt(1+s[0][0]-s[1][1]-s[2][2]),x=[.25*w,(s[0][1]+s[1][0])/w,(s[0][2]+s[2][0])/w,(s[2][1]-s[1][2])/w]):s[1][1]>s[2][2]?(w=2*Math.sqrt(1+s[1][1]-s[0][0]-s[2][2]),x=[(s[0][1]+s[1][0])/w,.25*w,(s[1][2]+s[2][1])/w,(s[0][2]-s[2][0])/w]):(w=2*Math.sqrt(1+s[2][2]-s[0][0]-s[1][1]),x=[(s[0][2]+s[2][0])/w,(s[1][2]+s[2][1])/w,.25*w,(s[1][0]-s[0][1])/w]),[r,t,u,x,n]}return j}();a.dot=b,a.makeMatrixDecomposition=f}(d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c
+}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a){var b=Number(a);return isNaN(b)||100>b||b>900||b%100!==0?void 0:b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?"normal":700===b?"bold":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,["font-weight"])}(d),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&""==e[1]){var f=e[0];if(f[0]=f[0]||"center",f[1]=f[1]||"center",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return"object"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{"%":50},{"%":50}],i=0,j=!1,k=0;k<f.length;k++){var l=f[k];"string"==typeof l?(j=/bottom|right/.test(l),i={left:0,right:0,center:i,top:1,bottom:1}[l],h[i]=g[l],"center"==l&&i++):(j&&(l=b(l),l["%"]=(l["%"]||0)+100),h[i]=l,i++,j=!1)}return[h,e[1]]}}function f(b){var c=a.consumeRepeated(e,/^,/,b);return c&&""==c[1]?c[0]:void 0}var g={left:{"%":0},center:{"%":50},right:{"%":100},top:{"%":0},bottom:{"%":100}},h=a.mergeNestedRepeated.bind(null,a.mergeDimensions," ");a.addPropertiesHandler(d.bind(null,3),h,["transform-origin"]),a.addPropertiesHandler(d.bind(null,2),h,["perspective-origin"]),a.consumePosition=e,a.mergeOffsetList=h;var i=a.mergeNestedRepeated.bind(null,h,", ");a.addPropertiesHandler(f,i,["background-position","object-position"])}(d),function(a){function b(b){var c=a.consumeToken(/^circle/,b);if(c&&c[0])return["circle"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),d,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],c[1]));var f=a.consumeToken(/^ellipse/,b);if(f&&f[0])return["ellipse"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),e,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\)/))],f[1]));var g=a.consumeToken(/^polygon/,b);return g&&g[0]?["polygon"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\(/)),a.optional(a.consumeToken.bind(void 0,/^nonzero\s*,|^evenodd\s*,/),"nonzero,"),a.consumeSizePairList,a.ignore(a.consumeToken.bind(void 0,/^\)/))],g[1])):void 0}function c(b,c){return b[0]===c[0]?"circle"==b[0]?a.mergeList(b.slice(1),c.slice(1),["circle(",a.mergeDimensions," at ",a.mergeOffsetList,")"]):"ellipse"==b[0]?a.mergeList(b.slice(1),c.slice(1),["ellipse(",a.mergeNonNegativeSizePair," at ",a.mergeOffsetList,")"]):"polygon"==b[0]&&b[1]==c[1]?a.mergeList(b.slice(2),c.slice(2),["polygon(",b[1],g,")"]):void 0:void 0}var d=a.consumeParenthesised.bind(null,a.parseLengthOrPercent),e=a.consumeRepeated.bind(void 0,d,/^/),f=a.mergeNestedRepeated.bind(void 0,a.mergeDimensions," "),g=a.mergeNestedRepeated.bind(void 0,f,",");a.addPropertiesHandler(b,c,["shape-outside"])}(d),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}()}({},function(){return this}());
//# sourceMappingURL=web-animations.min.js.map \ No newline at end of file
diff --git a/third_party/web-animations-js/sources/web-animations.min.js.map b/third_party/web-animations-js/sources/web-animations.min.js.map
index e2f28b6..48f7ee4 100644
--- a/third_party/web-animations-js/sources/web-animations.min.js.map
+++ b/third_party/web-animations-js/sources/web-animations.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"web-animations.min.js","sources":["src/scope.js","src/timing-utilities.js","src/normalize-keyframes.js","src/deprecation.js","src/keyframe-interpolations.js","src/property-interpolation.js","src/keyframe-effect.js","src/apply-preserving-inline-style.js","src/element-animatable.js","src/interpolation.js","src/matrix-interpolation.js","src/animation.js","src/tick.js"],"names":["webAnimationsShared","webAnimations1","webAnimationsNext","WEB_ANIMATIONS_TESTING","webAnimationsTesting","shared","testing","cloneTimingInput","timingInput","clone","m","makeTiming","forGroup","timing","delay","endDelay","fill","iterationStart","iterations","duration","playbackRate","direction","easing","isNaN","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","isDeprecated","normalizeTimingInput","toTimingFunction","cubic","a","b","d","c","linear","x","f","start","mid","end","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","this","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","activeDuration","localTime","PhaseNone","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","calculateCurrentIteration","iterationTime","floor","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","directedTime","timeFraction","calculateTimeFraction","calculatePhase","split","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","antiAlias","aliases","value","expandShorthandAndAntiAlias","result","longProperties","shorthandToLonghand","shorthandExpanderElem","style","i","longProperty","longhandValue","normalizeKeyframes","effectInput","spaceKeyframes","length","keyframes","offset","previousIndex","previousOffset","j","Array","isArray","TypeError","originalKeyframe","keyframe","member","memberValue","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","everyFrameHasOffset","code","INVALID_MODIFICATION_ERR","filter","background","border","borderBottom","borderColor","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","document","createElementNS","borderWidthAliases","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","normal","textShadow","none","boxShadow","silenced","feature","date","advice","plural","auxVerb","today","Date","expiry","getMonth","console","deprecated","scope","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","group","groupName","makeInterpolations","interpolations","startTime","endTime","startValue","endValue","interpolation","propertyInterpolation","rightInterpolation","leftInterpolation","convertEffectInput","target","fraction","offsetFraction","scaledLocalTime","localDuration","clear","addPropertyHandler","parser","merger","propertyHandlers","push","addPropertiesHandler","properties","toUpperCase","right","left","ucProperty","replace","initialValues","handlers","parsedLeft","parsedRight","interpolationArgs","interp","Interpolation","t","bool","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","clip","color","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","opacity","outlineColor","outlineOffset","outlineWidth","paddingBottom","paddingLeft","paddingRight","paddingTop","textIndent","verticalAlign","visibility","width","wordSpacing","EffectTime","effectTime","_totalDuration","_isCurrent","KeyframeEffect","keyframeEffect","_hasSameTarget","nullEffect","_update","configureProperty","descriptor","enumerable","configurable","defineProperty","object","AnimatedCSSStyleDeclaration","element","_surrogateStyle","_length","_style","_updateIndices","ensureStyleIsPatched","_webAnimationsPatchedStyle","animatedStyle","_set","_clear","styleAttributes","cssText","parentRule","styleMethods","getPropertyCSSValue","getPropertyPriority","getPropertyValue","item","removeProperty","setProperty","styleMutatingMethods","prototype",{"end":{"file":"src/apply-preserving-inline-style.js","comments_before":[],"nlb":false,"endpos":2110,"pos":2103,"col":8,"line":64,"value":"cssText","type":"name"},"start":{"file":"src/apply-preserving-inline-style.js","comments_before":[],"nlb":false,"endpos":2110,"pos":2103,"col":8,"line":64,"value":"cssText","type":"name"},"name":"cssText"},"text","isAffectedProperty","_isAnimatedProperty","index","method","modifiesStyle","arguments","documentElement","set","propertyName","window","Element","animate","timeline","_play","interpolate","from","to","convertToString","clamp","min","max","toQ","fromQ","product","quat","theta","acos","sin","composeMatrix","multiply","k","is2D","translate","scale","skew","perspective","matrix","w","rotMatrix","z","y","temp","concat","sequenceNumber","AnimationEvent","currentTime","timelineTime","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","_sequenceNumber","_currentTime","_startTime","_paused","_playbackRate","_inTimeline","_finishedFlag","onfinish","_finishHandlers","_effect","effect","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","newTime","ignoreLimit","_isFinished","restart","_timeline","invalidateEffects","oldCurrentTime","playState","play","pause","cancel","addEventListener","handler","removeEventListener","splice","_fireEvents","baseTime","finished","setTimeout","event","processRafCallbacks","processing","rafCallbacks","tick","entry","needsRetick","applyPendingEffects","compareAnimations","leftAnimation","rightAnimation","InternalTimeline","performance","pendingEffects","hasRestartedThisFrame","updatingAnimations","newPendingClears","newPendingEffects","animation"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"web-animations.min.js","sources":["src/scope.js","src/timing-utilities.js","src/normalize-keyframes.js","src/deprecation.js","src/keyframe-interpolations.js","src/property-interpolation.js","src/keyframe-effect.js","src/apply-preserving-inline-style.js","src/element-animatable.js","src/interpolation.js","src/matrix-interpolation.js","src/animation.js","src/tick.js"],"names":["webAnimationsShared","webAnimations1","webAnimationsNext","webAnimationsTesting","shared","testing","cloneTimingInput","timingInput","clone","m","AnimationEffectTiming","this","_delay","_endDelay","_fill","_iterationStart","_iterations","_duration","_playbackRate","_direction","_easing","makeTiming","forGroup","timing","fill","duration","isNaN","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","isDeprecated","numericTimingToObject","normalizeTimingInput","toTimingFunction","easing","cubic","c","d","a","linear","f","b","x","start","mid","end","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","playbackRate","iterations","calculatePhase","activeDuration","localTime","PhaseNone","delay","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","iterationStart","calculateCurrentIteration","iterationTime","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","direction","directedTime","timeFraction","calculateTimeFraction","split","prototype","_setMember","member","value","_effect","_timingInput","_timing","_animation","_rebuildUnderlyingAnimation",{"end":{"file":"src/timing-utilities.js","comments_before":[],"nlb":false,"endpos":1832,"pos":1820,"col":8,"line":55,"value":"playbackRate","type":"name"},"start":{"file":"src/timing-utilities.js","comments_before":[],"nlb":false,"endpos":1832,"pos":1820,"col":8,"line":55,"value":"playbackRate","type":"name"},"name":"playbackRate"},"endDelay","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","antiAlias","aliases","expandShorthandAndAntiAlias","result","longProperties","shorthandToLonghand","shorthandExpanderElem","style","i","longProperty","longhandValue","normalizeKeyframes","effectInput","spaceKeyframes","length","keyframes","offset","previousIndex","previousOffset","j","Array","isArray","TypeError","originalKeyframe","keyframe","memberValue","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","everyFrameHasOffset","INVALID_MODIFICATION_ERR","filter","background","border","borderBottom","borderColor","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","document","createElementNS","borderWidthAliases","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","xx-large","fontWeight","normal","outlineWidth","textShadow","none","boxShadow","silenced","feature","date","advice","plural","auxVerb","Date","expiry","getMonth","console","toDateString","Error","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","push","groupName","group","makeInterpolations","interpolations","startTime","endTime","startValue","endValue","interpolation","scope","propertyInterpolation","sort","leftInterpolation","rightInterpolation","convertEffectInput","target","fraction","localDuration","scaledLocalTime","offsetFraction","clear","addPropertyHandler","parser","propertyHandlers","addPropertiesHandler","merger","properties","test","replace","toUpperCase","left","right","ucProperty","initialValues","handlers","parsedLeft","parsedRight","interpolationArgs","interp","Interpolation","t","bool","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","bottom","color","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","opacity","outlineColor","outlineOffset","paddingBottom","paddingLeft","paddingRight","paddingTop","top","transform","verticalAlign","wordSpacing","effectTime","_totalDuration","_isCurrent","KeyframeEffect","EffectTime","keyframeEffect","_update","otherTarget","NullEffect","nullEffect","_hasSameTarget","configureProperty","descriptor","enumerable","configurable","defineProperty","object","AnimatedCSSStyleDeclaration","_surrogateStyle","element","_length","_isAnimatedProperty","_style","_updateIndices","ensureStyleIsPatched","_webAnimationsPatchedStyle","animatedStyle","get","_","_clear","styleAttributes","cssText","styleMethods","getPropertyCSSValue","getPropertyPriority","getPropertyValue","item","setProperty","styleMutatingMethods","removeProperty","isAffectedProperty","text","parentRule","index","_set","method","modifiesStyle","arguments","documentElement","set","propertyName","window","Element","animate","timeline","interpolate","from","to","r","convertToString","clamp","min","product","dot","fromQ","quat","theta","acos","sin","w","composeMatrix","multiply","k","is2D","translate","skew","perspective","matrix","rotMatrix","z","y","temp","scale","sequenceNumber","AnimationEvent","currentTime","timelineTime","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","effect","_sequenceNumber","_currentTime","_startTime","_inTimeline","_finishedFlag","onfinish","_finishHandlers","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","newTime","ignoreLimit","_isFinished","restart","_paused","_timeline","invalidateEffects","oldCurrentTime","playState","play","finish","cancel","reverse","addEventListener","handler","removeEventListener","_fireEvents","finished","event","concat","setTimeout","call","processRafCallbacks","processing","rafCallbacks","entry","needsRetick","applyPendingEffects","_now","compareAnimations","leftAnimation","rightAnimation","InternalTimeline","performance","pendingEffects","tick","hasRestartedThisFrame","ticking","updatingAnimations","newPendingClears","newPendingEffects","animation"],"mappings":"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"} \ No newline at end of file
diff --git a/ui/webui/resources/polymer_resources.grdp b/ui/webui/resources/polymer_resources.grdp
index cee65c4..8ddbc58 100644
--- a/ui/webui/resources/polymer_resources.grdp
+++ b/ui/webui/resources/polymer_resources.grdp
@@ -20,6 +20,9 @@
-->
<grit-part>
<!-- Polymer 1.0 -->
+ <structure name="IDR_POLYMER_1_0_FONT_ROBOTO_FONT_ROBOTO_HTML"
+ file="../../../third_party/polymer/v1_0/components-chromium/font-roboto/roboto.html"
+ type="chrome_html" />
<structure name="IDR_POLYMER_1_0_IRON_A11Y_KEYS_BEHAVIOR_IRON_A11Y_KEYS_BEHAVIOR_EXTRACTED_JS"
file="../../../third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js"
type="chrome_html" />