package examples import (package examples import ( "github.com/axadrn/shadcn-templ/v2/components/breadcrumb" "github.com/axadrn/shadcn-templ/v2/components/button" "github.com/axadrn/shadcn-templ/v2/components/dropdownmenu") templ BreadcrumbDemo() { @breadcrumb.Breadcrumb() { @breadcrumb.List() { @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "#"}) { Home } } @breadcrumb.Separator() @breadcrumb.Item() { @dropdownmenu.DropdownMenu() { @button.Button(button.Props{ Size: button.SizeIconSm, Variant: button.VariantGhost, Attributes: dropdownmenu.Trigger(ctx), }) { @breadcrumb.Ellipsis() <span class="sr-only">Toggle menu</span> } @dropdownmenu.Content(dropdownmenu.ContentProps{Align: dropdownmenu.AlignStart}) { @dropdownmenu.Group() { @dropdownmenu.Item() { Documentation } @dropdownmenu.Item() { Themes } @dropdownmenu.Item() { GitHub } } } } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "#"}) { Components } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Page() { Breadcrumb } } } }}Installation
Usage
Composition
Use the following composition to build a Breadcrumb:
Basic
A basic breadcrumb with a home link and a components link.
package examples import "github.com/axadrn/shadcn-templ/v2/components/breadcrumb"package examples import "github.com/axadrn/shadcn-templ/v2/components/breadcrumb" templ BreadcrumbBasic() { @breadcrumb.Breadcrumb() { @breadcrumb.List() { @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "#"}) { Home } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "#"}) { Components } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Page() { Breadcrumb } } } }}Custom separator
Pass custom children to breadcrumb.Separator to replace the default separator icon.
package examples import (package examples import ( "github.com/axadrn/shadcn-templ/v2/components/breadcrumb" "github.com/axadrn/shadcn-templ/v2/components/icon") templ BreadcrumbSeparator() { @breadcrumb.Breadcrumb() { @breadcrumb.List() { @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "/"}) { Home } } @breadcrumb.Separator() { @icon.Dot() } @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "/docs/components"}) { Components } } @breadcrumb.Separator() { @icon.Dot() } @breadcrumb.Item() { @breadcrumb.Page() { Breadcrumb } } } }}Dropdown
You can compose breadcrumb.Item with a dropdownmenu to create a dropdown in the breadcrumb.
package examples import (package examples import ( "github.com/axadrn/shadcn-templ/v2/components/breadcrumb" "github.com/axadrn/shadcn-templ/v2/components/dropdownmenu" "github.com/axadrn/shadcn-templ/v2/components/icon") templ BreadcrumbDropdown() { @breadcrumb.Breadcrumb() { @breadcrumb.List() { @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "/"}) { Home } } @breadcrumb.Separator() { @icon.Dot() } @breadcrumb.Item() { @dropdownmenu.DropdownMenu() { <button class="flex items-center gap-1" { dropdownmenu.Trigger(ctx)... }> Components @icon.ChevronDown(icon.Props{Class: "size-3.5", Attributes: templ.Attributes{"data-icon": "inline-end"}}) </button> @dropdownmenu.Content(dropdownmenu.ContentProps{Align: dropdownmenu.AlignStart}) { @dropdownmenu.Group() { @dropdownmenu.Item() { Documentation } @dropdownmenu.Item() { Themes } @dropdownmenu.Item() { GitHub } } } } } @breadcrumb.Separator() { @icon.Dot() } @breadcrumb.Item() { @breadcrumb.Page() { Breadcrumb } } } }}Collapsed
We provide a breadcrumb.Ellipsis component to show a collapsed state when the breadcrumb is too long.
package examples import "github.com/axadrn/shadcn-templ/v2/components/breadcrumb"package examples import "github.com/axadrn/shadcn-templ/v2/components/breadcrumb" templ BreadcrumbEllipsisDemo() { @breadcrumb.Breadcrumb() { @breadcrumb.List() { @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "/"}) { Home } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Ellipsis() } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "/docs/components"}) { Components } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Page() { Breadcrumb } } } }}Link component
The breadcrumb.Link component renders a standard anchor. Set the Href prop to link a breadcrumb item.
package examples import "github.com/axadrn/shadcn-templ/v2/components/breadcrumb"package examples import "github.com/axadrn/shadcn-templ/v2/components/breadcrumb" templ BreadcrumbLink() { @breadcrumb.Breadcrumb() { @breadcrumb.List() { @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "#link-component"}) { Home } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Link(breadcrumb.LinkProps{Href: "#link-component"}) { Components } } @breadcrumb.Separator() @breadcrumb.Item() { @breadcrumb.Page() { Breadcrumb } } } }}API Reference
Breadcrumb
The Breadcrumb component is the root navigation element that wraps all breadcrumb components.
List
The breadcrumb.List component displays the ordered list of breadcrumb items.
Item
The breadcrumb.Item component wraps individual breadcrumb items.
Link
The breadcrumb.Link component displays a clickable link in the breadcrumb.
Page
The breadcrumb.Page component displays the current page in the breadcrumb (non-clickable).
Separator
The breadcrumb.Separator component displays a separator between breadcrumb items. Pass custom children to override the default separator icon.
Ellipsis
The breadcrumb.Ellipsis component displays an ellipsis indicator for collapsed breadcrumb items.