Breadcrumb

Designer doc
Breadcrumb is a component used for navigation and its display.

Example

Basic Usage
View code
Overflow
By default, the Breadcrumb always shows the first and last two items. If the Breadcrumb has more than three items, the items in between will be put into an dropdown menu. You can pass the props frontCount and rearCount to control how many item you would like to show at front and rear.
View code
Custom BreadcrumbMenu
View code
Variants
The Breadcrumb has 2 variants: Plain (default) and Filled.
View code
Custom Separator
View code
Gap
By default, distance between an item and adjacent separator is 0. You can specify gap prop to override it.
View code
Ellipsis
You can specify ellipsis prop to true on each item.
View code
Non-clickable
You can specify clickable prop to false on each item. By default it will be true.
View code

Accessibility

This component has pretty simple accessibility:
  1. Breadcrumb trail is contained within a navigation landmark region.
  2. The link to the current page has aria-current set to page. If the element representing the current page is not a link, aria-current is optional.
Please note that for (2) you need to handle it on your side. If you’re using react-router NavLink, aria-current="page" has been handled when active.

References

API

Prop nameTypeDefaultDescription
asany
Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended.
frontCountnumber1
gapnumber0
listPropsListProps
overflowMenuPropsOmit<BreadcrumbMenuProps, "button">
rearCountnumber2
separatorReactNode<ChevronRightIcon colorType="neuFore3rd" size={16} />
variantBreadcrumbVariantsBreadcrumbVariants.Plain
Prop nameTypeDefaultDescription
asany
Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended.
clickablebooleantrue
colorTypeColorTypes
Set color based on theme. If color is specified, that prop is used instead of this.
containerPropsLiHTMLAttributes<HTMLLIElement> & { as?: any; ref?: Ref<HTMLLIElement>; }
disabledboolean
Equivalent to button's disabled property.
ellipsisboolean
ellipsisTooltipPropsEllipsisTooltipProps
indexnumber
keyboardClickKeysstring[]
leftIconReactNode
Element before the label. Equivalent to element on the label with some margin.
loadingboolean
onBlurFocusEventHandler<HTMLDivElement>
onClickMouseEventHandler<HTMLDivElement>
onKeyDownKeyboardEventHandler<HTMLDivElement>
onKeyUpKeyboardEventHandler<HTMLDivElement>
onMouseDownMouseEventHandler<HTMLDivElement>
onMouseLeaveMouseEventHandler<HTMLDivElement>
onMouseUpMouseEventHandler<HTMLDivElement>
onReleaseEventHandler<SyntheticEvent<HTMLDivElement, Event>>
Callback that's triggered after click i.e. mouseup and keyup of enter or space.
onTouchEndTouchEventHandler<HTMLDivElement>
onTouchStartTouchEventHandler<HTMLDivElement>
radiusnumber
rightIconReactNode
Element after the label. Equivalent to element on the label with some margin.
separatorReactNode
sizeButtonSizessmall
variantButtonVariantstext
Prefers naming it as variant because type is a known button html property.
Prop nameTypeDefaultDescription
activeboolean
arrowArrowProps
asany
Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended.
buttonReactElement<BaseButtonProps & UseBreadcrumbItemOptions, any>
containerHTMLElement
immediateboolean
indexnumber
initialActiveboolean
offset[number, number]
onActiveChange(active: boolean) => void
placement"left" | "right" | "bottom" | "top" | "top-start" | "top-end" | "left-start" | "left-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end"bottom-start
popperOptionsPopperPopperOptions
Options for Popper.js instance
popperUpdateKeystring
springConfigPartial<AnimationConfig>
Prop nameTypeDefaultDescription
asany
Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended.
colorTypeColorTypes
Set color based on theme. If color is specified, that prop is used instead of this.
containerPropsLiHTMLAttributes<HTMLLIElement> & { as?: any; ref?: Ref<HTMLLIElement>; }
disabledboolean
Equivalent to button's disabled property.
indexnumber
keyboardClickKeysstring[]
loadingboolean
onBlurFocusEventHandler<HTMLDivElement>
onClickMouseEventHandler<HTMLDivElement>
onKeyDownKeyboardEventHandler<HTMLDivElement>
onKeyUpKeyboardEventHandler<HTMLDivElement>
onMouseDownMouseEventHandler<HTMLDivElement>
onMouseLeaveMouseEventHandler<HTMLDivElement>
onMouseUpMouseEventHandler<HTMLDivElement>
onReleaseEventHandler<SyntheticEvent<HTMLDivElement, Event>>
Callback that's triggered after click i.e. mouseup and keyup of enter or space.
onTouchEndTouchEventHandler<HTMLDivElement>
onTouchStartTouchEventHandler<HTMLDivElement>
radiusstring
separatorReactNode
sizeIconButtonSizessmall
tooltipReactNode
tooltipPropsOmit<TooltipProps, "title" | "children">
variantIconButtonVariantsflat
useBreadcrumbItem
Prop nameTypeDefaultDescription
containerPropsLiHTMLAttributes<HTMLLIElement> & { as?: any; ref?: Ref<HTMLLIElement>; }
indexnumber
separatorReactNode
    Example
    Example
    Basic Usage
    Basic Usage
    Overflow
    Overflow
    Custom BreadcrumbMenu
    Custom BreadcrumbMenu
    Variants
    Variants
    Custom Separator
    Custom Separator
    Gap
    Gap
    Ellipsis
    Ellipsis
    Non-clickable
    Non-clickable
    Accessibility
    Accessibility
    References
    References
    API
    API
    Breadcrumb
    Breadcrumb
    BreadcrumbItem
    BreadcrumbItem
    BreadcrumbMenu
    BreadcrumbMenu
    BreadcrumbMoreItem
    BreadcrumbMoreItem
    useBreadcrumbItem
    useBreadcrumbItem
Coral is a thoroughly developed design system widely adopted by developers and designers for creating beautiful and user-friendly Sea internal products.

Copyright © 2018-2025 Sea Labs