0.2.3 • Published 9 months ago

react-card-stack-carousel v0.2.3

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

react-card-stack-carousel

Stacked card carousal component with configurable 3D transition effect.

Demo

Getting started

Install react-card-stack-carousel from NPM

npm i react-card-stack-carousel

# OR

yarn add react-card-stack-carousel

Import react-card-stack-carousel styles

// import base styles at the top of your component
import "react-card-stack-carousel/styles/styles.css";

Usage

NOTE: StackedCarousel requires a height property to be specified

import React from "react";
import { StackedCarousel } from "react-card-stack-carousel";
import "react-card-stack-carousel/styles/styles.css"; // import base styles

export default function App() {
    // specify container height
    const containerHeight = 250;

    return (
        <main className="container">
            <StackedCarousel height={containerHeight}>
                <div className="sample-card bg-color-1">0</div>
                <div className="sample-card bg-color-2">1</div>
                <div className="sample-card bg-color-3">2</div>
            </StackedCarousel>
        </main>
    );
}

Responsive height

Height prop supports Tailwind CSS based breakpoint system to accommodate responsive design. To specify a height at a certain breakpoint, prefix the breakpoint name, followed by the ":" character.

<!-- 200px on mobile (default), 500px on medium screens and 750px on large screens -->
<StackedCarousel height="200 md:500 lg:750">{...}</StackedCarousel>

Visit responsive-design for the exhaustive list of supported breakpoints.

Props

PropTypeDefaultRequiredDescription
heightnumber or string-YesHeight of the carousel.
childrenReactNode-YesChildren nodes of the carousel.
autoplaybooleanfalseNoAutomatically transition between items.
autoplayIntervalnumber4000NoInterval between automatic transitions.
easingFunctionstringcubic-bezier(0.93, 0.01, 0.39, 1.01)NoEasing function to use for the transitions.
onNextfunction-NoCallback function on moving to the next item.
onPreviousfunction-NoCallback function on moving to the previous item.
styleOverridesobject-NoOverride default styles of the carousel
scaleFactornumber0.9NoScale factor for the carousel items.
startIndexnumber0NoIndex of the item to start on.
transitionDurationnumber400NoDuration of the transitions in milliseconds.
verticalOffsetnumber10No% vertical offset for the carousel items.

Running locally

  1. Clone the repo and install the dependencies. In the repo's root, run
# using NPM
npm install

# using yarn
yarn install
  1. Switch to the playground folder
cd ./playground
  1. Start the development server
# start the Vite development server
yarn dev

Todo

  • Auto compute the container height based on height of the active card
  • Support touch/drag gesture based navigation
  • Plugin system to enable custom transition styles
0.2.3

9 months ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.2

1 year ago

0.1.2

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.5

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago