Grid
O componente Grid
é usado para criar grades no layout, como dividir o layout da tela em 2 colunas. O Grid
espera como children Grid.Item
, o qual também rederiza um elemento div
.
Importação
import { Grid } from '@escaletech/delta'
Utilização
Breakpoints
Use a propriedade colSpans
para alterar o tamanho da coluna. Esta propriedade espera um objeto com os seguintes breakpoints:
Breakpoints | Valor | Colunas |
---|---|---|
xs | <600px | 4 |
sm | ≥600px | 12 |
md | ≥900px | 12 |
lg | ≥1200px | 12 |
Se você não definir valores de colSpans
(e também não definir valores de colStarts
e colEnds
), a coluna ocupará o tamanho todo limitado a ela.
Você também pode passar a propriedade autoFit
para que as colunas fiquem distribuídas igualmente no grid.
Offset
Você pode pular as colunas utilizando as propriedades colStarts
e colEnds
. Na propriedade colStarts é definido a coluna que deve começar e a propriedade colEnds é definido a coluna que deve terminar, seguindo os mesmos atributos do colSpans:
Grid dentro de Grid
Você também consegue usar uma Grid
dentro de outra.
Espaço entre as grids
Para alterar o tamanho do gap entre as colunas, basta atribuir um valor a propriedade gap
do Grid
. Esta prop aceita qualquer unidade de medida de CSS e variáveis de 'space
'.
Alinhamento de conteúdo
É possível alinhar o conteúdo do Grid.Item
tanto na vertical como na horizontal, atribuindo valor às props align
e justify
, respectivamente.
Customização
Aqui está um exemplo de customização do componente. Você pode aprender mais sobre isso na página de documentação de tema.
import { extendsTheme } from '@escaletech/delta'
export const theme = extendsTheme({
space: {
gridGutter: '24px'
},
sizes: {
gridGutter: '24px'
}
})
Tokens
Token | Descrição |
---|---|
space.gridGutter | Tamanho do espaço entre grids |
sizes.gridGutter | Tamanho do espaço entre grids |
Props
Grid
Propriedade | Descrição | Tipo | Padrão | Obrigatório |
---|---|---|---|---|
children | Conteúdo do componente | ReactNode | _ | ✅ |
gap | Tamanho do gap entre as colunas | string | $gridGutter | ❌ |
autoFit | Se for true , as colunas se distribuirão igualmente na tela. | boolean | false | ❌ |
Grid.Item
Propriedade | Descrição | Tipo | Padrão | Obrigatório |
---|---|---|---|---|
children | Conteúdo do componente | React.ReactNode | - | ✅ |
colSpans | Tamanho das colunas. No xs são 4 colunas e nos demais breakpoints são 12 colunas. | { xs: number, sm: number, md: number, lg: number } | { xs: 4, sm: 12, md: 12, lg: 12 } | ❌ |
colStarts | Coluna que irá começar o conteúdo. No xs são 4 colunas e nos demais breakpoints são 12 colunas. | { sm: number, sm: number, md: number, lg: number } | { xs: 1, sm: 1, md: 1, lg: 1 } | ❌ |
colEnds | Coluna que vai terminar o conteúdo. No xs são 4 colunas e nos demais breakpoints são 12 colunas. | { sm: number, sm: number, md: number, lg: number } | { xs 5, sm: 13, md: 13, lg: 13 } | ❌ |
justify | Alinhamento horizontal do conteúdo | start, center, end, between | - | ❌ |
align | Alinhamento vertical do conteúdo | start, center, end, stretch, baseline | - | ❌ |