@brizy/ui
Version:
React elements in Brizy style
28 lines (27 loc) • 1.4 kB
TypeScript
import { DetailedHTMLProps, LegacyRef, LiHTMLAttributes, MouseEventHandler, RefObject } from "react";
import { GetItemPropsOptions, GetMenuPropsOptions, GetPropsCommonOptions } from "downshift";
import { State, Props as ReactSelectProps } from "../";
interface GetMenuProps {
"aria-labelledby": string;
id: string;
ref: LegacyRef<HTMLUListElement> | undefined;
role: string;
}
interface GetItemPropsOptionsDownshift {
"aria-selected": boolean;
id: string;
onClick: MouseEventHandler<HTMLLIElement>;
onMouseDown: MouseEventHandler<HTMLLIElement>;
onMouseMove: MouseEventHandler<HTMLLIElement>;
role: string;
}
export interface Props extends Omit<ReactSelectProps, "onChange" | "placeholder">, State {
getItemProps: (options: GetItemPropsOptions<DetailedHTMLProps<LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>>) => GetItemPropsOptionsDownshift;
getMenuProps: (options?: GetMenuPropsOptions, otherOptions?: GetPropsCommonOptions) => GetMenuProps;
highlightedIndex: number | undefined;
isOpen: boolean;
selectedItem: string;
selectRef: RefObject<HTMLDivElement>;
}
export declare const Dropdown: ({ className: _className, options: _options, value, isMultiple, isFixed, itemHeight, minItems, maxItems, isOpen, inputValue, highlightedIndex, selectedItem, getItemProps, getMenuProps, selectRef, }: Props) => JSX.Element | null;
export {};