1.1.22 • Published 5 months ago
@stasies/js-carousel v1.1.22
🚀 JS-Carousel Component
A lightweight, customizable, and performant js-carousel. Supports dragging functionality via translateX
.
✨ Features
- Infinite scrolling for seamless transitions
- Customizable slides using
<slide-component>
- Draggable support (using
translateX
for smooth motion) - Responsive breakpoints for different screen sizes
- Autoplay support with configurable interval
📦 Installation
npm install @stasies/js-carousel
🚀 Usage
Attributes
Attribute | Type | Default | Description |
---|---|---|---|
autoplay | false | number | false | false disables autoplay, a number sets autoplay interval in ms |
wrapAround | boolean | true | Enables infinite loop |
breakpoints | object | {0: {slidesToShow: 1, slidesToScroll: 1}} | Defines responsive breakpoints where the key is the screen width |
gap | number | 0 | Sets gaps between slides (in px) |
pauseonhover | boolean | true | true stops autoplay on hover |
Basic Example
<carousel-component
autoplay="3000"
wraparound="true"
gap="8"
pauseonhover="true"
>
<slide-component>Slide 1</slide-component>
<slide-component>Slide 2</slide-component>
<slide-component>Slide 3</slide-component>
</carousel-component>
JavaScript Usage
const carousel = document.querySelector("carousel-component");
carousel.breakpoints = {
1600: {
slidesToShow: 3,
slidesToScroll: 1,
},
0: {
slidesToShow: 1,
slidesToScroll: 1,
},
};
carousel.next(); // switch to the next slide
carousel.prev(); //switch to the previous slide
carousel.jump(index); //jump to the slide with index
Next (React) Example
"use client";
import "@stasies/js-carousel";
import { useEffect, useRef } from "react";
export default function Carousel() {
const carousel = useRef();
useEffect(() => {
carousel.current.breakpoints = {
1200: {
slidesToShow: 2,
slidesToScroll: 1,
},
0: {
slidesToShow: 1,
slidesToScroll: 1,
},
};
});
return (
<carousel-component
ref={carousel}
gap={10}
autoplay={2000}
wraparound={true}
>
<slide-component>slide 1</slide-component>
<slide-component>slide 2</slide-component>
<slide-component>slide 3</slide-component>
<slide-component>slide 4</slide-component>
<slide-component>slide 5</slide-component>
</carousel-component>
);
}
Nuxt (Vue) Example
import "@stasies/js-carousel";
const carousel = ref();
onMounted(() => {
carousel.value.breakpoints = {
0: {
slidesToShow: 1,
slidesToScroll: 1,
},
};
});
<template>
<div class="carousel__wrapper">
<carousel-component ref="carousel" :wraparound="true" :autoplay="false">
<slide-component> 1 </slide-component>
<slide-component> 2 </slide-component>
<slide-component> 3 </slide-component>
</carousel-component>
<button @click="carousel.prev()">prev</button>
<button @click="carousel.next()">next</button>
</div>
</template>
📄 License
MIT License © 2025 Stasies
1.1.22
5 months ago
1.1.20
5 months ago
1.1.19
5 months ago
1.1.18
5 months ago
1.1.17
5 months ago
1.1.16
5 months ago
1.1.15
5 months ago
1.1.14
5 months ago
1.1.13
5 months ago
1.1.12
5 months ago
1.1.11
5 months ago
1.1.10
5 months ago
1.1.9
5 months ago
1.1.8
5 months ago
1.1.7
5 months ago
1.1.6
5 months ago
1.1.5
5 months ago
1.1.4
5 months ago
1.1.0
5 months ago
1.0.9
5 months ago
1.0.8
5 months ago
1.0.7
5 months ago
1.0.6
5 months ago
1.0.5
5 months ago
1.0.4
5 months ago
1.1.3
5 months ago
1.1.2
5 months ago
1.1.1
5 months ago
1.0.2
5 months ago
1.0.1
5 months ago
1.0.0
5 months ago