1.1.22 • Published 12 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
translateXfor 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 indexNext (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
12 months ago
1.1.20
12 months ago
1.1.19
12 months ago
1.1.18
12 months ago
1.1.17
12 months ago
1.1.16
12 months ago
1.1.15
12 months ago
1.1.14
12 months ago
1.1.13
12 months ago
1.1.12
12 months ago
1.1.11
12 months ago
1.1.10
12 months ago
1.1.9
12 months ago
1.1.8
12 months ago
1.1.7
12 months ago
1.1.6
12 months ago
1.1.5
12 months ago
1.1.4
12 months ago
1.1.0
12 months ago
1.0.9
12 months ago
1.0.8
12 months ago
1.0.7
12 months ago
1.0.6
12 months ago
1.0.5
12 months ago
1.0.4
12 months ago
1.1.3
12 months ago
1.1.2
12 months ago
1.1.1
12 months ago
1.0.2
12 months ago
1.0.1
12 months ago
1.0.0
12 months ago