The Breadcrumb component provides navigation context by showing users their current location within a website's hierarchy. It helps users understand where they are and provides quick navigation back to parent pages.
import { Breadcrumb } from '@dashflowx/core'export default function BreadcrumbExample() {const breadcrumbList = [{ id: '1', type: 'item', title: 'Home', href: '/', separator: true },{ id: '2', type: 'item', title: 'Products', href: '/products', separator: true },{ id: '3', type: 'item', title: 'Current Page', separator: false }];return (<Breadcrumbvariant="default"size="md"separatorStyle="custom"breadcrumbList={breadcrumbList}/>)}
Preview:
| Prop | Type | Default | Description |
|---|---|---|---|
breadcrumbList | iBreadcrumbItem[] | - | Array of breadcrumb items |
variant | BreadcrumbVariant | 'default' | Visual style variant of the breadcrumb |
size | BreadcrumbSize | 'md' | Size of the breadcrumb component |
separatorStyle | BreadcrumbSeparatorStyle | 'custom' | Style of the separator between items |
className | string | '' | Additional CSS classes for the container |
Standard breadcrumb with muted colors and subtle styling.
const defaultBreadcrumb = [{ id: '1', type: 'item', title: 'Home', href: '/', separator: true },{ id: '2', type: 'item', title: 'Products', href: '/products', separator: true },{ id: '3', type: 'item', title: 'Electronics', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="custom"breadcrumbList={defaultBreadcrumb}/>
Clean, minimal design with simple text styling.
const minimalBreadcrumb = [{ id: '1', type: 'item', title: 'Dashboard', href: '/dashboard', separator: true },{ id: '2', type: 'item', title: 'Analytics', href: '/dashboard/analytics', separator: true },{ id: '3', type: 'item', title: 'Reports', separator: false }];<Breadcrumbvariant="minimal"size="md"separatorStyle="custom"breadcrumbList={minimalBreadcrumb}/>
Breadcrumb with a subtle border and rounded corners.
const borderedBreadcrumb = [{ id: '1', type: 'item', title: 'Store', href: '/store', separator: true },{ id: '2', type: 'item', title: 'Categories', href: '/store/categories', separator: true },{ id: '3', type: 'item', title: 'Clothing', href: '/store/categories/clothing', separator: true },{ id: '4', type: 'item', title: 'T-Shirts', separator: false }];<Breadcrumbvariant="bordered"size="md"separatorStyle="custom"breadcrumbList={borderedBreadcrumb}/>
Breadcrumb with a light background fill and rounded corners.
const filledBreadcrumb = [{ id: '1', type: 'item', title: 'Library', href: '/library', separator: true },{ id: '2', type: 'item', title: 'Books', href: '/library/books', separator: true },{ id: '3', type: 'item', title: 'Fiction', href: '/library/books/fiction', separator: true },{ id: '4', type: 'item', title: 'Mystery', href: '/library/books/fiction/mystery', separator: true },{ id: '5', type: 'item', title: 'The Hound', separator: false }];<Breadcrumbvariant="filled"size="md"separatorStyle="custom"breadcrumbList={filledBreadcrumb}/>
Breadcrumb with a beautiful gradient background and white text.
const gradientBreadcrumb = [{ id: '1', type: 'item', title: 'Portfolio', href: '/portfolio', separator: true },{ id: '2', type: 'item', title: 'Projects', href: '/portfolio/projects', separator: true },{ id: '3', type: 'item', title: 'Web Apps', separator: false }];<Breadcrumbvariant="gradient"size="md"separatorStyle="custom"breadcrumbList={gradientBreadcrumb}/>
Breadcrumb with a prominent border and clean styling.
const outlinedBreadcrumb = [{ id: '1', type: 'item', title: 'Admin', href: '/admin', separator: true },{ id: '2', type: 'item', title: 'Users', href: '/admin/users', separator: true },{ id: '3', type: 'item', title: 'Settings', href: '/admin/users/settings', separator: true },{ id: '4', type: 'item', title: 'Profile', separator: false }];<Breadcrumbvariant="outlined"size="md"separatorStyle="custom"breadcrumbList={outlinedBreadcrumb}/>
Compact size with minimal spacing and smaller text.
const smallBreadcrumb = [{ id: '1', type: 'item', title: 'Blog', href: '/blog', separator: true },{ id: '2', type: 'item', title: 'Tech', separator: false }];<Breadcrumbvariant="default"size="sm"separatorStyle="custom"breadcrumbList={smallBreadcrumb}/>
Standard size with balanced spacing and text size.
const mediumBreadcrumb = [{ id: '1', type: 'item', title: 'Support', href: '/support', separator: true },{ id: '2', type: 'item', title: 'Tickets', href: '/support/tickets', separator: true },{ id: '3', type: 'item', title: 'Open', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="custom"breadcrumbList={mediumBreadcrumb}/>
Larger size with generous spacing and bigger text.
const largeBreadcrumb = [{ id: '1', type: 'item', title: 'Documentation', href: '/docs', separator: true },{ id: '2', type: 'item', title: 'Components', href: '/docs/components', separator: true },{ id: '3', type: 'item', title: 'Navigation', href: '/docs/components/navigation', separator: true },{ id: '4', type: 'item', title: 'Breadcrumb', separator: false }];<Breadcrumbvariant="default"size="lg"separatorStyle="custom"breadcrumbList={largeBreadcrumb}/>
Standard greater-than symbol separator.
const customSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Home', href: '/', separator: true },{ id: '2', type: 'item', title: 'About', href: '/about', separator: true },{ id: '3', type: 'item', title: 'Team', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="custom"breadcrumbList={customSeparatorBreadcrumb}/>
Forward slash separator for a clean look.
const slashSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Files', href: '/files', separator: true },{ id: '2', type: 'item', title: 'Documents', href: '/files/documents', separator: true },{ id: '3', type: 'item', title: 'Reports', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="slash"breadcrumbList={slashSeparatorBreadcrumb}/>
Chevron arrow separator for modern design.
const chevronSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Shop', href: '/shop', separator: true },{ id: '2', type: 'item', title: 'Electronics', href: '/shop/electronics', separator: true },{ id: '3', type: 'item', title: 'Laptops', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="chevron"breadcrumbList={chevronSeparatorBreadcrumb}/>
Right arrow separator for directional navigation.
const arrowSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Services', href: '/services', separator: true },{ id: '2', type: 'item', title: 'Consulting', href: '/services/consulting', separator: true },{ id: '3', type: 'item', title: 'Strategy', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="arrow"breadcrumbList={arrowSeparatorBreadcrumb}/>
Dot separator for minimal, clean appearance.
const dotSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Gallery', href: '/gallery', separator: true },{ id: '2', type: 'item', title: 'Photos', href: '/gallery/photos', separator: true },{ id: '3', type: 'item', title: 'Nature', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="dot"breadcrumbList={dotSeparatorBreadcrumb}/>
Downward caret separator for dropdown-style navigation.
const caretSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Tools', href: '/tools', separator: true },{ id: '2', type: 'item', title: 'Development', href: '/tools/development', separator: true },{ id: '3', type: 'item', title: 'IDE', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="caret"breadcrumbList={caretSeparatorBreadcrumb}/>
Double chevron separator for enhanced visual hierarchy.
const doubleChevronSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Learning', href: '/learning', separator: true },{ id: '2', type: 'item', title: 'Courses', href: '/learning/courses', separator: true },{ id: '3', type: 'item', title: 'Programming', href: '/learning/courses/programming', separator: true },{ id: '4', type: 'item', title: 'JavaScript', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="double-chevron"breadcrumbList={doubleChevronSeparatorBreadcrumb}/>
Triangle separator for unique visual appeal.
const triangleSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Projects', href: '/projects', separator: true },{ id: '2', type: 'item', title: 'Web', href: '/projects/web', separator: true },{ id: '3', type: 'item', title: 'E-commerce', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="triangle"breadcrumbList={triangleSeparatorBreadcrumb}/>
Circle separator for a modern, geometric look.
const circleSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Design', href: '/design', separator: true },{ id: '2', type: 'item', title: 'UI/UX', href: '/design/ui-ux', separator: true },{ id: '3', type: 'item', title: 'Wireframes', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="circle"breadcrumbList={circleSeparatorBreadcrumb}/>
Square separator for a structured, organized appearance.
const squareSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Management', href: '/management', separator: true },{ id: '2', type: 'item', title: 'Projects', href: '/management/projects', separator: true },{ id: '3', type: 'item', title: 'Timeline', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="square"breadcrumbList={squareSeparatorBreadcrumb}/>
Star separator for a premium, special feel.
const starSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Premium', href: '/premium', separator: true },{ id: '2', type: 'item', title: 'Features', href: '/premium/features', separator: true },{ id: '3', type: 'item', title: 'Advanced', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="star"breadcrumbList={starSeparatorBreadcrumb}/>
Heart separator for a friendly, approachable design.
const heartSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Community', href: '/community', separator: true },{ id: '2', type: 'item', title: 'Forums', href: '/community/forums', separator: true },{ id: '3', type: 'item', title: 'Discussions', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="heart"breadcrumbList={heartSeparatorBreadcrumb}/>
Diamond separator for a premium, luxury appearance.
const diamondSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Luxury', href: '/luxury', separator: true },{ id: '2', type: 'item', title: 'Products', href: '/luxury/products', separator: true },{ id: '3', type: 'item', title: 'Collection', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="diamond"breadcrumbList={diamondSeparatorBreadcrumb}/>
Diagonal arrow separator for dynamic navigation.
const arrowUpRightSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Growth', href: '/growth', separator: true },{ id: '2', type: 'item', title: 'Metrics', href: '/growth/metrics', separator: true },{ id: '3', type: 'item', title: 'Analytics', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="arrow-up-right"breadcrumbList={arrowUpRightSeparatorBreadcrumb}/>
Downward diagonal arrow separator for descending navigation.
const arrowDownRightSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Settings', href: '/settings', separator: true },{ id: '2', type: 'item', title: 'Advanced', href: '/settings/advanced', separator: true },{ id: '3', type: 'item', title: 'Configuration', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="arrow-down-right"breadcrumbList={arrowDownRightSeparatorBreadcrumb}/>
Horizontal bidirectional arrow separator for flexible navigation.
const arrowLeftRightSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Navigation', href: '/navigation', separator: true },{ id: '2', type: 'item', title: 'Menu', href: '/navigation/menu', separator: true },{ id: '3', type: 'item', title: 'Items', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="arrow-left-right"breadcrumbList={arrowLeftRightSeparatorBreadcrumb}/>
Vertical bidirectional arrow separator for vertical navigation.
const arrowUpDownSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Vertical', href: '/vertical', separator: true },{ id: '2', type: 'item', title: 'Layout', href: '/vertical/layout', separator: true },{ id: '3', type: 'item', title: 'Structure', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="arrow-up-down"breadcrumbList={arrowUpDownSeparatorBreadcrumb}/>
Grip separator for a modern, interactive feel.
const gripVerticalSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Interactive', href: '/interactive', separator: true },{ id: '2', type: 'item', title: 'Elements', href: '/interactive/elements', separator: true },{ id: '3', type: 'item', title: 'Components', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="grip-vertical"breadcrumbList={gripVerticalSeparatorBreadcrumb}/>
Horizontal dots separator for a minimal, clean look.
const moreHorizontalSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Minimal', href: '/minimal', separator: true },{ id: '2', type: 'item', title: 'Design', href: '/minimal/design', separator: true },{ id: '3', type: 'item', title: 'Clean', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="more-horizontal"breadcrumbList={moreHorizontalSeparatorBreadcrumb}/>
Plus separator for an additive, expanding feel.
const plusSeparatorBreadcrumb = [{ id: '1', type: 'item', title: 'Expand', href: '/expand', separator: true },{ id: '2', type: 'item', title: 'Features', href: '/expand/features', separator: true },{ id: '3', type: 'item', title: 'Growth', separator: false }];<Breadcrumbvariant="default"size="md"separatorStyle="plus"breadcrumbList={plusSeparatorBreadcrumb}/>
const gradientStarBreadcrumb = [{ id: '1', type: 'item', title: 'Premium', href: '/premium', separator: true },{ id: '2', type: 'item', title: 'Features', href: '/premium/features', separator: true },{ id: '3', type: 'item', title: 'Advanced', separator: false }];<Breadcrumbvariant="gradient"size="lg"separatorStyle="star"className="shadow-lg"breadcrumbList={gradientStarBreadcrumb}/>
const borderedHeartBreadcrumb = [{ id: '1', type: 'item', title: 'Community', href: '/community', separator: true },{ id: '2', type: 'item', title: 'Support', href: '/community/support', separator: true },{ id: '3', type: 'item', title: 'Help', separator: false }];<Breadcrumbvariant="bordered"size="md"separatorStyle="heart"className="border-pink-200 bg-pink-50"breadcrumbList={borderedHeartBreadcrumb}/>
const outlinedDiamondBreadcrumb = [{ id: '1', type: 'item', title: 'Luxury', href: '/luxury', separator: true },{ id: '2', type: 'item', title: 'Collection', href: '/luxury/collection', separator: true },{ id: '3', type: 'item', title: 'Premium', separator: false }];<Breadcrumbvariant="outlined"size="sm"separatorStyle="diamond"className="border-purple-300 text-purple-700"breadcrumbList={outlinedDiamondBreadcrumb}/>
interface iBreadcrumbItem {id: string;type: 'item' | 'dropdown';title: string | JSX.Element;href?: string;children?: iBreadcrumbItemChild[];separator?: boolean;}interface iBreadcrumbItemChild {title: string | JSX.Element;href?: string;}
const productBreadcrumb = [{ id: '1', type: 'item', title: 'Home', href: '/', separator: true },{ id: '2', type: 'item', title: 'Electronics', href: '/electronics', separator: true },{ id: '3', type: 'item', title: 'Smartphones', href: '/electronics/smartphones', separator: true },{ id: '4', type: 'item', title: 'iPhone 15 Pro', separator: false }];<Breadcrumbvariant="filled"size="md"separatorStyle="chevron"breadcrumbList={productBreadcrumb}/>
const docBreadcrumb = [{ id: '1', type: 'item', title: 'Docs', href: '/docs', separator: true },{ id: '2', type: 'item', title: 'Components', href: '/docs/components', separator: true },{ id: '3', type: 'item', title: 'Button', href: '/docs/components/button', separator: true },{ id: '4', type: 'item', title: 'API Reference', separator: false }];<Breadcrumbvariant="minimal"size="sm"separatorStyle="slash"breadcrumbList={docBreadcrumb}/>
const adminBreadcrumb = [{ id: '1', type: 'item', title: 'Dashboard', href: '/admin', separator: true },{ id: '2', type: 'item', title: 'Users', href: '/admin/users', separator: true },{ id: '3', type: 'item', title: 'User Details', separator: false }];<Breadcrumbvariant="gradient"size="lg"separatorStyle="arrow"breadcrumbList={adminBreadcrumb}/>
- Use
defaultfor standard navigation - Use
minimalfor clean, simple designs - Use
borderedfor subtle emphasis - Use
filledfor gentle background highlighting - Use
gradientfor eye-catching navigation - Use
outlinedfor prominent borders
- Use
smfor compact spaces and mobile - Use
mdfor standard web layouts - Use
lgfor prominent navigation areas
- Use
customfor traditional breadcrumbs - Use
slashfor clean, minimal designs - Use
chevronfor modern interfaces - Use
arrowfor directional emphasis - Use
dotfor subtle separation - Use
caretfor dropdown-style navigation - Use
double-chevronfor enhanced hierarchy - Use
trianglefor unique visual appeal - Use
circlefor modern, geometric designs - Use
squarefor structured, organized layouts - Use
starfor premium, special features - Use
heartfor friendly, community sections - Use
diamondfor luxury, premium content - Use
arrow-up-rightfor growth, upward trends - Use
arrow-down-rightfor settings, configuration - Use
arrow-left-rightfor flexible navigation - Use
arrow-up-downfor vertical layouts - Use
grip-verticalfor interactive elements - Use
more-horizontalfor minimal designs - Use
plusfor expanding, additive content
- Ensure sufficient color contrast for all variants
- Provide hover states for interactive elements
- Use semantic HTML structure
- Include proper ARIA labels
