@razorpay/blade
Version:
The Design System that powers Razorpay
27 lines (24 loc) • 2.06 kB
JavaScript
import Animated, { useDerivedValue, withTiming, useAnimatedStyle } from 'react-native-reanimated';
import { useCollapsible } from './CollapsibleContext.js';
import { getTransitionDuration, getTransitionEasing, getCollapsibleChevronIconTransforms } from './commonStyles.js';
import 'react-native';
import '@babel/runtime/helpers/slicedToArray';
import 'react';
import { castNativeType } from '../../utils/platform/castUtils.js';
import useTheme from '../BladeProvider/useTheme.js';
import '@babel/runtime/helpers/objectWithoutProperties';
import 'react-native-svg';
import '@babel/runtime/helpers/defineProperty';
import { jsx } from 'react/jsx-runtime';
import '../Icons/_Svg/Svg/Svg.native.js';
import 'styled-components/native';
import '@gorhom/portal';
import 'react-native-gesture-handler';
import '../BottomSheet/BottomSheetStack.js';
import '../../tokens/global/typography.js';
import '../../tokens/global/motion.js';
import ChevronDownIcon from '../Icons/ChevronDownIcon/ChevronDownIcon.js';
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.native.js';
var CollapsibleChevronIcon=function CollapsibleChevronIcon(props){var _useCollapsible=useCollapsible(),isExpanded=_useCollapsible.isExpanded;var _useTheme=useTheme(),theme=_useTheme.theme;var _getCollapsibleChevro=getCollapsibleChevronIconTransforms(),transformExpanded=_getCollapsibleChevro.transformExpanded,transformCollapsed=_getCollapsibleChevro.transformCollapsed;var duration=castNativeType(getTransitionDuration(theme));var easing=castNativeType(getTransitionEasing(theme));var rotateZ=useDerivedValue(function(){return withTiming(isExpanded?transformExpanded:transformCollapsed,{duration:duration,easing:easing});});var animatedStyles=useAnimatedStyle(function(){return {transform:[{rotateZ:`${rotateZ.value}deg`}]};});return jsx(Animated.View,Object.assign({style:animatedStyles},makeAccessible({hidden:true}),{children:jsx(ChevronDownIcon,Object.assign({},props))}));};
export { CollapsibleChevronIcon };
//# sourceMappingURL=CollapsibleChevronIcon.native.js.map