material_components_web-sass 0.16.0 → 0.17.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8329f0042c13187eca2ad9e12ed116a0d5bc8458
4
- data.tar.gz: 1f7b3c8c901f4b6537daa850833542f0edaec122
3
+ metadata.gz: eac14048c740bfb8029b33e56a94a305d1e9bf2c
4
+ data.tar.gz: 343c168aaf1bd21c52eb02d3890bfe74cddc68cc
5
5
  SHA512:
6
- metadata.gz: 597119093a513400bfb60ab9b549007da2f27751315d29600be69b0d206227f20a2173919cae78fdaa9ad2522e71791629259780f44765acfae7bb2429e54e28
7
- data.tar.gz: 7af6b247260a98b3ae1101afd321e40734efae1d45a194cad0fcd41b94fd244dfcdfbc2af1874aebc1c709ca88006a6bde80aa2c196cbd30fc4802175f0a1d88
6
+ metadata.gz: b40fdc2774ef2fa9fbbb36a437e939f3e4935b13c0aec661f71d85c42c1d855af50ef8fde1463c7cc813d0eea11de0076751bf269f8548a1b7435265c6fde98d
7
+ data.tar.gz: 26cf7f78b33fc2a87db4a99699a1fb506ee261cd00ea24bca696813a6202b94692f10cee6e95bb35650d57088534ee8456350ddef5680b84cc6f11642b219b0a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.17.0 (2017-08-08)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.17.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.16.0 (2017-07-24)
2
11
 
3
12
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module MaterialComponentsWeb
2
2
  module Sass
3
- VERSION = '0.16.0'.freeze
3
+ VERSION = '0.17.0'.freeze
4
4
  end
5
5
  end
@@ -993,14 +993,56 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
993
993
  * limitations under the License.
994
994
  */
995
995
 
996
- /** @private {boolean|undefined} */
996
+ /**
997
+ * Stores result from supportsCssVariables to avoid redundant processing to detect CSS custom variable support.
998
+ * @private {boolean|undefined}
999
+ */
1000
+ var supportsCssVariables_ = void 0;
1001
+
1002
+ /**
1003
+ * Stores result from applyPassive to avoid redundant processing to detect passive event listener support.
1004
+ * @private {boolean|undefined}
1005
+ */
997
1006
  var supportsPassive_ = void 0;
998
1007
 
999
1008
  /**
1000
1009
  * @param {!Window} windowObj
1010
+ * @return {boolean}
1011
+ */
1012
+ function detectEdgePseudoVarBug(windowObj) {
1013
+ // Detect versions of Edge with buggy var() support
1014
+ // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/
1015
+ var document = windowObj.document;
1016
+ var className = 'test-edge-css-var';
1017
+ var styleNode = document.createElement('style');
1018
+ document.head.appendChild(styleNode);
1019
+ var sheet = styleNode.sheet;
1020
+ // Internet Explorer 11 requires indices to always be specified to insertRule
1021
+ sheet.insertRule(':root { --' + className + ': 1px solid #000; }', 0);
1022
+ sheet.insertRule('.' + className + ' { visibility: hidden; }', 1);
1023
+ sheet.insertRule('.' + className + '::before { border: var(--' + className + '); }', 2);
1024
+ var node = document.createElement('div');
1025
+ node.className = className;
1026
+ document.body.appendChild(node);
1027
+ // Bug exists if ::before style ends up propagating to the parent element
1028
+ var hasPseudoVarBug = windowObj.getComputedStyle(node).borderTopStyle === 'solid';
1029
+ node.remove();
1030
+ styleNode.remove();
1031
+ return hasPseudoVarBug;
1032
+ }
1033
+
1034
+ /**
1035
+ * @param {!Window} windowObj
1036
+ * @param {boolean=} forceRefresh
1001
1037
  * @return {boolean|undefined}
1002
1038
  */
