baseui
Version:
A React Component library implementing the Base design language
40 lines (39 loc) • 1.22 kB
TypeScript
import type * as React from 'react';
import type { Override } from '../helpers/overrides';
import type { SIZE } from '../input';
export type ComboboxOverrides = {
Root?: Override;
InputContainer?: Override;
Input?: Override;
Popover?: Override;
ListBox?: Override;
ListItem?: Override;
};
export type ComboboxProps<Option = unknown> = {
autocomplete?: boolean;
/** If true, adds a clear value icon button to the end of the input container. */
clearable?: boolean;
disabled?: boolean;
error?: boolean;
listBoxLabel?: string;
mapOptionToNode?: React.ComponentType<{
isSelected: boolean;
option: Option;
}>;
mapOptionToString: (a: Option) => string;
id?: string;
name?: string;
inputRef?: React.RefObject<HTMLElement>;
onBlur?: (a: React.ChangeEvent<HTMLInputElement>) => unknown;
onChange: (b: string, a: Option | null) => unknown;
onFocus?: (a: React.ChangeEvent<HTMLInputElement>) => unknown;
onSubmit?: (a: {
closeListbox: () => void;
value: string;
}) => unknown;
options: Option[];
overrides?: ComboboxOverrides;
positive?: boolean;
size?: keyof typeof SIZE;
value: string;
};