juan-all-hands's picture
Add OpenHands design assets from kosmonautical/openhands-index-paul
cd40c70 verified
import * as React from 'react';
import { ChevronDown } from 'lucide-react';
import { cn } from '../../lib/utils';
const nativeSelectClassName =
'h-10 w-full appearance-none rounded-md border border-border bg-muted/40 py-2 pl-3 pr-10 text-sm text-foreground ring-offset-background hover:bg-muted/60 focus-visible:bg-muted/60 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:bg-muted/30 disabled:opacity-50';
export type NativeSelectProps = React.ComponentPropsWithoutRef<'select'> & {
wrapperClassName?: string;
};
export const NativeSelect = React.forwardRef<HTMLSelectElement, NativeSelectProps>(
({ className, wrapperClassName, children, ...props }, ref) => (
<div className={cn('relative w-full', wrapperClassName)}>
<select ref={ref} className={cn(nativeSelectClassName, className)} {...props}>
{children}
</select>
<ChevronDown
className="pointer-events-none absolute right-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"
aria-hidden
/>
</div>
)
);
NativeSelect.displayName = 'NativeSelect';