github-stars-organizer 1.0.1 → 1.1.0

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.
Files changed (35) hide show
  1. package/dist/app/THIRD-PARTY-LICENSES.txt +26 -0
  2. package/dist/app/assets/backups-r4Hq-y_s.js +1 -0
  3. package/dist/app/assets/{badge-BI8BnSpx.js → badge-DWmLT6OI.js} +1 -1
  4. package/dist/app/assets/button-C0MQwO-R.js +14 -0
  5. package/dist/app/assets/coerce-D595RIhb.js +1 -0
  6. package/dist/app/assets/{explore-c7E93yLq.js → explore-Cizp4zKW.js} +5 -5
  7. package/dist/app/assets/{history-CwU1iI1t.js → history-OZ9l4TiG.js} +1 -1
  8. package/dist/app/assets/index--a4C8I0g.css +2 -0
  9. package/dist/app/assets/index-Cks444Kn.js +10 -0
  10. package/dist/app/assets/list._listId-C5TBL1sd.js +2 -0
  11. package/dist/app/assets/list._listId-Cq8rSqKM.js +1 -0
  12. package/dist/app/assets/local-backups-BGSAd5Gu.js +1 -0
  13. package/dist/app/assets/{local-sync-93kiPKY6.js → local-sync-Dd3hEb9I.js} +1 -1
  14. package/dist/app/assets/registry-DZ4hp3Pl.js +4 -0
  15. package/dist/app/assets/routes-C8TmhzRl.js +2 -0
  16. package/dist/app/assets/routes-CXgqVl-F.js +3 -0
  17. package/dist/app/assets/schemas-B0gCwksU.js +39 -0
  18. package/dist/app/assets/{star-DX2rWFRo.js → star-BoN7NVgv.js} +2 -2
  19. package/dist/app/assets/triangle-alert-Cgw2r-Xm.js +1 -0
  20. package/dist/app/index.html +9 -9
  21. package/dist/cli.js +7 -3
  22. package/package.json +1 -1
  23. package/dist/app/assets/backups-bxixTSN9.js +0 -1
  24. package/dist/app/assets/button-j3ddoMPG.js +0 -14
  25. package/dist/app/assets/coerce-CLwOVTKZ.js +0 -1
  26. package/dist/app/assets/download-BE4lcLN2.js +0 -1
  27. package/dist/app/assets/index-B6vy4QhK.css +0 -2
  28. package/dist/app/assets/index-D00n1Vsd.js +0 -10
  29. package/dist/app/assets/list._listId-B_ZPye2o.js +0 -1
  30. package/dist/app/assets/list._listId-DQE4KiA8.js +0 -2
  31. package/dist/app/assets/registry-CFdu_QCX.js +0 -4
  32. package/dist/app/assets/routes-DkgX4EzU.js +0 -1
  33. package/dist/app/assets/routes-DnP52mv4.js +0 -2
  34. package/dist/app/assets/schemas-D4rG9WO5.js +0 -39
  35. /package/dist/app/assets/{esm-hHQKpih6.js → esm-Cyyp48ez.js} +0 -0
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/list._listId-Cq8rSqKM.js","assets/button-C0MQwO-R.js","assets/sync-persistence-f8LlQoHO.js","assets/registry-DZ4hp3Pl.js","assets/schemas-B0gCwksU.js","assets/coerce-D595RIhb.js","assets/badge-DWmLT6OI.js","assets/star-BoN7NVgv.js"])))=>i.map(i=>d[i]);
2
+ import{G as e}from"./button-C0MQwO-R.js";import{O as t,k as n,t as r}from"./coerce-D595RIhb.js";import{c as i,s as a}from"./schemas-B0gCwksU.js";var o=()=>e(()=>import(`./list._listId-Cq8rSqKM.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),s=a({sort:i().optional(),group:i().optional(),search:i().optional(),page:r().optional(),language:i().optional(),archived:i().optional(),healthMin:r().optional(),healthMax:r().optional(),starsMin:r().optional(),starsMax:r().optional(),topics:i().optional()}),c=n(`/list/$listId`)({component:t(o,`component`),validateSearch:s});export{c as t};
@@ -0,0 +1 @@
1
+ import{B as e,R as t,V as n,it as r,nt as i,st as a,t as o,z as s}from"./button-C0MQwO-R.js";import{M as c,S as l}from"./coerce-D595RIhb.js";import{n as u}from"./star-BoN7NVgv.js";import{S as d,T as f,a as p,c as m,d as h,f as g,g as _,h as v,i as y,l as b,m as x,n as S,o as C,p as w,r as T,s as E,t as D,u as O}from"./registry-DZ4hp3Pl.js";import{Pn as k}from"./schemas-B0gCwksU.js";import{t as A}from"./list._listId-C5TBL1sd.js";var ee=t(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),j=a(r()),M=i();function N(){let{listId:t}=A.useParams(),r=c(),i=A.useSearch(),{data:a}=u(e=>e.from({listCollection:s}).select(({listCollection:e})=>e)),{data:N}=u(t=>t.from({listItemCollection:e}).select(({listItemCollection:e})=>e)),{data:P}=u(e=>e.from({repoCollection:n}).select(({repoCollection:e})=>e)),[F,I]=(0,j.useState)(!1),[L,R]=(0,j.useState)(``),[z,B]=(0,j.useState)(``),[V,H]=(0,j.useState)(null),U=x(),W=(a??[]).find(e=>e.id===t),G=N??[],K=G.filter(e=>e.list_id===t),q=new Set(K.map(e=>e.repo_id)),J=(P??[]).filter(e=>q.has(e.id)),Y=(0,j.useMemo)(()=>{let e=new Map;for(let t of K)e.set(t.repo_id,t.id);return e},[K]),{registry:X,sortDefinitions:Z}=(0,j.useMemo)(()=>T(J),[J]),Q=(0,j.useMemo)(()=>h(i,X,S,D),[i,X]),te=(0,j.useCallback)(e=>{let n=g(e,X,S,D);r({to:`/list/$listId`,params:{listId:t},search:n,replace:!0})},[r,t,X]);if(!W)return(0,M.jsx)(`p`,{className:`p-8 text-muted-foreground`,children:`List not found`});function ne(){R(W.name),B(W.description??``),I(!0)}function re(){s.update(W.id,e=>{e.name=L,e.description=z||null,e.updated_at=new Date().toISOString()}),I(!1)}function ie(){window.confirm(`Delete "${W.name}" here and on GitHub? The repos stay starred.`)&&(s.delete(W.id),r({to:`/`}))}let $=e=>(0,M.jsxs)(_,{repo:e,children:[Y.get(e.id)&&(0,M.jsx)(_.RemoveFromList,{listItemId:Y.get(e.id)}),(0,M.jsx)(_.AddToList,{repo:e,lists:a??[],listItems:G}),(0,M.jsx)(_.Rate,{repo:e}),(0,M.jsx)(_.Separator,{}),(0,M.jsx)(_.OpenOnGithub,{url:e.url}),(0,M.jsx)(_.CopyUrl,{url:e.url}),(0,M.jsx)(_.Separator,{}),(0,M.jsx)(_.Unstar,{repo:e})]}),ae=E({selectable:!0,onPreview:e=>H(e),renderActions:$});return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[F?(0,M.jsxs)(`div`,{className:`mr-4 flex-1 space-y-2`,children:[(0,M.jsx)(l,{value:L,onChange:e=>R(e.target.value),className:`font-display text-2xl font-bold`,autoFocus:!0}),(0,M.jsx)(v,{value:z,onChange:e=>B(e.target.value),placeholder:`Description`,className:`min-h-16 text-sm`}),(0,M.jsxs)(`div`,{className:`flex gap-2`,children:[(0,M.jsxs)(o,{size:`sm`,onClick:re,children:[(0,M.jsx)(f,{className:`mr-1 h-3 w-3`}),`Save`]}),(0,M.jsxs)(o,{size:`sm`,variant:`ghost`,onClick:()=>I(!1),children:[(0,M.jsx)(k,{className:`mr-1 h-3 w-3`}),`Cancel`]})]})]}):(0,M.jsxs)(`div`,{className:`min-w-0`,children:[(0,M.jsx)(`h1`,{className:`font-display text-2xl font-bold tracking-tight sm:text-3xl`,children:W.name}),W.description&&(0,M.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:W.description}),(0,M.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[J.length,` repos`]})]}),!F&&(0,M.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,M.jsx)(o,{variant:`ghost`,size:`icon-lg`,"aria-label":`Edit list`,title:`Edit list`,onClick:ne,children:(0,M.jsx)(ee,{})}),(0,M.jsx)(o,{variant:`ghost`,size:`icon-lg`,"aria-label":`Delete list`,title:`Delete list`,className:`text-destructive hover:text-destructive`,onClick:ie,children:(0,M.jsx)(d,{})})]})]}),(0,M.jsx)(O,{items:J,registry:X,sortDefinitions:Z,defaultSort:S,defaultGroupBy:D,viewState:Q,onViewStateChange:te,searchFields:y,children:(0,M.jsx)(b,{columns:ae,getRowId:e=>e.id,toolbar:(0,M.jsx)(m,{}),onRowClick:U?void 0:H,renderMobileRow:(e,t)=>(0,M.jsx)(p,{repo:e,state:t,actions:$(e)}),renderBulkActions:(e,n)=>(0,M.jsx)(C,{selectedRepos:e,lists:a??[],listItems:G,listId:t,clearSelection:n})})}),(0,M.jsx)(w,{repo:V,lists:a??[],listItems:G,open:V!==null,onOpenChange:e=>{e||H(null)}})]})}export{N as component};
@@ -0,0 +1 @@
1
+ import{H as e,K as t,R as n,U as r,V as i,W as a,it as o,n as s,nt as c,t as l}from"./button-C0MQwO-R.js";import{Pn as u,a as d,at as f,c as p,d as m,g as h,i as g,it as _,n as v,o as y,r as b,rt as x,s as S,u as C,y as w}from"./schemas-B0gCwksU.js";import{t as T}from"./local-sync-Dd3hEb9I.js";var E=n(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),D=n(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]);o();var O=c();function k({...e}){return(0,O.jsx)(m,{"data-slot":`dialog`,...e})}function A({...e}){return(0,O.jsx)(h,{"data-slot":`dialog-portal`,...e})}function j({className:e,...t}){return(0,O.jsx)(f,{"data-slot":`dialog-overlay`,className:s(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function M({className:e,children:t,showCloseButton:n=!0,...r}){return(0,O.jsxs)(A,{children:[(0,O.jsx)(j,{}),(0,O.jsxs)(w,{"data-slot":`dialog-content`,className:s(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r,children:[t,n&&(0,O.jsxs)(_,{"data-slot":`dialog-close`,render:(0,O.jsx)(l,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`}),children:[(0,O.jsx)(u,{}),(0,O.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function N({className:e,...t}){return(0,O.jsx)(`div`,{"data-slot":`dialog-header`,className:s(`flex flex-col gap-2`,e),...t})}function P({className:e,showCloseButton:t=!1,children:n,...r}){return(0,O.jsxs)(`div`,{"data-slot":`dialog-footer`,className:s(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,O.jsx)(_,{render:(0,O.jsx)(l,{variant:`outline`}),children:`Close`})]})}function F({className:e,...t}){return(0,O.jsx)(C,{"data-slot":`dialog-title`,className:s(`font-heading text-base leading-none font-medium`,e),...t})}function I({className:e,...t}){return(0,O.jsx)(x,{"data-slot":`dialog-description`,className:s(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}var L=`github-stars-organizer-backup`,R=S({githubId:y().int(),nodeId:p(),fullName:p()}),z=R.extend({starredAt:p()}),B=S({id:p(),name:p(),description:p().nullable(),isPrivate:g(),repos:b(R)}),V=S({repos:b(S({githubId:y().int(),notes:p().nullable(),usefulnessRating:y().int().min(1).max(5).nullable()})),tags:b(S({id:p(),name:p(),color:p()})),repoTags:b(S({githubId:y().int(),tagId:p()}))}),H=S({format:d(L),version:d(1),createdAt:p(),login:p(),reason:v([`launch`,`manual`,`before-restore`,`uploaded`]),stars:b(z),lists:b(B),local:V.optional()}),U=class extends Error{};function W(e){let t=H.safeParse(e);if(t.success)return t.data;let n=e;if(n?.format!==`github-stars-organizer-backup`)throw new U(`This file isn't a Stars Organizer backup.`);if(typeof n.version==`number`&&n.version>1)throw new U("This backup was made by a newer version. Update with `npx github-stars-organizer@latest`.");let r=t.error.issues[0];throw new U(`This backup is damaged (${r.path.join(`.`)}: ${r.message}).`)}S({local:V.optional()});function G(e){return e.restar.length+e.recreateLists.length+e.addToLists.length}function K({repos:e,tags:t,repo_tags:n}){let r=new Map(e.map(e=>[e.id,e.github_id]));return{repos:e.filter(e=>e.notes||e.usefulness_rating!==null).map(e=>({githubId:e.github_id,notes:e.notes||null,usefulnessRating:e.usefulness_rating})),tags:t.map(({id:e,name:t,color:n})=>({id:e,name:t,color:n})),repoTags:n.flatMap(e=>{let t=r.get(e.repo_id);return t===void 0?[]:[{githubId:t,tagId:e.tag_id}]})}}function q(e,t,n){let r=new Map(t.repos.map(e=>[e.github_id,e])),i=e.repos.flatMap(e=>{let t=r.get(e.githubId);if(!t)return[];let n={id:t.id};return!t.notes&&e.notes&&(n.notes=e.notes),t.usefulness_rating===null&&e.usefulnessRating!==null&&(n.usefulness_rating=e.usefulnessRating),Object.keys(n).length>1?[n]:[]}),a=new Map(t.tags.map(e=>[e.name.toLowerCase(),e.id])),o=[],s=new Map;for(let t of e.tags){let e=a.get(t.name.toLowerCase());if(e){s.set(t.id,e);continue}let r={id:n(),name:t.name,color:t.color};o.push(r),a.set(r.name.toLowerCase(),r.id),s.set(t.id,r.id)}let c=new Set(t.repo_tags.map(e=>`${e.repo_id}:${e.tag_id}`));return{repos:i,tags:o,repo_tags:e.repoTags.flatMap(e=>{let t=r.get(e.githubId),i=s.get(e.tagId);if(!t||!i)return[];let a=`${t.id}:${i}`;return c.has(a)?[]:(c.add(a),[{id:n(),repo_id:t.id,tag_id:i}])})}}async function J(){return await Promise.all([i.preload(),r.preload(),e.preload()]),{repos:i.toArray,tags:r.toArray,repo_tags:e.toArray}}async function Y(){return t.backUpNow({local:K(await J())})}async function X(e){let n=await t.readBackup(e.id),r=n.local?n:{...n,local:K(await J())},i=URL.createObjectURL(new Blob([JSON.stringify(r,null,2)],{type:`application/json`})),a=document.createElement(`a`);a.href=i,a.download=`stars-organizer-${n.login}-${e.id}.json`,a.click(),URL.revokeObjectURL(i)}async function Z(e){let n;try{n=JSON.parse(await e.text())}catch{throw Error(`${e.name} isn't a JSON file.`)}return t.uploadBackup(W(n))}async function Q(t){let n=q(t,await J(),()=>crypto.randomUUID());return await a(()=>{for(let e of n.repos)i.update(e.id,t=>{Object.assign(t,e)});n.tags.length&&r.insert(n.tags),n.repo_tags.length&&e.insert(n.repo_tags)}),{notesAndRatings:n.repos.length,tags:n.tags.length,tagLinks:n.repo_tags.length}}async function $(e){let n=await t.applyRestore({backupId:e.id});await T();let{local:r}=await t.readBackup(e.id);return{...n,local:r?await Q(r):null}}export{G as a,I as c,F as d,D as f,Z as i,P as l,X as n,k as o,E as p,$ as r,M as s,Y as t,N as u};
@@ -1 +1 @@
1
- import{B as e,H as t,K as n,U as r,V as i,W as a,z as o}from"./button-j3ddoMPG.js";var s=[`github_id`,`node_id`,`name`,`full_name`,`owner`,`description`,`url`,`homepage`,`language`,`stars`,`forks`,`topics`,`starred_at`,`is_archived`,`pushed_at`,`created_at`];function c(e,t){return s.some(n=>e[n]!==t[n])}function l(e,t){return e.name!==t.name||e.description!==t.description||e.is_private!==t.is_private}function u(e,t,n){let r=new Map(e.map(e=>[e.github_id,e])),i=[],a=[],o=new Map;for(let e of t){let t=r.get(e.github_id);if(!t){let t=String(e.github_id);i.push({...e,id:t,notes:null,usefulness_rating:null,imported_at:n,health_score:null,health_data:null,health_refreshed_at:null}),o.set(e.github_id,t);continue}o.set(e.github_id,t.id),c(t,e)&&a.push({...t,...e})}return{insert:i,update:a,remove:e.filter(e=>!o.has(e.github_id)).map(e=>e.id),idByGithubId:o}}function d(e,t){let n=new Map(e.flatMap(e=>e.github_list_id?[[e.github_list_id,e]]:[])),r=[],i=[],a=new Map;for(let e of t){let t=n.get(e.id),o={id:t?.id??e.id,github_list_id:e.id,name:e.name,description:e.description,is_private:e.isPrivate,created_at:e.createdAt,updated_at:e.updatedAt};a.set(e.id,o.id),t?l(t,o)&&i.push(o):r.push(o)}return{insert:r,update:i,remove:e.filter(e=>e.github_list_id!==null&&!a.has(e.github_list_id)).map(e=>e.id),idByGithubId:a}}function f(e,t,n){let r=u(e.repos,t.repos,n),i=d(e.lists,t.lists),a=new Map;for(let e of t.lists){let t=i.idByGithubId.get(e.id);e.repos.forEach((n,i)=>{let o=r.idByGithubId.get(n.githubId);if(!o)return;let s=`${t}:${o}`;a.set(s,{id:s,list_id:t,repo_id:o,position:i,added_at:e.updatedAt})})}let o=new Set(i.idByGithubId.values()),s=new Set(i.remove),c=new Set(r.remove),l=new Set,f=[];for(let t of e.list_items){let e=`${t.list_id}:${t.repo_id}`;l.add(e);let n=s.has(t.list_id)||c.has(t.repo_id),r=o.has(t.list_id)&&!a.has(e);(n||r)&&f.push(t.id)}return{insert:{repos:r.insert,lists:i.insert,list_items:[...a].filter(([e])=>!l.has(e)).map(([,e])=>e)},update:{repos:r.update,lists:i.update},remove:{repos:r.remove,lists:i.remove,list_items:f,repo_tags:e.repo_tags.filter(e=>c.has(e.repo_id)).map(e=>e.id)}}}var p=[i,o,e,r,t];async function m(){return await Promise.all(p.map(e=>e.preload())),{repos:i.toArray,lists:o.toArray,list_items:e.toArray,repo_tags:t.toArray}}async function h(){let r=await n.importStars(),s=f(await m(),r,new Date().toISOString());return await a(()=>{s.remove.repo_tags.length&&t.delete(s.remove.repo_tags),s.remove.list_items.length&&e.delete(s.remove.list_items),s.remove.lists.length&&o.delete(s.remove.lists),s.remove.repos.length&&i.delete(s.remove.repos),s.insert.repos.length&&i.insert(s.insert.repos),s.insert.lists.length&&o.insert(s.insert.lists);for(let e of s.update.repos)i.update(e.id,t=>{Object.assign(t,e)});for(let e of s.update.lists)o.update(e.id,t=>{Object.assign(t,e)});s.insert.list_items.length&&e.insert(s.insert.list_items)}),{stars:r.repos.length,lists:r.lists.length}}var g=100;async function _(e,t){await i.preload();let r=i.toArray.filter(t=>t.node_id!==null&&(e===`all`||t.health_score===null)),o={scored:0,total:r.length};for(let e=0;e<r.length;e+=g){let s=r.slice(e,e+g),c=new Map(s.map(e=>[e.node_id,e.id])),{scores:l}=await n.scoreHealth({repos:s.map(e=>({node_id:e.node_id,stars:e.stars,health_refreshed_at:e.health_refreshed_at}))}),u=new Date().toISOString();await a(()=>{for(let e of l){let t=c.get(e.node_id);!t||!i.has(t)||i.update(t,t=>{t.health_score=e.score,t.health_data=e.data,t.health_refreshed_at=u,t.is_archived=e.is_archived,t.stars=e.stars})}}),o.scored+=l.length,t({...o})}return o}export{_ as n,h as t};
1
+ import{B as e,H as t,K as n,U as r,V as i,W as a,z as o}from"./button-C0MQwO-R.js";var s=[`github_id`,`node_id`,`name`,`full_name`,`owner`,`description`,`url`,`homepage`,`language`,`stars`,`forks`,`topics`,`starred_at`,`is_archived`,`pushed_at`,`created_at`];function c(e,t){return s.some(n=>e[n]!==t[n])}function l(e,t){return e.name!==t.name||e.description!==t.description||e.is_private!==t.is_private}function u(e,t,n){let r=new Map(e.map(e=>[e.github_id,e])),i=[],a=[],o=new Map;for(let e of t){let t=r.get(e.github_id);if(!t){let t=String(e.github_id);i.push({...e,id:t,notes:null,usefulness_rating:null,imported_at:n,health_score:null,health_data:null,health_refreshed_at:null}),o.set(e.github_id,t);continue}o.set(e.github_id,t.id),c(t,e)&&a.push({...t,...e})}return{insert:i,update:a,remove:e.filter(e=>!o.has(e.github_id)).map(e=>e.id),idByGithubId:o}}function d(e,t){let n=new Map(e.flatMap(e=>e.github_list_id?[[e.github_list_id,e]]:[])),r=[],i=[],a=new Map;for(let e of t){let t=n.get(e.id),o={id:t?.id??e.id,github_list_id:e.id,name:e.name,description:e.description,is_private:e.isPrivate,created_at:e.createdAt,updated_at:e.updatedAt};a.set(e.id,o.id),t?l(t,o)&&i.push(o):r.push(o)}return{insert:r,update:i,remove:e.filter(e=>e.github_list_id!==null&&!a.has(e.github_list_id)).map(e=>e.id),idByGithubId:a}}function f(e,t,n){let r=u(e.repos,t.repos,n),i=d(e.lists,t.lists),a=new Map;for(let e of t.lists){let t=i.idByGithubId.get(e.id);e.repos.forEach((n,i)=>{let o=r.idByGithubId.get(n.githubId);if(!o)return;let s=`${t}:${o}`;a.set(s,{id:s,list_id:t,repo_id:o,position:i,added_at:e.updatedAt})})}let o=new Set(i.idByGithubId.values()),s=new Set(i.remove),c=new Set(r.remove),l=new Set,f=[];for(let t of e.list_items){let e=`${t.list_id}:${t.repo_id}`;l.add(e);let n=s.has(t.list_id)||c.has(t.repo_id),r=o.has(t.list_id)&&!a.has(e);(n||r)&&f.push(t.id)}return{insert:{repos:r.insert,lists:i.insert,list_items:[...a].filter(([e])=>!l.has(e)).map(([,e])=>e)},update:{repos:r.update,lists:i.update},remove:{repos:r.remove,lists:i.remove,list_items:f,repo_tags:e.repo_tags.filter(e=>c.has(e.repo_id)).map(e=>e.id)}}}var p=[i,o,e,r,t];async function m(){return await Promise.all(p.map(e=>e.preload())),{repos:i.toArray,lists:o.toArray,list_items:e.toArray,repo_tags:t.toArray}}async function h(){let r=await n.importStars(),s=f(await m(),r,new Date().toISOString());return await a(()=>{s.remove.repo_tags.length&&t.delete(s.remove.repo_tags),s.remove.list_items.length&&e.delete(s.remove.list_items),s.remove.lists.length&&o.delete(s.remove.lists),s.remove.repos.length&&i.delete(s.remove.repos),s.insert.repos.length&&i.insert(s.insert.repos),s.insert.lists.length&&o.insert(s.insert.lists);for(let e of s.update.repos)i.update(e.id,t=>{Object.assign(t,e)});for(let e of s.update.lists)o.update(e.id,t=>{Object.assign(t,e)});s.insert.list_items.length&&e.insert(s.insert.list_items)}),{stars:r.repos.length,lists:r.lists.length}}var g=100;async function _(e,t){await i.preload();let r=i.toArray.filter(t=>t.node_id!==null&&(e===`all`||t.health_score===null)),o={scored:0,total:r.length};for(let e=0;e<r.length;e+=g){let s=r.slice(e,e+g),c=new Map(s.map(e=>[e.node_id,e.id])),{scores:l}=await n.scoreHealth({repos:s.map(e=>({node_id:e.node_id,stars:e.stars,health_refreshed_at:e.health_refreshed_at}))}),u=new Date().toISOString();await a(()=>{for(let e of l){let t=c.get(e.node_id);!t||!i.has(t)||i.update(t,t=>{t.health_score=e.score,t.health_data=e.data,t.health_refreshed_at=u,t.is_archived=e.is_archived,t.stars=e.stars})}}),o.scored+=l.length,t({...o})}return o}export{_ as n,h as t};
@@ -0,0 +1,4 @@
1
+ import{A as e,B as t,D as n,E as r,R as i,V as a,_ as o,a as s,c,d as l,f as u,h as d,it as f,j as p,k as m,m as h,n as g,nt as _,o as v,p as y,s as b,st as x,t as S,u as C,v as w}from"./button-C0MQwO-R.js";import{C as T,D as E,E as D,S as ee,T as O,_ as k,a as A,b as j,c as M,d as N,f as P,g as F,h as I,i as L,l as R,m as te,n as ne,o as z,p as re,r as ie,s as ae,u as oe,v as B,w as se,x as ce,y as V}from"./coerce-D595RIhb.js";import{t as H}from"./star-BoN7NVgv.js";import{n as U,t as W}from"./badge-DWmLT6OI.js";import{$ as le,A as G,An as ue,B as de,Bt as K,C as fe,Cn as pe,Ct as me,D as he,Dn as ge,E as _e,En as ve,F as q,Ft as ye,H as be,Ht as xe,I as Se,It as Ce,J as we,L as Te,Lt as Ee,M as De,Mn as Oe,N as ke,Nn as Ae,O as je,On as Me,Ot as Ne,P as Pe,Pn as Fe,Pt as Ie,Q as Le,R as Re,Rt as ze,S as Be,Sn as Ve,St as He,T as Ue,Tn as We,Tt as Ge,U as Ke,Ut as qe,V as Je,Vt as Ye,W as Xe,X as Ze,Y as Qe,Z as $e,_ as et,b as tt,bn as nt,ct as rt,et as it,f as at,fn as ot,ft as st,gn as ct,gt as lt,h as ut,ht as dt,jn as ft,k as pt,kn as mt,lt as J,mn as ht,mt as gt,nt as _t,ot as vt,p as yt,pn as bt,pt as xt,q as St,st as Ct,tt as wt,ut as Tt,v as Et,vn as Dt,vt as Ot,w as kt,wn as At,wt as jt,x as Mt,xn as Nt,yn as Pt,yt as Ft,z as It,zt as Lt}from"./schemas-B0gCwksU.js";var Rt=i(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),zt=i(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Bt=i(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Vt=i(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Ht=i(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Ut=i(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Wt=i(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Gt=i(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),Kt=i(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),qt=i(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Jt=i(`list-minus`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M11 12H3`,key:`51ecnj`}],[`path`,{d:`M16 19H3`,key:`zzsher`}],[`path`,{d:`M21 12h-6`,key:`bt1uis`}]]),Yt=i(`list-plus`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M11 12H3`,key:`51ecnj`}],[`path`,{d:`M16 19H3`,key:`zzsher`}],[`path`,{d:`M18 9v6`,key:`1twb98`}],[`path`,{d:`M21 12h-6`,key:`bt1uis`}]]),Xt=i(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Zt=i(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Qt=i(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$t=i(`star-off`,[[`path`,{d:`m10.344 4.688 1.181-2.393a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.237 3.152`,key:`19ctli`}],[`path`,{d:`m17.945 17.945.43 2.505a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a8 8 0 0 0 .4-.099`,key:`ptqqvy`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),en=i(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Y=x(f()),tn=Y.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:c,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function nn(){return Y.useContext(tn)}function rn(e,t,n,r=!0,i){let[a,o]=Y.useState(),s=Oe(i?`${i}-label`:void 0),c=e??t??a;return d(()=>{let i=e||t||!r?void 0:an(n.current,s);a!==i&&o(i)}),c}function an(e,t){let n=on(e);if(n)return!n.id&&t&&(n.id=t),n.id||void 0}function on(e){if(!e)return;let t=e.parentElement;if(t&&t.tagName===`LABEL`)return t;let n=e.id;if(n){let t=e.nextElementSibling;if(t&&t.htmlFor===n)return t}let r=e.labels;return r&&r[0]}var sn=Y.createContext({disabled:!1});function cn(){return Y.useContext(sn)}var ln=Y.createContext(void 0);function un(e=!0){let t=Y.useContext(ln);if(t===void 0&&!e)throw Error(y(3));return t}var dn=mt&&ue;function fn(t,r={}){let i=`rootStore`in t?t.rootStore:t,{events:a,dataRef:o}=i.context,{enabled:s=!0,delay:c}=r,l=Y.useRef(!1),u=Y.useRef(null),d=Ne(),f=Y.useRef(!0);Y.useEffect(()=>{let t=i.select(`domReferenceElement`);if(!s)return;let r=n(t);function a(){let t=i.select(`domReferenceElement`);!i.select(`open`)&&e(t)&&t===Ve(ft(t))&&(l.current=!0)}function o(){f.current=!0}function c(){f.current=!1}return wt(_t(r,`blur`,a),dn&&_t(r,`keydown`,o,!0),dn&&_t(r,`pointerdown`,c,!0))},[i,s]),Y.useEffect(()=>{if(!s)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);m(e)&&(u.current=e,l.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,s,i]);let p=Y.useMemo(()=>({onMouseLeave(){l.current=!1,u.current=null},onFocus(e){let t=e.currentTarget;if(l.current){if(u.current===t)return;l.current=!1,u.current=null}let n=At(e.nativeEvent);if(m(n)){if(dn&&!e.relatedTarget){if(!f.current&&!nt(n))return}else if(!Nt(n))return}let r=Dt(e.relatedTarget,i.context.triggerElements),{nativeEvent:a,currentTarget:o}=e,s=typeof c==`function`?c():c;if(i.select(`open`)&&r||s===0||s===void 0){i.setOpen(!0,J(Ft,a,o));return}d.start(s,()=>{l.current||i.setOpen(!0,J(Ft,a,o))})},onBlur(e){l.current=!1,u.current=null;let t=e.relatedTarget,n=e.nativeEvent,r=m(t)&&t.hasAttribute(Ze(`focus-guard`))&&t.getAttribute(`data-type`)===`outside`;d.start(0,()=>{let e=i.select(`domReferenceElement`),a=Ve(ft(e));!t&&a===e||pe(o.current.floatingContext?.refs.floating.current,a)||pe(e,a)||r||Dt(t??a,i.context.triggerElements)||i.setOpen(!1,J(Ft,n))})}}),[o,i,d,c]);return Y.useMemo(()=>s?{reference:p,trigger:p}:{},[s,p])}var pn=`Escape`;function mn(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function hn(e,t){return mn(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function gn(e,t,n){return mn(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function _n(e,t,n){return mn(t,n?e===ve:e===ge,e===We)}function vn(e,t,n,r){return t===`both`||t===`horizontal`&&r&&r>1?e===pn:mn(t,n?e===ge:e===ve,e===Me)}function yn(t,n){let r=`rootStore`in t?t.rootStore:t,i=r.useState(`open`),a=r.useState(`floatingElement`),s=r.useState(`domReferenceElement`),c=r.context.dataRef,{listRef:l,activeIndex:u,onNavigate:f=()=>{},enabled:p=!0,selectedIndex:m=null,allowEscape:h=!1,loopFocus:g=!1,nested:_=!1,rtl:v=!1,virtual:y=!1,focusItemOnOpen:b=`auto`,focusItemOnHover:x=!0,openOnArrowKeyDown:S=!0,disabledIndices:C=void 0,orientation:w=`vertical`,parentOrientation:T,cols:E=1,id:D,resetOnPointerLeave:ee=!0,externalTree:O}=n,k=it(ct(a)),A=Je(),j=be(O);d(()=>{c.current.orientation=w},[c,w]);let M=Pt(s),N=Y.useRef(b),P=Y.useRef(m??-1),F=Y.useRef(null),I=Y.useRef(!0),L=o(e=>{f(P.current===-1?null:P.current,e)}),R=Y.useRef(L),te=Y.useRef(!!a),ne=Y.useRef(i),z=Y.useRef(!1),re=Y.useRef(!1),ie=Y.useRef(null),ae=it(C),oe=it(i),B=it(m),se=it(ee),ce=o(()=>{function e(e){y?j?.events.emit(`virtualfocus`,e):ie.current=Qe(e,{sync:z.current,preventScroll:!0})}let t=l.current[P.current],n=re.current;t&&e(t),(z.current?e=>e():requestAnimationFrame)(()=>{let r=l.current[P.current]||t;r&&(t||e(r),U&&(n||!I.current)&&r.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});d(()=>{p&&(i&&a?(P.current=m??-1,N.current&&m!=null&&(re.current=!0,L())):te.current&&(P.current=-1,R.current()))},[p,i,a,m,L]),d(()=>{if(p){if(!i){z.current=!1;return}if(a)if(u==null){if(z.current=!1,B.current!=null)return;if(te.current&&(P.current=-1,ce()),(!ne.current||!te.current)&&N.current&&(F.current!=null||N.current===!0&&F.current==null)){let e=0,t=()=>{l.current[0]==null?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(P.current=F.current==null||gn(F.current,w,v)||_?K(l):Lt(l),F.current=null,L())};t()}}else xe(l.current,u)||(P.current=u,ce(),re.current=!1)}},[p,i,a,u,B,_,l,w,v,L,ce,ae]),d(()=>{if(!p||a||!j||y||!te.current)return;let e=j.nodesRef.current,t=e.find(e=>e.id===A)?.context?.elements.floating,n=Ve(ft(a)),r=e.some(e=>e.context&&pe(e.context.elements.floating,n));t&&!r&&I.current&&t.focus({preventScroll:!0})},[p,a,j,A,y]),d(()=>{R.current=L,ne.current=i,te.current=!!a}),d(()=>{i||(F.current=null,N.current=b)},[i,b]);let V=u!=null,H=o(e=>{if(!oe.current)return;let t=l.current.indexOf(e.currentTarget);t!==-1&&(P.current!==t||u!==t)&&(P.current=t,L(e))}),U=Y.useMemo(()=>({onFocus(e){z.current=!0,H(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){z.current=!0,re.current=!1,x&&H(e)},onPointerLeave(e){if(!oe.current||!I.current||e.pointerType===`touch`)return;z.current=!0;let t=e.relatedTarget;if(!(!x||l.current.includes(t))&&se.current&&(ie.current?.(),ie.current=null,P.current=-1,L(e),!y)){let e=k.current,t=Ve(ft(e));e&&pe(e,t)&&e.focus({preventScroll:!0})}}}),[H,oe,k,x,l,L,se,y]),W=Y.useCallback(()=>T??j?.nodesRef.current.find(e=>e.id===A)?.context?.dataRef?.current.orientation,[A,j,T]),le=o(t=>{if(I.current=!1,z.current=!0,t.which===229||!oe.current&&t.currentTarget===k.current)return;if(_&&vn(t.key,w,v,E)){hn(t.key,W())||ht(t),r.setOpen(!1,J(dt,t.nativeEvent)),e(s)&&(y?j?.events.emit(`virtualfocus`,s):s.focus());return}let n=P.current,a=K(l,C),o=Lt(l,C);if(M||(t.key===`Home`&&(ht(t),P.current=a,L(t)),t.key===`End`&&(ht(t),P.current=o,L(t))),E>1){let e=Array.from({length:l.current.length},()=>({width:1,height:1})),n=Ie(e,E,!1),r=n.findIndex(e=>e!=null&&!qe(l.current,e,C)),i=n.reduce((e,t,n)=>t!=null&&!qe(l.current,t,C)?n:e,-1),s=n[ze(n.map(e=>e==null?null:l.current[e]),{event:t,orientation:w,loopFocus:g,rtl:v,cols:E,disabledIndices:Ee([...(typeof C==`function`?null:C)||l.current.map((e,t)=>qe(l.current,t,C)?t:void 0),void 0],n),minIndex:r,maxIndex:i,prevIndex:Ce(P.current>o?a:P.current,e,n,E,t.key===`ArrowDown`?`bl`:t.key===(v?`ArrowLeft`:`ArrowRight`)?`tr`:`tl`),stopEvent:!0})];if(s!=null&&(P.current=s,L(t)),w===`both`)return}if(hn(t.key,w)){if(ht(t),i&&!y&&Ve(t.currentTarget.ownerDocument)===t.currentTarget){P.current=gn(t.key,w,v)?a:o,L(t);return}gn(t.key,w,v)?g?n>=o?h&&n!==l.current.length?P.current=-1:(z.current=!1,P.current=a):P.current=ye(l.current,{startingIndex:n,disabledIndices:C}):P.current=Math.min(o,ye(l.current,{startingIndex:n,disabledIndices:C})):g?n<=a?h&&n!==-1?P.current=l.current.length:(z.current=!1,P.current=o):P.current=ye(l.current,{startingIndex:n,decrement:!0,disabledIndices:C}):P.current=Math.max(a,ye(l.current,{startingIndex:n,decrement:!0,disabledIndices:C})),xe(l.current,P.current)&&(P.current=-1),L(t)}}),G=Y.useMemo(()=>y&&i&&V&&{"aria-activedescendant":`${D}-${u}`},[y,i,V,D,u]),ue=Y.useMemo(()=>({"aria-orientation":w===`both`?void 0:w,...M?{}:G,onKeyDown(t){if(t.key===`Tab`&&t.shiftKey&&i&&!y){let n=At(t.nativeEvent);if(n&&!pe(k.current,n))return;ht(t),r.setOpen(!1,J(st,t.nativeEvent)),e(s)&&s.focus();return}le(t)},onPointerMove(){I.current=!0}}),[G,le,k,w,M,r,i,y,s]),de=Y.useMemo(()=>{function e(e){b===`auto`&&ot(e.nativeEvent)&&(N.current=!y)}function t(e){N.current=b,b===`auto`&&bt(e.nativeEvent)&&(N.current=!0)}return{onKeyDown(e){let t=r.select(`open`);I.current=!1;let n=e.key.startsWith(`Arrow`),i=_n(e.key,W(),v),a=hn(e.key,w),o=(_?i:a)||e.key===`Enter`||e.key.trim()===``;if(y&&t)return le(e);if(!(!t&&!S&&n)){if(o){let t=hn(e.key,W());F.current=_&&t?null:e.key}if(_){i&&(ht(e),t?(P.current=K(l,ae.current),L(e)):r.setOpen(!0,J(dt,e.nativeEvent,e.currentTarget)));return}a&&(B.current!=null&&(P.current=B.current),ht(e),!t&&S?r.setOpen(!0,J(dt,e.nativeEvent,e.currentTarget)):le(e),t&&L(e))}},onFocus(e){r.select(`open`)&&!y&&(P.current=-1,L(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[le,ae,b,l,_,L,r,S,w,W,v,B,y]),fe=Y.useMemo(()=>({...G,...de}),[G,de]);return Y.useMemo(()=>p?{reference:fe,floating:ue,item:U,trigger:de}:{},[p,fe,ue,de,U])}function bn(e,t){let n=`rootStore`in e?e.rootStore:e,r=n.context.dataRef,i=n.useState(`open`),{listRef:a,elementsRef:s,activeIndex:c,onMatch:l,onTypingChange:u,enabled:f=!0,resetMs:p=750,selectedIndex:m=null}=t,h=Ne(),g=Y.useRef(``),_=Y.useRef(m??c??-1),v=Y.useRef(null);d(()=>{!i&&m!==null||(h.clear(),v.current=null,g.current!==``&&(g.current=``))},[i,m,h]),d(()=>{i&&g.current===``&&(_.current=m??c??-1)},[i,m,c]);let y=o(e=>{e?r.current.typing||(r.current.typing=e,u?.(e)):r.current.typing&&(r.current.typing=e,u?.(e))}),b=o(e=>{function t(e){let t=s?.current[e];return!t||Ye(t)}function n(e,n,r=0){if(e.length===0)return-1;let i=(r%e.length+e.length)%e.length,a=n.toLocaleLowerCase();for(let n=0;n<e.length;n+=1){let r=(i+n)%e.length;if(!(!e[r]?.toLocaleLowerCase().startsWith(a)||!t(r)))return r}return-1}let r=a.current;if(g.current.length>0&&e.key===` `&&(ht(e),y(!0)),g.current.length>0&&g.current[0]!==` `&&n(r,g.current)===-1&&e.key!==` `&&y(!1),r==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;i&&e.key!==` `&&(ht(e),y(!0));let o=g.current===``;o&&(_.current=m??c??-1),r.every(e=>e?e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase():!0)&&g.current===e.key&&(g.current=``,_.current=v.current),g.current+=e.key,h.start(p,()=>{g.current=``,_.current=v.current,y(!1)});let u=((o?m??c??-1:_.current)??0)+1,d=n(r,g.current,u);d===-1?e.key!==` `&&(g.current=``,y(!1)):(l?.(d),v.current=d)}),x=o(e=>{let t=e.relatedTarget,r=n.select(`domReferenceElement`),i=n.select(`floatingElement`),a=pe(r,t),o=pe(i,t);a||o||(h.clear(),g.current=``,_.current=v.current,y(!1))}),S=Y.useMemo(()=>({onKeyDown:b,onBlur:x}),[b,x]),C=Y.useMemo(()=>({onKeyDown:b,onBlur:x}),[b,x]);return Y.useMemo(()=>f?{reference:S,floating:C}:{},[f,S,C])}var xn=function(e){return e.checked=`data-checked`,e.unchecked=`data-unchecked`,e.indeterminate=`data-indeterminate`,e.disabled=`data-disabled`,e.readonly=`data-readonly`,e.required=`data-required`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({});function Sn(e){return Y.useMemo(()=>({checked(t){return e.indeterminate?{}:t?{[xn.checked]:``}:{[xn.unchecked]:``}},...E}),[e.indeterminate])}var Cn=Y.createContext(void 0);function wn(){let e=Y.useContext(Cn);if(e===void 0)throw Error(y(14));return e}var X=_(),Tn=`data-parent`,En=Y.forwardRef(function(e,t){let{checked:n,className:r,defaultChecked:i=!1,"aria-labelledby":a,disabled:u=!1,form:f,id:p,indeterminate:m=!1,inputRef:g,name:_,onCheckedChange:v,parent:y=!1,readOnly:x=!1,render:S,required:E=!1,uncheckedValue:ee,value:k,nativeButton:A=!1,style:j,...M}=e,{clearErrors:N}=nn(),{disabled:P,name:F,setDirty:I,setFilled:L,setFocused:R,setTouched:te,state:ne,validationMode:z,validityData:re,shouldValidateOnChange:ie,validation:ae}=D(),oe=cn(),{labelId:B,controlId:ce,registerControlId:V,getDescriptionProps:H}=O(),U=un(),W=U?.parent,G=W&&U.allValues,ue=P||oe.disabled||U?.disabled||u,de=F??_,K=k??de,fe=Oe(),pe=Oe(),me=ce;G?me=y?pe:`${W.id}-${K}`:p&&(me=p);let he={};G&&(y?he=U.parent.getParentProps():K&&(he=U.parent.getChildProps(K)));let ge=o(v),{checked:_e=n,indeterminate:ve=m,onCheckedChange:q,...ye}=he,be=U?.value,xe=U?.setValue,Se=U?.defaultValue,Ce=Y.useRef(null),we=w(()=>Symbol(`checkbox-control`)),Te=Y.useRef(!1),{getButtonProps:Ee,buttonRef:De}=l({disabled:ue,native:A}),ke=U?.validation??ae,[Ae,je]=se({controlled:K&&be&&!y?be.includes(K):_e,default:K&&Se&&!y?Se.includes(K):i,name:`Checkbox`,state:`checked`});d(()=>{V!==c&&(Te.current=!0,V(we.current,me))},[me,U,V,y,we]),Y.useEffect(()=>{let e=we.current;return()=>{!Te.current||V===c||(Te.current=!1,V(e,void 0))}},[V,we]),T(Ce,{enabled:!U,id:fe,value:Ae});let Me=Y.useRef(null),Ne=C(g,Me,ke.inputRef),Pe=rn(a,B,Me,!A,me??void 0);d(()=>{Me.current&&(Me.current.indeterminate=ve,Ae&&L(!0))},[Ae,ve,L]),yt(Ae,()=>{U&&!y||(N(de),L(Ae),I(Ae!==re.initialValue),ie()?ke.commit(Ae):ke.commit(Ae,!0))});let Fe=h({checked:Ae,disabled:ue,form:f,name:y?void 0:de,id:A?void 0:me??void 0,required:E,ref:Ne,style:de?le:Le,tabIndex:-1,type:`checkbox`,"aria-hidden":!0,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(x){e.preventDefault();return}let t=e.currentTarget.checked,n=J(lt,e.nativeEvent);q?.(t,n),ge(t,n),!n.isCanceled&&(je(t),K&&be&&xe&&!y&&!G&&xe(t?[...be,K]:be.filter(e=>e!==K),n))},onFocus(){Ce.current?.focus()}},k===void 0?b:{value:(U?Ae&&k:k)||``},H,U?ke.getValidationProps:ke.getInputValidationProps),Ie=G?!!_e:Ae,Re=G&&ve||m;Y.useEffect(()=>{if(!W||!K)return;let e=W.disabledStatesRef.current;return e.set(K,ue),()=>{e.delete(K)}},[W,ue,K]);let ze=Y.useMemo(()=>({...ne,checked:Ie,disabled:ue,readOnly:x,required:E,indeterminate:Re}),[ne,Ie,ue,x,E,Re]),Be=Sn(ze),Ve=s(`span`,e,{state:ze,ref:[De,Ce,t,U?.registerControlRef],props:[{id:A?me??void 0:fe,role:`checkbox`,"aria-checked":ve?`mixed`:Ae,"aria-readonly":x||void 0,"aria-required":E||void 0,"aria-labelledby":Pe,[Tn]:y?``:void 0,onFocus(){R(!0)},onBlur(){let e=Me.current;e&&(te(!0),R(!1),z===`onBlur`&&ke.commit(U?be:e.checked))},onClick(e){x||ue||(e.preventDefault(),Me.current?.dispatchEvent(new PointerEvent(`click`,{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},H,ke.getValidationProps,M,ye,Ee],stateAttributesMapping:Be});return(0,X.jsxs)(Cn.Provider,{value:ze,children:[Ve,!Ae&&!U&&de&&!y&&ee!==void 0&&(0,X.jsx)(`input`,{type:`hidden`,form:f,name:de,value:ee}),(0,X.jsx)(`input`,{...Fe,suppressHydrationWarning:!0})]})}),Dn=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,c=wn(),l=c.checked||c.indeterminate,{mounted:u,transitionStatus:d,setMounted:f}=He(l),p=Y.useRef(null),m={...c,transitionStatus:d};me({open:l,ref:p,onComplete(){l||f(!1)}});let h=Sn(c),g=Y.useMemo(()=>({...h,...Ge,...E}),[h]),_=a||u,v=s(`span`,e,{ref:[t,p],state:m,stateAttributesMapping:g,props:o});return _?v:null});function On({className:e,...t}){return(0,X.jsx)(En,{"data-slot":`checkbox`,className:g(`peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary`,e),...t,children:(0,X.jsx)(Dn,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none [&>svg]:size-3.5`,children:(0,X.jsx)(zt,{})})})}var kn=Y.createContext(void 0);function An(e){let t=Y.useContext(kn);if(t===void 0&&!e)throw Error(y(33));return t}var jn=Y.createContext(void 0);function Mn(e){let t=Y.useContext(jn);if(t===void 0&&!e)throw Error(y(36));return t}var Nn=Y.createContext(void 0);function Pn(e=!0){let t=Y.useContext(Nn);if(t===void 0&&!e)throw Error(y(25));return t}var Fn=Y.createContext(void 0);function In(){let e=Y.useContext(Fn);if(e===void 0)throw Error(y(30));return e}function Ln(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:i,store:a,typingRef:o,itemRef:s,itemMetadata:c}=e,{events:l}=a.useState(`floatingTreeRoot`),u=Pn(!0),d=u!==void 0;return Y.useMemo(()=>({id:r,role:`menuitem`,tabIndex:n?0:-1,onKeyDown(e){e.key===` `&&o?.current&&e.preventDefault()},onMouseMove(e){i&&l.emit(`itemhover`,{nodeId:i,target:e.currentTarget})},onClick(e){t&&l.emit(`close`,{domEvent:e,reason:gt})},onMouseUp(e){if(u){let t=u.initialCursorPointRef.current;if(u.initialCursorPointRef.current=null,d&&t&&Math.abs(e.clientX-t.x)<=1&&Math.abs(e.clientY-t.y)<=1||d&&!mt&&e.button===2)return}s.current&&a.context.allowMouseUpTriggerRef.current&&(!d||e.button===2)&&(!c||c.type===`regular-item`)&&s.current.click()}}),[t,n,r,l,i,a,o,s,u,d,c])}var Rn={type:`regular-item`};function zn(e){let{closeOnClick:t,disabled:n=!1,highlighted:r,id:i,store:a,typingRef:o=a.context.typingRef,nativeButton:s,itemMetadata:c,nodeId:u}=e,d=Y.useRef(null),{getButtonProps:f,buttonRef:p}=l({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),m=Ln({closeOnClick:t,highlighted:r,id:i,nodeId:u,store:a,typingRef:o,itemRef:d,itemMetadata:c}),g=Y.useCallback(e=>h(m,{onMouseEnter(){c.type===`submenu-trigger`&&c.setActive()}},e,f),[m,f,c]),_=C(d,p);return Y.useMemo(()=>({getItemProps:g,itemRef:_}),[g,_])}var Bn=Y.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Vn(){return Y.useContext(Bn)}var Hn=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function Un(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,elementsRef:l,labelsRef:u,nextIndexRef:f}=Vn(),p=Y.useRef(-1),[m,h]=Y.useState(a??(i===Hn.GuessFromOrder?()=>{if(p.current===-1){let e=f.current;f.current+=1,p.current=e}return p.current}:-1)),g=Y.useRef(null),_=Y.useCallback(e=>{if(g.current=e,m!==-1&&e!==null&&(l.current[m]=e,u)){let n=t!==void 0;u.current[m]=n?t:r?.current?.textContent??e.textContent}},[m,l,u,t,r]);return d(()=>{if(a!=null)return;let e=g.current;if(e)return o(e,n),()=>{s(e)}},[a,o,s,n]),d(()=>{if(a==null)return c(e=>{let t=g.current?e.get(g.current)?.index:null;t!=null&&h(t)})},[a,c,h]),Y.useMemo(()=>({ref:_,index:m}),[m,_])}var Wn=function(e){return e.checked=`data-checked`,e.unchecked=`data-unchecked`,e.disabled=`data-disabled`,e.highlighted=`data-highlighted`,e}({}),Gn={checked(e){return e?{[Wn.checked]:``}:{[Wn.unchecked]:``}},...Ge},Kn=Y.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:c=!1,disabled:l=!1,closeOnClick:u=!1,checked:d,defaultChecked:f,onCheckedChange:p,style:m,...h}=e,g=Un({label:a}),_=An(!0),v=Oe(i),{store:y}=Mn(),b=y.useState(`isActive`,g.index),x=y.useState(`itemProps`),[S,C]=se({controlled:d,default:f??!1,name:`MenuCheckboxItem`,state:`checked`}),{getItemProps:w,itemRef:T}=zn({closeOnClick:u,disabled:l,highlighted:b,id:v,store:y,nativeButton:c,nodeId:_?.context.nodeId,itemMetadata:Rn}),E=Y.useMemo(()=>({disabled:l,highlighted:b,checked:S}),[l,b,S]),D=s(`div`,e,{state:E,stateAttributesMapping:Gn,props:[x,{role:`menuitemcheckbox`,"aria-checked":S,onClick:o(e=>{let t={...J(gt,e.nativeEvent),preventUnmountOnClose:()=>{}};p?.(!S,t),!t.isCanceled&&C(e=>!e)})},h,w],ref:[T,t,g.ref]});return(0,X.jsx)(Fn.Provider,{value:E,children:D})}),qn=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,c=In(),l=Y.useRef(null),{transitionStatus:u,setMounted:d}=He(c.checked);return me({open:c.checked,ref:l,onComplete(){c.checked||d(!1)}}),s(`span`,e,{state:{checked:c.checked,disabled:c.disabled,highlighted:c.highlighted,transitionStatus:u},ref:[t,l],stateAttributesMapping:Gn,props:{"aria-hidden":!0,...o},enabled:a||c.checked})}),Jn=Y.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:c=!1,closeOnClick:l=!0,style:u,...d}=e,f=Un({label:a}),p=An(!0),m=Oe(i),{store:h}=Mn(),g=h.useState(`isActive`,f.index),_=h.useState(`itemProps`),{getItemProps:v,itemRef:y}=zn({closeOnClick:l,disabled:c,highlighted:g,id:m,store:h,nativeButton:o,nodeId:p?.context.nodeId,itemMetadata:Rn});return s(`div`,e,{state:{disabled:c,highlighted:g},props:[_,d,v],ref:[y,t,f.ref]})}),Yn={...vt,...Ge},Xn=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,...o}=e,{store:c}=Mn(),{side:l,align:u}=An(),d=A(!0)!=null,f=c.useState(`open`),p=c.useState(`transitionStatus`),m=c.useState(`popupProps`),h=c.useState(`mounted`),g=c.useState(`instantType`),_=c.useState(`activeTriggerElement`),v=c.useState(`parent`),y=c.useState(`lastOpenChangeReason`),b=c.useState(`rootId`),x=c.useState(`floatingRootContext`),S=c.useState(`floatingTreeRoot`),C=c.useState(`closeDelay`),w=c.useState(`activeTriggerElement`),T=v.type===`context-menu`;me({open:f,ref:c.context.popupRef,onComplete(){f&&c.context.onOpenChangeComplete?.(!0)}}),Y.useEffect(()=>{function e(e){c.setOpen(!1,J(e.reason,e.domEvent))}return S.events.on(`close`,e),()=>{S.events.off(`close`,e)}},[S.events,c]);let E=c.useState(`hoverEnabled`),D=c.useState(`disabled`);j(x,{enabled:E&&!D&&!T&&v.type!==`menubar`,closeDelay:C});let ee={transitionStatus:p,side:l,align:u,open:f,nested:v.type===`menu`,instant:g},O=Y.useCallback(e=>{c.set(`popupElement`,e)},[c]),k=s(`div`,e,{state:ee,ref:[t,c.context.popupRef,O],stateAttributesMapping:Yn,props:[m,{onKeyDown(e){d&&tt.has(e.key)&&e.stopPropagation()}},M(p),o,{"data-rootownerid":b}]}),N=v.type===void 0||T;return(_||v.type===`menubar`&&y!==`outside-press`)&&(N=!0),(0,X.jsx)(Te,{context:x,modal:T,disabled:!h,returnFocus:a===void 0?N:a,initialFocus:v.type!==`menu`,restoreFocus:!0,externalTree:v.type===`menubar`?void 0:S,previousFocusableElement:w,nextFocusableElement:v.type===void 0?c.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:v.type===void 0?c.context.beforeContentFocusGuardRef:void 0,children:k})}),Zn=Y.createContext(void 0);function Qn(){let e=Y.useContext(Zn);if(e===void 0)throw Error(y(32));return e}var $n=Y.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=Mn();return i.useState(`mounted`)||n?(0,X.jsx)(Zn.Provider,{value:n,children:(0,X.jsx)(Xe,{ref:t,...r})}):null});function er(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=o(i),s=Y.useRef(0),c=w(nr).current,l=w(tr).current,[u,f]=Y.useState(0),p=Y.useRef(u),m=o((e,t)=>{l.set(e,t??null),p.current+=1,f(p.current)}),h=o(e=>{l.delete(e),p.current+=1,f(p.current)}),g=Y.useMemo(()=>{let e=new Map;return Array.from(l.keys()).filter(e=>e.isConnected).sort(rr).forEach((t,n)=>{let r=l.get(t)??{};e.set(t,{...r,index:n})}),e},[l,u]);d(()=>{if(typeof MutationObserver!=`function`||g.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(p.current+=1,f(p.current))});return g.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[g]),d(()=>{p.current===u&&(n.current.length!==g.size&&(n.current.length=g.size),r&&r.current.length!==g.size&&(r.current.length=g.size),s.current=g.size),a(g)},[a,g,n,r,u]),d(()=>()=>{n.current=[]},[n]),d(()=>()=>{r&&(r.current=[])},[r]);let _=o(e=>(c.add(e),()=>{c.delete(e)}));d(()=>{c.forEach(e=>e(g))},[c,g]);let v=Y.useMemo(()=>({register:m,unregister:h,subscribeMapChange:_,elementsRef:n,labelsRef:r,nextIndexRef:s}),[m,h,_,n,r,s]);return(0,X.jsx)(Bn.Provider,{value:v,children:t})}function tr(){return new Map}function nr(){return new Set}function rr(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var ir=Y.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o,align:s,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:f=5,arrowPadding:p=5,sticky:m=!1,disableAnchorTracking:h=!1,collisionAvoidance:g=St,style:_,...v}=e,{store:y}=Mn(),b=Qn(),x=Pn(!0),S=y.useState(`parent`),C=y.useState(`floatingRootContext`),w=y.useState(`floatingTreeRoot`),T=y.useState(`mounted`),E=y.useState(`open`),D=y.useState(`modal`),ee=y.useState(`openMethod`),O=y.useState(`activeTriggerElement`),k=y.useState(`transitionStatus`),A=y.useState(`positionerElement`),j=y.useState(`instantType`),M=y.useState(`hasViewport`),N=y.useState(`lastOpenChangeReason`),P=y.useState(`floatingNodeId`),F=y.useState(`floatingParentNodeId`),I=C.useState(`domReferenceElement`),L=Y.useRef(null),te=jt(A,!1,!1),ne=n,re=c,ie=l,B=s,se=g;S.type===`context-menu`&&(ne=n??S.context?.anchor,B??=`start`,!o&&B!==`center`&&(ie=e.alignOffset??2,re=e.sideOffset??-5));let ce=o,V=B;S.type===`menu`?(ce??=`inline-end`,V??=`start`,se=e.collisionAvoidance??we):S.type===`menubar`&&(ce??=`bottom`,V??=`start`);let H=S.type===`context-menu`,U=R({anchor:ne,floatingRootContext:C,positionMethod:x?`fixed`:r,mounted:T,side:ce,sideOffset:re,align:V,alignOffset:ie,arrowPadding:H?0:p,collisionBoundary:u,collisionPadding:f,sticky:m,nodeId:P,keepMounted:b,disableAnchorTracking:h,collisionAvoidance:se,shiftCrossAxis:H&&!(`side`in se&&se.side===`flip`),externalTree:w,adaptiveOrigin:M?oe:void 0});Y.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===P&&y.set(`hoverEnabled`,!1),e.nodeId!==P&&e.parentNodeId===y.select(`floatingParentNodeId`)&&y.setOpen(!1,J(Ot)))}return w.events.on(`menuopenchange`,e),()=>{w.events.off(`menuopenchange`,e)}},[y,w.events,P]),Y.useEffect(()=>{if(y.select(`floatingParentNodeId`)==null)return;function e(e){if(e.open||e.nodeId!==y.select(`floatingParentNodeId`))return;let t=e.reason??`sibling-open`;y.setOpen(!1,J(t))}return w.events.on(`menuopenchange`,e),()=>{w.events.off(`menuopenchange`,e)}},[w.events,y]);let W=Ne();Y.useEffect(()=>{E||W.clear()},[E,W]),Y.useEffect(()=>{function e(e){if(!(!E||e.nodeId!==y.select(`floatingParentNodeId`)))if(e.target&&O&&O!==e.target){let e=y.select(`closeDelay`);e>0?W.isStarted()||W.start(e,()=>{y.setOpen(!1,J(Ot))}):y.setOpen(!1,J(Ot))}else W.clear()}return w.events.on(`itemhover`,e),()=>{w.events.off(`itemhover`,e)}},[w.events,E,O,y,W]),Y.useEffect(()=>{let e={open:E,nodeId:P,parentNodeId:F,reason:y.select(`lastOpenChangeReason`)};w.events.emit(`menuopenchange`,e)},[w.events,E,y,P,F]),d(()=>{let e=I,t=L.current;if(e&&(L.current=e),t&&e&&e!==t){y.set(`instantType`,void 0);let e=new AbortController;return te(()=>{y.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[I,te,y]);let le={open:E,side:U.side,align:U.align,anchorHidden:U.anchorHidden,nested:S.type===`menu`,instant:j},G=S.type===`menubar`&&S.context.modal;z(E&&(G||D&&N!==`trigger-hover`),ee===`touch`,A,O);let ue=ae(e,le,{styles:U.positionerStyles,transitionStatus:k,props:v,refs:[t,y.useStateSetter(`positionerElement`)],hidden:!T,inert:!E}),de=T&&S.type!==`menu`&&(S.type!==`menubar`&&D&&N!==`trigger-hover`||S.type===`menubar`&&S.context.modal),K=null;return S.type===`menubar`?K=S.context.contentElement:S.type===void 0&&(K=O),(0,X.jsxs)(kn.Provider,{value:U,children:[de&&(0,X.jsx)(et,{ref:S.type===`context-menu`||S.type===`nested-context-menu`?S.context.internalBackdropRef:null,inert:Et(!E),cutout:K}),(0,X.jsx)(Re,{id:P,children:(0,X.jsx)(er,{elementsRef:y.context.itemDomElements,labelsRef:y.context.itemLabels,children:ue})})]})}),ar=Y.createContext(null);function or(e){let t=Y.useContext(ar);if(t===null&&!e)throw Error(y(5));return t}var sr={...Ue,disabled:q(e=>e.parent.type===`menubar`&&e.parent.context.disabled||e.disabled),modal:q(e=>(e.parent.type===void 0||e.parent.type===`context-menu`)&&(e.modal??!0)),openMethod:q(e=>e.openMethod),allowMouseEnter:q(e=>e.allowMouseEnter),stickIfOpen:q(e=>e.stickIfOpen),parent:q(e=>e.parent),rootId:q(e=>e.parent.type===`menu`?e.parent.store.select(`rootId`):e.parent.type===void 0?e.rootId:e.parent.context.rootId),activeIndex:q(e=>e.activeIndex),isActive:q((e,t)=>e.activeIndex===t),hoverEnabled:q(e=>e.hoverEnabled),instantType:q(e=>e.instantType),lastOpenChangeReason:q(e=>e.openChangeReason),floatingTreeRoot:q(e=>e.parent.type===`menu`?e.parent.store.select(`floatingTreeRoot`):e.floatingTreeRoot),floatingNodeId:q(e=>e.floatingNodeId),floatingParentNodeId:q(e=>e.floatingParentNodeId),itemProps:q(e=>e.itemProps),closeDelay:q(e=>e.closeDelay),hasViewport:q(e=>e.hasViewport),keyboardEventRelay:q(e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type===`menu`)return e.parent.store.select(`keyboardEventRelay`)})},cr=class e extends De{constructor(e){super({...lr(),...e},{positionerRef:Y.createRef(),popupRef:Y.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:Y.createRef(),beforeContentFocusGuardRef:Y.createRef(),onOpenChangeComplete:void 0,triggerElements:new _e},sr),this.unsubscribeParentListener=this.observe(`parent`,e=>{if(this.unsubscribeParentListener?.(),e.type===`menu`){let t=e.store.select(`rootId`),n=e.store.select(`floatingTreeRoot`),r=e.store.select(`keyboardEventRelay`);this.unsubscribeParentListener=e.store.subscribe(()=>{let i=e.store.select(`rootId`),a=e.store.select(`floatingTreeRoot`),o=e.store.select(`keyboardEventRelay`);t===i&&n===a&&r===o||(t=i,n=a,r=o,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}e.type!==void 0&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit(`setOpen`,{open:e,eventDetails:t})}static useStore(t,n){let r=w(()=>new e(n)).current;return t??r}unsubscribeParentListener=null};function lr(){return{...kt(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new Ke,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:b,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}var ur=Y.createContext(void 0);function dr(){return Y.useContext(ur)}var fr=ke(function(e){let{children:t,open:n,onOpenChange:r,onOpenChangeComplete:i,defaultOpen:a=!1,disabled:s=!1,modal:c,loopFocus:l=!0,orientation:u=`vertical`,actionsRef:f,closeParentOnEsc:p=!1,handle:m,triggerId:g,defaultTriggerId:_=null,highlightItemOnHover:y=!0}=e,b=Pn(!0),x=Mn(!0),S=or(!0),C=dr(),w=Y.useMemo(()=>C&&x?{type:`menu`,store:x.store}:S?{type:`menubar`,context:S}:b&&!x?{type:`context-menu`,context:b}:{type:void 0},[b,x,S,C]),T=cr.useStore(m?.store,{open:a,openProp:n,activeTriggerId:_,triggerIdProp:g,parent:w});ut(()=>{n===void 0&&T.state.open===!1&&a===!0&&T.update({open:!0,activeTriggerId:_})}),T.useControlledProp(`openProp`,n),T.useControlledProp(`triggerIdProp`,g),T.useContextCallback(`onOpenChangeComplete`,i);let E=T.useState(`floatingTreeRoot`),D=de(E),ee=Je();d(()=>{b&&!x?T.update({parent:{type:`context-menu`,context:b},floatingNodeId:D,floatingParentNodeId:ee}):x&&T.update({floatingNodeId:D,floatingParentNodeId:ee})},[b,x,D,ee,T]);let O=T.useState(`open`),k=T.useState(`activeTriggerElement`),A=T.useState(`positionerElement`),j=T.useState(`hoverEnabled`),M=T.useState(`disabled`),P=T.useState(`lastOpenChangeReason`),F=T.useState(`parent`),I=T.useState(`activeIndex`),L=T.useState(`payload`),R=T.useState(`floatingParentNodeId`),te=Y.useRef(null),ne=R!=null,{openMethod:z,triggerProps:re}=at(O);T.useSyncedValues({disabled:s,modal:F.type===void 0?c:void 0,openMethod:z,rootId:Ae()}),he(T);let{forceUnmount:ie}=je(O,T,()=>{T.update({allowMouseEnter:!1,stickIfOpen:!0})}),ae=Y.useRef(F.type!==`context-menu`),oe=Ne();Y.useEffect(()=>{if(O||(te.current=null),F.type===`context-menu`){if(!O){oe.clear(),ae.current=!1;return}oe.start(500,()=>{ae.current=!0})}},[oe,O,F.type]),d(()=>{!O&&!j&&T.set(`hoverEnabled`,!0)},[O,j,T]);let B=Y.useRef(!0),se=Ne(),ce=o((e,t)=>{let n=t.reason;if(O===e&&t.trigger===k&&P===n||(t.preventUnmountOnClose=()=>{T.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&(t.trigger=k??void 0),r?.(e,t),t.isCanceled))return;T.state.floatingRootContext.dispatchOpenChange(e,t);let i=t.event;if(e===!1&&i?.type===`click`&&i.pointerType===`touch`&&!B.current)return;if(!e&&I!==null){let e=T.context.itemDomElements.current[I];queueMicrotask(()=>{e?.setAttribute(`tabindex`,`-1`)})}e&&n===`trigger-focus`?(B.current=!1,se.start(300,()=>{B.current=!0})):(B.current=!0,se.clear());let a=(n===`trigger-press`||n===`item-press`)&&i.detail===0&&i?.isTrusted,o=!e&&(n===`escape-key`||n==null),s={open:e,openChangeReason:n};te.current=t.event??null;let c=t.trigger?.id??null;(c||e)&&(s.activeTriggerId=c,s.activeTriggerElement=t.trigger??null),T.update(s),F.type===`menubar`&&(n===`trigger-focus`||n===`focus-out`||n===`trigger-hover`||n===`list-navigation`||n===`sibling-open`)?T.set(`instantType`,`group`):a||o?T.set(`instantType`,a?`click`:`dismiss`):T.set(`instantType`,void 0)}),V=Y.useCallback(()=>{T.setOpen(!1,J(xt))},[T]);Y.useImperativeHandle(f,()=>({unmount:ie,close:V}),[ie,V]);let H;F.type===`context-menu`&&(H=F.context),Y.useImperativeHandle(H?.positionerRef,()=>A,[A]),Y.useImperativeHandle(H?.actionsRef,()=>({setOpen:ce}),[ce]);let U=fe({popupStore:T,onOpenChange:ce}),W=U.context.events;Y.useEffect(()=>{let e=({open:e,eventDetails:t})=>ce(e,t);return W.on(`setOpen`,e),()=>{W?.off(`setOpen`,e)}},[W,ce]);let le=Se(U,{enabled:!M,bubbles:{escapeKey:p&&F.type===`menu`},outsidePress(){return F.type!==`context-menu`||te.current?.type===`contextmenu`?!0:ae.current},externalTree:ne?E:void 0}),G=Mt(U,{role:`menu`}),ue=N(),K=Y.useCallback(e=>{T.select(`activeIndex`)!==e&&T.set(`activeIndex`,e)},[T]),pe=yn(U,{enabled:!M,listRef:T.context.itemDomElements,activeIndex:I,nested:F.type!==void 0,loopFocus:l,orientation:u,parentOrientation:F.type===`menubar`?F.context.orientation:void 0,rtl:ue===`rtl`,disabledIndices:v,onNavigate:K,openOnArrowKeyDown:F.type!==`context-menu`,externalTree:ne?E:void 0,focusItemOnHover:y}),me=Y.useCallback(e=>{T.context.typingRef.current=e},[T]),{getReferenceProps:ge,getFloatingProps:_e,getItemProps:ve,getTriggerProps:q}=Be([le,G,pe,bn(U,{listRef:T.context.itemLabels,elementsRef:T.context.itemDomElements,activeIndex:I,resetMs:500,onMatch:e=>{O&&e!==I&&T.set(`activeIndex`,e)},onTypingChange:me})]),ye=Y.useMemo(()=>{let e=h(ge(),{onMouseMove(){T.set(`allowMouseEnter`,!0)}},re);return delete e.role,e},[ge,T,re]),be=Y.useMemo(()=>{let e=q();if(!e)return e;let t=h(e,re);return delete t.role,delete t[`aria-controls`],t},[q,re]),xe=Y.useMemo(()=>_e({onMouseMove(){T.set(`allowMouseEnter`,!0),F.type===`menu`&&T.set(`hoverEnabled`,!1)},onClick(){T.select(`hoverEnabled`)&&T.set(`hoverEnabled`,!1)},onKeyDown(e){let t=T.select(`keyboardEventRelay`);t&&!e.isPropagationStopped()&&t(e)}}),[_e,F.type,T]),Ce=Y.useMemo(()=>ve(),[ve]);T.useSyncedValues({floatingRootContext:U,activeTriggerProps:ye,inactiveTriggerProps:be,popupProps:xe,itemProps:Ce});let we=Y.useMemo(()=>({store:T,parent:w}),[T,w]),Te=(0,X.jsx)(jn.Provider,{value:we,children:typeof t==`function`?t({payload:L}):t});return F.type===void 0||F.type===`context-menu`?(0,X.jsx)(It,{externalTree:E,children:Te}):Te});function pr(e){let t=Mn().store,n=Y.useMemo(()=>({parentMenu:t}),[t]);return(0,X.jsx)(ur.Provider,{value:n,children:(0,X.jsx)(fr,{...e})})}function mr(e){let t=e.getBoundingClientRect(),r=n(e),i=r.getComputedStyle(e,`::before`),a=r.getComputedStyle(e,`::after`);if(!(i.content!==`none`||a.content!==`none`))return t;let o=parseFloat(i.width)||0,s=parseFloat(i.height)||0,c=parseFloat(a.width)||0,l=parseFloat(a.height)||0,u=Math.max(t.width,o,c),d=Math.max(t.height,s,l),f=u-t.width,p=d-t.height;return{left:t.left-f/2,right:t.right+f/2,top:t.top-p/2,bottom:t.bottom+p/2}}function hr(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=u(),{ref:i,index:a}=Un(e),o=n===a,s=Y.useRef(null),c=C(i,s);return{compositeProps:Y.useMemo(()=>({tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}}),[o,r,a,t]),compositeRef:c,index:a}}function gr(e){let{render:t,className:n,style:r,state:i=b,props:a=v,refs:o=v,metadata:c,stateAttributesMapping:l,tag:u=`div`,...d}=e,{compositeProps:f,compositeRef:p}=hr({metadata:c});return s(u,e,{state:i,ref:[...o,p],props:[f,...a,d],stateAttributesMapping:l})}function _r(t){if(e(t)&&t.hasAttribute(`data-rootownerid`))return t.getAttribute(`data-rootownerid`)??void 0;if(!p(t))return _r(r(t))}function vr(e){let{enabled:t=!0,mouseDownAction:n,open:r}=e,i=Y.useRef(!1);return Y.useMemo(()=>t?{onMouseDown:e=>{(n===`open`&&!r||n===`close`&&r)&&(i.current=!0,ft(e.currentTarget).addEventListener(`click`,()=>{i.current=!1},{once:!0}))},onClick:e=>{i.current&&(i.current=!1,e.preventBaseUIHandler())}}:b,[t,n,r])}var yr=2,br=Pe(function(e,t){let{render:n,className:r,disabled:i=!1,nativeButton:a=!0,id:c,openOnHover:d,delay:f=100,closeDelay:p=0,handle:m,payload:h,style:g,..._}=e,v=Mn(!0),x=m?.store??v?.store;if(!x)throw Error(y(85));let S=Oe(c),C=x.useState(`isTriggerActive`,S),w=x.useState(`floatingRootContext`),T=x.useState(`isOpenedByTrigger`,S),E=Y.useRef(null),D=Sr(),ee=u(!0),O=be(),k=Y.useMemo(()=>O??new Ke,[O]),{registerTrigger:A,isMountedByThisTrigger:j}=pt(S,E,x,{payload:h,closeDelay:p,parent:D,floatingTreeRoot:k,floatingNodeId:de(k),floatingParentNodeId:Je(),keyboardEventRelay:ee?.relayKeyboardEvent}),M=D.type===`menubar`,N=x.useState(`disabled`),F=i||N||M&&D.context.disabled,{getButtonProps:I,buttonRef:L}=l({disabled:F,native:a});Y.useEffect(()=>{!T&&D.type===void 0&&(x.context.allowMouseUpTriggerRef.current=!1)},[x,T,D.type]);let R=Y.useRef(null),te=Ne(),ne=o(e=>{if(!R.current)return;te.clear(),x.context.allowMouseUpTriggerRef.current=!1;let t=e.target;if(pe(R.current,t)||pe(x.select(`positionerElement`),t)||t===R.current||t!=null&&_r(t)===x.select(`rootId`))return;let n=mr(R.current);e.clientX>=n.left-yr&&e.clientX<=n.right+yr&&e.clientY>=n.top-yr&&e.clientY<=n.bottom+yr||k.events.emit(`close`,{domEvent:e,reason:Tt})});Y.useEffect(()=>{T&&x.select(`lastOpenChangeReason`)===`trigger-hover`&&ft(R.current).addEventListener(`mouseup`,ne,{once:!0})},[T,ne,x]);let z=M&&D.context.hasSubmenuOpen,re=V(w,{enabled:(d??z)&&!F&&D.type!==`context-menu`&&(!M||z&&!j),handleClose:B({blockPointerEvents:!M}),mouseOnly:!0,move:!1,restMs:D.type===void 0?f:void 0,delay:{close:p},triggerElementRef:E,externalTree:k,isActiveTrigger:C,isClosing:()=>x.select(`transitionStatus`)===`ending`}),ie=xr(T,x.select(`lastOpenChangeReason`)),ae=ce(w,{enabled:!F&&D.type!==`context-menu`,event:T&&M?`click`:`mousedown`,toggle:!0,ignoreMouse:!1,stickIfOpen:D.type===void 0?ie:!1}),oe=fn(w,{enabled:!F&&z}),se=vr({open:T,enabled:M,mouseDownAction:`open`}),H=Be([ae,oe]),U={disabled:F,open:T},W=x.useState(`triggerProps`,j),le=[R,t,L,A,E],G=[H.getReferenceProps(),re??b,W,{"aria-haspopup":`menu`,id:S,onMouseDown:e=>{x.select(`open`)||(te.start(200,()=>{x.context.allowMouseUpTriggerRef.current=!0}),ft(e.currentTarget).addEventListener(`mouseup`,ne,{once:!0}))}},M?{role:`menuitem`}:{},se,_,I],{preFocusGuardRef:ue,handlePreFocusGuardFocus:K,handleFocusTargetFocus:fe}=P(x,E),me=s(`button`,e,{enabled:!M,stateAttributesMapping:Ct,state:U,ref:le,props:G});return M?(0,X.jsx)(gr,{tag:`button`,render:n,className:r,style:g,state:U,refs:le,props:G,stateAttributesMapping:Ct}):T?(0,X.jsxs)(Y.Fragment,{children:[(0,X.jsx)($e,{ref:ue,onFocus:K},`${S}-pre-focus-guard`),(0,X.jsx)(Y.Fragment,{children:me},S),(0,X.jsx)($e,{ref:x.context.triggerFocusTargetRef,onFocus:fe},`${S}-post-focus-guard`)]}):(0,X.jsx)(Y.Fragment,{children:me},S)});function xr(e,t){let n=Ne(),[r,i]=Y.useState(!1);return d(()=>{e&&t===`trigger-hover`?(i(!0),n.start(500,()=>{i(!1)})):e||(n.clear(),i(!1))},[e,t,n]),r}function Sr(){let e=Pn(!0),t=Mn(!0),n=or(!0);return Y.useMemo(()=>n?{type:`menubar`,context:n}:e&&!t?{type:`context-menu`,context:e}:{type:void 0},[e,t,n])}var Cr=Y.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return s(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})}),wr=Y.forwardRef(function(e,t){let{render:n,className:r,label:i,id:a,nativeButton:o=!1,openOnHover:c=!0,delay:l=100,closeDelay:u=0,disabled:d=!1,style:f,...p}=e,m=Un(),h=An(),{store:g}=Mn(),_=Oe(a),v=g.useState(`open`),b=g.useState(`floatingRootContext`),x=g.useState(`floatingTreeRoot`),S=G(_,g),C=Y.useCallback(e=>{let t=S(e);return e!==null&&g.select(`open`)&&g.select(`activeTriggerId`)==null&&g.update({activeTriggerId:_,activeTriggerElement:e,closeDelay:u}),t},[S,u,g,_]),w=Y.useRef(null),T=Y.useCallback(e=>{w.current=e,g.set(`activeTriggerElement`,e)},[g]),E=dr();if(!E?.parentMenu)throw Error(y(37));g.useSyncedValue(`closeDelay`,u);let D=E.parentMenu,ee=D.useState(`itemProps`),O=D.useState(`isActive`,m.index),k=Y.useMemo(()=>({type:`submenu-trigger`,setActive(){D.set(`activeIndex`,m.index)}}),[D,m.index]),A=g.useState(`disabled`),j=d||A,{getItemProps:M,itemRef:N}=zn({closeOnClick:!1,disabled:j,highlighted:O,id:_,store:g,typingRef:D.context.typingRef,nativeButton:o,itemMetadata:k,nodeId:h?.context.nodeId}),P=g.useState(`hoverEnabled`),F=D.useState(`allowMouseEnter`),I=V(b,{enabled:P&&c&&!j,handleClose:B({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:l,delay:F?{open:l,close:u}:0,triggerElementRef:w,externalTree:x,isClosing:()=>g.select(`transitionStatus`)===`ending`}),L=Be([ce(b,{enabled:!j,event:`mousedown`,toggle:!c,ignoreMouse:c,stickIfOpen:!1})]),R=g.useState(`triggerProps`,!0);return delete R.id,s(`div`,e,{state:{disabled:j,highlighted:O,open:v},stateAttributesMapping:rt,props:[L.getReferenceProps(),I,R,ee,{tabIndex:v||O?0:-1,onBlur(){O&&D.set(`activeIndex`,null)}},p,M],ref:[t,m.ref,N,C,T]})});function Tr({...e}){return(0,X.jsx)(fr,{"data-slot":`dropdown-menu`,...e})}function Er({...e}){return(0,X.jsx)(br,{"data-slot":`dropdown-menu-trigger`,...e})}function Dr({align:e=`start`,alignOffset:t=0,side:n=`bottom`,sideOffset:r=4,className:i,...a}){return(0,X.jsx)($n,{children:(0,X.jsx)(ir,{className:`isolate z-50 outline-none`,align:e,alignOffset:t,side:n,sideOffset:r,children:(0,X.jsx)(Xn,{"data-slot":`dropdown-menu-content`,className:g(`z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,i),...a})})})}function Or({className:e,inset:t,variant:n=`default`,...r}){return(0,X.jsx)(Jn,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:g(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function kr({...e}){return(0,X.jsx)(pr,{"data-slot":`dropdown-menu-sub`,...e})}function Ar({className:e,inset:t,children:n,...r}){return(0,X.jsxs)(wr,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:g(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,X.jsx)(Vt,{className:`ml-auto`})]})}function jr({align:e=`start`,alignOffset:t=-3,side:n=`right`,sideOffset:r=0,className:i,...a}){return(0,X.jsx)(Dr,{"data-slot":`dropdown-menu-sub-content`,className:g(`w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,i),align:e,alignOffset:t,side:n,sideOffset:r,...a})}function Mr({className:e,children:t,checked:n,inset:r,...i}){return(0,X.jsxs)(Kn,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":r,className:g(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...i,children:[(0,X.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,X.jsx)(qn,{children:(0,X.jsx)(zt,{})})}),t]})}function Nr({className:e,...t}){return(0,X.jsx)(Cr,{"data-slot":`dropdown-menu-separator`,className:g(`-mx-1 my-1 h-px bg-border`,e),...t})}var Pr=`Backups can star it again, but GitHub will date it today.`;function Fr(e){return window.confirm(`${e} ${Pr}`)}function Ir({children:e}){return(0,X.jsxs)(Tr,{children:[(0,X.jsx)(Er,{render:(0,X.jsx)(S,{variant:`ghost`,size:`icon`,className:`size-10 md:size-7`,"aria-label":`Actions`}),children:(0,X.jsx)(Ht,{className:`h-4 w-4`})}),(0,X.jsx)(Dr,{align:`end`,children:e})]})}function Lr({repo:e,lists:n,listItems:r}){if(n.length===0)return null;let i=new Set(r.filter(t=>t.repo_id===e.id).map(e=>e.list_id));function a(n,i){if(i){let i=r.find(t=>t.repo_id===e.id&&t.list_id===n.id);i&&t.delete(i.id)}else t.insert({id:crypto.randomUUID(),list_id:n.id,repo_id:e.id,position:0,added_at:new Date().toISOString()})}return(0,X.jsxs)(kr,{children:[(0,X.jsxs)(Ar,{children:[(0,X.jsx)(Yt,{className:`mr-2 h-4 w-4`}),`Add to list`]}),(0,X.jsx)(jr,{children:n.map(e=>{let t=i.has(e.id);return(0,X.jsx)(Mr,{checked:t,onClick:()=>a(e,t),children:e.name},e.id)})})]})}function Rr({repo:e}){function t(t){a.update(e.id,e=>{e.usefulness_rating=t})}return(0,X.jsxs)(kr,{children:[(0,X.jsxs)(Ar,{children:[(0,X.jsx)(H,{className:`mr-2 h-4 w-4`}),`Rate`]}),(0,X.jsxs)(jr,{children:[[1,2,3,4,5].map(n=>(0,X.jsxs)(Mr,{checked:e.usefulness_rating===n,onClick:()=>t(n),children:[`★`.repeat(n),`☆`.repeat(5-n)]},n)),(0,X.jsx)(Nr,{}),(0,X.jsx)(Mr,{onClick:()=>t(null),children:`Clear rating`})]})]})}function zr({listItemId:e}){return(0,X.jsxs)(Or,{onClick:()=>t.delete(e),children:[(0,X.jsx)(Fe,{className:`mr-2 h-4 w-4`}),`Remove from list`]})}function Br({repo:e}){return(0,X.jsxs)(Or,{variant:`destructive`,onClick:()=>{Fr(`Unstar ${e.full_name}? Its tags, rating and notes go with it.`)&&a.delete(e.id)},children:[(0,X.jsx)(en,{className:`mr-2 h-4 w-4`}),`Unstar`]})}function Vr({onOpen:e}){return(0,X.jsxs)(Or,{onClick:e,children:[(0,X.jsx)(Ut,{className:`mr-2 h-4 w-4`}),`View detail`]})}function Hr({url:e}){return(0,X.jsxs)(Or,{onClick:()=>window.open(e,`_blank`,`noopener,noreferrer`),children:[(0,X.jsx)(U,{className:`mr-2 h-4 w-4`}),`Open on GitHub`]})}function Ur({url:e}){return(0,X.jsxs)(Or,{onClick:()=>navigator.clipboard.writeText(e),children:[(0,X.jsx)(qt,{className:`mr-2 h-4 w-4`}),`Copy URL`]})}Ir.AddToList=Lr,Ir.Rate=Rr,Ir.RemoveFromList=zr,Ir.Unstar=Br,Ir.ViewDetail=Vr,Ir.OpenOnGithub=Hr,Ir.CopyUrl=Ur,Ir.Separator=Nr;function Wr({className:e,...t}){return(0,X.jsx)(`textarea`,{"data-slot":`textarea`,className:g(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}function Gr(e){return(0,Y.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches)}var Kr=()=>Gr(`(min-width: 768px)`);function qr({value:e,max:t=10,label:n,detail:r}){let i=e/t*100;return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`span`,{className:`w-24 text-xs text-muted-foreground shrink-0`,children:n}),(0,X.jsx)(`div`,{className:`flex-1 h-1.5 bg-muted rounded-full overflow-hidden`,children:(0,X.jsx)(`div`,{className:`h-full rounded-full ${e>=7?`bg-primary`:e>=4?`bg-yellow-500`:`bg-destructive`}`,style:{width:`${i}%`}})}),(0,X.jsx)(`span`,{className:`text-xs tabular-nums w-8 text-right`,children:e.toFixed(1)})]}),r&&(0,X.jsx)(`p`,{className:`text-[11px] text-muted-foreground/60 ml-27 mt-0.5`,children:r})]})}function Jr({value:e,onChange:t}){let[n,r]=(0,Y.useState)(null),i=n??e??0;return(0,X.jsx)(`div`,{className:`flex gap-1`,onMouseLeave:()=>r(null),children:[1,2,3,4,5].map(n=>(0,X.jsx)(`button`,{type:`button`,className:`p-0.5 hover:scale-110 transition-transform`,onMouseEnter:()=>r(n),onClick:()=>t(e===n?null:n),children:(0,X.jsx)(H,{className:`h-5 w-5 ${n<=i?`fill-primary text-primary`:`text-muted-foreground/30`}`})},n))})}function Yr(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);if(i<30)return`${i}d ago`;let a=Math.floor(i/30);return a<12?`${a}mo ago`:`${Math.floor(a/12)}y ago`}function Xr(e){if(!(!e||e===`unknown`||e===`none`))return Yr(String(e))}function Zr({repo:e,lists:n,listItems:r,open:i,onOpenChange:o}){let s=Kr(),[c,l]=(0,Y.useState)(``),[u,d]=(0,Y.useState)(`idle`),f=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{e&&l(e.notes??``)},[e?.id]);let p=(0,Y.useCallback)(async t=>{if(e){d(`saving`);try{await a.update(e.id,e=>{e.notes=t}).isPersisted.promise}catch{d(`idle`);return}d(`saved`),setTimeout(()=>d(`idle`),1500)}},[e?.id]);function m(e){l(e),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>p(e),300)}async function h(t){e&&await a.update(e.id,e=>{e.usefulness_rating=t}).isPersisted.promise.catch(()=>{})}function g(n){if(!e)return;let i=r.find(t=>t.repo_id===e.id&&t.list_id===n.id);i?t.delete(i.id):t.insert({id:crypto.randomUUID(),list_id:n.id,repo_id:e.id,position:0,added_at:new Date().toISOString()})}function _(){e&&Fr(`Unstar ${e.full_name}? Its tags, rating and notes go with it.`)&&(a.delete(e.id),o(!1))}if(!e)return null;let v=e.health_data,y=e.topics?.split(`,`).filter(Boolean)??[],b=new Set(r.filter(t=>t.repo_id===e.id).map(e=>e.list_id)),x=Xr(v?.last_commit),C=Xr(v?.latest_release);return(0,X.jsx)(re,{open:i,onOpenChange:o,children:(0,X.jsxs)(te,{side:s?`right`:`bottom`,className:s?`overflow-y-auto sm:max-w-md`:`max-h-[88dvh] overflow-y-auto overscroll-contain rounded-t-2xl pb-[env(safe-area-inset-bottom,0px)]`,children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(k,{className:`font-display text-lg`,children:(0,X.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`hover:underline inline-flex items-center gap-1.5`,children:[e.full_name,(0,X.jsx)(U,{className:`h-3.5 w-3.5 text-muted-foreground`})]})}),e.description&&(0,X.jsx)(I,{children:e.description}),(0,X.jsxs)(`div`,{className:`flex items-center gap-3 text-sm text-muted-foreground pt-1`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(H,{className:`h-3.5 w-3.5`}),e.stars.toLocaleString()]}),(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(Gt,{className:`h-3.5 w-3.5`}),e.forks.toLocaleString()]}),e.language&&(0,X.jsx)(W,{variant:`secondary`,children:e.language}),e.is_archived&&(0,X.jsx)(W,{variant:`destructive`,children:`Archived`})]}),e.starred_at&&(0,X.jsxs)(`p`,{className:`text-xs text-muted-foreground/60`,children:[`Starred `,Yr(e.starred_at)]})]}),(0,X.jsxs)(`div`,{className:`px-4 pb-6 space-y-8`,children:[(0,X.jsxs)(`section`,{children:[(0,X.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider mb-3`,children:`Health`}),e.health_score!=null&&v?(0,X.jsxs)(`div`,{className:`space-y-2.5`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,X.jsx)(`div`,{className:`flex-1 h-2.5 bg-muted rounded-full overflow-hidden`,children:(0,X.jsx)(`div`,{className:`h-full rounded-full ${e.health_score>=7?`bg-primary`:e.health_score>=4?`bg-yellow-500`:`bg-destructive`}`,style:{width:`${e.health_score/10*100}%`}})}),(0,X.jsx)(`span`,{className:`text-lg font-semibold tabular-nums`,children:e.health_score.toFixed(1)}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`/10`})]}),(0,X.jsx)(qr,{value:Number(v.commit_recency)||0,label:`Commits`,detail:x?`Last commit ${x}`:void 0}),(0,X.jsx)(qr,{value:Number(v.issue_resolution)||0,label:`Issues`}),(0,X.jsx)(qr,{value:Number(v.contributors)||0,label:`Contributors`}),(0,X.jsx)(qr,{value:Number(v.star_velocity)||0,label:`Star Growth`}),(0,X.jsx)(qr,{value:Number(v.release_cadence)||0,label:`Releases`,detail:C?`Last release ${C}`:void 0}),e.health_refreshed_at&&(0,X.jsxs)(`p`,{className:`text-[11px] text-muted-foreground/50 mt-1`,children:[`Refreshed `,Yr(e.health_refreshed_at)]})]}):(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground/60`,children:`Not scored yet`})]}),(0,X.jsxs)(`section`,{children:[(0,X.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider mb-3`,children:`Your Assessment`}),(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Rating`}),(0,X.jsx)(Jr,{value:e.usefulness_rating,onChange:h})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between mb-1.5`,children:[(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Notes`}),u===`saved`&&(0,X.jsxs)(`span`,{className:`text-xs text-primary flex items-center gap-1`,children:[(0,X.jsx)(zt,{className:`h-3 w-3`}),`Saved`]})]}),(0,X.jsx)(Wr,{value:c,onChange:e=>m(e.target.value),placeholder:`Notes`,className:`min-h-20 text-sm`})]})]})]}),(0,X.jsxs)(`section`,{children:[(0,X.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider mb-3`,children:`Organization`}),(0,X.jsxs)(`div`,{className:`space-y-3`,children:[n.length>0&&(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground block mb-1.5`,children:`Lists`}),(0,X.jsx)(`div`,{className:`space-y-1`,children:n.map(e=>(0,X.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer py-0.5 hover:bg-accent/50 rounded px-1 -mx-1`,children:[(0,X.jsx)(On,{checked:b.has(e.id),onClick:()=>g(e)}),(0,X.jsx)(`span`,{className:`text-sm`,children:e.name})]},e.id))})]}),y.length>0&&(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground block mb-1.5`,children:`Topics`}),(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:y.map(e=>(0,X.jsx)(W,{variant:`outline`,className:`text-xs`,children:e},e))})]})]})]}),(0,X.jsxs)(`section`,{className:`space-y-3 pt-2`,children:[e.homepage&&(0,X.jsxs)(`a`,{href:e.homepage,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 text-sm text-primary hover:underline`,children:[(0,X.jsx)(Kt,{className:`h-3.5 w-3.5`}),e.homepage.replace(/^https?:\/\//,``)]}),(0,X.jsxs)(S,{variant:`destructive`,size:`sm`,className:`w-full`,onClick:_,children:[(0,X.jsx)(en,{className:`mr-2 h-4 w-4`}),`Unstar`]})]})]})]})})}function Qr(e,t){return typeof e==`function`?e(t):e}function $r(e,t){return n=>{t.setState(t=>({...t,[e]:Qr(n,t[e])}))}}function ei(e){return e instanceof Function}function ti(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function ni(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function Z(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
2
+ font-size: .6rem;
3
+ font-weight: bold;
4
+ color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function Q(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function ri(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:Z(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),Q(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function ii(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:Z(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],Q(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:Z(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},Q(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var $=`debugHeaders`;function ai(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var oi={createTable:e=>{e.getHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return si(t,[...a,...s,...o],e)},Q(e.options,$,`getHeaderGroups`)),e.getCenterHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),si(t,n,e,`center`)),Q(e.options,$,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>si(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),Q(e.options,$,`getLeftHeaderGroups`)),e.getRightHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>si(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),Q(e.options,$,`getRightHeaderGroups`)),e.getFooterGroups=Z(()=>[e.getHeaderGroups()],e=>[...e].reverse(),Q(e.options,$,`getFooterGroups`)),e.getLeftFooterGroups=Z(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),Q(e.options,$,`getLeftFooterGroups`)),e.getCenterFooterGroups=Z(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),Q(e.options,$,`getCenterFooterGroups`)),e.getRightFooterGroups=Z(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),Q(e.options,$,`getRightFooterGroups`)),e.getFlatHeaders=Z(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,$,`getFlatHeaders`)),e.getLeftFlatHeaders=Z(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,$,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=Z(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,$,`getCenterFlatHeaders`)),e.getRightFlatHeaders=Z(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,$,`getRightFlatHeaders`)),e.getCenterLeafHeaders=Z(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),Q(e.options,$,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=Z(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),Q(e.options,$,`getLeftLeafHeaders`)),e.getRightLeafHeaders=Z(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),Q(e.options,$,`getRightLeafHeaders`)),e.getLeafHeaders=Z(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),Q(e.options,$,`getLeafHeaders`))}};function si(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=ai(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>ai(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var ci=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>ni(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:Z(()=>[e.getAllLeafColumns()],t=>t.map(t=>ri(e,s,t,t.id)),Q(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:Z(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),Q(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},li={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},ui=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};ui.autoRemove=e=>bi(e);var di=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};di.autoRemove=e=>bi(e);var fi=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};fi.autoRemove=e=>bi(e);var pi=(e,t,n)=>e.getValue(t)?.includes(n);pi.autoRemove=e=>bi(e);var mi=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});mi.autoRemove=e=>bi(e)||!(e!=null&&e.length);var hi=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));hi.autoRemove=e=>bi(e)||!(e!=null&&e.length);var gi=(e,t,n)=>e.getValue(t)===n;gi.autoRemove=e=>bi(e);var _i=(e,t,n)=>e.getValue(t)==n;_i.autoRemove=e=>bi(e);var vi=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};vi.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},vi.autoRemove=e=>bi(e)||bi(e[0])&&bi(e[1]);var yi={includesString:ui,includesStringSensitive:di,equalsString:fi,arrIncludes:pi,arrIncludesAll:mi,arrIncludesSome:hi,equals:gi,weakEquals:_i,inNumberRange:vi};function bi(e){return e==null||e===``}var xi={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:$r(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?yi.includesString:typeof n==`number`?yi.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?yi.equals:Array.isArray(n)?yi.arrIncludes:yi.weakEquals},e.getFilterFn=()=>ei(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??yi[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=Qr(n,i?i.value:void 0);if(Si(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>Qr(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Si(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Si(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var Ci={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!ti(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},wi={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:$r(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return Ci.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return Ci.extent},e.getAggregationFn=()=>{if(!e)throw Error();return ei(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??Ci[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function Ti(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var Ei={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:$r(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=Z(e=>[Li(t,e)],t=>t.findIndex(t=>t.id===e.id),Q(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>Li(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=Li(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=Z(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return Ti(i,t,n)},Q(e.options,`debugTable`,`_getOrderColumnsFn`))}},Di=()=>({left:[],right:[]}),Oi={getInitialState:e=>({columnPinning:Di(),...e}),getDefaultOptions:e=>({onColumnPinningChange:$r(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Z(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},Q(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=Z(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),Q(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=Z(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),Q(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?Di():e.initialState?.columnPinning??Di()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=Z(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),Q(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=Z(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),Q(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=Z(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},Q(e.options,`debugColumns`,`getCenterLeafColumns`))}};function ki(e){return e||(typeof document<`u`?document:null)}var Ai={size:150,minSize:20,maxSize:2**53-1},ji=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Mi={getDefaultColumnDef:()=>Ai,getInitialState:e=>({columnSizing:{},columnSizingInfo:ji(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:$r(`columnSizing`,e),onColumnSizingInfoChange:$r(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??Ai.minSize,n??e.columnDef.size??Ai.size),e.columnDef.maxSize??Ai.maxSize)},e.getStart=Z(e=>[e,Li(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),Q(t.options,`debugColumns`,`getStart`)),e.getAfter=Z(e=>[e,Li(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),Q(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),Fi(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=Fi(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=ki(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Pi()?{passive:!1}:!1;Fi(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?ji():e.initialState.columnSizingInfo??ji())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},Ni=null;function Pi(){if(typeof Ni==`boolean`)return Ni;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return Ni=e,Ni}function Fi(e){return e.type===`touchstart`}var Ii={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:$r(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Z(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),Q(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=Z(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],Q(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>Z(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),Q(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function Li(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Ri={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},zi={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:$r(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>yi.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return ei(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??yi[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Bi={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:$r(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Vi=0,Hi=10,Ui=()=>({pageIndex:Vi,pageSize:Hi}),Wi={getInitialState:e=>({...e,pagination:{...Ui(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:$r(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>Qr(t,e)),e.resetPagination=t=>{e.setPagination(t?Ui():e.initialState.pagination??Ui())},e.setPageIndex=t=>{e.setPagination(n=>{let r=Qr(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?Vi:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??Vi)},e.resetPageSize=t=>{var n;e.setPageSize(t?Hi:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??Hi)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,Qr(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=Qr(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=Z(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},Q(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},Gi=()=>({top:[],bottom:[]}),Ki={getInitialState:e=>({rowPinning:Gi(),...e}),getDefaultOptions:e=>({onRowPinningChange:$r(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?Gi():e.initialState?.rowPinning??Gi()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=Z(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),Q(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=Z(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),Q(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=Z(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},Q(e.options,`debugRows`,`getCenterRows`))}},qi={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:$r(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{Ji(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Z(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Yi(e,n):{rows:[],flatRows:[],rowsById:{}},Q(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=Z(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Yi(e,n):{rows:[],flatRows:[],rowsById:{}},Q(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=Z(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Yi(e,n):{rows:[],flatRows:[],rowsById:{}},Q(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return Ji(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return Xi(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Zi(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Zi(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},Ji=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>Ji(e,t.id,n,r,i))};function Yi(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=Xi(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function Xi(e,t){return t[e.id]??!1}function Zi(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(Xi(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=Zi(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var Qi=/([0-9]+)/gm,$i=(e,t,n)=>sa(oa(e.getValue(n)).toLowerCase(),oa(t.getValue(n)).toLowerCase()),ea=(e,t,n)=>sa(oa(e.getValue(n)),oa(t.getValue(n))),ta=(e,t,n)=>aa(oa(e.getValue(n)).toLowerCase(),oa(t.getValue(n)).toLowerCase()),na=(e,t,n)=>aa(oa(e.getValue(n)),oa(t.getValue(n))),ra=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},ia=(e,t,n)=>aa(e.getValue(n),t.getValue(n));function aa(e,t){return e===t?0:e>t?1:-1}function oa(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function sa(e,t){let n=e.split(Qi).filter(Boolean),r=t.split(Qi).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var ca={alphanumeric:$i,alphanumericCaseSensitive:ea,text:ta,textCaseSensitive:na,datetime:ra,basic:ia},la=[oi,Ii,Ei,Oi,li,xi,Ri,zi,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:$r(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return ca.datetime;if(typeof n==`string`&&(r=!0,n.split(Qi).length>1))return ca.alphanumeric}return r?ca.text:ca.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return ei(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??ca[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},wi,Bi,Wi,Ki,qi,Mi];function ua(e){let t=[...la,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(Qr(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:Z(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),Q(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:Z(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=ii(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},Q(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:Z(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),Q(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:Z(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),Q(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:Z(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),Q(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function da(){return e=>Z(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=ci(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},Q(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function fa(e){let t=[],n=e=>{var r;t.push(e),(r=e.subRows)!=null&&r.length&&e.getIsExpanded()&&e.subRows.forEach(n)};return e.rows.forEach(n),{rows:t,flatRows:e.flatRows,rowsById:e.rowsById}}function pa(e){return e=>Z(()=>[e.getState().pagination,e.getPrePaginationRowModel(),e.options.paginateExpandedRows?void 0:e.getState().expanded],(t,n)=>{if(!n.rows.length)return n;let{pageSize:r,pageIndex:i}=t,{rows:a,flatRows:o,rowsById:s}=n,c=r*i,l=c+r;a=a.slice(c,l);let u;u=e.options.paginateExpandedRows?{rows:a,flatRows:o,rowsById:s}:fa({rows:a,flatRows:o,rowsById:s}),u.flatRows=[];let d=e=>{u.flatRows.push(e),e.subRows.length&&e.subRows.forEach(d)};return u.rows.forEach(d),u},Q(e.options,`debugTable`,`getPaginationRowModel`))}function ma(e,t){return e?ha(e)?Y.createElement(e,t):e:null}function ha(e){return ga(e)||typeof e==`function`||_a(e)}function ga(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function _a(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function va(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=Y.useState(()=>({current:ua(t)})),[r,i]=Y.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}function ya({className:e,...t}){return(0,X.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,X.jsx)(`table`,{"data-slot":`table`,className:g(`w-full caption-bottom text-sm`,e),...t})})}function ba({className:e,...t}){return(0,X.jsx)(`thead`,{"data-slot":`table-header`,className:g(`[&_tr]:border-b`,e),...t})}function xa({className:e,...t}){return(0,X.jsx)(`tbody`,{"data-slot":`table-body`,className:g(`[&_tr:last-child]:border-0`,e),...t})}function Sa({className:e,...t}){return(0,X.jsx)(`tr`,{"data-slot":`table-row`,className:g(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function Ca({className:e,...t}){return(0,X.jsx)(`th`,{"data-slot":`table-head`,className:g(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0`,e),...t})}function wa({className:e,...t}){return(0,X.jsx)(`td`,{"data-slot":`table-cell`,className:g(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}function Ta(e,t){if(e.mode!==t.mode)return!1;if(e.mode===`any`&&t.mode===`any`)return!0;let n=`values`in e?[...e.values].sort():[],r=`values`in t?[...t.values].sort():[];return n.length===r.length&&n.every((e,t)=>e===r[t])}var Ea=(0,Y.createContext)(null);function Da({children:e,items:t,registry:n,sortDefinitions:r,defaultSort:i,defaultGroupBy:a,viewState:o,onViewStateChange:s,searchFields:c}){let l=(0,Y.useMemo)(()=>{let e={};for(let[r,i]of Object.entries(n))if(i.type===`three-state`)switch(i.options.source){case`static`:e[r]=i.options.values;break;case`items`:e[r]=i.options.derive(t);break}else e[r]=[];return e},[t,n]),u=(0,Y.useMemo)(()=>{let e=o.searchQuery.toLowerCase().trim();return t.filter(t=>{if(e&&c&&!c(t).some(t=>t&&t.toLowerCase().includes(e)))return!1;for(let[e,r]of Object.entries(n)){let n=o.filters[e];if(!r.match(t,n))return!1}return!0})},[t,o.filters,o.searchQuery,n,c]),d=(0,Y.useMemo)(()=>{let e=r.find(e=>e.value===o.sort);return e?[...u].sort(e.compare):u},[u,o.sort,r]),f=(0,Y.useMemo)(()=>{if(o.groupBy===`none`)return d.length>0?[{groupId:`all`,label:`All Items`,items:d}]:[];let e=n[o.groupBy];return e?.groupBy?.enabled?e.groupBy.grouper(d):[{groupId:`all`,label:`All Items`,items:d}]},[d,o.groupBy,n]),p=(0,Y.useMemo)(()=>[...Object.values(n).filter(e=>!!e.groupBy?.enabled).map(e=>({value:e.id,label:e.label})),{value:`none`,label:`None`}],[n]),m=(0,Y.useMemo)(()=>{let e=0;for(let[t,r]of Object.entries(n)){let n=o.filters[t];if(r.type===`three-state`)Ta(n,r.defaultValue)||e++;else if(r.type===`range`){let t=n;(t.min!==void 0||t.max!==void 0)&&e++}}return e},[o.filters,n]),h=(0,Y.useCallback)((e,t)=>{s({...o,page:0,filters:{...o.filters,[e]:t}})},[o,s]),g=(0,Y.useCallback)(e=>{s({...o,page:0,searchQuery:e})},[o,s]),_=(0,Y.useCallback)(e=>{s({...o,page:e})},[o,s]),v=(0,Y.useCallback)(()=>{let e={};for(let[t,r]of Object.entries(n))e[t]=r.defaultValue;s({sort:i,groupBy:a,filters:e,searchQuery:``,page:0})},[s,n,i,a]),y=(0,Y.useMemo)(()=>({viewState:o,updateViewState:s,updateFilter:h,updateSearchQuery:g,updatePage:_,resetFilters:v,filteredItems:d,groupedItems:f,totalCount:t.length,filteredCount:d.length,activeFilterCount:m,dimensionOptions:l,registry:n,sortDefinitions:r,groupByOptions:p}),[o,s,h,g,_,v,d,f,t.length,m,l,n,r,p]);return(0,X.jsx)(Ea.Provider,{value:y,children:e})}function Oa(){let e=(0,Y.useContext)(Ea);if(!e)throw Error(`useFilter must be used within a FilterProvider`);return e}function ka(e,t,n,r){let i={};for(let[n,r]of Object.entries(t))if(r.type===`three-state`){let t=e[r.urlParam];i[n]=t===void 0?r.defaultValue:r.parse(t)}else r.type===`range`&&(i[n]={min:e[r.urlParamMin],max:e[r.urlParamMax]});let a=e.page,o=typeof a==`number`?a:typeof a==`string`&&parseInt(a,10)||0;return{sort:e.sort??n,groupBy:e.group??r,filters:i,searchQuery:e.search??``,page:o}}function Aa(e,t,n,r){let i={};e.sort!==n&&(i.sort=e.sort),e.groupBy!==r&&(i.group=e.groupBy),e.searchQuery&&(i.search=e.searchQuery),e.page>0&&(i.page=e.page);for(let[n,r]of Object.entries(t)){let t=e.filters[n];if(r.type===`three-state`){let e=t;if(!Ta(e,r.defaultValue)){let t=r.serialize(e);t&&(i[r.urlParam]=t)}}else if(r.type===`range`){let e=t;e.min!==void 0&&(i[r.urlParamMin]=e.min),e.max!==void 0&&(i[r.urlParamMax]=e.max)}}return i}function ja(e,t,n,r){if(e.sort!==n||e.groupBy!==r)return!0;for(let[n,r]of Object.entries(t)){let t=e.filters[n];if(r.type===`three-state`){if(!Ta(t,r.defaultValue))return!0}else if(r.type===`range`){let e=t;if(e.min!==void 0||e.max!==void 0)return!0}}return!1}var Ma=(0,Y.createContext)(null);function Na(){return(0,Y.useContext)(Ma)}function Pa(){return{id:`select`,header:({table:e})=>(0,X.jsx)(On,{checked:e.getIsAllPageRowsSelected(),onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t),"aria-label":`Select all`}),cell:({row:e})=>(0,X.jsx)(On,{checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(!!t),"aria-label":`Select row`,onClick:e=>e.stopPropagation()}),enableHiding:!1}}function Fa(e){return e.__groupHeader===!0}function Ia({columns:e,pageSize:t=20,onRowClick:n,getRowId:r,renderBulkActions:i,toolbar:a,renderMobileRow:o}){let{filteredItems:s,groupedItems:c,viewState:l,updatePage:u}=Oa(),[d,f]=(0,Y.useState)({}),[p,m]=(0,Y.useState)({}),h=!Kr()&&o!==void 0,_=l.groupBy!==`none`&&c.length>0,v=(0,Y.useMemo)(()=>{if(!_)return s;let e=[];for(let t of c)e.push({__groupHeader:!0,groupId:t.groupId,label:t.label,count:t.items.length}),e.push(...t.items);return e},[_,s,c]),y=va({data:(0,Y.useMemo)(()=>_?v.filter(e=>!Fa(e)):s,[_,v,s]),columns:e,getRowId:r?e=>r(e):void 0,getCoreRowModel:da(),getPaginationRowModel:_?void 0:pa(),autoResetPageIndex:!1,onColumnVisibilityChange:f,onRowSelectionChange:m,state:{columnVisibility:d,rowSelection:p,..._?{}:{pagination:{pageIndex:l.page,pageSize:t}}},onPaginationChange:_?void 0:e=>{u((typeof e==`function`?e({pageIndex:l.page,pageSize:t}):e).pageIndex)}}),b=y.getFilteredSelectedRowModel().rows.map(e=>e.original),x=()=>m({}),C=y.getVisibleFlatColumns().length,w=y.getFilteredRowModel().rows.length,T=(0,Y.useMemo)(()=>({columns:y.getAllColumns().map(e=>({id:e.id,canHide:e.getCanHide(),isVisible:e.getIsVisible(),toggleVisibility:t=>e.toggleVisibility(t)}))}),[y,d]);return(0,X.jsx)(Ma.Provider,{value:T,children:(0,X.jsxs)(`div`,{className:g(`space-y-4`,b.length>0&&`pb-20`),children:[a,h?(0,X.jsx)(Ra,{rows:_?null:y.getRowModel().rows,groupedItems:c,allRows:y.getRowModel().rows,getRowId:r,selecting:b.length>0,onRowClick:n,renderRow:o}):(0,X.jsx)(`div`,{className:`rounded-lg border`,children:(0,X.jsxs)(ya,{children:[(0,X.jsx)(ba,{children:y.getHeaderGroups().map(e=>(0,X.jsx)(Sa,{children:e.headers.map(e=>(0,X.jsx)(Ca,{children:e.isPlaceholder?null:ma(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,X.jsx)(xa,{children:_?(0,X.jsx)(za,{groupedItems:c,table:y,columns:e,visibleColumnCount:C,onRowClick:n,getRowId:r}):y.getRowModel().rows.length?y.getRowModel().rows.map(e=>(0,X.jsx)(Sa,{"data-state":e.getIsSelected()&&`selected`,className:g(e.getIsSelected()&&`bg-muted/50`,n&&`cursor-pointer`),onClick:()=>n?.(e.original),children:e.getVisibleCells().map(e=>(0,X.jsx)(wa,{children:ma(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,X.jsx)(Sa,{children:(0,X.jsx)(wa,{colSpan:C,className:`h-24 text-center text-muted-foreground`,children:`No results.`})})})]})}),!_&&y.getPageCount()>1&&(0,X.jsxs)(`div`,{className:`flex items-center justify-center gap-1 md:justify-end`,children:[(0,X.jsx)(S,{variant:`ghost`,size:`icon-lg`,"aria-label":`Previous page`,onClick:()=>y.previousPage(),disabled:!y.getCanPreviousPage(),children:(0,X.jsx)(Bt,{})}),(0,X.jsxs)(`span`,{className:`min-w-16 text-center text-sm tabular-nums text-muted-foreground`,children:[y.getState().pagination.pageIndex+1,` / `,y.getPageCount()]}),(0,X.jsx)(S,{variant:`ghost`,size:`icon-lg`,"aria-label":`Next page`,onClick:()=>y.nextPage(),disabled:!y.getCanNextPage(),children:(0,X.jsx)(Vt,{})})]}),i&&(0,X.jsx)(La,{count:b.length,total:w,onSelectAll:y.getIsAllRowsSelected()?void 0:()=>y.toggleAllRowsSelected(!0),onClear:x,children:b.length>0&&i(b,x)})]})})}function La({count:e,total:t,onSelectAll:n,onClear:r,children:i}){let a=e>0,[o,s]=(0,Y.useState)({count:e,children:i});return a&&(o.count!==e||o.children!==i)&&s({count:e,children:i}),(0,X.jsx)(`div`,{className:`selection-bar pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center px-3 pb-[calc(env(safe-area-inset-bottom,0px)+0.75rem)] md:left-64`,"data-open":a||void 0,inert:!a,children:(0,X.jsxs)(`div`,{role:`toolbar`,"aria-label":`Selected repos`,className:`pointer-events-auto flex max-w-full items-center gap-0.5 rounded-2xl border border-white/10 bg-popover/85 p-1.5 shadow-2xl shadow-black/60 backdrop-blur-xl backdrop-saturate-150`,children:[(0,X.jsx)(S,{variant:`ghost`,size:`icon-lg`,"aria-label":`Clear selection`,onClick:r,children:(0,X.jsx)(Fe,{})}),(0,X.jsx)(`span`,{className:`min-w-7 px-1 text-center font-medium tabular-nums`,"aria-live":`polite`,children:o.count}),n&&(0,X.jsx)(S,{variant:`ghost`,size:`icon-lg`,"aria-label":`Select all ${t}`,title:`Select all ${t}`,onClick:n,children:(0,X.jsx)(Rt,{})}),(0,X.jsx)(`span`,{"aria-hidden":!0,className:`mx-1 h-6 w-px shrink-0 bg-border`}),o.children]})})}function Ra({rows:e,groupedItems:t,allRows:n,getRowId:r,selecting:i,onRowClick:a,renderRow:o}){let s=(0,Y.useMemo)(()=>new Map(n.map(e=>[e.id,e])),[n]);function c(e){let t=e.getIsSelected(),n=()=>e.toggleSelected(!t);return(0,X.jsx)(`li`,{"data-selected":t||void 0,className:`mobile-row`,onClick:()=>i?n():a?.(e.original),children:o(e.original,{selected:t,toggleSelected:n,selecting:i})},e.id)}return e?e.length===0?(0,X.jsx)(`p`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`No results.`}):(0,X.jsx)(`ul`,{className:`-mx-4 divide-y border-y`,children:e.map(c)}):(0,X.jsx)(`div`,{className:`-mx-4 border-b`,children:t.map(e=>(0,X.jsxs)(`section`,{children:[(0,X.jsxs)(`h3`,{className:`sticky top-0 z-10 flex items-baseline gap-2 border-y bg-background/85 px-4 py-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground backdrop-blur-md`,children:[e.label,(0,X.jsx)(`span`,{className:`font-normal tabular-nums`,children:e.items.length})]}),(0,X.jsx)(`ul`,{className:`divide-y`,children:e.items.map((e,t)=>{let n=s.get(r?r(e):String(t));return n?c(n):null})})]},e.groupId))})}function za({groupedItems:e,table:t,visibleColumnCount:n,onRowClick:r,getRowId:i}){let a=t.getRowModel().rows,o=(0,Y.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.id,t);return e},[a]);return(0,X.jsx)(X.Fragment,{children:e.map(e=>(0,X.jsx)(Ba,{group:e,visibleColumnCount:n,onRowClick:r,getRowId:i,rowsByData:o},e.groupId))})}function Ba({group:e,visibleColumnCount:t,onRowClick:n,getRowId:r,rowsByData:i}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Sa,{className:`bg-muted/30 hover:bg-muted/30`,children:(0,X.jsxs)(wa,{colSpan:t,className:`py-2 font-medium`,children:[e.label,(0,X.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[`(`,e.items.length,`)`]})]})}),e.items.map((e,t)=>{let a=r?r(e):String(t),o=i.get(a);return o?(0,X.jsx)(Sa,{"data-state":o.getIsSelected()&&`selected`,className:g(o.getIsSelected()&&`bg-muted/50`,n&&`cursor-pointer`),onClick:()=>n?.(o.original),children:o.getVisibleCells().map(e=>(0,X.jsx)(wa,{children:ma(e.column.columnDef.cell,e.getContext())},e.id))},o.id):null})]})}function Va({className:e,orientation:t=`horizontal`,...n}){return(0,X.jsx)(Cr,{"data-slot":`separator`,orientation:t,className:g(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...n})}function Ha({className:e,...t}){return(0,X.jsx)(`label`,{"data-slot":`label`,className:g(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,e),...t})}function Ua({title:e,onBack:t}){return(0,X.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,X.jsxs)(S,{variant:`ghost`,size:`sm`,onClick:t,className:`-ml-2 h-7 px-2`,children:[(0,X.jsx)(Bt,{className:`mr-1 h-3.5 w-3.5`}),`Back`]}),(0,X.jsx)(`span`,{className:`text-sm font-semibold`,children:e})]})}function Wa({label:e,value:t,onClick:n}){return(0,X.jsxs)(`button`,{type:`button`,onClick:n,className:`flex w-full items-center justify-between rounded-md px-2 py-2 text-left transition-colors hover:bg-muted/50`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium`,children:e}),(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[t,(0,X.jsx)(Vt,{className:`h-3.5 w-3.5`})]})]})}function Ga({label:e,selected:t,onClick:n}){return(0,X.jsxs)(`button`,{type:`button`,onClick:n,className:`flex w-full items-center justify-between rounded-md px-2 py-2 text-left transition-colors hover:bg-muted/50`,children:[(0,X.jsx)(`span`,{className:g(`text-sm`,t&&`font-medium`),children:e}),t&&(0,X.jsx)(zt,{className:`h-3.5 w-3.5 text-primary`})]})}function Ka(e,t){return e.mode===`any`?`neutral`:e.mode===`include`&&e.values.includes(t)?`include`:e.mode===`exclude`&&e.values.includes(t)?`exclude`:`neutral`}function qa(e,t){if(e.mode===`any`)return{mode:`include`,values:[t]};if(e.mode===`include`)return e.values.includes(t)?{mode:`exclude`,values:[t]}:{mode:`include`,values:[...e.values,t]};if(e.mode===`exclude`){if(e.values.includes(t)){let n=e.values.filter(e=>e!==t);return n.length===0?{mode:`any`}:{mode:`exclude`,values:n}}return{mode:`exclude`,values:[...e.values,t]}}return e}function Ja({option:e,state:t,onClick:n,renderOption:r}){return(0,X.jsxs)(`button`,{type:`button`,onClick:n,className:`flex w-full items-center justify-between rounded-md px-2 py-2 text-left transition-colors hover:bg-muted/50`,children:[(0,X.jsx)(`span`,{className:g(`text-sm`,t!==`neutral`&&`font-medium`),children:r?r(e):e.label}),t===`include`&&(0,X.jsx)(zt,{className:`h-3.5 w-3.5 text-foreground`}),t===`exclude`&&(0,X.jsx)(Fe,{className:`h-3.5 w-3.5 text-foreground`})]})}function Ya({onNavigate:e,onReset:t,hasFilters:n}){let{viewState:r,sortDefinitions:i,registry:a,dimensionOptions:o,groupByOptions:s}=Oa(),c=()=>i.find(e=>e.value===r.sort)?.label??`Default`,l=()=>s.find(e=>e.value===r.groupBy)?.label??`None`,u=e=>{let t=a[e],n=r.filters[e];if(t.type===`range`){let e=n;return e.min!==void 0&&e.max!==void 0?`${e.min} - ${e.max}`:e.min===void 0?e.max===void 0?`Any`:`Up to ${e.max}`:`${e.min}+`}let i=n;return i.mode===`any`?`Any`:i.mode===`include`?i.values.length===1?(t=>o[e]?.find(e=>e.value===t)?.label??t)(i.values[0]):`${i.values.length} selected`:`Excluding ${i.values.length}`};return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,X.jsx)(Wa,{label:`Sort By`,value:c(),onClick:()=>e(`sort`)}),s.length>1&&(0,X.jsx)(Wa,{label:`Group By`,value:l(),onClick:()=>e(`group`)})]}),(0,X.jsx)(Va,{className:`my-3`}),(0,X.jsx)(`div`,{className:`mb-1.5 text-xs font-medium uppercase tracking-wider text-muted-foreground`,children:`Filters`}),(0,X.jsx)(`div`,{className:`space-y-0.5`,children:Object.keys(a).map(t=>(0,X.jsx)(Wa,{label:a[t].label,value:u(t),onClick:()=>e(t)},t))}),(0,X.jsx)(Va,{className:`my-3`}),(0,X.jsxs)(S,{variant:`outline`,size:`sm`,className:`w-full`,onClick:t,disabled:!n,children:[(0,X.jsx)(Xt,{className:`mr-2 h-3.5 w-3.5`}),`Reset`]})]})}function Xa({onBack:e}){let{viewState:t,updateViewState:n,sortDefinitions:r}=Oa(),i=e=>{n({...t,sort:e})},a=r.reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{});return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Ua,{title:`Sort By`,onBack:e}),(0,X.jsx)(`div`,{className:`max-h-64 overflow-y-auto`,children:Object.entries(a).map(([e,n])=>(0,X.jsxs)(`div`,{className:`mb-3`,children:[(0,X.jsx)(`div`,{className:`mb-1 text-xs font-medium uppercase tracking-wider text-muted-foreground`,children:e}),(0,X.jsx)(`div`,{className:`space-y-0.5`,children:n.map(e=>(0,X.jsx)(Ga,{label:e.label,selected:t.sort===e.value,onClick:()=>i(e.value)},e.value))})]},e))})]})}function Za({onBack:e}){let{viewState:t,updateViewState:n,groupByOptions:r}=Oa(),i=e=>{n({...t,groupBy:e})};return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Ua,{title:`Group By`,onBack:e}),(0,X.jsx)(`div`,{className:`space-y-0.5`,children:r.map(e=>(0,X.jsx)(Ga,{label:e.label,selected:t.groupBy===e.value,onClick:()=>i(e.value)},e.value))})]})}function Qa({dimensionId:e,onBack:t}){let{viewState:n,updateFilter:r,registry:i,dimensionOptions:a}=Oa(),o=i[e],s=a[e],c=t=>{let i=n.filters[e];r(e,qa(i,t))},l=()=>{o.type===`three-state`?r(e,{mode:`any`}):o.type===`range`&&r(e,{})};if(o.type===`three-state`){let r=n.filters[e];return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Ua,{title:o.label,onBack:t}),(0,X.jsx)(`div`,{className:`mb-2 text-xs text-muted-foreground`,children:`Tap: include → exclude → clear`}),(0,X.jsxs)(`div`,{className:`max-h-64 overflow-y-auto`,children:[(0,X.jsx)(Ga,{label:`Any`,selected:r.mode===`any`,onClick:l}),(0,X.jsx)(Va,{className:`my-1.5`}),(0,X.jsx)(`div`,{className:`space-y-0.5`,children:s.map(e=>(0,X.jsx)(Ja,{option:e,state:Ka(r,e.value),onClick:()=>c(e.value),renderOption:o.renderOption},e.value))})]})]})}if(o.type===`range`){let i=n.filters[e],a=i.min!==void 0||i.max!==void 0,s=t=>{let n=t===``?void 0:Number(t);r(e,{...i,min:n})},c=t=>{let n=t===``?void 0:Number(t);r(e,{...i,max:n})};return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Ua,{title:o.label,onBack:t}),(0,X.jsx)(Ga,{label:`Any`,selected:!a,onClick:l}),(0,X.jsx)(Va,{className:`my-2`}),(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(Ha,{htmlFor:`range-min`,className:`text-xs`,children:`Minimum`}),(0,X.jsx)(ee,{id:`range-min`,type:`number`,min:0,placeholder:`No minimum`,value:i.min??``,onChange:e=>s(e.target.value),className:`h-8`})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(Ha,{htmlFor:`range-max`,className:`text-xs`,children:`Maximum`}),(0,X.jsx)(ee,{id:`range-max`,type:`number`,min:0,placeholder:`No maximum`,value:i.max??``,onChange:e=>c(e.target.value),className:`h-8`})]})]})]})}return null}function $a(){let[e,t]=(0,Y.useState)(`main`),{resetFilters:n,viewState:r,registry:i}=Oa();return e===`sort`?(0,X.jsx)(Xa,{onBack:()=>t(`main`)}):e===`group`?(0,X.jsx)(Za,{onBack:()=>t(`main`)}):e===`main`?(0,X.jsx)(Ya,{onNavigate:t,onReset:n,hasFilters:ja(r,i,r.sort,r.groupBy)}):(0,X.jsx)(Qa,{dimensionId:e,onBack:()=>t(`main`)})}function eo(){let{viewState:e,updateSearchQuery:t,filteredCount:n,activeFilterCount:r}=Oa(),i=Na();return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 md:gap-3`,children:[(0,X.jsx)(to,{activeFilterCount:r}),(0,X.jsx)(no,{value:e.searchQuery,onChange:t}),(0,X.jsx)(ro,{filteredCount:n,activeFilterCount:r}),i&&(0,X.jsx)(io,{columns:i.columns})]})}function to({activeFilterCount:e}){return(0,X.jsxs)(ne,{children:[(0,X.jsxs)(L,{render:(0,X.jsx)(S,{variant:`outline`,size:`sm`,className:`relative h-10 min-w-10 md:h-7 md:min-w-0`,"aria-label":`Filters`}),children:[(0,X.jsx)(Wt,{className:`h-4 w-4`}),e>0&&(0,X.jsx)(W,{variant:`secondary`,className:`ml-2 h-5 min-w-5 rounded-full px-1.5 text-xs`,children:e})]}),(0,X.jsx)(ie,{align:`start`,className:`max-h-[70dvh] w-[min(20rem,calc(100vw-2rem))] overflow-y-auto overscroll-contain p-3`,children:(0,X.jsx)($a,{})})]})}function no({value:e,onChange:t,placeholder:n=`Search`}){let r=(0,Y.useRef)(null);return(0,X.jsxs)(`div`,{className:`relative flex-1`,children:[(0,X.jsx)(Zt,{className:`absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,X.jsx)(ee,{ref:r,type:`search`,enterKeyHint:`search`,placeholder:n,value:e,onChange:e=>t(e.target.value),className:`h-10 pl-8 md:h-8 md:text-sm`}),e&&(0,X.jsx)(S,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{t(``),r.current?.focus()},className:`absolute right-0.5 top-1/2 h-7 w-7 -translate-y-1/2 p-0 hover:bg-transparent`,children:(0,X.jsx)(Fe,{className:`h-3.5 w-3.5 text-muted-foreground`})})]})}function ro({filteredCount:e,activeFilterCount:t}){return(0,X.jsx)(`span`,{className:g(`shrink-0 text-sm tabular-nums text-muted-foreground`,t===0&&`hidden md:inline`),children:t>0?`${e} found`:`${e} repos`})}function io({columns:e}){let t=e.filter(e=>e.canHide);return t.length===0?null:(0,X.jsxs)(Tr,{children:[(0,X.jsxs)(Er,{render:(0,X.jsx)(S,{variant:`outline`,size:`sm`,className:`hidden md:inline-flex`}),children:[(0,X.jsx)(Qt,{className:`mr-2 h-4 w-4`}),`Columns`]}),(0,X.jsx)(Dr,{align:`end`,children:t.map(e=>(0,X.jsx)(Mr,{className:`capitalize`,checked:e.isVisible,onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})]})}function ao(e){if(e===void 0||!e||e===`*`)return{mode:`any`};let t=e.split(`,`).filter(Boolean);if(t.length===0)return{mode:`any`};let n=[],r=[];for(let e of t)e.startsWith(`-`)?r.push(e.slice(1)):e.startsWith(`+`)?n.push(e.slice(1)):n.push(e);return n.length>0?{mode:`include`,values:n}:r.length>0?{mode:`exclude`,values:r}:{mode:`any`}}function oo(e){if(e.mode===`any`||e.values.length===0)return`*`;let t=e.mode===`include`?`+`:`-`;return e.values.map(e=>`${t}${e}`).join(`,`)}function so(e){return{type:`three-state`,id:e.id,label:e.label,urlParam:e.urlParam,options:e.options,defaultValue:e.defaultValue??{mode:`any`},match:e.match,serialize:oo,parse:ao,renderOption:e.renderOption,groupBy:e.groupBy?{enabled:!0,...e.groupBy}:void 0}}function co(e){return{type:`range`,id:e.id,label:e.label,urlParamMin:e.urlParamMin,urlParamMax:e.urlParamMax,defaultValue:{},match:e.match,serialize:e=>{if(!(e.min===void 0&&e.max===void 0))return JSON.stringify(e)},parse:()=>({})}}function lo(e,t){return t.mode===`any`?!0:e?t.mode===`include`?t.values.includes(e):t.mode===`exclude`?!t.values.includes(e):!0:t.mode===`exclude`}function uo(e,t){return t.mode===`any`?!0:e.length===0?t.mode===`exclude`:t.mode===`include`?e.some(e=>t.values.includes(e)):t.mode===`exclude`?!e.some(e=>t.values.includes(e)):!0}var fo=/^\d{4}-\d{2}-\d{2}/,po=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,mo=/^[0-9a-f]{20,}$/i,ho=new Set([`secret`,`token`,`nonce`,`signature`,`etag`,`checksum`]);function go(e){let t=e.filter(e=>e!=null);if(t.length===0)return`unknown`;let n=t[0];return typeof n==`boolean`?`boolean`:typeof n==`number`?`number`:typeof n==`string`?fo.test(n)?`date`:`string`:`unknown`}function _o(e,t){if(ho.has(e.toLowerCase()))return!0;let n=t.filter(e=>e!=null);if(n.length===0||typeof n[0]!=`string`)return!1;let r=n.slice(0,20);return r.filter(e=>po.test(e)||mo.test(e)).length>r.length*.5}function vo(e,t){return e>1&&e<=Math.min(100,t*.8)}function yo(e){return e<=1}function bo(e){return e.replace(/_/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function xo(e,t={}){if(e.length===0)return{registry:{},sortDefinitions:[],searchFields:()=>[]};let n=e[0],r=Object.keys(n),i=e.length,a=r.filter(e=>e===`id`?!1:t.include?t.include.includes(e):t.exclude?!t.exclude.includes(e):!0),o={},s=[],c=[];for(let t of a){let n=e.map(e=>e[t]);if(_o(t,n))continue;let r=go(n),a=bo(t),l=t;switch(r){case`string`:{let e=new Set;for(let t of n)typeof t==`string`&&t&&e.add(t);if(yo(e.size))break;if(e.size===i){c.push(t);break}c.push(t),vo(e.size,i)&&(o[t]=so({id:t,label:`${a} [auto]`,urlParam:l,options:{source:`items`,derive:e=>{let n=new Map;for(let r of e){let e=r[t];typeof e==`string`&&e&&n.set(e,(n.get(e)??0)+1)}return Array.from(n.entries()).sort(([,e],[,t])=>t-e).map(([e,t])=>({value:e,label:`${e} (${t})`}))}},match:(e,n)=>lo(e[t],n)})),s.push({value:`${t}-asc`,label:`${a} A to Z`,category:a,compare:(e,n)=>String(e[t]??``).localeCompare(String(n[t]??``))},{value:`${t}-desc`,label:`${a} Z to A`,category:a,compare:(e,n)=>String(n[t]??``).localeCompare(String(e[t]??``))});break}case`number`:{let e=new Set;for(let t of n)typeof t==`number`&&e.add(t);if(yo(e.size))break;o[t]=co({id:t,label:`${a} [auto]`,urlParamMin:`${t}Min`,urlParamMax:`${t}Max`,match:(e,n)=>{let r=e[t];return r==null?!0:!(n.min!==void 0&&r<n.min||n.max!==void 0&&r>n.max)}}),s.push({value:`${t}-high`,label:`Most ${a.toLowerCase()} first`,category:a,compare:(e,n)=>(n[t]??-1/0)-(e[t]??-1/0)},{value:`${t}-low`,label:`Fewest ${a.toLowerCase()} first`,category:a,compare:(e,n)=>(e[t]??1/0)-(n[t]??1/0)});break}case`boolean`:{let e=n.filter(e=>e===!0).length,r=n.filter(e=>e===!1).length;if(e===0||r===0)break;o[t]=so({id:t,label:`${a} [auto]`,urlParam:l,options:{source:`static`,values:[{value:`true`,label:`Yes`},{value:`false`,label:`No`}]},match:(e,n)=>lo(String(e[t]??!1),n)});break}case`date`:{let e=new Set;for(let t of n)typeof t==`string`&&t&&e.add(t);if(yo(e.size))break;s.push({value:`${t}-newest`,label:`${a} newest first`,category:a,compare:(e,n)=>new Date(n[t]??0).getTime()-new Date(e[t]??0).getTime()},{value:`${t}-oldest`,label:`${a} oldest first`,category:a,compare:(e,n)=>new Date(e[t]??0).getTime()-new Date(n[t]??0).getTime()});break}}}return{registry:o,sortDefinitions:s,searchFields:e=>c.map(t=>e[t]).filter(e=>typeof e==`string`)}}function So(e,t,n,r){let i={...e.registry};for(let[e,n]of Object.entries(t))n&&(i[e]=n);let a=new Set((n??[]).map(e=>e.value)),o=new Set((n??[]).map(e=>e.category)),s=e.sortDefinitions.filter(e=>!a.has(e.value)&&!o.has(e.category));return{registry:i,sortDefinitions:[...n??[],...s],searchFields:r??e.searchFields}}function Co({score:e}){return e==null?(0,X.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`}):(0,X.jsx)(W,{variant:e>=7?`default`:e>=4?`secondary`:`destructive`,className:`tabular-nums`,children:e.toFixed(1)})}function wo({value:e}){return e?(0,X.jsx)(`span`,{className:`flex gap-0.5`,children:Array.from({length:5},(t,n)=>(0,X.jsx)(H,{className:`h-3 w-3 ${n<e?`fill-primary text-primary`:`text-muted-foreground/20`}`},n))}):null}function To(e){if(!e)return``;let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/864e5);if(n<1)return`today`;if(n<30)return`${n}d ago`;let r=Math.floor(n/30);return r<12?`${r}mo ago`:`${Math.floor(r/12)}y ago`}function Eo({renderActions:e,selectable:t=!1,onPreview:n}={}){let r=[...t?[Pa()]:[],...n?[{id:`preview`,header:``,cell:({row:e})=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>n(e.original),className:`p-1 rounded text-muted-foreground/50 hover:text-primary transition-colors`,"aria-label":`Preview details`,children:(0,X.jsx)(Ut,{className:`h-4 w-4`})}),enableHiding:!1}]:[],{accessorKey:`full_name`,header:`Repository`,size:280,cell:({row:e})=>(0,X.jsxs)(`div`,{className:`max-w-[280px]`,children:[(0,X.jsx)(`a`,{href:e.original.url,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground hover:underline truncate block`,children:e.original.full_name}),e.original.description&&(0,X.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:e.original.description})]})},{accessorKey:`language`,header:`Language`},{accessorKey:`stars`,header:`Stars`,cell:({row:e})=>(0,X.jsx)(`span`,{className:`tabular-nums`,children:e.original.stars.toLocaleString()})},{accessorKey:`forks`,header:`Forks`,cell:({row:e})=>(0,X.jsx)(`span`,{className:`tabular-nums`,children:e.original.forks.toLocaleString()})},{accessorKey:`health_score`,header:`Health`,cell:({row:e})=>(0,X.jsx)(Co,{score:e.original.health_score})},{accessorKey:`usefulness_rating`,header:`Rating`,cell:({row:e})=>(0,X.jsx)(wo,{value:e.original.usefulness_rating})},{accessorKey:`starred_at`,header:`Starred`,cell:({row:e})=>(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:To(e.original.starred_at)})},{accessorKey:`pushed_at`,header:`Last Push`,cell:({row:e})=>(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:To(e.original.pushed_at)})},{accessorKey:`topics`,header:`Topics`,size:180,cell:({row:e})=>{let t=e.original.topics?.split(`,`).filter(Boolean)??[];return t.length===0?null:(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-1 max-w-[180px]`,children:[t.slice(0,2).map(e=>(0,X.jsx)(W,{variant:`outline`,className:`text-xs`,children:e.trim()},e)),t.length>2&&(0,X.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`+`,t.length-2]})]})}},{accessorKey:`is_archived`,header:`Status`,cell:({row:e})=>e.original.is_archived?(0,X.jsx)(W,{variant:`secondary`,children:`Archived`}):null}];return e&&r.push({id:`actions`,header:``,cell:({row:t})=>e(t.original)}),r}function Do({selectedRepos:e,lists:t,listItems:n,listId:r,clearSelection:i}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Oo,{selectedRepos:e,lists:t,listItems:n,clearSelection:i}),r&&(0,X.jsx)(Ao,{selectedRepos:e,listId:r,listItems:n,clearSelection:i}),(0,X.jsx)(ko,{selectedRepos:e,clearSelection:i}),(0,X.jsx)(jo,{selectedRepos:e,clearSelection:i})]})}function Oo({selectedRepos:e,lists:n,listItems:r,clearSelection:i}){async function a(n){let a=new Set(r.filter(e=>e.list_id===n.id).map(e=>e.repo_id)),o=e.filter(e=>!a.has(e.id));for(let e of o)t.insert({id:crypto.randomUUID(),list_id:n.id,repo_id:e.id,position:0,added_at:new Date().toISOString()});i()}return n.length===0?null:(0,X.jsxs)(Tr,{children:[(0,X.jsxs)(Er,{render:(0,X.jsx)(Mo,{"aria-label":`Add to list`,title:`Add to list`}),children:[(0,X.jsx)(Yt,{}),(0,X.jsx)(`span`,{className:`hidden sm:inline`,children:`Add to list`})]}),(0,X.jsx)(Dr,{side:`top`,align:`center`,sideOffset:10,className:`w-auto min-w-48`,children:n.map(e=>(0,X.jsx)(Mr,{onClick:()=>a(e),children:e.name},e.id))})]})}function ko({selectedRepos:e,clearSelection:t}){function n(n){for(let t of e)a.update(t.id,e=>{e.usefulness_rating=n});t()}return(0,X.jsxs)(Tr,{children:[(0,X.jsxs)(Er,{render:(0,X.jsx)(Mo,{"aria-label":`Rate`,title:`Rate`}),children:[(0,X.jsx)(H,{}),(0,X.jsx)(`span`,{className:`hidden sm:inline`,children:`Rate`})]}),(0,X.jsxs)(Dr,{side:`top`,align:`center`,sideOffset:10,className:`w-auto min-w-48`,children:[[1,2,3,4,5].map(e=>(0,X.jsxs)(Mr,{onClick:()=>n(e),children:[`★`.repeat(e),`☆`.repeat(5-e)]},e)),(0,X.jsx)(Nr,{}),(0,X.jsx)(Mr,{onClick:()=>n(null),children:`Clear rating`})]})]})}function Ao({selectedRepos:e,listId:n,listItems:r,clearSelection:i}){function a(){for(let i of e){let e=r.find(e=>e.repo_id===i.id&&e.list_id===n);e&&t.delete(e.id)}i()}return(0,X.jsxs)(Mo,{"aria-label":`Remove from list`,title:`Remove from list`,onClick:a,children:[(0,X.jsx)(Jt,{}),(0,X.jsx)(`span`,{className:`hidden sm:inline`,children:`Remove`})]})}function jo({selectedRepos:e,clearSelection:t}){async function n(){let n=e.length;if(Fr(`Unstar ${n} ${n===1?`repo`:`repos`} on GitHub?`)){for(let t of e)a.delete(t.id);t()}}return(0,X.jsxs)(Mo,{"aria-label":`Unstar`,title:`Unstar`,className:`text-destructive hover:text-destructive`,onClick:n,children:[(0,X.jsx)($t,{}),(0,X.jsx)(`span`,{className:`hidden sm:inline`,children:`Unstar`})]})}function Mo({className:e,...t}){return(0,X.jsx)(S,{variant:`ghost`,className:g(`h-10 min-w-10 gap-1.5 px-2.5 sm:px-3`,e),...t})}var No=new Intl.NumberFormat(void 0,{notation:`compact`,maximumFractionDigits:1});function Po(e){return e>=7?`bg-primary`:e>=4?`bg-(--chart-amber)`:`bg-destructive`}function Fo({repo:e,state:t,actions:n}){let[r,i]=e.full_name.split(`/`),a=[e.language,e.is_archived?`Archived`:null].filter(Boolean);return(0,X.jsxs)(`div`,{className:`flex items-start gap-3 py-3 pr-1 pl-4`,children:[(0,X.jsx)(`span`,{className:`pt-0.5`,onClick:e=>e.stopPropagation(),children:(0,X.jsx)(On,{checked:t.selected,onCheckedChange:t.toggleSelected,"aria-label":`Select ${e.full_name}`,className:`size-5 rounded-md after:-inset-3`})}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`p`,{className:`truncate leading-snug`,children:[(0,X.jsxs)(`span`,{className:`text-muted-foreground`,children:[r,`/`]}),(0,X.jsx)(`span`,{className:`font-medium`,children:i})]}),e.description&&(0,X.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-sm leading-snug text-muted-foreground`,children:e.description}),(0,X.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-3 text-xs tabular-nums text-muted-foreground`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(H,{className:`size-3`}),No.format(e.stars)]}),e.health_score!=null&&(0,X.jsxs)(`span`,{className:`flex items-center gap-1.5`,title:`Health`,children:[(0,X.jsx)(`span`,{className:g(`size-1.5 rounded-full`,Po(e.health_score))}),e.health_score.toFixed(1)]}),a.map(e=>(0,X.jsx)(`span`,{className:`truncate`,children:e},e)),!!e.usefulness_rating&&(0,X.jsxs)(`span`,{className:`flex items-center gap-0.5 text-primary`,children:[e.usefulness_rating,(0,X.jsx)(H,{className:`size-3 fill-current`})]})]})]}),n&&(0,X.jsx)(`div`,{className:g(`shrink-0 transition-opacity`,t.selecting&&`pointer-events-none opacity-0`),onClick:e=>e.stopPropagation(),children:n})]})}function Io(e){return e.topics?.split(`,`).map(e=>e.trim()).filter(Boolean)??[]}function Lo(e){let t=new Map,n=[];for(let r of e){let e=Io(r);if(e.length===0)n.push(r);else{let n=t.get(e[0])??[];n.push(r),t.set(e[0],n)}}let r=Array.from(t.entries()).sort(([,e],[,t])=>t.length-e.length).map(([e,t])=>({groupId:e,label:e,items:t}));return n.length>0&&r.push({groupId:`untagged`,label:`No topics`,items:n}),r}function Ro(e){let t=new Map,n=[];for(let r of e)if(r.language){let e=t.get(r.language)??[];e.push(r),t.set(r.language,e)}else n.push(r);let r=Array.from(t.entries()).sort(([,e],[,t])=>t.length-e.length).map(([e,t])=>({groupId:e,label:e,items:t}));return n.length>0&&r.push({groupId:`unknown`,label:`Unknown`,items:n}),r}var zo=`none`;function Bo(e,t){let n=t.listIdsByRepo.get(e.id)??[];return n.length>0?n:[zo]}function Vo(e){let t=new Map(e.lists.map(e=>[e.id,e.name]));return n=>{let r=new Map;for(let t of n){let n=Bo(t,e)[0],i=r.get(n)??[];i.push(t),r.set(n,i)}let i=r.get(zo);r.delete(zo);let a=Array.from(r.entries()).sort(([,e],[,t])=>t.length-e.length).map(([e,n])=>({groupId:e,label:t.get(e)??e,items:n}));return i&&a.unshift({groupId:zo,label:`Not in any list`,items:i}),a}}function Ho(e,t){return So(xo(e,{exclude:[`id`,`github_id`,`node_id`,`url`,`homepage`,`imported_at`,`health_data`,`health_refreshed_at`]}),{language:so({id:`language`,label:`Language`,urlParam:`language`,options:{source:`items`,derive:e=>{let t=new Map;for(let n of e)n.language&&t.set(n.language,(t.get(n.language)??0)+1);return Array.from(t.entries()).sort(([,e],[,t])=>t-e).map(([e,t])=>({value:e,label:`${e} (${t})`}))}},match:(e,t)=>lo(e.language,t),groupBy:{grouper:Ro}}),is_archived:so({id:`is_archived`,label:`Archived`,urlParam:`archived`,options:{source:`static`,values:[{value:`true`,label:`Archived`},{value:`false`,label:`Active`}]},defaultValue:{mode:`include`,values:[`false`]},match:(e,t)=>lo(String(e.is_archived),t)}),topics:so({id:`topics`,label:`Topics`,urlParam:`topics`,options:{source:`items`,derive:e=>{let t=new Map;for(let n of e)for(let e of Io(n))t.set(e,(t.get(e)??0)+1);return Array.from(t.entries()).sort(([,e],[,t])=>t-e).map(([e,t])=>({value:e,label:`${e} (${t})`}))}},match:(e,t)=>uo(Io(e),t),groupBy:{grouper:Lo}}),...t?{lists:so({id:`lists`,label:`List`,urlParam:`lists`,options:{source:`items`,derive:e=>{let n=new Map;for(let r of e)for(let e of Bo(r,t))n.set(e,(n.get(e)??0)+1);return[{value:zo,label:`Not in any list (${n.get(`none`)??0})`},...t.lists.map(e=>({list:e,count:n.get(e.id)??0})).sort((e,t)=>t.count-e.count).map(({list:e,count:t})=>({value:e.id,label:`${e.name} (${t})`}))]}},match:(e,n)=>uo(Bo(e,t),n),groupBy:{grouper:Vo(t)}})}:{}})}var Uo=Ho([]);Uo.registry,Uo.sortDefinitions;var Wo=`stars-high`,Go=`none`;function Ko(e){return[e.full_name,e.description??``,e.language??``,e.topics??``,e.owner,e.notes??``]}export{$t as C,en as S,zt as T,Tr as _,Fo as a,Er as b,eo as c,ka as d,Aa as f,Ir as g,Wr as h,Ko as i,Ia as l,Kr as m,Wo as n,Do as o,Zr as p,Ho as r,Eo as s,Go as t,Da as u,Dr as v,Yt as w,On as x,Or as y};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/routes-CXgqVl-F.js","assets/button-C0MQwO-R.js","assets/sync-persistence-f8LlQoHO.js","assets/registry-DZ4hp3Pl.js","assets/schemas-B0gCwksU.js","assets/coerce-D595RIhb.js","assets/badge-DWmLT6OI.js","assets/star-BoN7NVgv.js","assets/local-backups-BGSAd5Gu.js","assets/local-sync-Dd3hEb9I.js","assets/triangle-alert-Cgw2r-Xm.js"])))=>i.map(i=>d[i]);
2
+ import{G as e,R as t}from"./button-C0MQwO-R.js";import{O as n,k as r,t as i}from"./coerce-D595RIhb.js";import{c as a,s as o}from"./schemas-B0gCwksU.js";var s=t(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),c=t(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),l=()=>e(()=>import(`./routes-CXgqVl-F.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),u=o({sort:a().optional(),group:a().optional(),search:a().optional(),page:i().optional(),language:a().optional(),archived:a().optional(),healthMin:i().optional(),healthMax:i().optional(),starsMin:i().optional(),starsMax:i().optional(),topics:a().optional(),lists:a().optional()}),d=r(`/`)({component:n(l,`component`),validateSearch:u});export{c as n,s as r,d as t};
@@ -0,0 +1,3 @@
1
+ import{B as e,H as t,J as n,K as r,R as i,V as a,W as o,it as s,n as c,nt as l,q as u,st as d,t as f,z as p}from"./button-C0MQwO-R.js";import{S as m,i as h,n as g,r as _}from"./coerce-D595RIhb.js";import{n as v}from"./star-BoN7NVgv.js";import{C as y,T as b,_ as ee,a as te,b as ne,c as re,d as ie,f as ae,g as x,i as oe,l as se,m as ce,n as S,o as le,p as ue,r as de,s as fe,t as C,u as w,v as pe,w as T,x as E,y as D}from"./registry-DZ4hp3Pl.js";import{d as O,f as k,l as A,o as j,p as me,s as M,t as N,u as he}from"./local-backups-BGSAd5Gu.js";import{t as ge}from"./badge-DWmLT6OI.js";import{n as P,r as F,t as I}from"./routes-C8TmhzRl.js";import{t as L}from"./triangle-alert-Cgw2r-Xm.js";import{c as R,o as _e,r as z,s as B}from"./schemas-B0gCwksU.js";import{n as ve,t as V}from"./local-sync-Dd3hEb9I.js";var ye=i(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),H=i(`sticky-note`,[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`,key:`1dfntj`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`,key:`6s6qgf`}]]),U=d(s(),1);function be(e,t){return{lists:e.map(e=>({id:e.id,github_list_id:e.id,name:e.name,description:e.description,is_private:!1,created_at:e.createdAt,updated_at:e.updatedAt})),list_items:e.flatMap(e=>e.repoGithubIds.flatMap((n,r)=>{let i=t.get(n);return i?[{id:`${e.id}:${i}`,list_id:e.id,repo_id:i,position:r,added_at:e.updatedAt}]:[]}))}}var xe=5;async function Se(e){try{let t=await fetch(`/api/lists?user=${encodeURIComponent(e)}`);return t.ok?(await t.json()).lists:null}catch{return null}}async function Ce(n,r){let i=Se(n),o=[];for(let e=1;e<=xe;e++){let t=await fetch(`https://api.github.com/users/${encodeURIComponent(n)}/starred?per_page=100&page=${e}`,{headers:{Accept:`application/vnd.github.star+json`}});if(t.status===404)throw Error(`No GitHub user called ${n}.`);if(t.status===403||t.status===429)throw Error(`GitHub's limit for signed-out requests is 60 an hour. Try again later, or self-host it.`);if(!t.ok)throw Error(`GitHub returned ${t.status}.`);let i=await t.json();if(o.push(...i),r(`Read ${o.length} stars...`),i.length<100)break}if(o.length===0)throw Error(`${n} hasn't starred anything public.`);let s=new Date().toISOString(),c=o.map(({starred_at:e,repo:t})=>({id:String(t.id),github_id:t.id,node_id:t.node_id,name:t.name,full_name:t.full_name,owner:t.owner.login,description:t.description,url:t.html_url,homepage:t.homepage||null,language:t.language,stars:t.stargazers_count,forks:t.forks_count,topics:t.topics?.length?t.topics.join(`,`):null,starred_at:e,notes:null,usefulness_rating:null,imported_at:s,health_score:null,health_data:null,health_refreshed_at:null,is_archived:t.archived,pushed_at:t.pushed_at,created_at:t.created_at}));for(let n of[t,e,p,a]){let e=[...n.keys()];e.length>0&&n.delete(e)}a.insert(c),r(`Reading Lists...`);let l=await i;if(l===null)return{stars:c.length,lists:`unavailable`};let u=be(l,new Map(c.map(e=>[e.github_id,e.id])));return u.lists.length>0&&p.insert(u.lists),u.list_items.length>0&&e.insert(u.list_items),{stars:c.length,lists:u.lists.length}}var W=l();function we(){let[e,t]=(0,U.useState)(``),[r,i]=(0,U.useState)(n),[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(``);async function l(){let n=e.trim().replace(/^@/,``);if(n){o(!0),c(`Reading stars...`);try{let e=await Ce(n,c);i(n),t(``),c(e.lists===`unavailable`?`${e.stars} recent stars from @${n}. Couldn't read their Lists.`:`${e.stars} recent stars and ${e.lists} Lists from @${n}.`)}catch(e){c(e instanceof Error?e.message:`Couldn't read those stars.`)}finally{o(!1)}}}return(0,W.jsxs)(`div`,{className:`flex flex-col gap-1.5 sm:items-end`,children:[(0,W.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),l()},className:`flex w-full items-center gap-2 sm:w-auto`,children:[(0,W.jsx)(m,{value:e,onChange:e=>t(e.target.value),placeholder:`Any GitHub username`,"aria-label":`GitHub username`,autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:`go`,className:`h-10 min-w-0 flex-1 sm:h-9 sm:w-48 sm:flex-none`}),(0,W.jsx)(f,{type:`submit`,className:`h-10 sm:h-9`,disabled:a||!e.trim(),children:a?`Loading...`:`Load`})]}),(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:s||(r?`Showing @${r}`:``)})]})}var Te=z(B({repo_id:_e().int(),notes:R().nullish(),tags:z(B({name:R()})).default([])})),G=class extends Error{};function Ee(e){let t=Te.safeParse(e);if(!t.success)throw new G(`This file isn't an Astral export. In Astral, open Settings and press Export to get one.`);if(t.data.length===0)throw new G(`This Astral export is empty. Astral only exports stars that have a tag or a note.`);return t.data}var De=`Astral tags: `;function Oe(e){let t=e.tags.map(e=>e.name.trim()).filter(Boolean);return[...new Map(t.map(e=>[e.toLowerCase(),e])).values()]}function ke(e,t){let n=e?.trim()??``,r=t.filter(e=>e&&!n.includes(e));return r.length===0?null:[n,...r].filter(Boolean).join(`
2
+
3
+ `)}function K(e,t,n){let r=new Map(t.repos.map(e=>[e.github_id,e])),i=new Map(t.lists.map(e=>[e.name.toLowerCase(),e])),a=new Set(t.list_items.map(e=>`${e.list_id}:${e.repo_id}`)),o=new Set([...n].map(e=>e.toLowerCase())),s=new Map,c=[],l=0;for(let t of e){let e=r.get(t.repo_id);if(!e){l++;continue}let n=Oe(t);for(let t of n){let n=t.toLowerCase(),r=s.get(n);r||(r={name:t,existingList:i.get(n)??null,toAdd:[],starred:0},s.set(n,r)),r.starred++,(!r.existingList||!a.has(`${r.existingList.id}:${e.id}`))&&r.toAdd.push(e)}let u=n.filter(e=>!o.has(e.toLowerCase())),d=ke(e.notes,[t.notes?.trim()??``,u.length?`${De}${u.join(`, `)}`:``]);d!==null&&c.push({repo:e,notes:d})}return{tags:[...s.values()].sort((e,t)=>t.starred-e.starred||e.name.localeCompare(t.name)),notes:c,notStarred:l,listSlots:Math.max(0,32-t.lists.length)}}function Ae(e){let t=new Set,n=e.listSlots;for(let r of e.tags)r.existingList?t.add(r.name):n>0&&(t.add(r.name),n--);return t}function q(e,t){return e.tags.filter(e=>t.has(e.name)&&!e.existingList).length}function J(e){return e instanceof Error?e.message:String(e)}async function je(e,t,n,r=()=>{}){let i=e.tags.filter(e=>t.has(e.name)),a=i.reduce((e,t)=>e+t.toAdd.length+ +!t.existingList,0)+e.notes.length,o={listsCreated:0,added:0,notes:0,failed:[]},s=0,c=()=>r({done:++s,total:a});for(let e of i){let t=e.existingList;if(!t){try{t=await n.createList(e.name),o.listsCreated++}catch(t){o.failed.push({what:`List "${e.name}"`,reason:J(t)})}c()}for(let r of e.toAdd){if(t)try{await n.addToList(t,r),o.added++}catch(t){o.failed.push({what:`${r.full_name} in "${e.name}"`,reason:J(t)})}c()}}for(let t of e.notes){try{await n.setNotes(t.repo,t.notes),o.notes++}catch(e){o.failed.push({what:`Notes on ${t.repo.full_name}`,reason:J(e)})}c()}return o}var Me={createList:async e=>{let{githubListId:t}=await r.createList({name:e,description:null}),n=new Date().toISOString();return{id:t,github_list_id:t,name:e,description:null,is_private:!1,created_at:n,updated_at:n}},addToList:async(e,t)=>{if(!t.node_id||!e.github_list_id)throw Error(`Import your stars again first.`);await r.changeMembership({repoNodeId:t.node_id,repoGithubId:t.github_id,githubListId:e.github_list_id,change:`add`})},setNotes:(e,t)=>o(()=>a.update(e.id,e=>{e.notes=t}))};async function Ne(){await N()}async function Y(){await V()}function X(e){return e instanceof Error?e.message:String(e)}function Z({label:e,children:t}){return(0,W.jsxs)(g,{children:[(0,W.jsx)(h,{openOnHover:!0,delay:150,render:(0,W.jsx)(`button`,{type:`button`,"aria-label":e,className:`inline-flex text-muted-foreground hover:text-foreground`}),children:(0,W.jsx)(F,{className:`size-4`})}),(0,W.jsx)(_,{className:`w-64 p-3 text-sm`,children:t})]})}function Q({icon:e,count:t,label:n,className:r}){return(0,W.jsxs)(`span`,{title:n,"aria-label":`${t} ${n}`,className:c(`inline-flex items-center gap-1 tabular-nums [&>svg]:size-4`,r),children:[e,t]})}function Pe({stored:e,onClose:t}){let[n,r]=(0,U.useState)({step:`pick`}),i=(0,U.useRef)(null),a=(0,U.useRef)(null);async function o(t){if(t)try{let n=Ee(JSON.parse(await t.text()));r({step:`review`,stars:n,asLists:Ae(K(n,e,new Set))})}catch(e){r({step:`failed`,message:e instanceof SyntaxError?`${t.name} isn't a JSON file.`:X(e)})}}async function s(t,n){let i=K(t,e,n);r({step:`applying`,done:0,total:0});try{await Ne();let e=await je(i,n,Me,({done:e,total:t})=>r({step:`applying`,done:e,total:t}));await Y(),r({step:`done`,result:e})}catch(e){r({step:`failed`,message:X(e)})}}return(0,W.jsx)(j,{open:!0,onOpenChange:e=>{!e&&n.step!==`applying`&&t()},children:(0,W.jsxs)(M,{initialFocus:a,children:[(0,W.jsx)(he,{children:(0,W.jsxs)(O,{className:`flex items-center gap-2`,children:[`Import from Astral`,(0,W.jsx)(Z,{label:`How the import works`,children:`Each tag becomes a GitHub List. Astral notes go below your own. Tags you uncheck are saved in each repo's notes instead. Nothing changes until you press Import.`})]})}),n.step===`pick`&&(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`input`,{ref:i,type:`file`,accept:`application/json,.json`,className:`hidden`,onChange:e=>{o(e.target.files?.[0]),e.target.value=``}}),(0,W.jsxs)(f,{ref:a,variant:`outline`,onClick:()=>i.current?.click(),children:[(0,W.jsx)(k,{className:`mr-1.5 size-4`}),`Choose export`]}),(0,W.jsx)(Z,{label:`Where to get the export`,children:`In Astral, open Settings and press Export.`})]}),n.step===`review`&&(0,W.jsx)(Ie,{stars:n.stars,stored:e,asLists:n.asLists,onChange:e=>r({...n,asLists:e})}),n.step===`applying`&&(0,W.jsx)(Le,{done:n.done,total:n.total}),n.step===`done`&&(0,W.jsx)(Re,{result:n.result}),n.step===`failed`&&(0,W.jsx)(`p`,{className:`text-sm text-destructive`,children:n.message}),n.step!==`pick`&&n.step!==`applying`&&(0,W.jsxs)(A,{children:[n.step===`review`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(f,{variant:`ghost`,onClick:t,children:`Cancel`}),(0,W.jsx)(f,{onClick:()=>void s(n.stars,n.asLists),disabled:!Fe(n.stars,e,n.asLists),children:`Import`})]}),(n.step===`done`||n.step===`failed`)&&(0,W.jsx)(f,{onClick:t,children:`Close`})]})]})})}function Fe(e,t,n){let r=K(e,t,n);return r.notes.length+r.tags.filter(e=>n.has(e.name)&&e.toAdd.length>0).length>0&&q(r,n)<=r.listSlots}function Ie({stars:e,stored:t,asLists:n,onChange:r}){let i=K(e,t,n),a=q(i,n),o=a>i.listSlots;function s(e,t){let i=new Set(n);t?i.add(e):i.delete(e),r(i)}return(0,W.jsxs)(`div`,{className:`space-y-3 text-sm`,children:[i.tags.length>0&&(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`span`,{className:`font-medium`,children:`Lists`}),(0,W.jsxs)(`span`,{className:c(`flex items-center gap-1.5 text-xs tabular-nums text-muted-foreground`,o&&`text-destructive`),children:[a,`/`,i.listSlots,` new`,(0,W.jsxs)(Z,{label:`GitHub's List limit`,children:[`GitHub allows `,32,` Lists, and you have room for `,i.listSlots,` more. A tag matching a List you have adds to it instead.`]})]})]}),(0,W.jsx)(`ul`,{className:`max-h-64 space-y-1 overflow-y-auto rounded-md border border-border p-2`,children:i.tags.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(E,{checked:n.has(e.name),onCheckedChange:t=>s(e.name,t===!0)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),!e.existingList&&(0,W.jsx)(ge,{variant:`outline`,children:`new`}),e.toAdd.length>0?(0,W.jsx)(Q,{icon:(0,W.jsx)(P,{}),count:e.toAdd.length,label:`repos to add`,className:`text-xs text-muted-foreground`}):(0,W.jsx)(`span`,{title:`Already in your List`,"aria-label":`Already in your List`,children:(0,W.jsx)(b,{className:`size-4 text-muted-foreground`})})]})},e.name))})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-4 text-muted-foreground`,children:[i.notes.length>0&&(0,W.jsx)(Q,{icon:(0,W.jsx)(H,{}),count:i.notes.length,label:`repos getting notes`}),i.notStarred>0&&(0,W.jsx)(Q,{icon:(0,W.jsx)(y,{}),count:i.notStarred,label:`not starred any more, skipped`})]})]})}function Le({done:e,total:t}){return(0,W.jsxs)(`div`,{className:`space-y-1.5`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":t,"aria-valuenow":e,"aria-label":`Writing to GitHub`,children:[(0,W.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,W.jsx)(`div`,{className:`h-full bg-primary transition-[width]`,style:{width:`${t>0?Math.round(e/t*100):0}%`}})}),(0,W.jsxs)(`p`,{className:`text-xs tabular-nums text-muted-foreground`,children:[e,`/`,t]})]})}function Re({result:e}){return(0,W.jsxs)(`div`,{className:`space-y-2 text-sm`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,W.jsx)(Q,{icon:(0,W.jsx)(T,{}),count:e.listsCreated,label:`Lists created`}),(0,W.jsx)(Q,{icon:(0,W.jsx)(P,{}),count:e.added,label:`repos added to Lists`}),(0,W.jsx)(Q,{icon:(0,W.jsx)(H,{}),count:e.notes,label:`repos given notes`})]}),e.failed.length>0&&(0,W.jsxs)(`details`,{className:`rounded-md border border-destructive/40 p-2 text-destructive`,children:[(0,W.jsxs)(`summary`,{className:`flex cursor-pointer items-center gap-1.5`,children:[(0,W.jsx)(L,{className:`size-4`}),e.failed.length,` failed`]}),(0,W.jsx)(`ul`,{className:`mt-1 max-h-40 space-y-0.5 overflow-y-auto text-xs`,children:e.failed.map(e=>(0,W.jsxs)(`li`,{children:[e.what,`: `,e.reason]},e.what))})]})]})}var $=!1;async function ze(e){e(`Reading your stars and Lists from GitHub...`);let{stars:t,lists:n}=await V(),r=`Read ${t} stars and ${n} lists.`;e(r);let i=await ve(`missing`,({scored:t,total:n})=>e(`${r} Scoring health ${t}/${n}...`));i.total>0&&e(`${r} Scored ${i.scored} repos.`)}function Be(){let t=I.useNavigate(),n=I.useSearch(),{data:r}=v(e=>e.from({repoCollection:a}).select(({repoCollection:e})=>e)),{data:i}=v(e=>e.from({listCollection:p}).select(({listCollection:e})=>e)),{data:o}=v(t=>t.from({listItemCollection:e}).select(({listItemCollection:e})=>e)),[s,c]=(0,U.useState)(!1),[l,d]=(0,U.useState)(!1),[m,h]=(0,U.useState)(``),[g,_]=(0,U.useState)(null),y=ce(),b=r??[],T=(0,U.useMemo)(()=>{let e=new Map;for(let t of o??[]){let n=e.get(t.repo_id)??[];n.push(t.list_id),e.set(t.repo_id,n)}return e},[o]),{registry:E,sortDefinitions:O}=(0,U.useMemo)(()=>de(b,{lists:i??[],listIdsByRepo:T}),[b,i,T]),k=(0,U.useMemo)(()=>ie(n,E,S,C),[n,E]),A=(0,U.useCallback)(e=>{t({search:ae(e,E,S,C),replace:!0})},[t,E]);async function j(){c(!0);try{await ze(h)}catch(e){h(`Error: ${e instanceof Error?e.message:`Unknown`}`)}finally{c(!1)}}(0,U.useEffect)(()=>{$||($=!0,j())},[]);let M=(0,U.useCallback)(e=>(0,W.jsxs)(x,{repo:e,children:[(0,W.jsx)(x.AddToList,{repo:e,lists:i??[],listItems:o??[]}),(0,W.jsx)(x.Rate,{repo:e}),(0,W.jsx)(x.Separator,{}),(0,W.jsx)(x.OpenOnGithub,{url:e.url}),(0,W.jsx)(x.CopyUrl,{url:e.url}),(0,W.jsx)(x.Separator,{}),(0,W.jsx)(x.Unstar,{repo:e})]}),[i,o]),N=(0,U.useMemo)(()=>fe({selectable:!0,onPreview:e=>_(e),renderActions:M}),[M]);return(0,W.jsxs)(`div`,{className:`space-y-6`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h1`,{className:`font-display text-2xl font-bold tracking-tight sm:text-3xl`,children:`All Stars`}),(0,W.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[b.length,` starred repositories`]})]}),u?(0,W.jsx)(we,{}):(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[m&&(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:m}),(0,W.jsxs)(ee,{children:[(0,W.jsxs)(ne,{render:(0,W.jsx)(f,{disabled:s}),children:[(0,W.jsx)(me,{className:`mr-2 h-4 w-4`}),s?`Importing...`:`Import Stars`,(0,W.jsx)(ye,{className:`ml-1 h-4 w-4`})]}),(0,W.jsxs)(pe,{align:`end`,className:`w-auto min-w-48`,children:[(0,W.jsx)(D,{onClick:j,children:`From GitHub`}),(0,W.jsx)(D,{disabled:b.length===0,onClick:()=>d(!0),children:`From an Astral export`})]})]}),l&&(0,W.jsx)(Pe,{stored:{repos:b,lists:i??[],list_items:o??[]},onClose:()=>d(!1)})]})]}),(0,W.jsx)(w,{items:b,registry:E,sortDefinitions:O,defaultSort:S,defaultGroupBy:C,viewState:k,onViewStateChange:A,searchFields:oe,children:(0,W.jsx)(se,{columns:N,getRowId:e=>e.id,toolbar:(0,W.jsx)(re,{}),onRowClick:y?void 0:_,renderMobileRow:(e,t)=>(0,W.jsx)(te,{repo:e,state:t,actions:M(e)}),renderBulkActions:(e,t)=>(0,W.jsx)(le,{selectedRepos:e,lists:i??[],listItems:o??[],clearSelection:t})})}),(0,W.jsx)(ue,{repo:g,lists:i??[],listItems:o??[],open:g!==null,onOpenChange:e=>{e||_(null)}})]})}export{Be as component};