import { ReactNode } from 'react'; import { InputBase } from '../InputBase'; import { Container, InputStyled, ItemStyled } from './style'; import { DropdownI } from '../SelectDropdown/SelectDropdown'; export interface Option { label: string; value: string; } export type SelectWithSearchProps = Omit, 'open' | 'anchorEl' | 'onOpen' | 'onClose' | 'trigger' | 'children'> & { /** * Passed to the underlying input as the HTML `name` attribute so the control * participates in form submission, autofill, and other browser field semantics. */ name?: string; options: Option[]; label?: React.ReactNode; onChangeOption: (option: Option | null) => void; selectedOption?: Option | null; placeholder?: string | null; isLoading?: boolean; renderOption?: (option: Option, { closeDropdown, open }: { closeDropdown: () => void; open: boolean; }) => ReactNode; iconUrl?: string; onClearValue?: () => void; slotProps?: { selectInput?: React.ComponentProps; searchInput?: React.ComponentProps; dropdownContainer?: React.ComponentProps; item?: React.ComponentProps; }; hideSelectedCheckmark?: boolean; };