Select
Dropdown picker with search, multi-select, virtualization-ready items, and full keyboard nav.
Preview
Switch the framework picker (top-right of the panel) to render the same demo live in React, Vue, or Angular — same class names, ARIA, and visual output across all three.
Installation
Sisyphos UI ships unified packages for React, Vue, and Angular. Pick the one that matches your stack — every framework exports the same component classes, ARIA semantics, and CSS tokens.
$ pnpm add @sisyphos-ui/reactThen import the bundled stylesheet once at app entry: import "@sisyphos-ui/react/styles.css";
Usage
import { useState } from "react";
import { Select } from "@sisyphos-ui/react";
export const Country = () => {
const [value, setValue] = useState<string | number | null>("tr");
return (
<Select
label="Country"
value={value}
onChange={setValue}
searchable
clearable
options={[
{ value: "tr", label: "Türkiye" },
{ value: "us", label: "United States" },
]}
/>
);
};Multi select
Add `multiple` to allow multiple values; `value` becomes an array.
Searchable & clearable
`searchable` adds an input filter; `clearable` shows a clear button.
Clear button
Clearable for quick reset — keeps existing keyboard ergonomics.
Error state
Surface validation with `error` + `errorMessage`.
Infinite scroll
`loading`, `hasMore`, and `onLoadMore` enable server-driven pagination. Works with `searchable`.
API
Props table is being written. See the package README for the complete API surface.
The full API including refs, ARIA attributes, and HTML passthroughs lives in the package README on npm.