material_components_web-sass 0.19.0 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/material_components_web/sass/version.rb +1 -1
- data/vendor/assets/javascripts/material-components-web.js +32 -17
- data/vendor/assets/stylesheets/@material/button/_mixins.scss +1 -1
- data/vendor/assets/stylesheets/@material/button/mdc-button.scss +37 -1
- data/vendor/assets/stylesheets/@material/checkbox/_keyframes.scss +5 -7
- data/vendor/assets/stylesheets/@material/checkbox/mdc-checkbox.scss +0 -5
- data/vendor/assets/stylesheets/@material/dialog/mdc-dialog.scss +4 -4
- data/vendor/assets/stylesheets/@material/fab/_mixins.scss +99 -0
- data/vendor/assets/stylesheets/@material/fab/mdc-fab.scss +16 -80
- data/vendor/assets/stylesheets/@material/ripple/mdc-ripple.scss +16 -0
- data/vendor/assets/stylesheets/@material/switch/_variables.scss +0 -3
- data/vendor/assets/stylesheets/@material/switch/mdc-switch.scss +1 -3
- data/vendor/assets/stylesheets/@material/theme/_functions.scss +67 -0
- data/vendor/assets/stylesheets/@material/theme/_mixins.scss +25 -11
- data/vendor/assets/stylesheets/@material/theme/_variables.scss +4 -4
- metadata +4 -4
- data/vendor/assets/stylesheets/@material/switch/_mixins.scss +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8ca8d42be1db8293e67a81ea8982e79f83a046c
|
4
|
+
data.tar.gz: d273a3510c91da3706a0d025f3c362d14efe8555
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42483b7070fc79daa3e449c3c67aa5fd8f50e960c103c22a5fe72af7126616d20262404ccf9455d3bbc1cd782ef24b6ddc9d1f69d9a9aa31f9abae1167202c5a
|
7
|
+
data.tar.gz: 6c66d8344e4ad7cff4f95a3591ee0ca481e7fae829ca349fb7de97d69fb21ff268a82c7d96ca7bcc2a969dee83455b54eb03a7002f6d5a572b71b9be4182d663
|
data/CHANGELOG.md
CHANGED
@@ -1039,21 +1039,17 @@ function detectEdgePseudoVarBug(windowObj) {
|
|
1039
1039
|
// Detect versions of Edge with buggy var() support
|
1040
1040
|
// See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/
|
1041
1041
|
var document = windowObj.document;
|
1042
|
-
var className = 'test-edge-css-var';
|
1043
|
-
var styleNode = document.createElement('style');
|
1044
|
-
document.head.appendChild(styleNode);
|
1045
|
-
var sheet = styleNode.sheet;
|
1046
|
-
// Internet Explorer 11 requires indices to always be specified to insertRule
|
1047
|
-
sheet.insertRule(':root { --' + className + ': 1px solid #000; }', 0);
|
1048
|
-
sheet.insertRule('.' + className + ' { visibility: hidden; }', 1);
|
1049
|
-
sheet.insertRule('.' + className + '::before { border: var(--' + className + '); }', 2);
|
1050
1042
|
var node = document.createElement('div');
|
1051
|
-
node.className =
|
1043
|
+
node.className = 'mdc-ripple-surface--test-edge-var-bug';
|
1052
1044
|
document.body.appendChild(node);
|
1053
|
-
|
1054
|
-
|
1045
|
+
|
1046
|
+
// The bug exists if ::before style ends up propagating to the parent element.
|
1047
|
+
// Additionally, getComputedStyle returns null in iframes with display: "none" in Firefox,
|
1048
|
+
// but Firefox is known to support CSS custom properties correctly.
|
1049
|
+
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
1050
|
+
var computedStyle = windowObj.getComputedStyle(node);
|
1051
|
+
var hasPseudoVarBug = computedStyle !== null && computedStyle.borderTopStyle === 'solid';
|
1055
1052
|
node.remove();
|
1056
|
-
styleNode.remove();
|
1057
1053
|
return hasPseudoVarBug;
|
1058
1054
|
}
|
1059
1055
|
|
@@ -11872,6 +11868,11 @@ var MDCTextfield = function (_MDCComponent) {
|
|
11872
11868
|
set: function set(disabled) {
|
11873
11869
|
this.foundation_.setDisabled(disabled);
|
11874
11870
|
}
|
11871
|
+
}, {
|
11872
|
+
key: 'valid',
|
11873
|
+
set: function set(valid) {
|
11874
|
+
this.foundation_.setValid(valid);
|
11875
|
+
}
|
11875
11876
|
}], [{
|
11876
11877
|
key: 'attachTo',
|
11877
11878
|
value: function attachTo(root) {
|
@@ -11983,6 +11984,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
|
|
11983
11984
|
_this.inputKeydownHandler_ = function () {
|
11984
11985
|
return _this.receivedUserInput_ = true;
|
11985
11986
|
};
|
11987
|
+
_this.useCustomValidityChecking_ = false;
|
11986
11988
|
return _this;
|
11987
11989
|
}
|
11988
11990
|
|
@@ -12039,27 +12041,34 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
|
|
12039
12041
|
value: function deactivateFocus_() {
|
12040
12042
|
var _MDCTextfieldFoundati2 = MDCTextfieldFoundation.cssClasses,
|
12041
12043
|
FOCUSED = _MDCTextfieldFoundati2.FOCUSED,
|
12042
|
-
INVALID = _MDCTextfieldFoundati2.INVALID,
|
12043
12044
|
LABEL_FLOAT_ABOVE = _MDCTextfieldFoundati2.LABEL_FLOAT_ABOVE;
|
12044
12045
|
|
12045
12046
|
var input = this.getNativeInput_();
|
12046
|
-
var isValid = input.checkValidity();
|
12047
12047
|
|
12048
12048
|
this.adapter_.removeClass(FOCUSED);
|
12049
12049
|
if (!input.value && !this.isBadInput_()) {
|
12050
12050
|
this.adapter_.removeClassFromLabel(LABEL_FLOAT_ABOVE);
|
12051
12051
|
this.receivedUserInput_ = false;
|
12052
12052
|
}
|
12053
|
+
if (!this.useCustomValidityChecking_) {
|
12054
|
+
this.changeValidity_(input.checkValidity());
|
12055
|
+
}
|
12056
|
+
}
|
12057
|
+
}, {
|
12058
|
+
key: 'changeValidity_',
|
12059
|
+
value: function changeValidity_(isValid) {
|
12060
|
+
var INVALID = MDCTextfieldFoundation.cssClasses.INVALID;
|
12061
|
+
|
12053
12062
|
if (isValid) {
|
12054
12063
|
this.adapter_.removeClass(INVALID);
|
12055
12064
|
} else {
|
12056
12065
|
this.adapter_.addClass(INVALID);
|
12057
12066
|
}
|
12058
|
-
this.
|
12067
|
+
this.updateHelptext_(isValid);
|
12059
12068
|
}
|
12060
12069
|
}, {
|
12061
|
-
key: '
|
12062
|
-
value: function
|
12070
|
+
key: 'updateHelptext_',
|
12071
|
+
value: function updateHelptext_(isValid) {
|
12063
12072
|
var _MDCTextfieldFoundati3 = MDCTextfieldFoundation.cssClasses,
|
12064
12073
|
HELPTEXT_PERSISTENT = _MDCTextfieldFoundati3.HELPTEXT_PERSISTENT,
|
12065
12074
|
HELPTEXT_VALIDATION_MSG = _MDCTextfieldFoundati3.HELPTEXT_VALIDATION_MSG;
|
@@ -12122,6 +12131,12 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
|
|
12122
12131
|
badInput: false
|
12123
12132
|
};
|
12124
12133
|
}
|
12134
|
+
}, {
|
12135
|
+
key: 'setValid',
|
12136
|
+
value: function setValid(isValid) {
|
12137
|
+
this.useCustomValidityChecking_ = true;
|
12138
|
+
this.changeValidity_(isValid);
|
12139
|
+
}
|
12125
12140
|
}]);
|
12126
12141
|
|
12127
12142
|
return MDCTextfieldFoundation;
|
@@ -18,7 +18,7 @@
|
|
18
18
|
@import "@material/theme/mixins";
|
19
19
|
@import "@material/theme/variables";
|
20
20
|
|
21
|
-
@mixin mdc-button-
|
21
|
+
@mixin mdc-button-filled_() {
|
22
22
|
@include mdc-ripple-base;
|
23
23
|
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .32));
|
24
24
|
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .32));
|
@@ -77,7 +77,7 @@
|
|
77
77
|
|
78
78
|
.mdc-button--raised,
|
79
79
|
.mdc-button--unelevated {
|
80
|
-
@include mdc-button-
|
80
|
+
@include mdc-button-filled_;
|
81
81
|
}
|
82
82
|
|
83
83
|
.mdc-button--raised {
|
@@ -94,6 +94,23 @@
|
|
94
94
|
}
|
95
95
|
}
|
96
96
|
|
97
|
+
.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;
|
103
|
+
|
104
|
+
@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
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
97
114
|
.mdc-button--compact {
|
98
115
|
padding: 0 8px;
|
99
116
|
}
|
@@ -134,6 +151,14 @@
|
|
134
151
|
@include mdc-theme-prop(background-color, $theme-style);
|
135
152
|
@include mdc-theme-prop(color, text-primary-on-#{$theme-style});
|
136
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
|
+
}
|
137
162
|
}
|
138
163
|
}
|
139
164
|
|
@@ -168,4 +193,15 @@
|
|
168
193
|
}
|
169
194
|
}
|
170
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
|
+
}
|
206
|
+
}
|
171
207
|
// postcss-bem-linter: end
|
@@ -14,6 +14,7 @@
|
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
16
|
|
17
|
+
@import "@material/animation/variables";
|
17
18
|
@import "@material/theme/mixins";
|
18
19
|
@import "./variables";
|
19
20
|
|
@@ -74,7 +75,7 @@
|
|
74
75
|
}
|
75
76
|
|
76
77
|
50% {
|
77
|
-
|
78
|
+
animation-timing-function: $mdc-animation-deceleration-curve-timing-function;
|
78
79
|
}
|
79
80
|
|
80
81
|
100% {
|
@@ -99,8 +100,7 @@
|
|
99
100
|
|
100
101
|
@keyframes mdc-checkbox-checked-unchecked-checkmark-path {
|
101
102
|
from {
|
102
|
-
|
103
|
-
|
103
|
+
animation-timing-function: $mdc-animation-acceleration-curve-timing-function;
|
104
104
|
opacity: 1;
|
105
105
|
stroke-dashoffset: 0;
|
106
106
|
}
|
@@ -113,10 +113,9 @@
|
|
113
113
|
|
114
114
|
@keyframes mdc-checkbox-checked-indeterminate-checkmark {
|
115
115
|
from {
|
116
|
+
animation-timing-function: $mdc-animation-deceleration-curve-timing-function;
|
116
117
|
transform: rotate(0deg);
|
117
118
|
opacity: 1;
|
118
|
-
|
119
|
-
@include mdc-animation-deceleration-curve;
|
120
119
|
}
|
121
120
|
|
122
121
|
to {
|
@@ -140,10 +139,9 @@
|
|
140
139
|
|
141
140
|
@keyframes mdc-checkbox-checked-indeterminate-mixedmark {
|
142
141
|
from {
|
142
|
+
animation-timing-function: mdc-animation-deceleration-curve-timing-function;
|
143
143
|
transform: rotate(-45deg);
|
144
144
|
opacity: 0;
|
145
|
-
|
146
|
-
@include mdc-animation-deceleration-curve;
|
147
145
|
}
|
148
146
|
|
149
147
|
to {
|
@@ -15,16 +15,11 @@
|
|
15
15
|
//
|
16
16
|
|
17
17
|
@import "@material/animation/functions";
|
18
|
-
@import "@material/animation/mixins";
|
19
18
|
@import "@material/ripple/mixins";
|
20
19
|
@import "@material/rtl/mixins";
|
21
20
|
@import "./variables";
|
22
21
|
@import "./keyframes";
|
23
22
|
|
24
|
-
@function mdc-checkbox-transition($property, $timing-function, $delay: 0ms, $duration: $mdc-checkbox-transition-duration) {
|
25
|
-
@return $property $duration $timing-function $delay;
|
26
|
-
}
|
27
|
-
|
28
23
|
@function mdc-checkbox-transition-enter($property, $delay: 0ms, $duration: $mdc-checkbox-transition-duration) {
|
29
24
|
@return mdc-animation-enter($property, $duration, $delay);
|
30
25
|
}
|
@@ -39,7 +39,7 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
|
|
39
39
|
width: 100%;
|
40
40
|
height: 100%;
|
41
41
|
visibility: hidden;
|
42
|
-
z-index:
|
42
|
+
z-index: 5;
|
43
43
|
|
44
44
|
&__backdrop {
|
45
45
|
position: fixed;
|
@@ -141,10 +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
|
+
}
|
144
145
|
|
145
|
-
|
146
|
-
|
147
|
-
}
|
146
|
+
&__action {
|
147
|
+
@include mdc-theme-prop(color, secondary);
|
148
148
|
}
|
149
149
|
|
150
150
|
// TODO: Replace with breakpoint variable
|
@@ -0,0 +1,99 @@
|
|
1
|
+
// Copyright 2016 Google Inc. All Rights Reserved.
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
@import "@material/animation/functions";
|
16
|
+
@import "@material/animation/variables";
|
17
|
+
@import "@material/elevation/mixins";
|
18
|
+
@import "@material/ripple/mixins";
|
19
|
+
@import "@material/theme/mixins";
|
20
|
+
|
21
|
+
@mixin mdc-fab-container-color($color) {
|
22
|
+
@include mdc-theme-prop(background-color, $color);
|
23
|
+
}
|
24
|
+
|
25
|
+
@mixin mdc-fab-ink-color($color) {
|
26
|
+
@include mdc-theme-prop(color, $color);
|
27
|
+
}
|
28
|
+
|
29
|
+
@mixin mdc-fab-ripple($ripple-config) {
|
30
|
+
@include mdc-ripple-bg(map-merge((pseudo: "::before"), $ripple-config));
|
31
|
+
@include mdc-ripple-fg(map-merge((pseudo: "::after"), $ripple-config));
|
32
|
+
}
|
33
|
+
|
34
|
+
@mixin mdc-fab-base_ {
|
35
|
+
@include mdc-ripple-base;
|
36
|
+
|
37
|
+
display: inline-flex;
|
38
|
+
position: relative;
|
39
|
+
justify-content: center;
|
40
|
+
width: 56px;
|
41
|
+
height: 56px;
|
42
|
+
padding: 0;
|
43
|
+
transition: box-shadow 280ms $mdc-animation-standard-curve-timing-function;
|
44
|
+
border: none;
|
45
|
+
border-radius: 50%;
|
46
|
+
cursor: pointer;
|
47
|
+
user-select: none;
|
48
|
+
box-sizing: border-box;
|
49
|
+
fill: currentColor;
|
50
|
+
-moz-appearance: none;
|
51
|
+
-webkit-appearance: none;
|
52
|
+
overflow: hidden;
|
53
|
+
|
54
|
+
@include mdc-elevation(6);
|
55
|
+
|
56
|
+
&:active {
|
57
|
+
@include mdc-elevation(12);
|
58
|
+
}
|
59
|
+
|
60
|
+
&:active,
|
61
|
+
&:focus {
|
62
|
+
// TODO(acdvorak): Should this be paired with states and/or ripple? We don't want to disable outline
|
63
|
+
// (an accessibility/usability feature) unless we're confident that there is also a visual indication that the
|
64
|
+
// element has focus. If the client has customized the DOM in some unexpected way, and is certain that another
|
65
|
+
// element will receive focus instead, they can always override this property manually in their CSS.
|
66
|
+
outline: none;
|
67
|
+
}
|
68
|
+
|
69
|
+
&:hover {
|
70
|
+
cursor: pointer;
|
71
|
+
}
|
72
|
+
|
73
|
+
&::-moz-focus-inner {
|
74
|
+
padding: 0;
|
75
|
+
border: 0;
|
76
|
+
}
|
77
|
+
|
78
|
+
// This allows for using SVGs within them to align properly in all browsers.
|
79
|
+
// Can remove once: https://bugzilla.mozilla.org/show_bug.cgi?id=1294515 is resolved.
|
80
|
+
|
81
|
+
// stylelint-disable selector-max-type
|
82
|
+
// postcss-bem-linter: ignore
|
83
|
+
> svg {
|
84
|
+
width: 100%;
|
85
|
+
}
|
86
|
+
// stylelint-enable selector-max-type
|
87
|
+
}
|
88
|
+
|
89
|
+
@mixin mdc-fab--mini_ {
|
90
|
+
width: 40px;
|
91
|
+
height: 40px;
|
92
|
+
}
|
93
|
+
|
94
|
+
@mixin mdc-fab__icon_ {
|
95
|
+
display: flex;
|
96
|
+
align-items: center;
|
97
|
+
justify-content: center;
|
98
|
+
width: 100%;
|
99
|
+
}
|
@@ -12,98 +12,34 @@
|
|
12
12
|
// See the License for the specific language governing permissions and
|
13
13
|
// limitations under the License.
|
14
14
|
|
15
|
-
@import "@material/
|
16
|
-
@import "
|
17
|
-
@import "@material/elevation/mixins";
|
18
|
-
@import "@material/ripple/mixins";
|
19
|
-
@import "@material/theme/mixins";
|
15
|
+
@import "@material/theme/variables";
|
16
|
+
@import "./mixins";
|
20
17
|
|
21
18
|
// postcss-bem-linter: define fab
|
22
|
-
.mdc-fab {
|
23
|
-
@include mdc-ripple-base;
|
24
|
-
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .16));
|
25
|
-
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .16));
|
26
19
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
padding: 0;
|
33
|
-
transition: box-shadow 280ms $mdc-animation-standard-curve-timing-function;
|
34
|
-
border: none;
|
35
|
-
border-radius: 50%;
|
36
|
-
cursor: pointer;
|
37
|
-
user-select: none;
|
38
|
-
box-sizing: border-box;
|
39
|
-
fill: currentColor;
|
40
|
-
-moz-appearance: none;
|
41
|
-
-webkit-appearance: none;
|
42
|
-
overflow: hidden;
|
20
|
+
.mdc-fab {
|
21
|
+
@include mdc-fab-base_;
|
22
|
+
@include mdc-fab-container-color(secondary);
|
23
|
+
@include mdc-fab-ink-color(text-primary-on-secondary);
|
24
|
+
@include mdc-fab-ripple((base-color: white, opacity: .16));
|
43
25
|
|
44
26
|
&:not(.mdc-ripple-upgraded) {
|
45
27
|
-webkit-tap-highlight-color: rgba(0, 0, 0, .18);
|
46
28
|
}
|
29
|
+
}
|
47
30
|
|
48
|
-
|
49
|
-
@include mdc-
|
50
|
-
@include mdc-
|
51
|
-
|
52
|
-
|
53
|
-
width: 40px;
|
54
|
-
height: 40px;
|
55
|
-
}
|
56
|
-
|
57
|
-
&--plain {
|
58
|
-
background-color: white;
|
59
|
-
|
60
|
-
@include mdc-theme-prop(color, text-primary-on-light);
|
61
|
-
@include mdc-ripple-bg((pseudo: "::before"));
|
62
|
-
@include mdc-ripple-fg((pseudo: "::after"));
|
63
|
-
}
|
64
|
-
|
65
|
-
&:active,
|
66
|
-
&:focus {
|
67
|
-
outline: none;
|
68
|
-
}
|
69
|
-
|
70
|
-
&:active {
|
71
|
-
@include mdc-elevation(12);
|
72
|
-
}
|
73
|
-
|
74
|
-
&:hover {
|
75
|
-
cursor: pointer;
|
76
|
-
}
|
77
|
-
|
78
|
-
&::-moz-focus-inner {
|
79
|
-
padding: 0;
|
80
|
-
border: 0;
|
81
|
-
}
|
82
|
-
|
83
|
-
// This allows for using SVGs within them to align properly in all browsers.
|
84
|
-
// Can remove once: https://bugzilla.mozilla.org/show_bug.cgi?id=1294515 is resolved.
|
85
|
-
|
86
|
-
// stylelint-disable selector-max-type
|
87
|
-
// postcss-bem-linter: ignore
|
88
|
-
> svg {
|
89
|
-
width: 100%;
|
90
|
-
}
|
91
|
-
// stylelint-enable selector-max-type
|
31
|
+
.mdc-fab--plain {
|
32
|
+
@include mdc-fab-container-color(white);
|
33
|
+
@include mdc-fab-ink-color(text-primary-on-light);
|
34
|
+
@include mdc-fab-ripple(()); // default dark ripple
|
35
|
+
}
|
92
36
|
|
93
|
-
|
94
|
-
|
95
|
-
background-color: rgba(0, 0, 0, .12);
|
96
|
-
color: rgba(0, 0, 0, .26);
|
97
|
-
cursor: default;
|
98
|
-
pointer-events: none;
|
99
|
-
}
|
37
|
+
.mdc-fab--mini {
|
38
|
+
@include mdc-fab--mini_;
|
100
39
|
}
|
101
40
|
|
102
41
|
.mdc-fab__icon {
|
103
|
-
|
104
|
-
align-items: center;
|
105
|
-
justify-content: center;
|
106
|
-
width: 100%;
|
42
|
+
@include mdc-fab__icon_;
|
107
43
|
}
|
108
44
|
|
109
45
|
// postcss-bem-linter: end
|
@@ -54,4 +54,20 @@
|
|
54
54
|
}
|
55
55
|
}
|
56
56
|
|
57
|
+
// Styles used to detect buggy behavior of CSS custom properties in Edge
|
58
|
+
// See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/
|
59
|
+
|
60
|
+
.mdc-ripple-surface--test-edge-var-bug {
|
61
|
+
// stylelint-disable plugin/selector-bem-pattern
|
62
|
+
// bem linter is disabled because it cannot correctly reconcile mdc prefix for css variables.
|
63
|
+
--mdc-ripple-surface-test-edge-var: 1px solid #000;
|
64
|
+
// stylelint-enable plugin/selector-bem-pattern
|
65
|
+
|
66
|
+
visibility: hidden;
|
67
|
+
|
68
|
+
&::before {
|
69
|
+
border: var(--mdc-ripple-surface-test-edge-var);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
57
73
|
// postcss-bem-linter: end
|
@@ -28,6 +28,3 @@ $mdc-switch-unchecked-track-color-dark: #fff;
|
|
28
28
|
$mdc-switch-unchecked-focus-ring-color-dark: #f1f1f1;
|
29
29
|
$mdc-switch-disabled-knob-color: #bdbdbd;
|
30
30
|
$mdc-switch-disabled-knob-color-dark: #424242;
|
31
|
-
|
32
|
-
$mdc-switch-transition-duration: 175ms;
|
33
|
-
$mdc-switch-transition-curve: cubic-bezier(.4, 0, .2, 1);
|
@@ -12,15 +12,13 @@
|
|
12
12
|
// See the License for the specific language governing permissions and
|
13
13
|
// limitations under the License.
|
14
14
|
|
15
|
-
@import "@material/animation/functions";
|
16
15
|
@import "@material/animation/variables";
|
17
16
|
@import "@material/elevation/mixins";
|
18
17
|
@import "@material/theme/mixins";
|
19
|
-
@import "./mixins";
|
20
18
|
@import "./variables";
|
21
19
|
|
22
20
|
@function mdc-switch-transition($property) {
|
23
|
-
@return $property 90ms $mdc-
|
21
|
+
@return $property 90ms $mdc-animation-standard-curve-timing-function;
|
24
22
|
}
|
25
23
|
|
26
24
|
// postcss-bem-linter: define switch
|
@@ -16,6 +16,11 @@
|
|
16
16
|
|
17
17
|
@import "./constants";
|
18
18
|
|
19
|
+
// Used by the functions below to shift a color's luminance by approximately
|
20
|
+
// one index within its tonal palette.
|
21
|
+
// E.g., shift from Red 500 to Red 400 or Red 600.
|
22
|
+
$_mdc-theme-tonal-offset: 7%;
|
23
|
+
|
19
24
|
// Calculate the luminance for a color.
|
20
25
|
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
21
26
|
@function mdc-theme-luminance($color) {
|
@@ -51,3 +56,65 @@
|
|
51
56
|
@return "light";
|
52
57
|
}
|
53
58
|
}
|
59
|
+
|
60
|
+
// lighten() and darken() require values to be between 0% and 100%.
|
61
|
+
@function mdc-theme-clamp-percentage_($percentage) {
|
62
|
+
@return max(0%, min(100%, $percentage));
|
63
|
+
}
|
64
|
+
|
65
|
+
// Generate light and dark variants of the given color, offset by approximately
|
66
|
+
// the specified number of indexes within the color's tonal palette.
|
67
|
+
@function mdc-theme-tonal-variants_($color, $num-indexes: 2) {
|
68
|
+
$luminance: mdc-theme-luminance($color) * 100%;
|
69
|
+
$amount-1x: mdc-theme-clamp-percentage_($_mdc-theme-tonal-offset * $num-indexes);
|
70
|
+
$amount-2x: mdc-theme-clamp-percentage_($_mdc-theme-tonal-offset * $num-indexes * 2);
|
71
|
+
$lower-bound: $amount-1x;
|
72
|
+
$upper-bound: 100% - $lower-bound;
|
73
|
+
|
74
|
+
@if $luminance <= $lower-bound {
|
75
|
+
@return (
|
76
|
+
dark: lighten($color, $amount-1x),
|
77
|
+
light: lighten($color, $amount-2x)
|
78
|
+
);
|
79
|
+
}
|
80
|
+
|
81
|
+
@else if $luminance >= $upper-bound {
|
82
|
+
@return (
|
83
|
+
dark: darken($color, $amount-2x),
|
84
|
+
light: darken($color, $amount-1x)
|
85
|
+
);
|
86
|
+
}
|
87
|
+
|
88
|
+
@else {
|
89
|
+
@return (
|
90
|
+
dark: darken($color, $amount-1x),
|
91
|
+
light: lighten($color, $amount-1x)
|
92
|
+
);
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
// Darken the given color by approximately the specified number of indexes
|
97
|
+
// within its tonal palette.
|
98
|
+
//
|
99
|
+
// If the color is already very dark, it will be lightened instead of darkened
|
100
|
+
// to ensure that the returned value is visually distinct from the input color.
|
101
|
+
//
|
102
|
+
// If the color is very light, it will be darkened twice as much as usual to
|
103
|
+
// ensure that the returned value is visually distinct from the light variant
|
104
|
+
// (which will actually end up being a dark shade).
|
105
|
+
@function mdc-theme-dark-variant($color, $num-indexes: 2) {
|
106
|
+
@return map-get(mdc-theme-tonal-variants_($color, $num-indexes), dark);
|
107
|
+
}
|
108
|
+
|
109
|
+
// Lighten the given color by approximately the specified number of indexes
|
110
|
+
// within its tonal palette.
|
111
|
+
//
|
112
|
+
// If the color is already very light, it will be darkened instead of lightened
|
113
|
+
// to ensure that the returned value is visually distinct from the input color.
|
114
|
+
//
|
115
|
+
// If the color is very dark, it will be lightened twice as much as usual to
|
116
|
+
// ensure that the returned value is visually distinct from the dark variant
|
117
|
+
// (which will actually end up being a light tint).
|
118
|
+
@function mdc-theme-light-variant($color, $num-indexes: 2) {
|
119
|
+
@return map-get(mdc-theme-tonal-variants_($color, $num-indexes), light);
|
120
|
+
}
|
@@ -18,22 +18,36 @@
|
|
18
18
|
|
19
19
|
// Applies the correct theme color style to the specified property.
|
20
20
|
// $property is typically color or background-color, but can be any CSS property that accepts color values.
|
21
|
-
// $style should be one of the map keys in $mdc-theme-property-values (_variables.scss).
|
21
|
+
// $style should be one of the map keys in $mdc-theme-property-values (_variables.scss), or a literal color value.
|
22
22
|
@mixin mdc-theme-prop($property, $style, $important: false) {
|
23
|
-
@if
|
24
|
-
@
|
25
|
-
|
23
|
+
@if type-of($style) == "color" {
|
24
|
+
@if $important {
|
25
|
+
#{$property}: $style !important;
|
26
|
+
}
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
#{$property}: var(--mdc-theme-#{$style}, map-get($mdc-theme-property-values, $style)) !important;
|
28
|
+
@else {
|
29
|
+
#{$property}: $style;
|
30
|
+
}
|
31
31
|
}
|
32
32
|
|
33
33
|
@else {
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
@if not map-has-key($mdc-theme-property-values, $style) {
|
35
|
+
@error "Invalid style: '#{$style}'. Choose one of: #{map-keys($mdc-theme-property-values)}";
|
36
|
+
}
|
37
|
+
|
38
|
+
$value: map-get($mdc-theme-property-values, $style);
|
39
|
+
|
40
|
+
@if $important {
|
41
|
+
/* @alternate */
|
42
|
+
#{$property}: $value !important;
|
43
|
+
#{$property}: var(--mdc-theme-#{$style}, $value) !important;
|
44
|
+
}
|
45
|
+
|
46
|
+
@else {
|
47
|
+
/* @alternate */
|
48
|
+
#{$property}: $value;
|
49
|
+
#{$property}: var(--mdc-theme-#{$style}, $value);
|
50
|
+
}
|
37
51
|
}
|
38
52
|
}
|
39
53
|
|
@@ -23,15 +23,15 @@
|
|
23
23
|
//
|
24
24
|
|
25
25
|
$mdc-theme-primary: #3f51b5 !default; // Indigo 500
|
26
|
-
$mdc-theme-primary-light:
|
27
|
-
$mdc-theme-primary-dark:
|
26
|
+
$mdc-theme-primary-light: mdc-theme-light-variant($mdc-theme-primary) !default;
|
27
|
+
$mdc-theme-primary-dark: mdc-theme-dark-variant($mdc-theme-primary) !default;
|
28
28
|
|
29
29
|
// The $mdc-theme-accent variable is DEPRECATED - it exists purely for backward compatibility.
|
30
30
|
// The $mdc-theme-secondary* variables should be used for all new projects.
|
31
31
|
$mdc-theme-accent: #ff4081 !default; // Pink A200
|
32
32
|
$mdc-theme-secondary: $mdc-theme-accent !default;
|
33
|
-
$mdc-theme-secondary-light:
|
34
|
-
$mdc-theme-secondary-dark:
|
33
|
+
$mdc-theme-secondary-light: mdc-theme-light-variant($mdc-theme-secondary) !default;
|
34
|
+
$mdc-theme-secondary-dark: mdc-theme-dark-variant($mdc-theme-secondary) !default;
|
35
35
|
|
36
36
|
$mdc-theme-background: #fff !default; // White
|
37
37
|
|
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.
|
4
|
+
version: 0.20.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-
|
11
|
+
date: 2017-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: autoprefixer-rails
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- vendor/assets/stylesheets/@material/elevation/_mixins.scss
|
146
146
|
- vendor/assets/stylesheets/@material/elevation/_variables.scss
|
147
147
|
- vendor/assets/stylesheets/@material/elevation/mdc-elevation.scss
|
148
|
+
- vendor/assets/stylesheets/@material/fab/_mixins.scss
|
148
149
|
- vendor/assets/stylesheets/@material/fab/mdc-fab.scss
|
149
150
|
- vendor/assets/stylesheets/@material/fonts/material-icons.scss
|
150
151
|
- vendor/assets/stylesheets/@material/fonts/roboto.scss
|
@@ -169,7 +170,6 @@ files:
|
|
169
170
|
- vendor/assets/stylesheets/@material/slider/mdc-slider.scss
|
170
171
|
- vendor/assets/stylesheets/@material/snackbar/_variables.scss
|
171
172
|
- vendor/assets/stylesheets/@material/snackbar/mdc-snackbar.scss
|
172
|
-
- vendor/assets/stylesheets/@material/switch/_mixins.scss
|
173
173
|
- vendor/assets/stylesheets/@material/switch/_variables.scss
|
174
174
|
- vendor/assets/stylesheets/@material/switch/mdc-switch.scss
|
175
175
|
- vendor/assets/stylesheets/@material/tabs/mdc-tabs.scss
|
@@ -210,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
210
|
version: '0'
|
211
211
|
requirements: []
|
212
212
|
rubyforge_project:
|
213
|
-
rubygems_version: 2.6.
|
213
|
+
rubygems_version: 2.6.13
|
214
214
|
signing_key:
|
215
215
|
specification_version: 4
|
216
216
|
summary: Material Components for the web (MDC-Web) with Material Icons and Roboto
|
@@ -1,18 +0,0 @@
|
|
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, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
// See the License for the specific language governing permissions and
|
13
|
-
// limitations under the License.
|
14
|
-
//
|
15
|
-
|
16
|
-
@function mdc-switch-transition($property, $timing-function, $duration: $mdc-switch-transition-duration) {
|
17
|
-
@return $property $duration $timing-function;
|
18
|
-
}
|