@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
2 lines (1 loc) • 2.62 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("react"),l=require("../DropdownMenu-CxMVm6Ls.js"),d=require("../SpeziProvider-BW6pacsq.js"),c=require("../index-DwV9MiDB.js"),N=require("../chevron-right-DeLmYBc3.js"),w=require("../ellipsis-BRDgZTPu.js"),S=require("../index-UhBwhhTY.js"),j=({...r})=>e.jsx("nav",{"aria-label":"breadcrumb",...r}),p=({className:r,...s})=>e.jsx("ol",{className:c.cn("text-muted-foreground flex flex-wrap items-center gap-1 text-sm break-words sm:gap-2",r),...s}),u=({className:r,...s})=>e.jsx("li",{className:c.cn("inline-flex items-center gap-1.5",r),...s}),g=({asChild:r,className:s,...n})=>{const{router:{Link:t}}=d.useSpeziContext(),a=r?S.Slot:t;return e.jsx(a,{className:c.cn("focus-ring hover:text-foreground rounded-sm transition",s),...n})},B=({className:r,...s})=>e.jsx("span",{role:"link","aria-disabled":"true","aria-current":"page",className:c.cn("text-foreground font-normal",r),...s}),m=({children:r,className:s,...n})=>e.jsx("li",{role:"presentation","aria-hidden":"true",className:c.cn("opacity-60 [&>svg]:size-3.5",s),...n,children:r??e.jsx(N.ChevronRight,{})}),b=({className:r,...s})=>e.jsxs("span",{role:"presentation","aria-hidden":"true",className:c.cn("flex-center size-4",r),...s,children:[e.jsx(w.Ellipsis,{className:"size-4"}),e.jsx("span",{className:"sr-only",children:"More"})]}),h=({href:r,isActive:s,label:n})=>{const{router:{Link:t}}=d.useSpeziContext();return e.jsxs(e.Fragment,{children:[e.jsx(u,{children:s?e.jsx(B,{className:"max-w-25 truncate md:max-w-none",children:n}):e.jsx(g,{asChild:!0,className:"max-w-25 truncate md:max-w-none",children:e.jsx(t,{href:r,children:n})})}),!s&&e.jsx(m,{})]})},k=({breadcrumbs:r,maxToDisplay:s=3})=>{const{router:{Link:n}}=d.useSpeziContext(),t=r.at(0),a=r.length>s,x=a?r.slice(-s+1):r.slice(1,s);return e.jsx(j,{children:e.jsxs(p,{children:[t&&e.jsx(h,{...t,isActive:r.length===1}),a&&e.jsxs(e.Fragment,{children:[e.jsx(u,{children:e.jsxs(l.DropdownMenu,{children:[e.jsx(l.DropdownMenuTrigger,{"aria-label":"Toggle menu",className:"focus-ring rounded-sm",children:e.jsx(b,{})}),e.jsx(l.DropdownMenuContent,{align:"start",children:r.slice(1,-s+1).map((i,o)=>e.jsx(l.DropdownMenuItem,{children:e.jsx(n,{href:i.href,children:i.label})},o))})]})}),e.jsx(m,{})]}),x.map((i,o)=>f.createElement(h,{...i,isActive:o===x.length-1,key:o}))]})})};exports.Breadcrumb=j;exports.BreadcrumbEllipsis=b;exports.BreadcrumbItem=u;exports.BreadcrumbLink=g;exports.BreadcrumbList=p;exports.BreadcrumbPage=B;exports.BreadcrumbSeparator=m;exports.Breadcrumbs=k;