react-toolbox/components/ripple
Javi Velasco 6048bb72f4 Autoinjects for Button and IconButton 2016-05-28 15:37:10 +02:00
..
Ripple.js Autoinjects for Button and IconButton 2016-05-28 15:37:10 +02:00
_config.scss Add ripple decorator and use it in button and checkbox 2015-12-06 14:35:10 +01:00
index.js Autoinjects for Button and IconButton 2016-05-28 15:37:10 +02:00
readme.md Modify ripple theme interface to avoid collisions 2016-05-16 14:50:26 +02:00
theme.scss Modify ripple theme interface to avoid collisions 2016-05-16 14:50:26 +02:00

readme.md

Ripple

The ripple is a surface reaction that happens when the user interacts with the component. It's useful to provide feedback about a click or touch action. In React Toolbox it's implemented as an higher order component (HOC) being a requirement for the child to implement children and onMouseDown props. Also it should be placed as relative. Hiding the overflow is up to you.

import Ripple from 'react-toolbox/lib/ripple';
import theme from 'react-toolbox/lib/ripple/theme';

const Link = (props) => (
  <a {...props} style={{position: 'relative'}}>
    {props.children}
  </a>
);

const RippleLink = Ripple({spread: 3})(Link);
const RippleTest = () => <RippleLink href='#' theme={theme}>Test</RippleLink>;

Properties

In any component you decorate with the Ripple you'd get some additional props:

Name Type Default Description
centered Boolean false True in case you want a centered ripple.
className String '' String to customize appearance (color and opacity for example).
onRippleEnded Function Function that will be called when the ripple animation ends.
spread Number 2 Factor to indicate how much should the ripple spread under the component.
theme Object null Classnames object defining the ripple style.

Theming

You can take a look to the _config.scss variables. The themed key for this component is ToolboxRipple, it should implement the following interface:

Name Description
ripple Root classname for the ripple.
rippleActive Applied when the ripple is active.
rippleRestarting Applied when the ripple is restarting.
rippleWrapper Wrapper class to fit to the parent element.