1003
1039
  function supportsCssVariables(windowObj) {
1040
+ var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1041
+
1042
+ if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {
1043
+ return supportsCssVariables_;
1044
+ }
1045
+
1004
1046
  var supportsFunctionPresent = windowObj.CSS && typeof windowObj.CSS.supports === 'function';
1005
1047
  if (!supportsFunctionPresent) {
1006
1048
  return;
@@ -1010,7 +1052,13 @@ function supportsCssVariables(windowObj) {
1010
1052
  // See: https://bugs.webkit.org/show_bug.cgi?id=154669
1011
1053
  // See: README section on Safari
1012
1054
  var weAreFeatureDetectingSafari10plus = windowObj.CSS.supports('(--css-vars: yes)') && windowObj.CSS.supports('color', '#00000000');
1013
- return explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus;
1055
+
1056
+ if (explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus) {
1057
+ supportsCssVariables_ = !detectEdgePseudoVarBug(windowObj);
1058
+ } else {
1059
+ supportsCssVariables_ = false;
1060
+ }
1061
+ return supportsCssVariables_;
1014
1062
  }
1015
1063
 
1016
1064
  //
@@ -4253,7 +4301,7 @@ module.exports = function(el) {
4253
4301
  var candidate, candidateIndex;
4254
4302
  for (var i = 0, l = candidates.length; i < l; i++) {
4255
4303
  candidate = candidates[i];
4256
- candidateIndex = candidate.tabIndex;
4304
+ candidateIndex = parseInt(candidate.getAttribute('tabindex'), 10) || candidate.tabIndex;
4257
4305
 
4258
4306
  if (
4259
4307
  candidateIndex < 0
@@ -9008,20 +9056,13 @@ var MDCSelectFoundation = function (_MDCFoundation) {
9008
9056
 
9009
9057
  var focusIndex = this.selectedIndex_ < 0 ? 0 : this.selectedIndex_;
9010
9058
 
9011
- var _computeMenuStylesFor = this.computeMenuStylesForOpenAtIndex_(focusIndex),
9012
- left = _computeMenuStylesFor.left,
9013
- top = _computeMenuStylesFor.top,
9014
- transformOrigin = _computeMenuStylesFor.transformOrigin;
9015
-
9016
- this.adapter_.setMenuElStyle('left', left);
9017
- this.adapter_.setMenuElStyle('top', top);
9018
- this.adapter_.setMenuElStyle('transform-origin', transformOrigin);
9059
+ this.setMenuStylesForOpenAtIndex_(focusIndex);
9019
9060
  this.adapter_.addClass(OPEN);
9020
9061
  this.adapter_.openMenu(focusIndex);
9021
9062
  }
9022
9063
  }, {
9023
- key: 'computeMenuStylesForOpenAtIndex_',
9024
- value: function computeMenuStylesForOpenAtIndex_(index) {
9064
+ key: 'setMenuStylesForOpenAtIndex_',
9065
+ value: function setMenuStylesForOpenAtIndex_(index) {
9025
9066
  var innerHeight = this.adapter_.getWindowInnerHeight();
9026
9067
 
9027
9068
  var _adapter_$computeBoun = this.adapter_.computeBoundingRect(),
@@ -9036,20 +9077,17 @@ var MDCSelectFoundation = function (_MDCFoundation) {
9036
9077
  this.adapter_.rmMenuElAttr('aria-hidden');
9037
9078
 
9038
9079
  var adjustedTop = top - itemOffsetTop;
9039
- var adjustedHeight = menuHeight - itemOffsetTop;
9040
9080
  var overflowsTop = adjustedTop < 0;
9041
- var overflowsBottom = adjustedTop + adjustedHeight > innerHeight;
9081
+ var overflowsBottom = adjustedTop + menuHeight > innerHeight;
9042
9082
  if (overflowsTop) {
9043
9083
  adjustedTop = 0;
9044
9084
  } else if (overflowsBottom) {
9045
- adjustedTop = Math.max(0, adjustedTop - adjustedHeight);
9046
- }
9047
-
9048
- return {
9049
- left: left + 'px',
9050
- top: adjustedTop + 'px',
9051
- transformOrigin: 'center ' + itemOffsetTop + 'px'
9085
+ adjustedTop = Math.max(0, innerHeight - menuHeight);
9052
9086
  };
9087
+
9088
+ this.adapter_.setMenuElStyle('left', left + 'px');
9089
+ this.adapter_.setMenuElStyle('top', adjustedTop + 'px');
9090
+ this.adapter_.setMenuElStyle('transform-origin', 'center ' + itemOffsetTop + 'px');
9053
9091
  }
9054
9092
  }, {
9055
9093
  key: 'close_',
@@ -14,8 +14,6 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- @import "@material/animation/variables";
18
- @import "@material/animation/functions";
19
17
  @import "@material/elevation/mixins";
20
18
  @import "@material/ripple/mixins";
21
19
  @import "@material/theme/mixins";
@@ -141,6 +141,10 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
141
141
  @include mdc-rtl-reflexive-box(margin, right, 0);
142
142
  }
143
143
  }
144
+
145
+ &__action {
146
+ @include mdc-theme-prop(color, accent);
147
+ }
144
148
  }
145
149
 
146
150
  // TODO: Replace with breakpoint variable
@@ -35,20 +35,20 @@ $mdc-textfield-disabled-border-on-dark: rgba(white, .3);
35
35
 
36
36
  // postcss-bem-linter: define textfield
37
37
  .mdc-textfield {
38
- @include mdc-typography-base;
39
- // We use only a subset of the MDC typography values here as changing things such as line-height
40
- // affects how the labels are transformed.
41
- @each $prop in (font-size, letter-spacing) {
42
- #{$prop}: map-get(map-get($mdc-typography-styles, subheading2), $prop);
43
- }
44
-
45
38
  display: inline-block;
46
39
  margin-bottom: 8px;
47
40
  will-change: opacity, transform, color;
48
41
 
49
42
  &__input {
50
43
  @include mdc-theme-prop(color, text-primary-on-light);
44
+ @include mdc-typography-base;
45
+ // We use only a subset of the MDC typography values here as changing things such as line-height
46
+ // affects how the labels are transformed.
47
+ @each $prop in (font-size, letter-spacing) {
48
+ #{$prop}: map-get(map-get($mdc-typography-styles, subheading2), $prop);
49
+ }
51
50
 
51
+ width: 100%;
52
52
  padding: 0 0 8px;
53
53
  border: none;
54
54
  background: none;
@@ -35,6 +35,8 @@
35
35
  font-weight: #{map-get($style-props, font-weight)};
36
36
  letter-spacing: map-get($style-props, letter-spacing);
37
37
  line-height: map-get($style-props, line-height);
38
+ text-decoration: map-get($style-props, text-decoration);
39
+ text-transform: map-get($style-props, text-transform);
38
40
  }
39
41
 
40
42
  @mixin mdc-typography-adjust-margin($style) {
@@ -35,76 +35,107 @@ $mdc-typography-styles: (
35
35
  line-height: 7rem, /* 112sp */
36
36
  font-weight: map-get($mdc-typography-font-weight-values, light),
37
37
  letter-spacing: -.04em,
38
- margin: -1rem 0 3.5rem -.085em /* -16sp 0 56sp -.085em */
38
+ margin: -1rem 0 3.5rem -.085em /* -16sp 0 56sp -.085em */,
39
+ text-decoration: inherit,
40
+ text-transform: inherit
39
41
  ),
40
42
  display3: (
41
43
  font-size: 3.5rem, /* 56px */
42
44
  line-height: 3.5rem, /* 56px */
43
45
  font-weight: map-get($mdc-typography-font-weight-values, regular),
44
46
  letter-spacing: -.02em,
45
- margin: -8px 0 64px -.07em
47
+ margin: -8px 0 64px -.07em,
48
+ text-decoration: inherit,
49
+ text-transform: inherit
46
50
  ),
47
51
  display2: (
48
52
  font-size: 2.813rem, /* 45px */
49
53
  line-height: 3rem, /* 48px */
50
54
  font-weight: map-get($mdc-typography-font-weight-values, regular),
51
55
  letter-spacing: normal,
52
- margin: -.5rem 0 4rem -.07em /* -8sp 0 64sp -.07em */
56
+ margin: -.5rem 0 4rem -.07em /* -8sp 0 64sp -.07em */,
57
+ text-decoration: inherit,
58
+ text-transform: inherit
53
59
  ),
54
60
  display1: (
55
61
  font-size: 2.125rem, /* 34sp */
56
62
  line-height: 2.5rem, /* 40sp */
57
63
  font-weight: map-get($mdc-typography-font-weight-values, regular),
58
64
  letter-spacing: normal,
59
- margin: -.5rem 0 4rem -.07em /* -8sp 0 64sp -.07em */
65
+ margin: -.5rem 0 4rem -.07em /* -8sp 0 64sp -.07em */,
66
+ text-decoration: inherit,
67
+ text-transform: inherit
60
68
  ),
61
69
  headline: (
62
70
  font-size: 1.5rem, /* 24sp */
63
71
  line-height: 2rem, /* 32sp */
64
72
  font-weight: map-get($mdc-typography-font-weight-values, regular),
65
73
  letter-spacing: normal,
66
- margin: -.5rem 0 1rem -.06em /* -8sp 0 16sp -.06em */
74
+ margin: -.5rem 0 1rem -.06em /* -8sp 0 16sp -.06em */,
75
+ text-decoration: inherit,
76
+ text-transform: inherit
67
77
  ),
68
78
  title: (
69
79
  font-size: 1.25rem, /* 20sp */
70
80
  line-height: 2rem, /* 32sp */
71
81
  font-weight: map-get($mdc-typography-font-weight-values, medium),
72
82
  letter-spacing: .02em,
73
- margin: -.5rem 0 1rem -.05em /* -8sp 0 16sp -.05em */
83
+ margin: -.5rem 0 1rem -.05em /* -8sp 0 16sp -.05em */,
84
+ text-decoration: inherit,
85
+ text-transform: inherit
74
86
  ),
75
87
  subheading2: (
76
88
  font-size: 1rem, /* 16sp */
77
89
  line-height: 1.75rem, /* 28sp */
78
90
  font-weight: map-get($mdc-typography-font-weight-values, regular),
79
91
  letter-spacing: .04em,
80
- margin: -.5rem 0 1rem -.06em /* -8sp 0 16sp -.06em */
92
+ margin: -.5rem 0 1rem -.06em /* -8sp 0 16sp -.06em */,
93
+ text-decoration: inherit,
94
+ text-transform: inherit
81
95
  ),
82
96
  subheading1: (
83
97
  font-size: .938rem, /* 15sp */
84
98
  line-height: 1.5rem, /* 24sp */
85
99
  font-weight: map-get($mdc-typography-font-weight-values, regular),
86
100
  letter-spacing: .04em,
87
- margin: -.313rem 0 .813rem -.06em /* -5sp 0 13sp -.06em */
101
+ margin: -.313rem 0 .813rem -.06em /* -5sp 0 13sp -.06em */,
102
+ text-decoration: inherit,
103
+ text-transform: inherit
88
104
  ),
89
105
  body2: (
90
106
  font-size: .875rem, /* 14sp */
91
107
  line-height: 1.5rem, /* 24sp */
92
108
  font-weight: map-get($mdc-typography-font-weight-values, medium),
93
109
  letter-spacing: .04em,
94
- margin: -.25rem 0 .75rem 0 /* -4sp 0 12sp 0 */
110
+ margin: -.25rem 0 .75rem 0 /* -4sp 0 12sp 0 */,
111
+ text-decoration: inherit,
112
+ text-transform: inherit
95
113
  ),
96
114
  body1: (
97
115
  font-size: .875rem, /* 14sp */
98
116
  line-height: 1.25rem, /* 20sp */
99
117
  font-weight: map-get($mdc-typography-font-weight-values, regular),
100
118
  letter-spacing: .04em,
101
- margin: -.25rem 0 .75rem 0 /* -4sp 0 12sp 0 */
119
+ margin: -.25rem 0 .75rem 0 /* -4sp 0 12sp 0 */,
120
+ text-decoration: inherit,
121
+ text-transform: inherit
102
122
  ),
103
123
  caption: (
104
124
  font-size: .75rem, /* 12sp */
105
125
  line-height: 1.25rem, /* 20sp */
106
126
  font-weight: map-get($mdc-typography-font-weight-values, regular),
107
127
  letter-spacing: .08em,
108
- margin: -.5rem 0 1rem -.04em /* -8sp 0 16sp -.04em */
128
+ margin: -.5rem 0 1rem -.04em /* -8sp 0 16sp -.04em */,
129
+ text-decoration: inherit,
130
+ text-transform: inherit
131
+ ),
132
+ button: (
133
+ font-size: .875rem, /* 14sp */
134
+ line-height: 2.25rem, /* 36sp */
135
+ font-weight: map-get($mdc-typography-font-weight-values, medium),
136
+ letter-spacing: .04em,
137
+ margin: inherit /* We do not have adjust margin for button */,
138
+ text-decoration: none,
139
+ text-transform: uppercase
109
140
  )
110
141
  ) !default;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: material_components_web-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitriy Tarasov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-24 00:00:00.000000000 Z
11
+ date: 2017-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autoprefixer-rails