All Projects → bartdominiak → Vue Snap

bartdominiak / Vue Snap

Licence: mit
⚡️ Lightweight Carousel based on CSS Scroll Snapping (Vue 2/3)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Snap

Egjs Flicking
🎠 ♻️ Everyday 30 million people experience. It's reliable, flexible and extendable carousel.
Stars: ✭ 937 (+1461.67%)
Mutual labels:  carousel
Veluxi Starter
Veluxi Vue.js Starter Project with Nuxt JS and Vuetify
Stars: ✭ 39 (-35%)
Mutual labels:  carousel
Vuejs Carousel
Complete photo carousel build with VueJS and web standards in mind
Stars: ✭ 53 (-11.67%)
Mutual labels:  carousel
React Whirligig
A react carousel/slider like component for sequentially displaying slides or sets of slides
Stars: ✭ 20 (-66.67%)
Mutual labels:  carousel
React Splide
The Splide component for React.
Stars: ✭ 32 (-46.67%)
Mutual labels:  carousel
Ngx Siema
Lightweight and simple carousel with no dependencies.
Stars: ✭ 46 (-23.33%)
Mutual labels:  carousel
Carouselview
Carousel View
Stars: ✭ 22 (-63.33%)
Mutual labels:  carousel
React Carousel
Lightweight carousel component for react
Stars: ✭ 56 (-6.67%)
Mutual labels:  carousel
Centeredcollectionview
A lightweight UICollectionViewLayout that 'pages' and centers its cells 🎡 written in Swift
Stars: ✭ 965 (+1508.33%)
Mutual labels:  carousel
L2t Paper Slider
Polymer element for displaying slides in a carousel
Stars: ✭ 53 (-11.67%)
Mutual labels:  carousel
Hammer Slider
DISCONTINUED - HammerSlider touch is a lightweight infinite carousel plugin.
Stars: ✭ 21 (-65%)
Mutual labels:  carousel
Scroll Snap Carousel
Carousel based on CSS Scroll Snap functionality
Stars: ✭ 31 (-48.33%)
Mutual labels:  carousel
Tiny Swiper
Ingenious JavaScript Carousel powered by wonderful plugins. Lightweight yet extensible. Import plugins as needed, No more, no less.
Stars: ✭ 1,061 (+1668.33%)
Mutual labels:  carousel
Framecarousel
A jQuery plugin for quickly creating carousels within frames
Stars: ✭ 14 (-76.67%)
Mutual labels:  carousel
React Soft Slider
Simple, fast and impartial slider
Stars: ✭ 54 (-10%)
Mutual labels:  carousel
Angular2 Carousel
An lightweight , touchable and responsive library to create a carousel for angular 2 / 4 / 5
Stars: ✭ 26 (-56.67%)
Mutual labels:  carousel
Ng Bootstrap
Angular powered Bootstrap
Stars: ✭ 7,872 (+13020%)
Mutual labels:  carousel
Morphist
A simple, high-performance and cross-browser jQuery slider / slideshow / carousel plugin for child objects powered by Animate.css.
Stars: ✭ 60 (+0%)
Mutual labels:  carousel
React Carousel
react-carousel
Stars: ✭ 54 (-10%)
Mutual labels:  carousel
Macro Carousel
Carousel as a Vanilla Web Component.
Stars: ✭ 53 (-11.67%)
Mutual labels:  carousel

vue-snap

Lightweight Carousel based on CSS Scroll Snap.

vue-snap logo

npm version Build Status npm bundle size license

Buy Me a Coffee

Table of Contents

About

Idea behind this plugin is that to create fully responsive and well optimised Carousel. We used new CSS properties Scroll Snapping, which allows us to lock the Carousel Wrapper to certain Slides or locations after a user has finished scrolling. This helps us to minimize library size, with only critical part, and avoid any heavy JS calculations or any CSS Hacks inside.

Examples/Stories

Pros:

  • Lightweight (5-10x times lighter than other libs)
  • There is no calculation or heavy logic inside (Performence aspect)
  • Fully responsive and mostly all customization via CSS - like how many Slides do you want to display
  • ESM Bundle with Dead Code Elimination (Tree Shaking)
  • SSR Support like Nuxt.js 🎉 (More here)
  • here)
  • Support all modern/common browsers (More here)

Installation & Usage

[email protected] version

Installation

  yarn add [email protected] // or npm install [email protected]

Usage - Globally

import { createApp } from 'vue'
import App from './App.vue'

import VueSnap from 'vue-snap'
import 'vue-snap/dist/vue-snap.css'

const myApp = createApp(App)

myApp.use(VueSnap)
myApp.mount('#app')

Usage - Locally

import { Carousel, Slide } from 'vue-snap'
import 'vue-snap/dist/vue-snap.css'

export default {
  components: {
    Carousel,
    Slide
  }
}

[email protected] version

Installation

  yarn add vue-snap // or npm install vue-snap

Usage - Globally

import Vue from 'vue'
import VueSnap from 'vue-snap'
import 'vue-snap/dist/vue-snap.css'

Vue.use(VueSnap)

Usage - Locally

import { Carousel, Slide } from 'vue-snap'
import 'vue-snap/dist/vue-snap.css'

export default {
  components: {
    Carousel,
    Slide
  }
}

Examples usage

Check out examples folder for more details.

Development

Install necessary depandancies

  yarn // or npm install

Run Storybook for development mode

  yarn storybook:dev

Release

  yarn release

Contribution

If you have a feature request then feel free to start a new issue, or just grab existing one.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].