material_components_web-sass 0.20.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +0 -1
  4. data/lib/material_components_web/sass/version.rb +1 -1
  5. data/vendor/assets/javascripts/material-components-web.js +24 -5
  6. data/vendor/assets/stylesheets/@material/button/_mixins.scss +166 -14
  7. data/vendor/assets/stylesheets/@material/{animation/mdc-animation.scss → button/_variables.scss} +2 -19
  8. data/vendor/assets/stylesheets/@material/button/mdc-button.scss +22 -160
  9. data/vendor/assets/stylesheets/@material/card/mdc-card.scss +12 -13
  10. data/vendor/assets/stylesheets/@material/checkbox/_keyframes.scss +3 -3
  11. data/vendor/assets/stylesheets/@material/checkbox/mdc-checkbox.scss +9 -10
  12. data/vendor/assets/stylesheets/@material/dialog/mdc-dialog.scss +12 -17
  13. data/vendor/assets/stylesheets/@material/drawer/_mixins.scss +5 -5
  14. data/vendor/assets/stylesheets/@material/fab/_mixins.scss +42 -6
  15. data/vendor/assets/stylesheets/@material/{animation/_mixins.scss → fab/_variables.scss} +1 -19
  16. data/vendor/assets/stylesheets/@material/fab/mdc-fab.scss +6 -8
  17. data/vendor/assets/stylesheets/@material/grid-list/mdc-grid-list.scss +9 -9
  18. data/vendor/assets/stylesheets/@material/icon-toggle/mdc-icon-toggle.scss +4 -4
  19. data/vendor/assets/stylesheets/@material/layout-grid/_mixins.scss +8 -15
  20. data/vendor/assets/stylesheets/@material/linear-progress/mdc-linear-progress.scss +5 -5
  21. data/vendor/assets/stylesheets/@material/radio/mdc-radio.scss +6 -6
  22. data/vendor/assets/stylesheets/@material/ripple/_keyframes.scss +3 -3
  23. data/vendor/assets/stylesheets/@material/ripple/_mixins.scss +16 -1
  24. data/vendor/assets/stylesheets/@material/ripple/mdc-ripple.scss +0 -16
  25. data/vendor/assets/stylesheets/@material/rtl/_mixins.scss +1 -3
  26. data/vendor/assets/stylesheets/@material/select/mdc-select.scss +18 -25
  27. data/vendor/assets/stylesheets/@material/slider/mdc-slider.scss +1 -1
  28. data/vendor/assets/stylesheets/@material/snackbar/mdc-snackbar.scss +18 -14
  29. data/vendor/assets/stylesheets/@material/switch/mdc-switch.scss +8 -9
  30. data/vendor/assets/stylesheets/@material/textfield/mdc-textfield.scss +8 -9
  31. data/vendor/assets/stylesheets/@material/theme/_functions.scss +3 -9
  32. data/vendor/assets/stylesheets/@material/theme/_mixins.scss +5 -15
  33. data/vendor/assets/stylesheets/@material/toolbar/_mixins.scss +6 -6
  34. data/vendor/assets/stylesheets/@material/toolbar/mdc-toolbar.scss +7 -7
  35. data/vendor/assets/stylesheets/_material-components-web.scss +0 -1
  36. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8ca8d42be1db8293e67a81ea8982e79f83a046c
4
- data.tar.gz: d273a3510c91da3706a0d025f3c362d14efe8555
3
+ metadata.gz: 2b334719663df042c604d36a3ae498e7740df9fb
4
+ data.tar.gz: 6969131d3b9cb32034243b9a09f666ae0f513cf2
5
5
  SHA512:
