Skip to Content

Group

Compose elements in a horizontal flex container.

Import

import { Group } from '@tidbcloud/uikit'

Usage

import { Group, Button } from '@tidbcloud/uikit' function Demo() { return ( <Group> <Button variant="default">First</Button> <Button variant="default">Second</Button> <Button variant="default">Third</Button> </Group> ) }

Gap

Control spacing between children with gap prop. gap supports all spacing values from theme (xs, sm, md, lg, xl) and numbers:

import { Group, Button } from '@tidbcloud/uikit' function Demo() { return ( <Group gap="lg"> <Button variant="default">First</Button> <Button variant="default">Second</Button> <Button variant="default">Third</Button> </Group> ) }

Justify

Control justify-content property with justify prop:

import { Group, Button } from '@tidbcloud/uikit' function Demo() { return ( <> <Group justify="center"> <Button variant="default">1</Button> <Button variant="default">2</Button> <Button variant="default">3</Button> </Group> <Group justify="flex-end" mt="md"> <Button variant="default">1</Button> <Button variant="default">2</Button> <Button variant="default">3</Button> </Group> <Group justify="space-between" mt="md"> <Button variant="default">1</Button> <Button variant="default">2</Button> <Button variant="default">3</Button> </Group> </> ) }

Grow

Set grow to make children grow to fill available space:

import { Group, Button } from '@tidbcloud/uikit' function Demo() { return ( <Group grow> <Button variant="default">First</Button> <Button variant="default">Second</Button> <Button variant="default">Third</Button> </Group> ) }

Wrap

By default, Group wraps children. Set wrap="nowrap" to prevent wrapping:

import { Group, Button } from '@tidbcloud/uikit' function Demo() { return ( <Group wrap="nowrap"> <Button variant="default">First</Button> <Button variant="default">Second</Button> <Button variant="default">Third</Button> </Group> ) }

Prevent flex-wrap

Use preventGrowOverflow prop to prevent children from taking more space than expected:

import { Group, Button, Text, Box } from '@tidbcloud/uikit' function Demo() { return ( <Group grow preventGrowOverflow={false} wrap="nowrap"> <Button variant="default"> <Text truncate>Very long button text</Text> </Button> <Button variant="default">Button 2</Button> <Button variant="default">Button 3</Button> </Group> ) }

Responsive props

gap and justify props support responsive values:

import { Group, Button } from '@tidbcloud/uikit' function Demo() { return ( <Group justify={{ base: 'center', sm: 'flex-start' }} gap={{ base: 'sm', sm: 'lg' }}> <Button variant="default">First</Button> <Button variant="default">Second</Button> <Button variant="default">Third</Button> </Group> ) }

Props

PropTypeDefaultDescription
gapMantineSpacing’md’Gap between children
justifyCSS justify-content’flex-start’Justify-content property
alignCSS align-items’center’Align-items property
wrapCSS flex-wrap’wrap’Flex-wrap property
growbooleanfalseChildren grow to fill space
preventGrowOverflowbooleantruePrevent grow overflow
Last updated on