UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

24 lines (21 loc) 2.1 kB
import 'react'; import { radioIconColors, radioSizes } from '../radioTokens.js'; import { RadioIconWrapper } from './RadioIconWrapper.native.js'; import { Fade } from './Fade.native.js'; import getIn from '../../../utils/lodashButBetter/get.js'; import 'styled-components/native'; import '@gorhom/portal'; import 'react-native-gesture-handler'; import useTheme from '../../BladeProvider/useTheme.js'; import 'react-native'; import '@babel/runtime/helpers/slicedToArray'; import { makeSpace } from '../../../utils/makeSpace/makeSpace.js'; import '../../BottomSheet/BottomSheetStack.js'; import { jsx } from 'react/jsx-runtime'; import 'react-native-svg'; import { metaAttribute } from '../../../utils/metaAttribute/metaAttribute.native.js'; import Circle from '../../Icons/_Svg/Circle/Circle.native.js'; import Svg from '../../Icons/_Svg/Svg/Svg.native.js'; var CheckedIcon=function CheckedIcon(_ref){var color=_ref.color,size=_ref.size;var width=radioSizes.icon[size].width;var height=radioSizes.icon[size].height;var radius=radioSizes.icon[size].dotRadius;var viewBox=`0 0 ${width} ${height}`;var cx=`${width/2}`;var cy=`${height/2}`;return jsx(Svg,{width:makeSpace(width),height:makeSpace(height),viewBox:viewBox,fill:"none",children:jsx(Circle,{cx:cx,cy:cy,r:`${radius}`,fill:color})});};var RadioIcon=function RadioIcon(_ref2){var isChecked=_ref2.isChecked,isDisabled=_ref2.isDisabled,isNegative=_ref2.isNegative,size=_ref2.size;var _useTheme=useTheme(),theme=_useTheme.theme;var checked=Boolean(isChecked);var state=checked?'checked':'unchecked';var variant='default';if(isDisabled)variant='disabled';if(isNegative)variant='negative';var dotColorToken=radioIconColors.variants[variant].dot[state];var dotColor=getIn(theme,dotColorToken);return jsx(RadioIconWrapper,Object.assign({size:size,isDisabled:isDisabled,isNegative:isNegative,isChecked:checked},metaAttribute({name:'radio-icon-wrapper'}),{children:jsx(Fade,{show:checked,styles:{position:'absolute',display:'flex'},children:jsx(CheckedIcon,{size:size,color:dotColor})})}));}; export { RadioIcon }; //# sourceMappingURL=RadioIcon.js.map