Interactive Playground
Combine every prop live and copy the resulting code.
Basic Usage
Pass an ordered items array. Every item but the last renders as a link when it has a to; the last item is always the current, non-clickable page.
Variants
variant swaps the trail's weight - minimal drops the border/background for a bare trail (combine with :icon="false" for the plainest look).
Sizes
Control padding, gap, and text scale using the size prop.
Alignment
align positions the trail within its parent - full stretches to 100% width and pins the first and last items to opposite edges.
Severity
Tint the pill with the same core six severities every component in the library supports. secondary is the default and matches the component's original neutral look.
With Icons
Give any item its own icon for a distinct icon per crumb - additive to the whole-trail icon prop, which still works as the default leading icon.
With Actions
showRefresh adds a trailing refresh button emitting refresh. The actions slot renders after the refresh button for anything else, like a "more" kebab menu.
With Dropdowns
Two distinct behaviors, both built on the same DropDown component: a per-item children array turns that item into a "Products ▾" menu trigger, and a trail too long for its container automatically collapses its middle items into a single "…" trigger listing them.
Responsive Behavior
The trail measures its own container - not the viewport - so it collapses the same way whether it's embedded in a full-width header or a narrow card. Drag the handle below (or resize your browser) to see the middle items collapse into "…" as space runs out.
Router-Aware Links
The library ships framework-agnostic, so linked items render as plain <a> tags by default. In a Nuxt or vue-router app, use the item slot to swap in NuxtLink / RouterLink for client-side navigation — this docs site does exactly that for its own breadcrumbs.