UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

53 lines (50 loc) 2.85 kB
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