UNPKG

reblend-ui

Version:

Utilities for creating robust overlay components

48 lines (47 loc) 1.55 kB
import { ComponentRef, MouseEventHandler } from 'reblendjs'; import { EventKey, DynamicComponent } from './types'; import Button from './Button'; export interface DropdownItemProps extends Reblend.HTMLAttributes<HTMLElement> { /** * Element used to render the component. */ as?: Reblend.ElementType; /** * Highlight the menu item as active. */ active?: boolean; /** * Disable the menu item, making it unselectable. */ disabled?: boolean; /** * Value passed to the `onSelect` handler, useful for identifying the selected menu item. */ eventKey?: EventKey; /** * HTML `href` attribute corresponding to `a.href`. */ href?: string; ref?: ComponentRef; } interface UseDropdownItemOptions { key?: EventKey | null; href?: string; active?: boolean; disabled?: boolean; onClick?: MouseEventHandler; } /** * Create a dropdown item. Returns a set of props for the dropdown item component * including an `onClick` handler that prevents selection when the item is disabled */ export declare function useDropdownItem({ key, href, active, disabled, onClick, }: UseDropdownItemOptions): readonly [{ readonly onClick: (event: any) => void; readonly 'aria-disabled': true | undefined; readonly 'aria-selected': boolean | undefined; readonly "data-rr-ui-dropdown-item": ""; }, { readonly isActive: boolean | undefined; }]; declare const DropdownItem: DynamicComponent<typeof Button, DropdownItemProps>; export default DropdownItem;