npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sachin-acharya-projects/quick-slide

v1.0.1

Published

A modular, plugin-based slider engine for React.

Downloads

32

Readme

QuickSlide

A modular, plugin-based slider engine for React. Built with performance, accessibility, and extreme extensibility in mind.

Features

  • 🧩 Plugin-based Architecture: Only include the features you need.
  • 🔄 Infinite Loop: Seamless infinite scrolling with clone-based correction.
  • 🖱️ Touch & Drag Support: Smooth hardware-accelerated transitions.
  • ⌨️ Keyboard & Wheel Navigation: Full control via arrows, home/end, and scroll.
  • 🚀 Performance Optimized: Uses CSS translate3d for GPU-accelerated movement.
  • 🎨 Headless Design: Total control over your slide markup and styling.
  • 📦 Zero Logic Dependencies: Core engine is independent of styling frameworks.

Installation

pnpm add quick-slide
# or
npm install quick-slide

Documentation

For more detailed information, please refer to the following guides:

Basic Usage

import { QuickSlide } from "quick-slide"
import {
    navigationPlugin,
    dragPlugin,
    autoplayPlugin,
} from "quick-slide/plugins"
import "quick-slide/styles.css"

const images = [
    { src: "1.jpg", title: "Slide 1" },
    { src: "2.jpg", title: "Slide 2" },
]

export default function Gallery() {
    return (
        <div className="h-96 w-full">
            <QuickSlide
                items={images}
                infinite={true}
                transitionDuration={600}
                renderSlide={(item) => (
                    <img
                        src={item.src}
                        alt={item.title}
                        className="h-full w-full object-cover"
                    />
                )}
                plugins={[
                    dragPlugin(),
                    autoplayPlugin({ interval: 5000 }),
                    navigationPlugin(),
                ]}
            />
        </div>
    )
}

Plugins

QuickSlide is powered by a powerful plugin system. Available built-in plugins:

| Plugin | Description | | :------------------------- | :-------------------------------------------------------- | | autoplayPlugin | Automatically advances slides at set intervals. | | dragPlugin | Enables mouse and touch drag navigation. | | navigationPlugin | Adds previous and next navigation buttons. | | indicatorsPlugin | Adds pagination dots/indicators. | | keyboardNavigationPlugin | Enables arrow key, Home, and End navigation. | | wheelNavigationPlugin | Enables mouse wheel and trackpad navigation. | | imagePreloaderPlugin | Smart preloading for images to ensure smooth transitions. |

Example: Using Wheel Navigation

import { wheelNavigationPlugin } from "quick-slide/plugins"

// ... inside plugins array
wheelNavigationPlugin({
    threshold: 30,
    cooldown: 400,
    preventDefault: true,
})

Custom Components

You can build your own components using the Backdrop effect (as seen in our example gallery) to create immersive experiences.

import { Backdrop } from "./components/backdrop";

// Use it alongside QuickSlide to create crossfading backgrounds
<div className="relative overflow-hidden">
  <Backdrop src={images[currentIndex].src} />
  <QuickSlide ... />
</div>

API Reference

QuickSlide Props

| Prop | Type | Default | Description | | :--------------------- | :------------------------------------------------ | :---------- | :------------------------------------- | | items | T[] | Required | Array of data items to render. | | renderSlide | (item: T, state: SlideRenderState) => ReactNode | Required | Render function for individual slides. | | infinite | boolean | true | Enable infinite looping. | | transitionDuration | number | 500 | Transition speed in ms. | | plugins | SliderPlugin[] | [] | List of plugins to activate. | | currentIndex | number | undefined | Controlled index. | | onCurrentIndexChange | (index: number) => void | undefined | Callback when index changes. |

Imperative API

Access the slider controls via ref:

const ref = useRef<QuickSlideRef>(null)

ref.current?.next()
ref.current?.previous()
ref.current?.goTo(2)

License

MIT