Socket
Socket
Sign inDemoInstall

vanilla-swipe

Package Overview
Dependencies
0
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    vanilla-swipe

Tiny vanilla JS library to detect swipe direction.


Version published
Weekly downloads
39K
increased by12.23%
Maintainers
1
Install size
47.7 kB
Created
Weekly downloads
 

Readme

Source

vanilla-swipe

Tiny vanilla JS library to detect swipe direction.

Build Status npm version covarage

👉 Live demo.

Types

type ConstructorProps = {
  element?: HTMLElement | null;
  target?: HTMLElement | null;
  delta?: number | 10;
  directionDelta?: number | 0;
  rotationAngle?: number | 0;
  mouseTrackingEnabled?: boolean | false;
  touchTrackingEnabled?: boolean | true;
  preventDefaultTouchmoveEvent?: boolean | false;
  preventTrackingOnMouseleave?: boolean | false;
  onSwipeStart?: EventHandler;
  onSwiping?: EventHandler;
  onSwiped?: EventHandler;
  onTap?: EventHandler;
};

type EventHandler = {
  (e: Event, data: EventData): void;
};

type EventData = {
  absX: number;
  absY: number;
  deltaX: number;
  deltaY: number;
  directionX: 'LEFT' | 'RIGHT' | 'NONE';
  directionY: 'TOP' | 'BOTTOM' | 'NONE';
  duration: number; // ms
  velocity: number; // (px/ms)
};

Props

  • element - target event trigger
  • target - additionally target event trigger, if specified with the element, will be used by all handlers to trigger the action
  • delta - minimal distance in px before a swipe starts
  • directionDelta - minimum distance in px required for the direction to be reversed while swiping.
  • rotationAngle - rotation angle
  • mouseTrackingEnabled - enable mouse tracking
  • touchTrackingEnabled - enable touch tracking
  • preventDefaultTouchmoveEvent - prevent default touch events while touching
  • preventTrackingOnMouseleave - triggered onSwiped callback when the event loses the element's focus
  • onSwipeStart - triggered on swipe start (if the delta is passed)
  • onSwiping - triggered during swipe
  • onSwiped - triggered after swipe
  • onTap - triggered when the swipe value is less than the minimum distance (delta)

Methods

  • init(): void
  • update(options: ConstructorProps): void
  • destroy(): void
  • static isTouchEventsSupported(): boolean

Install

npm install vanilla-swipe

Examples

import VanillaSwipe from 'vanilla-swipe';

const isTouchEventsSupported = VanillaSwipe.isTouchEventsSupported();

const VS = new VanillaSwipe({
  element: document.getElementById('some-id'),
  onSwiping: handler,
  onSwiped: handler,
  mouseTrackingEnabled: true,
});

VS.init();

function handler() {
  console.log(...arguments); // -> Event, EventData
}

Run project

npm i
npm start

Tests

npm test

Coverage

npm run test:coverage

Keywords

FAQs

Last updated on 27 Sep 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc