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