1.5.0 • Published 9 months ago

react-round-carousel v1.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Github Build Codacy Badge Codebeat Badge CodeFactor Badge DeepScan grade Analytics

React Round Carousel

An infinitely scrollable 3D carousel component for React

Demo

This is an infinitely scrollable, touch enabled, 3D, image carousel component which can be used in a React application.

Visitor stats

GitHub stars GitHub forks GitHub watchers GitHub followers

Code stats

GitHub code size in bytes GitHub repo size GitHub language count GitHub top language GitHub last commit

Install

First install the component using your preferred package manager:

npm i react-round-carousel

# or

yarn add react-round-carousel

Usage

Then import the component in your application. Here is an example:

The slides (or items) should have the following shape:

PropTypeRequiredDescriptionExample
altstringfalseAlternative text for the slide image'This is an example alt text'
imagestringtruePath or URL to an image'https://source.unsplash.com/random/210x210'
contentReactNodetrueA ReactNode representing the content of the slide<div><strong>Slide Title</strong></div>
import * as React from 'react';
import { createRoot } from 'react-dom/client';

import { Carousel, CarouselRef, CarouselItem } from 'react-round-carousel';

// Create an array of Carousel Items
const items: CarouselItem[] = Array(20)
	.fill('')
	.map((_: string, index: number) => ({
		alt: 'A random photo',
		image: `https://picsum.photos/${210 + index}`,
		content: (
			<div>
				<strong>Round Carousel</strong>
				<span>Slide number {index + 1}</span>
			</div>
		)
	}));

const App = () => {
	const carouselRef = React.createRef<CarouselRef>();

	return <Carousel ref={carouselRef} items={items} slideOnClick />;
};

createRoot(document.getElementById('root')!).render(<App />);

Options

The component accepts the following configuration options as props:

PropTypeRequiredDescriptionDefault
classNamePrefixstringfalseCSS classname prefix for the Carousel component'carousel'
itemsCarouselItemtrueAn array of CarouselItems[]
itemWidthnumberfalseWidth of each of the carousel items210
nextButtonContentstring/ReactNodefalseContent of the next button'Next'
prevButtonContentstring/ReactNodefalseContent of the previous button'Previous'
showControlsbooleanfalseShow/hide navigation controlstrue
slideOnClickbooleanfalseSlide to the clicked slidefalse

Controlling from outside

It is possible to control the component from outside - for example from a parent component. In order to do so, a React Ref should be used. The current reference contains several methods, including:

  • next - Slides the carousel to the next slide.
  • prev - Slides the carousel to the previous slide.
  • getItems - Returns an array with all items passed to the carousel.
  • getSelectedIndex - Returns the active slide index of the carousel.
  • setSelectedIndex - Sets the active slide index of the carousel and slides to this slide.

The demo shows how to use these methods.

Style

In order to achieve the layout shown in the demo, you should add styles to your markup.

There is an already existing stylesheet which can be found in the src folder and can be imported:

  • in your JS entrypoint
import 'react-round-carousel/src/index.css';
  • in your CSS entrypoint
@import 'react-round-carousel/src/index.css';

If you don't want to use the default stylesheet, you can create and use your own.

LICENSE

MIT



1.5.0

9 months ago

1.4.0

12 months ago

1.3.1

1 year ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.0

3 years ago