0.1.7 • Published 7 months ago

minimal-carousel v0.1.7

Weekly downloads
-
License
-
Repository
github
Last release
7 months ago

Minimal-Carousel

Minimal Carousel is a simple and intuitive carousel library that provides a user-friendly interface. This library includes only the essential features that users need, designed for quick implementation without complexity.

Features

  • Drag-and-Drop Navigation: Users can swipe images with mouse drag or touch gestures.
  • AutoPlay Functionality: Automatically transitions between images at specified intervals.
  • Customizable Navigation Buttons: Easily show or hide previous and next buttons.
  • Pagination: Visual indicators for the current image position.
  • Keyboard Navigation: Supports navigation using keyboard arrow keys.
  • Parallax Effect: Adds a depth effect to the images for a more engaging experience.
  • Scrollbar: Optional scrollbar for additional navigation feedback.
  • Customizable Transition Effects: Supports fade transitions and other customizable effects for image transitions.

Installation

pnpm i minimalist-carousel

Usage

Basic Setup

Import the component in your Vue file

<template>
  <MinimalCarousel :imageItems="images" />
</template>

<script setup>
import MinimalCarousel from 'minimal-carousel';

const images = [
  { link: 'image1.jpg', name: 'Image 1' },
  { link: 'image2.jpg', name: 'Image 2' },
  { link: 'image3.jpg', name: 'Image 3' },
];
</script>

Props

The component accepts the following props

Prop NameTypeDefault ValueDescription
imageItemsArray<ImageItemsType>RequiredAn array of image objects, each containing a link and name property.
showPrevButtonBooleantrueShow or hide the previous button.
showNextButtonBooleantrueShow or hide the next button.
paginationBooleanfalseShow or hide the pagination.
scrollbarBooleanfalseShow or hide the scrollbar.
autoPlayBooleanfalseEnable or disable auto play.
autoPlayDurationNumber2500Duration in milliseconds for each slide during auto play.
disableOnInteractionBooleantrueDisable auto play when the user interacts with the carousel.
pauseOnMouseEnterBooleanfalsePause auto play when the mouse hovers over the carousel.
stopOnLastSlideBooleanfalseStop auto play when reaching the last slide.
effectFadeBooleanfalseEnable fade effect between slides.
keyboardControlBooleanfalseAllow navigation using keyboard arrow keys.
parallaxBooleanfalseEnable parallax effect for additional depth.
contentsArray<Object>undefinedAn array of content objects containing title, subTitle, and content for each image.

Example

<template>
  <MinimalCarousel
    :imageItems="images"
    showPrevButton
    showNextButton
    pagination
    scrollbar
    autoPlay
    autoPlayDuration
    disableOnInteraction
    pauseOnMouseEnter
    stopOnLastSlide
    effectFade
    keyboardControl
    parallax
    :contents="sliderContents"
  />
</template>

<script setup>
import MinimalCarousel from 'minimal-carousel';

const images = [
  { link: 'image1.jpg', name: 'Image 1' },
  { link: 'image2.jpg', name: 'Image 2' },
  { link: 'image3.jpg', name: 'Image 3' },
];

const sliderContents = [
  { title: 'Title 1', subTitle: 'Subtitle 1', content: 'Content 1' },
  { title: 'Title 2', subTitle: 'Subtitle 2', content: 'Content 2' },
  { title: 'Title 3', subTitle: 'Subtitle 3', content: 'Content 3' },
];
</script>

Custom Navigation Buttons

You can customize the previous and next buttons using slots

<template>
  <MinimalCarousel :imageItems="images" showPrevButton showNextButton>
    <template #prev-btn="{ goToPrev }">
      <button @click="goToPrev">Previous</button>
    </template>
    <template #next-btn="{ goToNext }">
      <button @click="goToNext">Next</button>
    </template>
  </MinimalCarousel>
</template>
0.1.7

7 months ago

0.1.6

7 months ago

0.1.5

8 months ago

0.1.4

8 months ago

0.1.3

8 months ago

0.1.2

8 months ago

0.1.1

8 months ago

0.1.0

8 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago

0.0.0

8 months ago