Angular Breadcrumbs Component | ng-hub-ui-breadcrumbs

Angular breadcrumbs component with router integration, custom templates, RTL support and flexible styling tokens.

API reference

Here's the full contract for breadcrumbs: everything you can bind, listen to, project and theme, gathered in one place. Wire up what you need and style what you want — it's standalone and signal-friendly.

Inputs

Dial breadcrumbs in with 7 inputs. Bind them like any Angular @Input.

NameTypeDefaultDescription
itemsBreadcrumbItem[] | nullnullTrail supplied by the consumer, replacing the one derived from the router. Left null, the component keeps reading HubBreadcrumbsService.
variantstringSemantic accent for the breadcrumb links (e.g. primary, success) or any custom token name.
truncateItemsbooleanfalseWhen true, clips each label to --hub-breadcrumb-max-item-width with an ellipsis and shows a tooltip on overflow.
maxItemsnumber | undefinedundefinedLength above which the trail collapses behind an indicator. Undefined never collapses, however long the trail grows.
itemsBeforeCollapsenumber1Crumbs kept at the head of a collapsed trail.
itemsAfterCollapsenumber1Crumbs kept at the tail of a collapsed trail, the current page included.
collapsedAriaLabelstring'Show the hidden breadcrumb items'Accessible name of the collapsed indicator, so the one string this component announces can be translated by the host application.

Outputs

React to what breadcrumbs does — 1 events to hook your logic onto.

NameTypeDescription
collapsedClickvoidFires when the collapsed indicator is activated. The trail expands on its own; the event is for consumers that want to react as well.

Templates

Make it yours — 1 template slots let you project custom markup.

NameDescriptionExample
hubBreadcrumbItemCustom template for rendering individual breadcrumb items<ng-template hubBreadcrumbItem let-item let-isLast="isLast"> @if (!isLast) { <a [routerLink]="item.url" class="breadcrumb-link">{{ item.label }}</a> } @else { <span class="breadcrumb-current">{{ item.label }}</span> } </ng-template>