6
- metadata.gz: 42483b7070fc79daa3e449c3c67aa5fd8f50e960c103c22a5fe72af7126616d20262404ccf9455d3bbc1cd782ef24b6ddc9d1f69d9a9aa31f9abae1167202c5a
7
- data.tar.gz: 6c66d8344e4ad7cff4f95a3591ee0ca481e7fae829ca349fb7de97d69fb21ff268a82c7d96ca7bcc2a969dee83455b54eb03a7002f6d5a572b71b9be4182d663
6
+ metadata.gz: fd8ac4ba7ce363e33f730882ccad3b1e932003d0b99d11a8586a90a53ff65abaa843eede000ac1c3b6117de26bd868bba4e01f23365a770f155eef5acee5024b
7
+ data.tar.gz: 64e6c4947c5bfabdb7c428114a1a2b9346a03a101617f8cd8414ab5aba99c1812937586fc5a13fdd0110cfdaa0234df2c281bf240fbcf6993f543f2459837448
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.21.0 (2017-09-19)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.21.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.20.0 (2017-09-06)
2
11
 
3
12
  - Update assets to match upstream version
data/README.md CHANGED
@@ -42,7 +42,6 @@ Restart Rails web server if it was running.
42
42
  Individual Sass components can be included like this:
43
43
 
