import { Button, Grid, StyleRulesCallback, WithStyles, Typography, Tooltip } from '@material-ui/core';
import ChevronRightIcon from '@material-ui/icons/ChevronRight';
import { withStyles } from '@material-ui/core';
+import { IllegalNamingWarning } from '../warning/warning';
export interface Breadcrumb {
label: string;
}
});
-interface BreadcrumbsProps {
+export interface BreadcrumbsProps {
items: Breadcrumb[];
onClick: (breadcrumb: Breadcrumb) => void;
onContextMenu: (event: React.MouseEvent<HTMLElement>, breadcrumb: Breadcrumb) => void;
export const Breadcrumbs = withStyles(styles)(
({ classes, onClick, onContextMenu, items }: BreadcrumbsProps & WithStyles<CssRules>) =>
- <Grid container alignItems="center" wrap="nowrap">
+ <Grid container data-cy='breadcrumbs' alignItems="center" wrap="nowrap">
{
items.map((item, index) => {
const isLastItem = index === items.length - 1;
+ const isFirstItem = index === 0;
return (
<React.Fragment key={index}>
+ {isFirstItem ? null : <IllegalNamingWarning name={item.label} />}
<Tooltip title={item.label}>
<Button
+ data-cy={
+ isFirstItem
+ ? 'breadcrumb-first'
+ : isLastItem
+ ? 'breadcrumb-last'
+ : false}
color="inherit"
className={isLastItem ? classes.currentItem : classes.item}
onClick={() => onClick(item)}