typography
Confira as propriedades de estilos destinadas a tipografia dos componentes.
como utilizar
Nós temos diversas propriedades disponíveis em relação a tipografia:
import {
color,
fontFamily,
fontSize,
fontWeight,
letterSpacing,
lineHeight,
textAlign,
textTransform,
} from '@olist/styled-system';
Você pode importar somente a desejada ou pode utilizar a função typography
que
encapsula todas em uma só.
// isso é o equivalente que importar todas as funções acima
import { typography } from '@olist/styled-system';
Para utilizar basta aplicar a função em seu "styled-component"
:
import styled from 'styled-components';
import { typography } from '@olist/styled-system';
const MyComponent = styled.div`
${typography}
`;
// ...
<MyComponent color="primary.base" />
<MyComponent fontFamily="brand" />
<MyComponent fontSize="1xlarge" />
<MyComponent fontWeight="1xbold" />
<MyComponent letterSpacing="tight" />
<MyComponent lineHeight="1xsmall" />
<MyComponent textAlign="center" />
<MyComponent textTransform="lowercase" />
Você também pode utilizar qualquer valor válido para as propriedades, não há restrição para utilizar somente os valores do tema:
import styled from 'styled-components';
import { fontSize } from '@olist/styled-system';
const MyComponent = styled.div`
${fontSize}
`;
// ...
<MyComponent fontSize="16px" />;
<MyComponent fontWeight={700} />;
Essa lógica é aplicada para qualquer função exportada pelo @olist/styled-system
.
utilização com typescript
Para utilizar as funções de tipografia com typescript é necessário importar o tipo
correspondente a função utilizada do pacote @olist/styled-system
:
Supondo que você está utilizando a função fontFamily
você deve importar o tipo
FontFamilyProps
:
import styled from 'styled-components';
import { fontFamily, type FontFamilyProps } from '@olist/styled-system';
const MyComponent = styled.div<FontFamilyProps>`
${fontFamily}
`;
// ...
<MyComponent fontFamily="brand" />;
utilizando todas as propriedades de uma só vez
Você pode utilizar a função typography
para aplicar todas as propriedades
de uma só vez, basta importar a função typography
e o seu tipo TypographyProps
:
import styled from 'styled-components';
import { typography, type TypographyProps } from '@olist/styled-system';
const MyComponent = styled.div<TypographyProps>`
${typography}
`;
// ...
<MyComponent
color="primary.base"
fontFamily="brand"
fontSize="1xlarge"
fontWeight="1xbold"
letterSpacing="tight"
lineHeight="1xsmall"
textAlign="center"
textTransform="center"
/>;
utilizando a função typography
você terá disponível as seguintes propriedades
para utilizar em seu componente:
propriedade | aliases | type |
---|---|---|
color | c | ColorProps |
fontFamily | - | FontFamilyProps |
fontSize | - | FontSizeProps |
fontWeight | - | FontWeightProps |
letterSpacing | - | LetterSpacingProps |
lineHeight | - | LineHeightProps |
textAlign | - | TextAlignProps |
textTransform | - | TextTransformProps |
typography | - | TypographyProps |