import { clsx } from 'clsx'; import { useId } from 'react'; import Header from '../../../../header'; import Section from '../../../../section'; import { SelectInputGroupItem } from '../../SelectInput.types'; import { SelectInputItemView, SelectInputItemViewProps } from '..'; export interface SelectInputGroupItemViewProps extends SelectInputItemViewProps< T, SelectInputGroupItem > {} /** * Component that renders a group of SelectInput options with a header. */ export function SelectInputGroupItemView({ item, renderValue, needle, }: SelectInputGroupItemViewProps) { const headerId = useId(); const header = (
); return ( // An empty container may be rendered when no options match `needle` // However, pre-filtering would result in worse performance overall
{needle == null ? header : null} {item.options.map((option, index) => ( ))}
); }