UNPKG

@datametria/vue-components

Version:

DATAMETRIA Vue.js 3 Component Library with Multi-Brand Theming - 51 components + 10 composables with theming support, WCAG 2.2 AA, dark mode, responsive system

35 lines (34 loc) 1.56 kB
type HapticType = 'light' | 'medium' | 'heavy' | 'selection' | 'impact' | 'notification'; type NotificationType = 'success' | 'warning' | 'error'; interface HapticOptions { enabled?: boolean; fallbackToVisual?: boolean; visualDuration?: number; } /** * Composable para feedback háptico e visual * Suporta dispositivos iOS/Android com fallback visual */ export declare function useHapticFeedback(options?: HapticOptions): { isSupported: import('vue').Ref<boolean, boolean>; isEnabled: import('vue').Ref<boolean, boolean>; canVibrate: import('vue').ComputedRef<boolean>; hasVisualFeedback: import('vue').ComputedRef<boolean>; activeVisualFeedback: import('vue').Ref<string | null, string | null>; triggerHaptic: (type?: HapticType | NotificationType) => any; triggerVisualFeedback: (element: HTMLElement | null, type: HapticType | NotificationType) => void; feedback: (element: HTMLElement | null, type: HapticType | NotificationType) => any; checkSupport: () => boolean; light: (element?: HTMLElement) => void; medium: (element?: HTMLElement) => void; heavy: (element?: HTMLElement) => void; selection: (element?: HTMLElement) => void; impact: (intensity?: "light" | "medium" | "heavy", element?: HTMLElement) => void; notification: (type: NotificationType, element?: HTMLElement) => void; custom: (pattern: number | number[], element?: HTMLElement) => void; enable: () => void; disable: () => void; toggle: () => void; detectHapticSupport: () => boolean; }; export {};