0.2.0 • Published 5 years ago

styled-components-carousel v0.2.0

Weekly downloads
311
License
MIT
Repository
github
Last release
5 years ago

Styled Components Carousel

A simple React Carousel component written in Typescript and built with styled-components using React Hooks.

Heavily inspired by react-slick with a simplified API and small behaviour changes.

Alt Text

Getting Started

Prerequisites

This component expects that you will have the following packages installed:

Installation

NPM

npm install styled-components-carousel

Yarn

yarn add styled-components-carousel

Examples

Basic Usage

import Carousel from 'styled-components-carousel';

const Example = () => (
    <Carousel
        center
        infinite
        showArrows
        showIndicator
        slidesToShow={3}
    >
        <div>
            <span>1</span>
        </div>
        <div>
            <span>2</span>
        </div>
        <div>
            <span>3</span>
        </div>
    </Carousel>
);

Breakpoints Usage

You can define custom settings per breakpoint for truly responsive behaviour.

import Carousel from 'styled-components-carousel';

const Example = () => (
    <Carousel
        slidesToShow={3}
        center
        centerPadding={30}
        breakpoints={[
            {
                size: 200,
                settings: {
                    slidesToShow: 1,
                    showArrows: false,
                    showIndicator: false,
                    swipeable: true,
                },
            },
            {
                size: 600,
                settings: {
                    slidesToShow: 3,
                    showArrows: false,
                    showIndicator: true,
                    swipeable: true,
                },
            },
            {
                size: 1000,
                settings: {
                    slidesToShow: 4,
                    showArrows: true,
                    showIndicator: true,
                    center: true,
                    swipeable: true,
                },
            },
        ]}
    >
        <div>
            <span>1</span>
        </div>
        <div>
            <span>2</span>
        </div>
        <div>
            <span>3</span>
        </div>
    </Carousel>
);

Props

PropTypeRequiredDescriptionDefault
centerbooleanNoShould the items be centered?False
infinitebooleanNoShould the carousel infinitely scroll the itemsFalse
showIndicatorbooleanNoShould the bottom item indicator be shown?True
showArrowsbooleanNoShould the side navigation arrows be shown?True
swipeablebooleanNoIs the carousel swipeable?True
debugbooleanNoA dev helper prop for debugging developmentFalse
slidesToShownumberNoThe number of slides to show at once.1
scaleOnFocusnumberNoHow much should the focused item scale?1
centerPaddingnumberNoUsed in conjunction with center property to adding padding to center card0
breakpointsarrayNoAn array of settings in order to have responsive behaviour for different screen sizesundefined

Development

Storybook

yarn storybook

Run tests

yarn test

Build

yarn build

RoadMap (open to feature requests)

  • Accessibility support
  • Custom slide animation
  • Custom arrow component
  • Custom indicator component
  • Vertical track
0.2.0

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago