diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..e6fcf9f9 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,26 @@ +{ + "extends": "airbnb", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "rules": { + "semi": 2, + "no-unused-vars" : "off", + "comma-dangle" : "off", + "no-plusplus" : "off", + "no-restricted-properties" : "off", + "prefer-template" : "off", + "import/no-extraneous-dependencies" : "off", + "import/prefer-default-export" : "off", + "max-len": ["off", 100, 2, { + "ignoreUrls": true, + "ignoreComments": false, + "ignoreStrings": true, + "ignoreTemplateLiterals": true + }] + } +} diff --git a/.gitignore b/.gitignore index 5c5054d4..cf60a901 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ bower_components node_modules +!build/docs/node_modules *~ *# *.idea diff --git a/CHANGELOG.md b/CHANGELOG.md index eefd8ab4..221b7040 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,54 @@ +# [v5.1.0](https://github.com/MyScript/myscript-text-web/tree/v5.1.0) + +## Features + +- Addition of a new Recognition Assets Builder API to dynamically build text lexicons and math grammars +- Style and decoration support in the JIIX exports +- New configuration options for a finer tuning of JIIX exports +- Always connected is now the default mode for better end user experience + +# [v5.0.0](https://github.com/MyScript/myscript-text-web/tree/v5.0.0) + +## Features + +`myscript-text-web` now supports all the features introduced by the version [4.2.0 of MyScriptJS](https://github.com/MyScript/myscriptjs/tree/v4.2.0). + +## Breaking changes + +- We are now using Polymer 3. For more details, please refer to the [Polymer documentation](https://www.polymer-project.org/3.0/docs/about_30). + +# [v4.1.1](https://github.com/MyScript/myscript-text-web/tree/v4.1.1) + +## Bugs fixed +- Documentation and paper buttons colors were not taken into account in Edge. + +## Breaking changes + +In order to be consistent with the native API : +- `disableguidelines` renamed to `disableguides` in the configuration. + +# [v4.1.0](https://github.com/MyScript/myscript-text-web/tree/v4.1.0) + +## Features +- Modifications to include smart guide from MyScriptJS + - New `disablesmartguide` property to disable smart guide. + - New `disablesmartguidefadeout` and `smartguidefadeoutduration` to disable smart guide fadeout or modify the duration. +- New `usepointerlisteners` property used to force the pointer events use. +- New guides for text using a svg DOM element behind the model layer and `disableguidelines` to disable the guides. +- No more css background if api is set to `V4`. +- Google fonts supports (see the [example](./examples/v4/change_fonts.html)). +- Custom resources support, upload your custom resources to modify the recognition behaviour (see the [example](./examples/v4/custom_resources.html)). +- New `penStyleClasses` property. Used to change the theme using classes passed using the `theme` property (see the [example](./examples/non-version-specific/customize_style.html)). + +## Breaking changes +- `importContent()` and `exportContent()` respectively renamed to `import_()` and `export_()`. +- `importInk(strokes)` changed to `pointerEvents(events)`. + +# [v4.0.1](https://github.com/MyScript/myscript-text-web/tree/v4.0.1) + +## Bug fixed +- Editor on iOS wasn't working properly due to touch-action: none in CSS not supported in Safari. + # [v4.0.0](https://github.com/MyScript/myscript-text-web/tree/v4.0.0) ## Features diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0f2493bf..ee506093 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,14 +1,9 @@ # Contributing -We gladly welcome pull requests to MyScript Web. If you would like to add or modify new or larger features, see the **Adding features** section below. -If you have any questions, or need help to solve a problem, feel free to stop by the [#MyScript forum](https://dev.myscript.com/support/forum/). +We gladly welcome pull requests to MyScript Web. If you have any questions, or need help to solve a problem, feel free to stop by the [#MyScript forum](https://dev.myscript.com/support/forum/). ## Contributor License Agreement In order to contribute, you must first agree to the **Contributor License Agreement** available [here](http://goo.gl/forms/YyzZ9VSvYG). Make sure you read the article **[Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/)** to understand the contributing process. - -## License - -This library is licensed under the [Apache 2.0](http://opensource.org/licenses/Apache-2.0). diff --git a/README.md b/README.md index 9b036bba..af8db1ba 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,177 @@ -:pencil: The easy way to integrate text handwriting recognition in your web app. +# MyScript Text Web + +[![npm version](https://badge.fury.io/js/myscript-text-web.svg)](https://badge.fury.io/js/myscript-text-web) +[![Published on Vaadin Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/MyScriptmyscript-text-web) +[![Stars on vaadin.com/directory](https://img.shields.io/vaadin-directory/star/MyScriptmyscript-text-web.svg)](https://vaadin.com/directory/component/MyScriptmyscript-text-web) +[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/MyScript/myscript-text-web) +[![Examples](https://img.shields.io/badge/Link%20to-examples-blue.svg)](https://myscript.github.io/myscript-text-web/#/elements/myscript-text-web/demos/other-examples) +[![Documentation](https://img.shields.io/badge/Link%20to-documentation-green.svg)](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/) + +## :warning: This repository is archived :warning: +iinkJS grants you high integration flexibility by letting you choose your favorite framework or components. For this reason, we have decided to focus on iinkJS and to discontinue our ready-to-use Web components. + +For more information, please see [documentation](https://developer.myscript.com/). + +We also provide an example to integrate [iinkJS](https://github.com/MyScript/iinkJS) as webcomponent: [link](https://github.com/MyScript/web-integration-samples). + +
+ +:construction: + +> The easy way to integrate text handwriting recognition in your web app.

