spb/vquant Public MIT
VibeQuant — AI-powered institutional-grade financial intelligence platform.
TypeScript 84.3%
Python 11.7%
JavaScript 1.6%
CSS 1.5%
HTML 0.7%
1/*2 * =============================================================================3 * VibeQuant (vquant) — AI-Powered Financial Intelligence Platform4 * -----------------------------------------------------------------------------5 * File: client/src/components/ui/breadcrumb.tsx6 *7 * Author: Simon-Pierre Boucher8 * Contact: contact@spboucher.ai9 * Website: https://www.spboucher.ai10 * Demo: https://www.vquant.ai11 * License: MIT (see LICENSE)12 *13 * Copyright © 2026 Simon-Pierre Boucher. All rights reserved.14 * =============================================================================15 */1617import * as React from "react"18import { Slot } from "@radix-ui/react-slot"19import { ChevronRight, MoreHorizontal } from "lucide-react"2021import { cn } from "@/lib/utils"2223const Breadcrumb = React.forwardRef<24 HTMLElement,25 React.ComponentPropsWithoutRef<"nav"> & {26 separator?: React.ReactNode27 }28>(({ ...props }, ref) => <nav ref={ref} aria-label="breadcrumb" {...props} />)29Breadcrumb.displayName = "Breadcrumb"3031const BreadcrumbList = React.forwardRef<32 HTMLOListElement,33 React.ComponentPropsWithoutRef<"ol">34>(({ className, ...props }, ref) => (35 <ol36 ref={ref}37 className={cn(38 "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",39 className40 )}41 {...props}42 />43))44BreadcrumbList.displayName = "BreadcrumbList"4546const BreadcrumbItem = React.forwardRef<47 HTMLLIElement,48 React.ComponentPropsWithoutRef<"li">49>(({ className, ...props }, ref) => (50 <li51 ref={ref}52 className={cn("inline-flex items-center gap-1.5", className)}53 {...props}54 />55))56BreadcrumbItem.displayName = "BreadcrumbItem"5758const BreadcrumbLink = React.forwardRef<59 HTMLAnchorElement,60 React.ComponentPropsWithoutRef<"a"> & {61 asChild?: boolean62 }63>(({ asChild, className, ...props }, ref) => {64 const Comp = asChild ? Slot : "a"6566 return (67 <Comp68 ref={ref}69 className={cn("transition-colors hover:text-foreground", className)}70 {...props}71 />72 )73})74BreadcrumbLink.displayName = "BreadcrumbLink"7576const BreadcrumbPage = React.forwardRef<77 HTMLSpanElement,78 React.ComponentPropsWithoutRef<"span">79>(({ className, ...props }, ref) => (80 <span81 ref={ref}82 role="link"83 aria-disabled="true"84 aria-current="page"85 className={cn("font-normal text-foreground", className)}86 {...props}87 />88))89BreadcrumbPage.displayName = "BreadcrumbPage"9091const BreadcrumbSeparator = ({92 children,93 className,94 ...props95}: React.ComponentProps<"li">) => (96 <li97 role="presentation"98 aria-hidden="true"99 className={cn("[&>svg]:w-3.5 [&>svg]:h-3.5", className)}100 {...props}101 >102 {children ?? <ChevronRight />}103 </li>104)105BreadcrumbSeparator.displayName = "BreadcrumbSeparator"106107const BreadcrumbEllipsis = ({108 className,109 ...props110}: React.ComponentProps<"span">) => (111 <span112 role="presentation"113 aria-hidden="true"114 className={cn("flex h-9 w-9 items-center justify-center", className)}115 {...props}116 >117 <MoreHorizontal className="h-4 w-4" />118 <span className="sr-only">More</span>119 </span>120)121BreadcrumbEllipsis.displayName = "BreadcrumbElipssis"122123export {124 Breadcrumb,125 BreadcrumbList,126 BreadcrumbItem,127 BreadcrumbLink,128 BreadcrumbPage,129 BreadcrumbSeparator,130 BreadcrumbEllipsis,131}132