mirror of
https://github.com/SomboChea/ui
synced 2024-11-17 11:44:27 +07:00
111f0c50e5
* chore: updated emotion dependency * feat: introduced theme * refactor: updated emotion styles * fix: fixed emotion error * fix: fixed tests * chore: add missing types Co-Authored-By: Thomas Klein <tmkn@users.noreply.github.com>
43 lines
931 B
TypeScript
43 lines
931 B
TypeScript
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')<CommonStyleProps>(props => ({
|
|
boxSizing: 'initial',
|
|
...commonStyle(props),
|
|
}));
|
|
|
|
export const ImgWrapper = styled('span')<CommonStyleProps>(props => ({
|
|
boxSizing: 'initial',
|
|
...commonStyle(props),
|
|
}));
|
|
|
|
export const Img = styled('img')({
|
|
width: '100%',
|
|
height: 'auto',
|
|
});
|