📄 radixui/themes/docs/components/radio-cards

File: radio-cards.md | Updated: 11/15/2025

Source: https://www.radix-ui.com/themes/docs/components/radio-cards

Radix Homepage

Made by WorkOS

Radix Homepage

Made by WorkOS

ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors

Documentation Playground Blog

Overview

Getting started Styling Layout Releases Resources

Theme

Overview Color Dark mode Typography Spacing Breakpoints Radius Shadows Cursors

Layout

Box Flex Grid Container Section

Typography

Text Heading Blockquote Code Em Kbd Link Quote Strong

Components

Alert Dialog Aspect Ratio Avatar Badge Button Callout Card Checkbox Checkbox Group Checkbox Cards Context Menu Data List Dialog Dropdown Menu Hover Card Icon Button Inset Popover Progress Radio Radio Group Radio Cards Scroll Area Segmented Control Select Separator Skeleton Slider Spinner Switch Table Tabs Tab Nav Text Area Text Field Tooltip

Utilities

Accessible Icon Portal Reset Slot Theme Visually Hidden

Components

Radio Cards

Set of interactive cards where only one can be selected at a time.

View source Report an issue View in Playground

8-core CPU32 GB RAM

6-core CPU24 GB RAM

4-core CPU16 GB RAM

<Box maxWidth="600px">
	<RadioCards.Root defaultValue="1" columns={{ initial: "1", sm: "3" }}>
		<RadioCards.Item value="1">
			<Flex direction="column" width="100%">
				<Text weight="bold">8-core CPU</Text>
				<Text>32 GB RAM</Text>
			</Flex>
		</RadioCards.Item>
		<RadioCards.Item value="2">
			<Flex direction="column" width="100%">
				<Text weight="bold">6-core CPU</Text>
				<Text>24 GB RAM</Text>
			</Flex>
		</RadioCards.Item>
		<RadioCards.Item value="3">
			<Flex direction="column" width="100%">
				<Text weight="bold">4-core CPU</Text>
				<Text>16 GB RAM</Text>
			</Flex>
		</RadioCards.Item>
	</RadioCards.Root>
</Box>

API Reference


This component inherits props from the Radio Group primitive and supports common margin props .

Root

| Prop | Type | Default | | --- | --- | --- | | asChild<br><br>Prop description | boolean | No default value | | size | Responsive<"1" \| "2" \| "3"> | "2" | | variant<br><br>Prop description | "surface" \| "classic" | "surface" | | color<br><br>Prop description | enum<br><br>See full type | No default value | | highContrast<br><br>Prop description | boolean | No default value | | columns | Responsive<enum \| string><br><br>See full type | "repeat(auto-fit, minmax(160px, 1fr))" | | gap | Responsive<enum \| string><br><br>See full type | "4" |

Item

An item in the group that can be checked.

Examples


Size

Use the size prop to control the size.

8-core CPU

8-core CPU

8-core CPU

<Flex align="center" gap="3">
	<RadioCards.Root size="1">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root size="2">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root size="3">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>
</Flex>

Variant

Use the variant prop to control the visual style.

8-core CPU

8-core CPU

<Flex direction="column" gap="3" maxWidth="200px">
	<RadioCards.Root variant="surface">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root variant="classic">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>
</Flex>

Color

Use the color prop to assign a specific color .

8-core CPU

8-core CPU

8-core CPU

8-core CPU

<Flex direction="column" gap="3" maxWidth="200px">
	<RadioCards.Root defaultValue="1" color="indigo">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="cyan">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="orange">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="crimson">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>
</Flex>

High-contrast

Use the highContrast prop to increase color contrast with the background.

8-core CPU

8-core CPU

8-core CPU

8-core CPU

8-core CPU

8-core CPU

8-core CPU

8-core CPU

<Grid columns="2" gap="3" display="inline-grid">
	<RadioCards.Root defaultValue="1" color="indigo">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="indigo" highContrast>
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="cyan">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="cyan" highContrast>
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="orange">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="orange" highContrast>
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="crimson">
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root defaultValue="1" color="crimson" highContrast>
		<RadioCards.Item value="1">8-core CPU</RadioCards.Item>
	</RadioCards.Root>
</Grid>

Disabled

OffOn

OffOn

<Flex direction="column" gap="4" maxWidth="450px">
	<RadioCards.Root columns="2" defaultValue="2">
		<RadioCards.Item value="1">Off</RadioCards.Item>
		<RadioCards.Item value="2">On</RadioCards.Item>
	</RadioCards.Root>

	<RadioCards.Root columns="2" defaultValue="2">
		<RadioCards.Item value="1" disabled>
			Off
		</RadioCards.Item>
		<RadioCards.Item value="2" disabled>
			On
		</RadioCards.Item>
	</RadioCards.Root>
</Flex>

PreviousRadio Group

NextScroll Area

Edit this page on GitHub.