mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update polymer
This commit is contained in:
parent
6825ae319e
commit
2d53ff29c5
106 changed files with 3070 additions and 1567 deletions
|
@ -30,6 +30,6 @@
|
||||||
"commit": "14d2ca3df97da64c820829a8310f9198fbafbcfa"
|
"commit": "14d2ca3df97da64c820829a8310f9198fbafbcfa"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/desandro/eventie.git",
|
"_source": "git://github.com/desandro/eventie.git",
|
||||||
"_target": "^1",
|
"_target": "~1.0.3",
|
||||||
"_originalSource": "eventie"
|
"_originalSource": "eventie"
|
||||||
}
|
}
|
|
@ -31,6 +31,6 @@
|
||||||
"commit": "34fc5e4a0f252964ed2790138b8d7d30d04b55c1"
|
"commit": "34fc5e4a0f252964ed2790138b8d7d30d04b55c1"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/desandro/get-style-property.git",
|
"_source": "git://github.com/desandro/get-style-property.git",
|
||||||
"_target": "~1.0.4",
|
"_target": "1.x",
|
||||||
"_originalSource": "get-style-property"
|
"_originalSource": "get-style-property"
|
||||||
}
|
}
|
|
@ -1,17 +1,16 @@
|
||||||
{
|
{
|
||||||
"name": "howler.js",
|
"name": "howler.js",
|
||||||
"version": "1.1.27",
|
"version": "1.1.28",
|
||||||
"description": "Javascript audio library for the modern web.",
|
"description": "Javascript audio library for the modern web.",
|
||||||
"main": "howler.js",
|
"main": "howler.js",
|
||||||
"homepage": "https://github.com/goldfire/howler.js",
|
"homepage": "https://github.com/goldfire/howler.js",
|
||||||
"_release": "1.1.27",
|
"_release": "1.1.28",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.1.27",
|
"tag": "v1.1.28",
|
||||||
"commit": "70cbd7af0e3e7ced5a825fff8d297b7710835f6d"
|
"commit": "34c22ab507f847bba7bd2eb2b003197cfc54f274"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/goldfire/howler.js.git",
|
"_source": "git://github.com/goldfire/howler.js.git",
|
||||||
"_target": "~1.1.27",
|
"_target": "~1.1.27",
|
||||||
"_originalSource": "howler",
|
"_originalSource": "howler"
|
||||||
"_direct": true
|
|
||||||
}
|
}
|
|
@ -1,3 +1,6 @@
|
||||||
|
## 1.1.28 (October 22, 2015)
|
||||||
|
- `FIXED`: Fixed typo with iOS enabler that was preventing it from working.
|
||||||
|
|
||||||
## 1.1.27 (October 2, 2015)
|
## 1.1.27 (October 2, 2015)
|
||||||
- `FIXED`: Fixed automatic audio unlocking on iOS 9 by switching to `touchend` from `touchstart`.
|
- `FIXED`: Fixed automatic audio unlocking on iOS 9 by switching to `touchend` from `touchstart`.
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*!
|
/*!
|
||||||
* howler.js v1.1.27
|
* howler.js v1.1.28
|
||||||
* howlerjs.com
|
* howlerjs.com
|
||||||
*
|
*
|
||||||
* (c) 2013-2015, James Simpson of GoldFire Studios
|
* (c) 2013-2015, James Simpson of GoldFire Studios
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-a11y-keys-behavior",
|
"name": "iron-a11y-keys-behavior",
|
||||||
"version": "1.0.6",
|
"version": "1.0.7",
|
||||||
"description": "A behavior that enables keybindings for greater a11y.",
|
"description": "A behavior that enables keybindings for greater a11y.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"web-components",
|
"web-components",
|
||||||
|
@ -29,14 +29,14 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-a11y-keys-behavior",
|
"homepage": "https://github.com/PolymerElements/iron-a11y-keys-behavior",
|
||||||
"_release": "1.0.6",
|
"_release": "1.0.7",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.6",
|
"tag": "v1.0.7",
|
||||||
"commit": "af5c98b1cf9b3d180a6326c99ac9c7057eee647f"
|
"commit": "4dfdd8cca76eabe12245e86deb9d5da3cd717460"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-a11y-keys-behavior.git",
|
"_source": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-a11y-keys-behavior"
|
"_originalSource": "PolymerElements/iron-a11y-keys-behavior"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-a11y-keys-behavior",
|
"name": "iron-a11y-keys-behavior",
|
||||||
"version": "1.0.6",
|
"version": "1.0.7",
|
||||||
"description": "A behavior that enables keybindings for greater a11y.",
|
"description": "A behavior that enables keybindings for greater a11y.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"web-components",
|
"web-components",
|
||||||
|
|
|
@ -255,6 +255,15 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If true, this property will cause the implementing element to
|
||||||
|
* automatically stop propagation on any handled KeyboardEvents.
|
||||||
|
*/
|
||||||
|
stopKeyboardEventPropagation: {
|
||||||
|
type: Boolean,
|
||||||
|
value: false
|
||||||
|
},
|
||||||
|
|
||||||
_boundKeyHandlers: {
|
_boundKeyHandlers: {
|
||||||
type: Array,
|
type: Array,
|
||||||
value: function() {
|
value: function() {
|
||||||
|
@ -398,6 +407,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
},
|
},
|
||||||
|
|
||||||
_onKeyBindingEvent: function(keyBindings, event) {
|
_onKeyBindingEvent: function(keyBindings, event) {
|
||||||
|
if (this.stopKeyboardEventPropagation) {
|
||||||
|
event.stopPropagation();
|
||||||
|
}
|
||||||
|
|
||||||
keyBindings.forEach(function(keyBinding) {
|
keyBindings.forEach(function(keyBinding) {
|
||||||
var keyCombo = keyBinding[0];
|
var keyCombo = keyBinding[0];
|
||||||
var handlerName = keyBinding[1];
|
var handlerName = keyBinding[1];
|
||||||
|
|
|
@ -30,6 +30,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
</template>
|
</template>
|
||||||
</test-fixture>
|
</test-fixture>
|
||||||
|
|
||||||
|
<test-fixture id="NonPropagatingKeys">
|
||||||
|
<template>
|
||||||
|
<x-a11y-basic-keys stop-keyboard-event-propagation></x-a11y-basic-keys>
|
||||||
|
</template>
|
||||||
|
</test-fixture>
|
||||||
|
|
||||||
<test-fixture id="ComboKeys">
|
<test-fixture id="ComboKeys">
|
||||||
<template>
|
<template>
|
||||||
<x-a11y-combo-keys></x-a11y-combo-keys>
|
<x-a11y-combo-keys></x-a11y-combo-keys>
|
||||||
|
@ -161,6 +167,15 @@ suite('Polymer.IronA11yKeysBehavior', function() {
|
||||||
expect(keys.keyCount).to.be.equal(1);
|
expect(keys.keyCount).to.be.equal(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('allows propagation beyond the key combo handler', function() {
|
||||||
|
var keySpy = sinon.spy();
|
||||||
|
document.addEventListener('keydown', keySpy);
|
||||||
|
|
||||||
|
MockInteractions.pressEnter(keys);
|
||||||
|
|
||||||
|
expect(keySpy.callCount).to.be.equal(1);
|
||||||
|
});
|
||||||
|
|
||||||
suite('edge cases', function() {
|
suite('edge cases', function() {
|
||||||
test('knows that `spacebar` is the same as `space`', function() {
|
test('knows that `spacebar` is the same as `space`', function() {
|
||||||
var event = new CustomEvent('keydown');
|
var event = new CustomEvent('keydown');
|
||||||
|
@ -242,6 +257,22 @@ suite('Polymer.IronA11yKeysBehavior', function() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
suite('stopping propagation automatically', function() {
|
||||||
|
setup(function() {
|
||||||
|
keys = fixture('NonPropagatingKeys');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('does not propagate key events beyond the combo handler', function() {
|
||||||
|
var keySpy = sinon.spy();
|
||||||
|
|
||||||
|
document.addEventListener('keydown', keySpy);
|
||||||
|
|
||||||
|
MockInteractions.pressEnter(keys);
|
||||||
|
|
||||||
|
expect(keySpy.callCount).to.be.equal(0);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-form-element-behavior",
|
"name": "iron-form-element-behavior",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -30,11 +30,11 @@
|
||||||
"paper-styles": "PolymerElements/paper-styles#^1.0.0"
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/PolymerElements/iron-form-element-behavior",
|
"homepage": "https://github.com/PolymerElements/iron-form-element-behavior",
|
||||||
"_release": "1.0.4",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.4",
|
"tag": "v1.0.5",
|
||||||
"commit": "d5b296d63fa65cc3870c50801e37ffc08fe2d5e3"
|
"commit": "52b16e14511a4b659658da705f5f4b2b45131941"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-form-element-behavior.git",
|
"_source": "git://github.com/PolymerElements/iron-form-element-behavior.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-form-element-behavior",
|
"name": "iron-form-element-behavior",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": [
|
"main": [
|
||||||
|
|
|
@ -53,8 +53,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
* custom element that uses this behavior should also use
|
* custom element that uses this behavior should also use
|
||||||
* Polymer.IronValidatableBehavior and define a custom validation method.
|
* Polymer.IronValidatableBehavior and define a custom validation method.
|
||||||
* Otherwise, a `required` element will always be considered valid.
|
* Otherwise, a `required` element will always be considered valid.
|
||||||
* It's also strongly recomended to provide a visual style for the element
|
* It's also strongly recommended to provide a visual style for the element
|
||||||
* when it's value is invalid.
|
* when its value is invalid.
|
||||||
*/
|
*/
|
||||||
required: {
|
required: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "iron-icon",
|
"name": "iron-icon",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.5",
|
"version": "1.0.7",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"description": "An element that supports displaying an icon",
|
"description": "An element that supports displaying an icon",
|
||||||
"main": "iron-icon.html",
|
"main": "iron-icon.html",
|
||||||
|
@ -32,11 +32,11 @@
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-icon",
|
"homepage": "https://github.com/polymerelements/iron-icon",
|
||||||
"_release": "1.0.5",
|
"_release": "1.0.7",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.5",
|
"tag": "v1.0.7",
|
||||||
"commit": "5217361e21016b3ca52b7bbf5ba2ad56b3301486"
|
"commit": "6f4d152dc3998a6cc12a5a585a654f893dc99381"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-icon.git",
|
"_source": "git://github.com/polymerelements/iron-icon.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "iron-icon",
|
"name": "iron-icon",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.5",
|
"version": "1.0.7",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"description": "An element that supports displaying an icon",
|
"description": "An element that supports displaying an icon",
|
||||||
"main": "iron-icon.html",
|
"main": "iron-icon.html",
|
||||||
|
|
|
@ -52,10 +52,11 @@ Example of using an icon named `cherry` from a custom iconset with the ID `fruit
|
||||||
|
|
||||||
<iron-icon icon="fruit:cherry"></iron-icon>
|
<iron-icon icon="fruit:cherry"></iron-icon>
|
||||||
|
|
||||||
See [iron-iconset](#iron-iconset) and [iron-iconset-svg](#iron-iconset-svg) for more information about
|
See [iron-iconset](iron-iconset) and [iron-iconset-svg](iron-iconset-svg) for more information about
|
||||||
how to create a custom iconset.
|
how to create a custom iconset.
|
||||||
|
|
||||||
See [iron-icons](https://elements.polymer-project.org/elements/iron-icons?view=demo:demo/index.html) for the default set of icons.
|
See the [iron-icons demo](iron-icons?view=demo:demo/index.html) to see the icons available
|
||||||
|
in the various iconsets.
|
||||||
|
|
||||||
|
|
||||||
### Styling
|
### Styling
|
||||||
|
@ -66,6 +67,8 @@ Custom property | Description | Default
|
||||||
----------------|-------------|----------
|
----------------|-------------|----------
|
||||||
`--iron-icon-width` | Width of the icon | `24px`
|
`--iron-icon-width` | Width of the icon | `24px`
|
||||||
`--iron-icon-height` | Height of the icon | `24px`
|
`--iron-icon-height` | Height of the icon | `24px`
|
||||||
|
`--iron-icon-fill-color` | Fill color of the svg icon | `currentcolor`
|
||||||
|
`--iron-icon-stroke-color` | Stroke color of the svg icon | none
|
||||||
|
|
||||||
@group Iron Elements
|
@group Iron Elements
|
||||||
@element iron-icon
|
@element iron-icon
|
||||||
|
@ -84,7 +87,8 @@ Custom property | Description | Default
|
||||||
|
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|
||||||
fill: currentcolor;
|
fill: var(--iron-icon-fill-color, currentcolor);
|
||||||
|
stroke: var(--iron-icon-stroke-color, none);
|
||||||
|
|
||||||
width: var(--iron-icon-width, 24px);
|
width: var(--iron-icon-width, 24px);
|
||||||
height: var(--iron-icon-height, 24px);
|
height: var(--iron-icon-height, 24px);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "iron-iconset-svg",
|
"name": "iron-iconset-svg",
|
||||||
"description": "Manages a set of svg icons",
|
"description": "Manages a set of svg icons",
|
||||||
"version": "1.0.6",
|
"version": "1.0.8",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"web-components",
|
"web-components",
|
||||||
"polymer",
|
"polymer",
|
||||||
|
@ -30,11 +30,11 @@
|
||||||
"web-component-tester": "*"
|
"web-component-tester": "*"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-iconset-svg",
|
"homepage": "https://github.com/polymerelements/iron-iconset-svg",
|
||||||
"_release": "1.0.6",
|
"_release": "1.0.8",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.6",
|
"tag": "v1.0.8",
|
||||||
"commit": "ebd17924942abe6110aa0fe81b1b31e1fcc34a9f"
|
"commit": "7f8b0a5800254247cb518356aee983155374f519"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-iconset-svg.git",
|
"_source": "git://github.com/polymerelements/iron-iconset-svg.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "iron-iconset-svg",
|
"name": "iron-iconset-svg",
|
||||||
"description": "Manages a set of svg icons",
|
"description": "Manages a set of svg icons",
|
||||||
"version": "1.0.6",
|
"version": "1.0.8",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"web-components",
|
"web-components",
|
||||||
"polymer",
|
"polymer",
|
||||||
|
|
|
@ -18,9 +18,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
* `iron-iconset-svg` element. Multiple icons should be given distinct id's.
|
* `iron-iconset-svg` element. Multiple icons should be given distinct id's.
|
||||||
*
|
*
|
||||||
* Using svg elements to create icons has a few advantages over traditional
|
* Using svg elements to create icons has a few advantages over traditional
|
||||||
* bitmap graphics like jpg or png. Icons that use svg are vector based so they
|
* bitmap graphics like jpg or png. Icons that use svg are vector based so
|
||||||
* are resolution independent and should look good on any device. They are
|
* they are resolution independent and should look good on any device. They
|
||||||
* stylable via css. Icons can be themed, colorized, and even animated.
|
* are stylable via css. Icons can be themed, colorized, and even animated.
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
*
|
*
|
||||||
|
@ -45,18 +45,15 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
*
|
*
|
||||||
* @element iron-iconset-svg
|
* @element iron-iconset-svg
|
||||||
* @demo demo/index.html
|
* @demo demo/index.html
|
||||||
|
* @implements {Polymer.Iconset}
|
||||||
*/
|
*/
|
||||||
Polymer({
|
Polymer({
|
||||||
|
|
||||||
is: 'iron-iconset-svg',
|
is: 'iron-iconset-svg',
|
||||||
|
|
||||||
properties: {
|
properties: {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the iconset.
|
* The name of the iconset.
|
||||||
*
|
|
||||||
* @attribute name
|
|
||||||
* @type string
|
|
||||||
*/
|
*/
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
|
@ -65,10 +62,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The size of an individual icon. Note that icons must be square.
|
* The size of an individual icon. Note that icons must be square.
|
||||||
*
|
|
||||||
* @attribute iconSize
|
|
||||||
* @type number
|
|
||||||
* @default 24
|
|
||||||
*/
|
*/
|
||||||
size: {
|
size: {
|
||||||
type: Number,
|
type: Number,
|
||||||
|
@ -77,6 +70,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
attached: function() {
|
||||||
|
this.style.display = 'none';
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct an array of all icon names in this iconset.
|
* Construct an array of all icon names in this iconset.
|
||||||
*
|
*
|
||||||
|
@ -98,7 +95,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
* @method applyIcon
|
* @method applyIcon
|
||||||
* @param {Element} element Element to which the icon is applied.
|
* @param {Element} element Element to which the icon is applied.
|
||||||
* @param {string} iconName Name of the icon to apply.
|
* @param {string} iconName Name of the icon to apply.
|
||||||
* @return {Element} The svg element which renders the icon.
|
* @return {?Element} The svg element which renders the icon.
|
||||||
*/
|
*/
|
||||||
applyIcon: function(element, iconName) {
|
applyIcon: function(element, iconName) {
|
||||||
// insert svg element into shadow root, if it exists
|
// insert svg element into shadow root, if it exists
|
||||||
|
|
|
@ -78,6 +78,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
expect(meta.byKey('foo')).to.be.equal(iconset);
|
expect(meta.byKey('foo')).to.be.equal(iconset);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('it does not have a size', function () {
|
||||||
|
var rect = iconset.getBoundingClientRect();
|
||||||
|
expect(rect.width).to.be.equal(0);
|
||||||
|
expect(rect.height).to.be.equal(0);
|
||||||
|
});
|
||||||
|
|
||||||
test('it fires an iron-iconset-added event on the window', function() {
|
test('it fires an iron-iconset-added event on the window', function() {
|
||||||
return loadedPromise;
|
return loadedPromise;
|
||||||
});
|
});
|
||||||
|
@ -93,6 +99,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
div = elements[1];
|
div = elements[1];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('it does not have a size', function () {
|
||||||
|
var rect = iconset.getBoundingClientRect();
|
||||||
|
expect(rect.width).to.be.equal(0);
|
||||||
|
expect(rect.height).to.be.equal(0);
|
||||||
|
});
|
||||||
|
|
||||||
test('appends a child to the target element', function () {
|
test('appends a child to the target element', function () {
|
||||||
expect(div.firstElementChild).to.not.be.ok;
|
expect(div.firstElementChild).to.not.be.ok;
|
||||||
iconset.applyIcon(div, 'circle');
|
iconset.applyIcon(div, 'circle');
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-media-query",
|
"name": "iron-media-query",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"description": "Lets you bind to a CSS media query",
|
"description": "Lets you bind to a CSS media query",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -28,11 +28,11 @@
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.3",
|
"_release": "1.0.4",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.3",
|
"tag": "v1.0.4",
|
||||||
"commit": "80e921f58e7688a840a0cf29e9e2aaaee72a66b2"
|
"commit": "a9dd58cd50bb9f203a7beef15282bf74e48563a8"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-media-query.git",
|
"_source": "git://github.com/PolymerElements/iron-media-query.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-media-query",
|
"name": "iron-media-query",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"description": "Lets you bind to a CSS media query",
|
"description": "Lets you bind to a CSS media query",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
|
|
@ -50,10 +50,20 @@ Example:
|
||||||
observer: 'queryChanged'
|
observer: 'queryChanged'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {function(MediaQueryList)}
|
||||||
|
*/
|
||||||
_boundMQHandler: {
|
_boundMQHandler: {
|
||||||
value: function() {
|
value: function() {
|
||||||
return this.queryHandler.bind(this);
|
return this.queryHandler.bind(this);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {MediaQueryList}
|
||||||
|
*/
|
||||||
|
_mq: {
|
||||||
|
value: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-meta",
|
"name": "iron-meta",
|
||||||
"version": "1.0.3",
|
"version": "1.1.0",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"web-components",
|
"web-components",
|
||||||
"polymer"
|
"polymer"
|
||||||
|
@ -25,14 +25,14 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-meta",
|
"homepage": "https://github.com/PolymerElements/iron-meta",
|
||||||
"_release": "1.0.3",
|
"_release": "1.1.0",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.3",
|
"tag": "v1.1.0",
|
||||||
"commit": "91529259262b0d8f33fed44bc3fd47aedf35cb04"
|
"commit": "be7ccf8df650aef1446a4e23af33f5d4e9f3000f"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-meta.git",
|
"_source": "git://github.com/PolymerElements/iron-meta.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-meta"
|
"_originalSource": "PolymerElements/iron-meta"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-meta",
|
"name": "iron-meta",
|
||||||
"version": "1.0.3",
|
"version": "1.1.0",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"web-components",
|
"web-components",
|
||||||
"polymer"
|
"polymer"
|
||||||
|
|
|
@ -58,6 +58,7 @@ Or, in a Polymer element, you can include a meta in your template:
|
||||||
// monostate data
|
// monostate data
|
||||||
var metaDatas = {};
|
var metaDatas = {};
|
||||||
var metaArrays = {};
|
var metaArrays = {};
|
||||||
|
var singleton = null;
|
||||||
|
|
||||||
Polymer.IronMeta = Polymer({
|
Polymer.IronMeta = Polymer({
|
||||||
|
|
||||||
|
@ -110,6 +111,10 @@ Or, in a Polymer element, you can include a meta in your template:
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
hostAttributes: {
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Only runs if someone invokes the factory/constructor directly
|
* Only runs if someone invokes the factory/constructor directly
|
||||||
* e.g. `new Polymer.IronMeta()`
|
* e.g. `new Polymer.IronMeta()`
|
||||||
|
@ -204,6 +209,13 @@ Or, in a Polymer element, you can include a meta in your template:
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Polymer.IronMeta.getIronMeta = function getIronMeta() {
|
||||||
|
if (singleton === null) {
|
||||||
|
singleton = new Polymer.IronMeta();
|
||||||
|
}
|
||||||
|
return singleton;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
`iron-meta-query` can be used to access infomation stored in `iron-meta`.
|
`iron-meta-query` can be used to access infomation stored in `iron-meta`.
|
||||||
|
|
||||||
|
|
|
@ -179,6 +179,15 @@ suite('<iron-meta>', function () {
|
||||||
expect(registeredValue).to.be.equal(secondValue);
|
expect(registeredValue).to.be.equal(secondValue);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
suite('singleton', function () {
|
||||||
|
|
||||||
|
test('only one ironmeta created', function () {
|
||||||
|
var first = Polymer.IronMeta.getIronMeta();
|
||||||
|
var second = Polymer.IronMeta.getIronMeta();
|
||||||
|
expect(first).to.be.equal(second);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -34,14 +34,14 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/PolymerElements/iron-overlay-behavior",
|
"homepage": "https://github.com/polymerelements/iron-overlay-behavior",
|
||||||
"_release": "1.0.9",
|
"_release": "1.0.9",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.9",
|
"tag": "v1.0.9",
|
||||||
"commit": "87f7763d323fffa07357a08777ad831b7c2c2fb8"
|
"commit": "87f7763d323fffa07357a08777ad831b7c2c2fb8"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-overlay-behavior.git",
|
"_source": "git://github.com/polymerelements/iron-overlay-behavior.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "PolymerElements/iron-overlay-behavior"
|
"_originalSource": "polymerelements/iron-overlay-behavior"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-range-behavior",
|
"name": "iron-range-behavior",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"description": "Provides a behavior for something with a minimum and maximum value",
|
"description": "Provides a behavior for something with a minimum and maximum value",
|
||||||
"authors": "The Polymer Authors",
|
"authors": "The Polymer Authors",
|
||||||
|
@ -28,11 +28,11 @@
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/PolymerElements/iron-range-behavior",
|
"homepage": "https://github.com/PolymerElements/iron-range-behavior",
|
||||||
"_release": "1.0.3",
|
"_release": "1.0.4",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.3",
|
"tag": "v1.0.4",
|
||||||
"commit": "3ed9a372778e31e62477666b313155c581a7dfe6"
|
"commit": "71774a7d8a8c377496bfe05e60b754e91216e0b9"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-range-behavior.git",
|
"_source": "git://github.com/PolymerElements/iron-range-behavior.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-range-behavior",
|
"name": "iron-range-behavior",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"description": "Provides a behavior for something with a minimum and maximum value",
|
"description": "Provides a behavior for something with a minimum and maximum value",
|
||||||
"authors": "The Polymer Authors",
|
"authors": "The Polymer Authors",
|
||||||
|
|
|
@ -93,7 +93,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
*/
|
*/
|
||||||
// polymer/issues/2493
|
// polymer/issues/2493
|
||||||
value = parseFloat(value);
|
value = parseFloat(value);
|
||||||
return this.step ? (Math.round((value + this.min) / this.step) / (1 / this.step)) - this.min : value;
|
return this.step ? (Math.round((value + this.min) / this.step) -
|
||||||
|
(this.min / this.step)) / (1 / this.step) : value;
|
||||||
},
|
},
|
||||||
|
|
||||||
_validateValue: function() {
|
_validateValue: function() {
|
||||||
|
|
|
@ -103,7 +103,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('odd values', function() {
|
test('odd values', function(done) {
|
||||||
range.min = 1;
|
range.min = 1;
|
||||||
range.max = 7;
|
range.max = 7;
|
||||||
range.step = 2;
|
range.step = 2;
|
||||||
|
@ -117,6 +117,31 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
range.value += range.step;
|
range.value += range.step;
|
||||||
assert.equal(range.value, 7);
|
assert.equal(range.value, 7);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
test('negative values should round up', function(done) {
|
||||||
|
range.min = -10;
|
||||||
|
range.max = 10;
|
||||||
|
range.step = 0.1;
|
||||||
|
range.value = -8.4252;
|
||||||
|
|
||||||
|
flush(function() {
|
||||||
|
assert.equal(range.value, -8.4);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
test('positive values should round up', function(done) {
|
||||||
|
range.min = 10;
|
||||||
|
range.max = 100;
|
||||||
|
range.step = 0.25;
|
||||||
|
range.value = 19.34567;
|
||||||
|
|
||||||
|
flush(function() {
|
||||||
|
assert.equal(range.value, 19.25);
|
||||||
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
"tag": "v1.0.7",
|
"tag": "v1.0.7",
|
||||||
"commit": "0b2f484ac3b1b03400da2d38b0f543f3688150a4"
|
"commit": "0b2f484ac3b1b03400da2d38b0f543f3688150a4"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-selector.git",
|
"_source": "git://github.com/PolymerElements/iron-selector.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-selector"
|
"_originalSource": "PolymerElements/iron-selector"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-validatable-behavior",
|
"name": "iron-validatable-behavior",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"description": "Provides a behavior for an element that validates user input",
|
"description": "Provides a behavior for an element that validates user input",
|
||||||
"authors": "The Polymer Authors",
|
"authors": "The Polymer Authors",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
@ -32,11 +32,11 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.4",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.4",
|
"tag": "v1.0.5",
|
||||||
"commit": "ff267b561b032608755d705c1a7e346454b0aee4"
|
"commit": "c1334b835892b3d7a329a8e6b8741d4be3a8d99c"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-validatable-behavior.git",
|
"_source": "git://github.com/PolymerElements/iron-validatable-behavior.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "iron-validatable-behavior",
|
"name": "iron-validatable-behavior",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"description": "Provides a behavior for an element that validates user input",
|
"description": "Provides a behavior for an element that validates user input",
|
||||||
"authors": "The Polymer Authors",
|
"authors": "The Polymer Authors",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
|
@ -14,7 +14,20 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use `Polymer.IronValidatableBehavior` to implement an element that validates user input.
|
* `Use Polymer.IronValidatableBehavior` to implement an element that validates user input.
|
||||||
|
* Use the related `Polymer.IronValidatorBehavior` to add custom validation logic to an iron-input.
|
||||||
|
*
|
||||||
|
* By default, an `<iron-form>` element validates its fields when the user presses the submit button.
|
||||||
|
* To validate a form imperatively, call the form's `validate()` method, which in turn will
|
||||||
|
* call `validate()` on all its children. By using `Polymer.IronValidatableBehavior`, your
|
||||||
|
* custom element will get a public `validate()`, which
|
||||||
|
* will return the validity of the element, and a corresponding `invalid` attribute,
|
||||||
|
* which can be used for styling.
|
||||||
|
*
|
||||||
|
* To implement the custom validation logic of your element, you must override
|
||||||
|
* the protected `_getValidity()` method of this behaviour, rather than `validate()`.
|
||||||
|
* See [this](https://github.com/PolymerElements/iron-form/blob/master/demo/simple-element.html)
|
||||||
|
* for an example.
|
||||||
*
|
*
|
||||||
* ### Accessibility
|
* ### Accessibility
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "neon-animation",
|
"name": "neon-animation",
|
||||||
"version": "1.0.6",
|
"version": "1.0.7",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
],
|
],
|
||||||
|
@ -48,13 +48,13 @@
|
||||||
"iron-icons": "PolymerElements/iron-icons#^1.0.0",
|
"iron-icons": "PolymerElements/iron-icons#^1.0.0",
|
||||||
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
|
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.6",
|
"_release": "1.0.7",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.6",
|
"tag": "v1.0.7",
|
||||||
"commit": "ec51bf68f05c40373536cc726ca674e4549b7db2"
|
"commit": "02daf22e000ed6afeecf6ae0291ae11e6eebbfcf"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/neon-animation.git",
|
"_source": "git://github.com/polymerelements/neon-animation.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "PolymerElements/neon-animation"
|
"_originalSource": "polymerelements/neon-animation"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "neon-animation",
|
"name": "neon-animation",
|
||||||
"version": "1.0.4",
|
"version": "1.0.7",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
],
|
],
|
||||||
|
|
|
@ -13,6 +13,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<link rel="import" href="animations/opaque-animation.html">
|
<link rel="import" href="animations/opaque-animation.html">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
Material design: [Meaningful transitions](https://www.google.com/design/spec/animation/meaningful-transitions.html)
|
||||||
|
|
||||||
`neon-animated-pages` manages a set of pages and runs an animation when switching between them. Its
|
`neon-animated-pages` manages a set of pages and runs an animation when switching between them. Its
|
||||||
children pages should implement `Polymer.NeonAnimatableBehavior` and define `entry` and `exit`
|
children pages should implement `Polymer.NeonAnimatableBehavior` and define `entry` and `exit`
|
||||||
animations to be run when switching to or switching out of the page.
|
animations to be run when switching to or switching out of the page.
|
||||||
|
@ -133,6 +135,7 @@ animations to be run when switching to or switching out of the page.
|
||||||
this._squelchNextFinishEvent = true;
|
this._squelchNextFinishEvent = true;
|
||||||
this.cancelAnimation();
|
this.cancelAnimation();
|
||||||
this._completeSelectedChanged();
|
this._completeSelectedChanged();
|
||||||
|
this._squelchNextFinishEvent = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// configure the animation.
|
// configure the animation.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-behaviors",
|
"name": "paper-behaviors",
|
||||||
"version": "1.0.5",
|
"version": "1.0.7",
|
||||||
"description": "Common behaviors across the paper elements",
|
"description": "Common behaviors across the paper elements",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -37,13 +37,13 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.5",
|
"_release": "1.0.7",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.5",
|
"tag": "v1.0.7",
|
||||||
"commit": "57b4ddedf6fa54171d0c9d078f340399724bfe4e"
|
"commit": "7a674a3635fcb6db4842d16d3fd768ab07d638a8"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/paper-behaviors.git",
|
"_source": "git://github.com/PolymerElements/paper-behaviors.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/paper-behaviors"
|
"_originalSource": "PolymerElements/paper-behaviors"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-behaviors",
|
"name": "paper-behaviors",
|
||||||
"version": "1.0.5",
|
"version": "1.0.7",
|
||||||
"description": "Common behaviors across the paper elements",
|
"description": "Common behaviors across the paper elements",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
|
|
@ -66,6 +66,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/**
|
/**
|
||||||
* In addition to `IronButtonState` behavior, when space key goes down,
|
* In addition to `IronButtonState` behavior, when space key goes down,
|
||||||
* create a ripple down effect.
|
* create a ripple down effect.
|
||||||
|
*
|
||||||
|
* @param {!KeyboardEvent} event .
|
||||||
*/
|
*/
|
||||||
_spaceKeyDownHandler: function(event) {
|
_spaceKeyDownHandler: function(event) {
|
||||||
Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this, event);
|
Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this, event);
|
||||||
|
@ -77,6 +79,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/**
|
/**
|
||||||
* In addition to `IronButtonState` behavior, when space key goes up,
|
* In addition to `IronButtonState` behavior, when space key goes up,
|
||||||
* create a ripple up effect.
|
* create a ripple up effect.
|
||||||
|
*
|
||||||
|
* @param {!KeyboardEvent} event .
|
||||||
*/
|
*/
|
||||||
_spaceKeyUpHandler: function(event) {
|
_spaceKeyUpHandler: function(event) {
|
||||||
Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this, event);
|
Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this, event);
|
||||||
|
|
|
@ -32,6 +32,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
noink: {
|
noink: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
observer: '_noinkChanged'
|
observer: '_noinkChanged'
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {Element|undefined}
|
||||||
|
*/
|
||||||
|
_rippleContainer: {
|
||||||
|
type: Object,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -59,10 +66,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/**
|
/**
|
||||||
* Ensures this element contains a ripple effect. For startup efficiency
|
* Ensures this element contains a ripple effect. For startup efficiency
|
||||||
* the ripple effect is dynamically on demand when needed.
|
* the ripple effect is dynamically on demand when needed.
|
||||||
* @param {event} triggeringEvent (optional) event that triggered the
|
* @param {!Event=} opt_triggeringEvent (optional) event that triggered the
|
||||||
* ripple.
|
* ripple.
|
||||||
*/
|
*/
|
||||||
ensureRipple: function(triggeringEvent) {
|
ensureRipple: function(opt_triggeringEvent) {
|
||||||
if (!this.hasRipple()) {
|
if (!this.hasRipple()) {
|
||||||
this._ripple = this._createRipple();
|
this._ripple = this._createRipple();
|
||||||
this._ripple.noink = this.noink;
|
this._ripple.noink = this.noink;
|
||||||
|
@ -72,8 +79,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
}
|
}
|
||||||
var domContainer = rippleContainer === this.shadyRoot ? this :
|
var domContainer = rippleContainer === this.shadyRoot ? this :
|
||||||
rippleContainer;
|
rippleContainer;
|
||||||
if (triggeringEvent && domContainer.contains(triggeringEvent.target)) {
|
if (opt_triggeringEvent) {
|
||||||
this._ripple.uiDownAction(triggeringEvent);
|
var target = opt_triggeringEvent.target;
|
||||||
|
if (domContainer.contains(/** @type {Node} */(target))) {
|
||||||
|
this._ripple.uiDownAction(opt_triggeringEvent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -100,10 +110,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/**
|
/**
|
||||||
* Create the element's ripple effect via creating a `<paper-ripple>`.
|
* Create the element's ripple effect via creating a `<paper-ripple>`.
|
||||||
* Override this method to customize the ripple element.
|
* Override this method to customize the ripple element.
|
||||||
* @return {element} Returns a `<paper-ripple>` element.
|
* @return {!PaperRippleElement} Returns a `<paper-ripple>` element.
|
||||||
*/
|
*/
|
||||||
_createRipple: function() {
|
_createRipple: function() {
|
||||||
return document.createElement('paper-ripple');
|
return /** @type {!PaperRippleElement} */ (
|
||||||
|
document.createElement('paper-ripple'));
|
||||||
},
|
},
|
||||||
|
|
||||||
_noinkChanged: function(noink) {
|
_noinkChanged: function(noink) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-checkbox",
|
"name": "paper-checkbox",
|
||||||
"version": "1.0.12",
|
"version": "1.0.13",
|
||||||
"description": "A material design checkbox",
|
"description": "A material design checkbox",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -35,11 +35,11 @@
|
||||||
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
|
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
|
||||||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0"
|
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.12",
|
"_release": "1.0.13",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.12",
|
"tag": "v1.0.13",
|
||||||
"commit": "04fefb44a6e93bcee030f892694663f8d7fd0365"
|
"commit": "33f38432fb26fe5638ecce44fbe10a794f4bdff4"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-checkbox.git",
|
"_source": "git://github.com/PolymerElements/paper-checkbox.git",
|
||||||
"_target": "~1.0.5",
|
"_target": "~1.0.5",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-checkbox",
|
"name": "paper-checkbox",
|
||||||
"version": "1.0.12",
|
"version": "1.0.13",
|
||||||
"description": "A material design checkbox",
|
"description": "A material design checkbox",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
|
|
@ -42,6 +42,7 @@ Custom property | Description | Default
|
||||||
`--paper-checkbox-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color`
|
`--paper-checkbox-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color`
|
||||||
`--paper-checkbox-checkmark-color` | Checkmark color | `white`
|
`--paper-checkbox-checkmark-color` | Checkmark color | `white`
|
||||||
`--paper-checkbox-label-color` | Label color | `--primary-text-color`
|
`--paper-checkbox-label-color` | Label color | `--primary-text-color`
|
||||||
|
`--paper-checkbox-label-spacing` | Spacing between the label and the checkbox | `8px`
|
||||||
`--paper-checkbox-error-color` | Checkbox color when invalid | `--google-red-500`
|
`--paper-checkbox-error-color` | Checkbox color when invalid | `--google-red-500`
|
||||||
|
|
||||||
@demo demo/index.html
|
@demo demo/index.html
|
||||||
|
@ -75,7 +76,7 @@ Custom property | Description | Default
|
||||||
background-color: var(--paper-checkbox-unchecked-background-color, transparent);
|
background-color: var(--paper-checkbox-unchecked-background-color, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #ink {
|
#ink {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -15px;
|
top: -15px;
|
||||||
left: -15px;
|
left: -15px;
|
||||||
|
@ -86,11 +87,16 @@ Custom property | Description | Default
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #ink[checked] {
|
:host-context([dir="rtl"]) #ink {
|
||||||
|
right: -15px;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ink[checked] {
|
||||||
color: var(--paper-checkbox-checked-ink-color, --default-primary-color);
|
color: var(--paper-checkbox-checked-ink-color, --default-primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #checkbox {
|
#checkbox {
|
||||||
position: relative;
|
position: relative;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -138,12 +144,12 @@ Custom property | Description | Default
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #checkbox.checked {
|
#checkbox.checked {
|
||||||
background-color: var(--paper-checkbox-checked-color, --default-primary-color);
|
background-color: var(--paper-checkbox-checked-color, --default-primary-color);
|
||||||
border-color: var(--paper-checkbox-checked-color, --default-primary-color);
|
border-color: var(--paper-checkbox-checked-color, --default-primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #checkmark {
|
#checkmark {
|
||||||
-webkit-transform: rotate(45deg);
|
-webkit-transform: rotate(45deg);
|
||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -164,12 +170,17 @@ Custom property | Description | Default
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
padding-left: 8px;
|
padding-left: var(--paper-checkbox-label-spacing, 8px);
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
color: var(--paper-checkbox-label-color, --primary-text-color);
|
color: var(--paper-checkbox-label-color, --primary-text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:host-context([dir="rtl"]) #checkboxLabel {
|
||||||
|
padding-right: var(--paper-checkbox-label-spacing, 8px);
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
#checkboxLabel[hidden] {
|
#checkboxLabel[hidden] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-dropdown-menu",
|
"name": "paper-dropdown-menu",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"description": "An element that works similarly to a native browser select",
|
"description": "An element that works similarly to a native browser select",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -28,7 +28,9 @@
|
||||||
"paper-input": "polymerelements/paper-input#^1.0.9",
|
"paper-input": "polymerelements/paper-input#^1.0.9",
|
||||||
"paper-menu-button": "polymerelements/paper-menu-button#^1.0.0",
|
"paper-menu-button": "polymerelements/paper-menu-button#^1.0.0",
|
||||||
"paper-ripple": "polymerelements/paper-ripple#^1.0.0",
|
"paper-ripple": "polymerelements/paper-ripple#^1.0.0",
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0"
|
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
||||||
|
"iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
|
||||||
|
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
|
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
|
||||||
|
@ -40,11 +42,11 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"paper-tabs": "polymerelements/paper-tabs#^1.0.0"
|
"paper-tabs": "polymerelements/paper-tabs#^1.0.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.4",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.4",
|
"tag": "v1.0.5",
|
||||||
"commit": "b278c9ea1b3642c77bd4597a28b39a61996a5a9e"
|
"commit": "63b8200dc68ce297dcf2000a60587f3f68464f31"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-dropdown-menu.git",
|
"_source": "git://github.com/PolymerElements/paper-dropdown-menu.git",
|
||||||
"_target": "~1.0.1",
|
"_target": "~1.0.1",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-dropdown-menu",
|
"name": "paper-dropdown-menu",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"description": "An element that works similarly to a native browser select",
|
"description": "An element that works similarly to a native browser select",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -28,7 +28,9 @@
|
||||||
"paper-input": "polymerelements/paper-input#^1.0.9",
|
"paper-input": "polymerelements/paper-input#^1.0.9",
|
||||||
"paper-menu-button": "polymerelements/paper-menu-button#^1.0.0",
|
"paper-menu-button": "polymerelements/paper-menu-button#^1.0.0",
|
||||||
"paper-ripple": "polymerelements/paper-ripple#^1.0.0",
|
"paper-ripple": "polymerelements/paper-ripple#^1.0.0",
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0"
|
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
||||||
|
"iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
|
||||||
|
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
|
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
|
||||||
|
|
|
@ -19,8 +19,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<link rel="import" href="../iron-icons/iron-icons.html">
|
<link rel="import" href="../iron-icons/iron-icons.html">
|
||||||
<link rel="import" href="../iron-icon/iron-icon.html">
|
<link rel="import" href="../iron-icon/iron-icon.html">
|
||||||
<link rel="import" href="../iron-selector/iron-selectable.html">
|
<link rel="import" href="../iron-selector/iron-selectable.html">
|
||||||
|
<link rel="import" href="../iron-form-element-behavior/iron-form-element-behavior.html">
|
||||||
|
<link rel="import" href="../iron-validatable-behavior/iron-validatable-behavior.html">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
Material design: [Dropdown menus](https://www.google.com/design/spec/components/buttons.html#buttons-dropdown-buttons)
|
||||||
|
|
||||||
`paper-dropdown-menu` is similar to a native browser select element.
|
`paper-dropdown-menu` is similar to a native browser select element.
|
||||||
`paper-dropdown-menu` works with selectable content. The currently selected
|
`paper-dropdown-menu` works with selectable content. The currently selected
|
||||||
item is displayed in the control. If no item is selected, the `label` is
|
item is displayed in the control. If no item is selected, the `label` is
|
||||||
|
@ -108,16 +112,17 @@ respectively.
|
||||||
}
|
}
|
||||||
|
|
||||||
paper-ripple {
|
paper-ripple {
|
||||||
top: 20px;
|
top: 12px;
|
||||||
left: 8px;
|
left: 0px;
|
||||||
bottom: 16px;
|
bottom: 8px;
|
||||||
right: 8px;
|
right: 0px;
|
||||||
|
|
||||||
@apply(--paper-dropdown-menu-ripple);
|
@apply(--paper-dropdown-menu-ripple);
|
||||||
}
|
}
|
||||||
|
|
||||||
paper-menu-button {
|
paper-menu-button {
|
||||||
display: block;
|
display: block;
|
||||||
|
padding: 0;
|
||||||
@apply(--paper-dropdown-menu-button);
|
@apply(--paper-dropdown-menu-button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,6 +151,7 @@ respectively.
|
||||||
<div class="dropdown-trigger">
|
<div class="dropdown-trigger">
|
||||||
<paper-ripple></paper-ripple>
|
<paper-ripple></paper-ripple>
|
||||||
<paper-input
|
<paper-input
|
||||||
|
invalid="[[invalid]]"
|
||||||
readonly
|
readonly
|
||||||
disabled="[[disabled]]"
|
disabled="[[disabled]]"
|
||||||
value="[[selectedItemLabel]]"
|
value="[[selectedItemLabel]]"
|
||||||
|
@ -181,7 +187,9 @@ respectively.
|
||||||
|
|
||||||
behaviors: [
|
behaviors: [
|
||||||
Polymer.IronControlState,
|
Polymer.IronControlState,
|
||||||
Polymer.IronButtonState
|
Polymer.IronButtonState,
|
||||||
|
Polymer.IronFormElementBehavior,
|
||||||
|
Polymer.IronValidatableBehavior
|
||||||
],
|
],
|
||||||
|
|
||||||
properties: {
|
properties: {
|
||||||
|
@ -193,7 +201,7 @@ respectively.
|
||||||
selectedItemLabel: {
|
selectedItemLabel: {
|
||||||
type: String,
|
type: String,
|
||||||
notify: true,
|
notify: true,
|
||||||
computed: '_computeSelectedItemLabel(selectedItem)'
|
readOnly: true
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -209,6 +217,17 @@ respectively.
|
||||||
readOnly: true
|
readOnly: true
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The value for this element that will be used when submitting in
|
||||||
|
* a form. It is read only, and will always have the same value
|
||||||
|
* as `selectedItemLabel`.
|
||||||
|
*/
|
||||||
|
value: {
|
||||||
|
type: String,
|
||||||
|
notify: true,
|
||||||
|
readOnly: true
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The label for the dropdown.
|
* The label for the dropdown.
|
||||||
*/
|
*/
|
||||||
|
@ -275,6 +294,10 @@ respectively.
|
||||||
'aria-haspopup': 'true'
|
'aria-haspopup': 'true'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
observers: [
|
||||||
|
'_selectedItemChanged(selectedItem)'
|
||||||
|
],
|
||||||
|
|
||||||
attached: function() {
|
attached: function() {
|
||||||
// NOTE(cdata): Due to timing, a preselected value in a `IronSelectable`
|
// NOTE(cdata): Due to timing, a preselected value in a `IronSelectable`
|
||||||
// child will cause an `iron-select` event to fire while the element is
|
// child will cause an `iron-select` event to fire while the element is
|
||||||
|
@ -342,12 +365,16 @@ respectively.
|
||||||
* @param {Element} selectedItem A selected Element item, with an
|
* @param {Element} selectedItem A selected Element item, with an
|
||||||
* optional `label` property.
|
* optional `label` property.
|
||||||
*/
|
*/
|
||||||
_computeSelectedItemLabel: function(selectedItem) {
|
_selectedItemChanged: function(selectedItem) {
|
||||||
|
var value = '';
|
||||||
if (!selectedItem) {
|
if (!selectedItem) {
|
||||||
return '';
|
value = '';
|
||||||
|
} else {
|
||||||
|
value = selectedItem.label || selectedItem.textContent.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
return selectedItem.label || selectedItem.textContent.trim();
|
this._setValue(value);
|
||||||
|
this._setSelectedItemLabel(value);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -362,7 +389,17 @@ respectively.
|
||||||
// derived from the metrics of elements internal to `paper-input`'s
|
// derived from the metrics of elements internal to `paper-input`'s
|
||||||
// template. The metrics will change depending on whether or not the
|
// template. The metrics will change depending on whether or not the
|
||||||
// input has a floating label.
|
// input has a floating label.
|
||||||
return noLabelFloat ? -4 : 16;
|
return noLabelFloat ? -4 : 8;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns false if the element is required and does not have a selection,
|
||||||
|
* and true otherwise.
|
||||||
|
* @return {Boolean} true if `required` is false, or if `required` is true
|
||||||
|
* and the element has a valid selection.
|
||||||
|
*/
|
||||||
|
_getValidity: function() {
|
||||||
|
return this.disabled || !this.required || (this.required && this.value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -133,6 +133,43 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
expect(dropdownMenu.selectedItem).to.be.equal(null);
|
expect(dropdownMenu.selectedItem).to.be.equal(null);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
suite('validation', function() {
|
||||||
|
test('a non required dropdown is valid regardless of its selection', function() {
|
||||||
|
var dropdownMenu = fixture('TrivialDropdownMenu');
|
||||||
|
menu = Polymer.dom(dropdownMenu).querySelector('.dropdown-content');
|
||||||
|
|
||||||
|
// no selection.
|
||||||
|
expect(dropdownMenu.validate()).to.be.true;
|
||||||
|
expect(dropdownMenu.invalid).to.be.false;
|
||||||
|
expect(dropdownMenu.value).to.not.be.ok;
|
||||||
|
|
||||||
|
// some selection.
|
||||||
|
menu.selected = 1;
|
||||||
|
expect(dropdownMenu.validate()).to.be.true;
|
||||||
|
expect(dropdownMenu.invalid).to.be.false;
|
||||||
|
expect(dropdownMenu.value).to.be.equal('Bar');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('a required dropdown is invalid without a selection', function() {
|
||||||
|
var dropdownMenu = fixture('TrivialDropdownMenu');
|
||||||
|
dropdownMenu.required = true;
|
||||||
|
|
||||||
|
// no selection.
|
||||||
|
expect(dropdownMenu.validate()).to.be.false;
|
||||||
|
expect(dropdownMenu.invalid).to.be.true;
|
||||||
|
expect(dropdownMenu.value).to.not.be.ok;
|
||||||
|
});
|
||||||
|
|
||||||
|
test('a required dropdown is valid with a selection', function() {
|
||||||
|
var dropdownMenu = fixture('PreselectedDropdownMenu');
|
||||||
|
dropdownMenu.required = true;
|
||||||
|
|
||||||
|
expect(dropdownMenu.validate()).to.be.true;
|
||||||
|
expect(dropdownMenu.invalid).to.be.false;
|
||||||
|
expect(dropdownMenu.value).to.be.equal('Bar');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-fab",
|
"name": "paper-fab",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"description": "A material design floating action button",
|
"description": "A material design floating action button",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -15,32 +15,32 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/PolymerElements/paper-fab"
|
"url": "git://github.com/PolymerElements/paper-fab.git"
|
||||||
},
|
},
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"homepage": "https://github.com/PolymerElements/paper-fab",
|
"homepage": "https://github.com/PolymerElements/paper-fab",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"paper-ripple": "polymerelements/paper-ripple#^1.0.0",
|
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
|
||||||
"paper-material": "polymerelements/paper-material#^1.0.0",
|
"iron-icon": "PolymerElements/iron-icon#^1.0.0",
|
||||||
"paper-behaviors": "polymerelements/paper-behaviors#^1.0.0",
|
"iron-icons": "PolymerElements/iron-icons#^1.0.0",
|
||||||
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
|
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
||||||
"iron-icon": "polymerelements/iron-icon#^1.0.0",
|
"paper-material": "PolymerElements/paper-material#^1.0.0",
|
||||||
"iron-icons": "polymerelements/iron-icons#^1.0.0",
|
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"polymer": "Polymer/polymer#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.5",
|
"_release": "1.0.6",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.5",
|
"tag": "v1.0.6",
|
||||||
"commit": "2f1cebbceeb76b5f48f2d82ea02001e0725d2d6e"
|
"commit": "d9d70a86af8464f880d3022bedc08845c3bf2d1d"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-fab.git",
|
"_source": "git://github.com/PolymerElements/paper-fab.git",
|
||||||
"_target": "~1.0.2",
|
"_target": "~1.0.2",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-fab",
|
"name": "paper-fab",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"description": "A material design floating action button",
|
"description": "A material design floating action button",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -15,24 +15,24 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/PolymerElements/paper-fab"
|
"url": "git://github.com/PolymerElements/paper-fab.git"
|
||||||
},
|
},
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"homepage": "https://github.com/PolymerElements/paper-fab",
|
"homepage": "https://github.com/PolymerElements/paper-fab",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"paper-ripple": "polymerelements/paper-ripple#^1.0.0",
|
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
|
||||||
"paper-material": "polymerelements/paper-material#^1.0.0",
|
"iron-icon": "PolymerElements/iron-icon#^1.0.0",
|
||||||
"paper-behaviors": "polymerelements/paper-behaviors#^1.0.0",
|
"iron-icons": "PolymerElements/iron-icons#^1.0.0",
|
||||||
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
|
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
||||||
"iron-icon": "polymerelements/iron-icon#^1.0.0",
|
"paper-material": "PolymerElements/paper-material#^1.0.0",
|
||||||
"iron-icons": "polymerelements/iron-icons#^1.0.0",
|
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"polymer": "Polymer/polymer#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,13 +9,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<link rel="import" href="../polymer/polymer.html">
|
<link rel="import" href="../polymer/polymer.html">
|
||||||
<link rel="import" href="../iron-icon/iron-icon.html">
|
|
||||||
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
|
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
|
||||||
<link rel="import" href="../paper-styles/default-theme.html">
|
<link rel="import" href="../iron-icon/iron-icon.html">
|
||||||
<link rel="import" href="../paper-styles/color.html">
|
<link rel="import" href="../paper-behaviors/paper-button-behavior.html">
|
||||||
<link rel="import" href="../paper-material/paper-material.html">
|
<link rel="import" href="../paper-material/paper-material.html">
|
||||||
<link rel="import" href="../paper-ripple/paper-ripple.html">
|
<link rel="import" href="../paper-ripple/paper-ripple.html">
|
||||||
<link rel="import" href="../paper-behaviors/paper-button-behavior.html">
|
<link rel="import" href="../paper-styles/color.html">
|
||||||
|
<link rel="import" href="../paper-styles/default-theme.html">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Material design: [Floating Action Button](https://www.google.com/design/spec/components/buttons-floating-action-button.html)
|
Material design: [Floating Action Button](https://www.google.com/design/spec/components/buttons-floating-action-button.html)
|
||||||
|
@ -59,7 +59,6 @@ Custom property | Description | Default
|
||||||
<dom-module id="paper-fab">
|
<dom-module id="paper-fab">
|
||||||
<template strip-whitespace>
|
<template strip-whitespace>
|
||||||
<style include="paper-material">
|
<style include="paper-material">
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -109,9 +108,11 @@ Custom property | Description | Default
|
||||||
background: var(--paper-fab-keyboard-focus-background, --paper-pink-900);
|
background: var(--paper-fab-keyboard-focus-background, --paper-pink-900);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<iron-icon id="icon" src="[[src]]" icon="[[icon]]"></iron-icon>
|
<iron-icon id="icon" src="[[src]]" icon="[[icon]]"></iron-icon>
|
||||||
</template>
|
</template>
|
||||||
</dom-module>
|
</dom-module>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
Polymer({
|
Polymer({
|
||||||
is: 'paper-fab',
|
is: 'paper-fab',
|
||||||
|
@ -161,6 +162,5 @@ Custom property | Description | Default
|
||||||
reflectToAttribute: true
|
reflectToAttribute: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "paper-icon-button",
|
"name": "paper-icon-button",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"description": "A material design icon button",
|
"description": "A material design icon button",
|
||||||
"main": "paper-icon-button.html",
|
"main": "paper-icon-button.html",
|
||||||
|
@ -35,11 +35,11 @@
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0"
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/PolymerElements/paper-icon-button",
|
"homepage": "https://github.com/PolymerElements/paper-icon-button",
|
||||||
"_release": "1.0.4",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.4",
|
"tag": "v1.0.5",
|
||||||
"commit": "50cef0a41abe586110ee0ac9720cea70f0b2f5e1"
|
"commit": "15e9bd571ef8e77da8c58fb5f447fe7cc7c0c9f1"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-icon-button.git",
|
"_source": "git://github.com/PolymerElements/paper-icon-button.git",
|
||||||
"_target": "~1.0.2",
|
"_target": "~1.0.2",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "paper-icon-button",
|
"name": "paper-icon-button",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"description": "A material design icon button",
|
"description": "A material design icon button",
|
||||||
"main": "paper-icon-button.html",
|
"main": "paper-icon-button.html",
|
||||||
|
|
|
@ -68,8 +68,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
paper-icon-button.huge {
|
paper-icon-button.huge {
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
width: 100px;
|
width: 116px;
|
||||||
height: 100px;
|
height: 116px;
|
||||||
--paper-icon-button-ink-color: var(--paper-indigo-500);
|
--paper-icon-button-ink-color: var(--paper-indigo-500);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -77,8 +77,13 @@ Custom property | Description | Default
|
||||||
user-select: none;
|
user-select: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
|
line-height: 1;
|
||||||
|
|
||||||
width: 24px;
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
|
||||||
|
/* Because of polymer/2558, this style has lower specificity than * */
|
||||||
|
box-sizing: border-box !important;
|
||||||
@apply(--paper-icon-button);
|
@apply(--paper-icon-button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-input",
|
"name": "paper-input",
|
||||||
"version": "1.0.15",
|
"version": "1.0.16",
|
||||||
"description": "Material design text fields",
|
"description": "Material design text fields",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -44,13 +44,13 @@
|
||||||
"iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0",
|
"iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0",
|
||||||
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
|
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.15",
|
"_release": "1.0.16",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.15",
|
"tag": "v1.0.16",
|
||||||
"commit": "34d19454e0ea13b1a809add8c87fba128fbc9940"
|
"commit": "98a5b3a01ecfcdd85d9dccf6d3d708813fe1dfec"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-input.git",
|
"_source": "git://github.com/polymerelements/paper-input.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.9",
|
||||||
"_originalSource": "PolymerElements/paper-input"
|
"_originalSource": "polymerelements/paper-input"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-input",
|
"name": "paper-input",
|
||||||
"version": "1.0.15",
|
"version": "1.0.16",
|
||||||
"description": "Material design text fields",
|
"description": "Material design text fields",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
|
|
@ -45,8 +45,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
paper-icon-button {
|
paper-icon-button {
|
||||||
color: var(--paper-red-300);
|
color: var(--paper-red-300);
|
||||||
--paper-icon-button-ink-color: var(--paper-red-a100);
|
--paper-icon-button-ink-color: var(--paper-red-a100);
|
||||||
--iron-icon-width: 15px;
|
width: 23px; /* 15px + 2*4px for padding */
|
||||||
--iron-icon-height: 15px;
|
height: 23px;
|
||||||
padding: 0px 4px;
|
padding: 0px 4px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -59,8 +59,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<div class="vertical-section">
|
<div class="vertical-section">
|
||||||
<paper-input label="label"></paper-input>
|
<paper-input label="label"></paper-input>
|
||||||
|
|
||||||
<paper-input label="search" type="search" placeholder="type='search' should use placeholders instead of labels" autosave="test" results="5"></paper-input>
|
|
||||||
|
|
||||||
<paper-input label="password" type="password"></paper-input>
|
<paper-input label="password" type="password"></paper-input>
|
||||||
|
|
||||||
<paper-input no-label-float label="label (no-label-float)"></paper-input>
|
<paper-input no-label-float label="label (no-label-float)"></paper-input>
|
||||||
|
|
|
@ -91,7 +91,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The datalist of the input (if any). This should match the id of an existing <datalist>. Bind this
|
* The datalist of the input (if any). This should match the id of an existing `<datalist>`. Bind this
|
||||||
* to the `<input is="iron-input">`'s `list` property.
|
* to the `<input is="iron-input">`'s `list` property.
|
||||||
*/
|
*/
|
||||||
list: {
|
list: {
|
||||||
|
@ -293,6 +293,20 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
type: Number
|
type: Number
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bind this to the `<input is="iron-input">`'s `accept` property, , used with type=file.
|
||||||
|
*/
|
||||||
|
accept: {
|
||||||
|
type: String
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bind this to the `<input is="iron-input">`'s `multiple` property, , used with type=file.
|
||||||
|
*/
|
||||||
|
multiple: {
|
||||||
|
type: Boolean
|
||||||
|
},
|
||||||
|
|
||||||
_ariaDescribedBy: {
|
_ariaDescribedBy: {
|
||||||
type: String,
|
type: String,
|
||||||
value: ''
|
value: ''
|
||||||
|
|
|
@ -75,15 +75,15 @@ Custom property | Description | Default
|
||||||
`--paper-input-container-invalid-color` | Label and underline color when the input is is invalid | `--google-red-500`
|
`--paper-input-container-invalid-color` | Label and underline color when the input is is invalid | `--google-red-500`
|
||||||
`--paper-input-container-input-color` | Input foreground color | `--primary-text-color`
|
`--paper-input-container-input-color` | Input foreground color | `--primary-text-color`
|
||||||
`--paper-input-container` | Mixin applied to the container | `{}`
|
`--paper-input-container` | Mixin applied to the container | `{}`
|
||||||
|
`--paper-input-container-disabled` | Mixin applied to the container when it's disabled | `{}`
|
||||||
`--paper-input-container-label` | Mixin applied to the label | `{}`
|
`--paper-input-container-label` | Mixin applied to the label | `{}`
|
||||||
`--paper-input-container-label-focus` | Mixin applied to the label when the input is focused | `{}`
|
`--paper-input-container-label-focus` | Mixin applied to the label when the input is focused | `{}`
|
||||||
`--paper-input-container-input` | Mixin applied to the input | `{}`
|
`--paper-input-container-input` | Mixin applied to the input | `{}`
|
||||||
`--paper-input-container-input-disabled` | Mixin applied to the input when it's disabled | `{}`
|
|
||||||
`--paper-input-container-prefix` | Mixin applied to the input prefix | `{}`
|
|
||||||
`--paper-input-container-suffix` | Mixin applied to the input suffix | `{}`
|
|
||||||
`--paper-input-container-underline` | Mixin applied to the underline | `{}`
|
`--paper-input-container-underline` | Mixin applied to the underline | `{}`
|
||||||
`--paper-input-container-underline-focus` | Mixin applied to the underline when the input is focued | `{}`
|
`--paper-input-container-underline-focus` | Mixin applied to the underline when the input is focued | `{}`
|
||||||
`--paper-input-container-underline-disabled` | Mixin applied to the underline when the input is disabled | `{}`
|
`--paper-input-container-underline-disabled` | Mixin applied to the underline when the input is disabled | `{}`
|
||||||
|
`--paper-input-prefix` | Mixin applied to the input prefix | `{}`
|
||||||
|
`--paper-input-suffix` | Mixin applied to the input suffix | `{}`
|
||||||
|
|
||||||
This element is `display:block` by default, but you can set the `inline` attribute to make it
|
This element is `display:block` by default, but you can set the `inline` attribute to make it
|
||||||
`display:inline-block`.
|
`display:inline-block`.
|
||||||
|
@ -186,6 +186,7 @@ This element is `display:block` by default, but you can set the `inline` attribu
|
||||||
font: inherit;
|
font: inherit;
|
||||||
color: var(--paper-input-container-color, --secondary-text-color);
|
color: var(--paper-input-container-color, --secondary-text-color);
|
||||||
|
|
||||||
|
@apply(--paper-font-common-nowrap);
|
||||||
@apply(--paper-font-subhead);
|
@apply(--paper-font-subhead);
|
||||||
@apply(--paper-input-container-label);
|
@apply(--paper-input-container-label);
|
||||||
}
|
}
|
||||||
|
@ -199,6 +200,10 @@ This element is `display:block` by default, but you can set the `inline` attribu
|
||||||
-webkit-transition: -webkit-transform 0.25s;
|
-webkit-transition: -webkit-transform 0.25s;
|
||||||
transition: transform 0.25s;
|
transition: transform 0.25s;
|
||||||
|
|
||||||
|
/* Since we scale to 75/100 of the size, we actually have 100/75 of the
|
||||||
|
original space now available */
|
||||||
|
width: 133%;
|
||||||
|
|
||||||
@apply(--paper-transition-easing);
|
@apply(--paper-transition-easing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<link rel="import" href="paper-input-char-counter.html">
|
<link rel="import" href="paper-input-char-counter.html">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
Material design: [Text fields](https://www.google.com/design/spec/components/text-fields.html)
|
||||||
|
|
||||||
`<paper-input>` is a single-line text field with Material Design styling.
|
`<paper-input>` is a single-line text field with Material Design styling.
|
||||||
|
|
||||||
<paper-input label="Input label"></paper-input>
|
<paper-input label="Input label"></paper-input>
|
||||||
|
@ -35,9 +37,10 @@ for `suffix`).
|
||||||
<paper-icon-button suffix icon="clear"></paper-icon-button>
|
<paper-icon-button suffix icon="clear"></paper-icon-button>
|
||||||
</paper-input>
|
</paper-input>
|
||||||
|
|
||||||
A `paper-input` can use the native `type=search` features. However, since
|
A `paper-input` can use the native `type=search` or `type=file` features.
|
||||||
we can't control the native styling of the input, it's recommended to use
|
However, since we can't control the native styling of the input, in these cases
|
||||||
a placeholder text, or `always-float-label`, as to not overlap the native search icon.
|
it's recommended to use a placeholder text, or `always-float-label`,
|
||||||
|
as to not overlap the native UI (search icon, file button, etc.).
|
||||||
|
|
||||||
<paper-input label="search!" type="search"
|
<paper-input label="search!" type="search"
|
||||||
placeholder="search for cats" autosave="test" results="5">
|
placeholder="search for cats" autosave="test" results="5">
|
||||||
|
@ -115,8 +118,10 @@ style this element.
|
||||||
autocapitalize$="[[autocapitalize]]"
|
autocapitalize$="[[autocapitalize]]"
|
||||||
autocorrect$="[[autocorrect]]"
|
autocorrect$="[[autocorrect]]"
|
||||||
on-change="_onChange"
|
on-change="_onChange"
|
||||||
autosave$="[[autosave]]",
|
autosave$="[[autosave]]"
|
||||||
results$="[[results]]">
|
results$="[[results]]"
|
||||||
|
accept$="[[accept]]"
|
||||||
|
multiple$="[[multiple]]">
|
||||||
|
|
||||||
<content select="[suffix]"></content>
|
<content select="[suffix]"></content>
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ style this element.
|
||||||
|
|
||||||
<iron-autogrow-textarea id="input" class="paper-input-input"
|
<iron-autogrow-textarea id="input" class="paper-input-input"
|
||||||
bind-value="{{value}}"
|
bind-value="{{value}}"
|
||||||
|
disabled$="[[disabled]]"
|
||||||
autocomplete$="[[autocomplete]]"
|
autocomplete$="[[autocomplete]]"
|
||||||
autofocus$="[[autofocus]]"
|
autofocus$="[[autofocus]]"
|
||||||
inputmode$="[[inputmode]]"
|
inputmode$="[[inputmode]]"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-item",
|
"name": "paper-item",
|
||||||
"version": "1.0.3",
|
"version": "1.0.5",
|
||||||
"description": "A material-design styled list item",
|
"description": "A material-design styled list item",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -39,11 +39,11 @@
|
||||||
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.3",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.3",
|
"tag": "v1.0.5",
|
||||||
"commit": "52ca8cf95ed34f265a6208def81dae9189330ad6"
|
"commit": "a292fb913d0e9f1e7b9bb46d2af60dc8c7a05dc3"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-item.git",
|
"_source": "git://github.com/PolymerElements/paper-item.git",
|
||||||
"_target": "~1.0.2",
|
"_target": "~1.0.2",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-item",
|
"name": "paper-item",
|
||||||
"version": "1.0.3",
|
"version": "1.0.5",
|
||||||
"description": "A material-design styled list item",
|
"description": "A material-design styled list item",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
|
|
@ -34,9 +34,15 @@ node with the attribute `item-icon` is placed in the icon area.
|
||||||
The following custom properties and mixins are available for styling:
|
The following custom properties and mixins are available for styling:
|
||||||
|
|
||||||
Custom property | Description | Default
|
Custom property | Description | Default
|
||||||
----------------|-------------|----------
|
------------------------------|------------------------------------------------|----------
|
||||||
`--paper-item-icon-width` | Width of the icon area | `56px`
|
`--paper-item-icon-width` | Width of the icon area | `56px`
|
||||||
`--paper-icon-item` | Mixin applied to the item | `{}`
|
`--paper-icon-item` | Mixin applied to the item | `{}`
|
||||||
|
`--paper-item-selected-weight`| The font weight of a selected item | `bold`
|
||||||
|
`--paper-item-selected` | Mixin applied to selected paper-items | `{}`
|
||||||
|
`--paper-item-disabled-color` | The color for disabled paper-items | `--disabled-text-color`
|
||||||
|
`--paper-item-disabled` | Mixin applied to disabled paper-items | `{}`
|
||||||
|
`--paper-item-focused` | Mixin applied to focused paper-items | `{}`
|
||||||
|
`--paper-item-focused-before` | Mixin applied to :before focused paper-items | `{}`
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,29 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
padding: 0px 16px;
|
padding: 0px 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host > ::content > *:not(:first-child):not(:last-child) {
|
:host(.iron-selected) {
|
||||||
margin-right: 16px;
|
font-weight: var(--paper-item-selected-weight, bold);
|
||||||
|
@apply(--paper-item-selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
:host([disabled]) {
|
||||||
|
color: var(--paper-item-disabled-color, --disabled-text-color);
|
||||||
|
@apply(--paper-item-disabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
:host(:focus) {
|
||||||
|
position: relative;
|
||||||
|
outline: 0;
|
||||||
|
@apply(--paper-item-focused);
|
||||||
|
}
|
||||||
|
|
||||||
|
:host(:focus):before {
|
||||||
|
@apply(--layout-fit);
|
||||||
|
content: '';
|
||||||
|
background: currentColor;
|
||||||
|
opacity: var(--dark-divider-opacity);
|
||||||
|
|
||||||
|
@apply(--paper-item-focused-before);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -15,6 +15,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<link rel="import" href="paper-item-shared-styles.html">
|
<link rel="import" href="paper-item-shared-styles.html">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
Material design: [Lists](https://www.google.com/design/spec/components/lists.html)
|
||||||
|
|
||||||
`<paper-item>` is a non-interactive list item. By default, it is a horizontal flexbox.
|
`<paper-item>` is a non-interactive list item. By default, it is a horizontal flexbox.
|
||||||
|
|
||||||
<paper-item>Item</paper-item>
|
<paper-item>Item</paper-item>
|
||||||
|
@ -35,9 +37,16 @@ items.
|
||||||
The following custom properties and mixins are available for styling:
|
The following custom properties and mixins are available for styling:
|
||||||
|
|
||||||
Custom property | Description | Default
|
Custom property | Description | Default
|
||||||
----------------|-------------|----------
|
------------------------------|------------------------------------------------|----------
|
||||||
`--paper-item-min-height` | Minimum height of the item | `48px`
|
`--paper-item-min-height` | Minimum height of the item | `48px`
|
||||||
`--paper-item` | Mixin applied to the item | `{}`
|
`--paper-item` | Mixin applied to the item | `{}`
|
||||||
|
`--paper-item-selected-weight`| The font weight of a selected item | `bold`
|
||||||
|
`--paper-item-selected` | Mixin applied to selected paper-items | `{}`
|
||||||
|
`--paper-item-disabled-color` | The color for disabled paper-items | `--disabled-text-color`
|
||||||
|
`--paper-item-disabled` | Mixin applied to disabled paper-items | `{}`
|
||||||
|
`--paper-item-focused` | Mixin applied to focused paper-items | `{}`
|
||||||
|
`--paper-item-focused-before` | Mixin applied to :before focused paper-items | `{}`
|
||||||
|
|
||||||
|
|
||||||
### Accessibility
|
### Accessibility
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-material",
|
"name": "paper-material",
|
||||||
"version": "1.0.2",
|
"version": "1.0.3",
|
||||||
"description": "A material design container that looks like a lifted sheet of paper",
|
"description": "A material design container that looks like a lifted sheet of paper",
|
||||||
"private": true,
|
"private": true,
|
||||||
"authors": [
|
"authors": [
|
||||||
|
@ -24,20 +24,20 @@
|
||||||
"homepage": "https://github.com/PolymerElements/paper-material",
|
"homepage": "https://github.com/PolymerElements/paper-material",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
"polymer": "Polymer/polymer#^1.1.0",
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"paper-styles": "polymerelements/paper-styles#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
|
||||||
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
||||||
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.2",
|
"_release": "1.0.3",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.2",
|
"tag": "v1.0.3",
|
||||||
"commit": "3f41d6dd776cf5bb35d29b44d1cce4981b791188"
|
"commit": "2e99c0754edb817518f59313d2533ccc2e1ab82a"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/paper-material.git",
|
"_source": "git://github.com/polymerelements/paper-material.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-material",
|
"name": "paper-material",
|
||||||
"version": "1.0.2",
|
"version": "1.0.3",
|
||||||
"description": "A material design container that looks like a lifted sheet of paper",
|
"description": "A material design container that looks like a lifted sheet of paper",
|
||||||
"private": true,
|
"private": true,
|
||||||
"authors": [
|
"authors": [
|
||||||
|
@ -24,13 +24,13 @@
|
||||||
"homepage": "https://github.com/PolymerElements/paper-material",
|
"homepage": "https://github.com/PolymerElements/paper-material",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
"polymer": "Polymer/polymer#^1.1.0",
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"paper-styles": "polymerelements/paper-styles#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
|
||||||
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
||||||
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<link rel="import" href="../paper-styles/shadow.html">
|
<link rel="import" href="../paper-styles/shadow.html">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
Material design: [Cards](https://www.google.com/design/spec/components/cards.html)
|
||||||
|
|
||||||
`paper-material` is a container that renders two shadows on top of each other to
|
`paper-material` is a container that renders two shadows on top of each other to
|
||||||
create the effect of a lifted piece of paper.
|
create the effect of a lifted piece of paper.
|
||||||
|
@ -23,11 +24,11 @@ Example:
|
||||||
</paper-material>
|
</paper-material>
|
||||||
|
|
||||||
@group Paper Elements
|
@group Paper Elements
|
||||||
@class paper-material
|
|
||||||
@demo demo/index.html
|
@demo demo/index.html
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<dom-module id="paper-material">
|
<dom-module id="paper-material">
|
||||||
|
<template>
|
||||||
<style>
|
<style>
|
||||||
:host {
|
:host {
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -58,7 +59,7 @@ Example:
|
||||||
@apply(--shadow-elevation-16dp);
|
@apply(--shadow-elevation-16dp);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<template>
|
|
||||||
<content></content>
|
<content></content>
|
||||||
</template>
|
</template>
|
||||||
</dom-module>
|
</dom-module>
|
||||||
|
@ -67,7 +68,6 @@ Example:
|
||||||
is: 'paper-material',
|
is: 'paper-material',
|
||||||
|
|
||||||
properties: {
|
properties: {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The z-depth of this element, from 0-5. Setting to 0 will remove the
|
* The z-depth of this element, from 0-5. Setting to 0 will remove the
|
||||||
* shadow, and each increasing number greater than 0 will be "deeper"
|
* shadow, and each increasing number greater than 0 will be "deeper"
|
||||||
|
|
|
@ -19,7 +19,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<script src="../../test-fixture/test-fixture-mocha.js"></script>
|
<script src="../../test-fixture/test-fixture-mocha.js"></script>
|
||||||
|
|
||||||
<link href="../../test-fixture/test-fixture.html" rel="import">
|
<link href="../../test-fixture/test-fixture.html" rel="import">
|
||||||
<link href="../../layout/layout.html" rel="import">
|
|
||||||
<link href="../paper-material.html" rel="import">
|
<link href="../paper-material.html" rel="import">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-radio-button",
|
"name": "paper-radio-button",
|
||||||
"version": "1.0.9",
|
"version": "1.0.10",
|
||||||
"description": "A material design radio button",
|
"description": "A material design radio button",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -20,24 +20,24 @@
|
||||||
"homepage": "https://github.com/PolymerElements/paper-radio-button",
|
"homepage": "https://github.com/PolymerElements/paper-radio-button",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
|
|
||||||
"paper-styles": "PolymerLabs/paper-styles#^1.0.0",
|
|
||||||
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
|
||||||
"iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#^1.0.0",
|
"iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#^1.0.0",
|
||||||
|
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
||||||
|
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
|
||||||
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"polymer": "Polymer/polymer#^1.1.0"
|
"polymer": "Polymer/polymer#^1.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
|
||||||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
||||||
|
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||||
|
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.9",
|
"_release": "1.0.10",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.9",
|
"tag": "v1.0.10",
|
||||||
"commit": "708d1e611ad5a7c9600a128545a88e9991fe789e"
|
"commit": "85b9670b23e9fac6f2d728b433d2c1d3f691a656"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-radio-button.git",
|
"_source": "git://github.com/PolymerElements/paper-radio-button.git",
|
||||||
"_target": "~1.0.5",
|
"_target": "~1.0.5",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-radio-button",
|
"name": "paper-radio-button",
|
||||||
"version": "1.0.9",
|
"version": "1.0.10",
|
||||||
"description": "A material design radio button",
|
"description": "A material design radio button",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -20,17 +20,17 @@
|
||||||
"homepage": "https://github.com/PolymerElements/paper-radio-button",
|
"homepage": "https://github.com/PolymerElements/paper-radio-button",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
|
|
||||||
"paper-styles": "PolymerLabs/paper-styles#^1.0.0",
|
|
||||||
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
|
||||||
"iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#^1.0.0",
|
"iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#^1.0.0",
|
||||||
|
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
||||||
|
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
|
||||||
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"polymer": "Polymer/polymer#^1.1.0"
|
"polymer": "Polymer/polymer#^1.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
|
||||||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
||||||
|
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||||
|
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<link rel="import" href="../polymer/polymer.html">
|
<link rel="import" href="../polymer/polymer.html">
|
||||||
|
<link rel="import" href="../paper-behaviors/paper-checked-element-behavior.html">
|
||||||
<link rel="import" href="../paper-ripple/paper-ripple.html">
|
<link rel="import" href="../paper-ripple/paper-ripple.html">
|
||||||
<link rel="import" href="../paper-styles/default-theme.html">
|
<link rel="import" href="../paper-styles/default-theme.html">
|
||||||
<link rel="import" href="../paper-behaviors/paper-checked-element-behavior.html">
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Material design: [Radio button](https://www.google.com/design/spec/components/selection-controls.html#selection-controls-radio-button)
|
Material design: [Radio button](https://www.google.com/design/spec/components/selection-controls.html#selection-controls-radio-button)
|
||||||
|
@ -40,6 +40,7 @@ Custom property | Description | Default
|
||||||
`--paper-radio-button-checked-color` | Radio button color when the input is checked | `--default-primary-color`
|
`--paper-radio-button-checked-color` | Radio button color when the input is checked | `--default-primary-color`
|
||||||
`--paper-radio-button-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color`
|
`--paper-radio-button-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color`
|
||||||
`--paper-radio-button-label-color` | Label color | `--primary-text-color`
|
`--paper-radio-button-label-color` | Label color | `--primary-text-color`
|
||||||
|
`--paper-radio-button-label-spacing` | Spacing between the label and the button | `10px`
|
||||||
|
|
||||||
@group Paper Elements
|
@group Paper Elements
|
||||||
@element paper-radio-button
|
@element paper-radio-button
|
||||||
|
@ -68,7 +69,7 @@ Custom property | Description | Default
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #ink {
|
#ink {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -16px;
|
top: -16px;
|
||||||
left: -16px;
|
left: -16px;
|
||||||
|
@ -79,15 +80,21 @@ Custom property | Description | Default
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #ink[checked] {
|
:host-context([dir="rtl"]) #ink {
|
||||||
|
right: -15px;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ink[checked] {
|
||||||
color: var(--paper-radio-button-checked-ink-color, --default-primary-color);
|
color: var(--paper-radio-button-checked-ink-color, --default-primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #offRadio {
|
#offRadio {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
@ -97,11 +104,12 @@ Custom property | Description | Default
|
||||||
transition: border-color 0.28s;
|
transition: border-color 0.28s;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host #onRadio {
|
#onRadio {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
left: 4px;
|
left: 4px;
|
||||||
|
right: 4px;
|
||||||
width: 8px;
|
width: 8px;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
@ -125,12 +133,17 @@ Custom property | Description | Default
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-left: 10px;
|
margin-left: var(--paper-radio-button-label-spacing, 10px);
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
color: var(--paper-radio-button-label-color, --primary-text-color);
|
color: var(--paper-radio-button-label-color, --primary-text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:host-context([dir="rtl"]) #radioLabel {
|
||||||
|
margin-left: 0px;
|
||||||
|
margin-right: var(--paper-radio-button-label-spacing, 10px);
|
||||||
|
}
|
||||||
|
|
||||||
#radioLabel[hidden] {
|
#radioLabel[hidden] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -162,7 +175,6 @@ Custom property | Description | Default
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="radioLabel"><content></content></div>
|
<div id="radioLabel"><content></content></div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -205,5 +217,4 @@ Custom property | Description | Default
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</dom-module>
|
</dom-module>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-radio-group",
|
"name": "paper-radio-group",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"description": "A group of material design radio buttons",
|
"description": "A group of material design radio buttons",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -14,30 +14,30 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/PolymerElements/paper-radio-group"
|
"url": "git://github.com/PolymerElements/paper-radio-group.git"
|
||||||
},
|
},
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"homepage": "https://github.com/PolymerElements/paper-radio-group",
|
"homepage": "https://github.com/PolymerElements/paper-radio-group",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
|
|
||||||
"iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
|
"iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
|
||||||
|
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"polymer": "Polymer/polymer#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"web-component-tester": "*",
|
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
||||||
"paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
|
"paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
|
||||||
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||||
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.5",
|
"_release": "1.0.6",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.5",
|
"tag": "v1.0.6",
|
||||||
"commit": "cab4056c58d273f0953c70cc070001c97c9950b3"
|
"commit": "e52738e71ebb7ec5470de109f4aa7b419f6f72e5"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-radio-group.git",
|
"_source": "git://github.com/PolymerElements/paper-radio-group.git",
|
||||||
"_target": "~1.0.4",
|
"_target": "~1.0.4",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-radio-group",
|
"name": "paper-radio-group",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"description": "A group of material design radio buttons",
|
"description": "A group of material design radio buttons",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -14,23 +14,23 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/PolymerElements/paper-radio-group"
|
"url": "git://github.com/PolymerElements/paper-radio-group.git"
|
||||||
},
|
},
|
||||||
"license": "http://polymer.github.io/LICENSE.txt",
|
"license": "http://polymer.github.io/LICENSE.txt",
|
||||||
"homepage": "https://github.com/PolymerElements/paper-radio-group",
|
"homepage": "https://github.com/PolymerElements/paper-radio-group",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
|
|
||||||
"iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
|
"iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0",
|
||||||
|
"iron-selector": "PolymerElements/iron-selector#^1.0.0",
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"polymer": "Polymer/polymer#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"web-component-tester": "*",
|
|
||||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||||
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
||||||
"paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
|
"paper-radio-button": "PolymerElements/paper-radio-button#^1.0.0",
|
||||||
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||||
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<link rel="import" href="../polymer/polymer.html">
|
<link rel="import" href="../polymer/polymer.html">
|
||||||
|
<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html">
|
||||||
<link rel="import" href="../iron-selector/iron-selectable.html">
|
<link rel="import" href="../iron-selector/iron-selectable.html">
|
||||||
<link rel="import" href="../paper-radio-button/paper-radio-button.html">
|
<link rel="import" href="../paper-radio-button/paper-radio-button.html">
|
||||||
<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html">
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Material design: [Radio button](https://www.google.com/design/spec/components/selection-controls.html#selection-controls-radio-button)
|
Material design: [Radio button](https://www.google.com/design/spec/components/selection-controls.html#selection-controls-radio-button)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-styles",
|
"name": "paper-styles",
|
||||||
"version": "1.0.11",
|
"version": "1.0.12",
|
||||||
"description": "Common (global) styles for Material Design elements.",
|
"description": "Common (global) styles for Material Design elements.",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -26,13 +26,14 @@
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"polymer": "Polymer/polymer#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
|
||||||
|
"iron-component-page": "polymerelements/iron-component-page#^1.0.0"
|
||||||
},
|
},
|
||||||
"_release": "1.0.11",
|
"_release": "1.0.12",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.11",
|
"tag": "v1.0.12",
|
||||||
"commit": "347542e9ebe3e6e5f0830ee10e1c20c12956ff2c"
|
"commit": "8ac5128a38249982982b3a1b3533d417d2dd7f18"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/paper-styles.git",
|
"_source": "git://github.com/PolymerElements/paper-styles.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "paper-styles",
|
"name": "paper-styles",
|
||||||
"version": "1.0.11",
|
"version": "1.0.12",
|
||||||
"description": "Common (global) styles for Material Design elements.",
|
"description": "Common (global) styles for Material Design elements.",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -26,6 +26,7 @@
|
||||||
"polymer": "Polymer/polymer#^1.0.0"
|
"polymer": "Polymer/polymer#^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
|
||||||
|
"iron-component-page": "polymerelements/iron-component-page#^1.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
|
|
||||||
<link rel="import" href="../paper-styles.html">
|
<link rel="import" href="../paper-styles.html">
|
||||||
<link rel="import" href="../demo-pages.html">
|
<link rel="import" href="../demo-pages.html">
|
||||||
|
</head>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.redlines {
|
.redlines {
|
||||||
background: linear-gradient(0deg, transparent, transparent 3.5px, rgba(255,0,0,0.2) 3.5px, rgba(255,0,0,0.2) 4px);
|
background: linear-gradient(0deg, transparent, transparent 3.5px, rgba(255,0,0,0.2) 3.5px, rgba(255,0,0,0.2) 4px);
|
||||||
background-size: 100% 4px;
|
background-size: 100% 4px;
|
||||||
|
@ -33,17 +33,8 @@
|
||||||
.paragraph {
|
.paragraph {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
<style is="custom-style">
|
||||||
</head>
|
|
||||||
<body unresolved>
|
|
||||||
|
|
||||||
<!-- FIXME remove when https://github.com/Polymer/polymer/issues/1415 is resolved -->
|
|
||||||
<dom-module id="x-demo">
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
.paper-font-display4 {
|
.paper-font-display4 {
|
||||||
@apply(--paper-font-display4);
|
@apply(--paper-font-display4);
|
||||||
}
|
}
|
||||||
|
@ -73,7 +64,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.paper-font-body2 {
|
.paper-font-body2 {
|
||||||
@apply(--paper-font-body1);
|
@apply(--paper-font-body2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.paper-font-body1 {
|
.paper-font-body1 {
|
||||||
|
@ -178,11 +169,9 @@
|
||||||
.shadow-16dp {
|
.shadow-16dp {
|
||||||
@apply(--shadow-elevation-16dp);
|
@apply(--shadow-elevation-16dp);
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<template>
|
<body unresolved>
|
||||||
|
|
||||||
<h1>paper-styles</h1>
|
<h1>paper-styles</h1>
|
||||||
|
|
||||||
<section id="default-theme">
|
<section id="default-theme">
|
||||||
|
@ -274,20 +263,6 @@
|
||||||
<div class="shadow shadow-16dp">16dp</div>
|
<div class="shadow shadow-16dp">16dp</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</template>
|
|
||||||
</dom-module>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
document.addEventListener('HTMLImportsLoaded', function() {
|
|
||||||
Polymer({
|
|
||||||
is: 'x-demo',
|
|
||||||
enableCustomStyleProperties: true
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<x-demo></x-demo>
|
|
||||||
|
|
||||||
<section id="demo-page">
|
<section id="demo-page">
|
||||||
<h2>demo-pages.html</h2>
|
<h2>demo-pages.html</h2>
|
||||||
|
|
||||||
|
@ -351,7 +326,6 @@
|
||||||
<div>Calcium</div>
|
<div>Calcium</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
24
dashboard-ui/bower_components/paper-styles/index.html
vendored
Normal file
24
dashboard-ui/bower_components/paper-styles/index.html
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<!doctype html>
|
||||||
|
<!--
|
||||||
|
@license
|
||||||
|
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||||
|
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
|
||||||
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS
|
||||||
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
|
||||||
|
Code distributed by Google as part of the polymer project is also
|
||||||
|
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<title>paper-styles</title>
|
||||||
|
<script src="../webcomponentsjs/webcomponents-lite.js"></script>
|
||||||
|
<link rel="import" href="../iron-component-page/iron-component-page.html">
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<iron-component-page></iron-component-page>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -11,6 +11,30 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
<link rel="import" href="../iron-flex-layout/iron-flex-layout.html">
|
<link rel="import" href="../iron-flex-layout/iron-flex-layout.html">
|
||||||
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
|
<link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The `<paper-styles>` component provides simple ways to use Material Design CSS styles
|
||||||
|
in your application. The following imports are available:
|
||||||
|
|
||||||
|
1. [color.html](https://github.com/PolymerElements/paper-styles/blob/master/color.html):
|
||||||
|
a complete list of the colors defined in the Material Design [palette](https://www.google.com/design/spec/style/color.html)
|
||||||
|
|
||||||
|
2. [default-theme.html](https://github.com/PolymerElements/paper-styles/blob/master/default-theme.html): text,
|
||||||
|
background and accent colors that match the default Material Design theme
|
||||||
|
|
||||||
|
3. [shadow.html](https://github.com/PolymerElements/paper-styles/blob/master/shadow.html): Material Design
|
||||||
|
[elevation](https://www.google.com/design/spec/what-is-material/elevation-shadows.html) and shadow styles
|
||||||
|
|
||||||
|
4. [typography.html](https://github.com/PolymerElements/paper-styles/blob/master/typography.html):
|
||||||
|
Material Design [font](http://www.google.com/design/spec/style/typography.html#typography-styles) styles and sizes
|
||||||
|
|
||||||
|
5. [demo-pages.html](https://github.com/PolymerElements/paper-styles/blob/master/demo-pages.html): generic styles
|
||||||
|
used in the PolymerElements demo pages
|
||||||
|
|
||||||
|
@group Iron Elements
|
||||||
|
@pseudoElement paper-styles
|
||||||
|
@demo demo/index.html
|
||||||
|
-->
|
||||||
|
|
||||||
<link rel="import" href="color.html">
|
<link rel="import" href="color.html">
|
||||||
<link rel="import" href="default-theme.html">
|
<link rel="import" href="default-theme.html">
|
||||||
<link rel="import" href="shadow.html">
|
<link rel="import" href="shadow.html">
|
||||||
|
|
|
@ -47,8 +47,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
/* @apply(--paper-font-common-nowrap); */
|
/* @apply(--paper-font-common-nowrap); */
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -64,8 +63,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
/* @apply(--paper-font-common-nowrap); */
|
/* @apply(--paper-font-common-nowrap); */
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -81,8 +79,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
|
|
||||||
font-size: 45px;
|
font-size: 45px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -94,8 +91,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
|
|
||||||
font-size: 34px;
|
font-size: 34px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -107,8 +103,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
|
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -120,8 +115,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
/* @apply(--paper-font-common-nowrap); */
|
/* @apply(--paper-font-common-nowrap); */
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -136,8 +130,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
|
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -183,8 +176,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
/* @apply(--paper-font-common-nowrap); */
|
/* @apply(--paper-font-common-nowrap); */
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -199,8 +191,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
/* @apply(--paper-font-common-base) */
|
/* @apply(--paper-font-common-base) */
|
||||||
font-family: 'Roboto', 'Noto', sans-serif;
|
font-family: 'Roboto', 'Noto', sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
/* @apply(--paper-font-common-expensive-kerning); */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
/* @apply(--paper-font-common-nowrap); */
|
/* @apply(--paper-font-common-nowrap); */
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "polymer",
|
"name": "polymer",
|
||||||
"version": "1.1.5",
|
"version": "1.2.0",
|
||||||
"main": [
|
"main": [
|
||||||
"polymer.html"
|
"polymer.html"
|
||||||
],
|
],
|
||||||
|
@ -25,11 +25,11 @@
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://github.com/Polymer/polymer",
|
"homepage": "https://github.com/Polymer/polymer",
|
||||||
"_release": "1.1.5",
|
"_release": "1.2.0",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.1.5",
|
"tag": "v1.2.0",
|
||||||
"commit": "4c94736fac6681e84ec8c00da53484c5d3c2226b"
|
"commit": "84d211624cffd04d6894ec90713c2029732e8bb5"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/Polymer/polymer.git",
|
"_source": "git://github.com/Polymer/polymer.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "polymer",
|
"name": "polymer",
|
||||||
"version": "1.1.5",
|
"version": "1.2.0",
|
||||||
"main": [
|
"main": [
|
||||||
"polymer.html"
|
"polymer.html"
|
||||||
],
|
],
|
||||||
|
|
|
@ -264,7 +264,7 @@ document.registerElement('dom-module', DomModule);
|
||||||
function forceDocumentUpgrade() {
|
function forceDocumentUpgrade() {
|
||||||
if (cePolyfill) {
|
if (cePolyfill) {
|
||||||
var script = document._currentScript || document.currentScript;
|
var script = document._currentScript || document.currentScript;
|
||||||
var doc = script && script.ownerDocument;
|
var doc = script && script.ownerDocument || document;
|
||||||
if (doc) {
|
if (doc) {
|
||||||
CustomElements.upgradeAll(doc);
|
CustomElements.upgradeAll(doc);
|
||||||
}
|
}
|
||||||
|
@ -576,7 +576,7 @@ debouncer.stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Polymer.version = '1.1.5';
|
Polymer.version = '1.2.0';
|
||||||
Polymer.Base._addFeature({
|
Polymer.Base._addFeature({
|
||||||
_registerFeatures: function () {
|
_registerFeatures: function () {
|
||||||
this._prepIs();
|
this._prepIs();
|
||||||
|
|
|
@ -270,61 +270,6 @@ return currentValue === previousValue;
|
||||||
};
|
};
|
||||||
return new ArraySplice();
|
return new ArraySplice();
|
||||||
}();
|
}();
|
||||||
Polymer.EventApi = function () {
|
|
||||||
var Settings = Polymer.Settings;
|
|
||||||
var EventApi = function (event) {
|
|
||||||
this.event = event;
|
|
||||||
};
|
|
||||||
if (Settings.useShadow) {
|
|
||||||
EventApi.prototype = {
|
|
||||||
get rootTarget() {
|
|
||||||
return this.event.path[0];
|
|
||||||
},
|
|
||||||
get localTarget() {
|
|
||||||
return this.event.target;
|
|
||||||
},
|
|
||||||
get path() {
|
|
||||||
return this.event.path;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
EventApi.prototype = {
|
|
||||||
get rootTarget() {
|
|
||||||
return this.event.target;
|
|
||||||
},
|
|
||||||
get localTarget() {
|
|
||||||
var current = this.event.currentTarget;
|
|
||||||
var currentRoot = current && Polymer.dom(current).getOwnerRoot();
|
|
||||||
var p$ = this.path;
|
|
||||||
for (var i = 0; i < p$.length; i++) {
|
|
||||||
if (Polymer.dom(p$[i]).getOwnerRoot() === currentRoot) {
|
|
||||||
return p$[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
get path() {
|
|
||||||
if (!this.event._path) {
|
|
||||||
var path = [];
|
|
||||||
var o = this.rootTarget;
|
|
||||||
while (o) {
|
|
||||||
path.push(o);
|
|
||||||
o = Polymer.dom(o).parentNode || o.host;
|
|
||||||
}
|
|
||||||
path.push(window);
|
|
||||||
this.event._path = path;
|
|
||||||
}
|
|
||||||
return this.event._path;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
var factory = function (event) {
|
|
||||||
if (!event.__eventApi) {
|
|
||||||
event.__eventApi = new EventApi(event);
|
|
||||||
}
|
|
||||||
return event.__eventApi;
|
|
||||||
};
|
|
||||||
return { factory: factory };
|
|
||||||
}();
|
|
||||||
Polymer.domInnerHTML = function () {
|
Polymer.domInnerHTML = function () {
|
||||||
var escapeAttrRegExp = /[&\u00A0"]/g;
|
var escapeAttrRegExp = /[&\u00A0"]/g;
|
||||||
var escapeDataRegExp = /[&\u00A0<>]/g;
|
var escapeDataRegExp = /[&\u00A0<>]/g;
|
||||||
|
@ -463,7 +408,7 @@ insertBefore: function (node, ref_node) {
|
||||||
return this._addNode(node, ref_node);
|
return this._addNode(node, ref_node);
|
||||||
},
|
},
|
||||||
_addNode: function (node, ref_node) {
|
_addNode: function (node, ref_node) {
|
||||||
this._removeNodeFromHost(node, true);
|
this._removeNodeFromParent(node);
|
||||||
var addedInsertionPoint;
|
var addedInsertionPoint;
|
||||||
var root = this.getOwnerRoot();
|
var root = this.getOwnerRoot();
|
||||||
if (root) {
|
if (root) {
|
||||||
|
@ -495,6 +440,7 @@ nativeAppendChild.call(container, node);
|
||||||
if (addedInsertionPoint) {
|
if (addedInsertionPoint) {
|
||||||
this._updateInsertionPoints(root.host);
|
this._updateInsertionPoints(root.host);
|
||||||
}
|
}
|
||||||
|
this.notifyObserver();
|
||||||
return node;
|
return node;
|
||||||
},
|
},
|
||||||
removeChild: function (node) {
|
removeChild: function (node) {
|
||||||
|
@ -509,6 +455,7 @@ removeFromComposedParent(container, node);
|
||||||
nativeRemoveChild.call(container, node);
|
nativeRemoveChild.call(container, node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.notifyObserver();
|
||||||
return node;
|
return node;
|
||||||
},
|
},
|
||||||
replaceChild: function (node, ref_node) {
|
replaceChild: function (node, ref_node) {
|
||||||
|
@ -601,6 +548,13 @@ return Boolean(node._lightChildren !== undefined);
|
||||||
_parentNeedsDistribution: function (parent) {
|
_parentNeedsDistribution: function (parent) {
|
||||||
return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot);
|
return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot);
|
||||||
},
|
},
|
||||||
|
_removeNodeFromParent: function (node) {
|
||||||
|
var parent = node._lightParent || node.parentNode;
|
||||||
|
if (parent && hasDomApi(parent)) {
|
||||||
|
factory(parent).notifyObserver();
|
||||||
|
}
|
||||||
|
this._removeNodeFromHost(node, true);
|
||||||
|
},
|
||||||
_removeNodeFromHost: function (node, ensureComposedRemoval) {
|
_removeNodeFromHost: function (node, ensureComposedRemoval) {
|
||||||
var hostNeedsDist;
|
var hostNeedsDist;
|
||||||
var root;
|
var root;
|
||||||
|
@ -612,7 +566,7 @@ if (root) {
|
||||||
root.host._elementRemove(node);
|
root.host._elementRemove(node);
|
||||||
hostNeedsDist = this._removeDistributedChildren(root, node);
|
hostNeedsDist = this._removeDistributedChildren(root, node);
|
||||||
}
|
}
|
||||||
this._removeLogicalInfo(node, node._lightParent);
|
this._removeLogicalInfo(node, parent);
|
||||||
}
|
}
|
||||||
this._removeOwnerShadyRoot(node);
|
this._removeOwnerShadyRoot(node);
|
||||||
if (root && hostNeedsDist) {
|
if (root && hostNeedsDist) {
|
||||||
|
@ -731,24 +685,29 @@ getDistributedNodes: function () {
|
||||||
return this.node._distributedNodes || [];
|
return this.node._distributedNodes || [];
|
||||||
},
|
},
|
||||||
queryDistributedElements: function (selector) {
|
queryDistributedElements: function (selector) {
|
||||||
var c$ = this.childNodes;
|
var c$ = this.getEffectiveChildNodes();
|
||||||
var list = [];
|
var list = [];
|
||||||
this._distributedFilter(selector, c$, list);
|
|
||||||
for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
|
for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
|
||||||
if (c.localName === CONTENT) {
|
if (c.nodeType === Node.ELEMENT_NODE && matchesSelector.call(c, selector)) {
|
||||||
this._distributedFilter(selector, factory(c).getDistributedNodes(), list);
|
list.push(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
},
|
},
|
||||||
_distributedFilter: function (selector, list, results) {
|
getEffectiveChildNodes: function () {
|
||||||
results = results || [];
|
var list = [];
|
||||||
for (var i = 0, l = list.length, d; i < l && (d = list[i]); i++) {
|
var c$ = this.childNodes;
|
||||||
if (d.nodeType === Node.ELEMENT_NODE && d.localName !== CONTENT && matchesSelector.call(d, selector)) {
|
for (var i = 0, l = c$.length, c; i < l && (c = c$[i]); i++) {
|
||||||
results.push(d);
|
if (c.localName === CONTENT) {
|
||||||
|
var d$ = factory(c).getDistributedNodes();
|
||||||
|
for (var j = 0; j < d$.length; j++) {
|
||||||
|
list.push(d$[j]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
list.push(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return results;
|
return list;
|
||||||
},
|
},
|
||||||
_clear: function () {
|
_clear: function () {
|
||||||
while (this.childNodes.length) {
|
while (this.childNodes.length) {
|
||||||
|
@ -792,36 +751,24 @@ d.appendChild(nc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
|
},
|
||||||
|
observeNodes: function (callback) {
|
||||||
|
if (callback) {
|
||||||
|
if (!this.observer) {
|
||||||
|
this.observer = this.node.localName === CONTENT ? new DomApi.DistributedNodesObserver(this) : new DomApi.EffectiveNodesObserver(this);
|
||||||
}
|
}
|
||||||
};
|
return this.observer.addListener(callback);
|
||||||
Object.defineProperty(DomApi.prototype, 'classList', {
|
|
||||||
get: function () {
|
|
||||||
if (!this._classList) {
|
|
||||||
this._classList = new DomApi.ClassList(this);
|
|
||||||
}
|
}
|
||||||
return this._classList;
|
|
||||||
},
|
},
|
||||||
configurable: true
|
unobserveNodes: function (handle) {
|
||||||
});
|
if (this.observer) {
|
||||||
DomApi.ClassList = function (host) {
|
this.observer.removeListener(handle);
|
||||||
this.domApi = host;
|
}
|
||||||
this.node = host.node;
|
|
||||||
};
|
|
||||||
DomApi.ClassList.prototype = {
|
|
||||||
add: function () {
|
|
||||||
this.node.classList.add.apply(this.node.classList, arguments);
|
|
||||||
this.domApi._distributeParent();
|
|
||||||
},
|
},
|
||||||
remove: function () {
|
notifyObserver: function () {
|
||||||
this.node.classList.remove.apply(this.node.classList, arguments);
|
if (this.observer) {
|
||||||
this.domApi._distributeParent();
|
this.observer.notify();
|
||||||
},
|
}
|
||||||
toggle: function () {
|
|
||||||
this.node.classList.toggle.apply(this.node.classList, arguments);
|
|
||||||
this.domApi._distributeParent();
|
|
||||||
},
|
|
||||||
contains: function () {
|
|
||||||
return this.node.classList.contains.apply(this.node.classList, arguments);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (!Settings.useShadow) {
|
if (!Settings.useShadow) {
|
||||||
|
@ -1003,6 +950,17 @@ return n$ ? Array.prototype.slice.call(n$) : [];
|
||||||
};
|
};
|
||||||
DomApi.prototype._distributeParent = function () {
|
DomApi.prototype._distributeParent = function () {
|
||||||
};
|
};
|
||||||
|
var nativeForwards = [
|
||||||
|
'appendChild',
|
||||||
|
'insertBefore',
|
||||||
|
'removeChild',
|
||||||
|
'replaceChild'
|
||||||
|
];
|
||||||
|
nativeForwards.forEach(function (forward) {
|
||||||
|
DomApi.prototype[forward] = function () {
|
||||||
|
return this.node[forward].apply(this.node, arguments);
|
||||||
|
};
|
||||||
|
});
|
||||||
Object.defineProperties(DomApi.prototype, {
|
Object.defineProperties(DomApi.prototype, {
|
||||||
childNodes: {
|
childNodes: {
|
||||||
get: function () {
|
get: function () {
|
||||||
|
@ -1056,13 +1014,17 @@ configurable: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var CONTENT = 'content';
|
var CONTENT = 'content';
|
||||||
var factory = function (node, patch) {
|
function factory(node, patch) {
|
||||||
node = node || document;
|
node = node || document;
|
||||||
if (!node.__domApi) {
|
if (!node.__domApi) {
|
||||||
node.__domApi = new DomApi(node, patch);
|
node.__domApi = new DomApi(node, patch);
|
||||||
}
|
}
|
||||||
return node.__domApi;
|
return node.__domApi;
|
||||||
};
|
}
|
||||||
|
;
|
||||||
|
function hasDomApi(node) {
|
||||||
|
return Boolean(node.__domApi);
|
||||||
|
}
|
||||||
Polymer.dom = function (obj, patch) {
|
Polymer.dom = function (obj, patch) {
|
||||||
if (obj instanceof Event) {
|
if (obj instanceof Event) {
|
||||||
return Polymer.EventApi.factory(obj);
|
return Polymer.EventApi.factory(obj);
|
||||||
|
@ -1070,43 +1032,6 @@ return Polymer.EventApi.factory(obj);
|
||||||
return factory(obj, patch);
|
return factory(obj, patch);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Polymer.Base.extend(Polymer.dom, {
|
|
||||||
_flushGuard: 0,
|
|
||||||
_FLUSH_MAX: 100,
|
|
||||||
_needsTakeRecords: !Polymer.Settings.useNativeCustomElements,
|
|
||||||
_debouncers: [],
|
|
||||||
_finishDebouncer: null,
|
|
||||||
flush: function () {
|
|
||||||
for (var i = 0; i < this._debouncers.length; i++) {
|
|
||||||
this._debouncers[i].complete();
|
|
||||||
}
|
|
||||||
if (this._finishDebouncer) {
|
|
||||||
this._finishDebouncer.complete();
|
|
||||||
}
|
|
||||||
this._flushPolyfills();
|
|
||||||
if (this._debouncers.length && this._flushGuard < this._FLUSH_MAX) {
|
|
||||||
this._flushGuard++;
|
|
||||||
this.flush();
|
|
||||||
} else {
|
|
||||||
if (this._flushGuard >= this._FLUSH_MAX) {
|
|
||||||
console.warn('Polymer.dom.flush aborted. Flush may not be complete.');
|
|
||||||
}
|
|
||||||
this._flushGuard = 0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
_flushPolyfills: function () {
|
|
||||||
if (this._needsTakeRecords) {
|
|
||||||
CustomElements.takeRecords();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
addDebouncer: function (debouncer) {
|
|
||||||
this._debouncers.push(debouncer);
|
|
||||||
this._finishDebouncer = Polymer.Debounce(this._finishDebouncer, this._finishFlush);
|
|
||||||
},
|
|
||||||
_finishFlush: function () {
|
|
||||||
Polymer.dom._debouncers = [];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
function getLightChildren(node) {
|
function getLightChildren(node) {
|
||||||
var children = node._lightChildren;
|
var children = node._lightChildren;
|
||||||
return children ? children : node.childNodes;
|
return children ? children : node.childNodes;
|
||||||
|
@ -1170,10 +1095,399 @@ saveLightChildrenIfNeeded: saveLightChildrenIfNeeded,
|
||||||
matchesSelector: matchesSelector,
|
matchesSelector: matchesSelector,
|
||||||
hasInsertionPoint: hasInsertionPoint,
|
hasInsertionPoint: hasInsertionPoint,
|
||||||
ctor: DomApi,
|
ctor: DomApi,
|
||||||
factory: factory
|
factory: factory,
|
||||||
|
hasDomApi: hasDomApi
|
||||||
};
|
};
|
||||||
}();
|
}();
|
||||||
|
Polymer.Base.extend(Polymer.dom, {
|
||||||
|
_flushGuard: 0,
|
||||||
|
_FLUSH_MAX: 100,
|
||||||
|
_needsTakeRecords: !Polymer.Settings.useNativeCustomElements,
|
||||||
|
_debouncers: [],
|
||||||
|
_staticFlushList: [],
|
||||||
|
_finishDebouncer: null,
|
||||||
|
flush: function () {
|
||||||
|
this._flushGuard = 0;
|
||||||
|
this._prepareFlush();
|
||||||
|
while (this._debouncers.length && this._flushGuard < this._FLUSH_MAX) {
|
||||||
|
for (var i = 0; i < this._debouncers.length; i++) {
|
||||||
|
this._debouncers[i].complete();
|
||||||
|
}
|
||||||
|
if (this._finishDebouncer) {
|
||||||
|
this._finishDebouncer.complete();
|
||||||
|
}
|
||||||
|
this._prepareFlush();
|
||||||
|
this._flushGuard++;
|
||||||
|
}
|
||||||
|
if (this._flushGuard >= this._FLUSH_MAX) {
|
||||||
|
console.warn('Polymer.dom.flush aborted. Flush may not be complete.');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_prepareFlush: function () {
|
||||||
|
if (this._needsTakeRecords) {
|
||||||
|
CustomElements.takeRecords();
|
||||||
|
}
|
||||||
|
for (var i = 0; i < this._staticFlushList.length; i++) {
|
||||||
|
this._staticFlushList[i]();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addStaticFlush: function (fn) {
|
||||||
|
this._staticFlushList.push(fn);
|
||||||
|
},
|
||||||
|
removeStaticFlush: function (fn) {
|
||||||
|
var i = this._staticFlushList.indexOf(fn);
|
||||||
|
if (i >= 0) {
|
||||||
|
this._staticFlushList.splice(i, 1);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addDebouncer: function (debouncer) {
|
||||||
|
this._debouncers.push(debouncer);
|
||||||
|
this._finishDebouncer = Polymer.Debounce(this._finishDebouncer, this._finishFlush);
|
||||||
|
},
|
||||||
|
_finishFlush: function () {
|
||||||
|
Polymer.dom._debouncers = [];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Polymer.EventApi = function () {
|
||||||
|
'use strict';
|
||||||
|
var DomApi = Polymer.DomApi.ctor;
|
||||||
|
var Settings = Polymer.Settings;
|
||||||
|
DomApi.Event = function (event) {
|
||||||
|
this.event = event;
|
||||||
|
};
|
||||||
|
if (Settings.useShadow) {
|
||||||
|
DomApi.Event.prototype = {
|
||||||
|
get rootTarget() {
|
||||||
|
return this.event.path[0];
|
||||||
|
},
|
||||||
|
get localTarget() {
|
||||||
|
return this.event.target;
|
||||||
|
},
|
||||||
|
get path() {
|
||||||
|
return this.event.path;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
DomApi.Event.prototype = {
|
||||||
|
get rootTarget() {
|
||||||
|
return this.event.target;
|
||||||
|
},
|
||||||
|
get localTarget() {
|
||||||
|
var current = this.event.currentTarget;
|
||||||
|
var currentRoot = current && Polymer.dom(current).getOwnerRoot();
|
||||||
|
var p$ = this.path;
|
||||||
|
for (var i = 0; i < p$.length; i++) {
|
||||||
|
if (Polymer.dom(p$[i]).getOwnerRoot() === currentRoot) {
|
||||||
|
return p$[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
get path() {
|
||||||
|
if (!this.event._path) {
|
||||||
|
var path = [];
|
||||||
|
var o = this.rootTarget;
|
||||||
|
while (o) {
|
||||||
|
path.push(o);
|
||||||
|
o = Polymer.dom(o).parentNode || o.host;
|
||||||
|
}
|
||||||
|
path.push(window);
|
||||||
|
this.event._path = path;
|
||||||
|
}
|
||||||
|
return this.event._path;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var factory = function (event) {
|
||||||
|
if (!event.__eventApi) {
|
||||||
|
event.__eventApi = new DomApi.Event(event);
|
||||||
|
}
|
||||||
|
return event.__eventApi;
|
||||||
|
};
|
||||||
|
return { factory: factory };
|
||||||
|
}();
|
||||||
(function () {
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
var DomApi = Polymer.DomApi.ctor;
|
||||||
|
Object.defineProperty(DomApi.prototype, 'classList', {
|
||||||
|
get: function () {
|
||||||
|
if (!this._classList) {
|
||||||
|
this._classList = new DomApi.ClassList(this);
|
||||||
|
}
|
||||||
|
return this._classList;
|
||||||
|
},
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
DomApi.ClassList = function (host) {
|
||||||
|
this.domApi = host;
|
||||||
|
this.node = host.node;
|
||||||
|
};
|
||||||
|
DomApi.ClassList.prototype = {
|
||||||
|
add: function () {
|
||||||
|
this.node.classList.add.apply(this.node.classList, arguments);
|
||||||
|
this.domApi._distributeParent();
|
||||||
|
},
|
||||||
|
remove: function () {
|
||||||
|
this.node.classList.remove.apply(this.node.classList, arguments);
|
||||||
|
this.domApi._distributeParent();
|
||||||
|
},
|
||||||
|
toggle: function () {
|
||||||
|
this.node.classList.toggle.apply(this.node.classList, arguments);
|
||||||
|
this.domApi._distributeParent();
|
||||||
|
},
|
||||||
|
contains: function () {
|
||||||
|
return this.node.classList.contains.apply(this.node.classList, arguments);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}());
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
var DomApi = Polymer.DomApi.ctor;
|
||||||
|
var Settings = Polymer.Settings;
|
||||||
|
var hasDomApi = Polymer.DomApi.hasDomApi;
|
||||||
|
DomApi.EffectiveNodesObserver = function (domApi) {
|
||||||
|
this.domApi = domApi;
|
||||||
|
this.node = this.domApi.node;
|
||||||
|
this._listeners = [];
|
||||||
|
};
|
||||||
|
DomApi.EffectiveNodesObserver.prototype = {
|
||||||
|
addListener: function (callback) {
|
||||||
|
if (!this._isSetup) {
|
||||||
|
this._setup();
|
||||||
|
this._isSetup = true;
|
||||||
|
}
|
||||||
|
var listener = {
|
||||||
|
fn: callback,
|
||||||
|
_nodes: []
|
||||||
|
};
|
||||||
|
this._listeners.push(listener);
|
||||||
|
this._scheduleNotify();
|
||||||
|
return listener;
|
||||||
|
},
|
||||||
|
removeListener: function (handle) {
|
||||||
|
var i = this._listeners.indexOf(handle);
|
||||||
|
if (i >= 0) {
|
||||||
|
this._listeners.splice(i, 1);
|
||||||
|
handle._nodes = [];
|
||||||
|
}
|
||||||
|
if (!this._hasListeners()) {
|
||||||
|
this._cleanup();
|
||||||
|
this._isSetup = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_setup: function () {
|
||||||
|
this._observeContentElements(this.domApi.childNodes);
|
||||||
|
},
|
||||||
|
_cleanup: function () {
|
||||||
|
this._unobserveContentElements(this.domApi.childNodes);
|
||||||
|
},
|
||||||
|
_hasListeners: function () {
|
||||||
|
return Boolean(this._listeners.length);
|
||||||
|
},
|
||||||
|
_scheduleNotify: function () {
|
||||||
|
if (this._debouncer) {
|
||||||
|
this._debouncer.stop();
|
||||||
|
}
|
||||||
|
this._debouncer = Polymer.Debounce(this._debouncer, this._notify);
|
||||||
|
this._debouncer.context = this;
|
||||||
|
Polymer.dom.addDebouncer(this._debouncer);
|
||||||
|
},
|
||||||
|
notify: function () {
|
||||||
|
if (this._hasListeners()) {
|
||||||
|
this._scheduleNotify();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_notify: function (mxns) {
|
||||||
|
this._beforeCallListeners();
|
||||||
|
this._callListeners();
|
||||||
|
},
|
||||||
|
_beforeCallListeners: function () {
|
||||||
|
this._updateContentElements();
|
||||||
|
},
|
||||||
|
_updateContentElements: function () {
|
||||||
|
this._observeContentElements(this.domApi.childNodes);
|
||||||
|
},
|
||||||
|
_observeContentElements: function (elements) {
|
||||||
|
for (var i = 0, n; i < elements.length && (n = elements[i]); i++) {
|
||||||
|
if (this._isContent(n)) {
|
||||||
|
n.__observeNodesMap = n.__observeNodesMap || new WeakMap();
|
||||||
|
if (!n.__observeNodesMap.has(this)) {
|
||||||
|
n.__observeNodesMap.set(this, this._observeContent(n));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_observeContent: function (content) {
|
||||||
|
var h = Polymer.dom(content).observeNodes(this._scheduleNotify.bind(this));
|
||||||
|
h._avoidChangeCalculation = true;
|
||||||
|
return h;
|
||||||
|
},
|
||||||
|
_unobserveContentElements: function (elements) {
|
||||||
|
for (var i = 0, n, h; i < elements.length && (n = elements[i]); i++) {
|
||||||
|
if (this._isContent(n)) {
|
||||||
|
h = n.__observeNodesMap.get(this);
|
||||||
|
if (h) {
|
||||||
|
Polymer.dom(n).unobserveNodes(h);
|
||||||
|
n.__observeNodesMap.delete(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_isContent: function (node) {
|
||||||
|
return node.localName === 'content';
|
||||||
|
},
|
||||||
|
_callListeners: function () {
|
||||||
|
var o$ = this._listeners;
|
||||||
|
var nodes = this._getEffectiveNodes();
|
||||||
|
for (var i = 0, o; i < o$.length && (o = o$[i]); i++) {
|
||||||
|
var info = this._generateListenerInfo(o, nodes);
|
||||||
|
if (info || o._alwaysNotify) {
|
||||||
|
this._callListener(o, info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_getEffectiveNodes: function () {
|
||||||
|
return this.domApi.getEffectiveChildNodes();
|
||||||
|
},
|
||||||
|
_generateListenerInfo: function (listener, newNodes) {
|
||||||
|
if (listener._avoidChangeCalculation) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
var oldNodes = listener._nodes;
|
||||||
|
var info = {
|
||||||
|
target: this.node,
|
||||||
|
addedNodes: [],
|
||||||
|
removedNodes: []
|
||||||
|
};
|
||||||
|
var splices = Polymer.ArraySplice.calculateSplices(newNodes, oldNodes);
|
||||||
|
for (var i = 0, s; i < splices.length && (s = splices[i]); i++) {
|
||||||
|
for (var j = 0, n; j < s.removed.length && (n = s.removed[j]); j++) {
|
||||||
|
info.removedNodes.push(n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (var i = 0, s; i < splices.length && (s = splices[i]); i++) {
|
||||||
|
for (var j = s.index; j < s.index + s.addedCount; j++) {
|
||||||
|
info.addedNodes.push(newNodes[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
listener._nodes = newNodes;
|
||||||
|
if (info.addedNodes.length || info.removedNodes.length) {
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_callListener: function (listener, info) {
|
||||||
|
return listener.fn.call(this.node, info);
|
||||||
|
},
|
||||||
|
enableShadowAttributeTracking: function () {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (Settings.useShadow) {
|
||||||
|
var baseSetup = DomApi.EffectiveNodesObserver.prototype._setup;
|
||||||
|
var baseCleanup = DomApi.EffectiveNodesObserver.prototype._cleanup;
|
||||||
|
var beforeCallListeners = DomApi.EffectiveNodesObserver.prototype._beforeCallListeners;
|
||||||
|
Polymer.Base.extend(DomApi.EffectiveNodesObserver.prototype, {
|
||||||
|
_setup: function () {
|
||||||
|
if (!this._observer) {
|
||||||
|
var self = this;
|
||||||
|
this._mutationHandler = function (mxns) {
|
||||||
|
if (mxns && mxns.length) {
|
||||||
|
self._scheduleNotify();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this._observer = new MutationObserver(this._mutationHandler);
|
||||||
|
this._boundFlush = this._flush.bind(this);
|
||||||
|
Polymer.dom.addStaticFlush(this._boundFlush);
|
||||||
|
this._observer.observe(this.node, { childList: true });
|
||||||
|
}
|
||||||
|
baseSetup.call(this);
|
||||||
|
},
|
||||||
|
_cleanup: function () {
|
||||||
|
this._observer.disconnect();
|
||||||
|
this._observer = null;
|
||||||
|
this._mutationHandler = null;
|
||||||
|
Polymer.dom.removeStaticFlush(this._boundFlush);
|
||||||
|
baseCleanup.call(this);
|
||||||
|
},
|
||||||
|
_flush: function () {
|
||||||
|
if (this._observer) {
|
||||||
|
this._mutationHandler(this._observer.takeRecords());
|
||||||
|
}
|
||||||
|
},
|
||||||
|
enableShadowAttributeTracking: function () {
|
||||||
|
if (this._observer) {
|
||||||
|
this._makeContentListenersAlwaysNotify();
|
||||||
|
this._observer.disconnect();
|
||||||
|
this._observer.observe(this.node, {
|
||||||
|
childList: true,
|
||||||
|
attributes: true,
|
||||||
|
subtree: true
|
||||||
|
});
|
||||||
|
var root = this.domApi.getOwnerRoot();
|
||||||
|
var host = root && root.host;
|
||||||
|
if (host && Polymer.dom(host).observer) {
|
||||||
|
Polymer.dom(host).observer.enableShadowAttributeTracking();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_makeContentListenersAlwaysNotify: function () {
|
||||||
|
for (var i = 0, h; i < this._listeners.length; i++) {
|
||||||
|
h = this._listeners[i];
|
||||||
|
h._alwaysNotify = h._isContentListener;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}());
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
var DomApi = Polymer.DomApi.ctor;
|
||||||
|
var Settings = Polymer.Settings;
|
||||||
|
DomApi.DistributedNodesObserver = function (domApi) {
|
||||||
|
DomApi.EffectiveNodesObserver.call(this, domApi);
|
||||||
|
};
|
||||||
|
DomApi.DistributedNodesObserver.prototype = Object.create(DomApi.EffectiveNodesObserver.prototype);
|
||||||
|
Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype, {
|
||||||
|
_setup: function () {
|
||||||
|
},
|
||||||
|
_cleanup: function () {
|
||||||
|
},
|
||||||
|
_beforeCallListeners: function () {
|
||||||
|
},
|
||||||
|
_getEffectiveNodes: function () {
|
||||||
|
return this.domApi.getDistributedNodes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (Settings.useShadow) {
|
||||||
|
Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype, {
|
||||||
|
_setup: function () {
|
||||||
|
if (!this._observer) {
|
||||||
|
var root = this.domApi.getOwnerRoot();
|
||||||
|
var host = root && root.host;
|
||||||
|
if (host) {
|
||||||
|
this._observer = Polymer.dom(host).observeNodes(this._scheduleNotify.bind(this));
|
||||||
|
this._observer._isContentListener = true;
|
||||||
|
if (this._hasAttrSelect()) {
|
||||||
|
Polymer.dom(host).observer.enableShadowAttributeTracking();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_hasAttrSelect: function () {
|
||||||
|
var select = this.node.getAttribute('select');
|
||||||
|
return select && select.match(/[[.]+/);
|
||||||
|
},
|
||||||
|
_cleanup: function () {
|
||||||
|
var root = this.domApi.getOwnerRoot();
|
||||||
|
var host = root && root.host;
|
||||||
|
if (host) {
|
||||||
|
Polymer.dom(host).unobserveNodes(this._observer);
|
||||||
|
}
|
||||||
|
this._observer = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}());
|
||||||
|
(function () {
|
||||||
|
var hasDomApi = Polymer.DomApi.hasDomApi;
|
||||||
Polymer.Base._addFeature({
|
Polymer.Base._addFeature({
|
||||||
_prepShady: function () {
|
_prepShady: function () {
|
||||||
this._useContent = this._useContent || Boolean(this._template);
|
this._useContent = this._useContent || Boolean(this._template);
|
||||||
|
@ -1244,6 +1558,7 @@ if (this._useContent) {
|
||||||
this.shadyRoot._distributionClean = true;
|
this.shadyRoot._distributionClean = true;
|
||||||
if (hasInsertionPoint(this.shadyRoot)) {
|
if (hasInsertionPoint(this.shadyRoot)) {
|
||||||
this._composeTree();
|
this._composeTree();
|
||||||
|
notifyContentObservers(this.shadyRoot);
|
||||||
} else {
|
} else {
|
||||||
if (!this.shadyRoot._hasDistributed) {
|
if (!this.shadyRoot._hasDistributed) {
|
||||||
this.textContent = '';
|
this.textContent = '';
|
||||||
|
@ -1254,6 +1569,9 @@ var children = this._composeNode(this);
|
||||||
this._updateChildNodes(this, children);
|
this._updateChildNodes(this, children);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!this.shadyRoot._hasDistributed) {
|
||||||
|
notifyInitialDistribution(this);
|
||||||
|
}
|
||||||
this.shadyRoot._hasDistributed = true;
|
this.shadyRoot._hasDistributed = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1471,6 +1789,19 @@ return host.domHost;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function notifyContentObservers(root) {
|
||||||
|
for (var i = 0, c; i < root._insertionPoints.length; i++) {
|
||||||
|
c = root._insertionPoints[i];
|
||||||
|
if (hasDomApi(c)) {
|
||||||
|
Polymer.dom(c).notifyObserver();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function notifyInitialDistribution(host) {
|
||||||
|
if (hasDomApi(host)) {
|
||||||
|
Polymer.dom(host).notifyObserver();
|
||||||
|
}
|
||||||
|
}
|
||||||
var needsUpgrade = window.CustomElements && !CustomElements.useNative;
|
var needsUpgrade = window.CustomElements && !CustomElements.useNative;
|
||||||
function upgradeLightChildren(children) {
|
function upgradeLightChildren(children) {
|
||||||
if (needsUpgrade && children) {
|
if (needsUpgrade && children) {
|
||||||
|
|
449
dashboard-ui/bower_components/polymer/polymer.html
vendored
449
dashboard-ui/bower_components/polymer/polymer.html
vendored
|
@ -27,22 +27,66 @@ return list;
|
||||||
_parseNodeAnnotations: function (node, list) {
|
_parseNodeAnnotations: function (node, list) {
|
||||||
return node.nodeType === Node.TEXT_NODE ? this._parseTextNodeAnnotation(node, list) : this._parseElementAnnotations(node, list);
|
return node.nodeType === Node.TEXT_NODE ? this._parseTextNodeAnnotation(node, list) : this._parseElementAnnotations(node, list);
|
||||||
},
|
},
|
||||||
_testEscape: function (value) {
|
_bindingRegex: /([^{[]*)({{|\[\[)([^}\]]*)(?:]]|}})/g,
|
||||||
var escape = value.slice(0, 2);
|
_parseBindings: function (text) {
|
||||||
if (escape === '{{' || escape === '[[') {
|
var re = this._bindingRegex;
|
||||||
return escape;
|
var parts = [];
|
||||||
|
var m, lastIndex;
|
||||||
|
while ((m = re.exec(text)) !== null) {
|
||||||
|
if (m[1]) {
|
||||||
|
parts.push({ literal: m[1] });
|
||||||
|
}
|
||||||
|
var mode = m[2][0];
|
||||||
|
var value = m[3].trim();
|
||||||
|
var negate = false;
|
||||||
|
if (value[0] == '!') {
|
||||||
|
negate = true;
|
||||||
|
value = value.substring(1).trim();
|
||||||
|
}
|
||||||
|
var customEvent, notifyEvent, colon;
|
||||||
|
if (mode == '{' && (colon = value.indexOf('::')) > 0) {
|
||||||
|
notifyEvent = value.substring(colon + 2);
|
||||||
|
value = value.substring(0, colon);
|
||||||
|
customEvent = true;
|
||||||
|
}
|
||||||
|
parts.push({
|
||||||
|
compoundIndex: parts.length,
|
||||||
|
value: value,
|
||||||
|
mode: mode,
|
||||||
|
negate: negate,
|
||||||
|
event: notifyEvent,
|
||||||
|
customEvent: customEvent
|
||||||
|
});
|
||||||
|
lastIndex = re.lastIndex;
|
||||||
|
}
|
||||||
|
if (lastIndex && lastIndex < text.length) {
|
||||||
|
var literal = text.substring(lastIndex);
|
||||||
|
if (literal) {
|
||||||
|
parts.push({ literal: literal });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (parts.length) {
|
||||||
|
return parts;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
_literalFromParts: function (parts) {
|
||||||
|
var s = '';
|
||||||
|
for (var i = 0; i < parts.length; i++) {
|
||||||
|
var literal = parts[i].literal;
|
||||||
|
s += literal || '';
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
},
|
||||||
_parseTextNodeAnnotation: function (node, list) {
|
_parseTextNodeAnnotation: function (node, list) {
|
||||||
var v = node.textContent;
|
var parts = this._parseBindings(node.textContent);
|
||||||
var escape = this._testEscape(v);
|
if (parts) {
|
||||||
if (escape) {
|
node.textContent = this._literalFromParts(parts) || ' ';
|
||||||
node.textContent = ' ';
|
|
||||||
var annote = {
|
var annote = {
|
||||||
bindings: [{
|
bindings: [{
|
||||||
kind: 'text',
|
kind: 'text',
|
||||||
mode: escape[0],
|
name: 'textContent',
|
||||||
value: v.slice(2, -2).trim()
|
parts: parts,
|
||||||
|
isCompound: parts.length !== 1
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
list.push(annote);
|
list.push(annote);
|
||||||
|
@ -104,62 +148,50 @@ index: index
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
_parseNodeAttributeAnnotations: function (node, annotation) {
|
_parseNodeAttributeAnnotations: function (node, annotation) {
|
||||||
for (var i = node.attributes.length - 1, a; a = node.attributes[i]; i--) {
|
var attrs = Array.prototype.slice.call(node.attributes);
|
||||||
var n = a.name, v = a.value;
|
for (var i = attrs.length - 1, a; a = attrs[i]; i--) {
|
||||||
if (n === 'id' && !this._testEscape(v)) {
|
var n = a.name;
|
||||||
annotation.id = v;
|
var v = a.value;
|
||||||
} else if (n.slice(0, 3) === 'on-') {
|
var b;
|
||||||
|
if (n.slice(0, 3) === 'on-') {
|
||||||
node.removeAttribute(n);
|
node.removeAttribute(n);
|
||||||
annotation.events.push({
|
annotation.events.push({
|
||||||
name: n.slice(3),
|
name: n.slice(3),
|
||||||
value: v
|
value: v
|
||||||
});
|
});
|
||||||
} else {
|
} else if (b = this._parseNodeAttributeAnnotation(node, n, v)) {
|
||||||
var b = this._parseNodeAttributeAnnotation(node, n, v);
|
|
||||||
if (b) {
|
|
||||||
annotation.bindings.push(b);
|
annotation.bindings.push(b);
|
||||||
}
|
} else if (n === 'id') {
|
||||||
|
annotation.id = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_parseNodeAttributeAnnotation: function (node, n, v) {
|
_parseNodeAttributeAnnotation: function (node, name, value) {
|
||||||
var escape = this._testEscape(v);
|
var parts = this._parseBindings(value);
|
||||||
if (escape) {
|
if (parts) {
|
||||||
var customEvent;
|
var origName = name;
|
||||||
var name = n;
|
|
||||||
var mode = escape[0];
|
|
||||||
v = v.slice(2, -2).trim();
|
|
||||||
var not = false;
|
|
||||||
if (v[0] == '!') {
|
|
||||||
v = v.substring(1);
|
|
||||||
not = true;
|
|
||||||
}
|
|
||||||
var kind = 'property';
|
var kind = 'property';
|
||||||
if (n[n.length - 1] == '$') {
|
if (name[name.length - 1] == '$') {
|
||||||
name = n.slice(0, -1);
|
name = name.slice(0, -1);
|
||||||
kind = 'attribute';
|
kind = 'attribute';
|
||||||
}
|
}
|
||||||
var notifyEvent, colon;
|
var literal = this._literalFromParts(parts);
|
||||||
if (mode == '{' && (colon = v.indexOf('::')) > 0) {
|
if (literal && kind == 'attribute') {
|
||||||
notifyEvent = v.substring(colon + 2);
|
node.setAttribute(name, literal);
|
||||||
v = v.substring(0, colon);
|
|
||||||
customEvent = true;
|
|
||||||
}
|
}
|
||||||
if (node.localName == 'input' && n == 'value') {
|
if (node.localName == 'input' && name == 'value') {
|
||||||
node.setAttribute(n, '');
|
node.setAttribute(origName, '');
|
||||||
}
|
}
|
||||||
node.removeAttribute(n);
|
node.removeAttribute(origName);
|
||||||
if (kind === 'property') {
|
if (kind === 'property') {
|
||||||
name = Polymer.CaseMap.dashToCamelCase(name);
|
name = Polymer.CaseMap.dashToCamelCase(name);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
kind: kind,
|
kind: kind,
|
||||||
mode: mode,
|
|
||||||
name: name,
|
name: name,
|
||||||
value: v,
|
parts: parts,
|
||||||
negate: not,
|
literal: literal,
|
||||||
event: notifyEvent,
|
isCompound: parts.length !== 1
|
||||||
customEvent: customEvent
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -250,9 +282,14 @@ for (var i = 0; i < notes.length; i++) {
|
||||||
var note = notes[i];
|
var note = notes[i];
|
||||||
for (var j = 0; j < note.bindings.length; j++) {
|
for (var j = 0; j < note.bindings.length; j++) {
|
||||||
var b = note.bindings[j];
|
var b = note.bindings[j];
|
||||||
b.signature = this._parseMethod(b.value);
|
for (var k = 0; k < b.parts.length; k++) {
|
||||||
if (!b.signature) {
|
var p = b.parts[k];
|
||||||
b.model = this._modelForPath(b.value);
|
if (!p.literal) {
|
||||||
|
p.signature = this._parseMethod(p.value);
|
||||||
|
if (!p.signature) {
|
||||||
|
p.model = this._modelForPath(p.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (note.templateContent) {
|
if (note.templateContent) {
|
||||||
|
@ -263,10 +300,12 @@ for (var prop in pp) {
|
||||||
bindings.push({
|
bindings.push({
|
||||||
index: note.index,
|
index: note.index,
|
||||||
kind: 'property',
|
kind: 'property',
|
||||||
mode: '{',
|
|
||||||
name: '_parent_' + prop,
|
name: '_parent_' + prop,
|
||||||
|
parts: [{
|
||||||
|
mode: '{',
|
||||||
model: prop,
|
model: prop,
|
||||||
value: prop
|
value: prop
|
||||||
|
}]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
note.bindings = note.bindings.concat(bindings);
|
note.bindings = note.bindings.concat(bindings);
|
||||||
|
@ -277,15 +316,17 @@ _discoverTemplateParentProps: function (notes) {
|
||||||
var pp = {};
|
var pp = {};
|
||||||
notes.forEach(function (n) {
|
notes.forEach(function (n) {
|
||||||
n.bindings.forEach(function (b) {
|
n.bindings.forEach(function (b) {
|
||||||
if (b.signature) {
|
b.parts.forEach(function (p) {
|
||||||
var args = b.signature.args;
|
if (p.signature) {
|
||||||
|
var args = p.signature.args;
|
||||||
for (var k = 0; k < args.length; k++) {
|
for (var k = 0; k < args.length; k++) {
|
||||||
pp[args[k].model] = true;
|
pp[args[k].model] = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
pp[b.model] = true;
|
pp[p.model] = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
if (n.templateContent) {
|
if (n.templateContent) {
|
||||||
var tpp = n.templateContent._parentProps;
|
var tpp = n.templateContent._parentProps;
|
||||||
Polymer.Base.mixin(pp, tpp);
|
Polymer.Base.mixin(pp, tpp);
|
||||||
|
@ -304,15 +345,43 @@ this._marshalAnnotatedNodes();
|
||||||
this._marshalAnnotatedListeners();
|
this._marshalAnnotatedListeners();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_configureAnnotationReferences: function () {
|
_configureAnnotationReferences: function (config) {
|
||||||
this._configureTemplateContent();
|
var notes = this._notes;
|
||||||
},
|
var nodes = this._nodes;
|
||||||
_configureTemplateContent: function () {
|
for (var i = 0; i < notes.length; i++) {
|
||||||
this._notes.forEach(function (note, i) {
|
var note = notes[i];
|
||||||
if (note.templateContent) {
|
var node = nodes[i];
|
||||||
this._nodes[i]._content = note.templateContent;
|
this._configureTemplateContent(note, node);
|
||||||
|
this._configureCompoundBindings(note, node);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_configureTemplateContent: function (note, node) {
|
||||||
|
if (note.templateContent) {
|
||||||
|
node._content = note.templateContent;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_configureCompoundBindings: function (note, node) {
|
||||||
|
var bindings = note.bindings;
|
||||||
|
for (var i = 0; i < bindings.length; i++) {
|
||||||
|
var binding = bindings[i];
|
||||||
|
if (binding.isCompound) {
|
||||||
|
var storage = node.__compoundStorage__ || (node.__compoundStorage__ = {});
|
||||||
|
var parts = binding.parts;
|
||||||
|
var literals = new Array(parts.length);
|
||||||
|
for (var j = 0; j < parts.length; j++) {
|
||||||
|
literals[j] = parts[j].literal;
|
||||||
|
}
|
||||||
|
var name = binding.name;
|
||||||
|
storage[name] = literals;
|
||||||
|
if (binding.literal && binding.kind == 'property') {
|
||||||
|
if (node._configValue) {
|
||||||
|
node._configValue(name, binding.literal);
|
||||||
|
} else {
|
||||||
|
node[name] = binding.literal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, this);
|
|
||||||
},
|
},
|
||||||
_marshalIdNodes: function () {
|
_marshalIdNodes: function () {
|
||||||
this.$ = {};
|
this.$ = {};
|
||||||
|
@ -651,7 +720,7 @@ prevent = dy > dx;
|
||||||
prevent = dx > dy;
|
prevent = dx > dy;
|
||||||
}
|
}
|
||||||
if (prevent) {
|
if (prevent) {
|
||||||
//ev.preventDefault();
|
ev.preventDefault();
|
||||||
} else {
|
} else {
|
||||||
Gestures.prevent('track');
|
Gestures.prevent('track');
|
||||||
}
|
}
|
||||||
|
@ -1104,7 +1173,9 @@ this._callbacks.splice(0, len);
|
||||||
this._lastVal += len;
|
this._lastVal += len;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
new (window.MutationObserver || JsMutationObserver)(Polymer.Async._atEndOfMicrotask.bind(Polymer.Async)).observe(Polymer.Async._twiddle, { characterData: true });
|
new window.MutationObserver(function () {
|
||||||
|
Polymer.Async._atEndOfMicrotask();
|
||||||
|
}).observe(Polymer.Async._twiddle, { characterData: true });
|
||||||
Polymer.Debounce = function () {
|
Polymer.Debounce = function () {
|
||||||
var Async = Polymer.Async;
|
var Async = Polymer.Async;
|
||||||
var Debouncer = function (context) {
|
var Debouncer = function (context) {
|
||||||
|
@ -1186,6 +1257,32 @@ if (toElement) {
|
||||||
Polymer.dom(toElement).setAttribute(name, '');
|
Polymer.dom(toElement).setAttribute(name, '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getEffectiveChildNodes: function () {
|
||||||
|
return Polymer.dom(this).getEffectiveChildNodes();
|
||||||
|
},
|
||||||
|
getEffectiveChildren: function () {
|
||||||
|
var list = Polymer.dom(this).getEffectiveChildNodes();
|
||||||
|
return list.filter(function (n) {
|
||||||
|
return n.nodeType === Node.ELEMENT_NODE;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getEffectiveTextContent: function () {
|
||||||
|
var cn = this.getEffectiveChildNodes();
|
||||||
|
var tc = [];
|
||||||
|
for (var i = 0, c; c = cn[i]; i++) {
|
||||||
|
if (c.nodeType !== Node.COMMENT_NODE) {
|
||||||
|
tc.push(Polymer.dom(c).textContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return tc.join('');
|
||||||
|
},
|
||||||
|
queryEffectiveChildren: function (slctr) {
|
||||||
|
var e$ = Polymer.dom(this).queryDistributedElements(slctr);
|
||||||
|
return e$ && e$[0];
|
||||||
|
},
|
||||||
|
queryAllEffectiveChildren: function (slctr) {
|
||||||
|
return Polymer.dom(this).queryAllDistributedElements(slctr);
|
||||||
|
},
|
||||||
getContentChildNodes: function (slctr) {
|
getContentChildNodes: function (slctr) {
|
||||||
var content = Polymer.dom(this.root).querySelector(slctr || 'content');
|
var content = Polymer.dom(this.root).querySelector(slctr || 'content');
|
||||||
return content ? Polymer.dom(content).getDistributedNodes() : [];
|
return content ? Polymer.dom(content).getDistributedNodes() : [];
|
||||||
|
@ -1223,7 +1320,7 @@ if (index >= 0) {
|
||||||
return path.splice(index, 1);
|
return path.splice(index, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var arr = this.get(path);
|
var arr = this._get(path);
|
||||||
index = arr.indexOf(item);
|
index = arr.indexOf(item);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
return this.splice(path, index, 1);
|
return this.splice(path, index, 1);
|
||||||
|
@ -1405,7 +1502,7 @@ _notedListenerFactory: function (property, path, isStructured, bogusTest) {
|
||||||
return function (e, target) {
|
return function (e, target) {
|
||||||
if (!bogusTest(e, target)) {
|
if (!bogusTest(e, target)) {
|
||||||
if (e.detail && e.detail.path) {
|
if (e.detail && e.detail.path) {
|
||||||
this.notifyPath(this._fixPath(path, property, e.detail.path), e.detail.value);
|
this._notifyPath(this._fixPath(path, property, e.detail.path), e.detail.value);
|
||||||
} else {
|
} else {
|
||||||
var value = target[property];
|
var value = target[property];
|
||||||
if (!isStructured) {
|
if (!isStructured) {
|
||||||
|
@ -1431,16 +1528,16 @@ node.addEventListener(info.event, inst._notifyListener.bind(inst, info.changedFn
|
||||||
};
|
};
|
||||||
Polymer.Base.extend(Polymer.Bind, {
|
Polymer.Base.extend(Polymer.Bind, {
|
||||||
_shouldAddListener: function (effect) {
|
_shouldAddListener: function (effect) {
|
||||||
return effect.name && effect.mode === '{' && !effect.negate && effect.kind != 'attribute';
|
return effect.name && effect.kind != 'attribute' && effect.kind != 'text' && !effect.isCompound && effect.parts[0].mode === '{' && !effect.parts[0].negate;
|
||||||
},
|
},
|
||||||
_annotationEffect: function (source, value, effect) {
|
_annotationEffect: function (source, value, effect) {
|
||||||
if (source != effect.value) {
|
if (source != effect.value) {
|
||||||
value = this.get(effect.value);
|
value = this._get(effect.value);
|
||||||
this.__data__[effect.value] = value;
|
this.__data__[effect.value] = value;
|
||||||
}
|
}
|
||||||
var calc = effect.negate ? !value : value;
|
var calc = effect.negate ? !value : value;
|
||||||
if (!effect.customEvent || this._nodes[effect.index][effect.name] !== calc) {
|
if (!effect.customEvent || this._nodes[effect.index][effect.name] !== calc) {
|
||||||
return this._applyEffectValue(calc, effect);
|
return this._applyEffectValue(effect, calc);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_reflectEffect: function (source) {
|
_reflectEffect: function (source) {
|
||||||
|
@ -1478,7 +1575,7 @@ var args = Polymer.Bind._marshalArgs(this.__data__, effect, source, value);
|
||||||
if (args) {
|
if (args) {
|
||||||
var fn = this[effect.method];
|
var fn = this[effect.method];
|
||||||
if (fn) {
|
if (fn) {
|
||||||
this.__setProperty(effect.property, fn.apply(this, args));
|
this.__setProperty(effect.name, fn.apply(this, args));
|
||||||
} else {
|
} else {
|
||||||
this._warn(this._logf('_computeEffect', 'compute method `' + effect.method + '` not defined'));
|
this._warn(this._logf('_computeEffect', 'compute method `' + effect.method + '` not defined'));
|
||||||
}
|
}
|
||||||
|
@ -1494,7 +1591,7 @@ var computedvalue = fn.apply(computedHost, args);
|
||||||
if (effect.negate) {
|
if (effect.negate) {
|
||||||
computedvalue = !computedvalue;
|
computedvalue = !computedvalue;
|
||||||
}
|
}
|
||||||
this._applyEffectValue(computedvalue, effect);
|
this._applyEffectValue(effect, computedvalue);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
computedHost._warn(computedHost._logf('_annotatedComputationEffect', 'compute method `' + effect.method + '` not defined'));
|
computedHost._warn(computedHost._logf('_annotatedComputationEffect', 'compute method `' + effect.method + '` not defined'));
|
||||||
|
@ -1510,7 +1607,7 @@ var v;
|
||||||
if (arg.literal) {
|
if (arg.literal) {
|
||||||
v = arg.value;
|
v = arg.value;
|
||||||
} else if (arg.structured) {
|
} else if (arg.structured) {
|
||||||
v = Polymer.Base.get(name, model);
|
v = Polymer.Base._get(name, model);
|
||||||
} else {
|
} else {
|
||||||
v = model[name];
|
v = model[name];
|
||||||
}
|
}
|
||||||
|
@ -1573,7 +1670,7 @@ this._addPropertyEffect(arg.model, 'compute', {
|
||||||
method: sig.method,
|
method: sig.method,
|
||||||
args: sig.args,
|
args: sig.args,
|
||||||
trigger: arg,
|
trigger: arg,
|
||||||
property: name
|
name: name
|
||||||
});
|
});
|
||||||
}, this);
|
}, this);
|
||||||
},
|
},
|
||||||
|
@ -1611,35 +1708,49 @@ this._addAnnotationEffect(binding, index);
|
||||||
},
|
},
|
||||||
_addAnnotationEffect: function (note, index) {
|
_addAnnotationEffect: function (note, index) {
|
||||||
if (Polymer.Bind._shouldAddListener(note)) {
|
if (Polymer.Bind._shouldAddListener(note)) {
|
||||||
Polymer.Bind._addAnnotatedListener(this, index, note.name, note.value, note.event);
|
Polymer.Bind._addAnnotatedListener(this, index, note.name, note.parts[0].value, note.parts[0].event);
|
||||||
|
}
|
||||||
|
for (var i = 0; i < note.parts.length; i++) {
|
||||||
|
var part = note.parts[i];
|
||||||
|
if (part.signature) {
|
||||||
|
this._addAnnotatedComputationEffect(note, part, index);
|
||||||
|
} else if (!part.literal) {
|
||||||
|
this._addPropertyEffect(part.model, 'annotation', {
|
||||||
|
kind: note.kind,
|
||||||
|
index: index,
|
||||||
|
name: note.name,
|
||||||
|
value: part.value,
|
||||||
|
isCompound: note.isCompound,
|
||||||
|
compoundIndex: part.compoundIndex,
|
||||||
|
event: part.event,
|
||||||
|
customEvent: part.customEvent,
|
||||||
|
negate: part.negate
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (note.signature) {
|
|
||||||
this._addAnnotatedComputationEffect(note, index);
|
|
||||||
} else {
|
|
||||||
note.index = index;
|
|
||||||
this._addPropertyEffect(note.model, 'annotation', note);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_addAnnotatedComputationEffect: function (note, index) {
|
_addAnnotatedComputationEffect: function (note, part, index) {
|
||||||
var sig = note.signature;
|
var sig = part.signature;
|
||||||
if (sig.static) {
|
if (sig.static) {
|
||||||
this.__addAnnotatedComputationEffect('__static__', index, note, sig, null);
|
this.__addAnnotatedComputationEffect('__static__', index, note, part, null);
|
||||||
} else {
|
} else {
|
||||||
sig.args.forEach(function (arg) {
|
sig.args.forEach(function (arg) {
|
||||||
if (!arg.literal) {
|
if (!arg.literal) {
|
||||||
this.__addAnnotatedComputationEffect(arg.model, index, note, sig, arg);
|
this.__addAnnotatedComputationEffect(arg.model, index, note, part, arg);
|
||||||
}
|
}
|
||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
__addAnnotatedComputationEffect: function (property, index, note, sig, trigger) {
|
__addAnnotatedComputationEffect: function (property, index, note, part, trigger) {
|
||||||
this._addPropertyEffect(property, 'annotatedComputation', {
|
this._addPropertyEffect(property, 'annotatedComputation', {
|
||||||
index: index,
|
index: index,
|
||||||
|
isCompound: note.isCompound,
|
||||||
|
compoundIndex: part.compoundIndex,
|
||||||
kind: note.kind,
|
kind: note.kind,
|
||||||
property: note.name,
|
name: note.name,
|
||||||
negate: note.negate,
|
negate: part.negate,
|
||||||
method: sig.method,
|
method: part.signature.method,
|
||||||
args: sig.args,
|
args: part.signature.args,
|
||||||
trigger: trigger
|
trigger: trigger
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1708,9 +1819,14 @@ _marshalInstanceEffects: function () {
|
||||||
Polymer.Bind.prepareInstance(this);
|
Polymer.Bind.prepareInstance(this);
|
||||||
Polymer.Bind.setupBindListeners(this);
|
Polymer.Bind.setupBindListeners(this);
|
||||||
},
|
},
|
||||||
_applyEffectValue: function (value, info) {
|
_applyEffectValue: function (info, value) {
|
||||||
var node = this._nodes[info.index];
|
var node = this._nodes[info.index];
|
||||||
var property = info.property || info.name || 'textContent';
|
var property = info.name;
|
||||||
|
if (info.isCompound) {
|
||||||
|
var storage = node.__compoundStorage__[property];
|
||||||
|
storage[info.compoundIndex] = value;
|
||||||
|
value = storage.join('');
|
||||||
|
}
|
||||||
if (info.kind == 'attribute') {
|
if (info.kind == 'attribute') {
|
||||||
this.serializeValueToAttribute(value, property, node);
|
this.serializeValueToAttribute(value, property, node);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1790,10 +1906,10 @@ for (var p in config) {
|
||||||
var fx = fx$[p];
|
var fx = fx$[p];
|
||||||
if (fx) {
|
if (fx) {
|
||||||
for (var i = 0, l = fx.length, x; i < l && (x = fx[i]); i++) {
|
for (var i = 0, l = fx.length, x; i < l && (x = fx[i]); i++) {
|
||||||
if (x.kind === 'annotation') {
|
if (x.kind === 'annotation' && !x.isCompound) {
|
||||||
var node = this._nodes[x.effect.index];
|
var node = this._nodes[x.effect.index];
|
||||||
if (node._configValue) {
|
if (node._configValue) {
|
||||||
var value = p === x.effect.value ? config[p] : this.get(x.effect.value, config);
|
var value = p === x.effect.value ? config[p] : this._get(x.effect.value, config);
|
||||||
node._configValue(x.effect.name, value);
|
node._configValue(x.effect.name, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1840,11 +1956,16 @@ this._handlers = [];
|
||||||
'use strict';
|
'use strict';
|
||||||
Polymer.Base._addFeature({
|
Polymer.Base._addFeature({
|
||||||
notifyPath: function (path, value, fromAbove) {
|
notifyPath: function (path, value, fromAbove) {
|
||||||
|
var info = {};
|
||||||
|
path = this._get(path, this, info);
|
||||||
|
this._notifyPath(info.path, value, fromAbove);
|
||||||
|
},
|
||||||
|
_notifyPath: function (path, value, fromAbove) {
|
||||||
var old = this._propertySetter(path, value);
|
var old = this._propertySetter(path, value);
|
||||||
if (old !== value && (old === old || value === value)) {
|
if (old !== value && (old === old || value === value)) {
|
||||||
this._pathEffector(path, value);
|
this._pathEffector(path, value);
|
||||||
if (!fromAbove) {
|
if (!fromAbove) {
|
||||||
this._notifyPath(path, value);
|
this._notifyPathUp(path, value);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1871,41 +1992,67 @@ var last = parts[parts.length - 1];
|
||||||
if (parts.length > 1) {
|
if (parts.length > 1) {
|
||||||
for (var i = 0; i < parts.length - 1; i++) {
|
for (var i = 0; i < parts.length - 1; i++) {
|
||||||
var part = parts[i];
|
var part = parts[i];
|
||||||
|
if (array && part[0] == '#') {
|
||||||
|
prop = Polymer.Collection.get(array).getItem(part);
|
||||||
|
} else {
|
||||||
prop = prop[part];
|
prop = prop[part];
|
||||||
if (array && parseInt(part) == part) {
|
if (array && parseInt(part, 10) == part) {
|
||||||
parts[i] = Polymer.Collection.get(array).getKey(prop);
|
parts[i] = Polymer.Collection.get(array).getKey(prop);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!prop) {
|
if (!prop) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
array = Array.isArray(prop) ? prop : null;
|
array = Array.isArray(prop) ? prop : null;
|
||||||
}
|
}
|
||||||
if (array && parseInt(last) == last) {
|
if (array) {
|
||||||
var coll = Polymer.Collection.get(array);
|
var coll = Polymer.Collection.get(array);
|
||||||
|
if (last[0] == '#') {
|
||||||
|
var key = last;
|
||||||
|
var old = coll.getItem(key);
|
||||||
|
last = array.indexOf(old);
|
||||||
|
coll.setItem(key, value);
|
||||||
|
} else if (parseInt(last, 10) == last) {
|
||||||
var old = prop[last];
|
var old = prop[last];
|
||||||
var key = coll.getKey(old);
|
var key = coll.getKey(old);
|
||||||
parts[i] = key;
|
parts[i] = key;
|
||||||
coll.setItem(key, value);
|
coll.setItem(key, value);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
prop[last] = value;
|
prop[last] = value;
|
||||||
if (!root) {
|
if (!root) {
|
||||||
this.notifyPath(parts.join('.'), value);
|
this._notifyPath(parts.join('.'), value);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
prop[path] = value;
|
prop[path] = value;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
get: function (path, root) {
|
get: function (path, root) {
|
||||||
|
return this._get(path, root);
|
||||||
|
},
|
||||||
|
_get: function (path, root, info) {
|
||||||
var prop = root || this;
|
var prop = root || this;
|
||||||
var parts = this._getPathParts(path);
|
var parts = this._getPathParts(path);
|
||||||
var last = parts.pop();
|
var array;
|
||||||
while (parts.length) {
|
for (var i = 0; i < parts.length; i++) {
|
||||||
prop = prop[parts.shift()];
|
|
||||||
if (!prop) {
|
if (!prop) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var part = parts[i];
|
||||||
|
if (array && part[0] == '#') {
|
||||||
|
prop = Polymer.Collection.get(array).getItem(part);
|
||||||
|
} else {
|
||||||
|
prop = prop[part];
|
||||||
|
if (info && array && parseInt(part, 10) == part) {
|
||||||
|
parts[i] = Polymer.Collection.get(array).getKey(prop);
|
||||||
}
|
}
|
||||||
return prop[last];
|
}
|
||||||
|
array = Array.isArray(prop) ? prop : null;
|
||||||
|
}
|
||||||
|
if (info) {
|
||||||
|
info.path = parts.join('.');
|
||||||
|
}
|
||||||
|
return prop;
|
||||||
},
|
},
|
||||||
_pathEffector: function (path, value) {
|
_pathEffector: function (path, value) {
|
||||||
var model = this._modelForPath(path);
|
var model = this._modelForPath(path);
|
||||||
|
@ -1978,7 +2125,7 @@ this.notifyPath(this._fixPath(a, b, path), value);
|
||||||
_fixPath: function (property, root, path) {
|
_fixPath: function (property, root, path) {
|
||||||
return property + path.slice(root.length);
|
return property + path.slice(root.length);
|
||||||
},
|
},
|
||||||
_notifyPath: function (path, value) {
|
_notifyPathUp: function (path, value) {
|
||||||
var rootName = this._modelForPath(path);
|
var rootName = this._modelForPath(path);
|
||||||
var dashCaseName = Polymer.CaseMap.camelToDashCase(rootName);
|
var dashCaseName = Polymer.CaseMap.camelToDashCase(rootName);
|
||||||
var eventName = dashCaseName + this._EVENT_CHANGED;
|
var eventName = dashCaseName + this._EVENT_CHANGED;
|
||||||
|
@ -1992,47 +2139,62 @@ var dot = path.indexOf('.');
|
||||||
return dot < 0 ? path : path.slice(0, dot);
|
return dot < 0 ? path : path.slice(0, dot);
|
||||||
},
|
},
|
||||||
_EVENT_CHANGED: '-changed',
|
_EVENT_CHANGED: '-changed',
|
||||||
|
notifySplices: function (path, splices) {
|
||||||
|
var info = {};
|
||||||
|
var array = this._get(path, this, info);
|
||||||
|
this._notifySplices(array, info.path, splices);
|
||||||
|
},
|
||||||
|
_notifySplices: function (array, path, splices) {
|
||||||
|
var change = {
|
||||||
|
keySplices: Polymer.Collection.applySplices(array, splices),
|
||||||
|
indexSplices: splices
|
||||||
|
};
|
||||||
|
if (!array.hasOwnProperty('splices')) {
|
||||||
|
Object.defineProperty(array, 'splices', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
array.splices = change;
|
||||||
|
this._notifyPath(path + '.splices', change);
|
||||||
|
this._notifyPath(path + '.length', array.length);
|
||||||
|
change.keySplices = null;
|
||||||
|
change.indexSplices = null;
|
||||||
|
},
|
||||||
_notifySplice: function (array, path, index, added, removed) {
|
_notifySplice: function (array, path, index, added, removed) {
|
||||||
var splices = [{
|
this._notifySplices(array, path, [{
|
||||||
index: index,
|
index: index,
|
||||||
addedCount: added,
|
addedCount: added,
|
||||||
removed: removed,
|
removed: removed,
|
||||||
object: array,
|
object: array,
|
||||||
type: 'splice'
|
type: 'splice'
|
||||||
}];
|
}]);
|
||||||
var change = {
|
|
||||||
keySplices: Polymer.Collection.applySplices(array, splices),
|
|
||||||
indexSplices: splices
|
|
||||||
};
|
|
||||||
this.set(path + '.splices', change);
|
|
||||||
if (added != removed.length) {
|
|
||||||
this.notifyPath(path + '.length', array.length);
|
|
||||||
}
|
|
||||||
change.keySplices = null;
|
|
||||||
change.indexSplices = null;
|
|
||||||
},
|
},
|
||||||
push: function (path) {
|
push: function (path) {
|
||||||
var array = this.get(path);
|
var info = {};
|
||||||
|
var array = this._get(path, this, info);
|
||||||
var args = Array.prototype.slice.call(arguments, 1);
|
var args = Array.prototype.slice.call(arguments, 1);
|
||||||
var len = array.length;
|
var len = array.length;
|
||||||
var ret = array.push.apply(array, args);
|
var ret = array.push.apply(array, args);
|
||||||
if (args.length) {
|
if (args.length) {
|
||||||
this._notifySplice(array, path, len, args.length, []);
|
this._notifySplice(array, info.path, len, args.length, []);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
pop: function (path) {
|
pop: function (path) {
|
||||||
var array = this.get(path);
|
var info = {};
|
||||||
|
var array = this._get(path, this, info);
|
||||||
var hadLength = Boolean(array.length);
|
var hadLength = Boolean(array.length);
|
||||||
var args = Array.prototype.slice.call(arguments, 1);
|
var args = Array.prototype.slice.call(arguments, 1);
|
||||||
var ret = array.pop.apply(array, args);
|
var ret = array.pop.apply(array, args);
|
||||||
if (hadLength) {
|
if (hadLength) {
|
||||||
this._notifySplice(array, path, array.length, 0, [ret]);
|
this._notifySplice(array, info.path, array.length, 0, [ret]);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
splice: function (path, start, deleteCount) {
|
splice: function (path, start, deleteCount) {
|
||||||
var array = this.get(path);
|
var info = {};
|
||||||
|
var array = this._get(path, this, info);
|
||||||
if (start < 0) {
|
if (start < 0) {
|
||||||
start = array.length - Math.floor(-start);
|
start = array.length - Math.floor(-start);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2045,26 +2207,28 @@ var args = Array.prototype.slice.call(arguments, 1);
|
||||||
var ret = array.splice.apply(array, args);
|
var ret = array.splice.apply(array, args);
|
||||||
var addedCount = Math.max(args.length - 2, 0);
|
var addedCount = Math.max(args.length - 2, 0);
|
||||||
if (addedCount || ret.length) {
|
if (addedCount || ret.length) {
|
||||||
this._notifySplice(array, path, start, addedCount, ret);
|
this._notifySplice(array, info.path, start, addedCount, ret);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
shift: function (path) {
|
shift: function (path) {
|
||||||
var array = this.get(path);
|
var info = {};
|
||||||
|
var array = this._get(path, this, info);
|
||||||
var hadLength = Boolean(array.length);
|
var hadLength = Boolean(array.length);
|
||||||
var args = Array.prototype.slice.call(arguments, 1);
|
var args = Array.prototype.slice.call(arguments, 1);
|
||||||
var ret = array.shift.apply(array, args);
|
var ret = array.shift.apply(array, args);
|
||||||
if (hadLength) {
|
if (hadLength) {
|
||||||
this._notifySplice(array, path, 0, 0, [ret]);
|
this._notifySplice(array, info.path, 0, 0, [ret]);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
unshift: function (path) {
|
unshift: function (path) {
|
||||||
var array = this.get(path);
|
var info = {};
|
||||||
|
var array = this._get(path, this, info);
|
||||||
var args = Array.prototype.slice.call(arguments, 1);
|
var args = Array.prototype.slice.call(arguments, 1);
|
||||||
var ret = array.unshift.apply(array, args);
|
var ret = array.unshift.apply(array, args);
|
||||||
if (args.length) {
|
if (args.length) {
|
||||||
this._notifySplice(array, path, 0, args.length, []);
|
this._notifySplice(array, info.path, 0, args.length, []);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
@ -2072,8 +2236,10 @@ prepareModelNotifyPath: function (model) {
|
||||||
this.mixin(model, {
|
this.mixin(model, {
|
||||||
fire: Polymer.Base.fire,
|
fire: Polymer.Base.fire,
|
||||||
notifyPath: Polymer.Base.notifyPath,
|
notifyPath: Polymer.Base.notifyPath,
|
||||||
|
_get: Polymer.Base._get,
|
||||||
_EVENT_CHANGED: Polymer.Base._EVENT_CHANGED,
|
_EVENT_CHANGED: Polymer.Base._EVENT_CHANGED,
|
||||||
_notifyPath: Polymer.Base._notifyPath,
|
_notifyPath: Polymer.Base._notifyPath,
|
||||||
|
_notifyPathUp: Polymer.Base._notifyPathUp,
|
||||||
_pathEffector: Polymer.Base._pathEffector,
|
_pathEffector: Polymer.Base._pathEffector,
|
||||||
_annotationPathEffect: Polymer.Base._annotationPathEffect,
|
_annotationPathEffect: Polymer.Base._annotationPathEffect,
|
||||||
_complexObserverPathEffect: Polymer.Base._complexObserverPathEffect,
|
_complexObserverPathEffect: Polymer.Base._complexObserverPathEffect,
|
||||||
|
@ -2081,7 +2247,8 @@ _annotatedComputationPathEffect: Polymer.Base._annotatedComputationPathEffect,
|
||||||
_computePathEffect: Polymer.Base._computePathEffect,
|
_computePathEffect: Polymer.Base._computePathEffect,
|
||||||
_modelForPath: Polymer.Base._modelForPath,
|
_modelForPath: Polymer.Base._modelForPath,
|
||||||
_pathMatchesEffect: Polymer.Base._pathMatchesEffect,
|
_pathMatchesEffect: Polymer.Base._pathMatchesEffect,
|
||||||
_notifyBoundPaths: Polymer.Base._notifyBoundPaths
|
_notifyBoundPaths: Polymer.Base._notifyBoundPaths,
|
||||||
|
_getPathParts: Polymer.Base._getPathParts
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -3306,7 +3473,7 @@ archetype._prepEffects();
|
||||||
this._customPrepEffects(archetype);
|
this._customPrepEffects(archetype);
|
||||||
archetype._prepBehaviors();
|
archetype._prepBehaviors();
|
||||||
archetype._prepBindings();
|
archetype._prepBindings();
|
||||||
archetype._notifyPath = this._notifyPathImpl;
|
archetype._notifyPathUp = this._notifyPathUpImpl;
|
||||||
archetype._scopeElementClass = this._scopeElementClassImpl;
|
archetype._scopeElementClass = this._scopeElementClassImpl;
|
||||||
archetype.listen = this._listenImpl;
|
archetype.listen = this._listenImpl;
|
||||||
archetype._showHideChildren = this._showHideChildrenImpl;
|
archetype._showHideChildren = this._showHideChildrenImpl;
|
||||||
|
@ -3444,7 +3611,7 @@ _forwardInstancePath: function (inst, path, value) {
|
||||||
},
|
},
|
||||||
_forwardInstanceProp: function (inst, prop, value) {
|
_forwardInstanceProp: function (inst, prop, value) {
|
||||||
},
|
},
|
||||||
_notifyPathImpl: function (path, value) {
|
_notifyPathUpImpl: function (path, value) {
|
||||||
var dataHost = this.dataHost;
|
var dataHost = this.dataHost;
|
||||||
var dot = path.indexOf('.');
|
var dot = path.indexOf('.');
|
||||||
var root = dot < 0 ? path : path.slice(0, dot);
|
var root = dot < 0 ? path : path.slice(0, dot);
|
||||||
|
@ -3562,9 +3729,10 @@ this.omap.set(item, key);
|
||||||
} else {
|
} else {
|
||||||
this.pmap[item] = key;
|
this.pmap[item] = key;
|
||||||
}
|
}
|
||||||
return key;
|
return '#' + key;
|
||||||
},
|
},
|
||||||
removeKey: function (key) {
|
removeKey: function (key) {
|
||||||
|
key = this._parseKey(key);
|
||||||
this._removeFromMap(this.store[key]);
|
this._removeFromMap(this.store[key]);
|
||||||
delete this.store[key];
|
delete this.store[key];
|
||||||
},
|
},
|
||||||
|
@ -3581,16 +3749,29 @@ this.removeKey(key);
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
getKey: function (item) {
|
getKey: function (item) {
|
||||||
|
var key;
|
||||||
if (item && typeof item == 'object') {
|
if (item && typeof item == 'object') {
|
||||||
return this.omap.get(item);
|
key = this.omap.get(item);
|
||||||
} else {
|
} else {
|
||||||
return this.pmap[item];
|
key = this.pmap[item];
|
||||||
|
}
|
||||||
|
if (key != undefined) {
|
||||||
|
return '#' + key;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getKeys: function () {
|
getKeys: function () {
|
||||||
return Object.keys(this.store);
|
return Object.keys(this.store).map(function (key) {
|
||||||
|
return '#' + key;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
_parseKey: function (key) {
|
||||||
|
if (key[0] == '#') {
|
||||||
|
return key.slice(1);
|
||||||
|
}
|
||||||
|
throw new Error('unexpected key ' + key);
|
||||||
},
|
},
|
||||||
setItem: function (key, item) {
|
setItem: function (key, item) {
|
||||||
|
key = this._parseKey(key);
|
||||||
var old = this.store[key];
|
var old = this.store[key];
|
||||||
if (old) {
|
if (old) {
|
||||||
this._removeFromMap(old);
|
this._removeFromMap(old);
|
||||||
|
@ -3603,6 +3784,7 @@ this.pmap[item] = key;
|
||||||
this.store[key] = item;
|
this.store[key] = item;
|
||||||
},
|
},
|
||||||
getItem: function (key) {
|
getItem: function (key) {
|
||||||
|
key = this._parseKey(key);
|
||||||
return this.store[key];
|
return this.store[key];
|
||||||
},
|
},
|
||||||
getItems: function () {
|
getItems: function () {
|
||||||
|
@ -3996,7 +4178,7 @@ this.set('items.' + idx, value);
|
||||||
},
|
},
|
||||||
_forwardInstancePath: function (inst, path, value) {
|
_forwardInstancePath: function (inst, path, value) {
|
||||||
if (path.indexOf(this.as + '.') === 0) {
|
if (path.indexOf(this.as + '.') === 0) {
|
||||||
this.notifyPath('items.' + inst.__key__ + '.' + path.slice(this.as.length + 1), value);
|
this._notifyPath('items.' + inst.__key__ + '.' + path.slice(this.as.length + 1), value);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_forwardParentProp: function (prop, value) {
|
_forwardParentProp: function (prop, value) {
|
||||||
|
@ -4006,7 +4188,7 @@ inst.__setProperty(prop, value, true);
|
||||||
},
|
},
|
||||||
_forwardParentPath: function (path, value) {
|
_forwardParentPath: function (path, value) {
|
||||||
this._instances.forEach(function (inst) {
|
this._instances.forEach(function (inst) {
|
||||||
inst.notifyPath(path, value, true);
|
inst._notifyPath(path, value, true);
|
||||||
}, this);
|
}, this);
|
||||||
},
|
},
|
||||||
_forwardItemPath: function (path, value) {
|
_forwardItemPath: function (path, value) {
|
||||||
|
@ -4018,7 +4200,7 @@ var inst = this._instances[idx];
|
||||||
if (inst) {
|
if (inst) {
|
||||||
if (dot >= 0) {
|
if (dot >= 0) {
|
||||||
path = this.as + '.' + path.substring(dot + 1);
|
path = this.as + '.' + path.substring(dot + 1);
|
||||||
inst.notifyPath(path, value, true);
|
inst._notifyPath(path, value, true);
|
||||||
} else {
|
} else {
|
||||||
inst.__setProperty(this.as, value, true);
|
inst.__setProperty(this.as, value, true);
|
||||||
}
|
}
|
||||||
|
@ -4070,6 +4252,7 @@ this.unlinkPaths('selected.' + i);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.unlinkPaths('selected');
|
this.unlinkPaths('selected');
|
||||||
|
this.unlinkPaths('selectedItem');
|
||||||
}
|
}
|
||||||
if (this.multi) {
|
if (this.multi) {
|
||||||
if (!this.selected || this.selected.length) {
|
if (!this.selected || this.selected.length) {
|
||||||
|
@ -4209,7 +4392,7 @@ this._instance[prop] = value;
|
||||||
},
|
},
|
||||||
_forwardParentPath: function (path, value) {
|
_forwardParentPath: function (path, value) {
|
||||||
if (this._instance) {
|
if (this._instance) {
|
||||||
this._instance.notifyPath(path, value, true);
|
this._instance._notifyPath(path, value, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "webcomponentsjs",
|
"name": "webcomponentsjs",
|
||||||
"main": "webcomponents.js",
|
"main": "webcomponents.js",
|
||||||
"version": "0.7.14",
|
"version": "0.7.15",
|
||||||
"homepage": "http://webcomponents.org",
|
"homepage": "http://webcomponents.org",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
@ -15,11 +15,11 @@
|
||||||
],
|
],
|
||||||
"license": "BSD",
|
"license": "BSD",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"_release": "0.7.14",
|
"_release": "0.7.15",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v0.7.14",
|
"tag": "v0.7.15",
|
||||||
"commit": "48194e673b7a0a8810b32320e0444b512e5a7557"
|
"commit": "d90a442cdf31ae10a7b5b62e667cc749a2a6da61"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/Polymer/webcomponentsjs.git",
|
"_source": "git://github.com/Polymer/webcomponentsjs.git",
|
||||||
"_target": "^0.7.2",
|
"_target": "^0.7.2",
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
* Code distributed by Google as part of the polymer project is also
|
* Code distributed by Google as part of the polymer project is also
|
||||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
*/
|
*/
|
||||||
// @version 0.7.14
|
// @version 0.7.15
|
||||||
if (typeof WeakMap === "undefined") {
|
if (typeof WeakMap === "undefined") {
|
||||||
(function() {
|
(function() {
|
||||||
var defineProperty = Object.defineProperty;
|
var defineProperty = Object.defineProperty;
|
||||||
|
@ -45,6 +45,9 @@ if (typeof WeakMap === "undefined") {
|
||||||
}
|
}
|
||||||
|
|
||||||
(function(global) {
|
(function(global) {
|
||||||
|
if (global.JsMutationObserver) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var registrationsTable = new WeakMap();
|
var registrationsTable = new WeakMap();
|
||||||
var setImmediate;
|
var setImmediate;
|
||||||
if (/Trident|Edge/.test(navigator.userAgent)) {
|
if (/Trident|Edge/.test(navigator.userAgent)) {
|
||||||
|
@ -340,7 +343,10 @@ if (typeof WeakMap === "undefined") {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
global.JsMutationObserver = JsMutationObserver;
|
global.JsMutationObserver = JsMutationObserver;
|
||||||
if (!global.MutationObserver) global.MutationObserver = JsMutationObserver;
|
if (!global.MutationObserver) {
|
||||||
|
global.MutationObserver = JsMutationObserver;
|
||||||
|
JsMutationObserver._isPolyfilled = true;
|
||||||
|
}
|
||||||
})(self);
|
})(self);
|
||||||
|
|
||||||
window.CustomElements = window.CustomElements || {
|
window.CustomElements = window.CustomElements || {
|
||||||
|
@ -442,8 +448,9 @@ window.CustomElements.addModule(function(scope) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var hasPolyfillMutations = !window.MutationObserver || window.MutationObserver === window.JsMutationObserver;
|
var hasThrottledAttached = window.MutationObserver._isPolyfilled && flags["throttle-attached"];
|
||||||
scope.hasPolyfillMutations = hasPolyfillMutations;
|
scope.hasPolyfillMutations = hasThrottledAttached;
|
||||||
|
scope.hasThrottledAttached = hasThrottledAttached;
|
||||||
var isPendingMutations = false;
|
var isPendingMutations = false;
|
||||||
var pendingMutations = [];
|
var pendingMutations = [];
|
||||||
function deferMutation(fn) {
|
function deferMutation(fn) {
|
||||||
|
@ -462,7 +469,7 @@ window.CustomElements.addModule(function(scope) {
|
||||||
pendingMutations = [];
|
pendingMutations = [];
|
||||||
}
|
}
|
||||||
function attached(element) {
|
function attached(element) {
|
||||||
if (hasPolyfillMutations) {
|
if (hasThrottledAttached) {
|
||||||
deferMutation(function() {
|
deferMutation(function() {
|
||||||
_attached(element);
|
_attached(element);
|
||||||
});
|
});
|
||||||
|
@ -485,7 +492,7 @@ window.CustomElements.addModule(function(scope) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function detached(element) {
|
function detached(element) {
|
||||||
if (hasPolyfillMutations) {
|
if (hasThrottledAttached) {
|
||||||
deferMutation(function() {
|
deferMutation(function() {
|
||||||
_detached(element);
|
_detached(element);
|
||||||
});
|
});
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
||||||
* Code distributed by Google as part of the polymer project is also
|
* Code distributed by Google as part of the polymer project is also
|
||||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
*/
|
*/
|
||||||
// @version 0.7.14
|
// @version 0.7.15
|
||||||
if (typeof WeakMap === "undefined") {
|
if (typeof WeakMap === "undefined") {
|
||||||
(function() {
|
(function() {
|
||||||
var defineProperty = Object.defineProperty;
|
var defineProperty = Object.defineProperty;
|
||||||
|
@ -45,6 +45,9 @@ if (typeof WeakMap === "undefined") {
|
||||||
}
|
}
|
||||||
|
|
||||||
(function(global) {
|
(function(global) {
|
||||||
|
if (global.JsMutationObserver) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var registrationsTable = new WeakMap();
|
var registrationsTable = new WeakMap();
|
||||||
var setImmediate;
|
var setImmediate;
|
||||||
if (/Trident|Edge/.test(navigator.userAgent)) {
|
if (/Trident|Edge/.test(navigator.userAgent)) {
|
||||||
|
@ -340,7 +343,10 @@ if (typeof WeakMap === "undefined") {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
global.JsMutationObserver = JsMutationObserver;
|
global.JsMutationObserver = JsMutationObserver;
|
||||||
if (!global.MutationObserver) global.MutationObserver = JsMutationObserver;
|
if (!global.MutationObserver) {
|
||||||
|
global.MutationObserver = JsMutationObserver;
|
||||||
|
JsMutationObserver._isPolyfilled = true;
|
||||||
|
}
|
||||||
})(self);
|
})(self);
|
||||||
|
|
||||||
window.HTMLImports = window.HTMLImports || {
|
window.HTMLImports = window.HTMLImports || {
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
||||||
* Code distributed by Google as part of the polymer project is also
|
* Code distributed by Google as part of the polymer project is also
|
||||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
*/
|
*/
|
||||||
// @version 0.7.14
|
// @version 0.7.15
|
||||||
if (typeof WeakMap === "undefined") {
|
if (typeof WeakMap === "undefined") {
|
||||||
(function() {
|
(function() {
|
||||||
var defineProperty = Object.defineProperty;
|
var defineProperty = Object.defineProperty;
|
||||||
|
@ -45,6 +45,9 @@ if (typeof WeakMap === "undefined") {
|
||||||
}
|
}
|
||||||
|
|
||||||
(function(global) {
|
(function(global) {
|
||||||
|
if (global.JsMutationObserver) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var registrationsTable = new WeakMap();
|
var registrationsTable = new WeakMap();
|
||||||
var setImmediate;
|
var setImmediate;
|
||||||
if (/Trident|Edge/.test(navigator.userAgent)) {
|
if (/Trident|Edge/.test(navigator.userAgent)) {
|
||||||
|
@ -340,5 +343,8 @@ if (typeof WeakMap === "undefined") {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
global.JsMutationObserver = JsMutationObserver;
|
global.JsMutationObserver = JsMutationObserver;
|
||||||
if (!global.MutationObserver) global.MutationObserver = JsMutationObserver;
|
if (!global.MutationObserver) {
|
||||||
|
global.MutationObserver = JsMutationObserver;
|
||||||
|
JsMutationObserver._isPolyfilled = true;
|
||||||
|
}
|
||||||
})(self);
|
})(self);
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
||||||
* Code distributed by Google as part of the polymer project is also
|
* Code distributed by Google as part of the polymer project is also
|
||||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
*/
|
*/
|
||||||
// @version 0.7.14
|
// @version 0.7.15
|
||||||
if (typeof WeakMap === "undefined") {
|
if (typeof WeakMap === "undefined") {
|
||||||
(function() {
|
(function() {
|
||||||
var defineProperty = Object.defineProperty;
|
var defineProperty = Object.defineProperty;
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "webcomponentsjs",
|
"name": "webcomponentsjs",
|
||||||
"main": "webcomponents.js",
|
"main": "webcomponents.js",
|
||||||
"version": "0.7.14",
|
"version": "0.7.15",
|
||||||
"homepage": "http://webcomponents.org",
|
"homepage": "http://webcomponents.org",
|
||||||
"authors": [
|
"authors": [
|
||||||
"The Polymer Authors"
|
"The Polymer Authors"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue