Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

Commit

Permalink
feat(ripple): Implement improved graceful degradation for ripple
Browse files Browse the repository at this point in the history
Resolves #189
  • Loading branch information
[email protected] authored and traviskaufman committed Feb 22, 2017
1 parent d51022b commit bc73a22
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 52 deletions.
6 changes: 2 additions & 4 deletions demos/button.html
Original file line number Diff line number Diff line change
Expand Up @@ -308,11 +308,9 @@ <h2>Dark theme</h2>
}
}, 250);
function init() {
var btns = document.querySelectorAll('.mdc-button');
var btns = document.querySelectorAll('.mdc-button:not([data-demo-no-js]');
for (var i = 0, btn; btn = btns[i]; i++) {
if (!btn.hasAttribute('data-demo-no-js')) {
mdc.ripple.MDCRipple.attachTo(btn);
}
mdc.ripple.MDCRipple.attachTo(btn);
}
}
})();
Expand Down
25 changes: 24 additions & 1 deletion demos/fab.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,29 @@ <h1>MDC FAB</h1>
</span>
</button>
</fieldset>
<fieldset>
<legend>CSS Only FABs</legend>
<button class="mdc-fab material-icons" aria-label="Favorite" data-demo-no-js>
<span class="mdc-fab__icon">
favorite_border
</span>
</button>
<button class="mdc-fab mdc-fab--mini material-icons" aria-label="Favorite" data-demo-no-js>
<span class="mdc-fab__icon">
favorite_border
</span>
</button>
<button class="mdc-fab mdc-fab--plain material-icons" aria-label="Favorite" data-demo-no-js>
<span class="mdc-fab__icon">
favorite_border
</span>
</button>
<button class="mdc-fab mdc-fab--mini mdc-fab--plain material-icons" aria-label="Favorite" data-demo-no-js>
<span class="mdc-fab__icon">
favorite_border
</span>
</button>
</fieldset>
<fieldset disabled>
<legend>Disabled FABs</legend>
<button class="mdc-fab material-icons" aria-label="Favorite">
Expand Down Expand Up @@ -118,7 +141,7 @@ <h1>MDC FAB</h1>
}
}, 250);
function init() {
var fabs = document.querySelectorAll('.mdc-fab');
var fabs = document.querySelectorAll('.mdc-fab:not([data-demo-no-js])');
for (var i = 0, fab; fab = fabs[i]; i++) {
mdc.ripple.MDCRipple.attachTo(fab);
}
Expand Down
6 changes: 2 additions & 4 deletions demos/ripple.html
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,8 @@ <h2>Applied to <code>&lt;button&gt; element - CSS Only</h2>
<script src="assets/material-components-web.js" charset="utf-8"></script>
<script>
(function(global) {
[].forEach.call(document.querySelectorAll('.mdc-ripple-surface'), function(surface) {
if (!surface.hasAttribute('data-demo-no-js')) {
mdc.ripple.MDCRipple.attachTo(surface);
}
[].forEach.call(document.querySelectorAll('.mdc-ripple-surface:not([data-demo-no-js]'), function(surface) {
mdc.ripple.MDCRipple.attachTo(surface);
});
})(this);
</script>
Expand Down
1 change: 1 addition & 0 deletions packages/mdc-fab/mdc-fab.scss
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
height: 100%;
transition: mdc-animation-exit(opacity, 120ms);
border-radius: inherit;
background: rgba(0, 0, 0, .2);
content: "";
opacity: 0;
}
Expand Down
57 changes: 14 additions & 43 deletions packages/mdc-ripple/_mixins.scss
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,13 @@
will-change: transform, opacity;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);

&:hover::before,
&:focus::before,
&:active::after {
transition-duration: 85ms;
opacity: .6;
&:not(.mdc-ripple-upgraded) {
&:hover::before,
&:focus::before,
&:active::after {
transition-duration: 85ms;
opacity: .6;
}
}
}

Expand Down Expand Up @@ -109,29 +111,12 @@
}
// stylelint-enable at-rule-empty-line-before, block-closing-brace-newline-after

&.mdc-ripple-upgraded {
&#{$pseudo} {
top: calc(50% - #{$radius});
left: calc(50% - #{$radius});
width: $radius * 2;
height: $radius * 2;
transform: scale(var(--mdc-ripple-fg-scale, 0));
transition-duration: 0ms;
}

&:active#{$pseudo},
&:focus#{$pseudo} {
opacity: 0;
}

&:active:hover#{$pseudo},
&:focus:hover#{$pseudo} {
opacity: .6;
}

&.mdc-ripple-upgraded--background-active#{$pseudo} {
opacity: .99999;
}
&.mdc-ripple-upgraded#{$pseudo} {
top: calc(50% - #{$radius});
left: calc(50% - #{$radius});
width: $radius * 2;
height: $radius * 2;
transform: scale(var(--mdc-ripple-fg-scale, 0));
}

&.mdc-ripple-upgraded--background-active#{$pseudo} {
Expand All @@ -157,16 +142,6 @@
height: var(--mdc-ripple-fg-size, $radius);
transform: scale(var(--mdc-ripple-fg-scale, 0));
}

&.mdc-ripple-upgraded--unbounded {
&:active#{$pseudo},
&:hover#{$pseudo},
&:focus#{$pseudo},
&:active:hover#{$pseudo},
&:focus:hover#{$pseudo} {
opacity: 0;
}
}
}

@mixin mdc-ripple-fg-base_($config) {
Expand Down Expand Up @@ -208,12 +183,8 @@
left: 0;
width: var(--mdc-ripple-fg-size, $radius);
height: var(--mdc-ripple-fg-size, $radius);
transform: scale(var(--mdc-ripple-fg-scale, 1));
transform: scale(0);
transform-origin: center center;
transition: none;
}

&:active#{$pseudo} {
opacity: 0;
}
}
Expand Down

0 comments on commit bc73a22

Please sign in to comment.