UNPKG

@arolariu/components

Version:

🎨 70+ beautiful, accessible React components built on Radix UI. TypeScript-first, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡

69 lines (68 loc) • 2.9 kB
"use client"; import { jsx, jsxs } from "react/jsx-runtime"; import { Slot } from "@radix-ui/react-slot"; import { ChevronRight, MoreHorizontal } from "lucide-react"; import { forwardRef } from "react"; import { cn } from "../../lib/utilities.js"; const Breadcrumb = /*#__PURE__*/ forwardRef(({ ...props }, ref)=>/*#__PURE__*/ jsx("nav", { ref: ref, "aria-label": "breadcrumb", ...props })); Breadcrumb.displayName = "Breadcrumb"; const BreadcrumbList = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("ol", { ref: ref, className: cn("flex flex-wrap items-center gap-1.5 text-sm break-words text-neutral-500 sm:gap-2.5 dark:text-neutral-400", className), ...props })); BreadcrumbList.displayName = "BreadcrumbList"; const BreadcrumbItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("li", { ref: ref, className: cn("inline-flex items-center gap-1.5", className), ...props })); BreadcrumbItem.displayName = "BreadcrumbItem"; const BreadcrumbLink = /*#__PURE__*/ forwardRef(({ asChild, className, ...props }, ref)=>{ const Comp = asChild ? Slot : "a"; return /*#__PURE__*/ jsx(Comp, { ref: ref, className: cn("transition-colors hover:text-neutral-950 dark:hover:text-neutral-50", className), ...props }); }); BreadcrumbLink.displayName = "BreadcrumbLink"; const BreadcrumbPage = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("span", { ref: ref, role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("font-normal text-neutral-950 dark:text-neutral-50", className), ...props })); BreadcrumbPage.displayName = "BreadcrumbPage"; const BreadcrumbSeparator = ({ children, className, ...props })=>/*#__PURE__*/ jsx("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:h-3.5 [&>svg]:w-3.5", className), ...props, children: children ?? /*#__PURE__*/ jsx(ChevronRight, {}) }); BreadcrumbSeparator.displayName = "BreadcrumbSeparator"; const BreadcrumbEllipsis = ({ className, ...props })=>/*#__PURE__*/ jsxs("span", { role: "presentation", "aria-hidden": "true", className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [ /*#__PURE__*/ jsx(MoreHorizontal, { className: "h-4 w-4" }), /*#__PURE__*/ jsx("span", { className: "sr-only", children: "More" }) ] }); BreadcrumbEllipsis.displayName = "BreadcrumbElipssis"; export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator }; //# sourceMappingURL=breadcrumb.js.map