UNPKG

respond-framework

Version:
36 lines (35 loc) 977 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _reactNative = require("react-native"); var _utils = require("../../../utils.js"); const useFlip = (show, duration = 225) => { const anim = (0, _react.useRef)(new _reactNative.Animated.Value(show ? 1 : 0)).current; const [state, set] = (0, _react.useState)(show); (0, _react.useEffect)(() => { if (state === show) return; set(show); _reactNative.Animated.timing(anim, { toValue: show ? 1 : 0, duration, easing: _reactNative.Easing.sin, useNativeDriver: _utils.useNativeDriver }).start(); }, [show]); const rotateX = anim.interpolate({ inputRange: [0, 1], outputRange: ['270deg', '360deg'] }); const opacity = anim.interpolate({ inputRange: [0, .1, 1], outputRange: [0, 1, 1] }); return { rotateX, opacity }; }; var _default = exports.default = useFlip;