diff options
Diffstat (limited to 'chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation')
92 files changed, 7228 insertions, 0 deletions
diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.bower.json b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.bower.json new file mode 100644 index 00000000000..b353dd13762 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.bower.json @@ -0,0 +1,90 @@ +{ + "name": "neon-animation", + "description": "A system for animating Polymer-based web components", + "authors": [ + "The Polymer Authors" + ], + "keywords": [ + "web-components", + "web-component", + "polymer", + "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-animatable.html", + "neon-animations.html" + ], + "private": true, + "repository": { + "type": "git", + "url": "git://github.com/PolymerElements/neon-animation" + }, + "license": "http://polymer.github.io/LICENSE.txt", + "homepage": "https://github.com/PolymerElements/neon-animation", + "ignore": [], + "demos": { + "Demo": "demo/index.html" + }, + "dependencies": { + "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#1 - 2", + "iron-selector": "PolymerElements/iron-selector#1 - 2", + "polymer": "Polymer/polymer#1.9 - 2" + }, + "devDependencies": { + "app-layout": "PolymerElements/app-layout#1 - 2", + "iron-component-page": "PolymerElements/iron-component-page#1 - 2", + "iron-flex-layout": "PolymerElements/iron-flex-layout#1 - 2", + "iron-icon": "PolymerElements/iron-icon#1 - 2", + "iron-icons": "PolymerElements/iron-icons#1 - 2", + "paper-icon-button": "PolymerElements/paper-icon-button#1 - 2", + "paper-item": "PolymerElements/paper-item#1 - 2", + "paper-styles": "PolymerElements/paper-styles#1 - 2", + "web-animations-js": "web-animations/web-animations-js#^2.2.0", + "web-component-tester": "^6.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0" + }, + "variants": { + "1.x": { + "dependencies": { + "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0", + "iron-selector": "PolymerElements/iron-selector#^1.0.0", + "polymer": "Polymer/polymer#^1.9", + "web-animations-js": "web-animations/web-animations-js#^2.2.0" + }, + "devDependencies": { + "app-layout": "PolymerElements/app-layout#^0.10.0", + "iron-component-page": "PolymerElements/iron-component-page#^1.0.0", + "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0", + "iron-icon": "PolymerElements/iron-icon#^1.0.0", + "iron-icons": "PolymerElements/iron-icons#^1.0.0", + "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0", + "paper-item": "PolymerElements/paper-item#^1.0.0", + "paper-styles": "PolymerElements/paper-styles#^1.0.0", + "web-component-tester": "^4.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" + }, + "resolutions": { + "webcomponentsjs": "^0.7" + } + } + }, + "resolutions": { + "webcomponentsjs": "^1.0.0" + }, + "version": "2.2.1", + "_release": "2.2.1", + "_resolution": { + "type": "version", + "tag": "v2.2.1", + "commit": "e7508084d0a99cc9fedad1964efb4e69c8527629" + }, + "_source": "https://github.com/PolymerElements/neon-animation.git", + "_target": "1 - 2", + "_originalSource": "PolymerElements/neon-animation" +}
\ No newline at end of file diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.github/CODEOWNERS b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.github/CODEOWNERS new file mode 100644 index 00000000000..9ef9eb64211 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.github/CODEOWNERS @@ -0,0 +1,2 @@ +* @e111077 +/.travis.yml @azakus diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000000..08943a1e152 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,33 @@ +<!-- Instructions: https://github.com/PolymerElements/neon-animation/CONTRIBUTING.md#filing-issues --> +### Description +<!-- Example: The `paper-foo` element causes the page to turn pink when clicked. --> + +### Expected outcome + +<!-- Example: The page stays the same color. --> + +### Actual outcome + +<!-- Example: The page turns pink. --> + +### Live Demo +<!-- Example: https://jsbin.com/cagaye/edit?html,output --> + +### Steps to reproduce + +<!-- Example +1. Put a `paper-foo` element in the page. +2. Open the page in a web browser. +3. Click the `paper-foo` element. +--> + +### Browsers Affected +<!-- Check all that apply --> +- [ ] Chrome +- [ ] Firefox +- [ ] Safari 9 +- [ ] Safari 8 +- [ ] Safari 7 +- [ ] Edge +- [ ] IE 11 +- [ ] IE 10 diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.travis.yml b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.travis.yml new file mode 100644 index 00000000000..dfdc7d99adc --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/.travis.yml @@ -0,0 +1,30 @@ +language: node_js +sudo: required +node_js: stable +addons: + firefox: latest + apt: + sources: + - google-chrome + packages: + - google-chrome-stable + sauce_connect: true +before_script: + - npm install -g polymer-cli + - polymer install --variants + - >- + npm run update-types && git diff --exit-code || (echo -e + '\n\033[31mERROR:\033[0m Typings are stale. Please run "npm run + update-types".' && false) +script: + - xvfb-run polymer test + - >- + if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then polymer test -s 'default'; + fi +env: + global: + - secure: >- + coZBjQTrTsejOS2utVzo0hhyYRF40H2KoN30G44tRxVKV/0orSm1HJbvG2YDb/tmAFtEObJmNlYonu1I3G9RVncn9y69nRf8BjLHrpOIhNvesug7kPUuprj5KRoLo9O0UyIYmUh6i4YGt1aAeR/Wq/XVifSNIXnAVguzntbSmqvWJdqj8+FHmNzyo5269+tnOzTruXByrUcSZnvNgHjCYFZOY00a29cyK6fTdd0Qbzi9cvhEDfx1j6uXzYah7bdA8caunW1HvxwI+jiV8yEVySB7eku+SHA+8JJUIIZEL1iCASAqqVbTUoOxtfgbTXQRJdVAuDNj1J+AqFVtuJpJl4xvX97dF9FVQvgyLW9fpeb7rojdU0TSazBpVi7LLvocQjofp8bbAtbJ8Z0BN+/3DgM33uDTF8DeBGj2WmR+49F2oPnYh7FwjhbiOVqkOKyolqrRpK0PYczVdHusR6+cONkGcLzO9G5nakWzE9diJSW+nw9qD3bVL99ZzHK+6U7+R75KJdxj0V7VA1lkvWRlchxXrpsEoM0AQEUf97LsvkTpXPQ4Wf9XkCxFRAicSTeDijLCPy3ti0L6D6x9sBZwV5d3ODnkdxCAy2aY7g2YEWuuBDZC+W1ggQ3Xe705GwbBNk22HikA6XOVX9lb3xm7SnenfDGkFhNDzRijoGg96jU= + - secure: >- + hJ6VMaJqDh5HPdeERIqoOcdWZJTAOTeS/Lr6FLCWEOOvYPxwRi/L1pKbVuYf2ugeS2Z0TEvAS7RdfjRuC+NGFhsmpnpBlxAyJhVKcXrhHKVtoFK04xaCD2wDMkPaZiDZQRGF/H6/PyuoB4Tqss3aN/DC9eSMwY9HFfoeYRIwiJeb8Kq09pBtvoxU151VQt+jlmyCVw7rhNDTAazaCGKicgvbAtxSJ6xNswNfqOrtCYB+WW5CpUE+qqTjjbistSQJu3hjk2UwFMLJZXtJWdkcD88vNdHy3mtNZQNtE8x+ckNVqgJ98DyAN7HLUU0GvzTOiOGFfwr+bpl6Td8klR2YoQOW4ypluAetcDN9X7tKOxDQaaI8AyPLXPWi9JcESEGAeLzpfkWZ6clrQmqfLdVDsqYKPldF9m7Ozjdhq40r3qFdQAdEI29dBOKOalaZXgWnvU2wu5FBtWnBMSk89zOYC5wGR0E+wOMMMRu90LuMQY40Myhqso5iUFL5qhrn41I8ZfFi0EyOgEeKzYH3zrdo7/msEkCXxI0SKfG1CGSQSOT2luO6Xu6xIuf7qoWYKJiJQ40ObsRKn0cA4GQpNZe/dgKMRH2zzfKW6d2BSAsZGTDJG14XcDi9d/zz7djgboMjc/A6sH8L3c8BkbUa4wuyJRNu7VBZQHq5yrnHpxC6SbA= +dist: trusty diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/CONTRIBUTING.md b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/CONTRIBUTING.md new file mode 100644 index 00000000000..093090d4354 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/CONTRIBUTING.md @@ -0,0 +1,77 @@ +<!-- +This file is autogenerated based on +https://github.com/PolymerElements/ContributionGuide/blob/master/CONTRIBUTING.md + +If you edit that file, it will get updated everywhere else. +If you edit this file, your changes will get overridden :) + +You can however override the jsbin link with one that's customized to this +specific element: + +jsbin=https://jsbin.com/cagaye/edit?html,output +--> + +# Polymer Elements +## Guide for Contributors + +Polymer Elements are built in the open, and the Polymer authors eagerly encourage any and all forms of community contribution. When contributing, please follow these guidelines: + +### Filing Issues + +**If you are filing an issue to request a feature**, please provide a clear description of the feature. It can be helpful to describe answers to the following questions: + + 1. **Who will use the feature?** _“As someone filling out a form…”_ + 2. **When will they use the feature?** _“When I enter an invalid value…”_ + 3. **What is the user’s goal?** _“I want to be visually notified that the value needs to be corrected…”_ + +**If you are filing an issue to report a bug**, please provide: + + 1. **A clear description of the bug and related expectations.** Consider using the following example template for reporting a bug: + + ```markdown + The `paper-foo` element causes the page to turn pink when clicked. + + ## Expected outcome + + The page stays the same color. + + ## Actual outcome + + The page turns pink. + + ## Steps to reproduce + + 1. Put a `paper-foo` element in the page. + 2. Open the page in a web browser. + 3. Click the `paper-foo` element. + ``` + + 2. **A reduced test case that demonstrates the problem.** If possible, please include the test case as a JSBin. Start with this template to easily import and use relevant Polymer Elements: [https://jsbin.com/cagaye/edit?html,output](https://jsbin.com/cagaye/edit?html,output). + + 3. **A list of browsers where the problem occurs.** This can be skipped if the problem is the same across all browsers. + +### Submitting Pull Requests + +**Before creating a pull request**, please ensure that an issue exists for the corresponding change in the pull request that you intend to make. **If an issue does not exist, please create one per the guidelines above**. The goal is to discuss the design and necessity of the proposed change with Polymer authors and community before diving into a pull request. + +When submitting pull requests, please provide: + + 1. **A reference to the corresponding issue** or issues that will be closed by the pull request. Please refer to these issues in the pull request description using the following syntax: + + ```markdown + (For a single issue) + Fixes #20 + + (For multiple issues) + Fixes #32, fixes #40 + ``` + + 2. **A succinct description of the design** used to fix any related issues. For example: + + ```markdown + This fixes #20 by removing styles that leaked which would cause the page to turn pink whenever `paper-foo` is clicked. + ``` + + 3. **At least one test for each bug fixed or feature added** as part of the pull request. Pull requests that fix bugs or add features without accompanying tests will not be considered. + +If a proposed change contains multiple commits, please [squash commits](https://www.google.com/url?q=http://blog.steveklabnik.com/posts/2012-11-08-how-to-squash-commits-in-a-github-pull-request) to as few as is necessary to succinctly express the change. A Polymer author can help you squash commits, so don’t be afraid to ask us if you need help with that! diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/README.md b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/README.md new file mode 100644 index 00000000000..a8d1a4166fa --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/README.md @@ -0,0 +1,299 @@ +## Changes in 2.0 +* ⚠️ This Element is now deprecated ⚠️ + * Please use the web animations api or CSS animations +* Web animations polyfill is now a dev dependency + +# neon-animation + +`neon-animation` is a suite of elements and behaviors to implement pluggable animated transitions for Polymer Elements using [Web Animations](https://w3c.github.io/web-animations/). + +*Warning: The API may change.* + +* [A basic animatable element](#basic) +* [Animation configuration](#configuration) + * [Animation types](#configuration-types) + * [Configuration properties](#configuration-properties) + * [Using multiple animations](#configuration-multiple) + * [Running animations encapsulated in children nodes](#configuration-encapsulation) +* [Page transitions](#page-transitions) + * [Shared element animations](#shared-element) + * [Declarative page transitions](#declarative-page) +* [Included animations](#animations) + +<a name="basic"></a> +## A basic animatable element + +Elements that can be animated should implement the `Polymer.NeonAnimatableBehavior` behavior, or `Polymer.NeonAnimationRunnerBehavior` if they're also responsible for running an animation. + +```js +Polymer({ + is: 'my-animatable', + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + properties: { + animationConfig: { + value: function() { + return { + // provided by neon-animation/animations/scale-down-animation.html + name: 'scale-down-animation', + node: this + } + } + } + }, + listeners: { + // this event is fired when the animation finishes + 'neon-animation-finish': '_onNeonAnimationFinish' + }, + animate: function() { + // run scale-down-animation + this.playAnimation(); + }, + _onNeonAnimationFinish: function() { + console.log('animation done!'); + } +}); +``` + + +<a name="configuration"></a> +## Animation configuration + +<a name="configuration-types"></a> +### Animation types + +An element might run different animations, for example it might do something different when it enters the view and when it exits from view. You can set the `animationConfig` property to a map from an animation type to configuration. + +```js +Polymer({ + is: 'my-dialog', + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + properties: { + opened: { + type: Boolean + }, + animationConfig: { + value: function() { + return { + 'entry': { + // provided by neon-animation/animations/scale-up-animation.html + name: 'scale-up-animation', + node: this + }, + 'exit': { + // provided by neon-animation/animations/fade-out-animation.html + name: 'fade-out-animation', + node: this + } + } + } + } + }, + listeners: { + 'neon-animation-finish': '_onNeonAnimationFinish' + }, + show: function() { + this.opened = true; + this.style.display = 'inline-block'; + // run scale-up-animation + this.playAnimation('entry'); + }, + hide: function() { + this.opened = false; + // run fade-out-animation + this.playAnimation('exit'); + }, + _onNeonAnimationFinish: function() { + if (!this.opened) { + this.style.display = 'none'; + } + } +}); +``` + + +You can also use the convenience properties `entryAnimation` and `exitAnimation` to set `entry` and `exit` animations: + +```js +properties: { + entryAnimation: { + value: 'scale-up-animation' + }, + exitAnimation: { + value: 'fade-out-animation' + } +} +``` + +<a name="configuration-properties"></a> +### Configuration properties + +You can pass additional parameters to configure an animation in the animation configuration object. +All animations should accept the following properties: + + * `name`: The name of an animation, ie. an element implementing `Polymer.NeonAnimationBehavior`. + * `node`: The target node to apply the animation to. Defaults to `this`. + * `timing`: Timing properties to use in this animation. They match the [Web Animations Animation Effect Timing interface](https://w3c.github.io/web-animations/#the-animationeffecttiming-interface). The + properties include the following: + * `duration`: The duration of the animation in milliseconds. + * `delay`: The delay before the start of the animation in milliseconds. + * `easing`: A timing function for the animation. Matches the CSS timing function values. + +Animations may define additional configuration properties and they are listed in their documentation. + +<a name="configuration-multiple"></a> +### Using multiple animations + +Set the animation configuration to an array to combine animations, like this: + +```js +animationConfig: { + value: function() { + return { + // fade-in-animation is run with a 50ms delay from slide-down-animation + 'entry': [{ + name: 'slide-down-animation', + node: this + }, { + name: 'fade-in-animation', + node: this, + timing: {delay: 50} + }] + } + } +} +``` + +<a name="configuration-encapsulation"></a> +### Running animations encapsulated in children nodes + +You can include animations in the configuration that are encapsulated in a child element that implement `Polymer.NeonAnimatableBehavior` with the `animatable` property. + +```js +animationConfig: { + value: function() { + return { + // run fade-in-animation on this, and the entry animation on this.$.myAnimatable + 'entry': [ + {name: 'fade-in-animation', node: this}, + {animatable: this.$.myAnimatable, type: 'entry'} + ] + } + } +} +``` + +<a name="page-transitions"></a> +## Page transitions + +*The artist formerly known as `<core-animated-pages>`* + +The `neon-animated-pages` element manages a set of pages to switch between, and runs animations between the page transitions. It implements the `Polymer.IronSelectableBehavior` behavior. Each child node should implement `Polymer.NeonAnimatableBehavior` and define the `entry` and `exit` animations. During a page transition, the `entry` animation is run on the new page and the `exit` animation is run on the old page. + +<a name="shared-element"></a> +### Shared element animations + +Shared element animations work on multiple nodes. For example, a "hero" animation is used during a page transition to make two elements from separate pages appear to animate as a single element. Shared element animation configurations have an `id` property that identify they belong in the same animation. Elements containing shared elements also have a `sharedElements` property defines a map from `id` to element, the element involved with the animation. + +In the incoming page: + +```js +properties: { + animationConfig: { + value: function() { + return { + // the incoming page defines the 'entry' animation + 'entry': { + name: 'hero-animation', + id: 'hero', + toPage: this + } + } + } + }, + sharedElements: { + value: function() { + return { + 'hero': this.$.hero + } + } + } +} +``` + +In the outgoing page: + +```js +properties: { + animationConfig: { + value: function() { + return { + // the outgoing page defines the 'exit' animation + 'exit': { + name: 'hero-animation', + id: 'hero', + fromPage: this + } + } + } + }, + sharedElements: { + value: function() { + return { + 'hero': this.$.otherHero + } + } + } +} +``` + +<a name="declarative-page"></a> +### Declarative page transitions + +For convenience, if you define the `entry-animation` and `exit-animation` attributes on `<neon-animated-pages>`, those animations will apply for all page transitions. + +For example: + +```js +<neon-animated-pages id="pages" class="flex" selected="[[selected]]" entry-animation="slide-from-right-animation" exit-animation="slide-left-animation"> + <neon-animatable>1</neon-animatable> + <neon-animatable>2</neon-animatable> + <neon-animatable>3</neon-animatable> + <neon-animatable>4</neon-animatable> + <neon-animatable>5</neon-animatable> +</neon-animated-pages> +``` + +The new page will slide in from the right, and the old page slide away to the left. + +<a name="animations"></a> +## Included animations + +Single element animations: + + * `fade-in-animation` Animates opacity from `0` to `1`; + * `fade-out-animation` Animates opacity from `1` to `0`; + * `scale-down-animation` Animates transform from `scale(1)` to `scale(0)`; + * `scale-up-animation` Animates transform from `scale(0)` to `scale(1)`; + * `slide-down-animation` Animates transform from `none` to `translateY(100%)`; + * `slide-up-animation` Animates transform from `none` to `translateY(-100%)`; + * `slide-from-top-animation` Animates transform from `translateY(-100%)` to `none`; + * `slide-from-bottom-animation` Animates transform from `translateY(100%)` to `none`; + * `slide-left-animation` Animates transform from `none` to `translateX(-100%)`; + * `slide-right-animation` Animates transform from `none` to `translateX(100%)`; + * `slide-from-left-animation` Animates transform from `translateX(-100%)` to `none`; + * `slide-from-right-animation` Animates transform from `translateX(100%)` to `none`; + * `transform-animation` Animates a custom transform. + +Note that there is a restriction that only one transform animation can be applied on the same element at a time. Use the custom `transform-animation` to combine transform properties. + +Shared element animations + + * `hero-animation` Animates an element such that it looks like it scales and transforms from another element. + * `ripple-animation` Animates an element to full screen such that it looks like it ripples from another element. + +Group animations + * `cascaded-animation` Applys an animation to an array of elements with a delay between each. diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/cascaded-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/cascaded-animation.d.ts new file mode 100644 index 00000000000..5bcd3a01f93 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/cascaded-animation.d.ts @@ -0,0 +1,36 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/cascaded-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<cascaded-animation>` applies an animation on an array of elements with a delay between each. + * the delay defaults to 50ms. + * + * Configuration: + * ``` + * { + * name: 'cascaded-animation', + * animation: <animation-name>, + * nodes: <array-of-nodes>, + * nodeDelay: <node-delay-in-ms>, + * timing: <animation-timing> + * } + * ``` + */ +interface CascadedAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + complete(): void; + configure(config: {animation: string, nodes: Element[], nodeDelay?: number, timing?: object|null}): any; +} + +interface HTMLElementTagNameMap { + "cascaded-animation": CascadedAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/cascaded-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/cascaded-animation.html new file mode 100644 index 00000000000..39c8713a6a1 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/cascaded-animation.html @@ -0,0 +1,94 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<cascaded-animation>` applies an animation on an array of elements with a delay between each. +the delay defaults to 50ms. + +Configuration: +``` +{ + name: 'cascaded-animation', + animation: <animation-name>, + nodes: <array-of-nodes>, + nodeDelay: <node-delay-in-ms>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'cascaded-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + /** + * @param {{ + * animation: string, + * nodes: !Array<!Element>, + * nodeDelay: (number|undefined), + * timing: (Object|undefined) + * }} config + */ + configure: function(config) { + this._animations = []; + var nodes = config.nodes; + var effects = []; + var nodeDelay = config.nodeDelay || 50; + + config.timing = config.timing || {}; + config.timing.delay = config.timing.delay || 0; + + var oldDelay = config.timing.delay; + var abortedConfigure; + for (var node, index = 0; node = nodes[index]; index++) { + config.timing.delay += nodeDelay; + config.node = node; + + var animation = document.createElement(config.animation); + if (animation.isNeonAnimation) { + var effect = animation.configure(config); + + this._animations.push(animation); + effects.push(effect); + } else { + console.warn(this.is + ':', config.animation, 'not found!'); + abortedConfigure = true; + break; + } + } + config.timing.delay = oldDelay; + config.node = null; + // if a bad animation was configured, abort config. + if (abortedConfigure) { + return; + } + + this._effect = new GroupEffect(effects); + return this._effect; + }, + + complete: function() { + for (var animation, index = 0; animation = this._animations[index]; index++) { + animation.complete(animation.config); + } + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-in-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-in-animation.d.ts new file mode 100644 index 00000000000..b261d804df0 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-in-animation.d.ts @@ -0,0 +1,32 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/fade-in-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<fade-in-animation>` animates the opacity of an element from 0 to 1. + * + * Configuration: + * ``` + * { + * name: 'fade-in-animation', + * node: <node> + * timing: <animation-timing> + * } + * ``` + */ +interface FadeInAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "fade-in-animation": FadeInAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-in-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-in-animation.html new file mode 100644 index 00000000000..c18849ec909 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-in-animation.html @@ -0,0 +1,48 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<fade-in-animation>` animates the opacity of an element from 0 to 1. + +Configuration: +``` +{ + name: 'fade-in-animation', + node: <node> + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'fade-in-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + this._effect = new KeyframeEffect(node, [ + {'opacity': '0'}, + {'opacity': '1'} + ], this.timingFromConfig(config)); + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-out-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-out-animation.d.ts new file mode 100644 index 00000000000..1e2f371e968 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-out-animation.d.ts @@ -0,0 +1,32 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/fade-out-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<fade-out-animation>` animates the opacity of an element from 1 to 0. + * + * Configuration: + * ``` + * { + * name: 'fade-out-animation', + * node: <node> + * timing: <animation-timing> + * } + * ``` + */ +interface FadeOutAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "fade-out-animation": FadeOutAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-out-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-out-animation.html new file mode 100644 index 00000000000..abd20b181b9 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/fade-out-animation.html @@ -0,0 +1,48 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<fade-out-animation>` animates the opacity of an element from 1 to 0. + +Configuration: +``` +{ + name: 'fade-out-animation', + node: <node> + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'fade-out-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + this._effect = new KeyframeEffect(node, [ + {'opacity': '1'}, + {'opacity': '0'} + ], this.timingFromConfig(config)); + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/hero-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/hero-animation.d.ts new file mode 100644 index 00000000000..fa29c92805b --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/hero-animation.d.ts @@ -0,0 +1,41 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/hero-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-shared-element-animation-behavior.d.ts" /> + +/** + * `<hero-animation>` is a shared element animation that scales and transform an element such that it + * appears to be shared between two pages. Use this in `<neon-animated-pages>`. The source page + * should use this animation in an 'exit' animation and set the `fromPage` configuration property to + * itself, and the destination page should use this animation in an `entry` animation and set the + * `toPage` configuration property to itself. They should also define the hero elements in the + * `sharedElements` property (not a configuration property, see + * `Polymer.NeonSharedElementAnimatableBehavior`). + * + * Configuration: + * ``` + * { + * name: 'hero-animation', + * id: <shared-element-id>, + * timing: <animation-timing>, + * toPage: <node>, /* define for the destination page *\/ + * fromPage: <node>, /* define for the source page *\/ + * } + * ``` + */ +interface HeroAnimationElement extends Polymer.Element, Polymer.NeonSharedElementAnimationBehavior { + complete(config: any): any; + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "hero-animation": HeroAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/hero-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/hero-animation.html new file mode 100644 index 00000000000..71488832dd8 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/hero-animation.html @@ -0,0 +1,82 @@ +<!-- +@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"> + +<!-- +`<hero-animation>` is a shared element animation that scales and transform an element such that it +appears to be shared between two pages. Use this in `<neon-animated-pages>`. The source page +should use this animation in an 'exit' animation and set the `fromPage` configuration property to +itself, and the destination page should use this animation in an `entry` animation and set the +`toPage` configuration property to itself. They should also define the hero elements in the +`sharedElements` property (not a configuration property, see +`Polymer.NeonSharedElementAnimatableBehavior`). + +Configuration: +``` +{ + name: 'hero-animation', + id: <shared-element-id>, + timing: <animation-timing>, + toPage: <node>, /* define for the destination page */ + fromPage: <node>, /* define for the source page */ +} +``` +--> + +<script> + + Polymer({ + + is: 'hero-animation', + + behaviors: [ + Polymer.NeonSharedElementAnimationBehavior + ], + + configure: function(config) { + var shared = this.findSharedElements(config); + if (!shared) { + return; + } + + var fromRect = shared.from.getBoundingClientRect(); + var toRect = shared.to.getBoundingClientRect(); + + var deltaLeft = fromRect.left - toRect.left; + var deltaTop = fromRect.top - toRect.top; + var deltaWidth = fromRect.width / toRect.width; + var deltaHeight = fromRect.height / toRect.height; + + this._effect = new KeyframeEffect(shared.to, [ + {'transform': 'translate(' + deltaLeft + 'px,' + deltaTop + 'px) scale(' + deltaWidth + ',' + deltaHeight + ')'}, + {'transform': 'none'} + ], this.timingFromConfig(config)); + + this.setPrefixedProperty(shared.to, 'transformOrigin', '0 0'); + shared.to.style.zIndex = 10000; + shared.from.style.visibility = 'hidden'; + + return this._effect; + }, + + complete: function(config) { + var shared = this.findSharedElements(config); + if (!shared) { + return null; + } + shared.to.style.zIndex = ''; + shared.from.style.visibility = ''; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/opaque-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/opaque-animation.d.ts new file mode 100644 index 00000000000..96c48ecee3c --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/opaque-animation.d.ts @@ -0,0 +1,25 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/opaque-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<opaque-animation>` makes an element `opacity:1` for the duration of the animation. Used to prevent + * webkit/safari from drawing a frame before an animation for elements that animate from display:none. + */ +interface OpaqueAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + complete(config: any): void; + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "opaque-animation": OpaqueAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/opaque-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/opaque-animation.html new file mode 100644 index 00000000000..bfe7d6461b8 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/opaque-animation.html @@ -0,0 +1,45 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<opaque-animation>` makes an element `opacity:1` for the duration of the animation. Used to prevent +webkit/safari from drawing a frame before an animation for elements that animate from display:none. +--> + +<script> + + Polymer({ + + is: 'opaque-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + this._effect = new KeyframeEffect(node, [ + {'opacity': '1'}, + {'opacity': '1'} + ], this.timingFromConfig(config)); + node.style.opacity = '0'; + return this._effect; + }, + + complete: function(config) { + config.node.style.opacity = ''; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/reverse-ripple-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/reverse-ripple-animation.d.ts new file mode 100644 index 00000000000..2e2c2e9910c --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/reverse-ripple-animation.d.ts @@ -0,0 +1,42 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/reverse-ripple-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-shared-element-animation-behavior.d.ts" /> + +/** + * `<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 *\/ + * } + * ``` + */ +interface ReverseRippleAnimationElement extends Polymer.Element, Polymer.NeonSharedElementAnimationBehavior { + complete(): void; + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "reverse-ripple-animation": ReverseRippleAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/reverse-ripple-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/reverse-ripple-animation.html new file mode 100644 index 00000000000..c20044a7616 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/reverse-ripple-animation.html @@ -0,0 +1,86 @@ +<!-- +@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"> + +<!-- +`<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._effect = new KeyframeEffect(shared.from, [ + {'transform': translate + ' ' + scale}, + {'transform': translate + ' scale(0)'} + ], this.timingFromConfig(config)); + + this.setPrefixedProperty(shared.from, 'transformOrigin', '50% 50%'); + shared.from.style.borderRadius = '50%'; + + return this._effect; + }, + + complete: function() { + if (this.sharedElements) { + this.setPrefixedProperty(this.sharedElements.from, 'transformOrigin', ''); + this.sharedElements.from.style.borderRadius = ''; + } + } + }); +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/ripple-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/ripple-animation.d.ts new file mode 100644 index 00000000000..6b8cf5986b1 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/ripple-animation.d.ts @@ -0,0 +1,44 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/ripple-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-shared-element-animation-behavior.d.ts" /> + +/** + * `<ripple-animation>` scales and transform an element such that it appears to ripple from either + * a shared element, or from a screen position, to full screen. + * + * 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 + * hero elements in the `sharedElements` property (not a configuration property, see + * `Polymer.NeonSharedElementAnimatableBehavior`). + * + * If using a screen position, define the `gesture` property. + * + * Configuration: + * ``` + * { + * name: '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 *\/ + * } + * ``` + */ +interface RippleAnimationElement extends Polymer.Element, Polymer.NeonSharedElementAnimationBehavior { + complete(): void; + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "ripple-animation": RippleAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/ripple-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/ripple-animation.html new file mode 100644 index 00000000000..dd8d2a8e45a --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/ripple-animation.html @@ -0,0 +1,92 @@ +<!-- +@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"> + +<!-- +`<ripple-animation>` scales and transform an element such that it appears to ripple from either +a shared element, or from a screen position, to full screen. + +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 +hero elements in the `sharedElements` property (not a configuration property, see +`Polymer.NeonSharedElementAnimatableBehavior`). + +If using a screen position, define the `gesture` property. + +Configuration: +``` +{ + name: '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: 'ripple-animation', + + behaviors: [ + Polymer.NeonSharedElementAnimationBehavior + ], + + configure: function(config) { + var shared = this.findSharedElements(config); + if (!shared) { + return null; + } + + var translateX, translateY; + var toRect = shared.to.getBoundingClientRect(); + if (config.gesture) { + translateX = config.gesture.x - (toRect.left + (toRect.width / 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.top + (toRect.height / 2)); + } + var translate = 'translate(' + translateX + 'px,' + translateY + 'px)'; + + var size = Math.max(toRect.width + Math.abs(translateX) * 2, toRect.height + Math.abs(translateY) * 2); + var diameter = Math.sqrt(2 * size * size); + var scaleX = diameter / toRect.width; + var scaleY = diameter / toRect.height; + var scale = 'scale(' + scaleX + ',' + scaleY + ')'; + + this._effect = new KeyframeEffect(shared.to, [ + {'transform': translate + ' scale(0)'}, + {'transform': translate + ' ' + scale} + ], this.timingFromConfig(config)); + + this.setPrefixedProperty(shared.to, 'transformOrigin', '50% 50%'); + shared.to.style.borderRadius = '50%'; + + return this._effect; + }, + + complete: function() { + if (this.sharedElements) { + this.setPrefixedProperty(this.sharedElements.to, 'transformOrigin', ''); + this.sharedElements.to.style.borderRadius = ''; + } + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-down-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-down-animation.d.ts new file mode 100644 index 00000000000..fd68fff3734 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-down-animation.d.ts @@ -0,0 +1,35 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/scale-down-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<scale-down-animation>` animates the scale transform of an element from 1 to 0. By default it + * scales in both the x and y axes. + * + * Configuration: + * ``` + * { + * name: 'scale-down-animation', + * node: <node>, + * axis: 'x' | 'y' | '', + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface ScaleDownAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "scale-down-animation": ScaleDownAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-down-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-down-animation.html new file mode 100644 index 00000000000..91e40840939 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-down-animation.html @@ -0,0 +1,64 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<scale-down-animation>` animates the scale transform of an element from 1 to 0. By default it +scales in both the x and y axes. + +Configuration: +``` +{ + name: 'scale-down-animation', + node: <node>, + axis: 'x' | 'y' | '', + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'scale-down-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + var scaleProperty = 'scale(0, 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(1,1)'}, + {'transform': scaleProperty} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-up-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-up-animation.d.ts new file mode 100644 index 00000000000..23cec443eb9 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-up-animation.d.ts @@ -0,0 +1,35 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/scale-up-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<scale-up-animation>` animates the scale transform of an element from 0 to 1. By default it + * scales in both the x and y axes. + * + * Configuration: + * ``` + * { + * name: 'scale-up-animation', + * node: <node>, + * axis: 'x' | 'y' | '', + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface ScaleUpAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "scale-up-animation": ScaleUpAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-up-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-up-animation.html new file mode 100644 index 00000000000..a6c92202bb7 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/scale-up-animation.html @@ -0,0 +1,64 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<scale-up-animation>` animates the scale transform of an element from 0 to 1. By default it +scales in both the x and y axes. + +Configuration: +``` +{ + name: 'scale-up-animation', + node: <node>, + axis: 'x' | 'y' | '', + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'scale-up-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + 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': scaleProperty}, + {'transform': 'scale(1, 1)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-down-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-down-animation.d.ts new file mode 100644 index 00000000000..e03b9877558 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-down-animation.d.ts @@ -0,0 +1,34 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-down-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-down-animation>` animates the transform of an element from `none` `translateY(100%)`. + * The `transformOrigin` defaults to `50% 0`. + * + * Configuration: + * ``` + * { + * name: 'slide-down-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideDownAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-down-animation": SlideDownAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-down-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-down-animation.html new file mode 100644 index 00000000000..cf56ae5937d --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-down-animation.html @@ -0,0 +1,58 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-down-animation>` animates the transform of an element from `none` `translateY(100%)`. +The `transformOrigin` defaults to `50% 0`. + +Configuration: +``` +{ + name: 'slide-down-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-down-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'translateY(0%)'}, + {'transform': 'translateY(100%)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-bottom-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-bottom-animation.d.ts new file mode 100644 index 00000000000..c1fe22039a5 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-bottom-animation.d.ts @@ -0,0 +1,34 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-from-bottom-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-from-bottom-animation>` animates the transform of an element from `none` to `translateY(100%)`. + * The `transformOrigin` defaults to `50% 0`. + * + * Configuration: + * ``` + * { + * name: 'slide-from-bottom-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideFromBottomAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-from-bottom-animation": SlideFromBottomAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-bottom-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-bottom-animation.html new file mode 100644 index 00000000000..8e7ba7635b5 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-bottom-animation.html @@ -0,0 +1,58 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-from-bottom-animation>` animates the transform of an element from `none` to `translateY(100%)`. +The `transformOrigin` defaults to `50% 0`. + +Configuration: +``` +{ + name: 'slide-from-bottom-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-from-bottom-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'translateY(100%)'}, + {'transform': 'translateY(0)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-left-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-left-animation.d.ts new file mode 100644 index 00000000000..b3f0b2e2b70 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-left-animation.d.ts @@ -0,0 +1,35 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-from-left-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-from-left-animation>` animates the transform of an element from + * `translateX(-100%)` to `none`. + * The `transformOrigin` defaults to `0 50%`. + * + * Configuration: + * ``` + * { + * name: 'slide-from-left-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideFromLeftAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-from-left-animation": SlideFromLeftAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-left-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-left-animation.html new file mode 100644 index 00000000000..14d63bddede --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-left-animation.html @@ -0,0 +1,59 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-from-left-animation>` animates the transform of an element from +`translateX(-100%)` to `none`. +The `transformOrigin` defaults to `0 50%`. + +Configuration: +``` +{ + name: 'slide-from-left-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-from-left-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'translateX(-100%)'}, + {'transform': 'none'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-right-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-right-animation.d.ts new file mode 100644 index 00000000000..2dea2e6a3f8 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-right-animation.d.ts @@ -0,0 +1,35 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-from-right-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-from-right-animation>` animates the transform of an element from + * `translateX(100%)` to `none`. + * The `transformOrigin` defaults to `0 50%`. + * + * Configuration: + * ``` + * { + * name: 'slide-from-right-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideFromRightAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-from-right-animation": SlideFromRightAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-right-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-right-animation.html new file mode 100644 index 00000000000..f6190bac9a4 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-right-animation.html @@ -0,0 +1,59 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-from-right-animation>` animates the transform of an element from +`translateX(100%)` to `none`. +The `transformOrigin` defaults to `0 50%`. + +Configuration: +``` +{ + name: 'slide-from-right-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-from-right-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'translateX(100%)'}, + {'transform': 'none'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-top-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-top-animation.d.ts new file mode 100644 index 00000000000..7e5d47142e5 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-top-animation.d.ts @@ -0,0 +1,34 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-from-top-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-from-top-animation>` animates the transform of an element from `translateY(-100%)` to + * `none`. The `transformOrigin` defaults to `50% 0`. + * + * Configuration: + * ``` + * { + * name: 'slide-from-top-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideFromTopAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-from-top-animation": SlideFromTopAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-top-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-top-animation.html new file mode 100644 index 00000000000..cf69eaaebe5 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-from-top-animation.html @@ -0,0 +1,58 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-from-top-animation>` animates the transform of an element from `translateY(-100%)` to +`none`. The `transformOrigin` defaults to `50% 0`. + +Configuration: +``` +{ + name: 'slide-from-top-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-from-top-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'translateY(-100%)'}, + {'transform': 'translateY(0%)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-left-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-left-animation.d.ts new file mode 100644 index 00000000000..d34e84798b4 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-left-animation.d.ts @@ -0,0 +1,34 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-left-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-left-animation>` animates the transform of an element from `none` to `translateX(-100%)`. + * The `transformOrigin` defaults to `0 50%`. + * + * Configuration: + * ``` + * { + * name: 'slide-left-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideLeftAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-left-animation": SlideLeftAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-left-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-left-animation.html new file mode 100644 index 00000000000..040cfee0744 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-left-animation.html @@ -0,0 +1,58 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-left-animation>` animates the transform of an element from `none` to `translateX(-100%)`. +The `transformOrigin` defaults to `0 50%`. + +Configuration: +``` +{ + name: 'slide-left-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-left-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'none'}, + {'transform': 'translateX(-100%)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-right-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-right-animation.d.ts new file mode 100644 index 00000000000..769d4c170fa --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-right-animation.d.ts @@ -0,0 +1,34 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-right-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-right-animation>` animates the transform of an element from `none` to `translateX(100%)`. + * The `transformOrigin` defaults to `0 50%`. + * + * Configuration: + * ``` + * { + * name: 'slide-right-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideRightAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-right-animation": SlideRightAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-right-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-right-animation.html new file mode 100644 index 00000000000..7a9342b11b4 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-right-animation.html @@ -0,0 +1,58 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-right-animation>` animates the transform of an element from `none` to `translateX(100%)`. +The `transformOrigin` defaults to `0 50%`. + +Configuration: +``` +{ + name: 'slide-right-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-right-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'none'}, + {'transform': 'translateX(100%)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-up-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-up-animation.d.ts new file mode 100644 index 00000000000..4231f8a950f --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-up-animation.d.ts @@ -0,0 +1,34 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/slide-up-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<slide-up-animation>` animates the transform of an element from `translateY(0)` to + * `translateY(-100%)`. The `transformOrigin` defaults to `50% 0`. + * + * Configuration: + * ``` + * { + * name: 'slide-up-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * timing: <animation-timing> + * } + * ``` + */ +interface SlideUpAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: any): any; +} + +interface HTMLElementTagNameMap { + "slide-up-animation": SlideUpAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-up-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-up-animation.html new file mode 100644 index 00000000000..eac7a377c4f --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/slide-up-animation.html @@ -0,0 +1,58 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<slide-up-animation>` animates the transform of an element from `translateY(0)` to +`translateY(-100%)`. The `transformOrigin` defaults to `50% 0`. + +Configuration: +``` +{ + name: 'slide-up-animation', + node: <node>, + transformOrigin: <transform-origin>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'slide-up-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + configure: function(config) { + var node = config.node; + + this._effect = new KeyframeEffect(node, [ + {'transform': 'translate(0)'}, + {'transform': 'translateY(-100%)'} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } else { + this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/transform-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/transform-animation.d.ts new file mode 100644 index 00000000000..03ec4bd501e --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/transform-animation.d.ts @@ -0,0 +1,36 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * animations/transform-animation.html + */ + +/// <reference path="../../polymer/types/polymer.d.ts" /> +/// <reference path="../neon-animation-behavior.d.ts" /> + +/** + * `<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: 'transform-animation', + * node: <node>, + * transformOrigin: <transform-origin>, + * transformFrom: <transform-from-string>, + * transformTo: <transform-to-string>, + * timing: <animation-timing> + * } + * ``` + */ +interface TransformAnimationElement extends Polymer.Element, Polymer.NeonAnimationBehavior { + configure(config: {node: Element, transformOrigin?: string, transformFrom?: string, transformTo?: string, timing?: object|null}): any; +} + +interface HTMLElementTagNameMap { + "transform-animation": TransformAnimationElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/transform-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/transform-animation.html new file mode 100644 index 00000000000..84927271ad7 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/animations/transform-animation.html @@ -0,0 +1,69 @@ +<!-- +@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-animation-behavior.html"> + +<!-- +`<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: 'transform-animation', + node: <node>, + transformOrigin: <transform-origin>, + transformFrom: <transform-from-string>, + transformTo: <transform-to-string>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'transform-animation', + + behaviors: [ + 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'; + var transformTo = config.transformTo || 'none'; + + this._effect = new KeyframeEffect(node, [ + {'transform': transformFrom}, + {'transform': transformTo} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } + + return this._effect; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/bower.json b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/bower.json new file mode 100644 index 00000000000..2dd5c0f5e39 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/bower.json @@ -0,0 +1,80 @@ +{ + "name": "neon-animation", + "description": "A system for animating Polymer-based web components", + "authors": [ + "The Polymer Authors" + ], + "keywords": [ + "web-components", + "web-component", + "polymer", + "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-animatable.html", + "neon-animations.html" + ], + "private": true, + "repository": { + "type": "git", + "url": "git://github.com/PolymerElements/neon-animation" + }, + "license": "http://polymer.github.io/LICENSE.txt", + "homepage": "https://github.com/PolymerElements/neon-animation", + "ignore": [], + "demos": { + "Demo": "demo/index.html" + }, + "dependencies": { + "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#1 - 2", + "iron-selector": "PolymerElements/iron-selector#1 - 2", + "polymer": "Polymer/polymer#1.9 - 2" + }, + "devDependencies": { + "app-layout": "PolymerElements/app-layout#1 - 2", + "iron-component-page": "PolymerElements/iron-component-page#1 - 2", + "iron-flex-layout": "PolymerElements/iron-flex-layout#1 - 2", + "iron-icon": "PolymerElements/iron-icon#1 - 2", + "iron-icons": "PolymerElements/iron-icons#1 - 2", + "paper-icon-button": "PolymerElements/paper-icon-button#1 - 2", + "paper-item": "PolymerElements/paper-item#1 - 2", + "paper-styles": "PolymerElements/paper-styles#1 - 2", + "web-animations-js": "web-animations/web-animations-js#^2.2.0", + "web-component-tester": "^6.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0" + }, + "variants": { + "1.x": { + "dependencies": { + "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0", + "iron-selector": "PolymerElements/iron-selector#^1.0.0", + "polymer": "Polymer/polymer#^1.9", + "web-animations-js": "web-animations/web-animations-js#^2.2.0" + }, + "devDependencies": { + "app-layout": "PolymerElements/app-layout#^0.10.0", + "iron-component-page": "PolymerElements/iron-component-page#^1.0.0", + "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0", + "iron-icon": "PolymerElements/iron-icon#^1.0.0", + "iron-icons": "PolymerElements/iron-icons#^1.0.0", + "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0", + "paper-item": "PolymerElements/paper-item#^1.0.0", + "paper-styles": "PolymerElements/paper-styles#^1.0.0", + "web-component-tester": "^4.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" + }, + "resolutions": { + "webcomponentsjs": "^0.7" + } + } + }, + "resolutions": { + "webcomponentsjs": "^1.0.0" + } +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/index.html new file mode 100644 index 00000000000..ec246dbc77a --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/index.html @@ -0,0 +1,174 @@ +<!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>neon-animated-pages demo: card</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../../iron-flex-layout/iron-flex-layout.html"> + <link rel="import" href="../../neon-animated-pages.html"> + <link rel="import" href="../../neon-animations.html"> + <link rel="import" href="../../../paper-styles/typography.html"> + <link rel="import" href="x-card.html"> + <link rel="import" href="x-cards-list.html"> + + <custom-style> + <style is="custom-style"> + + body { + padding: 15px; + @apply --layout-fullbleed; + @apply --paper-font-common-base; + } + + neon-animated-pages { + height: 100%; + } + + .large { + width: 100% + } + + .button { + text-align: center; + width: 120px; + height: 32px; + line-height: 32px; + border-radius: 2px; + font-size: 0.9em; + background-color: #fff; + color: #646464; + } + + .button.blue { + background-color: #4285f4; + color: #fff; + } + + .button.raised { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + } + + .button.back { + position: fixed; + top: 30px; + left: 30px; + } + + .card-contents { + @apply --layout-vertical; + @apply --layout-center-center; + @apply --layout-fit; + } + + .button-container { + @apply --layout-flex; + @apply --layout-horizontal; + @apply --layout-around-justified; + } + </style> + </custom-style> + + </head> + <body> + <dom-bind> + <template is="dom-bind"> + <neon-animated-pages id="pages" selected="0"> + <x-cards-list id="list"> + <div slot="div" class="card-contents"> + <h2>Choose a subject</h2> + <div class="button-container large"> + <div class="blue raised button" on-click="_onPolymerClick"> + POLYMER + </div> + <div class="blue raised button" on-click="_onAngularClick"> + ANGULAR + </div> + </div> + </div> + </x-cards-list> + + <x-card> + <div slot="div" class="card-contents"> + <div class="raised back button" on-click="_onBackClick"> + BACK + </div> + <h2>Polymer</h2> + <p> + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + </p> + </div> + </x-card> + + <x-card> + <div slot="div" class="card-contents"> + <div class="raised back button" on-click="_onBackClick"> + BACK + </div> + <h2>Angular</h2> + <p> + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + </p> + </div> + </x-card> + + </neon-animated-pages> + </template> + </dom-bind> + + <script> + var polymer2DomBind = document.querySelector('dom-bind'); + var polymer1DomBindScope = document.querySelector('template[is="dom-bind"]'); + + polymer2DomBind._onPolymerClick = function(event) { + this.$.list.sharedElements = { + 'ripple': event.target, + 'reverse-ripple': event.target + }; + this.$.pages.selected = 1; + }; + + polymer2DomBind._onAngularClick = function(event) { + this.$.list.sharedElements = { + 'ripple': event.target, + 'reverse-ripple': event.target + }; + this.$.pages.selected = 2; + }; + + polymer2DomBind._onBackClick = function(event) { + this.$.pages.selected = 0; + }; + + polymer1DomBindScope._onPolymerClick = polymer2DomBind._onPolymerClick; + polymer1DomBindScope._onAngularClick = polymer2DomBind._onAngularClick; + polymer1DomBindScope._onBackClick = polymer2DomBind._onBackClick; + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/x-card.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/x-card.html new file mode 100644 index 00000000000..12979bb1a70 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/x-card.html @@ -0,0 +1,100 @@ +<!-- +@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/iron-flex-layout.html"> +<link rel="import" href="../../neon-shared-element-animatable-behavior.html"> + +<dom-module id="x-card"> + <template> + <style> + :host { + display: block; + overflow: hidden; + } + #placeholder { + opacity: 0; + background-color: grey; + @apply --layout-fit; + } + </style> + + <div id="placeholder"></div> + <div id="container"> + <slot name="div"></slot> + </div> + + </template> +</dom-module> + +<script> +(function() { + Polymer({ + is: 'x-card', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + animationConfig: { + type: Object + }, + + sharedElements: { + type: Object + } + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + this.animationConfig = { + 'entry': [{ + name: 'ripple-animation', + id: 'ripple', + toPage: this + }, { + name: 'fade-out-animation', + node: this.$.placeholder, + timing: { + delay: 250 + } + }, { + name: 'fade-in-animation', + node: this.$.container, + timing: { + delay: 50 + } + }], + + 'exit': [{ + name: 'fade-out-animation', + node: this.$.container, + timing: { + duration: 0 + } + }, { + name: 'reverse-ripple-animation', + id: 'reverse-ripple', + fromPage: this + }] + }; + + this.sharedElements = { + 'ripple': this.$.placeholder, + 'reverse-ripple': this.$.placeholder + }; + } + }); +})(); +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/x-cards-list.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/x-cards-list.html new file mode 100644 index 00000000000..a3ba2ca695e --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/card/x-cards-list.html @@ -0,0 +1,81 @@ +<!-- +@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/iron-flex-layout.html"> +<link rel="import" href="../../neon-shared-element-animatable-behavior.html"> + +<dom-module id="x-cards-list"> + <template> + <style> + :host { + display: block; + overflow: hidden; + } + + #placeholder { + opacity: 0; + background-color: grey; + @apply --layout-fit; + } + </style> + + <div id="placeholder"></div> + <div id="container"> + <slot name="div"></slot> + </div> + + </template> +</dom-module> + +<script> +(function() { + Polymer({ + is: 'x-cards-list', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + animationConfig: { + type: Object + } + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + this.animationConfig = { + 'entry': [{ + name: 'reverse-ripple-animation', + id: 'reverse-ripple', + toPage: this + }], + + 'exit': [{ + name: 'fade-out-animation', + node: this.$.container, + timing: { + delay: 150, + duration: 0 + } + }, { + name: 'ripple-animation', + id: 'ripple', + fromPage: this + }] + }; + } + }); +})(); +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/declarative/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/declarative/index.html new file mode 100644 index 00000000000..3bac789d1b2 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/declarative/index.html @@ -0,0 +1,150 @@ +<!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>neon-animated-pages demo: declarative</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../../iron-flex-layout/iron-flex-layout.html"> + <link rel="import" href="../../../paper-styles/typography.html"> + <link rel="import" href="../../../paper-styles/color.html"> + <link rel="import" href="../../neon-animated-pages.html"> + <link rel="import" href="../../neon-animatable.html"> + <link rel="import" href="../../neon-animations.html"> + + <custom-style> + <style is="custom-style"> + body { + overflow: hidden; + height: 100vh; + margin: 0px; + } + + dom-bind { + height: 100%; + } + + .toolbar { + position: relative; + + padding: 8px; + + background-color: white; + + z-index: 12; + } + + neon-animated-pages { + height: 100%; + @apply --layout-flex; + } + + neon-animatable { + color: white; + @apply --layout-horizontal; + @apply --layout-center-center; + @apply --paper-font-display4; + } + + /* in shady polymer1 slot element is first child */ + neon-animatable:nth-child(1), + neon-animatable:nth-child(6) { + background: var(--paper-red-500); + } + + neon-animatable:nth-child(2) { + background: var(--paper-blue-500); + } + + neon-animatable:nth-child(3) { + background: var(--paper-orange-500); + } + + neon-animatable:nth-child(4) { + background: var(--paper-green-500); + } + + neon-animatable:nth-child(5) { + background: var(--paper-purple-500); + } + + </style> + </custom-style> + + </head> + <body> + <dom-bind> + <template is="dom-bind"> + <div class="toolbar"> + <button on-click="_onPrevClick">⇦</button> + <button on-click="_onNextClick">⇨</button> + <button on-click="_onUpClick">⇧</button> + <button on-click="_onDownClick">⇩</button> + </div> + + <neon-animated-pages id="pages" selected="[[selected]]" entry-animation="[[entryAnimation]]" exit-animation="[[exitAnimation]]"> + <neon-animatable>1</neon-animatable> + <neon-animatable>2</neon-animatable> + <neon-animatable>3</neon-animatable> + <neon-animatable>4</neon-animatable> + <neon-animatable>5</neon-animatable> + </neon-animated-pages> + + </template> + </dom-bind> + + <script> + + var scope1 = document.querySelector('template[is="dom-bind"]'); + var scope2 = document.querySelector('dom-bind'); + + scope1.selected = 0; + scope2.selected = 0; + + scope1._onPrevClick = function() { + this.entryAnimation = 'slide-from-left-animation'; + this.exitAnimation = 'slide-right-animation'; + this.selected = this.selected === 0 ? 4 : (this.selected - 1); + } + + scope1._onNextClick = function() { + this.entryAnimation = 'slide-from-right-animation'; + this.exitAnimation = 'slide-left-animation'; + this.selected = this.selected === 4 ? 0 : (this.selected + 1); + } + + scope1._onUpClick = function() { + this.entryAnimation = 'slide-from-top-animation'; + this.exitAnimation = 'slide-down-animation'; + this.selected = this.selected === 4 ? 0 : (this.selected + 1); + } + + scope1._onDownClick = function() { + this.entryAnimation = 'slide-from-bottom-animation'; + this.exitAnimation = 'slide-up-animation'; + this.selected = this.selected === 0 ? 4 : (this.selected - 1); + } + + scope2._onPrevClick = scope1._onPrevClick; + scope2._onNextClick = scope1._onNextClick; + scope2._onUpClick = scope1._onUpClick; + scope2._onDownClick = scope1._onDownClick; + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/index.html new file mode 100644 index 00000000000..a15bfa585ae --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/index.html @@ -0,0 +1,76 @@ +<!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>neon-animation demo: basic</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="my-animatable.html"> + <link rel="import" href="my-dialog.html"> + + </head> + <style> + my-animatable { + margin-top: 50px; + } + </style> + <body> + <dom-bind> + <template is="dom-bind"> + + <button on-click="_onCircleButtonClick">toggle circle</button> + <button on-click="_onDialogButtonClick">toggle dialog</button> + + <div style="text-align: center"> + <my-dialog>Hello World!</my-dialog> + </div> + + <my-animatable></my-animatable> + + </template> + </dom-bind> + + <script> + + var scope1 = document.querySelector('template[is="dom-bind"]'); + var scope2 = document.querySelector('dom-bind'); + + scope1._onCircleButtonClick = function(event) { + var node = document.querySelector('my-animatable'); + if (node) { + node.animate(); + } + }; + + scope1._onDialogButtonClick = function(event) { + var node = document.querySelector('my-dialog'); + if (node) { + if (node.opened) { + node.hide(); + } else { + node.show(); + } + } + }; + + scope2._onCircleButtonClick = scope1._onCircleButtonClick; + scope2._onDialogButtonClick = scope1._onDialogButtonClick; + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/my-animatable.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/my-animatable.html new file mode 100644 index 00000000000..86dcb19ea5c --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/my-animatable.html @@ -0,0 +1,68 @@ +<!-- +@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-animation-runner-behavior.html"> +<link rel="import" href="../../animations/scale-down-animation.html"> + +<dom-module id="my-animatable"> + <template> + <style> + :host { + display: inline-block; + border-radius: 50%; + width: 300px; + height: 300px; + background: orange; + } + </style> + <slot></slot> + + </template> +</dom-module> + +<script> + + Polymer({ + + is: 'my-animatable', + + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + + properties: { + + animationConfig: { + type: Object, + value: function() { + return { + name: 'scale-down-animation', + node: this + } + } + } + + }, + + listeners: { + 'neon-animation-finish': '_onNeonAnimationFinish' + }, + + animate: function() { + this.playAnimation(); + }, + + _onNeonAnimationFinish: function() { + console.log('animation finish!'); + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/my-dialog.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/my-dialog.html new file mode 100644 index 00000000000..5ccdff82c76 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/doc/my-dialog.html @@ -0,0 +1,94 @@ +<!-- +@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/shadow.html"> +<link rel="import" href="../../neon-animation-runner-behavior.html"> +<link rel="import" href="../../animations/scale-up-animation.html"> +<link rel="import" href="../../animations/fade-out-animation.html"> + + +<dom-module id="my-dialog"> + <template> + <style> + :host { + display: none; + padding: 16px; + background: white; + color: black; + margin: 0 auto; + z-index: 100; + position: absolute; + @apply --shadow-elevation-2dp; + } + </style> + <slot></slot> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'my-dialog', + + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + + properties: { + + opened: { + type: Boolean + }, + + animationConfig: { + type: Object, + value: function() { + return { + 'entry': [{ + name: 'scale-up-animation', + node: this + }], + 'exit': [{ + name: 'fade-out-animation', + node: this + }] + } + } + } + + }, + + listeners: { + 'neon-animation-finish': '_onAnimationFinish' + }, + + _onAnimationFinish: function() { + if (!this.opened) { + this.style.display = ''; + } + }, + + show: function() { + this.opened = true; + this.style.display = 'inline-block'; + this.playAnimation('entry'); + }, + + hide: function() { + this.opened = false; + this.playAnimation('exit'); + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/dropdown/animated-dropdown.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/dropdown/animated-dropdown.html new file mode 100644 index 00000000000..8c09f37a46e --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/dropdown/animated-dropdown.html @@ -0,0 +1,90 @@ +<!-- +@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/shadow.html"> +<link rel="import" href="../../neon-animation-runner-behavior.html"> + +<dom-module id="animated-dropdown"> + <template> + <style> + :host { + display: none; + padding: 16px; + background: white; + color: black; + + @apply --shadow-elevation-2dp; + } + </style> + <slot></slot> + </template> +</dom-module> + +<script> + + Polymer({ + + is: 'animated-dropdown', + + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + + properties: { + + animationConfig: { + type: Object, + value: function() { + return { + 'entry': [{ + name: 'scale-up-animation', + node: this, + transformOrigin: '0 0' + }], + 'exit': [{ + name: 'fade-out-animation', + node: this + }] + } + } + }, + + _showing: { + type: Boolean, + value: false + } + + }, + + listeners: { + 'neon-animation-finish': '_onAnimationFinish' + }, + + _onAnimationFinish: function() { + if (this._showing) { + } else { + this.style.display = ''; + } + }, + + show: function() { + this.style.display = 'inline-block'; + this._showing = true; + this.playAnimation('entry'); + }, + + hide: function() { + this._showing = false; + this.playAnimation('exit'); + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/dropdown/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/dropdown/index.html new file mode 100644 index 00000000000..de81a322a33 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/dropdown/index.html @@ -0,0 +1,61 @@ +<!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>neon-animated-pages demo: dropdown</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../neon-animated-pages.html"> + <link rel="import" href="../../neon-animations.html"> + <link rel="import" href="animated-dropdown.html"> + + </head> + <body> + + <dom-bind> + <template is="dom-bind"> + + <button dropdown-id="dropdown" on-click="_onButtonClick">dropdown</button> + <br> + <animated-dropdown id="dropdown" on-click="_onDropdownClick">Hello world!</animated-dropdown> + + </template> + </dom-bind> + + <script> + + var scope1 = document.querySelector('template[is="dom-bind"]'); + var scope2 = document.querySelector('dom-bind'); + + scope1._onButtonClick = function(event) { + var dropdown = document.querySelector('#' + event.target.getAttribute('dropdown-id')); + if (dropdown) { + dropdown.show(); + } + }; + + scope1._onDropdownClick = function(event) { + event.target.hide(); + }; + + scope2._onButtonClick = scope1._onButtonClick; + scope2._onDropdownClick = scope1._onDropdownClick; + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/animated-grid.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/animated-grid.html new file mode 100644 index 00000000000..3688ace6b21 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/animated-grid.html @@ -0,0 +1,160 @@ +<!-- +@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-flex-layout/iron-flex-layout.html"> +<link rel="import" href="../../neon-shared-element-animatable-behavior.html"> +<link rel="import" href="../shared-styles.html"> + +<dom-module id="animated-grid"> + <template> + <style include="shared-styles"> + + :host { + display: block; + background: #000; + } + + .tile { + display: inline-block; + float: left; + vertical-align: top; + width: calc(100% / 6); + height: calc(100% / 3); + + @apply --paper-font-title; + @apply --layout-vertical; + @apply --layout-center-center; + } + + .tile:nth-of-type(1) { + width: calc(100% / 3); + height: calc(100% / 3 * 2); + } + + .tile:nth-of-type(4) { + width: calc(100% / 3); + } + + .tile:nth-of-type(5) { + width: calc(100% / 3); + height: calc(100% / 3 * 2); + } + + .tile:nth-of-type(8) { + width: calc(100% / 3); + height: calc(100% / 3); + } + + .tile:nth-of-type(9) { + position: absolute; + top: calc(100% / 3 * 2); + left: 0; + width: calc(100% / 6); + height: calc(100% / 3); + } + + .tile:nth-of-type(10) { + position: absolute; + top: calc(100% / 3 * 2); + left: calc(100% / 6);; + width: calc(100% / 6); + height: calc(100% / 3); + } + </style> + + <template is="dom-repeat" items="[[config]]"> + <div item="[[item]]" class$="[[_computeTileClass(item.color)]]" on-click="_onClick"> + <span>[[item.value]]</span> + </div> + </template> + + </template> +</dom-module> + +<script> + + Polymer({ + + is: 'animated-grid', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + config: { + type: Array, + value: function() { + return [ + {value: 1, color: 'blue'}, + {value: 2, color: 'red'}, + {value: 3, color: 'blue'}, + {value: 4, color: 'green'}, + {value: 5, color: 'yellow'}, + {value: 6, color: 'blue'}, + {value: 7, color: 'red'}, + {value: 8, color: 'green'}, + {value: 9, color: 'yellow'}, + {value: 10, color: 'red'} + ] + } + }, + + animationConfig: { + type: Object, + value: function() { + return { + 'exit': [{ + name: 'ripple-animation', + id: 'ripple', + fromPage: this + }, { + name: 'hero-animation', + id: 'hero', + fromPage: this + }] + } + } + } + + }, + + _computeTileClass: function(color) { + return 'tile ' + color + '-300'; + }, + + _onClick: function(event) { + var target = Polymer.dom(event).rootTarget; + + if (!target.item) { + target = Polymer.dom(target).parentNode; + } + + // configure the page animation + this.sharedElements = { + 'hero': target, + 'ripple': target + }; + this.animationConfig['exit'][0].gesture = { + x: event.x || event.pageX, + y: event.y || event.pageY + }; + + this.fire('tile-click', { + tile: target, + data: target.item + }); + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/fullsize-page-with-card.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/fullsize-page-with-card.html new file mode 100644 index 00000000000..8f334ec44ac --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/fullsize-page-with-card.html @@ -0,0 +1,125 @@ +<!-- +@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-animatable-behavior.html"> +<link rel="import" href="../../../paper-styles/color.html"> +<link rel="import" href="../shared-styles.html"> + +<dom-module id="fullsize-page-with-card"> + <template> + <style include="shared-styles"></style> + <style> + + :host { + display: block; + } + + .fixed { + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + } + + .card { + position: relative; + margin: 200px 100px 0; + height: 700px; + } + + </style> + + <div id="fixed" class$="[[_computeFixedBackgroundClass(color)]]"></div> + <div id="card" class$="[[_computeCardClass(color)]]"></div> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'fullsize-page-with-card', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + color: { + type: String + }, + + sharedElements: { + type: Object + }, + + animationConfig: { + type: Object + } + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + this.sharedElements = { + 'hero': this.$.card, + 'ripple': this.$.fixed + }; + + this.animationConfig = { + 'entry': [{ + name: 'ripple-animation', + id: 'ripple', + toPage: this, + }, { + name: 'hero-animation', + id: 'hero', + toPage: this, + timing: { + delay: 150 + } + }], + 'exit': [{ + name: 'fade-out-animation', + node: this.$.fixed + }, { + name: 'transform-animation', + transformFrom: 'none', + transformTo: 'translate(0px,-200vh) scale(0.9,1)', + node: this.$.card + }] + }; + }, + + _computeCardClass: function(color) { + var cls = 'card'; + if (color) { + cls += ' ' + color + '-300'; + } + return cls; + }, + + _computeFixedBackgroundClass: function(color) { + var cls = 'fixed'; + if (color) { + cls += ' ' + color + '-100'; + } + return cls; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/index.html new file mode 100644 index 00000000000..d88ec2d7979 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/grid/index.html @@ -0,0 +1,74 @@ +<!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>neon-animated-pages demo: grid</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../neon-animated-pages.html"> + <link rel="import" href="../../neon-animations.html"> + <link rel="import" href="animated-grid.html"> + <link rel="import" href="fullsize-page-with-card.html"> + + <custom-style> + <style is="custom-style"> + body { + overflow: hidden; + @apply --layout-fullbleed; + } + + neon-animated-pages { + height: 100%; + } + </style> + </custom-style> + + </head> + <body> + <dom-bind> + <template is="dom-bind"> + <neon-animated-pages id="pages" selected="0"> + <animated-grid on-tile-click="_onTileClick"></animated-grid> + <fullsize-page-with-card id="fullsize-card" on-click="_onFullsizeClick"> + </fullsize-page-with-card> + </neon-animated-pages> + </template> + </dom-bind> + + <script> + + var scope1 = document.querySelector('template[is="dom-bind"]'); + var scope2 = document.querySelector('dom-bind'); + + var _onTileClick = function(event) { + this.$['fullsize-card'].color = event.detail.data.color; + this.$.pages.selected = 1; + }; + + var _onFullsizeClick = function(event) { + this.$.pages.selected = 0; + }; + + scope1._onTileClick = _onTileClick; + scope1._onFullsizeClick = _onFullsizeClick; + scope2._onTileClick = _onTileClick; + scope2._onFullsizeClick = _onFullsizeClick; + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/index.html new file mode 100644 index 00000000000..1ca9f2d50ce --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/index.html @@ -0,0 +1,46 @@ +<!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 lang="en"> +<head> + <title>neon-animated pages demo</title> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../paper-styles/demo-pages.html"> + <link rel="import" href="../web-animations.html"> +</head> +<style> + a { + display: block; + margin-bottom: 10px; + } +</style> +<body unresolved> + <div class="horizontal-section-container"> + <div> + <h4>Sample demos</h4> + <div class="horizontal-section"> + <a href="doc/index.html">basic</a> + <a href="declarative/index.html">declarative</a> + <a href="dropdown/index.html">dropdown</a> + <a href="grid/index.html">grid</a> + <a href="list/index.html">list</a> + <a href="load/index.html">load</a> + <a href="tiles/index.html">tiles</a> + <a href="card/index.html">card</a> + </div> + </div> + </div> +</body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/full-view.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/full-view.html new file mode 100644 index 00000000000..da52eb318ba --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/full-view.html @@ -0,0 +1,123 @@ +<!-- +@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/iron-flex-layout.html"> +<link rel="import" href="../../../paper-styles/shadow.html"> +<link rel="import" href="../../../app-layout/app-toolbar/app-toolbar.html"> +<link rel="import" href="../../neon-animatable-behavior.html"> + +<dom-module id="full-view"> + <template> + <style> + :host { + @apply --layout-vertical; + } + + .main { + background: white; + @apply --layout-flex; + @apply --layout-scroll; + @apply --shadow-elevation-8dp; + } + + .image-container { + position: relative; + width: 100%; + padding-bottom: 100%; + } + + .image { + position: absolute; + width: 100%; + height: 100%; + background: repeating-linear-gradient( + 45deg, + #f5f5f5, + #f5f5f5 8px, + #e0e0e0 8px, + #e0e0e0 16px + ); + } + + app-toolbar { + color: white; + background-color: var(--google-blue-500); + } + </style> + <app-toolbar> + <paper-icon-button id="button" icon="clear" on-click="_onClearButtonClick"></paper-icon-button> + </app-toolbar> + + <div id="main" class="main"> + <div class="image-container"> + <div class="image"> + </div> + </div> + </div> + + </template> +</dom-module> + +<script> + + Polymer({ + + is: 'full-view', + + behaviors: [ + Polymer.NeonAnimatableBehavior + ], + + properties: { + + sharedElements: { + type: Object + }, + + animationConfig: { + type: Object + } + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + this.sharedElements = { 'hero': this.$.main }; + this.animationConfig = { + 'entry': [{ + name: 'fade-in-animation', + node: this.$.button + }, { + name: 'hero-animation', + id: 'hero', + toPage: this + }], + + 'exit': [{ + name: 'fade-out-animation', + node: this.$.button + }, { + name: 'scale-down-animation', + node: this.$.main, + transformOrigin: '50% 50%', + axis: 'y' + }] + } + }, + + _onClearButtonClick: function() { + this.fire('close'); + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/index.html new file mode 100644 index 00000000000..6e100bd21f3 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/index.html @@ -0,0 +1,38 @@ +<!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>neon-animated-pages demo: list</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../../iron-flex-layout/iron-flex-layout.html"> + <link rel="import" href="list-demo.html"> + + </head> + <custom-style> + <style is="custom-style"> + body { + @apply --layout-fullbleed; + } + + list-demo { + @apply --layout-fit; + } + </style> + </custom-style> + <body> + <list-demo></list-demo> + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/list-demo.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/list-demo.html new file mode 100644 index 00000000000..21897e4c357 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/list-demo.html @@ -0,0 +1,101 @@ +<!-- +@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-animated-pages.html"> +<link rel="import" href="../../neon-animations.html"> +<link rel="import" href="list-view.html"> +<link rel="import" href="full-view.html"> + +<dom-module id="list-demo"> + <template> + <style> + :host { + display: block; + } + neon-animated-pages { + height: 100%; + } + </style> + <neon-animated-pages id="pages" selected="0"> + <list-view data="[[fileData]]" on-item-click="_onItemClick"></list-view> + <full-view on-close="_onClose"></full-view> + </neon-animated-pages> + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'list-demo', + + properties: { + + fileData: { + type: Array, + value: function() { + return [ + {fileName: 'IMG_4130.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4131.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4132.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4133.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4134.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4135.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4136.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4137.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4138.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4139.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4140.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4141.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4142.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4143.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4144.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4145.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4146.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4147.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4148.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4149.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4150.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4151.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4152.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4153.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4154.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4155.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4156.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4157.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4158.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4159.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4160.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4161.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4162.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4163.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4164.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4165.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4166.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4167.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4168.jpg', modifiedDate: 'May 12 2015'}, + {fileName: 'IMG_4169.jpg', modifiedDate: 'May 12 2015'} + ] + } + } + }, + + _onItemClick: function() { + this.$.pages.selected = 1; + }, + + _onClose: function() { + this.$.pages.selected = 0; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/list-view.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/list-view.html new file mode 100644 index 00000000000..2620a35599b --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/list/list-view.html @@ -0,0 +1,131 @@ +<!-- +@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-icons/iron-icons.html"> +<link rel="import" href="../../../iron-icon/iron-icon.html"> +<link rel="import" href="../../../iron-flex-layout/iron-flex-layout.html"> +<link rel="import" href="../../../paper-icon-button/paper-icon-button.html"> +<link rel="import" href="../../../paper-item/paper-item.html"> +<link rel="import" href="../../../paper-item/paper-item-body.html"> +<link rel="import" href="../../../app-layout/app-toolbar/app-toolbar.html"> +<link rel="import" href="../../../paper-styles/color.html"> +<link rel="import" href="../../neon-animatable-behavior.html"> + +<dom-module id="list-view"> + <template> + <style> + :host { + @apply --layout-vertical; + } + + .main { + @apply --layout-flex; + @apply --layout-scroll; + } + + iron-icon { + color: var(--google-grey-500); + } + + app-toolbar { + color: white; + background-color: var(--google-blue-500); + } + </style> + <app-toolbar> + <paper-icon-button id="button" icon="arrow-back"></paper-icon-button> + </app-toolbar> + + <div class="main"> + + <template is="dom-repeat" items="[[data]]"> + + <paper-item> + <paper-item-body two-line> + <div>[[item.fileName]]</div> + <div secondary>[[item.modifiedDate]]</div> + </paper-item-body> + <iron-icon icon="info"></iron-icon> + </paper-item> + + </template> + + </div> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'list-view', + + behaviors: [ + Polymer.NeonAnimatableBehavior + ], + + listeners: { + 'click': '_onClick' + }, + + properties: { + + data: { + type: Array, + value: function() { + return []; + } + }, + + animationConfig: { + type: Object + } + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + this.animationConfig = { + 'entry': [{ + name: 'fade-in-animation', + node: this.$.button + }], + + 'exit': [{ + name: 'fade-out-animation', + node: this.$.button + }, { + name: 'hero-animation', + id: 'hero', + fromPage: this + }] + }; + }, + + _onClick: function(event) { + var target = Polymer.dom(event).rootTarget; + + // configure the page animation + this.sharedElements = { + 'hero': target, + }; + + this.fire('item-click', { + item: target, + }); + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/animated-grid.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/animated-grid.html new file mode 100644 index 00000000000..260a4395e72 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/animated-grid.html @@ -0,0 +1,145 @@ +<!-- +@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/iron-flex-layout.html"> +<link rel="import" href="../../neon-shared-element-animatable-behavior.html"> +<link rel="import" href="../../../paper-styles/typography.html"> +<link rel="import" href="../../../paper-styles/color.html"> +<link rel="import" href="../shared-styles.html"> + +<dom-module id="animated-grid"> + <template> + <style include="shared-styles"> + :host { + display: block; + background: #000; + } + + .tile { + display: inline-block; + float: left; + vertical-align: top; + width: calc(100% / 6); + height: calc(100% / 3); + + @apply --paper-font-title; + @apply --layout-vertical; + @apply --layout-center-center; + } + + .tile:nth-of-type(1) { + width: calc(100% / 3); + height: calc(100% / 3 * 2); + } + + .tile:nth-of-type(4) { + width: calc(100% / 3); + } + + .tile:nth-of-type(5) { + width: calc(100% / 3); + height: calc(100% / 3 * 2); + } + + .tile:nth-of-type(8) { + width: calc(100% / 3); + height: calc(100% / 3); + } + + .tile:nth-of-type(9) { + position: absolute; + top: calc(100% / 3 * 2); + left: 0; + width: calc(100% / 6); + height: calc(100% / 3); + } + + .tile:nth-of-type(10) { + position: absolute; + top: calc(100% / 3 * 2); + left: calc(100% / 6);; + width: calc(100% / 6); + height: calc(100% / 3); + } + </style> + + <template is="dom-repeat" items="[[config]]"> + <div class$="[[_computeTileClass(item.color)]]"> + <span>[[item.value]]</span> + </div> + </template> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'animated-grid', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + config: { + type: Array, + value: function() { + return [ + {value: 1, color: 'blue'}, + {value: 2, color: 'red'}, + {value: 3, color: 'blue'}, + {value: 4, color: 'green'}, + {value: 5, color: 'yellow'}, + {value: 6, color: 'blue'}, + {value: 7, color: 'red'}, + {value: 8, color: 'green'}, + {value: 9, color: 'yellow'}, + {value: 10, color: 'red'} + ] + } + }, + + animationConfig: { + type: Object, + value: function() { + return { + 'entry': [{ + name: 'cascaded-animation', + animation: 'transform-animation', + transformFrom: 'translateY(100%)', + transformTo: 'none', + timing: { + delay: 50 + } + }] + } + } + } + + }, + + ready: function() { + this.async(function() { + var nodeList = Polymer.dom(this.root).querySelectorAll('.tile'); + this.animationConfig['entry'][0].nodes = Array.prototype.slice.call(nodeList); + }); + }, + + _computeTileClass: function(color) { + return 'tile ' + color + '-300'; + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/full-page.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/full-page.html new file mode 100644 index 00000000000..d7a789a6067 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/full-page.html @@ -0,0 +1,82 @@ +<!-- +@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/iron-flex-layout.html"> +<link rel="import" href="../../neon-animatable-behavior.html"> +<link rel="import" href="../../neon-animation-runner-behavior.html"> +<link rel="import" href="../../../paper-styles/shadow.html"> +<link rel="import" href="animated-grid.html"> + +<dom-module id="full-page"> + <template> + <style> + :host { + background: black; + visibility: hidden; + @apply --layout-vertical; + } + + .toolbar { + background: #9c27b0; + height: 72px; + z-index: 1; + @apply --shadow-elevation-2dp; + } + + animated-grid { + height: calc(100% - 72px); + @apply --layout-flex; + } + </style> + + <div id="toolbar" class="toolbar"></div> + <animated-grid id="grid"></animated-grid> + + </template> +</dom-module> + +<script> + +Polymer({ + + is: 'full-page', + + behaviors: [ + Polymer.NeonAnimatableBehavior, + Polymer.NeonAnimationRunnerBehavior + ], + + properties: { + + animationConfig: { + type: Object + } + }, + + attached: function() { + this.animationConfig = this.animationConfig || { + 'entry': [{ + name: 'slide-from-top-animation', + node: this.$.toolbar + }, { + animatable: this.$.grid, + type: 'entry' + }] + }; + }, + + show: function() { + this.style.visibility = 'visible'; + this.playAnimation('entry'); + } + +}); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/index.html new file mode 100644 index 00000000000..1e1f1317b52 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/load/index.html @@ -0,0 +1,51 @@ +<!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>neon-animated-pages demo: load</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../../iron-flex-layout/iron-flex-layout.html"> + <link rel="import" href="../../neon-animated-pages.html"> + <link rel="import" href="../../neon-animations.html"> + <link rel="import" href="full-page.html"> + + <custom-style> + <style is="custom-style"> + body { + overflow: hidden; + @apply --layout-fullbleed; + } + full-page { + @apply --layout-fit; + } + </style> + </custom-style> + </head> + <body> + + <full-page></full-page> + + <script> + + window.addEventListener('WebComponentsReady', function() { + document.querySelector('full-page').show(); + }); + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/shared-styles.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/shared-styles.html new file mode 100644 index 00000000000..4e48c8c4065 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/shared-styles.html @@ -0,0 +1,47 @@ +<!-- +@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 +--> + +<dom-module id="shared-styles"> + <template> + <style> + .red-100 { + background: var(--google-red-100); + } + + .yellow-100 { + background: var(--google-yellow-100); + } + + .blue-100 { + background: var(--google-blue-100); + } + + .green-100 { + background: var(--google-green-100); + } + + .red-300 { + background: var(--google-red-300); + } + + .yellow-300 { + background: var(--google-yellow-300); + } + + .blue-300 { + background: var(--google-blue-300); + } + + .green-300 { + background: var(--google-green-300); + } + </style> + </template> +</dom-module> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/circles-page.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/circles-page.html new file mode 100644 index 00000000000..3d7fdddca2f --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/circles-page.html @@ -0,0 +1,115 @@ +<!-- +@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/iron-flex-layout.html"> +<link rel="import" href="../../neon-shared-element-animatable-behavior.html"> + +<dom-module id="circles-page"> + <template> + <style> + :host { + @apply --layout-horizontal; + @apply --layout-center-center; + } + + .circle { + display: inline-block; + box-sizing: border-box; + width: 100px; + height: 100px; + margin: 16px; + border-radius: 50%; + background: var(--color-one); + } + </style> + + <div> + <div class="circle"></div> + <div class="circle"></div> + <div class="circle"></div> + <div class="circle"></div> + </div> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'circles-page', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + animationConfig: { + type: Object + } + }, + + listeners: { + 'click': '_onClick' + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + var circles = Polymer.dom(this.root).querySelectorAll('.circle'); + var circlesArray = Array.prototype.slice.call(circles); + this.animationConfig = { + 'entry': [{ + name: 'cascaded-animation', + animation: 'scale-up-animation', + nodes: circlesArray + }], + + 'exit': [{ + name: 'hero-animation', + id: 'hero', + fromPage: this + }, { + name: 'cascaded-animation', + animation: 'scale-down-animation' + }] + }; + }, + + _onClick: function(event) { + var target = Polymer.dom(event).rootTarget; + + if (target.classList.contains('circle')) { + // configure the page animation + this.sharedElements = { + 'hero': target + }; + + var nodesToScale = []; + var circles = Polymer.dom(this.root).querySelectorAll('.circle'); + + for (var node, index = 0; node = circles[index]; index++) { + if (node !== event.target) { + nodesToScale.push(node); + } + } + + this.animationConfig['exit'][1].nodes = nodesToScale; + this.fire('circle-click'); + } + } + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/index.html new file mode 100644 index 00000000000..3a46ab08cf4 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/index.html @@ -0,0 +1,80 @@ +<!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>neon-animated-pages demo: tiles</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../../webcomponentsjs/webcomponents-lite.js"></script> + + <link rel="import" href="../../web-animations.html"> + <link rel="import" href="../../../iron-flex-layout/iron-flex-layout.html"> + <link rel="import" href="../../neon-animated-pages.html"> + <link rel="import" href="../../neon-animations.html"> + <link rel="import" href="../../../paper-styles/color.html"> + <link rel="import" href="circles-page.html"> + <link rel="import" href="squares-page.html"> + + <custom-style> + <style is="custom-style"> + body { + overflow: hidden; + @apply --layout-fullbleed; + } + neon-animated-pages { + height: 100%; + } + + :root { + --color-one: var(--paper-cyan-300); + --color-two: var(--paper-orange-500); + } + </style> + </custom-style> + + </head> + <body> + <dom-bind> + <template is="dom-bind"> + + <neon-animated-pages id="pages" selected="0"> + <circles-page on-circle-click="_onCircleClick"></circles-page> + <squares-page on-click="_onSquaresClick"></squares-page> + </neon-animated-pages> + + </template> + </dom-bind> + + <script> + + var scope1 = document.querySelector('template[is="dom-bind"]'); + var scope2 = document.querySelector('dom-bind'); + + var _onCircleClick = function(event) { + this.$.pages.selected = 1; + }; + + var _onSquaresClick = function(event) { + this.$.pages.selected = 0; + }; + + scope1._onCircleClick = _onCircleClick; + scope1._onSquaresClick = _onSquaresClick; + scope2._onCircleClick = _onCircleClick; + scope2._onSquaresClick = _onSquaresClick; + + </script> + + </body> +</html> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/squares-page.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/squares-page.html new file mode 100644 index 00000000000..5382fb1eed3 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/demo/tiles/squares-page.html @@ -0,0 +1,102 @@ +<!-- +@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-animatable-behavior.html"> + +<dom-module id="squares-page"> + <template> + <style> + .header { + height: 40%; + background: var(--color-one); + } + + .body { + text-align: center; + padding: 8px; + } + + .square { + display: inline-block; + width: 150px; + height: 150px; + margin: 8px; + background: var(--color-two); + } + </style> + + <div id="header" class="header"></div> + + <div class="body"> + <div class="square"></div> + <div class="square"></div> + <div class="square"></div> + <div class="square"></div> + </div> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'squares-page', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + sharedElements: { + type: Object + }, + + animationConfig: { + type: Object + } + }, + + attached: function() { + if (this.animationConfig) { + return; + } + + this.sharedElements = { 'hero': this.$.header }; + var squares = Polymer.dom(this.root).querySelectorAll('.square'); + var squaresArray = Array.prototype.slice.call(squares); + this.animationConfig = { + 'entry': [{ + name: 'hero-animation', + id: 'hero', + toPage: this + }, { + name: 'cascaded-animation', + animation: 'transform-animation', + transformFrom: 'translateY(100%)', + nodes: squaresArray + }], + + 'exit': [{ + name: 'slide-up-animation', + node: this.$.header + }, { + name: 'cascaded-animation', + animation: 'transform-animation', + transformTo: 'translateY(60vh)', + nodes: squaresArray + }] + }; + } + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/gen-tsd.json b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/gen-tsd.json new file mode 100644 index 00000000000..c2e13678514 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/gen-tsd.json @@ -0,0 +1,5 @@ +{ + "removeReferences": [ + "../web-animations-js/web-animations-next-lite.min.d.ts" + ] +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/guides/neon-animation.md b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/guides/neon-animation.md new file mode 100644 index 00000000000..69727b864ff --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/guides/neon-animation.md @@ -0,0 +1,314 @@ +--- +title: neon-animation +summary: "A short guide to neon-animation and neon-animated-pages" +tags: ['animation','core-animated-pages'] +elements: ['neon-animation','neon-animated-pages'] +updated: 2015-05-26 +--- + +# neon-animation + +`neon-animation` is a suite of elements and behaviors to implement pluggable animated transitions for Polymer Elements using [Web Animations](https://w3c.github.io/web-animations/). + +*Warning: The API may change.* + +* [A basic animatable element](#basic) +* [Animation configuration](#configuration) + * [Animation types](#configuration-types) + * [Configuration properties](#configuration-properties) + * [Using multiple animations](#configuration-multiple) + * [Running animations encapsulated in children nodes](#configuration-encapsulation) +* [Page transitions](#page-transitions) + * [Shared element animations](#shared-element) + * [Declarative page transitions](#declarative-page) +* [Included animations](#animations) +* [Demos](#demos) + +<a name="basic"></a> +## A basic animatable element + +Elements that can be animated should implement the `Polymer.NeonAnimatableBehavior` behavior, or `Polymer.NeonAnimationRunnerBehavior` if they're also responsible for running an animation. + +```js +Polymer({ + is: 'my-animatable', + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + properties: { + animationConfig: { + value: function() { + return { + // provided by neon-animation/animations/scale-down-animation.html + name: 'scale-down-animation', + node: this + } + } + } + }, + listeners: { + // this event is fired when the animation finishes + 'neon-animation-finish': '_onNeonAnimationFinish' + }, + animate: function() { + // run scale-down-animation + this.playAnimation(); + }, + _onNeonAnimationFinish: function() { + console.log('animation done!'); + } +}); +``` + +[Live demo](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/doc/basic.html) + +<a name="configuration"></a> +## Animation configuration + +<a name="configuration-types"></a> +### Animation types + +An element might run different animations, for example it might do something different when it enters the view and when it exits from view. You can set the `animationConfig` property to a map from an animation type to configuration. + +```js +Polymer({ + is: 'my-dialog', + behaviors: [ + Polymer.NeonAnimationRunnerBehavior + ], + properties: { + opened: { + type: Boolean + }, + animationConfig: { + value: function() { + return { + 'entry': { + // provided by neon-animation/animations/scale-up-animation.html + name: 'scale-up-animation', + node: this + }, + 'exit': { + // provided by neon-animation-animations/fade-out-animation.html + name: 'fade-out-animation', + node: this + } + } + } + } + }, + listeners: { + 'neon-animation-finish': '_onNeonAnimationFinish' + }, + show: function() { + this.opened = true; + this.style.display = 'inline-block'; + // run scale-up-animation + this.playAnimation('entry'); + }, + hide: function() { + this.opened = false; + // run fade-out-animation + this.playAnimation('exit'); + }, + _onNeonAnimationFinish: function() { + if (!this.opened) { + this.style.display = 'none'; + } + } +}); +``` + +[Live demo](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/doc/types.html) + +You can also use the convenience properties `entryAnimation` and `exitAnimation` to set `entry` and `exit` animations: + +```js +properties: { + entryAnimation: { + value: 'scale-up-animation' + }, + exitAnimation: { + value: 'fade-out-animation' + } +} +``` + +<a name="configuration-properties"></a> +### Configuration properties + +You can pass additional parameters to configure an animation in the animation configuration object. +All animations should accept the following properties: + + * `name`: The name of an animation, ie. an element implementing `Polymer.NeonAnimationBehavior`. + * `node`: The target node to apply the animation to. Defaults to `this`. + * `timing`: Timing properties to use in this animation. They match the [Web Animations Animation Effect Timing interface](https://w3c.github.io/web-animations/#the-animationeffecttiming-interface). The + properties include the following: + * `duration`: The duration of the animation in milliseconds. + * `delay`: The delay before the start of the animation in milliseconds. + * `easing`: A timing function for the animation. Matches the CSS timing function values. + +Animations may define additional configuration properties and they are listed in their documentation. + +<a name="configuration-multiple"></a> +### Using multiple animations + +Set the animation configuration to an array to combine animations, like this: + +```js +animationConfig: { + value: function() { + return { + // fade-in-animation is run with a 50ms delay from slide-down-animation + 'entry': [{ + name: 'slide-down-animation', + node: this + }, { + name: 'fade-in-animation', + node: this, + timing: {delay: 50} + }] + } + } +} +``` + +<a name="configuration-encapsulation"></a> +### Running animations encapsulated in children nodes + +You can include animations in the configuration that are encapsulated in a child element that implement `Polymer.NeonAnimatableBehavior` with the `animatable` property. + +```js +animationConfig: { + value: function() { + return { + // run fade-in-animation on this, and the entry animation on this.$.myAnimatable + 'entry': [ + {name: 'fade-in-animation', node: this}, + {animatable: this.$.myAnimatable, type: 'entry'} + ] + } + } +} +``` + +<a name="page-transitions"></a> +## Page transitions + +*The artist formerly known as `<core-animated-pages>`* + +The `neon-animated-pages` element manages a set of pages to switch between, and runs animations between the page transitions. It implements the `Polymer.IronSelectableBehavior` behavior. Each child node should implement `Polymer.NeonAnimatableBehavior` and define the `entry` and `exit` animations. During a page transition, the `entry` animation is run on the new page and the `exit` animation is run on the old page. + +<a name="shared-element"></a> +### Shared element animations + +Shared element animations work on multiple nodes. For example, a "hero" animation is used during a page transition to make two elements from separate pages appear to animate as a single element. Shared element animation configurations have an `id` property that identify they belong in the same animation. Elements containing shared elements also have a `sharedElements` property defines a map from `id` to element, the element involved with the animation. + +In the incoming page: + +```js +properties: { + animationConfig: { + value: function() { + return { + // the incoming page defines the 'entry' animation + 'entry': { + name: 'hero-animation', + id: 'hero', + toPage: this + } + } + } + }, + sharedElements: { + value: function() { + return { + 'hero': this.$.hero + } + } + } +} +``` + +In the outgoing page: + +```js +properties: { + animationConfig: { + value: function() { + return { + // the outgoing page defines the 'exit' animation + 'exit': { + name: 'hero-animation', + id: 'hero', + fromPage: this + } + } + } + }, + sharedElements: { + value: function() { + return { + 'hero': this.$.otherHero + } + } + } +} +``` + +<a name="declarative-page"></a> +### Declarative page transitions + +For convenience, if you define the `entry-animation` and `exit-animation` attributes on `<neon-animated-pages>`, those animations will apply for all page transitions. + +For example: + +```js +<neon-animated-pages id="pages" class="flex" selected="[[selected]]" entry-animation="slide-from-right-animation" exit-animation="slide-left-animation"> + <neon-animatable>1</neon-animatable> + <neon-animatable>2</neon-animatable> + <neon-animatable>3</neon-animatable> + <neon-animatable>4</neon-animatable> + <neon-animatable>5</neon-animatable> +</neon-animated-pages> +``` + +The new page will slide in from the right, and the old page slide away to the left. + +<a name="animations"></a> +## Included animations + +Single element animations: + + * `fade-in-animation` Animates opacity from `0` to `1`; + * `fade-out-animation` Animates opacity from `1` to `0`; + * `scale-down-animation` Animates transform from `scale(1)` to `scale(0)`; + * `scale-up-animation` Animates transform from `scale(0)` to `scale(1)`; + * `slide-down-animation` Animates transform from `none` to `translateY(100%)`; + * `slide-up-animation` Animates transform from `none` to `translateY(-100%)`; + * `slide-from-top-animation` Animates transform from `translateY(-100%)` to `none`; + * `slide-from-bottom-animation` Animates transform from `translateY(100%)` to `none`; + * `slide-left-animation` Animates transform from `none` to `translateX(-100%)`; + * `slide-right-animation` Animates transform from `none` to `translateX(100%)`; + * `slide-from-left-animation` Animates transform from `translateX(-100%)` to `none`; + * `slide-from-right-animation` Animates transform from `translateX(100%)` to `none`; + * `transform-animation` Animates a custom transform. + +Note that there is a restriction that only one transform animation can be applied on the same element at a time. Use the custom `transform-animation` to combine transform properties. + +Shared element animations + + * `hero-animation` Animates an element such that it looks like it scales and transforms from another element. + * `ripple-animation` Animates an element to full screen such that it looks like it ripples from another element. + +Group animations + * `cascaded-animation` Applys an animation to an array of elements with a delay between each. + +<a name="demos"></a> +## Demos + + * [Grid to full screen](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/grid/index.html) + * [Animation on load](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/load/index.html) + * [List item to detail](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/list/index.html) (For narrow width) + * [Dots to squares](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/tiles/index.html) + * [Declarative](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/declarative/index.html) diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/index.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/index.html new file mode 100644 index 00000000000..6f5feedf455 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/index.html @@ -0,0 +1,30 @@ +<!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>neon-animation</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/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable-behavior.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable-behavior.d.ts new file mode 100644 index 00000000000..c59411a0588 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable-behavior.d.ts @@ -0,0 +1,53 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animatable-behavior.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> + +declare namespace Polymer { + + /** + * `Polymer.NeonAnimatableBehavior` is implemented by elements containing animations for use with + * elements implementing `Polymer.NeonAnimationRunnerBehavior`. + */ + interface NeonAnimatableBehavior { + + /** + * Animation configuration. See README for more info. + */ + animationConfig: object|null|undefined; + + /** + * Convenience property for setting an 'entry' animation. Do not set `animationConfig.entry` + * manually if using this. The animated node is set to `this` if using this property. + */ + entryAnimation: string|null|undefined; + + /** + * Convenience property for setting an 'exit' animation. Do not set `animationConfig.exit` + * manually if using this. The animated node is set to `this` if using this property. + */ + exitAnimation: string|null|undefined; + _entryAnimationChanged(): void; + _exitAnimationChanged(): void; + _copyProperties(config1: any, config2: any): void; + _cloneConfig(config: any): any; + _getAnimationConfigRecursive(type: any, map: any, allConfigs: any): void; + + /** + * An element implementing `Polymer.NeonAnimationRunnerBehavior` calls this method to configure + * an animation with an optional type. Elements implementing `Polymer.NeonAnimatableBehavior` + * should define the property `animationConfig`, which is either a configuration object + * or a map of animation type to array of configuration objects. + */ + getAnimationConfig(type: any): any; + } + + const NeonAnimatableBehavior: object; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable-behavior.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable-behavior.html new file mode 100644 index 00000000000..f07d9c3e1f3 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable-behavior.html @@ -0,0 +1,150 @@ +<!-- +@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> + + /** + * `Polymer.NeonAnimatableBehavior` is implemented by elements containing animations for use with + * elements implementing `Polymer.NeonAnimationRunnerBehavior`. + * @polymerBehavior + */ + Polymer.NeonAnimatableBehavior = { + + properties: { + + /** + * Animation configuration. See README for more info. + */ + animationConfig: { + type: Object + }, + + /** + * Convenience property for setting an 'entry' animation. Do not set `animationConfig.entry` + * manually if using this. The animated node is set to `this` if using this property. + */ + entryAnimation: { + observer: '_entryAnimationChanged', + type: String + }, + + /** + * Convenience property for setting an 'exit' animation. Do not set `animationConfig.exit` + * manually if using this. The animated node is set to `this` if using this property. + */ + exitAnimation: { + observer: '_exitAnimationChanged', + type: String + } + + }, + + _entryAnimationChanged: function() { + this.animationConfig = this.animationConfig || {}; + this.animationConfig['entry'] = [{ + name: this.entryAnimation, + node: this + }]; + }, + + _exitAnimationChanged: function() { + this.animationConfig = this.animationConfig || {}; + this.animationConfig['exit'] = [{ + name: this.exitAnimation, + node: this + }]; + }, + + _copyProperties: function(config1, config2) { + // shallowly copy properties from config2 to config1 + for (var property in config2) { + config1[property] = config2[property]; + } + }, + + _cloneConfig: function(config) { + var clone = { + isClone: true + }; + this._copyProperties(clone, config); + return clone; + }, + + _getAnimationConfigRecursive: function(type, map, allConfigs) { + if (!this.animationConfig) { + return; + } + + if(this.animationConfig.value && typeof this.animationConfig.value === 'function') { + this._warn(this._logf('playAnimation', "Please put 'animationConfig' inside of your components 'properties' object instead of outside of it.")); + return; + } + + // type is optional + var thisConfig; + if (type) { + thisConfig = this.animationConfig[type]; + } else { + thisConfig = this.animationConfig; + } + + if (!Array.isArray(thisConfig)) { + thisConfig = [thisConfig]; + } + + // iterate animations and recurse to process configurations from child nodes + if (thisConfig) { + for (var config, index = 0; config = thisConfig[index]; index++) { + if (config.animatable) { + config.animatable._getAnimationConfigRecursive(config.type || type, map, allConfigs); + } else { + if (config.id) { + var cachedConfig = map[config.id]; + if (cachedConfig) { + // merge configurations with the same id, making a clone lazily + if (!cachedConfig.isClone) { + map[config.id] = this._cloneConfig(cachedConfig); + cachedConfig = map[config.id]; + } + this._copyProperties(cachedConfig, config); + } else { + // put any configs with an id into a map + map[config.id] = config; + } + } else { + allConfigs.push(config); + } + } + } + } + }, + + /** + * An element implementing `Polymer.NeonAnimationRunnerBehavior` calls this method to configure + * an animation with an optional type. Elements implementing `Polymer.NeonAnimatableBehavior` + * should define the property `animationConfig`, which is either a configuration object + * or a map of animation type to array of configuration objects. + */ + getAnimationConfig: function(type) { + var map = {}; + var allConfigs = []; + this._getAnimationConfigRecursive(type, map, allConfigs); + // append the configurations saved in the map to the array + for (var key in map) { + allConfigs.push(map[key]); + } + return allConfigs; + } + + }; + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable.d.ts new file mode 100644 index 00000000000..2cc07034719 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable.d.ts @@ -0,0 +1,32 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animatable.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> +/// <reference path="../iron-resizable-behavior/iron-resizable-behavior.d.ts" /> +/// <reference path="neon-animatable-behavior.d.ts" /> + +/** + * `<neon-animatable>` is a simple container element implementing `Polymer.NeonAnimatableBehavior`. This is a convenience element for use with `<neon-animated-pages>`. + * + * ``` + * <neon-animated-pages selected="0" + * entry-animation="slide-from-right-animation" + * exit-animation="slide-left-animation"> + * <neon-animatable>1</neon-animatable> + * <neon-animatable>2</neon-animatable> + * </neon-animated-pages> + * ``` + */ +interface NeonAnimatableElement extends Polymer.Element, Polymer.NeonAnimatableBehavior, Polymer.IronResizableBehavior { +} + +interface HTMLElementTagNameMap { + "neon-animatable": NeonAnimatableElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable.html new file mode 100644 index 00000000000..26566fc9325 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animatable.html @@ -0,0 +1,54 @@ +<!-- +@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"> +<link rel="import" href="neon-animatable-behavior.html"> + +<!-- +`<neon-animatable>` is a simple container element implementing `Polymer.NeonAnimatableBehavior`. This is a convenience element for use with `<neon-animated-pages>`. + +``` +<neon-animated-pages selected="0" + entry-animation="slide-from-right-animation" + exit-animation="slide-left-animation"> + <neon-animatable>1</neon-animatable> + <neon-animatable>2</neon-animatable> +</neon-animated-pages> +``` +--> + +<dom-module id="neon-animatable"> + <template> + <style> + :host { + display: block; + } + </style> + + <slot></slot> + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'neon-animatable', + + behaviors: [ + Polymer.NeonAnimatableBehavior, + Polymer.IronResizableBehavior + ] + + }); + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animated-pages.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animated-pages.d.ts new file mode 100644 index 00000000000..e164ee90306 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animated-pages.d.ts @@ -0,0 +1,38 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animated-pages.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> +/// <reference path="../iron-resizable-behavior/iron-resizable-behavior.d.ts" /> +/// <reference path="../iron-selector/iron-selectable.d.ts" /> +/// <reference path="neon-animation-runner-behavior.d.ts" /> + +/** + * Material design: [Meaningful transitions](https://www.google.com/design/spec/animation/meaningful-transitions.html) + * + * `neon-animated-pages` manages a set of pages and runs an animation when switching between them. Its + * children pages should implement `Polymer.NeonAnimatableBehavior` and define `entry` and `exit` + * animations to be run when switching to or switching out of the page. + */ +interface NeonAnimatedPagesElement extends Polymer.Element, Polymer.IronResizableBehavior, Polymer.IronSelectableBehavior, Polymer.NeonAnimationRunnerBehavior { + activateEvent: string|null|undefined; + + /** + * if true, the initial page selection will also be animated according to its animation config. + */ + animateInitialSelection: boolean|null|undefined; + _onIronSelect(event: any): void; + _completeSelectedChanged(oldPage?: object|null, selectedPage?: object|null): void; + _onNeonAnimationFinish(event: any): void; + _notifyPageResize(): void; +} + +interface HTMLElementTagNameMap { + "neon-animated-pages": NeonAnimatedPagesElement; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animated-pages.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animated-pages.html new file mode 100644 index 00000000000..ddb4d707456 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animated-pages.html @@ -0,0 +1,219 @@ +<!-- +@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"> +<link rel="import" href="../iron-selector/iron-selectable.html"> +<link rel="import" href="neon-animation-runner-behavior.html"> + +<!-- +Material design: [Meaningful transitions](https://www.google.com/design/spec/animation/meaningful-transitions.html) + +`neon-animated-pages` manages a set of pages and runs an animation when switching between them. Its +children pages should implement `Polymer.NeonAnimatableBehavior` and define `entry` and `exit` +animations to be run when switching to or switching out of the page. + +@group Neon Elements +@element neon-animated-pages +--> + +<dom-module id="neon-animated-pages"> + <template> + <style> + :host { + display: block; + position: relative; + } + + :host > ::slotted(*) { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + } + + :host > ::slotted(:not(.iron-selected):not(.neon-animating)) + { + display: none !important; + } + + :host > ::slotted(.neon-animating) { + pointer-events: none; + } + </style> + + <slot id="content"></slot> + </template> + +</dom-module> + +<script> +(function() { + + Polymer({ + + is: 'neon-animated-pages', + + behaviors: [ + Polymer.IronResizableBehavior, + Polymer.IronSelectableBehavior, + Polymer.NeonAnimationRunnerBehavior + ], + + properties: { + + activateEvent: { + type: String, + value: '' + }, + + // if true, the initial page selection will also be animated according to its animation config. + animateInitialSelection: { + type: Boolean, + value: false + } + + }, + + listeners: { + 'iron-select': '_onIronSelect', + 'neon-animation-finish': '_onNeonAnimationFinish' + }, + + _onIronSelect: function(event) { + var selectedPage = event.detail.item; + + // Only consider child elements. + if (this.items.indexOf(selectedPage) < 0) { + return; + } + + var oldPage = this._valueToItem(this._prevSelected) || false; + this._prevSelected = this.selected; + + // on initial load and if animateInitialSelection is negated, simply display selectedPage. + if (!oldPage && !this.animateInitialSelection) { + this._completeSelectedChanged(); + return; + } + + this.animationConfig = []; + + // configure selectedPage animations. + if (this.entryAnimation) { + this.animationConfig.push({ + name: this.entryAnimation, + node: selectedPage + }); + } else { + if (selectedPage.getAnimationConfig) { + this.animationConfig.push({ + animatable: selectedPage, + type: 'entry' + }); + } + } + + // configure oldPage animations iff exists. + if (oldPage) { + + // cancel the currently running animation if one is ongoing. + if (oldPage.classList.contains('neon-animating')) { + this._squelchNextFinishEvent = true; + this.cancelAnimation(); + this._completeSelectedChanged(); + this._squelchNextFinishEvent = false; + } + + // configure the animation. + if (this.exitAnimation) { + this.animationConfig.push({ + name: this.exitAnimation, + node: oldPage + }); + } else { + if (oldPage.getAnimationConfig) { + this.animationConfig.push({ + animatable: oldPage, + type: 'exit' + }); + } + } + + // display the oldPage during the transition. + oldPage.classList.add('neon-animating'); + } + + // display the selectedPage during the transition. + selectedPage.classList.add('neon-animating'); + + // actually run the animations. + if (this.animationConfig.length >= 1) { + + // on first load, ensure we run animations only after element is attached. + if (!this.isAttached) { + this.async(function () { + this.playAnimation(undefined, { + fromPage: null, + toPage: selectedPage + }); + }); + + } else { + this.playAnimation(undefined, { + fromPage: oldPage, + toPage: selectedPage + }); + } + + } else { + this._completeSelectedChanged(oldPage, selectedPage); + } + }, + + /** + * @param {Object=} oldPage + * @param {Object=} selectedPage + */ + _completeSelectedChanged: function(oldPage, selectedPage) { + if (selectedPage) { + selectedPage.classList.remove('neon-animating'); + } + if (oldPage) { + oldPage.classList.remove('neon-animating'); + } + if (!selectedPage || !oldPage) { + var nodes = Polymer.dom(this.$.content).getDistributedNodes(); + for (var node, index = 0; node = nodes[index]; index++) { + node.classList && node.classList.remove('neon-animating'); + } + } + this.async(this._notifyPageResize); + }, + + _onNeonAnimationFinish: function(event) { + if (this._squelchNextFinishEvent) { + this._squelchNextFinishEvent = false; + return; + } + this._completeSelectedChanged(event.detail.fromPage, event.detail.toPage); + }, + + _notifyPageResize: function() { + var selectedPage = this.selectedItem || this._valueToItem(this.selected); + this.resizerShouldNotify = function(element) { + return element == selectedPage; + }; + this.notifyResize(); + } + }) + +})(); +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-behavior.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-behavior.d.ts new file mode 100644 index 00000000000..153f3145842 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-behavior.d.ts @@ -0,0 +1,50 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animation-behavior.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> + +declare namespace Polymer { + + /** + * Use `Polymer.NeonAnimationBehavior` to implement an animation. + */ + interface NeonAnimationBehavior { + + /** + * Defines the animation timing. + */ + animationTiming: object|null|undefined; + + /** + * Can be used to determine that elements implement this behavior. + * + */ + isNeonAnimation: boolean; + created(): void; + + /** + * Returns the animation timing by mixing in properties from `config` to the defaults defined + * by the animation. + */ + timingFromConfig(config: any): any; + + /** + * Sets `transform` and `transformOrigin` properties along with the prefixed versions. + */ + setPrefixedProperty(node: any, property: any, value: any): void; + + /** + * Called when the animation finishes. + */ + complete(config: any): void; + } + + const NeonAnimationBehavior: object; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-behavior.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-behavior.html new file mode 100644 index 00000000000..e51727e5d5b --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-behavior.html @@ -0,0 +1,92 @@ +<!-- +@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> + + /** + * Use `Polymer.NeonAnimationBehavior` to implement an animation. + * @polymerBehavior + */ + Polymer.NeonAnimationBehavior = { + + properties: { + + /** + * Defines the animation timing. + */ + animationTiming: { + type: Object, + value: function() { + return { + duration: 500, + easing: 'cubic-bezier(0.4, 0, 0.2, 1)', + fill: 'both' + } + } + } + + }, + + /** + * Can be used to determine that elements implement this behavior. + */ + isNeonAnimation: true, + + /** + * Do any animation configuration here. + */ + // configure: function(config) { + // }, + + created: function() { + if (!document.body.animate) { + console.warn('No web animations detected. This element will not' + + ' function without a web animations polyfill.'); + } + }, + + /** + * Returns the animation timing by mixing in properties from `config` to the defaults defined + * by the animation. + */ + timingFromConfig: function(config) { + if (config.timing) { + for (var property in config.timing) { + this.animationTiming[property] = config.timing[property]; + } + } + return this.animationTiming; + }, + + /** + * Sets `transform` and `transformOrigin` properties along with the prefixed versions. + */ + setPrefixedProperty: function(node, property, value) { + var map = { + 'transform': ['webkitTransform'], + 'transformOrigin': ['mozTransformOrigin', 'webkitTransformOrigin'] + }; + var prefixes = map[property]; + for (var prefix, index = 0; prefix = prefixes[index]; index++) { + node.style[prefix] = value; + } + node.style[property] = value; + }, + + /** + * Called when the animation finishes. + */ + complete: function(config) {} + + }; + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-runner-behavior.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-runner-behavior.d.ts new file mode 100644 index 00000000000..162b649c780 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-runner-behavior.d.ts @@ -0,0 +1,36 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animation-runner-behavior.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> +/// <reference path="neon-animatable-behavior.d.ts" /> + +declare namespace Polymer { + + /** + * `Polymer.NeonAnimationRunnerBehavior` adds a method to run animations. + */ + interface NeonAnimationRunnerBehavior extends Polymer.NeonAnimatableBehavior { + _configureAnimations(configs: any): any; + _shouldComplete(activeEntries: any): any; + _complete(activeEntries: any): void; + + /** + * Plays an animation with an optional `type`. + */ + playAnimation(type?: string, cookie?: object): void; + + /** + * Cancels the currently running animations. + */ + cancelAnimation(): void; + } + + const NeonAnimationRunnerBehavior: object; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-runner-behavior.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-runner-behavior.html new file mode 100644 index 00000000000..425f8b13ad4 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation-runner-behavior.html @@ -0,0 +1,155 @@ +<!-- +@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-animatable-behavior.html"> + +<script> + + /** + * `Polymer.NeonAnimationRunnerBehavior` adds a method to run animations. + * + * @polymerBehavior Polymer.NeonAnimationRunnerBehavior + */ + Polymer.NeonAnimationRunnerBehaviorImpl = { + + _configureAnimations: function(configs) { + var results = []; + var resultsToPlay = []; + + if (configs.length > 0) { + for (var config, index = 0; config = configs[index]; index++) { + var neonAnimation = document.createElement(config.name); + // is this element actually a neon animation? + if (neonAnimation.isNeonAnimation) { + var result = null; + // Closure compiler does not work well with a try / catch here. .configure needs to be + // explicitly defined + if (!neonAnimation.configure) { + /** + * @param {Object} config + * @return {AnimationEffectReadOnly} + */ + neonAnimation.configure = function(config) { + return null; + } + } + + result = neonAnimation.configure(config); + resultsToPlay.push({ result: result, config: config }); + } else { + console.warn(this.is + ':', config.name, 'not found!'); + } + } + } + + for (var i = 0; i < resultsToPlay.length; i++) { + var result = resultsToPlay[i].result; + var config = resultsToPlay[i].config; + // configuration or play could fail if polyfills aren't loaded + try { + // Check if we have an Effect rather than an Animation + if (typeof result.cancel != 'function') { + result = document.timeline.play(result); + } + } catch (e) { + result = null; + console.warn('Couldnt play', '(', config.name, ').', e); + } + + if (result) { + results.push({ + neonAnimation: neonAnimation, + config: config, + animation: result, + }); + } + } + + return results; + }, + + _shouldComplete: function(activeEntries) { + var finished = true; + for (var i = 0; i < activeEntries.length; i++) { + if (activeEntries[i].animation.playState != 'finished') { + finished = false; + break; + } + } + return finished; + }, + + _complete: function(activeEntries) { + for (var i = 0; i < activeEntries.length; i++) { + activeEntries[i].neonAnimation.complete(activeEntries[i].config); + } + for (var i = 0; i < activeEntries.length; i++) { + activeEntries[i].animation.cancel(); + } + }, + + /** + * Plays an animation with an optional `type`. + * @param {string=} type + * @param {!Object=} cookie + */ + playAnimation: function(type, cookie) { + var configs = this.getAnimationConfig(type); + if (!configs) { + return; + } + this._active = this._active || {}; + if (this._active[type]) { + this._complete(this._active[type]); + delete this._active[type]; + } + + var activeEntries = this._configureAnimations(configs); + + if (activeEntries.length == 0) { + this.fire('neon-animation-finish', cookie, {bubbles: false}); + return; + } + + this._active[type] = activeEntries; + + for (var i = 0; i < activeEntries.length; i++) { + activeEntries[i].animation.onfinish = function() { + if (this._shouldComplete(activeEntries)) { + this._complete(activeEntries); + delete this._active[type]; + this.fire('neon-animation-finish', cookie, {bubbles: false}); + } + }.bind(this); + } + }, + + /** + * Cancels the currently running animations. + */ + cancelAnimation: function() { + for (var k in this._active) { + var entries = this._active[k] + + for (var j in entries) { + entries[j].animation.cancel(); + } + } + + this._active = {}; + } + }; + + /** @polymerBehavior Polymer.NeonAnimationRunnerBehavior */ + Polymer.NeonAnimationRunnerBehavior = [ + Polymer.NeonAnimatableBehavior, + Polymer.NeonAnimationRunnerBehaviorImpl + ]; +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation.d.ts new file mode 100644 index 00000000000..7b02b1dac01 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation.d.ts @@ -0,0 +1,19 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animation.html + */ + +/// <reference path="neon-animatable-behavior.d.ts" /> +/// <reference path="neon-animated-pages.d.ts" /> +/// <reference path="neon-animatable.d.ts" /> +/// <reference path="neon-animation-behavior.d.ts" /> +/// <reference path="neon-animation-runner-behavior.d.ts" /> +/// <reference path="neon-animations.d.ts" /> +/// <reference path="neon-shared-element-animatable-behavior.d.ts" /> +/// <reference path="neon-shared-element-animation-behavior.d.ts" /> + diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation.html new file mode 100644 index 00000000000..da645048597 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animation.html @@ -0,0 +1,18 @@ +<!-- +@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="neon-animatable-behavior.html"> +<link rel="import" href="neon-animated-pages.html"> +<link rel="import" href="neon-animatable.html"> +<link rel="import" href="neon-animation-behavior.html"> +<link rel="import" href="neon-animation-runner-behavior.html"> +<link rel="import" href="neon-animations.html"> +<link rel="import" href="neon-shared-element-animatable-behavior.html"> +<link rel="import" href="neon-shared-element-animation-behavior.html"> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animations.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animations.d.ts new file mode 100644 index 00000000000..0bc3ec3c56f --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animations.d.ts @@ -0,0 +1,30 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-animations.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> +/// <reference path="animations/cascaded-animation.d.ts" /> +/// <reference path="animations/fade-in-animation.d.ts" /> +/// <reference path="animations/fade-out-animation.d.ts" /> +/// <reference path="animations/hero-animation.d.ts" /> +/// <reference path="animations/opaque-animation.d.ts" /> +/// <reference path="animations/ripple-animation.d.ts" /> +/// <reference path="animations/reverse-ripple-animation.d.ts" /> +/// <reference path="animations/scale-down-animation.d.ts" /> +/// <reference path="animations/scale-up-animation.d.ts" /> +/// <reference path="animations/slide-from-left-animation.d.ts" /> +/// <reference path="animations/slide-from-right-animation.d.ts" /> +/// <reference path="animations/slide-from-top-animation.d.ts" /> +/// <reference path="animations/slide-from-bottom-animation.d.ts" /> +/// <reference path="animations/slide-left-animation.d.ts" /> +/// <reference path="animations/slide-right-animation.d.ts" /> +/// <reference path="animations/slide-up-animation.d.ts" /> +/// <reference path="animations/slide-down-animation.d.ts" /> +/// <reference path="animations/transform-animation.d.ts" /> + diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animations.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animations.html new file mode 100644 index 00000000000..67c4df4c76a --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-animations.html @@ -0,0 +1,29 @@ +<!-- +@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="animations/cascaded-animation.html"> +<link rel="import" href="animations/fade-in-animation.html"> +<link rel="import" href="animations/fade-out-animation.html"> +<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"> +<link rel="import" href="animations/slide-from-right-animation.html"> +<link rel="import" href="animations/slide-from-top-animation.html"> +<link rel="import" href="animations/slide-from-bottom-animation.html"> +<link rel="import" href="animations/slide-left-animation.html"> +<link rel="import" href="animations/slide-right-animation.html"> +<link rel="import" href="animations/slide-up-animation.html"> +<link rel="import" href="animations/slide-down-animation.html"> +<link rel="import" href="animations/transform-animation.html"> + diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animatable-behavior.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animatable-behavior.d.ts new file mode 100644 index 00000000000..5f9ca6ed391 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animatable-behavior.d.ts @@ -0,0 +1,29 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-shared-element-animatable-behavior.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> +/// <reference path="neon-animatable-behavior.d.ts" /> + +declare namespace Polymer { + + /** + * Use `Polymer.NeonSharedElementAnimatableBehavior` to implement elements containing shared element + * animations. + */ + interface NeonSharedElementAnimatableBehavior extends Polymer.NeonAnimatableBehavior { + + /** + * A map of shared element id to node. + */ + sharedElements: object|null|undefined; + } + + const NeonSharedElementAnimatableBehavior: object; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animatable-behavior.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animatable-behavior.html new file mode 100644 index 00000000000..e63173d368d --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animatable-behavior.html @@ -0,0 +1,43 @@ +<!-- +@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-animatable-behavior.html"> + +<script> + + /** + * Use `Polymer.NeonSharedElementAnimatableBehavior` to implement elements containing shared element + * animations. + * @polymerBehavior Polymer.NeonSharedElementAnimatableBehavior + */ + Polymer.NeonSharedElementAnimatableBehaviorImpl = { + + properties: { + + /** + * A map of shared element id to node. + */ + sharedElements: { + type: Object, + value: {} + } + + } + + }; + + /** @polymerBehavior Polymer.NeonSharedElementAnimatableBehavior */ + Polymer.NeonSharedElementAnimatableBehavior = [ + Polymer.NeonAnimatableBehavior, + Polymer.NeonSharedElementAnimatableBehaviorImpl + ]; + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animation-behavior.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animation-behavior.d.ts new file mode 100644 index 00000000000..607ab8e280b --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animation-behavior.d.ts @@ -0,0 +1,33 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * neon-shared-element-animation-behavior.html + */ + +/// <reference path="../polymer/types/polymer.d.ts" /> +/// <reference path="neon-animation-behavior.d.ts" /> + +declare namespace Polymer { + + /** + * Use `Polymer.NeonSharedElementAnimationBehavior` to implement shared element animations. + */ + interface NeonSharedElementAnimationBehavior extends Polymer.NeonAnimationBehavior { + + /** + * Cached copy of shared elements. + */ + sharedElements: object|null|undefined; + + /** + * Finds shared elements based on `config`. + */ + findSharedElements(config: any): any; + } + + const NeonSharedElementAnimationBehavior: object; +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animation-behavior.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animation-behavior.html new file mode 100644 index 00000000000..d8f2bdd7193 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/neon-shared-element-animation-behavior.html @@ -0,0 +1,72 @@ +<!-- +@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-animation-behavior.html"> + +<script> + + /** + * Use `Polymer.NeonSharedElementAnimationBehavior` to implement shared element animations. + * @polymerBehavior Polymer.NeonSharedElementAnimationBehavior + */ + Polymer.NeonSharedElementAnimationBehaviorImpl = { + + properties: { + + /** + * Cached copy of shared elements. + */ + sharedElements: { + type: Object + } + + }, + + /** + * Finds shared elements based on `config`. + */ + findSharedElements: function(config) { + var fromPage = config.fromPage; + var toPage = config.toPage; + if (!fromPage || !toPage) { + console.warn(this.is + ':', !fromPage ? 'fromPage' : 'toPage', 'is undefined!'); + return null; + }; + + if (!fromPage.sharedElements || !toPage.sharedElements) { + console.warn(this.is + ':', 'sharedElements are undefined for', !fromPage.sharedElements ? fromPage : toPage); + return null; + }; + + var from = fromPage.sharedElements[config.id]; + var to = toPage.sharedElements[config.id]; + + if (!from || !to) { + console.warn(this.is + ':', 'sharedElement with id', config.id, 'not found in', !from ? fromPage : toPage); + return null; + } + + this.sharedElements = { + from: from, + to: to + }; + return this.sharedElements; + } + + }; + + /** @polymerBehavior Polymer.NeonSharedElementAnimationBehavior */ + Polymer.NeonSharedElementAnimationBehavior = [ + Polymer.NeonAnimationBehavior, + Polymer.NeonSharedElementAnimationBehaviorImpl + ]; + +</script> diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/package-lock.json b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/package-lock.json new file mode 100644 index 00000000000..77dd6c5ef50 --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/package-lock.json @@ -0,0 +1,974 @@ +{ + "name": "@polymer/neon-animation", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@polymer/gen-typescript-declarations": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@polymer/gen-typescript-declarations/-/gen-typescript-declarations-1.2.0.tgz", + "integrity": "sha512-a5DFXI3TdZSVOMH4608LVaBLmcr+mwM2+B8OSBiB9WFNCtdqzUXwtB5We6vBzrThXlO4uRo7d2pEqjNXMAlEkA==", + "dev": true, + "requires": { + "@types/doctrine": "0.0.3", + "@types/fs-extra": "5.0.0", + "@types/glob": "5.0.35", + "command-line-args": "5.0.2", + "command-line-usage": "4.1.0", + "doctrine": "2.1.0", + "escodegen": "1.9.0", + "fs-extra": "5.0.0", + "glob": "7.1.2", + "minimatch": "3.0.4", + "polymer-analyzer": "3.0.0-pre.12" + } + }, + "@types/babel-generator": { + "version": "6.25.1", + "resolved": "https://registry.npmjs.org/@types/babel-generator/-/babel-generator-6.25.1.tgz", + "integrity": "sha512-nKNz9Ch4WP2TFZjQROhxqqS2SCk0OoDzGazJI6S+2sGgW9P7N4o3vluZAXFuPEnRqtz2A0vrrkK3tjQktxIlRw==", + "dev": true, + "requires": { + "@types/babel-types": "6.25.2" + } + }, + "@types/babel-traverse": { + "version": "6.25.3", + "resolved": "https://registry.npmjs.org/@types/babel-traverse/-/babel-traverse-6.25.3.tgz", + "integrity": "sha512-4FaulWyA7nrXPkzoukL2VmSpxCnBZwc+MgwZqO30gtHCrtaUXnoxymdYfxzf3CZN80zjtrVzKfLlZ7FPYvrhQQ==", + "dev": true, + "requires": { + "@types/babel-types": "6.25.2" + } + }, + "@types/babel-types": { + "version": "6.25.2", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-6.25.2.tgz", + "integrity": "sha512-+3bMuktcY4a70a0KZc8aPJlEOArPuAKQYHU5ErjkOqGJdx8xuEEVK6nWogqigBOJ8nKPxRpyCUDTCPmZ3bUxGA==", + "dev": true + }, + "@types/babylon": { + "version": "6.16.2", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.2.tgz", + "integrity": "sha512-+Jty46mPaWe1VAyZbfvgJM4BAdklLWxrT5tc/RjvCgLrtk6gzRY6AOnoWFv4p6hVxhJshDdr2hGVn56alBp97Q==", + "dev": true, + "requires": { + "@types/babel-types": "6.25.2" + } + }, + "@types/chai": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.2.tgz", + "integrity": "sha512-D8uQwKYUw2KESkorZ27ykzXgvkDJYXVEihGklgfp5I4HUP8D6IxtcdLTMB1emjQiWzV7WZ5ihm1cxIzVwjoleQ==", + "dev": true + }, + "@types/chai-subset": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.1.tgz", + "integrity": "sha512-Aof+FLfWzBPzDgJ2uuBuPNOBHVx9Siyw4vmOcsMgsuxX1nfUWSlzpq4pdvQiaBgGjGS7vP/Oft5dpJbX4krT1A==", + "dev": true, + "requires": { + "@types/chai": "4.1.2" + } + }, + "@types/chalk": { + "version": "0.4.31", + "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-0.4.31.tgz", + "integrity": "sha1-ox10JBprHtu5c8822XooloNKUfk=", + "dev": true + }, + "@types/clone": { + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@types/clone/-/clone-0.1.30.tgz", + "integrity": "sha1-5zZWSMG0ITalnH1QQGN7O1yDthQ=", + "dev": true + }, + "@types/cssbeautify": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@types/cssbeautify/-/cssbeautify-0.3.1.tgz", + "integrity": "sha1-jgvuj33suVIlDaDK6+BeMFkcF+8=", + "dev": true + }, + "@types/doctrine": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", + "integrity": "sha1-6JLSk8ksnB0/mvcsFaVU+8fgiVo=", + "dev": true + }, + "@types/events": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-1.1.0.tgz", + "integrity": "sha512-y3bR98mzYOo0pAZuiLari+cQyiKk3UXRuT45h1RjhfeCzqkjaVsfZJNaxdgtk7/3tzOm1ozLTqEqMP3VbI48jw==", + "dev": true + }, + "@types/fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-qtxDULQKUenuaDLW003CgC+0T0eiAfH3BrH+vSt87GLzbz5EZ6Ox6mv9rMttvhDOatbb9nYh0E1m7ydoYwUrAg==", + "dev": true, + "requires": { + "@types/node": "9.4.6" + } + }, + "@types/glob": { + "version": "5.0.35", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.35.tgz", + "integrity": "sha512-wc+VveszMLyMWFvXLkloixT4n0harUIVZjnpzztaZ0nKLuul7Z32iMt2fUFGAaZ4y1XWjFRMtCI5ewvyh4aIeg==", + "dev": true, + "requires": { + "@types/events": "1.1.0", + "@types/minimatch": "3.0.3", + "@types/node": "9.4.6" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "9.4.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz", + "integrity": "sha512-CTUtLb6WqCCgp6P59QintjHWqzf4VL1uPA27bipLAPxFqrtK1gEYllePzTICGqQ8rYsCbpnsNypXjjDzGAAjEQ==", + "dev": true + }, + "@types/parse5": { + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-2.2.34.tgz", + "integrity": "sha1-44cKEOgnNacg9i1x3NGDunjvOp0=", + "dev": true, + "requires": { + "@types/node": "9.4.6" + } + }, + "@types/winston": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/winston/-/winston-2.3.8.tgz", + "integrity": "sha512-QqR0j08RCS1AQYPMRPHikEpcmK+2aEEbcSzWLwOqyJ4FhLmHUx/WjRrnn7tTQg/y4IKnMhzskh/o7qvGIZZ7iA==", + "dev": true, + "requires": { + "@types/node": "9.4.6" + } + }, + "ansi-escape-sequences": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz", + "integrity": "sha512-v+0wW9Wezwsyb0uF4aBVCjmSqit3Ru7PZFziGF0o2KwTvN2zWfTi3BRLq9EkJFdg3eBbyERXGTntVpBxH1J68Q==", + "dev": true, + "requires": { + "array-back": "2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argv-tools": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/argv-tools/-/argv-tools-0.1.1.tgz", + "integrity": "sha512-Cc0dBvx4dvrjjKpyDA6w8RlNAw8Su30NvZbWl/Tv9ZALEVlLVkWQiHMi84Q0xNfpVuSaiQbYkdmWK8g1PLGhKw==", + "dev": true, + "requires": { + "array-back": "2.0.0", + "find-replace": "2.0.1" + } + }, + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "requires": { + "typical": "2.6.1" + } + }, + "async": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.5" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bower": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.2.tgz", + "integrity": "sha1-rfU1KcjUrwLvJPuNU0HBQZ0z4vc=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + }, + "command-line-args": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.0.2.tgz", + "integrity": "sha512-/qPcbL8zpqg53x4rAaqMFlRV4opN3pbla7I7k9x8kyOBMQoGT6WltjN6sXZuxOXw6DgdK7Ad+ijYS5gjcr7vlA==", + "dev": true, + "requires": { + "argv-tools": "0.1.1", + "array-back": "2.0.0", + "find-replace": "2.0.1", + "lodash.camelcase": "4.3.0", + "typical": "2.6.1" + } + }, + "command-line-usage": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", + "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", + "dev": true, + "requires": { + "ansi-escape-sequences": "4.0.0", + "array-back": "2.0.0", + "table-layout": "0.4.2", + "typical": "2.6.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true + }, + "cssbeautify": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cssbeautify/-/cssbeautify-0.3.1.tgz", + "integrity": "sha1-Et0fc0A1wub6ymfcvc73TkKBE5c=", + "dev": true + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.0.tgz", + "integrity": "sha1-bvSgmwX5iw41jW2T1Mo8rsZnKAM=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "dom5": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom5/-/dom5-3.0.0.tgz", + "integrity": "sha512-PbE+7C4Sh1dHDTLNuSDaMUGD1ivDiSZw0L+a9xVUzUKeQ8w3vdzfKHRA07CxcrFZZOa1SGl2nIJ9T49j63q+bg==", + "dev": true, + "requires": { + "@types/parse5": "2.2.34", + "clone": "2.1.1", + "parse5": "4.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "find-replace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-2.0.1.tgz", + "integrity": "sha512-LzDo3Fpa30FLIBsh6DCDnMN1KW2g4QKkqKmejlImgWY67dDFPX/x9Kh/op/GK522DchQXEvDi/wD48HKW49XOQ==", + "dev": true, + "requires": { + "array-back": "2.0.0", + "test-value": "3.0.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "indent": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/indent/-/indent-0.0.2.tgz", + "integrity": "sha1-jHnwgBkFWbaHA0uEx676l9WpEdk=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonschema": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.2.tgz", + "integrity": "sha512-iX5OFQ6yx9NgbHCwse51ohhKgLuLL7Z5cNOeZOPIlDUtAMrxlruHLzVZxbltdHE5mEDXN+75oFOwq6Gn0MZwsA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimatch-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/minimatch-all/-/minimatch-all-1.1.0.tgz", + "integrity": "sha1-QMSWonouEo0Zv3WOdrsBoMcUV4c=", + "dev": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "plylog": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/plylog/-/plylog-0.5.0.tgz", + "integrity": "sha1-yXbrodgNLdmRAF18EQ2vh0FUeI8=", + "dev": true, + "requires": { + "@types/node": "4.2.23", + "@types/winston": "2.3.8", + "winston": "2.4.0" + }, + "dependencies": { + "@types/node": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-4.2.23.tgz", + "integrity": "sha512-U6IchCNLRyswc9p6G6lxWlbE+KwAhZp6mGo6MD2yWpmFomhYmetK+c98OpKyvphNn04CU3aXeJrXdOqbXVTS/w==", + "dev": true + } + } + }, + "polymer-analyzer": { + "version": "3.0.0-pre.12", + "resolved": "https://registry.npmjs.org/polymer-analyzer/-/polymer-analyzer-3.0.0-pre.12.tgz", + "integrity": "sha512-QQL70IC85hI6q9uQeresEMcT1Qf8YR/zDe1qG8WWeeFAZk8z0lmzUpsfcAWz+bM4wpDdXrtd4HitIs4p0CHl/w==", + "dev": true, + "requires": { + "@types/babel-generator": "6.25.1", + "@types/babel-traverse": "6.25.3", + "@types/babel-types": "6.25.2", + "@types/babylon": "6.16.2", + "@types/chai-subset": "1.3.1", + "@types/chalk": "0.4.31", + "@types/clone": "0.1.30", + "@types/cssbeautify": "0.3.1", + "@types/doctrine": "0.0.1", + "@types/minimatch": "3.0.3", + "@types/node": "6.0.101", + "@types/parse5": "2.2.34", + "babel-generator": "6.26.1", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "chalk": "1.1.3", + "clone": "2.1.1", + "cssbeautify": "0.3.1", + "doctrine": "2.1.0", + "dom5": "3.0.0", + "indent": "0.0.2", + "jsonschema": "1.2.2", + "minimatch": "3.0.4", + "parse5": "4.0.0", + "polymer-project-config": "3.8.1", + "shady-css-parser": "0.1.0", + "stable": "0.1.6", + "strip-indent": "2.0.0", + "vscode-uri": "1.0.1" + }, + "dependencies": { + "@types/doctrine": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.1.tgz", + "integrity": "sha1-uZny2fe0PKvgoaLzm8IDvH3K2p0=", + "dev": true + }, + "@types/node": { + "version": "6.0.101", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.101.tgz", + "integrity": "sha512-IQ7V3D6+kK1DArTqTBrnl3M+YgJZLw8ta8w3Q9xjR79HaJzMAoTbZ8TNzUTztrkCKPTqIstE2exdbs1FzsYLUw==", + "dev": true + } + } + }, + "polymer-project-config": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/polymer-project-config/-/polymer-project-config-3.8.1.tgz", + "integrity": "sha512-MLvnM9gexFWg7nynY24eHZG6NLXocmk718sVds/sx2CAJ6iihhC0JMhhOIa6jnad9KQrHyGl/cs3mMRaaub5Fg==", + "dev": true, + "requires": { + "@types/node": "6.0.101", + "jsonschema": "1.2.2", + "minimatch-all": "1.1.0", + "plylog": "0.5.0" + }, + "dependencies": { + "@types/node": { + "version": "6.0.101", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.101.tgz", + "integrity": "sha512-IQ7V3D6+kK1DArTqTBrnl3M+YgJZLw8ta8w3Q9xjR79HaJzMAoTbZ8TNzUTztrkCKPTqIstE2exdbs1FzsYLUw==", + "dev": true + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "shady-css-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.1.0.tgz", + "integrity": "sha512-irfJUUkEuDlNHKZNAp2r7zOyMlmbfVJ+kWSfjlCYYUx/7dJnANLCyTzQZsuxy5NJkvtNwSxY5Gj8MOlqXUQPyA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "stable": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz", + "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=", + "dev": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "table-layout": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.2.tgz", + "integrity": "sha512-tygyl5+eSHj4chpq5Zfy6cpc7MOUBClAW9ozghFH7hg9bAUzShOYn+/vUzTRkKOSLJWKfgYtP2tAU2c0oAD8eg==", + "dev": true, + "requires": { + "array-back": "2.0.0", + "deep-extend": "0.5.0", + "lodash.padend": "4.6.1", + "typical": "2.6.1", + "wordwrapjs": "3.0.0" + } + }, + "test-value": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz", + "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==", + "dev": true, + "requires": { + "array-back": "2.0.0", + "typical": "2.6.1" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", + "dev": true + }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, + "vscode-uri": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.1.tgz", + "integrity": "sha1-Eahr7+rDxKo+wIYjZRo8gabQu8g=", + "dev": true + }, + "winston": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.0.tgz", + "integrity": "sha1-gIBQuT1SZh7Z+2wms/DIJnCLCu4=", + "dev": true, + "requires": { + "async": "1.0.0", + "colors": "1.0.3", + "cycle": "1.0.3", + "eyes": "0.1.8", + "isstream": "0.1.2", + "stack-trace": "0.0.10" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dev": true, + "requires": { + "reduce-flatten": "1.0.1", + "typical": "2.6.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/package.json b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/package.json new file mode 100644 index 00000000000..2dd963b3e8d --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/package.json @@ -0,0 +1,17 @@ +{ + "name": "@polymer/neon-animation", + "private": true, + "description": "A system for animating Polymer-based web components", + "repository": { + "type": "git", + "url": "git://github.com/PolymerElements/neon-animation" + }, + "license": "BSD-3-Clause", + "devDependencies": { + "@polymer/gen-typescript-declarations": "^1.2.0", + "bower": "^1.8.0" + }, + "scripts": { + "update-types": "bower install && gen-typescript-declarations --deleteExisting --outDir ." + } +} diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/web-animations.d.ts b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/web-animations.d.ts new file mode 100644 index 00000000000..c2f6397e0fc --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/web-animations.d.ts @@ -0,0 +1,10 @@ +/** + * DO NOT EDIT + * + * This file was automatically generated by + * https://github.com/Polymer/gen-typescript-declarations + * + * To modify these typings, edit the source file(s): + * web-animations.html + */ + diff --git a/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/web-animations.html b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/web-animations.html new file mode 100644 index 00000000000..c871854017a --- /dev/null +++ b/chromium/third_party/catapult/third_party/polymer2/bower_components/neon-animation/web-animations.html @@ -0,0 +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.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 +--> + +<script src="../web-animations-js/web-animations-next-lite.min.js"></script> |