import { ChevronDown, LucideProps } from "lucide-react"; import { DetailedHTMLProps, ForwardRefExoticComponent, InputHTMLAttributes, LabelHTMLAttributes, RefAttributes, RefObject, SelectHTMLAttributes, } from "react"; import { twMerge } from "tailwind-merge"; type SelectOptionObject = { title: string; value: string; default?: boolean; }; type SelectOption = SelectOptionObject | SelectOptionObject[]; /** * # Select Element * @className twui-select-wrapper * @className twui-select * @className twui-select-dropdown-icon */ export default function Select({ label, options, componentRef, labelProps, wrapperProps, showLabel, iconProps, ...props }: DetailedHTMLProps< SelectHTMLAttributes, HTMLSelectElement > & { options: SelectOptionObject[]; label?: string; showLabel?: boolean; wrapperProps?: DetailedHTMLProps< InputHTMLAttributes, HTMLDivElement >; labelProps?: DetailedHTMLProps< LabelHTMLAttributes, HTMLLabelElement >; componentRef?: RefObject; iconProps?: LucideProps; }) { return (
{showLabel && ( )}
); }