@baseplate-dev/ui-components
Version:
Shared UI component library
28 lines • 2.06 kB
JavaScript
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