List Box

A listbox displays a list of options and allows a user to select one or more of them.

Next.js
Remix
Astro
Gatsby
<ListBox aria-label="Framework" onAction={() => console.log("action")}>
  <ListBoxItem>Next.js</ListBoxItem>
  <ListBoxItem>Remix</ListBoxItem>
  <ListBoxItem>Astro</ListBoxItem>
  <ListBoxItem>Gatsby</ListBoxItem>
</ListBox>

Installation

npx shadcn@latest add @dotui/list-box

Usage

Use list boxes to display a list of options and allow users to select one or more of them.

import { ListBox, ListBoxItem } from "@/components/ui/list-box";
<ListBox aria-label="Options" selectionMode="single">
	<ListBoxItem>Option 1</ListBoxItem>
	<ListBoxItem>Option 2</ListBoxItem>
	<ListBoxItem>Option 3</ListBoxItem>
</ListBox>

Playground

Use the controls below to experiment with different list box props and see the live preview and code update.

Alpha
Beta
Gamma
selectionMode
orientation
<ListBox
  aria-label="Options"
  orientation="vertical"
  selectionMode="single"
>
  <ListBoxItem id="alpha">Alpha</ListBoxItem>
  <ListBoxItem id="beta">Beta</ListBoxItem>
  <ListBoxItem id="gamma">Gamma</ListBoxItem>
</ListBox>

Examples

Next.js
Remix
Astro
Gatsby
Mushroom
Olives
Onion
Pepperoni
Fresh basil
Bacon
ReadView files and discussions.
WritePush branches and open pull requests.
MaintainManage the repository without admin access.
AdminFull access including settings and billing.
Edit
Copy link
Share
Add to favorites
Rename project
Duplicate
Open in new tab
Delete project
Signature sauce
BBQ sauce
Honey mustard
Pepperjack
Mozzarella
Blue cheese
Bacon
Sauteed onions
New file
Open…
Save
Save as…
Print…
Preferences
JG

Junior Garcia

jrgarcia@example.com

Profile
Settings
Log out
Hobby
Pro
Enterprise (sold out)
Premium support (coming soon)
List
Rows
Grid
Next.js
Remix
Astro
Gatsby
SolidStart
Qwik City
No results found.
Framework
Create new file…
Create new folder…
Assign to…
Change status…
Change priority…
Add label…
Remove label…

API Reference

ListBox

A listbox displays a list of options and allows a user to select one or more of them.

PropType
boolean
DragAndDropHooks<NoInfer<T>>
"grid" | "stack"
Orientation
DOMRenderFunction<"div", ListBoxRenderProps>
ReactNode | function
Iterable<T>
ReactNode | function
readonly any[]
SelectionMode
SelectionBehavior
Iterable<Key> | "all"
Iterable<Key> | "all"
function
Iterable<Key>
boolean
boolean
boolean
boolean
"clearSelection" | "none"

ListBoxItem

A ListBoxItem represents an individual option in a ListBox.

PropType
"danger" | "default"
ReactNode | function
Key
boolean
union
string
T

Last updated on 5/22/2026