OLD | NEW |
| (Empty) |
1 /* | |
2 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. | |
3 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt | |
4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt | |
5 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt | |
6 Code distributed by Google as part of the polymer project is also | |
7 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt | |
8 */ | |
9 | |
10 :host { | |
11 display: inline-block; | |
12 width: 200px; | |
13 cursor: default; | |
14 } | |
15 | |
16 :host(:focus) { | |
17 outline: none; | |
18 } | |
19 | |
20 #sliderContainer { | |
21 position: relative; | |
22 width: calc(100% - 32px); | |
23 height: 32px; | |
24 } | |
25 | |
26 #sliderContainer.editable { | |
27 float: left; | |
28 width: calc(100% - 72px); | |
29 margin: 12px 0; | |
30 } | |
31 | |
32 .bar-container { | |
33 position: absolute; | |
34 top: 0; | |
35 left: 16px; | |
36 height: 100%; | |
37 width: 100%; | |
38 overflow: hidden; | |
39 } | |
40 | |
41 .ring > .bar-container { | |
42 left: 20px; | |
43 width: calc(100% - 4px); | |
44 transition: left 0.18s ease, width 0.18s ease; | |
45 } | |
46 | |
47 .ring.expand:not(.pin) > .bar-container { | |
48 left: 30px; | |
49 width: calc(100% - 14px); | |
50 } | |
51 | |
52 .ring.expand.dragging > .bar-container { | |
53 transition: none; | |
54 } | |
55 | |
56 #sliderBar { | |
57 position: absolute; | |
58 top: 15px; | |
59 left: 0; | |
60 height: 2px; | |
61 width: 100%; | |
62 padding: 8px 0; | |
63 margin: -8px 0; | |
64 } | |
65 | |
66 .ring #sliderBar { | |
67 left: -4px; | |
68 width: calc(100% + 4px); | |
69 } | |
70 | |
71 .ring.expand:not(.pin) #sliderBar { | |
72 left: -14px; | |
73 width: calc(100% + 14px); | |
74 } | |
75 | |
76 .slider-markers { | |
77 position: absolute; | |
78 top: 15px; | |
79 left: 15px; | |
80 height: 2px; | |
81 width: calc(100% + 2px); | |
82 box-sizing: border-box; | |
83 pointer-events: none; | |
84 } | |
85 | |
86 .slider-markers::after, .slider-marker::after { | |
87 content: ""; | |
88 display: block; | |
89 width: 2px; | |
90 height: 2px; | |
91 border-radius: 50%; | |
92 background-color: black; | |
93 } | |
94 | |
95 #sliderBar::shadow #activeProgress { | |
96 background-color: #3f51b5; | |
97 } | |
98 | |
99 .transiting #sliderBar::shadow #activeProgress { | |
100 transition: width 0.08s ease; | |
101 } | |
102 | |
103 #sliderKnob { | |
104 position: absolute; | |
105 left: 0; | |
106 top: 0; | |
107 width: 32px; | |
108 height: 32px; | |
109 } | |
110 | |
111 .transiting > #sliderKnob { | |
112 transition: left 0.08s ease; | |
113 } | |
114 | |
115 #sliderKnob:focus { | |
116 outline: none; | |
117 } | |
118 | |
119 #sliderKnob.dragging { | |
120 transition: none; | |
121 } | |
122 | |
123 .snaps > #sliderKnob.dragging { | |
124 transition: -webkit-transform 0.08s ease; | |
125 transition: transform 0.08s ease; | |
126 } | |
127 | |
128 #sliderKnobInner { | |
129 width: 12px; | |
130 height: 12px; | |
131 box-sizing: border-box; | |
132 -moz-box-sizing: border-box; | |
133 border-radius: 50%; | |
134 background-color: #3f51b5; | |
135 /* FIXME(ffu): can't use the following. https://github.com/Polymer/platform/is
sues/53 */ | |
136 /* transition-property: height, width, background-color, border; | |
137 transition-duration: 0.1s; | |
138 transition-timing-function: ease; */ | |
139 transition: height 0.18s ease, width 0.18s ease; | |
140 } | |
141 | |
142 .expand:not(.pin) > #sliderKnob > #sliderKnobInner { | |
143 width: 100%; | |
144 height: 100%; | |
145 -webkit-transform: translateZ(0); | |
146 transform: translateZ(0); | |
147 } | |
148 | |
149 .ring > #sliderKnob > #sliderKnobInner { | |
150 background-color: transparent; | |
151 border: 2px solid #c8c8c8; | |
152 } | |
153 | |
154 #sliderKnobInner::before { | |
155 background-color: #3f51b5; | |
156 } | |
157 | |
158 .pin > #sliderKnob > #sliderKnobInner::before { | |
159 content: ""; | |
160 position: absolute; | |
161 top: 0; | |
162 left: 0; | |
163 width: 26px; | |
164 height: 26px; | |
165 margin-left: 3px; | |
166 border-radius: 50% 50% 50% 0; | |
167 -webkit-transform: rotate(-45deg) scale(0) translate(0); | |
168 transform: rotate(-45deg) scale(0) translate(0); | |
169 } | |
170 | |
171 #sliderKnobInner::before, #sliderKnobInner::after { | |
172 transition: -webkit-transform .2s ease, background-color .18s ease; | |
173 transition: transform .2s ease, background-color .18s ease; | |
174 } | |
175 | |
176 .pin.ring > #sliderKnob > #sliderKnobInner::before { | |
177 background-color: #c8c8c8; | |
178 } | |
179 | |
180 .pin.expand > #sliderKnob > #sliderKnobInner::before { | |
181 -webkit-transform: rotate(-45deg) scale(1) translate(17px, -17px); | |
182 transform: rotate(-45deg) scale(1) translate(17px, -17px); | |
183 } | |
184 | |
185 .pin > #sliderKnob > #sliderKnobInner::after { | |
186 content: attr(value); | |
187 position: absolute; | |
188 top: 0; | |
189 left: 0; | |
190 width: 32px; | |
191 height: 26px; | |
192 text-align: center; | |
193 color: #fff; | |
194 font-size: 10px; | |
195 -webkit-transform: scale(0) translate(0); | |
196 transform: scale(0) translate(0); | |
197 } | |
198 | |
199 .pin.expand > #sliderKnob > #sliderKnobInner::after { | |
200 -webkit-transform: scale(1) translate(0, -17px); | |
201 transform: scale(1) translate(0, -17px); | |
202 } | |
203 | |
204 /* editable: paper-input */ | |
205 .slider-input { | |
206 width: 40px; | |
207 float: right; | |
208 overflow: hidden; | |
209 } | |
210 | |
211 .slider-input::shadow input { | |
212 /* FIXME(ffu): should one be able set text-align directly on paper-input? */ | |
213 text-align: center; | |
214 } | |
215 | |
216 /* disabled state */ | |
217 #sliderContainer.disabled { | |
218 pointer-events: none; | |
219 } | |
220 | |
221 .disabled > #sliderKnob > #sliderKnobInner { | |
222 width: 8px; | |
223 height: 8px; | |
224 background-color: #c8c8c8; | |
225 } | |
226 | |
227 .disabled.ring > #sliderKnob > #sliderKnobInner { | |
228 background-color: transparent; | |
229 } | |
230 | |
231 #sliderContainer.disabled #sliderBar::shadow #activeProgress { | |
232 background-color: #c8c8c8; | |
233 } | |
OLD | NEW |