🍙 Onigiri

The Crunchyroll design system, rendered live from its own tokens and components. It cannot drift from what ships.

Docs draft

Select

When to use it

useSingle choice among options that fit a native menu: sort order, language, quality.
avoidMenus with checkboxes, toggles, drilldowns, or mixed content — that is the DropdownMenu pattern, landing with the popover primitive. menu-item + Menu.
avoid2-5 options worth showing all at once. radio

States

restAt rest with no interaction.

hoverPointer is over the control.

focusHolds keyboard focus and shows the focus ring.

open belowOpen with the menu attached below the trigger.

open aboveOpen with the menu attached above the trigger.

disabledNot interactive; rendered with the lifted disabled tokens so it stays perceivable.

Design specifications

trigger44px, radius.md, padding-x space.16 (outline: space.12), gap space.8
labeltype.label-lg
label-restcolor.text.secondary
label-activecolor.text.primary
chevronIcon / Chevron Down at 20
open-surfacecolor.bg.elevated
outline-bordercolor.border.strong

Accessibility

Enter / Space / ArrowsNative select semantics — the menu is the platform's.

color.text.secondary on color.bg.primaryContracted at ≥ 4.5:1 by the build gate.

Code wraps a real select; the styled trigger never replaces platform behavior. aria-label from the label prop.