- Extremely small package size (gzipped):
- Javascript: 2.6kB
- CSS: 1.5kB
- 0 external dependencies
- Full typescript support
- Built in with Tailwind, but you can always customize the styles
- Handling touch/mouse events
- Lazy image loading
- Responsive support
tailwind.config.ts
export default {
content: [
"./src/**/*.{js,ts,jsx,tsx}",
"./node_modules/react-micro-carousel/**/*.js",
],
} satisfies Config;
import 'react-micro-carousel/styles.min.css';
import {
Carousel,
CarouselProvider,
Counter,
DotsGroup,
NextButton,
PrevButton,
Slide,
} from 'react-micro-carousel';
<CarouselProvider total={2}>
<Carousel>
<Slide>
<img src="..." />
</Slide>
<Slide>
<img src="..." />
</Slide>
</Carousel>
<DotsGroup />
<NextButton>Next<NextButton />
<PrevButton>Prev</PrevButton>
</CarouselProvider>
Component is used to initialize the carousel context with configuration options and wrap the other components.
Prop | Type | Default | Required |
---|---|---|---|
children | ReactNode | Yes | |
slideHeight | number | 0 | Yes |
total | number | 0 | Yes |
autoPlayDelay | number | false | No |
slidesVisible | number | 1 | No |
step | number | 1 | No |
threshold | number | 0.25 | No |
infinite | boolean | false | No |
disableTouch | boolean | false | No |
lazy | boolean | true | No |
autoPlay | boolean | false | No |
A carousel that wraps the slides and provides the core functionality, such as scrolling to the next or previous slide.
Prop | Type | Default | Required |
---|---|---|---|
children | ReactNode | Yes | |
wrapperClassName | string | No | |
carouselClassName | string | No |
A single slide in a carousel.
Prop | Type | Default | Required |
---|---|---|---|
children | ReactNode | Yes | |
index | number | Yes | |
className | string | No |
A single dot.
Prop | Type | Default | Required |
---|---|---|---|
className | string | No | |
colorActive | string | No | |
colorInactive | string | No | |
index | number | Yes | |
disabled | boolean | No | |
onClick | Function | No |
A component that renders a group of dots, representing the slides in the carousel. It provides auto generated dots for the carousel.
Prop | Type | Default | Required |
---|---|---|---|
className | string | No | |
dotClassName | string | No | |
colorActive | string | No | |
colorInactive | string | No | |
onClick | Function | No |
Prop | Type | Default | Required |
---|---|---|---|
className | string | No | |
children | ReactNode | Yes | |
onClick | Function | No |
Prop | Type | Default | Required |
---|---|---|---|
className | string | No | |
children | ReactNode | Yes | |
onClick | Function | No |
Prop | Type | Default | Required |
---|---|---|---|
className | string | No |