{{--
The breadcrumb trail — docs/wireframes-v12/view-project.html's
`.breadcrumb-nav`: links separated by a "/" span, the last item plain text.
Usage, from inside a view that extends layouts.app:
@section('breadcrumbs')
@endsection
A null url renders the label as plain text (the current page).
---
CR-2 (spec §12). v12 puts the trail in the header, beside the page title,
not at the top of the content — so this now renders into the
`breadcrumbs` section that layouts/partials/topbar.blade.php yields.
Sections declared by a view are captured before its layout renders, which
is why a component in the content file can end up in the header.
A page that declares no such section (the dashboard, matching index.html)
gets a Home-only trail from the topbar instead; this component is not
involved in that case.
Separator: v12 writes a literal "/" in a `.sep` span rather than the chevron
icon the v10 pack used. Kept as text, and aria-hidden, so a screen reader
reads "Projects, Add Project" and not "Projects slash Add Project".
--}}
@props(['items' => []])
{{-- Only the LAST crumb may claim to be the current page. A trail can legally
carry more than one url-less item — CR-7's two listings both render
"Home / Administration / ", where Administration is a sidebar section
with no screen of its own, exactly as the wireframe writes it — and two
elements answering to aria-current="page" is one more current page than a
document can have.
"Last" is asked positionally, with $loop->last, and not by comparing the
label against array_key_last(): the labels ARE the array keys, so a trail
that legitimately repeats one ("Projects / … / Projects") would have marked
both. Position is the question being asked, so position is what is
compared. --}}