import { LinkItem } from '../button-dropdown/interfaces'; import { BaseComponentProps } from '../internal/base-component'; import { BaseNavigationDetail, CancelableEventHandler } from '../internal/events'; import { InternalBaseComponentProps } from '../internal/hooks/use-base-component'; export interface BreadcrumbGroupProps extends BaseComponentProps { /** * An array of breadcrumb items that describes the link hierarchy for this navigation. * Each option has the following properties: * * `text` (string) - Specifies the title text of the breadcrumb item. * * `href` (string) - Specifies the URL for the link in the breadcrumb item. * You should specify the link even if you have a click handler for a breadcrumb item * to ensure that valid markup is generated. * Note: The last breadcrumb item is automatically considered the current item, and it's * not a link. */ items: ReadonlyArray; /** * Provides an `aria-label` to the breadcrumb group that screen readers can read (for accessibility). */ ariaLabel?: string; /** * Provides an `aria-label` to the ellipsis button that screen readers can read (for accessibility). * @i18n */ expandAriaLabel?: string; /** * Called when the user clicks on a breadcrumb item. */ onClick?: CancelableEventHandler>; /** * Called when the user clicks on a breadcrumb item with the left mouse button * without pressing modifier keys (that is, CTRL, ALT, SHIFT, META). */ onFollow?: CancelableEventHandler>; } export declare namespace BreadcrumbGroupProps { interface Item { text: string; href: string; } interface ClickDetail extends BaseNavigationDetail { item: T; text: string; href: string; } } export type InternalBreadcrumbGroupProps = BreadcrumbGroupProps & InternalBaseComponentProps & { __injectAnalyticsComponentMetadata?: boolean; }; export interface BreadcrumbItemProps { item: T; itemIndex: number; totalCount: number; isTruncated?: boolean; isGhost?: boolean; onClick?: CancelableEventHandler>; onFollow?: CancelableEventHandler>; } export interface EllipsisDropdownProps { ariaLabel?: BreadcrumbGroupProps['expandAriaLabel']; dropdownItems: ReadonlyArray; onDropdownItemClick: CancelableEventHandler<{ id: string; }>; onDropdownItemFollow: CancelableEventHandler<{ id: string; }>; visible?: boolean; }