UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

35 lines 1.57 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useReducedMotionPreference = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _reactNative = require("react-native"); var _AccessibilityContext = require("../../contexts/accessibilityContext/AccessibilityContext"); var useReducedMotionPreference = () => { var _useAccessibilityCont = (0, _AccessibilityContext.useAccessibilityContext)(), enabled = _useAccessibilityCont.enabled; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), reduceMotion = _useState2[0], setReduceMotion = _useState2[1]; (0, _react.useEffect)(() => { if (!enabled) { setReduceMotion(false); return; } var cancelled = false; _reactNative.AccessibilityInfo.isReduceMotionEnabled == null || _reactNative.AccessibilityInfo.isReduceMotionEnabled().then(value => { if (!cancelled) setReduceMotion(value); }).catch(() => {}); var subscription = _reactNative.AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotion); return () => { cancelled = true; subscription == null || subscription.remove == null || subscription.remove(); }; }, [enabled]); return enabled && reduceMotion; }; exports.useReducedMotionPreference = useReducedMotionPreference; //# sourceMappingURL=useReducedMotionPreference.js.map