import styled from '@emotion/styled'; import { Breakpoint } from '@material-ui/core/styles/createBreakpoints'; const getSize = (size: Breakpoint): { width: number; height: number } => { switch (size) { case 'md': return { width: 18, height: 18, }; default: return { width: 14, height: 16, }; } }; interface CommonStyleProps { size: Breakpoint; pointer?: boolean; } const commonStyle = ({ size = 'sm', pointer }: CommonStyleProps): object => ({ display: 'inline-block', cursor: pointer ? 'pointer' : 'default', ...getSize(size), }); export const Svg = styled('svg')(props => ({ boxSizing: 'initial', ...commonStyle(props), })); export const ImgWrapper = styled('span')(props => ({ boxSizing: 'initial', ...commonStyle(props), })); export const Img = styled('img')({ width: '100%', height: 'auto', });