import * as React from "react"; import { IIconProps } from '../../Icon'; import { IMenuItem } from '../../Menu'; export interface IBreadcrumbProps { /** * Aria label to be used for the entire breadcrumb */ ariaLabel?: string; /** * Class name to apply to the root element */ className?: string; /** * Set to false to prevent breadcrumb items from being managed by a focus group. */ excludeFocusZone?: boolean; /** * Set to false to prevent tab index being set to 0 for breadcrumb items. */ excludeTabStop?: boolean; /** * Custom element to render after the breadcrumb. */ extraContent?: JSX.Element; /** * Class name to apply to the extra content element */ extraContentClassName?: string; /** * items to display * @default [] */ items?: IBreadcrumbItem[]; /** * Optional aria role to apply to the breadcrumb container. */ role?: string; } export interface IBreadcrumbItem { /** * Aria description for an individual breadcrumb item */ ariaDescription?: string; /** * Aria label to be used for an individual breadcrumb item */ ariaLabel?: string; /** * Url to navigate to when this breadcrumb is clicked. */ href?: string; /** * Optional props for an icon to display before the text */ iconProps?: IIconProps; /** * Arbitrary unique string associated with the breadcrumb */ key: string; /** * Optional props for the menu item generated on overflow, to override default props */ menuItemProps?: IMenuItem; /** * Callback issued when the breadcrumb is selected. */ onClick?: (ev?: React.MouseEvent, item?: IBreadcrumbItem) => void; /** * If multiple items with the same id are contributed, the one with the highest priority will be shown. */ priority?: number; /** * Sets the order items should be displayed in (lowest first, undefined and 0 last). */ rank?: number; /** * Text to display to the user for the breadcrumb */ text: string; /** * Set to true to hide this item. This should only be used with priority to hide default items. */ hidden?: boolean; }