DocsBlog
  • 1.0.0

  • light

    dark

    system

    Switch mode
  • Cerberus

    Acheron

    Elysium

Get Started
Components
Data Grid
Styling
Theming

Concepts

OverviewCompositionCerberus ContextTesting

Layout

Aspect RatioBleedBoxCenterContainerDividerFlexFloatGridGroupNewLink OverlayScrollableStackWrap

Components

AccordionAdmonitionAvatarButtonCarouselCheckboxClipboardCollapsibleComboboxConfirm ModalCTAModalDate PickerDialogFieldFieldsetFile UploaderIcon ButtonInputLoading StatesMenuNotificationsNumber InputPaginationNewPin InputProgressPrompt ModalRadioRatingSelectSplit ButtonSwitchTableTabsTagTextTextareaToggleTooltip

Utilities

Client OnlyDownload TriggerEnvironmentFeature FlagsFocus TrapForFormat ByteFormat NumberFormat Relative TimeFrameHighlightJSON Tree ViewLocaleLocal StoragePortalPresenceShowsplitPropsTheme

Grid

Used to manage grid layouts.

  • Panda
import { Grid } from "styled-system/jsx"

Usage

Easily create grid layouts with the Grid component.

Col Span

Pass colSpan prop to GridItem to span across columns.

Spanning Columns

In some layouts, you may need certain grid items to span specific amount of columns or rows instead of an even distribution

Props

PropTypeDescription
gridTemplateColumnsSystemStyleObject['gridTemplateColumns']Defines the columns of the grid.
gridTemplateRowsSystemStyleObject['gridTemplateRows']Defines the rows of the grid.
gapSystemStyleObject['gap']Defines the gap between grid items.
colSpannumberNumber of columns the grid item should span.
rowSpannumberNumber of rows the grid item should span.
columnsnumberNumber of columns in the grid.

On this page

  • Edit this page on Github
Cerberus Design System | Docs
Copy
import { DecorativeBox } from '@/app/components/decorative-box'
import { Grid } from 'styled-system/jsx'

export function BasicDemo() {
  return (
    <Grid gridTemplateColumns="repeat(3, 1fr)" gap="md" w="3/4">
      <DecorativeBox h="20" />
      <DecorativeBox h="20" />
      <DecorativeBox h="20" />
    </Grid>
  )
}
Copy
import { DecorativeBox } from '@/app/components/decorative-box'
import { Grid, GridItem } from 'styled-system/jsx'

export function ColSpanDemo() {
  return (
    <Grid gridTemplateColumns="repeat(4, 1fr)" gap="md" w="3/4">
      <GridItem colSpan={2}>
        <DecorativeBox h="20" />
      </GridItem>
      <GridItem colSpan={1}>
        <DecorativeBox h="20" />
      </GridItem>
      <GridItem colSpan={1}>
        <DecorativeBox h="20" />
      </GridItem>
    </Grid>
  )
}
rowSpan=2
colSpan=2
colSpan=2
colSpan=4
Copy
import { DecorativeBox } from '@/app/components/decorative-box'
import { Grid, GridItem } from 'styled-system/jsx'

export function SpanningDemo() {
  return (
    <Grid
      h="200px"
      gridTemplateRows="repeat(2, 1fr)"
      gridTemplateColumns="repeat(5, 1fr)"
      gap="md"
      w="3/4"
    >
      <GridItem rowSpan={2} colSpan={1}>
        <DecorativeBox>rowSpan=2</DecorativeBox>
      </GridItem>
      <GridItem colSpan={2}>
        <DecorativeBox>colSpan=2</DecorativeBox>
      </GridItem>
      <GridItem colSpan={2}>
        <DecorativeBox>colSpan=2</DecorativeBox>
      </GridItem>
      <GridItem colSpan={4}>
        <DecorativeBox>colSpan=4</DecorativeBox>
      </GridItem>
    </Grid>
  )
}