UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

27 lines (24 loc) 2.06 kB
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