UNPKG

react-native-sortables

Version:

Powerful Sortable Components for Flexible Content Reordering in React Native

35 lines (32 loc) 1.1 kB
"use strict"; import { useCallback, useMemo } from 'react'; import { useDerivedValue } from 'react-native-reanimated'; import { IS_WEB } from '../constants'; import { ReactNativeHapticFeedback } from '../lib'; import { WARNINGS } from '../lib/react-native-haptic-feedback'; import { ensureExists } from '../utils'; let hapticFeedback = null; export default function useHaptics(enabled) { const isEnabled = !IS_WEB && enabled; const enabledValue = useDerivedValue(() => isEnabled); if (isEnabled && !hapticFeedback) { hapticFeedback = ReactNativeHapticFeedback.load(); } const light = useCallback(() => { 'worklet'; if (enabledValue.value && ensureExists(hapticFeedback, WARNINGS.notAvailable)) { hapticFeedback('impactLight'); } }, [enabledValue]); const medium = useCallback(() => { 'worklet'; if (enabledValue.value && ensureExists(hapticFeedback, WARNINGS.notAvailable)) { hapticFeedback('impactMedium'); } }, [enabledValue]); return useMemo(() => ({ light, medium }), [light, medium]); } //# sourceMappingURL=useHaptics.js.map