Package Exports
- @smui/ripple
- @smui/ripple/bare.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@smui/ripple) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Svelte Material UI - Ripple
Ripples are an interaction feedback mechanism.
Installation
npm install --save-dev @smui/rippleDemo
in action: https://sveltematerialui.com/demo/ripple
demo code: https://github.com/hperrin/svelte-material-ui/blob/master/site/src/routes/demo/ripple/
Basic Usage
If you don't have a `class` attribute:
<p use:Ripple tabindex="0">Here is an element with a ripple.</p>
If you do have a `class` attribute:
<p
class="some-class {Object.keys(rippleClasses).join(' ')}"
use:Ripple={{
addClass: (className) => (rippleClasses[className] = true),
removeClass: (className) => {
delete rippleClasses[className];
rippleClasses = rippleClasses;
},
}}
tabindex="0"
>
Here is an element with a ripple.
</p>
<script>
import Ripple from '@smui/ripple';
let rippleClasses = {};
</script>Exports
(default)
A ripple Svelte action.
Props / Defaults
The action accepts an array, with two entries. The first is a boolean, whether the ripple is enabled. The second is an object with the props:
ripple:true- Whether to enable the ripple.surface:false- Whether the ripple surface classes should be added.unbounded:false- Whether the ripple is unbounded.disabled:false- Whether the node is disabled.color:null- The ripple color. ('surface', 'primary', or 'secondary')active:null- Used to determine active status of the ripple. If it's null, the ":active" pseudo class will be checked onactiveTargetor the node.eventTarget:null- An alternate element where ripple triggering event listeners will be added.activeTarget:null- An alternate element where active status will be checked.addClass:(className) => node.classList.add(className)- A function to add a class to the node.removeClass:(className) => node.classList.remove(className)- A function to remove a class from the node.addStyle:(name, value) => node.style.setProperty(name, value)- A function to add a style property to the node. If given a value of''ornull, it should remove the property.initPromise:Promise.resolve()- A promise to wait for before initializing the ripple.
More Information
See Ripple in MDC-Web for information about the upstream library's architecture.