material_components_web-sass 0.5.0 → 0.6.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 +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 +44 -24
- data/vendor/assets/stylesheets/@material/button/mdc-button.scss +24 -58
- data/vendor/assets/stylesheets/@material/checkbox/mdc-checkbox.scss +29 -23
- data/vendor/assets/stylesheets/@material/fab/mdc-fab.scss +8 -14
- data/vendor/assets/stylesheets/@material/form-field/mdc-form-field.scss +4 -4
- data/vendor/assets/stylesheets/@material/icon-toggle/mdc-icon-toggle.scss +29 -63
- data/vendor/assets/stylesheets/@material/radio/mdc-radio.scss +26 -16
- data/vendor/assets/stylesheets/@material/ripple/_keyframes.scss +8 -4
- data/vendor/assets/stylesheets/@material/ripple/_mixins.scss +75 -19
- data/vendor/assets/stylesheets/@material/ripple/mdc-ripple.scss +10 -33
- data/vendor/assets/stylesheets/@material/switch/mdc-switch.scss +21 -17
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4511af5460a1142942fada8f0ad54237ad47809
|
4
|
+
data.tar.gz: f3a44599a76ab55c581d9cec61f384d8447ad3f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a372357430cb922e09f3a9453a00b3b04d75cef53581e5b695db3161b35fbff37f8ceee6826c46eb957bdc54484aa14266d2193bf290fa964a7fc48e5c045db6
|
7
|
+
data.tar.gz: 922affc5910a85bcdb2e58d214eccd05a251426f7e5708c34ec31d0ec04beaf90ebc444b5e69475ac2e159881b004c1c5d31ecc8504bb1d3e2dd8ec541e5a032
|
data/CHANGELOG.md
CHANGED
@@ -1611,6 +1611,9 @@ var MDCSelect = function (_MDCComponent) {
|
|
1611
1611
|
getTextForOptionAtIndex: function getTextForOptionAtIndex(index) {
|
1612
1612
|
return _this2.options[index].textContent;
|
1613
1613
|
},
|
1614
|
+
getValueForOptionAtIndex: function getValueForOptionAtIndex(index) {
|
1615
|
+
return _this2.options[index].id || _this2.options[index].textContent;
|
1616
|
+
},
|
1614
1617
|
setAttrForOptionAtIndex: function setAttrForOptionAtIndex(index, attr, value) {
|
1615
1618
|
return _this2.options[index].setAttribute(attr, value);
|
1616
1619
|
},
|
@@ -1647,6 +1650,11 @@ var MDCSelect = function (_MDCComponent) {
|
|
1647
1650
|
this.disabled = true;
|
1648
1651
|
}
|
1649
1652
|
}
|
1653
|
+
}, {
|
1654
|
+
key: 'value',
|
1655
|
+
get: function get() {
|
1656
|
+
return this.foundation_.getValue();
|
1657
|
+
}
|
1650
1658
|
}, {
|
1651
1659
|
key: 'options',
|
1652
1660
|
get: function get() {
|
@@ -3643,7 +3651,11 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
|
|
3643
3651
|
);
|
3644
3652
|
},
|
3645
3653
|
setTransformOrigin: function setTransformOrigin() /* origin: string */{},
|
3646
|
-
setPosition: function setPosition() /* position: { top: string, right: string, bottom: string, left: string } */{}
|
3654
|
+
setPosition: function setPosition() /* position: { top: string, right: string, bottom: string, left: string } */{},
|
3655
|
+
getAccurateTime: function getAccurateTime() {
|
3656
|
+
return (/* number */0
|
3657
|
+
);
|
3658
|
+
}
|
3647
3659
|
};
|
3648
3660
|
}
|
3649
3661
|
}]);
|
@@ -3763,7 +3775,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
|
|
3763
3775
|
value: function animationLoop_() {
|
3764
3776
|
var _this2 = this;
|
3765
3777
|
|
3766
|
-
var time =
|
3778
|
+
var time = this.adapter_.getAccurateTime();
|
3767
3779
|
var _MDCSimpleMenuFoundat3 = MDCSimpleMenuFoundation.numbers,
|
3768
3780
|
TRANSITION_DURATION_MS = _MDCSimpleMenuFoundat3.TRANSITION_DURATION_MS,
|
3769
3781
|
TRANSITION_X1 = _MDCSimpleMenuFoundat3.TRANSITION_X1,
|
@@ -3825,7 +3837,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
|
|
3825
3837
|
value: function animateMenu_() {
|
3826
3838
|
var _this3 = this;
|
3827
3839
|
|
3828
|
-
this.startTime_ =
|
3840
|
+
this.startTime_ = this.adapter_.getAccurateTime();
|
3829
3841
|
this.startScaleX_ = this.scaleX_;
|
3830
3842
|
this.startScaleY_ = this.scaleY_;
|
3831
3843
|
|
@@ -4229,6 +4241,9 @@ var MDCSimpleMenu = function (_MDCComponent) {
|
|
4229
4241
|
_this2.root_.style.right = 'right' in position ? position.right : null;
|
4230
4242
|
_this2.root_.style.top = 'top' in position ? position.top : null;
|
4231
4243
|
_this2.root_.style.bottom = 'bottom' in position ? position.bottom : null;
|
4244
|
+
},
|
4245
|
+
getAccurateTime: function getAccurateTime() {
|
4246
|
+
return window.performance.now();
|
4232
4247
|
}
|
4233
4248
|
});
|
4234
4249
|
}
|
@@ -4790,6 +4805,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
|
|
4790
4805
|
VAR_FG_UNBOUNDED_TRANSFORM_DURATION = _MDCRippleFoundation$4.VAR_FG_UNBOUNDED_TRANSFORM_DURATION,
|
4791
4806
|
VAR_FG_APPROX_XF = _MDCRippleFoundation$4.VAR_FG_APPROX_XF;
|
4792
4807
|
|
4808
|
+
|
4793
4809
|
this.adapter_.updateCssVariable(VAR_FG_APPROX_XF, 'scale(' + approxCurScale + ')');
|
4794
4810
|
this.adapter_.updateCssVariable(VAR_FG_UNBOUNDED_OPACITY_DURATION, opacityDuration + 'ms');
|
4795
4811
|
this.adapter_.updateCssVariable(VAR_FG_UNBOUNDED_TRANSFORM_DURATION, transformDuration + 'ms');
|
@@ -5071,6 +5087,10 @@ var MDCSelectFoundation = function (_MDCFoundation) {
|
|
5071
5087
|
return (/* index: number */ /* string */''
|
5072
5088
|
);
|
5073
5089
|
},
|
5090
|
+
getValueForOptionAtIndex: function getValueForOptionAtIndex() {
|
5091
|
+
return (/* index: number */ /* string */''
|
5092
|
+
);
|
5093
|
+
},
|
5074
5094
|
setAttrForOptionAtIndex: function setAttrForOptionAtIndex() /* index: number, attr: string, value: string */{},
|
5075
5095
|
rmAttrForOptionAtIndex: function rmAttrForOptionAtIndex() /* index: number, attr: string */{},
|
5076
5096
|
getOffsetTopForOptionAtIndex: function getOffsetTopForOptionAtIndex() {
|
@@ -5143,6 +5163,11 @@ var MDCSelectFoundation = function (_MDCFoundation) {
|
|
5143
5163
|
this.adapter_.deregisterMenuInteractionHandler('MDCSimpleMenu:selected', this.selectionHandler_);
|
5144
5164
|
this.adapter_.deregisterMenuInteractionHandler('MDCSimpleMenu:cancel', this.cancelHandler_);
|
5145
5165
|
}
|
5166
|
+
}, {
|
5167
|
+
key: 'getValue',
|
5168
|
+
value: function getValue() {
|
5169
|
+
return this.selectedIndex_ >= 0 ? this.adapter_.getValueForOptionAtIndex(this.selectedIndex_) : '';
|
5170
|
+
}
|
5146
5171
|
}, {
|
5147
5172
|
key: 'getSelectedIndex',
|
5148
5173
|
value: function getSelectedIndex() {
|
@@ -5339,17 +5364,9 @@ var cssClasses = {
|
|
5339
5364
|
};
|
5340
5365
|
|
5341
5366
|
var strings = {
|
5342
|
-
|
5343
|
-
|
5344
|
-
|
5345
|
-
|
5346
|
-
get ACTION_WRAPPER_SELECTOR() {
|
5347
|
-
return '.' + cssClasses.ACTION_WRAPPER;
|
5348
|
-
},
|
5349
|
-
|
5350
|
-
get ACTION_BUTTON_SELECTOR() {
|
5351
|
-
return '.' + cssClasses.ACTION_BUTTON;
|
5352
|
-
}
|
5367
|
+
TEXT_SELECTOR: '.' + cssClasses.TEXT,
|
5368
|
+
ACTION_WRAPPER_SELECTOR: '.' + cssClasses.ACTION_WRAPPER,
|
5369
|
+
ACTION_BUTTON_SELECTOR: '.' + cssClasses.ACTION_BUTTON
|
5353
5370
|
};
|
5354
5371
|
|
5355
5372
|
var numbers = {
|
@@ -5598,8 +5615,6 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
5598
5615
|
|
5599
5616
|
|
5600
5617
|
|
5601
|
-
var ROOT = 'mdc-textfield';
|
5602
|
-
|
5603
5618
|
var MDCTextfieldFoundation = function (_MDCFoundation) {
|
5604
5619
|
_inherits(MDCTextfieldFoundation, _MDCFoundation);
|
5605
5620
|
|
@@ -5607,14 +5622,14 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
|
|
5607
5622
|
key: 'cssClasses',
|
5608
5623
|
get: function get() {
|
5609
5624
|
return {
|
5610
|
-
ROOT:
|
5611
|
-
UPGRADED:
|
5612
|
-
DISABLED:
|
5613
|
-
FOCUSED:
|
5614
|
-
INVALID:
|
5615
|
-
HELPTEXT_PERSISTENT:
|
5616
|
-
HELPTEXT_VALIDATION_MSG:
|
5617
|
-
LABEL_FLOAT_ABOVE:
|
5625
|
+
ROOT: 'mdc-textfield',
|
5626
|
+
UPGRADED: 'mdc-textfield--upgraded',
|
5627
|
+
DISABLED: 'mdc-textfield--disabled',
|
5628
|
+
FOCUSED: 'mdc-textfield--focused',
|
5629
|
+
INVALID: 'mdc-textfield--invalid',
|
5630
|
+
HELPTEXT_PERSISTENT: 'mdc-textfield-helptext--persistent',
|
5631
|
+
HELPTEXT_VALIDATION_MSG: 'mdc-textfield-helptext--validation-msg',
|
5632
|
+
LABEL_FLOAT_ABOVE: 'mdc-textfield__label--float-above'
|
5618
5633
|
};
|
5619
5634
|
}
|
5620
5635
|
}, {
|
@@ -5688,6 +5703,11 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
|
|
5688
5703
|
this.adapter_.registerInputBlurHandler(this.inputBlurHandler_);
|
5689
5704
|
this.adapter_.registerInputInputHandler(this.inputInputHandler_);
|
5690
5705
|
this.adapter_.registerInputKeydownHandler(this.inputKeydownHandler_);
|
5706
|
+
|
5707
|
+
// Ensure label does not collide with any pre-filled value.
|
5708
|
+
if (this.getNativeInput_().value) {
|
5709
|
+
this.adapter_.addClassToLabel(MDCTextfieldFoundation.cssClasses.LABEL_FLOAT_ABOVE);
|
5710
|
+
}
|
5691
5711
|
}
|
5692
5712
|
}, {
|
5693
5713
|
key: 'destroy',
|
@@ -22,7 +22,11 @@
|
|
22
22
|
@import "@material/typography/mixins";
|
23
23
|
|
24
24
|
// postcss-bem-linter: define button
|
25
|
+
|
25
26
|
.mdc-button {
|
27
|
+
@include mdc-ripple-base;
|
28
|
+
@include mdc-ripple-bg((pseudo: "::before"));
|
29
|
+
@include mdc-ripple-fg((pseudo: "::after"));
|
26
30
|
@include mdc-typography(body2);
|
27
31
|
@include mdc-theme-prop(color, text-primary-on-light);
|
28
32
|
|
@@ -41,6 +45,7 @@
|
|
41
45
|
text-align: center;
|
42
46
|
text-decoration: none;
|
43
47
|
text-transform: uppercase;
|
48
|
+
overflow: hidden;
|
44
49
|
vertical-align: middle;
|
45
50
|
user-select: none;
|
46
51
|
box-sizing: border-box;
|
@@ -48,43 +53,23 @@
|
|
48
53
|
-webkit-tap-highlight-color: rgba(black, .18);
|
49
54
|
|
50
55
|
@include mdc-theme-dark {
|
56
|
+
@include mdc-ripple-base;
|
57
|
+
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .14));
|
58
|
+
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .14));
|
51
59
|
@include mdc-theme-prop(color, text-primary-on-dark);
|
52
60
|
|
53
61
|
-webkit-tap-highlight-color: rgba(white, .18);
|
54
62
|
}
|
55
63
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
height: 100%;
|
63
|
-
transition: mdc-animation-exit(opacity, 120ms);
|
64
|
-
border-radius: inherit;
|
65
|
-
background: currentColor;
|
66
|
-
content: "";
|
67
|
-
opacity: 0;
|
68
|
-
}
|
69
|
-
|
70
|
-
&:focus::before {
|
71
|
-
transition: mdc-animation-enter(opacity, 120ms);
|
72
|
-
opacity: .12;
|
73
|
-
}
|
74
|
-
|
75
|
-
&:active::before {
|
76
|
-
transition: mdc-animation-enter(opacity, 120ms);
|
77
|
-
|
78
|
-
// Slightly darker value for visual distinction.
|
79
|
-
// This allows a full base that has distinct modes.
|
80
|
-
// Progressive enhancement with ripples will provide complete button spec alignment.
|
81
|
-
opacity: .18;
|
82
|
-
}
|
83
|
-
|
84
|
-
&:focus:active::before {
|
85
|
-
transition-timing-function: $mdc-animation-fast-out-slow-in-timing-function;
|
64
|
+
@each $theme-style in (primary, accent) {
|
65
|
+
&.mdc-button--#{$theme-style} {
|
66
|
+
@include mdc-ripple-base;
|
67
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: $theme-style, opacity: .12));
|
68
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: $theme-style, opacity: .12));
|
69
|
+
}
|
86
70
|
}
|
87
71
|
|
72
|
+
// postcss-bem-linter: ignore
|
88
73
|
&:active {
|
89
74
|
outline: none;
|
90
75
|
}
|
@@ -104,6 +89,7 @@
|
|
104
89
|
line-height: 32px;
|
105
90
|
}
|
106
91
|
|
92
|
+
// TODO(cristobalchao): Disable ink wash on hover and alter elevation instead for raised surfaces.
|
107
93
|
&--raised {
|
108
94
|
@include mdc-elevation(2);
|
109
95
|
@include mdc-elevation-transition;
|
@@ -114,6 +100,14 @@
|
|
114
100
|
@include mdc-elevation(8);
|
115
101
|
}
|
116
102
|
|
103
|
+
@each $theme-style in (primary, accent) {
|
104
|
+
&.mdc-button--#{$theme-style} {
|
105
|
+
@include mdc-ripple-base;
|
106
|
+
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .14));
|
107
|
+
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .14));
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
117
111
|
@include mdc-theme-dark(".mdc-button") {
|
118
112
|
@include mdc-theme-prop(background-color, primary);
|
119
113
|
|
@@ -196,31 +190,3 @@
|
|
196
190
|
|
197
191
|
// postcss-bem-linter: end
|
198
192
|
|
199
|
-
.mdc-button.mdc-ripple-upgraded {
|
200
|
-
@include mdc-ripple-base;
|
201
|
-
@include mdc-ripple-bg((pseudo: "::before"));
|
202
|
-
@include mdc-ripple-fg((pseudo: "::after"));
|
203
|
-
|
204
|
-
overflow: hidden;
|
205
|
-
|
206
|
-
@include mdc-theme-dark(".mdc-button", true) {
|
207
|
-
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .14));
|
208
|
-
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .14));
|
209
|
-
}
|
210
|
-
|
211
|
-
@each $theme-style in (primary, accent) {
|
212
|
-
&.mdc-button--#{$theme-style} {
|
213
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: $theme-style, opacity: .12));
|
214
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: $theme-style, opacity: .12));
|
215
|
-
}
|
216
|
-
}
|
217
|
-
}
|
218
|
-
|
219
|
-
.mdc-button--raised.mdc-ripple-upgraded {
|
220
|
-
@each $theme-style in (primary, accent) {
|
221
|
-
&.mdc-button--#{$theme-style} {
|
222
|
-
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .14));
|
223
|
-
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .14));
|
224
|
-
}
|
225
|
-
}
|
226
|
-
}
|
@@ -15,8 +15,9 @@
|
|
15
15
|
//
|
16
16
|
|
17
17
|
@import "@material/animation/functions";
|
18
|
-
@import "@material/ripple/mixins";
|
19
18
|
@import "@material/animation/mixins";
|
19
|
+
@import "@material/ripple/mixins";
|
20
|
+
@import "@material/rtl/mixins";
|
20
21
|
@import "./variables";
|
21
22
|
@import "./keyframes";
|
22
23
|
|
@@ -40,18 +41,12 @@
|
|
40
41
|
left: 0;
|
41
42
|
}
|
42
43
|
|
43
|
-
@mixin mdc-checkbox-outer-box {
|
44
|
-
@include mdc-checkbox-cover-element;
|
45
|
-
|
46
|
-
top: ($mdc-checkbox-touch-area - $mdc-checkbox-size) / 2;
|
47
|
-
left: ($mdc-checkbox-touch-area - $mdc-checkbox-size) / 2;
|
48
|
-
border-radius: 2px;
|
49
|
-
box-sizing: border-box;
|
50
|
-
pointer-events: none;
|
51
|
-
}
|
52
|
-
|
53
44
|
// postcss-bem-linter: define checkbox
|
54
45
|
.mdc-checkbox {
|
46
|
+
@include mdc-ripple-base;
|
47
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .14));
|
48
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .14));
|
49
|
+
|
55
50
|
display: inline-block;
|
56
51
|
position: relative;
|
57
52
|
box-sizing: content-box;
|
@@ -63,19 +58,40 @@
|
|
63
58
|
cursor: pointer;
|
64
59
|
vertical-align: bottom;
|
65
60
|
|
61
|
+
&::before,
|
62
|
+
&::after {
|
63
|
+
top: 0;
|
64
|
+
left: 0;
|
65
|
+
width: 100%;
|
66
|
+
height: 100%;
|
67
|
+
}
|
68
|
+
|
69
|
+
// stylelint-disable plugin/selector-bem-pattern
|
70
|
+
&.mdc-ripple-upgraded--unbounded {
|
71
|
+
.mdc-checkbox__background::before {
|
72
|
+
content: none;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
// stylelint-enable plugin/selector-bem-pattern
|
76
|
+
|
66
77
|
&__background {
|
67
|
-
@include mdc-checkbox-
|
78
|
+
@include mdc-checkbox-cover-element;
|
79
|
+
@include mdc-rtl-reflexive-position(
|
80
|
+
left, ($mdc-checkbox-touch-area - $mdc-checkbox-size) / 2, ".mdc-checkbox");
|
68
81
|
|
69
82
|
display: inline-flex;
|
83
|
+
top: ($mdc-checkbox-touch-area - $mdc-checkbox-size) / 2;
|
70
84
|
align-items: center;
|
71
85
|
justify-content: center;
|
86
|
+
box-sizing: border-box;
|
87
|
+
pointer-events: none;
|
72
88
|
width: $mdc-checkbox-ui-pct;
|
73
89
|
height: $mdc-checkbox-ui-pct;
|
74
|
-
box-sizing: border-box;
|
75
90
|
transition:
|
76
91
|
mdc-checkbox-transition-exit(background-color),
|
77
92
|
mdc-checkbox-transition-exit(border-color);
|
78
93
|
border: $mdc-checkbox-border-width solid $mdc-checkbox-border-color;
|
94
|
+
border-radius: 2px;
|
79
95
|
background-color: transparent;
|
80
96
|
will-change: background-color, border-color;
|
81
97
|
|
@@ -329,13 +345,3 @@ fieldset:disabled .mdc-checkbox__native-control,
|
|
329
345
|
}
|
330
346
|
}
|
331
347
|
// postcss-bem-linter: end
|
332
|
-
|
333
|
-
.mdc-checkbox.mdc-ripple-upgraded {
|
334
|
-
@include mdc-ripple-base;
|
335
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .14));
|
336
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .14));
|
337
|
-
|
338
|
-
.mdc-checkbox__background::before {
|
339
|
-
content: none;
|
340
|
-
}
|
341
|
-
}
|
@@ -20,6 +20,10 @@
|
|
20
20
|
|
21
21
|
// postcss-bem-linter: define fab
|
22
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
|
+
|
23
27
|
display: inline-flex;
|
24
28
|
position: relative;
|
25
29
|
justify-content: center;
|
@@ -36,6 +40,7 @@
|
|
36
40
|
-moz-appearance: none;
|
37
41
|
-webkit-appearance: none;
|
38
42
|
-webkit-tap-highlight-color: rgba(0, 0, 0, .18);
|
43
|
+
overflow: hidden;
|
39
44
|
|
40
45
|
@include mdc-theme-prop(background-color, accent);
|
41
46
|
@include mdc-theme-prop(color, text-primary-on-accent);
|
@@ -50,6 +55,8 @@
|
|
50
55
|
background-color: white;
|
51
56
|
|
52
57
|
@include mdc-theme-prop(color, text-primary-on-light);
|
58
|
+
@include mdc-ripple-bg((pseudo: "::before"));
|
59
|
+
@include mdc-ripple-fg((pseudo: "::after"));
|
53
60
|
}
|
54
61
|
|
55
62
|
&::before {
|
@@ -60,7 +67,7 @@
|
|
60
67
|
height: 100%;
|
61
68
|
transition: mdc-animation-exit(opacity, 120ms);
|
62
69
|
border-radius: inherit;
|
63
|
-
background:
|
70
|
+
background: rgba(0, 0, 0, .2);
|
64
71
|
content: "";
|
65
72
|
opacity: 0;
|
66
73
|
}
|
@@ -124,16 +131,3 @@
|
|
124
131
|
}
|
125
132
|
|
126
133
|
// postcss-bem-linter: end
|
127
|
-
|
128
|
-
.mdc-fab.mdc-ripple-upgraded {
|
129
|
-
@include mdc-ripple-base;
|
130
|
-
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .16));
|
131
|
-
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .16));
|
132
|
-
|
133
|
-
overflow: hidden;
|
134
|
-
}
|
135
|
-
|
136
|
-
.mdc-fab--plain.mdc-ripple-upgraded {
|
137
|
-
@include mdc-ripple-bg((pseudo: "::before"));
|
138
|
-
@include mdc-ripple-fg((pseudo: "::after"));
|
139
|
-
}
|
@@ -36,13 +36,13 @@ $mdc-form-field-item-spacing: 4px;
|
|
36
36
|
> label {
|
37
37
|
order: 0;
|
38
38
|
margin-right: auto;
|
39
|
-
|
39
|
+
padding-left: $mdc-form-field-item-spacing;
|
40
40
|
}
|
41
41
|
|
42
42
|
@include mdc-rtl {
|
43
43
|
> label {
|
44
|
-
margin-right: $mdc-form-field-item-spacing;
|
45
44
|
margin-left: auto;
|
45
|
+
padding-right: $mdc-form-field-item-spacing;
|
46
46
|
}
|
47
47
|
}
|
48
48
|
}
|
@@ -50,14 +50,14 @@ $mdc-form-field-item-spacing: 4px;
|
|
50
50
|
.mdc-form-field--align-end {
|
51
51
|
> label {
|
52
52
|
order: -1;
|
53
|
-
margin-right: $mdc-form-field-item-spacing;
|
54
53
|
margin-left: auto;
|
54
|
+
padding-right: $mdc-form-field-item-spacing;
|
55
55
|
}
|
56
56
|
|
57
57
|
@include mdc-rtl {
|
58
58
|
> label {
|
59
59
|
margin-right: auto;
|
60
|
-
|
60
|
+
padding-left: $mdc-form-field-item-spacing;
|
61
61
|
}
|
62
62
|
}
|
63
63
|
}
|
@@ -22,7 +22,32 @@
|
|
22
22
|
|
23
23
|
.mdc-icon-toggle {
|
24
24
|
@include mdc-theme-prop(color, text-secondary-on-light);
|
25
|
+
@include mdc-ripple-base;
|
26
|
+
// NOTE: The spec denotes specific opacity values to use for different styles of icon buttons,
|
27
|
+
// either "light", "dark", or "color". Because ripples are made up of two distinct elements,
|
28
|
+
// we need to use an opacity value such that when two elements of the same color and opacity are
|
29
|
+
// layered on top of one another, they create the opacity specified in the spec.
|
30
|
+
// This is done by using the painter's compositing algorithm:
|
31
|
+
//
|
32
|
+
// alpha[desired] = alpha[a] + alpha[b](1 - alpha[a]).
|
33
|
+
//
|
34
|
+
// Because both alpha values are the same this reduces to:
|
35
|
+
//
|
36
|
+
// alpha[desired] = alpha[a] + alpha[a](1 - alpha[a]).
|
37
|
+
//
|
38
|
+
// We simply solve this quadratic equation for the nonnegative root between [0, 1].
|
39
|
+
// E.g. for black 12% opacity:
|
40
|
+
// https://www.wolframalpha.com/input/?i=x+%2B+x(1+-+x)+%3D+.12,+x+%3C%3D+1,+x+%3E%3D+0
|
41
|
+
@include mdc-ripple-bg((pseudo: "::before", opacity: .062));
|
42
|
+
@include mdc-ripple-fg((pseudo: "::after", opacity: .062));
|
25
43
|
|
44
|
+
@include mdc-theme-dark(".mdc-icon-toggle", true) {
|
45
|
+
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .16));
|
46
|
+
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .16));
|
47
|
+
}
|
48
|
+
|
49
|
+
// For some reason, GPU layer promotion makes ripples look terrible on Chrome
|
50
|
+
will-change: initial;
|
26
51
|
display: flex;
|
27
52
|
position: relative;
|
28
53
|
box-sizing: border-box;
|
@@ -38,47 +63,27 @@
|
|
38
63
|
|
39
64
|
&::after {
|
40
65
|
position: absolute;
|
41
|
-
top: 0;
|
42
|
-
right: 0;
|
43
|
-
bottom: 0;
|
44
|
-
left: 0;
|
45
|
-
transform: scale(0, 0);
|
46
|
-
transition: mdc-animation-exit(opacity, 80ms), mdc-animation-exit(transform, 80ms);
|
47
66
|
border-radius: 50%;
|
48
|
-
background-color: currentColor;
|
49
67
|
content: "";
|
50
68
|
opacity: 0;
|
51
69
|
pointer-events: none;
|
52
70
|
}
|
53
71
|
|
54
|
-
&:focus::after {
|
55
|
-
transform: scale(1.3, 1.3);
|
56
|
-
transition: mdc-animation-enter(opacity, 80ms), mdc-animation-enter(transform, 80ms);
|
57
|
-
opacity: .12;
|
58
|
-
}
|
59
|
-
|
60
72
|
@include mdc-theme-dark {
|
61
73
|
@include mdc-theme-prop(color, text-primary-on-dark);
|
62
|
-
|
63
|
-
&:focus::after {
|
64
|
-
opacity: .3;
|
65
|
-
}
|
66
74
|
}
|
67
75
|
}
|
68
76
|
|
69
77
|
.mdc-icon-toggle--primary {
|
70
78
|
@include mdc-theme-prop(color, primary);
|
79
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .14));
|
80
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .14));
|
71
81
|
}
|
72
82
|
|
73
83
|
.mdc-icon-toggle--accent {
|
74
84
|
@include mdc-theme-prop(color, accent);
|
75
|
-
|
76
|
-
|
77
|
-
.mdc-icon-toggle--primary,
|
78
|
-
.mdc-icon-toggle--accent {
|
79
|
-
&:focus::after {
|
80
|
-
opacity: .26;
|
81
|
-
}
|
85
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: accent, opacity: .14));
|
86
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: accent, opacity: .14));
|
82
87
|
}
|
83
88
|
|
84
89
|
.mdc-icon-toggle--disabled {
|
@@ -92,42 +97,3 @@
|
|
92
97
|
}
|
93
98
|
|
94
99
|
/** postcss-bem-linter: end */
|
95
|
-
|
96
|
-
.mdc-icon-toggle.mdc-ripple-upgraded {
|
97
|
-
@include mdc-ripple-base;
|
98
|
-
// NOTE: The spec denotes specific opacity values to use for different styles of icon buttons,
|
99
|
-
// either "light", "dark", or "color". Because ripples are made up of two distinct elements,
|
100
|
-
// we need to use an opacity value such that when two elements of the same color and opacity are
|
101
|
-
// layered on top of one another, they create the opacity specified in the spec.
|
102
|
-
// This is done by using the painter's compositing algorithm:
|
103
|
-
//
|
104
|
-
// alpha[desired] = alpha[a] + alpha[b](1 - alpha[a]).
|
105
|
-
//
|
106
|
-
// Because both alpha values are the same this reduces to:
|
107
|
-
//
|
108
|
-
// alpha[desired] = alpha[a] + alpha[a](1 - alpha[a]).
|
109
|
-
//
|
110
|
-
// We simply solve this quadratic equation for the nonnegative root between [0, 1].
|
111
|
-
// E.g. for black 12% opacity:
|
112
|
-
// https://www.wolframalpha.com/input/?i=x+%2B+x(1+-+x)+%3D+.12,+x+%3C%3D+1,+x+%3E%3D+0
|
113
|
-
@include mdc-ripple-bg((pseudo: "::before", opacity: .062));
|
114
|
-
@include mdc-ripple-fg((pseudo: "::after", opacity: .062));
|
115
|
-
|
116
|
-
@include mdc-theme-dark(".mdc-icon-toggle", true) {
|
117
|
-
@include mdc-ripple-bg((pseudo: "::before", base-color: white, opacity: .16));
|
118
|
-
@include mdc-ripple-fg((pseudo: "::after", base-color: white, opacity: .16));
|
119
|
-
}
|
120
|
-
|
121
|
-
// For some reason, GPU layer promotion makes ripples look terrible on Chrome
|
122
|
-
will-change: initial;
|
123
|
-
}
|
124
|
-
|
125
|
-
.mdc-icon-toggle--primary.mdc-ripple-upgraded {
|
126
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .14));
|
127
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .14));
|
128
|
-
}
|
129
|
-
|
130
|
-
.mdc-icon-toggle--accent.mdc-ripple-upgraded {
|
131
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: accent, opacity: .14));
|
132
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: accent, opacity: .14));
|
133
|
-
}
|
@@ -1,18 +1,18 @@
|
|
1
|
-
//
|
1
|
+
//
|
2
2
|
// Copyright 2016 Google Inc. All Rights Reserved.
|
3
|
-
//
|
3
|
+
//
|
4
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
// you may not use this file except in compliance with the License.
|
6
6
|
// You may obtain a copy of the License at
|
7
|
-
//
|
7
|
+
//
|
8
8
|
// http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
//
|
9
|
+
//
|
10
10
|
// Unless required by applicable law or agreed to in writing, software
|
11
11
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
12
12
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
13
|
// See the License for the specific language governing permissions and
|
14
14
|
// limitations under the License.
|
15
|
-
//
|
15
|
+
//
|
16
16
|
|
17
17
|
@import "@material/animation/functions";
|
18
18
|
@import "@material/ripple/mixins";
|
@@ -33,6 +33,10 @@ $mdc-radio-transition-duration: 120ms;
|
|
33
33
|
|
34
34
|
// postcss-bem-linter: define radio
|
35
35
|
.mdc-radio {
|
36
|
+
@include mdc-ripple-base;
|
37
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .14));
|
38
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .14));
|
39
|
+
|
36
40
|
display: inline-block;
|
37
41
|
position: relative;
|
38
42
|
box-sizing: border-box;
|
@@ -42,6 +46,22 @@ $mdc-radio-transition-duration: 120ms;
|
|
42
46
|
cursor: pointer;
|
43
47
|
will-change: opacity, transform, border-color, background-color, color;
|
44
48
|
|
49
|
+
&::before,
|
50
|
+
&::after {
|
51
|
+
top: 0;
|
52
|
+
left: 0;
|
53
|
+
width: 100%;
|
54
|
+
height: 100%;
|
55
|
+
}
|
56
|
+
|
57
|
+
// stylelint-disable plugin/selector-bem-pattern
|
58
|
+
&.mdc-ripple-upgraded {
|
59
|
+
.mdc-radio__background::before {
|
60
|
+
content: none;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
// stylelint-enable plugin/selector-bem-pattern
|
64
|
+
|
45
65
|
// Container for radio circles and ripple.
|
46
66
|
&__background {
|
47
67
|
display: inline-block;
|
@@ -179,20 +199,10 @@ fieldset:disabled .mdc-radio__native-control,
|
|
179
199
|
|
180
200
|
.mdc-radio__native-control:focus {
|
181
201
|
+ .mdc-radio__background::before {
|
182
|
-
transform: scale(2
|
202
|
+
transform: scale(2, 2);
|
183
203
|
transition: mdc-radio-enter(opacity), mdc-radio-enter(transform);
|
184
204
|
opacity: .26;
|
185
205
|
}
|
186
206
|
}
|
187
207
|
|
188
208
|
// postcss-bem-linter: end
|
189
|
-
|
190
|
-
.mdc-radio.mdc-ripple-upgraded {
|
191
|
-
@include mdc-ripple-base;
|
192
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .14));
|
193
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .14));
|
194
|
-
|
195
|
-
.mdc-radio__background::before {
|
196
|
-
content: none;
|
197
|
-
}
|
198
|
-
}
|
@@ -20,12 +20,14 @@
|
|
20
20
|
|
21
21
|
@keyframes mdc-ripple-fg-radius-in {
|
22
22
|
from {
|
23
|
-
transform: translate(
|
23
|
+
transform: translate(0) scale(1);
|
24
|
+
transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
|
24
25
|
animation-timing-function: $mdc-animation-fast-out-slow-in-timing-function;
|
25
26
|
}
|
26
27
|
|
27
28
|
to {
|
28
|
-
transform: translate(
|
29
|
+
transform: translate(0) scale(0);
|
30
|
+
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 0));
|
29
31
|
}
|
30
32
|
}
|
31
33
|
|
@@ -52,10 +54,12 @@
|
|
52
54
|
|
53
55
|
@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
|
54
56
|
from {
|
55
|
-
transform:
|
57
|
+
transform: 0;
|
58
|
+
transform: var(--mdc-ripple-fg-approx-xf, 0);
|
56
59
|
}
|
57
60
|
|
58
61
|
to {
|
59
|
-
transform: scale(
|
62
|
+
transform: scale(0);
|
63
|
+
transform: scale(var(--mdc-ripple-fg-scale, 0));
|
60
64
|
}
|
61
65
|
}
|
@@ -40,8 +40,17 @@
|
|
40
40
|
--mdc-ripple-fg-unbounded-transform-duration: 0ms;
|
41
41
|
--mdc-ripple-fg-approx-xf: 0;
|
42
42
|
|
43
|
-
will-change:
|
43
|
+
will-change: transform, opacity;
|
44
44
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
45
|
+
|
46
|
+
&:not(.mdc-ripple-upgraded) {
|
47
|
+
&:hover::before,
|
48
|
+
&:focus::before,
|
49
|
+
&:active::after {
|
50
|
+
transition-duration: 85ms;
|
51
|
+
opacity: .6;
|
52
|
+
}
|
53
|
+
}
|
45
54
|
}
|
46
55
|
|
47
56
|
@mixin mdc-ripple-color_($config) {
|
@@ -52,6 +61,7 @@
|
|
52
61
|
// stylelint-disable at-rule-empty-line-before, block-closing-brace-newline-after
|
53
62
|
@if ($theme-style) {
|
54
63
|
$theme-value: map-get($mdc-theme-property-values, $theme-style);
|
64
|
+
$css-var: $theme-value;
|
55
65
|
$css-var: var(--mdc-theme-#{$theme-style}, $theme-value);
|
56
66
|
|
57
67
|
background-color: rgba($theme-value, $opacity);
|
@@ -65,6 +75,7 @@
|
|
65
75
|
} @else {
|
66
76
|
background-color: rgba($base-color, $opacity);
|
67
77
|
}
|
78
|
+
|
68
79
|
// stylelint-enable at-rule-empty-line-before, block-closing-brace-newline-after
|
69
80
|
}
|
70
81
|
|
@@ -78,8 +89,7 @@
|
|
78
89
|
left: calc(50% - #{$radius});
|
79
90
|
width: $radius * 2;
|
80
91
|
height: $radius * 2;
|
81
|
-
|
82
|
-
transition: opacity 200ms linear;
|
92
|
+
transition: opacity 250ms linear;
|
83
93
|
border-radius: 50%;
|
84
94
|
opacity: 0;
|
85
95
|
pointer-events: none;
|
@@ -88,6 +98,7 @@
|
|
88
98
|
@mixin mdc-ripple-bg($config: ()) {
|
89
99
|
$config: map-merge(mdc-ripple-default-config_(), $config);
|
90
100
|
$pseudo: map-get($config, pseudo);
|
101
|
+
$radius: map-get($config, radius);
|
91
102
|
|
92
103
|
// stylelint-disable at-rule-empty-line-before, block-closing-brace-newline-after
|
93
104
|
@if ($pseudo) {
|
@@ -101,6 +112,15 @@
|
|
101
112
|
}
|
102
113
|
// stylelint-enable at-rule-empty-line-before, block-closing-brace-newline-after
|
103
114
|
|
115
|
+
&.mdc-ripple-upgraded#{$pseudo} {
|
116
|
+
top: calc(50% - #{$radius});
|
117
|
+
left: calc(50% - #{$radius});
|
118
|
+
width: $radius * 2;
|
119
|
+
height: $radius * 2;
|
120
|
+
transform: scale(0);
|
121
|
+
transform: scale(var(--mdc-ripple-fg-scale, 0));
|
122
|
+
}
|
123
|
+
|
104
124
|
&.mdc-ripple-upgraded--background-active#{$pseudo} {
|
105
125
|
opacity: .99999;
|
106
126
|
}
|
@@ -118,23 +138,30 @@
|
|
118
138
|
}
|
119
139
|
|
120
140
|
&.mdc-ripple-upgraded--unbounded#{$pseudo} {
|
121
|
-
top:
|
122
|
-
|
123
|
-
|
124
|
-
|
141
|
+
top: calc(50% - #{$radius / 2});
|
142
|
+
top: var(--mdc-ripple-top, calc(50% - #{$radius / 2}));
|
143
|
+
left: calc(50% - #{$radius / 2});
|
144
|
+
left: var(--mdc-ripple-left, calc(50% - #{$radius / 2}));
|
145
|
+
width: $radius;
|
146
|
+
width: var(--mdc-ripple-fg-size, $radius);
|
147
|
+
height: $radius;
|
148
|
+
height: var(--mdc-ripple-fg-size, $radius);
|
149
|
+
transform: scale(0);
|
150
|
+
transform: scale(var(--mdc-ripple-fg-scale, 0));
|
125
151
|
}
|
126
152
|
}
|
127
153
|
|
128
154
|
@mixin mdc-ripple-fg-base_($config) {
|
155
|
+
$radius: map-get($config, radius);
|
156
|
+
|
129
157
|
@include mdc-ripple-color_($config);
|
130
158
|
|
131
159
|
position: absolute;
|
132
|
-
top:
|
133
|
-
left:
|
134
|
-
width:
|
135
|
-
height:
|
136
|
-
|
137
|
-
transform-origin: center center;
|
160
|
+
top: calc(50% - #{$radius});
|
161
|
+
left: calc(50% - #{$radius});
|
162
|
+
width: $radius * 2;
|
163
|
+
height: $radius * 2;
|
164
|
+
transition: opacity 250ms linear;
|
138
165
|
border-radius: 50%;
|
139
166
|
opacity: 0;
|
140
167
|
pointer-events: none;
|
@@ -143,6 +170,7 @@
|
|
143
170
|
@mixin mdc-ripple-fg($config: ()) {
|
144
171
|
$config: map-merge(mdc-ripple-default-config_(), $config);
|
145
172
|
$pseudo: map-get($config, pseudo);
|
173
|
+
$radius: map-get($config, radius);
|
146
174
|
|
147
175
|
// stylelint-disable at-rule-empty-line-before, block-closing-brace-newline-after
|
148
176
|
@if ($pseudo) {
|
@@ -156,13 +184,34 @@
|
|
156
184
|
}
|
157
185
|
// stylelint-enable at-rule-empty-line-before, block-closing-brace-newline-after
|
158
186
|
|
187
|
+
&.mdc-ripple-upgraded {
|
188
|
+
&#{$pseudo} {
|
189
|
+
top: 0;
|
190
|
+
left: 0;
|
191
|
+
width: $radius;
|
192
|
+
width: var(--mdc-ripple-fg-size, $radius);
|
193
|
+
height: $radius;
|
194
|
+
height: var(--mdc-ripple-fg-size, $radius);
|
195
|
+
transform: scale(0);
|
196
|
+
transform-origin: center center;
|
197
|
+
opacity: 0;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
|
159
201
|
&:not(.mdc-ripple-upgraded--unbounded)#{$pseudo} {
|
160
202
|
transform-origin: center center;
|
161
203
|
}
|
162
204
|
|
163
205
|
&.mdc-ripple-upgraded--unbounded#{$pseudo} {
|
164
|
-
top:
|
165
|
-
|
206
|
+
top: 0;
|
207
|
+
top: var(--mdc-ripple-top, 0);
|
208
|
+
left: 0;
|
209
|
+
left: var(--mdc-ripple-left, 0);
|
210
|
+
width: $radius;
|
211
|
+
width: var(--mdc-ripple-fg-size, $radius);
|
212
|
+
height: $radius;
|
213
|
+
height: var(--mdc-ripple-fg-size, $radius);
|
214
|
+
transform: scale(0);
|
166
215
|
transform-origin: center center;
|
167
216
|
}
|
168
217
|
|
@@ -172,16 +221,23 @@
|
|
172
221
|
}
|
173
222
|
|
174
223
|
&.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation#{$pseudo} {
|
175
|
-
transform: scale(
|
224
|
+
transform: scale(0);
|
225
|
+
transform: scale(var(--mdc-ripple-fg-scale, 0));
|
176
226
|
transition:
|
177
227
|
opacity 110ms linear,
|
178
|
-
transform
|
228
|
+
transform 0 linear 80ms;
|
229
|
+
transition:
|
230
|
+
opacity 110ms linear,
|
231
|
+
transform var(--mdc-ripple-fg-unbounded-transform-duration, 0) linear 80ms;
|
179
232
|
opacity: 1;
|
180
233
|
}
|
181
234
|
|
182
235
|
&.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation#{$pseudo} {
|
183
236
|
animation:
|
184
|
-
mdc-ripple-fg-unbounded-opacity-deactivate
|
185
|
-
mdc-ripple-fg-unbounded-transform-deactivate
|
237
|
+
mdc-ripple-fg-unbounded-opacity-deactivate 0 linear,
|
238
|
+
mdc-ripple-fg-unbounded-transform-deactivate 0 $mdc-animation-fast-out-slow-in-timing-function;
|
239
|
+
animation:
|
240
|
+
mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration, 0) linear,
|
241
|
+
mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration, 0) $mdc-animation-fast-out-slow-in-timing-function;
|
186
242
|
}
|
187
243
|
}
|
@@ -21,6 +21,10 @@
|
|
21
21
|
// postcss-bem-linter: define ripple-surface
|
22
22
|
|
23
23
|
.mdc-ripple-surface {
|
24
|
+
@include mdc-ripple-base;
|
25
|
+
@include mdc-ripple-bg((pseudo: "::before"));
|
26
|
+
@include mdc-ripple-fg((pseudo: "::after"));
|
27
|
+
|
24
28
|
position: relative;
|
25
29
|
outline: none;
|
26
30
|
overflow: hidden;
|
@@ -29,51 +33,24 @@
|
|
29
33
|
overflow: visible;
|
30
34
|
}
|
31
35
|
|
32
|
-
|
33
|
-
position: absolute;
|
34
|
-
top: 0;
|
35
|
-
right: 0;
|
36
|
-
bottom: 0;
|
37
|
-
left: 0;
|
38
|
-
transition: mdc-animation-exit(opacity, 120ms);
|
39
|
-
border-radius: inherit;
|
40
|
-
background: currentColor;
|
41
|
-
content: "";
|
42
|
-
opacity: 0;
|
43
|
-
}
|
44
|
-
|
45
|
-
&:focus::before {
|
46
|
-
opacity: .12;
|
47
|
-
}
|
48
|
-
|
49
|
-
&:active::before {
|
50
|
-
opacity: .18;
|
51
|
-
}
|
52
|
-
|
53
|
-
&.mdc-ripple-upgraded {
|
54
|
-
@include mdc-ripple-base;
|
55
|
-
@include mdc-ripple-bg((pseudo: "::before"));
|
56
|
-
@include mdc-ripple-fg((pseudo: "::after"));
|
57
|
-
}
|
58
|
-
|
59
|
-
&--primary.mdc-ripple-upgraded {
|
36
|
+
&--primary {
|
60
37
|
&::before,
|
61
38
|
&::after {
|
62
39
|
@include mdc-theme-prop(background-color, primary);
|
63
40
|
}
|
64
41
|
|
65
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .
|
66
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .
|
42
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: primary, opacity: .16));
|
43
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: primary, opacity: .16));
|
67
44
|
}
|
68
45
|
|
69
|
-
&--accent
|
46
|
+
&--accent {
|
70
47
|
&::before,
|
71
48
|
&::after {
|
72
49
|
@include mdc-theme-prop(background-color, primary);
|
73
50
|
}
|
74
51
|
|
75
|
-
@include mdc-ripple-bg((pseudo: "::before", theme-style: accent, opacity: .
|
76
|
-
@include mdc-ripple-fg((pseudo: "::after", theme-style: accent, opacity: .
|
52
|
+
@include mdc-ripple-bg((pseudo: "::before", theme-style: accent, opacity: .16));
|
53
|
+
@include mdc-ripple-fg((pseudo: "::after", theme-style: accent, opacity: .16));
|
77
54
|
}
|
78
55
|
}
|
79
56
|
|
@@ -19,6 +19,10 @@
|
|
19
19
|
@import "./mixins";
|
20
20
|
@import "./variables";
|
21
21
|
|
22
|
+
@function mdc-switch-transition($property) {
|
23
|
+
@return $property 90ms $mdc-switch-transition-curve;
|
24
|
+
}
|
25
|
+
|
22
26
|
// postcss-bem-linter: define switch
|
23
27
|
.mdc-switch {
|
24
28
|
display: inline-block;
|
@@ -47,7 +51,7 @@
|
|
47
51
|
cursor: pointer;
|
48
52
|
user-select: none;
|
49
53
|
|
50
|
-
@include mdc-theme-dark(".mdc-
|
54
|
+
@include mdc-theme-dark(".mdc-switch") {
|
51
55
|
background-color: transparent;
|
52
56
|
}
|
53
57
|
|
@@ -59,14 +63,14 @@
|
|
59
63
|
bottom: 0;
|
60
64
|
left: 0;
|
61
65
|
transition:
|
62
|
-
mdc-
|
63
|
-
mdc-
|
66
|
+
mdc-switch-transition(opacity),
|
67
|
+
mdc-switch-transition(background-color);
|
64
68
|
border-radius: 7px;
|
65
69
|
background-color: $mdc-switch-unchecked-track-color;
|
66
70
|
content: "";
|
67
71
|
opacity: .38;
|
68
72
|
|
69
|
-
@include mdc-theme-dark(".mdc-
|
73
|
+
@include mdc-theme-dark(".mdc-switch") {
|
70
74
|
background-color: $mdc-switch-unchecked-track-color-dark;
|
71
75
|
opacity: .3;
|
72
76
|
}
|
@@ -82,12 +86,12 @@
|
|
82
86
|
height: $mdc-switch-knob-diameter;
|
83
87
|
transform: translateX(0);
|
84
88
|
transition:
|
85
|
-
mdc-
|
86
|
-
mdc-
|
89
|
+
mdc-switch-transition(transform),
|
90
|
+
mdc-switch-transition(background-color);
|
87
91
|
border-radius: $mdc-switch-knob-diameter / 2;
|
88
92
|
background-color: $mdc-switch-unchecked-knob-color;
|
89
93
|
|
90
|
-
@include mdc-theme-dark(".mdc-
|
94
|
+
@include mdc-theme-dark(".mdc-switch") {
|
91
95
|
background-color: $mdc-switch-unchecked-knob-color-dark;
|
92
96
|
}
|
93
97
|
|
@@ -104,8 +108,8 @@
|
|
104
108
|
height: $mdc-switch-focus-ring-diameter;
|
105
109
|
transform: scale(0);
|
106
110
|
transition:
|
107
|
-
mdc-
|
108
|
-
mdc-
|
111
|
+
mdc-switch-transition(transform),
|
112
|
+
mdc-switch-transition(background-color);
|
109
113
|
border-radius: $mdc-switch-focus-ring-diameter / 2;
|
110
114
|
background-color: transparent;
|
111
115
|
content: "";
|
@@ -123,12 +127,12 @@
|
|
123
127
|
height: $mdc-switch-focus-ring-diameter;
|
124
128
|
transform: scale(1);
|
125
129
|
transition:
|
126
|
-
mdc-
|
127
|
-
mdc-
|
130
|
+
mdc-switch-transition(transform),
|
131
|
+
mdc-switch-transition(background-color);
|
128
132
|
border-radius: $mdc-switch-focus-ring-diameter / 2;
|
129
133
|
background-color: $mdc-switch-unchecked-focus-ring-color;
|
130
134
|
|
131
|
-
@include mdc-theme-dark(".mdc-
|
135
|
+
@include mdc-theme-dark(".mdc-switch") {
|
132
136
|
background-color: $mdc-switch-unchecked-focus-ring-color-dark;
|
133
137
|
opacity: .14;
|
134
138
|
}
|
@@ -146,15 +150,15 @@
|
|
146
150
|
.mdc-switch__knob {
|
147
151
|
transform: translateX($mdc-switch-track-width - $mdc-switch-knob-diameter);
|
148
152
|
transition:
|
149
|
-
mdc-
|
150
|
-
mdc-
|
153
|
+
mdc-switch-transition(transform),
|
154
|
+
mdc-switch-transition(background-color);
|
151
155
|
|
152
156
|
@include mdc-theme-prop(background-color, primary);
|
153
157
|
|
154
158
|
&::before {
|
155
159
|
@include mdc-theme-prop(background-color, primary);
|
156
160
|
|
157
|
-
@include mdc-theme-dark(".mdc-
|
161
|
+
@include mdc-theme-dark(".mdc-switch") {
|
158
162
|
@include mdc-theme-prop(background-color, primary);
|
159
163
|
}
|
160
164
|
|
@@ -174,7 +178,7 @@
|
|
174
178
|
background-color: $mdc-switch-unchecked-track-color;
|
175
179
|
opacity: .12;
|
176
180
|
|
177
|
-
@include mdc-theme-dark(".mdc-
|
181
|
+
@include mdc-theme-dark(".mdc-switch") {
|
178
182
|
background-color: $mdc-switch-unchecked-track-color-dark;
|
179
183
|
opacity: .1;
|
180
184
|
}
|
@@ -183,7 +187,7 @@
|
|
183
187
|
.mdc-switch__knob {
|
184
188
|
background-color: $mdc-switch-disabled-knob-color;
|
185
189
|
|
186
|
-
@include mdc-theme-dark(".mdc-
|
190
|
+
@include mdc-theme-dark(".mdc-switch") {
|
187
191
|
background-color: $mdc-switch-disabled-knob-color-dark;
|
188
192
|
}
|
189
193
|
}
|
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.6.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-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: autoprefixer-rails
|