Features
- Supports responsive images, videos, any React components
- Supports landscape and portrait orientations
- Simple API
- Unopinionated & fully customizable – optionally use your own components and styles
- Responsive, fluid
- Works in IE11+
- Teeny-tiny, only one ponyfill dependency
- Type safe
Demo
See Storybook for documentation and demos.
Also see the local example folder for standalone demos.
Usage
Install
yarn add react-compare-slider
npm install react-compare-slider
Basic Image Usage
You may use ReactCompareSliderImage
to render images or use your own custom
components.
import { ReactCompareSlider, ReactCompareSliderImage } from 'react-compare-slider';
<ReactCompareSlider
itemOne={<ReactCompareSliderImage src="..." srcSet="..." alt="Image one" />}
itemTwo={<ReactCompareSliderImage src="..." srcSet="..." alt="Image two" />}
/>
See the Image Playground
to experiment with images using the "Knobs" tab.
Advanced Usage
See the docs for advanced examples.
Props
Prop | Type | Required | Default value | Description |
---|
handle | ReactNode | | undefined | Custom handle component |
itemOne | ReactNode | ✓ | undefined | First component to show in slider |
itemTwo | ReactNode | ✓ | undefined | Second component to show in slider |
onPositionChange | function | | undefined | Callback on position change, returns current position as argument (position) => { ... } |
position | number | | 50 | Initial percentage position of divide (0-100 ) |
portrait | boolean | | undefined | Whether to use portrait orientation |
See the API docs for more information.
Extending
Custom Components
Custom components can apply the same base styles as ReactCompareSliderImage
by using the styleFitContainer
CSS utility.
See the styleFitContainer docs
for more information.
Images
See the Images docs for more information.
Requirements
Notes
Bootstrapped with TSDX.