@rn-components-kit/carousel
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Carousel

NPM version

English | 中文

A slideshow component for cycling through elements (image or text), just like a carousel. It supports the following features:

  • horizontal/vertical two directions
  • loop mode
  • auto play mode
  • center mode, item would be adjusted to the screen's center
  • supports children that have lengths smaller than the container

⚠️ NOTE

  1. When carousel is in horizontal mode, width and itemWidth must be set.
  2. When carousel is in vertical mode, height and itemHeight must be set.
  3. If the data source of carousel's children would change, you should set the data prop. Or the children of carousel would not be updated.
  4. Following picture will help you understand some important required variables:

How to use

npm install @rn-components-kit/carousel --save
Preview Code
Demo1 Code
Demo2 Code
Demo3 Code
Demo4 Code
Demo5 Code
Demo6 Code
Demo7 Code

Props

Reference

Props

style

Allows you to customize style

Type Required Default
object no -

initialIndex

Determines the position when carousel first show

Type Required Default
number no 0

draggable

Determines whether carousel can be dragged to slide to prev/next one

Type Required Default
boolean no true

vertical

Determines whether caousel is in horizontal or vertical direction

Type Required Default
boolean no false

width

The width of carousel (when carousel is in horizontal mode, it must be set)

Type Required Default
number no -

height

The height of carousel (when carousel is in vertical mode, it must be set)

Type Required Default
number no -

itemWidth

The width of each item in carousel (when carousel is in horizontal mode, it must be set)

Type Required Default
number no -

itemHeight

The height of each item in carousel (when carousel is in vertical mode, it must be set)

Type Required Default
number no -

gap

When item's length is smaller than container, gap can be used to separate items

Type Required Default
number no 0

loop

Determines whether carousel's loop mode is enabled

Type Required Default
boolean no false

cloneCount

When loop mode is enabled, there will be cloneCount copied elements placed at both sides of items

Type Required Default
number no 3

centerModeEnabled

When item's length is smaller than container, item would be adjusted to the center of carousel if centerModeEnabled is true. In this case, prev/current/next elements will be all in one screen

Type Required Default
boolean no false

autoPlay

Determines whether auto play mode is enabled

Type Required Default
boolean no false

autoPlayDelay

When auto play mode is enabled, it determines how long it takes between two scrolling animations (ms)

Type Required Default
number no 3000

showPagination

Determines whether pagination module is shown in carousel

Type Required Default
boolean no false

paginationStyle

Allow you to customize pagination's container style

Type Required Default
object no -

dotStyle

Allow you to customize pagination's dot style

Type Required Default
object no -

curDotStyle

Allow you to customize pagination's current dot style

Type Required Default
object no -

renderPagination

(info: {curIndex: number, total: number}) => React.ReactElement | null

Allow you to customize pagination module

Type Required Default
function no -

onIndexChange

(from: number, to: number) => void

A callback will be triggered when carousel's scrollIndex changes

Type Required Default
function no () => {}

Methods

scrollToPrev()

scrollToPrev();

Scrolls to prev item

scrollToNext()

scrollToNext();

Scrolls to next item

scrollToIndex()

scrollToIndex([options]: {index: number, animated: boolean});

Scrolls to the item at the specified index

Package Sidebar

Install

npm i @rn-components-kit/carousel

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

26.9 kB

Total Files

5

Last publish

Collaborators

  • smallstonesk