Skip to main content

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

Resultado
Loading...

Breakpoints

Use a propriedade colSpans para alterar o tamanho da coluna. Esta propriedade espera um objeto com os seguintes breakpoints:

BreakpointsValorColunas
xs<600px4
sm≥600px12
md≥900px12
lg≥1200px12

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.

Resultado
Loading...

Você também pode passar a propriedade autoFit para que as colunas fiquem distribuídas igualmente no grid.

Resultado
Loading...

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:

Resultado
Loading...

Grid dentro de Grid

Você também consegue usar uma Grid dentro de outra.

Resultado
Loading...

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'.

Resultado
Loading...

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.

Resultado
Loading...

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

TokenDescrição
space.gridGutterTamanho do espaço entre grids
sizes.gridGutterTamanho do espaço entre grids

Props

Grid

PropriedadeDescriçãoTipoPadrãoObrigatório
childrenConteúdo do componenteReactNode_
gapTamanho do gap entre as colunasstring$gridGutter
autoFitSe for true, as colunas se distribuirão igualmente na tela.booleanfalse

Grid.Item

PropriedadeDescriçãoTipoPadrãoObrigatório
childrenConteúdo do componenteReact.ReactNode-
colSpansTamanho 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 }
colStartsColuna 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 }
colEndsColuna 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 }
justifyAlinhamento horizontal do conteúdostart, center, end, between-
alignAlinhamento vertical do conteúdostart, center, end, stretch, baseline-