material_design_lite-sass 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +11 -0
  5. data/CHANGELOG.md +5 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +108 -0
  9. data/Rakefile +4 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +7 -0
  12. data/lib/material_design_lite-sass.rb +46 -0
  13. data/lib/material_design_lite/sass/engine.rb +13 -0
  14. data/lib/material_design_lite/sass/version.rb +5 -0
  15. data/material_design_lite-sass.gemspec +28 -0
  16. data/vendor/assets/javascripts/material.js +3919 -0
  17. data/vendor/assets/javascripts/material/button.js +132 -0
  18. data/vendor/assets/javascripts/material/checkbox.js +265 -0
  19. data/vendor/assets/javascripts/material/data-table.js +149 -0
  20. data/vendor/assets/javascripts/material/icon-toggle.js +248 -0
  21. data/vendor/assets/javascripts/material/layout.js +434 -0
  22. data/vendor/assets/javascripts/material/mdlComponentHandler.js +346 -0
  23. data/vendor/assets/javascripts/material/menu.js +468 -0
  24. data/vendor/assets/javascripts/material/progress.js +116 -0
  25. data/vendor/assets/javascripts/material/rAF.js +38 -0
  26. data/vendor/assets/javascripts/material/radio.js +257 -0
  27. data/vendor/assets/javascripts/material/ripple.js +244 -0
  28. data/vendor/assets/javascripts/material/slider.js +252 -0
  29. data/vendor/assets/javascripts/material/spinner.js +140 -0
  30. data/vendor/assets/javascripts/material/switch.js +269 -0
  31. data/vendor/assets/javascripts/material/tabs.js +152 -0
  32. data/vendor/assets/javascripts/material/textfield.js +247 -0
  33. data/vendor/assets/javascripts/material/tooltip.js +146 -0
  34. data/vendor/assets/stylesheets/_material.scss +50 -0
  35. data/vendor/assets/stylesheets/material/_animation.scss +34 -0
  36. data/vendor/assets/stylesheets/material/_badge.scss +66 -0
  37. data/vendor/assets/stylesheets/material/_button.scss +298 -0
  38. data/vendor/assets/stylesheets/material/_card.scss +111 -0
  39. data/vendor/assets/stylesheets/material/_checkbox.scss +175 -0
  40. data/vendor/assets/stylesheets/material/_color-definitions.scss +599 -0
  41. data/vendor/assets/stylesheets/material/_data-table.scss +105 -0
  42. data/vendor/assets/stylesheets/material/_functions.scss +3 -0
  43. data/vendor/assets/stylesheets/material/_grid.scss +180 -0
  44. data/vendor/assets/stylesheets/material/_icon-toggle.scss +121 -0
  45. data/vendor/assets/stylesheets/material/_layout.scss +580 -0
  46. data/vendor/assets/stylesheets/material/_mega_footer.scss +309 -0
  47. data/vendor/assets/stylesheets/material/_menu.scss +193 -0
  48. data/vendor/assets/stylesheets/material/_mini_footer.scss +88 -0
  49. data/vendor/assets/stylesheets/material/_mixins.scss +268 -0
  50. data/vendor/assets/stylesheets/material/_palette.scss +2303 -0
  51. data/vendor/assets/stylesheets/material/_progress.scss +115 -0
  52. data/vendor/assets/stylesheets/material/_radio.scss +155 -0
  53. data/vendor/assets/stylesheets/material/_resets.scss +55 -0
  54. data/vendor/assets/stylesheets/material/_ripple.scss +42 -0
  55. data/vendor/assets/stylesheets/material/_shadow.scss +42 -0
  56. data/vendor/assets/stylesheets/material/_slider.scss +396 -0
  57. data/vendor/assets/stylesheets/material/_spinner.scss +248 -0
  58. data/vendor/assets/stylesheets/material/_switch.scss +199 -0
  59. data/vendor/assets/stylesheets/material/_tabs.scss +115 -0
  60. data/vendor/assets/stylesheets/material/_textfield.scss +190 -0
  61. data/vendor/assets/stylesheets/material/_tooltip.scss +66 -0
  62. data/vendor/assets/stylesheets/material/_typography.scss +297 -0
  63. data/vendor/assets/stylesheets/material/_variables.scss +572 -0
  64. data/vendor/assets/stylesheets/material/resets/_h5bp.scss +284 -0
  65. data/vendor/assets/stylesheets/material/resets/_mobile.scss +25 -0
  66. metadata +151 -0
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Copyright 2015 Google Inc. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ @import "variables";
18
+
19
+
20
+ .mdl-spinner {
21
+ display: inline-block;
22
+ position: relative;
23
+ width: $spinner-size;
24
+ height: $spinner-size;
25
+
26
+ &:not(.is-upgraded).is-active:after {
27
+ content: "Loading...";
28
+ }
29
+
30
+ &.is-upgraded.is-active {
31
+ animation: mdl-spinner__container-rotate $spinner-duration linear infinite;
32
+ }
33
+ }
34
+
35
+ @keyframes mdl-spinner__container-rotate {
36
+ to { transform: rotate(360deg) }
37
+ }
38
+
39
+ .mdl-spinner__layer {
40
+ position: absolute;
41
+ width: 100%;
42
+ height: 100%;
43
+ opacity: 0;
44
+ }
45
+
46
+ .mdl-spinner__layer-1 {
47
+ border-color: $spinner-color-1;
48
+
49
+ .mdl-spinner--single-color & {
50
+ border-color: $spinner-single-color;
51
+ }
52
+
53
+ .mdl-spinner.is-active & {
54
+ animation:
55
+ mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)
56
+ $animation-curve-fast-out-slow-in infinite both,
57
+ mdl-spinner__layer-1-fade-in-out (4 * $spinner-arc-time)
58
+ $animation-curve-fast-out-slow-in infinite both;
59
+ }
60
+ }
61
+
62
+ .mdl-spinner__layer-2 {
63
+ border-color: $spinner-color-2;
64
+
65
+ .mdl-spinner--single-color & {
66
+ border-color: $spinner-single-color;
67
+ }
68
+
69
+ .mdl-spinner.is-active & {
70
+ animation:
71
+ mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)
72
+ $animation-curve-fast-out-slow-in infinite both,
73
+ mdl-spinner__layer-2-fade-in-out (4 * $spinner-arc-time)
74
+ $animation-curve-fast-out-slow-in infinite both;
75
+ }
76
+ }
77
+
78
+ .mdl-spinner__layer-3 {
79
+ border-color: $spinner-color-3;
80
+
81
+ .mdl-spinner--single-color & {
82
+ border-color: $spinner-single-color;
83
+ }
84
+
85
+ .mdl-spinner.is-active & {
86
+ animation:
87
+ mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)
88
+ $animation-curve-fast-out-slow-in infinite both,
89
+ mdl-spinner__layer-3-fade-in-out (4 * $spinner-arc-time)
90
+ $animation-curve-fast-out-slow-in infinite both;
91
+ }
92
+ }
93
+
94
+ .mdl-spinner__layer-4 {
95
+ border-color: $spinner-color-4;
96
+
97
+ .mdl-spinner--single-color & {
98
+ border-color: $spinner-single-color;
99
+ }
100
+
101
+ .mdl-spinner.is-active & {
102
+ animation:
103
+ mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)
104
+ $animation-curve-fast-out-slow-in infinite both,
105
+ mdl-spinner__layer-4-fade-in-out (4 * $spinner-arc-time)
106
+ $animation-curve-fast-out-slow-in infinite both;
107
+ }
108
+ }
109
+
110
+ @keyframes mdl-spinner__fill-unfill-rotate {
111
+ 12.5% { transform: rotate(0.5 * $spinner-arc-size); }
112
+ 25% { transform: rotate($spinner-arc-size); }
113
+ 37.5% { transform: rotate(1.5 * $spinner-arc-size); }
114
+ 50% { transform: rotate(2 * $spinner-arc-size); }
115
+ 62.5% { transform: rotate(2.5 * $spinner-arc-size); }
116
+ 75% { transform: rotate(3 * $spinner-arc-size); }
117
+ 87.5% { transform: rotate(3.5 * $spinner-arc-size); }
118
+ to { transform: rotate(4 * $spinner-arc-size); }
119
+ }
120
+
121
+ /**
122
+ * HACK: Even though the intention is to have the current .mdl-spinner__layer-N
123
+ * at `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome
124
+ * to do proper subpixel rendering for the elements being animated. This is
125
+ * especially visible in Chrome 39 on Ubuntu 14.04. See:
126
+ *
127
+ * - https://github.com/Polymer/paper-spinner/issues/9
128
+ * - https://code.google.com/p/chromium/issues/detail?id=436255
129
+ */
130
+ @keyframes mdl-spinner__layer-1-fade-in-out {
131
+ from { opacity: 0.99; }
132
+ 25% { opacity: 0.99; }
133
+ 26% { opacity: 0; }
134
+ 89% { opacity: 0; }
135
+ 90% { opacity: 0.99; }
136
+ 100% { opacity: 0.99; }
137
+ }
138
+
139
+ @keyframes mdl-spinner__layer-2-fade-in-out {
140
+ from { opacity: 0; }
141
+ 15% { opacity: 0; }
142
+ 25% { opacity: 0.99; }
143
+ 50% { opacity: 0.99; }
144
+ 51% { opacity: 0; }
145
+ }
146
+
147
+ @keyframes mdl-spinner__layer-3-fade-in-out {
148
+ from { opacity: 0; }
149
+ 40% { opacity: 0; }
150
+ 50% { opacity: 0.99; }
151
+ 75% { opacity: 0.99; }
152
+ 76% { opacity: 0; }
153
+ }
154
+
155
+ @keyframes mdl-spinner__layer-4-fade-in-out {
156
+ from { opacity: 0; }
157
+ 65% { opacity: 0; }
158
+ 75% { opacity: 0.99; }
159
+ 90% { opacity: 0.99; }
160
+ 100% { opacity: 0; }
161
+ }
162
+
163
+ /**
164
+ * Patch the gap that appear between the two adjacent
165
+ * div.mdl-spinner__circle-clipper while the spinner is rotating
166
+ * (appears on Chrome 38, Safari 7.1, and IE 11).
167
+ *
168
+ * Update: the gap no longer appears on Chrome when .mdl-spinner__layer-N's
169
+ * opacity is 0.99, but still does on Safari and IE.
170
+ */
171
+ .mdl-spinner__gap-patch {
172
+ position: absolute;
173
+ box-sizing: border-box;
174
+ top: 0;
175
+ left: 45%;
176
+ width: 10%;
177
+ height: 100%;
178
+ overflow: hidden;
179
+ border-color: inherit;
180
+
181
+ & .mdl-spinner__circle {
182
+ width: 1000%;
183
+ left: -450%;
184
+ }
185
+ }
186
+
187
+ .mdl-spinner__circle-clipper {
188
+ display: inline-block;
189
+ position: relative;
190
+ width: 50%;
191
+ height: 100%;
192
+ overflow: hidden;
193
+ border-color: inherit;
194
+
195
+ & .mdl-spinner__circle {
196
+ width: 200%;
197
+ }
198
+ }
199
+
200
+ .mdl-spinner__circle {
201
+ box-sizing: border-box;
202
+ height: 100%;
203
+ border-width: $spinner-stroke-width;
204
+ border-style: solid;
205
+ border-color: inherit;
206
+ border-bottom-color: transparent !important;
207
+ border-radius: 50%;
208
+ animation: none;
209
+
210
+ position: absolute;
211
+ top: 0;
212
+ right: 0;
213
+ bottom: 0;
214
+ left: 0;
215
+
216
+ .mdl-spinner__left & {
217
+ border-right-color: transparent !important;
218
+ transform: rotate(129deg);
219
+
220
+ .mdl-spinner.is-active & {
221
+ animation: mdl-spinner__left-spin $spinner-arc-time
222
+ $animation-curve-fast-out-slow-in infinite both;
223
+ }
224
+ }
225
+
226
+ .mdl-spinner__right & {
227
+ left: -100%;
228
+ border-left-color: transparent !important;
229
+ transform: rotate(-129deg);
230
+
231
+ .mdl-spinner.is-active & {
232
+ animation: mdl-spinner__right-spin $spinner-arc-time
233
+ $animation-curve-fast-out-slow-in infinite both;
234
+ }
235
+ }
236
+ }
237
+
238
+ @keyframes mdl-spinner__left-spin {
239
+ from { transform: rotate(130deg); }
240
+ 50% { transform: rotate(-5deg); }
241
+ to { transform: rotate(130deg); }
242
+ }
243
+
244
+ @keyframes mdl-spinner__right-spin {
245
+ from { transform: rotate(-130deg); }
246
+ 50% { transform: rotate(5deg); }
247
+ to { transform: rotate(-130deg); }
248
+ }
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Copyright 2015 Google Inc. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+
18
+ @import "variables";
19
+ @import "mixins";
20
+
21
+ .mdl-switch {
22
+ position: relative;
23
+
24
+ z-index: 1;
25
+
26
+ vertical-align: middle;
27
+
28
+ display: inline-block;
29
+
30
+ box-sizing: border-box;
31
+ width: 100%;
32
+ height: $switch-label-height;
33
+ margin: 0;
34
+ padding: 0;
35
+
36
+ overflow: visible;
37
+
38
+ &.is-upgraded {
39
+ padding-left: $switch-track-length - 8px;
40
+ }
41
+
42
+ // avoids blue box around switch
43
+ -webkit-touch-callout: none;
44
+ -webkit-user-select: none;
45
+ -moz-user-select: none;
46
+ -ms-user-select: none;
47
+ user-select: none;
48
+ }
49
+
50
+ .mdl-switch__input {
51
+ line-height: $switch-label-height;
52
+
53
+ .mdl-switch.is-upgraded & {
54
+ // Hide input element, while still making it respond to focus.
55
+ position: absolute;
56
+ width: 0;
57
+ height: 0;
58
+ margin: 0;
59
+ padding: 0;
60
+ opacity: 0;
61
+ -ms-appearance: none;
62
+ -moz-appearance: none;
63
+ -webkit-appearance: none;
64
+ appearance: none;
65
+ border: none;
66
+ }
67
+ }
68
+
69
+ .mdl-switch__track {
70
+ background: $switch-off-track-color;
71
+ position: absolute;
72
+ left: 0;
73
+ top: $switch-track-top;
74
+ height: $switch-track-height;
75
+ width: $switch-track-length;
76
+ border-radius: $switch-track-height;
77
+
78
+ cursor: pointer;
79
+
80
+ .mdl-switch.is-checked & {
81
+ background: $switch-track-color;
82
+ }
83
+
84
+ .mdl-switch.is-disabled & {
85
+ background: $switch-disabled-track-color;
86
+ cursor: auto;
87
+ }
88
+ }
89
+
90
+ .mdl-switch__thumb {
91
+ background: $switch-off-thumb-color;
92
+ position: absolute;
93
+ left: 0;
94
+ top: $switch-thumb-top;
95
+ height: $switch-thumb-size;
96
+ width: $switch-thumb-size;
97
+ border-radius: 50%;
98
+
99
+ cursor: pointer;
100
+
101
+ @include shadow-2dp();
102
+
103
+ @include material-animation-default(0.28s);
104
+ transition-property: left;
105
+
106
+ .mdl-switch.is-checked & {
107
+ background: $switch-thumb-color;
108
+ left: $switch-track-length - $switch-thumb-size;
109
+
110
+ @include shadow-3dp();
111
+ }
112
+
113
+ .mdl-switch.is-disabled & {
114
+ background: $switch-disabled-thumb-color;
115
+ cursor: auto;
116
+ }
117
+ }
118
+
119
+ .mdl-switch__focus-helper {
120
+ position: absolute;
121
+ top: 50%;
122
+ left: 50%;
123
+
124
+ transform: translate(-$switch-helper-size / 2, -$switch-helper-size / 2);
125
+
126
+ display: inline-block;
127
+
128
+ box-sizing: border-box;
129
+ width: $switch-helper-size;
130
+ height: $switch-helper-size;
131
+ border-radius: 50%;
132
+
133
+ background-color: transparent;
134
+
135
+ .mdl-switch.is-focused & {
136
+ box-shadow: 0 0 0px (($switch-ripple-size - $switch-helper-size) / 2)
137
+ rgba(0, 0, 0, 0.1);
138
+ background-color: rgba(0, 0, 0, 0.1);
139
+ }
140
+
141
+ .mdl-switch.is-focused.is-checked & {
142
+ box-shadow: 0 0 0px (($switch-ripple-size - $switch-helper-size) / 2)
143
+ $switch-faded-color;
144
+ background-color: $switch-faded-color;
145
+ }
146
+ }
147
+
148
+ .mdl-switch__label {
149
+ position: relative;
150
+ cursor: pointer;
151
+ font-size: 16px;
152
+ line-height: $switch-label-height;
153
+ margin: 0;
154
+ left: 24px;
155
+
156
+ .mdl-switch.is-disabled & {
157
+ color: $switch-disabled-thumb-color;
158
+ cursor: auto;
159
+ }
160
+ }
161
+
162
+ .mdl-switch__ripple-container {
163
+ position: absolute;
164
+ z-index: 2;
165
+ top: -($switch-ripple-size - $switch-label-height) / 2;
166
+ left: $switch-thumb-size / 2 - $switch-ripple-size / 2;
167
+
168
+ box-sizing: border-box;
169
+ width: $switch-ripple-size;
170
+ height: $switch-ripple-size;
171
+ border-radius: 50%;
172
+
173
+ cursor: pointer;
174
+
175
+ overflow: hidden;
176
+ -webkit-mask-image: -webkit-radial-gradient(circle, white, black);
177
+
178
+ transition-duration: 0.40s;
179
+ transition-timing-function: step-end;
180
+ transition-property: left;
181
+
182
+ & .mdl-ripple {
183
+ background: $switch-color;
184
+ }
185
+
186
+ .mdl-switch.is-disabled & {
187
+ cursor: auto;
188
+ }
189
+
190
+ .mdl-switch.is-disabled & .mdl-ripple {
191
+ background: transparent;
192
+ }
193
+
194
+ .mdl-switch.is-checked & {
195
+ cursor: auto;
196
+ left: $switch-track-length - $switch-ripple-size / 2 -
197
+ $switch-thumb-size / 2;
198
+ }
199
+ }
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Copyright 2015 Google Inc. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ @import "variables";
18
+
19
+
20
+ .mdl-tabs {
21
+ display: block;
22
+ width: 100%;
23
+ }
24
+
25
+ .mdl-tabs__tab-bar {
26
+ display : flex;
27
+ flex-direction : row;
28
+ justify-content : center; // ⇾
29
+ align-content : space-between; // ||
30
+ align-items : flex-start; // ↓
31
+
32
+ height : 48px;
33
+ padding : 0 0 0 0;
34
+ margin : 0;
35
+ border-bottom : 1px solid $tab-border-color;
36
+ }
37
+
38
+ .mdl-tabs__tab {
39
+ margin: 0;
40
+ border: none;
41
+ padding: 0 24px 0 24px;
42
+
43
+ float: left;
44
+ position: relative;
45
+ display: block;
46
+
47
+ color: red;
48
+ text-decoration: none;
49
+ height: 48px;
50
+ line-height: 48px;
51
+
52
+ text-align: center;
53
+ font-weight: 500;
54
+ font-size: 14px;
55
+ text-transform: uppercase;
56
+
57
+ color: $tab-text-color;
58
+ overflow: hidden;
59
+
60
+ .mdl-tabs.is-upgraded &.is-active {
61
+ color: $tab-active-text-color;
62
+ }
63
+
64
+ .mdl-tabs.is-upgraded &.is-active:after {
65
+ height: 2px;
66
+ width: 100%;
67
+ display: block;
68
+ content: " ";
69
+ bottom: 0px;
70
+ left: 0px;
71
+ position: absolute;
72
+ background: $tab-highlight-color;
73
+ animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;
74
+ transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);
75
+ }
76
+
77
+ & .mdl-tabs__ripple-container {
78
+ display: block;
79
+ position: absolute;
80
+ height: 100%;
81
+ width: 100%;
82
+ left: 0px;
83
+ top: 0px;
84
+ z-index: 1;
85
+ overflow: hidden;
86
+
87
+ & .mdl-ripple {
88
+ background: $tab-highlight-color;
89
+ }
90
+ }
91
+ }
92
+
93
+ .mdl-tabs__panel {
94
+ display: block;
95
+
96
+ .mdl-tabs.is-upgraded & {
97
+ display: none;
98
+ }
99
+
100
+ .mdl-tabs.is-upgraded &.is-active {
101
+ display: block;
102
+ }
103
+ }
104
+
105
+ @keyframes border-expand {
106
+ 0% {
107
+ opacity: 0;
108
+ width: 0;
109
+ }
110
+
111
+ 100% {
112
+ opacity: 1;
113
+ width: 100%;
114
+ }
115
+ }