# thebird/swipe

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/thebird-swipe).**

6,750 stars · 1,642 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/thebird/Swipe
- awesome-repositories: https://awesome-repositories.com/repository/thebird-swipe.md

## Description

Swipe is a JavaScript library for creating touch-based sliders and interactive carousels. It provides a gesture-based navigation tool for building swipeable content interfaces that support touch navigation on mobile and web browsers.

The library distinguishes itself through the use of GPU-accelerated transitions and animation frames to ensure smooth motion. It implements a continuous looping effect, allowing content to wrap around seamlessly during navigation.

The tool covers the synchronization of slide states with touch inputs and the execution of custom functions when transitions complete. It includes a programmatic interface to manage active slide indices and track total slide counts.

## Tags

### User Interface & Experience

- [Content Sliders](https://awesome-repositories.com/f/user-interface-experience/content-sliders.md) — Creates swipeable UI components for sliding sequences of arbitrary content with infinite looping. ([source](https://github.com/thebird/swipe#readme))
- [Carousel Components](https://awesome-repositories.com/f/user-interface-experience/carousel-components.md) — Ships a UI component for cycling through content sets with synchronized touch inputs.
- [Positioning Transforms](https://awesome-repositories.com/f/user-interface-experience/component-utilities/animation-engines/css-transform-animations/positioning-transforms.md) — Uses CSS translate3d properties for spatial placement to ensure GPU-accelerated, smooth motion.
- [Infinite Looping Carousels](https://awesome-repositories.com/f/user-interface-experience/infinite-looping-carousels.md) — Implements a content slider that wraps back to the start after the last item is reached.
- [Touch-Enabled Carousels](https://awesome-repositories.com/f/user-interface-experience/touch-enabled-carousels.md) — Provides high-accuracy carousel components with native support for touch-screen swiping.
- [Content Slider Libraries](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-libraries/content-slider-libraries.md) — Provides a comprehensive JavaScript library for creating high-accuracy swipeable content interfaces.
- [CSS Transform Translations](https://awesome-repositories.com/f/user-interface-experience/css-transform-translations.md) — Uses CSS transform translations and translate3d for smooth, GPU-accelerated movement of interface elements.
- [Gesture Navigation](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-libraries/gesture-navigation.md) — Provides navigation interactions driven by swiping on touch devices to move through content.
- [Scroll-to-Index Mapping](https://awesome-repositories.com/f/user-interface-experience/dynamic-view-offsetting/scroll-to-index-mapping.md) — Calculates the active slide index by translating continuous horizontal scroll offsets into discrete indices.
- [Touch Navigation Interfaces](https://awesome-repositories.com/f/user-interface-experience/navigation-components/touch-navigation-interfaces.md) — Implements gesture-based navigation allowing users to flip through content slides via swipes.
- [Slider State Controllers](https://awesome-repositories.com/f/user-interface-experience/slider-components/slider-state-controllers.md) — Provides a programmatic interface to manage the active slide index and total slide count. ([source](https://github.com/thebird/swipe#readme))
- [Touch Coordinate Deltas](https://awesome-repositories.com/f/user-interface-experience/touch-coordinate-deltas.md) — Calculates movement vectors by tracking the delta between touch start and move events.
- [Infinite Loop Wrapping](https://awesome-repositories.com/f/user-interface-experience/visual-node-editors/interaction-restrictions/boundary-constraints/position-wrapping/infinite-loop-wrapping.md) — Implements logic to simulate an endless sequence of slides by wrapping indices at the boundaries.

### Graphics & Multimedia

- [RequestAnimationFrame Loops](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/image-sequence-processors/animation-frame-sequencers/canvas-frame-animations/frame-based-animation-engines/requestanimationframe-loops.md) — Syncs slide positions with touch coordinates using a native browser animation frame loop.
