# TallStackUI: Breadcrumbs > TallStackUI is a TALL Stack (Tailwind CSS, Alpine.js, Laravel, Livewire) > component library providing 65+ Blade components for building modern web interfaces. A breadcrumb navigation component that renders a trail of links with configurable separators, icons, tooltips, and multiple sizes. Items can be passed directly as an array or resolved automatically from a route-based breadcrumb registry. ## Basic Usage ```blade ``` ```blade ``` ```blade {{-- Auto-resolved from route-based registry (no items needed) --}} ``` ## Attributes | Attribute | Type | Default | Description | |----------------|-------------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------| | items | array\|Collection\|null | null | Array of breadcrumb items; each item has `label`, optional `link`, `icon`, and `tooltip`. When null, items are resolved from the breadcrumb registry. | | separator | string\|null | '/' | Separator between items; use `icon:icon-name` for icon separators | | separatorClass | string\|null | null | Additional CSS classes applied to the separator | | xs | bool | null | Extra-small size | | sm | bool | null | Small size | | lg | bool | null | Large size | ## Item Array Structure Each item in the `items` array supports these keys: | Key | Type | Required | Description | |---------|--------------|----------|--------------------------------------------------------------------------------------| | label | string | Yes | Display text for the breadcrumb | | link | string\|null | No | URL, relative path, or named route. Items without a link render as the current page. | | icon | string\|null | No | Heroicon name displayed before the label | | tooltip | string\|null | No | Tooltip text shown on hover | ## Slots | Slot | Description | |-------|---------------------------------------------| | left | Content rendered before the breadcrumb list | | right | Content rendered after the breadcrumb list | ## Configuration The breadcrumbs component supports a file-based registry for defining breadcrumbs per route. Configure the definition files in `config/tallstackui.php`: ```php 'breadcrumbs' => [ \TallStackUi\Components\Breadcrumbs\Component::class, [ 'files' => [ 'routes/breadcrumbs.php', ], ], ], ``` In `routes/breadcrumbs.php`, register breadcrumbs using the `BreadcrumbRegistry`: ```php use TallStackUi\Facades\TallStackUi; use TallStackUi\Support\Breadcrumbs\BreadcrumbTrail; TallStackUi::breadcrumbs() ->for('dashboard', fn (BreadcrumbTrail $trail) => $trail->push('Dashboard', route('dashboard')) ) ->for('users.show', fn (BreadcrumbTrail $trail, User $user) => $trail->parent('dashboard') ->push($user->name) ); ``` ## Soft Customization Soft customization allows you to override default Tailwind CSS classes used by this component at runtime, either through a service provider or scoped per-instance. ### Customization ```php TallStackUi::customize() ->breadcrumbs() ->block('wrapper', 'your-tailwind-classes'); ``` ### Available Blocks | Block Name | Purpose | |-------------------------|------------------------------------------| | wrapper | Outer nav flex container | | list.class | Ordered list flex layout | | list.sizes.xs | List gap at extra-small size | | list.sizes.sm | List gap at small size | | list.sizes.md | List gap at medium size | | list.sizes.lg | List gap at large size | | separator.wrapper | Separator list item wrapper | | separator.text.class | Text separator color and styling | | separator.text.sizes.xs | Text separator size at xs | | separator.text.sizes.sm | Text separator size at sm | | separator.text.sizes.md | Text separator size at md | | separator.text.sizes.lg | Text separator size at lg | | separator.icon.class | Icon separator color and styling | | separator.icon.sizes.xs | Icon separator size at xs | | separator.icon.sizes.sm | Icon separator size at sm | | separator.icon.sizes.md | Icon separator size at md | | separator.icon.sizes.lg | Icon separator size at lg | | item.wrapper | Individual breadcrumb item container | | item.link.class | Linked item text color and hover styles | | item.link.sizes.xs | Linked item text size at xs | | item.link.sizes.sm | Linked item text size at sm | | item.link.sizes.md | Linked item text size at md | | item.link.sizes.lg | Linked item text size at lg | | item.current.class | Current (non-linked) item font and color | | item.current.sizes.xs | Current item text size at xs | | item.current.sizes.sm | Current item text size at sm | | item.current.sizes.md | Current item text size at md | | item.current.sizes.lg | Current item text size at lg | | item.icon.class | Item icon base styles | | item.icon.sizes.xs | Item icon size at xs | | item.icon.sizes.sm | Item icon size at sm | | item.icon.sizes.md | Item icon size at md | | item.icon.sizes.lg | Item icon size at lg |