Skip to content

Haptics for React Native with support for custom patterns and ahap files.

License

Notifications You must be signed in to change notification settings

candlefinance/haptics

Repository files navigation



Haptics for React Native


Supports playing haptics on iOS with default UIImpactFeedbackGenerator and CoreHaptics for patterns and ahap files. Vibrates on Android.

Installation

yarn add @candlefinance/haptics
npm i @candlefinance/haptics

Basic Usage

There are three functions:

import { haptic, hapticWithPattern } from '@candlefinance/haptics';

// light, medium, heavy, soft, rigid, warning, error, success, selectionChanged
haptic('medium');

// pattern (iOS only)
hapticWithPattern(['.', '.', '.', 'o', 'O', '-', 'O', 'o', '.', '.', '.', '.']);

// play ahap file (iOS only)
play('fileName');

The pattern format:

- 'o' - medium impact
- 'O' - heavy impact
- '.' - light impact
- ':' - soft impact
- '-' - wait of 0.1 second
- '=' - wait of 1 second

For playing ahap files to the root of your project add a folder called haptics and add your ahap files there. Use (Haptrix)[https://www.haptrix.com/] or equivalent to generate ahap files.

Contributing

Join our Discord and ask questions in the #oss channel.

License

MIT