Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: third_party/polymer/v0_8/components/paper-toggle-button/paper-toggle-button.html

Issue 1162563004: Upgrade to 1.0 and switch clients to dom-repeat where needed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a layout import and remove the gzipped webanimation in reproduce.sh Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/v0_8/components/paper-toggle-button/paper-toggle-button.html
diff --git a/third_party/polymer/v0_8/components/paper-toggle-button/paper-toggle-button.html b/third_party/polymer/v0_8/components/paper-toggle-button/paper-toggle-button.html
index a593ac102d355545715df6e51de36065c4893b23..8e9eee4a2f8e2deec6183b6c3767ddc6fea21c80 100644
--- a/third_party/polymer/v0_8/components/paper-toggle-button/paper-toggle-button.html
+++ b/third_party/polymer/v0_8/components/paper-toggle-button/paper-toggle-button.html
@@ -14,41 +14,44 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<!--
`paper-toggle-button` provides a ON/OFF switch that user can toggle the state
-by tapping or by dragging the swtich.
+by tapping or by dragging the switch.
Example:
<paper-toggle-button></paper-toggle-button>
-Styling toggle-button:
- <style is="x-style">
- * {
- --paper-toggle-button-unchecked-bar-color: #FF4081;
- --paper-toggle-button-unchecked-button-color: #9c27b0;
- --paper-toggle-button-unchecked-ink-color: #009688;
- --paper-toggle-button-checked-bar-color: #5677fc;
- --paper-toggle-button-checked-button-color: #ff4081;
- --paper-toggle-button-checked-ink-color: #ff4081;
- }
- </style>
+### Styling
+
+The following custom properties and mixins are available for styling:
+
+Custom property | Description | Default
+----------------|-------------|----------
+`--paper-toggle-button-unchecked-bar-color` | Slider color when the input is not checked | `#000000`
+`--paper-toggle-button-unchecked-button-color` | Button color when the input is not checked | `--paper-grey-50`
+`--paper-toggle-button-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--dark-primary-color`
+`--paper-toggle-button-checked-bar-color` | Slider button color when the input is checked | `--google-green-500`
+`--paper-toggle-button-checked-button-color` | Button color when the input is checked | `--google-green-500`
+`--paper-toggle-button-checked-ink-color` | Selected/focus ripple color when the input is checked | `--google-green-500`
@group Paper Elements
@element paper-toggle-button
+@hero hero.svg
+@demo demo/index.html
-->
+<style is="custom-style">
+ :root {
+ --paper-toggle-button-unchecked-bar-color: #000000;
+ --paper-toggle-button-unchecked-button-color: var(--paper-grey-50);
+ --paper-toggle-button-unchecked-ink-color: var(--dark-primary-color);
+
+ --paper-toggle-button-checked-bar-color: var(--google-green-500);
+ --paper-toggle-button-checked-button-color: var(--google-green-500);
+ --paper-toggle-button-checked-ink-color: var(--google-green-500);
+ }
+</style>
<dom-module id="paper-toggle-button">
- <style is="x-style">
- * {
- --paper-toggle-button-unchecked-bar-color: #000000;
- --paper-toggle-button-unchecked-button-color: #f1f1f1;
- --paper-toggle-button-unchecked-ink-color: #bbb;
- --paper-toggle-button-checked-bar-color: #0f9d58;
- --paper-toggle-button-checked-button-color: #0f9d58;
- --paper-toggle-button-checked-ink-color: #0f9d58;
- }
- </style>
-
<link rel="import" type="css" href="paper-toggle-button.css">
<template>
@@ -70,9 +73,6 @@ Styling toggle-button:
Polymer.PaperRadioButtonBehavior
],
- // The custom properties shim is currently an opt-in feature.
- enableCustomStyleProperties: true,
-
hostAttributes: {
role: 'button',
'aria-pressed': 'false',
@@ -121,14 +121,21 @@ Styling toggle-button:
},
listeners: {
- // TODO(sjmiles): tracking feature disabled until we can control
- // track/tap interaction with confidence
- //xtrack: '_ontrack'
+ track: '_ontrack'
+ },
+
+ ready: function() {
+ this._isReady = true;
},
// button-behavior hook
_buttonStateChanged: function() {
- this.checked = this.active;
+ if (this.disabled) {
+ return;
+ }
+ if (this._isReady) {
+ this.checked = this.active;
+ }
},
_checkedChanged: function(checked) {
@@ -138,33 +145,36 @@ Styling toggle-button:
_ontrack: function(event) {
var track = event.detail;
- if (track.state === 'start' ) {
- //this._preventTap = true;
+ if (track.state === 'start') {
this._trackStart(track);
- } else if (track.state === 'move' ) {
+ } else if (track.state === 'track') {
this._trackMove(track);
- } else if (track.state === 'end' ) {
+ } else if (track.state === 'end') {
this._trackEnd(track);
}
},
_trackStart: function(track) {
this._width = this.$.toggleBar.offsetWidth / 2;
- this._startx = track.x;
+ /*
+ * keep an track-only check state to keep the dragging behavior smooth
+ * while toggling activations
+ */
+ this._trackChecked = this.checked;
+ this.$.toggleButton.classList.add('dragging');
},
_trackMove: function(track) {
- var dx = track.x - this._startx;
+ var dx = track.dx;
this._x = Math.min(this._width,
- Math.max(0, this.checked ? this._width + dx : dx));
- this.$.toggleButton.classList.add('dragging');
- this.translate3d(this, this._x + 'px', 0, 0);
+ Math.max(0, this._trackChecked ? this._width + dx : dx));
+ this.translate3d(this._x + 'px', 0, 0, this.$.toggleButton);
+ this._userActivate(this._x > (this._width / 2));
},
_trackEnd: function(track) {
this.$.toggleButton.classList.remove('dragging');
- this.transform(this, '');
- this._userActivate(Math.abs(this._x) > this._width / 2);
+ this.transform('', this.$.toggleButton);
}
});

Powered by Google App Engine
This is Rietveld 408576698