material_components_web-sass 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +7 -0
  5. data/CHANGELOG.md +8 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +97 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/lib/material_components_web-sass.rb +52 -0
  13. data/lib/material_components_web/sass/engine.rb +18 -0
  14. data/lib/material_components_web/sass/version.rb +5 -0
  15. data/material_components_web-sass.gemspec +32 -0
  16. data/vendor/assets/fonts/material-icons/LICENSE +202 -0
  17. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.eot +0 -0
  18. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.ttf +0 -0
  19. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.woff +0 -0
  20. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.woff2 +0 -0
  21. data/vendor/assets/fonts/roboto/LICENSE.txt +202 -0
  22. data/vendor/assets/fonts/roboto/Roboto-Bold.ttf +0 -0
  23. data/vendor/assets/fonts/roboto/Roboto-Bold.woff +0 -0
  24. data/vendor/assets/fonts/roboto/Roboto-Bold.woff2 +0 -0
  25. data/vendor/assets/fonts/roboto/Roboto-Light.ttf +0 -0
  26. data/vendor/assets/fonts/roboto/Roboto-Light.woff +0 -0
  27. data/vendor/assets/fonts/roboto/Roboto-Light.woff2 +0 -0
  28. data/vendor/assets/fonts/roboto/Roboto-Medium.ttf +0 -0
  29. data/vendor/assets/fonts/roboto/Roboto-Medium.woff +0 -0
  30. data/vendor/assets/fonts/roboto/Roboto-Medium.woff2 +0 -0
  31. data/vendor/assets/fonts/roboto/Roboto-Regular.ttf +0 -0
  32. data/vendor/assets/fonts/roboto/Roboto-Regular.woff +0 -0
  33. data/vendor/assets/fonts/roboto/Roboto-Regular.woff2 +0 -0
  34. data/vendor/assets/fonts/roboto/Roboto-Thin.ttf +0 -0
  35. data/vendor/assets/fonts/roboto/Roboto-Thin.woff +0 -0
  36. data/vendor/assets/fonts/roboto/Roboto-Thin.woff2 +0 -0
  37. data/vendor/assets/javascripts/material-components-web.js +5492 -0
  38. data/vendor/assets/stylesheets/@material/animation/_functions.scss +25 -0
  39. data/vendor/assets/stylesheets/@material/animation/_mixins.scss +29 -0
  40. data/vendor/assets/stylesheets/@material/animation/_variables.scss +19 -0
  41. data/vendor/assets/stylesheets/@material/animation/mdc-animation.scss +31 -0
  42. data/vendor/assets/stylesheets/@material/button/mdc-button.scss +199 -0
  43. data/vendor/assets/stylesheets/@material/card/mdc-card.scss +179 -0
  44. data/vendor/assets/stylesheets/@material/checkbox/_keyframes.scss +180 -0
  45. data/vendor/assets/stylesheets/@material/checkbox/_variables.scss +31 -0
  46. data/vendor/assets/stylesheets/@material/checkbox/mdc-checkbox.scss +310 -0
  47. data/vendor/assets/stylesheets/@material/drawer/_mixins.scss +145 -0
  48. data/vendor/assets/stylesheets/@material/drawer/mdc-drawer.scss +18 -0
  49. data/vendor/assets/stylesheets/@material/drawer/permanent/mdc-permanent-drawer.scss +54 -0
  50. data/vendor/assets/stylesheets/@material/drawer/temporary/mdc-temporary-drawer.scss +134 -0
  51. data/vendor/assets/stylesheets/@material/elevation/_mixins.scss +68 -0
  52. data/vendor/assets/stylesheets/@material/elevation/_variables.scss +122 -0
  53. data/vendor/assets/stylesheets/@material/elevation/mdc-elevation.scss +27 -0
  54. data/vendor/assets/stylesheets/@material/fab/mdc-fab.scss +122 -0
  55. data/vendor/assets/stylesheets/@material/fonts/material-icons.scss +36 -0
  56. data/vendor/assets/stylesheets/@material/fonts/roboto.scss +45 -0
  57. data/vendor/assets/stylesheets/@material/form-field/mdc-form-field.scss +64 -0
  58. data/vendor/assets/stylesheets/@material/icon-toggle/mdc-icon-toggle.scss +133 -0
  59. data/vendor/assets/stylesheets/@material/list/mdc-list.scss +207 -0
  60. data/vendor/assets/stylesheets/@material/menu/mdc-menu.scss +22 -0
  61. data/vendor/assets/stylesheets/@material/menu/simple/mdc-simple-menu.scss +194 -0
  62. data/vendor/assets/stylesheets/@material/radio/mdc-radio.scss +198 -0
  63. data/vendor/assets/stylesheets/@material/ripple/_keyframes.scss +61 -0
  64. data/vendor/assets/stylesheets/@material/ripple/_mixins.scss +196 -0
  65. data/vendor/assets/stylesheets/@material/ripple/_variables.scss +17 -0
  66. data/vendor/assets/stylesheets/@material/ripple/mdc-ripple.scss +80 -0
  67. data/vendor/assets/stylesheets/@material/rtl/_mixins.scss +251 -0
  68. data/vendor/assets/stylesheets/@material/select/mdc-select.scss +174 -0
  69. data/vendor/assets/stylesheets/@material/snackbar/_variables.scss +22 -0
  70. data/vendor/assets/stylesheets/@material/snackbar/mdc-snackbar.scss +126 -0
  71. data/vendor/assets/stylesheets/@material/textfield/mdc-textfield.scss +512 -0
  72. data/vendor/assets/stylesheets/@material/theme/_constants.scss +285 -0
  73. data/vendor/assets/stylesheets/@material/theme/_functions.scss +64 -0
  74. data/vendor/assets/stylesheets/@material/theme/_mixins.scss +104 -0
  75. data/vendor/assets/stylesheets/@material/theme/_variables.scss +80 -0
  76. data/vendor/assets/stylesheets/@material/theme/mdc-theme.scss +43 -0
  77. data/vendor/assets/stylesheets/@material/typography/_mixins.scss +45 -0
  78. data/vendor/assets/stylesheets/@material/typography/_variables.scss +109 -0
  79. data/vendor/assets/stylesheets/@material/typography/mdc-typography.scss +32 -0
  80. data/vendor/assets/stylesheets/_material-components-web.scss +36 -0
  81. metadata +195 -0
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright 2016 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
+ @function mdc-animation-enter($name, $duration, $delay: 0ms) {
20
+ @return $name $duration $delay $mdc-animation-linear-out-slow-in-timing-function;
21
+ }
22
+
23
+ @function mdc-animation-exit($name, $duration, $delay: 0ms) {
24
+ @return $name $duration $delay $mdc-animation-fast-out-linear-in-timing-function;
25
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright 2016 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
+ @mixin mdc-animation-linear-out-slow-in {
20
+ animation-timing-function: $mdc-animation-linear-out-slow-in-timing-function;
21
+ }
22
+
23
+ @mixin mdc-animation-fast-out-slow-in {
24
+ animation-timing-function: $mdc-animation-fast-out-slow-in-timing-function;
25
+ }
26
+
27
+ @mixin mdc-animation-fast-out-linear-in {
28
+ animation-timing-function: $mdc-animation-fast-out-linear-in-timing-function;
29
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright 2016 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
+ $mdc-animation-linear-out-slow-in-timing-function: cubic-bezier(0, 0, .2, 1) !default;
18
+ $mdc-animation-fast-out-slow-in-timing-function: cubic-bezier(.4, 0, .2, 1) !default;
19
+ $mdc-animation-fast-out-linear-in-timing-function: cubic-bezier(.4, 0, 1, 1) !default;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright 2016 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 "./mixins";
18
+
19
+ .mdc-animation {
20
+ &-linear-out-slow-in {
21
+ @include mdc-animation-linear-out-slow-in;
22
+ }
23
+
24
+ &-fast-out-slow-in {
25
+ @include mdc-animation-fast-out-slow-in;
26
+ }
27
+
28
+ &-fast-out-linear-in {
29
+ @include mdc-animation-fast-out-linear-in;
30
+ }
31
+ }
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Copyright 2016 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 "@material/animation/variables";
18
+ @import "@material/animation/functions";
19
+ @import "@material/elevation/mixins";
20
+ @import "@material/theme/mixins";
21
+ @import "@material/typography/mixins";
22
+
23
+ /* postcss-bem-linter: define button */
24
+ /* stylelint-disable declaration-property-unit-whitelist */
25
+ .mdc-button {
26
+ @include mdc-typography(body2);
27
+ @include mdc-theme-prop(color, text-primary-on-light);
28
+
29
+ display: inline-block;
30
+ position: relative;
31
+ min-width: 64px;
32
+ height: 36px;
33
+ padding: 0 16px;
34
+ border: none;
35
+ border-radius: 2px;
36
+ outline: none;
37
+ background: transparent;
38
+ font-size: 14px; /* Override font to specifically be px as spec defined pt */
39
+ font-weight: 500;
40
+ line-height: 36px; /* Override line-height so text aligns centered */
41
+ text-align: center;
42
+ text-transform: uppercase;
43
+ vertical-align: middle;
44
+ box-sizing: border-box;
45
+ -webkit-appearance: none;
46
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
47
+
48
+ @include mdc-theme-dark {
49
+ @include mdc-theme-prop(color, text-primary-on-dark);
50
+ }
51
+
52
+ /* postcss-bem-linter: ignore */
53
+ &::before {
54
+ position: absolute;
55
+ top: 0;
56
+ left: 0;
57
+ width: 100%;
58
+ height: 100%;
59
+ transition: mdc-animation-exit(opacity, 120ms);
60
+ border-radius: inherit;
61
+ background: currentColor;
62
+ content: "";
63
+ opacity: 0;
64
+ }
65
+
66
+ &:focus::before {
67
+ transition: mdc-animation-enter(opacity, 120ms);
68
+ opacity: .12;
69
+ }
70
+
71
+ &:active::before {
72
+ transition: mdc-animation-enter(opacity, 120ms);
73
+
74
+ /*
75
+ Slightly darker value for visual distinction.
76
+ This allows a full base that has distinct modes.
77
+ Progressive enhancement with ripples will provide complete button spec alignment.
78
+ */
79
+ opacity: .18;
80
+ }
81
+
82
+ &:focus:active::before {
83
+ transition-timing-function: $mdc-animation-fast-out-slow-in-timing-function;
84
+ }
85
+
86
+ &:active {
87
+ outline: none;
88
+ }
89
+
90
+ &:hover {
91
+ cursor: pointer;
92
+ }
93
+
94
+ &::-moz-focus-inner {
95
+ padding: 0;
96
+ border: 0;
97
+ }
98
+
99
+ &--dense {
100
+ height: 32px;
101
+ font-size: .8125rem; /* 13sp */
102
+ line-height: 32px;
103
+ }
104
+
105
+ &--raised {
106
+ @include mdc-elevation(2);
107
+ @include mdc-elevation-transition;
108
+
109
+ min-width: 88px;
110
+
111
+ &:active {
112
+ @include mdc-elevation(8);
113
+ }
114
+
115
+ @include mdc-theme-dark(".mdc-button") {
116
+ @include mdc-theme-prop(background-color, primary);
117
+
118
+ /* postcss-bem-linter: ignore */
119
+ &::before {
120
+ /*
121
+ We are explicitly not fully adhering to Material Design here.
122
+ This should be the 700-shade when active instead of a black shade.
123
+ Due to the complexity involved in adhering fully it is being ignored.
124
+ Instead re-using the existing architecture for shading works just fine.
125
+ - With <3 from Garbee
126
+ */
127
+ color: black;
128
+ }
129
+ }
130
+ }
131
+
132
+ &--primary {
133
+ @include mdc-theme-prop(color, primary);
134
+
135
+ @include mdc-theme-dark(".mdc-button") {
136
+ @include mdc-theme-prop(color, primary);
137
+ }
138
+
139
+ /* postcss-bem-linter: ignore */
140
+ &.mdc-button--raised {
141
+ @include mdc-theme-prop(background-color, primary);
142
+ @include mdc-theme-prop(color, text-primary-on-primary);
143
+
144
+ /* postcss-bem-linter: ignore */
145
+ &::before {
146
+ color: black;
147
+ }
148
+ }
149
+ }
150
+
151
+ &--accent {
152
+ @include mdc-theme-prop(color, accent);
153
+
154
+ @include mdc-theme-dark(".mdc-button") {
155
+ @include mdc-theme-prop(color, accent);
156
+ }
157
+
158
+ /* postcss-bem-linter: ignore */
159
+ &.mdc-button--raised {
160
+ @include mdc-theme-prop(background-color, accent);
161
+ @include mdc-theme-prop(color, text-primary-on-accent);
162
+
163
+ /* postcss-bem-linter: ignore */
164
+ &::before {
165
+ color: black;
166
+ }
167
+ }
168
+ }
169
+
170
+ &--compact {
171
+ padding: 0 8px;
172
+ }
173
+
174
+ /* stylelint-disable selector-no-type */
175
+ fieldset:disabled &,
176
+ &:disabled {
177
+ color: rgba(0, 0, 0, .26);
178
+ cursor: default;
179
+ pointer-events: none;
180
+
181
+ @include mdc-theme-dark(".mdc-button") {
182
+ color: rgba(255, 255, 255, .3);
183
+ }
184
+ }
185
+
186
+ fieldset:disabled &--raised,
187
+ &--raised:disabled {
188
+ @include mdc-elevation(0);
189
+
190
+ background-color: rgba(0, 0, 0, .12);
191
+ pointer-events: none;
192
+
193
+ @include mdc-theme-dark(".mdc-button") {
194
+ background-color: rgba(255, 255, 255, .12);
195
+ }
196
+ }
197
+ }
198
+
199
+ /* postcss-bem-linter: end */
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Copyright 2016 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 "@material/elevation/mixins";
18
+ @import "@material/theme/mixins";
19
+ @import "@material/typography/mixins";
20
+
21
+ /* postcss-bem-linter: define card */
22
+ .mdc-card {
23
+ @include mdc-elevation(2);
24
+
25
+ display: flex;
26
+ flex-direction: column;
27
+ justify-content: flex-end;
28
+ padding: 0;
29
+ box-sizing: border-box;
30
+
31
+ &__primary {
32
+ padding: 16px;
33
+
34
+ /* Add extra space before large title. */
35
+ .mdc-card__title--large {
36
+ padding-top: 8px;
37
+ }
38
+
39
+ /* Add extra padding if this is the last block. */
40
+ &:last-child {
41
+ padding-bottom: 24px;
42
+ }
43
+ }
44
+
45
+ &__supporting-text {
46
+ padding: 8px 16px;
47
+ box-sizing: border-box;
48
+
49
+ @include mdc-typography(body1);
50
+ @include mdc-theme-prop(color, text-primary-on-background);
51
+
52
+ @include mdc-theme-dark(".mdc-card") {
53
+ @include mdc-theme-prop(color, text-primary-on-dark);
54
+ }
55
+
56
+ /* Remove top padding if immediately preceded by a primary block. */
57
+ .mdc-card__primary + & {
58
+ margin-top: -8px;
59
+ padding-top: 0;
60
+ }
61
+
62
+ /* Add extra padding if this is the last block. */
63
+ &:last-child {
64
+ padding-bottom: 24px;
65
+ }
66
+ }
67
+
68
+ &__actions {
69
+ display: flex;
70
+ padding: 8px;
71
+ box-sizing: border-box;
72
+
73
+ /* Adjust text color for dark theme. */
74
+ @include mdc-theme-dark(".mdc-card") {
75
+ @include mdc-theme-prop(color, text-primary-on-dark);
76
+ }
77
+
78
+ /* Tweak button paddings and margins when they're used as actions */
79
+ .mdc-card__action {
80
+ margin: 0 8px 0 0;
81
+ }
82
+
83
+ .mdc-card__action:last-child {
84
+ margin-right: 0;
85
+ }
86
+
87
+ /* Vertical actions (one per line) */
88
+ &--vertical {
89
+ flex-flow: column;
90
+ align-items: flex-start;
91
+
92
+ .mdc-card__action {
93
+ margin: 0 0 4px;
94
+ }
95
+
96
+ .mdc-card__action:last-child {
97
+ margin-bottom: 0;
98
+ }
99
+ }
100
+ }
101
+
102
+ &__media {
103
+ display: flex;
104
+ flex-direction: column;
105
+ justify-content: flex-end;
106
+ padding: 16px;
107
+ box-sizing: border-box;
108
+ }
109
+
110
+ &__media-item {
111
+ display: inline-block;
112
+ width: auto;
113
+ height: 80px;
114
+ margin: 16px 0 0;
115
+ padding: 0;
116
+
117
+ @each $mult, $name in (1.5: "1dot5", 2: "2", 3: "3") {
118
+ // postcss-bem-linter: ignore
119
+ &--#{$name}x {
120
+ width: auto;
121
+ height: $mult * 80px;
122
+ }
123
+ }
124
+ }
125
+
126
+ &__title {
127
+ @include mdc-typography(body2);
128
+ @include mdc-theme-prop(color, text-primary-on-background);
129
+
130
+ /* Adjust text color for dark theme. */
131
+ @include mdc-theme-dark(".mdc-card") {
132
+ @include mdc-theme-prop(color, text-primary-on-dark);
133
+ }
134
+
135
+ margin: -.063rem 0; /* -1sp 0 */
136
+ }
137
+
138
+ &__title--large {
139
+ @include mdc-typography(headline);
140
+
141
+ margin: 0;
142
+ }
143
+
144
+ &__subtitle {
145
+ @include mdc-typography(body1);
146
+ @include mdc-theme-prop(color, text-primary-on-background);
147
+
148
+ /* Adjust text color for dark theme. */
149
+ @include mdc-theme-dark(".mdc-card") {
150
+ @include mdc-theme-prop(color, text-primary-on-dark);
151
+ }
152
+
153
+ margin: -.063rem 0; /* -1sp 0 */
154
+ }
155
+
156
+ &__horizontal-block {
157
+ display: flex;
158
+ flex-direction: row;
159
+ align-items: flex-start;
160
+ justify-content: space-between;
161
+ padding: 0 16px 0 0;
162
+ box-sizing: border-box;
163
+
164
+ // postcss-bem-linter: ignore
165
+ .mdc-card__actions--vertical {
166
+ margin: 16px;
167
+ }
168
+
169
+ .mdc-card__media-item {
170
+ margin-left: 16px;
171
+ }
172
+
173
+ &:last-child .mdc-card__media-item {
174
+ margin-bottom: 16px;
175
+ }
176
+ }
177
+ }
178
+
179
+ /* postcss-bem-linter: end */