@tabula/ui-selector
Version:
Selector allow users to choose a single option from a collapsible list of options when space is limited
20 lines (19 loc) • 787 B
TypeScript
import { ChangeEventHandler, ForwardedRef, MouseEvent, MouseEventHandler, MutableRefObject } from 'react';
export type ChangeValueHandler = ChangeEventHandler<HTMLInputElement>;
export type ClearValueHandler = (event?: MouseEvent<HTMLButtonElement>, focusToField?: boolean) => void;
export type InputElement = HTMLInputElement | null;
export type InputRef = MutableRefObject<InputElement>;
export type RequiredProps = {
onChange: ChangeValueHandler;
onClear: ClearValueHandler;
value: string;
};
export type Props = RequiredProps & {
autoFocus?: boolean;
className?: string;
forwardedRef?: ForwardedRef<HTMLInputElement>;
inputClassName?: string;
onClick?: MouseEventHandler<HTMLInputElement>;
placeholder?: string;
showClearControl?: boolean;
};