@arolariu/components
Version:
🎨 60+ 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! ⚡
76 lines (75 loc) • 2.64 kB
JavaScript
"use client";
import { jsx, jsxs } from "react/jsx-runtime";
import "react";
import { Slot } from "@radix-ui/react-slot";
import { ChevronRight, MoreHorizontal } from "lucide-react";
import { cn } from "../../lib/utils.js";
function Breadcrumb({ ...props }) {
return /*#__PURE__*/ jsx("nav", {
"aria-label": "breadcrumb",
"data-slot": "breadcrumb",
...props
});
}
function BreadcrumbList({ className, ...props }) {
return /*#__PURE__*/ jsx("ol", {
"data-slot": "breadcrumb-list",
className: cn("text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400", className),
...props
});
}
function BreadcrumbItem({ className, ...props }) {
return /*#__PURE__*/ jsx("li", {
"data-slot": "breadcrumb-item",
className: cn("inline-flex items-center gap-1.5", className),
...props
});
}
function BreadcrumbLink({ asChild, className, ...props }) {
const Comp = asChild ? Slot : "a";
return /*#__PURE__*/ jsx(Comp, {
"data-slot": "breadcrumb-link",
className: cn("hover:text-neutral-950 transition-colors dark:hover:text-neutral-50", className),
...props
});
}
function BreadcrumbPage({ className, ...props }) {
return /*#__PURE__*/ jsx("span", {
"data-slot": "breadcrumb-page",
role: "link",
"aria-disabled": "true",
"aria-current": "page",
className: cn("text-neutral-950 font-normal dark:text-neutral-50", className),
...props
});
}
function BreadcrumbSeparator({ children, className, ...props }) {
return /*#__PURE__*/ jsx("li", {
"data-slot": "breadcrumb-separator",
role: "presentation",
"aria-hidden": "true",
className: cn("[&>svg]:size-3.5", className),
...props,
children: children ?? /*#__PURE__*/ jsx(ChevronRight, {})
});
}
function BreadcrumbEllipsis({ className, ...props }) {
return /*#__PURE__*/ jsxs("span", {
"data-slot": "breadcrumb-ellipsis",
role: "presentation",
"aria-hidden": "true",
className: cn("flex size-9 items-center justify-center", className),
...props,
children: [
/*#__PURE__*/ jsx(MoreHorizontal, {
className: "size-4"
}),
/*#__PURE__*/ jsx("span", {
className: "sr-only",
children: "More"
})
]
});
}
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
//# sourceMappingURL=breadcrumb.js.map