backgroundAvatar.tsx 838 B

123456789101112131415161718192021222324252627
  1. import {forwardRef} from 'react';
  2. import styled from '@emotion/styled';
  3. import {imageStyle} from 'sentry/components/avatar/styles';
  4. import theme from 'sentry/utils/theme';
  5. interface Props extends React.ComponentProps<'svg'> {
  6. forwardedRef?: React.Ref<SVGSVGElement>;
  7. round?: boolean;
  8. suggested?: boolean;
  9. }
  10. /**
  11. * Creates an avatar placeholder that is used when showing multiple
  12. * suggested assignees
  13. */
  14. const BackgroundAvatar = styled(({round: _round, forwardedRef, ...props}: Props) => (
  15. <svg ref={forwardedRef} viewBox="0 0 120 120" {...props}>
  16. <rect x="0" y="0" width="120" height="120" rx="15" ry="15" fill={theme.purple100} />
  17. </svg>
  18. ))<Props>`
  19. ${imageStyle};
  20. `;
  21. export default forwardRef<SVGSVGElement, Props>((props, ref) => (
  22. <BackgroundAvatar suggested round={false} forwardedRef={ref} {...props} />
  23. ));