@razorpay/blade
Version:
The Design System that powers Razorpay
36 lines (33 loc) • 1.11 kB
JavaScript
import getIn from '../../../utils/lodashButBetter/get.js';
import '../../BladeProvider/index.js';
import '../../../tokens/global/index.js';
import '../../../utils/makeSize/index.js';
import { size } from '../../../tokens/global/size.js';
import useTheme from '../../BladeProvider/useTheme.js';
import { makeSize } from '../../../utils/makeSize/makeSize.js';
var iconSize = {
xsmall: size[8],
small: size[12],
medium: size[16],
large: size[20],
xlarge: size[24],
'2xlarge': size[32]
};
function useIconProps(_ref) {
var _ref$size = _ref.size,
size = _ref$size === void 0 ? 'medium' : _ref$size,
_ref$color = _ref.color,
color = _ref$color === void 0 ? 'surface.icon.gray.normal' : _ref$color;
var _useTheme = useTheme(),
theme = _useTheme.theme;
var height = makeSize(iconSize[size]);
var width = makeSize(iconSize[size]);
var iconColor = color === 'currentColor' ? 'currentColor' : getIn(theme.colors, color, '');
return {
height: height,
width: width,
iconColor: iconColor
};
}
export { useIconProps as default };
//# sourceMappingURL=useIconProps.js.map