Skip to main content

Grid Props

Grid props enable CSS Grid layouts with theme-aware values. These props help create responsive grid layouts easily.

Available Props

PropCSS PropertyTheme Key
gridGapgrid-gapspace
gridRowGapgrid-row-gapspace
gridColumnGapgrid-column-gapspace
gridColumngrid-columnnone
gridRowgrid-rownone
gridAreagrid-areanone
gridAutoFlowgrid-auto-flownone
gridAutoRowsgrid-auto-rowsnone
gridAutoColumnsgrid-auto-columnsnone
gridTemplateRowsgrid-template-rowsnone
gridTemplateColumnsgrid-template-columnsnone
gridTemplateAreasgrid-template-areasnone

Theme Integration

Grid gaps reference the theme's space scale:

{
space: {
0: '0',
1: '0.25rem',
2: '0.5rem',
3: '0.75rem',
4: '1rem',
// ...etc
}
}

Usage

<Grid
gridGap={4} // grid-gap: 1rem
gridTemplateColumns="1fr 2fr" // grid-template-columns: 1fr 2fr
gridAutoRows="minmax(100px, auto)" // grid-auto-rows: minmax(100px, auto)
>
<Box gridColumn="1 / 3">Spans two columns</Box>
<Box>Regular grid item</Box>
</Grid>

Responsive Grid Example

<Grid
gridTemplateColumns={{
base: "1fr", // Single column on mobile
md: "repeat(2, 1fr)", // Two columns on medium screens
lg: "repeat(3, 1fr)" // Three columns on large screens
}}
gridGap={[2, 3, 4]} // Responsive gap
>
{/* Grid items */}
</Grid>