Select
Custom dropdown listbox with placeholder and error state. Fully custom trigger and inline-anchored listbox (no Portal/floating-ui, no native select in the visible UI). Listbox clips inside overflow-hidden ancestors.
Previewlive — edit controls below
Content
State
Basic
import { Select } from "@loom/muslin-react";
<Select placeholder="Pick a range" options={[{ value: "day", label: "Last day" }]} />Controlled filter
Value + onChange; custom listbox, no native dropdown UI.
import { Select } from "@loom/muslin-react";
const [range, setRange] = useState("week");
<Select
aria-label="Date range"
value={range}
onChange={setRange}
options={[
{ value: "day", label: "Last day" },
{ value: "week", label: "Last week" },
{ value: "month", label: "Last month", disabled: true },
]}
/>