deno.land / x / netzo@0.5.16 / components / breadcrumb.tsx
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116// @deno-types="npm:@types/react@18.2.60"import * as React from "react";
import { Slot } from "../deps/@radix-ui/react-slot.ts";import { cn } from "./utils.ts";
const Breadcrumb = React.forwardRef< HTMLElement, React.ComponentPropsWithoutRef<"nav"> & { separator?: React.ReactNode; }>(({ ...props }, ref) => <nav ref={ref} aria-label="breadcrumb" {...props} />);Breadcrumb.displayName = "Breadcrumb";
const BreadcrumbList = React.forwardRef< HTMLOListElement, React.ComponentPropsWithoutRef<"ol">>(({ className, ...props }, ref) => ( <ol ref={ref} className={cn( "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5", className, )} {...props} />));BreadcrumbList.displayName = "BreadcrumbList";
const BreadcrumbItem = React.forwardRef< HTMLLIElement, React.ComponentPropsWithoutRef<"li">>(({ className, ...props }, ref) => ( <li ref={ref} className={cn("inline-flex items-center gap-1.5", className)} {...props} />));BreadcrumbItem.displayName = "BreadcrumbItem";
const BreadcrumbLink = React.forwardRef< HTMLAnchorElement, React.ComponentPropsWithoutRef<"a"> & { asChild?: boolean; }>(({ asChild, className, ...props }, ref) => { const Comp = asChild ? Slot : "a";
return ( <Comp ref={ref} className={cn("transition-colors hover:text-foreground", className)} {...props} /> );});BreadcrumbLink.displayName = "BreadcrumbLink";
const BreadcrumbPage = React.forwardRef< HTMLSpanElement, React.ComponentPropsWithoutRef<"span">>(({ className, ...props }, ref) => ( <span ref={ref} role="link" aria-disabled="true" aria-current="page" className={cn("font-normal text-foreground", className)} {...props} />));BreadcrumbPage.displayName = "BreadcrumbPage";
const BreadcrumbSeparator = ({ children, className, ...props}: React.ComponentProps<"li">) => ( <li role="presentation" aria-hidden="true" className={cn("[&>svg]:size-3.5", className)} {...props} > {children || <i className="mdi-chevron-right" />} </li>);BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
const BreadcrumbEllipsis = ({ className, ...props}: React.ComponentProps<"span">) => ( <span role="presentation" aria-hidden="true" className={cn("flex h-9 w-9 items-center justify-center", className)} {...props} > <i className="mdi-dots-horizontal h-4 w-4" /> <span className="sr-only">More</span> </span>);BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,};
Version Info