UNPKG

@baseplate-dev/ui-components

Version:

Shared UI component library

28 lines 2.06 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { Slot } from 'radix-ui'; import { MdChevronRight, MdMoreHoriz } from 'react-icons/md'; import { cn } from '#src/utils/index.js'; function Breadcrumb({ ...props }) { return _jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props }); } function BreadcrumbList({ className, ...props }) { return (_jsx("ol", { "data-slot": "breadcrumb-list", className: cn('flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5', className), ...props })); } function BreadcrumbItem({ className, ...props }) { return (_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.Root : 'a'; return (_jsx(Comp, { "data-slot": "breadcrumb-link", className: cn('transition-colors hover:text-foreground', className), ...props })); } function BreadcrumbPage({ className, ...props }) { return (_jsx("span", { "data-slot": "breadcrumb-page", role: "link", "aria-disabled": "true", "aria-current": "page", className: cn('font-normal text-foreground', className), ...props })); } function BreadcrumbSeparator({ children, className, ...props }) { return (_jsx("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: cn('[&>svg]:size-3.5', className), ...props, children: children ?? _jsx(MdChevronRight, {}) })); } function BreadcrumbEllipsis({ className, ...props }) { return (_jsxs("span", { "data-slot": "breadcrumb-ellipsis", role: "presentation", "aria-hidden": "true", className: cn('flex size-9 items-center justify-center', className), ...props, children: [_jsx(MdMoreHoriz, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "More" })] })); } export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, }; //# sourceMappingURL=breadcrumb.js.map