"use client";
import * as React from "react";
import {
Combobox,
ComboboxInput,
ComboboxContent,
ComboboxEmpty,
ComboboxList,
ComboboxItem,
} from "@/components/ui/combobox";
const frameworks = [
"Next.js",
"Remix",
"Astro",
"Nuxt.js",
"SvelteKit",
"SolidStart",
"Gatsby",
"Vite",
];
export default function ComboboxControlled() {
const [value, setValue] = React.useState<string | null>(null);
return (
<div className="flex w-full max-w-70 flex-col gap-3">
<Combobox
items={frameworks}
value={value}
onValueChange={(v) => setValue(v as string | null)}
clearable
>
<ComboboxInput
placeholder="Search a framework"
aria-label="Choose a framework"
/>
<ComboboxContent>
<ComboboxEmpty>No frameworks found.</ComboboxEmpty>
<ComboboxList>
{(item: string) => (
<ComboboxItem key={item} value={item}>
{item}
</ComboboxItem>
)}
</ComboboxList>
</ComboboxContent>
</Combobox>
<p className="text-foreground-muted text-sm">
Selected:{" "}
<span className="text-foreground font-medium">{value ?? "-"}</span>
</p>
</div>
);
}