UNPKG

@awsui/components-react

Version:

AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A

70 lines (69 loc) 2.66 kB
import React from 'react'; import { BaseComponentProps } from '../internal/base-component'; import { CancelableEventHandler, NonCancelableEventHandler } from '../internal/events'; import { ButtonProps } from '../button'; export interface ButtonDropdownProps extends BaseComponentProps { items: ReadonlyArray<ButtonDropdownProps.Item | ButtonDropdownProps.ItemGroup>; disabled?: boolean; loading?: boolean; variant?: ButtonDropdownProps.Variant; expandableGroups?: boolean; children?: React.ReactNode; onItemClick?: NonCancelableEventHandler<ButtonDropdownProps.ItemClickDetails>; } export declare namespace ButtonDropdownProps { type Variant = 'normal' | 'primary'; interface Item { id: string; text: string; disabled?: boolean; description?: string; } interface ItemGroup extends Omit<Item, 'id' | 'text'> { id?: string; text?: string; items: Items; } type Items = ReadonlyArray<Item | ItemGroup>; interface ItemClickDetails { id: string; } interface Ref { focus(): void; } } export interface CategoryProps { item: ButtonDropdownProps.ItemGroup; onItemActivate: (item: ButtonDropdownProps.Item | ButtonDropdownProps.ItemGroup) => void; highlightedItem?: ButtonDropdownProps.Item | ButtonDropdownProps.ItemGroup; expandedItem?: ButtonDropdownProps.ItemGroup; disabled: boolean; onItemClick?: NonCancelableEventHandler<ButtonDropdownProps.ItemClickDetails>; } export interface ItemListProps { items: ButtonDropdownProps.Items; onItemActivate: (item: ButtonDropdownProps.Item | ButtonDropdownProps.ItemGroup) => void; highlightedItem?: ButtonDropdownProps.Item | ButtonDropdownProps.ItemGroup; expandedItem?: ButtonDropdownProps.ItemGroup; categoryDisabled?: boolean; hasExpandableGroups?: boolean; hasCategoryHeader?: boolean; onItemClick?: NonCancelableEventHandler<ButtonDropdownProps.ItemClickDetails>; allowHref?: boolean; } export interface LinkItem extends ButtonDropdownProps.Item { href: string; } export interface ItemProps { item: ButtonDropdownProps.Item | LinkItem; disabled: boolean; highlighted: boolean; onItemActivate: (item: ButtonDropdownProps.Item, event: Event) => void; last: boolean; hasCategoryHeader: boolean; allowHref?: boolean; } export interface InternalButtonDropdownProps extends ButtonDropdownProps { customTriggerBuilder?: (clickHandler: CancelableEventHandler<ButtonProps.ClickDetail>, ref: React.Ref<any>, isDisabled: boolean, isExpanded: boolean) => React.ReactNode; allowHref?: boolean; }