Collections

Choicebox

A bigger, juiced-up version of a Radio or Checkbox, giving users a chunky tap target and extra deets.

Basic

The Choicebox is an enhanced version of a GridList, offering users a larger tap target and additional details.

Loading...

Installation

npx shadcn@latest add @intentui/choicebox

Composed components

When you install this component via the CLI, it automatically loads all composed components, so you don’t need to add them individually.

This component comes packed with several components to enhance functionality and provide a seamless experience.

Manual installation

npm i react-aria-components @intentui/icons

Anatomy

import {
  Choicebox,
  ChoiceboxDescription,
  ChoiceboxItem,
  ChoiceboxLabel,
} from "@/components/ui/choicebox"
<Choicebox aria-label="Select items" selectionMode="multiple">
  <ChoiceboxItem textValue="premium">
    <ChoiceboxLabel>Premium</ChoiceboxLabel>
    <ChoiceboxDescription>
      Advanced options for growing needs.
    </ChoiceboxDescription>
  </ChoiceboxItem>
  <ChoiceboxItem textValue="deluxe">
    <ChoiceboxLabel>Deluxe</ChoiceboxLabel>
    <ChoiceboxDescription>
      Top-tier features for maximum performance.
    </ChoiceboxDescription>
  </ChoiceboxItem>
  <ChoiceboxItem textValue="ultimate">
    <ChoiceboxLabel>Ultimate</ChoiceboxLabel>
    <ChoiceboxDescription>
      All-inclusive plan with every feature available.
    </ChoiceboxDescription>
  </ChoiceboxItem>
  <ChoiceboxItem textValue="enterprise">
    <ChoiceboxLabel>Enterprise</ChoiceboxLabel>
    <ChoiceboxDescription>
      Customized solutions for large organizations.
    </ChoiceboxDescription>
  </ChoiceboxItem>
</Choicebox>

Multiple selection

By default, it uses single selection mode. To allow multiple selections, set the selectionMode prop to 'multiple'. This enables users to select more than one item at a time.

Loading...

Columns and gap

By default, the gap between items is set to 0, and the columns prop is also 0. You can customize both by providing your own gap and columns values.

Loading...

Icons

You can add icons to the Choicebox items by providing the icon prop.

Loading...

Controlled

This component can function as either controlled or uncontrolled. For controlled use, provide the selectedKeys prop and manage updates with the onSelectionChange event handler.

Loading...

Disabled

Disable the entire Choicebox by applying the isDisabled prop.

Loading...

Individual items can also be disabled by specifying their keys in the disabledKeys prop.

<Choicebox disabledKeys={['sm', 'lg']} />
Unlock the full power of
Design Intent UI
Build modern web apps faster with 350+ blocks and polished templates crafted for professionals.
Explore