Lemma Breadcrumbs
lemma/lemma-breadcrumbsUnverifiedBlock
Workspace breadcrumbs for route, record, and file paths with truncation, icons, helper builders, and shared appearance controls.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/lemma-work/lemma-platform/main/lemma-typescript/lemma-breadcrumbs.jsonSource
1"use client"23import * as React from "react"4import {5 Breadcrumb,6 BreadcrumbEllipsis,7 BreadcrumbItem,8 BreadcrumbLink,9 BreadcrumbList,10 BreadcrumbPage,11 BreadcrumbSeparator,12} from "@/components/lemma/ui/breadcrumb"13import { cn } from "@/components/lemma/lib/utils"1415export type LemmaBreadcrumbAppearance = "default" | "minimal" | "borderless" | "contained"16export type LemmaBreadcrumbDensity = "compact" | "comfortable" | "spacious"17export type LemmaBreadcrumbRadius = "none" | "sm" | "md" | "lg" | "xl"1819export interface LemmaBreadcrumbItem {20 label: React.ReactNode21 href?: string22 title?: string23 icon?: React.ReactNode24 current?: boolean25 onClick?: () => void26}2728export interface LemmaBreadcrumbsProps {29 items: LemmaBreadcrumbItem[]30 maxItems?: number31 appearance?: LemmaBreadcrumbAppearance32 density?: LemmaBreadcrumbDensity33 radius?: LemmaBreadcrumbRadius34 className?: string35 onNavigate?: (item: LemmaBreadcrumbItem) => void36}3738export function LemmaBreadcrumbs({39 items,40 maxItems = 5,41 appearance = "default",42 density = "comfortable",43 radius = "lg",44 className,45 onNavigate,46}: LemmaBreadcrumbsProps) {47 const visibleItems = React.useMemo(() => collapseBreadcrumbItems(items, maxItems), [items, maxItems])4849 if (items.length === 0) return null5051 return (52 <Breadcrumb53 data-appearance={appearance}54 data-density={density}55 data-radius={radius}56 className={cn("min-w-0", className)}57 >58 <BreadcrumbList className={cn("flex-nowrap", densityClassName(density))}>59 {visibleItems.map((item, index) => {60 const isEllipsis = item === null61 const isLast = index === visibleItems.length - 162 const current = !isEllipsis && (item.current || isLast)6364 return (65 <React.Fragment key={isEllipsis ? `ellipsis-${index}` : `${item.title ?? item.href ?? index}`}>66 {index > 0 ? <BreadcrumbSeparator className="shrink-0" /> : null}67 <BreadcrumbItem className="min-w-0">68 {isEllipsis ? (69 <BreadcrumbEllipsis className={cn("text-muted-foreground", radiusClassName(radius))} />70 ) : current ? (71 <BreadcrumbPage72 title={item.title}73 className={cn("inline-flex min-w-0 max-w-64 items-center gap-1.5 truncate font-medium", pageClassName(appearance))}74 >75// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from lemma
All 20 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Lemma Action Surfacelemma-action-surface | lemma | Blocks | Unverified | 4 deps | |
| Lemma Activity Feedlemma-activity-feed | lemma | Blocks | Unverified | 4 deps · 3 files | |
| Lemma Agent Conversation Experiencelemma-assistant-experience | lemma | Blocks | Unverified | 7 deps · 3 files | |
| Lemma Commentslemma-comments | lemma | Blocks | Unverified | 4 deps · 3 files | |
| Lemma Detail Panellemma-detail-panel | lemma | Blocks | Unverified | 4 deps · 7 files | |
| Lemma Document Workspacelemma-document-workspace | lemma | Blocks | Unverified | 6 deps | |
| Lemma File Browserlemma-file-browser | lemma | Blocks | Unverified | 4 deps | |
| Lemma Global Searchlemma-global-search | lemma | Blocks | Unverified | 4 deps |
