/// import { IReadonlyObservableValue } from '../../Core/Observable'; import { IColor } from '../../Utilities/Color'; import { ILabelModel } from "../Label/Label.Props"; export interface IAutocompleteProps { /** * Aria hint to describe the element */ ariaDescribedBy?: string; /** * Optional css class to be emitted to the editable input element child of the Autocomplete */ className?: string; /** * Custom colors to use * @default vss-palette */ customColors?: IColor[]; /** * Display the color picker or the "New Label" row? * @default false */ disableColorPicker?: boolean; /** * Optional event to handle checking if the value is in the parent group */ onCheckForDuplicateInParent?: (currentInput: string) => boolean; /** * Optional: Text to be shown if the value is in the parent group */ onDuplicateInParentText?: string; /** * Optional event to handle onFocus */ onFocus?: (event: React.FocusEvent) => void; /** * Optional event to handle changes to the input value */ onInputValueChange?: (newValue: string) => void; /** * Optional event to handle keyDown events within the editable input child of the Autocomplete */ onKeyDown?: (event: React.KeyboardEvent) => void; /** * Optional event to handle submission of the Autocomplete */ onSubmit?: (labelModel: ILabelModel) => void; /** * Optional placeholder text */ placeholder?: string; /** * Suggestion provider that the Autocomplete will use to generate suggestions */ suggestionProvider: (content: string) => PromiseLike; /** * Optional observable to allow components to be notified of changes to values */ value?: string | IReadonlyObservableValue; }