import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{Gr as t,Wr as n,ki as r}from"./lucide-icons-BjbcRgLk.js";import{t as i}from"./jsx-runtime-By8HlURe.js";import{t as a}from"./utils-BFSTDHdM.js";import{l as o}from"./LayoutContext-CseIvyNG.js";var s=e(r(),1),c=i(),l=`M0,0 L100,0 L100,44 Q50,64 0,44 Z`,u=`M0,30 Q50,0 100,30 L100,64 L0,64 Z`,d=`M0,12 Q50,2 100,12 L100,64 L0,64 Z`,f=`M0,0 L100,0 L100,64 L0,64 Z`,p={height:`calc(100% + 20px)`},m={height:`calc(100% + 28px)`},h={height:`calc(100% + 12px)`},g={height:`100%`};function _({variant:e,className:t}){let n=e===`down`?l:e===`up`?u:e===`up-subtle`?d:f,r=e!==`rect`;return(0,c.jsxs)(`svg`,{className:a(e===`up`||e===`up-subtle`?`absolute bottom-0 left-0 right-0`:`absolute inset-0`,`w-full pointer-events-none`,t),viewBox:`0 0 100 64`,preserveAspectRatio:`none`,style:r?e===`up`?m:e===`up-subtle`?h:p:g,children:[(0,c.jsx)(`path`,{d:n,className:`fill-background/85`}),e===`down`&&(0,c.jsx)(`path`,{d:`M0,44 Q50,64 100,44`,fill:`none`,className:`stroke-border`,strokeWidth:`1`,vectorEffect:`non-scaling-stroke`}),e===`up`&&(0,c.jsx)(`path`,{d:`M0,30 Q50,0 100,30`,fill:`none`,className:`stroke-border`,strokeWidth:`1`,vectorEffect:`non-scaling-stroke`}),e===`up-subtle`&&(0,c.jsx)(`path`,{d:`M0,12 Q50,2 100,12`,fill:`none`,className:`stroke-border`,strokeWidth:`1`,vectorEffect:`non-scaling-stroke`})]})}var v=(0,s.createContext)({onHover:()=>{},onActive:()=>{},scrollContainerRef:{current:null}});function y(){return(0,s.useContext)(v)}function b(e,t){let{onActive:n,scrollContainerRef:r}=y(),i=(0,s.useCallback)(()=>{let e=t.current;if(!e)return null;let n=r.current,i=n?.scrollLeft??0,a=n?.offsetLeft??0;return{left:e.offsetLeft-i+a,width:e.offsetWidth}},[]);return(0,s.useLayoutEffect)(()=>{if(!e)return;let t=i();t&&n(t);let r=requestAnimationFrame(()=>{let e=i();e&&n(e)});return()=>{cancelAnimationFrame(r),n(null)}},[e]),(0,s.useEffect)(()=>{if(!e)return;let t=r.current;if(!t)return;let a=()=>{let e=i();e&&n(e)};t.addEventListener(`scroll`,a,{passive:!0});let o=new ResizeObserver(a);return o.observe(t),()=>{t.removeEventListener(`scroll`,a),o.disconnect()}},[e]),{reportSlice:i}}function x({children:e,className:r,innerClassName:i,noArc:l,pinned:u}){let[d,f]=(0,s.useState)(null),[p,m]=(0,s.useState)(null),h=o(),g=(0,s.useRef)(null),[y,b]=(0,s.useState)(!1),x=(0,s.useRef)(null),[S,C]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),E=(0,s.useCallback)(()=>{let e=x.current;e&&(C(e.scrollLeft>2),T(e.scrollLeft+e.clientWidth{let e=x.current;if(!e)return;E(),e.addEventListener(`scroll`,E,{passive:!0});let t=new ResizeObserver(E);return t.observe(e),()=>{e.removeEventListener(`scroll`,E),t.disconnect()}},[E]),(0,s.useEffect)(()=>{E()},[e,E]);let D=e=>{let t=x.current;if(!t)return;let n=t.clientWidth*.6;t.scrollBy({left:e===`left`?-n:n,behavior:`smooth`})};(0,s.useEffect)(()=>{if(!u)return;let e=document.createElement(`div`);e.style.cssText=`position:fixed;top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));left:0;width:0;height:0;visibility:hidden;pointer-events:none`,document.body.appendChild(e);let t=e.getBoundingClientRect().top;document.body.removeChild(e);let n=()=>{let e=g.current;e&&b(e.getBoundingClientRect().top<=t)};return window.addEventListener(`scroll`,n,{passive:!0}),n(),()=>window.removeEventListener(`scroll`,n)},[u]);let O=u&&h&&y;return(0,c.jsx)(v.Provider,{value:{onHover:f,onActive:m,scrollContainerRef:x},children:(0,c.jsxs)(`div`,{ref:g,className:a(`relative sticky top-mobile-bar sidebar:top-0 z-10`,u?`max-sidebar:transition-[top,padding-top] max-sidebar:duration-300 max-sidebar:ease-in-out`:`max-sidebar:transition-transform max-sidebar:duration-300 max-sidebar:ease-in-out`,h&&(u?`max-sidebar:!top-0`:`nav-hidden-slide`),O&&`max-sidebar:safe-area-top`,r),children:[O&&(0,c.jsx)(`div`,{className:`absolute top-0 left-0 right-0 bg-background/85 sidebar:hidden`,style:{height:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`}}),(0,c.jsxs)(`div`,{className:`relative sidebar:pt-2`,children:[(0,c.jsx)(_,{variant:l?`rect`:`down`}),d&&!l&&(0,c.jsx)(`svg`,{"aria-hidden":!0,className:`absolute top-0 left-0 w-full pointer-events-none`,style:{height:`calc(100% + 20px)`,clipPath:`inset(0 calc(100% - ${d.left+d.width}px) 0 ${d.left}px)`},viewBox:`0 0 100 64`,preserveAspectRatio:`none`,children:(0,c.jsx)(`path`,{d:`M0,0 L100,0 L100,44 Q50,64 0,44 Z`,className:`fill-secondary/40`})}),p&&!l&&(0,c.jsx)(`svg`,{"aria-hidden":!0,className:`absolute top-0 left-0 w-full pointer-events-none`,style:{height:`calc(100% + 20px)`,clipPath:`inset(0 calc(100% - ${p.left+p.width}px) 0 ${p.left}px)`},viewBox:`0 0 100 64`,preserveAspectRatio:`none`,children:(0,c.jsx)(`path`,{d:`M100,44 Q50,64 0,44`,fill:`none`,className:`stroke-primary`,strokeWidth:`3`})}),(0,c.jsxs)(`div`,{className:`relative`,children:[S&&(0,c.jsx)(`button`,{type:`button`,"aria-label":`Scroll tabs left`,onClick:()=>D(`left`),className:`hidden sidebar:flex absolute left-0 top-0 bottom-0 z-10 items-center pl-0.5 pr-1 bg-gradient-to-r from-background via-background to-transparent cursor-pointer`,children:(0,c.jsx)(t,{className:`size-4 text-foreground/60 drop-shadow-md`,strokeWidth:4})}),(0,c.jsx)(`div`,{ref:x,className:a(`relative flex overflow-x-auto scrollbar-none`,i),children:e}),w&&(0,c.jsx)(`button`,{type:`button`,"aria-label":`Scroll tabs right`,onClick:()=>D(`right`),className:`hidden sidebar:flex absolute right-0 top-0 bottom-0 z-10 items-center pr-0.5 pl-1 bg-gradient-to-l from-background via-background to-transparent cursor-pointer`,children:(0,c.jsx)(n,{className:`size-4 text-foreground/60 drop-shadow-md`,strokeWidth:4})})]})]})]})})}export{_ as i,b as n,y as r,x as t};