lotusui
A Go design system for desktop and mobile — one codebase, native apps. Web when you want it.
GitHub

Breadcrumb

The path to the current page: muted ancestors, chevrons, current in ink.

Ancestor labels in muted ink separated by chevrons; the last label is the current page and never interactive. Pass clickables to make ancestors navigate. The shadcn demo collapses middle segments behind an ellipsis DropdownMenuTrigger (ghost icon-only, PopoverStart). For automatic collapse use BreadcrumbNav — same ITEMS_TO_DISPLAY rule as shadcn's responsive example.

Installation

Use the module import (the default), or own the source: lotusui add vendors the component into your app and lotusui update keeps the copy mergeable — see Registry.

Go
go get github.com/ikaito-com/lotusui

# or vendor the source into your app:
go run github.com/ikaito-com/lotusui/cmd/lotusui add breadcrumb

Usage

The primary demo mirrors shadcn's: Home, an ellipsis menu (Documentation / Themes / GitHub), Components, Breadcrumb. Align the menu with PopoverStart so it opens under the dots, not centered.

open demo ↗

Custom separator

The composable pieces — BreadcrumbLink, BreadcrumbPage, BreadcrumbSep — build custom trails; pass any icon as the separator.

open demo ↗

Collapsed

BreadcrumbEllipsis is the bare collapsed-depth mark (shadcn's "Collapsed"). Wire it to a menu as in Usage when the dots should reveal the hidden trail — or use BreadcrumbNav.

open demo ↗

Responsive

BreadcrumbNav mirrors shadcn's responsive example: when the path is longer than ItemsToDisplay (default 3), the middle collapses into an ellipsis menu (items.slice(1, -2)). Below the theme md breakpoint the trail shows first+last only and labels truncate (max-w-20). Mobile Drawer is "from the web"; the ellipsis still opens a dropdown at every width.

open demo ↗

API

OptionTypeDescription
btns[]*widget.ClickableIndex-aligned; makes ancestor labels clickable, nil = static.
labels...stringThe path; the LAST label is the current page, never interactive.
BreadcrumbNavstructResponsive trail: ItemsToDisplay (default 3), auto ellipsis menu, md truncate.
BreadcrumbSeg / SegLink / SegOf / SegsctorsBuild-time segments for BreadcrumbNav.
BreadcrumbLink / BreadcrumbPagewidgetThe composable pieces: clickable ancestor; current page.
BreadcrumbSep(th, icon)widgetBetween-items glyph; empty icon = the chevron.
BreadcrumbEllipsis(th)widgetBare collapsed-depth mark — prefer BreadcrumbNav or DropdownMenuTrigger{Icon, Align: PopoverStart} for interactive dots.

lotusui is a Go design system for native desktop and mobile — and the web when you want it. Docs demos are the real components (WebAssembly) — one gallery app, each Preview an iframe addressed by URL hash.