Heading fonts

Choose a Google Fonts family. The selected font loads from Google Fonts; Inter and Geist Serif are bundled locally.

Search Reflow

Keyboard shortcuts

Use these keys while you are not typing in a field.

Search⌘K
Cycle themeT
Cycle accentA
Cycle heading fontF
Cycle radiusR
Cycle sizeS
Cycle iconsI
Cycle hoverH
Toggle navigation[
Toggle properties]
Previous / next demo slide←→
Show shortcuts?
Skip to content
Open navigationClose navigation

Make them yours

Theme
SystemT
Accent
BlueA
Heading font
InterF
Radius
RoundedR
Size
DefaultS
Icons
LucideI
Hover
FluidH

Playground variant

Dropdown

Dropdown

An anchored action menu with a shared hover highlight and keyboard navigation.

Installation

Import from the Reflow workspace package.

Playground

Open demo

Basic

Groups

Group labels and separators come from group and separatorBefore.

Triggered menu

The same menu behind a trigger: pass label, variant and items.

Multiple selection

Checkbox rows with type: "checkbox".

Searchable menu

Type to filter, arrow down to a row, press Enter.

Searchable multiple selection

Search and checkbox rows together.

Create from the query

An extra row appears when nothing matches the query.

API Reference

Public props for the Reflow implementation. Native controls also accept their standard HTML attributes and Remix event mixes.

Dropdown

PropTypeDefaultDescription
label*string—Accessible name or visible label for the control.
items*readonly DropdownItem[]—Items and their content.
onSelect((value: string, checked?: boolean) => void)—Called when an item is selected.
size"default" | "compact"—Control density or icon-button dimensions.
align"start" | "end"startHorizontal alignment of the action or popup.
variant"ghost" | "outline"outlineVisual or layout treatment.
searchableboolean—Enables filtering.
searchPlaceholderstringSearch…Placeholder for the menu search field.
inlineboolean—Renders the menu without a popup trigger.
creatableboolean—Allows a new option to be created from the query.
onCreate((value: string) => void)—Receives the newly created option.

DropdownItem

PropTypeDefaultDescription
closeOnSelectboolean—Whether selecting closes the menu. Defaults to false for checkbox items and true for other items.
groupstring—Label used to group related items.
value*string—Identifier passed to onSelect when this row is activated.
label*string—Accessible name or visible label for the control.
iconRemixNode—Icon content.
shortcutstring—Keyboard hint or optional command-palette shortcut.
disabledboolean—Prevents interaction and conveys the disabled state.
separatorBeforeboolean—Draws a separator before this item.
type"checkbox" | "radio"—Single or multiple expansion mode.
checkedboolean—Selected state for a checkbox or radio menu row.
childrenreadonly DropdownItem[]—Items in a nested submenu.