/haptics

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

Primary LanguageSwiftMIT LicenseMIT


npm downloads discord users online

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
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