registry/patterns/select/select-14.tsx
'use client'
import { useState } from 'react'
import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectTrigger,
SelectValue,
} from '@/components/ui/select'
const priorities = [
{ value: 'low', label: 'Low' },
{ value: 'medium', label: 'Medium' },
{ value: 'high', label: 'High' },
{ value: 'urgent', label: 'Urgent' },
] as const
export function Select14() {
const [value, setValue] = useState<string>(priorities[0].value)
const selected = priorities.find((item) => item.value === value)
return (
<Select value={value} onValueChange={(value) => setValue(value ?? '')}>
<SelectTrigger className="w-full max-w-48" aria-label="Select priority">
<SelectValue placeholder="Select priority">
{selected && (
<span>
<span className="text-muted-foreground">Priority:</span>{' '}
{selected.label}
</span>
)}
</SelectValue>
</SelectTrigger>
<SelectContent>
<SelectGroup>
{priorities.map((item) => (
<SelectItem key={item.value} value={item.value}>
{item.label}
</SelectItem>
))}
</SelectGroup>
</SelectContent>
</Select>
)
}
































