React Component that renders a media gallery slider/carousel
React AwesomeSlider
react-awesome-slider is a 60fps, extendable, highly customisable, production ready React Component that renders a media (image/video) gallery slider/carousel.
Basic usage
Scale-out and Fold-out animation recipes
Touch enabled
Live demo
Installing
npm install --save react-awesome-slider
or
yarn add react-awesome-slider
Examples
Basic usage with and plain CSS
import AwesomeSlider from 'react-awesome-slider';
import 'react-awesome-slider/dist/styles.css';
const slider = (
  <AwesomeSlider>
    <div data-src="/path/to/image-0.png" />
    <div data-src="/path/to/image-1.png" />
    <div data-src="/path/to/image-2.jpg" />
  </AwesomeSlider>
);
Basic usage with CSS Modules
import AwesomeSlider from 'react-awesome-slider';
import AwsSliderStyles from 'react-awesome-slider/src/styles.scss';
const slider = (
  <AwesomeSlider cssModule={AwsSliderStyles}>
    <div data-src="/path/to/image-0.png" />
    <div data-src="/path/to/image-1.png" />
    <div data-src="/path/to/image-2.jpg" />
  </AwesomeSlider>
);
Key Features
- Look and feel customisable and extendable via SASS and CSS Variables (custom-properties) (scss main file)
- Media pre-loader
- Touch enabled
- 60fps animations
- Animated transition recipes
- Extendable via custom plugin HOC components
Main Props
| Attributes | Type | Default | Description | 
|---|---|---|---|
| className | string | null | Add a className to the component container | 
| cssModule | object | null | CSS Module object if you choose to use this styling approach | 
| name | string | awesome-slider | Unique name of the rendered slider. Useful if you're navigating between multiple pages that contains a slider component. | 
| selected | number | 0 | Sets the current active/selected screen | 
| bullets | boolean | true | When set to true show the bullet controls underneath the slider | 
| organicArrows | boolean | true | When set to true show the organic arrow nextandprevcontrols | 
| fillParent | boolean | false | When set to true the slider will fill the dimensions of the parent element. Usefull for using it in full-screen mode. | 
| transitionDelay | number | 0 | Sets a delay in msbetween the slide transitions. Useful if you're waiting for an exit animation to finish in the current slide. | 
| startupScreen | node | null | Set's the startup screen element to be shown before the first screen is loaded | 
| onFirstMount | function | null | Runs on componentDidMount passing the slider reference as an argument | 
| onTransitionEnd | function | null | Runs on at the slider transition end event passing the slider reference as an argument | 
| onTransitionStart | function | null | Runs on slider transition start passing the slider reference as an argument | 
Contribute
If you have an idea for a missing feature or animation just craft your own hoc feature or animation style and send it up via PR to the src/components folder.