@razorpay/blade
Version:
The Design System that powers Razorpay
43 lines (40 loc) • 1.71 kB
JavaScript
import { checkboxIconColors, checkboxSizes } from '../checkboxTokens.js';
import getIn from '../../../utils/lodashButBetter/get.js';
import '../../../utils/makeSpace/index.js';
import '../../../utils/makeSize/index.js';
import '../../../utils/makeBorderSize/index.js';
import { makeSpace } from '../../../utils/makeSpace/makeSpace.js';
import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.js';
import { makeSize } from '../../../utils/makeSize/makeSize.js';
var getCheckboxIconWrapperStyles = function getCheckboxIconWrapperStyles(_ref) {
var theme = _ref.theme,
isChecked = _ref.isChecked,
isDisabled = _ref.isDisabled,
isNegative = _ref.isNegative,
size = _ref.size;
var variant = 'default';
if (isDisabled) variant = 'disabled';
if (isNegative) variant = 'negative';
var checked = isChecked ? 'checked' : 'unchecked';
var background = checkboxIconColors.variants[variant].background[checked];
var border = checkboxIconColors.variants[variant].border[checked];
var backgroundColor = getIn(theme, background);
var borderColor = getIn(theme, border);
return {
position: 'relative',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
flexShrink: 0,
width: makeSpace(checkboxSizes.icon[size].width),
height: makeSpace(checkboxSizes.icon[size].height),
borderWidth: makeBorderSize(theme.border.width.thick),
borderStyle: 'solid',
margin: makeSpace(theme.spacing[1]),
borderRadius: makeSize(theme.border.radius.small),
backgroundColor: backgroundColor,
borderColor: borderColor
};
};
export { getCheckboxIconWrapperStyles };
//# sourceMappingURL=CheckboxIconWrapperStyles.js.map