@fabio.caffarello/react-design-system 1.23.6 → 1.23.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -383,7 +383,7 @@ React keys must be passed directly to JSX without using spread:
383
383
  ${E("base","px")}
384
384
  ${E("md","py")}
385
385
  text-fg-secondary
386
- `,children:d.content})})]},d.id)})})}const Ka=l.createContext(void 0);function ls({children:e,mobileMenuOpen:t,onMobileMenuChange:r,defaultMobileMenuOpen:s=!1}){const[a,o]=l.useState(s),i=t!==void 0,c=i?t:a,u=l.useCallback(m=>{i||o(m),r==null||r(m)},[i,r]),d=l.useCallback(()=>{u(!c)},[c,u]),f=l.useCallback(()=>{u(!0)},[u]),p=l.useCallback(()=>{u(!1)},[u]);return n.jsx(Ka.Provider,{value:{isMobileMenuOpen:c,toggleMobileMenu:d,setMobileMenuOpen:u,openMobileMenu:f,closeMobileMenu:p},children:e})}function Is(){const e=l.useContext(Ka);if(!e)throw new Error("useHeaderContext must be used within HeaderProvider");return e}function Ya(s){var a=s,{children:e,className:t}=a,r=O(a,["children","className"]);return n.jsx("div",{className:"flex-shrink-0",children:n.jsx(xs,P(T({href:r.href||"/",variant:"default",className:w("flex items-center font-semibold text-lg",t)},r),{children:e}))})}function Xa({children:e,className:t}){return n.jsx("nav",{className:w("flex-1 flex items-center justify-center gap-4","hidden md:flex",t),"aria-label":"Main navigation",children:e})}function Ja({children:e,className:t}){return n.jsx("div",{className:w("flex-shrink-0 flex items-center gap-2",t),children:e})}function Za({className:e,icon:t,closeIcon:r,variant:s="ghost",size:a="md"}){const{isMobileMenuOpen:o,toggleMobileMenu:i}=Is(),c=t||n.jsx(ac,{className:"h-5 w-5"}),u=r||n.jsx(we,{className:"h-5 w-5"});return n.jsx(Z,{variant:s,size:a,onClick:i,className:w("md:hidden",e),"aria-label":o?"Close menu":"Open menu","aria-expanded":o,children:o?u:c})}function Qa({children:e,className:t}){const{isMobileMenuOpen:r,closeMobileMenu:s}=Is();return n.jsx(Gt,{open:r,onOpenChange:a=>{a||s()},position:"left",size:"sm",closeOnOverlayClick:!0,closeOnEscape:!0,children:n.jsx(Ms,{className:w("p-4",t),children:n.jsx("nav",{className:"flex flex-col gap-2","aria-label":"Mobile navigation",children:e})})})}const hd={sm:"max-w-screen-sm",md:"max-w-screen-md",lg:"max-w-screen-lg",xl:"max-w-screen-xl","2xl":"max-w-screen-2xl",full:"max-w-full"},ot=l.forwardRef((u,c)=>{var d=u,{className:e,maxWidth:t="lg",paddingX:r="base",paddingY:s="base",center:a=!0,children:o}=d,i=O(d,["className","maxWidth","paddingX","paddingY","center","children"]);return n.jsx("div",P(T({ref:c,className:w("w-full",hd[t],E(r,"px"),E(s,"py"),a&&"mx-auto",e)},i),{children:o}))});ot.displayName="Container";const Tt=l.forwardRef((u,c)=>{var d=u,{className:e,spacing:t="base",align:r="stretch",justify:s="start",direction:a="column",children:o}=d,i=O(d,["className","spacing","align","justify","direction","children"]);const f=a==="column"?E(t,"gap-y"):E(t,"gap-x"),p={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},m={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};return n.jsx("div",P(T({ref:c,className:w("flex",a==="column"?"flex-col":"flex-row",f,p[r],m[s],e)},i),{children:o}))});Tt.displayName="Stack";const bd=xe(w("w-full","bg-surface-base","transition-shadow","transition-colors"),{variants:{variant:{default:"",elevated:"shadow-sm",bordered:w("border-b","border-line-muted")}},defaultVariants:{variant:"default"}});function gt(c){var u=c,{children:e,variant:t="default",sticky:r=!1,maxWidth:s="full",bare:a=!1,className:o}=u,i=O(u,["children","variant","sticky","maxWidth","bare","className"]);const d=n.jsx("div",{className:"flex items-center justify-between gap-4",children:e});return a?n.jsx(ls,{children:n.jsx("div",P(T({className:w(o)},i),{children:d}))}):n.jsx(ls,{children:n.jsx("header",P(T({className:w(bd({variant:t}),r&&`sticky top-0 ${ue("sticky")}`,r&&"backdrop-blur-sm bg-surface-base/95",o)},i),{children:n.jsx(ot,{maxWidth:s,paddingX:"base",paddingY:"sm",children:d})}))})}gt.Logo=Ya;gt.Navigation=Xa;gt.Actions=Ja;gt.Hamburger=Za;gt.MobileMenu=Qa;const In=xe(w("flex","items-center","gap-2"),{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col"},variant:{default:"",pills:"",tabs:""}},defaultVariants:{orientation:"horizontal",variant:"default"},compoundVariants:[{orientation:"vertical",variant:"default",class:"items-stretch"},{orientation:"vertical",variant:"pills",class:"items-stretch"},{orientation:"vertical",variant:"tabs",class:"items-stretch"}]});function gd(u){var d=u,{items:e,orientation:t="horizontal",variant:r="default",className:s,"aria-label":a="Main navigation",bare:o=!1,pathname:i}=d,c=O(d,["items","orientation","variant","className","aria-label","bare","pathname"]);let f=i;if(!f)try{const h=typeof require!="undefined"?require("next/navigation"):null;if(h!=null&&h.usePathname){const x=h.usePathname;f=x()}}catch(h){f=void 0}const p=l.useMemo(()=>e.map(h=>{if(h.active!==void 0)return h;if(f){const x=f===h.href||h.href!=="/"&&f.startsWith(`${h.href}/`);return P(T({},h),{active:x})}return P(T({},h),{active:!1})}),[e,f]),m=n.jsx(n.Fragment,{children:p.map((h,x)=>{const y=r==="pills"?"background":r==="tabs"?"underline":"default";return n.jsxs(xs,{href:h.href,active:h.active,disabled:h.disabled,variant:y,className:w("flex items-center gap-2",t==="vertical"&&"w-full justify-start",h.className),children:[h.icon&&n.jsx("span",{className:"flex-shrink-0","aria-hidden":"true",children:h.icon}),n.jsx("span",{children:h.label}),h.badge&&n.jsx("span",{className:"ml-auto",children:h.badge})]},h.href||x)})});return o?n.jsx("div",P(T({className:w(In({orientation:t,variant:r}),s)},c),{children:m})):n.jsx("nav",P(T({className:w(In({orientation:t,variant:r}),s),"aria-label":a},c),{children:m}))}function eo(e){return n.jsx(gd,P(T({},e),{pathname:e.pathname}))}const xd=xe(w("w-full","flex","flex-col","gap-2"),{variants:{variant:{default:w(E("base","mb")),compact:w(E("sm","mb"))}},defaultVariants:{variant:"default"}});function to(c){var u=c,{title:e,description:t,breadcrumb:r,actions:s,variant:a="default",className:o}=u,i=O(u,["title","description","breadcrumb","actions","variant","className"]);return n.jsxs("div",P(T({className:w(xd({variant:a}),o)},i),{children:[r&&r.length>0&&n.jsx(Ma,{items:r}),n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx(Be,{variant:"heading",as:"h1",className:"mb-2 text-2xl font-bold",children:e}),t&&n.jsx(Be,{variant:"body",className:"text-fg-secondary",children:t})]}),s&&n.jsx("div",{className:"flex items-center gap-2 flex-shrink-0",children:s})]})]}))}function vd(s){var a=s,{onForgotPasswordClick:e,className:t}=a,r=O(a,["onForgotPasswordClick","className"]);return n.jsx("div",{className:w(E("base","p"),"bg-surface-muted",J("md"),t),children:n.jsxs("form",P(T({},r),{onSubmit:o=>{o.preventDefault(),r.onSubmit&&r.onSubmit(o)},className:w("space-y-4",r.className),children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Mt,{htmlFor:"login-email",variant:"required",children:"Your email"}),n.jsx(ke,{id:"login-email",placeholder:"myname@email.com",type:"email"})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Mt,{htmlFor:"login-password",variant:"required",children:"Your password"}),n.jsx(ke,{id:"login-password",placeholder:"••••••••",type:"password"})]}),n.jsxs("div",{className:"flex justify-between",children:[n.jsx(Z,{variant:"secondary",type:"button",onClick:e,children:"Forgot password?"}),n.jsx(Z,{variant:"regular",type:"submit",children:"Sign in"})]})]}))})}function yd(d){var f=d,{isOpen:e,onClose:t,title:r,children:s,variant:a="default",showCloseButton:o=!0,footer:i,className:c=""}=f,u=O(f,["isOpen","onClose","title","children","variant","showCloseButton","footer","className"]);const p=l.useRef(null),m=l.useRef(null);if(l.useEffect(()=>{if(!e)return;m.current=document.activeElement;const j=setTimeout(()=>{var b;(b=p.current)==null||b.focus()},0),C=b=>{b.key==="Escape"&&t()};return document.addEventListener("keydown",C),()=>{var b;clearTimeout(j),document.removeEventListener("keydown",C),(b=m.current)==null||b.focus()}},[e,t]),l.useEffect(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),!e)return null;const h=["fixed","inset-0",ue("modal"),"overflow-y-auto"],x=["fixed","inset-0","bg-scrim","transition-opacity"],k=["relative","bg-surface-overlay","rounded-lg","shadow-xl","my-8","mx-auto",{default:"max-w-md",large:"max-w-2xl",fullscreen:"max-w-full h-full"}[a],"p-6",c].filter(Boolean).join(" "),g=n.jsxs("div",{className:h.join(" "),role:"dialog","aria-modal":"true","aria-labelledby":r?"modal-title":void 0,onClick:j=>{j.target===j.currentTarget&&t()},children:[n.jsx("div",{className:x.join(" "),"aria-hidden":"true"}),n.jsx("div",{className:"flex min-h-full items-center justify-center p-4",children:n.jsxs("div",P(T({ref:p,tabIndex:-1,className:k,onClick:j=>j.stopPropagation()},u),{children:[r&&n.jsxs("div",{className:"flex justify-between items-center mb-4",children:[n.jsx("h2",{id:"modal-title",className:"text-xl font-semibold text-fg-primary",children:r}),o&&n.jsx("button",{onClick:t,className:"text-fg-tertiary hover:text-fg-secondary focus:outline-none","aria-label":"Close modal",children:n.jsx(we,{className:"h-6 w-6"})})]}),!r&&o&&n.jsx("div",{className:"flex justify-end mb-4",children:n.jsx("button",{onClick:t,className:"text-fg-tertiary hover:text-fg-secondary focus:outline-none","aria-label":"Close modal",children:n.jsx(we,{className:"h-6 w-6"})})}),n.jsx("div",{className:"mb-4",children:s}),i&&n.jsx("div",{className:"flex justify-end gap-2 mt-4",children:i})]}))})]});return typeof window!="undefined"?Ue.createPortal(g,document.body):g}const Rr=l.createContext(void 0);function Pe(){const e=l.useContext(Rr);if(e===void 0)throw new Error("useTableContext must be used within a Table component");return e}function wd(){const e=l.useContext(Rr);return e||void 0}function cs({columns:e,data:t,loading:r=!1,paginationMode:s,page:a,pageSize:o,total:i,onPageChange:c,onPageSizeChange:u,defaultPageSize:d=10,pageSizeOptions:f,sortColumn:p,sortDirection:m,onSort:h,defaultSortColumn:x,defaultSortDirection:y="asc",filters:k,filterValues:g,onFilter:j,initialFilterValues:C={},selectable:b=!1,selectedRows:v,onSelectionChange:N,rowId:_,actions:S,emptyMessage:M="No data available",emptyStateTitle:F,emptyStateMessage:A,emptyStateIllustration:R,emptyStateAction:I,onRowClick:L,resizable:z=!1,columnWidths:Y,onColumnResize:q,virtualScrolling:W,virtualScrollingOptions:ae,children:se}){const D=l.useMemo(()=>s||(i!==void 0&&c?"server":"client"),[s,i,c]),B=a!==void 0,[X,Q]=l.useState(1),[H,U]=l.useState(d),V=B?a:X,ne=o!=null?o:H,oe=l.useMemo(()=>D==="server"?i!=null?i:0:t.length,[D,i,t.length]),ie=l.useMemo(()=>Math.ceil(oe/ne),[oe,ne]),Ne=p!==void 0,[ze,Lt]=l.useState(x||""),[Ae,Ft]=l.useState(y),$e=Ne?p:ze,Xt=Ne?m||"asc":Ae,Vr=g!==void 0,[Eo,Mo]=l.useState(C),Jt=Vr?g:Eo,Wr=v!==void 0,[To,Ao]=l.useState([]),Re=Wr?v:To,Zt=l.useMemo(()=>!k||k.length===0?t:t.filter(ee=>k.every(de=>{const be=Jt[de.key];if(!be||be==="")return!0;const er=ee[de.key];return de.type==="text"?String(er||"").toLowerCase().includes(String(be).toLowerCase()):String(er)===String(be)})),[t,k,Jt]),Hr=l.useMemo(()=>{if(Ne&&h||!$e)return Zt;const ee=[...Zt];return ee.sort((de,be)=>{const er=de[$e],Lo=be[$e],un=String(er||"").localeCompare(String(Lo||""));return Xt==="asc"?un:-un}),ee},[Zt,$e,Xt,h,Ne]),Oe=l.useMemo(()=>{if(D==="server")return Hr;const ee=(V-1)*ne,de=ee+ne;return Hr.slice(ee,de)},[Hr,D,V,ne]),yt=l.useCallback((ee,de)=>{var be;return _?_(ee):((be=ee==null?void 0:ee.id)==null?void 0:be.toString())||de.toString()},[_]),Qt=l.useMemo(()=>!b||Oe.length===0?!1:Oe.every((ee,de)=>{const be=yt(ee,de);return Re.includes(be)}),[b,Oe,Re,yt]),rn=l.useMemo(()=>{if(!b)return!1;const ee=Re.length;return ee>0&&ee<Oe.length},[b,Re.length,Oe.length]),wt=l.useCallback(ee=>{B?c==null||c(ee):Q(ee)},[B,c]),sn=l.useCallback(ee=>{u?u(ee):U(ee),wt(1)},[u,wt]),nn=l.useCallback((ee,de)=>{Ne?h==null||h(ee,de):(Lt(ee),Ft(de))},[Ne,h]),an=l.useCallback(ee=>{Vr?j==null||j(ee):Mo(ee),wt(1)},[Vr,j,wt]),dt=l.useCallback(ee=>{Wr?N==null||N(ee):Ao(ee)},[Wr,N]),on=l.useCallback(ee=>{const de=Re.includes(ee)?Re.filter(be=>be!==ee):[...Re,ee];dt(de)},[Re,dt]),ln=l.useCallback(()=>{if(Qt)dt([]);else{const ee=Oe.map((de,be)=>yt(de,be));dt(ee)}},[Qt,Oe,yt,dt]),[Ro,Io]=l.useState({}),Br=Y!==void 0,cn=Br?Y:Ro,dn=l.useCallback((ee,de)=>{Br?q==null||q(ee,de):Io(be=>P(T({},be),{[ee]:de}))},[Br,q]),Do=l.useMemo(()=>({columns:e,data:t,paginatedData:Oe,loading:r,paginationState:{page:V,pageSize:ne,total:oe,totalPages:ie},sortState:{column:$e,direction:Xt},filterState:{values:Jt,config:k||[]},selectionState:{selectedRows:Re,isAllSelected:Qt,isIndeterminate:rn},paginationMode:D,selectable:b,rowId:_,actions:S,resizable:z,columnWidths:cn,virtualScrolling:W,emptyMessage:M,emptyStateTitle:F,emptyStateMessage:A,emptyStateIllustration:R,emptyStateAction:I,setPage:wt,setPageSize:sn,setSorting:nn,setFilters:an,setSelection:dt,toggleRowSelection:on,toggleSelectAll:ln,getRowId:yt,setColumnWidth:dn,onPageChange:c,onPageSizeChange:u,onSort:h,onFilter:j,onSelectionChange:N,onRowClick:L,onColumnResize:q}),[e,t,Oe,r,V,ne,oe,ie,$e,Xt,Jt,k,Re,Qt,rn,D,b,_,S,M,F,A,R,I,wt,sn,nn,an,dt,on,ln,yt,dn,c,u,h,j,N,L,q,z,cn,W]);return n.jsx(Rr.Provider,{value:Do,children:se})}function Ds(u){var d=u,{column:e,resizable:t=!1,width:r,onResize:s,minWidth:a=50,maxWidth:o,className:i=""}=d,c=O(d,["column","resizable","width","onResize","minWidth","maxWidth","className"]);const{sortState:f,setSorting:p,onSort:m}=Pe(),h=l.useRef(null),x=l.useRef(null),y=l.useRef(null),k=()=>{if(!e.sortable||!m&&!p)return;const N=f.column===e.key&&f.direction==="asc"?"desc":"asc";m?m(e.key,N):p(e.key,N)},g=N=>{b&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),k())},j=N=>{if(N.preventDefault(),N.stopPropagation(),!x.current||!s)return;const _=r||x.current.offsetWidth;y.current={x:N.clientX,width:_};const S=F=>{if(!y.current)return;const A=F.clientX-y.current.x,R=y.current.width+A,I=Math.max(a,o?Math.min(R,o):R);s(e.key,I)},M=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",M),y.current=null};document.addEventListener("mousemove",S),document.addEventListener("mouseup",M)},C=f.column===e.key,b=e.sortable&&(m||p),v=C?f.direction:void 0;return n.jsx("th",P(T({ref:x,scope:"col",role:"columnheader","aria-sort":C?v==="asc"?"ascending":"descending":b?"none":void 0,className:`px-6 py-3 text-left text-xs font-medium text-fg-tertiary uppercase tracking-wider ${b?"cursor-pointer hover:bg-surface-active focus:bg-surface-active focus:outline-none focus:ring-2 focus:ring-line-focus focus:ring-offset-2 select-none":""} ${e.hiddenOnMobile?"hidden md:table-cell":""} ${i}`,onClick:b?k:void 0,onKeyDown:b?g:void 0,tabIndex:b?0:void 0,style:r?{width:`${r}px`,minWidth:`${r}px`}:void 0},c),{children:n.jsxs("div",{className:"flex items-center gap-2 relative",children:[n.jsx("span",{children:e.label}),C&&n.jsx("span",{className:"text-fg-tertiary","aria-hidden":"true",children:f.direction==="asc"?"↑":"↓"}),t&&s&&n.jsx("div",{ref:h,className:"absolute right-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-surface-brand transition-colors",onMouseDown:j,role:"separator","aria-orientation":"vertical","aria-label":`Resize ${e.label} column`,style:{touchAction:"none"}})]})}))}function Ls(r){var s=r,{className:e=""}=s,t=O(s,["className"]);const{columns:a,selectable:o,selectionState:i,toggleSelectAll:c,actions:u,resizable:d,columnWidths:f,setColumnWidth:p}=Pe();return n.jsxs("tr",P(T({role:"row",className:e},t),{children:[o&&n.jsx("th",{scope:"col",role:"columnheader",className:"px-6 py-3 w-12","aria-label":"Select all",children:n.jsx(Nr,{checked:i.isAllSelected,onChange:c,"aria-label":"Select all rows",className:"my-0",indeterminate:i.isIndeterminate})}),a.map(m=>n.jsx(Ds,{column:m,resizable:d,width:f==null?void 0:f[m.key],onResize:p},m.key)),u&&n.jsx("th",{scope:"col",role:"columnheader",className:"px-6 py-3 text-right text-xs font-medium text-fg-tertiary uppercase tracking-wider w-12","aria-label":"Actions",children:n.jsx("span",{className:"sr-only",children:"Actions"})})]}))}function Fs(r){var s=r,{className:e=""}=s,t=O(s,["className"]);return Pe(),n.jsx("thead",P(T({className:`bg-surface-subtle sticky top-0 ${ue("sticky")} ${e}`},t),{children:n.jsx(Ls,{})}))}function _s(a){var o=a,{column:e,row:t,className:r=""}=o,s=O(o,["column","row","className"]);const i=e.key in t?t[e.key]:void 0;return n.jsx("td",P(T({className:`px-6 py-4 whitespace-nowrap text-sm text-fg-primary ${e.hiddenOnMobile?"hidden md:table-cell":""} ${r}`},s),{children:e.render?e.render(i,t):String(i!=null?i:"")}))}function kd(o){var i=o,{actions:e,row:t,align:r="right",className:s=""}=i,a=O(i,["actions","row","align","className"]);const c=e.map(u=>({label:u.label,onClick:()=>u.onClick(t),variant:u.variant,disabled:u.disabled}));return n.jsx("div",P(T({className:`inline-flex ${s}`},a),{children:n.jsx(Ra,{trigger:n.jsx(Z,{variant:"ghost",size:"sm","aria-label":"Row actions",className:"h-8 w-8 p-0",children:n.jsx(Bl,{className:"h-4 w-4"})}),items:c,align:r})}))}function Ps(a){var o=a,{row:e,align:t="right",className:r=""}=o,s=O(o,["row","align","className"]);const{actions:i}=Pe();if(!i)return null;const c=i(e);return c.length===0?null:n.jsx(kd,T({row:e,actions:c,align:t,className:r},s))}function hr(i){var c=i,{row:e,rowIndex:t,className:r="",onClick:s,style:a}=c,o=O(c,["row","rowIndex","className","onClick","style"]);const{columns:u,selectable:d,selectionState:f,toggleRowSelection:p,getRowId:m,actions:h,onRowClick:x}=Pe(),y=m(e,t),k=f.selectedRows.includes(y),g=j=>{s&&s(j),x&&x(e)};return n.jsxs("tr",P(T({role:"row","aria-selected":d?k:void 0,"aria-rowindex":t+1,className:`hover:bg-surface-hover ${k?"bg-surface-selected":""} ${r}`,onClick:g,style:a},o),{children:[d&&n.jsx("td",{className:"px-6 py-4",children:n.jsx(Nr,{checked:k,onChange:()=>p(y),"aria-label":`Select row ${y}`,className:"my-0"})}),u.map(j=>n.jsx(_s,{column:j,row:e},String(j.key))),h&&n.jsx("td",{className:"px-6 py-4 text-right",children:n.jsx(Ps,{row:e})})]}))}function zs(r){var s=r,{className:e=""}=s,t=O(s,["className"]);const{emptyMessage:a,emptyStateTitle:o,emptyStateMessage:i,emptyStateIllustration:c,emptyStateAction:u}=Pe();return o||i||c?n.jsxs("div",P(T({className:e},t),{children:[n.jsx(Aa,{title:o||"No data available",message:i||a||"No data available",variant:c?"withIllustration":"default",illustration:c}),u&&n.jsx("div",{className:"mt-4 flex justify-center",children:u})]})):n.jsx("div",P(T({className:`text-center text-fg-secondary ${e}`},t),{children:a||"No data available"}))}function ro(e,t){const{itemHeight:r,containerHeight:s,overscan:a=5,enabled:o=!0}=t,[i,c]=l.useState(0),u=l.useRef(null),d=l.useMemo(()=>{if(!o||e.length===0)return e.map((y,k)=>({index:k,start:k*r,end:(k+1)*r,size:r}));const m=Math.max(0,Math.floor(i/r)-a),h=s?Math.min(e.length,Math.ceil((i+s)/r)+a):e.length,x=[];for(let y=m;y<h;y++)x.push({index:y,start:y*r,end:(y+1)*r,size:r});return x},[e,r,i,s,a,o]),f=e.length*r;return l.useEffect(()=>{if(!o||!u.current)return;const m=u.current,h=()=>{c(m.scrollTop)};return m.addEventListener("scroll",h,{passive:!0}),()=>m.removeEventListener("scroll",h)},[o]),{virtualItems:d,totalHeight:f,scrollOffset:i,setScrollOffset:c,scrollToIndex:m=>{if(!u.current)return;const h=m*r;u.current.scrollTop=h,c(h)},containerRef:u}}function Os(s){var a=s,{children:e,className:t=""}=a,r=O(a,["children","className"]);var y,k;const{paginatedData:o,loading:i,columns:c,selectable:u,actions:d,virtualScrolling:f,virtualScrollingOptions:p}=Pe(),m=c.length+(u?1:0)+(d?1:0),h=ro(o,{itemHeight:(p==null?void 0:p.itemHeight)||50,containerHeight:p==null?void 0:p.containerHeight,overscan:(p==null?void 0:p.overscan)||5,enabled:f||!1}),x=l.useMemo(()=>f&&h.virtualItems.length>0?h.virtualItems.map(g=>({row:o[g.index],index:g.index})).filter(g=>g.row!==void 0):o.map((g,j)=>({row:g,index:j})),[f,h.virtualItems,o]);return i?n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`},r),{children:Array.from({length:5}).map((g,j)=>n.jsx("tr",{children:Array.from({length:m}).map((C,b)=>n.jsx("td",{className:"px-6 py-4",children:n.jsx(ga,{className:"h-4 w-full"})},b))},j))})):o.length===0?n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`},r),{children:n.jsx("tr",{children:n.jsx("td",{colSpan:m,className:"px-6 py-12",children:n.jsx(zs,{})})})})):typeof e=="function"?n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`},r),{children:o.map((g,j)=>e(g,j))})):n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`,role:"rowgroup"},r),{children:f&&h.virtualItems.length>0&&x.length>0?n.jsxs(n.Fragment,{children:[((y=h.virtualItems[0])==null?void 0:y.start)>0&&n.jsx("tr",{style:{height:h.virtualItems[0].start},"aria-hidden":"true",children:n.jsx("td",{colSpan:m})}),x.map(({row:g,index:j})=>n.jsx(hr,{row:g,rowIndex:j},j)),h.virtualItems.length>0&&n.jsx("tr",{style:{height:Math.max(0,h.totalHeight-(((k=h.virtualItems[h.virtualItems.length-1])==null?void 0:k.end)||0))},"aria-hidden":"true",children:n.jsx("td",{colSpan:m})})]}):x.map(({row:g,index:j})=>n.jsx(hr,{row:g,rowIndex:j},j))}))}function jd(i){var c=i,{filters:e,onFilter:t,initialValues:r={},showClearAll:s=!0,className:a=""}=c,o=O(c,["filters","onFilter","initialValues","showClearAll","className"]);const[u,d]=l.useState(r),[f,p]=l.useState(!1),m=Object.values(u).some(g=>g!==""&&g!==null&&g!==void 0),h=(g,j)=>{const C=P(T({},u),{[g]:j});d(C),t(C)},x=()=>{const g={};e.forEach(j=>{g[j.key]=""}),d(g),t(g)},y=g=>{const j=P(T({},u),{[g]:""});d(j),t(j)},k=Object.values(u).filter(g=>g!==""&&g!==null&&g!==void 0).length;return n.jsx("div",P(T({className:`bg-surface-base border-b border-line-default ${a}`},o),{children:n.jsxs("div",{className:"px-4 py-3 sm:px-6",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("button",{type:"button",onClick:()=>p(!f),className:"flex items-center gap-2 text-sm font-medium text-fg-secondary hover:text-fg-primary",children:[n.jsx(Zl,{className:"h-4 w-4"}),n.jsx("span",{children:"Filters"}),k>0&&n.jsx("span",{className:`inline-flex items-center ${E("sm","px")} ${E("0.5","py")} rounded text-xs font-medium bg-surface-brand-muted text-fg-brand-emphasis`,children:k})]}),m&&s&&n.jsx(Z,{variant:"ghost",size:"sm",onClick:x,className:"text-sm",children:"Clear all"})]}),f&&n.jsx("div",{className:"mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:e.map(g=>{const j=u[g.key]||"";return n.jsxs("div",{className:"space-y-1",children:[n.jsx(Mt,{htmlFor:`filter-${g.key}`,variant:"optional",children:g.label}),n.jsxs("div",{className:"relative",children:[g.type==="text"&&n.jsx(ke,{id:`filter-${g.key}`,type:"text",value:j,onChange:C=>h(g.key,C.target.value),placeholder:g.placeholder||`Filter by ${g.label.toLowerCase()}`,size:"sm",variant:"outlined"}),g.type==="select"&&n.jsxs("div",{className:"relative",children:[n.jsx(jr,{id:`filter-${g.key}`,options:[{value:"",label:`All ${g.label}`},...g.options||[]],value:j,onChange:C=>h(g.key,C.target.value)}),j&&n.jsx("button",{type:"button",onClick:()=>y(g.key),className:"absolute right-8 top-1/2 -translate-y-1/2 text-fg-tertiary hover:text-fg-secondary","aria-label":`Clear ${g.label} filter`,children:n.jsx(we,{className:"h-4 w-4"})})]}),g.type==="date"&&n.jsx(ke,{id:`filter-${g.key}`,type:"date",value:j,onChange:C=>h(g.key,C.target.value),size:"sm",variant:"outlined"}),j&&g.type!=="select"&&n.jsx("button",{type:"button",onClick:()=>y(g.key),className:"absolute right-2 top-1/2 -translate-y-1/2 text-fg-tertiary hover:text-fg-secondary","aria-label":`Clear ${g.label} filter`,children:n.jsx(we,{className:"h-4 w-4"})})]})]},g.key)})})]})}))}function Vs(s){var a=s,{showClearAll:e=!0,className:t=""}=a,r=O(a,["showClearAll","className"]);const{filterState:o,setFilters:i}=Pe();return o.config.length===0?null:n.jsx(jd,T({filters:o.config,onFilter:i,initialValues:o.values,showClearAll:e,className:t},r))}function Nd(f){var p=f,{page:e,pageSize:t,total:r,onPageChange:s,onPageSizeChange:a,pageSizeOptions:o=[10,25,50,100],showPageSizeSelector:i=!0,showPageInfo:c=!0,className:u=""}=p,d=O(p,["page","pageSize","total","onPageChange","onPageSizeChange","pageSizeOptions","showPageSizeSelector","showPageInfo","className"]);const m=Math.ceil(r/t),h=r===0?0:(e-1)*t+1,x=Math.min(e*t,r),y=()=>{e>1&&s(e-1)},k=()=>{e<m&&s(e+1)},g=()=>{e>1&&s(1)},j=()=>{e<m&&s(m)};return n.jsxs("div",P(T({className:`flex items-center justify-between px-4 py-3 bg-surface-base border-t border-line-default sm:px-6 ${u}`},d),{children:[n.jsxs("div",{className:"flex flex-1 justify-between sm:hidden",children:[n.jsx(Z,{variant:"outline",size:"sm",onClick:y,disabled:e===1,children:"Previous"}),n.jsx(Z,{variant:"outline",size:"sm",onClick:k,disabled:e>=m,children:"Next"})]}),n.jsxs("div",{className:"hidden sm:flex sm:flex-1 sm:items-center sm:justify-between",children:[c&&n.jsx("div",{children:n.jsxs(Be,{as:"p",className:"text-sm text-fg-secondary",children:["Showing ",n.jsx("span",{className:"font-medium",children:h})," to"," ",n.jsx("span",{className:"font-medium",children:x})," of"," ",n.jsx("span",{className:"font-medium",children:r})," results"]})}),n.jsxs("div",{className:"flex items-center gap-4",children:[i&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Be,{as:"span",className:"text-sm text-fg-secondary",children:"Show:"}),n.jsx(jr,{options:o.map(C=>({value:C.toString(),label:C.toString()})),value:t.toString(),onChange:C=>{const b=parseInt(C.target.value);a(b),s(1)},className:"w-20"})]}),n.jsxs("nav",{className:"flex items-center gap-1","aria-label":"Pagination",children:[n.jsxs(Z,{variant:"ghost",size:"sm",onClick:g,disabled:e===1,"aria-label":"First page",children:[n.jsx(Bt,{className:"h-4 w-4"}),n.jsx(Bt,{className:"h-4 w-4 -ml-2"})]}),n.jsx(Z,{variant:"ghost",size:"sm",onClick:y,disabled:e===1,"aria-label":"Previous page",children:n.jsx(Bt,{className:"h-4 w-4"})}),n.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,m)},(C,b)=>{let v;return m<=5||e<=3?v=b+1:e>=m-2?v=m-4+b:v=e-2+b,n.jsx(Z,{variant:e===v?"primary":"ghost",size:"sm",onClick:()=>s(v),className:"min-w-10","aria-label":`Page ${v}`,"aria-current":e===v?"page":void 0,children:v},v)})}),n.jsx(Z,{variant:"ghost",size:"sm",onClick:k,disabled:e>=m,"aria-label":"Next page",children:n.jsx(ht,{className:"h-4 w-4"})}),n.jsxs(Z,{variant:"ghost",size:"sm",onClick:j,disabled:e>=m,"aria-label":"Last page",children:[n.jsx(ht,{className:"h-4 w-4"}),n.jsx(ht,{className:"h-4 w-4 -ml-2"})]})]})]})]})]}))}function Ws(o){var i=o,{showPageSizeSelector:e=!0,showPageInfo:t=!0,pageSizeOptions:r,className:s=""}=i,a=O(i,["showPageSizeSelector","showPageInfo","pageSizeOptions","className"]);const{paginationState:c,setPage:u,setPageSize:d,paginationMode:f}=Pe();return f==="client"&&c.totalPages<=1?null:n.jsx(Nd,T({page:c.page,pageSize:c.pageSize,total:c.total,onPageChange:u,onPageSizeChange:d,pageSizeOptions:r,showPageSizeSelector:e,showPageInfo:t,className:s},a))}function je(e){const o=e,{className:t=""}=o,r=O(o,["className"]),s="children"in e&&e.children!==void 0,a=s?r:Sd(r);return s?n.jsx("div",{className:`bg-surface-base shadow rounded-lg overflow-hidden ${t}`,children:n.jsx(cs,P(T({},a),{children:e.children}))}):n.jsx("div",{className:`bg-surface-base shadow rounded-lg overflow-hidden ${t}`,children:n.jsxs(cs,P(T({},a),{children:[a.filters&&a.filters.length>0&&n.jsx(Vs,{}),n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"min-w-full divide-y divide-line-default",role:"table","aria-label":e["aria-label"],"aria-labelledby":e["aria-labelledby"],"aria-rowcount":a.total||a.data.length,"aria-colcount":a.columns.length+(a.selectable?1:0)+(a.actions?1:0),children:[n.jsx(Fs,{}),n.jsx(Os,{})]})}),n.jsx(Ws,{})]}))})}function Sd(e){const{columns:t,data:r,loading:s,onSort:a,sortColumn:o,sortDirection:i,emptyMessage:c,emptyStateTitle:u,emptyStateMessage:d,emptyStateIllustration:f,emptyStateAction:p,pagination:m,filters:h,selectable:x,selectedRows:y,onSelectionChange:k,rowId:g,actions:j,onRowClick:C,paginationMode:b,defaultPageSize:v,resizable:N,columnWidths:_,onColumnResize:S,virtualScrolling:M,virtualScrollingOptions:F}=e;let A=b||"auto";return A==="auto"&&(A=m&&m.total!==void 0&&m.onPageChange?"server":"client"),{columns:t,data:r,loading:s,paginationMode:A,page:m==null?void 0:m.page,pageSize:m==null?void 0:m.pageSize,total:m==null?void 0:m.total,onPageChange:m==null?void 0:m.onPageChange,onPageSizeChange:m==null?void 0:m.onPageSizeChange,defaultPageSize:v||(m==null?void 0:m.pageSize)||10,pageSizeOptions:m==null?void 0:m.pageSizeOptions,sortColumn:o,sortDirection:i,onSort:a,filters:h==null?void 0:h.config,filterValues:h==null?void 0:h.initialValues,onFilter:h==null?void 0:h.onFilter,initialFilterValues:h==null?void 0:h.initialValues,selectable:x,selectedRows:y,onSelectionChange:k,rowId:g,actions:j,onRowClick:C,emptyMessage:c,emptyStateTitle:u,emptyStateMessage:d,emptyStateIllustration:f,emptyStateAction:p,resizable:N,columnWidths:_,onColumnResize:S,virtualScrolling:M,virtualScrollingOptions:F,children:n.jsx(n.Fragment,{})}}je.Header=Fs;je.HeaderRow=Ls;je.HeaderCell=Ds;je.Body=Os;je.Row=hr;je.Cell=_s;je.Filters=Vs;je.Pagination=Ws;je.EmptyState=zs;je.Actions=Ps;function Cd(e={}){const{defaultWidths:t={},minWidth:r=50,maxWidth:s,resizable:a=!0}=e,[o,i]=l.useState(t),[c,u]=l.useState(!1),[d,f]=l.useState(null),p=l.useRef(null),m=l.useCallback((C,b)=>{const v=Math.max(r,s?Math.min(b,s):b);i(N=>P(T({},N),{[C]:v}))},[r,s]),h=l.useCallback(()=>{i(t)},[t]),x=l.useCallback((C,b,v)=>{a&&(u(!0),f(C),p.current={startX:b,startWidth:v})},[a]),y=l.useCallback(C=>{if(!c||!d||!p.current)return;const b=C-p.current.startX,v=p.current.startWidth+b;m(d,v)},[c,d,m]),k=l.useCallback(()=>{u(!1),f(null),p.current=null},[]),g=l.useRef(void 0),j=l.useRef(void 0);return typeof window!="undefined"&&(g.current=C=>{c&&y(C.clientX)},j.current=()=>{c&&k()},c?(document.addEventListener("mousemove",g.current),document.addEventListener("mouseup",j.current)):(g.current&&document.removeEventListener("mousemove",g.current),j.current&&document.removeEventListener("mouseup",j.current))),{columnWidths:o,setColumnWidth:m,resetColumnWidths:h,isResizing:c,resizingColumn:d,startResize:x,handleResize:y,endResize:k}}const Ir=l.createContext(null);function $d(){return l.useContext(Ir)}function it(){const e=l.useContext(Ir);if(!e)throw new Error("useSideNavbarThemeRequired must be used within SideNavbarThemeProvider");return e}const $t={variant:"default",navigationWidth:"56px",contentWidth:"320px",animationDuration:300,animationEasing:"ease-in-out"};function Hs({children:e,variant:t=$t.variant,navigationWidth:r=$t.navigationWidth,contentWidth:s=$t.contentWidth,animationDuration:a=$t.animationDuration,animationEasing:o=$t.animationEasing}){const i=l.useMemo(()=>({variant:t,navigationWidth:r,contentWidth:s,animationDuration:a,animationEasing:o}),[t,r,s,a,o]);return n.jsx(Ir.Provider,{value:i,children:e})}const Dr=l.createContext(null);function Ed(){return l.useContext(Dr)}function xt(){const e=l.useContext(Dr);if(!e)throw new Error("useSideNavbarConfigRequired must be used within SideNavbarConfigProvider");return e}const ye={mode:"full",resizable:!1,minWidth:void 0,maxWidth:void 0,snapPoints:void 0,responsive:!1,mobileBreakpoint:768,mobileVariant:"collapse",overlayBackdrop:!0,persistState:!0,persistWidth:!1,storageKey:void 0,keyboardShortcut:"Ctrl+B",enableKeyboardShortcut:!0};function Bs({children:e,mode:t=ye.mode,resizable:r=ye.resizable,minWidth:s=ye.minWidth,maxWidth:a=ye.maxWidth,snapPoints:o=ye.snapPoints,responsive:i=ye.responsive,mobileBreakpoint:c=ye.mobileBreakpoint,mobileVariant:u=ye.mobileVariant,overlayBackdrop:d=ye.overlayBackdrop,persistState:f=ye.persistState,persistWidth:p=ye.persistWidth,storageKey:m=ye.storageKey,keyboardShortcut:h=ye.keyboardShortcut,enableKeyboardShortcut:x=ye.enableKeyboardShortcut}){const y=l.useMemo(()=>({mode:t,resizable:r,minWidth:s,maxWidth:a,snapPoints:o,responsive:i,mobileBreakpoint:c,mobileVariant:u,overlayBackdrop:d,persistState:f,persistWidth:p,storageKey:m,keyboardShortcut:h,enableKeyboardShortcut:x}),[t,r,s,a,o,i,c,u,d,f,p,m,h,x]);return n.jsx(Dr.Provider,{value:y,children:e})}const Lr=l.createContext(null);function Md(){return l.useContext(Lr)}function lt(){const e=l.useContext(Lr);if(!e)throw new Error("useSideNavbarStateRequired must be used within SideNavbarStateProvider");return e}function br(e){if(typeof e=="number")return e;const t=parseFloat(e);return isNaN(t)?0:e.endsWith("rem")||e.endsWith("em")?t*16:(e.endsWith("px"),t)}function so(e,t){return e===void 0||t===void 0?!0:e<t}function lr(e,t,r){let s=e;return t!==void 0&&(s=Math.max(s,t)),r!==void 0&&(s=Math.min(s,r)),s}const Td=["ctrl","cmd","control","shift","alt","meta","option"];function no(e){const t={key:"",ctrl:!1,shift:!1,alt:!1,meta:!1,isValid:!1};if(!e||typeof e!="string")return t;const r=e.trim();if(!r)return t;const s=r.split("+").map(u=>u.trim().toLowerCase()).filter(u=>u.length>0);if(s.length===0)return t;const a=new Set;let o="";for(let u=0;u<s.length;u++){const d=s[u];if(Td.includes(d))a.add(d);else if(u===s.length-1)o=d;else return t}if(!o)return t;const i=a.has("ctrl")||a.has("cmd")||a.has("control"),c=a.has("alt")||a.has("option");return{key:o,ctrl:i,shift:a.has("shift"),alt:c,meta:a.has("meta"),isValid:!0}}function Ad(e,t="windows"){if(!e.isValid)return"";const r=[];return t==="mac"?(e.ctrl&&r.push("⌘"),e.shift&&r.push("⇧"),e.alt&&r.push("⌥"),e.meta&&r.push("⌃"),r.push(e.key.toUpperCase()),r.join("")):(e.ctrl&&r.push("Ctrl"),e.shift&&r.push("Shift"),e.alt&&r.push("Alt"),e.meta&&r.push("Meta"),r.push(e.key.toUpperCase()),r.join("+"))}function ao({initialWidth:e,minWidth:t,maxWidth:r,snapPoints:s,snapThreshold:a=20,onWidthChange:o,enabled:i=!0}){process.env.NODE_ENV==="development"&&(so(t,r)||console.warn("[useResize] Invalid bounds: minWidth must be less than maxWidth",{minWidth:t,maxWidth:r}));const c=lr(e,t,r),[u,d]=l.useState(c),[f,p]=l.useState(!1),m=l.useRef(0),h=l.useRef(c),x=l.useCallback(j=>{let C=lr(j,t,r);if(s&&s.length>0){const b=s.reduce((v,N)=>{const _=Math.abs(C-N),S=Math.abs(C-v);return _<S?N:v},s[0]);Math.abs(C-b)<=a&&(C=b)}d(C),o==null||o(C)},[t,r,s,a,o]),y=l.useCallback(j=>{if(!i||!f)return;const C=j.clientX-m.current,b=h.current+C;x(b)},[i,f,x]),k=l.useCallback(()=>{i&&(p(!1),m.current=0,h.current=u)},[i,u]),g=l.useCallback(j=>{i&&(j.preventDefault(),j.stopPropagation(),p(!0),m.current=j.clientX,h.current=u)},[i,u]);return l.useEffect(()=>{if(f)return document.addEventListener("mousemove",y),document.addEventListener("mouseup",k),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",k),document.body.style.userSelect="",document.body.style.cursor=""}},[f,y,k]),l.useEffect(()=>{f||d(lr(e,t,r))},[e,t,r,f]),{width:u,isResizing:f,startResize:g,setWidth:x}}function oo({mobileBreakpoint:e=768,onMobileChange:t,enabled:r=!0}={}){const[s,a]=l.useState(typeof window!="undefined"?window.innerWidth:1024),[o,i]=l.useState(typeof window!="undefined"?window.innerWidth<e:!1),c=l.useCallback(()=>{if(!r||typeof window=="undefined")return;const u=window.innerWidth,d=u<e;a(u),d!==o&&(i(d),t==null||t(d))},[r,e,o,t]);return l.useEffect(()=>{if(!r||typeof window=="undefined")return;const u=window.innerWidth,d=u<e;a(u),i(d),window.addEventListener("resize",c);let f=null;return window.ResizeObserver&&(f=new ResizeObserver(()=>{c()}),f.observe(document.body)),()=>{window.removeEventListener("resize",c),f==null||f.disconnect()}},[r,e,c]),{isMobile:o,viewportWidth:s}}function io({isActive:e,containerRef:t,restoreFocus:r=!0,initialFocusRef:s}){const a=l.useRef(null);l.useEffect(()=>{if(e){if(a.current=document.activeElement,s!=null&&s.current)s.current.focus();else if(t.current){const i=t.current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');i==null||i.focus()}}else r&&a.current&&(a.current.focus(),a.current=null)},[e,t,s,r]);const o=l.useCallback(i=>{if(!(!e||!t.current)&&i.key==="Tab"){const c=t.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),u=c[0],d=c[c.length-1];i.shiftKey?document.activeElement===u&&(i.preventDefault(),d==null||d.focus()):document.activeElement===d&&(i.preventDefault(),u==null||u.focus())}},[e,t]);l.useEffect(()=>{if(e)return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[e,o])}function lo({key:e,ctrl:t=!1,shift:r=!1,alt:s=!1,meta:a=!1,onTrigger:o,enabled:i=!0,preventDefault:c=!0}){const u=l.useCallback(d=>{if(!i)return;const f=d.target;if((f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable)&&!t&&!a)return;const m=e.length===1?d.key.toLowerCase()===e.toLowerCase():d.key===e,h=t?d.ctrlKey||d.metaKey:!d.ctrlKey&&!d.metaKey,x=r?d.shiftKey:!d.shiftKey,y=s?d.altKey:!d.altKey,k=a?d.metaKey:!d.metaKey,g=t?(d.ctrlKey||d.metaKey)&&!a:h&&k;m&&g&&x&&y&&(c&&(d.preventDefault(),d.stopPropagation()),o())},[i,e,t,r,s,a,o,c]);l.useEffect(()=>{if(i)return window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u)}},[i,u])}function Us({children:e,defaultCollapsed:t=!1,collapsed:r,onCollapseChange:s,onWidthChange:a,onMobileChange:o,exclusiveGroups:i=!1}){const c=it(),u=xt(),d=l.useRef(null),f=r!==void 0,p=()=>{if(f)return r;if(u.storageKey&&u.persistState&&typeof window!="undefined"){const L=localStorage.getItem(`${u.storageKey}-collapsed`);if(L!==null)return L==="true"}return t},m=()=>{if(u.storageKey&&u.persistWidth&&typeof window!="undefined"){const L=localStorage.getItem(`${u.storageKey}-width`);if(L!==null){const z=parseInt(L,10);if(!isNaN(z))return z}}return br(c.contentWidth)},[h,x]=l.useState(p),[y,k]=l.useState({}),{isMobile:g}=oo({mobileBreakpoint:u.mobileBreakpoint,onMobileChange:L=>{o==null||o(L),L&&u.mobileVariant==="collapse"&&!f&&x(!0)},enabled:u.responsive}),{width:j,isResizing:C,startResize:b,setWidth:v}=ao({initialWidth:m(),minWidth:u.minWidth,maxWidth:u.maxWidth,snapPoints:u.snapPoints,onWidthChange:L=>{a==null||a(L),u.storageKey&&u.persistWidth&&typeof window!="undefined"&&localStorage.setItem(`${u.storageKey}-width`,String(L))},enabled:u.resizable&&!g});io({isActive:g&&u.mobileVariant==="overlay"&&!h,containerRef:d,restoreFocus:!0});const N=f?r:h,_=l.useCallback(L=>{f||x(L),s==null||s(L)},[f,s]),S=l.useCallback(()=>{_(!N)},[N,_]),M=no(u.keyboardShortcut);lo({key:M.key,ctrl:M.ctrl,shift:M.shift,alt:M.alt,meta:M.meta,onTrigger:S,enabled:u.enableKeyboardShortcut});const F=l.useCallback(L=>{v(L)},[v]),A=l.useCallback(L=>{k(i?z=>{const q=z[L]===!1,W={},ae=new Set([...Object.keys(z),L]);return q?ae.forEach(se=>{W[se]=!0}):ae.forEach(se=>{W[se]=se!==L}),W}:z=>P(T({},z),{[L]:!z[L]}))},[i]),R=l.useCallback((L,z)=>{k(Y=>P(T({},Y),{[L]:z}))},[]);l.useEffect(()=>{f&&r!==h&&x(r)},[f,r,h]),l.useEffect(()=>{u.storageKey&&u.persistState&&typeof window!="undefined"&&!f&&localStorage.setItem(`${u.storageKey}-collapsed`,String(h))},[u.storageKey,u.persistState,h,f]);const I=l.useMemo(()=>({collapsed:N,toggle:S,setCollapsed:_,currentWidth:j,setWidth:F,isMobile:g,isResizing:C,startResize:b,groupStates:y,toggleGroup:A,setGroupCollapsed:R,sidebarRef:d}),[N,S,_,j,F,g,C,b,y,A,R]);return n.jsx(Lr.Provider,{value:I,children:e})}function qs({children:e,variant:t,navigationWidth:r,contentWidth:s,animationDuration:a,animationEasing:o,mode:i,resizable:c,minWidth:u,maxWidth:d,snapPoints:f,responsive:p,mobileBreakpoint:m,mobileVariant:h,overlayBackdrop:x,persistState:y,persistWidth:k,storageKey:g,keyboardShortcut:j,enableKeyboardShortcut:C,defaultCollapsed:b,collapsed:v,onCollapseChange:N,onWidthChange:_,onMobileChange:S,exclusiveGroups:M}){return n.jsx(Hs,{variant:t,navigationWidth:r,contentWidth:s,animationDuration:a,animationEasing:o,children:n.jsx(Bs,{mode:i,resizable:c,minWidth:u,maxWidth:d,snapPoints:f,responsive:p,mobileBreakpoint:m,mobileVariant:h,overlayBackdrop:x,persistState:y,persistWidth:k,storageKey:g,keyboardShortcut:j,enableKeyboardShortcut:C,children:n.jsx(Us,{defaultCollapsed:b,collapsed:v,onCollapseChange:N,onWidthChange:_,onMobileChange:S,exclusiveGroups:M,children:e})})})}const Fr=l.createContext(null);function Gs(){return l.useContext(Fr)}function Ks(){const e=l.useContext(Fr);if(!e)throw new Error("useSidebarSlotRequired must be used within SidebarSlotProvider");return e}function co({children:e,defaultSlot:t=null}){const[r,s]=l.useState(t),a=l.useRef(new Map),o=l.useCallback((u,d)=>{a.current.set(u,d)},[]),i=l.useCallback(u=>{a.current.delete(u)},[]),c=l.useMemo(()=>({activeSlot:r,setActiveSlot:s,slots:a.current,registerSlot:o,unregisterSlot:i}),[r,o,i]);return n.jsx(Fr.Provider,{value:c,children:e})}const _r=l.createContext(null);function Rd(){return l.useContext(_r)}function Ys(){const e=l.useContext(_r);return e||{showMainToggle:!0,mainTogglePosition:"floating"}}function Xs(r){var s=r,{className:e=""}=s,t=O(s,["className"]);const{currentWidth:a,setWidth:o,isResizing:i,startResize:c}=lt(),{resizable:u}=xt();return u?n.jsxs("div",P(T({className:`
386
+ `,children:d.content})})]},d.id)})})}const Ka=l.createContext(void 0);function ls({children:e,mobileMenuOpen:t,onMobileMenuChange:r,defaultMobileMenuOpen:s=!1}){const[a,o]=l.useState(s),i=t!==void 0,c=i?t:a,u=l.useCallback(m=>{i||o(m),r==null||r(m)},[i,r]),d=l.useCallback(()=>{u(!c)},[c,u]),f=l.useCallback(()=>{u(!0)},[u]),p=l.useCallback(()=>{u(!1)},[u]);return n.jsx(Ka.Provider,{value:{isMobileMenuOpen:c,toggleMobileMenu:d,setMobileMenuOpen:u,openMobileMenu:f,closeMobileMenu:p},children:e})}function Is(){const e=l.useContext(Ka);if(!e)throw new Error("useHeaderContext must be used within HeaderProvider");return e}function Ya(s){var a=s,{children:e,className:t}=a,r=O(a,["children","className"]);return n.jsx("div",{className:"flex-shrink-0",children:n.jsx(xs,P(T({href:r.href||"/",variant:"default",className:w("flex items-center font-semibold text-lg",t)},r),{children:e}))})}function Xa({children:e,className:t}){return n.jsx("nav",{className:w("flex-1 flex items-center justify-center gap-4","hidden md:flex",t),"aria-label":"Main navigation",children:e})}function Ja({children:e,className:t}){return n.jsx("div",{className:w("flex-shrink-0 flex items-center gap-2",t),children:e})}function Za({className:e,icon:t,closeIcon:r,variant:s="ghost",size:a="md"}){const{isMobileMenuOpen:o,toggleMobileMenu:i}=Is(),c=t||n.jsx(ac,{className:"h-5 w-5"}),u=r||n.jsx(we,{className:"h-5 w-5"});return n.jsx(Z,{variant:s,size:a,onClick:i,className:w("md:hidden",e),"aria-label":o?"Close menu":"Open menu","aria-expanded":o,children:o?u:c})}function Qa({children:e,className:t}){const{isMobileMenuOpen:r,closeMobileMenu:s}=Is();return n.jsx(Gt,{open:r,onOpenChange:a=>{a||s()},position:"left",size:"sm",closeOnOverlayClick:!0,closeOnEscape:!0,children:n.jsx(Ms,{className:w("p-4",t),children:n.jsx("nav",{className:"flex flex-col gap-2","aria-label":"Mobile navigation",children:e})})})}const hd={sm:"max-w-screen-sm",md:"max-w-screen-md",lg:"max-w-screen-lg",xl:"max-w-screen-xl","2xl":"max-w-screen-2xl",full:"max-w-full"},ot=l.forwardRef((u,c)=>{var d=u,{className:e,maxWidth:t="lg",paddingX:r="base",paddingY:s="base",center:a=!0,children:o}=d,i=O(d,["className","maxWidth","paddingX","paddingY","center","children"]);return n.jsx("div",P(T({ref:c,className:w("w-full",hd[t],E(r,"px"),E(s,"py"),a&&"mx-auto",e)},i),{children:o}))});ot.displayName="Container";const Tt=l.forwardRef((u,c)=>{var d=u,{className:e,spacing:t="base",align:r="stretch",justify:s="start",direction:a="column",children:o}=d,i=O(d,["className","spacing","align","justify","direction","children"]);const f=a==="column"?E(t,"gap-y"):E(t,"gap-x"),p={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},m={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};return n.jsx("div",P(T({ref:c,className:w("flex",a==="column"?"flex-col":"flex-row",f,p[r],m[s],e)},i),{children:o}))});Tt.displayName="Stack";const bd=xe(w("w-full","bg-surface-base","transition-shadow","transition-colors"),{variants:{variant:{default:"",elevated:"shadow-sm",bordered:w("border-b","border-line-muted")}},defaultVariants:{variant:"default"}});function gt(c){var u=c,{children:e,variant:t="default",sticky:r=!1,maxWidth:s="full",bare:a=!1,className:o}=u,i=O(u,["children","variant","sticky","maxWidth","bare","className"]);const d=n.jsx("div",{className:"flex items-center justify-between gap-4",children:e});return a?n.jsx(ls,{children:n.jsx("div",P(T({className:w(o)},i),{children:d}))}):n.jsx(ls,{children:n.jsx("header",P(T({className:w(bd({variant:t}),r&&`sticky top-0 ${ue("sticky")}`,r&&"backdrop-blur-sm bg-surface-base/95",o)},i),{children:n.jsx(ot,{maxWidth:s,paddingX:"base",paddingY:"sm",children:d})}))})}gt.Logo=Ya;gt.Navigation=Xa;gt.Actions=Ja;gt.Hamburger=Za;gt.MobileMenu=Qa;const In=xe(w("flex","items-center","gap-2"),{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col"},variant:{default:"",pills:"",tabs:""}},defaultVariants:{orientation:"horizontal",variant:"default"},compoundVariants:[{orientation:"vertical",variant:"default",class:"items-stretch"},{orientation:"vertical",variant:"pills",class:"items-stretch"},{orientation:"vertical",variant:"tabs",class:"items-stretch"}]});function gd(u){var d=u,{items:e,orientation:t="horizontal",variant:r="default",className:s,"aria-label":a="Main navigation",bare:o=!1,pathname:i}=d,c=O(d,["items","orientation","variant","className","aria-label","bare","pathname"]);let f=i;if(!f)try{const h=typeof require!="undefined"?require("next/navigation"):null;if(h!=null&&h.usePathname){const x=h.usePathname;f=x()}}catch(h){f=void 0}const p=l.useMemo(()=>e.map(h=>{if(h.active!==void 0)return h;if(f){const x=f===h.href||h.href!=="/"&&f.startsWith(`${h.href}/`);return P(T({},h),{active:x})}return P(T({},h),{active:!1})}),[e,f]),m=n.jsx(n.Fragment,{children:p.map((h,x)=>{const y=r==="pills"?"background":r==="tabs"?"underline":"default";return n.jsxs(xs,{href:h.href,active:h.active,disabled:h.disabled,variant:y,className:w("flex items-center gap-2",t==="vertical"&&"w-full justify-start",h.className),children:[h.icon&&n.jsx("span",{className:"flex-shrink-0","aria-hidden":"true",children:h.icon}),n.jsx("span",{children:h.label}),h.badge&&n.jsx("span",{className:"ml-auto",children:h.badge})]},h.href||x)})});return o?n.jsx("div",P(T({className:w(In({orientation:t,variant:r}),s)},c),{children:m})):n.jsx("nav",P(T({className:w(In({orientation:t,variant:r}),s),"aria-label":a},c),{children:m}))}function eo(e){return n.jsx(gd,P(T({},e),{pathname:e.pathname}))}const xd=xe(w("w-full","flex","flex-col","gap-2"),{variants:{variant:{default:w(E("base","mb")),compact:w(E("sm","mb"))}},defaultVariants:{variant:"default"}});function to(c){var u=c,{title:e,description:t,breadcrumb:r,actions:s,variant:a="default",className:o}=u,i=O(u,["title","description","breadcrumb","actions","variant","className"]);return n.jsxs("div",P(T({className:w(xd({variant:a}),o)},i),{children:[r&&r.length>0&&n.jsx(Ma,{items:r}),n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx(Be,{variant:"heading",as:"h1",className:"mb-2 text-2xl font-bold",children:e}),t&&n.jsx(Be,{variant:"body",className:"text-fg-secondary",children:t})]}),s&&n.jsx("div",{className:"flex items-center gap-2 flex-shrink-0",children:s})]})]}))}function vd(s){var a=s,{onForgotPasswordClick:e,className:t}=a,r=O(a,["onForgotPasswordClick","className"]);return n.jsx("div",{className:w(E("base","p"),"bg-surface-muted",J("md"),t),children:n.jsxs("form",P(T({},r),{onSubmit:o=>{o.preventDefault(),r.onSubmit&&r.onSubmit(o)},className:w("space-y-4",r.className),children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Mt,{htmlFor:"login-email",variant:"required",children:"Your email"}),n.jsx(ke,{id:"login-email",placeholder:"myname@email.com",type:"email"})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Mt,{htmlFor:"login-password",variant:"required",children:"Your password"}),n.jsx(ke,{id:"login-password",placeholder:"••••••••",type:"password"})]}),n.jsxs("div",{className:"flex justify-between",children:[n.jsx(Z,{variant:"secondary",type:"button",onClick:e,children:"Forgot password?"}),n.jsx(Z,{variant:"regular",type:"submit",children:"Sign in"})]})]}))})}function yd(d){var f=d,{isOpen:e,onClose:t,title:r,children:s,variant:a="default",showCloseButton:o=!0,footer:i,className:c=""}=f,u=O(f,["isOpen","onClose","title","children","variant","showCloseButton","footer","className"]);const p=l.useRef(null),m=l.useRef(null);if(l.useEffect(()=>{if(!e)return;m.current=document.activeElement;const j=setTimeout(()=>{var b;(b=p.current)==null||b.focus()},0),C=b=>{b.key==="Escape"&&t()};return document.addEventListener("keydown",C),()=>{var b;clearTimeout(j),document.removeEventListener("keydown",C),(b=m.current)==null||b.focus()}},[e,t]),l.useEffect(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),!e)return null;const h=["fixed","inset-0",ue("modal"),"overflow-y-auto"],x=["fixed","inset-0","bg-scrim","transition-opacity"],k=["relative","bg-surface-overlay","rounded-lg","shadow-xl","my-8","mx-auto",{default:"max-w-md",large:"max-w-2xl",fullscreen:"max-w-full h-full"}[a],"p-6",c].filter(Boolean).join(" "),g=n.jsxs("div",{className:h.join(" "),role:"dialog","aria-modal":"true","aria-labelledby":r?"modal-title":void 0,onClick:j=>{j.target===j.currentTarget&&t()},children:[n.jsx("div",{className:x.join(" "),"aria-hidden":"true"}),n.jsx("div",{className:"flex min-h-full items-center justify-center p-4",children:n.jsxs("div",P(T({ref:p,tabIndex:-1,className:k,onClick:j=>j.stopPropagation()},u),{children:[r&&n.jsxs("div",{className:"flex justify-between items-center mb-4",children:[n.jsx("h2",{id:"modal-title",className:"text-xl font-semibold text-fg-primary",children:r}),o&&n.jsx("button",{onClick:t,className:"text-fg-tertiary hover:text-fg-secondary focus:outline-none","aria-label":"Close modal",children:n.jsx(we,{className:"h-6 w-6"})})]}),!r&&o&&n.jsx("div",{className:"flex justify-end mb-4",children:n.jsx("button",{onClick:t,className:"text-fg-tertiary hover:text-fg-secondary focus:outline-none","aria-label":"Close modal",children:n.jsx(we,{className:"h-6 w-6"})})}),n.jsx("div",{className:"mb-4",children:s}),i&&n.jsx("div",{className:"flex justify-end gap-2 mt-4",children:i})]}))})]});return typeof window!="undefined"?Ue.createPortal(g,document.body):g}const Rr=l.createContext(void 0);function Pe(){const e=l.useContext(Rr);if(e===void 0)throw new Error("useTableContext must be used within a Table component");return e}function wd(){const e=l.useContext(Rr);return e||void 0}function cs({columns:e,data:t,loading:r=!1,paginationMode:s,page:a,pageSize:o,total:i,onPageChange:c,onPageSizeChange:u,defaultPageSize:d=10,pageSizeOptions:f,sortColumn:p,sortDirection:m,onSort:h,defaultSortColumn:x,defaultSortDirection:y="asc",filters:k,filterValues:g,onFilter:j,initialFilterValues:C={},selectable:b=!1,selectedRows:v,onSelectionChange:N,rowId:_,actions:S,emptyMessage:M="No data available",emptyStateTitle:F,emptyStateMessage:A,emptyStateIllustration:R,emptyStateAction:I,onRowClick:L,resizable:z=!1,columnWidths:Y,onColumnResize:q,virtualScrolling:W,virtualScrollingOptions:ae,children:se}){const D=l.useMemo(()=>s||(i!==void 0&&c?"server":"client"),[s,i,c]),B=a!==void 0,[X,Q]=l.useState(1),[H,U]=l.useState(d),V=B?a:X,ne=o!=null?o:H,oe=l.useMemo(()=>D==="server"?i!=null?i:0:t.length,[D,i,t.length]),ie=l.useMemo(()=>Math.ceil(oe/ne),[oe,ne]),Ne=p!==void 0,[ze,Lt]=l.useState(x||""),[Ae,Ft]=l.useState(y),$e=Ne?p:ze,Xt=Ne?m||"asc":Ae,Vr=g!==void 0,[Eo,Mo]=l.useState(C),Jt=Vr?g:Eo,Wr=v!==void 0,[To,Ao]=l.useState([]),Re=Wr?v:To,Zt=l.useMemo(()=>!k||k.length===0?t:t.filter(ee=>k.every(de=>{const be=Jt[de.key];if(!be||be==="")return!0;const er=ee[de.key];return de.type==="text"?String(er||"").toLowerCase().includes(String(be).toLowerCase()):String(er)===String(be)})),[t,k,Jt]),Hr=l.useMemo(()=>{if(Ne&&h||!$e)return Zt;const ee=[...Zt];return ee.sort((de,be)=>{const er=de[$e],Lo=be[$e],un=String(er||"").localeCompare(String(Lo||""));return Xt==="asc"?un:-un}),ee},[Zt,$e,Xt,h,Ne]),Oe=l.useMemo(()=>{if(D==="server")return Hr;const ee=(V-1)*ne,de=ee+ne;return Hr.slice(ee,de)},[Hr,D,V,ne]),yt=l.useCallback((ee,de)=>{var be;return _?_(ee):((be=ee==null?void 0:ee.id)==null?void 0:be.toString())||de.toString()},[_]),Qt=l.useMemo(()=>!b||Oe.length===0?!1:Oe.every((ee,de)=>{const be=yt(ee,de);return Re.includes(be)}),[b,Oe,Re,yt]),rn=l.useMemo(()=>{if(!b)return!1;const ee=Re.length;return ee>0&&ee<Oe.length},[b,Re.length,Oe.length]),wt=l.useCallback(ee=>{B?c==null||c(ee):Q(ee)},[B,c]),sn=l.useCallback(ee=>{u?u(ee):U(ee),wt(1)},[u,wt]),nn=l.useCallback((ee,de)=>{Ne?h==null||h(ee,de):(Lt(ee),Ft(de))},[Ne,h]),an=l.useCallback(ee=>{Vr?j==null||j(ee):Mo(ee),wt(1)},[Vr,j,wt]),dt=l.useCallback(ee=>{Wr?N==null||N(ee):Ao(ee)},[Wr,N]),on=l.useCallback(ee=>{const de=Re.includes(ee)?Re.filter(be=>be!==ee):[...Re,ee];dt(de)},[Re,dt]),ln=l.useCallback(()=>{if(Qt)dt([]);else{const ee=Oe.map((de,be)=>yt(de,be));dt(ee)}},[Qt,Oe,yt,dt]),[Ro,Io]=l.useState({}),Br=Y!==void 0,cn=Br?Y:Ro,dn=l.useCallback((ee,de)=>{Br?q==null||q(ee,de):Io(be=>P(T({},be),{[ee]:de}))},[Br,q]),Do=l.useMemo(()=>({columns:e,data:t,paginatedData:Oe,loading:r,paginationState:{page:V,pageSize:ne,total:oe,totalPages:ie},sortState:{column:$e,direction:Xt},filterState:{values:Jt,config:k||[]},selectionState:{selectedRows:Re,isAllSelected:Qt,isIndeterminate:rn},paginationMode:D,selectable:b,rowId:_,actions:S,resizable:z,columnWidths:cn,virtualScrolling:W,emptyMessage:M,emptyStateTitle:F,emptyStateMessage:A,emptyStateIllustration:R,emptyStateAction:I,setPage:wt,setPageSize:sn,setSorting:nn,setFilters:an,setSelection:dt,toggleRowSelection:on,toggleSelectAll:ln,getRowId:yt,setColumnWidth:dn,onPageChange:c,onPageSizeChange:u,onSort:h,onFilter:j,onSelectionChange:N,onRowClick:L,onColumnResize:q}),[e,t,Oe,r,V,ne,oe,ie,$e,Xt,Jt,k,Re,Qt,rn,D,b,_,S,M,F,A,R,I,wt,sn,nn,an,dt,on,ln,yt,dn,c,u,h,j,N,L,q,z,cn,W]);return n.jsx(Rr.Provider,{value:Do,children:se})}function Ds(u){var d=u,{column:e,resizable:t=!1,width:r,onResize:s,minWidth:a=50,maxWidth:o,className:i=""}=d,c=O(d,["column","resizable","width","onResize","minWidth","maxWidth","className"]);const{sortState:f,setSorting:p,onSort:m}=Pe(),h=l.useRef(null),x=l.useRef(null),y=l.useRef(null),k=()=>{if(!e.sortable||!m&&!p)return;const N=f.column===e.key&&f.direction==="asc"?"desc":"asc";m?m(e.key,N):p(e.key,N)},g=N=>{b&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),k())},j=N=>{if(N.preventDefault(),N.stopPropagation(),!x.current||!s)return;const _=r||x.current.offsetWidth;y.current={x:N.clientX,width:_};const S=F=>{if(!y.current)return;const A=F.clientX-y.current.x,R=y.current.width+A,I=Math.max(a,o?Math.min(R,o):R);s(e.key,I)},M=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",M),y.current=null};document.addEventListener("mousemove",S),document.addEventListener("mouseup",M)},C=f.column===e.key,b=e.sortable&&(m||p),v=C?f.direction:void 0;return n.jsx("th",P(T({ref:x,scope:"col",role:"columnheader","aria-sort":C?v==="asc"?"ascending":"descending":b?"none":void 0,className:`px-6 py-3 text-left text-xs font-medium text-fg-tertiary uppercase tracking-wider ${b?"cursor-pointer hover:bg-surface-active focus:bg-surface-active focus:outline-none focus:ring-2 focus:ring-line-focus focus:ring-offset-2 select-none":""} ${e.hiddenOnMobile?"hidden md:table-cell":""} ${i}`,onClick:b?k:void 0,onKeyDown:b?g:void 0,tabIndex:b?0:void 0,style:r?{width:`${r}px`,minWidth:`${r}px`}:void 0},c),{children:n.jsxs("div",{className:"flex items-center gap-2 relative",children:[n.jsx("span",{children:e.label}),C&&n.jsx("span",{className:"text-fg-tertiary","aria-hidden":"true",children:f.direction==="asc"?"↑":"↓"}),t&&s&&n.jsx("div",{ref:h,className:"absolute right-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-surface-brand transition-colors",onMouseDown:j,role:"separator","aria-orientation":"vertical","aria-label":`Resize ${e.label} column`,style:{touchAction:"none"}})]})}))}function Ls(r){var s=r,{className:e=""}=s,t=O(s,["className"]);const{columns:a,selectable:o,selectionState:i,toggleSelectAll:c,actions:u,resizable:d,columnWidths:f,setColumnWidth:p}=Pe();return n.jsxs("tr",P(T({role:"row",className:e},t),{children:[o&&n.jsx("th",{scope:"col",role:"columnheader",className:"px-6 py-3 w-12","aria-label":"Select all",children:n.jsx(Nr,{checked:i.isAllSelected,onChange:c,"aria-label":"Select all rows",className:"my-0",indeterminate:i.isIndeterminate})}),a.map(m=>n.jsx(Ds,{column:m,resizable:d,width:f==null?void 0:f[m.key],onResize:p},m.key)),u&&n.jsx("th",{scope:"col",role:"columnheader",className:"px-6 py-3 text-right text-xs font-medium text-fg-tertiary uppercase tracking-wider w-12","aria-label":"Actions",children:n.jsx("span",{className:"sr-only",children:"Actions"})})]}))}function Fs(r){var s=r,{className:e=""}=s,t=O(s,["className"]);return Pe(),n.jsx("thead",P(T({className:`bg-surface-subtle sticky top-0 ${ue("sticky")} ${e}`},t),{children:n.jsx(Ls,{})}))}function _s(a){var o=a,{column:e,row:t,className:r=""}=o,s=O(o,["column","row","className"]);const i=e.key in t?t[e.key]:void 0;return n.jsx("td",P(T({className:`px-6 py-4 whitespace-nowrap text-sm text-fg-primary ${e.hiddenOnMobile?"hidden md:table-cell":""} ${r}`},s),{children:e.render?e.render(i,t):String(i!=null?i:"")}))}function kd(o){var i=o,{actions:e,row:t,align:r="right",className:s=""}=i,a=O(i,["actions","row","align","className"]);const c=e.map(u=>({label:u.label,onClick:()=>u.onClick(t),variant:u.variant,disabled:u.disabled}));return n.jsx("div",P(T({className:`inline-flex ${s}`},a),{children:n.jsx(Ra,{trigger:n.jsx(Z,{variant:"ghost",size:"sm","aria-label":"Row actions",className:"h-8 w-8 p-0",children:n.jsx(Bl,{className:"h-4 w-4"})}),items:c,align:r})}))}function Ps(a){var o=a,{row:e,align:t="right",className:r=""}=o,s=O(o,["row","align","className"]);const{actions:i}=Pe();if(!i)return null;const c=i(e);return c.length===0?null:n.jsx(kd,T({row:e,actions:c,align:t,className:r},s))}function hr(i){var c=i,{row:e,rowIndex:t,className:r="",onClick:s,style:a}=c,o=O(c,["row","rowIndex","className","onClick","style"]);const{columns:u,selectable:d,selectionState:f,toggleRowSelection:p,getRowId:m,actions:h,onRowClick:x}=Pe(),y=m(e,t),k=f.selectedRows.includes(y),g=j=>{s&&s(j),x&&x(e)};return n.jsxs("tr",P(T({role:"row","aria-selected":d?k:void 0,"aria-rowindex":t+1,className:`hover:bg-surface-hover ${k?"bg-surface-selected":""} ${r}`,onClick:g,style:a},o),{children:[d&&n.jsx("td",{className:"px-6 py-4",children:n.jsx(Nr,{checked:k,onChange:()=>p(y),"aria-label":`Select row ${y}`,className:"my-0"})}),u.map(j=>n.jsx(_s,{column:j,row:e},String(j.key))),h&&n.jsx("td",{className:"px-6 py-4 text-right",children:n.jsx(Ps,{row:e})})]}))}function zs(r){var s=r,{className:e=""}=s,t=O(s,["className"]);const{emptyMessage:a,emptyStateTitle:o,emptyStateMessage:i,emptyStateIllustration:c,emptyStateAction:u}=Pe();return o||i||c?n.jsxs("div",P(T({className:e},t),{children:[n.jsx(Aa,{title:o||"No data available",message:i||a||"No data available",variant:c?"withIllustration":"default",illustration:c}),u&&n.jsx("div",{className:"mt-4 flex justify-center",children:u})]})):n.jsx("div",P(T({className:`text-center text-fg-secondary ${e}`},t),{children:a||"No data available"}))}function ro(e,t){const{itemHeight:r,containerHeight:s,overscan:a=5,enabled:o=!0}=t,[i,c]=l.useState(0),u=l.useRef(null),d=l.useMemo(()=>{if(!o||e.length===0)return e.map((y,k)=>({index:k,start:k*r,end:(k+1)*r,size:r}));const m=Math.max(0,Math.floor(i/r)-a),h=s?Math.min(e.length,Math.ceil((i+s)/r)+a):e.length,x=[];for(let y=m;y<h;y++)x.push({index:y,start:y*r,end:(y+1)*r,size:r});return x},[e,r,i,s,a,o]),f=e.length*r;return l.useEffect(()=>{if(!o||!u.current)return;const m=u.current,h=()=>{c(m.scrollTop)};return m.addEventListener("scroll",h,{passive:!0}),()=>m.removeEventListener("scroll",h)},[o]),{virtualItems:d,totalHeight:f,scrollOffset:i,setScrollOffset:c,scrollToIndex:m=>{if(!u.current)return;const h=m*r;u.current.scrollTop=h,c(h)},containerRef:u}}function Os(s){var a=s,{children:e,className:t=""}=a,r=O(a,["children","className"]);var y,k;const{paginatedData:o,loading:i,columns:c,selectable:u,actions:d,virtualScrolling:f,virtualScrollingOptions:p}=Pe(),m=c.length+(u?1:0)+(d?1:0),h=ro(o,{itemHeight:(p==null?void 0:p.itemHeight)||50,containerHeight:p==null?void 0:p.containerHeight,overscan:(p==null?void 0:p.overscan)||5,enabled:f||!1}),x=l.useMemo(()=>f&&h.virtualItems.length>0?h.virtualItems.map(g=>({row:o[g.index],index:g.index})).filter(g=>g.row!==void 0):o.map((g,j)=>({row:g,index:j})),[f,h.virtualItems,o]);return i?n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`},r),{children:Array.from({length:5}).map((g,j)=>n.jsx("tr",{children:Array.from({length:m}).map((C,b)=>n.jsx("td",{className:"px-6 py-4",children:n.jsx(ga,{className:"h-4 w-full"})},b))},j))})):o.length===0?n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`},r),{children:n.jsx("tr",{children:n.jsx("td",{colSpan:m,className:"px-6 py-12",children:n.jsx(zs,{})})})})):typeof e=="function"?n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`},r),{children:o.map((g,j)=>e(g,j))})):n.jsx("tbody",P(T({className:`bg-surface-base divide-y divide-line-default ${t}`,role:"rowgroup"},r),{children:f&&h.virtualItems.length>0&&x.length>0?n.jsxs(n.Fragment,{children:[((y=h.virtualItems[0])==null?void 0:y.start)>0&&n.jsx("tr",{style:{height:h.virtualItems[0].start},"aria-hidden":"true",children:n.jsx("td",{colSpan:m})}),x.map(({row:g,index:j})=>n.jsx(hr,{row:g,rowIndex:j},j)),h.virtualItems.length>0&&n.jsx("tr",{style:{height:Math.max(0,h.totalHeight-(((k=h.virtualItems[h.virtualItems.length-1])==null?void 0:k.end)||0))},"aria-hidden":"true",children:n.jsx("td",{colSpan:m})})]}):x.map(({row:g,index:j})=>n.jsx(hr,{row:g,rowIndex:j},j))}))}function jd(i){var c=i,{filters:e,onFilter:t,initialValues:r={},showClearAll:s=!0,className:a=""}=c,o=O(c,["filters","onFilter","initialValues","showClearAll","className"]);const[u,d]=l.useState(r),[f,p]=l.useState(!1),m=Object.values(u).some(g=>g!==""&&g!==null&&g!==void 0),h=(g,j)=>{const C=P(T({},u),{[g]:j});d(C),t(C)},x=()=>{const g={};e.forEach(j=>{g[j.key]=""}),d(g),t(g)},y=g=>{const j=P(T({},u),{[g]:""});d(j),t(j)},k=Object.values(u).filter(g=>g!==""&&g!==null&&g!==void 0).length;return n.jsx("div",P(T({className:`bg-surface-base border-b border-line-default ${a}`},o),{children:n.jsxs("div",{className:"px-4 py-3 sm:px-6",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("button",{type:"button",onClick:()=>p(!f),className:"flex items-center gap-2 text-sm font-medium text-fg-secondary hover:text-fg-primary",children:[n.jsx(Zl,{className:"h-4 w-4"}),n.jsx("span",{children:"Filters"}),k>0&&n.jsx("span",{className:`inline-flex items-center ${E("sm","px")} ${E("0.5","py")} rounded text-xs font-medium bg-surface-brand-muted text-fg-brand-emphasis`,children:k})]}),m&&s&&n.jsx(Z,{variant:"ghost",size:"sm",onClick:x,className:"text-sm",children:"Clear all"})]}),f&&n.jsx("div",{className:"mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:e.map(g=>{const j=u[g.key]||"";return n.jsxs("div",{className:"space-y-1",children:[n.jsx(Mt,{htmlFor:`filter-${g.key}`,variant:"optional",children:g.label}),n.jsxs("div",{className:"relative",children:[g.type==="text"&&n.jsx(ke,{id:`filter-${g.key}`,type:"text",value:j,onChange:C=>h(g.key,C.target.value),placeholder:g.placeholder||`Filter by ${g.label.toLowerCase()}`,size:"sm",variant:"outlined"}),g.type==="select"&&n.jsxs("div",{className:"relative",children:[n.jsx(jr,{id:`filter-${g.key}`,options:[{value:"",label:`All ${g.label}`},...g.options||[]],value:j,onChange:C=>h(g.key,C.target.value)}),j&&n.jsx("button",{type:"button",onClick:()=>y(g.key),className:"absolute right-8 top-1/2 -translate-y-1/2 text-fg-tertiary hover:text-fg-secondary","aria-label":`Clear ${g.label} filter`,children:n.jsx(we,{className:"h-4 w-4"})})]}),g.type==="date"&&n.jsx(ke,{id:`filter-${g.key}`,type:"date",value:j,onChange:C=>h(g.key,C.target.value),size:"sm",variant:"outlined"}),j&&g.type!=="select"&&n.jsx("button",{type:"button",onClick:()=>y(g.key),className:"absolute right-2 top-1/2 -translate-y-1/2 text-fg-tertiary hover:text-fg-secondary","aria-label":`Clear ${g.label} filter`,children:n.jsx(we,{className:"h-4 w-4"})})]})]},g.key)})})]})}))}function Vs(s){var a=s,{showClearAll:e=!0,className:t=""}=a,r=O(a,["showClearAll","className"]);const{filterState:o,setFilters:i}=Pe();return o.config.length===0?null:n.jsx(jd,T({filters:o.config,onFilter:i,initialValues:o.values,showClearAll:e,className:t},r))}function Nd(f){var p=f,{page:e,pageSize:t,total:r,onPageChange:s,onPageSizeChange:a,pageSizeOptions:o=[10,25,50,100],showPageSizeSelector:i=!0,showPageInfo:c=!0,className:u=""}=p,d=O(p,["page","pageSize","total","onPageChange","onPageSizeChange","pageSizeOptions","showPageSizeSelector","showPageInfo","className"]);const m=Math.ceil(r/t),h=r===0?0:(e-1)*t+1,x=Math.min(e*t,r),y=()=>{e>1&&s(e-1)},k=()=>{e<m&&s(e+1)},g=()=>{e>1&&s(1)},j=()=>{e<m&&s(m)};return n.jsxs("div",P(T({className:`flex items-center justify-between px-4 py-3 bg-surface-base border-t border-line-default sm:px-6 ${u}`},d),{children:[n.jsxs("div",{className:"flex flex-1 justify-between sm:hidden",children:[n.jsx(Z,{variant:"outline",size:"sm",onClick:y,disabled:e===1,children:"Previous"}),n.jsx(Z,{variant:"outline",size:"sm",onClick:k,disabled:e>=m,children:"Next"})]}),n.jsxs("div",{className:"hidden sm:flex sm:flex-1 sm:items-center sm:justify-between",children:[c&&n.jsx("div",{children:n.jsxs(Be,{as:"p",className:"text-sm text-fg-secondary",children:["Showing ",n.jsx("span",{className:"font-medium",children:h})," to"," ",n.jsx("span",{className:"font-medium",children:x})," of"," ",n.jsx("span",{className:"font-medium",children:r})," results"]})}),n.jsxs("div",{className:"flex items-center gap-4",children:[i&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Be,{as:"span",className:"text-sm text-fg-secondary",children:"Show:"}),n.jsx(jr,{"aria-label":"Items per page",options:o.map(C=>({value:C.toString(),label:C.toString()})),value:t.toString(),onChange:C=>{const b=parseInt(C.target.value);a(b),s(1)},className:"w-20"})]}),n.jsxs("nav",{className:"flex items-center gap-1","aria-label":"Pagination",children:[n.jsxs(Z,{variant:"ghost",size:"sm",onClick:g,disabled:e===1,"aria-label":"First page",children:[n.jsx(Bt,{className:"h-4 w-4"}),n.jsx(Bt,{className:"h-4 w-4 -ml-2"})]}),n.jsx(Z,{variant:"ghost",size:"sm",onClick:y,disabled:e===1,"aria-label":"Previous page",children:n.jsx(Bt,{className:"h-4 w-4"})}),n.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,m)},(C,b)=>{let v;return m<=5||e<=3?v=b+1:e>=m-2?v=m-4+b:v=e-2+b,n.jsx(Z,{variant:e===v?"primary":"ghost",size:"sm",onClick:()=>s(v),className:"min-w-10","aria-label":`Page ${v}`,"aria-current":e===v?"page":void 0,children:v},v)})}),n.jsx(Z,{variant:"ghost",size:"sm",onClick:k,disabled:e>=m,"aria-label":"Next page",children:n.jsx(ht,{className:"h-4 w-4"})}),n.jsxs(Z,{variant:"ghost",size:"sm",onClick:j,disabled:e>=m,"aria-label":"Last page",children:[n.jsx(ht,{className:"h-4 w-4"}),n.jsx(ht,{className:"h-4 w-4 -ml-2"})]})]})]})]})]}))}function Ws(o){var i=o,{showPageSizeSelector:e=!0,showPageInfo:t=!0,pageSizeOptions:r,className:s=""}=i,a=O(i,["showPageSizeSelector","showPageInfo","pageSizeOptions","className"]);const{paginationState:c,setPage:u,setPageSize:d,paginationMode:f}=Pe();return f==="client"&&c.totalPages<=1?null:n.jsx(Nd,T({page:c.page,pageSize:c.pageSize,total:c.total,onPageChange:u,onPageSizeChange:d,pageSizeOptions:r,showPageSizeSelector:e,showPageInfo:t,className:s},a))}function je(e){const o=e,{className:t=""}=o,r=O(o,["className"]),s="children"in e&&e.children!==void 0,a=s?r:Sd(r);return s?n.jsx("div",{className:`bg-surface-base shadow rounded-lg overflow-hidden ${t}`,children:n.jsx(cs,P(T({},a),{children:e.children}))}):n.jsx("div",{className:`bg-surface-base shadow rounded-lg overflow-hidden ${t}`,children:n.jsxs(cs,P(T({},a),{children:[a.filters&&a.filters.length>0&&n.jsx(Vs,{}),n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"min-w-full divide-y divide-line-default",role:"table","aria-label":e["aria-label"],"aria-labelledby":e["aria-labelledby"],"aria-rowcount":a.total||a.data.length,"aria-colcount":a.columns.length+(a.selectable?1:0)+(a.actions?1:0),children:[n.jsx(Fs,{}),n.jsx(Os,{})]})}),n.jsx(Ws,{})]}))})}function Sd(e){const{columns:t,data:r,loading:s,onSort:a,sortColumn:o,sortDirection:i,emptyMessage:c,emptyStateTitle:u,emptyStateMessage:d,emptyStateIllustration:f,emptyStateAction:p,pagination:m,filters:h,selectable:x,selectedRows:y,onSelectionChange:k,rowId:g,actions:j,onRowClick:C,paginationMode:b,defaultPageSize:v,resizable:N,columnWidths:_,onColumnResize:S,virtualScrolling:M,virtualScrollingOptions:F}=e;let A=b||"auto";return A==="auto"&&(A=m&&m.total!==void 0&&m.onPageChange?"server":"client"),{columns:t,data:r,loading:s,paginationMode:A,page:m==null?void 0:m.page,pageSize:m==null?void 0:m.pageSize,total:m==null?void 0:m.total,onPageChange:m==null?void 0:m.onPageChange,onPageSizeChange:m==null?void 0:m.onPageSizeChange,defaultPageSize:v||(m==null?void 0:m.pageSize)||10,pageSizeOptions:m==null?void 0:m.pageSizeOptions,sortColumn:o,sortDirection:i,onSort:a,filters:h==null?void 0:h.config,filterValues:h==null?void 0:h.initialValues,onFilter:h==null?void 0:h.onFilter,initialFilterValues:h==null?void 0:h.initialValues,selectable:x,selectedRows:y,onSelectionChange:k,rowId:g,actions:j,onRowClick:C,emptyMessage:c,emptyStateTitle:u,emptyStateMessage:d,emptyStateIllustration:f,emptyStateAction:p,resizable:N,columnWidths:_,onColumnResize:S,virtualScrolling:M,virtualScrollingOptions:F,children:n.jsx(n.Fragment,{})}}je.Header=Fs;je.HeaderRow=Ls;je.HeaderCell=Ds;je.Body=Os;je.Row=hr;je.Cell=_s;je.Filters=Vs;je.Pagination=Ws;je.EmptyState=zs;je.Actions=Ps;function Cd(e={}){const{defaultWidths:t={},minWidth:r=50,maxWidth:s,resizable:a=!0}=e,[o,i]=l.useState(t),[c,u]=l.useState(!1),[d,f]=l.useState(null),p=l.useRef(null),m=l.useCallback((C,b)=>{const v=Math.max(r,s?Math.min(b,s):b);i(N=>P(T({},N),{[C]:v}))},[r,s]),h=l.useCallback(()=>{i(t)},[t]),x=l.useCallback((C,b,v)=>{a&&(u(!0),f(C),p.current={startX:b,startWidth:v})},[a]),y=l.useCallback(C=>{if(!c||!d||!p.current)return;const b=C-p.current.startX,v=p.current.startWidth+b;m(d,v)},[c,d,m]),k=l.useCallback(()=>{u(!1),f(null),p.current=null},[]),g=l.useRef(void 0),j=l.useRef(void 0);return typeof window!="undefined"&&(g.current=C=>{c&&y(C.clientX)},j.current=()=>{c&&k()},c?(document.addEventListener("mousemove",g.current),document.addEventListener("mouseup",j.current)):(g.current&&document.removeEventListener("mousemove",g.current),j.current&&document.removeEventListener("mouseup",j.current))),{columnWidths:o,setColumnWidth:m,resetColumnWidths:h,isResizing:c,resizingColumn:d,startResize:x,handleResize:y,endResize:k}}const Ir=l.createContext(null);function $d(){return l.useContext(Ir)}function it(){const e=l.useContext(Ir);if(!e)throw new Error("useSideNavbarThemeRequired must be used within SideNavbarThemeProvider");return e}const $t={variant:"default",navigationWidth:"56px",contentWidth:"320px",animationDuration:300,animationEasing:"ease-in-out"};function Hs({children:e,variant:t=$t.variant,navigationWidth:r=$t.navigationWidth,contentWidth:s=$t.contentWidth,animationDuration:a=$t.animationDuration,animationEasing:o=$t.animationEasing}){const i=l.useMemo(()=>({variant:t,navigationWidth:r,contentWidth:s,animationDuration:a,animationEasing:o}),[t,r,s,a,o]);return n.jsx(Ir.Provider,{value:i,children:e})}const Dr=l.createContext(null);function Ed(){return l.useContext(Dr)}function xt(){const e=l.useContext(Dr);if(!e)throw new Error("useSideNavbarConfigRequired must be used within SideNavbarConfigProvider");return e}const ye={mode:"full",resizable:!1,minWidth:void 0,maxWidth:void 0,snapPoints:void 0,responsive:!1,mobileBreakpoint:768,mobileVariant:"collapse",overlayBackdrop:!0,persistState:!0,persistWidth:!1,storageKey:void 0,keyboardShortcut:"Ctrl+B",enableKeyboardShortcut:!0};function Bs({children:e,mode:t=ye.mode,resizable:r=ye.resizable,minWidth:s=ye.minWidth,maxWidth:a=ye.maxWidth,snapPoints:o=ye.snapPoints,responsive:i=ye.responsive,mobileBreakpoint:c=ye.mobileBreakpoint,mobileVariant:u=ye.mobileVariant,overlayBackdrop:d=ye.overlayBackdrop,persistState:f=ye.persistState,persistWidth:p=ye.persistWidth,storageKey:m=ye.storageKey,keyboardShortcut:h=ye.keyboardShortcut,enableKeyboardShortcut:x=ye.enableKeyboardShortcut}){const y=l.useMemo(()=>({mode:t,resizable:r,minWidth:s,maxWidth:a,snapPoints:o,responsive:i,mobileBreakpoint:c,mobileVariant:u,overlayBackdrop:d,persistState:f,persistWidth:p,storageKey:m,keyboardShortcut:h,enableKeyboardShortcut:x}),[t,r,s,a,o,i,c,u,d,f,p,m,h,x]);return n.jsx(Dr.Provider,{value:y,children:e})}const Lr=l.createContext(null);function Md(){return l.useContext(Lr)}function lt(){const e=l.useContext(Lr);if(!e)throw new Error("useSideNavbarStateRequired must be used within SideNavbarStateProvider");return e}function br(e){if(typeof e=="number")return e;const t=parseFloat(e);return isNaN(t)?0:e.endsWith("rem")||e.endsWith("em")?t*16:(e.endsWith("px"),t)}function so(e,t){return e===void 0||t===void 0?!0:e<t}function lr(e,t,r){let s=e;return t!==void 0&&(s=Math.max(s,t)),r!==void 0&&(s=Math.min(s,r)),s}const Td=["ctrl","cmd","control","shift","alt","meta","option"];function no(e){const t={key:"",ctrl:!1,shift:!1,alt:!1,meta:!1,isValid:!1};if(!e||typeof e!="string")return t;const r=e.trim();if(!r)return t;const s=r.split("+").map(u=>u.trim().toLowerCase()).filter(u=>u.length>0);if(s.length===0)return t;const a=new Set;let o="";for(let u=0;u<s.length;u++){const d=s[u];if(Td.includes(d))a.add(d);else if(u===s.length-1)o=d;else return t}if(!o)return t;const i=a.has("ctrl")||a.has("cmd")||a.has("control"),c=a.has("alt")||a.has("option");return{key:o,ctrl:i,shift:a.has("shift"),alt:c,meta:a.has("meta"),isValid:!0}}function Ad(e,t="windows"){if(!e.isValid)return"";const r=[];return t==="mac"?(e.ctrl&&r.push("⌘"),e.shift&&r.push("⇧"),e.alt&&r.push("⌥"),e.meta&&r.push("⌃"),r.push(e.key.toUpperCase()),r.join("")):(e.ctrl&&r.push("Ctrl"),e.shift&&r.push("Shift"),e.alt&&r.push("Alt"),e.meta&&r.push("Meta"),r.push(e.key.toUpperCase()),r.join("+"))}function ao({initialWidth:e,minWidth:t,maxWidth:r,snapPoints:s,snapThreshold:a=20,onWidthChange:o,enabled:i=!0}){process.env.NODE_ENV==="development"&&(so(t,r)||console.warn("[useResize] Invalid bounds: minWidth must be less than maxWidth",{minWidth:t,maxWidth:r}));const c=lr(e,t,r),[u,d]=l.useState(c),[f,p]=l.useState(!1),m=l.useRef(0),h=l.useRef(c),x=l.useCallback(j=>{let C=lr(j,t,r);if(s&&s.length>0){const b=s.reduce((v,N)=>{const _=Math.abs(C-N),S=Math.abs(C-v);return _<S?N:v},s[0]);Math.abs(C-b)<=a&&(C=b)}d(C),o==null||o(C)},[t,r,s,a,o]),y=l.useCallback(j=>{if(!i||!f)return;const C=j.clientX-m.current,b=h.current+C;x(b)},[i,f,x]),k=l.useCallback(()=>{i&&(p(!1),m.current=0,h.current=u)},[i,u]),g=l.useCallback(j=>{i&&(j.preventDefault(),j.stopPropagation(),p(!0),m.current=j.clientX,h.current=u)},[i,u]);return l.useEffect(()=>{if(f)return document.addEventListener("mousemove",y),document.addEventListener("mouseup",k),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",k),document.body.style.userSelect="",document.body.style.cursor=""}},[f,y,k]),l.useEffect(()=>{f||d(lr(e,t,r))},[e,t,r,f]),{width:u,isResizing:f,startResize:g,setWidth:x}}function oo({mobileBreakpoint:e=768,onMobileChange:t,enabled:r=!0}={}){const[s,a]=l.useState(typeof window!="undefined"?window.innerWidth:1024),[o,i]=l.useState(typeof window!="undefined"?window.innerWidth<e:!1),c=l.useCallback(()=>{if(!r||typeof window=="undefined")return;const u=window.innerWidth,d=u<e;a(u),d!==o&&(i(d),t==null||t(d))},[r,e,o,t]);return l.useEffect(()=>{if(!r||typeof window=="undefined")return;const u=window.innerWidth,d=u<e;a(u),i(d),window.addEventListener("resize",c);let f=null;return window.ResizeObserver&&(f=new ResizeObserver(()=>{c()}),f.observe(document.body)),()=>{window.removeEventListener("resize",c),f==null||f.disconnect()}},[r,e,c]),{isMobile:o,viewportWidth:s}}function io({isActive:e,containerRef:t,restoreFocus:r=!0,initialFocusRef:s}){const a=l.useRef(null);l.useEffect(()=>{if(e){if(a.current=document.activeElement,s!=null&&s.current)s.current.focus();else if(t.current){const i=t.current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');i==null||i.focus()}}else r&&a.current&&(a.current.focus(),a.current=null)},[e,t,s,r]);const o=l.useCallback(i=>{if(!(!e||!t.current)&&i.key==="Tab"){const c=t.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),u=c[0],d=c[c.length-1];i.shiftKey?document.activeElement===u&&(i.preventDefault(),d==null||d.focus()):document.activeElement===d&&(i.preventDefault(),u==null||u.focus())}},[e,t]);l.useEffect(()=>{if(e)return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[e,o])}function lo({key:e,ctrl:t=!1,shift:r=!1,alt:s=!1,meta:a=!1,onTrigger:o,enabled:i=!0,preventDefault:c=!0}){const u=l.useCallback(d=>{if(!i)return;const f=d.target;if((f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable)&&!t&&!a)return;const m=e.length===1?d.key.toLowerCase()===e.toLowerCase():d.key===e,h=t?d.ctrlKey||d.metaKey:!d.ctrlKey&&!d.metaKey,x=r?d.shiftKey:!d.shiftKey,y=s?d.altKey:!d.altKey,k=a?d.metaKey:!d.metaKey,g=t?(d.ctrlKey||d.metaKey)&&!a:h&&k;m&&g&&x&&y&&(c&&(d.preventDefault(),d.stopPropagation()),o())},[i,e,t,r,s,a,o,c]);l.useEffect(()=>{if(i)return window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u)}},[i,u])}function Us({children:e,defaultCollapsed:t=!1,collapsed:r,onCollapseChange:s,onWidthChange:a,onMobileChange:o,exclusiveGroups:i=!1}){const c=it(),u=xt(),d=l.useRef(null),f=r!==void 0,p=()=>{if(f)return r;if(u.storageKey&&u.persistState&&typeof window!="undefined"){const L=localStorage.getItem(`${u.storageKey}-collapsed`);if(L!==null)return L==="true"}return t},m=()=>{if(u.storageKey&&u.persistWidth&&typeof window!="undefined"){const L=localStorage.getItem(`${u.storageKey}-width`);if(L!==null){const z=parseInt(L,10);if(!isNaN(z))return z}}return br(c.contentWidth)},[h,x]=l.useState(p),[y,k]=l.useState({}),{isMobile:g}=oo({mobileBreakpoint:u.mobileBreakpoint,onMobileChange:L=>{o==null||o(L),L&&u.mobileVariant==="collapse"&&!f&&x(!0)},enabled:u.responsive}),{width:j,isResizing:C,startResize:b,setWidth:v}=ao({initialWidth:m(),minWidth:u.minWidth,maxWidth:u.maxWidth,snapPoints:u.snapPoints,onWidthChange:L=>{a==null||a(L),u.storageKey&&u.persistWidth&&typeof window!="undefined"&&localStorage.setItem(`${u.storageKey}-width`,String(L))},enabled:u.resizable&&!g});io({isActive:g&&u.mobileVariant==="overlay"&&!h,containerRef:d,restoreFocus:!0});const N=f?r:h,_=l.useCallback(L=>{f||x(L),s==null||s(L)},[f,s]),S=l.useCallback(()=>{_(!N)},[N,_]),M=no(u.keyboardShortcut);lo({key:M.key,ctrl:M.ctrl,shift:M.shift,alt:M.alt,meta:M.meta,onTrigger:S,enabled:u.enableKeyboardShortcut});const F=l.useCallback(L=>{v(L)},[v]),A=l.useCallback(L=>{k(i?z=>{const q=z[L]===!1,W={},ae=new Set([...Object.keys(z),L]);return q?ae.forEach(se=>{W[se]=!0}):ae.forEach(se=>{W[se]=se!==L}),W}:z=>P(T({},z),{[L]:!z[L]}))},[i]),R=l.useCallback((L,z)=>{k(Y=>P(T({},Y),{[L]:z}))},[]);l.useEffect(()=>{f&&r!==h&&x(r)},[f,r,h]),l.useEffect(()=>{u.storageKey&&u.persistState&&typeof window!="undefined"&&!f&&localStorage.setItem(`${u.storageKey}-collapsed`,String(h))},[u.storageKey,u.persistState,h,f]);const I=l.useMemo(()=>({collapsed:N,toggle:S,setCollapsed:_,currentWidth:j,setWidth:F,isMobile:g,isResizing:C,startResize:b,groupStates:y,toggleGroup:A,setGroupCollapsed:R,sidebarRef:d}),[N,S,_,j,F,g,C,b,y,A,R]);return n.jsx(Lr.Provider,{value:I,children:e})}function qs({children:e,variant:t,navigationWidth:r,contentWidth:s,animationDuration:a,animationEasing:o,mode:i,resizable:c,minWidth:u,maxWidth:d,snapPoints:f,responsive:p,mobileBreakpoint:m,mobileVariant:h,overlayBackdrop:x,persistState:y,persistWidth:k,storageKey:g,keyboardShortcut:j,enableKeyboardShortcut:C,defaultCollapsed:b,collapsed:v,onCollapseChange:N,onWidthChange:_,onMobileChange:S,exclusiveGroups:M}){return n.jsx(Hs,{variant:t,navigationWidth:r,contentWidth:s,animationDuration:a,animationEasing:o,children:n.jsx(Bs,{mode:i,resizable:c,minWidth:u,maxWidth:d,snapPoints:f,responsive:p,mobileBreakpoint:m,mobileVariant:h,overlayBackdrop:x,persistState:y,persistWidth:k,storageKey:g,keyboardShortcut:j,enableKeyboardShortcut:C,children:n.jsx(Us,{defaultCollapsed:b,collapsed:v,onCollapseChange:N,onWidthChange:_,onMobileChange:S,exclusiveGroups:M,children:e})})})}const Fr=l.createContext(null);function Gs(){return l.useContext(Fr)}function Ks(){const e=l.useContext(Fr);if(!e)throw new Error("useSidebarSlotRequired must be used within SidebarSlotProvider");return e}function co({children:e,defaultSlot:t=null}){const[r,s]=l.useState(t),a=l.useRef(new Map),o=l.useCallback((u,d)=>{a.current.set(u,d)},[]),i=l.useCallback(u=>{a.current.delete(u)},[]),c=l.useMemo(()=>({activeSlot:r,setActiveSlot:s,slots:a.current,registerSlot:o,unregisterSlot:i}),[r,o,i]);return n.jsx(Fr.Provider,{value:c,children:e})}const _r=l.createContext(null);function Rd(){return l.useContext(_r)}function Ys(){const e=l.useContext(_r);return e||{showMainToggle:!0,mainTogglePosition:"floating"}}function Xs(r){var s=r,{className:e=""}=s,t=O(s,["className"]);const{currentWidth:a,setWidth:o,isResizing:i,startResize:c}=lt(),{resizable:u}=xt();return u?n.jsxs("div",P(T({className:`
387
387
  group
388
388
  absolute
389
389
  top-0