- -Test it live - -## What is it about? +`myscript-text-web` is a Web component that can be used in every web application to bring text handwriting recognition and conversion. -myscript-text-web is a web component that can be used in every web application to bring handwriting recognition and conversion. It integrates all you need: -* Signal capture, +It integrates all you need: +* Signal capture for all devices, * Digital ink rendering, +* Link to MyScript Cloud to bring handwriting recognition. + +## Table of contents + +* [Examples](https://github.com/MyScript/myscript-text-web#examples) +* [Features](https://github.com/MyScript/myscript-text-web#features) +* [Requirements](https://github.com/MyScript/myscript-text-web#requirements) +* [Installation](https://github.com/MyScript/myscript-text-web#installation) +* [Usage](https://github.com/MyScript/myscript-text-web#usage) +* [Documentation](https://github.com/MyScript/myscript-text-web#documentation) +* [Support](https://github.com/MyScript/myscript-text-web#support) +* [Feedback](https://github.com/MyScript/myscript-text-web#sharing-your-feedback) +* [Contributing](https://github.com/MyScript/myscript-text-web#contributing) + + +## Examples + +If you're not familiar with MyScript and Interactive Ink, consider discovering its major features with our [text demo and tutorial](http://webdemo.myscript.com/views/text.html). + +[Simple example](https://myscript.github.io/myscript-text-web/#/elements/myscript-text-web/demos/get-started-[v4]) of `myscript-text-web`. + +[All our examples](https://myscript.github.io/myscript-text-web/#/elements/myscript-text-web/demos/other-examples) with the [source codes](https://github.com/MyScript/myscript-text-web/tree/master/src/demo-app/examples). + +## Features + +* Easy to integrate, +* Digital ink capture and rendering, * Rich editing gestures, -* Conversion, -* Import (raw text), -* Exports (HTML and raw text). +* Import and export content, +* Styling, +* Typeset support, +* 65 supported languages. -## Getting started +You can discover all the text features on our [Developer website](https://developer.myscript.com/text). -### Prerequisites +## Requirements -1. Have [bower](https://bower.io/#install-bower) installed. +1. Have [npm](https://www.npmjs.com/get-npm) or [yarn](https://yarnpkg.com/en/docs/install) installed. +2. Have a MyScript developer account. You can create one [here](https://dev.myscript.com/). 2. Get your keys and the free monthly quota to access MyScript Cloud at [developer.myscript.com](https://developer.myscript.com) ## Installation -1. Download myscript-text-web. +Use an existing project or start a fresh one. + +```shell +npm init +``` + +Install `myscript-text-web` and use it as showed in the [Usage]() section. + ```shell -bower install myscript-text-web +npm install myscript-text-web ``` -2. Create and edit `index.html` file in the same directory. Add the following line in the `head` section to import the library. + +## Usage + +1. Create an `index.html` file in the same directory. + +2. Add the following lines in the `head` section to import the library and the webcomponents polyfill. + ```html - - - - + + ``` -3. Use the component in the `body` section. Use the keys you received by mail. +3. Still in the `head` section, add the following style: + +```html + +``` + +4. Use the component in the `body` section with the keys you received by mail. + ```html + applicationkey="YOUR MYSCRIPT DEVELOPER APPLICATION KEY" + hmackey="YOUR MYSCRIPT DEVELOPER HMAC KEY"> ``` -4. Launch a local web-server and use it! +5. Your `index.html` file should look like this: -## Examples +```html + + + + + + + + + + + +``` -Browse [the examples hosted on github.io](https://myscript.github.io/myscript-text-web/components/myscript-text-web/#/elements/myscript-text-web). +6. Launch a local Web server to start using it! We recommend to use the polymer one, you can find more information on the [Polymer website](https://www.polymer-project.org/3.0/start/install-3-0). + +``` +polymer serve +``` -The [directory examples/](/examples) of this Git repository contains all the example source codes. +You can find this guide and a more complete example on the [MyScript Developer website](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/get-started/). ## Documentation -A complete guide is available on [MyScript Developer website](https://developer.myscript.com/docs/interactive-ink/1.0/web/web-components/text-element/). +You can find a complete documentation with the following sections on our Developer website: -The API Reference is available in the `docs` directory or on [myscript.github.io/myscript-text-web/ website](https://myscript.github.io/myscript-text-web/). +* **Get Started**: [how to use myscript-text-web with a full example](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/get-started/), +* **Editing**: [how to interact with content](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/editing/), +* **Conversion**: [how to convert your handwritten content](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/conversion/), +* **Import and Export**: [how to import and export your content](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/import-and-export/), +* **Styling**: [how to style content](https://developer.myscript.com/docs/interactive-ink/latest/web/web-components/text-element/styling/). -## Contribute +We also provide a complete [API Reference](https://myscript.github.io/myscript-text-web/#/elements/myscript-text-web). -We welcome your contributions: -If you wish to contribute to `myscript-text-web`, feel free to fork it! -Please sign our [Contributor License Agreement](CONTRIBUTING.md) before submitting your pull request. -## Share your feedback +## Getting support -Made a cool app with myscript-text-web? We would love to hear about you! +You can get support and ask your questions on the [dedicated section](https://developer-support.myscript.com/support/discussions/forums/16000096021) of MyScript Developer website. + +## Sharing your feedback + +Made a cool app with `myscript-text-web`? We would love to hear about you! We’re planning to showcase apps using it so let us know by sending a quick mail to [myapp@myscript.com](mailto://myapp@myscript.com) +## Contributing + +We welcome your contributions: if you wish to contribute to `myscript-text-web`, feel free to fork it! + +Please take a look at our [contributing](CONTRIBUTING.md) guidelines before submitting your pull request. + ## License -[Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) +This library is licensed under the [Apache 2.0](http://opensource.org/licenses/Apache-2.0). diff --git a/analysis.json b/analysis.json index 16131f90..76247500 100644 --- a/analysis.json +++ b/analysis.json @@ -2,24 +2,24 @@ "schema_version": "1.0.0", "elements": [ { - "description": "`myscript-text-exports` is a component to display `myscript-text-web` exports candidates.\n\n \n \n\nCustom property | Description | Default\n----------------|-------------|----------\n`--myscript-text-exports-color` | Text candidates color | #1580CD\n`--myscript-text-exports-background-color` | Text candidates background color | #EDF0F2\n`--myscript-text-exports-selected-color` | Selected candidate color | #FFFFFF\n`--myscript-text-exports-selected-background-color` | Selected candidate background color | #1580CD\n`--myscript-text-exports-predicted-color` | Candidate predicted part color | #73818C\n`--myscript-text-exports-completed-color` | Candidate completed part color | #1A9FFF", + "description": "", "summary": "", - "path": "myscript-text-exports.html", + "path": "myscript-text-exports.js", "properties": [ { - "name": "__serializing", + "name": "__dataClientsReady", "type": "boolean", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 123, - "column": 8 + "line": 1090, + "column": 6 }, "end": { - "line": 123, - "column": 27 + "line": 1090, + "column": 30 } }, "metadata": { @@ -27,22 +27,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataCounter", - "type": "number", + "name": "__dataPendingClients", + "type": "Array", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1152, - "column": 8 + "line": 1092, + "column": 6 }, "end": { - "line": 1152, - "column": 27 + "line": 1092, + "column": 32 } }, "metadata": { @@ -50,22 +50,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataEnabled", - "type": "boolean", + "name": "__dataToNotify", + "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 127, - "column": 8 + "line": 1094, + "column": 6 }, "end": { - "line": 127, - "column": 27 + "line": 1094, + "column": 26 } }, "metadata": { @@ -73,22 +73,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataReady", - "type": "boolean", + "name": "__dataLinkedPaths", + "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 129, - "column": 8 + "line": 1096, + "column": 6 }, "end": { - "line": 129, - "column": 25 + "line": 1096, + "column": 29 } }, "metadata": { @@ -96,22 +96,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataInvalid", + "name": "__dataHasPaths", "type": "boolean", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 131, - "column": 8 + "line": 1098, + "column": 6 }, "end": { - "line": 131, - "column": 27 + "line": 1098, + "column": 26 } }, "metadata": { @@ -119,22 +119,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__data", - "type": "!Object", + "name": "__dataCompoundStorage", + "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1134, - "column": 8 + "line": 1100, + "column": 6 }, "end": { - "line": 1134, - "column": 20 + "line": 1100, + "column": 33 } }, "metadata": { @@ -142,22 +142,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataPending", - "type": "!Object", + "name": "__dataHost", + "type": "Polymer_PropertyEffects", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1136, - "column": 8 + "line": 1102, + "column": 6 }, "end": { - "line": 1136, - "column": 27 + "line": 1102, + "column": 22 } }, "metadata": { @@ -165,22 +165,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataOld", + "name": "__dataTemp", "type": "!Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1138, - "column": 8 + "line": 1104, + "column": 6 }, "end": { - "line": 1138, - "column": 23 + "line": 1104, + "column": 22 } }, "metadata": { @@ -188,22 +188,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataProto", - "type": "Object", + "name": "__dataClientsInitialized", + "type": "boolean", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 139, - "column": 8 + "line": 1106, + "column": 6 }, "end": { - "line": 139, - "column": 25 + "line": 1106, + "column": 36 } }, "metadata": { @@ -211,22 +211,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataHasAccessor", - "type": "Object", + "name": "__data", + "type": "!Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 141, - "column": 8 + "line": 1108, + "column": 6 }, "end": { - "line": 141, - "column": 31 + "line": 1108, + "column": 18 } }, "metadata": { @@ -234,22 +234,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataInstanceProps", - "type": "Object", + "name": "__dataPending", + "type": "!Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 143, - "column": 8 + "line": 1110, + "column": 6 }, "end": { - "line": 143, - "column": 33 + "line": 1110, + "column": 25 } }, "metadata": { @@ -257,22 +257,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataClientsReady", - "type": "boolean", + "name": "__dataOld", + "type": "!Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1116, - "column": 8 + "line": 1112, + "column": 6 }, "end": { - "line": 1116, - "column": 32 + "line": 1112, + "column": 21 } }, "metadata": { @@ -280,22 +280,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataPendingClients", - "type": "Array", + "name": "__computeEffects", + "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1118, - "column": 8 + "line": 1114, + "column": 6 }, "end": { - "line": 1118, - "column": 34 + "line": 1114, + "column": 28 } }, "metadata": { @@ -303,21 +303,21 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataToNotify", + "name": "__reflectEffects", "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1120, - "column": 8 + "line": 1116, + "column": 6 }, "end": { - "line": 1120, + "line": 1116, "column": 28 } }, @@ -326,22 +326,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataLinkedPaths", + "name": "__notifyEffects", "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1122, - "column": 8 + "line": 1118, + "column": 6 }, "end": { - "line": 1122, - "column": 31 + "line": 1118, + "column": 27 } }, "metadata": { @@ -349,22 +349,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataHasPaths", - "type": "boolean", + "name": "__propagateEffects", + "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1124, - "column": 8 + "line": 1120, + "column": 6 }, "end": { - "line": 1124, - "column": 28 + "line": 1120, + "column": 30 } }, "metadata": { @@ -372,22 +372,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataCompoundStorage", + "name": "__observeEffects", "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1126, - "column": 8 + "line": 1122, + "column": 6 }, "end": { - "line": 1126, - "column": 35 + "line": 1122, + "column": 28 } }, "metadata": { @@ -395,22 +395,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataHost", - "type": "Polymer_PropertyEffects", + "name": "__readOnly", + "type": "Object", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1128, - "column": 8 + "line": 1124, + "column": 6 }, "end": { - "line": 1128, - "column": 24 + "line": 1124, + "column": 22 } }, "metadata": { @@ -418,22 +418,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataTemp", - "type": "!Object", + "name": "__templateInfo", + "type": "!TemplateInfo", "description": "", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1130, - "column": 8 + "line": 1126, + "column": 6 }, "end": { - "line": 1130, - "column": 24 + "line": 1126, + "column": 26 } }, "metadata": { @@ -441,45 +441,45 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__dataClientsInitialized", - "type": "boolean", + "name": "PROPERTY_EFFECT_TYPES", + "type": "?", "description": "", - "privacy": "private", + "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1132, - "column": 8 + "line": 1129, + "column": 4 }, "end": { - "line": 1132, - "column": 38 + "line": 1131, + "column": 5 } }, "metadata": { "polymer": { - "readOnly": false + "readOnly": true } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "__computeEffects", - "type": "Object", + "name": "_template", + "type": "HTMLTemplateElement", "description": "", - "privacy": "private", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 1140, - "column": 8 + "line": 490, + "column": 6 }, "end": { - "line": 1140, - "column": 30 + "line": 490, + "column": 21 } }, "metadata": { @@ -487,22 +487,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "__reflectEffects", - "type": "Object", + "name": "_importPath", + "type": "string", "description": "", - "privacy": "private", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 1142, - "column": 8 + "line": 492, + "column": 6 }, "end": { - "line": 1142, - "column": 30 + "line": 492, + "column": 23 } }, "metadata": { @@ -510,22 +510,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "__notifyEffects", - "type": "Object", + "name": "rootPath", + "type": "string", "description": "", - "privacy": "private", + "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 1144, - "column": 8 + "line": 494, + "column": 6 }, "end": { - "line": 1144, - "column": 29 + "line": 494, + "column": 20 } }, "metadata": { @@ -533,22 +533,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "__propagateEffects", - "type": "Object", + "name": "importPath", + "type": "string", "description": "", - "privacy": "private", + "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 1146, - "column": 8 + "line": 496, + "column": 6 }, "end": { - "line": 1146, - "column": 32 + "line": 496, + "column": 22 } }, "metadata": { @@ -556,22 +556,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "__observeEffects", - "type": "Object", + "name": "root", + "type": "(StampedTemplate | HTMLElement | ShadowRoot)", "description": "", - "privacy": "private", + "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 1148, - "column": 8 + "line": 498, + "column": 6 }, "end": { - "line": 1148, - "column": 30 + "line": 498, + "column": 16 } }, "metadata": { @@ -579,22 +579,22 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "__readOnly", - "type": "Object", + "name": "$", + "type": "!Object.", "description": "", - "privacy": "private", + "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 1150, - "column": 8 + "line": 500, + "column": 6 }, "end": { - "line": 1150, - "column": 24 + "line": 500, + "column": 13 } }, "metadata": { @@ -602,482 +602,686 @@ "readOnly": false } }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "__templateInfo", - "type": "!TemplateInfo", - "description": "", - "privacy": "private", + "name": "exports", + "type": "Object.", + "description": "Exports result.", + "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", "start": { - "line": 1154, - "column": 8 + "line": 125, + "column": 6 }, "end": { - "line": 1154, - "column": 28 + "line": 128, + "column": 7 } }, "metadata": { "polymer": { - "readOnly": false + "notify": true, + "attributeType": "Object" } - }, - "inheritedFrom": "Polymer.PropertyEffects" - }, + } + } + ], + "methods": [ { - "name": "_template", - "type": "HTMLTemplateElement", - "description": "", + "name": "_stampTemplate", + "description": "Stamps the provided template and performs instance-time setup for\nPolymer template features, including data bindings, declarative event\nlisteners, and the `this.$` map of `id`'s to nodes. A document fragment\nis returned containing the stamped DOM, ready for insertion into the\nDOM.\n\nThis method may be called more than once; however note that due to\n`shadycss` polyfill limitations, only styles from templates prepared\nusing `ShadyCSS.prepareTemplate` will be correctly polyfilled (scoped\nto the shadow root and support CSS custom properties), and note that\n`ShadyCSS.prepareTemplate` may only be called once per element. As such,\nany styles required by in runtime-stamped templates must be included\nin the main element template.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 549, - "column": 8 + "line": 2416, + "column": 4 }, "end": { - "line": 549, - "column": 23 + "line": 2441, + "column": 5 } }, - "metadata": { - "polymer": { - "readOnly": false + "metadata": {}, + "params": [ + { + "name": "template", + "type": "!HTMLTemplateElement", + "description": "Template to stamp" } + ], + "return": { + "type": "!StampedTemplate", + "desc": "Cloned template content" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "PropertyEffects" }, { - "name": "_importPath", - "type": "string", - "description": "", + "name": "_addMethodEventListenerToNode", + "description": "Adds an event listener by method name for the event provided.\n\nThis method generates a handler function that looks up the method\nname at handling time.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/template-stamp.js", "start": { - "line": 551, - "column": 8 + "line": 454, + "column": 4 }, "end": { - "line": 551, - "column": 25 + "line": 459, + "column": 5 } }, - "metadata": { - "polymer": { - "readOnly": false + "metadata": {}, + "params": [ + { + "name": "node", + "type": "!EventTarget", + "description": "Node to add listener on" + }, + { + "name": "eventName", + "type": "string", + "description": "Name of event" + }, + { + "name": "methodName", + "type": "string", + "description": "Name of method" + }, + { + "name": "context", + "type": "*=", + "description": "Context the method will be called on (defaults\n to `node`)" } + ], + "return": { + "type": "Function", + "desc": "Generated handler function" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "TemplateStamp" }, { - "name": "rootPath", - "type": "string", - "description": "", - "privacy": "public", + "name": "_addEventListenerToNode", + "description": "Override point for adding custom or simulated event handling.", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/template-stamp.js", "start": { - "line": 553, - "column": 8 + "line": 470, + "column": 4 }, "end": { - "line": 553, - "column": 22 + "line": 472, + "column": 5 } }, - "metadata": { - "polymer": { - "readOnly": false + "metadata": {}, + "params": [ + { + "name": "node", + "type": "!EventTarget", + "description": "Node to add event listener to" + }, + { + "name": "eventName", + "type": "string", + "description": "Name of event" + }, + { + "name": "handler", + "type": "function (!Event): void", + "description": "Listener function to add" } + ], + "return": { + "type": "void" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "TemplateStamp" }, { - "name": "importPath", - "type": "string", - "description": "", - "privacy": "public", + "name": "_removeEventListenerFromNode", + "description": "Override point for adding custom or simulated event handling.", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/template-stamp.js", "start": { - "line": 555, - "column": 8 + "line": 483, + "column": 4 }, "end": { - "line": 555, - "column": 24 + "line": 485, + "column": 5 } }, - "metadata": { - "polymer": { - "readOnly": false + "metadata": {}, + "params": [ + { + "name": "node", + "type": "!EventTarget", + "description": "Node to remove event listener from" + }, + { + "name": "eventName", + "type": "string", + "description": "Name of event" + }, + { + "name": "handler", + "type": "function (!Event): void", + "description": "Listener function to remove" } + ], + "return": { + "type": "void" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "TemplateStamp" }, { - "name": "root", - "type": "(StampedTemplate|HTMLElement|ShadowRoot)", - "description": "", - "privacy": "public", + "name": "_createPropertyAccessor", + "description": "Creates a setter/getter pair for the named property with its own\nlocal storage. The getter returns the value in the local storage,\nand the setter calls `_setProperty`, which updates the local storage\nfor the property and enqueues a `_propertiesChanged` callback.\n\nThis method may be called on a prototype or an instance. Calling\nthis method may overwrite a property value that already exists on\nthe prototype/instance by creating the accessor.", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 557, - "column": 8 + "line": 106, + "column": 4 }, "end": { - "line": 557, - "column": 18 + "line": 115, + "column": 5 } }, - "metadata": { - "polymer": { - "readOnly": false + "metadata": {}, + "params": [ + { + "name": "property", + "type": "string", + "description": "Name of the property" + }, + { + "name": "readOnly", + "type": "boolean=", + "description": "When true, no setter is created; the\n protected `_setProperty` function must be used to set the property" } + ], + "return": { + "type": "void" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "PropertiesChanged" }, { - "name": "$", - "type": "!Object.", - "description": "", - "privacy": "public", + "name": "_addPropertyToAttributeMap", + "description": "Adds the given `property` to a map matching attribute names\nto property names, using `attributeNameForProperty`. This map is\nused when deserializing attribute values to properties.", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 559, - "column": 8 + "line": 125, + "column": 4 }, "end": { - "line": 559, - "column": 15 + "line": 133, + "column": 5 } }, - "metadata": { - "polymer": { - "readOnly": false + "metadata": {}, + "params": [ + { + "name": "property", + "type": "string", + "description": "Name of the property" } + ], + "return": { + "type": "void" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "PropertiesChanged" }, { - "name": "exports", - "type": "Object.", - "description": "Exports result.", - "privacy": "public", + "name": "_definePropertyAccessor", + "description": "Defines a property accessor for the given property.", + "privacy": "protected", "sourceRange": { + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 132, - "column": 20 + "line": 142, + "column": 5 }, "end": { - "line": 135, - "column": 21 + "line": 155, + "column": 5 } }, - "metadata": { - "polymer": { - "notify": true + "metadata": {}, + "params": [ + { + "name": "property", + "type": "string", + "description": "Name of the property" + }, + { + "name": "readOnly", + "type": "boolean=", + "description": "When true, no setter is created" } - } - } - ], - "methods": [ + ], + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" + }, { - "name": "_stampTemplate", - "description": "Stamps the provided template and performs instance-time setup for\nPolymer template features, including data bindings, declarative event\nlisteners, and the `this.$` map of `id`'s to nodes. A document fragment\nis returned containing the stamped DOM, ready for insertion into the\nDOM.\n\nThis method may be called more than once; however note that due to\n`shadycss` polyfill limitations, only styles from templates prepared\nusing `ShadyCSS.prepareTemplate` will be correctly polyfilled (scoped\nto the shadow root and support CSS custom properties), and note that\n`ShadyCSS.prepareTemplate` may only be called once per element. As such,\nany styles required by in runtime-stamped templates must be included\nin the main element template.", + "name": "ready", + "description": "Stamps the element template.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 2320, - "column": 6 + "line": 608, + "column": 4 }, "end": { - "line": 2345, - "column": 7 + "line": 614, + "column": 5 } }, "metadata": {}, - "params": [ - { - "name": "template", - "type": "!HTMLTemplateElement", - "description": "Template to stamp" + "params": [], + "return": { + "type": "void" + }, + "inheritedFrom": "ElementMixin" + }, + { + "name": "_initializeProperties", + "description": "Overrides the default `PropertyAccessors` to ensure class\nmetaprogramming related to property accessors and effects has\ncompleted (calls `finalize`).\n\nIt also initializes any property defaults provided via `value` in\n`properties` metadata.", + "privacy": "protected", + "sourceRange": { + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", + "start": { + "line": 515, + "column": 4 + }, + "end": { + "line": 548, + "column": 5 } - ], + }, + "metadata": {}, + "params": [], "return": { - "type": "!StampedTemplate", - "desc": "Cloned template content" + "type": "void" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "ElementMixin" }, { - "name": "_addMethodEventListenerToNode", - "description": "Adds an event listener by method name for the event provided.\n\nThis method generates a handler function that looks up the method\nname at handling time.", + "name": "_initializeInstanceProperties", + "description": "Called at ready time with bag of instance properties that overwrote\naccessors when the element upgraded.\n\nThe default implementation sets these properties back into the\nsetter at ready time. This method is provided as an override\npoint for customizing or providing more efficient initialization.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/template-stamp.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 451, - "column": 6 + "line": 227, + "column": 4 }, "end": { - "line": 456, - "column": 7 + "line": 229, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "node", - "type": "Node", - "description": "Node to add listener on" - }, - { - "name": "eventName", - "type": "string", - "description": "Name of event" - }, - { - "name": "methodName", - "type": "string", - "description": "Name of method" - }, - { - "name": "context", - "type": "*=", - "description": "Context the method will be called on (defaults\n to `node`)" + "name": "props", + "type": "Object", + "description": "Bag of property values that were overwritten\n when creating property accessors." } ], "return": { - "type": "Function", - "desc": "Generated handler function" + "type": "void" }, - "inheritedFrom": "Polymer.TemplateStamp" + "inheritedFrom": "PropertiesChanged" }, { - "name": "_addEventListenerToNode", - "description": "Override point for adding custom or simulated event handling.", + "name": "_setProperty", + "description": "Updates the local storage for a property (via `_setPendingProperty`)\nand enqueues a `_proeprtiesChanged` callback.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/template-stamp.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 465, - "column": 6 + "line": 241, + "column": 4 }, "end": { - "line": 467, - "column": 7 + "line": 245, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "node", - "type": "Node", - "description": "Node to add event listener to" - }, - { - "name": "eventName", + "name": "property", "type": "string", - "description": "Name of event" + "description": "Name of the property" }, { - "name": "handler", - "type": "Function", - "description": "Listener function to add" + "name": "value", + "type": "*", + "description": "Value to set" } ], - "inheritedFrom": "Polymer.TemplateStamp" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { - "name": "_removeEventListenerFromNode", - "description": "Override point for adding custom or simulated event handling.", + "name": "_getProperty", + "description": "Returns the value for the given property.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/template-stamp.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 476, - "column": 6 + "line": 254, + "column": 4 }, "end": { - "line": 478, - "column": 7 + "line": 256, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "node", - "type": "Node", - "description": "Node to remove event listener from" - }, - { - "name": "eventName", + "name": "property", "type": "string", - "description": "Name of event" - }, - { - "name": "handler", - "type": "Function", - "description": "Listener function to remove" + "description": "Name of property" } ], - "inheritedFrom": "Polymer.TemplateStamp" + "return": { + "type": "*", + "desc": "Value for the given property" + }, + "inheritedFrom": "PropertiesChanged" }, { - "name": "attributeChangedCallback", - "description": "Provides a default implementation of the standard Custom Elements\n`attributeChangedCallback`.\n\nBy default, attributes declared in `properties` metadata are\ndeserialized using their `type` information to properties of the\nsame name. \"Dash-cased\" attributes are deserialized to \"camelCase\"\nproperties.", - "privacy": "public", + "name": "_setPendingProperty", + "description": "Updates the local storage for a property, records the previous value,\nand adds it to the set of \"pending changes\" that will be passed to the\n`_propertiesChanged` callback. This method does not enqueue the\n`_propertiesChanged` callback.", + "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 715, - "column": 6 + "line": 272, + "column": 4 }, "end": { - "line": 723, - "column": 7 + "line": 288, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "name", + "name": "property", "type": "string", - "description": "Name of attribute." + "description": "Name of the property" }, { - "name": "old", - "type": "?string", - "description": "Old value of attribute." + "name": "value", + "type": "*", + "description": "Value to set" }, { - "name": "value", - "type": "?string", - "description": "Current value of attribute." + "name": "ext", + "type": "boolean=", + "description": "Not used here; affordance for closure" } ], - "inheritedFrom": "Polymer.ElementMixin" + "return": { + "type": "boolean", + "desc": "Returns true if the property changed" + }, + "inheritedFrom": "PropertiesChanged" }, { - "name": "_initializeProperties", - "description": "Overrides the default `Polymer.PropertyAccessors` to ensure class\nmetaprogramming related to property accessors and effects has\ncompleted (calls `finalize`).\n\nIt also initializes any property defaults provided via `value` in\n`properties` metadata.", + "name": "_invalidateProperties", + "description": "Marks the properties as invalid, and enqueues an async\n`_propertiesChanged` callback.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 573, - "column": 6 + "line": 299, + "column": 4 }, "end": { - "line": 613, - "column": 7 + "line": 309, + "column": 5 } }, "metadata": {}, "params": [], - "inheritedFrom": "Polymer.ElementMixin" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { - "name": "_initializeProtoProperties", - "description": "Overrides `Polymer.PropertyAccessors` implementation to provide a\nmore efficient implementation of initializing properties from\nthe prototype on the instance.", + "name": "_enableProperties", + "description": "Call to enable property accessor processing. Before this method is\ncalled accessor values will be set but side effects are\nqueued. When called, any pending side effects occur immediately.\nFor elements, generally `connectedCallback` is a normal spot to do so.\nIt is safe to call this method multiple times as it only turns on\nproperty accessors once.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 1184, - "column": 6 + "line": 323, + "column": 4 }, "end": { - "line": 1188, - "column": 7 + "line": 332, + "column": 5 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" + }, + { + "name": "_flushProperties", + "description": "Calls the `_propertiesChanged` callback with the current set of\npending changes (and old values recorded when pending changes were\nset), and resets the pending set of changes. Generally, this method\nshould not be called in user code.", + "privacy": "protected", + "sourceRange": { + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", + "start": { + "line": 344, + "column": 4 + }, + "end": { + "line": 353, + "column": 5 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" + }, + { + "name": "_shouldPropertiesChange", + "description": "Called in `_flushProperties` to determine if `_propertiesChanged`\nshould be called. The default implementation returns true if\nproperties are pending. Override to customize when\n`_propertiesChanged` is called.", + "privacy": "protected", + "sourceRange": { + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", + "start": { + "line": 368, + "column": 4 + }, + "end": { + "line": 370, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "props", - "type": "Object", - "description": "Properties to initialize on the prototype" + "name": "currentProps", + "type": "!Object", + "description": "Bag of all current accessor values" + }, + { + "name": "changedProps", + "type": "?Object", + "description": "Bag of properties changed since the last\n call to `_propertiesChanged`" + }, + { + "name": "oldProps", + "type": "?Object", + "description": "Bag of previous values for each property\n in `changedProps`" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "boolean", + "desc": "true if changedProps is truthy" + }, + "inheritedFrom": "PropertiesChanged" }, { - "name": "_initializeInstanceProperties", - "description": "Overrides `Polymer.PropertyAccessors` implementation to avoid setting\n`_setProperty`'s `shouldNotify: true`.", + "name": "_propertiesChanged", + "description": "Callback called when any properties with accessors created via\n`_createPropertyAccessor` have been set.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 1197, - "column": 6 + "line": 385, + "column": 4 }, "end": { - "line": 1206, - "column": 7 + "line": 386, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "props", - "type": "Object", - "description": "Properties to initialize on the instance" + "name": "currentProps", + "type": "!Object", + "description": "Bag of all current accessor values" + }, + { + "name": "changedProps", + "type": "?Object", + "description": "Bag of properties changed since the last\n call to `_propertiesChanged`" + }, + { + "name": "oldProps", + "type": "?Object", + "description": "Bag of previous values for each property\n in `changedProps`" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { - "name": "_ensureAttribute", - "description": "Ensures the element has the given attribute. If it does not,\nassigns the given value to the attribute.", + "name": "_shouldPropertyChange", + "description": "Method called to determine whether a property value should be\nconsidered as a change and cause the `_propertiesChanged` callback\nto be enqueued.\n\nThe default implementation returns `true` if a strict equality\ncheck fails. The method always returns false for `NaN`.\n\nOverride this method to e.g. provide stricter checking for\nObjects/Arrays when using immutable patterns.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 236, - "column": 6 + "line": 407, + "column": 4 }, "end": { - "line": 240, - "column": 7 + "line": 414, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "attribute", + "name": "property", "type": "string", - "description": "Name of attribute to ensure is set." + "description": "Property name" + }, + { + "name": "value", + "type": "*", + "description": "New property value" + }, + { + "name": "old", + "type": "*", + "description": "Previous property value" + } + ], + "return": { + "type": "boolean", + "desc": "Whether the property should be considered a change\n and enqueue a `_proeprtiesChanged` callback" + }, + "inheritedFrom": "PropertiesChanged" + }, + { + "name": "attributeChangedCallback", + "description": "Implements native Custom Elements `attributeChangedCallback` to\nset an attribute value to a property via `_attributeToProperty`.", + "privacy": "public", + "sourceRange": { + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", + "start": { + "line": 428, + "column": 4 + }, + "end": { + "line": 435, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "name", + "type": "string", + "description": "Name of attribute that changed" + }, + { + "name": "old", + "type": "?string", + "description": "Old attribute value" + }, + { + "name": "value", + "type": "?string", + "description": "New attribute value" }, { - "name": "value", - "type": "string", - "description": "of the attribute." + "name": "namespace", + "type": "?string", + "description": "Attribute namespace." } ], - "inheritedFrom": "Polymer.PropertyAccessors" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { "name": "_attributeToProperty", "description": "Deserializes an attribute to its associated property.\n\nThis method calls the `_deserializeValue` method to convert the string to\na typed value.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 252, - "column": 6 + "line": 450, + "column": 4 }, "end": { - "line": 258, - "column": 7 + "line": 457, + "column": 5 } }, "metadata": {}, @@ -1095,24 +1299,27 @@ { "name": "type", "type": "*=", - "description": "type to deserialize to." + "description": "type to deserialize to, defaults to the value\nreturned from `typeForProperty`" } ], - "inheritedFrom": "Polymer.PropertyAccessors" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { "name": "_propertyToAttribute", "description": "Serializes a property to its associated attribute.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 267, - "column": 6 + "line": 470, + "column": 4 }, "end": { - "line": 273, - "column": 7 + "line": 476, + "column": 5 } }, "metadata": {}, @@ -1125,7 +1332,7 @@ { "name": "attribute", "type": "string=", - "description": "Attribute name to reflect." + "description": "Attribute name to reflect to." }, { "name": "value", @@ -1133,21 +1340,24 @@ "description": "Property value to refect." } ], - "inheritedFrom": "Polymer.PropertyAccessors" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { "name": "_valueToNodeAttribute", "description": "Sets a typed value to an HTML attribute on a node.\n\nThis method calls the `_serializeValue` method to convert the typed\nvalue to a string. If the `_serializeValue` method returns `undefined`,\nthe attribute will be removed (this is the default for boolean\ntype `false`).", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 287, - "column": 6 + "line": 492, + "column": 4 }, "end": { - "line": 294, - "column": 7 + "line": 499, + "column": 5 } }, "metadata": {}, @@ -1168,21 +1378,24 @@ "description": "Attribute name to serialize to." } ], - "inheritedFrom": "Polymer.PropertyAccessors" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesChanged" }, { "name": "_serializeValue", - "description": "Converts a typed JavaScript value to a string.\n\nThis method is called by Polymer when setting JS property values to\nHTML attributes. Users may override this method on Polymer element\nprototypes to provide serialization for custom types.", + "description": "Converts a typed JavaScript value to a string.\n\nThis method is called when setting JS property values to\nHTML attributes. Users may override this method to provide\nserialization for custom types.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 306, - "column": 6 + "line": 513, + "column": 4 }, "end": { - "line": 326, - "column": 7 + "line": 520, + "column": 5 } }, "metadata": {}, @@ -1194,24 +1407,24 @@ } ], "return": { - "type": "(string|undefined)", - "desc": "String serialized from the provided property value." + "type": "(string | undefined)", + "desc": "String serialized from the provided\nproperty value." }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertiesChanged" }, { "name": "_deserializeValue", - "description": "Converts a string to a typed JavaScript value.\n\nThis method is called by Polymer when reading HTML attribute values to\nJS properties. Users may override this method on Polymer element\nprototypes to provide deserialization for custom `type`s. Note,\nthe `type` argument is the value of the `type` field provided in the\n`properties` configuration object for a given property, and is\nby convention the constructor for the type to deserialize.\n\nNote: The return value of `undefined` is used as a sentinel value to\nindicate the attribute should be removed.", + "description": "Converts a string to a typed JavaScript value.\n\nThis method is called when reading HTML attribute values to\nJS properties. Users may override this method to provide\ndeserialization for custom `type`s. Types for `Boolean`, `String`,\nand `Number` convert attributes to the expected types.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/properties-changed.js", "start": { - "line": 345, - "column": 6 + "line": 535, + "column": 4 }, "end": { - "line": 387, - "column": 7 + "line": 544, + "column": 5 } }, "metadata": {}, @@ -1219,7 +1432,7 @@ { "name": "value", "type": "?string", - "description": "Attribute value to deserialize." + "description": "Value to deserialize." }, { "name": "type", @@ -1231,318 +1444,140 @@ "type": "*", "desc": "Typed value deserialized from the provided string." }, - "inheritedFrom": "Polymer.PropertyAccessors" - }, - { - "name": "_createPropertyAccessor", - "description": "Creates a setter/getter pair for the named property with its own\nlocal storage. The getter returns the value in the local storage,\nand the setter calls `_setProperty`, which updates the local storage\nfor the property and enqueues a `_propertiesChanged` callback.\n\nThis method may be called on a prototype or an instance. Calling\nthis method may overwrite a property value that already exists on\nthe prototype/instance by creating the accessor. When calling on\na prototype, any overwritten values are saved in `__dataProto`,\nand it is up to the subclasser to decide how/when to set those\nproperties back into the accessor. When calling on an instance,\nthe overwritten value is set via `_setPendingProperty`, and the\nuser should call `_invalidateProperties` or `_flushProperties`\nfor the values to take effect.", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", - "start": { - "line": 411, - "column": 6 - }, - "end": { - "line": 431, - "column": 7 - } - }, - "metadata": {}, - "params": [ - { - "name": "property", - "type": "string", - "description": "Name of the property" - }, - { - "name": "readOnly", - "type": "boolean=", - "description": "When true, no setter is created; the\n protected `_setProperty` function must be used to set the property" - } - ], - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertiesChanged" }, { - "name": "_hasAccessor", - "description": "Returns true if this library created an accessor for the given property.", + "name": "_initializeProtoProperties", + "description": "Overrides `PropertyAccessors` implementation to provide a\nmore efficient implementation of initializing properties from\nthe prototype on the instance.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 439, - "column": 6 + "line": 1160, + "column": 4 }, "end": { - "line": 441, - "column": 7 + "line": 1164, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "property", - "type": "string", - "description": "Property name" + "name": "props", + "type": "Object", + "description": "Properties to initialize on the prototype" } ], "return": { - "type": "boolean", - "desc": "True if an accessor was created" - }, - "inheritedFrom": "Polymer.PropertyAccessors" - }, - { - "name": "_setProperty", - "description": "Overrides base implementation to ensure all accessors set `shouldNotify`\nto true, for per-property notification tracking.", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", - "start": { - "line": 1473, - "column": 6 - }, - "end": { - "line": 1477, - "column": 7 - } + "type": "void" }, - "metadata": {}, - "params": [ - { - "name": "property" - }, - { - "name": "value" - } - ], - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { - "name": "_setPendingProperty", - "description": "Overrides the `PropertyAccessors` implementation to introduce special\ndirty check logic depending on the property & value being set:\n\n1. Any value set to a path (e.g. 'obj.prop': 42 or 'obj.prop': {...})\n Stored in `__dataTemp`, dirty checked against `__dataTemp`\n2. Object set to simple property (e.g. 'prop': {...})\n Stored in `__dataTemp` and `__data`, dirty checked against\n `__dataTemp` by default implementation of `_shouldPropertyChange`\n3. Primitive value set to simple property (e.g. 'prop': 42)\n Stored in `__data`, dirty checked against `__data`\n\nThe dirty-check is important to prevent cycles due to two-way\nnotification, but paths and objects are only dirty checked against any\nprevious value set during this turn via a \"temporary cache\" that is\ncleared when the last `_propertiesChanged` exits. This is so:\na. any cached array paths (e.g. 'array.3.prop') may be invalidated\n due to array mutations like shift/unshift/splice; this is fine\n since path changes are dirty-checked at user entry points like `set`\nb. dirty-checking for objects only lasts one turn to allow the user\n to mutate the object in-place and re-set it with the same identity\n and have all sub-properties re-propagated in a subsequent turn.\n\nThe temp cache is not necessarily sufficient to prevent invalid array\npaths, since a splice can happen during the same turn (with pathological\nuser code); we could introduce a \"fixup\" for temporarily cached array\npaths if needed: https://github.com/Polymer/polymer/issues/4227", + "name": "_ensureAttribute", + "description": "Ensures the element has the given attribute. If it does not,\nassigns the given value to the attribute.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-accessors.js", "start": { - "line": 1436, - "column": 6 + "line": 185, + "column": 4 }, "end": { - "line": 1465, - "column": 7 + "line": 190, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "property", + "name": "attribute", "type": "string", - "description": "Name of the property" + "description": "Name of attribute to ensure is set." }, { "name": "value", - "type": "*", - "description": "Value to set" - }, - { - "name": "shouldNotify", - "type": "boolean=", - "description": "True if property should fire notification\n event (applies only for `notify: true` properties)" + "type": "string", + "description": "of the attribute." } ], "return": { - "type": "boolean", - "desc": "Returns true if the property changed" + "type": "void" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyAccessors" }, { - "name": "_isPropertyPending", - "description": "Returns true if the specified property has a pending change.", + "name": "_hasAccessor", + "description": "Returns true if this library created an accessor for the given property.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-accessors.js", "start": { - "line": 493, - "column": 6 + "line": 292, + "column": 4 }, "end": { - "line": 495, - "column": 7 + "line": 294, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "prop", + "name": "property", "type": "string", "description": "Property name" } ], "return": { "type": "boolean", - "desc": "True if property has a pending change" - }, - "inheritedFrom": "Polymer.PropertyAccessors" - }, - { - "name": "_invalidateProperties", - "description": "Overrides `PropertyAccessor`'s default async queuing of\n`_propertiesChanged`: if `__dataReady` is false (has not yet been\nmanually flushed), the function no-ops; otherwise flushes\n`_propertiesChanged` synchronously.", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", - "start": { - "line": 1487, - "column": 6 - }, - "end": { - "line": 1491, - "column": 7 - } - }, - "metadata": {}, - "params": [], - "inheritedFrom": "Polymer.PropertyEffects" - }, - { - "name": "_enableProperties", - "description": "Call to enable property accessor processing. Before this method is\ncalled accessor values will be set but side effects are\nqueued. When called, any pending side effects occur immediately.\nFor elements, generally `connectedCallback` is a normal spot to do so.\nIt is safe to call this method multiple times as it only turns on\nproperty accessors once.", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", - "start": { - "line": 523, - "column": 6 - }, - "end": { - "line": 532, - "column": 7 - } - }, - "metadata": {}, - "params": [], - "inheritedFrom": "Polymer.PropertyAccessors" - }, - { - "name": "_flushProperties", - "description": "Calls the `_propertiesChanged` callback with the current set of\npending changes (and old values recorded when pending changes were\nset), and resets the pending set of changes. Generally, this method\nshould not be called in user code.", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", - "start": { - "line": 543, - "column": 6 - }, - "end": { - "line": 551, - "column": 7 - } - }, - "metadata": {}, - "params": [], - "inheritedFrom": "Polymer.PropertyAccessors" - }, - { - "name": "ready", - "description": "Stamps the element template.", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", - "start": { - "line": 643, - "column": 6 - }, - "end": { - "line": 649, - "column": 7 - } - }, - "metadata": {}, - "params": [], - "inheritedFrom": "Polymer.ElementMixin" - }, - { - "name": "_propertiesChanged", - "description": "Implements `PropertyAccessors`'s properties changed callback.\n\nRuns each class of effects for the batch of changed properties in\na specific order (compute, propagate, reflect, observe, notify).", - "privacy": "protected", - "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", - "start": { - "line": 1626, - "column": 6 - }, - "end": { - "line": 1659, - "column": 7 - } + "desc": "True if an accessor was created" }, - "metadata": {}, - "params": [ - { - "name": "currentProps" - }, - { - "name": "changedProps" - }, - { - "name": "oldProps" - } - ], - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyAccessors" }, { - "name": "_shouldPropertyChange", - "description": "Method called to determine whether a property value should be\nconsidered as a change and cause the `_propertiesChanged` callback\nto be enqueued.\n\nThe default implementation returns `true` for primitive types if a\nstrict equality check fails, and returns `true` for all Object/Arrays.\nThe method always returns false for `NaN`.\n\nOverride this method to e.g. provide stricter checking for\nObjects/Arrays when using immutable patterns.", + "name": "_isPropertyPending", + "description": "Returns true if the specified property has a pending change.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-accessors.html", + "file": "../@polymer/polymer/lib/mixins/property-accessors.js", "start": { - "line": 606, - "column": 6 + "line": 303, + "column": 4 }, "end": { - "line": 609, - "column": 7 + "line": 305, + "column": 5 } }, "metadata": {}, "params": [ { - "name": "property", + "name": "prop", "type": "string", "description": "Property name" - }, - { - "name": "value", - "type": "*", - "description": "New property value" - }, - { - "name": "old", - "type": "*", - "description": "Previous property value" } ], "return": { "type": "boolean", - "desc": "Whether the property should be considered a change\n and enqueue a `_propertiesChanged` callback" + "desc": "True if property has a pending change" }, - "inheritedFrom": "Polymer.PropertyAccessors" + "inheritedFrom": "PropertyAccessors" }, { "name": "_addPropertyEffect", "description": "Equivalent to static `addPropertyEffect` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1220, - "column": 6 + "line": 1198, + "column": 4 }, "end": { - "line": 1228, - "column": 7 + "line": 1206, + "column": 5 } }, "metadata": {}, @@ -1563,21 +1598,24 @@ "description": "Effect metadata object" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_removePropertyEffect", "description": "Removes the given property effect.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1237, - "column": 6 + "line": 1216, + "column": 4 }, "end": { - "line": 1243, - "column": 7 + "line": 1222, + "column": 5 } }, "metadata": {}, @@ -1598,21 +1636,24 @@ "description": "Effect metadata object to remove" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_hasPropertyEffect", "description": "Returns whether the current prototype/instance has a property effect\nof a certain type.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1254, - "column": 6 + "line": 1233, + "column": 4 }, "end": { - "line": 1257, - "column": 7 + "line": 1236, + "column": 5 } }, "metadata": {}, @@ -1632,21 +1673,21 @@ "type": "boolean", "desc": "True if the prototype/instance has an effect of this type" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_hasReadOnlyEffect", "description": "Returns whether the current prototype/instance has a \"read only\"\naccessor for the given property.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1267, - "column": 6 + "line": 1246, + "column": 4 }, "end": { - "line": 1269, - "column": 7 + "line": 1248, + "column": 5 } }, "metadata": {}, @@ -1661,21 +1702,21 @@ "type": "boolean", "desc": "True if the prototype/instance has an effect of this type" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_hasNotifyEffect", "description": "Returns whether the current prototype/instance has a \"notify\"\nproperty effect for the given property.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1279, - "column": 6 + "line": 1258, + "column": 4 }, "end": { - "line": 1281, - "column": 7 + "line": 1260, + "column": 5 } }, "metadata": {}, @@ -1690,21 +1731,21 @@ "type": "boolean", "desc": "True if the prototype/instance has an effect of this type" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_hasReflectEffect", "description": "Returns whether the current prototype/instance has a \"reflect to attribute\"\nproperty effect for the given property.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1291, - "column": 6 + "line": 1270, + "column": 4 }, "end": { - "line": 1293, - "column": 7 + "line": 1272, + "column": 5 } }, "metadata": {}, @@ -1719,21 +1760,21 @@ "type": "boolean", "desc": "True if the prototype/instance has an effect of this type" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_hasComputedEffect", "description": "Returns whether the current prototype/instance has a \"computed\"\nproperty effect for the given property.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1303, - "column": 6 + "line": 1282, + "column": 4 }, "end": { - "line": 1305, - "column": 7 + "line": 1284, + "column": 5 } }, "metadata": {}, @@ -1748,28 +1789,28 @@ "type": "boolean", "desc": "True if the prototype/instance has an effect of this type" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_setPendingPropertyOrPath", "description": "Sets a pending property or path. If the root property of the path in\nquestion had no accessor, the path is set, otherwise it is enqueued\nvia `_setPendingProperty`.\n\nThis function isolates relatively expensive functionality necessary\nfor the public API (`set`, `setProperties`, `notifyPath`, and property\nchange listeners via {{...}} bindings), such that it is only done\nwhen paths enter the system, and not at every propagation step. It\nalso sets a `__dataHasPaths` flag on the instance which is used to\nfast-path slower path-matching code in the property effects host paths.\n\n`path` can be a path string or array of path parts as accepted by the\npublic API.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1337, - "column": 6 + "line": 1316, + "column": 4 }, "end": { - "line": 1369, - "column": 7 + "line": 1348, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(number|string)>)", + "type": "(string | !Array.<(number | string)>)", "description": "Path to set" }, { @@ -1792,28 +1833,28 @@ "type": "boolean", "desc": "Returns true if the property/path was enqueued in\n the pending changes bag." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_setUnmanagedPropertyToNode", "description": "Applies a value to a non-Polymer element/node's property.\n\nThe implementation makes a best-effort at binding interop:\nSome native element properties have side-effects when\nre-setting the same value (e.g. setting `.value` resets the\ncursor position), so we do a dirty-check before setting the value.\nHowever, for better interop with non-Polymer custom elements that\naccept objects, we explicitly re-set object changes coming from the\nPolymer world (which may include deep object changes without the\ntop reference changing), erring on the side of providing more\ninformation.\n\nUsers may override this method to provide alternate approaches.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1391, - "column": 6 + "line": 1371, + "column": 4 }, "end": { - "line": 1399, - "column": 7 + "line": 1379, + "column": 5 } }, "metadata": {}, "params": [ { "name": "node", - "type": "Node", + "type": "!Node", "description": "The node to set a property on" }, { @@ -1827,21 +1868,24 @@ "description": "The value to set" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_enqueueClient", "description": "Enqueues the given client on a list of pending clients, whose\npending property changes can later be flushed via a call to\n`_flushClients`.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1501, - "column": 6 + "line": 1486, + "column": 4 }, "end": { - "line": 1506, - "column": 7 + "line": 1491, + "column": 5 } }, "metadata": {}, @@ -1852,78 +1896,90 @@ "description": "PropertyEffects client to enqueue" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_flushClients", "description": "Flushes any clients previously enqueued via `_enqueueClient`, causing\ntheir `_flushProperties` method to run.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1514, - "column": 6 + "line": 1512, + "column": 4 }, "end": { - "line": 1525, - "column": 7 + "line": 1523, + "column": 5 } }, "metadata": {}, "params": [], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "__enableOrFlushClients", "description": "(c) the stamped dom enables.", "privacy": "private", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1539, - "column": 6 + "line": 1537, + "column": 4 }, "end": { - "line": 1552, - "column": 7 + "line": 1550, + "column": 5 } }, "metadata": {}, "params": [], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_readyClients", "description": "Implements `PropertyEffects`'s `_readyClients` call. Attaches\nelement dom by calling `_attachDom` with the dom stamped from the\nelement's template via `_stampTemplate`. Note that this allows\nclient dom to be attached to the element prior to any observers\nrunning.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 660, - "column": 6 + "line": 626, + "column": 4 }, "end": { - "line": 669, - "column": 7 + "line": 635, + "column": 5 } }, "metadata": {}, "params": [], - "inheritedFrom": "Polymer.ElementMixin" + "return": { + "type": "void" + }, + "inheritedFrom": "ElementMixin" }, { "name": "setProperties", "description": "Sets a bag of property changes to this instance, and\nsynchronously processes all effects of the properties as a batch.\n\nProperty names must be simple properties, not paths. Batched\npath propagation is not supported.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { "line": 1579, - "column": 6 + "column": 4 }, "end": { "line": 1590, - "column": 7 + "column": 5 } }, "metadata": {}, @@ -1939,21 +1995,24 @@ "description": "When true, any private values set in\n `props` will be set. By default, `setProperties` will not set\n `readOnly: true` root properties." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_propagatePropertyChanges", "description": "Called to propagate any property changes to stamped template nodes\nmanaged by this element.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1670, - "column": 6 + "line": 1677, + "column": 4 }, "end": { - "line": 1680, - "column": 7 + "line": 1687, + "column": 5 } }, "metadata": {}, @@ -1974,76 +2033,85 @@ "description": "True with `props` contains one or more paths" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "linkPaths", "description": "Aliases one data path as another, such that path notifications from one\nare routed to the other.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1690, - "column": 6 + "line": 1698, + "column": 4 }, "end": { - "line": 1695, - "column": 7 + "line": 1703, + "column": 5 } }, "metadata": {}, "params": [ { "name": "to", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Target path to link." }, { "name": "from", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Source path to link." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "unlinkPaths", "description": "Removes a data path alias previously established with `_linkPaths`.\n\nNote, the path to unlink should be the target (`to`) used when\nlinking the paths.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1706, - "column": 6 + "line": 1715, + "column": 4 }, "end": { - "line": 1711, - "column": 7 + "line": 1720, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Target path to unlink." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "notifySplices", "description": "Notify that an array has changed.\n\nExample:\n\n this.items = [ {name: 'Jim'}, {name: 'Todd'}, {name: 'Bill'} ];\n ...\n this.items.splice(1, 1, {name: 'Sam'});\n this.items.push({name: 'Bob'});\n this.notifySplices('items', [\n { index: 1, removed: [{name: 'Todd'}], addedCount: 1, object: this.items, type: 'splice' },\n { index: 3, removed: [], addedCount: 1, object: this.items, type: 'splice'}\n ]);", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1742, - "column": 6 + "line": 1752, + "column": 4 }, "end": { - "line": 1746, - "column": 7 + "line": 1756, + "column": 5 } }, "metadata": {}, @@ -2059,28 +2127,31 @@ "description": "Array of splice records indicating ordered\n changes that occurred to the array. Each record should have the\n following fields:\n * index: index at which the change occurred\n * removed: array of items that were removed from this index\n * addedCount: number of new items added at this index\n * object: a reference to the array in question\n * type: the string literal 'splice'\n\n Note that splice records _must_ be normalized such that they are\n reported in index order (raw results from `Object.observe` are not\n ordered and must be normalized/merged before notifying)." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "get", "description": "Convenience method for reading a value from a path.\n\nNote, if any part in the path is undefined, this method returns\n`undefined` (this method does not throw when dereferencing undefined\npaths).", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1767, - "column": 6 + "line": 1777, + "column": 4 }, "end": { - "line": 1769, - "column": 7 + "line": 1779, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to the value\n to read. The path may be specified as a string (e.g. `foo.bar.baz`)\n or an array of path parts (e.g. `['foo.bar', 'baz']`). Note that\n bracketed expressions are not supported; string-based path parts\n *must* be separated by dots. Note that when dereferencing array\n indices, the index may be used as a dotted part directly\n (e.g. `users.12.name` or `['users', 12, 'name']`)." }, { @@ -2093,28 +2164,28 @@ "type": "*", "desc": "Value at the path, or `undefined` if any part of the path\n is undefined." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "set", "description": "Convenience method for setting a value to a path and notifying any\nelements bound to the same path.\n\nNote, if any part in the path except for the last is undefined,\nthis method does nothing (this method does not throw when\ndereferencing undefined paths).", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1791, - "column": 6 + "line": 1802, + "column": 4 }, "end": { - "line": 1801, - "column": 7 + "line": 1812, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to the value\n to write. The path may be specified as a string (e.g. `'foo.bar.baz'`)\n or an array of path parts (e.g. `['foo.bar', 'baz']`). Note that\n bracketed expressions are not supported; string-based path parts\n *must* be separated by dots. Note that when dereferencing array\n indices, the index may be used as a dotted part directly\n (e.g. `'users.12.name'` or `['users', 12, 'name']`)." }, { @@ -2128,60 +2199,66 @@ "description": "Root object from which the path is evaluated.\n When specified, no notification will occur." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "push", "description": "Adds items onto the end of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1817, - "column": 6 + "line": 1828, + "column": 4 }, "end": { - "line": 1826, - "column": 7 + "line": 1837, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to array." }, { - "name": "...items" + "name": "items", + "type": "...*", + "rest": true, + "description": "Items to push onto array" } ], "return": { "type": "number", "desc": "New length of the array." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "pop", "description": "Removes an item from the end of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1841, - "column": 6 + "line": 1852, + "column": 4 }, "end": { - "line": 1850, - "column": 7 + "line": 1861, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to array." } ], @@ -2189,28 +2266,28 @@ "type": "*", "desc": "Item that was removed." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "splice", "description": "Starting from the start index specified, removes 0 or more items\nfrom the array and inserts 0 or more new items in their place.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.splice`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1869, - "column": 6 + "line": 1880, + "column": 4 }, "end": { - "line": 1886, - "column": 7 + "line": 1917, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to array." }, { @@ -2220,39 +2297,42 @@ }, { "name": "deleteCount", - "type": "number", + "type": "number=", "description": "Number of items to remove." }, { - "name": "...items" + "name": "items", + "type": "...*", + "rest": true, + "description": "Items to insert into array." } ], "return": { "type": "Array", "desc": "Array of removed items." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "shift", "description": "Removes an item from the beginning of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1901, - "column": 6 + "line": 1932, + "column": 4 }, "end": { - "line": 1910, - "column": 7 + "line": 1941, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to array." } ], @@ -2260,53 +2340,56 @@ "type": "*", "desc": "Item that was removed." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "unshift", "description": "Adds items onto the beginning of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1926, - "column": 6 + "line": 1957, + "column": 4 }, "end": { - "line": 1934, - "column": 7 + "line": 1965, + "column": 5 } }, "metadata": {}, "params": [ { "name": "path", - "type": "(string|!Array.<(string|number)>)", + "type": "(string | !Array.<(string | number)>)", "description": "Path to array." }, { - "name": "...items" + "name": "items", + "type": "...*", + "rest": true, + "description": "Items to insert info array" } ], "return": { "type": "number", "desc": "New length of the array." }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "notifyPath", "description": "Notify that a path has changed.\n\nExample:\n\n this.item.user.name = 'Bob';\n this.notifyPath('item.user.name');", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1948, - "column": 6 + "line": 1980, + "column": 4 }, "end": { - "line": 1965, - "column": 7 + "line": 1997, + "column": 5 } }, "metadata": {}, @@ -2322,21 +2405,24 @@ "description": "Value at the path (optional)." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_createReadOnlyProperty", "description": "Equivalent to static `createReadOnlyProperty` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1977, - "column": 6 + "line": 2010, + "column": 4 }, "end": { - "line": 1984, - "column": 7 + "line": 2017, + "column": 5 } }, "metadata": {}, @@ -2352,21 +2438,24 @@ "description": "Creates a custom protected setter\n when `true`." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_createPropertyObserver", "description": "Equivalent to static `createPropertyObserver` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 1997, - "column": 6 + "line": 2031, + "column": 4 }, "end": { - "line": 2007, - "column": 7 + "line": 2041, + "column": 5 } }, "metadata": {}, @@ -2377,9 +2466,9 @@ "description": "Property name" }, { - "name": "methodName", - "type": "string", - "description": "Name of observer method to call" + "name": "method", + "type": "(string | function (*, *))", + "description": "Function or name of observer method to call" }, { "name": "dynamicFn", @@ -2387,21 +2476,24 @@ "description": "Whether the method name should be included as\n a dependency to the effect." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_createMethodObserver", "description": "Equivalent to static `createMethodObserver` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 2019, - "column": 6 + "line": 2054, + "column": 4 }, "end": { - "line": 2025, - "column": 7 + "line": 2060, + "column": 5 } }, "metadata": {}, @@ -2413,25 +2505,28 @@ }, { "name": "dynamicFn", - "type": "(boolean|Object)=", + "type": "(boolean | Object)=", "description": "Boolean or object map indicating\n whether method names should be included as a dependency to the effect." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_createNotifyingProperty", "description": "Equivalent to static `createNotifyingProperty` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 2035, - "column": 6 + "line": 2071, + "column": 4 }, "end": { - "line": 2043, - "column": 7 + "line": 2079, + "column": 5 } }, "metadata": {}, @@ -2442,21 +2537,24 @@ "description": "Property name" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_createReflectedProperty", "description": "Equivalent to static `createReflectedProperty` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 2053, - "column": 6 + "line": 2090, + "column": 4 }, "end": { - "line": 2066, - "column": 7 + "line": 2103, + "column": 5 } }, "metadata": {}, @@ -2467,21 +2565,24 @@ "description": "Property name" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_createComputedProperty", "description": "Equivalent to static `createComputedProperty` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 2079, - "column": 6 + "line": 2117, + "column": 4 }, "end": { - "line": 2085, - "column": 7 + "line": 2123, + "column": 5 } }, "metadata": {}, @@ -2498,32 +2599,74 @@ }, { "name": "dynamicFn", - "type": "(boolean|Object)=", + "type": "(boolean | Object)=", "description": "Boolean or object map indicating\n whether method names should be included as a dependency to the effect." } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" + }, + { + "name": "_marshalArgs", + "description": "Gather the argument values for a method specified in the provided array\nof argument metadata.\n\nThe `path` and `value` arguments are used to fill in wildcard descriptor\nwhen the method is being called as a result of a path notification.", + "privacy": "private", + "sourceRange": { + "file": "../@polymer/polymer/lib/mixins/property-effects.js", + "start": { + "line": 2138, + "column": 4 + }, + "end": { + "line": 2173, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "args", + "type": "!Array.", + "description": "Array of argument metadata" + }, + { + "name": "path", + "type": "string", + "description": "Property/path name that triggered the method effect" + }, + { + "name": "props", + "type": "Object", + "description": "Bag of current property changes" + } + ], + "return": { + "type": "Array.<*>", + "desc": "Array of argument values" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "_bindTemplate", "description": "Equivalent to static `bindTemplate` API but can be called on\nan instance to add effects at runtime. See that method for\nfull API docs.\n\nThis method may be called on the prototype (for prototypical template\nbinding, to avoid creating accessors every instance) once per prototype,\nand will be called with `runtimeBinding: true` by `_stampTemplate` to\ncreate and link an instance of the template metadata associated with a\nparticular stamping.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 2255, - "column": 6 + "line": 2350, + "column": 4 }, "end": { - "line": 2278, - "column": 7 + "line": 2373, + "column": 5 } }, "metadata": {}, "params": [ { "name": "template", - "type": "HTMLTemplateElement", + "type": "!HTMLTemplateElement", "description": "Template containing binding\n bindings" }, { @@ -2536,21 +2679,21 @@ "type": "!TemplateInfo", "desc": "Template metadata object; for `runtimeBinding`,\n this is an instance of the prototypical template info" }, - "inheritedFrom": "Polymer.PropertyEffects" + "inheritedFrom": "PropertyEffects" }, { "name": "_removeBoundDom", "description": "Removes and unbinds the nodes previously contained in the provided\nDocumentFragment returned from `_stampTemplate`.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/property-effects.html", + "file": "../@polymer/polymer/lib/mixins/property-effects.js", "start": { - "line": 2355, - "column": 6 + "line": 2452, + "column": 4 }, "end": { - "line": 2376, - "column": 7 + "line": 2473, + "column": 5 } }, "metadata": {}, @@ -2561,59 +2704,68 @@ "description": "DocumentFragment previously returned\n from `_stampTemplate` associated with the nodes to be removed" } ], - "inheritedFrom": "Polymer.PropertyEffects" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertyEffects" }, { "name": "connectedCallback", "description": "Provides a default implementation of the standard Custom Elements\n`connectedCallback`.\n\nThe default implementation enables the property effects system and\nflushes any pending properties, and updates shimmed CSS properties\nwhen using the ShadyCSS scoping/custom properties polyfill.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 625, - "column": 6 + "line": 595, + "column": 4 }, "end": { - "line": 630, - "column": 7 + "line": 600, + "column": 5 } }, "metadata": {}, "params": [], - "inheritedFrom": "Polymer.ElementMixin" + "return": { + "type": "void" + }, + "inheritedFrom": "ElementMixin" }, { "name": "disconnectedCallback", - "description": "Provides a default implementation of the standard Custom Elements\n`disconnectedCallback`.", + "description": "Called when the element is removed from a document", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/properties-mixin.js", "start": { - "line": 636, - "column": 6 + "line": 216, + "column": 3 }, "end": { - "line": 636, - "column": 31 + "line": 220, + "column": 4 } }, "metadata": {}, "params": [], - "inheritedFrom": "Polymer.ElementMixin" + "return": { + "type": "void" + }, + "inheritedFrom": "PropertiesMixin" }, { "name": "_attachDom", "description": "Attaches an element's stamped dom to itself. By default,\nthis method creates a `shadowRoot` and adds the dom to it.\nHowever, this method may be overridden to allow an element\nto put its dom in another location.", "privacy": "protected", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 683, - "column": 6 + "line": 649, + "column": 4 }, "end": { - "line": 699, - "column": 7 + "line": 665, + "column": 5 } }, "metadata": {}, @@ -2628,21 +2780,21 @@ "type": "ShadowRoot", "desc": "node to which the dom has been attached." }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "ElementMixin" }, { "name": "updateStyles", - "description": "When using the ShadyCSS scoping and custom property shim, causes all\nshimmed styles in this element (and its subtree) to be updated\nbased on current custom property values.\n\nThe optional parameter overrides inline custom property styles with an\nobject of properties where the keys are CSS properties, and the values\nare strings.\n\nExample: `this.updateStyles({'--color': 'blue'})`\n\nThese properties are retained unless a value of `null` is set.", + "description": "When using the ShadyCSS scoping and custom property shim, causes all\nshimmed styles in this element (and its subtree) to be updated\nbased on current custom property values.\n\nThe optional parameter overrides inline custom property styles with an\nobject of properties where the keys are CSS properties, and the values\nare strings.\n\nExample: `this.updateStyles({'--color': 'blue'})`\n\nThese properties are retained unless a value of `null` is set.\n\nNote: This function does not support updating CSS mixins.\nYou can not dynamically change the value of an `@apply`.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 742, - "column": 6 + "line": 688, + "column": 4 }, "end": { - "line": 746, - "column": 7 + "line": 692, + "column": 5 } }, "metadata": {}, @@ -2653,21 +2805,24 @@ "description": "Bag of custom property key/values to\n apply to this element." } ], - "inheritedFrom": "Polymer.ElementMixin" + "return": { + "type": "void" + }, + "inheritedFrom": "ElementMixin" }, { "name": "resolveUrl", - "description": "Rewrites a given URL relative to a base URL. The base URL defaults to\nthe original location of the document containing the `dom-module` for\nthis element. This method will return the same URL before and after\nbundling.", + "description": "Rewrites a given URL relative to a base URL. The base URL defaults to\nthe original location of the document containing the `dom-module` for\nthis element. This method will return the same URL before and after\nbundling.\n\nNote that this function performs no resolution for URLs that start\nwith `/` (absolute URLs) or `#` (hash identifiers). For general purpose\nURL resolution, use `window.URL`.", "privacy": "public", "sourceRange": { - "file": "bower_components/polymer/lib/mixins/element-mixin.html", + "file": "../@polymer/polymer/lib/mixins/element-mixin.js", "start": { - "line": 759, - "column": 6 + "line": 709, + "column": 4 }, "end": { - "line": 764, - "column": 7 + "line": 714, + "column": 5 } }, "metadata": {}, @@ -2687,7 +2842,7 @@ "type": "string", "desc": "Rewritten URL relative to base" }, - "inheritedFrom": "Polymer.ElementMixin" + "inheritedFrom": "ElementMixin" }, { "name": "_getPlainText", @@ -2695,12 +2850,12 @@ "privacy": "protected", "sourceRange": { "start": { - "line": 139, - "column": 12 + "line": 132, + "column": 2 }, "end": { - "line": 147, - "column": 13 + "line": 140, + "column": 3 } }, "metadata": {}, @@ -2716,12 +2871,12 @@ "privacy": "protected", "sourceRange": { "start": { - "line": 153, - "column": 12 + "line": 146, + "column": 2 }, "end": { - "line": 166, - "column": 13 + "line": 159, + "column": 3 } }, "metadata": {}, @@ -2729,7 +2884,10 @@ { "name": "e" } - ] + ], + "return": { + "type": "void" + } }, { "name": "_isSelected", @@ -2737,12 +2895,12 @@ "privacy": "protected", "sourceRange": { "start": { - "line": 168, - "column": 12 + "line": 161, + "column": 2 }, "end": { - "line": 170, - "column": 13 + "line": 163, + "column": 3 } }, "metadata": {}, @@ -2761,12 +2919,12 @@ "privacy": "protected", "sourceRange": { "start": { - "line": 172, - "column": 12 + "line": 165, + "column": 2 }, "end": { - "line": 210, - "column": 13 + "line": 203, + "column": 3 } }, "metadata": {}, @@ -2788,12 +2946,12 @@ "privacy": "protected", "sourceRange": { "start": { - "line": 212, - "column": 12 + "line": 205, + "column": 2 }, "end": { - "line": 215, - "column": 13 + "line": 208, + "column": 3 } }, "metadata": {}, @@ -2815,12 +2973,12 @@ "privacy": "protected", "sourceRange": { "start": { - "line": 217, - "column": 12 + "line": 210, + "column": 2 }, "end": { - "line": 222, - "column": 13 + "line": 215, + "column": 3 } }, "metadata": {}, @@ -2837,14 +2995,14 @@ "description": "Scans a template to produce template metadata.\n\nTemplate-specific metadata are stored in the object returned, and node-\nspecific metadata are stored in objects in its flattened `nodeInfoList`\narray. Only nodes in the template that were parsed as nodes of\ninterest contain an object in `nodeInfoList`. Each `nodeInfo` object\ncontains an `index` (`childNodes` index in parent) and optionally\n`parent`, which points to node info of its parent (including its index).\n\nThe template metadata object returned from this method has the following\nstructure (many fields optional):\n\n```js\n {\n // Flattened list of node metadata (for nodes that generated metadata)\n nodeInfoList: [\n {\n // `id` attribute for any nodes with id's for generating `$` map\n id: {string},\n // `on-event=\"handler\"` metadata\n events: [\n {\n name: {string}, // event name\n value: {string}, // handler method name\n }, ...\n ],\n // Notes when the template contained a `` for shady DOM\n // optimization purposes\n hasInsertionPoint: {boolean},\n // For nested `