The Haptics API provides physical feedback to the user through touch or vibration.
On devices that don't have Taptic Engine or Vibrator, the API calls will resolve without performing any action.
npm install @jigra/haptics
npx jig sync
import { Haptics, ImpactStyle } from '@jigra/haptics';
const hapticsImpactMedium = async () => {
await Haptics.impact({ style: ImpactStyle.Medium });
};
const hapticsImpactLight = async () => {
await Haptics.impact({ style: ImpactStyle.Light });
};
const hapticsVibrate = async () => {
await Haptics.vibrate();
};
const hapticsSelectionStart = async () => {
await Haptics.selectionStart();
};
const hapticsSelectionChanged = async () => {
await Haptics.selectionChanged();
};
const hapticsSelectionEnd = async () => {
await Haptics.selectionEnd();
};
impact(...)
notification(...)
vibrate(...)
selectionStart()
selectionChanged()
selectionEnd()
- Interfaces
- Enums
impact(options?: ImpactOptions | undefined) => Promise<void>
Trigger a haptics "impact" feedback
Param | Type |
---|---|
options |
ImpactOptions |
Since: 1.0.0
notification(options?: NotificationOptions | undefined) => Promise<void>
Trigger a haptics "notification" feedback
Param | Type |
---|---|
options |
NotificationOptions |
Since: 1.0.0
vibrate(options?: VibrateOptions | undefined) => Promise<void>
Vibrate the device
Param | Type |
---|---|
options |
VibrateOptions |
Since: 1.0.0
selectionStart() => Promise<void>
Trigger a selection started haptic hint
Since: 1.0.0
selectionChanged() => Promise<void>
Trigger a selection changed haptic hint. If a selection was started already, this will cause the device to provide haptic feedback
Since: 1.0.0
selectionEnd() => Promise<void>
If selectionStart() was called, selectionEnd() ends the selection. For example, call this when a user has lifted their finger from a control
Since: 1.0.0
Prop | Type | Description | Default | Since |
---|---|---|---|---|
style |
ImpactStyle |
Impact Feedback Style The mass of the objects in the collision simulated by a UIImpactFeedbackGenerator object. | ImpactStyle.Heavy |
1.0.0 |
Prop | Type | Description | Default | Since |
---|---|---|---|---|
type |
NotificationType |
Notification Feedback Type The type of notification feedback generated by a UINotificationFeedbackGenerator object. | NotificationType.SUCCESS |
1.0.0 |
Prop | Type | Description | Default | Since |
---|---|---|---|---|
duration |
number |
Duration of the vibration in milliseconds. | 300 |
1.0.0 |
Members | Value | Description | Since |
---|---|---|---|
Heavy |
"HEAVY" |
A collision between large, heavy user interface elements | 1.0.0 |
Medium |
"MEDIUM" |
A collision between moderately sized user interface elements | 1.0.0 |
Light |
"LIGHT" |
A collision between small, light user interface elements | 1.0.0 |
Members | Value | Description | Since |
---|---|---|---|
Success |
"SUCCESS" |
A notification feedback type indicating that a task has completed successfully | 1.0.0 |
Warning |
"WARNING" |
A notification feedback type indicating that a task has produced a warning | 1.0.0 |
Error |
"ERROR" |
A notification feedback type indicating that a task has failed | 1.0.0 |