@razorpay/blade
Version:
The Design System that powers Razorpay
24 lines (21 loc) • 2.1 kB
JavaScript
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