@etsoo/materialui
Version:
TypeScript Material-UI Implementation
46 lines (45 loc) • 1.3 kB
TypeScript
import { DataTypes, IdDefaultType, LabelDefaultType, ListType } from "@etsoo/shared";
import type { AutocompleteExtendedProps } from "./AutocompleteExtendedProps";
/**
* ComboBox props
*/
export type ComboBoxProps<T extends object = ListType, D extends DataTypes.Keys<T> = IdDefaultType<T>, L extends DataTypes.Keys<T, string> = LabelDefaultType<T>> = AutocompleteExtendedProps<T, D, false> & {
/**
* Auto add blank item
*/
autoAddBlankItem?: boolean;
/**
* Data readonly
*/
dataReadonly?: boolean;
/**
* Label field
*/
labelField?: L;
/**
* Load data callback
*/
loadData?: () => PromiseLike<T[] | null | undefined>;
/**
* On load data handler
*/
onLoadData?: (options: T[]) => void;
/**
* Array of options.
*/
options?: ReadonlyArray<T>;
/**
* Add label
*/
addLabel?: string;
/**
* On add callback
*/
onAdd?: (callback: () => void) => void;
};
/**
* ComboBox
* @param props Props
* @returns Component
*/
export declare function ComboBox<T extends object = ListType, D extends DataTypes.Keys<T> = IdDefaultType<T>, L extends DataTypes.Keys<T, string> = LabelDefaultType<T>>(props: ComboBoxProps<T, D, L>): import("react/jsx-runtime").JSX.Element;