polymer-paper-rails 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -18
- data/app/assets/components/core-a11y-keys/core-a11y-keys.html +4 -4
- data/app/assets/components/core-animation/web-animations.html +1 -1
- data/app/assets/components/core-collapse/core-collapse.html +1 -1
- data/app/assets/components/core-drawer-panel/core-drawer-panel.css +14 -6
- data/app/assets/components/core-drawer-panel/core-drawer-panel.html +32 -8
- data/app/assets/components/core-dropdown/core-dropdown.html +8 -2
- data/app/assets/components/core-icon/core-icon.html +0 -2
- data/app/assets/components/core-icons/av-icons.html +2 -9
- data/app/assets/components/core-icons/communication-icons.html +39 -42
- data/app/assets/components/core-icons/core-icons.html +231 -235
- data/app/assets/components/core-icons/device-icons.html +75 -90
- data/app/assets/components/core-icons/editor-icons.html +52 -52
- data/app/assets/components/core-icons/hardware-icons.html +40 -41
- data/app/assets/components/core-icons/image-icons.html +133 -137
- data/app/assets/components/core-icons/maps-icons.html +55 -57
- data/app/assets/components/core-icons/notification-icons.html +34 -34
- data/app/assets/components/core-icons/social-icons.html +23 -37
- data/app/assets/components/core-menu/core-menu.html +8 -3
- data/app/assets/components/core-menu/core-submenu.html +2 -2
- data/app/assets/components/core-overlay/core-key-helper.html +3 -0
- data/app/assets/components/core-overlay/core-overlay-layer.html +3 -0
- data/app/assets/components/core-overlay/core-overlay.html +20 -4
- data/app/assets/components/core-resizable/core-resizable.html +248 -0
- data/app/assets/components/core-scroll-header-panel/core-scroll-header-panel.html +14 -3
- data/app/assets/components/core-selection/core-selection.html +1 -1
- data/app/assets/components/core-selector/core-selector.html +26 -26
- data/app/assets/components/core-style/core-style.html +1 -1
- data/app/assets/components/core-toolbar/core-toolbar.html +1 -1
- data/app/assets/components/paper-button/paper-button-base.html +56 -12
- data/app/assets/components/paper-button/paper-button.html +22 -5
- data/app/assets/components/paper-checkbox/paper-checkbox.css +65 -184
- data/app/assets/components/paper-checkbox/paper-checkbox.html +47 -55
- data/app/assets/components/paper-dialog/paper-action-dialog.html +3 -3
- data/app/assets/components/paper-dialog/paper-dialog.html +2 -2
- data/app/assets/components/paper-dropdown-menu/paper-dropdown-menu.html +4 -1
- data/app/assets/components/{core-elements → paper-elements}/metadata.html +0 -0
- data/app/assets/components/{core-elements → paper-elements}/paper-elements.html +1 -0
- data/app/assets/components/paper-fab/paper-fab.html +2 -2
- data/app/assets/components/paper-input/paper-autogrow-textarea.html +8 -3
- data/app/assets/components/paper-input/paper-char-counter.html +121 -0
- data/app/assets/components/paper-input/paper-input-decorator.css +1 -21
- data/app/assets/components/paper-input/paper-input-decorator.html +130 -51
- data/app/assets/components/paper-input/paper-input.html +31 -5
- data/app/assets/components/paper-item/paper-item.html +1 -2
- data/app/assets/components/paper-progress/paper-progress.html +1 -1
- data/app/assets/components/paper-radio-button/paper-radio-button.css +16 -12
- data/app/assets/components/paper-radio-button/paper-radio-button.html +9 -3
- data/app/assets/components/paper-ripple/paper-ripple.html +2 -1
- data/app/assets/components/paper-shadow/paper-shadow.css +10 -10
- data/app/assets/components/paper-shadow/paper-shadow.html +8 -1
- data/app/assets/components/paper-slider/paper-slider.html +28 -4
- data/app/assets/components/paper-spinner/paper-spinner.css +35 -23
- data/app/assets/components/paper-spinner/paper-spinner.html +46 -5
- data/app/assets/components/paper-tabs/paper-tabs.css +5 -0
- data/app/assets/components/paper-tabs/paper-tabs.html +32 -7
- data/app/assets/components/paper-toggle-button/paper-toggle-button.css +58 -30
- data/app/assets/components/paper-toggle-button/paper-toggle-button.html +69 -44
- data/app/assets/components/sampler-scaffold/sampler-scaffold.css +1 -1
- data/app/assets/components/web-animations-js/web-animations-next-lite.min.js +17 -0
- data/app/assets/components/web-animations-js/web-animations-next.min.js +17 -0
- data/app/assets/components/web-animations-js/web-animations.min.js +17 -0
- data/app/assets/components/webcomponentsjs/CustomElements.js +634 -0
- data/app/assets/components/webcomponentsjs/CustomElements.min.js +11 -0
- data/app/assets/components/webcomponentsjs/HTMLImports.js +764 -0
- data/app/assets/components/webcomponentsjs/HTMLImports.min.js +11 -0
- data/app/assets/components/webcomponentsjs/ShadowDOM.js +4277 -0
- data/app/assets/components/webcomponentsjs/ShadowDOM.min.js +13 -0
- data/app/assets/components/webcomponentsjs/package.json +31 -0
- data/app/assets/components/webcomponentsjs/webcomponents-lite.js +1728 -0
- data/app/assets/components/webcomponentsjs/webcomponents-lite.min.js +11 -0
- data/app/assets/components/webcomponentsjs/webcomponents.js +6114 -0
- data/app/assets/components/webcomponentsjs/webcomponents.min.js +14 -0
- data/lib/polymer-paper-rails/version.rb +1 -1
- metadata +20 -71
- data/app/assets/components/core-dropdown/metadata.html +0 -62
- data/app/assets/components/core-icons/png-icons.html +0 -19
- data/app/assets/components/core-label/core-label.html +0 -124
- data/app/assets/components/core-overlay/tests/html/core-overlay-basic.html +0 -127
- data/app/assets/components/core-overlay/tests/html/core-overlay-positioning-margin.html +0 -153
- data/app/assets/components/core-overlay/tests/html/core-overlay-positioning.html +0 -167
- data/app/assets/components/core-overlay/tests/html/core-overlay-scroll.html +0 -130
- data/app/assets/components/core-overlay/tests/js/htmltests.js +0 -6
- data/app/assets/components/core-overlay/tests/runner.html +0 -14
- data/app/assets/components/core-overlay/tests/tests.json +0 -6
- data/app/assets/components/core-popup-menu/core-popup-menu.css +0 -28
- data/app/assets/components/core-popup-menu/core-popup-menu.html +0 -198
- data/app/assets/components/core-popup-menu/core-popup-overlay.html +0 -111
- data/app/assets/components/core-popup-menu/metadata.html +0 -62
- data/app/assets/components/paper-focusable/paper-focusable.html +0 -146
- data/app/assets/components/platform/platform.js +0 -16
- data/app/assets/components/web-animations-js/web-animations.js +0 -5529
- data/app/assets/components/web-animations-next/Gruntfile.js +0 -279
- data/app/assets/components/web-animations-next/History.md +0 -76
- data/app/assets/components/web-animations-next/package.json +0 -33
- data/app/assets/components/web-animations-next/src/animation-constructor.js +0 -139
- data/app/assets/components/web-animations-next/src/animation-node.js +0 -31
- data/app/assets/components/web-animations-next/src/animation.js +0 -65
- data/app/assets/components/web-animations-next/src/apply-preserving-inline-style.js +0 -192
- data/app/assets/components/web-animations-next/src/apply.js +0 -25
- data/app/assets/components/web-animations-next/src/box-handler.js +0 -57
- data/app/assets/components/web-animations-next/src/color-handler.js +0 -62
- data/app/assets/components/web-animations-next/src/deprecation.js +0 -42
- data/app/assets/components/web-animations-next/src/dev.js +0 -16
- data/app/assets/components/web-animations-next/src/dimension-handler.js +0 -167
- data/app/assets/components/web-animations-next/src/effect-callback.js +0 -86
- data/app/assets/components/web-animations-next/src/effect.js +0 -110
- data/app/assets/components/web-animations-next/src/element-animatable.js +0 -19
- data/app/assets/components/web-animations-next/src/font-weight-handler.js +0 -42
- data/app/assets/components/web-animations-next/src/group-constructors.js +0 -81
- data/app/assets/components/web-animations-next/src/handler-utils.js +0 -177
- data/app/assets/components/web-animations-next/src/interpolation.js +0 -49
- data/app/assets/components/web-animations-next/src/matrix-decomposition.js +0 -452
- data/app/assets/components/web-animations-next/src/matrix-interpolation.js +0 -130
- data/app/assets/components/web-animations-next/src/maxifill-player.js +0 -162
- data/app/assets/components/web-animations-next/src/normalize-keyframes.js +0 -259
- data/app/assets/components/web-animations-next/src/number-handler.js +0 -72
- data/app/assets/components/web-animations-next/src/player.js +0 -193
- data/app/assets/components/web-animations-next/src/position-handler.js +0 -117
- data/app/assets/components/web-animations-next/src/property-interpolation.js +0 -62
- data/app/assets/components/web-animations-next/src/property-names.js +0 -35
- data/app/assets/components/web-animations-next/src/scope.js +0 -20
- data/app/assets/components/web-animations-next/src/shadow-handler.js +0 -108
- data/app/assets/components/web-animations-next/src/shape-handler.js +0 -85
- data/app/assets/components/web-animations-next/src/tick.js +0 -148
- data/app/assets/components/web-animations-next/src/timeline.js +0 -77
- data/app/assets/components/web-animations-next/src/timing-utilities.js +0 -242
- data/app/assets/components/web-animations-next/src/transform-handler.js +0 -262
- data/app/assets/components/web-animations-next/src/visibility-handler.js +0 -29
- data/app/assets/components/web-animations-next/target-config.js +0 -124
- data/app/assets/components/web-animations-next/target-loader.js +0 -13
- data/app/assets/components/web-animations-next/templates/boilerplate +0 -13
- data/app/assets/components/web-animations-next/templates/runner.html +0 -26
- data/app/assets/components/web-animations-next/templates/web-animations.html +0 -18
- data/app/assets/components/web-animations-next/templates/web-animations.js +0 -21
- data/app/assets/components/web-animations-next/web-animations-next-lite.dev.html +0 -44
- data/app/assets/components/web-animations-next/web-animations-next-lite.dev.js +0 -21
- data/app/assets/components/web-animations-next/web-animations-next.dev.html +0 -49
- data/app/assets/components/web-animations-next/web-animations-next.dev.js +0 -21
- data/app/assets/components/web-animations-next/web-animations.dev.html +0 -44
- data/app/assets/components/web-animations-next/web-animations.dev.js +0 -21
- data/app/assets/components/web-animations-next/web-animations.html +0 -50
@@ -36,6 +36,11 @@ Use `paper-input-decorator` directly, or see
|
|
36
36
|
<a href="https://github.com/garstasio/ajax-form">`ajax-form`</a> for a possible solution
|
37
37
|
to submitting a `paper-input`.
|
38
38
|
|
39
|
+
Validation
|
40
|
+
----------
|
41
|
+
|
42
|
+
Use `paper-input-decorator` if you would like to implement validation.
|
43
|
+
|
39
44
|
@group Paper Elements
|
40
45
|
@element paper-input
|
41
46
|
@homepage github.io
|
@@ -56,7 +61,7 @@ to submitting a `paper-input`.
|
|
56
61
|
</style>
|
57
62
|
|
58
63
|
<paper-input-decorator id="decorator" label="{{label}}" floatingLabel="{{floatingLabel}}" value="{{value}}" disabled?="{{disabled}}">
|
59
|
-
<input is="core-input" value="{{value}}" committedValue="{{committedValue}}" on-change="{{changeAction}}" disabled?="{{disabled}}">
|
64
|
+
<input is="core-input" id="input" value="{{value}}" committedValue="{{committedValue}}" on-change="{{changeAction}}" disabled?="{{disabled}}">
|
60
65
|
</paper-input-decorator>
|
61
66
|
|
62
67
|
</template>
|
@@ -95,21 +100,42 @@ to submitting a `paper-input`.
|
|
95
100
|
*/
|
96
101
|
disabled: {value: false, reflect: true},
|
97
102
|
|
103
|
+
/**
|
104
|
+
* The current value of the input.
|
105
|
+
*
|
106
|
+
* @attribute value
|
107
|
+
* @type String
|
108
|
+
* @default ''
|
109
|
+
*/
|
98
110
|
value: '',
|
99
111
|
|
112
|
+
/**
|
113
|
+
* The most recently committed value of the input.
|
114
|
+
*
|
115
|
+
* @attribute committedValue
|
116
|
+
* @type String
|
117
|
+
* @default ''
|
118
|
+
*/
|
100
119
|
committedValue: ''
|
101
120
|
|
102
121
|
},
|
103
122
|
|
123
|
+
/**
|
124
|
+
* Focuses the `input`.
|
125
|
+
*
|
126
|
+
* @method focus
|
127
|
+
*/
|
128
|
+
focus: function() {
|
129
|
+
this.$.input.focus();
|
130
|
+
},
|
131
|
+
|
104
132
|
valueChanged: function() {
|
105
133
|
this.$.decorator.updateLabelVisibility(this.value);
|
106
134
|
},
|
107
135
|
|
108
136
|
changeAction: function(e) {
|
109
|
-
|
110
|
-
|
111
|
-
this.fire('change', null, this);
|
112
|
-
}
|
137
|
+
// re-fire event that does not bubble across shadow roots
|
138
|
+
this.fire('change', null, this);
|
113
139
|
}
|
114
140
|
|
115
141
|
});
|
@@ -21,7 +21,7 @@ progress, such as the buffer level during a streaming playback progress bar.
|
|
21
21
|
|
22
22
|
Example:
|
23
23
|
|
24
|
-
<paper-progress value="10"
|
24
|
+
<paper-progress value="10" secondaryProgress="30"></paper-progress>
|
25
25
|
|
26
26
|
Styling progress bar:
|
27
27
|
|
@@ -50,25 +50,30 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|
50
50
|
border-radius: 50%;
|
51
51
|
border: solid 2px;
|
52
52
|
border-color: #5a5a5a;
|
53
|
+
transition: border-color 0.28s;
|
54
|
+
}
|
55
|
+
|
56
|
+
:host([checked]) #offRadio {
|
57
|
+
border-color: #009688;
|
53
58
|
}
|
54
59
|
|
55
60
|
#onRadio {
|
56
61
|
position: absolute;
|
57
|
-
top:
|
58
|
-
left:
|
59
|
-
width:
|
60
|
-
height:
|
62
|
+
top: 4px;
|
63
|
+
left: 4px;
|
64
|
+
width: 8px;
|
65
|
+
height: 8px;
|
61
66
|
border-radius: 50%;
|
62
|
-
background-color: #
|
67
|
+
background-color: #009688;
|
63
68
|
-webkit-transform: scale(0);
|
64
69
|
transform: scale(0);
|
65
70
|
transition: -webkit-transform ease 0.28s;
|
66
71
|
transition: transform ease 0.28s;
|
67
72
|
}
|
68
73
|
|
69
|
-
#onRadio
|
70
|
-
-webkit-transform: scale(1
|
71
|
-
transform: scale(1
|
74
|
+
:host([checked]) #onRadio {
|
75
|
+
-webkit-transform: scale(1);
|
76
|
+
transform: scale(1);
|
72
77
|
}
|
73
78
|
|
74
79
|
#radioLabel {
|
@@ -89,16 +94,15 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|
89
94
|
pointer-events: none;
|
90
95
|
}
|
91
96
|
|
97
|
+
:host([disabled]) #offRadio,
|
92
98
|
:host([disabled]) #onRadio {
|
93
|
-
|
99
|
+
opacity: 0.33;
|
94
100
|
}
|
95
101
|
|
96
102
|
:host([disabled]) #offRadio {
|
97
|
-
opacity: 0.33;
|
98
103
|
border-color: #5a5a5a;
|
99
104
|
}
|
100
105
|
|
101
|
-
:host([disabled][checked]) #
|
102
|
-
opacity: 0.33;
|
106
|
+
:host([disabled][checked]) #onRadio {
|
103
107
|
background-color: #5a5a5a;
|
104
108
|
}
|
@@ -32,7 +32,11 @@ To change the radio checked color:
|
|
32
32
|
paper-radio-button::shadow #onRadio {
|
33
33
|
background-color: #4285f4;
|
34
34
|
}
|
35
|
-
|
35
|
+
|
36
|
+
paper-radio-button[checked]::shadow #offRadio {
|
37
|
+
border-color: #4285f4;
|
38
|
+
}
|
39
|
+
|
36
40
|
To change the ink color for unchecked state:
|
37
41
|
|
38
42
|
paper-radio-button::shadow #ink {
|
@@ -133,6 +137,9 @@ To change the radio unchecked color:
|
|
133
137
|
},
|
134
138
|
|
135
139
|
tap: function() {
|
140
|
+
if (this.disabled) {
|
141
|
+
return;
|
142
|
+
}
|
136
143
|
var old = this.checked;
|
137
144
|
this.toggle();
|
138
145
|
if (this.checked !== old) {
|
@@ -145,8 +152,7 @@ To change the radio unchecked color:
|
|
145
152
|
},
|
146
153
|
|
147
154
|
checkedChanged: function() {
|
148
|
-
this
|
149
|
-
this.setAttribute('aria-checked', this.checked ? 'true': 'false');
|
155
|
+
this.setAttribute('aria-checked', this.checked ? 'true' : 'false');
|
150
156
|
this.fire('core-change');
|
151
157
|
},
|
152
158
|
|
@@ -44,7 +44,8 @@ Styling ripple effect:
|
|
44
44
|
Note that CSS color property is inherited so it is not required to set it on
|
45
45
|
the `paper-ripple` element directly.
|
46
46
|
|
47
|
-
|
47
|
+
By default, the ripple is centered on the point of contact. Apply `recenteringTouch`
|
48
|
+
class to have the ripple grow toward the center of its container.
|
48
49
|
|
49
50
|
<paper-ripple class="recenteringTouch"></paper-ripple>
|
50
51
|
|
@@ -26,41 +26,41 @@ html /deep/ paper-shadow::shadow #shadow-top[animated] {
|
|
26
26
|
}
|
27
27
|
|
28
28
|
html /deep/ .paper-shadow-top-z-1 {
|
29
|
-
box-shadow:
|
29
|
+
box-shadow: none;
|
30
30
|
}
|
31
31
|
|
32
32
|
html /deep/ .paper-shadow-bottom-z-1 {
|
33
|
-
box-shadow: 0
|
33
|
+
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
|
34
34
|
}
|
35
35
|
|
36
36
|
html /deep/ .paper-shadow-top-z-2 {
|
37
|
-
box-shadow: 0
|
37
|
+
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
|
38
38
|
}
|
39
39
|
|
40
40
|
html /deep/ .paper-shadow-bottom-z-2 {
|
41
|
-
box-shadow: 0
|
41
|
+
box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3);
|
42
42
|
}
|
43
43
|
|
44
44
|
html /deep/ .paper-shadow-top-z-3 {
|
45
|
-
box-shadow: 0
|
45
|
+
box-shadow: 0 11px 7px 0 rgba(0, 0, 0, 0.19);
|
46
46
|
}
|
47
47
|
|
48
48
|
html /deep/ .paper-shadow-bottom-z-3 {
|
49
|
-
box-shadow: 0
|
49
|
+
box-shadow: 0 13px 25px 0 rgba(0, 0, 0, 0.3);
|
50
50
|
}
|
51
51
|
|
52
52
|
html /deep/ .paper-shadow-top-z-4 {
|
53
|
-
box-shadow: 0
|
53
|
+
box-shadow: 0 14px 12px 0 rgba(0, 0, 0, 0.17);
|
54
54
|
}
|
55
55
|
|
56
56
|
html /deep/ .paper-shadow-bottom-z-4 {
|
57
|
-
box-shadow: 0
|
57
|
+
box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.3);
|
58
58
|
}
|
59
59
|
|
60
60
|
html /deep/ .paper-shadow-top-z-5 {
|
61
|
-
box-shadow: 0
|
61
|
+
box-shadow: 0 17px 17px 0 rgba(0, 0, 0, 0.15);
|
62
62
|
}
|
63
63
|
|
64
64
|
html /deep/ .paper-shadow-bottom-z-5 {
|
65
|
-
box-shadow: 0 27px
|
65
|
+
box-shadow: 0 27px 55px 0 rgba(0, 0, 0, 0.3);
|
66
66
|
}
|
@@ -64,6 +64,13 @@ Example:
|
|
64
64
|
|
65
65
|
},
|
66
66
|
|
67
|
+
/**
|
68
|
+
* Set the z-depth of the shadow. This should be used after element
|
69
|
+
* creation instead of setting the z property directly.
|
70
|
+
*
|
71
|
+
* @method setZ
|
72
|
+
* @param {Number} newZ
|
73
|
+
*/
|
67
74
|
setZ: function(newZ) {
|
68
75
|
if (this.z !== newZ) {
|
69
76
|
this.$['shadow-bottom'].classList.remove('paper-shadow-bottom-z-' + this.z);
|
@@ -76,4 +83,4 @@ Example:
|
|
76
83
|
|
77
84
|
});
|
78
85
|
</script>
|
79
|
-
</polymer-element>
|
86
|
+
</polymer-element>
|
@@ -116,6 +116,12 @@ To change the slider secondary progress bar color:
|
|
116
116
|
*
|
117
117
|
* @event core-change
|
118
118
|
*/
|
119
|
+
|
120
|
+
/**
|
121
|
+
* Fired when the slider's immediateValue changes.
|
122
|
+
*
|
123
|
+
* @event immediate-value-change
|
124
|
+
*/
|
119
125
|
|
120
126
|
/**
|
121
127
|
* Fired when the slider's value changes due to user interaction.
|
@@ -183,9 +189,17 @@ To change the slider secondary progress bar color:
|
|
183
189
|
* @type number
|
184
190
|
* @default 0
|
185
191
|
*/
|
186
|
-
|
187
192
|
maxMarkers: 100,
|
188
|
-
|
193
|
+
|
194
|
+
/**
|
195
|
+
* True when the user is dragging the slider.
|
196
|
+
*
|
197
|
+
* @attribute dragging
|
198
|
+
* @type boolean
|
199
|
+
* @default false
|
200
|
+
*/
|
201
|
+
dragging: false,
|
202
|
+
|
189
203
|
observe: {
|
190
204
|
'step snaps': 'update'
|
191
205
|
},
|
@@ -227,6 +241,7 @@ To change the slider secondary progress bar color:
|
|
227
241
|
if (!this.dragging) {
|
228
242
|
this.value = this.immediateValue;
|
229
243
|
}
|
244
|
+
this.fire('immediate-value-change');
|
230
245
|
},
|
231
246
|
|
232
247
|
expandKnob: function() {
|
@@ -297,7 +312,7 @@ To change the slider secondary progress bar color:
|
|
297
312
|
var ratio = (e.x - rect.left) / this._w;
|
298
313
|
this.positionKnob(ratio);
|
299
314
|
this.expandJob = this.job(this.expandJob, this.expandKnob, 60);
|
300
|
-
this.
|
315
|
+
this.asyncFire('change');
|
301
316
|
},
|
302
317
|
|
303
318
|
knobTransitionEnd: function(e) {
|
@@ -307,7 +322,8 @@ To change the slider secondary progress bar color:
|
|
307
322
|
},
|
308
323
|
|
309
324
|
updateMarkers: function() {
|
310
|
-
this.markers = []
|
325
|
+
this.markers = [];
|
326
|
+
var l = (this.max - this.min) / this.step;
|
311
327
|
if (!this.snaps && l > this.maxMarkers) {
|
312
328
|
return;
|
313
329
|
}
|
@@ -316,10 +332,18 @@ To change the slider secondary progress bar color:
|
|
316
332
|
}
|
317
333
|
},
|
318
334
|
|
335
|
+
/**
|
336
|
+
* Increases value by `step` but not above `max`.
|
337
|
+
* @method increment
|
338
|
+
*/
|
319
339
|
increment: function() {
|
320
340
|
this.value = this.clampValue(this.value + this.step);
|
321
341
|
},
|
322
342
|
|
343
|
+
/**
|
344
|
+
* Decreases value by `step` but not below `min`.
|
345
|
+
* @method decrement
|
346
|
+
*/
|
323
347
|
decrement: function() {
|
324
348
|
this.value = this.clampValue(this.value - this.step);
|
325
349
|
},
|
@@ -134,75 +134,87 @@
|
|
134
134
|
to { transform: rotate(1080deg); } /* 4 * ARCSIZE */
|
135
135
|
}
|
136
136
|
|
137
|
+
/**
|
138
|
+
* HACK: Even though the intention is to have the current .spinner-layer at
|
139
|
+
* `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome
|
140
|
+
* to do proper subpixel rendering for the elements being animated. This is
|
141
|
+
* especially visible in Chrome 39 on Ubuntu 14.04. See:
|
142
|
+
*
|
143
|
+
* - https://github.com/Polymer/paper-spinner/issues/9
|
144
|
+
* - https://code.google.com/p/chromium/issues/detail?id=436255
|
145
|
+
*/
|
137
146
|
@-webkit-keyframes blue-fade-in-out {
|
138
|
-
from { opacity:
|
139
|
-
25% { opacity:
|
147
|
+
from { opacity: 0.99; }
|
148
|
+
25% { opacity: 0.99; }
|
140
149
|
26% { opacity: 0; }
|
141
150
|
89% { opacity: 0; }
|
142
|
-
90% { opacity:
|
143
|
-
100% { opacity:
|
151
|
+
90% { opacity: 0.99; }
|
152
|
+
100% { opacity: 0.99; }
|
144
153
|
}
|
145
154
|
|
146
155
|
@keyframes blue-fade-in-out {
|
147
|
-
from { opacity:
|
148
|
-
25% { opacity:
|
156
|
+
from { opacity: 0.99; }
|
157
|
+
25% { opacity: 0.99; }
|
149
158
|
26% { opacity: 0; }
|
150
159
|
89% { opacity: 0; }
|
151
|
-
90% { opacity:
|
152
|
-
100% { opacity:
|
160
|
+
90% { opacity: 0.99; }
|
161
|
+
100% { opacity: 0.99; }
|
153
162
|
}
|
154
163
|
|
155
164
|
@-webkit-keyframes red-fade-in-out {
|
156
165
|
from { opacity: 0; }
|
157
166
|
15% { opacity: 0; }
|
158
|
-
25% { opacity:
|
159
|
-
50% { opacity:
|
167
|
+
25% { opacity: 0.99; }
|
168
|
+
50% { opacity: 0.99; }
|
160
169
|
51% { opacity: 0; }
|
161
170
|
}
|
162
171
|
|
163
172
|
@keyframes red-fade-in-out {
|
164
173
|
from { opacity: 0; }
|
165
174
|
15% { opacity: 0; }
|
166
|
-
25% { opacity:
|
167
|
-
50% { opacity:
|
175
|
+
25% { opacity: 0.99; }
|
176
|
+
50% { opacity: 0.99; }
|
168
177
|
51% { opacity: 0; }
|
169
178
|
}
|
170
179
|
|
171
180
|
@-webkit-keyframes yellow-fade-in-out {
|
172
181
|
from { opacity: 0; }
|
173
182
|
40% { opacity: 0; }
|
174
|
-
50% { opacity:
|
175
|
-
75% { opacity:
|
183
|
+
50% { opacity: 0.99; }
|
184
|
+
75% { opacity: 0.99; }
|
176
185
|
76% { opacity: 0; }
|
177
186
|
}
|
178
187
|
|
179
188
|
@keyframes yellow-fade-in-out {
|
180
189
|
from { opacity: 0; }
|
181
190
|
40% { opacity: 0; }
|
182
|
-
50% { opacity:
|
183
|
-
75% { opacity:
|
191
|
+
50% { opacity: 0.99; }
|
192
|
+
75% { opacity: 0.99; }
|
184
193
|
76% { opacity: 0; }
|
185
194
|
}
|
186
195
|
|
187
196
|
@-webkit-keyframes green-fade-in-out {
|
188
197
|
from { opacity: 0; }
|
189
198
|
65% { opacity: 0; }
|
190
|
-
75% { opacity:
|
191
|
-
90% { opacity:
|
199
|
+
75% { opacity: 0.99; }
|
200
|
+
90% { opacity: 0.99; }
|
192
201
|
100% { opacity: 0; }
|
193
202
|
}
|
194
203
|
|
195
204
|
@keyframes green-fade-in-out {
|
196
205
|
from { opacity: 0; }
|
197
206
|
65% { opacity: 0; }
|
198
|
-
75% { opacity:
|
199
|
-
90% { opacity:
|
207
|
+
75% { opacity: 0.99; }
|
208
|
+
90% { opacity: 0.99; }
|
200
209
|
100% { opacity: 0; }
|
201
210
|
}
|
202
211
|
|
203
212
|
/**
|
204
213
|
* Patch the gap that appear between the two adjacent div.circle-clipper while the
|
205
214
|
* spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
|
215
|
+
*
|
216
|
+
* Update: the gap no longer appears on Chrome when .spinner-layer's opacity is 0.99,
|
217
|
+
* but still does on Safari and IE.
|
206
218
|
*/
|
207
219
|
.gap-patch {
|
208
220
|
position: absolute;
|
@@ -294,18 +306,18 @@
|
|
294
306
|
to { transform: rotate(-130deg); }
|
295
307
|
}
|
296
308
|
|
297
|
-
#spinnerContainer.
|
309
|
+
#spinnerContainer.cooldown {
|
298
310
|
/* duration: SHRINK_TIME */
|
299
311
|
-webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
|
300
312
|
animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
|
301
313
|
}
|
302
314
|
|
303
315
|
@-webkit-keyframes fade-out {
|
304
|
-
from { opacity:
|
316
|
+
from { opacity: 0.99; }
|
305
317
|
to { opacity: 0; }
|
306
318
|
}
|
307
319
|
|
308
320
|
@keyframes fade-out {
|
309
|
-
from { opacity:
|
321
|
+
from { opacity: 0.99; }
|
310
322
|
to { opacity: 0; }
|
311
323
|
}
|