@dossierhq/design
Version:
The design system for Dossier.
16 lines (15 loc) • 805 B
TypeScript
import { type ReactNode, type Ref } from 'react';
export interface DropdownItem {
id: string;
}
export interface DropdownProps<TTrigger extends HTMLElement, TItem extends DropdownItem = DropdownItem> {
items: readonly TItem[];
activeItemIds?: string[];
left?: boolean;
up?: boolean;
isContentItem?: (item: Readonly<TItem>) => boolean;
renderItem: (item: Readonly<TItem>) => ReactNode;
renderTrigger: (ref: Ref<TTrigger>, onOpenDropDown: () => void) => ReactNode;
onItemClick?: (item: Readonly<TItem>) => void;
}
export declare function Dropdown<TTrigger extends HTMLElement, TItem extends DropdownItem>({ activeItemIds, items, left, up, isContentItem, renderItem, renderTrigger, onItemClick, }: DropdownProps<TTrigger, TItem>): import("react/jsx-runtime").JSX.Element;