Showing preview only (2,648K chars total). Download the full file or copy to clipboard to get everything.
Repository: Polymer/polymer
Branch: master
Commit: 26171d338534
Files: 245
Total size: 2.5 MB
Directory structure:
gitextract_axbv8l9c/
├── .eslintrc.json
├── .gitattributes
├── .github/
│ ├── CODEOWNERS
│ ├── ISSUE_TEMPLATE.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── stale.yml
├── .gitignore
├── .travis.yml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── RELEASING.md
├── externs/
│ ├── .gitignore
│ ├── .npmignore
│ ├── polymer-dom-api-externs.js
│ ├── polymer-externs.js
│ ├── polymer-iconset-externs.js
│ ├── polymer-internal-shared-types.js
│ ├── polymer-internal-types.html
│ └── webcomponents-externs.js
├── gulpfile.js
├── index.html
├── interfaces.d.ts
├── lib/
│ ├── elements/
│ │ ├── array-selector.d.ts
│ │ ├── array-selector.js
│ │ ├── custom-style.d.ts
│ │ ├── custom-style.js
│ │ ├── dom-bind.d.ts
│ │ ├── dom-bind.js
│ │ ├── dom-if.d.ts
│ │ ├── dom-if.js
│ │ ├── dom-module.d.ts
│ │ ├── dom-module.js
│ │ ├── dom-repeat.d.ts
│ │ └── dom-repeat.js
│ ├── legacy/
│ │ ├── class.d.ts
│ │ ├── class.js
│ │ ├── legacy-data-mixin.d.ts
│ │ ├── legacy-data-mixin.js
│ │ ├── legacy-element-mixin.d.ts
│ │ ├── legacy-element-mixin.js
│ │ ├── mutable-data-behavior.d.ts
│ │ ├── mutable-data-behavior.js
│ │ ├── polymer-fn.d.ts
│ │ ├── polymer-fn.js
│ │ ├── polymer.dom.d.ts
│ │ ├── polymer.dom.js
│ │ ├── templatizer-behavior.d.ts
│ │ └── templatizer-behavior.js
│ ├── mixins/
│ │ ├── dir-mixin.d.ts
│ │ ├── dir-mixin.js
│ │ ├── disable-upgrade-mixin.d.ts
│ │ ├── disable-upgrade-mixin.js
│ │ ├── element-mixin.d.ts
│ │ ├── element-mixin.js
│ │ ├── gesture-event-listeners.d.ts
│ │ ├── gesture-event-listeners.js
│ │ ├── mutable-data.d.ts
│ │ ├── mutable-data.js
│ │ ├── properties-changed.d.ts
│ │ ├── properties-changed.js
│ │ ├── properties-mixin.d.ts
│ │ ├── properties-mixin.js
│ │ ├── property-accessors.d.ts
│ │ ├── property-accessors.js
│ │ ├── property-effects.d.ts
│ │ ├── property-effects.js
│ │ ├── strict-binding-parser.d.ts
│ │ ├── strict-binding-parser.js
│ │ ├── template-stamp.d.ts
│ │ └── template-stamp.js
│ └── utils/
│ ├── array-splice.d.ts
│ ├── array-splice.js
│ ├── async.d.ts
│ ├── async.js
│ ├── boot.d.ts
│ ├── boot.js
│ ├── case-map.d.ts
│ ├── case-map.js
│ ├── debounce.d.ts
│ ├── debounce.js
│ ├── flattened-nodes-observer.d.ts
│ ├── flattened-nodes-observer.js
│ ├── flush.d.ts
│ ├── flush.js
│ ├── gestures.d.ts
│ ├── gestures.js
│ ├── hide-template-controls.d.ts
│ ├── hide-template-controls.js
│ ├── html-tag.d.ts
│ ├── html-tag.js
│ ├── mixin.d.ts
│ ├── mixin.js
│ ├── path.d.ts
│ ├── path.js
│ ├── render-status.d.ts
│ ├── render-status.js
│ ├── resolve-url.d.ts
│ ├── resolve-url.js
│ ├── scope-subtree.d.ts
│ ├── scope-subtree.js
│ ├── settings.d.ts
│ ├── settings.js
│ ├── style-gather.d.ts
│ ├── style-gather.js
│ ├── telemetry.d.ts
│ ├── telemetry.js
│ ├── templatize.d.ts
│ ├── templatize.js
│ ├── unresolved.d.ts
│ ├── unresolved.js
│ ├── wrap.d.ts
│ └── wrap.js
├── manifest.json
├── package.json
├── polymer-element.d.ts
├── polymer-element.js
├── polymer-legacy.d.ts
├── polymer-legacy.js
├── test/
│ ├── .eslintignore
│ ├── .eslintrc.json
│ ├── perf/
│ │ ├── binding-expressions.html
│ │ └── perf-tests.html
│ ├── runner.html
│ ├── smoke/
│ │ ├── alacarte-property-accessors.html
│ │ ├── alacarte-property-effects-ordering.html
│ │ ├── alacarte-property-effects.html
│ │ ├── alacarte-template-stamp.html
│ │ ├── behavior-mixin.html
│ │ ├── data-table.html
│ │ ├── dirty-check.html
│ │ ├── disable-upgrade.html
│ │ ├── disabled-attr-gestures.html
│ │ ├── dom-if.html
│ │ ├── gestures.html
│ │ ├── html-tag.html
│ │ ├── label-click.html
│ │ ├── ordering-test.html
│ │ ├── passive-gestures.html
│ │ └── style-props/
│ │ ├── src/
│ │ │ ├── elements-defaults.js
│ │ │ ├── elements.js
│ │ │ ├── scopes.js
│ │ │ └── settings.js
│ │ └── test.html
│ └── unit/
│ ├── array-selector-elements.js
│ ├── array-selector.html
│ ├── async.html
│ ├── attributes-elements.js
│ ├── attributes.html
│ ├── behaviors.html
│ ├── case-map.html
│ ├── class-properties.html
│ ├── configure.html
│ ├── css-parse.html
│ ├── custom-style-async-import.html
│ ├── custom-style-async-import.js
│ ├── custom-style-async.html
│ ├── custom-style-import.js
│ ├── custom-style-late.html
│ ├── custom-style-scope-cache.html
│ ├── custom-style.html
│ ├── debounce.html
│ ├── dir.html
│ ├── disable-upgrade.html
│ ├── dom-bind-elements1.js
│ ├── dom-bind-elements2.js
│ ├── dom-bind.html
│ ├── dom-if-elements.js
│ ├── dom-if.html
│ ├── dom-repeat-elements.js
│ ├── dom-repeat.html
│ ├── dynamic-import.html
│ ├── dynamic-imports/
│ │ ├── async-import.html
│ │ ├── async.html
│ │ ├── dynamic-element.js
│ │ ├── inner-element.js
│ │ └── outer-element.html
│ ├── events-elements.js
│ ├── events.html
│ ├── flattened-nodes-observer.html
│ ├── gestures-elements.js
│ ├── gestures.html
│ ├── globals.html
│ ├── html-tag.html
│ ├── importHref.html
│ ├── inheritance.html
│ ├── legacy-data.html
│ ├── legacy-noattributes.html
│ ├── legacy-undefined.html
│ ├── logging.html
│ ├── mixin-behaviors.html
│ ├── mixin-utils.html
│ ├── multi-style.html
│ ├── path-effects-elements.js
│ ├── path-effects.html
│ ├── path.html
│ ├── polymer-dom-nopatch.html
│ ├── polymer-dom-observeNodes.html
│ ├── polymer-dom.html
│ ├── polymer-element-with-apply-import.js
│ ├── polymer-element-with-apply.html
│ ├── polymer.element.html
│ ├── polymer.legacyelement.html
│ ├── polymer.properties-mixin-with-property-accessors.html
│ ├── polymer.properties-mixin.html
│ ├── properties-changed.html
│ ├── property-accessors.html
│ ├── property-effects-elements.js
│ ├── property-effects-template.html
│ ├── property-effects.html
│ ├── ready-attached-order-class.html
│ ├── ready-attached-order.html
│ ├── render-status.html
│ ├── resolveurl.html
│ ├── shady-content.html
│ ├── shady-dynamic.html
│ ├── shady-events.html
│ ├── shady-unscoped-style-import.js
│ ├── shady-unscoped-style.html
│ ├── shady.html
│ ├── strict-template-policy.html
│ ├── styling-build-adopted-stylesheets.html
│ ├── styling-cross-scope-apply.html
│ ├── styling-cross-scope-unknown-host.html
│ ├── styling-cross-scope-var.html
│ ├── styling-import-host2.css
│ ├── styling-import-shared-styles.js
│ ├── styling-only-with-template.html
│ ├── styling-scoped-nopatch.html
│ ├── styling-scoped.html
│ ├── sub/
│ │ ├── resolveurl-elements.js
│ │ ├── style-import.js
│ │ ├── x-sub.html
│ │ └── x-test.html
│ ├── template-stamp.html
│ ├── template-whitespace.html
│ ├── templatize-elements.js
│ ├── templatize.html
│ └── wct-browser-config.js
├── util/
│ ├── .eslintrc.json
│ ├── gen-changelog.sh
│ ├── minimalDocument.js
│ └── travis-sauce-test.sh
└── wct.conf.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .eslintrc.json
================================================
{
"extends": "eslint:recommended",
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"rules": {
"no-console": "off",
"no-var": "error",
"semi": "error",
"strict": "error",
"valid-jsdoc": ["error", {
"requireReturn": false,
"prefer": {
"arg": "param",
"argument": "param",
"returns": "return"
},
"preferType": {
"Boolean": "boolean",
"Number": "number",
"String": "string",
"object": "Object",
"array": "Array"
}
}],
"no-useless-escape": "off"
},
"env": {
"browser": true,
"es6": true
},
"plugins": [
"html"
],
"globals": {
"customElements": true,
"HTMLImports": true,
"Polymer": true,
"ShadyDOM": true,
"ShadyCSS": true,
"JSCompiler_renameProperty": true,
"trustedTypes": true
}
}
================================================
FILE: .gitattributes
================================================
* text=auto
================================================
FILE: .github/CODEOWNERS
================================================
# Code owners for Polymer
* @sorvell @kevinpschaaf @azakus
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
<!--
If you are asking a question rather than filing a bug, try one of these instead:
- StackOverflow (https://stackoverflow.com/questions/tagged/polymer)
- Polymer Slack Channel (https://bit.ly/polymerslack)
- Mailing List (https://groups.google.com/forum/#!forum/polymer-dev)
-->
<!-- Instructions For Filing a Bug: https://github.com/Polymer/polymer/blob/master/CONTRIBUTING.md#filing-bugs -->
### Description
<!-- Example: Error thrown when calling `appendChild` on Polymer element -->
#### Live Demo
<!-- jsBin starting point (fork and edit) -->
https://jsbin.com/luhaxab/edit
<!-- glitch.me starting point (remix and edit -- must be logged in to persist!) -->
https://glitch.com/edit/#!/polymer-repro?path=my-element.html:2:0
<!-- ...or provide your own repro URL -->
#### Steps to Reproduce
<!--
Example:
1. Create `my-element`
2. Append `my-element` to document.body
3. Create `div`.
4. Append `div` to `my-element`
-->
#### Expected Results
<!-- Example: No error is throw -->
#### Actual Results
<!-- Example: Error is thrown -->
### Browsers Affected
<!-- Check all that apply -->
- [ ] Chrome
- [ ] Firefox
- [ ] Edge
- [ ] Safari 11
- [ ] Safari 10
- [ ] IE 11
### Versions
<!--
`Polymer.version` will show the version for Polymer
`bower ls` or `npm ls` will show the version of webcomponents.js or webcomponents-lite.js
-->
- Polymer: vX.X.X
- webcomponents: vX.X.X
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!-- Instructions: https://github.com/Polymer/polymer/blob/master/CONTRIBUTING.md#contributing-pull-requests -->
### Reference Issue
<!-- Example: Fixes #1234 -->
================================================
FILE: .github/stale.yml
================================================
# Mark issues stale after 1 year
daysUntilStale: 365
# Delete stale issues after 2 years
daysUntilClose: 730
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
closeComment: >
This issue has been automatically closed after being marked stale. If you're
still facing this problem with the above solution, please comment and we'll
reopen!
================================================
FILE: .gitignore
================================================
# dependencies
bower_components
node_modules
# compiled output
dist
# IDEs
.idea
.vscode
# misc
.DS_Store
npm-debug.log
# Analyzer output used in the docs
analysis.json
# NPM artifact
polymer-polymer-*.tgz
================================================
FILE: .travis.yml
================================================
language: node_js
sudo: false
dist: xenial
node_js: '10'
services:
- xvfb
addons:
firefox: latest
chrome: stable
cache:
directories:
- node_modules
before_script:
- npm install -g gulp-cli@1
- gulp lint-eslint
script:
- node ./node_modules/.bin/polymer test --npm --module-resolution=node -l chrome
- node ./node_modules/.bin/polymer test --npm --module-resolution=node -l firefox
- if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then travis_wait 30 ./util/travis-sauce-test.sh; fi
env:
global:
- secure: bfF/o1ewpOxDNqTzWfvlwgRgGfP8OXhSQLLdEwZ6izO9tckMJuSNghk3qBXCEQJwTcUEyXP6EqfzIrRAvDXPa0H3OoinbrooDyV2wIDaVRK++WR2iZIqzqo3hGOdzm4tdrGJZe5av5Rk661Hls8aPfLbjdzcGuYXi8B4wZq2xMI=
- secure: jBrKtQBdoL2dsXi9BQpw5tMkYZOsQAy2iSB+0xPOxhPI8EbXKnm8OhWQDEJ5TdduLWUxLLc12IJwjBy9ocLlC1ZvzgOXNfqOUkLD03qSPnyT/LomTXeP4XuojUAemc/w1MHd61nFz4YJaO8cQ+yfy6GOX2susabW+Y80mnIeGJk=
================================================
FILE: CHANGELOG.md
================================================
# Change Log
## [v3.5.2] (2024-10-07)
- FlattenedNodesObserver.getFlattenedNodes was accidentally quadratic if given a non-slot node. Found by @mvanbem-goog.
## [v3.5.1](https://github.com/Polymer/polymer/tree/v3.5.1) (2022-06-03)
- [ci skip] bump to 3.5.1 ([commit](https://github.com/Polymer/polymer/commit/2cbb3d2b))
- `_valueToNodeAttribute` converts the empty string to `trustedTypes.emptyScript` before setting, if available. ([commit](https://github.com/Polymer/polymer/commit/d69041cc))
- Adds Trusted Types support for reflected boolean properties. ([commit](https://github.com/Polymer/polymer/commit/ce474db9))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/76e77b6d))
## [v3.5.0](https://github.com/Polymer/polymer/tree/v3.5.0) (2022-05-18)
- [ci skip] bump to 3.5.0 ([commit](https://github.com/Polymer/polymer/commit/a800a1a9))
- Add `CHANGELOG.md` to the packaged files. ([commit](https://github.com/Polymer/polymer/commit/6696976e))
- Upstream http://cl/374717449 ([commit](https://github.com/Polymer/polymer/commit/adc6d517))
- Upstream http://cl/362104095 ([commit](https://github.com/Polymer/polymer/commit/96897876))
- Upstream http://cl/368587394 ([commit](https://github.com/Polymer/polymer/commit/4036db44))
- Upstream http://cl/330613283 ([commit](https://github.com/Polymer/polymer/commit/178dfa5e))
- Upstream http://cl/397536696 ([commit](https://github.com/Polymer/polymer/commit/2445554f))
- Upstream http://cl/374930792 ([commit](https://github.com/Polymer/polymer/commit/4a85c7f9))
- Upstream http://cl/438642754 ([commit](https://github.com/Polymer/polymer/commit/8582dd64))
- Upstream http://cl/387624221 ([commit](https://github.com/Polymer/polymer/commit/067dd302))
- Upstream http://cl/420889188 ([commit](https://github.com/Polymer/polymer/commit/d0d39b8d))
- Upstream http://cl/416087593 ([commit](https://github.com/Polymer/polymer/commit/ec36597f))
- Fix typo in dom-repeat.js ([commit](https://github.com/Polymer/polymer/commit/7b37193e))
- Update polymer -> lit link to point at new lit repo instead of old lit-element repo ([commit](https://github.com/Polymer/polymer/commit/4586fed6))
- Add support for TrustedTypes (#5692) ([commit](https://github.com/Polymer/polymer/commit/10220c9a))
- Fix typo in disable-upgrade-mixin.js ([commit](https://github.com/Polymer/polymer/commit/5c06ae9b))
- Fix `Polymer.dom(el).attachShadow/shadowRoot` ([commit](https://github.com/Polymer/polymer/commit/2b0494a9))
- Fix typo in dom-module.js ([commit](https://github.com/Polymer/polymer/commit/69eb8a7a))
- Fix SyntaxError ([commit](https://github.com/Polymer/polymer/commit/1e9be28d))
- Upstream internal error suppression. ([commit](https://github.com/Polymer/polymer/commit/2515cd21))
- Updated Readme ([commit](https://github.com/Polymer/polymer/commit/78602fcc))
- Fix let back to const ([commit](https://github.com/Polymer/polymer/commit/04a4ded8))
- Cancel chunking when disconnected. Fixes #5667 ([commit](https://github.com/Polymer/polymer/commit/32d7d61d))
- Accept function in legacy _template field for template parsing. Fixes #5660 ([commit](https://github.com/Polymer/polymer/commit/22ac86a8))
- Upstream internal type differences. ([commit](https://github.com/Polymer/polymer/commit/9e8df682))
- Remove types from LegacyElementMixin's overridden setAttribute and removeAttribute. ([commit](https://github.com/Polymer/polymer/commit/00b36709))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/6acf6e3c))
## [v3.4.1](https://github.com/Polymer/polymer/tree/v3.4.1) (2020-04-29)
- [ci skip] bump to 3.4.1 ([commit](https://github.com/Polymer/polymer/commit/12fa1b50))
- Add type for DomApiNative's setAttribute method. ([commit](https://github.com/Polymer/polymer/commit/024ab01e))
- Remove gen-typescript-declarations; manually add LegacyElementMixin's setAttribute type. ([commit](https://github.com/Polymer/polymer/commit/e717f0f0))
- Remove "DO NOT EDIT" warning comments. ([commit](https://github.com/Polymer/polymer/commit/8b2ea7bc))
- Track TypeScript declarations. ([commit](https://github.com/Polymer/polymer/commit/ec7b7c55))
- Update Closure types for overridden setAttribute in LegacyElementMixin. ([commit](https://github.com/Polymer/polymer/commit/604856b2))
- Add method / parameter descriptions. ([commit](https://github.com/Polymer/polymer/commit/370ae5eb))
- Fix TypeScript breakages by specifying types for overridden `setAttribute` and `getAttribute`. ([commit](https://github.com/Polymer/polymer/commit/c8715b50))
- Add complete commit list for v3.4.0 ([commit](https://github.com/Polymer/polymer/commit/e47493b0))
- Fix a couple more compiler warnings ([commit](https://github.com/Polymer/polymer/commit/ad2bca18))
- Typos and other minor changes. ([commit](https://github.com/Polymer/polymer/commit/a55e248d))
- Add a note about a bug fix for <dom-repeat> chunking. ([commit](https://github.com/Polymer/polymer/commit/002c98a0))
- Add `useAdoptedStyleSheetsWithBuiltCSS` section. ([commit](https://github.com/Polymer/polymer/commit/d9fc4fbf))
- Add setters to settings titles. ([commit](https://github.com/Polymer/polymer/commit/9c78b481))
- Add a note about `orderedComputed` and cycles. ([commit](https://github.com/Polymer/polymer/commit/c181c3d8))
- Add example of overriding `suppressTemplateNotifications` via `notify-dom-change`. ([commit](https://github.com/Polymer/polymer/commit/1fa4948b))
- Add a section about automatic use of constructable stylesheets. ([commit](https://github.com/Polymer/polymer/commit/d9c18b47))
- Add "Other new features" section for `reuseChunkedInstances` and `LegacyElementMixin`'s built-in `disable-upgrade` support. ([commit](https://github.com/Polymer/polymer/commit/7a2e9f81))
- Added notes for `fastDomIf`, `removeNestedTemplates`, `suppressNestedTemplates`, and `suppressTemplateNotifications`. ([commit](https://github.com/Polymer/polymer/commit/3b6494bf))
- Started on release notes for `legacyUndefined`, `legacyWarnings`, `orderedComputed`. (...) ([commit](https://github.com/Polymer/polymer/commit/d80fdca0))
- Remove unused externs. ([commit](https://github.com/Polymer/polymer/commit/0da4e63f))
## [v3.4.0](https://github.com/Polymer/polymer/tree/v3.4.0) (2020-04-23)
### New global settings
This update to Polymer includes some new [global settings](https://polymer-library.polymer-project.org/3.0/docs/devguide/settings):
- `legacyUndefined` / `setLegacyUndefined`
**What does it do?** This setting reverts how computed properties handle `undefined` values to the Polymer 1 behavior: when enabled, computed properties will only be recomputed if none of their dependencies are `undefined`.
Components can override the global setting by setting their `_overrideLegacyUndefined` property to `true`. This is useful for reenabling the default behavior as you migrate individual components:
```js
import {PolymerElement, html} from '@polymer/polymer/polymer-element.js';
class MigratedElement extends PolymerElement { /* ... */ }
// All MigratedElement instances will use the default behavior.
MigratedElement.prototype._overrideLegacyUndefined = true;
customElements.define('migrated-element', SomeElement);
```
**Should I use it?** This setting should only be used for migrating legacy codebases that depend on this behavior and is otherwise **not recommended**.
- `legacyWarnings` / `setLegacyWarnings`
**What does it do?** This setting causes Polymer to warn if a component's template contains bindings to properties that are not listed in that element's [`properties` block](https://polymer-library.polymer-project.org/3.0/docs/devguide/properties). For example:
```js
import {PolymerElement, html} from '@polymer/polymer/polymer-element.js';
class SomeElement extends PolymerElement {
static get template() {
return html`<span>[[someProperty]] is used here</span>`;
}
static get properties() {
return { /* but `someProperty` is not declared here */ };
}
}
customElements.define('some-element', SomeElement);
```
Only properties explicitly declared in the `properties` block are [associated with an attribute](https://polymer-library.polymer-project.org/3.0/docs/devguide/properties#property-name-mapping) and [update when that attribute changes](https://polymer-library.polymer-project.org/3.0/docs/devguide/properties#attribute-deserialization). Enabling this setting will show you where you might have forgotten to declare properties.
**Should I use it?** Consider using this feature during development but don't enable it in production.
- `orderedComputed` / `setOrderedComputed`
**What does it do?** This setting causes Polymer to topologically sort each component's computed properties graph when the class is initialized and uses that order whenever computed properties are run.
For example:
```js
import {PolymerElement, html} from '@polymer/polymer/polymer-element.js';
class SomeElement extends PolymerElement {
static get properties() {
return {
a: {type: Number, value: 0},
b: {type: Number, computed: 'computeB(a)'},
c: {type: Number, computed: 'computeC(a, b)'},
};
}
computeB(a) {
console.log('Computing b...');
return a + 1;
}
computeC(a, b) {
console.log('Computing c...');
return (a + b) * 2;
}
}
customElements.define('some-element', SomeElement);
```
When `a` changes, Polymer's default behavior does not specify the order in which its dependents will run. Given that both `b` and `c` depend directly on `a`, one of two possible orders could occur: [`computeB`, `computeC`] or [`computeC`, `computeB`].
- In the first case - [`computeB`, `computeC`] - `computeB` is run with the new value of `a` and produces a new value for `b`. Then, `computeC` is run with both the new values of `a` and `b` to produce `c`.
- In the second case - [`computeC`, `computeB`] - `computeC` is run first with the new value of `a` and the _current_ value of `b` to produce `c`. Then, `computeB` is run with the new value of `a` to produce `b`. If `computeB` changed the value of `b` then `computeC` will be run again, with the new values of both `a` and `b` to produce the final value of `c`.
However, with `orderedComputed` enabled, the computed properties would have been previously sorted into [`computeB`, `computeC`], so updating `a` would cause them to run specifically in that order.
If your component's computed property graph contains cycles, the order in which they are run when using `orderedComputed` is still undefined.
**Should I use it?** The value of this setting depends on how your computed property functions are implemented. If they are pure and relatively inexpensive, you shouldn't need to enable this feature. If they have side effects that would make the order in which they are run important or are expensive enough that it would be a problem to run them multiple times for a property update, consider enabling it.
- `fastDomIf` / `setFastDomIf`
**What does it do?** This setting enables a different implementation of `<dom-if>` that uses its host element's template stamping facilities (provided as part of `PolymerElement`) rather than including its own. This setting can help with performance but comes with a few caveats:
- First, `fastDomIf` requires that every `<dom-if>` is in the shadow root of a Polymer element: you can't use a `<dom-if>` directly in the main document or inside a shadow root of an element that doesn't extend `PolymerElement`.
- Second, because the `fastDomIf` implementation of `<dom-if>` doesn't include its own template stamping features, it doesn't create its own scope for property effects. This means that any properties you were previously setting on the `<dom-if>` will no longer be applied within its template, only properties of the host element are available.
**Should I use it?** This setting is recommended as long as your app doesn't use `<dom-if>` as described in the section above.
- `removeNestedTemplates` / `setRemoveNestedTemplates`
**What does it do?** This setting causes Polymer to remove the child `<template>` elements used by `<dom-if>` and `<dom-repeat>` from the their containing templates. This can improve the performance of cloning your component's template when new instances are created.
**Should I use it?** This setting is generally recommended.
- `suppressTemplateNotifications` / `setSuppressTemplateNotifications`
**What does it do?** This setting causes `<dom-if>` and `<dom-repeat>` not to dispatch `dom-change` events when their rendered content is updated. If you're using lots of `<dom-if>` and `<dom-repeat>` but not listening for these events, this setting lets you disable them and their associated dispatch work.
You can override the global setting for an individual `<dom-if>` or `<dom-repeat>` by setting its `notify-dom-change` boolean attribute:
```js
import {PolymerElement, html} from '@polymer/polymer/polymer-element.js';
class SomeElement extends PolymerElement {
static get properties() {
return {
visible: {type: Boolean, value: false},
};
}
static get template() {
return html`
<button on-click="_toggle">Toggle</button>
<!-- Set notify-dom-change to enable dom-change events for this particular <dom-if>. -->
<dom-if if="[[visible]]" notify-dom-change on-dom-change="_onDomChange">
<template>
Hello!
</template>
</dom-if>
`;
}
_toggle() {
this.visible = !this.visible;
}
_onDomChange(e) {
console.log("Received 'dom-change' event.");
}
}
customElements.define('some-element', SomeElement);
```
**Should I use it?** This setting is generally recommended.
- `legacyNoObservedAttributes` / `setLegacyNoObservedAttributes`
**What does it do?** This setting causes `LegacyElementMixin` not to use the browser's built-in mechanism for informing elements of attribute changes (i.e. `observedAttributes` and `attributeChangedCallback`), which lets Polymer skip computing the list of attributes it tells the browser to observe. Instead, `LegacyElementMixin` simulates this behavior by overriding attribute APIs on the element and calling `attributeChangedCallback` itself.
This setting has similar API restrictions to those of the [custom elements polyfill](https://github.com/webcomponents/polyfills/tree/master/packages/custom-elements). You should only use the element's `setAttribute` and `removeAttribute` methods to modify attributes: using (e.g.) the element's `attributes` property to modify its attributes is not supported with `legacyNoObservedAttributes` and won't properly trigger `attributeChangedCallback` or any property effects.
Components can override the global setting by setting their `_legacyForceObservedAttributes` property to `true`. This property's effects occur at startup; it won't have any effect if modified at runtime and should be set in the class definition.
**Should I use it?** This setting should only be used if startup time is significantly affected by Polymer's class initialization work - for example, if you have a large number of components being loaded but are only instantiating a small subset of them. Otherwise, this setting is **not recommended**.
- `useAdoptedStyleSheetsWithBuiltCSS` / `setUseAdoptedStyleSheetsWithBuiltCSS`
**What does it do?** If your application is uses [pre-built Shady CSS styles](https://github.com/polymer/polymer-css-build) and your browser supports [constructable stylesheet objects](https://wicg.github.io/construct-stylesheets/), this setting will cause Polymer to extract all `<style>` elements from your components' templates, join them into a single stylesheet, and share this stylesheet with all instances of the component using their shadow roots' [`adoptedStyleSheets`](https://wicg.github.io/construct-stylesheets/#dom-documentorshadowroot-adoptedstylesheets) array. This setting may improve your components' memory usage and performance depending on how many instances you create and how large their style sheets are.
**Should I use it?** Consider using this setting if your app already uses pre-built Shady CSS styles. Note that position-dependent CSS selectors (e.g. containing `:nth-child()`) may become unreliable for siblings of your components' styles as a result of runtime-detected browser support determining if styles are removed from your components' shadow roots.
### Other new features
#### `<dom-repeat>`
- `reuseChunkedInstances`
**What does it do?** This boolean property causes `<dom-repeat>` to reuse template instances even when `items` is replaced with a new array, matching the Polymer 1 behavior.
By default, a `<dom-repeat>` with chunking enabled (i.e. `initialCount` >= 0) will drop all previously rendered template instances and create new ones whenever the `items` array is replaced. With `reuseChunkedInstances` set, any previously rendered template instances will instead be repopulated with data from the new array before new instances are created.
**Should I use it?** This flag is generally recommended and can improve rendering performance of chunked `<dom-repeat>` instances with live data.
#### `LegacyElementMixin`
- `disable-upgrade`
**What does it do?** `LegacyElementMixin` now has built-in support for the `disable-upgrade` attribute (usually provided by [`DisableUpgradeMixin`](https://polymer-library.polymer-project.org/3.0/api/mixins/disable-upgrade-mixin)) that becomes active when the global `legacyOptimizations` setting is enabled, matching the Polymer 1 behavior.
**Should I use it?** Consider using this setting if you are already using the `legacyOptimizations` setting and migrating older components that depend on `disable-upgrade` without explicit application of `DisableUpgradeMixin`.
### Bug fixes
#### `<dom-repeat>`
- Chunking behavior
`<dom-repeat>` no longer resets the number of rendered instances to `initialCount` when modifying `items` with `PolymerElement`'s array modification methods ([`splice`](https://polymer-library.polymer-project.org/3.0/api/mixins/element-mixin#ElementMixin-method-splice), [`push`](https://polymer-library.polymer-project.org/3.0/api/mixins/element-mixin#ElementMixin-method-push), etc.). The number of rendered instances will only be reset to `initialCount` if the `items` array itself is replaced with a new array object.
See [#5631](https://github.com/Polymer/polymer/issues/5631) for more information.
### All commits
- [ci skip] bump to 3.4.0 ([commit](https://github.com/Polymer/polymer/commit/08585311))
- `shareBuiltCSSWithAdoptedStyleSheets` -> `useAdoptedStyleSheetsWithBuiltCSS` ([commit](https://github.com/Polymer/polymer/commit/33e14986))
- formatting ([commit](https://github.com/Polymer/polymer/commit/d0848d83))
- Fix incorrect JSDoc param name. ([commit](https://github.com/Polymer/polymer/commit/c0813cd3))
- Gate feature behind `shareBuiltCSSWithAdoptedStyleSheets`; update tests. ([commit](https://github.com/Polymer/polymer/commit/bdd76581))
- Add `shareBuiltCSSWithAdoptedStyleSheets` global setting ([commit](https://github.com/Polymer/polymer/commit/2fc9062d))
- Add stalebot config ([commit](https://github.com/Polymer/polymer/commit/b8362abb))
- Annotate more return types as !defined (#5642) ([commit](https://github.com/Polymer/polymer/commit/20b207e1))
- Ensure any previously enqueued rAF is canceled when re-rendering. Also, use instances length instead of renderedItemCount since it will be undefined on first render. ([commit](https://github.com/Polymer/polymer/commit/ddb37df9))
- Improve comment. ([commit](https://github.com/Polymer/polymer/commit/d92ff92f))
- Remove obsolete tests. ([commit](https://github.com/Polymer/polymer/commit/91f01e57))
- Simplify by making limit a derived value from existing state. This centralizes the calculation of limit based on changes to other state variables. ([commit](https://github.com/Polymer/polymer/commit/b5664cba))
- Update Sauce config to drop Safari 9, add 12 & 13. Safari 9 is now very old, and has micro task ordering bugs issues that make testing flaky. ([commit](https://github.com/Polymer/polymer/commit/a02ed026))
- Remove accidental commit of test.only ([commit](https://github.com/Polymer/polymer/commit/d67a8b51))
- When re-enabling, ensure __limit is at a good starting point and add a test for that. Also: * Ensure `__itemsArrayChanged` is cleared after every render. * Enqueue `__continueChunkingAfterRaf` before notifying renderedItemCount for safety ([commit](https://github.com/Polymer/polymer/commit/1d96db3c))
- Remove accidental commit of suite.only ([commit](https://github.com/Polymer/polymer/commit/b503db15))
- Ensure limit is reset when initialCount is disabled. Note that any falsey value for initialCount (including `0`) is interpreted as "chunking disabled". This is consistent with 1.x logic, and follows from the logic of "starting chunking by rendering zero items" doesn't really make sense. ([commit](https://github.com/Polymer/polymer/commit/60f6ccfb))
- Updates from review. * Refactoring `__render` for readability * Removing `__pool`; this was never used in v2: since we reset the pool every update and items are only ever pushed at detach time and we only detach at the end of updates (as opposed to v1 which had more sophisticated splicing) ([commit](https://github.com/Polymer/polymer/commit/0797488b))
- Store syncInfo on the dom-if, but null it in teardown. (same as invalidProps for non-fastDomIf) ([commit](https://github.com/Polymer/polymer/commit/fe86a8c8))
- Fixes for several related dom-repeat chunking issues. Fixes #5631. * Only restart chunking (resetting the list to the initialCount) if the `items` array itself changed (and not splices to the array), to match Polymer 1 behavior. * Add `reuseChunkedInstances` option to allow reusing instances even when `items` changes; this is likely the more common optimal case when using immutable data, but making it optional for backward compatibility. * Only measure render time and throttle the chunk size if we rendered a full chunk of new items. Ensures that fast re-renders of existing items don't cause the chunk size to scale up dramatically, subsequently causing too many new items to be created in one chunk. * Increase the limit by the chunk size as part of any render if there are new items to render, rather than only as a result of rendering. * Continue chunking by comparing the filtered item count to the limit (not the unfiltered item count). ([commit](https://github.com/Polymer/polymer/commit/b40840b9))
- Update comment. ([commit](https://github.com/Polymer/polymer/commit/b9bbee2c))
- Store syncInfo on instance and don't sync paths. Fixes #5629 ([commit](https://github.com/Polymer/polymer/commit/353eabde))
- Avoid Array.find (doesn't exist in IE) ([commit](https://github.com/Polymer/polymer/commit/5383f5f2))
- Add comment to skip. ([commit](https://github.com/Polymer/polymer/commit/7df89ae2))
- Skip test when custom elements polyfill is in use ([commit](https://github.com/Polymer/polymer/commit/fb1a7835))
- Copy flag to a single location rather than two. ([commit](https://github.com/Polymer/polymer/commit/688243b3))
- Lint fix. ([commit](https://github.com/Polymer/polymer/commit/3fd96719))
- Update test name. ([commit](https://github.com/Polymer/polymer/commit/dfd0e641))
- Introduce opt-out per class for `legacyNoObservedAttributes` ([commit](https://github.com/Polymer/polymer/commit/eaca1954))
- Ensure telemetry system works with `legacyNoObservedAttributes` setting ([commit](https://github.com/Polymer/polymer/commit/63addd39))
- Update package-lock.json ([commit](https://github.com/Polymer/polymer/commit/a7ffc390))
- Update test/unit/inheritance.html ([commit](https://github.com/Polymer/polymer/commit/47a54ef8))
- Fix testing issues with latest webcomponentsjs ([commit](https://github.com/Polymer/polymer/commit/61a14c17))
- Allow `undefined` in legacy _template field to fall-through to normal lookup path. ([commit](https://github.com/Polymer/polymer/commit/220099cf))
- re-add npm cache ([commit](https://github.com/Polymer/polymer/commit/700c2b0c))
- regen package-lock ([commit](https://github.com/Polymer/polymer/commit/168572a7))
- mispelled services, node 10 for consistency ([commit](https://github.com/Polymer/polymer/commit/15dba241))
- modernize travis ([commit](https://github.com/Polymer/polymer/commit/148b2ea2))
- Adds support for imperatively created elements to `legacyNoObservedAttributes` ([commit](https://github.com/Polymer/polymer/commit/28f12ca9))
- Rebase sanitize dom value getter onto legacy-undefined-noBatch (#5618) ([commit](https://github.com/Polymer/polymer/commit/afdd9119))
- Add getSanitizeDOMValue to settings API (#5617) ([commit](https://github.com/Polymer/polymer/commit/aec4cb68))
- FIx closure annotation ([commit](https://github.com/Polymer/polymer/commit/15ce881f))
- Fix closure annotation. ([commit](https://github.com/Polymer/polymer/commit/0427abe4))
- `legacyNoObservedAttributes`: Ensure user created runs before attributesChanged ([commit](https://github.com/Polymer/polymer/commit/c6675db0))
- Enable tests for `legacyNoObservedAttributes` ([commit](https://github.com/Polymer/polymer/commit/b8315d60))
- Only auto-use disable-upgrade if legacyOptimizations is set. ([commit](https://github.com/Polymer/polymer/commit/99b87649))
- Adds disable-upgrade functionality directly to LegacyElementMixin ([commit](https://github.com/Polymer/polymer/commit/a4b4723f))
- Add doc comment ([commit](https://github.com/Polymer/polymer/commit/12c39131))
- Lint fixes. ([commit](https://github.com/Polymer/polymer/commit/fa5570b1))
- Update externs. ([commit](https://github.com/Polymer/polymer/commit/41df9a59))
- Update extern format. ([commit](https://github.com/Polymer/polymer/commit/3c128fa2))
- Address review feedback. ([commit](https://github.com/Polymer/polymer/commit/957c8c4d))
- Address review feedback ([commit](https://github.com/Polymer/polymer/commit/f8dfaa56))
- Lint fixes. ([commit](https://github.com/Polymer/polymer/commit/7b0c57a4))
- Adds `legacyNoAttributes` setting ([commit](https://github.com/Polymer/polymer/commit/8ef2cc70))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/640bc80a))
- Update polymer externs for new settings. ([commit](https://github.com/Polymer/polymer/commit/5d130fae))
- Update lib/utils/settings.js ([commit](https://github.com/Polymer/polymer/commit/dbd9140a))
- Changes based on review. ([commit](https://github.com/Polymer/polymer/commit/124d878e))
- Add basic support for `adoptedStyleSheets` ([commit](https://github.com/Polymer/polymer/commit/ab04377b))
- [ci skip] Add/fix comments per review. ([commit](https://github.com/Polymer/polymer/commit/cbc722b1))
- Add missing externs for global settings. ([commit](https://github.com/Polymer/polymer/commit/7fa78973))
- Revert optimization to not wrap change notifications. This was causing a number of rendering tests to fail. Needs investigation, but possibly because wrapping calls ShadyDOM.flush, and this alters distribution timing which some tests may have inadvertently relied on. ([commit](https://github.com/Polymer/polymer/commit/848e8c9b))
- Reintroduce suppressTemplateNotifications and gate Dom-change & renderedItemCount on that. Matches Polymer 1 setting for better backward compatibility. ([commit](https://github.com/Polymer/polymer/commit/d64ee9ef))
- Add notifyDomChange back to dom-if & dom-repeat to match P1. ([commit](https://github.com/Polymer/polymer/commit/e9e0cd17))
- Simplify host stack, set __dataHost unconditionally, and make _registerHost patchable. ([commit](https://github.com/Polymer/polymer/commit/929d056b))
- Move @private annotation to decorate class definition. ([commit](https://github.com/Polymer/polymer/commit/534654de))
- Add type for _overrideLegacyUndefined. ([commit](https://github.com/Polymer/polymer/commit/a7866b36))
- Attempt to fix travis issues ([commit](https://github.com/Polymer/polymer/commit/e2895403))
- Revert `isAttached` change based on review feedback. Deemed a breaking change. ([commit](https://github.com/Polymer/polymer/commit/1ff51e68))
- Update travis to use xenial distro and, latest Firefox, and node 10 ([commit](https://github.com/Polymer/polymer/commit/9c80994f))
- Applies micro-optimizations and removes obsolete settings ([commit](https://github.com/Polymer/polymer/commit/280f4f0a))
- Work around Closure Compiler bug to avoid upcoming type error ([commit](https://github.com/Polymer/polymer/commit/5382e2ca))
- Only import each file once (#5588) ([commit](https://github.com/Polymer/polymer/commit/27779a32))
- Avoid Array.from on Set. ([commit](https://github.com/Polymer/polymer/commit/991b0997))
- Update nested template names. ([commit](https://github.com/Polymer/polymer/commit/dc0754ee))
- Add runtime stamping tests around linking & unlinking effects. ([commit](https://github.com/Polymer/polymer/commit/9e106d82))
- Ensure parent is linked to child templateInfo. Fixes fastDomIf unstopping issue. ([commit](https://github.com/Polymer/polymer/commit/5e1a8b6d))
- Remove unused TemplateInfo properties from types. ([commit](https://github.com/Polymer/polymer/commit/5d6f34f5))
- Add other used TemplateInfo property types. ([commit](https://github.com/Polymer/polymer/commit/93854364))
- Add type for TemplateInfo#parent. ([commit](https://github.com/Polymer/polymer/commit/2697cf10))
- [ci-skip] Add comment explaining confusing check in _addPropertyToAttributeMap ([commit](https://github.com/Polymer/polymer/commit/c65a58ae))
- Ensure clients are flushed when runtime stamping via `_stampTemplate`. Maintains flush semantics with Templatizer stamping (relevant to fastDomIf, which is a switch between Templatizer-based stamping and runtime _stampTemplate-based stamping). Works around an issue with `noPatch` where nested undistributed dom-if's won't stamp. The changes to the tests are to remove testing that the full host tree is correct since the host doing the runtime stamping will no longer be the DOM getRootNode().host at ready time (this is exactly the case with Templatizer, whose semantics we intend to match). ([commit](https://github.com/Polymer/polymer/commit/7e7febc3))
- Fix template-finding issue with DisableUpgrade mixin. The existing rules are that `prototype._template` is first priority and dom-module via `is` is second priority _for a given class_. A subclass has a new shot at overriding the previous template either by defining a new `prototype._template` or a new `is` resulting in a dom-module lookup. However, trivially subclassing a Polymer legacy element breaks these rules, since if there is no _own_ `prototype._template` on the current class, it will lookup a dom-module using `is` from up the entire prototype chain. This defeats the rule that a `prototype._template` on the superclass should have taken priority over its dom-module. This change ensures that we only lookup dom-module if the class has an _own_ is property. ([commit](https://github.com/Polymer/polymer/commit/e534c3cf))
- Fix issue with camel cased properties and disable-upgrade ([commit](https://github.com/Polymer/polymer/commit/f95fd327))
- More closure fixes. ([commit](https://github.com/Polymer/polymer/commit/04ddc240))
- closure fixes ([commit](https://github.com/Polymer/polymer/commit/2bb488c8))
- lint fixes ([commit](https://github.com/Polymer/polymer/commit/11256634))
- Fix issue with defaults overriding bound values when disable-upgrade is used. ([commit](https://github.com/Polymer/polymer/commit/cd6d5d01))
- Add closure types ([commit](https://github.com/Polymer/polymer/commit/69140787))
- Use DisbleUpgradeMixin in legacy class generation ([commit](https://github.com/Polymer/polymer/commit/2203dae3))
- Add comment about why code is duplicated. ([commit](https://github.com/Polymer/polymer/commit/f4943890))
- Add tests for connected/disconnected while disabled ([commit](https://github.com/Polymer/polymer/commit/658c885c))
- Improve comments. ([commit](https://github.com/Polymer/polymer/commit/1e8b656c))
- Added comments. ([commit](https://github.com/Polymer/polymer/commit/d6f3a9ff))
- Fix typo and improve readbility ([commit](https://github.com/Polymer/polymer/commit/933995a0))
- Enable disable-upgrade when `legacyOptimizations` is set to true ([commit](https://github.com/Polymer/polymer/commit/f2784343))
- Remove use of Object.create on template info (significant perf impact). ([commit](https://github.com/Polymer/polymer/commit/309f77ba))
- Attempt to sync host properties on every call to _showHideChildren. Fixes an issue where a dom-if that is toggled synchronously true-false-true could fail to sync properties invalidated while false, since the hidden state is only checked at render timing, and the newly added dirty-check could fail if the hidden state has been changed back to its initial value. ([commit](https://github.com/Polymer/polymer/commit/e772ed0c))
- Add tests for extension and dom-if/repeat ([commit](https://github.com/Polymer/polymer/commit/2c264c67))
- Update stand alone disable-upgrade mixin. ([commit](https://github.com/Polymer/polymer/commit/e0ba67c4))
- Remove cruft from test ([commit](https://github.com/Polymer/polymer/commit/872094a2))
- Simplify logic for disable-upgrade ([commit](https://github.com/Polymer/polymer/commit/9c6f2661))
- Use a safer flag, based on internal testing. ([commit](https://github.com/Polymer/polymer/commit/c563d5a3))
- Reorder based on review feedback. ([commit](https://github.com/Polymer/polymer/commit/b5f8a6de))
- Fix closure type. ([commit](https://github.com/Polymer/polymer/commit/d32d300e))
- Updated comment. ([commit](https://github.com/Polymer/polymer/commit/53119175))
- Ensure hasPaths is also accumulated as part of info necessary to sync. ([commit](https://github.com/Polymer/polymer/commit/89d70557))
- Fix one more closure annotation. ([commit](https://github.com/Polymer/polymer/commit/3d09455b))
- Simplify algorithm; we already have list of computed deps in effect list. ([commit](https://github.com/Polymer/polymer/commit/064d0eff))
- Build computed graph from dependencies, rather than properties. ([commit](https://github.com/Polymer/polymer/commit/567e4640))
- Fix closure annotations for dom-if. ([commit](https://github.com/Polymer/polymer/commit/cee1893b))
- Avoid lint warnings. ([commit](https://github.com/Polymer/polymer/commit/18adf5fb))
- Minor simplifications/comments. ([commit](https://github.com/Polymer/polymer/commit/4f9fda06))
- Updates from review. ([commit](https://github.com/Polymer/polymer/commit/f0cbc837))
- Closure type fixes. ([commit](https://github.com/Polymer/polymer/commit/ff25283a))
- Initialize all settings from Polymer object when available. ([commit](https://github.com/Polymer/polymer/commit/df1eb73b))
- Fix host prop merging. ([commit](https://github.com/Polymer/polymer/commit/e4eb9f22))
- Updates based on review. ([commit](https://github.com/Polymer/polymer/commit/39207cce))
- Fix defaults back to false for new settings. ([commit](https://github.com/Polymer/polymer/commit/4bdbe925))
- Add a dirty check to showHideChildren ([commit](https://github.com/Polymer/polymer/commit/0ba19b4e))
- Fix host property syncing ([commit](https://github.com/Polymer/polymer/commit/fc693a09))
- Adds disable-upgrade directly into legacy `Polymer` elements ([commit](https://github.com/Polymer/polymer/commit/9756d861))
- Refactor DomIf into separate subclasses. ([commit](https://github.com/Polymer/polymer/commit/c2f31eda))
- Runtime stamped dom-if ([commit](https://github.com/Polymer/polymer/commit/e690dfe2))
- dom-if/dom-repeat bind-to-parent ([commit](https://github.com/Polymer/polymer/commit/27ed93af))
- Fix a few closure compiler issues ([commit](https://github.com/Polymer/polymer/commit/d55b9cb5))
- [ci skip] Add comment ([commit](https://github.com/Polymer/polymer/commit/70337ac8))
- Fix typo in comment ([commit](https://github.com/Polymer/polymer/commit/61715f1d))
- Cleanup, add tests. * remove old implementation * add API docs * rename some API * add dynamicFn to dep count * add test for method as dependency ([commit](https://github.com/Polymer/polymer/commit/b065d145))
- [wip] Add additional topo-sort based algorithm. ([commit](https://github.com/Polymer/polymer/commit/7cda770e))
- Dedupe against a single turn on only under orderedComputed ([commit](https://github.com/Polymer/polymer/commit/fc49a925))
- Fix closure issues ([commit](https://github.com/Polymer/polymer/commit/42dd361f))
- Add hasPaths optimziation ([commit](https://github.com/Polymer/polymer/commit/ef0efa6e))
- Minor comment updates ([commit](https://github.com/Polymer/polymer/commit/9ed31895))
- Evaluate computed property dependencies first. Fixes #5143 ([commit](https://github.com/Polymer/polymer/commit/832fcdec))
- Add more externs ([commit](https://github.com/Polymer/polymer/commit/2ed3bfac))
- Fix lint warnings ([commit](https://github.com/Polymer/polymer/commit/4151ef4d))
- Add comments per review feedback ([commit](https://github.com/Polymer/polymer/commit/bef674a9))
- Add legacyNotifyOrder. Improve comments. ([commit](https://github.com/Polymer/polymer/commit/52fe20da))
- Add test for literal-only static function. ([commit](https://github.com/Polymer/polymer/commit/4c65db8d))
- Remove unnecessary literal check ([commit](https://github.com/Polymer/polymer/commit/bf05e383))
- Simplify ([commit](https://github.com/Polymer/polymer/commit/11bdc39a))
- Add templatizer warnings. Move to legacyWarnings flag. ([commit](https://github.com/Polymer/polymer/commit/aa63db00))
- Add legacyUndefined and legacyNoBatch to externs ([commit](https://github.com/Polymer/polymer/commit/cc7d4cc8))
- NOOP has to be an array for closure compiler ([commit](https://github.com/Polymer/polymer/commit/e351f4dd))
- Add comments on warning limitations. ([commit](https://github.com/Polymer/polymer/commit/940d1a7a))
- Ensure properties are set one-by-one at startup. ([commit](https://github.com/Polymer/polymer/commit/add77842))
- Remove unnecessary qualification. ([commit](https://github.com/Polymer/polymer/commit/2874c86d))
- Avoid over-warning on templatizer props and "static" dynamicFns. ([commit](https://github.com/Polymer/polymer/commit/c966eb1f))
- Store splices directly on array when `legacyUndefined` is set ([commit](https://github.com/Polymer/polymer/commit/e29a3150))
- Fix test ([commit](https://github.com/Polymer/polymer/commit/32c30837))
- Add arg length check ([commit](https://github.com/Polymer/polymer/commit/6139e889))
- Adds `legacyNoBatch` setting ([commit](https://github.com/Polymer/polymer/commit/363bef2c))
- Add tests for `legacyUndefined` setting ([commit](https://github.com/Polymer/polymer/commit/52a559fc))
- Adds `legacyUndefined` setting ([commit](https://github.com/Polymer/polymer/commit/987ae2c4))
## [v3.3.1](https://github.com/Polymer/polymer/tree/v3.3.1) (2019-11-08)
- [ci skip] bump to 3.3.1 ([commit](https://github.com/Polymer/polymer/commit/11f1f139))
- Remove TimvdLippe from CODEOWNERS ([commit](https://github.com/Polymer/polymer/commit/b99c2997))
- Add node field to PolymerDomApi ([commit](https://github.com/Polymer/polymer/commit/15747c83))
- Improve types for the template field on Polymer elements. (#5596) ([commit](https://github.com/Polymer/polymer/commit/4274bcec))
- Add module field ([commit](https://github.com/Polymer/polymer/commit/9a4d4d9a))
- Wrap other `hasOwnProperty` checks in `JSCompiler_renameProperty`. ([commit](https://github.com/Polymer/polymer/commit/0541b21a))
- Wrap `hasOwnProperty` checks for `__hasRegisterFinished` in `JSCompiler_renameProperty()`. ([commit](https://github.com/Polymer/polymer/commit/9e90fd2e))
- Fix typing error in fixPlaceholder ([commit](https://github.com/Polymer/polymer/commit/f050ce9e))
- Fix up comments based on feedback ([commit](https://github.com/Polymer/polymer/commit/ab49f51a))
- Workaround bindings to textarea.placeholder in IE ([commit](https://github.com/Polymer/polymer/commit/61767da2))
- Add additional externs (#5575) ([commit](https://github.com/Polymer/polymer/commit/69ee4688))
- Make Closure compiler happier about ShadyDOM access ([commit](https://github.com/Polymer/polymer/commit/46ee2aec))
- Remove other double import (#5565) ([commit](https://github.com/Polymer/polymer/commit/0d2c2e5d))
- Only use CONST_CASE for constants. (#5564) ([commit](https://github.com/Polymer/polymer/commit/54f8b47f))
- [skip ci] update changelog ([commit](https://github.com/Polymer/polymer/commit/ac12b3bc))
## [v3.3.0](https://github.com/Polymer/polymer/tree/v3.3.0) (2019-06-24)
- [ci skip] Update version to 3.3.0 ([commit](https://github.com/Polymer/polymer/commit/dd7c0d70))
- Don't import/export from the same file twice (#5562) ([commit](https://github.com/Polymer/polymer/commit/94585c31))
- Add @override, remove @attribute/@group/@hero/@homepage ([commit](https://github.com/Polymer/polymer/commit/ed7709f6))
- Closure compilation tweaks ([commit](https://github.com/Polymer/polymer/commit/15090f26))
- Add @return description ([commit](https://github.com/Polymer/polymer/commit/a6bff436))
- Fix some Closure annotations ([commit](https://github.com/Polymer/polymer/commit/0810bf3e))
- Pin to firefox 66 because of selenium error ([commit](https://github.com/Polymer/polymer/commit/f0fb532d))
- Fix eslint errors. ([commit](https://github.com/Polymer/polymer/commit/6dfaa5f0))
- Add some casts for places Closure doesn't understand constructor ([commit](https://github.com/Polymer/polymer/commit/10d43ce8))
- Add new mixin annotations, remove GestureEventListeners alias ([commit](https://github.com/Polymer/polymer/commit/0ae14b9c))
- Align signatures of attributeChangedCallback ([commit](https://github.com/Polymer/polymer/commit/4cc6c339))
- Add @return annotation for PROPERTY_EFFECT_TYPES getter ([commit](https://github.com/Polymer/polymer/commit/3dd189c4))
- Annotate __dataEnabled in a way analyzer understands ([commit](https://github.com/Polymer/polymer/commit/e4e9e2fb))
- Fix old global namespace type annotation for TemplateInstanceBase ([commit](https://github.com/Polymer/polymer/commit/fc190dd5))
- Add @suppress annotation for use of deprecated cssFromModules ([commit](https://github.com/Polymer/polymer/commit/54b1d78d))
- Fix GestureEventListeners generated externs name. ([commit](https://github.com/Polymer/polymer/commit/cdd4e204))
- Globally hide dom-{bind,if,repeat} elements with legacyOptmizations on ([commit](https://github.com/Polymer/polymer/commit/43f57b10))
- Update dependencies to fix firefox 67 tests ([commit](https://github.com/Polymer/polymer/commit/ff2edd5c))
- Sync closure compiler annotations ([commit](https://github.com/Polymer/polymer/commit/ad084201))
- remove unused variable in test ([commit](https://github.com/Polymer/polymer/commit/c051c5bb))
- remove debugger line ([commit](https://github.com/Polymer/polymer/commit/634d736c))
- Make sure scopeSubtree does not recurse through other ShadowRoots ([commit](https://github.com/Polymer/polymer/commit/8a5c1e9b))
- Don't set display: none under legacyOptimizations. Fixes #5541. ([commit](https://github.com/Polymer/polymer/commit/c9cf56c0))
- Use Array.from instead of a list comprehension ([commit](https://github.com/Polymer/polymer/commit/338d420c))
- Add check for // ([commit](https://github.com/Polymer/polymer/commit/3db56085))
- Use native qSA ([commit](https://github.com/Polymer/polymer/commit/e10019a0))
- Implement scopeSubtree for ShadyDOM noPatch mode ([commit](https://github.com/Polymer/polymer/commit/6bc95340))
- Remove unneccessary test ([commit](https://github.com/Polymer/polymer/commit/1f080595))
- Add URL try/catch ([commit](https://github.com/Polymer/polymer/commit/940b3cdc))
- Upstreaming cl/245273850 ([commit](https://github.com/Polymer/polymer/commit/413ef2fb))
- Allow configuring cancelling synthetic click behavior ([commit](https://github.com/Polymer/polymer/commit/00d4cdf4))
- Add test for class$ binding ([commit](https://github.com/Polymer/polymer/commit/8043d4c1))
- Fix class$ bindings for ShadyDOM.noPatch mode ([commit](https://github.com/Polymer/polymer/commit/a0b83b25))
- Add test for resolveUrl('//') ([commit](https://github.com/Polymer/polymer/commit/55373808))
- Check directly for // in resolveUrl because it isn't a valid URL ([commit](https://github.com/Polymer/polymer/commit/d0ea20a1))
- Run resolveUrl for protocol-relative urls (#5530) ([commit](https://github.com/Polymer/polymer/commit/733cf683))
- Fix lint ([commit](https://github.com/Polymer/polymer/commit/6960c2b9))
- Cast GestureEventListeners. ([commit](https://github.com/Polymer/polymer/commit/34373349))
- Work around https://github.com/google/closure-compiler/issues/3240 ([commit](https://github.com/Polymer/polymer/commit/cc7702b4))
- Fix `localTareget` when `ShadyDOM.noPatch` is in use ([commit](https://github.com/Polymer/polymer/commit/7925254b))
- webcomponentsjs 2.2.10 ([commit](https://github.com/Polymer/polymer/commit/002a4319))
- upgrade dependencies. ([commit](https://github.com/Polymer/polymer/commit/3b7c9f8e))
- upgrade webcomponentsjs to 2.2.9 ([commit](https://github.com/Polymer/polymer/commit/4e60395a))
- [ci skip] Add comment ([commit](https://github.com/Polymer/polymer/commit/c7eb7c19))
- Use `attachShadow({shadyUpgradeFragment})` ([commit](https://github.com/Polymer/polymer/commit/3af9f340))
- Remove test.only ([commit](https://github.com/Polymer/polymer/commit/ca124480))
- Ensure wildcard arguments get undefined treatment. Fixes #5428. ([commit](https://github.com/Polymer/polymer/commit/f5a45ebc))
- Fix typo ([commit](https://github.com/Polymer/polymer/commit/6adbc23c))
- Fix `className` on browsers without good native accessors ([commit](https://github.com/Polymer/polymer/commit/b13e656f))
- don't depend on `attachDom` existing. ([commit](https://github.com/Polymer/polymer/commit/8d7def72))
- Simplify ([commit](https://github.com/Polymer/polymer/commit/f1a9d4fa))
- Avoid upgrading template if no hostProps, for better perf. ([commit](https://github.com/Polymer/polymer/commit/65a5b48c))
- Update webcomponents dev dependency for testing className fix ([commit](https://github.com/Polymer/polymer/commit/a1c67e45))
- fix closure compiler error ([commit](https://github.com/Polymer/polymer/commit/002ef94e))
- fix lint issues ([commit](https://github.com/Polymer/polymer/commit/439c2455))
- Address review feedback via comment. ([commit](https://github.com/Polymer/polymer/commit/4e1d6a1a))
- Ensure `className` bindings work correctly when `ShadyDOM.noPatch` is used. ([commit](https://github.com/Polymer/polymer/commit/eb2385aa))
- Remove use of TreeWalker for finding nodes in templates. ([commit](https://github.com/Polymer/polymer/commit/24d642ec))
- Remove Google+ links in README.md and CONTRIBUTING.MD ([commit](https://github.com/Polymer/polymer/commit/dc880571))
- Use correct ShadyDOM API: `attachDom` ([commit](https://github.com/Polymer/polymer/commit/1aeaa801))
- Use `ShadyDOM.upgrade` ([commit](https://github.com/Polymer/polymer/commit/50ba9cea))
## [v3.2.0](https://github.com/Polymer/polymer/tree/v3.2.0) (2019-03-21)
- [ci skip] update polymer version ([commit](https://github.com/Polymer/polymer/commit/48769c4b))
- Fix lint ([commit](https://github.com/Polymer/polymer/commit/4cd70333))
- Add tests. ([commit](https://github.com/Polymer/polymer/commit/5886be5d))
- Ensure debouncer is removed from queue before running callback. ([commit](https://github.com/Polymer/polymer/commit/a23ac645))
- Don't clear set at end for flush reentrancy safety; canceling removes from set ([commit](https://github.com/Polymer/polymer/commit/3b164761))
- Assert the callback was called. ([commit](https://github.com/Polymer/polymer/commit/d48336d6))
- Ensure the debouncer is not already canceled before canceling. ([commit](https://github.com/Polymer/polymer/commit/fed97654))
- Fix a couple of closure type issues. * gestures - update internal type changes * debounce - fix mistaken return type ([commit](https://github.com/Polymer/polymer/commit/eb725f7f))
- Revert to `getStyle()` ([commit](https://github.com/Polymer/polymer/commit/03aec686))
- Fix getStyle definition ([commit](https://github.com/Polymer/polymer/commit/f13dd75f))
- Add extra test ([commit](https://github.com/Polymer/polymer/commit/62cf9d98))
- Use in check rather than undefined. ([commit](https://github.com/Polymer/polymer/commit/c467c345))
- Allow value to merge from previous behavior property declaration. Fixes #5503 ([commit](https://github.com/Polymer/polymer/commit/bc258d6f))
- Fix/suppress upcoming JSCompiler build errors ([commit](https://github.com/Polymer/polymer/commit/0d0da569))
- Add comment about flush order when re-debouncing ([commit](https://github.com/Polymer/polymer/commit/b63c887f))
- FIx lint ([commit](https://github.com/Polymer/polymer/commit/1e56b0e9))
- Remove debug code ([commit](https://github.com/Polymer/polymer/commit/cc6ef0e1))
- Re-add the queue removal in setConfig ([commit](https://github.com/Polymer/polymer/commit/be1afacc))
- Remove debug code ([commit](https://github.com/Polymer/polymer/commit/b750a52d))
- Remove test.only ([commit](https://github.com/Polymer/polymer/commit/1526626b))
- Fix order of flushed debouncers to match 1.x ([commit](https://github.com/Polymer/polymer/commit/b9d49597))
- Add comments and avoid Array.fill ([commit](https://github.com/Polymer/polymer/commit/567c10b3))
- Use set and clear debouncer upon completion. Fixes #5250. ([commit](https://github.com/Polymer/polymer/commit/e8c24ff4))
- Added comment based on review feedback. ([commit](https://github.com/Polymer/polymer/commit/764a233c))
- Add property reflection to notify path and friends calls to support closure-compiler renaming. ([commit](https://github.com/Polymer/polymer/commit/ad05f567))
- Add `classList` to `Polymer.dom` when `ShadyDOM.noPatch` is used ([commit](https://github.com/Polymer/polymer/commit/18ba9ae0))
- Update externs from internal ([commit](https://github.com/Polymer/polymer/commit/e35a1a7c))
- Use webcomponents 2.2.7 for initialSync tests ([commit](https://github.com/Polymer/polymer/commit/073d25f6))
- Add `@fileoverview`, put `@suppress` after it ([commit](https://github.com/Polymer/polymer/commit/aba0f904))
- address feedback ([commit](https://github.com/Polymer/polymer/commit/4321da01))
- use JSCompiler_renameProperty bare ([commit](https://github.com/Polymer/polymer/commit/fb246562))
- Remove semicolon after class definition (lint). ([commit](https://github.com/Polymer/polymer/commit/ae899c54))
- Refactor symbols to make gen-typescript-declarations happy ([commit](https://github.com/Polymer/polymer/commit/4a24ba3c))
- Ensure argument types match. ([commit](https://github.com/Polymer/polymer/commit/42735d11))
- Backport closure compiler fixes from internal ([commit](https://github.com/Polymer/polymer/commit/e3c6b254))
- Fix test warning in Edge/IE ([commit](https://github.com/Polymer/polymer/commit/a272506c))
- Fix test in IE/Edge ([commit](https://github.com/Polymer/polymer/commit/391715fb))
- Update package-lock ([commit](https://github.com/Polymer/polymer/commit/c93fc482))
- Update webcomponents vesrion. ([commit](https://github.com/Polymer/polymer/commit/0a91b158))
- Remove unused import ([commit](https://github.com/Polymer/polymer/commit/21e83e9e))
- Add comment re: undefined issue ([commit](https://github.com/Polymer/polymer/commit/67caf458))
- Move undeclared property warning to element-mixin. ([commit](https://github.com/Polymer/polymer/commit/11cd9cb2))
- Add issue for TODO ([commit](https://github.com/Polymer/polymer/commit/d3f27d0a))
- Upgrade wcjs ([commit](https://github.com/Polymer/polymer/commit/c309fef6))
- Fix lint errors. ([commit](https://github.com/Polymer/polymer/commit/0c85340b))
- Upgrade wcjs ([commit](https://github.com/Polymer/polymer/commit/09fa9854))
- Updates based on review. ([commit](https://github.com/Polymer/polymer/commit/98304fb6))
- Add better messaging for scoping test ([commit](https://github.com/Polymer/polymer/commit/4fcd9512))
- Remove addressed TODO comment. ([commit](https://github.com/Polymer/polymer/commit/28f2281b))
- Clarify warning. Add comment. ([commit](https://github.com/Polymer/polymer/commit/9dea1f78))
- Add warnings for disabling boolean settings. ([commit](https://github.com/Polymer/polymer/commit/35c48d89))
- Upgrade webcomponentsjs ([commit](https://github.com/Polymer/polymer/commit/6bd15ccb))
- Upgrade webcomponentsjs ([commit](https://github.com/Polymer/polymer/commit/2480b259))
- Refactor to make code more readable, add tests, remove dead code. ([commit](https://github.com/Polymer/polymer/commit/c78f6799))
- Adds `syncInitialRender` setting ([commit](https://github.com/Polymer/polymer/commit/d4857ecc))
- Ensure that marshalArgs pulls wildcard info value from __data It currently pulls the value from `changedProps` rather than __data, meaning it could provide stale data for re-entrant changes. ([commit](https://github.com/Polymer/polymer/commit/4d99099d))
- Fix lint warning ([commit](https://github.com/Polymer/polymer/commit/563bc858))
- Add warning for redeclared computed properties. ([commit](https://github.com/Polymer/polymer/commit/007f3cc2))
- Add warning for undeclared properties used in bindings. ([commit](https://github.com/Polymer/polymer/commit/63dadbf2))
- Make initial distribution synchronous when `legacyOptimizations` is set ([commit](https://github.com/Polymer/polymer/commit/fc7858ce))
- Ensure dispatchEvent is wrapped ([commit](https://github.com/Polymer/polymer/commit/491c2a77))
- Disable auto `strip-whitespace` on template with legacyOptimizations ([commit](https://github.com/Polymer/polymer/commit/d577c8c8))
- Add tests for calling Polymer() with ES6 class ([commit](https://github.com/Polymer/polymer/commit/3ff4ed1b))
- use a regular for-loop intead of for-of ([commit](https://github.com/Polymer/polymer/commit/86db24cd))
- Lint clean ([commit](https://github.com/Polymer/polymer/commit/bdcd37c5))
- Remove `@override` from static methods on mixins. ([commit](https://github.com/Polymer/polymer/commit/f15b137d))
- Externs should use var instead of let ([commit](https://github.com/Polymer/polymer/commit/7745d431))
- Add @suppress annotations for missing property checks. ([commit](https://github.com/Polymer/polymer/commit/7f2d736a))
- Allow `Polymer({})` calls with ES6 class ([commit](https://github.com/Polymer/polymer/commit/3624a140))
- [wrap] Fix doc comment. ([commit](https://github.com/Polymer/polymer/commit/8e506028))
- Fix typo ([commit](https://github.com/Polymer/polymer/commit/d8aac3b5))
- Make sure `_valueToNodeAttribute` uses wrap ([commit](https://github.com/Polymer/polymer/commit/4e4d6fe4))
- Suppress upcoming jscompiler errors. ([commit](https://github.com/Polymer/polymer/commit/cf2cd05e))
- compromise with typescript and closure ([commit](https://github.com/Polymer/polymer/commit/e73285b3))
- Closure typing fixes ([commit](https://github.com/Polymer/polymer/commit/e4b56e46))
- Add type jsdoc to templatize root property. ([commit](https://github.com/Polymer/polymer/commit/0da022fd))
- Remove meaningless "undefined" in settings.js ([commit](https://github.com/Polymer/polymer/commit/fcc87527))
- Make `noPatch` safe with older versions of ShadyDOM ([commit](https://github.com/Polymer/polymer/commit/a2e597c2))
- Temporarily disable type genration ([commit](https://github.com/Polymer/polymer/commit/bade986e))
- Changes based on review. ([commit](https://github.com/Polymer/polymer/commit/8954c251))
- Changes based on review. ([commit](https://github.com/Polymer/polymer/commit/42b13d0a))
- More shady compatible wrapping ([commit](https://github.com/Polymer/polymer/commit/b8f3b79c))
- Fix typos ([commit](https://github.com/Polymer/polymer/commit/acbe6496))
- Update to match 2.x branch ([commit](https://github.com/Polymer/polymer/commit/e3b3baa7))
- Revert "Manual merge from `perf-opt-disable-upgrade` branch." ([commit](https://github.com/Polymer/polymer/commit/c3bd4d6f))
- Update Polymer 3 package-lock. ([commit](https://github.com/Polymer/polymer/commit/dfe7a54c))
- Update to webcomponentsjs 2.2.0 ([commit](https://github.com/Polymer/polymer/commit/51ebf4df))
- Update to latest webcomponentsjs ([commit](https://github.com/Polymer/polymer/commit/2c560bc1))
- Manual merge from `perf-opt-disable-upgrade` branch. ([commit](https://github.com/Polymer/polymer/commit/0f022dfe))
- Remove double-import of settings ([commit](https://github.com/Polymer/polymer/commit/5422792f))
- Document properties for eslint. ([commit](https://github.com/Polymer/polymer/commit/3a4db3b1))
- Add back event tests. ([commit](https://github.com/Polymer/polymer/commit/1bce4f08))
- Use closure-safe name ([commit](https://github.com/Polymer/polymer/commit/ed5f7f27))
- Add tests ([commit](https://github.com/Polymer/polymer/commit/f3b66755))
- Ensure properties and observers are interleaved per behavior ([commit](https://github.com/Polymer/polymer/commit/ad5cb268))
- Ensure property values are always overridden by extendors/behaviors ([commit](https://github.com/Polymer/polymer/commit/2b35a74f))
- Ensure `registered` is always called on element prototype ([commit](https://github.com/Polymer/polymer/commit/50ad018c))
- err instead of air ([commit](https://github.com/Polymer/polymer/commit/ee68ea92))
- Do lazy behavior copying only when `legacyOptimizations` is set ([commit](https://github.com/Polymer/polymer/commit/d64a9c27))
- Behavior property copying fixes ([commit](https://github.com/Polymer/polymer/commit/310c7ead))
- Ensure initial static classes are preserved when a class$ binding is present ([commit](https://github.com/Polymer/polymer/commit/65a3149b))
- Get typescript compiling again. ([commit](https://github.com/Polymer/polymer/commit/bbf24c0c))
- Remove extra space ([commit](https://github.com/Polymer/polymer/commit/82c9d17e))
- Avoid copying certain properties from behaviors ([commit](https://github.com/Polymer/polymer/commit/cf30a8cc))
- skip some tests that never really worked in ShadyDOM ([commit](https://github.com/Polymer/polymer/commit/e00bf993))
- Move __activateDir into check instead of replace ([commit](https://github.com/Polymer/polymer/commit/ec00d26b))
- Don't set up observer in ShadyDOM ([commit](https://github.com/Polymer/polymer/commit/08bc1ff5))
- Manually merge changes from #5418 ([commit](https://github.com/Polymer/polymer/commit/d5e0043a))
- Fix merge conflict around toggleAttribute ([commit](https://github.com/Polymer/polymer/commit/419dce63))
- Get Polymer compiling clean under closure recommended flags ([commit](https://github.com/Polymer/polymer/commit/566dcfae))
- Apply LegacyDataMixin to TemplatizeInstanceBase. Fixes #5422 ([commit](https://github.com/Polymer/polymer/commit/6dd34569))
- TemplateStamp ([commit](https://github.com/Polymer/polymer/commit/d57e05e5))
- Fixes #5420 ([commit](https://github.com/Polymer/polymer/commit/926a6735))
- Lint fix ([commit](https://github.com/Polymer/polymer/commit/725d52c6))
- Updates ported from `perf-opt` branch ([commit](https://github.com/Polymer/polymer/commit/a08c9840))
- rename test file. ([commit](https://github.com/Polymer/polymer/commit/b211436f))
- Check for ShadyDOM and `:dir` selectors before trying css transform ([commit](https://github.com/Polymer/polymer/commit/d290be90))
- Rename Closure V1 compatibility PolymerDomApi types for TypeScript types. ([commit](https://github.com/Polymer/polymer/commit/b34b6fcb))
- Hybrid compatibility for PolymerDomApi and Polymer.Iconset types. ([commit](https://github.com/Polymer/polymer/commit/b8e30021))
- Fix another unsafe property assignment in Polymer. ([commit](https://github.com/Polymer/polymer/commit/3ee4eb96))
- Add explicit null template for array-selector ([commit](https://github.com/Polymer/polymer/commit/d2d49dd9))
- remove cruft ([commit](https://github.com/Polymer/polymer/commit/079ac3bc))
- Adds basic legacy support for ShadyDOM.unPatch (WIP) ([commit](https://github.com/Polymer/polymer/commit/e752636c))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/2db60f5b))
- Adds setting to skip style incudes and url rewriting ([commit](https://github.com/Polymer/polymer/commit/4fcacaab))
- restores functionality of Polymer.mixinBehaviors ([commit](https://github.com/Polymer/polymer/commit/4af44c8d))
- Avoids using mixins for behaviors. ([commit](https://github.com/Polymer/polymer/commit/624513f6))
- Fix jsdoc comment ([commit](https://github.com/Polymer/polymer/commit/e69c8b3c))
- Upstream warning text. ([commit](https://github.com/Polymer/polymer/commit/b4d6e70a))
- Upstream changes to externs ([commit](https://github.com/Polymer/polymer/commit/83834aff))
## [v3.1.0](https://github.com/Polymer/polymer/tree/v3.1.0) (2018-10-26)
- update dependencies ([commit](https://github.com/Polymer/polymer/commit/99e39706))
- Add beforeRegister callback to externs ([commit](https://github.com/Polymer/polymer/commit/0492390b))
- Make toggleAttribute match with native signature (#5372) ([commit](https://github.com/Polymer/polymer/commit/693f9e4e))
- Fixed typos on lines 133 and 157 (#5409) ([commit](https://github.com/Polymer/polymer/commit/750e7e1a))
- Fix signature of toggleAttribute to match native version (#5370) ([commit](https://github.com/Polymer/polymer/commit/ce85eb99))
- Update jsdoc for PropertyEffects.splice (#5367) ([commit](https://github.com/Polymer/polymer/commit/96557f78))
- Expand type of LegacyElementMixin#listen and unlisten to accept EventTargets. ([commit](https://github.com/Polymer/polymer/commit/b55c56f7))
- Update gen-closure-declarations to 0.5.0 (#5360) ([commit](https://github.com/Polymer/polymer/commit/9dbc8728))
- Add TypeScript types for observer parameters. (#5359) ([commit](https://github.com/Polymer/polymer/commit/912c19cc))
- Add missing return type to attributeChanged ([commit](https://github.com/Polymer/polymer/commit/239e99a5))
- Add specific type for behaviors ([commit](https://github.com/Polymer/polymer/commit/bf02bd32))
- Improve typings for legacy elements ([commit](https://github.com/Polymer/polymer/commit/d6d3c822))
- Add @export ([commit](https://github.com/Polymer/polymer/commit/84b69918))
- Improve types of flattened-nodes-observer further. ([commit](https://github.com/Polymer/polymer/commit/29428a82))
- Add cast for compilation ([commit](https://github.com/Polymer/polymer/commit/b0aa913d))
- Only generate types once on Travis ([commit](https://github.com/Polymer/polymer/commit/2a497433))
- Move type generation from prepack to prepare ([commit](https://github.com/Polymer/polymer/commit/104e3e56))
- Collapse imports for file into one statement ([commit](https://github.com/Polymer/polymer/commit/82e705f7))
- Cleanup modulizer conversion leftovers (#5347) ([commit](https://github.com/Polymer/polymer/commit/448093b6))
- Add comments re: need for mixing in before metaprogramming ([commit](https://github.com/Polymer/polymer/commit/d93cbfa5))
- regen-package-lock ([commit](https://github.com/Polymer/polymer/commit/2d06ff59))
- Don't run Firefox in headless mode. ([commit](https://github.com/Polymer/polymer/commit/44fcb9db))
- Fix jsdoc syntax. ([commit](https://github.com/Polymer/polymer/commit/8d4e04bc))
- Updates based on code review. Add computed tests. ([commit](https://github.com/Polymer/polymer/commit/ae1b4173))
- Use type generator binary instead of gulp script. ([commit](https://github.com/Polymer/polymer/commit/a5afc8f1))
- Remove unnecessary @const. ([commit](https://github.com/Polymer/polymer/commit/89cc5c62))
- Add return description. ([commit](https://github.com/Polymer/polymer/commit/7901dc9d))
- Grandfather defaulting sanitizeDOMValue from legacy Polymer object. ([commit](https://github.com/Polymer/polymer/commit/d5672dcf))
- Minor changes to formatting and jsdoc ([commit](https://github.com/Polymer/polymer/commit/d5935a9c))
- Update paths in gulpfile ([commit](https://github.com/Polymer/polymer/commit/f845842f))
- Fix mixin jsdoc. ([commit](https://github.com/Polymer/polymer/commit/2d2320e5))
- Add legacy-data-mixin as 1.x->2.x/3.x migration aide. Fixes #5262. ([commit](https://github.com/Polymer/polymer/commit/e385e49b))
- Fix jsdoc to pass lint ([commit](https://github.com/Polymer/polymer/commit/33828f38))
- Add documentation to boot.js ([commit](https://github.com/Polymer/polymer/commit/27036ea6))
- The return type of mixinBehaviors is unknown ([commit](https://github.com/Polymer/polymer/commit/6cf5f9d0))
- Export EventApi, same as DomApi ([commit](https://github.com/Polymer/polymer/commit/b71f9f4e))
- Remove undocumented logging feature (#5331) ([commit](https://github.com/Polymer/polymer/commit/33ab3ae6))
- Cleanup element-mixin leftovers from modulizer ([commit](https://github.com/Polymer/polymer/commit/dae63e3d))
- Use case-map lib in a saner way. ([commit](https://github.com/Polymer/polymer/commit/7241ec58))
- Fix a grab bag of closure compiler warnings. ([commit](https://github.com/Polymer/polymer/commit/658d1cf7))
- Protect DomModule.import against renaming ([commit](https://github.com/Polymer/polymer/commit/aaf2cca0))
- Add @nocollapse for jscompiler ([commit](https://github.com/Polymer/polymer/commit/4e4db700))
- Ensure boot.js can only be parsed as a module ([commit](https://github.com/Polymer/polymer/commit/a64dfb08))
- Use simpler class declaration and export form (#5325) ([commit](https://github.com/Polymer/polymer/commit/6dc01841))
- Ensure unresolved.js is an es module (#5324) ([commit](https://github.com/Polymer/polymer/commit/20d4e35c))
- Move version to ElementMixin prototype ([commit](https://github.com/Polymer/polymer/commit/2957e9d4))
- Use relative path module specifier in gen-tsd autoImport setting. ([commit](https://github.com/Polymer/polymer/commit/76cf2af1))
- Update TemplateStamp event listen param types from Node to EventTarget. (#5320) ([commit](https://github.com/Polymer/polymer/commit/e8167f7f))
- Add test for direct assignment to template. ([commit](https://github.com/Polymer/polymer/commit/7644464c))
- Add a template setter to ElementMixin. ([commit](https://github.com/Polymer/polymer/commit/d27b4a12))
- Export the current Polymer version in polymer-element.js ([commit](https://github.com/Polymer/polymer/commit/05c62f44))
- Make Polymer gestures library safe for Closure property renaming (take 2). (#5314) ([commit](https://github.com/Polymer/polymer/commit/6847cf47))
- Make event notification handler read the value from currentTarget, (#5313) ([commit](https://github.com/Polymer/polymer/commit/db2f3cc7))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/0bf1e60c))
- Upstream externs changes for DomRepeatEvent ([commit](https://github.com/Polymer/polymer/commit/e3b9d4e6))
- Back to single template getter. Add more comments. ([commit](https://github.com/Polymer/polymer/commit/10d657b3))
- Revert to legacy template getter, update tests. ([commit](https://github.com/Polymer/polymer/commit/c4b94a02))
- More updates based on code review. ([commit](https://github.com/Polymer/polymer/commit/376f44c4))
- Fix allowTemplateFromDomModule opt-in ([commit](https://github.com/Polymer/polymer/commit/36727379))
- Fix lint warnings. ([commit](https://github.com/Polymer/polymer/commit/a199aa91))
- Updates based on code review. ([commit](https://github.com/Polymer/polymer/commit/36c4dfa9))
- npm upgrade dependencies ([commit](https://github.com/Polymer/polymer/commit/a515c992))
- Fix lint warnings. ([commit](https://github.com/Polymer/polymer/commit/a0c5268c))
- Catch errors on top window using uncaughtErrorFilter Works around safari quirk when running in iframe ([commit](https://github.com/Polymer/polymer/commit/47ade191))
- Fix latent (benign) error thrown when removing dom-if via innerHTML. ([commit](https://github.com/Polymer/polymer/commit/e3066924))
- Use setting via setStrictTemplatePolicy export. ([commit](https://github.com/Polymer/polymer/commit/8667b895))
- Add tests. ([commit](https://github.com/Polymer/polymer/commit/625372ea))
- Implement opt-in `strictTemplatePolicy` (flag TBD) - disable dom-bind - disable dom-module template lookup - disable templatizer of templates not stamped in trusted polymer template ([commit](https://github.com/Polymer/polymer/commit/2e6df0ee))
- Ensure properties is only called once ([commit](https://github.com/Polymer/polymer/commit/63c7fc00))
- Remove dom-module in test ([commit](https://github.com/Polymer/polymer/commit/617cb4c9))
## [v3.0.5](https://github.com/Polymer/polymer/tree/v3.0.5) (2018-07-30)
- Add more missing .d.ts files from being npm published. ([commit](https://github.com/Polymer/polymer/commit/f372ea89))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/1a9e81c2))
## [v3.0.4](https://github.com/Polymer/polymer/tree/v3.0.4) (2018-07-30)
- Ensure generated interfaces.d.ts is included in npm package ([commit](https://github.com/Polymer/polymer/commit/003b0518))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/028a718c))
## [v3.0.3](https://github.com/Polymer/polymer/tree/v3.0.3) (2018-07-30)
- rebuild package-lock ([commit](https://github.com/Polymer/polymer/commit/95bbefd0))
- Generate typings for Polymer 3. ([commit](https://github.com/Polymer/polymer/commit/536030ac))
- Revert Promise<void> changes. ([commit](https://github.com/Polymer/polymer/commit/ac6011e0))
- Lint fixes. ([commit](https://github.com/Polymer/polymer/commit/73ae8b4d))
- Restore some externs. ([commit](https://github.com/Polymer/polymer/commit/8b1e7934))
- Upstream a bunch of g3 changes. ([commit](https://github.com/Polymer/polymer/commit/3b817192))
- Add no-unused-vars eslint suppressions. ([commit](https://github.com/Polymer/polymer/commit/745883ea))
- Annotate another two ephemeral classes. ([commit](https://github.com/Polymer/polymer/commit/c96b4502))
- Mark some ephemeral super classes as private. ([commit](https://github.com/Polymer/polymer/commit/8728287f))
- Annotate Node parameter as not null. ([commit](https://github.com/Polymer/polymer/commit/642f94f8))
- Annotate some internal classes as private. ([commit](https://github.com/Polymer/polymer/commit/fa58519c))
- Fix some appliesMixin annotations still with Polymer namespace. ([commit](https://github.com/Polymer/polymer/commit/a0a6c6b9))
- TypeScript generator config and extra interfaces for Polymer 3. ([commit](https://github.com/Polymer/polymer/commit/3ac7eed2))
- Tweaks to make Polymer 3 more amenable to typings generation. ([commit](https://github.com/Polymer/polymer/commit/605c8912))
- Fix gulp 4 issues ([commit](https://github.com/Polymer/polymer/commit/4f0337a5))
- Extend Safari exceptions beyond 10.1 ([commit](https://github.com/Polymer/polymer/commit/a78732ff))
- Ignore shady CSS scoping in getComposedHTML ([commit](https://github.com/Polymer/polymer/commit/b1aa3058))
- Fix method to force CE polyfill on in 3.x ([commit](https://github.com/Polymer/polymer/commit/84455c9c))
- Convert object to class for better compilation ([commit](https://github.com/Polymer/polymer/commit/b2681170))
- Fix Typo in Readme (#5260) ([commit](https://github.com/Polymer/polymer/commit/665901ab))
- regen package-lock.json ([commit](https://github.com/Polymer/polymer/commit/a7152dd5))
- Update supported browsers in issue template ([commit](https://github.com/Polymer/polymer/commit/1bd28098))
- Remove modulized comment ([commit](https://github.com/Polymer/polymer/commit/07f26b26))
- Update package.lock ([commit](https://github.com/Polymer/polymer/commit/1e1709cc))
- Fix typo in jsdoc (#5248) ([commit](https://github.com/Polymer/polymer/commit/218189e2))
- Replace .npmignore with package.json "files" option. (#5245) ([commit](https://github.com/Polymer/polymer/commit/eb84ea04))
- Spelling ([commit](https://github.com/Polymer/polymer/commit/2eade585))
- Update template docs (#5233) ([commit](https://github.com/Polymer/polymer/commit/31e5d058))
- fix lint ([commit](https://github.com/Polymer/polymer/commit/44e725b8))
- Port disabled fixes from 2.x ([commit](https://github.com/Polymer/polymer/commit/358a1c67))
- Update repo URL ([commit](https://github.com/Polymer/polymer/commit/cdb34fc8))
- Add badges ([commit](https://github.com/Polymer/polymer/commit/41d69801))
- Update development instructions for 3.0 (#5226) ([commit](https://github.com/Polymer/polymer/commit/83ab5a14))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/e366b368))
- Closure extern update ([commit](https://github.com/Polymer/polymer/commit/3c23d673))
- Add user-importable files to `bower.json`'s `main` field for modulizer. ([commit](https://github.com/Polymer/polymer/commit/40e312f8))
## [v3.0.2](https://github.com/Polymer/polymer/tree/v3.0.2) (2018-05-09)
- Add back modulizer manifest ([commit](https://github.com/Polymer/polymer/commit/d32797e9))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/4794b323))
## [v3.0.1](https://github.com/Polymer/polymer/tree/v3.0.1) (2018-05-09)
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/3a4b8b89))
- Remove importHref from 3.0 ([commit](https://github.com/Polymer/polymer/commit/fd416a21))
## [v3.0.0](https://github.com/Polymer/polymer/tree/v3.0.0) (2018-05-08)
- use released versions of shadycss and webcomponentsjs ([commit](https://github.com/Polymer/polymer/commit/8f79ec40))
- Bump dependencies ([commit](https://github.com/Polymer/polymer/commit/8894e22b))
- Run Chrome & FF serially to try and help flakiness ([commit](https://github.com/Polymer/polymer/commit/95740463))
- Fix lint warning ([commit](https://github.com/Polymer/polymer/commit/ecf36f8a))
- Bump to cli 1.7.0 ([commit](https://github.com/Polymer/polymer/commit/ccb29d27))
- Removing support for returning strings from template getter. (Per previous documented deprecation: https://www.polymer-project.org/2.0/docs/devguide/dom-template#templateobject) ([commit](https://github.com/Polymer/polymer/commit/ba4491d5))
- Fix typos and nits ([commit](https://github.com/Polymer/polymer/commit/c54ff70a))
- Update to Gulp 4 ([commit](https://github.com/Polymer/polymer/commit/4e31768c))
- Add serve command to package.json and update package-lock.json ([commit](https://github.com/Polymer/polymer/commit/eb72d5aa))
- Fix for browsers that don't have input.labels. ([commit](https://github.com/Polymer/polymer/commit/036e4f66))
- Tweak introductory note, fix webpack capitalization ([commit](https://github.com/Polymer/polymer/commit/b823620e))
- gestures: Avoid spreading non-iterable in older browsers ([commit](https://github.com/Polymer/polymer/commit/2ce4f700))
- wip ([commit](https://github.com/Polymer/polymer/commit/f4534c6a))
- Readme: very small tweaks ([commit](https://github.com/Polymer/polymer/commit/d896cdd0))
- Tweak wording. ([commit](https://github.com/Polymer/polymer/commit/fb7630c3))
- Fix link ([commit](https://github.com/Polymer/polymer/commit/fc0ce189))
- Re-order sections ([commit](https://github.com/Polymer/polymer/commit/ee6a67ee))
- Fix LitElement typo ([commit](https://github.com/Polymer/polymer/commit/928c47fc))
- Depend on polymer-cli rather than wct ([commit](https://github.com/Polymer/polymer/commit/503f5631))
- Minor tweaks ([commit](https://github.com/Polymer/polymer/commit/e924ba86))
- Update README for 3.x ([commit](https://github.com/Polymer/polymer/commit/956bba73))
- Update Edge testing versions. ([commit](https://github.com/Polymer/polymer/commit/445c979b))
- Exclude all Edge versions from keyframe/font tests. ([commit](https://github.com/Polymer/polymer/commit/85278860))
- Update wcjs version. ([commit](https://github.com/Polymer/polymer/commit/4805e31f))
- Add .npmignore file (#5215) ([commit](https://github.com/Polymer/polymer/commit/b3c36df7))
- Use node 9 ([commit](https://github.com/Polymer/polymer/commit/0bb5d7c5))
- Use module flags for wct ([commit](https://github.com/Polymer/polymer/commit/8abf2ec9))
- Use babel parser for aslant for dynamic import. ([commit](https://github.com/Polymer/polymer/commit/bddeff4a))
- Fix lint errors. ([commit](https://github.com/Polymer/polymer/commit/dea23515))
- 3.0.0-pre.13 ([commit](https://github.com/Polymer/polymer/commit/da2d66dc))
- [package.json] Remove version script ([commit](https://github.com/Polymer/polymer/commit/e88c1eef))
- Update dependencies ([commit](https://github.com/Polymer/polymer/commit/1ed2b310))
- Fix test typo on Chrome ([commit](https://github.com/Polymer/polymer/commit/a11febe7))
- Fixes IE11 test issues ([commit](https://github.com/Polymer/polymer/commit/8b5803c2))
- Fixes styling tests related to using HTML Imports ([commit](https://github.com/Polymer/polymer/commit/26747422))
- Remove crufty global (fixes globals.html test) ([commit](https://github.com/Polymer/polymer/commit/676f5f3d))
- Update to webcomponents 2.0.0 and webcomponents-bundle.js ([commit](https://github.com/Polymer/polymer/commit/a4d80d09))
- Fix meaningful whitespace in test assertion ([commit](https://github.com/Polymer/polymer/commit/bff03b2d))
- Fix latent mistake using old SD API ([commit](https://github.com/Polymer/polymer/commit/3f24f71d))
- Add global for wct callback when amd compiling ([commit](https://github.com/Polymer/polymer/commit/7f9de46c))
- Eliminate pre-module code from resolveUrl tests ([commit](https://github.com/Polymer/polymer/commit/a93f81f1))
- Improve documentation and legibility. ([commit](https://github.com/Polymer/polymer/commit/ab103dc1))
- Add some global whitelists ([commit](https://github.com/Polymer/polymer/commit/d6821e45))
- Fix references to js files instead of html files ([commit](https://github.com/Polymer/polymer/commit/dfcaadb2))
- Fix glob patterns for eslint ([commit](https://github.com/Polymer/polymer/commit/206cf724))
- Fix ESLint warnings ([commit](https://github.com/Polymer/polymer/commit/6d240138))
- Eliminate more canonical path usage ([commit](https://github.com/Polymer/polymer/commit/1761c79b))
- Eliminate canonical path to wcjs ([commit](https://github.com/Polymer/polymer/commit/4b7cd869))
- Remove extra polymer-legacy.js imports ([commit](https://github.com/Polymer/polymer/commit/f39aaa8c))
- Clean up Polymer fn import ([commit](https://github.com/Polymer/polymer/commit/8069dff4))
- Add WCT config used by all tests ([commit](https://github.com/Polymer/polymer/commit/f1266845))
- Clean up exports ([commit](https://github.com/Polymer/polymer/commit/0b75920f))
- Allow Polymer fn's call to Class to be overridden. ([commit](https://github.com/Polymer/polymer/commit/65d73f17))
- add sill-relevant, deleted tests back in ([commit](https://github.com/Polymer/polymer/commit/180a92ff))
- manually change inter-package dep imports from paths to names ([commit](https://github.com/Polymer/polymer/commit/d913614d))
- manually add assetpath (import.meta.url) for tests that require it ([commit](https://github.com/Polymer/polymer/commit/0c850659))
- move behavior definition to before usage ([commit](https://github.com/Polymer/polymer/commit/09b11fa4))
- define omitted class declaration ([commit](https://github.com/Polymer/polymer/commit/ec36165e))
- remove < and replace with < for innerHTML ([commit](https://github.com/Polymer/polymer/commit/5ce0d24d))
- fixed typo causing test to fail ([commit](https://github.com/Polymer/polymer/commit/0caa7dab))
- fix missing dom-module in modulization ([commit](https://github.com/Polymer/polymer/commit/6c7c770c))
- revert module wait ([commit](https://github.com/Polymer/polymer/commit/12a650b1))
- wait for elements in other modules to be defined ([commit](https://github.com/Polymer/polymer/commit/f0376406))
- no more undefined.hasShadow ([commit](https://github.com/Polymer/polymer/commit/0985652e))
- removed link rel import type css tests ([commit](https://github.com/Polymer/polymer/commit/57d4190c))
- delete debugger ([commit](https://github.com/Polymer/polymer/commit/6905dd10))
- skip link rel import type css tests on native imports ([commit](https://github.com/Polymer/polymer/commit/811ee301))
- add missing css html import ([commit](https://github.com/Polymer/polymer/commit/a52148a3))
- remove importHref tests ([commit](https://github.com/Polymer/polymer/commit/a84ad782))
- Import Polymer function in tests from legacy/polymer-fn.js ([commit](https://github.com/Polymer/polymer/commit/232b0042))
- Export Polymer function from polymer-legacy.js ([commit](https://github.com/Polymer/polymer/commit/69f488b2))
- Add new wct deps. ([commit](https://github.com/Polymer/polymer/commit/a4bedbfd))
- Fixup a few places where comments were misplaced. ([commit](https://github.com/Polymer/polymer/commit/ac2fa81f))
- Fixup license comments. ([commit](https://github.com/Polymer/polymer/commit/f664f251))
- Update package.json from modulizer's output, set polymer-element.js as main. ([commit](https://github.com/Polymer/polymer/commit/5abf4728))
- Replace sources with modulizer output. ([commit](https://github.com/Polymer/polymer/commit/cf3b7215))
- Rename HTML files to .js files to trick git's rename detection. ([commit](https://github.com/Polymer/polymer/commit/527d2cdd))
- Delete typings for now. ([commit](https://github.com/Polymer/polymer/commit/03d85982))
- Add reasoning for suppress missingProperties ([commit](https://github.com/Polymer/polymer/commit/61ca60e4))
- Don't rely on dom-module synchronously until WCR. ([commit](https://github.com/Polymer/polymer/commit/e64bd0ba))
- Avoid closure warnings. ([commit](https://github.com/Polymer/polymer/commit/412bb1e0))
- Add ability to define importMeta on legacy elements. Fixes #5163 ([commit](https://github.com/Polymer/polymer/commit/616f6662))
- Allow legacy element property definitions with only a type. Fixes #5173 ([commit](https://github.com/Polymer/polymer/commit/d321c6c9))
- Update docs. ([commit](https://github.com/Polymer/polymer/commit/c8c9e24d))
- Use Polymer.ResolveUrl.pathFromUrl ([commit](https://github.com/Polymer/polymer/commit/d9d3e439))
- Fix test under shadydom. Slight logic refactor. ([commit](https://github.com/Polymer/polymer/commit/2128ebe2))
- Fix lint warning ([commit](https://github.com/Polymer/polymer/commit/fb741ee3))
- Add importMeta getter to derive importPath from modules. Fixes #5163 ([commit](https://github.com/Polymer/polymer/commit/f7672da9))
- Reference dependencies as siblings in tests. ([commit](https://github.com/Polymer/polymer/commit/2561d868))
- Update types ([commit](https://github.com/Polymer/polymer/commit/23ba7dee))
- Add note about performance vs correctness ([commit](https://github.com/Polymer/polymer/commit/89ab7385))
- Update types. ([commit](https://github.com/Polymer/polymer/commit/5357d64a))
- Lint clean. ([commit](https://github.com/Polymer/polymer/commit/f78b0518))
- Pass through fourth namespace param on attributeChangedCallback. ([commit](https://github.com/Polymer/polymer/commit/91d4aeba))
- Add a @const annotation to help the Closure Compiler understand that Polymer.Debouncer is the name of a type. ([commit](https://github.com/Polymer/polymer/commit/e5a5725d))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/92d282a9))
- Update docs and types ([commit](https://github.com/Polymer/polymer/commit/211c223f))
- Update perf test to use strict-binding-parser ([commit](https://github.com/Polymer/polymer/commit/f53e9e8a))
- Correct import paths ([commit](https://github.com/Polymer/polymer/commit/ab93ab08))
- Only store method once for dynamic functions ([commit](https://github.com/Polymer/polymer/commit/0f0ccdad))
- Move strict-binding-parser to lib/mixins ([commit](https://github.com/Polymer/polymer/commit/a4d4eb9a))
- Rename to StrictBindingParser ([commit](https://github.com/Polymer/polymer/commit/19d4b8cb))
- Fix linter errors ([commit](https://github.com/Polymer/polymer/commit/d8cf449e))
- Extract to a mixin ([commit](https://github.com/Polymer/polymer/commit/57a14236))
- Add missing dependency to bower.json ([commit](https://github.com/Polymer/polymer/commit/333a4664))
- Fix linter warning ([commit](https://github.com/Polymer/polymer/commit/14fac019))
- Add documentation ([commit](https://github.com/Polymer/polymer/commit/df0ee354))
- Add performance test for binding-expressions ([commit](https://github.com/Polymer/polymer/commit/42f7d785))
- Rewrite parser to use switch-case instead of functions ([commit](https://github.com/Polymer/polymer/commit/423074d1))
- Remove escaping from bindings ([commit](https://github.com/Polymer/polymer/commit/8cd49479))
- Fix linter warning ([commit](https://github.com/Polymer/polymer/commit/8a5525b0))
- Refactor to be functional and add more tests ([commit](https://github.com/Polymer/polymer/commit/7eb1a627))
- Fix linter warnings ([commit](https://github.com/Polymer/polymer/commit/79d05b8a))
- Rewrite expression parser to state machine ([commit](https://github.com/Polymer/polymer/commit/13b834df))
## [v2.6.0](https://github.com/Polymer/polymer/tree/v2.6.0) (2018-03-22)
- Use function instead of Set ([commit](https://github.com/Polymer/polymer/commit/33d2e1a8))
- [ci skip] Fix typo ([commit](https://github.com/Polymer/polymer/commit/0d1b1c2e))
- Fix test in shady DOM ([commit](https://github.com/Polymer/polymer/commit/a586b72c))
- Deduplicate style includes ([commit](https://github.com/Polymer/polymer/commit/acfef71d))
- use a clearer test for shadowRoot ([commit](https://github.com/Polymer/polymer/commit/b2fb1cfd))
- Returning null in template should nullify parent template ([commit](https://github.com/Polymer/polymer/commit/2a6c0a2a))
- [ci skip] Add clarifying comment ([commit](https://github.com/Polymer/polymer/commit/0573d483))
- Correct the JSBin version ([commit](https://github.com/Polymer/polymer/commit/cb1ae7d3))
- Put attribute capitalization fix in property-effects ([commit](https://github.com/Polymer/polymer/commit/d45dd575))
- Add note about pre v3 releases ([commit](https://github.com/Polymer/polymer/commit/f9391618))
- Add note for npm package ([commit](https://github.com/Polymer/polymer/commit/8f2cc0d5))
- Add iron-component-page dev-dependency ([commit](https://github.com/Polymer/polymer/commit/d93dd1ce))
- Update several gulp dependencies ([commit](https://github.com/Polymer/polymer/commit/ca57a1f3))
- Update dom5 to 3.0.0 ([commit](https://github.com/Polymer/polymer/commit/d4a0914e))
- Update Google Closure Compiler version and fix cast ([commit](https://github.com/Polymer/polymer/commit/4004c9c4))
- Update types ([commit](https://github.com/Polymer/polymer/commit/bb61a20d))
- Fix several issues in the documentation of dom-* elements ([commit](https://github.com/Polymer/polymer/commit/8e1b3f45))
- Handle `disabled` attribute correctly for tap gesture ([commit](https://github.com/Polymer/polymer/commit/5c0f3e6a))
- add test case for nested label ([commit](https://github.com/Polymer/polymer/commit/c11c99b2))
- Add docs and cleanup matchingLabels ([commit](https://github.com/Polymer/polymer/commit/e1df1662))
- Add tests ([commit](https://github.com/Polymer/polymer/commit/70edf1f8))
- update types ([commit](https://github.com/Polymer/polymer/commit/2d674e75))
- fix tests and add dependency import ([commit](https://github.com/Polymer/polymer/commit/a37ba7e2))
- fix typings ([commit](https://github.com/Polymer/polymer/commit/8f8135b2))
- Ensure DisableUpgradeMixin extends PropertiesMixin ([commit](https://github.com/Polymer/polymer/commit/7e74e363))
- Format comment and remove deduping mixin ([commit](https://github.com/Polymer/polymer/commit/b8c66ded))
- update types ([commit](https://github.com/Polymer/polymer/commit/1fd5f9cf))
- update types ([commit](https://github.com/Polymer/polymer/commit/5bc45ce3))
- Add mixin to automatically detect capitalized HTML attributes ([commit](https://github.com/Polymer/polymer/commit/37fd5ffe))
- Add instructions for locally viewing the source documentation ([commit](https://github.com/Polymer/polymer/commit/206d3610))
- Simplify condition checking in stylesFromModule function ([commit](https://github.com/Polymer/polymer/commit/e6903821))
- Bump type generator and generate new typings. (#5119) ([commit](https://github.com/Polymer/polymer/commit/5c027309))
- dispatchEvent returns boolean (#5117) ([commit](https://github.com/Polymer/polymer/commit/9d86135c))
- Update types ([commit](https://github.com/Polymer/polymer/commit/63e7bbc7))
- Fix license links ([commit](https://github.com/Polymer/polymer/commit/f3939875))
- Fix issue with not genering the Templatizer docs ([commit](https://github.com/Polymer/polymer/commit/55708acf))
- Bump TS type generator to pick up transitive mixin handling. ([commit](https://github.com/Polymer/polymer/commit/c3dad540))
- Remove unnecessary mutableData property from MutableData mixin ([commit](https://github.com/Polymer/polymer/commit/92b83249))
- Update types ([commit](https://github.com/Polymer/polymer/commit/868fba7c))
- Add note to updateStyles regarding updates to CSS mixins ([commit](https://github.com/Polymer/polymer/commit/d458bab3))
- Avoid timing issues with polyfilled Promise ([commit](https://github.com/Polymer/polymer/commit/6b3e007e))
- Revert use of async/await due to lack of build/serve support. ([commit](https://github.com/Polymer/polymer/commit/d4a7a45b))
- Revert types. ([commit](https://github.com/Polymer/polymer/commit/dea90802))
- Update eslint parserOptions to es2017 for async/await support. ([commit](https://github.com/Polymer/polymer/commit/ef579e29))
- Use stronger check for PropertyEffects clients. Fixes #5017 ([commit](https://github.com/Polymer/polymer/commit/e6d558ec))
- Remove unneeded file ([commit](https://github.com/Polymer/polymer/commit/a5393b6d))
- [PropertiesChanged]: allow old data to be gc'd after `_propertiesChanged` ([commit](https://github.com/Polymer/polymer/commit/74907b9a))
- Update package-lock.json ([commit](https://github.com/Polymer/polymer/commit/c58f3e0d))
- Make Travis update-types failure style the same as the elements. ([commit](https://github.com/Polymer/polymer/commit/8189382d))
- Bump TypeScript generator version. ([commit](https://github.com/Polymer/polymer/commit/3e432190))
- Make EventApi.path EventTarget type non-nullable. ([commit](https://github.com/Polymer/polymer/commit/3ede9b51))
- Lint and type fixes ([commit](https://github.com/Polymer/polymer/commit/5607a2d8))
- [PropertiesChanged]: adds _shouldPropertiesChange ([commit](https://github.com/Polymer/polymer/commit/c1885a6a))
- Update docs: templatize() cannot be called multiple times ([commit](https://github.com/Polymer/polymer/commit/27fc21c5))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/65b4df86))
- Update types. ([commit](https://github.com/Polymer/polymer/commit/c3b6236a))
- Fix JSDoc example formatting ([commit](https://github.com/Polymer/polymer/commit/699cd87f))
- Use latest webcomponents polyfill bundle ([commit](https://github.com/Polymer/polymer/commit/8fef6776))
- Fix label tap by checking matched label pairs ([commit](https://github.com/Polymer/polymer/commit/a77d64e5))
- Defer creation related work via `disable-upgrade` ([commit](https://github.com/Polymer/polymer/commit/a7eb9754))
- lint fixes ([commit](https://github.com/Polymer/polymer/commit/de0ac5a2))
- Adds `Polymer.DisableUpgradeMixin` ([commit](https://github.com/Polymer/polymer/commit/62ce3148))
## [v2.5.0](https://github.com/Polymer/polymer/tree/v2.5.0) (2018-02-02)
- Update types ([commit](https://github.com/Polymer/polymer/commit/5fa059fa))
- Update JSDocs to use <dom-repeat> tags ([commit](https://github.com/Polymer/polymer/commit/636abae0))
- Fix type declarations inadvertedtly referencing Polymer.Element. (#5084) ([commit](https://github.com/Polymer/polymer/commit/82cd3dad))
- Use class syntax in <dom-repeat> documentation (#5077) ([commit](https://github.com/Polymer/polymer/commit/97837c7c))
- Add hash/abs URL resolution tests. ([commit](https://github.com/Polymer/polymer/commit/d97373dd))
- Update types. ([commit](https://github.com/Polymer/polymer/commit/892df3f3))
- Add comments about resolveUrl idiosyncrasies. ([commit](https://github.com/Polymer/polymer/commit/a829cbce))
- Revert "Move absolute url logic to element-mixin" ([commit](https://github.com/Polymer/polymer/commit/127bc866))
- Added Polymer.version to polymer-externs (#5079) ([commit](https://github.com/Polymer/polymer/commit/b52ab81d))
- Avoid tracking parentNode since it's unncessary ([commit](https://github.com/Polymer/polymer/commit/1463e3b2))
- Update types. ([commit](https://github.com/Polymer/polymer/commit/2253e0db))
- Fix nit. ([commit](https://github.com/Polymer/polymer/commit/c9208fd6))
- Avoid comment constructor for IE support. ([commit](https://github.com/Polymer/polymer/commit/a39cfd11))
- Disallow non-templates as interpolations in Polymer.html (#5023) ([commit](https://github.com/Polymer/polymer/commit/eeb71600))
- Exclude index.html from type generation. (#5076) ([commit](https://github.com/Polymer/polymer/commit/6fc285c4))
- update types ([commit](https://github.com/Polymer/polymer/commit/5521e43e))
- [element-mixin] Do not create property accessors unless a property effect exists ([commit](https://github.com/Polymer/polymer/commit/4177d9ce))
- Use containers for testing again (#5070) ([commit](https://github.com/Polymer/polymer/commit/5e2990e3))
- Invoke JS compiler rename for properties ([commit](https://github.com/Polymer/polymer/commit/74a4626a))
- Add package-lock.json back ([commit](https://github.com/Polymer/polymer/commit/c90eeb67))
- fix test. ([commit](https://github.com/Polymer/polymer/commit/1c74ecde))
- Enhance robustness by replacing slot with a comment ([commit](https://github.com/Polymer/polymer/commit/b76d81ee))
- Avoid use of element accessors on doc frag to fix IE/Edge. ([commit](https://github.com/Polymer/polymer/commit/ecb1005e))
- Fix linter errors ([commit](https://github.com/Polymer/polymer/commit/5e0bee77))
- Fix issue with observers being called twice ([commit](https://github.com/Polymer/polymer/commit/291e4f56))
- Revert package-lock change ([commit](https://github.com/Polymer/polymer/commit/86ecd982))
- [ci-skip] Update changelog (2.4.0) ([commit](https://github.com/Polymer/polymer/commit/cb88252d))
- Add package-lock.json to .gitignore ([commit](https://github.com/Polymer/polymer/commit/e53db30f))
- Update types ([commit](https://github.com/Polymer/polymer/commit/7a52cda2))
- Add comments re: instanceProps ([commit](https://github.com/Polymer/polymer/commit/cf5f818e))
- Change if-condition to check for arguments.length ([commit](https://github.com/Polymer/polymer/commit/27750109))
- Delete package-lock.json ([commit](https://github.com/Polymer/polymer/commit/e77149e2))
- [ci skip] Fix test case name ([commit](https://github.com/Polymer/polymer/commit/eee609d4))
- Fix issue where el.splice could not clear full array ([commit](https://github.com/Polymer/polymer/commit/a51de9e3))
- Make owner optional as well. ([commit](https://github.com/Polymer/polymer/commit/b52c315e))
- Update package-lock.json ([commit](https://github.com/Polymer/polymer/commit/38c0e443))
- Update typescript types again, after fixing jsdoc. ([commit](https://github.com/Polymer/polymer/commit/3045e4b7))
- Fix lint warnings. ([commit](https://github.com/Polymer/polymer/commit/715cde47))
- Update typescript types. ([commit](https://github.com/Polymer/polymer/commit/c218ae62))
- Ensure path notifications from templatized instances don't throw. Fixes #3422 ([commit](https://github.com/Polymer/polymer/commit/a9f71bd1))
- Allow templatizer to be used without owner or host prop forwarding. Fixes #4458 ([commit](https://github.com/Polymer/polymer/commit/bde5898e))
- Templatize: remove slots when hiding children ([commit](https://github.com/Polymer/polymer/commit/ea0abb95))
- Clarify API docs for PropertyAccessors mixin ([commit](https://github.com/Polymer/polymer/commit/ae58e88b))
## [v2.4.0](https://github.com/Polymer/polymer/tree/v2.4.0) (2018-01-26)
- Simplify code for <dom-repeat>'s `sort` and `filter` properties ([commit](https://github.com/Polymer/polymer/commit/88cca860))
- fix test for normal escaping ([commit](https://github.com/Polymer/polymer/commit/5fa02aa2))
- Use javascript string escaping in Polymer.html ([commit](https://github.com/Polymer/polymer/commit/4c662141))
- [ci skip] Add CODEOWNERS file (#5061) ([commit](https://github.com/Polymer/polymer/commit/90199f3b))
- Fix incorrect path modification in dom-repeat __handleObservedPaths() (#4983) (#5048) ([commit](https://github.com/Polymer/polymer/commit/4b58f54b))
- Skip certain tests in Edge 16 ([commit](https://github.com/Polymer/polymer/commit/09897d18))
- add Edge 16 testing ([commit](https://github.com/Polymer/polymer/commit/36fa08ae))
- Fix tests (#5050) ([commit](https://github.com/Polymer/polymer/commit/ecd1ba3a))
- Update to latest wct. ([commit](https://github.com/Polymer/polymer/commit/a85ff3fc))
- HTTPS, please ([commit](https://github.com/Polymer/polymer/commit/c868575c))
- Remove unnecessary limit check ([commit](https://github.com/Polymer/polymer/commit/5fb9c559))
- Fix documentation in typescript ([commit](https://github.com/Polymer/polymer/commit/bc95c5ad))
- test(logging): improve _log with single parameter with sinon.spy ([commit](https://github.com/Polymer/polymer/commit/9891f31a))
- Add article "a" ([commit](https://github.com/Polymer/polymer/commit/cefdaa93))
- Update mixinBehaviors annotation. Behaviors don't satisfy PolymerInit. (#5036) ([commit](https://github.com/Polymer/polymer/commit/d7ea2464))
- add correct return type for `querySelectorAll` (#5034) ([commit](https://github.com/Polymer/polymer/commit/6ab5c4a4))
- Gestures: fall back to event.target when composedPath is empty. (#5029) ([commit](https://github.com/Polymer/polymer/commit/98b5aadc))
- add void return type annotations (#5000) ([commit](https://github.com/Polymer/polymer/commit/589684a5))
- Easy script to update closure and typescript typings (#5026) ([commit](https://github.com/Polymer/polymer/commit/60e7121d))
- Prefer jsBin since glitch.me requires signin to not be gc'ed. ([commit](https://github.com/Polymer/polymer/commit/e7722243))
- Note that glitch editing environment is not IE11 friendly. ([commit](https://github.com/Polymer/polymer/commit/06ca708b))
- Add links to glitch.me template using polyserve. Fixes #5016 ([commit](https://github.com/Polymer/polymer/commit/9f2ec5f6))
- Update .travis.yml ([commit](https://github.com/Polymer/polymer/commit/9715ab8f))
- [ci skip] Add comment to aid archeology ([commit](https://github.com/Polymer/polymer/commit/e76a2b90))
- Move absolute url logic to element-mixin ([commit](https://github.com/Polymer/polymer/commit/9c189ac9))
- Use double tabs ([commit](https://github.com/Polymer/polymer/commit/6f7b8608))
- indentation fix ([commit](https://github.com/Polymer/polymer/commit/5dca5cd0))
- Remove trailing spaces and extra lines in CONTRIBUTING.md ([commit](https://github.com/Polymer/polymer/commit/8ed376e6))
- test(logging.html): #5007 make sure _logger called one time ([commit](https://github.com/Polymer/polymer/commit/fe48dfa4))
- _loggertest(logging.html): make seperate test suite for _logger ([commit](https://github.com/Polymer/polymer/commit/bd5821b6))
- test(logging.html): missing semicolon ([commit](https://github.com/Polymer/polymer/commit/df3c3c02))
- test(logging): _log with single parameter #5007 ([commit](https://github.com/Polymer/polymer/commit/818c537d))
- fix(legacy-element-mixin): syntax error in _logger ([commit](https://github.com/Polymer/polymer/commit/e0affe3f))
- fix(legacy-element-mixin): _log with single parameter #5006 ([commit](https://github.com/Polymer/polymer/commit/f4ecbae5))
- Fix settings so that its properly picked up by both gen-ts and modulizer ([commit](https://github.com/Polymer/polymer/commit/0356b2df))
- Unbreak the build by changing back the type ([commit](https://github.com/Polymer/polymer/commit/d5dc2a21))
- Enable gulp generate-typescript on Travis ([commit](https://github.com/Polymer/polymer/commit/764146cd))
- Make sure that Travis fails when there are non-updated generated files ([commit](https://github.com/Polymer/polymer/commit/b2cd4370))
- run `gulp generate-typescript` ([commit](https://github.com/Polymer/polymer/commit/541d1f89))
- fix ArraySplice types to more closely match code ([commit](https://github.com/Polymer/polymer/commit/f6182b34))
- [ProperitesChanged] Fix deserialization (#4996) ([commit](https://github.com/Polymer/polymer/commit/2719a9d6))
- fix(FlattenedNodesObserver): do not fail on node without children ([commit](https://github.com/Polymer/polymer/commit/09bb6cd8))
- Address latest round of comments. ([commit](https://github.com/Polymer/polymer/commit/7b581de9))
- Update PropertyEffects interface name in remap config. ([commit](https://github.com/Polymer/polymer/commit/0ebfc24d))
- Tighten more types for TypeScript and Closure (#4998) ([commit](https://github.com/Polymer/polymer/commit/e8729822))
- Add renameTypes config. ([commit](https://github.com/Polymer/polymer/commit/73666c39))
- New typings. ([commit](https://github.com/Polymer/polymer/commit/a1f33174))
- Bump gen-typescript version. ([commit](https://github.com/Polymer/polymer/commit/266d599a))
- Tighten Closure type annotations. (#4997) ([commit](https://github.com/Polymer/polymer/commit/ee4445f8))
- Mark some FlattenedNodesObserver things private. ([commit](https://github.com/Polymer/polymer/commit/5190a89c))
- Add TypeScript equivalent to Closure ITemplateArray. ([commit](https://github.com/Polymer/polymer/commit/a77310af))
- Fix compilation errors. ([commit](https://github.com/Polymer/polymer/commit/f0e31f2d))
- Use glob patterns instead of RegExps to exclude files. ([commit](https://github.com/Polymer/polymer/commit/8f8e54ca))
- Bump version of gen-typescript-declarations. ([commit](https://github.com/Polymer/polymer/commit/cf11a826))
- Handle case where there are no elements in the template ([commit](https://github.com/Polymer/polymer/commit/2d6b4684))
- Update various Polymer annotations to constrain generated types. ([commit](https://github.com/Polymer/polymer/commit/ffc35e48))
- Fix typo in comment ([commit](https://github.com/Polymer/polymer/commit/ade5e796))
- Fix regression with imported css ([commit](https://github.com/Polymer/polymer/commit/706e6021))
- Bring in latest gen-typescript-declarations updates. ([commit](https://github.com/Polymer/polymer/commit/6a0d214d))
- Apply `listeners` in constructor rather than `ready` ([commit](https://github.com/Polymer/polymer/commit/35e3c54b))
- Replace `disconnectedCallback` stub since this change is breaking. ([commit](https://github.com/Polymer/polymer/commit/c8acc183))
- Minor fixes ([commit](https://github.com/Polymer/polymer/commit/1b514b4f))
- Fix html-tag import path. ([commit](https://github.com/Polymer/polymer/commit/c9be530d))
- Update CHANGELOG. ([commit](https://github.com/Polymer/polymer/commit/3ffb895e))
- Fix import path for html-tag. ([commit](https://github.com/Polymer/polymer/commit/eb309934))
- Add generated TypeScript declarations. ([commit](https://github.com/Polymer/polymer/commit/60450bf4))
- Add script to generate TypeScript declarations. ([commit](https://github.com/Polymer/polymer/commit/1f9be786))
- Annotate klass class as @private. Annotate that dedupingMixin returns T. ([commit](https://github.com/Polymer/polymer/commit/b02c4583))
- fix eslint error for unused var in _setPendingProperty ([commit](https://github.com/Polymer/polymer/commit/a89c9ba0))
- fix closure typing with Polymer.html function ([commit](https://github.com/Polymer/polymer/commit/c519796f))
- re-add AsyncInterface definition, fix comment ([commit](https://github.com/Polymer/polymer/commit/986fb3e9))
- Avoid _setPendingProperty warning due to types not understanding deduping mixin. ([commit](https://github.com/Polymer/polymer/commit/40d47f24))
- [ci skip] Update changelog ([commit](https://github.com/Polymer/polymer/commit/f6cc61bd))
- add test for legacy Polymer({}) elements ([commit](https://github.com/Polymer/polymer/commit/8a1c76cd))
- Rename html-fn to html-tag ([commit](https://github.com/Polymer/polymer/commit/02c06aa3))
- Fix most closure warnings. ([commit](https://github.com/Polymer/polymer/commit/a12934c5))
- Add back disconnectedCallback. ([commit](https://github.com/Polymer/polymer/commit/fa40f205))
- Merge with master ([commit](https://github.com/Polymer/polymer/commit/b158e082))
- Move function out of closure. Add comments. ([commit](https://github.com/Polymer/polymer/commit/ad539fe7))
- [ci skip] TODO for link to docs and comment spellcheck ([commit](https://github.com/Polymer/polymer/commit/5c919850))
- Use values.reduce instead of a temporary array ([commit](https://github.com/Polymer/polymer/commit/be9d6210))
- Add deprecation notice for class.template returning a string ([commit](https://github.com/Polymer/polymer/commit/530a68b4))
- [skip-ci] update comment for Polymer.html ([commit](https://github.com/Polymer/polymer/commit/bdfa5fcb))
- remove null/undefined to empty string ([commit](https://github.com/Polymer/polymer/commit/75d873a0))
- Address feedback ([commit](https://github.com/Polymer/polymer/commit/d5070bbe))
- `html` tag function for generating templates ([commit](https://github.com/Polymer/polymer/commit/1bba3abb))
- Add example for flattened-nodes-observer ([commit](https://github.com/Polymer/polymer/commit/08ad6e37))
- Minor updates based on review. ([commit](https://github.com/Polymer/polymer/commit/ed1454d6))
- Use correct assertation. ([commit](https://github.com/Polymer/polymer/commit/4692510f))
- Add tests for non-JSON literals on object props. ([commit](https://github.com/Polymer/polymer/commit/7d49e803))
- Remove PropertiesElement in favor of PropertiesMixin. ([commit](https://github.com/Polymer/polymer/commit/40f02ea1))
- FIx typo ([commit](https://github.com/Polymer/polymer/commit/8af14800))
- Skip test in old browsers. ([commit](https://github.com/Polymer/polymer/commit/a1bd9a4f))
- Remove `propertyNameForAttribute` since it's never needed. ([commit](https://github.com/Polymer/polymer/commit/8d57a6e9))
- Fix subclassing and simplify. ([commit](https://github.com/Polymer/polymer/commit/e09285db))
- Move property<->attribute case mapping to PropertiesChanged. ([commit](https://github.com/Polymer/polymer/commit/603123e1))
- Allow non-JSON literals when property type is "Object". ([commit](https://github.com/Polymer/polymer/commit/77b17b43))
- Update tests ([commit](https://github.com/Polymer/polymer/commit/82cf96bb))
- [PropertiesMixin] Fix mapping property names from attributes ([commit](https://github.com/Polymer/polymer/commit/feac9328))
- Add test for observing id attribute. ([commit](https://github.com/Polymer/polymer/commit/c56f74f9))
- Cleanup based on review. ([commit](https://github.com/Polymer/polymer/commit/4b9170ab))
- Fix deserializing dates. ([commit](https://github.com/Polymer/polymer/commit/8d24c212))
- Factoring improvements around attribute serialize/deserialize ([commit](https://github.com/Polymer/polymer/commit/a7b46b15))
- Remove crufty comment. ([commit](https://github.com/Polymer/polymer/commit/fb0f90bc))
- Lint fix ([commit](https://github.com/Polymer/polymer/commit/e8c27671))
- Add tests for setting custom `attribute` name ([commit](https://github.com/Polymer/polymer/commit/1e903a94))
- Expose less protected data. ([commit](https://github.com/Polymer/polymer/commit/74fb5151))
- ElementMixin uses PropertiesMixin for ([commit](https://github.com/Polymer/polymer/commit/0fe9434f))
- PropertiesMixin ([commit](https://github.com/Polymer/polymer/commit/3c50f44a))
- PropertyAccessors ([commit](https://github.com/Polymer/polymer/commit/5846d582))
- PropertiesChanged ([commit](https://github.com/Polymer/polymer/commit/05cb5d2c))
- Force literal true` to be set as an attribute with a value of empty string. ([commit](https://github.com/Polymer/polymer/commit/1b501944))
- Better attribute suppport ([commit](https://github.com/Polymer/polymer/commit/c91b9d19))
- fix some formatting and closure linting ([commit](https://github.com/Polymer/polymer/commit/5ae21a08))
- Lint fixes. ([commit](https://github.com/Polymer/polymer/commit/946aad5c))
- Renamed basic element to properties element ([commit](https://github.com/Polymer/polymer/commit/e3e128ba))
- Implement `basic-element` with `properties-changed` ([commit](https://github.com/Polymer/polymer/commit/d26955b4))
- Fix lint issues ([commit](https://github.com/Polymer/polymer/commit/b8fd241a))
- Improve docs and add test for case conversion. ([commit](https://github.com/Polymer/polymer/commit/152f896f))
- Add test to runner. ([commit](https://github.com/Polymer/polymer/commit/dcdb750b))
- Adds `Polymer.BasicElement` ([commit](https://github.com/Polymer/polymer/commit/717a4f41))
- Factor PropertiesChanged out of PropertyAccessors ([commit](https://github.com/Polymer/polymer/commit/aa4f186e))
- Add `accessor` property to properties object ([commit](https://github.com/Polymer/polymer/commit/c7b43f78))
- Factor to treeshake better ([commit](https://github.com/Polymer/polymer/commit/e91b6a75))
## [v2.3.1](https://github.com/Polymer/polymer/tree/v2.3.1) (2017-12-07)
- Add test that would fail with the "last style" behavior in master ([commit](https://github.com/Polymer/polymer/commit/913dfce6))
- Use padding-top to get correct computed style on older safari ([commit](https://github.com/Polymer/polymer/commit/b7c56173))
- Handle styles that are not direct children of templates correctly ([commit](https://github.com/Polymer/polymer/commit/0b1cd70a))
- [ci skip] update changelog again ([commit](https://github.com/Polymer/polymer/commit/2d739c75))
## [v2.3.0](https://github.com/Polymer/polymer/tree/v2.3.0) (2017-12-05)
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/c727d35d))
## [v2.2.1](https://github.com/Polymer/polymer/tree/v2.2.1) (2017-12-05)
- [ci skip] commit new version in lib/utils/boot.html when using npm version ([commit](https://github.com/Polymer/polymer/commit/71fbf6ef))
- change PolymerElement extern to var ([commit](https://github.com/Polymer/polymer/commit/5c3d58aa))
- update node devDependencies ([commit](https://github.com/Polymer/polymer/commit/a39f3f41))
- fix lint error ([commit](https://github.com/Polymer/polymer/commit/f242e197))
- Fix :dir selectors with nested custom elements ([commit](https://github.com/Polymer/polymer/commit/3b76e86f))
- Update test to be more descriptive ([commit](https://github.com/Polymer/polymer/commit/86a64b6c))
- Annotate Polymer function with @global. (#4967) ([commit](https://github.com/Polymer/polymer/commit/b124b707))
- make PASSIVE_TOUCH take an argument ([commit](https://github.com/Polymer/polymer/commit/c5407a8b))
- Do not set touchend listeners to passive ([commit](https://github.com/Polymer/polymer/commit/84fa3bf3))
- Add some @function annotations to APIs that are defined by assignment. ([commit](https://github.com/Polymer/polymer/commit/29f2a0e7))
- add return jsdoc to void functions ([commit](https://github.com/Polymer/polymer/commit/a8105e55))
- Update CONTRIBUTING.md ([commit](https://github.com/Polymer/polymer/commit/14fd53c3))
- Fix typo. ([commit](https://github.com/Polymer/polymer/commit/581483f2))
- Comment reworded based on feedback. ([commit](https://github.com/Polymer/polymer/commit/80a7f1e5))
- Semantic issue (proposal) plus minor fixes ([commit](https://github.com/Polymer/polymer/commit/42ec14bf))
- Depend on webcomponents and shadycss with shady-unscoped support ([commit](https://github.com/Polymer/polymer/commit/8241b887))
- Also clarify `delay` units. Fixes #4707 ([commit](https://github.com/Polymer/polymer/commit/348ed92c))
- Ensure re-sort/filter always happens after array item set. Fixes #3626 ([commit](https://github.com/Polymer/polymer/commit/f6d4771c))
- Clarify docs on target-framerate. Fixes #4897 ([commit](https://github.com/Polymer/polymer/commit/c18a5349))
- move test after ([commit](https://github.com/Polymer/polymer/commit/45598302))
- test more permutations ([commit](https://github.com/Polymer/polymer/commit/f03e8d1b))
- Fix missing comma in `Path.translate` JSDoc ([commit](https://github.com/Polymer/polymer/commit/41616c6f))
- fix(bower): standardized version tagging (#4921) ([commit](https://github.com/Polymer/polymer/commit/6e3ae2e5))
- Minor fixes (update URLs) ([commit](https://github.com/Polymer/polymer/commit/8e7024e6))
- add license headers ([commit](https://github.com/Polymer/polymer/commit/518b4699))
- Prep for processing of `shady-unscoped` moving to ShadyCSS ([commit](https://github.com/Polymer/polymer/commit/08c3a02e))
- Implement type change in Polymer.ElementMixin ([commit](https://github.com/Polymer/polymer/commit/cda62d5f))
- instance.$.foo should only give Elements ([commit](https://github.com/Polymer/polymer/commit/4837e4a8))
- Annotate DomApi with @memberof Polymer ([commit](https://github.com/Polymer/polymer/commit/7308d8b6))
- Clarify all elements between changes must apply mixing. Fixes #4914 ([commit](https://github.com/Polymer/polymer/commit/7360f42a))
- add safari 11 to sauce testing ([commit](https://github.com/Polymer/polymer/commit/428ad8c2))
- Fix tests on Firefox. ([commit](https://github.com/Polymer/polymer/commit/9a468335))
- Update externs again. ([commit](https://github.com/Polymer/polymer/commit/1c5b731f))
- Update externs. ([commit](https://github.com/Polymer/polymer/commit/8683b27c))
- Lint fixes ([commit](https://github.com/Polymer/polymer/commit/092b210f))
- Allow style elements to be separate in the element template. ([commit](https://github.com/Polymer/polymer/commit/819652eb))
- Lint fix. ([commit](https://github.com/Polymer/polymer/commit/982d28c6))
- Add support for styles with a `shady-unscoped` attribute ([commit](https://github.com/Polymer/polymer/commit/d77e073e))
- [ci skip] Update CHANGELOG ([commit](https://github.com/Polymer/polymer/commit/314bada5))
- [ci skip] version script did not work as expected ([commit](https://github.com/Polymer/polymer/commit/4265cba1))
- adding test case for 4696 4706 ([commit](https://github.com/Polymer/polymer/commit/939ce63c))
- Support property observers which are direct function references in addition to strings. Provides better static analysis and refactoring support in multiple tools. Alleviates the need for property reflection with Closure-compiler renaming. ([commit](https://github.com/Polymer/polymer/commit/4bae2b62))
- removing package-lock.json from PR ([commit](https://github.com/Polymer/polymer/commit/0da00a1d))
- implementing the code review suggestions ([commit](https://github.com/Polymer/polymer/commit/1b51f601))
- Updating deserialize function (use of ternary operation). Fixes #4696 ([commit](https://github.com/Polymer/polymer/commit/ca139ed0))
- Updating deserialize function. Fixes #4696 ([commit](https://github.com/Polymer/polymer/commit/277ca89a))
## [v2.2.0](https://github.com/Polymer/polymer/tree/v2.2.0) (2017-10-18)
- [ci skip] Autoupdate version when releasing ([commit](https://github.com/Polymer/polymer/commit/d893d6ae))
- add edge 15, use chrome stable ([commit](https://github.com/Polymer/polymer/commit/c6f2d817))
- super it and put back takeRecords ([commit](https://github.com/Polymer/polymer/commit/02e2f148))
- more feedback ([commit](https://github.com/Polymer/polymer/commit/15cbdff5))
- Address feedback ([commit](https://github.com/Polymer/polymer/commit/e71b84a8))
- add some description of the dir mixin ([commit](https://github.com/Polymer/polymer/commit/f98ad117))
- Fix linting ([commit](https://github.com/Polymer/polymer/commit/624189a3))
- Always do the :dir transform ([commit](https://github.com/Polymer/polymer/commit/31c0ebc7))
- Clean up closure externs ([commit](https://github.com/Polymer/polymer/commit/1e5ea942))
- remove bogus semicolon ([commit](https://github.com/Polymer/polymer/commit/7d044b49))
- Declare Polymer.Templatizer directly, for Closure. (#4870) ([commit](https://github.com/Polymer/polymer/commit/3b155173))
- First draft of a `:dir` aware element mixin ([commit](https://github.com/Polymer/polymer/commit/2ef65aa6))
- [ci-skip] Update CHANGELOG ([commit](https://github.com/Polymer/polymer/commit/28e60271))
## [v2.1.1](https://github.com/Polymer/polymer/tree/v2.1.1) (2017-09-28)
- Prepare for release 2.1.1 ([commit](https://github.com/Polymer/polymer/commit/f049dd91))
- Move @externs before @license because Closure likes that. ([commit](https://github.com/Polymer/polymer/commit/c3f31455))
- just move the style instead ([commit](https://github.com/Polymer/polymer/commit/61b2c8a5))
- Copy <custom-style> styles to main document ([commit](https://github.com/Polymer/polymer/commit/155ab8a2))
- Fix typos and jsdoc (#4846) ([commit](https://github.com/Polymer/polymer/commit/b19e180a))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/44fd1eaa))
- Fix shady dom style querySelector ([commit](https://github.com/Polymer/polymer/commit/d5b6bad3))
- Fix linter error ([commit](https://github.com/Polymer/polymer/commit/2da30c33))
- Exclude script and style tags for parsing bindings ([commit](https://github.com/Polymer/polymer/commit/41fa90b3))
- Special-case undefined textarea.value same as input. Fixes #4630 ([commit](https://github.com/Polymer/polymer/commit/8aa201b9))
## [v2.1.0](https://github.com/Polymer/polymer/tree/v2.1.0) (2017-09-19)
- [ci skip] bump version to 2.1.0 ([commit](https://github.com/Polymer/polymer/commit/64788aad))
- Port #3844 to 2.x ([commit](https://github.com/Polymer/polymer/commit/00bc76e4))
- Provide a `Polymer.setPassiveTouchGestures()` function ([commit](https://github.com/Polymer/polymer/commit/3547fd37))
- Make sure closure types have braces ([commit](https://github.com/Polymer/polymer/commit/fb8039e0))
- a few more comments in return ([commit](https://github.com/Polymer/polymer/commit/f6f0a3b7))
- Fix setting, add smoke test ([commit](https://github.com/Polymer/polymer/commit/6312da57))
- Optional passive touch listeners for gestures ([commit](https://github.com/Polymer/polymer/commit/5f7597f7))
- Don't have `return /** comment */` lines ([commit](https://github.com/Polymer/polymer/commit/c802b8b2))
- [ci skip] disable closure lint for now (travis java errors) ([commit](https://github.com/Polymer/polymer/commit/e45e5bba))
- try to avoid introducing spelling errors in changelogs ([commit](https://github.com/Polymer/polymer/commit/7616e3c9))
- spelling: webcomponents ([commit](https://github.com/Polymer/polymer/commit/70504627))
- spelling: veiling ([commit](https://github.com/Polymer/polymer/commit/43f6b971))
- spelling: unnecessary ([commit](https://github.com/Polymer/polymer/commit/dc0573f8))
- spelling: toolkit ([commit](https://github.com/Polymer/polymer/commit/42edf634))
- spelling: together ([commit](https://github.com/Polymer/polymer/commit/7d6e4351))
- spelling: there-when ([commit](https://github.com/Polymer/polymer/commit/240701ec))
- spelling: theming ([commit](https://github.com/Polymer/polymer/commit/d991cce1))
- spelling: supported ([commit](https://github.com/Polymer/polymer/commit/4a2e7750))
- spelling: stylesheet ([commit](https://github.com/Polymer/polymer/commit/d138df3c))
- spelling: static ([commit](https://github.com/Polymer/polymer/commit/4354e710))
- spelling: sometimes ([commit](https://github.com/Polymer/polymer/commit/802817dc))
- spelling: shuffling ([commit](https://github.com/Polymer/polymer/commit/93a18c58))
- spelling: returns ([commit](https://github.com/Polymer/polymer/commit/3f744c3c))
- spelling: restart ([commit](https://github.com/Polymer/polymer/commit/58111054))
- spelling: responsive ([commit](https://github.com/Polymer/polymer/commit/d1da7314))
- spelling: resilient ([commit](https://github.com/Polymer/polymer/commit/d45855d9))
- spelling: resetting ([commit](https://github.com/Polymer/polymer/commit/8fb47431))
- spelling: reentrancy ([commit](https://github.com/Polymer/polymer/commit/5ea03d60))
- spelling: readonly ([commit](https://github.com/Polymer/polymer/commit/ff294a90))
- spelling: prototype ([commit](https://github.com/Polymer/polymer/commit/bbe54cc2))
- spelling: protocols ([commit](https://github.com/Polymer/polymer/commit/83df6dad))
- spelling: properties ([commit](https://github.com/Polymer/polymer/commit/bb74d2da))
- spelling: preferring ([commit](https://github.com/Polymer/polymer/commit/00e0567e))
- spelling: polyfill ([commit](https://github.com/Polymer/polymer/commit/ce0ca630))
- spelling: parameterize ([commit](https://github.com/Polymer/polymer/commit/141cefe3))
- spelling: omit ([commit](https://github.com/Polymer/polymer/commit/e3b04e51))
- spelling: offset ([commit](https://github.com/Polymer/polymer/commit/ea0acb0d))
- spelling: notification ([commit](https://github.com/Polymer/polymer/commit/ee741143))
- spelling: name ([commit](https://github.com/Polymer/polymer/commit/159803a7))
- spelling: multiple ([commit](https://github.com/Polymer/polymer/commit/602ee780))
- spelling: loaded ([commit](https://github.com/Polymer/polymer/commit/f4529864))
- spelling: jquery ([commit](https://github.com/Polymer/polymer/commit/88ce972d))
- spelling: javascript ([commit](https://github.com/Polymer/polymer/commit/f1f7f669))
- spelling: instead ([commit](https://github.com/Polymer/polymer/commit/c4be7f60))
- spelling: initial ([commit](https://github.com/Polymer/polymer/commit/3862ce0a))
- spelling: increments ([commit](https://github.com/Polymer/polymer/commit/8bda7f93))
- spelling: identify ([commit](https://github.com/Polymer/polymer/commit/17678e1a))
- spelling: github ([commit](https://github.com/Polymer/polymer/commit/0781b322))
- spelling: getting ([commit](https://github.com/Polymer/polymer/commit/c1d7c3e8))
- spelling: function ([commit](https://github.com/Polymer/polymer/commit/b9b22854))
- spelling: falsy ([commit](https://github.com/Polymer/polymer/commit/d472919a))
- spelling: enqueuing ([commit](https://github.com/Polymer/polymer/commit/96c8ed81))
- spelling: element ([commit](https://github.com/Polymer/polymer/commit/d4e54c72))
- spelling: effective ([commit](https://github.com/Polymer/polymer/commit/139edd00))
- spelling: doesn't ([commit](https://github.com/Polymer/polymer/commit/aa35d779))
- spelling: does ([commit](https://github.com/Polymer/polymer/commit/01f943d9))
- spelling: disappearing ([commit](https://github.com/Polymer/polymer/commit/508c005a))
- spelling: deserialized ([commit](https://github.com/Polymer/polymer/commit/2acbf5df))
- spelling: customize ([commit](https://github.com/Polymer/polymer/commit/0a0ac248))
- spelling: containing ([commit](https://github.com/Polymer/polymer/commit/2b09e75c))
- spelling: components ([commit](https://github.com/Polymer/polymer/commit/e11d4d6b))
- spelling: collection ([commit](https://github.com/Polymer/polymer/commit/38645c08))
- spelling: children ([commit](https://github.com/Polymer/polymer/commit/c30c5d03))
- spelling: changed ([commit](https://github.com/Polymer/polymer/commit/1579bf36))
- spelling: behavior ([commit](https://github.com/Polymer/polymer/commit/65f27655))
- spelling: attribute ([commit](https://github.com/Polymer/polymer/commit/d8f3f57d))
- spelling: attached ([commit](https://github.com/Polymer/polymer/commit/adc4f0e1))
- spelling: asynchronous ([commit](https://github.com/Polymer/polymer/commit/6c59f53b))
- Explicitly set display none on dom-* elements (#4821) ([commit](https://github.com/Polymer/polymer/commit/65859b1c))
- Publish DomBind in Polymer. scope ([commit](https://github.com/Polymer/polymer/commit/60054350))
- Fix missing semi-colons in test folder ([commit](https://github.com/Polymer/polymer/commit/72a59f77))
- Enable ESLint 'semi' rule ([commit](https://github.com/Polymer/polymer/commit/75c6fff7))
- [ci skip] update package-lock ([commit](https://github.com/Polymer/polymer/commit/ca1ce196))
- [ci skip] Add license headers to externs ([commit](https://github.com/Polymer/polymer/commit/f4a9e06e))
- Polymer.Path.get accepts both a string path or an Array path, so functions that call this should allow for either as well. Already changed for Polymer.prototype.push here: ([commit](https://github.com/Polymer/polymer/commit/42ce5a88))
- lint with closure as well ([commit](https://github.com/Polymer/polymer/commit/cc649e97))
- Update closure compiler to support polymer pass v2 ([commit](https://github.com/Polymer/polymer/commit/a4591abc))
- Revert "Adds `restamp` mode to dom-repeat." ([commit](https://github.com/Polymer/polymer/commit/d439960a))
- Add test to verify that importHref can be called twice ([commit](https://github.com/Polymer/polymer/commit/6ce904b3))
- Fix compiling with Polymer({}) calls ([commit](https://github.com/Polymer/polymer/commit/d937d5fe))
- Remove double space ([commit](https://github.com/Polymer/polymer/commit/bbf0e7c8))
- Add development workflow-related files to gitignore (#4612) ([commit](https://github.com/Polymer/polymer/commit/d5c2629f))
- Allow arbitrary whitespace in CSS imports ([commit](https://github.com/Polymer/polymer/commit/5c250d44))
- Fix dom-module API docs with static `import` function ([commit](https://github.com/Polymer/polymer/commit/9f7df4cf))
- [ci skip] update externs more from #4776 ([commit](https://github.com/Polymer/polymer/commit/c20b6574))
- imported css modules should always be before element's styles ([commit](https://github.com/Polymer/polymer/commit/679a49e4))
- Update closure annotation for Polymer.prototype.push ([commit](https://github.com/Polymer/polymer/commit/eb170cbb))
- Fixed formatting. ([commit](https://github.com/Polymer/polymer/commit/48fac922))
- Fix formatting of code in API docs (#4771) ([commit](https://github.com/Polymer/polymer/commit/eb406c71))
- Lint clean. ([commit](https://github.com/Polymer/polymer/commit/4095e12d))
- Separate scripts that modify configuration properties, as their ordering constraints are unusual. ([commit](https://github.com/Polymer/polymer/commit/49dbacb6))
- test: convert XNestedRepeat to use an inlined string template. ([commit](https://github.com/Polymer/polymer/commit/c89155ba))
- Don't rely on implicitly creating a global, does not. ([commit](https://github.com/Polymer/polymer/commit/28ed27e0))
- Refer to Gestures.recognizers consistently. ([commit](https://github.com/Polymer/polymer/commit/3555b458))
- Make test work in strict mode. ([commit](https://github.com/Polymer/polymer/commit/328ce594))
- In tests, explicitly write to window when creating a new global for clarity. ([commit](https://github.com/Polymer/polymer/commit/674d4685))
- [ci skip] remove duplicate definition for __dataHost in externs ([commit](https://github.com/Polymer/polymer/commit/5ab9032c))
- [ci skip] update polymer-build and run-sequence ([commit](https://github.com/Polymer/polymer/commit/0c6aa882))
- Fix tests in non-Chrome browsers ([commit](https://github.com/Polymer/polymer/commit/5a54c32b))
- Better distinguish param name from namespaced name ([commit](https://github.com/Polymer/polymer/commit/a3d6e56b))
- use wct 6 npm package ([commit](https://github.com/Polymer/polymer/commit/fbe8dcc4))
- add mixin class instance properties to externs ([commit](https://github.com/Polymer/polymer/commit/34d22acd))
- Add sanitizeDOMValue to settings.html ([commit](https://github.com/Polymer/polymer/commit/4d730e16))
- Remove reference to Polymer._toOverride, it seems like an incomplete feature/part of the test. ([commit](https://github.com/Polymer/polymer/commit/981a7600))
- Update custom-style API doc ([commit](https://github.com/Polymer/polymer/commit/52a7328e))
- Use customElements.get rather than referring to the global for Polymer.DomModule ([commit](https://github.com/Polymer/polymer/commit/bb202378))
- Add import of dom-module to file that uses it. ([commit](https://github.com/Polymer/polymer/commit/dbedcfc0))
- Do not assign to a readonly property on window ([commit](https://github.com/Polymer/polymer/commit/b64e4862))
- [ci skip] Fix documentation in PropertyAccessors ([commit](https://github.com/Polymer/polymer/commit/0f695d90))
- [ci skip] fix closure warning ([commit](https://github.com/Polymer/polymer/commit/2e7dc00b))
- Fix event path for tap event on touch ([commit](https://github.com/Polymer/polymer/commit/50bf45c3))
- [ci skip] Update changelog ([commit](https://github.com/Polymer/polymer/commit/466624ae))
- Update web-component-tester to stable version ([commit](https://github.com/Polymer/polymer/commit/ae78564c))
- Disable closure linting until the count is driven down to a reasonable level ([commit](https://github.com/Polymer/polymer/commit/6335b24f))
- Adds `restamp` mode to dom-repeat. ([commit](https://github.com/Polymer/polymer/commit/6cebeace))
## [v2.0.2](https://github.com/Polymer/polymer/tree/v2.0.2) (2017-07-14)
- remove broken npm script ([commit](https://github.com/Polymer/polymer/commit/27c67125))
- depend on webcomponentsjs 1.0.2 ([commit](https://github.com/Polymer/polymer/commit/d522de0f))
- cleanup and update npm dependencies ([commit](https://github.com/Polymer/polymer/commit/4176c6c2))
- Update LegacyElementMixin.distributeContent ([commit](https://github.com/Polymer/polymer/commit/2daf9de2))
- Remove crufty test ([commit](https://github.com/Polymer/polymer/commit/c96350b4))
- [ci skip] remove one new closure warning for updating closure ([commit](https://github.com/Polymer/polymer/commit/0cb560a4))
- Meaningful closure fixes from @ChadKillingsworth ([commit](https://github.com/Polymer/polymer/commit/88043077))
- [ci skip] clean up mixin fn and regen externs ([commit](https://github.com/Polymer/polymer/commit/72022f27))
- address some concerns from kschaaf ([commit](https://github.com/Polymer/polymer/commit/44653813))
- zero warnings left ([commit](https://github.com/Polymer/polymer/commit/3e14a1d8))
- [ci skip] Fix link closing quotes. ([commit](https://github.com/Polymer/polymer/commit/d1ad0c33))
- Remove @suppress {missingProperties} ([commit](https://github.com/Polymer/polymer/commit/2efccb95))
- Annotate Debouncer summary. (#4691) ([commit](https://github.com/Polymer/polymer/commit/806119ae))
- Fix typo in templatize.html ([commit](https://github.com/Polymer/polymer/commit/de181d6e))
- Move Debouncer memberof annotation to right place, and add a summary. (#4690) ([commit](https://github.com/Polymer/polymer/commit/77f06712))
- remove PolymerPropertyEffects type, inline DataTrigger and DataEffect types ([commit](https://github.com/Polymer/polymer/commit/7612df67))
- remove polymer-element dependency introduced by a merge conflict ([commit](https://github.com/Polymer/polymer/commit/3b7eedb8))
- update closure log ([commit](https://github.com/Polymer/polymer/commit/344ebb4c))
- remove dommodule imports ([commit](https://github.com/Polymer/polymer/commit/fc886306))
- Create style-gather.html ([commit](https://github.com/Polymer/polymer/commit/73fbbb45))
- README: fix typo ([commit](https://github.com/Polymer/polymer/commit/5355252a))
- Remove unused `__needFullRefresh` ([commit](https://github.com/Polymer/polymer/commit/bdbbfa19))
- Fixes #4650: if an observed path changes, the repeat should render but in addition, the path should be notified. This is necessary since “mutableData” is optional. ([commit](https://github.com/Polymer/polymer/commit/22d27aa0))
- last two stragglers ([commit](https://github.com/Polymer/polymer/commit/9bd89203))
- fix eslint warnings ([commit](https://github.com/Polymer/polymer/commit/ba720124))
- Down to 30ish warnings, need PolymerPass v2 ([commit](https://github.com/Polymer/polymer/commit/de87c585))
- Add lib/utils/settings.html to hold legacy settings and rootPath ([commit](https://github.com/Polymer/polymer/commit/3183e3f7))
- Fix typo in dom-repeat.html ([commit](https://github.com/Polymer/polymer/commit/d6941a34))
- guard all dommodule references ([commit](https://github.com/Polymer/polymer/commit/c3866a59))
- add more missing imports ([commit](https://github.com/Polymer/polymer/commit/8c71456d))
- Add mixin.html import to gesture-event-listeners.html ([commit](https://github.com/Polymer/polymer/commit/352dc33a))
- more fixes ([commit](https://github.com/Polymer/polymer/commit/872e1c27))
- rebaseline warnings with NTI specific warnings disabled, for now ([commit](https://github.com/Polymer/polymer/commit/abc229e5))
- Fix parsing for argument whitespace. Fixes #4643. ([commit](https://github.com/Polymer/polymer/commit/a29d8876))
- Upgrade babel-preset-babili to include RegExp fix from https://github.com/babel/babili/pull/490 ([commit](https://github.com/Polymer/polymer/commit/308cae6e))
- Not an RC anymore ([commit](https://github.com/Polymer/polymer/commit/8290002b))
- Just ensure content frag from _contentForTemplate is inert. Edge does not seem to always use the exact same owner document for templates. ([commit](https://github.com/Polymer/polymer/commit/b73caea0))
- Fix typo in prop of FlattenedNodesObserver ([commit](https://github.com/Polymer/polymer/commit/57fe7dca))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/e03b2cce))
- Fix some ElementMixin warnings. ([commit](https://github.com/Polymer/polymer/commit/c0a816f6))
- Fix template.assetpath with typedef ([commit](https://github.com/Polymer/polymer/commit/ec3e948d))
- fix dom-module related errors ([commit](https://github.com/Polymer/polymer/commit/07443645))
- Fix fn binding error ([commit](https://github.com/Polymer/polymer/commit/bc504f64))
- Reduce closure warnings in PropertyAccessors ([commit](https://github.com/Polymer/polymer/commit/3591be8b))
- reduce closure warnings in TemplateStamp ([commit](https://github.com/Polymer/polymer/commit/c34ef0b2))
- [ci skip] parameterize entries for closure task ([commit](https://github.com/Polymer/polymer/commit/3a80ad8f))
- [ci skip] generating externs should be explicit ([commit](https://github.com/Polymer/polymer/commit/a8a57bf5))
- Avoid firstElementChild on DocFrag for IE11 ([commit](https://github.com/Polymer/polymer/commit/02e31d78))
- update externs for merge, update dependencies ([commit](https://github.com/Polymer/polymer/commit/e927bc9a))
- Fix impl of _contentForTemplate. Add template-stamp tests. Fixes #4597 ([commit](https://github.com/Polymer/polymer/commit/06190c9d))
- ensure latest closure, stay on polymer-build 1.1 until warnings can be ignored ([commit](https://github.com/Polymer/polymer/commit/7abd7037))
- @mixes -> @appliesMixin ([commit](https://github.com/Polymer/polymer/commit/1f21ab1a))
- @polymerMixin/@polymerMixinClass -> @mixinFunction/@mixinClass ([commit](https://github.com/Polymer/polymer/commit/f7e8021e))
- @polymerElement -> @customElement/@polymer ([commit](https://github.com/Polymer/polymer/commit/231b21c0))
- fix lint error ([commit](https://github.com/Polymer/polymer/commit/e5de1782))
- remove all "global this" warnings ([commit](https://github.com/Polymer/polymer/commit/c0ddc60b))
- remove `TemplateStamp`’s implicit dependency on `_initializeProperties` ([commit](https://github.com/Polymer/polymer/commit/f821e46a))
- fix typing for Polymer.Element ([commit](https://github.com/Polymer/polymer/commit/0b152938))
- inline cachingMixin into deduplicatingMixin ([commit](https://github.com/Polymer/polymer/commit/c3da5073))
- initialize properties in `_initializeProperties` rather than `constructor` (allows work to be done before `_initializeProperties` and is needed for proto/instance property initialization . ([commit](https://github.com/Polymer/polymer/commit/f15e4ee6))
- LegacyElementMixin to `@unrestricted` ([commit](https://github.com/Polymer/polymer/commit/c1eda7af))
- set `isAttached` constructor (for closure) but set to undefined so not picked up as proto property (avoids initial binding value) ([commit](https://github.com/Polymer/polymer/commit/6a995a23))
- Fix dedupingMixin ([commit](https://github.com/Polymer/polymer/commit/2c9ffac3))
- Fix more closure warnings ([commit](https://github.com/Polymer/polymer/commit/f04d6311))
- Fix more closure warnings ([commit](https://github.com/Polymer/polymer/commit/d0f78122))
- Fix more closure warnings. ([commit](https://github.com/Polymer/polymer/commit/0c3e3c5f))
- Fix more closure warnings. ([commit](https://github.com/Polymer/polymer/commit/b686cd77))
- Fix more closure warnings. ([commit](https://github.com/Polymer/polymer/commit/0b22959f))
- Fix more closure warnings. ([commit](https://github.com/Polymer/polymer/commit/2627e63a))
- slighly better typing for mixin function ([commit](https://github.com/Polymer/polymer/commit/b3dfd38e))
- gesture fixes ([commit](https://github.com/Polymer/polymer/commit/346e2d57))
- Fix more closure warnings. ([commit](https://github.com/Polymer/polymer/commit/fa9823f7))
- Fix some closure warnings. ([commit](https://github.com/Polymer/polymer/commit/f1a14982))
- Fix some closure warnings. ([commit](https://github.com/Polymer/polymer/commit/51855541))
- automate generating closure externs ([commit](https://github.com/Polymer/polymer/commit/89b12301))
- Fix some closure warnings. ([commit](https://github.com/Polymer/polymer/commit/37abc4e3))
- fix some closure warnings. ([commit](https://github.com/Polymer/polymer/commit/80f54421))
## [v2.0.1](https://github.com/Polymer/polymer/tree/v2.0.1) (2017-05-25)
- [ci skip] Prepare 2.0.1 ([commit](https://github.com/Polymer/polymer/commit/061b1048))
- Improve comment more ([commit](https://github.com/Polymer/polymer/commit/39877086))
- Improve comment ([commit](https://github.com/Polymer/polymer/commit/fa1469a9))
- Add comment. ([commit](https://github.com/Polymer/polymer/commit/250067b3))
- * Improve clarity: change `__dataInitialized` to `__dataReady` * When `_flushClients` is called, ensure that clients are always enabled or flushed as appropriate. This ensures that (1) clients that are enabled before the host is enabled flush properly, and (2) clients that are stamped but not enabled properly enable when the host flushes. ([commit](https://github.com/Polymer/polymer/commit/8e8692f7))
- Fix typo in runBindingEffect documentation ([commit](https://github.com/Polymer/polymer/commit/6bd8dcfa))
- Fixes #4601. Client elements can be readied that have already enabled properties. This can happen when templatize is used to create instances with no properties. In this case, in order for properties to flush properly to clients, clients must be flushed. ([commit](https://github.com/Polymer/polymer/commit/06df53d9))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/c4e516f6))
## [v2.0.0](https://github.com/Polymer/polymer/tree/v2.0.0) (2017-05-15)
- [ci skip] bump version to 2.0.0 ([commit](https://github.com/Polymer/polymer/commit/712230fc))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/21ee3b4d))
## [v2.0.0-rc.9](https://github.com/Polymer/polymer/tree/v2.0.0-rc.9) (2017-05-12)
- [ci skip] Add alacarte usage smoke tests. ([commit](https://github.com/Polymer/polymer/commit/e54bc5f8))
- [skip ci] doc fixes ([commit](https://github.com/Polymer/polymer/commit/b943aa0d))
- Docs and slight renaming. ([commit](https://github.com/Polymer/polymer/commit/4eb252fe))
- Add tests. ([commit](https://github.com/Polymer/polymer/commit/1f83fd7c))
- Move hostStack to property-effects and make readyClients explicit ([commit](https://github.com/Polymer/polymer/commit/c7a81ea8))
- Turn on accessors (via __dataInitialized) only after clients have completely flushed. ([commit](https://github.com/Polymer/polymer/commit/2f1e964c))
- Adds `_enableProperties` as a new entry point that must be called to turn on properties. Prevents a bug where `_readyClients` can be called twice. ([commit](https://github.com/Polymer/polymer/commit/c6f9b315))
- [ci skip] Fix doc createPropertyEffect -> addPropertyEffect ([commit](https://github.com/Polymer/polymer/commit/90e8cd95))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/448149d2))
## [v2.0.0-rc.8](https://github.com/Polymer/polymer/tree/v2.0.0-rc.8) (2017-05-11)
- Add test for boolean dynamicFn ([commit](https://github.com/Polymer/polymer/commit/03d21ce8))
- Accept boolean or object map for dynamicFns ([commit](https://github.com/Polymer/polymer/commit/f197ce24))
- update dependencies for v1 polyfills ([commit](https://github.com/Polymer/polymer/commit/d9b5b8f9))
- Null the links when unbinding. ([commit](https://github.com/Polymer/polymer/commit/42230437))
- Dedupe API docs. ([commit](https://github.com/Polymer/polymer/commit/e97a6eb7))
- Move setup to suiteSetup ([commit](https://github.com/Polymer/polymer/commit/d5b282fa))
- Uncomment previous tests ([commit](https://github.com/Polymer/polymer/commit/55b2d160))
- Add tests ([commit](https://github.com/Polymer/polymer/commit/0f4ebf62))
- [ci skip] port gen-changelog from 1.x ([commit](https://github.com/Polymer/polymer/commit/24dd897d))
- Add static API for creating property fx and minor code refactoring. ([commit](https://github.com/Polymer/polymer/commit/7497065a))
- [ci skip] remove bower.json version, add npm devDependencies & np publish config ([commit](https://github.com/Polymer/polymer/commit/6b6092e0))
- Fix comment. ([commit](https://github.com/Polymer/polymer/commit/6f1dde76))
- Fixes #4585. Data notifications do not flush host if host has not initialized clients. This preserves the Polymer 1.x guarantee that client dom is fully “readied” when data observers run. ([commit](https://github.com/Polymer/polymer/commit/3b6981d4))
- Ensure no warnings for dynamic fns. Fixes #4575 ([commit](https://github.com/Polymer/polymer/commit/d72baf9d))
- Corrected minor Method comments ([commit](https://github.com/Polymer/polymer/commit/8a2aeb65))
- Removes the `disable-upgrade` feature from Polymer 2.0. Due to #4550, the feature has a flaw for native ES6 classes and would be better implemented as either a mixin or patch to `customElements.define`. ([commit](https://github.com/Polymer/polymer/commit/972b2bab))
- Fix jsBin link. ([commit](https://github.com/Polymer/polymer/commit/811c334e))
- Ensure tags in markdown are backtracked. Short-term stopgap to ensure they are not rendered in HTML. ([commit](https://github.com/Polymer/polymer/commit/e90ef30d))
- Clean up gulpfile ([commit](https://github.com/Polymer/polymer/commit/764448c9))
- bump wct version ([commit](https://github.com/Polymer/polymer/commit/bafa1ecd))
- Disabling `lint-closure` until the error count is driven to 0 ([commit](https://github.com/Polymer/polymer/commit/c98e3799))
- fix test failures on safari 9 and chrome 41 w/focus event ([commit](https://github.com/Polymer/polymer/commit/0b00f2d9))
- update debounce example. ([commit](https://github.com/Polymer/polymer/commit/5be7ec99))
- Fixes #4553, #4554 ([commit](https://github.com/Polymer/polymer/commit/36792f94))
- save closure warnings to "closure.log" file ([commit](https://github.com/Polymer/polymer/commit/25cfc882))
- use shadycss externs directly, now only 498 warnings ([commit](https://github.com/Polymer/polymer/commit/c21a63db))
- add gulp task to lint for closure warnings ([commit](https://github.com/Polymer/polymer/commit/4e782741))
## [v2.0.0-rc.7](https://github.com/Polymer/polymer/tree/v2.0.0-rc.7) (2017-04-19)
- Add more tests. ([commit](https://github.com/Polymer/polymer/commit/73df8c5b))
- Update jsBin template for 2.0 ([commit](https://github.com/Polymer/polymer/commit/4a2db9ca))
- [ci skip] Update link to jsBin template for 2.0. ([commit](https://github.com/Polymer/polymer/commit/0aeb3170))
- Move computeLinkedPaths out of hot path and into sync setter. ([commit](https://github.com/Polymer/polymer/commit/d722cb9c))
- [ci skip] Add note re: purpose of test ([commit](https://github.com/Polymer/polymer/commit/7ecbf258))
- Fix test for fallback \_readyClients. Fixes #4547 ([commit](https://github.com/Polymer/polymer/commit/85184e8b))
- Process paths regardless of accessor, & loop on computeLinkedPaths. Fixes #4542 ([commit](https://github.com/Polymer/polymer/commit/e2d17020))
## [v2.0.0-rc.6](https://github.com/Polymer/polymer/tree/v2.0.0-rc.6) (2017-04-17)
- [ci skip] Fix API docs ([commit](https://github.com/Polymer/polymer/commit/5a4427bf))
- Guard against overwriting bound values with hasOwnProperty. Fixes #4540 ([commit](https://github.com/Polymer/polymer/commit/4c023740))
- [ci skip] reduce warnings ([commit](https://github.com/Polymer/polymer/commit/00f9e3eb))
- fix globals for goog.reflect.objectProperty -> JSCompiler_renameProperty swap ([commit](https://github.com/Polymer/polymer/commit/8867fde5))
- [ci skip] remove outdated externs file ([commit](https://github.com/Polymer/polymer/commit/626a085d))
- lint and compile successfully ([commit](https://github.com/Polymer/polymer/commit/a2fa1005))
- update dependencies ([commit](https://github.com/Polymer/polymer/commit/36603bc4))
- Rename `setPrivate` -> `setReadOnly` ([commit](https://github.com/Polymer/polymer/commit/521ed3de))
- Add `setPrivate` arg to `setProperties` ([commit](https://github.com/Polymer/polymer/commit/e6e4803f))
- Never accidental test change ([commit](https://github.com/Polymer/polymer/commit/28c15caa))
- Remove unused @method ([commit](https://github.com/Polymer/polymer/commit/6d636138))
- Standardize @return, @param, type case. ([commit](https://github.com/Polymer/polymer/commit/8cab18b1))
- Fix jsdoc warnings. ([commit](https://github.com/Polymer/polymer/commit/dab794b2))
- jsdoc fixes. ([commit](https://github.com/Polymer/polymer/commit/38a13f66))
- Fix jsdoc issues. ([commit](https://github.com/Polymer/polymer/commit/86d2eebc))
- Fix jsdoc issues. ([commit](https://github.com/Polymer/polymer/commit/8a11c8c3))
- Enable error on jsdoc mistake. ([commit](https://github.com/Polymer/polymer/commit/72a454e9))
- fix @license comments & shadycss imports. Remove custom style from externs ([commit](https://github.com/Polymer/polymer/commit/59350ad4))
- closure advanced compilation ([commit](https://github.com/Polymer/polymer/commit/eea1ca23))
## [v2.0.0-rc.5](https://github.com/Polymer/polymer/tree/v2.0.0-rc.5) (2017-04-13)
- Eliminate rest args for better perf on stable chrome. ([commit](https://github.com/Polymer/polymer/commit/fa67457c))
- Fix perf regressions. ([commit](https://github.com/Polymer/polymer/commit/86e35e3a))
- Move second tap test to the correct spot. ([commit](https://github.com/Polymer/polymer/commit/6e4b87c1))
- Add GestureEventListeners to dom-bind. ([commit](https://github.com/Polymer/polymer/commit/4f628fd9))
- Add more comments ([commit](https://github.com/Polymer/polymer/commit/d0bd96d4))
- [ci skip] Fix comment. ([commit](https://github.com/Polymer/polymer/commit/becd1d3b))
- alias another way ([commit](https://github.com/Polymer/polymer/commit/d297047e))
- use chrome beta ([commit](https://github.com/Polymer/polymer/commit/0724f187))
- Add more HTMLImports.whenReady ([commit](https://github.com/Polymer/polymer/commit/bc713187))
- Address feedback from review: * Refactor `_bindTemplate` to remove problematic `hasCreatedAccessors` * Remove vestigial `dom` from `_bindTemplate` call * Rename `_unstampTemplate` to `_removeBoundDom` * Add `infoIndex` to `nodeInfo` (and renamed parent & index) * Add test to ensure runtime accessors created for new props in runtime stamped template * Changed custom binding test to use different prop names * Added test for #first count after removing bound dom ([commit](https://github.com/Polymer/polymer/commit/b9fafb7e))
- Fix lint error. ([commit](https://github.com/Polymer/polymer/commit/dff5f2bc))
- Ensure prototype wasn't affected by runtime effects. ([commit](https://github.com/Polymer/polymer/commit/bf2dbe0a))
- Add tests for adding/removing runtime property effects. ([commit](https://github.com/Polymer/polymer/commit/14711067))
- Added tests for custom parsing, effects, and binding. ([commit](https://github.com/Polymer/polymer/commit/1cf955b9))
- Add initial runtime stamping tests. ([commit](https://github.com/Polymer/polymer/commit/eb6ab63e))
- Fix changelog generation ([commit](https://github.com/Polymer/polymer/commit/8c103d98))
- Address feedback based on review. * PropertyAccessors must call `_flushProperties` to enable * Avoid tearing off oldProps (unnecessary) * Add `addBinding` docs * Merge notifyListeners into `setupBindings` * Add comment re: path-bindings not being overridable * Remove `dom` argument from `_bindTemplate` * Rename `_stampBoundTemplate` back to `_stampTemplate` ([commit](https://github.com/Polymer/polymer/commit/6af84c45))
- Put $ on dom, and assign to element as needed. Eliminate _templateInfo reference. ([commit](https://github.com/Polymer/polymer/commit/03bed19d))
- Fix _hasAccessor for readOnly. Collapse addBinding & addBindingEffects ([commit](https://github.com/Polymer/polymer/commit/396c102c))
- Improvements to binding API: - Adds override points for _parseBindings and _evaluateBinding - Adds support for runtime template binding - Moves ready(), _hasAccessor tracking, and instance property swizzle at ready time to PropertyAccessors ([commit](https://github.com/Polymer/polymer/commit/ea4e7d97))
## [v2.0.0-rc.4](https://github.com/Polymer/polymer/tree/v2.0.0-rc.4) (2017-04-12)
- fix lint error ([commit](https://github.com/Polymer/polymer/commit/e397c434))
- Only style elements with templates ([commit](https://github.com/Polymer/polymer/commit/2356f7b8))
- [ci skip] note safari bugs ([commit](https://github.com/Polymer/polymer/commit/ef90168b))
- Various Safari 10.1 fixes ([commit](https://github.com/Polymer/polymer/commit/dea052a2))
- Add `@memberof` annotation for Polymer.Debouncer ([commit](https://github.com/Polymer/polymer/commit/352878d5))
- Import mutable-data.html in dom-bind ([commit](https://github.com/Polymer/polymer/commit/bbc0373c))
- Correct changelog version title ([commit](https://github.com/Polymer/polymer/commit/9555ca34))
- Fix readme. ([commit](https://github.com/Polymer/polymer/commit/bbfea905))
- tighten up custom-style-late test ([commit](https://github.com/Polymer/polymer/commit/2106f656))
- Fixes #4478 by adding a better warning for attributes that cannot deserialize from JSON. ([commit](https://github.com/Polymer/polymer/commit/dba28c06))
- Adds back the `beforeRegister` method. Users can no longer set the `is` property in this method; however, dynamic property effects can still be installed here. ([commit](https://github.com/Polymer/polymer/commit/7639cf81))
- Fixes #4447. Re-introduce the `hostStack` in order to maintain “client before host” ordering when `_flushProperties` is called before `connectedCallback` (e.g. as Templatize does). ([commit](https://github.com/Polymer/polymer/commit/8467a696))
- Fix custom-style-late tests ([commit](https://github.com/Polymer/polymer/commit/caafef79))
- Add test for ensuring complicated mixin ordering is correct ([commit](https://github.com/Polymer/polymer/commit/6d663354))
- move lazy-upgrade out to separate mixins repo ([commit](https://github.com/Polymer/polymer/commit/deb5a9a5))
- Only check bounding client rect on clicks that target elements ([commit](https://github.com/Polymer/polymer/commit/af37d04c))
- Adds tests from https://github.com/Polymer/polymer/pull/4099. The other changes from the PR are no longer needed. ([commit](https://github.com/Polymer/polymer/commit/c5710666))
- clean up code, factor processing lazy candidates, better docs ([commit](https://github.com/Polymer/polymer/commit/189a2083))
- Update templatize.html ([commit](https://github.com/Polymer/polymer/commit/2abfe09e))
- Doc fix (correct callback name) ([commit](https://github.com/Polymer/polymer/commit/57d22f4c))
- Fixed templatize typo ([commit](https://github.com/Polymer/polymer/commit/b6b43f36))
- Work around IE/Edge bug with :not([attr]) selectors ([commit](https://github.com/Polymer/polymer/commit/c3036232))
- Remove support for lazy-upgrade inside dom-if and dom-repeat ([commit](https://github.com/Polymer/polymer/commit/1b4a9781))
- Fix image in README ([commit](https://github.com/Polymer/polymer/commit/b860594a))
- Remove useless id check on mixins ([commit](https://github.com/Polymer/polymer/commit/8c1a5765))
- move dom-change listener for lazy-upgrade before `super.ready()` ([commit](https://github.com/Polymer/polymer/commit/ba60b820))
- [ci skip] Update doc ([commit](https://github.com/Polymer/polymer/commit/f87790d6))
- [ci skip] Update doc ([commit](https://github.com/Polymer/polymer/commit/b9774801))
- Add API docs. ([commit](https://github.com/Polymer/polymer/commit/1eb0df49))
- nodeInfo -> nodeInfoList ([commit](https://github.com/Polymer/polymer/commit/eed67504))
- Updates based on PR feedback. API docs in progress. ([commit](https://github.com/Polymer/polymer/commit/627352db))
- * ensure element cannot return to “disabled” state after upgrading. * ensure nested `beforeNextRender` calls always go before the next render * ensure nested `afterNextRender` are called after additional renders ([commit](https://github.com/Polymer/polymer/commit/e9c58add))
- Fixes #4437. Ensure `_registered` is called 1x for each element class using `LegacyElementMixin`. Ensure that a behaviors’s `registered` method is called for any extending class. ([commit](https://github.com/Polymer/polymer/commit/de09d730))
- Separate binding-specific code from template stamp. Expose override points. ([commit](https://github.com/Polymer/polymer/commit/e95afeb1))
- Use webcomponents-lite for test ([commit](https://github.com/Polymer/polymer/commit/50ae3bb7))
- add lazy-upgrade tests ([commit](https://github.com/Polymer/polymer/commit/71b70aaa))
- make a mixin for lazy upgrading ([commit](https://github.com/Polymer/polymer/commit/9891e484))
- implements `disable-upgrade` attribute which prevents readying an element until the attribute is removed. ([commit](https://github.com/Polymer/polymer/commit/a222078e))
## [v2.0.0-rc.3](https://github.com/Polymer/polymer/tree/v2.0.0-rc.3) (2017-03-15)
- add properties, behaviors, observers, hostAttributes, listeners on prototype ([commit](https://github.com/Polymer/polymer/commit/93cf3246))
- [skip ci] update test comments ([commit](https://github.com/Polymer/polymer/commit/bb52071b))
- better comment ([commit](https://github.com/Polymer/polymer/commit/a081e669))
- get behaviors only from prototypes ([commit](https://github.com/Polymer/polymer/commit/8bac5c60))
- behaviors ONLY on the prototype ([commit](https://github.com/Polymer/polymer/commit/444c043c))
- add instance behaviors ([commit](https://github.com/Polymer/polymer/commit/4bf7bdd7))
- [ci skip] minor doc edits. ([commit](https://github.com/Polymer/polymer/commit/4ae65ba2))
- [ci skip] expand range of dependencies to all rcs ([commit](https://github.com/Polymer/polymer/commit/46c10465))
## [v2.0.0-rc.2](https://github.com/Polymer/polymer/tree/v2.0.0-rc.2) (2017-03-07)
- another test fix. ([commit](https://github.com/Polymer/polymer/commit/d9418e1a))
- fix behavior warn test. ([commit](https://github.com/Polymer/polymer/commit/4439436f))
- update to latest webcomponents rc. ([commit](https://github.com/Polymer/polymer/commit/46219a39))
- move mutable data mixin to be loaded by polymer.html ([commit](https://github.com/Polymer/polymer/commit/7cebe120))
- Fix 4387. Ensure `dom-change` fired with `composed: true`. ([commit](https://github.com/Polymer/polymer/commit/3e683297))
- Allow hybrid elements (like iron-list) to make template instances with mutable data ([commit](https://github.com/Polymer/polymer/commit/ea392e3f))
- Don't override the goog namespace if it already exists ([commit](https://github.com/Polymer/polymer/commit/b30deb22))
- Use correct version ([commit](https://github.com/Polymer/polymer/commit/3b7d4484))
- Fix spelling error ([commit](https://github.com/Polymer/polymer/commit/c14ea57f))
- [ci skip] Fix note re: transpilation ([commit](https://github.com/Polymer/polymer/commit/8fd1b212))
- [ci skip] Remove obsolete note re: pre-upgrade attribute vs. property priority ([commit](https://github.com/Polymer/polymer/commit/3dd776fe))
- [ci skip] Fix note re: attached ([commit](https://github.com/Polymer/polymer/commit/b67736ec))
- [ci skip] Add back intro README content from 1.x, updated to 2.x syntax. ([commit](https://github.com/Polymer/polymer/commit/1235f449))
## [v2.0.0-rc.1](https://github.com/Polymer/polymer/tree/v2.0.0-rc.1) (2017-03-06)
<!-- the changelog tool broke, so this is ported from https://www.polymer-project.org/2.0/docs/release-notes#v-2-0-0-rc.1 -->
The following notable changes have been made since the 2.0 Preview announcement.
- The `config` getter on element classes has been replaced by individual `properties` and
`observers` getters, more closely resembling the 1.x syntax.
```js
static get properties() {
return {
aProp: String,
bProp: Number
}
}
static get observers() {
return [
'_observeStuff(aProp,bProp)'
]
}
```
- 1.x-style dirty checking has been reinstated for better performance. An optional mixin is
available for elements to skip dirty checking of objects and arrays, which may be more easy to
integrate with some state management systems. For details, see
[Using the MutableData mixin](devguide/data-system#mutable-data) in Data system concepts.
- Support for dynamically-created `custom-style` elements has been added.
- Support for the external style sheet syntax, `<link rel="import" type="css">` has
been added. This was deprecated in 1.x, but will be retained until an alternate solution is
available for importing unprocessed CSS.
- New properties `rootPath` and `basePath` were added to `Polymer.Element` to allow authors
to configure how URLs are rewritten inside templates. For details, see the
[Update URLs in templates](./upgrade#urls-in-templates) in the Upgrade guide.
## [v1.9.1-dev](https://github.com/Polymer/polymer/tree/v1.9.1-dev) (2017-04-17)
- Remove use of ES6 API. ([commit](https://github.com/Polymer/polymer/commit/96010657))
- Remove use of ES6 API. ([commit](https://github.com/Polymer/polymer/commit/646dce69))
- Ensure optimization uses hybrid parentNode ([commit](https://github.com/Polymer/polymer/commit/b7f00992))
- Use local `parentNode` ([commit](https://github.com/Polymer/polymer/commit/2e4290f8))
- Capture hybridDomRepeat. ([commit](https://github.com/Polymer/polymer/commit/ee3b9a69))
- Fix dom-if detachment ([commit](https://github.com/Polymer/polymer/commit/2722532b))
- Add dom-if test for add/remove. ([commit](https://github.com/Polymer/polymer/commit/a2825650))
- Add test for add & remove ([commit](https://github.com/Polymer/polymer/commit/4c87e1d9))
- Add 2.x hybrid affordances for stamping template content. Fixes #4536 ([commit](https://github.com/Polymer/polymer/commit/53053eb4))
- Fix lint ([commit](https://github.com/Polymer/polymer/commit/f29104f2))
- Make tests more strict. ([commit](https://github.com/Polymer/polymer/commit/ea65a6d0))
- Use `_importPath` in `resolveUrl` so it available early. Fixes #4532 ([commit](https://github.com/Polymer/polymer/commit/1a7d3b11))
- [ci skip] update Changelog ([commit](https://github.com/Polymer/polymer/commit/3ce4e176))
## [v1.9.0-dev](https://github.com/Polymer/polymer/tree/v1.9.0-dev) (2017-04-13)
- [ci skip] skip looking in build log, again ([commit](https://github.com/Polymer/polymer/commit/1d282c7f))
- [ci skip] backport changelog fixes ([commit](https://github.com/Polymer/polymer/commit/d6a7ac71))
- * allow setting `rootPath` * disallow setting `importPath` (this is supported in 2.x but not 1.x) ([commit](https://github.com/Polymer/polymer/commit/ac067652))
- Add `importPath` and `rootPath` to support 2.x hybrid compatible elements. ([commit](https://github.com/Polymer/polymer/commit/daaf460a))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/80c899f4))
- Add missing semicolon after variable assignment ([commit](https://github.com/Polymer/polymer/commit/afb21c8f))
- Update PRIMER.md ([commit](https://github.com/Polymer/polymer/commit/4d66a353))
## [v1.8.1-dev](https://github.com/Polymer/polymer/tree/v1.8.1-dev) (2017-02-27)
- Exclude SD polyfill tests for Edge due to lack of workarounds for Edge DocFrag bugs. ([commit](https://github.com/Polymer/polymer/commit/de45ba02))
- [ci skip] Update comment to include reference to problem browser. ([commit](https://github.com/Polymer/polymer/commit/72f21fe6))
- Check documentElement instead of body to guarantee it's there. ([commit](https://github.com/Polymer/polymer/commit/a0ad3bbe))
- add tests ([commit](https://github.com/Polymer/polymer/commit/20de9287))
- Adds a setting `preserveStyleIncludes` which, when used with a shadow dom targeted css build and native custom properties, will copy styles into the Shadow DOM template rather than collapsing them into a single style. This will (1) allow the browser to optimize parsing of shared styles because they remain intact, (2) reduce the size of the css build resources when shared styles are used since they are not pre-collapsed. This option does perform registration runtime work to add included styles to element templates. ([commit](https://github.com/Polymer/polymer/commit/2315547e))
- Fix test failures by feature detecting instance `properties` accessors. Can't rely on `__proto__` on IE10, but that browser doesn't need to avoid `properties`. ([commit](https://github.com/Polymer/polymer/commit/f2a12cb1))
- Read properties off of proto during configuration. ([commit](https://github.com/Polymer/polymer/commit/a68c0b3e))
- remove cruft. ([commit](https://github.com/Polymer/polymer/commit/632f0e47))
- Ensure disable-upgrade elements are not "configured". Fixes #4302 ([commit](https://github.com/Polymer/polymer/commit/b36915f6))
- change lastresponse to last-response in dom-bind example ([commit](https://github.com/Polymer/polymer/commit/4427b0b6))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/2d804a28))
## [v1.8.0-dev](https://github.com/Polymer/polymer/tree/v1.8.0-dev) (2017-02-06)
- Add comment. ([commit](https://github.com/Polymer/polymer/commit/a42cb209))
- Only keep `disable-upgrade` attribute if it is an attribute binding. ([commit](https://github.com/Polymer/polymer/commit/62e9b84b))
- spacing. ([commit](https://github.com/Polymer/polymer/commit/5030c1b9))
- Update webcomponentsjs dependency ([commit](https://github.com/Polymer/polymer/commit/ca7dbb84))
- Change `isInert` to `disable-upgrade` and feature is now supported only via the `disable-upgrade` attribute. ([commit](https://github.com/Polymer/polymer/commit/f8f903cf))
- Add tests for `is-inert` ([commit](https://github.com/Polymer/polymer/commit/e1561f65))
- Prevent annotator from removing the `is-inert` attribute. ([commit](https://github.com/Polymer/polymer/commit/91925148))
- fixes for users of Polymer.Class ([commit](https://github.com/Polymer/polymer/commit/0f53bef4))
- Add support for `isInert` to allow elements to boot up in an inert state. e.g. `<x-foo is-inert></x-foo>`. Setting `xFoo.isInert = false` causes the element to boot up. ([commit](https://github.com/Polymer/polymer/commit/ca3f59d3))
- Small typos updated ([commit](https://github.com/Polymer/polymer/commit/bc023648))
- work around older firefox handling of the "properties" property on HTMLElement prototype ([commit](https://github.com/Polymer/polymer/commit/13f36c7f))
- improve comments ([commit](https://github.com/Polymer/polymer/commit/c76ba5b9))
- Add comments. Behavior fast copy flag changed to `_noAccessors`. ([commit](https://github.com/Polymer/polymer/commit/52ea6002))
- Fix tests on IE10 and simplify constructor shortcut. ([commit](https://github.com/Polymer/polymer/commit/e588f1f5))
- Make dom-module work on older Safari. ([commit](https://github.com/Polymer/polymer/commit/73b62a63))
- micro-optimizations: (1) favor mixin over extends where possible, (2) unroll behavior lifecycle calls, (3) avoid creating a custom constructor when not used, (4) provide `_skipDefineProperty` setting on behaviors which copies properties via assignment rather than `copyOwnProperty` ([commit](https://github.com/Polymer/polymer/commit/a1c1285d))
- Ensure done. ([commit](https://github.com/Polymer/polymer/commit/08753237))
- Test positive case of suppressBindingNotifications ([commit](https://github.com/Polymer/polymer/commit/1b19b784))
- Add notifyDomBind to dom-bind. ([commit](https://github.com/Polymer/polymer/commit/ad7f91d6))
- Test Polymer.Settings inside test. ([commit](https://github.com/Polymer/polymer/commit/4b286f19))
- Revert unnecessary change. ([commit](https://github.com/Polymer/polymer/commit/dcde6d4c))
- Fix test lint issue. ([commit](https://github.com/Polymer/polymer/commit/26c669ce))
- Add global flags to suppress unnecessary notification events. Fixes #4262. * `Polymer.Settings.suppressTemplateNotifications `- disables `dom-change` and `rendered-item-count` events from `dom-if`, `dom-repeat`, and `don-bind`. Users can opt back into `dom-change` events by setting the `notify-dom-change` attribute (`notifyDomChange: true` property) to `dom-if`/`don-repeat` instances. * `Polymer.Settings.suppressBindingNotifications` - disables notify effects when propagating data downward via bindings. Generally these are never useful unless users are explicitly doing something like `<my-el foo="{{foo}} on-foo-changed="{{handleFoo}}">` or calling `addEventListener('foo-changed', ...)` on an element where `foo` is bound (we attempted to make this the default some time back but needed to revert it when we found via https://github.com/Polymer/polymer/issues/3077 that users were indeed doing this). Users that avoid these patterns can enjoy the potentially significant benefit of suppressing unnecessary events during downward data flow by opting into this flag. ([commit](https://github.com/Polymer/polymer/commit/83e14c43))
- Fix `strip-whitespace` for nested templates. ([commit](https://github.com/Polymer/polymer/commit/a3b75eb3))
- [ci skip] update changelog v1.7.1 ([commit](https://github.com/Polymer/polymer/commit/03e22a1c))
- Close backtick in ISSUE_TEMPLATE.md ([commit](https://github.com/Polymer/polymer/commit/b0dea8bc))
## [v1.7.1-dev](https://github.com/Polymer/polymer/tree/v1.7.1-dev) (2016-12-14)
- Remove dependency on WebComponents for IE detection ([commit](https://github.com/Polymer/polymer/commit/650c16a9))
- Make sure text nodes are distributed when translating slot to content ([commit](https://github.com/Polymer/polymer/commit/87e312f1))
- always use the document listener ([commit](https://github.com/Polymer/polymer/commit/5ddcb8d1))
- Add tests for no-gesture interop ([commit](https://github.com/Polymer/polymer/commit/4be7e9f6))
- fix lint error ([commit](https://github.com/Polymer/polymer/commit/9c8eaa9d))
- Use document-wide passive touch listener to update ghostclick blocker target ([commit](https://github.com/Polymer/polymer/commit/947172f8))
- only need to recalc if styleProperties missing ([commit](https://github.com/Polymer/polymer/commit/5bfe2792))
- simpler implementation, only recompute when using shim variables ([commit](https://github.com/Polymer/polymer/commit/5231d87f))
- [ci skip] update travis.yml from 2.0 ([commit](https://github.com/Polymer/polymer/commit/1a9c5c8c))
- Always update style properties when calling getComputedStyleValue ([commit](https://github.com/Polymer/polymer/commit/fb8575c6))
- Add tests ([commit](https://github.com/Polymer/polymer/commit/29de0055))
- Fix #4123: Memory leak when using `importHref` ([commit](https://github.com/Polymer/polymer/commit/132010ea))
- Prevent _showHideChildren from being called on placeholders. ([commit](https://github.com/Polymer/polymer/commit/0468c60a))
- fix broken link to Google JavaScript syle guide in documentation ([commit](https://github.com/Polymer/polymer/commit/376d146f))
- Better explanation thanks to @kevinpschaaf ([commit](https://github.com/Polymer/polymer/commit/0dae8f0d))
- [ci skip] fix changelog title ([commit](https://github.com/Polymer/polymer/commit/16712cb6))
- [ci skip] Update Changelog for 1.7.0 ([commit](https://github.com/Polymer/polymer/commit/d6af21b5))
- Resolving issue #1745 with Polymer docs ([commit](https://github.com/Polymer/polymer/commit/bb875275))
- fixed broken tests/missing web components ([commit](https://github.com/Polymer/polymer/commit/f2b01e34))
- 3430 - ie memory leak fixes - disable event caching, fixed resolver url adding to root doc, and weak map ie issues ([commit](https://github.com/Polymer/polymer/commit/a6e66f92))
- Briefly explain how to split element definition ([commit](https://github.com/Polymer/polymer/commit/c6462286))
- Fix copy&pasted comment ([commit](https://github.com/Polymer/polymer/commit/d595c0cc))
## [v1.7.0](https://github.com/Polymer/polymer/tree/v1.7.0) (2016-09-28)
- Fix IE style cache performance ([commit](https://github.com/Polymer/polymer/commit/d08b694))
- no need for :root to be first in the selector ([commit](https://github.com/Polymer/polymer/commit/63433c8))
- fix tests on !chrome browsers ([commit](https://github.com/Polymer/polymer/commit/7ce981b))
- Translate `:root` to `:host > *` for element styles ([commit](https://github.com/Polymer/polymer/commit/fea64b9))
- Define checkRoot only once ([commit](https://github.com/Polymer/polymer/commit/a49b366))
- Fix normalizeRootSelector ([commit](https://github.com/Polymer/polymer/commit/c2278a0))
- Comment on using the ast walker to replace selector ([commit](https://github.com/Polymer/polymer/commit/9658665))
- update travis config ([commit](https://github.com/Polymer/polymer/commit/c00687a))
- Transform ::slotted() to ::content ([commit](https://github.com/Polymer/polymer/commit/541fdfb))
- Test on native shadow DOM also. ([commit](https://github.com/Polymer/polymer/commit/11afc1f))
- Reorder. ([commit](https://github.com/Polymer/polymer/commit/cbae058))
- Remove unused. ([commit](https://github.com/Polymer/polymer/commit/92d1d8a))
- Add fallback support/test. ([commit](https://github.com/Polymer/polymer/commit/037abdd))
- A little more dry. ([commit](https://github.com/Polymer/polymer/commit/6fd0e1f))
- Use name. ([commit](https://github.com/Polymer/polymer/commit/4aa8da2))
- Support default slot semantics. ([commit](https://github.com/Polymer/polymer/commit/d458dd3))
- Remove opt-in. Exclude content from copy. ([commit](https://github.com/Polymer/polymer/commit/41e5dc0))
- Make sure click events can always trigger tap, even on touch only devices ([commit](https://github.com/Polymer/polymer/commit/02441ca))
- Add support for slot->content transformation. Need to bikeshed opt-in attribute (currently "auto-content") ([commit](https://github.com/Polymer/polymer/commit/ebf31ca))
- Support more expressive `:root` and `html` selectors ([commit](https://github.com/Polymer/polymer/commit/2a8f21a))
- Fix typo ([commit](https://github.com/Polymer/polymer/commit/192eb56))
- test for mixins in custom-style ordering ([commit](https://github.com/Polymer/polymer/commit/37646f7))
- Do not insert semicolon when fixing var() syntax ([commit](https://github.com/Polymer/polymer/commit/0a338a7))
- Make sure mixins are applied no matter the ordering of definition ([commit](https://github.com/Polymer/polymer/commit/9daea3d))
- Update gulp-eslint to 3.x ([commit](https://github.com/Polymer/polymer/commit/8b89f02))
- Fixes #3676: retain `<style>` in `<template preserve-content/>` ([commit](https://github.com/Polymer/polymer/commit/8a4c00c))
- [ci skip] Update Changelog for v1.6.1 ([commit](https://github.com/Polymer/polymer/commit/ec04461))
- Apply to _marshalArgs. ([commit](https://github.com/Polymer/polymer/commit/b2cd932))
- Rename Path.head() to Path.root(). ([commit](https://github.com/Polymer/polymer/commit/77808d9))
- Use head in templatizer ([commit](https://github.com/Polymer/polymer/commit/478978d))
- Modify _annotationPathEffect ([commit](https://github.com/Polymer/polymer/commit/852aba0))
- Use isDescendant ([commit](https://github.com/Polymer/polymer/commit/b9944fe))
- Use isDeep ([commit](https://github.com/Polymer/polymer/commit/5627a55))
- Replace _fixPath. ([commit](https://github.com/Polymer/polymer/commit/6d1dd88))
- Replace _modelForPath. ([commit](https://github.com/Polymer/polymer/commit/b02eda0))
- Replace _patchMatchesEffect. ([commit](https://github.com/Polymer/polymer/commit/6ad9295))
- Add path library. ([commit](https://github.com/Polymer/polymer/commit/0320763))
- Revert "Fix _patchMatchesEffect. (#3631)" ([commit](https://github.com/Polymer/polymer/commit/a64f227))
## [v1.6.1](https://github.com/Polymer/polymer/tree/v1.6.1) (2016-08-01)
- Property Shim needs to handle build output from apply shim ([commit](https://github.com/Polymer/polymer/commit/d726a51))
- Do not resolve urls with leading slash and other protocols ([commit](https://github.com/Polymer/polymer/commit/94f95ec))
- Mark that non-inheritable properties being set to `inherit` is not supported ([commit](https://github.com/Polymer/polymer/commit/0a2b31e))
- Put `getInitialValueForProperty` on ApplyShim ([commit](https://github.com/Polymer/polymer/commit/0489ccf))
- Skip `initial` and `inherit` on IE 10 and 11 ([commit](https://github.com/Polymer/polymer/commit/63c3bfb))
- Handle mixins with property values of inherit and initial ([commit](https://github.com/Polymer/polymer/commit/c7571e5))
- Split tests for use-before-create and reusing mixin names for variables ([commit](https://github.com/Polymer/polymer/commit/8de1bec))
- Make sure we don't populate the mixin map for every variable ([commit](https://github.com/Polymer/polymer/commit/6265ade))
- [apply shim] Track dependencies for mixins before creation ([commit](https://github.com/Polymer/polymer/commit/2cab461))
- [property shim] Make sure "initial" and "inherit" behave as they would natively ([commit](https://github.com/Polymer/polymer/commit/0887dba))
- fix lint issue. ([commit](https://github.com/Polymer/polymer/commit/95eadbd))
- Fixes #3801. Ensure style host calculates custom properties before element. This ensures the scope's styles are prepared to be inspected by the element for matching rules. ([commit](https://github.com/Polymer/polymer/commit/5967f2d))
- Clean up custom-style use of apply shim ([commit](https://github.com/Polymer/polymer/commit/0859803))
- gate comparing css text on using native css properties ([commit](https://github.com/Polymer/polymer/commit/8fcb5f6))
- Only invalidate mixin if it defines new properties ([commit](https://github.com/Polymer/polymer/commit/b27f842))
- Make __currentElementProto optional for build tool ([commit](https://github.com/Polymer/polymer/commit/64d41e6))
- Rerun Apply Shim when mixins with consumers are redefined ([commit](https://github.com/Polymer/polymer/commit/498e23f))
- updateNativeStyles should only remove styles set by updateNativeStyles ([commit](https://github.com/Polymer/polymer/commit/831be4f))
- [ci skip] add smoke test for scope caching with custom-style ([commit](https://github.com/Polymer/polymer/commit/43955ea))
- Remove unused arg. ([commit](https://github.com/Polymer/polymer/commit/95cd415))
- Remove dirty check for custom events; unnecessary after #3678. Fixes #3677. ([commit](https://github.com/Polymer/polymer/commit/92a9398))
- Use _configValue to avoid setting readOnly. Add tests. ([commit](https://github.com/Polymer/polymer/commit/36467fa))
- Missing piece to fixing #3094 ([commit](https://github.com/Polymer/polymer/commit/694b35e))
- Opt in to "even lazier" behavior by setting `lazyRegister` to "max". This was done to preserve compatibility with the existing feature. Specifically, when "max" is used, setting `is` in `beforeRegister` and defining `factoryImpl` may only be done on an element's prototype and not its behaviors. In addition, the element's `beforeRegister` is called *before* its behaviors' `beforeRegisters` rather than *after* as in the normal case. ([commit](https://github.com/Polymer/polymer/commit/b271a88))
- Replace 'iff' with 'if and only if' ([commit](https://github.com/Polymer/polymer/commit/f7659eb))
- Fix test in IE10. ([commit](https://github.com/Polymer/polymer/commit/fb95dc8))
- cleanup check for sourceCapabilities ([commit](https://github.com/Polymer/polymer/commit/4c44fb7))
- Fix #3786 by adding a `noUrlSettings` flag to Polymer.Settings ([commit](https://github.com/Polymer/polymer/commit/8a26759))
- Fix mouse input delay on systems with a touchscreen ([commit](https://github.com/Polymer/polymer/commit/ed4c18a))
- Ensure properties override attributes at upgrade time. Fixes #3779. ([commit](https://github.com/Polymer/polymer/commit/f2938ec))
- Refresh cache'd styles contents in IE 10 and 11 ([commit](https://github.com/Polymer/polymer/commit/80be0df))
- change travis config ([commit](https://github.com/Polymer/polymer/commit/1256301))
- Fix css shady build mistakenly matching root rules as host rules ([commit](https://github.com/Polymer/polymer/commit/5dfb9c9))
- [ci skip] update changelog for v1.6.0 ([commit](https://github.com/Polymer/polymer/commit/d8bab9c))
- Make lazyRegister have 'even lazier' behavior such that behaviors are not mixed in until first-instance time. ([commit](https://github.com/Polymer/polymer/commit/9676d6d))
- need takeRecords in complex var example ([commit](https://github.com/Polymer/polymer/commit/b40561b))
- add reduced test case ([commit](https://github.com/Polymer/polymer/commit/26fe9b9))
- Replace VAR_MATCH regex with a simple state machine / callback ([commit](https://github.com/Polymer/polymer/commit/4ebec15))
- Expose an `lazierRegister` flag to defer additional work until first create time. This change requires that a behavior not implement a custom constructor or set the element's `is` property. ([commit](https://github.com/Polymer/polymer/commit/5c5b18e))
- Improve type signatures: `Polymer.Base.extend` and `Polymer.Base.mixin` ([commit](https://github.com/Polymer/polymer/commit/8382aa7))
- Fix for changing property to the same value ([commit](https://github.com/Polymer/polymer/commit/66e6e22))
- Include iron-component-page in devDependencies ([commit](https://github.com/Polymer/polymer/commit/639d5d8))
- Ensure fromAbove in _forwardParentProp. ([commit](https://github.com/Polymer/polymer/commit/072dcff))
## [v1.6.0](https://github.com/Polymer/polymer/tree/v1.6.0) (2016-06-29)
- Fix test to account for pseudo element differences x-browser. ([commit](https://github.com/Polymer/polymer/commit/54a462d))
- Restore functionality of selectors like `:host(.foo)::after`. ([commit](https://github.com/Polymer/polymer/commit/ff88e17))
- add comment. ([commit](https://github.com/Polymer/polymer/commit/e770343))
- re-support selectors like `:host[inline]` since this was previously supported under shady-dom. ([commit](https://github.com/Polymer/polymer/commit/4e51ef6))
- fix linting ([commit](https://github.com/Polymer/polymer/commit/4817d61))
- Add test for not matching `x-foox-bar` given `:host(x-bar)` used inside `x-foo` ([commit](https://github.com/Polymer/polymer/commit/4e08fa1))
- fix test in IE/FF. ([commit](https://github.com/Polymer/polymer/commit/ec111f1))
- simplify :host fixup ([commit](https://github.com/Polymer/polymer/commit/c3355fd))
- Fixes #3739: correctly shim `:host(.element-name)` as `element-name.element-name`. ([commit](https://github.com/Polymer/polymer/commit/997240a))
- Fixes #3734: address HI/CE timing issue in importHref. Fixes upgrade time dependencies of scripts on previous elements in async imports. ([commit](https://github.com/Polymer/polymer/commit/84662b9))
- Ensure element scope selectors are updated correctly when updateStyles is called when element is not in dom. ([commit](https://github.com/Polymer/polymer/commit/6d90480))
- add comment. ([commit](https://github.com/Polymer/polymer/commit/620e59f))
- remove unneeded flag. ([commit](https://github.com/Polymer/polymer/commit/b5b8a2a))
- Fixes #3730 and inspired by (https://github.com/Polymer/polymer/pull/3585) ([commit](https://github.com/Polymer/polymer/commit/ab431ed))
- custom-style triggers updateStyles if root scope (StyleDefaults) has style properties when the custom-style is created. ([commit](https://github.com/Polymer/polymer/commit/4852f6c))
- Fix _patchMatchesEffect. (#3631) ([commit](https://github.com/Polymer/polymer/commit/b78e5af))
- Fixes #3555. Ensure selectors including `::content` without a prefix … (#3721) ([commit](https://github.com/Polymer/polymer/commit/1058896))
- Fixes #3530. When `updateStyles` is called and an element is not attached, invalidate its styling so that when it is attached, its custom properties will be updated. ([commit](https://github.com/Polymer/polymer/commit/ae4a07e))
- Make sure effect functions receive latest values ([commit](https://github.com/Polymer/polymer/commit/34b2c79))
- [ci skip] data binding edge case smoke test ([commit](https://github.com/Polymer/polymer/commit/a54c1f2))
- Use `whenReady` to apply custom styles. ([commit](https://github.com/Polymer/polymer/commit/129488b))
- Use firefox 46 for testing ([commit](https://github.com/Polymer/polymer/commit/fbe5b0f))
- Need to wait until render to test. ([commit](https://github.com/Polymer/polymer/commit/92293f9))
- address feedback ([commit](https://github.com/Polymer/polymer/commit/4dc780a))
- Fix lint, use query params instead of duplicate file. ([commit](https://github.com/Polymer/polymer/commit/e4880d9))
- Ensure custom styles updated after adding custom-style async. Fixes #3705. ([commit](https://github.com/Polymer/polymer/commit/f770438))
- Store cacheablility on the scope ([commit](https://github.com/Polymer/polymer/commit/bc9519e))
- fix decorateStyles with custom-style ([commit](https://github.com/Polymer/polymer/commit/57a6769))
- Do not scope cache elements with media rules, :host(), or :host-context() selectors ([commit](https://github.com/Polymer/polymer/commit/5c3b917))
- Support preventDefault() on touch (#3693) ([commit](https://github.com/Polymer/polymer/commit/b9c874e))
- Shim CSS Mixins in terms of CSS Custom Properties (#3587) ([commit](https://github.com/Polymer/polymer/commit/6c0acef))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/adef722))
## [v1.5.0](https://github.com/Polymer/polymer/tree/v1.5.0) (2016-05-31)
- Fix test in Firefox that was hacked to work in Canary (instead filed https://bugs.chromium.org/p/chromium/issues/detail?id=614198). ([commit](https://github.com/Polymer/polymer/commit/1e2aed5))
- remove unneeded argument ([commit](https://github.com/Polymer/polymer/commit/4a99b83))
- slight optimization, avoid work if no cssText is set. ([commit](https://github.com/Polymer/polymer/commit/ce0bf86))
- More efficient fix for #3661. Re-uses cached style element that needs to be replaced in the document rather than creating a new one. ([commit](https://github.com/Polymer/polymer/commit/63f91ae))
- Fixes #3661: ensure that cached style points to the applied style for Shady DOM styling. This ensures that the cache can be used to determine if a style needs to be applied to the document and prevents extra unnecessary styles from being added. This could happen when a property cascaded to a nested element and updateStyles was called after properties have changed. ([commit](https://github.com/Polymer/polymer/commit/717fc3a))
- Fix flakey attached/detached timing test. ([commit](https://github.com/Polymer/polymer/commit/04da868))
- remove HTML comment ([commit](https://github.com/Polymer/polymer/commit/d339b28))
- add more style[include] doc ([commit](https://github.com/Polymer/polymer/commit/b8fd12d))
- Update the package.json name to match the actual npm published package. (#3570) ([commit](https://github.com/Polymer/polymer/commit/e57eb49))
- Remove unused event cache store (#3591) ([commit](https://github.com/Polymer/polymer/commit/364ede9))
- [ci skip] sudo should be "required" ([commit](https://github.com/Polymer/polymer/commit/c0e0a73))
- transition to travis trusty images ([commit](https://github.com/Polymer/polymer/commit/b7c0b1f))
- fine, console.dir then ([commit](https://github.com/Polymer/polymer/commit/c8cb3be))
- fix ie missing console.table for stubbing ([commit](https://github.com/Polymer/polymer/commit/6d39644))
- Support the devtools console.log api (multiple strings) for polymer logging ([commit](https://github.com/Polymer/polymer/commit/909ee82))
- Compute and use correct annotation value during config ([commit](https://github.com/Polymer/polymer/commit/1b02e96))
- Set propertyName on parent props for config phase. ([commit](https://github.com/Polymer/polymer/commit/d9c03a4))
- Refactorings around how computational expressions get their arguments ([commit](https://github.com/Polymer/polymer/commit/677f10c))
- Fix safari 7 again ([commit](https://github.com/Polymer/polymer/commit/b30f962))
- Expose public API to reset mouse cancelling for testing touch ([commit](https://github.com/Polymer/polymer/commit/18bf9d4))
- Delay detached callback with the same strategy as attached callback ([commit](https://github.com/Polymer/polymer/commit/7a244fa))
- [ci skip] Add missing dom5 devDependency ([commit](https://github.com/Polymer/polymer/commit/5e2050a))
- Don't use `translate` as a method for testing ([commit](https://github.com/Polymer/polymer/commit/f80346f))
- Only fix prototype when registering at first create time. ([commit](https://github.com/Polymer/polymer/commit/7ad2bff))
- Fixes #3525: Makes lazy registration compatible with platforms (like IE10) on which a custom element's prototype must be simulated. ([commit](https://github.com/Polymer/polymer/commit/4834651))
- make sure gulp-cli 1 is used ([commit](https://github.com/Polymer/polymer/commit/29067ca))
- Ensure Annotator recognizes dynamic fn as dependency for parent props. ([commit](https://github.com/Polymer/polymer/commit/15ff463))
- [ci skip] Update CHANGELOG ([commit](https://github.com/Polymer/polymer/commit/223aa34))
- Enabling caching of node_modules on Travis ([commit](https://github.com/Polymer/polymer/commit/6b6ec5d))
- Fix undefined class attribute in undefined template scope ([commit](https://github.com/Polymer/polymer/commit/e21c59e))
- Use a parser based html minification ([commit](https://github.com/Polymer/polymer/commit/0536e35))
- Call _notifyPath instead of notifyPath in templatizer ([commit](https://github.com/Polymer/polymer/commit/067b7ed))
- Keep it real for notifyPath. ([commit](https://github.com/Polymer/polymer/commit/40a1f79))
- Null debounced callback to set for GC. ([commit](https://github.com/Polymer/polymer/commit/f366c1c))
## [v1.4.0](https://github.com/Polymer/polymer/tree/v1.4.0) (2016-03-18)
- Fast check in createdCallback to see if registration has finished. ([commit](https://github.com/Polymer/polymer/commit/a3fce19))
- even more lazy: defer template lookup and style collection until finish register time. ([commit](https://github.com/Polymer/polymer/commit/103f790))
- fix lint errors. ([commit](https://github.com/Polymer/polymer/commit/d7a2baa))
- * turn on lazy registration via `Polymer.Settings.lazyRegister` * ensure registration finished by calling `Element.prototype.ensureRegisterFinished()` ([commit](https://github.com/Polymer/polymer/commit/31c785d))
- remove crufty smoke test. ([commit](https://github.com/Polymer/polymer/commit/3dd1b61))
- fix lint issues ([commit](https://github.com/Polymer/polymer/commit/0447228))
- Change `forceRegister` to `eagerRegister` and add `Polymer.Settings.eagerRegister` flag. ([commit](https://github.com/Polymer/polymer/commit/f6597ec))
- Add `forceRegister` flag to force an element to fully register when `Polymer` is called. Normally, some work is deferred until the first element instance is created. ([commit](https://github.com/Polymer/polymer/commit/d53323d))
- Call registered no prototype. ([commit](https://github.com/Polymer/polymer/commit/812db6a))
- Lazy register features we can be deferred until first instance. This is an optimization which can speed up page load time when elements are registered but not needed at time of first paint/interaction ([commit](https://github.com/Polymer/polymer/commit/31702ff))
- Do not reflect uppercase properties ([commit](https://github.com/Polymer/polymer/commit/72d35e0))
- Make sure event.path is an array ([commit](https://github.com/Polymer/polymer/commit/2dfdd7b))
- fix testing failures on assert.notInclude of null ([commit](https://github.com/Polymer/polymer/commit/8066919))
- [ci skip] update changelog ([commit](https://github.com/Polymer/polymer/commit/58e6713))
## [v1.3.1](https://github.com/Polymer/polymer/tree/v1.3.1) (2016-03-02)
- Fix lint errors. ([commit](https://github.com/Polymer/polymer/commit/44d06f1))
- Add test. ([commit](https://github.com/Polymer/polymer/commit/02660c1))
- Fix lint error. ([commit](https://github.com/Polymer/polymer/commit/e2c5f9e))
- Ensure that dom-bind always waits until DOMContentLoaded to render. This ensures a script can install api on the dom-bind prior to it rendering. Previously dom-bind waited for first render, but an early parser yield can make this occur unexpectedly early. ([commit](https://github.com/Polymer/polymer/commit/cc0e9df))
- Refine fix for #3461 so that the decision to apply a static or property stylesheet relies on the same info. ([commit](https://github.com/Polymer/polymer/commit/ff96f9e))
- Clean the .eslintignore ([commit](https://github.com/Polymer/polymer/commit/04d06a5))
- [ci skip] Add header for those asking questions ([commit](https://github.com/Polymer/polymer/commit/9d6111c))
- Fixes #3461: Only avoid creating a statically scoped stylesheet when properties are consumed in an element, properly excluding properties produced as a result of consumption. ([commit](https://github.com/Polymer/polymer/commit/e26a806))
- tweaks to new README ([commit](https://github.com/Polymer/polymer/commit/809352d))
- [ci skip] Update Changelog ([commit](https://github.com/Polymer/polymer/commit/4f3f463))
- Updated the README.md for a non-technical user to understand ([commit](https://github.com/Polymer/polymer/commit/0729cef))
## [v1.3.0](https://github.com/Polymer/polymer/tree/v1.3.0) (2016-02-22)
- [ci skip] Add instructions to pull request template ([commit](https://github.com/Polymer/polymer/commit/933c920))
- [ci skip] markdown fail ([commit](https://github.com/Polymer/polymer/commit/a8e01e2))
- [ci skip] Add instructions to issue template ([commit](https://github.com/Polymer/polymer/commit/ace0f72))
- Make sure to configure properties on polymer elements that do not have property effects. ([commit](https://github.com/Polymer/polymer/commit/f93c3e5))
- Fix lint errors. ([commit](https://github.com/Polymer/polymer/commit/5ac5ee7))
- Add comment. Ensure Date deserializes to String for correctness. ([commit](https://github.com/Polymer/polymer/commit/69c7087))
- Serialize before deserialize when configuring attrs. Fixes #3433. ([commit](https://github.com/Polymer/polymer/commit/ec85582))
- Restrict early property set to properties that have accessors. This allows users to set properties in `created` which are listed in `properties` but which have no accessor. ([commit](https://github.com/Polymer/polymer/commit/4cfb245))
- fix crlf once and for all ([commit](https://github.com/Polymer/polymer/commit/6c5afe5))
- fix test linting from #3350 ([commit](https://github.com/Polymer/polymer/commit/37f7157))
- Use the new .github folder for issue and pull request templates ([commit](https://github.com/Polymer/polymer/commit/58529c2))
- [ci skip] Use https for jsbin ([commit](https://github.com/Polymer/polymer/commit/3e33fd4))
- [ci skip] Add issue and pr template ([commit](https://github.com/Polymer/polymer/commit/cc1ef9a))
- Update to gulp-eslint v2 ([commit](https://github.com/Polymer/polymer/commit/dca0dda))
- fix lint errors ([commit](https://github.com/Polymer/polymer/commit/7da9a38))
- Minor fixes based on review. ([commit](https://github.com/Polymer/polymer/commit/f2c1d4a))
- Undo fix on IE10 where the custom elements polyfill's mixin strategy makes this unfeasible. ([commit](https://github.com/Polymer/polymer/commit/ef629f4))
- Update comments. ([commit](https://github.com/Polymer/polymer/commit/b870fe0))
- Add test that late resolved functions don't warn ([commit](https://github.com/Polymer/polymer/commit/0037c53))
- Add support for properties defined in a behavior. ([commit](https://github.com/Polymer/polymer/commit/b6abf26))
- Generalized approach supporting compute and observers ([commit](https://github.com/Polymer/polymer/commit/f4486a2))
- Proper implementation ([commit](https://github.com/Polymer/polymer/commit/3c12178))
- Support dynamic functions for computed annotations. ([commit](https://github.com/Polymer/polymer/commit/3f1bc4e))
- ordering issue for when assert is defined in native html imports ([commit](https://github.com/Polymer/polymer/commit/d81f6bc))
- Lint the tests ([commit](https://github.com/Polymer/polymer/commit/e5063ca))
- Add support for one-of attribute selector while not breaking support for general sibling combinator. Fixes #3023. Fix taken from #3067. ([commit](https://github.com/Polymer/polymer/commit/5a493d8))
- Fix bindings with special characters ([commit
gitextract_axbv8l9c/ ├── .eslintrc.json ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── stale.yml ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── RELEASING.md ├── externs/ │ ├── .gitignore │ ├── .npmignore │ ├── polymer-dom-api-externs.js │ ├── polymer-externs.js │ ├── polymer-iconset-externs.js │ ├── polymer-internal-shared-types.js │ ├── polymer-internal-types.html │ └── webcomponents-externs.js ├── gulpfile.js ├── index.html ├── interfaces.d.ts ├── lib/ │ ├── elements/ │ │ ├── array-selector.d.ts │ │ ├── array-selector.js │ │ ├── custom-style.d.ts │ │ ├── custom-style.js │ │ ├── dom-bind.d.ts │ │ ├── dom-bind.js │ │ ├── dom-if.d.ts │ │ ├── dom-if.js │ │ ├── dom-module.d.ts │ │ ├── dom-module.js │ │ ├── dom-repeat.d.ts │ │ └── dom-repeat.js │ ├── legacy/ │ │ ├── class.d.ts │ │ ├── class.js │ │ ├── legacy-data-mixin.d.ts │ │ ├── legacy-data-mixin.js │ │ ├── legacy-element-mixin.d.ts │ │ ├── legacy-element-mixin.js │ │ ├── mutable-data-behavior.d.ts │ │ ├── mutable-data-behavior.js │ │ ├── polymer-fn.d.ts │ │ ├── polymer-fn.js │ │ ├── polymer.dom.d.ts │ │ ├── polymer.dom.js │ │ ├── templatizer-behavior.d.ts │ │ └── templatizer-behavior.js │ ├── mixins/ │ │ ├── dir-mixin.d.ts │ │ ├── dir-mixin.js │ │ ├── disable-upgrade-mixin.d.ts │ │ ├── disable-upgrade-mixin.js │ │ ├── element-mixin.d.ts │ │ ├── element-mixin.js │ │ ├── gesture-event-listeners.d.ts │ │ ├── gesture-event-listeners.js │ │ ├── mutable-data.d.ts │ │ ├── mutable-data.js │ │ ├── properties-changed.d.ts │ │ ├── properties-changed.js │ │ ├── properties-mixin.d.ts │ │ ├── properties-mixin.js │ │ ├── property-accessors.d.ts │ │ ├── property-accessors.js │ │ ├── property-effects.d.ts │ │ ├── property-effects.js │ │ ├── strict-binding-parser.d.ts │ │ ├── strict-binding-parser.js │ │ ├── template-stamp.d.ts │ │ └── template-stamp.js │ └── utils/ │ ├── array-splice.d.ts │ ├── array-splice.js │ ├── async.d.ts │ ├── async.js │ ├── boot.d.ts │ ├── boot.js │ ├── case-map.d.ts │ ├── case-map.js │ ├── debounce.d.ts │ ├── debounce.js │ ├── flattened-nodes-observer.d.ts │ ├── flattened-nodes-observer.js │ ├── flush.d.ts │ ├── flush.js │ ├── gestures.d.ts │ ├── gestures.js │ ├── hide-template-controls.d.ts │ ├── hide-template-controls.js │ ├── html-tag.d.ts │ ├── html-tag.js │ ├── mixin.d.ts │ ├── mixin.js │ ├── path.d.ts │ ├── path.js │ ├── render-status.d.ts │ ├── render-status.js │ ├── resolve-url.d.ts │ ├── resolve-url.js │ ├── scope-subtree.d.ts │ ├── scope-subtree.js │ ├── settings.d.ts │ ├── settings.js │ ├── style-gather.d.ts │ ├── style-gather.js │ ├── telemetry.d.ts │ ├── telemetry.js │ ├── templatize.d.ts │ ├── templatize.js │ ├── unresolved.d.ts │ ├── unresolved.js │ ├── wrap.d.ts │ └── wrap.js ├── manifest.json ├── package.json ├── polymer-element.d.ts ├── polymer-element.js ├── polymer-legacy.d.ts ├── polymer-legacy.js ├── test/ │ ├── .eslintignore │ ├── .eslintrc.json │ ├── perf/ │ │ ├── binding-expressions.html │ │ └── perf-tests.html │ ├── runner.html │ ├── smoke/ │ │ ├── alacarte-property-accessors.html │ │ ├── alacarte-property-effects-ordering.html │ │ ├── alacarte-property-effects.html │ │ ├── alacarte-template-stamp.html │ │ ├── behavior-mixin.html │ │ ├── data-table.html │ │ ├── dirty-check.html │ │ ├── disable-upgrade.html │ │ ├── disabled-attr-gestures.html │ │ ├── dom-if.html │ │ ├── gestures.html │ │ ├── html-tag.html │ │ ├── label-click.html │ │ ├── ordering-test.html │ │ ├── passive-gestures.html │ │ └── style-props/ │ │ ├── src/ │ │ │ ├── elements-defaults.js │ │ │ ├── elements.js │ │ │ ├── scopes.js │ │ │ └── settings.js │ │ └── test.html │ └── unit/ │ ├── array-selector-elements.js │ ├── array-selector.html │ ├── async.html │ ├── attributes-elements.js │ ├── attributes.html │ ├── behaviors.html │ ├── case-map.html │ ├── class-properties.html │ ├── configure.html │ ├── css-parse.html │ ├── custom-style-async-import.html │ ├── custom-style-async-import.js │ ├── custom-style-async.html │ ├── custom-style-import.js │ ├── custom-style-late.html │ ├── custom-style-scope-cache.html │ ├── custom-style.html │ ├── debounce.html │ ├── dir.html │ ├── disable-upgrade.html │ ├── dom-bind-elements1.js │ ├── dom-bind-elements2.js │ ├── dom-bind.html │ ├── dom-if-elements.js │ ├── dom-if.html │ ├── dom-repeat-elements.js │ ├── dom-repeat.html │ ├── dynamic-import.html │ ├── dynamic-imports/ │ │ ├── async-import.html │ │ ├── async.html │ │ ├── dynamic-element.js │ │ ├── inner-element.js │ │ └── outer-element.html │ ├── events-elements.js │ ├── events.html │ ├── flattened-nodes-observer.html │ ├── gestures-elements.js │ ├── gestures.html │ ├── globals.html │ ├── html-tag.html │ ├── importHref.html │ ├── inheritance.html │ ├── legacy-data.html │ ├── legacy-noattributes.html │ ├── legacy-undefined.html │ ├── logging.html │ ├── mixin-behaviors.html │ ├── mixin-utils.html │ ├── multi-style.html │ ├── path-effects-elements.js │ ├── path-effects.html │ ├── path.html │ ├── polymer-dom-nopatch.html │ ├── polymer-dom-observeNodes.html │ ├── polymer-dom.html │ ├── polymer-element-with-apply-import.js │ ├── polymer-element-with-apply.html │ ├── polymer.element.html │ ├── polymer.legacyelement.html │ ├── polymer.properties-mixin-with-property-accessors.html │ ├── polymer.properties-mixin.html │ ├── properties-changed.html │ ├── property-accessors.html │ ├── property-effects-elements.js │ ├── property-effects-template.html │ ├── property-effects.html │ ├── ready-attached-order-class.html │ ├── ready-attached-order.html │ ├── render-status.html │ ├── resolveurl.html │ ├── shady-content.html │ ├── shady-dynamic.html │ ├── shady-events.html │ ├── shady-unscoped-style-import.js │ ├── shady-unscoped-style.html │ ├── shady.html │ ├── strict-template-policy.html │ ├── styling-build-adopted-stylesheets.html │ ├── styling-cross-scope-apply.html │ ├── styling-cross-scope-unknown-host.html │ ├── styling-cross-scope-var.html │ ├── styling-import-host2.css │ ├── styling-import-shared-styles.js │ ├── styling-only-with-template.html │ ├── styling-scoped-nopatch.html │ ├── styling-scoped.html │ ├── sub/ │ │ ├── resolveurl-elements.js │ │ ├── style-import.js │ │ ├── x-sub.html │ │ └── x-test.html │ ├── template-stamp.html │ ├── template-whitespace.html │ ├── templatize-elements.js │ ├── templatize.html │ └── wct-browser-config.js ├── util/ │ ├── .eslintrc.json │ ├── gen-changelog.sh │ ├── minimalDocument.js │ └── travis-sauce-test.sh └── wct.conf.json
SYMBOL INDEX (848 symbols across 80 files)
FILE: externs/polymer-externs.js
function Polymer (line 77) | function Polymer(init){}
function JSCompiler_renameProperty (line 109) | function JSCompiler_renameProperty(string, obj) {}
function PolymerTelemetry (line 112) | function PolymerTelemetry() {}
FILE: externs/polymer-internal-shared-types.js
function StampedTemplate (line 20) | function StampedTemplate() { }
function NodeInfo (line 31) | function NodeInfo() { }
function TemplateInfo (line 50) | function TemplateInfo() { }
function HTMLTemplateElementWithInfo (line 82) | function HTMLTemplateElementWithInfo() { }
function AsyncInterface (line 166) | function AsyncInterface(){}
FILE: gulpfile.js
constant DIST_DIR (line 30) | const DIST_DIR = 'dist';
constant BUNDLED_DIR (line 31) | const BUNDLED_DIR = path.join(DIST_DIR, 'bundled');
constant COMPILED_DIR (line 32) | const COMPILED_DIR = path.join(DIST_DIR, 'compiled');
constant POLYMER_LEGACY (line 33) | const POLYMER_LEGACY = 'polymer-legacy.js';
class BackfillStream (line 39) | class BackfillStream extends Transform {
method constructor (line 40) | constructor(fileList) {
method _transform (line 44) | _transform(file, enc, cb) {
method _flush (line 52) | _flush(cb) {
class AddClosureTypeImport (line 86) | class AddClosureTypeImport extends Transform {
method constructor (line 87) | constructor(entryFileName, typeFileName) {
method _transform (line 92) | _transform(file, enc, cb) {
function config (line 122) | function config(path) {
function closureLintLogger (line 143) | function closureLintLogger(log) {
FILE: interfaces.d.ts
type PolymerElementPropertiesMeta (line 9) | interface PolymerElementPropertiesMeta {
type PolymerElementProperties (line 19) | type PolymerElementProperties = {
type PolymerInit (line 24) | interface PolymerInit {
type BehaviorInit (line 46) | type BehaviorInit = Pick<
type PolymerDeepPropertyChange (line 57) | interface PolymerDeepPropertyChange<B, V> {
type PolymerSplice (line 70) | interface PolymerSplice<T extends Array<{}|null|undefined>> {
type PolymerSpliceChange (line 88) | interface PolymerSpliceChange<T extends Array<{}|null|undefined>> {
type StampedTemplate (line 94) | interface StampedTemplate extends DocumentFragment {
type NodeInfo (line 101) | interface NodeInfo {
type TemplateInfo (line 112) | interface TemplateInfo {
type LiteralBindingPart (line 123) | interface LiteralBindingPart {
type MethodArg (line 128) | interface MethodArg {
type MethodSignature (line 137) | interface MethodSignature {
type ExpressionBindingPart (line 144) | interface ExpressionBindingPart {
type BindingPart (line 154) | type BindingPart = LiteralBindingPart|ExpressionBindingPart;
type Binding (line 156) | interface Binding {
type AsyncInterface (line 166) | interface AsyncInterface {
type GestureRecognizer (line 173) | interface GestureRecognizer {
type IdleDeadline (line 188) | interface IdleDeadline {
type PolymerElementConstructor (line 193) | interface PolymerElementConstructor {
FILE: lib/elements/array-selector.d.ts
type ArraySelectorMixinConstructor (line 41) | interface ArraySelectorMixinConstructor {
type ArraySelectorMixin (line 47) | interface ArraySelectorMixin extends ElementMixin, PropertyEffects, Temp...
class ArraySelector (line 201) | class ArraySelector extends
type HTMLElementTagNameMap (line 208) | interface HTMLElementTagNameMap {
FILE: lib/elements/array-selector.js
class ArraySelectorMixin (line 51) | class ArraySelectorMixin extends elementBase {
method properties (line 53) | static get properties() {
method observers (line 97) | static get observers() {
method constructor (line 101) | constructor() {
method __updateSelection (line 108) | __updateSelection(multi, itemsInfo) {
method __applySplices (line 140) | __applySplices(splices) {
method __updateLinks (line 181) | __updateLinks() {
method clearSelection (line 209) | clearSelection() {
method isSelected (line 229) | isSelected(item) {
method isIndexSelected (line 240) | isIndexSelected(idx) {
method __deselectChangedIdx (line 244) | __deselectChangedIdx(idx) {
method __selectedIndexForItemIndex (line 256) | __selectedIndexForItemIndex(idx) {
method deselect (line 270) | deselect(item) {
method deselectIndex (line 294) | deselectIndex(idx) {
method select (line 306) | select(item) {
method selectIndex (line 318) | selectIndex(idx) {
class ArraySelector (line 427) | class ArraySelector extends baseArraySelector {
method is (line 430) | static get is() { return 'array-selector'; }
method template (line 431) | static get template() { return null; }
FILE: lib/elements/custom-style.d.ts
class CustomStyle (line 48) | class CustomStyle extends HTMLElement {
type HTMLElementTagNameMap (line 62) | interface HTMLElementTagNameMap {
FILE: lib/elements/custom-style.js
class CustomStyle (line 64) | class CustomStyle extends HTMLElement {
method constructor (line 65) | constructor() {
method getStyle (line 78) | getStyle() {
FILE: lib/elements/dom-bind.d.ts
class DomBind (line 23) | class DomBind extends
type HTMLElementTagNameMap (line 48) | interface HTMLElementTagNameMap {
FILE: lib/elements/dom-bind.js
class DomBind (line 51) | class DomBind extends domBindBase {
method observedAttributes (line 53) | static get observedAttributes() { return ['mutable-data']; }
method constructor (line 55) | constructor() {
method attributeChangedCallback (line 74) | attributeChangedCallback(name, old, value, namespace) {
method connectedCallback (line 83) | connectedCallback() {
method disconnectedCallback (line 94) | disconnectedCallback() {
method __insertChildren (line 98) | __insertChildren() {
method __removeChildren (line 102) | __removeChildren() {
method render (line 115) | render() {
FILE: lib/elements/dom-if.d.ts
class DomIfBase (line 17) | class DomIfBase extends PolymerElement {
type HTMLElementTagNameMap (line 93) | interface HTMLElementTagNameMap {
class DomIfFast (line 117) | class DomIfFast extends DomIfBase {
class DomIfLegacy (line 136) | class DomIfLegacy extends DomIfBase {
class DomIf (line 166) | class DomIf extends DomIfBase {
FILE: lib/elements/dom-if.js
class DomIfBase (line 28) | class DomIfBase extends PolymerElement {
method is (line 32) | static get is() { return 'dom-if'; }
method template (line 34) | static get template() { return null; }
method properties (line 36) | static get properties() {
method constructor (line 80) | constructor() {
method __debounceRender (line 91) | __debounceRender() {
method disconnectedCallback (line 119) | disconnectedCallback() {
method connectedCallback (line 132) | connectedCallback() {
method __ensureTemplate (line 152) | __ensureTemplate() {
method __ensureInstance (line 195) | __ensureInstance() {
method render (line 232) | render() {
method __render (line 245) | __render() {
method __hasInstance (line 275) | __hasInstance() { }
method __getInstanceNodes (line 285) | __getInstanceNodes() { }
method __createAndInsertInstance (line 295) | __createAndInsertInstance(parentNode) { }
method __teardownInstance (line 304) | __teardownInstance() { }
method _showHideChildren (line 314) | _showHideChildren() { }
class DomIfFast (line 337) | class DomIfFast extends DomIfBase {
method constructor (line 339) | constructor() {
method __hasInstance (line 351) | __hasInstance() {
method __getInstanceNodes (line 362) | __getInstanceNodes() {
method __createAndInsertInstance (line 376) | __createAndInsertInstance(parentNode) {
method __syncHostProperties (line 442) | __syncHostProperties() {
method __teardownInstance (line 459) | __teardownInstance() {
method _showHideChildren (line 480) | _showHideChildren() {
class DomIfLegacy (line 498) | class DomIfLegacy extends DomIfBase {
method constructor (line 500) | constructor() {
method __hasInstance (line 513) | __hasInstance() {
method __getInstanceNodes (line 524) | __getInstanceNodes() {
method __createAndInsertInstance (line 539) | __createAndInsertInstance(parentNode) {
method __teardownInstance (line 582) | __teardownInstance() {
method __syncHostProperties (line 608) | __syncHostProperties() {
method _showHideChildren (line 631) | _showHideChildren() {
FILE: lib/elements/dom-module.d.ts
class DomModule (line 27) | class DomModule extends HTMLElement {
type HTMLElementTagNameMap (line 74) | interface HTMLElementTagNameMap {
FILE: lib/elements/dom-module.js
function setModule (line 24) | function setModule(id, module) {
function findModule (line 36) | function findModule(id) {
function styleOutsideTemplateCheck (line 40) | function styleOutsideTemplateCheck(inst) {
class DomModule (line 71) | class DomModule extends HTMLElement {
method observedAttributes (line 74) | static get observedAttributes() { return ['id']; }
method import (line 87) | static import(id, selector) {
method attributeChangedCallback (line 107) | attributeChangedCallback(name, old, value, namespace) {
method assetpath (line 125) | get assetpath() {
method register (line 146) | register(id) {
FILE: lib/elements/dom-repeat.d.ts
class DomRepeat (line 117) | class DomRepeat extends
type HTMLElementTagNameMap (line 309) | interface HTMLElementTagNameMap {
FILE: lib/elements/dom-repeat.js
class DomRepeat (line 132) | class DomRepeat extends domRepeatBase {
method is (line 136) | static get is() { return 'dom-repeat'; }
method template (line 138) | static get template() { return null; }
method properties (line 140) | static get properties() {
method observers (line 313) | static get observers() {
method constructor (line 317) | constructor() {
method disconnectedCallback (line 343) | disconnectedCallback() {
method connectedCallback (line 359) | connectedCallback() {
method __ensureTemplatized (line 378) | __ensureTemplatized() {
method __getMethodHost (line 444) | __getMethodHost() {
method __functionFromPropertyValue (line 453) | __functionFromPropertyValue(functionOrMethodName) {
method __sortChanged (line 463) | __sortChanged(sort) {
method __filterChanged (line 468) | __filterChanged(filter) {
method __computeFrameTime (line 473) | __computeFrameTime(rate) {
method __observeChanged (line 477) | __observeChanged() {
method __handleObservedPaths (line 482) | __handleObservedPaths(path) {
method __itemsChanged (line 500) | __itemsChanged(change) {
method __debounceRender (line 521) | __debounceRender(fn, delay = 0) {
method render (line 537) | render() {
method __render (line 543) | __render() {
method __sortAndFilterItems (line 579) | __sortAndFilterItems(items) {
method __calculateLimit (line 597) | __calculateLimit(filteredItemCount) {
method __continueChunking (line 633) | __continueChunking() {
method __updateInstances (line 651) | __updateInstances(items, limit, isntIdxToItemsIdx) {
method __detachInstance (line 676) | __detachInstance(idx) {
method __attachInstance (line 686) | __attachInstance(idx, parent) {
method __detachAndRemoveInstance (line 692) | __detachAndRemoveInstance(idx) {
method __stampInstance (line 697) | __stampInstance(item, instIdx, itemIdx) {
method __insertInstance (line 705) | __insertInstance(item, instIdx, itemIdx) {
method _showHideChildren (line 724) | _showHideChildren(hidden) {
method __handleItemPath (line 732) | __handleItemPath(path, value) {
method itemForElement (line 769) | itemForElement(el) {
method indexForElement (line 783) | indexForElement(el) {
method modelForElement (line 805) | modelForElement(el) {
FILE: lib/legacy/class.js
function copyProperties (line 45) | function copyProperties(source, target, excludeProps) {
function mixinBehaviors (line 82) | function mixinBehaviors(behaviors, klass) {
function applyBehaviors (line 116) | function applyBehaviors(proto, behaviors, lifecycle) {
function applyInfo (line 122) | function applyInfo(proto, info, lifecycle, excludeProps) {
function flattenBehaviors (line 138) | function flattenBehaviors(behaviors, list, exclude) {
function mergeProperties (line 166) | function mergeProperties(target, source) {
function GenerateClassFromInfo (line 210) | function GenerateClassFromInfo(info, Base, behaviors) {
FILE: lib/legacy/legacy-data-mixin.d.ts
class UndefinedArgumentError (line 12) | class UndefinedArgumentError extends Error {
type LegacyDataMixinConstructor (line 35) | interface LegacyDataMixinConstructor {
type LegacyDataMixin (line 41) | interface LegacyDataMixin {
type TemplatizeMixinConstructor (line 46) | interface TemplatizeMixinConstructor {
type TemplatizeMixin (line 52) | interface TemplatizeMixin {
class legacyBase (line 55) | class legacyBase extends HTMLElement {
FILE: lib/legacy/legacy-data-mixin.js
method constructor (line 16) | constructor(message, arg) {
function wrapEffect (line 35) | function wrapEffect(effect, fnName) {
class LegacyDataMixin (line 78) | class LegacyDataMixin extends superClass {
method _marshalArgs (line 89) | _marshalArgs(args, path, props) {
method _addPropertyEffect (line 118) | _addPropertyEffect(property, type, effect) {
method _addTemplatePropertyEffect (line 134) | static _addTemplatePropertyEffect(templateInfo, prop, effect) {
class TemplateLegacy (line 173) | class TemplateLegacy extends legacyBase {
method _legacyUndefinedCheck (line 174) | get _legacyUndefinedCheck() {
FILE: lib/legacy/legacy-element-mixin.d.ts
type LegacyElementMixinConstructor (line 55) | interface LegacyElementMixinConstructor {
type LegacyElementMixin (line 61) | interface LegacyElementMixin extends ElementMixin, PropertyEffects, Temp...
FILE: lib/legacy/legacy-element-mixin.js
constant DISABLED_ATTR (line 28) | const DISABLED_ATTR = 'disable-upgrade';
class LegacyElement (line 92) | class LegacyElement extends legacyElementBase {
method constructor (line 94) | constructor() {
method importMeta (line 120) | static get importMeta() {
method created (line 130) | created() {}
method __attributeReaction (line 140) | __attributeReaction(name, old, value) {
method setAttribute (line 150) | setAttribute(name, value) {
method removeAttribute (line 165) | removeAttribute(name) {
method observedAttributes (line 176) | static get observedAttributes() {
method _enableProperties (line 193) | _enableProperties() {
method _canApplyPropertyDefault (line 206) | _canApplyPropertyDefault(property) {
method connectedCallback (line 217) | connectedCallback() {
method attached (line 235) | attached() {}
method disconnectedCallback (line 243) | disconnectedCallback() {
method detached (line 258) | detached() {}
method attributeChangedCallback (line 270) | attributeChangedCallback(name, old, value, namespace) {
method attributeChanged (line 299) | attributeChanged(name, old, value) {}
method _initializeProperties (line 310) | _initializeProperties() {
method _takeAttributes (line 342) | _takeAttributes() {
method _registered (line 359) | _registered() {}
method ready (line 368) | ready() {
method _ensureAttributes (line 385) | _ensureAttributes() {}
method _applyListeners (line 399) | _applyListeners() {}
method serialize (line 414) | serialize(value) {
method deserialize (line 432) | deserialize(value, type) {
method reflectPropertyToAttribute (line 448) | reflectPropertyToAttribute(property, attribute, value) {
method serializeValueToAttribute (line 464) | serializeValueToAttribute(value, attribute, node) {
method extend (line 477) | extend(prototype, api) {
method mixin (line 503) | mixin(target, source) {
method chainObject (line 522) | chainObject(object, prototype) {
method instanceTemplate (line 541) | instanceTemplate(template) {
method fire (line 567) | fire(type, detail, options) {
method listen (line 591) | listen(node, eventName, methodName) {
method unlisten (line 618) | unlisten(node, eventName, methodName) {
method setScrollDirection (line 647) | setScrollDirection(direction, node) {
method $$ (line 663) | $$(slctr) {
method domHost (line 677) | get domHost() {
method distributeContent (line 689) | distributeContent() {
method getEffectiveChildNodes (line 707) | getEffectiveChildNodes() {
method queryDistributedElements (line 723) | queryDistributedElements(selector) {
method getEffectiveChildren (line 738) | getEffectiveChildren() {
method getEffectiveTextContent (line 753) | getEffectiveTextContent() {
method queryEffectiveChildren (line 772) | queryEffectiveChildren(selector) {
method queryAllEffectiveChildren (line 786) | queryAllEffectiveChildren(selector) {
method getContentChildNodes (line 801) | getContentChildNodes(slctr) {
method getContentChildren (line 825) | getContentChildren(slctr) {
method isLightDescendant (line 841) | isLightDescendant(node) {
method isLocalDescendant (line 854) | isLocalDescendant(node) {
method scopeSubtree (line 866) | scopeSubtree(container, shouldObserve = false) {
method getComputedStyleValue (line 879) | getComputedStyleValue(property) {
method debounce (line 910) | debounce(jobName, callback, wait) {
method isDebouncerActive (line 925) | isDebouncerActive(jobName) {
method flushDebouncer (line 938) | flushDebouncer(jobName) {
method cancelDebouncer (line 953) | cancelDebouncer(jobName) {
method async (line 975) | async(callback, waitTime) {
method cancelAsync (line 988) | cancelAsync(handle) {
method create (line 1004) | create(tag, props) {
method elementMatches (line 1027) | elementMatches(selector, node) {
method toggleAttribute (line 1040) | toggleAttribute(name, bool) {
method toggleClass (line 1068) | toggleClass(name, bool, node) {
method transform (line 1089) | transform(transformText, node) {
method translate3d (line 1107) | translate3d(x, y, z, node) {
method arrayDelete (line 1129) | arrayDelete(arrayOrPath, item) {
method _logger (line 1156) | _logger(level, args) {
method _log (line 1176) | _log(...args) {
method _warn (line 1187) | _warn(...args) {
method _error (line 1198) | _error(...args) {
method _logf (line 1211) | _logf(methodName, ...args) {
FILE: lib/legacy/mutable-data-behavior.d.ts
type MutableDataBehavior (line 41) | interface MutableDataBehavior {
type OptionalMutableDataBehavior (line 101) | interface OptionalMutableDataBehavior {
FILE: lib/legacy/mutable-data-behavior.js
method _shouldPropertyChange (line 75) | _shouldPropertyChange(property, value, old) {
method _shouldPropertyChange (line 148) | _shouldPropertyChange(property, value, old) {
FILE: lib/legacy/polymer.dom.d.ts
class DomApiNative (line 27) | class DomApiNative {
class EventApi (line 156) | class EventApi {
FILE: lib/legacy/polymer.dom.js
class DomApiNative (line 45) | class DomApiNative {
method constructor (line 50) | constructor(node) {
method observeNodes (line 66) | observeNodes(callback) {
method unobserveNodes (line 79) | unobserveNodes(observerHandle) {
method notifyObserver (line 87) | notifyObserver() {}
method deepContains (line 99) | deepContains(node) {
method getOwnerRoot (line 122) | getOwnerRoot() {
method getDistributedNodes (line 133) | getDistributedNodes() {
method getDestinationInsertionPoints (line 145) | getDestinationInsertionPoints() {
method importNode (line 163) | importNode(node, deep) {
method getEffectiveChildNodes (line 174) | getEffectiveChildNodes() {
method queryDistributedElements (line 187) | queryDistributedElements(selector) {
method activeElement (line 206) | get activeElement() {
function forwardMethods (line 212) | function forwardMethods(proto, methods) {
function forwardReadOnlyProperties (line 223) | function forwardReadOnlyProperties(proto, properties) {
function forwardProperties (line 236) | function forwardProperties(proto, properties) {
class EventApi (line 264) | class EventApi {
method constructor (line 265) | constructor(event) {
method rootTarget (line 274) | get rootTarget() {
method localTarget (line 283) | get localTarget() {
method path (line 291) | get path() {
class Wrapper (line 392) | class Wrapper extends window['ShadyDOM']['Wrapper'] {}
method get (line 415) | get() {
method get (line 430) | get() {
FILE: lib/legacy/templatizer-behavior.d.ts
type Templatizer (line 66) | interface Templatizer {
FILE: lib/legacy/templatizer-behavior.js
method templatize (line 100) | templatize(template, mutableData) {
method stamp (line 125) | stamp(model) {
method modelForElement (line 140) | modelForElement(el) {
FILE: lib/mixins/dir-mixin.d.ts
type DirMixinConstructor (line 36) | interface DirMixinConstructor {
type DirMixin (line 57) | interface DirMixin extends PropertyAccessors, PropertiesChanged {
FILE: lib/mixins/dir-mixin.js
constant HOST_DIR (line 16) | const HOST_DIR = /:host\(:dir\((ltr|rtl)\)\)/g;
constant HOST_DIR_REPLACMENT (line 17) | const HOST_DIR_REPLACMENT = ':host([dir="$1"])';
constant EL_DIR (line 19) | const EL_DIR = /([\s\w-#\.\[\]\*]*):dir\((ltr|rtl)\)/g;
constant EL_DIR_REPLACMENT (line 20) | const EL_DIR_REPLACMENT = ':host([dir="$2"]) $1';
constant DIR_CHECK (line 22) | const DIR_CHECK = /:dir\((?:ltr|rtl)\)/;
constant SHIM_SHADOW (line 24) | const SHIM_SHADOW = Boolean(window['ShadyDOM'] && window['ShadyDOM']['in...
constant DIR_INSTANCES (line 29) | const DIR_INSTANCES = [];
function getRTL (line 36) | function getRTL() {
function setRTL (line 43) | function setRTL(instance) {
function updateDirection (line 50) | function updateDirection() {
function takeRecords (line 58) | function takeRecords() {
class Dir (line 112) | class Dir extends elementBase {
method _processStyleText (line 121) | static _processStyleText(cssText, baseURI) {
method _replaceDirInCssText (line 139) | static _replaceDirInCssText(text) {
method constructor (line 146) | constructor() {
method ready (line 158) | ready() {
method connectedCallback (line 169) | connectedCallback() {
method disconnectedCallback (line 186) | disconnectedCallback() {
FILE: lib/mixins/disable-upgrade-mixin.d.ts
type DisableUpgradeMixinConstructor (line 49) | interface DisableUpgradeMixinConstructor {
type DisableUpgradeMixin (line 55) | interface DisableUpgradeMixin extends ElementMixin, PropertyEffects, Tem...
FILE: lib/mixins/disable-upgrade-mixin.js
constant DISABLED_ATTR (line 16) | const DISABLED_ATTR = 'disable-upgrade';
class DisableUpgradeClass (line 77) | class DisableUpgradeClass extends superClass {
method constructor (line 79) | constructor() {
method observedAttributes (line 85) | static get observedAttributes() {
method _initializeProperties (line 91) | _initializeProperties() {
method _enableProperties (line 102) | _enableProperties() {
method _canApplyPropertyDefault (line 114) | _canApplyPropertyDefault(property) {
method attributeChangedCallback (line 127) | attributeChangedCallback(name, old, value, namespace) {
method connectedCallback (line 147) | connectedCallback() {
method disconnectedCallback (line 157) | disconnectedCallback() {
FILE: lib/mixins/element-mixin.d.ts
type ElementMixinConstructor (line 86) | interface ElementMixinConstructor {
type ElementMixin (line 160) | interface ElementMixin extends PropertyEffects, TemplateStamp, PropertyA...
FILE: lib/mixins/element-mixin.js
function propertyDefaults (line 123) | function propertyDefaults(constructor) {
function ownObservers (line 145) | function ownObservers(constructor) {
function createPropertyFromConfig (line 215) | function createPropertyFromConfig(proto, name, info, allProps) {
function processElementStyles (line 265) | function processElementStyles(klass, template, is, baseURI) {
function getTemplateFromDomModule (line 331) | function getTemplateFromDomModule(is) {
class PolymerElement (line 354) | class PolymerElement extends polymerElementBase {
method polymerElementVersion (line 361) | static get polymerElementVersion() {
method _finalizeClass (line 373) | static _finalizeClass() {
method _prepareTemplate (line 385) | static _prepareTemplate() {
method createProperties (line 409) | static createProperties(props) {
method createObservers (line 428) | static createObservers(observers, dynamicFns) {
method template (line 476) | static get template() {
method template (line 523) | static set template(value) {
method importPath (line 547) | static get importPath() {
method constructor (line 561) | constructor() {
method _initializeProperties (line 589) | _initializeProperties() {
method _canApplyPropertyDefault (line 628) | _canApplyPropertyDefault(property) {
method _processStyleText (line 641) | static _processStyleText(cssText, baseURI) {
method _finalizeTemplate (line 655) | static _finalizeTemplate(is) {
method connectedCallback (line 681) | connectedCallback() {
method ready (line 694) | ready() {
method _readyClients (line 712) | _readyClients() {
method _attachDom (line 736) | _attachDom(dom) {
method updateStyles (line 785) | updateStyles(properties) {
method resolveUrl (line 807) | resolveUrl(url, base) {
method _parseTemplateContent (line 827) | static _parseTemplateContent(template, templateInfo, nodeInfo) {
method _addTemplatePropertyEffect (line 847) | static _addTemplatePropertyEffect(templateInfo, prop, effect) {
FILE: lib/mixins/gesture-event-listeners.d.ts
type GestureEventListenersConstructor (line 22) | interface GestureEventListenersConstructor {
type GestureEventListeners (line 28) | interface GestureEventListeners {
FILE: lib/mixins/gesture-event-listeners.js
class GestureEventListeners (line 38) | class GestureEventListeners extends superClass {
method _addEventListenerToNode (line 48) | _addEventListenerToNode(node, eventName, handler) {
method _removeEventListenerFromNode (line 63) | _removeEventListenerFromNode(node, eventName, handler) {
FILE: lib/mixins/mutable-data.d.ts
type MutableDataConstructor (line 45) | interface MutableDataConstructor {
type MutableData (line 51) | interface MutableData {
type OptionalMutableDataConstructor (line 112) | interface OptionalMutableDataConstructor {
type OptionalMutableData (line 118) | interface OptionalMutableData {
FILE: lib/mixins/mutable-data.js
function mutablePropertyChange (line 13) | function mutablePropertyChange(inst, property, value, old, mutableData) {
class MutableData (line 81) | class MutableData extends superClass {
method _shouldPropertyChange (line 99) | _shouldPropertyChange(property, value, old) {
class OptionalMutableData (line 156) | class OptionalMutableData extends superClass {
method properties (line 159) | static get properties() {
method _shouldPropertyChange (line 188) | _shouldPropertyChange(property, value, old) {
FILE: lib/mixins/properties-changed.d.ts
type PropertiesChangedConstructor (line 26) | interface PropertiesChangedConstructor {
type PropertiesChanged (line 57) | interface PropertiesChanged {
FILE: lib/mixins/properties-changed.js
class PropertiesChanged (line 54) | class PropertiesChanged extends superClass {
method createProperties (line 63) | static createProperties(props) {
method attributeNameForProperty (line 83) | static attributeNameForProperty(property) {
method typeForProperty (line 95) | static typeForProperty(name) { }
method _createPropertyAccessor (line 114) | _createPropertyAccessor(property, readOnly) {
method _addPropertyToAttributeMap (line 133) | _addPropertyToAttributeMap(property) {
method _definePropertyAccessor (line 158) | _definePropertyAccessor(property, readOnly) {
method constructor (line 177) | constructor() {
method ready (line 209) | ready() {
method _initializeProperties (line 224) | _initializeProperties() {
method _initializeInstanceProperties (line 251) | _initializeInstanceProperties(props) {
method _setProperty (line 265) | _setProperty(property, value) {
method _getProperty (line 278) | _getProperty(property) {
method _setPendingProperty (line 296) | _setPendingProperty(property, value, ext) {
method _isPropertyPending (line 319) | _isPropertyPending(property) {
method _invalidateProperties (line 331) | _invalidateProperties() {
method _enableProperties (line 355) | _enableProperties() {
method _flushProperties (line 376) | _flushProperties() {
method _shouldPropertiesChange (line 402) | _shouldPropertiesChange(currentProps, changedProps, oldProps) { // esl...
method _propertiesChanged (line 419) | _propertiesChanged(currentProps, changedProps, oldProps) { // eslint-d...
method _shouldPropertyChange (line 441) | _shouldPropertyChange(property, value, old) {
method attributeChangedCallback (line 462) | attributeChangedCallback(name, old, value, namespace) {
method _attributeToProperty (line 484) | _attributeToProperty(attribute, value, type) {
method _propertyToAttribute (line 504) | _propertyToAttribute(property, attribute, value) {
method _valueToNodeAttribute (line 526) | _valueToNodeAttribute(node, value, attribute) {
method _serializeValue (line 556) | _serializeValue(value) {
method _deserializeValue (line 578) | _deserializeValue(value, type) {
FILE: lib/mixins/properties-mixin.d.ts
type PropertiesMixinConstructor (line 28) | interface PropertiesMixinConstructor {
type PropertiesMixin (line 58) | interface PropertiesMixin extends PropertiesChanged {
FILE: lib/mixins/properties-mixin.js
function normalizeProperties (line 25) | function normalizeProperties(props) {
function superPropertiesClass (line 70) | function superPropertiesClass(constructor) {
function ownProperties (line 89) | function ownProperties(constructor) {
class PropertiesMixin (line 113) | class PropertiesMixin extends base {
method observedAttributes (line 121) | static get observedAttributes() {
method finalize (line 138) | static finalize() {
method _finalizeClass (line 157) | static _finalizeClass() {
method _properties (line 173) | static get _properties() {
method typeForProperty (line 193) | static typeForProperty(name) {
method _initializeProperties (line 204) | _initializeProperties() {
method connectedCallback (line 218) | connectedCallback() {
method disconnectedCallback (line 231) | disconnectedCallback() {
FILE: lib/mixins/property-accessors.d.ts
type PropertyAccessorsConstructor (line 41) | interface PropertyAccessorsConstructor {
type PropertyAccessors (line 65) | interface PropertyAccessors extends PropertiesChanged {
FILE: lib/mixins/property-accessors.js
function saveAccessorValue (line 51) | function saveAccessorValue(model, property) {
class PropertyAccessors (line 123) | class PropertyAccessors extends base {
method createPropertiesForAttributes (line 135) | static createPropertiesForAttributes() {
method attributeNameForProperty (line 151) | static attributeNameForProperty(property) {
method _initializeProperties (line 164) | _initializeProperties() {
method _initializeProtoProperties (line 186) | _initializeProtoProperties(props) {
method _ensureAttribute (line 204) | _ensureAttribute(attribute, value) {
method _serializeValue (line 219) | _serializeValue(value) {
method _deserializeValue (line 262) | _deserializeValue(value, type) {
method _definePropertyAccessor (line 312) | _definePropertyAccessor(property, readOnly) {
method _hasAccessor (line 324) | _hasAccessor(property) {
method _isPropertyPending (line 336) | _isPropertyPending(prop) {
FILE: lib/mixins/property-effects.d.ts
type PropertyEffectsConstructor (line 53) | interface PropertyEffectsConstructor {
type PropertyEffects (line 297) | interface PropertyEffects extends TemplateStamp, PropertyAccessors, Prop...
FILE: lib/mixins/property-effects.js
constant NOOP (line 28) | const NOOP = [];
constant TYPES (line 34) | const TYPES = {
constant COMPUTE_INFO (line 43) | const COMPUTE_INFO = '__computeInfo';
function ensureOwnEffectMap (line 90) | function ensureOwnEffectMap(model, type, cloneArrays) {
function runEffects (line 125) | function runEffects(inst, effects, props, oldProps, hasPaths, extraArgs) {
function runEffectsForProperty (line 165) | function runEffectsForProperty(inst, effects, dedupeId, prop, props, old...
function pathMatchesTrigger (line 202) | function pathMatchesTrigger(path, trigger) {
function runObserverEffect (line 227) | function runObserverEffect(inst, property, props, oldProps, info) {
function runNotifyEffects (line 255) | function runNotifyEffects(inst, notifyProps, props, oldProps, hasPaths) {
function notifyPath (line 290) | function notifyPath(inst, path, props) {
function dispatchNotifyEvent (line 315) | function dispatchNotifyEvent(inst, eventName, value, path) {
function runNotifyEffect (line 346) | function runNotifyEffect(inst, property, props, oldProps, info, hasPaths) {
function handleNotification (line 374) | function handleNotification(event, inst, fromProp, toPath, negate) {
function runReflectEffect (line 406) | function runReflectEffect(inst, property, props, oldProps, info) {
function runComputedEffects (line 431) | function runComputedEffects(inst, changedProps, oldProps, hasPaths) {
function getComputedOrder (line 552) | function getComputedOrder(inst) {
function dependencyCounts (line 597) | function dependencyCounts(inst) {
function runComputedEffect (line 632) | function runComputedEffect(inst, property, changedProps, oldProps, info) {
function computeLinkedPaths (line 658) | function computeLinkedPaths(inst, path, value) {
function addBinding (line 694) | function addBinding(constructor, templateInfo, nodeInfo, kind, target, p...
function addEffectForBindingPart (line 726) | function addEffectForBindingPart(constructor, templateInfo, binding, par...
function runBindingEffect (line 769) | function runBindingEffect(inst, path, props, oldProps, info, hasPaths, n...
function applyBindingValue (line 806) | function applyBindingValue(inst, node, binding, part, value) {
function computeBindingValue (line 843) | function computeBindingValue(node, value, binding, part) {
function shouldAddListener (line 873) | function shouldAddListener(binding) {
function setupBindings (line 891) | function setupBindings(inst, templateInfo) {
function setupCompoundStorage (line 927) | function setupCompoundStorage(node, binding) {
function addNotifyListener (line 963) | function addNotifyListener(node, inst, binding) {
function createMethodEffect (line 991) | function createMethodEffect(model, sig, type, effectFn, methodInfo, dyna...
function runMethodEffect (line 1031) | function runMethodEffect(inst, property, props, oldProps, info) {
constant IDENT (line 1047) | const IDENT = '(?:' + '[a-zA-Z_$][\\w.:$\\-*]*' + ')';
constant NUMBER (line 1048) | const NUMBER = '(?:' + '[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?' + ')';
constant SQUOTE_STRING (line 1049) | const SQUOTE_STRING = '(?:' + '\'(?:[^\'\\\\]|\\\\.)*\'' + ')';
constant DQUOTE_STRING (line 1050) | const DQUOTE_STRING = '(?:' + '"(?:[^"\\\\]|\\\\.)*"' + ')';
constant STRING (line 1051) | const STRING = '(?:' + SQUOTE_STRING + '|' + DQUOTE_STRING + ')';
constant ARGUMENT (line 1052) | const ARGUMENT = '(?:(' + IDENT + '|' + NUMBER + '|' + STRING + ')\\s*'...
constant ARGUMENTS (line 1053) | const ARGUMENTS = '(?:' + ARGUMENT + '(?:,\\s*' + ARGUMENT + ')*' + ')';
constant ARGUMENT_LIST (line 1054) | const ARGUMENT_LIST = '(?:' + '\\(\\s*' +
constant BINDING (line 1057) | const BINDING = '(' + IDENT + '\\s*' + ARGUMENT_LIST + '?' + ')';
constant OPEN_BRACKET (line 1058) | const OPEN_BRACKET = '(\\[\\[|{{)' + '\\s*';
constant CLOSE_BRACKET (line 1059) | const CLOSE_BRACKET = '(?:]]|}})';
constant NEGATE (line 1060) | const NEGATE = '(?:(!)\\s*)?';
constant EXPRESSION (line 1061) | const EXPRESSION = OPEN_BRACKET + NEGATE + BINDING + CLOSE_BRACKET;
function literalFromParts (line 1070) | function literalFromParts(parts) {
function parseMethod (line 1089) | function parseMethod(expression) {
function parseArgs (line 1116) | function parseArgs(argList, sig) {
function parseArg (line 1143) | function parseArg(rawArg) {
function getArgValue (line 1193) | function getArgValue(data, props, path) {
function notifySplices (line 1220) | function notifySplices(inst, array, path, splices) {
function notifySplice (line 1250) | function notifySplice(inst, array, path, index, addedCount, removed) {
function upper (line 1267) | function upper(name) {
class PropertyEffects (line 1324) | class PropertyEffects extends propertyEffectsBase {
method constructor (line 1326) | constructor() {
method PROPERTY_EFFECT_TYPES (line 1375) | get PROPERTY_EFFECT_TYPES() {
method _initializeProperties (line 1383) | _initializeProperties() {
method _registerHost (line 1398) | _registerHost() {
method _initializeProtoProperties (line 1417) | _initializeProtoProperties(props) {
method _initializeInstanceProperties (line 1431) | _initializeInstanceProperties(props) {
method _addPropertyEffect (line 1456) | _addPropertyEffect(property, type, effect) {
method _removePropertyEffect (line 1475) | _removePropertyEffect(property, type, effect) {
method _hasPropertyEffect (line 1494) | _hasPropertyEffect(property, type) {
method _hasReadOnlyEffect (line 1509) | _hasReadOnlyEffect(property) {
method _hasNotifyEffect (line 1523) | _hasNotifyEffect(property) {
method _hasReflectEffect (line 1537) | _hasReflectEffect(property) {
method _hasComputedEffect (line 1551) | _hasComputedEffect(property) {
method _setPendingPropertyOrPath (line 1586) | _setPendingPropertyOrPath(path, value, shouldNotify, isPathNotificatio...
method _setUnmanagedPropertyToNode (line 1642) | _setUnmanagedPropertyToNode(node, prop, value) {
method _setPendingProperty (line 1691) | _setPendingProperty(property, value, shouldNotify) {
method _setProperty (line 1731) | _setProperty(property, value) {
method _invalidateProperties (line 1746) | _invalidateProperties() {
method _enqueueClient (line 1762) | _enqueueClient(client) {
method _flushClients (line 1777) | _flushClients() {
method __enableOrFlushClients (line 1802) | __enableOrFlushClients() {
method _readyClients (line 1826) | _readyClients() {
method setProperties (line 1846) | setProperties(props, setReadOnly) {
method ready (line 1868) | ready() {
method _propertiesChanged (line 1900) | _propertiesChanged(currentProps, changedProps, oldProps) {
method _propagatePropertyChanges (line 1947) | _propagatePropertyChanges(changedProps, oldProps, hasPaths) {
method _runEffectsForTemplate (line 1956) | _runEffectsForTemplate(templateInfo, changedProps, oldProps, hasPaths) {
method linkPaths (line 1981) | linkPaths(to, from) {
method unlinkPaths (line 1999) | unlinkPaths(path) {
method notifySplices (line 2040) | notifySplices(path, splices) {
method get (line 2066) | get(path, root) {
method set (line 2092) | set(path, value, root) {
method push (line 2119) | push(path, ...items) {
method pop (line 2144) | pop(path) {
method splice (line 2173) | splice(path, start, deleteCount, ...items) {
method shift (line 2226) | shift(path) {
method unshift (line 2252) | unshift(path, ...items) {
method notifyPath (line 2276) | notifyPath(path, value) {
method _createReadOnlyProperty (line 2307) | _createReadOnlyProperty(property, protectedSetter) {
method _createPropertyObserver (line 2330) | _createPropertyObserver(property, method, dynamicFn) {
method _createMethodObserver (line 2354) | _createMethodObserver(expression, dynamicFn) {
method _createNotifyingProperty (line 2372) | _createNotifyingProperty(property) {
method _createReflectedProperty (line 2393) | _createReflectedProperty(property) {
method _createComputedProperty (line 2421) | _createComputedProperty(property, expression, dynamicFn) {
method _marshalArgs (line 2445) | _marshalArgs(args, path, props) {
method addPropertyEffect (line 2512) | static addPropertyEffect(property, type, effect) {
method createPropertyObserver (line 2527) | static createPropertyObserver(property, method, dynamicFn) {
method createMethodObserver (line 2545) | static createMethodObserver(expression, dynamicFn) {
method createNotifyingProperty (line 2558) | static createNotifyingProperty(property) {
method createReadOnlyProperty (line 2579) | static createReadOnlyProperty(property, protectedSetter) {
method createReflectedProperty (line 2592) | static createReflectedProperty(property) {
method createComputedProperty (line 2611) | static createComputedProperty(property, expression, dynamicFn) {
method bindTemplate (line 2628) | static bindTemplate(template) {
method _bindTemplate (line 2691) | _bindTemplate(template, instanceBinding) {
method _addTemplatePropertyEffect (line 2753) | static _addTemplatePropertyEffect(templateInfo, prop, effect) {
method _stampTemplate (line 2784) | _stampTemplate(template, templateInfo) {
method _removeBoundDom (line 2829) | _removeBoundDom(dom) {
method _parseTemplateNode (line 2872) | static _parseTemplateNode(node, templateInfo, nodeInfo) {
method _parseTemplateNodeAttribute (line 2910) | static _parseTemplateNodeAttribute(node, templateInfo, nodeInfo, name,...
method _parseTemplateNestedTemplate (line 2979) | static _parseTemplateNestedTemplate(node, templateInfo, nodeInfo) {
method _parseBindings (line 3076) | static _parseBindings(text, templateInfo) {
method _evaluateBinding (line 3158) | static _evaluateBinding(inst, part, path, props, oldProps, hasPaths) {
FILE: lib/mixins/strict-binding-parser.d.ts
type StrictBindingParserConstructor (line 27) | interface StrictBindingParserConstructor {
type StrictBindingParser (line 67) | interface StrictBindingParser extends PropertyEffects, TemplateStamp, Pr...
FILE: lib/mixins/strict-binding-parser.js
constant BINDINGS (line 20) | const BINDINGS = {
constant STATE (line 29) | const STATE = {
function pushLiteral (line 47) | function pushLiteral(text, i, parts, startChar) {
function storeMethod (line 56) | function storeMethod(bindingData, templateInfo) {
function storeVariableBinding (line 65) | function storeVariableBinding(parts, bindingData, prop, i) {
function storeMethodVariable (line 72) | function storeMethodVariable(bindingData, text, i) {
function storeMethodNumber (line 99) | function storeMethodNumber(bindingData, text, i) {
method _parseBindings (line 172) | static _parseBindings(text, templateInfo) {
FILE: lib/mixins/template-stamp.d.ts
type TemplateStampConstructor (line 20) | interface TemplateStampConstructor {
type TemplateStamp (line 203) | interface TemplateStamp {
FILE: lib/mixins/template-stamp.js
function hasPlaceholderBug (line 29) | function hasPlaceholderBug() {
function fixPlaceholder (line 65) | function fixPlaceholder(node) {
function wrapTemplateExtension (line 118) | function wrapTemplateExtension(node) {
function findTemplateNode (line 135) | function findTemplateNode(root, nodeInfo) {
function applyIdToMap (line 153) | function applyIdToMap(inst, map, node, nodeInfo) {
function applyEventListener (line 160) | function applyEventListener(inst, node, nodeInfo) {
function applyTemplateInfo (line 169) | function applyTemplateInfo(inst, node, nodeInfo, parentTemplateInfo) {
function createNodeEventHandler (line 177) | function createNodeEventHandler(context, eventName, methodName) {
class TemplateStamp (line 217) | class TemplateStamp extends superClass {
method _parseTemplate (line 295) | static _parseTemplate(template, outerTemplateInfo) {
method _parseTemplateContent (line 321) | static _parseTemplateContent(template, templateInfo, nodeInfo) {
method _parseTemplateNode (line 339) | static _parseTemplateNode(node, templateInfo, nodeInfo) {
method _parseTemplateChildNodes (line 375) | static _parseTemplateChildNodes(root, templateInfo, nodeInfo) {
method _parseTemplateNestedTemplate (line 433) | static _parseTemplateNestedTemplate(node, outerTemplateInfo, nodeInfo) {
method _parseTemplateNodeAttributes (line 456) | static _parseTemplateNodeAttributes(node, templateInfo, nodeInfo) {
method _parseTemplateNodeAttribute (line 483) | static _parseTemplateNodeAttribute(node, templateInfo, nodeInfo, name,...
method _contentForTemplate (line 513) | static _contentForTemplate(template) {
method _stampTemplate (line 544) | _stampTemplate(template, templateInfo) {
method _addMethodEventListenerToNode (line 585) | _addMethodEventListenerToNode(node, eventName, methodName, context) {
method _addEventListenerToNode (line 601) | _addEventListenerToNode(node, eventName, handler) {
method _removeEventListenerFromNode (line 614) | _removeEventListenerFromNode(node, eventName, handler) {
FILE: lib/utils/array-splice.js
function newSplice (line 12) | function newSplice(index, removed, addedCount) {
constant EDIT_LEAVE (line 20) | const EDIT_LEAVE = 0;
constant EDIT_UPDATE (line 21) | const EDIT_UPDATE = 1;
constant EDIT_ADD (line 22) | const EDIT_ADD = 2;
constant EDIT_DELETE (line 23) | const EDIT_DELETE = 3;
function calcEditDistances (line 36) | function calcEditDistances(current, currentStart, currentEnd,
function spliceOperationsFromEditDistances (line 71) | function spliceOperationsFromEditDistances(distances) {
function calcSplices (line 162) | function calcSplices(current, currentStart, currentEnd,
function sharedPrefix (line 244) | function sharedPrefix(current, old, searchLength) {
function sharedSuffix (line 251) | function sharedSuffix(current, old, searchLength) {
function calculateSplices (line 292) | function calculateSplices(current, previous) {
function equals (line 297) | function equals(currentValue, previousValue) {
FILE: lib/utils/async.js
function microtaskFlush (line 34) | function microtaskFlush() {
method after (line 66) | after(delay) {
method run (line 82) | run(fn, delay) {
method cancel (line 92) | cancel(handle) {
method run (line 112) | run(fn) {
method cancel (line 122) | cancel(handle) {
method run (line 143) | run(fn) {
method cancel (line 155) | cancel(handle) {
method run (line 185) | run(callback) {
method cancel (line 201) | cancel(handle) {
FILE: lib/utils/case-map.js
constant DASH_TO_CAMEL (line 13) | const DASH_TO_CAMEL = /-[a-z]/g;
constant CAMEL_TO_DASH (line 14) | const CAMEL_TO_DASH = /([A-Z])/g;
function dashToCamelCase (line 28) | function dashToCamelCase(dash) {
function camelToDashCase (line 43) | function camelToDashCase(camel) {
FILE: lib/utils/debounce.d.ts
class Debouncer (line 6) | class Debouncer {
FILE: lib/utils/debounce.js
class Debouncer (line 18) | class Debouncer {
method constructor (line 19) | constructor() {
method setConfig (line 33) | setConfig(asyncModule, callback) {
method cancel (line 47) | cancel() {
method _cancelAsync (line 62) | _cancelAsync() {
method flush (line 73) | flush() {
method isActive (line 84) | isActive() {
method debounce (line 121) | static debounce(debouncer, asyncModule, callback) {
FILE: lib/utils/flattened-nodes-observer.d.ts
class FlattenedNodesObserver (line 48) | class FlattenedNodesObserver {
FILE: lib/utils/flattened-nodes-observer.js
function isSlot (line 22) | function isSlot(node) {
method getFlattenedNodes (line 85) | static getFlattenedNodes(node) {
method constructor (line 111) | constructor(target, callback) {
method connect (line 150) | connect() {
method disconnect (line 181) | disconnect() {
method _schedule (line 202) | _schedule() {
method _processMutations (line 214) | _processMutations(mutations) {
method _processSlotMutations (line 224) | _processSlotMutations(mutations) {
method flush (line 246) | flush() {
method _listenSlots (line 294) | _listenSlots(nodeList) {
method _unlistenSlots (line 308) | _unlistenSlots(nodeList) {
FILE: lib/utils/gestures.js
constant HAS_NATIVE_TA (line 32) | let HAS_NATIVE_TA = typeof document.head.style.touchAction === 'string';
constant GESTURE_KEY (line 33) | let GESTURE_KEY = '__polymerGestures';
constant HANDLED_OBJ (line 34) | let HANDLED_OBJ = '__polymerGesturesHandled';
constant TOUCH_ACTION (line 35) | let TOUCH_ACTION = '__polymerGesturesTouchAction';
constant TAP_DISTANCE (line 37) | let TAP_DISTANCE = 25;
constant TRACK_DISTANCE (line 38) | let TRACK_DISTANCE = 5;
constant TRACK_LENGTH (line 40) | let TRACK_LENGTH = 2;
constant MOUSE_TIMEOUT (line 43) | let MOUSE_TIMEOUT = 2500;
constant MOUSE_EVENTS (line 44) | let MOUSE_EVENTS = ['mousedown', 'mousemove', 'mouseup', 'click'];
constant MOUSE_WHICH_TO_BUTTONS (line 46) | let MOUSE_WHICH_TO_BUTTONS = [0, 1, 4, 2];
constant MOUSE_HAS_BUTTONS (line 47) | let MOUSE_HAS_BUTTONS = (function() {
function isMouseEvent (line 59) | function isMouseEvent(name) {
method get (line 68) | get() {supportsPassive = true;}
function PASSIVE_TOUCH (line 82) | function PASSIVE_TOUCH(eventName) {
constant IS_TOUCH_ONLY (line 94) | let IS_TOUCH_ONLY = navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);
function canBeLabelled (line 130) | function canBeLabelled(el) {
function matchingLabels (line 138) | function matchingLabels(el) {
function setupTeardownMouseCanceller (line 216) | function setupTeardownMouseCanceller(setup) {
function ignoreMouse (line 230) | function ignoreMouse(e) {
function hasLeftMouseButton (line 253) | function hasLeftMouseButton(ev) {
function isSyntheticClick (line 277) | function isSyntheticClick(ev) {
constant POINTERSTATE (line 301) | let POINTERSTATE = {
function firstTouchAction (line 314) | function firstTouchAction(ev) {
function trackDocument (line 327) | function trackDocument(stateObj, movefn, upfn) {
function untrackDocument (line 334) | function untrackDocument(stateObj) {
function deepTargetFind (line 373) | function deepTargetFind(x, y) {
function _findOriginalTarget (line 401) | function _findOriginalTarget(ev) {
function _handleNative (line 412) | function _handleNative(ev) {
function _handleTouchAction (line 474) | function _handleTouchAction(ev) {
function addListener (line 515) | function addListener(node, evType, handler) {
function removeListener (line 532) | function removeListener(node, evType, handler) {
function _add (line 549) | function _add(node, evType, handler) {
function _remove (line 588) | function _remove(node, evType, handler) {
function register (line 616) | function register(recog) {
function _findRecognizerByEvent (line 628) | function _findRecognizerByEvent(evName) {
function setTouchAction (line 651) | function setTouchAction(node, value) {
function _fire (line 673) | function _fire(target, type, detail) {
function prevent (line 692) | function prevent(evName) {
function resetMouseCanceller (line 708) | function resetMouseCanceller() {
function downupFire (line 789) | function downupFire(type, target, event, preventer) {
function trackHasMovedEnough (line 945) | function trackHasMovedEnough(info, x, y) {
function trackFire (line 963) | function trackFire(info, target, touch) {
function trackForward (line 1060) | function trackForward(info, e, preventer) {
FILE: lib/utils/hide-template-controls.js
function hideElementsGlobally (line 25) | function hideElementsGlobally() {
FILE: lib/utils/html-tag.d.ts
class LiteralString (line 9) | class LiteralString {
FILE: lib/utils/html-tag.js
class LiteralString (line 30) | class LiteralString {
method constructor (line 35) | constructor(strings, values) {
method toString (line 46) | toString() {
function literalValue (line 55) | function literalValue(value) {
function htmlValue (line 69) | function htmlValue(value) {
FILE: lib/utils/mixin.js
function MixinFunction (line 20) | function MixinFunction(){}
function dedupingMixin (line 45) | function dedupingMixin(base) {
FILE: lib/utils/path.js
function isPath (line 31) | function isPath(path) {
function root (line 48) | function root(path) {
function isAncestor (line 72) | function isAncestor(base, path) {
function isDescendant (line 92) | function isDescendant(base, path) {
function translate (line 114) | function translate(base, newBase, path) {
function matches (line 123) | function matches(base, path) {
function normalize (line 143) | function normalize(path) {
function split (line 173) | function split(path) {
function get (line 191) | function get(root, path, info) {
function set (line 217) | function set(root, path, value) {
FILE: lib/utils/render-status.js
function schedule (line 23) | function schedule() {
function flushQueue (line 36) | function flushQueue(queue) {
function runQueue (line 42) | function runQueue(queue) {
function callMethod (line 48) | function callMethod(info) {
function flush (line 67) | function flush() {
function beforeNextRender (line 91) | function beforeNextRender(context, callback, args) {
function afterNextRender (line 112) | function afterNextRender(context, callback, args) {
FILE: lib/utils/resolve-url.js
constant CSS_URL_RX (line 12) | let CSS_URL_RX = /(url\()([^)]*)(\))/g;
constant ABS_URL (line 13) | let ABS_URL = /(^\/[^\/])|(^#)|(^[\w-\d]*:)/;
function resolveUrl (line 27) | function resolveUrl(url, baseURI) {
function resolveCss (line 78) | function resolveCss(cssText, baseURI) {
function pathFromUrl (line 93) | function pathFromUrl(url) {
FILE: lib/utils/scope-subtree.js
function sameScope (line 24) | function sameScope(node, scope) {
function scopeSubtree (line 37) | function scopeSubtree(container, shouldObserve = false) {
FILE: lib/utils/settings.d.ts
type SanitizeDOMValueFunction (line 16) | type SanitizeDOMValueFunction =
FILE: lib/utils/style-gather.js
constant MODULE_STYLE_LINK_SELECTOR (line 21) | const MODULE_STYLE_LINK_SELECTOR = 'link[rel=import][type~=css]';
constant INCLUDE_ATTR (line 22) | const INCLUDE_ATTR = 'include';
constant SHADY_UNSCOPED_ATTR (line 23) | const SHADY_UNSCOPED_ATTR = 'shady-unscoped';
function importModule (line 29) | function importModule(moduleId) {
function styleForImport (line 33) | function styleForImport(importDoc) {
function stylesFromModules (line 57) | function stylesFromModules(moduleIds) {
function stylesFromModule (line 75) | function stylesFromModule(moduleId) {
function stylesFromTemplate (line 108) | function stylesFromTemplate(template, baseURI) {
function stylesFromModuleImports (line 140) | function stylesFromModuleImports(moduleId) {
function _stylesFromModuleImports (line 149) | function _stylesFromModuleImports(module) {
function cssFromModules (line 180) | function cssFromModules(moduleIds) {
function cssFromModule (line 202) | function cssFromModule(moduleId) {
function cssFromTemplate (line 232) | function cssFromTemplate(template, baseURI) {
function cssFromModuleImports (line 257) | function cssFromModuleImports(moduleId) {
function _cssFromModuleImports (line 267) | function _cssFromModuleImports(module) {
FILE: lib/utils/telemetry.js
function incrementInstanceCount (line 17) | function incrementInstanceCount() {
function _regLog (line 31) | function _regLog(prototype) {
function register (line 40) | function register(prototype) {
function dumpRegistrations (line 48) | function dumpRegistrations() {
FILE: lib/utils/templatize.d.ts
class TemplateInstanceBase (line 12) | class TemplateInstanceBase extends
class templatizerBase (line 78) | class templatizerBase extends TemplateInstanceBase {
class baseClass (line 159) | class baseClass extends TemplateInstanceBase {
FILE: lib/utils/templatize.js
function HTMLTemplateElementExtension (line 66) | function HTMLTemplateElementExtension() { return newInstance; }
function upgradeTemplate (line 91) | function upgradeTemplate(template, constructor) {
function showHideChildren (line 107) | function showHideChildren(hide, children) {
class TemplateInstanceBase (line 155) | class TemplateInstanceBase extends templateInstanceBase {
method constructor (line 156) | constructor(props) {
method _configureProperties (line 188) | _configureProperties(props) {
method forwardHostProp (line 212) | forwardHostProp(prop, value) {
method _addEventListenerToNode (line 227) | _addEventListenerToNode(node, eventName, handler) {
method _showHideChildren (line 253) | _showHideChildren(hide) {
method _setUnmanagedPropertyToNode (line 268) | _setUnmanagedPropertyToNode(node, prop, value) {
method parentModel (line 283) | get parentModel() {
method dispatchEvent (line 306) | dispatchEvent(event) { // eslint-disable-line no-unused-vars
function findMethodHost (line 333) | function findMethodHost(template) {
function createTemplatizerClass (line 347) | function createTemplatizerClass(template, templateInfo, options) {
function addPropagateEffects (line 379) | function addPropagateEffects(target, templateInfo, options, methodHost) {
function createForwardHostPropEffect (line 468) | function createForwardHostPropEffect(hostProp, userForwardHostProp) {
function addNotifyEffects (line 475) | function addNotifyEffects(klass, template, templateInfo, options) {
function createNotifyInstancePropEffect (line 500) | function createNotifyInstancePropEffect(instProp, userNotifyInstanceProp) {
function createNotifyHostPropEffect (line 507) | function createNotifyHostPropEffect() {
function templatize (line 592) | function templatize(template, owner, options) {
function warnOnUndeclaredProperties (line 635) | function warnOnUndeclaredProperties(templateInfo, options, methodHost) {
function modelForElement (line 678) | function modelForElement(template, node) {
FILE: lib/utils/unresolved.js
function resolve (line 11) | function resolve() {
FILE: polymer-element.d.ts
class PolymerElement (line 14) | class PolymerElement extends
FILE: test/unit/dom-if-elements.js
method created (line 325) | created() {
FILE: test/unit/dom-repeat-elements.js
class XNestedRepeatMutable (line 254) | class XNestedRepeatMutable extends MutableData(XNestedRepeat) {
method template (line 255) | static get template() {
method makeRepeatsMutable (line 261) | static makeRepeatsMutable(template) {
method value (line 337) | value () {
method created (line 488) | created() {
FILE: test/unit/gestures-elements.js
class XNativeLabel (line 173) | class XNativeLabel extends PolymerElement {
method template (line 174) | static get template() {
method is (line 181) | static get is() {
class XNativeLabelNested (line 186) | class XNativeLabelNested extends PolymerElement {
method template (line 187) | static get template() {
method is (line 195) | static get is() {
class XDisabled (line 201) | class XDisabled extends PolymerElement {
method is (line 202) | static get is() {
method properties (line 205) | static get properties() {
method constructor (line 213) | constructor() {
class XDisabledTap (line 220) | class XDisabledTap extends GestureEventListeners(PolymerElement) {
method constructor (line 221) | constructor() {
method template (line 225) | static get template() {
method is (line 233) | static get is() {
method tap (line 236) | tap(e) {
class AllDisabled (line 244) | class AllDisabled extends GestureEventListeners(PolymerElement) {
method is (line 245) | static get is() {
method template (line 248) | static get template() {
method constructor (line 264) | constructor() {
method tap (line 268) | tap(e) {
method ready (line 271) | ready() {
method tapAll (line 278) | tapAll() {
FILE: test/unit/path-effects-elements.js
class XPropertiesElement (line 14) | class XPropertiesElement extends PropertiesMixin(HTMLElement) {
method properties (line 15) | static get properties() {
method constructor (line 20) | constructor() {
method _shouldPropertyChange (line 25) | _shouldPropertyChange(property, value, old) {
method resetObservers (line 29) | resetObservers() {
method created (line 276) | created() {
method computeProp (line 280) | computeProp(trigger, value) {
method triggerChanged (line 284) | triggerChanged() {
method created (line 311) | created() {
method computeProp (line 315) | computeProp(trigger, value) {
method triggerChanged (line 319) | triggerChanged() {
method created (line 348) | created() {
method computeProp (line 352) | computeProp(trigger, value) {
method triggerChanged (line 360) | triggerChanged() {
method value (line 373) | value() { return []; }
method created (line 382) | created() {
method changeArray (line 386) | changeArray() {
FILE: test/unit/polymer-element-with-apply-import.js
class ApplyElement (line 15) | class ApplyElement extends PolymerElement {
method template (line 16) | static get template() {
method is (line 27) | static get is() {return 'apply-element';}
class XOuter (line 30) | class XOuter extends PolymerElement {
method template (line 31) | static get template() {
method is (line 53) | static get is() {return 'x-outer';}
FILE: test/unit/property-effects-elements.js
class XBasicWithStrictBindingParser (line 339) | class XBasicWithStrictBindingParser extends StrictBindingParser(customEl...
method is (line 340) | static get is() { return 'x-basic-strict-binding-parser'; }
method attributeChanged (line 645) | attributeChanged(name) {
class XRaw (line 806) | class XRaw extends HTMLElement {
method constructor (line 807) | constructor() {
method value (line 815) | get value() {
method value (line 818) | set value(value) {
method compound (line 823) | get compound() {
method compound (line 826) | set compound(value) {
method increment (line 830) | increment() {
method notify (line 834) | notify() {
method array (line 837) | set array(value) {
method array (line 851) | set array(value) {
method array (line 855) | get array() {
method created (line 922) | created() {
class XImmutableB (line 927) | class XImmutableB extends PolymerElement {
method template (line 928) | static get template() {
method is (line 935) | static get is() { return 'x-immutable-b'; }
method observers (line 936) | static get observers() { return ['bChanged(b)', 'xChanged(x)']; }
method constructor (line 937) | constructor() {
method created (line 947) | created() {
method created (line 961) | created() {
class XMutableB (line 966) | class XMutableB extends MutableData(PolymerElement) {
method template (line 967) | static get template() {
method is (line 974) | static get is() { return 'x-mutable-b'; }
method observers (line 975) | static get observers() { return ['bChanged(b)', 'xChanged(x)']; }
method constructor (line 976) | constructor() {
method created (line 987) | created() {
class SuperObserverElement (line 993) | class SuperObserverElement extends PolymerElement {
method is (line 994) | static get is() { return 'super-observer-element'; }
method properties (line 995) | static get properties() {
class SubObserverElement (line 1009) | class SubObserverElement extends SuperObserverElement {
method is (line 1010) | static get is() { return 'sub-observer-element'; }
method properties (line 1015) | static get properties() {
method constructor (line 1035) | constructor() {
method computeABBCD (line 1048) | computeABBCD(a, b, bcd) {
method computeBCD (line 1051) | computeBCD(bc, d) {
method computeBC (line 1054) | computeBC(b, c) {
method computeCircA (line 1057) | computeCircA(circIn, circB) {
method computeCircB (line 1060) | computeCircB(circIn, circA) {
method computeComputeXY (line 1063) | computeComputeXY(z) {
class SVGElement (line 1071) | class SVGElement extends PolymerElement {
method template (line 1072) | static get template() {
method is (line 1078) | static get is() { return 'svg-element'; }
method properties (line 1079) | static get properties() {
FILE: test/unit/sub/resolveurl-elements.js
class PR (line 23) | class PR extends PolymerElement {
method template (line 24) | static get template() {
method is (line 49) | static get is() { return 'p-r'; }
method importMeta (line 50) | static get importMeta() {
class PRAp (line 62) | class PRAp extends PolymerElement {
method is (line 63) | static get is() { return 'p-r-ap'; }
FILE: util/minimalDocument.js
function onlyOneLicense (line 17) | function onlyOneLicense(doc) {
class MinimalDocTransform (line 35) | class MinimalDocTransform extends Transform {
method constructor (line 36) | constructor() {
method _transform (line 39) | _transform(file, enc, cb) {
Condensed preview — 245 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,706K chars).
[
{
"path": ".eslintrc.json",
"chars": 914,
"preview": "{\n \"extends\": \"eslint:recommended\",\n \"parser\": \"babel-eslint\",\n \"parserOptions\": {\n \"ecmaVersion\": 6,\n \"sourceT"
},
{
"path": ".gitattributes",
"chars": 12,
"preview": "* text=auto\n"
},
{
"path": ".github/CODEOWNERS",
"chars": 59,
"preview": "# Code owners for Polymer\n* @sorvell @kevinpschaaf @azakus\n"
},
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 1389,
"preview": "<!--\nIf you are asking a question rather than filing a bug, try one of these instead:\n- StackOverflow (https://stackover"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 163,
"preview": "<!-- Instructions: https://github.com/Polymer/polymer/blob/master/CONTRIBUTING.md#contributing-pull-requests -->\n### Ref"
},
{
"path": ".github/stale.yml",
"chars": 486,
"preview": "# Mark issues stale after 1 year\ndaysUntilStale: 365\n# Delete stale issues after 2 years\ndaysUntilClose: 730\nmarkComment"
},
{
"path": ".gitignore",
"chars": 211,
"preview": "# dependencies\nbower_components\nnode_modules\n\n# compiled output\ndist\n\n# IDEs\n.idea\n.vscode\n\n# misc\n.DS_Store\nnpm-debug.l"
},
{
"path": ".travis.yml",
"chars": 875,
"preview": "language: node_js\nsudo: false\ndist: xenial\nnode_js: '10'\nservices:\n - xvfb\naddons:\n firefox: latest\n chrome: stable\nc"
},
{
"path": "CHANGELOG.md",
"chars": 404704,
"preview": "# Change Log\n\n## [v3.5.2] (2024-10-07)\n- FlattenedNodesObserver.getFlattenedNodes was accidentally quadratic if given a "
},
{
"path": "CONTRIBUTING.md",
"chars": 10220,
"preview": "# Contributing to Polymer\n\nThere are many ways to contribute to the Polymer project! We welcome and truly appreciate con"
},
{
"path": "LICENSE.txt",
"chars": 1562,
"preview": "// Copyright (c) 2017 The Polymer Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms,"
},
{
"path": "README.md",
"chars": 9493,
"preview": "# Polymer\n\n[](https://travis-ci.org/Polymer/poly"
},
{
"path": "RELEASING.md",
"chars": 659,
"preview": "## How to release a new version of Polymer\n\n- `npm ci`\n- `npm i -g np`\n- `npx gulp update-version`\n- Update CHANGELOG.md"
},
{
"path": "externs/.gitignore",
"chars": 114,
"preview": "# TODO(timvdlippe): Ignore all files here once we can generate them.\n# *\n!.gitignore\n!.npmignore\nclosure-types.js\n"
},
{
"path": "externs/.npmignore",
"chars": 0,
"preview": ""
},
{
"path": "externs/polymer-dom-api-externs.js",
"chars": 4532,
"preview": "/**\n * @externs\n * @fileoverview Externs for PolymerDomApi for backwards compatibility with\n * the Polymer 1 externs.\n *"
},
{
"path": "externs/polymer-externs.js",
"chars": 6278,
"preview": "/**\n * @fileoverview Externs for Polymer Pass and external Polymer API\n * @externs\n *\n * @license\n * Copyright (c) 2017 "
},
{
"path": "externs/polymer-iconset-externs.js",
"chars": 1266,
"preview": "/**\n * @externs\n * @fileoverview Externs for Polymer.Iconset.\n */\n\n/**\n * The interface that iconsets should obey. Icons"
},
{
"path": "externs/polymer-internal-shared-types.js",
"chars": 5872,
"preview": "/**\n * @fileoverview Internal shared types for Polymer\n * @externs\n *\n * @license\n * Copyright (c) 2017 The Polymer Proj"
},
{
"path": "externs/polymer-internal-types.html",
"chars": 617,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "externs/webcomponents-externs.js",
"chars": 2015,
"preview": "/**\n * @fileoverview Externs for webcomponents polyfills\n * @externs\n * @suppress {duplicate}\n *\n * @license\n * Copyrigh"
},
{
"path": "gulpfile.js",
"chars": 8975,
"preview": "/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used un"
},
{
"path": "index.html",
"chars": 897,
"preview": "<!doctype html>\n<!--\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used und"
},
{
"path": "interfaces.d.ts",
"chars": 4972,
"preview": "/**\n * This file contains the types that are required for compilation of the\n * Polymer generated type declarations, but"
},
{
"path": "lib/elements/array-selector.d.ts",
"chars": 7019,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/elements/array-selector.js",
"chars": 13832,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/elements/custom-style.d.ts",
"chars": 2052,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {cssFromModules} from '../utils/styl"
},
{
"path": "lib/elements/custom-style.js",
"chars": 3887,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/elements/dom-bind.d.ts",
"chars": 1531,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {PropertyEffects} from '../mixins/pr"
},
{
"path": "lib/elements/dom-bind.js",
"chars": 4606,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/elements/dom-if.d.ts",
"chars": 5723,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {PolymerElement} from '../../polymer"
},
{
"path": "lib/elements/dom-if.js",
"chars": 22583,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/elements/dom-module.d.ts",
"chars": 2657,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/elements/dom-module.js",
"chars": 5566,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/elements/dom-repeat.d.ts",
"chars": 11813,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/elements/dom-repeat.js",
"chars": 29372,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/class.d.ts",
"chars": 4231,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/legacy/class.js",
"chars": 18712,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/legacy-data-mixin.d.ts",
"chars": 1759,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/legacy/legacy-data-mixin.js",
"chars": 6896,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/legacy-element-mixin.d.ts",
"chars": 22989,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/legacy/legacy-element-mixin.js",
"chars": 41486,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/mutable-data-behavior.d.ts",
"chars": 6134,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/legacy/mutable-data-behavior.js",
"chars": 6939,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/polymer-fn.d.ts",
"chars": 606,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {Class} from './class.js';\n\n\n/**\n * "
},
{
"path": "lib/legacy/polymer-fn.js",
"chars": 1790,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/polymer.dom.d.ts",
"chars": 5456,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/legacy/polymer.dom.js",
"chars": 13768,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/legacy/templatizer-behavior.d.ts",
"chars": 4374,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {TemplateInstanceBase, templatize, m"
},
{
"path": "lib/legacy/templatizer-behavior.js",
"chars": 5711,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/dir-mixin.d.ts",
"chars": 1903,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/dir-mixin.js",
"chars": 5666,
"preview": "/**\n * @fileoverview\n * @suppress {checkPrototypalTypes}\n * @license Copyright (c) 2017 The Polymer Project Authors. All"
},
{
"path": "lib/mixins/disable-upgrade-mixin.d.ts",
"chars": 2942,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/disable-upgrade-mixin.js",
"chars": 5984,
"preview": "/**\n * @fileoverview\n * @suppress {checkPrototypalTypes}\n * @license Copyright (c) 2017 The Polymer Project Authors. All"
},
{
"path": "lib/mixins/element-mixin.d.ts",
"chars": 10980,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/element-mixin.js",
"chars": 37249,
"preview": "/**\n * @fileoverview\n * @suppress {checkPrototypalTypes}\n * @license Copyright (c) 2017 The Polymer Project Authors. All"
},
{
"path": "lib/mixins/gesture-event-listeners.d.ts",
"chars": 1592,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/gesture-event-listeners.js",
"chars": 2575,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/mutable-data.d.ts",
"chars": 6478,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/mutable-data.js",
"chars": 8296,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/properties-changed.d.ts",
"chars": 11052,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/properties-changed.js",
"chars": 20473,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/properties-mixin.d.ts",
"chars": 2575,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/properties-mixin.js",
"chars": 8008,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/property-accessors.d.ts",
"chars": 5731,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/property-accessors.js",
"chars": 11800,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/property-effects.d.ts",
"chars": 34722,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/property-effects.js",
"chars": 120783,
"preview": "/**\n * @fileoverview\n * @suppress {checkPrototypalTypes}\n * @license Copyright (c) 2017 The Polymer Project Authors. All"
},
{
"path": "lib/mixins/strict-binding-parser.d.ts",
"chars": 3125,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/strict-binding-parser.js",
"chars": 13666,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/mixins/template-stamp.d.ts",
"chars": 10788,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/mixins/template-stamp.js",
"chars": 24774,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/array-splice.d.ts",
"chars": 1435,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/array-splice.js",
"chars": 9242,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/async.d.ts",
"chars": 2458,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\n/**\n * Async interface wrapper around `setT"
},
{
"path": "lib/utils/async.js",
"chars": 5911,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/boot.d.ts",
"chars": 89,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\n\nexport {};\n"
},
{
"path": "lib/utils/boot.js",
"chars": 1028,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/case-map.d.ts",
"chars": 568,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nexport {dashToCamelCase};\n\n\n/**\n * Converts"
},
{
"path": "lib/utils/case-map.js",
"chars": 1505,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/debounce.d.ts",
"chars": 2849,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/debounce.js",
"chars": 5057,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/flattened-nodes-observer.d.ts",
"chars": 2925,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/flattened-nodes-observer.js",
"chars": 10217,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/flush.d.ts",
"chars": 375,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {enqueueDebouncer, flushDebouncers} "
},
{
"path": "lib/utils/flush.js",
"chars": 1102,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/gestures.d.ts",
"chars": 2133,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {timeOut, microTask} from './async.j"
},
{
"path": "lib/utils/gestures.js",
"chars": 30032,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/hide-template-controls.d.ts",
"chars": 221,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nexport {hideElementsGlobally};\n\n\n/**\n * @re"
},
{
"path": "lib/utils/hide-template-controls.js",
"chars": 1148,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/html-tag.d.ts",
"chars": 2492,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/html-tag.js",
"chars": 6322,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/mixin.d.ts",
"chars": 328,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nexport {dedupingMixin};\n\n\n/**\n * Wraps an E"
},
{
"path": "lib/utils/mixin.js",
"chars": 2367,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/path.d.ts",
"chars": 3507,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/path.js",
"chars": 6704,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/render-status.d.ts",
"chars": 1368,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/render-status.js",
"chars": 3359,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/resolve-url.d.ts",
"chars": 919,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nexport {resolveUrl};\n\n\n/**\n * Resolves the "
},
{
"path": "lib/utils/resolve-url.js",
"chars": 2977,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/scope-subtree.d.ts",
"chars": 582,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nexport {scopeSubtree};\n\n\n/**\n * Ensure that"
},
{
"path": "lib/utils/scope-subtree.js",
"chars": 3333,
"preview": "/**\n@license\nCopyright (c) 2019 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/settings.d.ts",
"chars": 4230,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/settings.js",
"chars": 12750,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/style-gather.d.ts",
"chars": 2990,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {DomModule} from '../elements/dom-mo"
},
{
"path": "lib/utils/style-gather.js",
"chars": 9072,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/telemetry.d.ts",
"chars": 706,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {PolymerElementConstructor} from '.."
},
{
"path": "lib/utils/telemetry.js",
"chars": 1419,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/templatize.d.ts",
"chars": 7650,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n// tslint:disable:no-any describes the API a"
},
{
"path": "lib/utils/templatize.js",
"chars": 27058,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/unresolved.d.ts",
"chars": 89,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\n\nexport {};\n"
},
{
"path": "lib/utils/unresolved.js",
"chars": 758,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "lib/utils/wrap.d.ts",
"chars": 128,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nexport const wrap: <T extends Node>(node: T"
},
{
"path": "lib/utils/wrap.js",
"chars": 1168,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "manifest.json",
"chars": 25108,
"preview": "{\n \"files\": {\n \"polymer.html\": {\n \"convertedUrl\": \"polymer-legacy.js\",\n \"exports\": {\n \"Polymer.Base"
},
{
"path": "package.json",
"chars": 2373,
"preview": "{\n \"name\": \"@polymer/polymer\",\n \"version\": \"3.5.2\",\n \"description\": \"The Polymer library makes it easy to create your"
},
{
"path": "polymer-element.d.ts",
"chars": 481,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {ElementMixin} from './lib/mixins/el"
},
{
"path": "polymer-element.js",
"chars": 1270,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "polymer-legacy.d.ts",
"chars": 290,
"preview": "// tslint:disable:variable-name Describing an API that's defined elsewhere.\n\nimport {LegacyElementMixin} from './lib/leg"
},
{
"path": "polymer-legacy.js",
"chars": 1149,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/.eslintignore",
"chars": 26,
"preview": "assets/*\ncompat/*\nsmoke/*\n"
},
{
"path": "test/.eslintrc.json",
"chars": 192,
"preview": "{\n \"env\": {\n \"mocha\": true\n },\n \"rules\": {\n \"no-var\": \"off\",\n \"strict\": \"off\"\n },\n \"globals\": {\n \"asser"
},
{
"path": "test/perf/binding-expressions.html",
"chars": 4334,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, minimum-scal"
},
{
"path": "test/perf/perf-tests.html",
"chars": 603,
"preview": "<!doctype html>\n<html lang=\"en\">\n<head>\n\n <meta charset=\"utf-8\">\n <script src=\"../../node_modules/@webcomponents/webco"
},
{
"path": "test/runner.html",
"chars": 5423,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/smoke/alacarte-property-accessors.html",
"chars": 1775,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/alacarte-property-effects-ordering.html",
"chars": 3401,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/alacarte-property-effects.html",
"chars": 2366,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/alacarte-template-stamp.html",
"chars": 2692,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/behavior-mixin.html",
"chars": 2287,
"preview": " <!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the"
},
{
"path": "test/smoke/data-table.html",
"chars": 10272,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/smoke/dirty-check.html",
"chars": 1867,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/disable-upgrade.html",
"chars": 2421,
"preview": "<!doctype html>\n<html>\n<head>\n <script type=\"module\" src=\"../../polymer-legacy.js\"></script>\n <script type=\"module\" sr"
},
{
"path": "test/smoke/disabled-attr-gestures.html",
"chars": 1503,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2018 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/smoke/dom-if.html",
"chars": 1186,
"preview": "<!doctype html>\n<html>\n<head>\n <script type=\"module\" src=\"../../polymer-legacy.js\"></script>\n</head>\n<body>\n\n\n <dom-mo"
},
{
"path": "test/smoke/gestures.html",
"chars": 1587,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/smoke/html-tag.html",
"chars": 2275,
"preview": "<!DOCTYPE html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/smoke/label-click.html",
"chars": 914,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/ordering-test.html",
"chars": 4313,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/smoke/passive-gestures.html",
"chars": 1885,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/smoke/style-props/src/elements-defaults.js",
"chars": 368,
"preview": "const $_documentContainer = document.createElement('div');\n$_documentContainer.setAttribute('style', 'display: none;');\n"
},
{
"path": "test/smoke/style-props/src/elements.js",
"chars": 2319,
"preview": "import './elements-defaults.js';\nimport { Polymer } from '../../../../lib/legacy/polymer-fn.js';\nimport { html } from '."
},
{
"path": "test/smoke/style-props/src/scopes.js",
"chars": 4469,
"preview": "import './settings.js';\nimport './elements.js';\nimport { Polymer } from '../../../../lib/legacy/polymer-fn.js';\nimport {"
},
{
"path": "test/smoke/style-props/src/settings.js",
"chars": 1646,
"preview": "import { Polymer } from '../../../../lib/legacy/polymer-fn.js';\nimport { html } from '../../../../lib/utils/html-tag.js'"
},
{
"path": "test/smoke/style-props/test.html",
"chars": 775,
"preview": "<!doctype html>\n<html>\n<head>\n <title>style properties</title>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content"
},
{
"path": "test/unit/array-selector-elements.js",
"chars": 761,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/array-selector.html",
"chars": 23923,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/async.html",
"chars": 13321,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/attributes-elements.js",
"chars": 4177,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/attributes.html",
"chars": 13097,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/behaviors.html",
"chars": 21071,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/case-map.html",
"chars": 1617,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/class-properties.html",
"chars": 1451,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/configure.html",
"chars": 14629,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/css-parse.html",
"chars": 5709,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/custom-style-async-import.html",
"chars": 1004,
"preview": "<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the "
},
{
"path": "test/unit/custom-style-async-import.js",
"chars": 581,
"preview": "import { Polymer } from '../../lib/legacy/polymer-fn.js';\n\nconst $_documentContainer = document.createElement('template'"
},
{
"path": "test/unit/custom-style-async.html",
"chars": 2013,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/custom-style-import.js",
"chars": 1284,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/custom-style-late.html",
"chars": 2266,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/custom-style-scope-cache.html",
"chars": 2521,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/custom-style.html",
"chars": 20377,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/debounce.html",
"chars": 9134,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dir.html",
"chars": 8095,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/disable-upgrade.html",
"chars": 20708,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dom-bind-elements1.js",
"chars": 1512,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/dom-bind-elements2.js",
"chars": 768,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/dom-bind.html",
"chars": 7940,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dom-if-elements.js",
"chars": 7601,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/dom-if.html",
"chars": 39797,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dom-repeat-elements.js",
"chars": 12130,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/dom-repeat.html",
"chars": 182226,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dynamic-import.html",
"chars": 4978,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dynamic-imports/async-import.html",
"chars": 582,
"preview": "<!DOCTYPE html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dynamic-imports/async.html",
"chars": 529,
"preview": "<!DOCTYPE html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/dynamic-imports/dynamic-element.js",
"chars": 1374,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/dynamic-imports/inner-element.js",
"chars": 768,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/dynamic-imports/outer-element.html",
"chars": 1024,
"preview": "<!DOCTYPE html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/events-elements.js",
"chars": 2389,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/events.html",
"chars": 5380,
"preview": "<!DOCTYPE html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/flattened-nodes-observer.html",
"chars": 33080,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/gestures-elements.js",
"chars": 6001,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/gestures.html",
"chars": 26794,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/globals.html",
"chars": 2933,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/html-tag.html",
"chars": 4609,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/importHref.html",
"chars": 2473,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/inheritance.html",
"chars": 11363,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/legacy-data.html",
"chars": 18362,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/legacy-noattributes.html",
"chars": 8612,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/legacy-undefined.html",
"chars": 12279,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/logging.html",
"chars": 3486,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/mixin-behaviors.html",
"chars": 19430,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/mixin-utils.html",
"chars": 4257,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/multi-style.html",
"chars": 3800,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/path-effects-elements.js",
"chars": 8713,
"preview": "/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the B"
},
{
"path": "test/unit/path-effects.html",
"chars": 47297,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/path.html",
"chars": 3163,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/polymer-dom-nopatch.html",
"chars": 17432,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/polymer-dom-observeNodes.html",
"chars": 31337,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
},
{
"path": "test/unit/polymer-dom.html",
"chars": 16840,
"preview": "<!doctype html>\n<!--\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be"
}
]
// ... and 45 more files (download for full content)
About this extraction
This page contains the full source code of the Polymer/polymer GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 245 files (2.5 MB), approximately 662.7k tokens, and a symbol index with 848 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.