Back to Primitives

Grid

1:1Layout
View on GitHub

CSS grid container.

Example
Column 1Column 2Column 3
Usage
import { Grid, GridItem, Box } from '@/components/polaris';

function Example() {
    return (
        <Grid gridTemplateColumns="1fr 1fr 1fr" gap="base">
            <GridItem>
                <Box padding="base" background="subdued">Column 1</Box>
            </GridItem>
            <GridItem>
                <Box padding="base" background="subdued">Column 2</Box>
            </GridItem>
            <GridItem>
                <Box padding="base" background="subdued">Column 3</Box>
            </GridItem>
        </Grid>
    );
}
Component Source
import { forwardRef, createElement } from 'react';
import type { JSX } from 'react';

export type GridProps = JSX.IntrinsicElements['s-grid'];

/**
 * Grid component - CSS grid layout helper.
 *
 *
 * @example
 * <Grid columns="2">
 *   <div>Column 1</div>
 *   <div>Column 2</div>
 * </Grid>
 */
export const Grid = forwardRef<HTMLElement, GridProps>(({ children, ...props }, ref) => {
    return createElement('s-grid', { ref, ...props }, children);
});

Grid.displayName = 'Grid';