import { forwardRef, type SelectHTMLAttributes } from 'react'
import { cn } from '@/lib/cn'

type Props = SelectHTMLAttributes<HTMLSelectElement>

export const Select = forwardRef<HTMLSelectElement, Props>(({ className, children, ...props }, ref) => (
  <select
    ref={ref}
    className={cn(
      'h-9 w-full rounded-md border border-slate-300 bg-white px-3 pr-8 text-sm text-slate-900',
      'shadow-[inset_0_1px_0_rgba(15,23,42,0.02)]',
      'transition-[border-color,box-shadow] focus-visible:border-brand-500 focus-visible:ring-2 focus-visible:ring-brand-500/20',
      'disabled:cursor-not-allowed disabled:bg-slate-50 disabled:opacity-70',
      className,
    )}
    {...props}
  >
    {children}
  </select>
))
Select.displayName = 'Select'
