React Compare Component
React component to compare two components side-by-side using the slider (responsive, without css width or clip)
It can be used to compare before-after images, compression quality and any other elements (video, text)
Demo
Website
For more examples: storybook WIP
Features
- Any components to compare (images, video (native or youtube) or even plain text)
exampleWIP - Doesn't use
width
orclip
- Responsive (native, without JS listeners)
exampleWIP - Dependencies free
- Custom slider component
exampleWIP - Full control programmatically
- Default slider position
exampleWIP - Set custom slider position from a script
exampleWIP - Callback for all actions (
onDragStart
,onDragEnd
,onPositionChange
(also you can prevent this action))exampleWIP
- Default slider position
- Web accessibility
moreWIP - Native animations
exampleWIP,moreWIP - Four different behaviors (move, click, drag, static)
exampleWIP,moreWIP - Mobile friendly
moreWIP Well tested with 100% coverageWIPCode quality by tslint and eslintWIP- Strong typed by
TypeScript
Docs
<Compare = = = ="Compare Images"/>
Compare
Name | Required | Type | Default | Description |
---|---|---|---|---|
left | yes | React.ComponentType | React.ReactElement | - | |
right | yes | React.ComponentType | React.ReactElement | - | |
slider | no | React.ComponentType | React.ReactElement | undefined | |
label | yes | string | - | |
behavior | no | Behavior | Behavior.Move | |
defaultPosition | no | number | 50 | |
animation | no | AnimationType | undefined | |
onDragStart | no | OnDragStartCallbackType | undefined | |
onDragEnd | no | OnDragEndCallbackType | undefined | |
onPositionChange | no | OnPositionChangeCallbackType | undefined | |
tabIndex | no | number | 0 | |
sliderMode | no | SliderMode | SliderMode.Normal | |
clickDragMode | no | ClickDragMode | ClickDragMode.Global | |
alwaysCover | no | boolean | false | |
keyboardStep | no | number | 5 |
For other types check the WIPwebsite WIP
Create Component WIP
WIP
Create Slider WIP
WIP
Component Behaviors WIP
WIP
Web accessibility WIP
WIP
Native Animation WIP
WIP
Mobile WIP
WIP
Compare Component
This package is a part of compare-component which is also available for other libraries:
- React
VueWIPAngularWIPPolymerWIPAngularJSWIPjQueryWIPVanillaJS (no libraries)WIPEmberWIPMithrilWIP
License
MIT