UNPKG

stream-chat-react-native-core

Version:

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

56 lines 1.9 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.useAnimatedGalleryStyle = void 0; var _reactNativeReanimated = require("react-native-reanimated"); var _useViewport2 = require("../../../hooks/useViewport"); var oneEighth = 1 / 8; var useAnimatedGalleryStyle = ({ currentIndexShared, index, offsetScale, scale, screenHeight, translateX, translateY }) => { var _useViewport = (0, _useViewport2.useViewport)(), vw = _useViewport.vw; var screenWidth = vw(100); var halfScreenWidth = vw(50); var animatedGalleryStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => { var selected = currentIndexShared.value === index; var previous = currentIndexShared.value > index; var xScaleOffset = -7 * screenWidth * (0.5 + index); var yScaleOffset = -screenHeight * 3.5; return { transform: [{ translateX: selected ? translateX.value + xScaleOffset : scale.value < 1 || scale.value !== offsetScale.value ? xScaleOffset : previous ? translateX.value - halfScreenWidth * (scale.value - 1) + xScaleOffset : translateX.value + halfScreenWidth * (scale.value - 1) + xScaleOffset }, { translateY: selected ? translateY.value + yScaleOffset : yScaleOffset }, { scale: selected ? scale.value / 8 : oneEighth }, { scaleX: 1 }] }; }, []); var animatedStyles = (0, _reactNativeReanimated.useAnimatedStyle)(() => { var xScaleOffset = 7 * screenWidth * (0.5 + index); var yScaleOffset = -screenHeight * 3.5; return { transform: [{ scaleX: 1 }, { translateY: yScaleOffset }, { translateX: -xScaleOffset }, { scale: oneEighth }] }; }, [index]); return [animatedGalleryStyle, animatedStyles]; }; exports.useAnimatedGalleryStyle = useAnimatedGalleryStyle; //# sourceMappingURL=useAnimatedGalleryStyle.js.map