loom muslin

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 },
  ]}
/>