UNPKG

@vtex/admin-ui

Version:

> VTEX admin component library

26 lines (25 loc) 860 B
import type { ReactNode, Ref } from 'react'; import { useSelect, UseSelectReturnValue } from 'downshift'; import type { ButtonProps } from '../../button'; import type { SystemComponent } from '../../types'; export declare const Dropdown: <T>(props: DropdownProps<T>, ref: Ref<HTMLDivElement>) => JSX.Element; export { useSelect as useDropdownState }; export { UseSelectReturnValue as UseDropdownReturnValue }; export interface DropdownProps<T> extends SystemComponent, Pick<ButtonProps, 'variant' | 'size' | 'disabled'> { /** * aria-label. will be visually hidden */ label: string; /** * return of useDropdownState */ state: UseSelectReturnValue<T>; /** * array of items */ items: T[]; /** * Custom item rendering */ renderItem?: (item: T | null) => ReactNode; }