Carousel
A carousel allows users to see and navigate the steps within a flow.
Version 0.3.7
Installation
To install @igloo-ui/carousel
in your project, you will need to run the following command using npm:
npm install @igloo-ui/carousel
If you prefer Yarn, use the following command instead:
yarn add @igloo-ui/carousel
Usage
Then to use the component in your code just import it!
import Button from '@igloo-ui/button';
import Carousel from '@igloo-ui/carousel';
const SLIDE_NUM = 3;
const [selected, setSelected] = React.useState(0);
const handlePageChange = (index) => {
setSelected(index);
};
const handlePrimaryActionClick = () => {
if (selected < SLIDE_NUM - 1) {
handlePageChange(selected + 1);
}
};
const handleSecondaryActionClick = () => {
if (selected > 0) {
handlePageChange(selected - 1);
}
};
<Carousel
onPageChange={handlePageChange}
currentSlide={selected}
primaryAction={
<Button appearance={'primary'} onClick={handlePrimaryActionClick}>
{selected < SLIDE_NUM - 1 ? 'Next' : 'Done'}
</Button>
}
secondaryAction={
<Button appearance={'secondary'} onClick={handleSecondaryActionClick}>
{selected > 0 ? 'Prev' : 'Cancel'}
</Button>
}
>
<div style={{ background: 'pink', padding: '4rem' }}>Slide 1</div>
<div style={{ background: 'lightBlue', padding: '4rem' }}>Slide 2</div>
<div style={{ background: 'lightGreen', padding: '4rem' }}>Slide 3</div>
</Carousel>;
API
Prop | Type | Default | Description |
---|---|---|---|
children | ReactNode | - | Contains the slides |
className | string | - | Add a specific class to the carousel component |
currentSlide | number | The current slide number starting at 0 | |
dataTest | string | - | Add a data-test tag for automated tests |
onPageChange | (index: number) => void | - | Event called when the page is changed |
primaryAction | ReactElement<any, string | JSXElementConstructor<any>> | - | The button displayed on the right |
secondaryAction | ReactElement<any, string | JSXElementConstructor<any>> | - | The secondary button displayed on the left |