44
44
  ```scss
45
- @import "@material/animation/mdc-animation";
46
45
  @import "@material/button/mdc-button";
47
46
  @import "@material/card/mdc-card";
48
47
  @import "@material/checkbox/mdc-checkbox";
@@ -1,5 +1,5 @@
1
1
  module MaterialComponentsWeb
2
2
  module Sass
3
- VERSION = '0.20.0'.freeze
3
+ VERSION = '0.21.0'.freeze
4
4
  end
5
5
  end
@@ -2052,6 +2052,23 @@ var registry = Object.create(null);
2052
2052
 
2053
2053
  var CONSOLE_WARN = console.warn.bind(console);
2054
2054
 
2055
+ function _emit(evtType, evtData) {
2056
+ var shouldBubble = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2057
+
2058
+ var evt = void 0;
2059
+ if (typeof CustomEvent === 'function') {
2060
+ evt = new CustomEvent(evtType, {
2061
+ detail: evtData,
2062
+ bubbles: shouldBubble
2063
+ });
2064
+ } else {
2065
+ evt = document.createEvent('CustomEvent');
2066
+ evt.initCustomEvent(evtType, shouldBubble, false, evtData);
2067
+ }
2068
+
2069
+ document.dispatchEvent(evt);
2070
+ }
2071
+
2055
2072
  /**
2056
2073
  * Auto-initializes all mdc components on a page.
2057
2074
  */
@@ -2085,6 +2102,8 @@ function mdcAutoInit() {
2085
2102
  configurable: true
2086
2103
  });
2087
2104
  }
2105
+
2106
+ _emit('MDCAutoInit:End', {});
2088
2107
  }
2089
2108
 
2090
2109
  mdcAutoInit.register = function (componentName, Ctor) {
@@ -9749,7 +9768,7 @@ var MDCSliderFoundation = function (_MDCFoundation) {
9749
9768
  this.layout();
9750
9769
  // At last step, provide a reasonable default value to discrete slider
9751
9770
  if (this.isDiscrete_ && this.getStep() == 0) {
9752
- this.setStep(1);
9771
+ this.step_ = 1;
9753
9772
  }
9754
9773
  }
9755
9774
  }, {
@@ -11491,7 +11510,7 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
11491
11510
  }
11492
11511
  }
11493
11512
 
11494
- this.scrollToTabAtIndex_(scrollTargetIndex);
11513
+ this.scrollToTabAtIndex(scrollTargetIndex);
11495
11514
  }
11496
11515
  }, {
11497
11516
  key: 'scrollForward',
@@ -11523,7 +11542,7 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
11523
11542
  }
11524
11543
  }
11525
11544
 
11526
- this.scrollToTabAtIndex_(scrollTargetIndex);
11545
+ this.scrollToTabAtIndex(scrollTargetIndex);
11527
11546
  }
11528
11547
  }, {
11529
11548
  key: 'layout',
@@ -11588,8 +11607,8 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
11588
11607
  this.updateIndicatorEnabledStates_();
11589
11608
  }
11590
11609
  }, {
11591
- key: 'scrollToTabAtIndex_',
11592
- value: function scrollToTabAtIndex_(index) {
11610
+ key: 'scrollToTabAtIndex',
11611
+ value: function scrollToTabAtIndex(index) {
11593
11612
  var _this5 = this;
11594
11613
 
11595
11614
  var scrollTargetOffsetLeft = this.adapter_.getComputedLeftForTabAtIndex(index);
@@ -14,28 +14,180 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
+ @import "@material/elevation/mixins";
17
18
  @import "@material/ripple/mixins";
19
+ @import "@material/theme/functions";
18
20
  @import "@material/theme/mixins";
19
- @import "@material/theme/variables";
21
+ @import "@material/typography/mixins";
22
+ @import "./variables";
20
23
 
21
- @mixin mdc-button-filled_() {
22
- @include mdc-ripple-base;
23
- @include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .32));
24
- @include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .32));
25
- @include mdc-theme-prop(color, text-primary-on-dark);
24
+ @mixin mdc-button-filled-accessible($container-fill-color) {
25
+ $light-or-dark: mdc-theme-light-or-dark($container-fill-color);
26
26
 
27
- background-color: black;
27
+ @include mdc-button-container-fill-color($container-fill-color);
28
28
 
29
- @include mdc-theme-dark(".mdc-button") {
30
- @include mdc-ripple-base;
31
- @include mdc-ripple-bg((pseudo: "::before", base-color: black, opacity: .32));
32
- @include mdc-ripple-fg((pseudo: "::after", base-color: black, opacity: .32));
33
- @include mdc-theme-prop(color, text-primary-on-light);
29
+ @if ($light-or-dark == "light") {
30
+ @include mdc-button-ink-color(text-primary-on-dark);
31
+ @include mdc-button-ripple((base-color: white, opacity: .32));
32
+ } @else {
33
+ @include mdc-button-ink-color(text-primary-on-light);
34
+ @include mdc-button-ripple((base-color: black, opacity: .32));
35
+ }
36
+ }
37
+
38
+ @mixin mdc-button-container-fill-color($color) {
39
+ // :not(:disabled) is used to support link styled as button
40
+ // as link does not support :enabled style
41
+ &:not(:disabled) {
42
+ @include mdc-theme-prop(background-color, $color);
43
+ }
44
+ }
34
45
 
35
- background-color: white;
46
+ @mixin mdc-button-stroke-color($color) {
47
+ &:not(:disabled) {
48
+ @include mdc-theme-prop(border-color, $color);
49
+ }
50
+ }
51
+
52
+ @mixin mdc-button-ink-color($color) {
53
+ &:not(:disabled) {
54
+ @include mdc-theme-prop(color, $color);
55
+ }
56
+ }
57
+
58
+ @mixin mdc-button-ripple($ripple-config) {
59
+ &:not(:disabled) {
60
+ @include mdc-ripple-base;
61
+ @include mdc-ripple-bg(map-merge((pseudo: "::before"), $ripple-config));
62
+ @include mdc-ripple-fg(map-merge((pseudo: "::after"), $ripple-config));
36
63
 
37
64
  &:not(.mdc-ripple-upgraded) {
38
- -webkit-tap-highlight-color: rgba(black, .18);
65
+ $tap-highlight-color: rgba(map-get($ripple-config, base-color), map-get($ripple-config, opacity));
66
+
67
+ @include mdc-theme-prop(-webkit-tap-highlight-color, $tap-highlight-color);
39
68
  }
40
69
  }
41
70
  }
71
+
72
+ @mixin mdc-button-corner-radius($corner-radius) {
73
+ border-radius: $corner-radius;
74
+ }
75
+
76
+ @mixin mdc-button-stroke-width($stroke-width) {
77
+ border-width: $stroke-width;
78
+ // Note: line height is adjusted for stroke button because borders are not
79
+ // considered as space available to text on the Web
80
+ line-height: $mdc-button-height - $stroke-width * 2;
81
+
82
+ // postcss-bem-linter: ignore
83
+ &.mdc-button--dense {
84
+ // Minus extra 1 to accommodate odd font size of dense button
85
+ line-height: $mdc-dense-button-height - $stroke-width * 2 - 1;
86
+ }
87
+ }
88
+
89
+ @mixin mdc-button-base_() {
90
+ @include mdc-typography(button);
91
+
92
+ display: inline-block;
93
+ position: relative;
94
+ box-sizing: border-box;
95
+ min-width: 88px;
96
+ height: $mdc-button-height;
97
+ padding: 0 16px;
98
+ border: none;
99
+ outline: none;
100
+ text-align: center;
101
+ user-select: none;
102
+ -webkit-appearance: none;
103
+ overflow: hidden;
104
+ vertical-align: middle;
105
+
106
+ // postcss-bem-linter: ignore
107
+ &:active {
108
+ outline: none;
109
+ }
110
+
111
+ &:hover {
112
+ cursor: pointer;
113
+ }
114
+
115
+ &::-moz-focus-inner {
116
+ padding: 0;
117
+ border: 0;
118
+ }
119
+
120
+ &:disabled {
121
+ @include mdc-theme-prop(background-color, transparent);
122
+ @include mdc-theme-prop(color, text-disabled-on-light);
123
+
124
+ cursor: default;
125
+ pointer-events: none;
126
+
127
+ @include mdc-theme-dark(".mdc-button") {
128
+ @include mdc-theme-prop(color, text-disabled-on-dark);
129
+ }
130
+ }
131
+ }
132
+
133
+ @mixin mdc-button__icon_ {
134
+ display: inline-block;
135
+ width: 18px;
136
+ height: 18px;
137
+ margin-right: 8px;
138
+ font-size: 18px;
139
+ line-height: inherit;
140
+ vertical-align: top;
141
+ }
142
+
143
+ @mixin mdc-button--stroked_() {
144
+ border-style: solid;
145
+
146
+ &:disabled {
147
+ @include mdc-theme-prop(border-color, text-disabled-on-light);
148
+
149
+ @include mdc-theme-dark(".mdc-button") {
150
+ @include mdc-theme-prop(border-color, text-disabled-on-dark);
151
+ }
152
+ }
153
+ }
154
+
155
+ @mixin mdc-button--filled_() {
156
+ &:disabled {
157
+ @include mdc-theme-prop(background-color, rgba(black, .12));
158
+ @include mdc-theme-prop(color, text-disabled-on-light);
159
+
160
+ @include mdc-theme-dark(".mdc-button") {
161
+ @include mdc-theme-prop(background-color, rgba(white, .12));
162
+ @include mdc-theme-prop(color, text-disabled-on-light);
163
+ }
164
+ }
165
+ }
166
+
167
+ @mixin mdc-button--raised_() {
168
+ @include mdc-elevation(2);
169
+ @include mdc-elevation-transition;
170
+
171
+ &:hover,
172
+ &:focus {
173
+ @include mdc-elevation(4);
174
+ }
175
+
176
+ &:active {
177
+ @include mdc-elevation(8);
178
+ }
179
+
180
+ &:disabled {
181
+ @include mdc-elevation(0);
182
+ }
183
+ }
184
+
185
+ @mixin mdc-button--compact_() {
186
+ padding: 0 8px;
187
+ }
188
+
189
+ @mixin mdc-button--dense_() {
190
+ height: $mdc-dense-button-height;
191
+ font-size: .8125rem; // 13sp
192
+ line-height: $mdc-dense-button-height;
193
+ }
@@ -14,22 +14,5 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- @import "./mixins";
18
-
19
- .mdc-animation {
20
- &-deceleration-curve {
21
- @include mdc-animation-deceleration-curve;
22
- }
23
-
24
- &-standard-curve {
25
- @include mdc-animation-standard-curve;
26
- }
27
-
28
- &-acceleration-curve {
29
- @include mdc-animation-acceleration-curve;
30
- }
31
-
32
- &-sharp-curve {
33
- @include mdc-animation-sharp-curve;
34
- }
35
- }
17
+ $mdc-button-height: 36px;
18
+ $mdc-dense-button-height: 32px;
@@ -14,194 +14,56 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- @import "@material/elevation/mixins";
18
- @import "@material/ripple/mixins";
19
17
  @import "@material/theme/mixins";
20
- @import "@material/theme/variables";
21
- @import "@material/typography/mixins";
22
18
  @import "./mixins";
23
19
 
24
20
  // postcss-bem-linter: define button
25
21
  .mdc-button {
26
- @include mdc-ripple-base;
27
- @include mdc-ripple-bg((pseudo: "::before"));
28
- @include mdc-ripple-fg((pseudo: "::after"));
29
- @include mdc-typography(button);
30
- @include mdc-theme-prop(color, text-primary-on-light);
31
-
32
- display: inline-block;
33
- position: relative;
34
- min-width: 88px;
35
- height: 36px;
36
- padding: 0 16px;
37
- border: none;
38
- border-radius: 4px;
39
- box-sizing: border-box;
40
- outline: none;
41
- background: transparent;
42
- text-align: center;
43
- overflow: hidden;
44
- vertical-align: middle;
45
- user-select: none;
46
- -webkit-appearance: none;
47
-
48
- // postcss-bem-linter: ignore
49
- &:active {
50
- outline: none;
51
- }
52
-
53
- &:hover {
54
- cursor: pointer;
55
- }
56
-
57
- &::-moz-focus-inner {
58
- padding: 0;
59
- border: 0;
60
- }
61
-
62
- &:not(.mdc-ripple-upgraded) {
63
- -webkit-tap-highlight-color: rgba(black, .3);
64
- }
22
+ @include mdc-button-base_;
23
+ @include mdc-button-corner-radius(2px);
24
+ @include mdc-button-container-fill-color(transparent);
25
+ @include mdc-button-ink-color(text-primary-on-light);
26
+ @include mdc-button-ripple((base-color: black, opacity: .16));
65
27
 
66
28
  @include mdc-theme-dark(".mdc-button") {
67
- @include mdc-ripple-base;
68
- @include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .16));
69
- @include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .16));
70
- @include mdc-theme-prop(color, text-primary-on-dark);
71
-
72
- &:not(.mdc-ripple-upgraded) {
73
- -webkit-tap-highlight-color: rgba(white, .18);
74
- }
29
+ @include mdc-button-ink-color(text-primary-on-dark);
30
+ @include mdc-button-ripple((base-color: white, opacity: .16));
75
31
  }
76
32
  }
77
33
 
78
34
  .mdc-button--raised,
79
35
  .mdc-button--unelevated {
80
- @include mdc-button-filled_;
81
- }
36
+ @include mdc-button--filled_;
37
+ @include mdc-button-filled-accessible(black);
82
38
 
83
- .mdc-button--raised {
84
- @include mdc-elevation(2);
85
- @include mdc-elevation-transition;
86
-
87
- &:hover,
88
- &:focus {
89
- @include mdc-elevation(4);
39
+ @include mdc-theme-dark(".mdc-button") {
40
+ @include mdc-button-filled-accessible(white);
90
41
  }
42
+ }
91
43
 
92
- &:active {
93
- @include mdc-elevation(8);
94
- }
44
+ .mdc-button--raised {
45
+ @include mdc-button--raised_;
95
46
  }
96
47
 
97
48
  .mdc-button--stroked {
98
- @include mdc-theme-prop(border-color, text-primary-on-light);
99
-
100
- border-width: 2px;
101
- border-style: solid;
102
- line-height: 32px;
49
+ @include mdc-button--stroked_;
50
+ @include mdc-button-stroke-width(2px);
51
+ @include mdc-button-stroke-color(text-primary-on-light);
103
52
 
104
53
  @include mdc-theme-dark(".mdc-button") {
105
- @include mdc-theme-prop(border-color, text-primary-on-dark);
106
- }
107
-
108
- // postcss-bem-linter: ignore
109
- &.mdc-button--dense {
110
- line-height: 27px; // To accommodate odd font size of dense button
54
+ @include mdc-button-stroke-color(text-primary-on-dark);
111
55
  }
112
56
  }
113
57
 
114
58
  .mdc-button--compact {
115
- padding: 0 8px;
59
+ @include mdc-button--compact_;
116
60
  }
117
61
 
118
62
  .mdc-button--dense {
119
- height: 32px;
120
- font-size: .8125rem; // 13sp
121
- line-height: 32px;
63
+ @include mdc-button--dense_;
122
64
  }
123
65
 
124
- @each $theme-style in (primary, secondary) {
125
- // Needed for backward compatibility. Theme uses the term "secondary", but button still calls it "accent" for now.
126
- $modifier: if($theme-style == "secondary", "accent", $theme-style);
127
-
128
- // postcss-bem-linter: ignore
129
- .mdc-button--#{$modifier} {
130
- $theme-value: map-get($mdc-theme-property-values, $theme-style);
131
-
132
- @include mdc-ripple-base;
133
- @include mdc-ripple-bg((pseudo: "::before", base-color: $theme-value, opacity: .16));
134
- @include mdc-ripple-fg((pseudo: "::after", base-color: $theme-value, opacity: .16));
135
- @include mdc-theme-prop(color, $theme-style);
136
-
137
- @include mdc-theme-dark(".mdc-button") {
138
- @include mdc-ripple-base;
139
- @include mdc-ripple-bg((pseudo: "::before", base-color: $theme-value, opacity: .16));
140
- @include mdc-ripple-fg((pseudo: "::after", base-color: $theme-value, opacity: .16));
141
- @include mdc-theme-prop(color, $theme-style);
142
- }
143
- // postcss-bem-linter: ignore
144
- &.mdc-button--raised,
145
- &.mdc-button--unelevated {
146
- $theme-value: map-get($mdc-theme-property-values, text-primary-on-#{$theme-style});
147
-
148
- @include mdc-ripple-base;
149
- @include mdc-ripple-bg((pseudo: "::before", base-color: $theme-value, opacity: .32));
150
- @include mdc-ripple-fg((pseudo: "::after", base-color: $theme-value, opacity: .32));
151
- @include mdc-theme-prop(background-color, $theme-style);
152
- @include mdc-theme-prop(color, text-primary-on-#{$theme-style});
153
- }
154
- // postcss-bem-linter: ignore
155
- &.mdc-button--stroked {
156
- @include mdc-theme-prop(border-color, $theme-style);
157
-
158
- @include mdc-theme-dark(".mdc-button") {
159
- @include mdc-theme-prop(border-color, $theme-style);
160
- }
161
- }
162
- }
163
- }
164
-
165
- // Disabled button styles need to be last to ensure they override other primary/accent/dark styles
166
-
167
- .mdc-button {
168
- fieldset:disabled &,
169
- &:disabled {
170
- color: rgba(black, .38);
171
- cursor: default;
172
- pointer-events: none;
173
-
174
- @include mdc-theme-dark(".mdc-button") {
175
- @include mdc-theme-prop(color, text-disabled-on-dark);
176
- }
177
- }
178
- }
179
-
180
- .mdc-button--raised,
181
- .mdc-button--unelevated {
182
- fieldset:disabled &,
183
- &:disabled {
184
- @include mdc-elevation(0);
185
- @include mdc-theme-prop(color, text-primary-on-dark);
186
-
187
- background-color: rgba(black, .15);
188
-
189
- @include mdc-theme-dark(".mdc-button") {
190
- @include mdc-theme-prop(color, text-disabled-on-dark);
191
-
192
- background-color: rgba(255, 255, 255, .15);
193
- }
194
- }
195
- }
196
-
197
- .mdc-button--stroked {
198
- fieldset:disabled &,
199
- &:disabled {
200
- border-color: rgba(black, .38);
201
-
202
- @include mdc-theme-dark(".mdc-button") {
203
- @include mdc-theme-prop(border-color, text-disabled-on-dark);
204
- }
205
- }
66
+ .mdc-button__icon {
67
+ @include mdc-button__icon_;
206
68
  }
207
69
  // postcss-bem-linter: end