blob: 1d542c9bceab293ae0c3cb88078f201d2db92e50 [file] [log] [blame]
dpapadaf56a412017-09-22 21:13:341<link rel="import" href="chrome://resources/html/polymer.html">
2
dpapadaf56a412017-09-22 21:13:343<link rel="import" href="chrome://resources/polymer/v1_0/paper-behaviors/paper-ripple-behavior.html">
4
5<dom-module id="cr-toggle">
6 <template>
7 <style>
8 :host {
9 cursor: pointer;
10 display: block;
dpapadc6ab9312017-11-15 00:52:4511 outline: none;
dpapadaf56a412017-09-22 21:13:3412 }
13
14 :host([disabled]) {
15 cursor: initial;
16 pointer-events: none;
17 }
18
19 #container {
dpapadaf56a412017-09-22 21:13:3420 position: relative;
21 width: 34px;
dpapadade6d752017-10-26 17:59:4022 z-index: 0;
dpapadaf56a412017-09-22 21:13:3423 }
24
25 #bar {
26 background-color: var(--cr-toggle-unchecked-bar-color, black);
27 border-radius: 8px;
28 height: 12px;
29 left: 3px;
30 opacity: 0.4;
31 position: absolute;
32 top: 2px;
33 transition: background-color linear 80ms;
34 width: 28px;
35 z-index: 0;
36 }
37
38 :host([checked]) #bar {
39 background-color: var(
40 --cr-toggle-checked-bar-color, var(--google-blue-500));
41 }
42
43 :host([disabled]) #bar {
44 background-color: black;
45 opacity: 0.12;
46 }
47
48 #button {
49 background-color: var(
50 --cr-toggle-unchecked-button-color, var(--paper-grey-50));
51 border-radius: 50%;
52 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4);
53 height: 16px;
54 position: relative;
55 transition: transform linear 80ms, background-color linear 80ms;
56 width: 16px;
57 z-index: 1;
58 }
59
60 :host([checked]) #button {
61 background-color: var(
62 --cr-toggle-checked-button-color, var(--google-blue-500));
63 transform: translate3d(18px, 0, 0);
64 }
65
66 :host-context([dir=rtl]):host([checked]) #button {
67 transform: translate3d(-18px, 0, 0);
68 }
69
70 :host([disabled]) #button {
71 background-color: #bdbdbd;
72 opacity: 1;
73 }
74
75 paper-ripple {
76 color: var(--cr-toggle-unchecked-ink-color, var(--primary-text-color));
77 height: 40px;
78 left: -12px;
79 opacity: 0.5;
80 pointer-events: none;
81 top: -12px;
82 transition: color linear 80ms;
83 width: 40px;
84 }
85
86 :host-context([dir=rtl]) paper-ripple {
87 left: auto;
88 right: -12px;
89 }
90
91 :host([checked]) paper-ripple {
92 color: var(--cr-toggle-checked-ink-color, var(--primary-color));
93 }
94 </style>
dpapadc6ab9312017-11-15 00:52:4595 <div id="container">
dpapadaf56a412017-09-22 21:13:3496 <div id="bar"></div>
97 <div id="button"></div>
98 </div>
99 </template>
100 <script src="cr_toggle.js"></script>
101</dom-module>