Grid is a css layout for managing grid layouts
Usage
Import
import { Grid, GridItem } from '@passfort/castle'
Example
<Grid>
<GridItem p={2}>
<Item />
</GridItem>
<GridItem p={2}>
<Item />
</GridItem>
</Grid>
live example
Template Columns
<Grid templateColumns="repeat(5, 1fr)" gap={6}>
<GridItem w="100%" h="10" bg="N200" />
<GridItem w="100%" h="10" bg="N200" />
<GridItem w="100%" h="10" bg="N200" />
<GridItem w="100%" h="10" bg="N200" />
<GridItem w="100%" h="10" bg="N200" />
</Grid>
live example
Spanning Columns
<Grid
h="200px"
templateRows="repeat(2, 1fr)"
templateColumns="repeat(5, 1fr)"
gap={4}
>
<GridItem rowSpan={2} colSpan={1} bg="N200" />
<GridItem colSpan={2} bg="brand-blue" />
<GridItem colSpan={2} bg="brand-blue" />
<GridItem colSpan={4} bg="N300" />
</Grid>
live example
Starting and Ending Lines
<Grid templateColumns="repeat(5, 1fr)" gap={4}>
<GridItem colSpan={2} h="10" bg="N200" />
<GridItem colStart={4} colEnd={6} h="10" bg="N200" />
</Grid>
live example
Template Areas
<Grid
templateAreas={`"header header" "nav main" "nav footer"`}
gridTemplateRows={'50px 1fr 30px'}
gridTemplateColumns={'150px 1fr'}
h="200px"
gap="1"
color="black"
>
<GridItem p="1" bg="N200" area={'header'}>
Header
</GridItem>
<GridItem p="1" bg="N200" area={'nav'}>
Nav
</GridItem>
<GridItem p="1" bg="N200" area={'main'}>
Main
</GridItem>
<GridItem p="1" bg="N200" area={'footer'}>
Footer
</GridItem>
</Grid>
live example