@razorpay/blade
Version:
The Design System that powers Razorpay
53 lines (50 loc) • 2.85 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import styled from 'styled-components';
import { avatarSizeTokens, avatarBorderRadiusTokens, avatarColorTokens } from './avatarTokens.js';
import '../../utils/index.js';
import getIn from '../../utils/lodashButBetter/get.js';
import '../../utils/getFocusRingStyles/index.js';
import { makeSize } from '../../utils/makeSize/makeSize.js';
import { makeBorderSize } from '../../utils/makeBorderSize/makeBorderSize.js';
import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingStyles.web.js';
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var StyledAvatarButton = /*#__PURE__*/styled.button.withConfig({
displayName: "StyledAvatarButton",
componentId: "sc-1w6qflj-0"
})(function (_ref) {
var theme = _ref.theme,
_ref$size = _ref.size,
size = _ref$size === void 0 ? 'medium' : _ref$size,
_ref$variant = _ref.variant,
variant = _ref$variant === void 0 ? 'circle' : _ref$variant,
_ref$color = _ref.color,
color = _ref$color === void 0 ? 'neutral' : _ref$color,
isSelected = _ref.isSelected,
isInteractive = _ref.isInteractive;
return _objectSpread({
display: 'block',
textAlign: 'center',
textDecoration: 'none',
cursor: isInteractive ? 'pointer' : 'default',
minHeight: makeSize(avatarSizeTokens[size]),
height: makeSize(avatarSizeTokens[size]),
width: makeSize(avatarSizeTokens[size]),
border: isSelected ? "".concat(makeBorderSize(theme.border.width.thicker), " solid ").concat(theme.colors.surface.border.primary.normal) : 'none',
borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),
backgroundColor: getIn(theme.colors, avatarColorTokens.background[color]),
img: {
display: 'block',
height: avatarSizeTokens[size],
width: avatarSizeTokens[size],
borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),
objectFit: 'cover'
}
}, isInteractive ? {
'&:focus-visible': _objectSpread({}, getFocusRingStyles({
theme: theme
}))
} : {});
});
export { StyledAvatarButton };
//# sourceMappingURL=StyledAvatarButton.js.map