import { NgClass } from '@angular/common'; import { ChangeDetectionStrategy, Component, inject, input, } from '@angular/core'; import { RouterLink } from '@angular/router'; import { AfricaniesIconComponent } from '@africanies/africanies-icons'; import { ModeColorService } from '@africanies/africanies-theme'; import type { AfricaniesNavItem } from '../nav-item'; /** * Breadcrumb trail for hierarchical navigation. * * Items may set {@link AfricaniesNavItem.routerLink} so crumbs navigate via the * consumer’s Angular Router. The **last** item is always the current page * (`aria-current="page"`) and is not interactive. * * @example * ```html * * * * * * ``` */ @Component({ selector: 'africanies-breadcrumb', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AfricaniesIconComponent, RouterLink, NgClass], template: ` `, }) /** * Breadcrumb trail for hierarchical navigation. */ export class BreadcrumbComponent { protected readonly modeColor = inject(ModeColorService); /** Ordered crumbs; the last entry is the current page. */ readonly items = input.required(); }