Skip to Content

Chip

Pick one or multiple values with inline controls.

Import

import { Chip } from '@tidbcloud/uikit'

Usage

import { Chip } from '@tidbcloud/uikit' function Demo() { return <Chip defaultChecked>Awesome chip</Chip> }

Controlled

import { useState } from 'react' import { Chip } from '@tidbcloud/uikit' function Demo() { const [checked, setChecked] = useState(false) return ( <Chip checked={checked} onChange={() => setChecked((v) => !v)}> My chip </Chip> ) }

Variants

Chip supports several variants: outline, light, and filled.

import { Chip, Group } from '@tidbcloud/uikit' function Demo() { return ( <Group> <Chip variant="outline">Outline</Chip> <Chip variant="light">Light</Chip> <Chip variant="filled">Filled</Chip> </Group> ) }

Custom check icon

import { Chip } from '@tidbcloud/uikit' import { IconX } from '@tabler/icons-react' function Demo() { return ( <Chip icon={<IconX size={16} />} color="red" variant="filled" defaultChecked> Forbidden </Chip> ) }

Chip.Group

Chip.Group manages state of child Chip components. Set multiple prop to allow multiple chips to be selected:

import { Chip, Group } from '@tidbcloud/uikit' function Demo() { return ( <> <Chip.Group> <Group> <Chip value="1">Single chip</Chip> <Chip value="2">Can be selected</Chip> <Chip value="3">At a time</Chip> </Group> </Chip.Group> <Chip.Group multiple> <Group mt="md"> <Chip value="1">Multiple chips</Chip> <Chip value="2">Can be selected</Chip> <Chip value="3">At a time</Chip> </Group> </Chip.Group> </> ) }

Controlled Chip.Group

import { useState } from 'react' import { Chip } from '@tidbcloud/uikit' function Single() { const [value, setValue] = useState('react') return ( <Chip.Group multiple={false} value={value} onChange={setValue}> <Chip value="react">React</Chip> <Chip value="ng">Angular</Chip> <Chip value="svelte">Svelte</Chip> </Chip.Group> ) }

Props

PropTypeDefaultDescription
checkedboolean-Checked state for controlled component
childrenReact.ReactNoderequiredLabel element
colorMantineColor-Controls color based on variant
defaultCheckedboolean-Default checked state for uncontrolled component
iconReact.ReactNode-Custom check icon
onChange(checked: boolean) => void-Called when checked state changes
radiusMantineRadius-Border radius
sizeMantineSize'sm'Chip size
type'checkbox' | 'radio''checkbox'Input type
variantstring'outline'Visual variant
Last updated on