diff --git a/packages/web-haptics/src/index.ts b/packages/web-haptics/src/index.ts index a285b6e..1267716 100644 --- a/packages/web-haptics/src/index.ts +++ b/packages/web-haptics/src/index.ts @@ -2,6 +2,7 @@ export { version } from "./../package.json"; export { WebHaptics } from "./lib/web-haptics"; export { defaultPatterns } from "./lib/web-haptics/patterns"; +export type { DefaultPatternName } from "./lib/web-haptics/patterns"; export type { Vibration, HapticPattern, diff --git a/packages/web-haptics/src/lib/web-haptics/patterns.ts b/packages/web-haptics/src/lib/web-haptics/patterns.ts index fa1861d..abdd262 100644 --- a/packages/web-haptics/src/lib/web-haptics/patterns.ts +++ b/packages/web-haptics/src/lib/web-haptics/patterns.ts @@ -67,3 +67,5 @@ export const defaultPatterns = { pattern: [{ duration: 1000, intensity: 1 }], }, } as const satisfies Record; + +export type DefaultPatternName = keyof typeof defaultPatterns; diff --git a/packages/web-haptics/src/lib/web-haptics/types.ts b/packages/web-haptics/src/lib/web-haptics/types.ts index b236a3d..fef5576 100644 --- a/packages/web-haptics/src/lib/web-haptics/types.ts +++ b/packages/web-haptics/src/lib/web-haptics/types.ts @@ -1,3 +1,5 @@ +import type { DefaultPatternName } from "./patterns"; + export interface Vibration { duration: number; intensity?: number; @@ -10,7 +12,11 @@ export interface HapticPreset { pattern: Vibration[]; } -export type HapticInput = number | string | HapticPattern | HapticPreset; +export type HapticInput = + | number + | DefaultPatternName + | HapticPattern + | HapticPreset; export interface TriggerOptions { intensity?: number;