UNPKG

@voilajsx/uikit

Version:

Cross-platform React components with beautiful themes and OKLCH color science

88 lines (87 loc) 2.58 kB
import { jsx, jsxs } from "react/jsx-runtime"; import { forwardRef } from "react"; import { ChevronRight, MoreHorizontal } from "lucide-react"; import { Slot } from "@radix-ui/react-slot"; import { cn } from "./utils.js"; const Breadcrumb = forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { ref, "aria-label": "breadcrumb", ...props })); Breadcrumb.displayName = "Breadcrumb"; const BreadcrumbList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx( "ol", { 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 = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx( "li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props } )); BreadcrumbItem.displayName = "BreadcrumbItem"; const BreadcrumbLink = forwardRef(({ asChild, className, ...props }, ref) => { const Comp = asChild ? Slot : "a"; return /* @__PURE__ */ jsx( Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props } ); }); BreadcrumbLink.displayName = "BreadcrumbLink"; const BreadcrumbPage = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx( "span", { 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 }) => /* @__PURE__ */ jsx( "li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-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