48 lines
915 B
JavaScript
48 lines
915 B
JavaScript
const FONT_SIZES = {
|
|
xxsmall: '11px',
|
|
xsmall: '12px',
|
|
small: '14px',
|
|
normal: '15px',
|
|
large: '16px',
|
|
xlarge: '20px',
|
|
xxlarge: '22px',
|
|
great: '37px',
|
|
}
|
|
|
|
const FONT_WEIGHTS = {
|
|
normal: '400',
|
|
bold: '600',
|
|
bolder: '800',
|
|
}
|
|
|
|
const fontSizeCss = size => {
|
|
const fontSize = FONT_SIZES[size]
|
|
return fontSize !== undefined
|
|
? `
|
|
line-height: 1.5;
|
|
font-size: ${fontSize}
|
|
`
|
|
: ''
|
|
}
|
|
|
|
const weightCss = weight => {
|
|
const fontWeight = FONT_WEIGHTS[weight]
|
|
return fontWeight !== undefined ? `font-weight: ${fontWeight}` : ''
|
|
}
|
|
|
|
const smallcapsCss = smallcaps =>
|
|
smallcaps
|
|
? `
|
|
text-transform: lowercase;
|
|
font-variant: small-caps;
|
|
`
|
|
: ''
|
|
|
|
export const font = ({ size, weight, smallcaps = false, inherit = false }) => {
|
|
return `
|
|
${fontSizeCss(size, inherit)};
|
|
${weightCss(weight, inherit)};
|
|
${smallcapsCss(smallcaps, inherit)};
|
|
`
|
|
}
|