UNPKG

3.62 kBSource Map (JSON)View Raw
1{"version":3,"file":"Haptic.js","sourceRoot":"","sources":["../src/Haptic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAClC;;OAEG;IACH,+CAAmB,CAAA;IACnB;;OAEG;IACH,+CAAmB,CAAA;IACnB;;OAEG;IACH,2CAAe,CAAA;AACjB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B;;OAEG;IACH,sCAAe,CAAA;IACf;;OAEG;IACH,wCAAiB,CAAA;IACjB;;OAEG;IACH,sCAAe,CAAA;AACjB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAiC,wBAAwB,CAAC,OAAO;IAC5F,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QACzB,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACjD;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACvD,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;KACjD;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,QAA6B,mBAAmB,CAAC,MAAM;IAC5E,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QACzB,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5C;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACvD,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;KACjD;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QACzB,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;KAC1C;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACvD,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;KACjD;AACH,CAAC","sourcesContent":["import { NativeModules, Platform, Vibration } from 'react-native';\n\nconst VIBRATION_DURATION_MS = 100;\n\n/**\n * Notification Feedback Type\n * The type of notification feedback generated by a UINotificationFeedbackGenerator object.\n * https://developer.apple.com/documentation/uikit/uinotificationfeedbacktype\n */\nexport enum NotificationFeedbackType {\n /**\n * A notification feedback type indicating that a task has completed successfully\n */\n Success = 'success',\n /**\n * A notification feedback type indicating that a task has produced a warning\n */\n Warning = 'warning',\n /**\n * A notification feedback type indicating that a task has failed\n */\n Error = 'error',\n}\n\n/**\n * Impact Feedback Style\n * The mass of the objects in the collision simulated by a UIImpactFeedbackGenerator object.\n * https://developer.apple.com/documentation/uikit/uiimpactfeedbackstyle\n */\nexport enum ImpactFeedbackStyle {\n /**\n * A collision between small, light user interface elements\n */\n Light = 'light',\n /**\n * A collision between moderately sized user interface elements\n */\n Medium = 'medium',\n /**\n * A collision between large, heavy user interface elements\n */\n Heavy = 'heavy',\n}\n\n/**\n * Triggers notification feedback.\n */\nexport function notification(type: NotificationFeedbackType = NotificationFeedbackType.Success) {\n if (Platform.OS === 'ios') {\n NativeModules.ExponentHaptic.notification(type);\n } else {\n console.warn('`Expo.Haptic` is only available on iOS');\n Vibration.vibrate(VIBRATION_DURATION_MS, false);\n }\n}\n\n/**\n * Triggers impact feedback.\n */\nexport function impact(style: ImpactFeedbackStyle = ImpactFeedbackStyle.Medium) {\n if (Platform.OS === 'ios') {\n NativeModules.ExponentHaptic.impact(style);\n } else {\n console.warn('`Expo.Haptic` is only available on iOS');\n Vibration.vibrate(VIBRATION_DURATION_MS, false);\n }\n}\n\n/**\n * Triggers selection feedback.\n */\nexport function selection() {\n if (Platform.OS === 'ios') {\n NativeModules.ExponentHaptic.selection();\n } else {\n console.warn('`Expo.Haptic` is only available on iOS');\n Vibration.vibrate(VIBRATION_DURATION_MS, false);\n }\n}\n"]}
\No newline at end of file