@ghfs/cli 0.2.1 → 0.2.3

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 (59) hide show
  1. package/README.md +27 -0
  2. package/dist/cli.mjs +468 -45
  3. package/dist/{factory-UMSInaa_.mjs → factory-p7K86ig1.mjs} +145 -2
  4. package/dist/index.d.mts +66 -0
  5. package/dist/index.mjs +1 -1
  6. package/dist/ui/200.html +1 -1
  7. package/dist/ui/404.html +1 -1
  8. package/dist/ui/_nuxt/B0TbUr4-.js +1 -0
  9. package/dist/ui/_nuxt/B22m6lGO.js +1 -0
  10. package/dist/ui/_nuxt/B285sO4n.js +1 -0
  11. package/dist/ui/_nuxt/BKeWYFwB.js +1 -0
  12. package/dist/ui/_nuxt/C3qHPz2x.js +11 -0
  13. package/dist/ui/_nuxt/{C8o6ovMK.js → COKSWHV2.js} +1 -1
  14. package/dist/ui/_nuxt/CZG_sboh.js +1 -0
  15. package/dist/ui/_nuxt/CxFuatvT.js +64 -0
  16. package/dist/ui/_nuxt/D6OOFWTr.js +1 -0
  17. package/dist/ui/_nuxt/{BqmRGtwl.js → D8shZTBd.js} +1 -1
  18. package/dist/ui/_nuxt/{1bK2R2pL.js → DNX9zRCQ.js} +1 -1
  19. package/dist/ui/_nuxt/DXu5T2B5.js +15 -0
  20. package/dist/ui/_nuxt/{BKH9P1wN.js → EicHfoe9.js} +1 -1
  21. package/dist/ui/_nuxt/MnK0Tdwj.js +8 -0
  22. package/dist/ui/_nuxt/Project.ua0Af7kd.css +1 -0
  23. package/dist/ui/_nuxt/TcANp6PW.js +1 -0
  24. package/dist/ui/_nuxt/{DK734mxh.js → _TxKSTp6.js} +1 -1
  25. package/dist/ui/_nuxt/brA7auAl.js +1 -0
  26. package/dist/ui/_nuxt/builds/latest.json +1 -1
  27. package/dist/ui/_nuxt/builds/meta/d40c8be2-bdb7-4195-9ef3-a2f26238eb3f.json +1 -0
  28. package/dist/ui/_nuxt/cards.BNaTRoqd.css +1 -0
  29. package/dist/ui/_nuxt/entry.oX7K7W6S.css +1 -0
  30. package/dist/ui/_nuxt/error-404.CYxKGMun.css +1 -0
  31. package/dist/ui/_nuxt/error-500.DhFBNa35.css +1 -0
  32. package/dist/ui/_nuxt/f8zICjba.js +1 -0
  33. package/dist/ui/_nuxt/{index.C3E0NnSu.css → index.CQ-q3McJ.css} +1 -1
  34. package/dist/ui/cards/index.html +1 -1
  35. package/dist/ui/hub/index.html +1 -1
  36. package/dist/ui/hub/recent/index.html +1 -1
  37. package/dist/ui/index.html +1 -1
  38. package/dist/ui/recent/index.html +1 -1
  39. package/dist/ui/todo/index.html +1 -1
  40. package/package.json +6 -6
  41. package/dist/ui/_nuxt/BNh5okZH.js +0 -4
  42. package/dist/ui/_nuxt/BNzF7F9w.js +0 -1
  43. package/dist/ui/_nuxt/BWLewmBT.js +0 -15
  44. package/dist/ui/_nuxt/BbwaKnwL.js +0 -1
  45. package/dist/ui/_nuxt/CBU7sHLx.js +0 -1
  46. package/dist/ui/_nuxt/CQja-oog.js +0 -1
  47. package/dist/ui/_nuxt/D4R7-XZQ.js +0 -1
  48. package/dist/ui/_nuxt/D4yIuA0F.js +0 -64
  49. package/dist/ui/_nuxt/DHH7xZXJ.js +0 -11
  50. package/dist/ui/_nuxt/DVC3GhaL.js +0 -1
  51. package/dist/ui/_nuxt/DWBdeKmR.js +0 -1
  52. package/dist/ui/_nuxt/Da-Y9lY6.js +0 -1
  53. package/dist/ui/_nuxt/DeX2bcSG.js +0 -1
  54. package/dist/ui/_nuxt/Project.BMA756E4.css +0 -1
  55. package/dist/ui/_nuxt/builds/meta/f935488c-a544-4bf6-9a65-b421d02508c1.json +0 -1
  56. package/dist/ui/_nuxt/cards.DYf8w2uL.css +0 -1
  57. package/dist/ui/_nuxt/entry.COcGUqGv.css +0 -1
  58. package/dist/ui/_nuxt/error-404.CiGdHkfa.css +0 -1
  59. package/dist/ui/_nuxt/error-500.DrZuPeVU.css +0 -1
@@ -0,0 +1,8 @@
1
+ import{ac as ut,ai as dt,e as ie,p as mt,E as ke,q as ge,o,s as P,j as c,w as j,r as et,a as t,c as n,b as L,an as tt,t as r,d as z,n as W,N as ot,B as y,F as N,G as le,x as Ve,l as m,m as Z,z as xe,y as Te,ao as Le,ap as nt,X as ye,aq as pt,ar as vt,as as ve,at as de,M as $e,_ as Ke,U as Pe,au as Ee,W as ft,A as He,av as Ge,aw as Qe,ax as bt,ay as he,L as gt,az as st,aA as ht,O as Re,aB as je,I as kt,v as xt,k as _t,Y as Se,aC as wt,aD as Ue,aE as Oe,aF as yt}from"./C3qHPz2x.js";import{u as qe,b as Ce,_ as be,r as De,c as lt,l as $t,d as at,a as Ct,e as St,f as At}from"./CxFuatvT.js";const rt=Symbol("ghfs-detail-scope");function Et(u){dt(rt,u)}function Ae(){return ut(rt,null)}function qt(u,b){let w=u;return b.author&&(w=w.replaceAll("{{author}}",`@${b.author}`)),typeof b.number=="number"&&(w=w.replaceAll("{{number}}",String(b.number))),b.title&&(w=w.replaceAll("{{title}}",b.title)),w}const It={key:0,class:"px-3 py-2 border-b border-base shrink-0"},Mt={key:1,class:"px-3 py-2 border-b border-base text-xs color-muted flex items-center gap-1.5"},Tt={class:"font-mono color-base"},Rt={key:2,class:"flex items-center gap-1 px-3 py-1.5 border-b border-base shrink-0","data-testid":"comment-template-scope-filter"},Dt={class:"tabular-nums op70 text-[11px]"},Lt={key:1,class:"i-ph-git-branch-duotone text-xs"},Pt={class:"truncate max-w-32 font-mono"},jt={class:"tabular-nums op70 text-[11px]"},Ut={class:"tabular-nums op70 text-[11px]"},Ot={key:0,class:"px-4 py-8 text-center flex flex-col items-center gap-2"},Nt={key:1,class:"px-4 py-8 text-center flex flex-col items-center gap-2"},zt={key:0,class:"text-xs color-faint"},Ht={key:2,role:"listbox",class:"px-1"},Ft=["aria-selected","data-index"],Bt=["data-scope","onClick","onMouseenter"],Vt={class:"flex-1 min-w-0 flex flex-col gap-0.5"},Kt={class:"flex items-center gap-1.5 min-w-0"},Gt={key:0,class:"shrink-0 inline-flex items-center gap-1 px-1.5 py-px text-[10px] uppercase tracking-wide rounded color-muted bg-active/40","data-testid":"comment-template-global-badge"},Qt={class:"text-xs color-muted line-clamp-2 whitespace-pre-wrap"},Wt={key:0,class:"i-ph-arrow-bend-down-left-duotone color-active shrink-0 mt-0.5 text-base","aria-hidden":"true"},Yt={class:"px-3 py-1.5 border-t border-base text-[10px] color-muted flex items-center gap-2 shrink-0"},Jt=ie({__name:"DetailTemplatePicker",props:Ve({context:{},externalQuery:{},externalFocus:{type:Boolean}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Ve(["pick","cancel"],["update:open"]),setup(u,{expose:b,emit:w}){const f=u,$=w,R=mt(u,"open"),E=ye(),C=Ae(),h=m(()=>C?.projectId??E.value),a=ke(C?.projectId),i=nt(),l=m(()=>{const A=a.payload.value;return A?{id:A.projectId,repo:A.repo.repo}:null}),G=m(()=>a.payload.value?.repoTemplates?.templates??[]),S=m(()=>i.commentTemplates.value),Q=Z(null),D=Z(null),T=Z(""),U=Z(0),H=Z("all"),B=m({get(){return f.externalQuery??T.value},set(A){T.value=A}});function q(A){return qt(A,f.context??{})}const p=m(()=>[...G.value.map(A=>({scope:"repo",title:A.title,body:A.body,resolved:q(A.body)})),...S.value.map(A=>({scope:"global",title:A.title,body:A.body,resolved:q(A.body)}))]),s=m(()=>p.value.filter(A=>A.scope==="repo").length),e=m(()=>p.value.filter(A=>A.scope==="global").length),_=m(()=>s.value>0&&e.value>0),I=m(()=>{const A=B.value.trim().toLowerCase(),x=H.value==="all"?p.value:p.value.filter(d=>d.scope===H.value);return A?x.filter(d=>d.title.toLowerCase().includes(A)||d.body.toLowerCase().includes(A)||d.resolved.toLowerCase().includes(A)):x});async function g(){if(T.value="",H.value="all",U.value=0,i.templatesHydrated.value||i.loadCommentTemplates(),h.value&&a.payload.value&&a.payload.value.repoTemplates?.templates.length===0&&a.payload.value.repoTemplates.mtimeMs===null)try{const A=await xe().$call("ghfs:repo-templates",h.value);a.patchRepoTemplates(A)}catch{}await Te(),f.externalFocus||Q.value?.focus()}function V(){U.value=0}ge(I,()=>{U.value>=I.value.length&&(U.value=Math.max(0,I.value.length-1))}),ge(U,async()=>{await Te(),D.value?.querySelector(`[data-index="${U.value}"]`)?.scrollIntoView({block:"nearest"})});function Y(A){$("pick",A.resolved),R.value=!1}function ee(){I.value.length&&(U.value=(U.value+1)%I.value.length)}function ae(){I.value.length&&(U.value=(U.value-1+I.value.length)%I.value.length)}function K(){const A=I.value[U.value];return A?(Y(A),!0):!1}function O(){R.value=!1,$("cancel")}function ne(A){if(A.key==="Escape"){A.preventDefault(),O();return}if(A.key==="ArrowDown"||A.key==="j"&&!me(A)){A.preventDefault(),ee();return}if(A.key==="ArrowUp"||A.key==="k"&&!me(A)){A.preventDefault(),ae();return}if(A.key==="Tab"&&!A.shiftKey&&_.value){A.preventDefault(),ce(1);return}A.key==="Enter"&&(A.preventDefault(),K())}function ce(A){const x=["all","repo","global"],d=x.indexOf(H.value);H.value=x[(d+A+x.length)%x.length]}function me(A){return A.target?.tagName==="INPUT"}return b({toggle(){R.value=!R.value},openPicker(){R.value=!0},next:ee,prev:ae,confirm:K,close:O}),(A,x)=>(o(),P(c(Le),{shown:R.value,"onUpdate:shown":x[5]||(x[5]=d=>R.value=d),distance:8,triggers:[],placement:"top-start","auto-hide":!u.externalFocus,class:"block",onApplyShow:g,onApplyHide:V},{popper:j(()=>[t("div",{class:"w-[min(32rem,92vw)] flex flex-col","data-testid":"comment-template-menu",onKeydown:ne},[u.externalFocus?(o(),n("div",Mt,[x[6]||(x[6]=t("span",{class:"i-ph-slash-duotone"},null,-1)),x[7]||(x[7]=t("span",null,"Filtering by",-1)),t("code",Tt,"/"+r(u.externalQuery),1),x[8]||(x[8]=t("span",{class:"color-faint ml-auto"},[z("type to filter · "),t("span",{class:"kbd"},"↵"),z(" to insert")],-1))])):(o(),n("div",It,[L(tt,{ref_key:"searchField",ref:Q,modelValue:T.value,"onUpdate:modelValue":x[0]||(x[0]=d=>T.value=d),placeholder:"Search saved replies…","data-testid":"comment-template-search"},null,8,["modelValue"])])),_.value?(o(),n("div",Rt,[t("button",{type:"button",class:W(["inline-flex items-center gap-1.5 px-2 py-0.5 text-xs rounded-full border outline-none transition whitespace-nowrap",H.value==="all"?"bg-active color-base border-transparent":"color-muted border-base hover:bg-active/60"]),"data-testid":"comment-template-scope-all",onClick:x[1]||(x[1]=d=>H.value="all")},[x[9]||(x[9]=t("span",null,"All",-1)),t("span",Dt,r(p.value.length),1)],2),t("button",{type:"button",class:W(["inline-flex items-center gap-1.5 px-2 py-0.5 text-xs rounded-full border outline-none transition whitespace-nowrap",H.value==="repo"?"bg-active color-base border-transparent":"color-muted border-base hover:bg-active/60"]),"data-testid":"comment-template-scope-repo",onClick:x[2]||(x[2]=d=>H.value="repo")},[l.value?(o(),P(ot,{key:0,project:l.value,size:12,"fallback-class":"color-muted"},null,8,["project"])):(o(),n("span",Lt)),t("span",Pt,r(l.value?.repo??"This repo"),1),t("span",jt,r(s.value),1)],2),t("button",{type:"button",class:W(["inline-flex items-center gap-1.5 px-2 py-0.5 text-xs rounded-full border outline-none transition whitespace-nowrap",H.value==="global"?"bg-active color-base border-transparent":"color-muted border-base hover:bg-active/60"]),"data-testid":"comment-template-scope-global",onClick:x[3]||(x[3]=d=>H.value="global")},[x[10]||(x[10]=t("span",{class:"i-ph-globe-duotone text-xs"},null,-1)),x[11]||(x[11]=t("span",null,"Global",-1)),t("span",Ut,r(e.value),1)],2)])):y("",!0),t("div",{ref_key:"listRef",ref:D,class:"max-h-[22rem] overflow-y-auto py-1 flex-1"},[p.value.length===0?(o(),n("div",Ot,[...x[12]||(x[12]=[t("span",{class:"i-ph-chat-circle-text-duotone text-3xl color-faint"},null,-1),t("p",{class:"text-sm color-muted"},"No saved replies yet",-1),t("p",{class:"text-xs color-faint"},[z("Add some in "),t("span",{class:"kbd"},"Settings"),z(" → Saved replies.")],-1)])])):I.value.length===0?(o(),n("div",Nt,[x[14]||(x[14]=t("span",{class:"i-ph-magnifying-glass-duotone text-2xl color-faint"},null,-1)),x[15]||(x[15]=t("p",{class:"text-sm color-muted"},"No matches",-1)),H.value!=="all"?(o(),n("p",zt,[x[13]||(x[13]=z(" Try ",-1)),t("button",{type:"button",class:"underline hover:color-active",onClick:x[4]||(x[4]=d=>H.value="all")},"all scopes")])):y("",!0)])):(o(),n("ul",Ht,[(o(!0),n(N,null,le(I.value,(d,v)=>(o(),n("li",{key:`${d.scope}-${v}-${d.title}`,role:"option","aria-selected":v===U.value,"data-index":v},[t("button",{type:"button",class:W(["group w-full text-left flex items-start gap-2.5 px-2.5 py-2 rounded transition outline-none border-l-2",v===U.value?"bg-active border-l-primary-500":"border-l-transparent hover:bg-active/60"]),"data-testid":"comment-template-item","data-scope":d.scope,onClick:J=>Y(d),onMouseenter:J=>U.value=v},[t("span",Vt,[t("span",Kt,[t("span",{class:W(["text-sm font-medium truncate",v===U.value?"color-base":""])},r(d.title),3),d.scope==="global"?(o(),n("span",Gt,[...x[16]||(x[16]=[t("span",{class:"i-ph-globe-duotone text-[10px]"},null,-1),t("span",null,"global",-1)])])):y("",!0)]),t("span",Qt,r(d.resolved),1)]),v===U.value?(o(),n("span",Wt)):y("",!0)],42,Bt)],8,Ft))),128))]))],512),t("div",Yt,[x[20]||(x[20]=t("span",{class:"kbd"},"↑",-1)),x[21]||(x[21]=t("span",{class:"kbd"},"↓",-1)),x[22]||(x[22]=t("span",null,"navigate",-1)),x[23]||(x[23]=t("span",{class:"color-faint"},"·",-1)),x[24]||(x[24]=t("span",{class:"kbd"},"↵",-1)),x[25]||(x[25]=t("span",null,"insert",-1)),_.value?(o(),n(N,{key:0},[x[17]||(x[17]=t("span",{class:"color-faint"},"·",-1)),x[18]||(x[18]=t("span",{class:"kbd"},"⇥",-1)),x[19]||(x[19]=t("span",null,"scope",-1))],64)):y("",!0),x[26]||(x[26]=t("div",{class:"flex-1"},null,-1)),x[27]||(x[27]=t("span",{class:"kbd"},"Esc",-1)),x[28]||(x[28]=t("span",null,"close",-1))])],32)]),default:j(()=>[et(A.$slots,"default")]),_:3},8,["shown","auto-hide"]))}}),Zt={class:"relative"},Xt=["placeholder","onKeydown"],eo={class:"flex items-center gap-2 px-2 py-1.5 border-t border-base"},to=["aria-expanded"],oo={key:0,class:"text-xs color-muted"},no=["disabled"],so={key:0},lo={key:1},ao={key:2},ro=["disabled"],io=["disabled","aria-expanded"],co={role:"menu",class:"min-w-60 p-1 text-sm"},uo=["disabled"],mo=["disabled","title"],po=["disabled","title"],vo=["disabled"],fo={key:0},bo={key:1},go=ie({__name:"DetailComposer",props:{number:{},kind:{}},emits:["submitted","cancelledEditing"],setup(u,{expose:b,emit:w}){const f=u,$=w,R=ye(),E=Ae(),C=m(()=>E?.projectId??R.value),h=ke(E?.projectId),a=Pe(),i=xe(),l=qe(m(()=>f.number),E?.projectId),G=m(()=>f.kind==="pull"?"pull request":"issue"),S=m(()=>h.payload.value?.syncState.items[String(f.number)]?.data.item??null),Q=m(()=>S.value?l.direction.value==="close"?"closed":l.direction.value==="reopen"?"open":S.value.state:"open"),D=Z(!1),T=Z(null),U=Z(""),H=Z(null),B=Z(!1),q=Z(null),p=m(()=>({author:S.value?.author??null,number:f.number,title:S.value?.title??null})),s=Z(null),e=Z(""),_=m(()=>s.value!==null);function I(){const M=H.value;if(!M)return;const k=M.value,F=M.selectionStart;if(s.value!==null){if(k[s.value]==="/"&&F>s.value){const se=k.slice(s.value+1,F);if(/\s/.test(se)){g();return}e.value=se;return}g();return}if(F>0&&k[F-1]==="/"){const se=F>=2?k[F-2]:"";(se===""||/\s/.test(se))&&(s.value=F-1,e.value="",B.value=!0)}}function g(){s.value=null,e.value="",B.value=!1}function V(){I()}function Y(){s.value!==null&&I()}function ee(M){const k=H.value;if(s.value!==null&&k){const ue=s.value,it=ue+1+e.value.length,Fe=k.value.slice(0,ue),ct=k.value.slice(it);k.focus(),k.value=Fe+M+ct;const Be=Fe.length+M.length;k.setSelectionRange(Be,Be),k.dispatchEvent(new Event("input",{bubbles:!0})),g();return}if(!k){const ue=O.value;O.value=ue?`${ue}
2
+
3
+ ${M}`:M;return}k.focus();const F=k.selectionStart,se=k.selectionEnd;k.setRangeText(M,F,se,"end"),k.dispatchEvent(new Event("input",{bubbles:!0}))}function ae(M){if(!(!_.value||!q.value)){if(M.key==="ArrowDown"){M.preventDefault(),M.stopPropagation(),q.value.next();return}if(M.key==="ArrowUp"){M.preventDefault(),M.stopPropagation(),q.value.prev();return}if(M.key==="Enter"&&!M.metaKey&&!M.ctrlKey&&!M.shiftKey){q.value.confirm()&&(M.preventDefault(),M.stopPropagation());return}M.key==="Escape"&&(M.preventDefault(),M.stopPropagation(),g())}}function K(){s.value=null,e.value=""}const O=m({get(){return T.value?U.value:a.getDraft(f.number)},set(M){if(T.value){U.value=M;return}a.setDraft(f.number,M)}}),ne=m(()=>T.value?!1:O.value.trim().length>0),ce=Z(!1);ge(()=>f.number,()=>{T.value=null,U.value="",ce.value=!1});async function me(){if(D.value)return;const M=(T.value?U.value:a.getDraft(f.number)).trim();if(M){D.value=!0,h.setError(null);try{let k=null;if(T.value){const F=l.pendingComments.value.find(se=>se.id===T.value);if(F){const se=F.op;await i.$call("ghfs:update-queue-op",C.value??"__default__",F.id,{...se,body:M}),k=F.id}T.value=null,U.value=""}else{const F=await i.$call("ghfs:add-queue-op",C.value??"__default__",{action:"add-comment",number:f.number,body:M});k=J(F.entries,f.number,["add-comment"]),a.clearDraft(f.number)}$("submitted",k)}catch(k){h.setError(k.message)}finally{D.value=!1}}}async function A(){if(!(D.value||!S.value)){D.value=!0,h.setError(null);try{const M=a.getDraft(f.number).trim();let k=null;if(M){const F=await i.$call("ghfs:add-queue-op",C.value??"__default__",{action:"close-with-comment",number:f.number,body:M});k=J(F.entries,f.number,["close-with-comment"]),a.clearDraft(f.number)}else{const F=await i.$call("ghfs:add-queue-op",C.value??"__default__",{action:"close",number:f.number});k=J(F.entries,f.number,["close"])}$("submitted",k)}catch(M){h.setError(M.message)}finally{D.value=!1}}}async function x(){if(!(D.value||!S.value)){D.value=!0,h.setError(null);try{const M=await i.$call("ghfs:add-queue-op",C.value??"__default__",{action:"reopen",number:f.number}),k=J(M.entries,f.number,["reopen"]);$("submitted",k)}catch(M){h.setError(M.message)}finally{D.value=!1}}}const d=m(()=>({approve:!1,"request-changes":!ne.value&&!T.value,"review-comment":!ne.value&&!T.value}));async function v(M){if(!(D.value||!S.value)&&!d.value[M]){ce.value=!1,D.value=!0,h.setError(null);try{const k=a.getDraft(f.number).trim(),F={action:M,number:f.number};k.length>0&&(F.body=k);const se=await i.$call("ghfs:add-queue-op",C.value??"__default__",F),ue=J(se.entries,f.number,[M]);k.length>0&&a.clearDraft(f.number),$("submitted",ue)}catch(k){h.setError(k.message)}finally{D.value=!1}}}function J(M,k,F){for(let se=M.length-1;se>=0;se-=1){const ue=M[se];if(ue&&ue.op.number===k&&F.includes(ue.op.action))return ue.id}return null}function re(M){const k=M.op;U.value=k.body??"",T.value=M.id,Te(()=>H.value?.focus())}function pe(){T.value=null,U.value="",$("cancelledEditing")}function _e(){H.value?.focus()}return b({startEditing:re,focus:_e}),(M,k)=>(o(),P(Jt,{ref_key:"templatePicker",ref:q,open:B.value,"onUpdate:open":k[8]||(k[8]=F=>B.value=F),context:p.value,"external-query":_.value?e.value:void 0,"external-focus":_.value,onPick:ee,onCancel:K},{default:j(()=>[t("div",{class:W(["border border-base rounded-lg bg-base transition",T.value?"ring-2 ring-yellow-500/60 border-yellow-500/60":"focus-within:border-active focus-within:ring-2 focus-within:ring-primary-500/30"])},[t("div",Zt,[pt(t("textarea",{ref_key:"textarea",ref:H,"onUpdate:modelValue":k[0]||(k[0]=F=>O.value=F),"data-shortcut":"comment-draft",placeholder:T.value?"Editing pending comment…":`Leave a comment on this ${G.value}`,rows:"3",class:"peer w-full bg-transparent outline-none px-3 py-2 text-sm resize-none font-sans",onInput:V,onKeyup:[ve(Y,["arrow-left"]),ve(Y,["arrow-right"]),ve(Y,["arrow-up"]),ve(Y,["arrow-down"])],onClick:Y,onKeydown:[ae,ve(de(me,["meta","exact","prevent","stop"]),["enter"]),ve(de(me,["ctrl","exact","prevent","stop"]),["enter"]),ve(de(A,["meta","shift","prevent","stop"]),["enter"]),ve(de(A,["ctrl","shift","prevent","stop"]),["enter"]),k[1]||(k[1]=ve(de(F=>B.value=!0,["meta","exact","prevent","stop"]),["period"])),k[2]||(k[2]=ve(de(F=>B.value=!0,["ctrl","exact","prevent","stop"]),["period"]))]},null,40,Xt),[[vt,O.value]]),L($e,{command:"comment.focus",tone:"muted",class:"absolute bottom-2 right-2 pointer-events-none peer-focus:op0 transition-opacity"})]),t("div",eo,[t("button",{type:"button",class:W(["inline-flex items-center gap-1.5 px-2 py-1 rounded text-xs color-muted hover:color-active hover:bg-active focus-visible:bg-active focus-visible:color-active outline-none transition",{"bg-active color-active":B.value}]),"aria-haspopup":!0,"aria-expanded":B.value,"aria-label":"Insert saved reply (⌘.)","data-testid":"comment-template-trigger",title:"Insert saved reply (⌘.)",onClick:k[3]||(k[3]=F=>B.value=!B.value)},[...k[9]||(k[9]=[t("span",{class:"i-ph-chat-circle-text-duotone text-base"},null,-1),t("span",null,"Saved replies",-1)])],10,to),T.value?(o(),n("span",oo,"Editing a queued comment")):y("",!0),k[17]||(k[17]=t("div",{class:"flex-1"},null,-1)),T.value?(o(),n("button",{key:1,type:"button",class:"btn-action text-sm",onClick:pe}," Cancel ")):y("",!0),Q.value==="open"?(o(),n("button",{key:2,type:"button",class:"btn-action text-sm",disabled:D.value,onClick:A},[k[10]||(k[10]=t("span",{class:"i-octicon-x-circle-16 color-red-500 dark:color-red-400"},null,-1)),c(l).direction.value==="reopen"?(o(),n("span",so,"Cancel reopen")):ne.value?(o(),n("span",lo,"Close with comment")):(o(),n("span",ao,"Close "+r(G.value),1)),L(Ke,{keys:"⌘ ⇧ ↵",tone:"muted"})],8,no)):(o(),n("button",{key:3,type:"button",class:"btn-action text-sm",disabled:D.value,onClick:x},[k[11]||(k[11]=t("span",{class:"i-octicon-issue-opened-16 color-green-500 dark:color-green-400"},null,-1)),z(" "+r(c(l).direction.value==="close"?"Cancel close":`Reopen ${G.value}`),1)],8,ro)),u.kind==="pull"&&!T.value?(o(),P(c(Le),{key:4,shown:ce.value,"onUpdate:shown":k[7]||(k[7]=F=>ce.value=F),placement:"top-end",distance:6,triggers:["click"],"auto-hide":!0},{popper:j(()=>[t("div",co,[t("button",{type:"button",role:"menuitem",class:"w-full flex items-start gap-2 px-2 py-1.5 rounded text-left hover:bg-active focus-visible:bg-active outline-none transition",disabled:d.value.approve,onClick:k[4]||(k[4]=F=>v("approve"))},[...k[13]||(k[13]=[t("span",{class:"i-octicon-check-16 color-green-500 dark:color-green-400 mt-0.5 shrink-0"},null,-1),t("span",{class:"flex flex-col"},[t("span",{class:"font-medium"},"Approve"),t("span",{class:"color-muted text-xs"},"Submit feedback and approve merging these changes.")],-1)])],8,uo),t("button",{type:"button",role:"menuitem",class:"w-full flex items-start gap-2 px-2 py-1.5 rounded text-left hover:bg-active focus-visible:bg-active outline-none transition disabled:op50 disabled:cursor-not-allowed",disabled:d.value["review-comment"],title:d.value["review-comment"]?"Type a comment first":"",onClick:k[5]||(k[5]=F=>v("review-comment"))},[...k[14]||(k[14]=[t("span",{class:"i-octicon-comment-discussion-16 color-cyan-500 dark:color-cyan-400 mt-0.5 shrink-0"},null,-1),t("span",{class:"flex flex-col"},[t("span",{class:"font-medium"},"Comment"),t("span",{class:"color-muted text-xs"},"Submit general feedback without explicit approval.")],-1)])],8,mo),t("button",{type:"button",role:"menuitem",class:"w-full flex items-start gap-2 px-2 py-1.5 rounded text-left hover:bg-active focus-visible:bg-active outline-none transition disabled:op50 disabled:cursor-not-allowed",disabled:d.value["request-changes"],title:d.value["request-changes"]?"Type a comment first":"",onClick:k[6]||(k[6]=F=>v("request-changes"))},[...k[15]||(k[15]=[t("span",{class:"i-octicon-file-diff-16 color-red-500 dark:color-red-400 mt-0.5 shrink-0"},null,-1),t("span",{class:"flex flex-col"},[t("span",{class:"font-medium"},"Request changes"),t("span",{class:"color-muted text-xs"},"Submit feedback that must be addressed before merging.")],-1)])],8,po)])]),default:j(()=>[t("button",{type:"button",class:"btn-action text-sm",disabled:D.value,"aria-haspopup":"menu","aria-expanded":ce.value,title:"Submit a review"},[...k[12]||(k[12]=[t("span",{class:"i-octicon-eye-16"},null,-1),t("span",null,"Review changes",-1),t("span",{class:"i-octicon-triangle-down-16 op60"},null,-1)])],8,io)]),_:1},8,["shown"])):y("",!0),t("button",{type:"button",class:"btn-primary text-sm",disabled:!O.value.trim()||D.value,onClick:me},[k[16]||(k[16]=t("span",{class:"i-octicon-comment-16"},null,-1)),T.value?(o(),n("span",fo,"Update comment")):(o(),n("span",bo,"Comment")),L(Ke,{keys:"⌘ ↵",tone:"muted"})],8,vo)])],2)]),_:1},8,["open","context","external-query","external-focus"]))}}),ho=3e5,Ie=new Map,Me=Ee(new Set);function We(u,b){return`${u}#${b}`}function ko(){const u=Pe(),b=nt(),w=ft(),f=xe();function $(){return w.capabilities.value?.mode==="hub"?b.settings.value?.swrSyncEnabled!==!1:u.uiState.swrSyncEnabled!==!1}function R(){const h=w.capabilities.value?.mode==="hub"?b.settings.value?.swrCacheTimeoutMs:u.uiState.swrCacheTimeoutMs;return typeof h=="number"&&h>0?h:ho}async function E(h,a){if(!h||a==null||!$())return;const i=We(h,a);if(!(Date.now()-(Ie.get(i)??0)<R()||ke(h).syncing.value)&&!Me.has(i)){Ie.set(i,Date.now()),Me.add(i);try{await f.$call("ghfs:trigger-sync",h,{numbers:[a],silent:!0}),Ie.set(i,Date.now())}catch{Ie.delete(i)}finally{Me.delete(i)}}}function C(h,a){return m(()=>{const i=c(h),l=c(a);return!i||l==null?!1:Me.has(We(i,l))})}return{checkAndRefresh:E,isRefreshing:C}}const xo=ie({__name:"StatePill",props:{state:{},kind:{}},setup(u){const b=u,w=m(()=>{switch(b.state){case"open":case"reopened":return{color:"green",label:"Open"};case"merged":return{color:"purple",label:"Merged"};case"closed":return{color:"red",label:"Closed"};case"draft":return{color:"gray",label:"Draft"};case"not-planned":return{color:"gray",label:"Not planned"};case"pending":return{color:"yellow",label:"Pending",icon:"i-octicon-hourglass-16"}}return{color:"gray",label:b.state}});return(f,$)=>(o(),n("span",{class:W([`badge-color-${w.value.color}`,"uppercase tracking-wide text-[10px]"])},[w.value.icon?(o(),n("span",{key:0,class:W([w.value.icon,"mr-1 text-[10px]"])},null,2)):y("",!0),z(" "+r(w.value.label),1)],2))}}),_o={key:0,class:"px-6 pb-6","data-testid":"detail-merge-widget"},wo={class:"rounded-lg border border-base bg-base overflow-hidden"},yo={class:"flex items-start gap-3 px-4 py-3"},$o={class:"flex-1 min-w-0"},Co={class:"font-medium text-sm"},So={class:"text-sm color-muted mt-0.5"},Ao={class:"flex items-center gap-2 px-4 py-2.5 border-t border-base bg-#8881 dark:bg-#fff1"},Eo={class:"text-sm"},qo={class:"font-medium"},Io=["disabled"],Mo=["disabled"],To=["disabled"],Ro={role:"menu",class:"min-w-56 p-1 text-sm"},Do=["aria-checked","onClick"],Lo=ie({__name:"DetailMergeWidget",props:{number:{}},setup(u){const b=u,w={squash:"Squash and merge",merge:"Create a merge commit",rebase:"Rebase and merge"},f={squash:"i-octicon-git-pull-request-16",merge:"i-octicon-git-merge-16",rebase:"i-octicon-git-branch-16"},$=["squash","merge","rebase"],R=ye(),E=Ae(),C=m(()=>E?.projectId??R.value),h=ke(E?.projectId),a=xe(),i=qe(m(()=>b.number),E?.projectId),l=m(()=>h.payload.value?.syncState.items[String(b.number)]??null),G=m(()=>l.value?.data.item??null),S=m(()=>l.value?.data.pull),Q=m(()=>h.payload.value?.repoSettings),D=m(()=>Q.value?.mergeQueueEnabled===!0),T=m(()=>{const K=Q.value;return K?$.filter(O=>O==="squash"?K.allowSquashMerge:O==="merge"?K.allowMergeCommit:K.allowRebaseMerge):[...$]}),U=m(()=>T.value[0]??"squash"),H=m(()=>i.entries.value.find(K=>K.op.action==="merge"||K.op.action==="enqueue-merge")??null),B=m(()=>{const K=H.value?.op;return!K||K.action==="enqueue-merge"?"queue":K.method??U.value}),q=m(()=>!G.value||G.value.kind!=="pull"||S.value?.merged?!1:G.value.state==="open"),p=m(()=>S.value?.isDraft===!0),s=m(()=>S.value?.mergeable??null),e=m(()=>S.value?.mergeableState??"unknown"),_=m(()=>p.value?{icon:"i-octicon-git-pull-request-16",iconColor:"color-muted",title:"This pull request is still a draft",description:"Mark it as ready for review before merging.",canMerge:!1}:s.value===!1||e.value==="dirty"?{icon:"i-octicon-alert-16",iconColor:"color-red-500 dark:color-red-400",title:"Conflicts must be resolved",description:"Resolve the merge conflicts on GitHub before merging.",canMerge:!1}:e.value==="blocked"?{icon:"i-octicon-shield-16",iconColor:"color-yellow-500 dark:color-yellow-400",title:"Merging is blocked",description:D.value?"Queue this PR to merge once required checks pass.":"Required reviews or status checks must pass first — GitHub may still reject the merge.",canMerge:!0}:e.value==="behind"?{icon:"i-octicon-git-pull-request-16",iconColor:"color-yellow-500 dark:color-yellow-400",title:"This branch is out of date",description:"Update the branch with the latest changes from the base branch.",canMerge:!0}:e.value==="unstable"?{icon:"i-octicon-alert-16",iconColor:"color-yellow-500 dark:color-yellow-400",title:"This branch has not succeeded",description:"Some checks have not succeeded — review before merging.",canMerge:!0}:s.value===null||e.value==="unknown"?{icon:"i-octicon-sync-16",iconColor:"color-muted",title:"Checking if this branch can be merged…",description:"GitHub has not finished computing the merge status yet.",canMerge:!0}:{icon:"i-octicon-check-16",iconColor:"color-green-500 dark:color-green-400",title:"This branch has no conflicts with the base branch",description:"Merging can be performed automatically.",canMerge:!0}),I=Z(!1),g=Z(U.value);ge(T,K=>{K.includes(g.value)||(g.value=K[0]??"squash")},{immediate:!0});async function V(K){I.value=!1,g.value=K,h.setError(null);try{await a.$call("ghfs:add-queue-op",C.value??"__default__",{action:"merge",number:b.number,method:K})}catch(O){h.setError(O.message)}}async function Y(){h.setError(null);try{await a.$call("ghfs:add-queue-op",C.value??"__default__",{action:"enqueue-merge",number:b.number})}catch(K){h.setError(K.message)}}async function ee(){if(H.value){h.setError(null);try{await a.$call("ghfs:remove-queue-op",C.value??"__default__",H.value.id)}catch(K){h.setError(K.message)}}}const ae=m(()=>H.value?H.value.op.action==="enqueue-merge"?"Merge when ready queued":`Merge queued (${B.value})`:"");return(K,O)=>q.value?(o(),n("section",_o,[t("div",wo,[t("div",yo,[t("span",{class:W([_.value.icon,_.value.iconColor,"mt-0.5 shrink-0"])},null,2),t("div",$o,[t("div",Co,r(_.value.title),1),t("p",So,r(_.value.description),1)])]),t("div",Ao,[H.value?(o(),n(N,{key:0},[O[4]||(O[4]=t("span",{class:"i-octicon-hourglass-16 color-yellow-600 dark:color-yellow-400"},null,-1)),t("span",Eo,[t("span",qo,r(ae.value),1),O[2]||(O[2]=t("span",{class:"color-muted"}," — execute to apply",-1))]),O[5]||(O[5]=t("div",{class:"flex-1"},null,-1)),t("button",{type:"button",class:"btn-action text-sm",onClick:ee},[...O[3]||(O[3]=[t("span",{class:"i-ph-trash-duotone"},null,-1),z(" Cancel ",-1)])])],64)):D.value?(o(),n(N,{key:1},[O[7]||(O[7]=t("div",{class:"flex-1"},null,-1)),t("button",{type:"button",class:"btn-primary text-sm",disabled:!_.value.canMerge,onClick:Y},[...O[6]||(O[6]=[t("span",{class:"i-octicon-git-merge-queue-16"},null,-1),z(" Merge when ready ",-1)])],8,Io)],64)):T.value.length===0?(o(),n(N,{key:2},[O[8]||(O[8]=t("div",{class:"flex-1"},null,-1)),O[9]||(O[9]=t("span",{class:"text-sm color-muted italic"},"No merge methods allowed by this repo's settings.",-1))],64)):(o(),n(N,{key:3},[O[11]||(O[11]=t("div",{class:"flex-1"},null,-1)),t("button",{type:"button",class:"btn-primary text-sm",disabled:!_.value.canMerge,onClick:O[0]||(O[0]=ne=>V(g.value))},[t("span",{class:W(f[g.value])},null,2),z(" "+r(w[g.value]),1)],8,Mo),T.value.length>1?(o(),P(c(Le),{key:0,shown:I.value,"onUpdate:shown":O[1]||(O[1]=ne=>I.value=ne),placement:"top-end",distance:6,triggers:["click"],"auto-hide":!0},{popper:j(()=>[t("div",Ro,[(o(!0),n(N,null,le(T.value,ne=>(o(),n("button",{key:ne,type:"button",role:"menuitemradio","aria-checked":g.value===ne,class:W(["w-full flex items-center gap-2 px-2 py-1.5 rounded text-left hover:bg-active focus-visible:bg-active outline-none transition",{"bg-active":g.value===ne}]),onClick:ce=>V(ne)},[t("span",{class:W(f[ne])},null,2),t("span",null,r(w[ne]),1)],10,Do))),128))])]),default:j(()=>[t("button",{type:"button",class:"btn-action text-sm","aria-label":"Choose merge method",disabled:!_.value.canMerge},[...O[10]||(O[10]=[t("span",{class:"i-octicon-triangle-down-16"},null,-1)])],8,To)]),_:1},8,["shown"])):y("",!0)],64))])])])):y("",!0)}}),Po={class:"flex flex-wrap items-center gap-1.5 mt-3 pt-2 border-t border-base"},jo=["title","onClick"],Uo={key:0,class:"font-medium"},Oo=["title"],No={class:"flex items-center gap-0.5 p-1"},zo=["title","onClick"],ze=ie({__name:"DetailReactions",props:{itemNumber:{},target:{},reactions:{}},setup(u){const b=u,w=ye(),f=Ae(),$=m(()=>f?.projectId??w.value),R=xe(),E=ke(f?.projectId),C=qe(m(()=>b.itemNumber),f?.projectId),{offline:h}=He(),a=Z(new Set),i=Z(!1),l=Z(!1),G=m(()=>C.entries.value.filter(_=>{const I=_.op;return I.action!=="add-reaction"&&I.action!=="remove-reaction"?!1:S(I.target,b.target)}));function S(_,I){const g=_??{kind:"item"};return g.kind!==I.kind?!1:g.kind==="item"&&I.kind==="item"?!0:g.kind==="comment"&&I.kind==="comment"?g.commentId===I.commentId:g.kind==="review"&&I.kind==="review"?g.reviewId===I.reviewId:!1}function Q(_){return b.reactions?b.reactions[bt(_)]??0:0}function D(_){for(const I of G.value){const g=I.op;if(g.reaction===_)return{entry:I,kind:g.action==="add-reaction"?"add":"remove"}}return null}function T(_){const I=Q(_),g=D(_);return g?g.kind==="add"&&!a.value.has(_)?I+1:g.kind==="remove"&&a.value.has(_)?Math.max(0,I-1):I:I}const U=m(()=>Qe.filter(_=>T(_)>0||D(_)!==null)),H=m(()=>U.value.length>0);async function B(){if(!(i.value||l.value)&&!h.value){l.value=!0;try{const _=await R.$call("ghfs:get-viewer-reactions",$.value??"__default__",b.itemNumber,b.target);a.value=new Set(_),i.value=!0}catch{a.value=new Set,i.value=!0}finally{l.value=!1}}}async function q(_){await B();const I=D(_);if(I){try{await R.$call("ghfs:remove-queue-op",$.value??"__default__",I.entry.id)}catch(ee){E.setError(ee.message)}return}const Y={action:a.value.has(_)?"remove-reaction":"add-reaction",number:b.itemNumber,reaction:_,...b.target.kind!=="item"?{target:b.target}:{}};try{await R.$call("ghfs:add-queue-op",$.value??"__default__",Y)}catch(ee){E.setError(ee.message)}}function p(_){const I=D(_);return I?.kind==="add"?"border-dashed border-yellow-500/60 bg-yellow-500/10 color-yellow-700 dark:color-yellow-300":I?.kind==="remove"?"border-dashed border-orange-500/60 bg-orange-500/10 color-orange-700 dark:color-orange-300 line-through":i.value&&a.value.has(_)?"border-primary-500/40 bg-primary-500/10 color-active":"border-base hover:bg-active"}function s(_){const I=D(_);return I?.kind==="add"?"bg-yellow-500/15 ring-1 ring-yellow-500/50":I?.kind==="remove"?"bg-orange-500/15 ring-1 ring-orange-500/50":i.value&&a.value.has(_)?"bg-primary-500/15 ring-1 ring-primary-500/40":"hover:bg-active"}function e(_){const I=D(_);return I?.kind==="add"?`pending add :${_}: — click to cancel`:I?.kind==="remove"?`pending remove :${_}: — click to cancel`:i.value&&a.value.has(_)?`you reacted :${_}: — click to queue removal`:`:${_}: — click to queue add`}return(_,I)=>(o(),n("div",Po,[(o(!0),n(N,null,le(U.value,g=>(o(),n("button",{key:g,type:"button",title:e(g),class:W(["inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs leading-none transition",p(g)]),onClick:V=>q(g)},[t("span",null,r(c(Ge)[g]),1),T(g)>0?(o(),n("span",Uo,r(T(g)),1)):y("",!0)],10,jo))),128)),L(c(Le),{distance:6,triggers:["click"],onShow:B},{popper:j(({hide:g})=>[t("div",No,[(o(!0),n(N,null,le(c(Qe),V=>(o(),n("button",{key:V,type:"button",title:e(V),class:W(["inline-flex items-center justify-center w-8 h-8 rounded-full text-lg transition",s(V)]),onClick:Y=>q(V).then(()=>g())},r(c(Ge)[V]),11,zo))),128))])]),default:j(()=>[t("button",{type:"button","aria-label":"Add reaction",title:H.value?"Add reaction":"React",class:"inline-flex items-center justify-center rounded-full border border-base px-2 py-0.5 text-xs leading-none op-fade hover:op100 hover:bg-active transition"},[...I[0]||(I[0]=[t("span",{class:"i-octicon-smiley-16"},null,-1)])],8,Oo)]),_:1})]))}});function Ho(u){if(!u)return"never";try{const b=Date.now()-new Date(u).getTime(),w=Math.round(b/1e3),f=Math.round(w/60),$=Math.round(f/60),R=Math.round($/24);if(w<60)return`${w}s ago`;if(f<60)return`${f}m ago`;if($<24)return`${$}h ago`;if(R<60)return`${R}d ago`;const E=Math.round(R/30);return E<24?`${E}mo ago`:`${Math.round(R/365)}y ago`}catch{return u}}const Fo={class:"mt-3 flex flex-col gap-3","data-testid":"detail-review-comments"},Bo={class:"flex items-center gap-2 px-3 py-1.5 bg-#8881 dark:bg-#fff1 border-b border-base"},Vo={class:"font-mono text-xs"},Ko={class:"flex flex-col"},Go=["data-testid"],Qo=["onClick"],Wo={class:"font-mono text-[11px] leading-snug whitespace-pre overflow-x-auto px-2 py-1.5 m-0"},Yo={key:0,class:"px-2 py-0.5 text-[11px] color-muted"},Jo={class:"flex items-center gap-2 mt-2"},Zo={class:"text-xs"},Xo={class:"font-medium"},en={key:0,class:"color-muted"},tn={class:"color-muted inline-flex items-center gap-1"},on=["innerHTML"],nn={key:2,class:"text-sm color-muted italic mt-1.5"},sn={key:3,class:"flex items-center gap-1.5 mt-1.5 text-xs color-muted"},ln={class:"font-mono tabular-nums"},Ye=ie({__name:"DetailReviewComments",props:{comments:{}},setup(u){const b=u,w=m(()=>{const h=new Map,a=[...b.comments].sort((i,l)=>i.createdAt.localeCompare(l.createdAt));for(const i of a){const l=h.get(i.path)??[];l.push(i),h.set(i.path,l)}return[...h.entries()].map(([i,l])=>({path:i,comments:l}))}),f=Ee(new Set);function $(h){f.has(h)?f.delete(h):f.add(h)}function R(h){return h?h.split(`
4
+ `).slice(-6).join(`
5
+ `):""}const E={plusOne:"👍",minusOne:"👎",laugh:"😄",hooray:"🎉",confused:"😕",heart:"❤️",rocket:"🚀",eyes:"👀"};function C(h){const a=h.reactions;if(!a)return[];const i=[];for(const[l,G]of Object.entries(E)){const S=a[l]??0;S>0&&i.push({emoji:G,count:S})}return i}return(h,a)=>(o(),n("div",Fo,[(o(!0),n(N,null,le(w.value,i=>(o(),n("div",{key:i.path,class:"border border-base rounded-md overflow-hidden"},[t("div",Bo,[a[0]||(a[0]=t("span",{class:"i-octicon-file-16 color-muted text-sm"},null,-1)),t("code",Vo,r(i.path),1)]),t("div",Ko,[(o(!0),n(N,null,le(i.comments,(l,G)=>(o(),n("div",{key:l.id,class:W(["px-3 py-2.5",G>0?"border-t border-base":""]),"data-testid":`review-comment-${l.id}`},[l.diffHunk?(o(),n("button",{key:0,type:"button",class:"block w-full text-left rounded bg-#8881 dark:bg-#fff1 hover:bg-active transition",onClick:S=>$(l.id)},[t("pre",Wo,[t("code",null,r(f.has(l.id)?"":R(l.diffHunk)),1)]),f.has(l.id)?(o(),n("div",Yo," Show diff context ")):y("",!0)],8,Qo)):y("",!0),t("div",Jo,[L(Ce,{login:l.author,src:l.authorAvatarUrl,size:20},null,8,["login","src"]),t("span",Zo,[t("span",Xo,"@"+r(l.author||"ghost"),1),l.line!=null?(o(),n("span",en," · line "+r(l.startLine!=null&&l.startLine!==l.line?`${l.startLine}–${l.line}`:l.line),1)):y("",!0),t("span",tn,[a[1]||(a[1]=z(" · ",-1)),L(be,{time:l.createdAt},null,8,["time"])])])]),l.body?(o(),n("div",{key:1,class:"markdown-body text-sm mt-1.5",innerHTML:c(De)(l.body)},null,8,on)):(o(),n("p",nn," Empty comment. ")),C(l).length?(o(),n("div",sn,[(o(!0),n(N,null,le(C(l),S=>(o(),n("span",{key:S.emoji,class:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-#8881 dark:bg-#fff1"},[t("span",null,r(S.emoji),1),t("span",ln,r(S.count),1)]))),128))])):y("",!0)],10,Go))),128))])]))),128))]))}}),an={class:"relative pl-10","data-testid":"timeline-event"},rn={class:"absolute left-0 top-0.5 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base"},cn={class:"w-6 h-6 rounded-full bg-#8881 dark:bg-#fff1 inline-flex items-center justify-center"},un={class:"flex items-center gap-2 text-sm py-1 flex-wrap"},X=ie({__name:"DetailTimelineEventRow",props:{icon:{},color:{default:"color-muted"},actor:{},createdAt:{}},setup(u){return(b,w)=>(o(),n("div",an,[t("span",rn,[t("span",cn,[t("span",{class:W([u.icon,u.color,"text-xs"])},null,2)])]),t("div",un,[u.actor?(o(),P(he,{key:0,author:u.actor,size:16},null,8,["author"])):y("",!0),et(b.$slots,"default"),w[0]||(w[0]=t("span",{class:"color-faint"},"·",-1)),L(be,{time:u.createdAt},null,8,["time"])])]))}});function fe(u){return u==="approved"?{border:"border-green-500/40",icon:"i-octicon-check-circle-fill-16",color:"color-green-600 dark:color-green-500",label:"approved these changes"}:u==="changes_requested"?{border:"border-red-500/40",icon:"i-octicon-file-diff-16",color:"color-red-600 dark:color-red-500",label:"requested changes"}:u==="dismissed"?{border:"border-neutral-500/40",icon:"i-octicon-x-16",color:"color-neutral-500 dark:color-neutral-400",label:"dismissed a review"}:{border:"border-blue-500/40",icon:"i-octicon-comment-16",color:"color-blue-600 dark:color-blue-500",label:"reviewed"}}const dn={committed:"i-octicon-git-commit-16",closed:"i-octicon-issue-closed-16",reopened:"i-octicon-issue-reopened-16",merged:"i-octicon-git-merge-16",labeled:"i-octicon-tag-16",unlabeled:"i-octicon-tag-16",assigned:"i-octicon-person-16",unassigned:"i-octicon-person-16",review_requested:"i-octicon-eye-16",review_request_removed:"i-octicon-eye-closed-16",review_dismissed:"i-octicon-x-16",renamed:"i-octicon-pencil-16",head_ref_force_pushed:"i-octicon-repo-push-16",head_ref_deleted:"i-octicon-trash-16",head_ref_restored:"i-octicon-history-16",locked:"i-octicon-lock-16",unlocked:"i-octicon-lock-16",ready_for_review:"i-octicon-git-pull-request-16",convert_to_draft:"i-octicon-git-pull-request-draft-16",referenced:"i-octicon-bookmark-16","cross-referenced":"i-octicon-cross-reference-16",pinned:"i-octicon-pin-16",unpinned:"i-octicon-pin-slash-16",transferred:"i-octicon-arrow-right-16",milestoned:"i-octicon-milestone-16",demilestoned:"i-octicon-milestone-16",marked_as_duplicate:"i-octicon-copy-16",unmarked_as_duplicate:"i-octicon-copy-16",connected:"i-octicon-link-16",disconnected:"i-octicon-link-slash-16",auto_merge_enabled:"i-octicon-git-merge-16",auto_merge_disabled:"i-octicon-git-merge-16",auto_squash_enabled:"i-octicon-git-merge-16",auto_squash_disabled:"i-octicon-git-merge-16",auto_rebase_enabled:"i-octicon-git-merge-16",auto_rebase_disabled:"i-octicon-git-merge-16",base_ref_changed:"i-octicon-git-branch-16",unknown:"i-octicon-dot-16"},mn={merged:"color-purple-600 dark:color-purple-400",closed:"color-red-600 dark:color-red-500",reopened:"color-green-600 dark:color-green-500",ready_for_review:"color-green-600 dark:color-green-500",convert_to_draft:"color-neutral-500 dark:color-neutral-400"};function te(u){return dn[u.kind]??"i-octicon-dot-16"}function oe(u){return mn[u.kind]??"color-muted"}function Je(u){return u.replace(/[_-]+/g," ").toLowerCase()}function pn(u,b){return!u||!b?null:`https://github.com/${u}/commit/${b}`}const vn=new Set(["subscribed","unsubscribed","mentioned"]);function fn(u){return vn.has(u.kind)}const bn={class:"relative"},gn={class:"flex flex-col gap-4"},hn={key:0,class:"relative flex items-center gap-3 my-1 z-10","data-testid":"detail-last-seen-marker"},kn={class:"text-xs font-medium text-orange-600 dark:text-orange-400 whitespace-nowrap"},xn=["data-comment-id"],_n=["onClick"],wn={class:"absolute left-0 top-0.5 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base"},yn={class:"font-mono font-medium"},$n={class:"absolute left-0 top-3 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base border border-base"},Cn={class:"border border-base rounded-lg bg-base overflow-hidden"},Sn=["onClick"],An={class:"text-sm"},En={class:"font-medium"},qn={class:"color-muted inline-flex items-center gap-1"},In={key:0,class:"i-ph-caret-down-duotone color-faint text-xs ml-auto"},Mn={class:"px-4 py-3"},Tn=["innerHTML"],Rn={key:1,class:"text-sm color-muted italic"},Dn=["data-testid"],Ln={class:"absolute left-0 top-3 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base border border-base"},Pn={class:"border-2 rounded-lg bg-base overflow-hidden border-blue-500/40"},jn={class:"flex items-center gap-2 px-4 py-2 border-b border-base bg-#8881 dark:bg-#fff1"},Un={class:"text-sm"},On={class:"font-medium"},Nn={class:"color-muted inline-flex items-center gap-1"},zn={class:"px-4 py-3"},Hn={key:3,class:"relative pl-10"},Fn=["onClick"],Bn={class:"absolute left-0 top-0.5 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base"},Vn={class:"w-6 h-6 rounded-full bg-#8881 dark:bg-#fff1 inline-flex items-center justify-center"},Kn={class:"color-muted"},Gn={class:"absolute left-0 top-3 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base border border-base"},Qn=["onClick"],Wn={class:"text-sm"},Yn={class:"font-medium"},Jn={class:"color-muted inline-flex items-center gap-1"},Zn={key:0,class:"i-ph-caret-down-duotone color-faint text-xs ml-auto"},Xn={class:"px-4 py-3"},es=["innerHTML"],ts={class:"color-muted"},os={class:"font-medium"},ns=["href"],ss={class:"font-mono text-xs"},ls={key:1,class:"font-mono text-xs color-muted"},as={class:"truncate"},rs={class:"color-muted"},is={class:"color-muted"},cs={class:"color-muted"},us={key:1,class:"font-mono"},ds={class:"italic color-muted line-through"},ms={class:"italic"},ps={class:"color-muted"},vs=["href"],fs={key:1,class:"font-mono color-muted"},bs={key:2,class:"truncate max-w-md color-muted"},gs={key:3,class:"font-mono text-[11px] color-faint"},hs={key:1,class:"color-faint italic"},ks={class:"color-muted"},xs={key:0,class:"font-mono italic"},_s=["href"],ws={class:"font-mono text-xs"},ys={key:1,class:"font-mono text-xs color-muted"},$s={class:"color-muted"},Cs=["href"],Ss={class:"font-mono text-xs"},As={key:1,class:"font-mono text-xs color-muted"},Es={class:"color-muted"},qs=["href"],Is={class:"font-mono text-xs"},Ms={key:1,class:"font-mono text-xs color-muted"},Ts={class:"color-muted"},Rs={key:0,class:"color-muted"},Ds={class:"italic"},Ls={class:"color-muted"},Ps={class:"color-muted"},js=["href"],Us={class:"font-mono text-xs"},Os={class:"font-mono text-xs color-muted"},Ns={class:"font-mono text-xs"},zs={class:"color-muted"},Hs={key:0,class:"color-muted"},Fs={key:1,class:"italic"},Bs={class:"color-muted"},Vs={key:1,class:"color-muted italic"},Ks={class:"color-muted"},Gs={class:"absolute left-0 top-3 inline-flex items-center justify-center w-8 h-8 rounded-full bg-base border border-dashed border-yellow-500/60"},Qs={key:1,class:"i-octicon-hourglass-16 color-yellow-600 dark:color-yellow-400"},Ws={class:"rounded-lg border-2 border-dashed border-yellow-500/60 bg-yellow-500/5 overflow-hidden"},Ys={class:"flex items-center gap-2 px-4 py-2 border-b border-dashed border-yellow-500/40"},Js={class:"text-sm"},Zs={class:"font-medium"},Xs={key:0,class:"color-muted"},el={class:"px-4 py-3"},tl={class:"text-sm whitespace-pre-wrap font-sans"},ol=ie({__name:"DetailTimeline",props:{item:{},comments:{},timeline:{},reviewComments:{},pendingComments:{}},emits:["editPending","removePending"],setup(u,{emit:b}){const w=u,f=b,{currentUser:$}=gt(),R=Ae(),E=ke(R?.projectId),C=st(),h=m(()=>E.payload.value?.repo.repo??null),a=ht(),i=m(()=>E.payload.value?.bots??[]),l=Ee(new Set),G=m(()=>{const p=R?.projectId;return p?C.getSeenEntry(`${p}#${w.item.number}`)??null:null}),S=m(()=>{const p=G.value;if(!p)return null;for(const s of H.value)if(s.createdAt&&s.createdAt>p.lastSeenAt)return s.id;return null}),Q=m(()=>Ho(G.value?.lastSeenAt));function D(p){l.has(p)?l.delete(p):l.add(p)}function T(p){return p.kind==="comment"?je(p.author,i.value):p.kind==="orphanReview"?je(p.author,i.value):p.event.kind==="reviewed"?je(p.event.actor,i.value):!1}function U(p){return a.value&&T(p)&&!l.has(p.id)}const H=m(()=>{const p=new Set,s=[];for(const g of w.comments)p.add(g.id),s.push({kind:"comment",id:`comment-${g.id}`,commentId:g.id,createdAt:g.createdAt,author:g.author,authorAvatarUrl:g.authorAvatarUrl,body:g.body,reactions:g.reactions});const e=new Map,_=[];for(const g of w.reviewComments??[]){if(g.pullRequestReviewId==null){_.push(g);continue}const V=e.get(g.pullRequestReviewId)??[];V.push(g),e.set(g.pullRequestReviewId,V)}const I=new Set;for(const g of w.timeline??[]){if(fn(g)||g.kind==="commented"&&g.commentId!=null&&p.has(g.commentId))continue;const V=g.kind==="reviewed"?g.review?.id:void 0,Y=V!=null?e.get(V):void 0;V!=null&&Y&&I.add(V),s.push({kind:"event",id:`event-${g.id}`,createdAt:g.createdAt,event:g,...Y?{inlineReviewComments:Y}:{}})}for(const[g,V]of e){if(I.has(g))continue;const ee=[...V].sort((ae,K)=>ae.createdAt.localeCompare(K.createdAt))[0];ee&&s.push({kind:"orphanReview",id:`orphan-review-${g}`,createdAt:ee.createdAt,comments:V,author:ee.author,authorAvatarUrl:ee.authorAvatarUrl})}if(_.length){const g=[..._].sort((Y,ee)=>Y.createdAt.localeCompare(ee.createdAt)),V=g[0];V&&s.push({kind:"orphanReview",id:"orphan-review-loose",createdAt:V.createdAt,comments:g,author:V.author,authorAvatarUrl:V.authorAvatarUrl})}return s.sort((g,V)=>g.createdAt.localeCompare(V.createdAt)),s});function B(p,s){return s||pn(h.value,p)}function q(p){return p?p.slice(0,7):""}return(p,s)=>(o(),n("div",bn,[s[36]||(s[36]=t("div",{class:"absolute left-[15px] top-0 bottom-0 w-px bg-#8882","aria-hidden":"true"},null,-1)),t("div",gn,[(o(!0),n(N,null,le(H.value,e=>(o(),n(N,{key:e.id},[e.id===S.value?(o(),n("div",hn,[s[6]||(s[6]=t("div",{class:"flex-1 h-px bg-orange-500/40"},null,-1)),t("span",kn," Last seen "+r(Q.value),1),s[7]||(s[7]=t("div",{class:"flex-1 h-px bg-orange-500/40"},null,-1))])):y("",!0),e.kind==="comment"?(o(),n("div",{key:1,class:"relative pl-10","data-comment-id":e.id},[U(e)?(o(),n("button",{key:0,type:"button",class:"w-full flex items-center gap-2 text-sm py-1 text-left hover:bg-active rounded transition","data-testid":"collapsed-bot-comment",onClick:_=>D(e.id)},[t("span",wn,[L(Ce,{login:e.author,src:e.authorAvatarUrl,size:24},null,8,["login","src"])]),t("span",yn,"@"+r(e.author||"ghost"),1),s[8]||(s[8]=t("span",{class:"color-muted"},"commented",-1)),s[9]||(s[9]=t("span",{class:"color-faint"},"·",-1)),L(be,{time:e.createdAt},null,8,["time"]),s[10]||(s[10]=t("span",{class:"i-ph-caret-right-duotone color-faint text-xs ml-auto shrink-0"},null,-1))],8,_n)):(o(),n(N,{key:1},[t("span",$n,[L(Ce,{login:e.author,src:e.authorAvatarUrl,size:38},null,8,["login","src"])]),t("div",Cn,[t("div",{class:W(["flex items-center gap-2 px-4 py-2 border-b border-base bg-#8881 dark:bg-#fff1",T(e)?"cursor-pointer hover:bg-#8882 dark:hover:bg-#fff2":""]),onClick:_=>T(e)&&D(e.id)},[t("span",An,[t("span",En,"@"+r(e.author||"ghost"),1),t("span",qn,[s[11]||(s[11]=z(" commented ",-1)),L(be,{time:e.createdAt},null,8,["time"])])]),T(e)?(o(),n("span",In)):y("",!0)],10,Sn),t("div",Mn,[e.body?(o(),n("div",{key:0,class:"markdown-body text-sm",innerHTML:c(De)(e.body)},null,8,Tn)):(o(),n("p",Rn,"Empty comment.")),L(ze,{"item-number":u.item.number,target:{kind:"comment",commentId:e.commentId},reactions:e.reactions},null,8,["item-number","target","reactions"])])])],64))],8,xn)):e.kind==="orphanReview"?(o(),n("div",{key:2,class:"relative pl-10","data-testid":`orphan-review-${e.id}`},[t("span",Ln,[L(Ce,{login:e.author,src:e.authorAvatarUrl,size:24},null,8,["login","src"])]),t("div",Pn,[t("div",jn,[s[12]||(s[12]=t("span",{class:"i-octicon-comment-16 color-blue-600 dark:color-blue-500"},null,-1)),t("span",Un,[t("span",On,"@"+r(e.author||"ghost"),1),t("span",Nn,[z(" left "+r(e.comments.length)+" review comment"+r(e.comments.length===1?"":"s")+" ",1),L(be,{time:e.createdAt},null,8,["time"])])])]),t("div",zn,[L(Ye,{comments:e.comments},null,8,["comments"])])])],8,Dn)):e.event.kind==="reviewed"&&(e.event.review?.body||e.inlineReviewComments?.length)?(o(),n("div",Hn,[U(e)?(o(),n("button",{key:0,type:"button",class:"w-full flex items-center gap-2 text-sm py-1 text-left hover:bg-active rounded transition","data-testid":"collapsed-bot-review",onClick:_=>D(e.id)},[t("span",Bn,[t("span",Vn,[t("span",{class:W([c(fe)(e.event.review.state).icon,c(fe)(e.event.review.state).color,"text-xs"])},null,2)])]),L(he,{author:e.event.actor?{login:e.event.actor,avatarUrl:e.event.actorAvatarUrl}:"ghost",size:16},null,8,["author"]),t("span",Kn,r(c(fe)(e.event.review.state).label),1),s[13]||(s[13]=t("span",{class:"color-faint"},"·",-1)),L(be,{time:e.createdAt},null,8,["time"]),s[14]||(s[14]=t("span",{class:"i-ph-caret-right-duotone color-faint text-xs ml-auto shrink-0"},null,-1))],8,Fn)):(o(),n(N,{key:1},[t("span",Gn,[L(Ce,{login:e.event.actor,src:e.event.actorAvatarUrl,size:24},null,8,["login","src"])]),t("div",{class:W(["border-2 rounded-lg bg-base overflow-hidden",c(fe)(e.event.review.state).border])},[t("div",{class:W(["flex items-center gap-2 px-4 py-2 border-b border-base bg-#8881 dark:bg-#fff1",T(e)?"cursor-pointer hover:bg-#8882 dark:hover:bg-#fff2":""]),onClick:_=>T(e)&&D(e.id)},[t("span",{class:W([c(fe)(e.event.review.state).icon,c(fe)(e.event.review.state).color])},null,2),t("span",Wn,[t("span",Yn,"@"+r(e.event.actor||"ghost"),1),t("span",Jn,[z(r(c(fe)(e.event.review.state).label)+" ",1),L(be,{time:e.createdAt},null,8,["time"])])]),T(e)?(o(),n("span",Zn)):y("",!0)],10,Qn),t("div",Xn,[e.event.review.body?(o(),n("div",{key:0,class:"markdown-body text-sm",innerHTML:c(De)(e.event.review.body)},null,8,es)):y("",!0),e.event.review.nodeId?(o(),P(ze,{key:1,"item-number":u.item.number,target:{kind:"review",reviewId:e.event.review.nodeId},reactions:e.event.review.reactions},null,8,["item-number","target","reactions"])):y("",!0),e.inlineReviewComments?.length?(o(),P(Ye,{key:2,comments:e.inlineReviewComments},null,8,["comments"])):y("",!0)])],2)],64))])):e.event.kind==="reviewed"?(o(),P(X,{key:4,icon:c(fe)(e.event.review?.state??"commented").icon,color:c(fe)(e.event.review?.state??"commented").color,actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",ts,r(c(fe)(e.event.review?.state??"commented").label),1)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="committed"?(o(),P(X,{key:5,icon:"i-octicon-git-commit-16",actor:null,"created-at":e.createdAt},{default:j(()=>[t("span",os,r(e.event.actor||"unknown"),1),s[15]||(s[15]=t("span",{class:"color-muted"},"committed",-1)),B(e.event.sha,e.event.commitUrl)?(o(),n("a",{key:0,href:B(e.event.sha,e.event.commitUrl),target:"_blank",rel:"noreferrer",class:"color-active hover:underline",onClick:s[0]||(s[0]=de(()=>{},["stop"]))},[t("code",ss,r(q(e.event.sha)),1)],8,ns)):(o(),n("code",ls,r(q(e.event.sha)),1)),t("span",as,r(e.event.commitMessage),1)]),_:2},1032,["created-at"])):e.event.kind==="labeled"||e.event.kind==="unlabeled"?(o(),P(X,{key:6,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",rs,r(e.event.kind==="labeled"?"added":"removed"),1),L(lt,{name:e.event.label.name,"fallback-color":e.event.label.color},null,8,["name","fallback-color"]),s[16]||(s[16]=t("span",{class:"color-muted"},"label",-1))]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="assigned"||e.event.kind==="unassigned"?(o(),P(X,{key:7,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",is,r(e.event.kind==="assigned"?"assigned":"unassigned"),1),L(he,{author:e.event.assignee,size:16},null,8,["author"])]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="review_requested"||e.event.kind==="review_request_removed"?(o(),P(X,{key:8,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",cs,r(e.event.kind==="review_requested"?"requested review from":"removed review request for"),1),e.event.isTeam?(o(),n("span",us,"@"+r(e.event.requestedReviewer),1)):(o(),P(he,{key:0,author:e.event.requestedReviewer,size:16},null,8,["author"]))]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="renamed"?(o(),P(X,{key:9,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[s[17]||(s[17]=t("span",{class:"color-muted"},"renamed",-1)),t("span",ds,r(e.event.rename.from),1),s[18]||(s[18]=t("span",{class:"color-muted"},"→",-1)),t("span",ms,r(e.event.rename.to),1)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="referenced"||e.event.kind==="cross-referenced"||e.event.kind==="connected"||e.event.kind==="disconnected"||e.event.kind==="marked_as_duplicate"||e.event.kind==="unmarked_as_duplicate"?(o(),P(X,{key:10,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",ps,r(e.event.kind==="cross-referenced"?"mentioned this from":e.event.kind==="referenced"?"referenced this in":e.event.kind==="connected"?"linked":e.event.kind==="disconnected"?"unlinked":e.event.kind==="marked_as_duplicate"?"marked this as a duplicate of":"unmarked this as a duplicate of"),1),e.event.source?(o(),n(N,{key:0},[e.event.source.url?(o(),n("a",{key:0,href:e.event.source.url,target:"_blank",rel:"noreferrer",class:"font-mono color-active hover:underline",onClick:s[1]||(s[1]=de(()=>{},["stop"]))},"#"+r(e.event.source.number),9,vs)):(o(),n("span",fs,"#"+r(e.event.source.number),1)),e.event.source.title?(o(),n("span",bs,r(e.event.source.title),1)):y("",!0),e.event.source.repo?(o(),n("span",gs,r(e.event.source.repo),1)):y("",!0)],64)):(o(),n("span",hs,"another item"))]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="milestoned"||e.event.kind==="demilestoned"?(o(),P(X,{key:11,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",ks,r(e.event.kind==="milestoned"?"added this to the milestone":"removed this from the milestone"),1),e.event.milestone?(o(),n("span",xs,r(e.event.milestone),1)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="merged"?(o(),P(X,{key:12,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[s[20]||(s[20]=t("span",{class:"color-muted"},"merged this pull request",-1)),e.event.sha?(o(),n(N,{key:0},[s[19]||(s[19]=t("span",{class:"color-muted"},"via commit",-1)),B(e.event.sha,e.event.commitUrl)?(o(),n("a",{key:0,href:B(e.event.sha,e.event.commitUrl),target:"_blank",rel:"noreferrer",class:"color-active hover:underline",onClick:s[2]||(s[2]=de(()=>{},["stop"]))},[t("code",ws,r(q(e.event.sha)),1)],8,_s)):(o(),n("code",ys,r(q(e.event.sha)),1))],64)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="closed"?(o(),P(X,{key:13,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",$s,"closed this"+r(e.event.stateReason==="not_planned"?" as not planned":""),1),e.event.sha?(o(),n(N,{key:0},[s[21]||(s[21]=t("span",{class:"color-muted"},"via",-1)),B(e.event.sha,e.event.commitUrl)?(o(),n("a",{key:0,href:B(e.event.sha,e.event.commitUrl),target:"_blank",rel:"noreferrer",class:"color-active hover:underline",onClick:s[3]||(s[3]=de(()=>{},["stop"]))},[t("code",Ss,r(q(e.event.sha)),1)],8,Cs)):(o(),n("code",As,r(q(e.event.sha)),1))],64)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="reopened"?(o(),P(X,{key:14,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[...s[22]||(s[22]=[t("span",{class:"color-muted"},"reopened this",-1)])]),_:1},8,["icon","color","actor","created-at"])):e.event.kind==="ready_for_review"||e.event.kind==="convert_to_draft"?(o(),P(X,{key:15,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",Es,r(e.event.kind==="ready_for_review"?"marked this as ready for review":"converted this to draft"),1)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="head_ref_force_pushed"?(o(),P(X,{key:16,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[s[24]||(s[24]=t("span",{class:"color-muted"},"force-pushed the branch",-1)),e.event.sha?(o(),n(N,{key:0},[s[23]||(s[23]=t("span",{class:"color-muted"},"to",-1)),B(e.event.sha,e.event.commitUrl)?(o(),n("a",{key:0,href:B(e.event.sha,e.event.commitUrl),target:"_blank",rel:"noreferrer",class:"color-active hover:underline",onClick:s[4]||(s[4]=de(()=>{},["stop"]))},[t("code",Is,r(q(e.event.sha)),1)],8,qs)):(o(),n("code",Ms,r(q(e.event.sha)),1))],64)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="head_ref_deleted"||e.event.kind==="head_ref_restored"?(o(),P(X,{key:17,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",Ts,r(e.event.kind==="head_ref_deleted"?"deleted the branch":"restored the branch"),1)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="locked"?(o(),P(X,{key:18,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[s[26]||(s[26]=t("span",{class:"color-muted"},"locked this conversation",-1)),e.event.lockReason?(o(),n("span",Rs,[s[25]||(s[25]=z("as ",-1)),t("span",Ds,r(e.event.lockReason),1)])):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="unlocked"?(o(),P(X,{key:19,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[...s[27]||(s[27]=[t("span",{class:"color-muted"},"unlocked this conversation",-1)])]),_:1},8,["icon","color","actor","created-at"])):e.event.kind==="pinned"||e.event.kind==="unpinned"?(o(),P(X,{key:20,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",Ls,r(e.event.kind==="pinned"?"pinned this":"unpinned this"),1)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="transferred"?(o(),P(X,{key:21,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",Ps,"transferred this "+r(u.item.kind==="pull"?"pull request":"issue"),1),e.event.fromRepo?(o(),n(N,{key:0},[s[28]||(s[28]=t("span",{class:"color-muted"},"from",-1)),t("a",{href:`https://github.com/${e.event.fromRepo}`,target:"_blank",rel:"noreferrer",class:"color-active hover:underline",onClick:s[5]||(s[5]=de(()=>{},["stop"]))},[t("code",Us,r(e.event.fromRepo),1)],8,js)],64)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="base_ref_changed"?(o(),P(X,{key:22,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[s[31]||(s[31]=t("span",{class:"color-muted"},"changed the base branch",-1)),e.event.oldRef&&e.event.newRef?(o(),n(N,{key:0},[s[29]||(s[29]=t("span",{class:"color-muted"},"from",-1)),t("code",Os,r(e.event.oldRef),1),s[30]||(s[30]=t("span",{class:"color-muted"},"to",-1)),t("code",Ns,r(e.event.newRef),1)],64)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="auto_merge_enabled"||e.event.kind==="auto_merge_disabled"||e.event.kind==="auto_squash_enabled"||e.event.kind==="auto_squash_disabled"||e.event.kind==="auto_rebase_enabled"||e.event.kind==="auto_rebase_disabled"?(o(),P(X,{key:23,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",zs,r(c(Je)(e.event.kind)),1),e.event.commitTitle?(o(),n("span",Hs,"with commit")):y("",!0),e.event.commitTitle?(o(),n("span",Fs,r(e.event.commitTitle),1)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="review_dismissed"?(o(),P(X,{key:24,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[s[32]||(s[32]=t("span",{class:"color-muted"},"dismissed",-1)),e.event.reviewedBy?(o(),P(he,{key:0,author:e.event.reviewedBy,size:16},null,8,["author"])):y("",!0),t("span",Bs,r(e.event.reviewedBy?"'s review":"a review"),1),e.event.dismissedReview.dismissalMessage?(o(),n("span",Vs,"— "+r(e.event.dismissedReview.dismissalMessage),1)):y("",!0)]),_:2},1032,["icon","color","actor","created-at"])):e.event.kind==="commented"?(o(),P(X,{key:25,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[...s[33]||(s[33]=[t("span",{class:"color-muted"},"commented",-1)])]),_:1},8,["icon","color","actor","created-at"])):(o(),P(X,{key:26,icon:c(te)(e.event),color:c(oe)(e.event),actor:e.event.actor,"created-at":e.createdAt},{default:j(()=>[t("span",Ks,r(c(Je)(e.event.kind==="unknown"?e.event.rawKind??"unknown":e.event.kind)),1)]),_:2},1032,["icon","color","actor","created-at"]))],64))),128)),(o(!0),n(N,null,le(u.pendingComments??[],e=>(o(),n("div",{key:`pending-${e.id}`,class:"relative pl-10"},[t("span",Gs,[c($)?.login?(o(),P(Ce,{key:0,login:c($).login,src:c($).avatarUrl,size:30},null,8,["login","src"])):(o(),n("span",Qs))]),t("div",Ws,[t("div",Ys,[t("span",Js,[t("span",Zs,"@"+r(c($)?.login??"you"),1),s[34]||(s[34]=t("span",{class:"color-muted"}," · pending comment",-1)),e.op.action==="close-with-comment"?(o(),n("span",Xs," · will also close")):y("",!0)]),s[35]||(s[35]=t("div",{class:"flex-1"},null,-1)),L(Re,{icon:"i-ph-pencil-simple-duotone",size:"sm",tooltip:"Edit","aria-label":"Edit pending comment",onClick:_=>f("editPending",e)},null,8,["onClick"]),L(Re,{icon:"i-ph-trash-duotone",size:"sm",tooltip:"Remove","aria-label":"Remove pending comment",onClick:_=>f("removePending",e)},null,8,["onClick"])]),t("div",el,[t("p",tl,r(e.op.body||"(empty)"),1)])])]))),128))])]))}}),nl={class:"flex flex-col"},sl={class:"px-6 py-5"},ll={class:"rounded-lg border border-base bg-base overflow-hidden"},al={class:"flex items-center gap-2 px-4 py-2 border-b border-base bg-#8881 dark:bg-#fff1"},rl={class:"text-sm color-muted flex items-center gap-1.5"},il={class:"px-4 py-4"},cl=["innerHTML"],ul={key:1,class:"text-sm color-muted italic"},dl={key:0,class:"px-6 pb-6"},Ze=ie({__name:"DetailConversationTab",props:{item:{},comments:{},timeline:{},reviewComments:{},pendingComments:{}},emits:["editPending","removePending"],setup(u,{emit:b}){const w=u,f=b,$=m(()=>De(w.item.body)),R=m(()=>w.comments.length>0||(w.timeline?.length??0)>0||(w.reviewComments?.length??0)>0||(w.pendingComments?.length??0)>0);return(E,C)=>(o(),n("div",nl,[t("section",sl,[t("div",ll,[t("div",al,[L(he,{author:u.item.author?{login:u.item.author,avatarUrl:u.item.authorAvatarUrl}:"ghost",size:20},null,8,["author"]),t("span",rl,[t("span",null,"opened this "+r(u.item.kind==="pull"?"pull request":"issue"),1),L(be,{time:u.item.createdAt,colorize:"text"},null,8,["time"])])]),t("div",il,[u.item.body?(o(),n("div",{key:0,class:"markdown-body text-sm",innerHTML:$.value},null,8,cl)):(o(),n("p",ul,"No description provided.")),L(ze,{"item-number":u.item.number,target:{kind:"item"},reactions:u.item.reactions},null,8,["item-number","reactions"])])])]),R.value?(o(),n("section",dl,[L(ol,{item:u.item,comments:u.comments,timeline:u.timeline,"review-comments":u.reviewComments,"pending-comments":u.pendingComments,onEditPending:C[0]||(C[0]=h=>f("editPending",h)),onRemovePending:C[1]||(C[1]=h=>f("removePending",h))},null,8,["item","comments","timeline","review-comments","pending-comments"])])):y("",!0),u.item.kind==="pull"?(o(),P(Lo,{key:1,number:u.item.number},null,8,["number"])):y("",!0)]))}}),ml={key:0,class:"font-mono text-xs color-muted"},pl={class:"px-4 py-2 border-b border-base"},vl={class:"py-1"},fl={key:0,class:"px-4 py-6 text-sm text-center color-muted"},bl=["onMouseenter","onClick"],gl={key:0,class:"i-ph-check-bold text-white text-xs"},hl={key:0,class:"color-muted text-xs truncate"},kl={class:"text-xs color-muted"},xl=ie({__name:"DetailLabelEditor",setup(u){const b=ye(),w=Ae(),f=m(()=>w?.projectId??b.value),$=ke(w?.projectId),R=xe(),E=Pe(),C=kt(),h=m(()=>{const q=$.selectedNumber.value;return q==null?null:$.payload.value?.syncState.items[String(q)]??null}),a=m(()=>h.value?.data.item??null),i=qe(m(()=>a.value?.number??null),w?.projectId),l=m(()=>$.payload.value?.repositoryLabels??[]),G=m(()=>{const q=i.entries.value.find(p=>p.op.action==="set-labels");return q?[...q.op.labels]:[...a.value?.labels??[]]}),S=Z(new Set),Q=Z(""),D=Z(0),T=m(()=>{const q=Q.value.trim().toLowerCase();return q?l.value.filter(p=>p.name.toLowerCase().includes(q)||(p.description?.toLowerCase().includes(q)??!1)):l.value});ge(()=>E.labelEditorOpen.value,q=>{if(!q){H();return}S.value=new Set(G.value),Q.value="",D.value=0}),ge(T,()=>{D.value>=T.value.length&&(D.value=Math.max(0,T.value.length-1))});function U(q){const p=new Set(S.value);p.has(q)?p.delete(q):p.add(q),S.value=p}async function H(){if(!a.value)return;const q=new Set(G.value),p=S.value;if(q.size===p.size&&[...q].every(e=>p.has(e)))return;const s=[...p].sort();try{const e=i.entries.value.find(_=>_.op.action==="set-labels");e?await R.$call("ghfs:update-queue-op",f.value??"__default__",e.id,{action:"set-labels",number:a.value.number,labels:s}):await R.$call("ghfs:add-queue-op",f.value??"__default__",{action:"set-labels",number:a.value.number,labels:s})}catch(e){$.setError(e.message)}}function B(q){if(q.key==="ArrowDown")q.preventDefault(),D.value=Math.min(T.value.length-1,D.value+1);else if(q.key==="ArrowUp")q.preventDefault(),D.value=Math.max(0,D.value-1);else if(q.key==="Enter"||q.key===" "){const p=T.value[D.value];p&&(q.preventDefault(),U(p.name))}}return(q,p)=>(o(),P(xt,{open:c(E).labelEditorOpen.value,"onUpdate:open":p[1]||(p[1]=s=>c(E).labelEditorOpen.value=s),icon:"i-octicon-tag-16",width:"w-[min(92vw,32rem)]","max-height":"max-h-[70vh]","data-testid":"label-editor",description:"Toggle labels to queue a set-labels change for this item.",onKeydown:B},{header:j(()=>[p[2]||(p[2]=t("span",{class:"i-octicon-tag-16 color-active shrink-0"},null,-1)),p[3]||(p[3]=t("span",{class:"font-medium text-sm"},"Edit labels",-1)),a.value?(o(),n("span",ml,"#"+r(a.value.number),1)):y("",!0)]),actions:j(()=>[...p[4]||(p[4]=[t("span",{class:"text-xs color-muted"},[t("span",{class:"kbd"},"Esc"),z(" to save & close")],-1)])]),footer:j(()=>[p[5]||(p[5]=t("span",{class:"text-xs color-muted flex items-center gap-1"},[t("span",{class:"kbd"},"↑"),t("span",{class:"kbd"},"↓"),z(" move "),t("span",{class:"kbd"},"Enter"),z(" toggle ")],-1)),p[6]||(p[6]=t("div",{class:"flex-1"},null,-1)),t("span",kl,r(S.value.size)+" selected",1)]),default:j(()=>[t("div",pl,[L(tt,{modelValue:Q.value,"onUpdate:modelValue":p[0]||(p[0]=s=>Q.value=s),placeholder:"Filter labels…",icon:"i-ph-funnel-duotone","data-shortcut":"label-filter",autofocus:""},null,8,["modelValue"])]),t("ul",vl,[T.value.length?y("",!0):(o(),n("li",fl,[l.value.length?(o(),n(N,{key:0},[z('No labels match "'+r(Q.value)+'"',1)],64)):(o(),n(N,{key:1},[z("No labels in this repository yet.")],64))])),(o(!0),n(N,null,le(T.value,(s,e)=>(o(),n("li",{key:s.name,class:W(["flex items-center gap-3 px-3 py-1.5 text-sm cursor-pointer transition",D.value===e?"bg-active":"hover:bg-active"]),onMouseenter:_=>D.value=e,onClick:_=>U(s.name)},[t("span",{class:W(["inline-flex items-center justify-center w-4 h-4 rounded border border-base shrink-0 transition",S.value.has(s.name)?"bg-primary-500 border-primary-500":""])},[S.value.has(s.name)?(o(),n("span",gl)):y("",!0)],2),t("span",{class:"inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium leading-none shrink-0",style:_t(c($t)(s.color,c(C)))},r(s.name),5),s.description?(o(),n("span",hl,r(s.description),1)):y("",!0)],42,bl))),128))])]),_:1},8,["open"]))}});function _l(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var Ne,Xe;function wl(){if(Xe)return Ne;Xe=1,Ne=i=>{if(!i)return[];if(typeof i!="string"||i.match(/^\s+$/))return[];const l=i.split(`
6
+ `);if(l.length===0)return[];const G=[];let S=null,Q=null,D=0,T=0,U=null;const H=d=>{Q?.changes.push({type:"normal",normal:!0,ln1:D++,ln2:T++,content:d}),U.oldLines--,U.newLines--},B=d=>{const[v,J]=w(d)??[];S={chunks:[],deletions:0,additions:0,from:v,to:J},G.push(S)},q=()=>{(!S||S.chunks.length)&&B()},p=(d,v)=>{q(),S.new=!0,S.newMode=v[1],S.from="/dev/null"},s=(d,v)=>{q(),S.deleted=!0,S.oldMode=v[1],S.to="/dev/null"},e=(d,v)=>{q(),S.oldMode=v[1]},_=(d,v)=>{q(),S.newMode=v[1]},I=(d,v)=>{q(),S.index=d.split(" ").slice(1),v[1]&&(S.oldMode=S.newMode=v[1].trim())},g=d=>{q(),S.from=$(d)},V=d=>{q(),S.to=$(d)},Y=d=>+(d||1),ee=(d,v)=>{S||B(d);const[J,re,pe,_e]=v.slice(1);D=+J,T=+pe,Q={content:d,changes:[],oldStart:+J,oldLines:Y(re),newStart:+pe,newLines:Y(_e)},U={oldLines:Y(re),newLines:Y(_e)},S.chunks.push(Q)},ae=d=>{Q&&(Q.changes.push({type:"del",del:!0,ln:D++,content:d}),S.deletions++,U.oldLines--)},K=d=>{Q&&(Q.changes.push({type:"add",add:!0,ln:T++,content:d}),S.additions++,U.newLines--)},O=d=>{if(!Q)return;const[v]=Q.changes.slice(-1);Q.changes.push({type:v.type,[v.type]:!0,ln1:v.ln1,ln2:v.ln2,ln:v.ln,content:d})},ne=[[/^diff\s/,B],[/^new file mode (\d+)$/,p],[/^deleted file mode (\d+)$/,s],[/^old mode (\d+)$/,e],[/^new mode (\d+)$/,_],[/^index\s[\da-zA-Z]+\.\.[\da-zA-Z]+(\s(\d+))?$/,I],[/^---\s/,g],[/^\+\+\+\s/,V],[/^@@\s+-(\d+),?(\d+)?\s+\+(\d+),?(\d+)?\s@@/,ee],[/^\$/,O]],ce=[[/^\$/,O],[/^-/,ae],[/^\+/,K],[/^\s*/,H]],me=d=>{for(const[v,J]of ce){const re=d.match(v);if(re){J(d,re);break}}U.oldLines===0&&U.newLines===0&&(U=null)},A=d=>{for(const[v,J]of ne){const re=d.match(v);if(re){J(d,re);break}}},x=d=>{U?me(d):A(d)};for(const d of l)x(d);return G};const u=/(a|i|w|c|o|1|2)\/.*(?=["']? ["']?(b|i|w|c|o|1|2)\/)|(b|i|w|c|o|1|2)\/.*$/g,b=/^(a|b|i|w|c|o|1|2)\//,w=i=>i?.match(u)?.map(l=>l.replace(b,"").replace(/("|')$/,"")),f=/^\\?['"]|\\?['"]$/g,$=i=>{let l=R(i,"-+").trim();return l=C(l),l.replace(f,"").replace(b,"")},R=(i,l)=>{i=a(i);const G=h(l);return i.replace(new RegExp(`^${G}+`),"")},E=/\t.*|\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d(.\d+)?\s(\+|-)\d\d\d\d/,C=i=>{const l=E.exec(i);return l&&(i=i.substring(0,l.index).trim()),i},h=i=>i instanceof RegExp?i.source:`[${a(i).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}]`,a=i=>`${i??""}`;return Ne}var yl=wl();const $l=_l(yl);function Cl(u){return m(()=>{const b=u.value;if(!b)return[];try{return $l(b)}catch{return[]}})}const we=Ee(new Map);function Sl(u){const b=ye(),w=xe(),{offline:f}=He(),$=m(()=>{const E=u.value;return E==null?{state:"idle"}:we.get(E)??{state:"idle"}});async function R(E=!1){const C=u.value;if(C==null||f.value)return;const h=we.get(C);if(!(!E&&h&&h.state!=="idle"&&h.state!=="error")){we.set(C,{state:"loading"});try{const a=await w.$call("ghfs:get-pull-patch",b.value??"__default__",C);a==null?we.set(C,{state:"missing"}):we.set(C,{state:"loaded",text:a})}catch(a){we.set(C,{state:"error",error:a.message})}}}return ge(u,E=>{if(E==null)return;const C=we.get(E);(!C||C.state==="idle")&&R()},{immediate:!0}),{entry:$,load:R}}const Al={class:"border border-base rounded-lg bg-base overflow-hidden"},El={class:"font-mono text-xs truncate flex-1"},ql={class:"text-xs color-green-600 dark:color-green-500 font-mono"},Il={class:"text-xs color-red-600 dark:color-red-500 font-mono"},Ml={key:0,class:"overflow-x-auto"},Tl={class:"w-full font-mono text-xs border-collapse"},Rl={class:"bg-primary-500/8 dark:bg-primary-400/8"},Dl={colspan:"3",class:"px-3 py-1 color-muted text-[11px]"},Ll={class:"w-10 text-right px-2 py-0.5 color-faint select-none tabular-nums border-r border-base"},Pl={class:"w-10 text-right px-2 py-0.5 color-faint select-none tabular-nums border-r border-base"},jl={class:"px-3 py-0.5 whitespace-pre"},Ul=ie({__name:"DetailDiffFile",props:{file:{},defaultOpen:{type:Boolean,default:!0}},setup(u){const b=u,w=Z(b.defaultOpen),f=m(()=>{const{from:R,to:E}=b.file;return b.file.deleted&&R?R:b.file.new&&E?E:R&&E&&R!==E?`${R} → ${E}`:E??R??"(unknown)"}),$=m(()=>b.file.deleted?"deleted":b.file.new?"added":b.file.from&&b.file.to&&b.file.from!==b.file.to?"renamed":"");return(R,E)=>(o(),n("div",Al,[t("button",{type:"button",class:"w-full flex items-center gap-2 px-3 py-2 bg-#8881 dark:bg-#fff1 text-left hover:bg-#8882 transition",onClick:E[0]||(E[0]=C=>w.value=!w.value)},[t("span",{class:W([w.value?"i-ph-caret-down-duotone":"i-ph-caret-right-duotone","text-xs color-muted shrink-0"])},null,2),E[1]||(E[1]=t("span",{class:"i-octicon-file-diff-16 color-muted shrink-0"},null,-1)),t("span",El,r(f.value),1),$.value?(o(),P(at,{key:0,color:"neutral",size:"xs",class:"uppercase tracking-wide"},{default:j(()=>[z(r($.value),1)]),_:1})):y("",!0),t("span",ql,"+"+r(u.file.additions),1),t("span",Il,"-"+r(u.file.deletions),1)]),w.value?(o(),n("div",Ml,[t("table",Tl,[t("tbody",null,[(o(!0),n(N,null,le(u.file.chunks,(C,h)=>(o(),n(N,{key:h},[t("tr",Rl,[t("td",Dl,r(C.content),1)]),(o(!0),n(N,null,le(C.changes,(a,i)=>(o(),n("tr",{key:`${h}-${i}`,class:W({"bg-green-500/10":a.type==="add","bg-red-500/10":a.type==="del"})},[t("td",Ll,[a.type==="normal"?(o(),n(N,{key:0},[z(r(a.ln1),1)],64)):a.type==="del"?(o(),n(N,{key:1},[z(r(a.ln),1)],64)):y("",!0)]),t("td",Pl,[a.type==="normal"?(o(),n(N,{key:0},[z(r(a.ln2),1)],64)):a.type==="add"?(o(),n(N,{key:1},[z(r(a.ln),1)],64)):y("",!0)]),t("td",jl,r(a.content),1)],2))),128))],64))),128))])])])):y("",!0)]))}}),Ol={class:"px-6 py-5 flex flex-col gap-4"},Nl={key:3,class:"rounded-lg border border-red-500/40 bg-red-500/5 px-4 py-3 text-sm"},zl={class:"color-muted"},Hl={class:"flex items-center gap-3 text-xs color-muted px-1"},Fl={class:"color-active"},Bl={class:"color-green-600 dark:color-green-500 font-mono"},Vl={class:"color-red-600 dark:color-red-500 font-mono"},Kl=ie({__name:"DetailPrChangesTab",props:{number:{},hasPatch:{type:Boolean}},setup(u){const b=u,w=m(()=>b.hasPatch?b.number:null),{entry:f,load:$}=Sl(w),R=m(()=>f.value.state==="loaded"?f.value.text??"":""),E=Cl(R),C=m(()=>E.value.reduce((a,i)=>a+(i.additions??0),0)),h=m(()=>E.value.reduce((a,i)=>a+(i.deletions??0),0));return(a,i)=>(o(),n("div",Ol,[u.hasPatch?c(f).state==="loading"?(o(),P(Se,{key:1,size:"sm",message:"Loading patch…"},{default:j(()=>[...i[2]||(i[2]=[t("span",{class:"i-octicon-sync-16 animate-spin color-active text-xl"},null,-1)])]),_:1})):c(f).state==="missing"?(o(),P(Se,{key:2,icon:"i-ph-file-x-duotone",title:"Patch file is missing",message:"Run `ghfs sync` to re-download."})):c(f).state==="error"?(o(),n("div",Nl,[i[4]||(i[4]=t("p",{class:"font-medium color-red-600 dark:color-red-400 mb-1"},"Failed to load patch",-1)),t("p",zl,r(c(f).error),1),t("button",{type:"button",class:"btn-action-sm mt-2",onClick:i[0]||(i[0]=l=>c($)(!0))},[...i[3]||(i[3]=[t("span",{class:"i-octicon-sync-16"},null,-1),z(" Retry ",-1)])])])):c(f).state==="loaded"?(o(),n(N,{key:4},[c(E).length===0?(o(),P(Se,{key:0,icon:"i-ph-empty-duotone",message:"No file changes found in the patch."})):(o(),n(N,{key:1},[t("div",Hl,[t("span",null,[t("strong",Fl,r(c(E).length),1),z(" file"+r(c(E).length===1?"":"s")+" changed",1)]),i[5]||(i[5]=t("span",{class:"color-faint"},"·",-1)),t("span",Bl,"+"+r(C.value),1),t("span",Vl,"-"+r(h.value),1)]),(o(!0),n(N,null,le(c(E),(l,G)=>(o(),P(Ul,{key:`${l.from??""}-${l.to??""}-${G}`,file:l},null,8,["file"]))),128))],64))],64)):y("",!0):(o(),P(Se,{key:0,icon:"i-ph-file-diff-duotone",title:"Patch not synced for this pull request"},{hint:j(()=>[...i[1]||(i[1]=[t("p",{class:"text-xs color-muted max-w-md"},[z(" Set "),t("code",{class:"font-mono text-[11px] bg-#8881 px-1 py-0.5 rounded"},"sync.patches"),z(" to "),t("code",{class:"font-mono text-[11px] bg-#8881 px-1 py-0.5 rounded"},"'all'"),z(" in your ghfs config to include closed PR patches. ")],-1)])]),_:1}))]))}}),Gl={class:"px-6 py-5"},Ql={key:1,class:"border border-base rounded-lg bg-base overflow-hidden divide-y divide-#8882"},Wl={class:"flex items-start gap-3"},Yl={class:"flex-1 min-w-0"},Jl={class:"flex items-start gap-2 flex-wrap"},Zl=["aria-label","onClick"],Xl={class:"text-sm font-medium flex-1 min-w-0 leading-snug"},ea={key:0,class:"mt-2 text-xs color-muted whitespace-pre-wrap font-sans"},ta={class:"mt-1 flex items-center gap-2 text-xs color-muted flex-wrap"},oa={key:0,class:"font-mono"},na={key:1},sa={class:"flex items-center gap-1 shrink-0"},la=["href"],aa={key:1,class:"font-mono text-xs color-muted px-2 py-1 rounded bg-#8881"},ra=ie({__name:"DetailPrCommitsTab",props:{commits:{}},setup(u){const b=u,w=Ee(new Set);function f(C){w.has(C)?w.delete(C):w.add(C)}function $(C){return C.split(`
7
+ `,1)[0]??""}function R(C){const h=C.indexOf(`
8
+ `);return h===-1?"":C.slice(h+1).trim()}async function E(C){try{await navigator.clipboard.writeText(C)}catch{}}return(C,h)=>(o(),n("div",Gl,[!b.commits||b.commits.length===0?(o(),P(Se,{key:0,icon:"i-ph-git-commit-duotone",message:"No commits synced for this pull request."})):(o(),n("ol",Ql,[(o(!0),n(N,null,le(b.commits,a=>(o(),n("li",{key:a.sha,class:"px-4 py-3"},[t("div",Wl,[a.authorLogin?(o(),P(he,{key:0,author:a.authorLogin,size:24,"show-name":!1,class:"mt-0.5"},null,8,["author"])):y("",!0),t("div",Yl,[t("div",Jl,[R(a.message)?(o(),n("button",{key:0,type:"button",class:"w-5 h-5 mt-0.5 rounded op-fade hover:op100 hover:bg-active flex items-center justify-center transition","aria-label":w.has(a.sha)?"Collapse commit body":"Expand commit body",onClick:i=>f(a.sha)},[t("span",{class:W([w.has(a.sha)?"i-ph-caret-down-duotone":"i-ph-caret-right-duotone","text-xs"])},null,2)],8,Zl)):y("",!0),t("p",Xl,r($(a.message)),1)]),w.has(a.sha)&&R(a.message)?(o(),n("pre",ea,r(R(a.message)),1)):y("",!0),t("div",ta,[a.authorLogin?(o(),n("span",oa,"@"+r(a.authorLogin),1)):a.authorName?(o(),n("span",na,r(a.authorName),1)):y("",!0),h[0]||(h[0]=t("span",{class:"color-faint"},"·",-1)),L(be,{time:a.authorDate},null,8,["time"])])]),t("div",sa,[L(Re,{icon:"i-ph-copy-duotone",size:"sm",tooltip:"Copy SHA","aria-label":`Copy SHA ${a.sha}`,onClick:i=>E(a.sha)},null,8,["aria-label","onClick"]),a.url?(o(),n("a",{key:0,href:a.url,target:"_blank",rel:"noreferrer",class:"font-mono text-xs color-muted hover:color-active px-2 py-1 rounded bg-#8881"},r(a.sha.slice(0,7)),9,la)):(o(),n("code",aa,r(a.sha.slice(0,7)),1))])])]))),128))]))]))}}),ia={key:0,class:"h-full flex flex-col items-center justify-center"},ca={key:1,class:"h-full flex flex-col min-h-0 bg-base"},ua={key:0,class:"flex items-center gap-2 px-6 pt-3 pb-1 text-xs color-muted","data-testid":"detail-repo-line"},da={class:"font-mono"},ma={class:"flex items-center gap-2 px-6 py-2.5 border-b border-base"},pa={class:"flex-1 min-w-0 flex items-baseline gap-2 flex-wrap"},va=["innerHTML"],fa={class:"font-mono text-sm color-muted tabular-nums"},ba={class:"text-xs color-muted flex items-center gap-1"},ga={class:"flex items-center gap-1 shrink-0"},ha=["title"],ka={class:"border-b border-base text-xs"},xa=["disabled","onClick"],_a={key:0,class:"color-faint italic"},wa={key:0,class:"px-6 py-1.5 flex items-center gap-1.5 flex-wrap"},ya={class:"font-mono italic"},$a={key:1,class:"px-6 py-2 border-b border-yellow-500/30 bg-yellow-500/8 flex items-center gap-3 text-sm"},Ca={class:"flex-1 min-w-0"},Sa={class:"font-medium"},Aa={class:"color-muted"},Ea=["disabled","title"],qa={key:0,class:"tab-count"},Ia={key:0,class:"tab-count"},Ma={key:4,class:"border-t border-base px-6 py-3 bg-base"},Da=ie({__name:"Detail",props:{number:{default:null},projectId:{default:null},compact:{type:Boolean,default:!1},showRepo:{type:Boolean,default:!1}},setup(u){const b=u,w=ye(),f=m(()=>b.projectId??w.value);Et({projectId:f.value});const $=ke(b.projectId),R=xe(),E=Pe(),C=st(),{offline:h}=He(),a=m(()=>b.number!=null?b.number:$.selectedNumber.value),i=m(()=>{const d=a.value;return d==null?null:$.payload.value?.syncState.items[String(d)]??null}),l=m(()=>i.value?.data.item??null),G=m(()=>i.value?.data.comments??[]),S=m(()=>i.value?.data.pull),Q=m(()=>i.value?.data.commits??[]),D=m(()=>i.value?.data.timeline??[]),T=m(()=>i.value?.data.reviewComments??[]),U=m(()=>!!i.value?.patchPath),H=m(()=>l.value?.labels??[]),B=m(()=>l.value?.assignees??[]),q=m({get(){return E.uiState.lastPrTab??"conversation"},set(d){E.setLastPrTab(d)}}),p=qe(m(()=>l.value?.number??null),b.projectId),s=m(()=>l.value?p.direction.value==="close"?"closed":p.direction.value==="reopen"?"open":l.value.state:"open"),e=m(()=>{if(!l.value)return"open";const d=s.value;return l.value.kind==="pull"?d==="open"?S.value?.isDraft?"draft":"open":S.value?.merged?"merged":"closed":d==="closed"?l.value.stateReason==="not_planned"?"not planned":"closed":"open"}),_=m(()=>l.value?.kind==="pull"?"pull request":"issue"),I=m(()=>$.payload.value?.repo.hasToken??!1),g=m(()=>{const d=$.payload.value;return d?{id:d.projectId,repo:d.repo.repo}:null}),V=m(()=>{const d=p.pendingTitle.value?.op;return d&&d.action==="set-title"?d.title:l.value?.title??""}),Y=m(()=>!!p.pendingTitle.value),ee=m(()=>At(V.value)),ae=Z(null),K=Z(null),O=ko(),ne=O.isRefreshing(f,a);ge(a,()=>{Te(()=>{ae.value&&(ae.value.scrollTop=0)})}),ge([a,f],([d,v])=>{O.checkAndRefresh(v,d)},{immediate:!0}),ge([a,f,()=>i.value?.data.comments?.length??0],()=>{const d=a.value,v=f.value,J=i.value;if(d==null||!v||!J)return;const re=J.data.comments??[];let pe=null,_e="";for(const M of re)M.createdAt&&M.createdAt>_e&&(_e=M.createdAt,pe=M.id);C.markSeen(`${v}#${d}`,{lastCommentId:pe,lastSeenAt:new Date().toISOString()})},{immediate:!0});function ce(d){K.value?.startEditing(d)}async function me(d){$.setError(null);try{await R.$call("ghfs:remove-queue-op",f.value??"__default__",d.id)}catch(v){$.setError(v.message)}}async function A(){if(!l.value||$.executing.value||h.value)return;const d=p.entries.value.map(v=>v.id);if(d.length){$.setError(null),$.setExecuting(!0);try{await R.$call("ghfs:execute-queue",f.value??"__default__",{entryIds:d,continueOnError:!0})}catch(v){$.setError(`Execute failed: ${v.message}`),$.setExecuting(!1)}}}async function x(){$.setError(null);for(const d of p.entries.value)try{await R.$call("ghfs:remove-queue-op",f.value??"__default__",d.id)}catch(v){$.setError(v.message);return}}return(d,v)=>l.value?(o(),n("article",ca,[u.showRepo&&g.value?(o(),n("div",ua,[L(ot,{project:g.value,size:16},null,8,["project"]),t("span",da,r(g.value.repo),1)])):y("",!0),t("header",ma,[L(Ct,{item:l.value,pull:S.value,pending:c(p).direction.value,class:"shrink-0"},null,8,["item","pull","pending"]),t("div",pa,[t("h2",{class:W(["font-medium text-lg leading-tight",{italic:Y.value}]),"data-testid":"detail-title",innerHTML:ee.value},null,10,va),t("span",fa,"#"+r(l.value.number),1),L(xo,{state:e.value,kind:l.value.kind},null,8,["state","kind"]),l.value.kind==="pull"&&S.value?.reviewDecision?(o(),P(St,{key:0,decision:S.value.reviewDecision},null,8,["decision"])):y("",!0),c(p).direction.value?(o(),P(at,{key:1,color:"yellow",icon:"i-octicon-hourglass-16",size:"xs",class:"uppercase tracking-wide"},{default:j(()=>[...v[2]||(v[2]=[z(" pending ",-1)])]),_:1})):y("",!0),l.value.author?(o(),P(he,{key:2,author:{login:l.value.author,avatarUrl:l.value.authorAvatarUrl},size:14},null,8,["author"])):y("",!0),t("span",ba,[v[3]||(v[3]=t("span",{class:"color-faint"},"·",-1)),L(be,{time:l.value.createdAt},null,8,["time"])])]),t("div",ga,[c(ne)?(o(),n("span",{key:0,class:"i-octicon-sync-16 animate-spin color-muted text-sm",title:`Refreshing #${l.value.number} from GitHub…`,"data-testid":"detail-swr-indicator"},null,8,ha)):y("",!0),l.value?.url?(o(),P($e,{key:1,command:"list.open"},{default:j(()=>[L(Re,{as:"a",href:l.value?.url,target:"_blank",rel:"noreferrer",icon:"i-ph-arrow-square-out-duotone",size:"sm",tooltip:"Open on GitHub"},null,8,["href"])]),_:1})):y("",!0)])]),t("div",ka,[L($e,{command:"item.labels",tone:"muted",class:"!flex w-full pr-4"},{default:j(({execute:J,disabled:re})=>[t("button",{type:"button",class:"flex-1 min-w-0 px-6 py-1.5 flex items-center gap-1.5 flex-wrap text-left hover:bg-active transition outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500/40","data-testid":"detail-labels-row",title:"Edit labels",disabled:re,onClick:J},[v[4]||(v[4]=t("span",{class:"i-octicon-tag-16 color-muted"},null,-1)),(o(!0),n(N,null,le(H.value,pe=>(o(),P(lt,{key:pe,name:pe},null,8,["name"]))),128)),H.value.length?y("",!0):(o(),n("span",_a,"no labels"))],8,xa)]),_:1}),B.value.length||l.value.milestone?(o(),n("div",wa,[B.value.length?(o(),n(N,{key:0},[v[5]||(v[5]=t("span",{class:"i-octicon-person-16 color-muted"},null,-1)),(o(!0),n(N,null,le(B.value,J=>(o(),P(he,{key:J,author:J,size:14},null,8,["author"]))),128))],64)):y("",!0),l.value.milestone?(o(),n(N,{key:1},[v[6]||(v[6]=t("span",{class:"i-octicon-milestone-16 color-muted ml-2"},null,-1)),t("span",ya,r(l.value.milestone),1)],64)):y("",!0)])):y("",!0)]),c(p).hasPending.value?(o(),n("div",$a,[v[9]||(v[9]=t("span",{class:"i-octicon-hourglass-16 color-yellow-600 dark:color-yellow-400 shrink-0"},null,-1)),t("div",Ca,[t("span",Sa,r(c(p).entries.value.length)+" pending change"+r(c(p).entries.value.length===1?"":"s"),1),t("span",Aa," queued for this "+r(_.value),1)]),u.compact?y("",!0):(o(),n(N,{key:0},[t("button",{type:"button",class:"btn-action-sm",disabled:c($).executing.value||!I.value||c(h),title:c(h)?"Offline — execute paused":I.value?"Execute the pending changes for this item only":"No GitHub token available",onClick:A},[t("span",{class:W(c($).executing.value?"i-octicon-sync-16 animate-spin":"i-ph-play-duotone")},null,2),v[7]||(v[7]=z(" Execute ",-1))],8,Ea),t("button",{type:"button",class:"btn-action-sm",onClick:x},[...v[8]||(v[8]=[t("span",{class:"i-ph-trash-duotone"},null,-1),z(" Discard ",-1)])])],64))])):y("",!0),l.value.kind==="pull"?(o(),P(c(yt),{key:2,modelValue:q.value,"onUpdate:modelValue":v[0]||(v[0]=J=>q.value=J),class:"flex-1 flex flex-col min-h-0"},{default:j(()=>[L(c(wt),{class:"flex items-stretch gap-1 px-4 pt-3 border-b border-base"},{default:j(()=>[L(c(Ue),{value:"conversation",class:"tab-trigger"},{default:j(()=>[v[10]||(v[10]=t("span",{class:"i-octicon-comment-discussion-16"},null,-1)),v[11]||(v[11]=z(" Conversation ",-1)),G.value.length+D.value.length?(o(),n("span",qa,r(G.value.length+D.value.length),1)):y("",!0),L($e,{command:"pr.tab.conversation",tone:"muted"})]),_:1}),L(c(Ue),{value:"commits",class:"tab-trigger"},{default:j(()=>[v[12]||(v[12]=t("span",{class:"i-octicon-git-commit-16"},null,-1)),v[13]||(v[13]=z(" Commits ",-1)),Q.value.length?(o(),n("span",Ia,r(Q.value.length),1)):y("",!0),L($e,{command:"pr.tab.commits",tone:"muted"})]),_:1}),L(c(Ue),{value:"changes",class:"tab-trigger"},{default:j(()=>[v[14]||(v[14]=t("span",{class:"i-octicon-file-diff-16"},null,-1)),v[15]||(v[15]=z(" Changes ",-1)),L($e,{command:"pr.tab.changes",tone:"muted"})]),_:1})]),_:1}),t("div",{ref_key:"scrollContainer",ref:ae,"data-scroll":"detail",class:"flex-1 overflow-y-auto"},[L(c(Oe),{value:"conversation"},{default:j(()=>[L(Ze,{item:l.value,comments:G.value,timeline:D.value,"review-comments":T.value,"pending-comments":c(p).pendingComments.value,onEditPending:ce,onRemovePending:me},null,8,["item","comments","timeline","review-comments","pending-comments"])]),_:1}),L(c(Oe),{value:"commits"},{default:j(()=>[L(ra,{commits:Q.value},null,8,["commits"])]),_:1}),L(c(Oe),{value:"changes"},{default:j(()=>[L(Kl,{number:l.value.number,"has-patch":U.value},null,8,["number","has-patch"])]),_:1})],512)]),_:1},8,["modelValue"])):(o(),n("div",{key:3,ref_key:"scrollContainer",ref:ae,"data-scroll":"detail",class:"flex-1 overflow-y-auto"},[L(Ze,{item:l.value,comments:G.value,timeline:D.value,"pending-comments":c(p).pendingComments.value,onEditPending:ce,onRemovePending:me},null,8,["item","comments","timeline","pending-comments"])],512)),u.compact?y("",!0):(o(),n("footer",Ma,[L(go,{ref_key:"composerRef",ref:K,number:l.value.number,kind:l.value.kind},null,8,["number","kind"])])),L(xl)])):(o(),n("div",ia,[L(Se,{icon:"i-octicon-inbox-16",title:"Select an item on the left to view it here",size:"lg"},{hint:j(()=>[...v[1]||(v[1]=[t("p",{class:"text-xs color-faint"},[z(" Use "),t("span",{class:"kbd"},"j"),z(),t("span",{class:"kbd"},"k"),z(" to navigate items, "),t("span",{class:"kbd"},"↑"),z(),t("span",{class:"kbd"},"↓"),z(" to scroll. ")],-1)])]),_:1})]))}});export{go as _,Da as a,Et as p};
@@ -0,0 +1 @@
1
+ .splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}:has(.splitpanes--dragging){-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--ready .splitpanes__pane{will-change:width,height;transition:width .2s ease-out,height .2s ease-out}.splitpanes--ready.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes__splitter:focus{outline:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{box-sizing:border-box;background-color:#fff;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:focus-visible{outline-offset:-2px;outline:2px solid #3b82f6}.default-theme.splitpanes .splitpanes__splitter:after,.default-theme.splitpanes .splitpanes__splitter:before{content:"";background-color:#00000026;transition:background-color .3s;position:absolute;top:50%;left:50%}.default-theme.splitpanes .splitpanes__splitter:hover:after,.default-theme.splitpanes .splitpanes__splitter:hover:before{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;width:7px;margin-left:-1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{width:1px;height:30px;transform:translateY(-50%)}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{width:30px;height:1px;transform:translate(-50%)}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}
@@ -0,0 +1 @@
1
+ import{e as A,f as W,g as Z,h as Y,i as pe,o as a,c,a as e,n as w,j as n,t as v,b as _,_ as G,k as ce,r as me,l as m,m as R,p as ve,q as oe,s as P,v as fe,w as D,d as E,x as ne,y as be,z as ge,A as he,B as z,C as ye,D as de,F as ue,E as ae,G as xe,T as ke,H as _e,I as Ce,J as we,K as $e,L as je,M as L,N as Ie,O as se,P as ze,Q as le,R as ie,S as Se,U as De,V as Ee,W as Re}from"./C3qHPz2x.js";import{_ as J}from"./DlAUqK2U.js";import{p as Me,_ as Pe,a as Oe}from"./MnK0Tdwj.js";import"./CxFuatvT.js";const Be=260,re=160,qe=A({__name:"Actions",props:{busy:{type:Boolean,default:!1}},setup(l){const h=W(),s=Z("cards.todo"),y=Z("cards.ignore"),x=Z("cards.skip"),r=Z("cards.comment"),f=m(()=>h.currentIsTodo.value),C=m(()=>h.currentIsIgnored.value),$=m(()=>!!h.currentPendingComment.value);function k(u){return u==="top"?s:u==="left"?y:u==="right"?x:r}function j(u){const g=k(u);g.active.value&&g.command.value?.run()}const S=R(null),I=R({w:0,h:0});let o=null;function p(){const u=S.value;u&&(I.value={w:u.clientWidth,h:u.clientHeight})}Y(()=>{p(),typeof ResizeObserver<"u"&&S.value&&(o=new ResizeObserver(p),o.observe(S.value))}),pe(()=>{o?.disconnect()});const i=R(null);function K(u){const g=S.value?.getBoundingClientRect();if(!g)return;if(u.target?.closest("[data-cards-passthrough]")){i.value=null;return}const{w:B,h:q}=I.value;if(B===0||q===0)return;const N=u.clientX-g.left,T=u.clientY-g.top,te=Math.min(T,q-T),X=Math.min(N,B-N);if(te<re&&X<re){i.value=null;return}const Q=[{zone:"top",dist:T},{zone:"bottom",dist:q-T},{zone:"left",dist:N},{zone:"right",dist:B-N}];Q.sort((d,t)=>d.dist-t.dist);const F=Q[0];if(!F||F.dist>Be){i.value=null;return}if(!k(F.zone).active.value){i.value=null;return}i.value=F.zone}function H(){i.value=null}const U=m(()=>{const u=i.value;if(!u)return"rotateX(0deg)";switch(u){case"top":return"rotateX(-3.5deg)";case"bottom":return"rotateX(3.5deg)";case"left":return"translateX(-18px) rotateZ(-2.5deg)";case"right":return"translateX(18px) rotateZ(2.5deg)"}return"rotateX(0deg)"}),ee=m(()=>i.value!=="left"?"grayscale(0) opacity(1)":"grayscale(0.75) opacity(0.6)");function V(u){if(u.target?.closest("[data-cards-passthrough]"))return;const O=i.value;O&&j(O)}return(u,g)=>(a(),c("div",{ref_key:"arena",ref:S,class:"cards-arena",onMousemove:K,onMouseleave:H,onClick:V},[e("div",{class:w(["edge-overlay edge-overlay-top edge-zone-todo",{"edge-overlay-active":i.value==="top"}])},null,2),e("div",{class:w(["edge-overlay edge-overlay-left edge-zone-ignore",{"edge-overlay-active":i.value==="left"}])},null,2),e("div",{class:w(["edge-overlay edge-overlay-right edge-zone-skip",{"edge-overlay-active":i.value==="right"}])},null,2),e("div",{class:w(["edge-overlay edge-overlay-bottom edge-zone-comment",{"edge-overlay-active":i.value==="bottom"}])},null,2),e("div",{class:w(["edge-label edge-label-top edge-zone-todo",[{"edge-label-active":i.value==="top"},!n(s).active.value&&"edge-label-disabled"]]),"data-testid":"card-edge-todo"},[e("span",{class:w(f.value?"i-ph-bookmark-simple-fill":"i-ph-bookmark-simple-duotone")},null,2),e("span",null,v(f.value?"Marked as todo":"Mark as todo"),1),_(G,{command:"cards.todo"})],2),e("div",{class:w(["edge-label edge-label-left edge-zone-ignore",[{"edge-label-active":i.value==="left"},!n(y).active.value&&"edge-label-disabled"]]),"data-testid":"card-edge-ignore"},[e("span",{class:w(C.value?"i-ph-eye-slash-fill":"i-ph-eye-slash-duotone")},null,2),e("span",null,v(C.value?"Marked as ignore":"Mark as ignore"),1),_(G,{command:"cards.ignore"})],2),e("div",{class:w(["edge-label edge-label-right edge-zone-skip",[{"edge-label-active":i.value==="right"},!n(x).active.value&&"edge-label-disabled"]]),"data-testid":"card-edge-skip"},[g[0]||(g[0]=e("span",{class:"i-ph-skip-forward-duotone"},null,-1)),g[1]||(g[1]=e("span",null,"Skip",-1)),_(G,{command:"cards.skip"})],2),e("div",{class:w(["edge-label edge-label-bottom edge-zone-comment",[{"edge-label-active":i.value==="bottom"},!n(r).active.value&&"edge-label-disabled"]]),"data-testid":"card-edge-comment"},[e("span",{class:w($.value?"i-octicon-pencil-16":"i-octicon-comment-16")},null,2),e("span",null,v($.value?"Edit comment":"Comment"),1),_(G,{command:"cards.comment"})],2),e("div",{class:"card-stack-wrapper",style:ce({transform:U.value,filter:ee.value,opacity:l.busy?.85:1}),"data-cards-passthrough":""},[me(u.$slots,"default",{},void 0,!0)],4)],544))}}),Ne=J(qe,[["__scopeId","data-v-6f1e4720"]]),Te={class:"px-5 py-4 flex flex-col gap-2"},Fe=A({__name:"CommentDialog",props:ne({projectId:{},itemNumber:{},kind:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:ne(["submitted"],["update:open"]),setup(l,{emit:h}){const s=ve(l,"open"),y=l,x=h;Me({projectId:y.projectId});const r=W(),f=R(null),C=m(()=>!!r.currentPendingComment.value);oe(s,async k=>{if(!k)return;await be();const j=r.currentPendingComment.value;j&&f.value?.startEditing?f.value.startEditing(j):f.value?.focus()});function $(k){s.value=!1,x("submitted",k)}return(k,j)=>(a(),P(fe,{open:s.value,"onUpdate:open":j[0]||(j[0]=S=>s.value=S),title:`${C.value?"Edit pending comment":"Comment"} on ${l.kind==="pull"?"pull request":"issue"} #${l.itemNumber}`,icon:"i-octicon-comment-16",width:"w-[min(92vw,40rem)]"},{default:D(()=>[e("div",Te,[_(Pe,{ref_key:"composerRef",ref:f,number:l.itemNumber,kind:l.kind,onSubmitted:$},null,8,["number","kind"]),j[1]||(j[1]=e("p",{class:"text-xs color-faint"},[e("span",{class:"kbd"},"Esc"),E(" to cancel. ")],-1))])]),_:1},8,["open","title"]))}}),Le={class:"h-full flex flex-col items-center justify-center gap-6 px-6"},Ae={class:"text-center flex flex-col items-center gap-3"},He={class:"color-muted"},Ue={key:0},Ve={key:1},Xe={key:0,class:"text-sm text-red-500 dark:text-red-400"},Qe={key:1,class:"text-sm color-active flex items-center gap-2"},Ze={class:"flex items-center gap-3"},Ge=["disabled","title"],We={key:0},Ye={key:1},Je=A({__name:"Done",props:{pileSize:{},processedOps:{},hasMoreItems:{type:Boolean}},emits:["another","done"],setup(l,{emit:h}){const s=l,y=h,x=ge(),{offline:r}=he(),f=R(!1),C=R(null),$=R(!1),k=m(()=>s.processedOps.length);async function j(){const o=(await ye(()=>import("./C2jkTI5u.js"),[],import.meta.url)).default,p=(i=0)=>{setTimeout(()=>{o({particleCount:120,spread:70,startVelocity:38,origin:{x:.5,y:.55},scalar:.9,ticks:220})},i)};p(0),p(280),p(560)}Y(()=>{j()});async function S(){if(f.value||k.value===0||r.value)return;f.value=!0,C.value=null;const I=new Map;for(const o of s.processedOps){const p=I.get(o.projectId)??[];p.push(o.opId),I.set(o.projectId,p)}try{for(const[o,p]of I)await x.$call("ghfs:execute-queue",o,{entryIds:p,continueOnError:!0});$.value=!0}catch(o){C.value=o.message}finally{f.value=!1}}return(I,o)=>(a(),c("div",Le,[e("div",Ae,[o[2]||(o[2]=e("span",{class:"i-ph-trophy-duotone text-6xl color-active"},null,-1)),o[3]||(o[3]=e("h2",{class:"text-2xl font-medium"},"All done!",-1)),e("p",He,[E(" You finished a pile of "+v(l.pileSize)+" card"+v(l.pileSize===1?"":"s")+". ",1),k.value>0?(a(),c("span",Ue,v(k.value)+" change"+v(k.value===1?"":"s")+" queued. ",1)):(a(),c("span",Ve," No changes queued. "))])]),C.value?(a(),c("div",Xe,v(C.value),1)):z("",!0),$.value?(a(),c("div",Qe,[...o[4]||(o[4]=[e("span",{class:"i-octicon-check-circle-16"},null,-1),E(" Queue executed. ",-1)])])):z("",!0),e("div",Ze,[k.value>0&&!$.value?(a(),c("button",{key:0,type:"button",class:"btn-primary text-sm",disabled:f.value||n(r),title:n(r)?"Offline — execute paused":void 0,"data-testid":"card-done-execute",onClick:S},[e("span",{class:w(f.value?"i-octicon-sync-16 animate-spin":"i-ph-play-duotone")},null,2),f.value?(a(),c("span",We,"Executing…")):(a(),c("span",Ye,"Execute now ("+v(k.value)+")",1))],8,Ge)):z("",!0),l.hasMoreItems?(a(),c("button",{key:1,type:"button",class:"btn-action text-sm","data-testid":"card-done-another",onClick:o[0]||(o[0]=p=>y("another"))},[...o[5]||(o[5]=[e("span",{class:"i-ph-shuffle-duotone"},null,-1),E(" Another pile ",-1)])])):z("",!0),e("button",{type:"button",class:"btn-action text-sm","data-testid":"card-done-finish",onClick:o[1]||(o[1]=p=>y("done"))},[...o[6]||(o[6]=[e("span",{class:"i-ph-house-duotone"},null,-1),E(" Done ",-1)])])])]))}}),Ke={class:"card-face"},et={key:0,class:"h-full overflow-hidden rounded-2xl border border-base bg-base"},tt={key:1,class:"h-full flex flex-col items-center justify-center rounded-2xl border border-base bg-base color-muted gap-3"},st={class:"text-sm"},at={key:1,class:"h-full rounded-2xl border border-base bg-base px-6 py-4 flex flex-col gap-2","aria-hidden":"true"},ot={class:"flex items-center gap-2 text-xs color-muted"},nt={class:"font-mono"},lt={class:"font-medium text-base color-base line-clamp-2"},it=A({__name:"Face",props:{card:{},depth:{},isFront:{type:Boolean,default:!1}},setup(l){const h=l,{ensureLoaded:s}=de(),y=W(),x=m(()=>ae(h.card.projectId)),r=m(()=>!!x.value.payload.value),f=m(()=>!y.source.value.project);return Y(()=>{s(h.card.projectId)}),oe(()=>h.card.projectId,C=>{s(C)}),(C,$)=>(a(),c("div",Ke,[l.isFront?(a(),c(ue,{key:0},[r.value?(a(),c("div",et,[_(Oe,{"project-id":l.card.projectId,number:l.card.number,"show-repo":f.value,compact:""},null,8,["project-id","number","show-repo"])])):(a(),c("div",tt,[$[0]||($[0]=e("span",{class:"i-octicon-sync-16 animate-spin text-2xl color-active"},null,-1)),e("p",st,"Loading "+v(l.card.repo)+"#"+v(l.card.number)+"…",1)]))],64)):(a(),c("div",at,[e("div",ot,[e("span",{class:w(l.card.kind==="pull"?"i-octicon-git-pull-request-16":"i-octicon-issue-opened-16")},null,2),e("span",nt,v(l.card.repo)+" · #"+v(l.card.number),1)]),e("p",lt,v(l.card.title),1)]))]))}}),rt=J(it,[["__scopeId","data-v-45433a3f"]]),ct={class:"card-stack relative","data-testid":"card-stack"},dt=A({__name:"Stack",props:{pile:{},index:{}},setup(l){const h=l,s=m(()=>{const y=[];for(let x=0;x<4;x+=1){const r=h.pile[h.index+x];if(!r)break;y.push({card:r,depth:x,key:`${r.projectId}#${r.number}`})}return y});return(y,x)=>(a(),c("div",ct,[_(ke,{name:"card-flip"},{default:D(()=>[(a(!0),c(ue,null,xe(s.value,r=>(a(),c("div",{key:r.key,class:w(["card",r.depth===0?"card-active":`card-peek-${r.depth}`]),style:ce({zIndex:4-r.depth})},[_(rt,{card:r.card,depth:r.depth,"is-front":r.depth===0},null,8,["card","depth","is-front"])],6))),128))]),_:1})]))}}),ut=J(dt,[["__scopeId","data-v-a9dd1ca7"]]),pt={class:"cards-page h-screen w-full flex flex-col bg-secondary"},mt={class:"flex items-center gap-3 px-5 py-3 border-b border-base bg-base"},vt=["onClick"],ft={class:"flex items-center gap-2 text-sm","data-testid":"cards-source-title"},bt={class:"font-medium"},gt={key:1,class:"color-muted"},ht={key:0,class:"flex items-center gap-2 text-sm color-muted"},yt={class:"font-mono tabular-nums"},xt=["disabled","onClick"],kt=["disabled","onClick"],_t={key:0,class:"absolute -top-1 -right-1 badge-color-green !px-1 !py-0 font-mono tabular-nums text-[10px] leading-none min-w-4 h-4 justify-center"},Ct={class:"flex-1 relative overflow-hidden"},wt={key:0,class:"h-full flex flex-col items-center justify-center gap-3 color-muted"},$t={key:3,class:"h-full flex flex-col items-center justify-center gap-3 color-muted"},jt=A({__name:"cards",setup(l){const h=_e(),s=W(),y=De(),x=Re(),r=ze(),f=ae(),C=Ce(),{upCount:$}=we(),{totalCount:k}=$e(),{currentUser:j}=je(),{ensureLoaded:S}=de(),I=m(()=>x.capabilities.value?.mode==="hub"),o=m(()=>I.value?k.value:$.value),p=s.currentCard,i=s.total,K=m(()=>Math.min(s.index.value+1,i.value)),H=s.advancing,U=m(()=>i.value>0&&s.done.value),ee=m(()=>i.value>0),V=s.source,u=m(()=>V.value.label),g=m(()=>V.value.project??null),O=m(()=>j.value?.login??null),B=m(()=>{switch(s.options.value.kind){case"issue":return"Issues";case"pull":return"Pull requests";default:return""}}),q=R(!0);Y(async()=>{await s.hydrate(),q.value=!1});async function N(){const d=ie();d.items.value.length===0&&await d.load();const t=le().filteredItems.value;s.openStartDialog(t,{label:"Recent"})}oe(()=>y.labelEditorOpen.value,async(d,t)=>{t&&!d&&s.labelsPendingFor.value&&(s.labelsPendingFor.value=null,await s.advance())});function T(){s.reset(),h.push("/")}async function te(d){const t=s.currentCard.value;t&&d&&s.recordOp(t.projectId,d),await s.advance()}async function X(){const d=s.source.value;if(!d.project&&d.label==="Recent"){const t=ie();return t.items.value.length===0&&await t.load(),le().filteredItems.value}if(!d.project&&d.label==="Todo"){const t=Ee();return t.items.value.length===0&&await t.load(),t.listItems.value}if(d.project){await S(d.project.id);const t=ae(d.project.id).payload.value;return t?Object.values(t.syncState.items).filter(b=>b.data.item.state==="open"&&!y.isIgnored(b.data.item.number)).map(b=>Se(b,d.project.id,t.repo.repo)):[]}return[]}async function Q(){const d=await X();s.anotherPile(d,O.value)}async function F(){const d=await X();s.restartPile(d,O.value)}return(d,t)=>(a(),c("div",pt,[e("header",mt,[_(L,{command:"cards.exit"},{default:D(({execute:b})=>[e("button",{type:"button",class:"btn-action-sm",title:"Exit card pile","data-testid":"cards-exit",onClick:b},[...t[1]||(t[1]=[e("span",{class:"i-ph-arrow-left-duotone"},null,-1),E(" Exit ",-1)])],8,vt)]),_:1}),t[6]||(t[6]=e("div",{class:"h-6 border-l border-base mx-1 flex-none"},null,-1)),e("div",ft,[t[2]||(t[2]=e("span",{class:"i-ph-cards-three-duotone color-active"},null,-1)),g.value?(a(),P(Ie,{key:0,project:g.value,size:18},null,8,["project"])):z("",!0),e("span",bt,v(g.value?g.value.repo:u.value),1),B.value?(a(),c("span",gt,"· "+v(B.value),1)):z("",!0)]),t[7]||(t[7]=e("div",{class:"flex-1"},null,-1)),!U.value&&n(p)?(a(),c("div",ht,[e("span",yt,v(K.value)+" / "+v(n(i)),1)])):z("",!0),U.value?z("",!0):(a(),P(L,{key:1,command:"cards.previous"},{default:D(({execute:b,disabled:M})=>[e("button",{type:"button",class:"btn-action-sm",title:"Previous card","data-testid":"cards-previous",disabled:M,onClick:b},[...t[3]||(t[3]=[e("span",{class:"i-ph-skip-back-duotone"},null,-1),E(" Previous ",-1)])],8,xt)]),_:1})),n(i)>0?(a(),c("button",{key:2,type:"button",class:"btn-action-sm",title:"Re-generate the pile with the same options","data-testid":"cards-restart",onClick:F},[...t[4]||(t[4]=[e("span",{class:"i-ph-arrow-clockwise-duotone"},null,-1),E(" Restart pile ",-1)])])):z("",!0),n(i)>0?(a(),P(L,{key:3,command:"cards.dismiss"},{default:D(({execute:b,disabled:M})=>[e("button",{type:"button",class:"btn-action-sm",title:"Discard this pile","data-testid":"cards-dismiss",disabled:M,onClick:b},[...t[5]||(t[5]=[e("span",{class:"i-ph-trash-duotone"},null,-1),E(" Discard pile ",-1)])],8,kt)]),_:1})):z("",!0),t[8]||(t[8]=e("div",{class:"h-6 border-l border-base mx-1 flex-none"},null,-1)),_(L,{command:"action.queue",placement:"badge"},{default:D(({execute:b,disabled:M})=>[_(se,{icon:I.value?"i-ph-list-checks-duotone":"i-octicon-list-unordered-16",tooltip:"Queue",active:I.value?n(r).queueDrawerOpen.value:n(f).queueOpen.value,"data-testid":"cards-queue-toggle",disabled:M,onClick:b},{badge:D(()=>[o.value>0?(a(),c("span",_t,v(o.value),1)):z("",!0)]),_:1},8,["icon","active","disabled","onClick"])]),_:1}),_(L,{command:"settings.open",placement:"badge"},{default:D(({execute:b,disabled:M})=>[_(se,{icon:"i-ph-gear-six-duotone",tooltip:"Settings","data-testid":"cards-settings",disabled:M,onClick:b},null,8,["disabled","onClick"])]),_:1}),_(L,{command:"action.theme",placement:"badge"},{default:D(({execute:b})=>[_(se,{icon:n(C)?"i-ph-sun-duotone":"i-ph-moon-duotone",tooltip:n(C)?"Light mode":"Dark mode",onClick:b},null,8,["icon","tooltip","onClick"])]),_:1})]),e("main",Ct,[q.value?(a(),c("div",wt,[...t[9]||(t[9]=[e("span",{class:"i-octicon-sync-16 animate-spin text-2xl color-active"},null,-1),e("p",{class:"text-sm"},"Loading pile…",-1)])])):U.value&&!n(H)?(a(),P(Je,{key:1,"pile-size":n(i),"processed-ops":n(s).processedOps.value,"has-more-items":ee.value,onAnother:Q,onDone:T},null,8,["pile-size","processed-ops","has-more-items"])):n(p)||n(H)?(a(),P(Ne,{key:2,busy:n(H)},{default:D(()=>[_(ut,{pile:n(s).pile.value,index:n(s).index.value},null,8,["pile","index"])]),_:1},8,["busy"])):(a(),c("div",$t,[t[11]||(t[11]=e("span",{class:"i-ph-cards-duotone text-4xl"},null,-1)),t[12]||(t[12]=e("p",null,"No card pile loaded.",-1)),e("button",{type:"button",class:"btn-action text-sm","data-testid":"cards-empty-create",onClick:N},[...t[10]||(t[10]=[e("span",{class:"i-ph-cards-three-duotone"},null,-1),E(" Create a new pile ",-1)])])]))]),n(p)?(a(),P(Fe,{key:0,open:n(s).commentDialogOpen.value,"onUpdate:open":t[0]||(t[0]=b=>n(s).commentDialogOpen.value=b),"project-id":n(p).projectId,"item-number":n(p).number,kind:n(p).kind,onSubmitted:te},null,8,["open","project-id","item-number","kind"])):z("",!0)]))}}),Et=J(jt,[["__scopeId","data-v-0e435f25"]]);export{Et as default};
@@ -1 +1 @@
1
- import{_ as s}from"./BqmRGtwl.js";import{_ as a}from"./DlAUqK2U.js";import{u as i,o as u,c,a as t,t as n,b as l,w as d,d as f}from"./DHH7xZXJ.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return i({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return u(),c("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[l(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:d(()=>[f(n(e.backHome),1)]),_:1})])])])}}},z=a(y,[["__scopeId","data-v-91f7f6e6"]]);export{z as default};
1
+ import{_ as s}from"./D8shZTBd.js";import{_ as a}from"./DlAUqK2U.js";import{u as i,o as u,c,a as t,t as n,b as l,w as d,d as f}from"./C3qHPz2x.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return i({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return u(),c("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[l(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:d(()=>[f(n(e.backHome),1)]),_:1})])])])}}},z=a(y,[["__scopeId","data-v-73ba1ce9"]]);export{z as default};
@@ -0,0 +1 @@
1
+ import{j as E,q as K,a6 as we,aG as ne,aH as Ce,l as b,e as N,H as ue,aI as Ie,o as m,c as y,a as h,s as A,N as Q,B as k,t as z,b as _,ak as Ee,w as O,an as de,F as L,G as Y,n as W,d as D,m as P,y as _e,W as he,p as Me,E as fe,z as me,A as pe,v as Te,X as ge,I as Oe,Z as ze,J as $e,K as Ae,f as je,M as R,O as H,P as Re,az as Fe,ay as De,aJ as Le,Y as He,k as ie,r as Pe}from"./C3qHPz2x.js";import{_ as We}from"./D8shZTBd.js";import{u as Be,a as Ne,e as Ve,d as qe,c as Ke,_ as Ue,f as Je,b as Ge}from"./CxFuatvT.js";function Qe(i,c,e){const t=new Array(i);return new Proxy(t,{get(s,n,a){if(typeof n=="string"){const o=n.charCodeAt(0);if(o>=48&&o<=57){const d=+n;if(Number.isInteger(d)&&d>=0&&d<i){let r=s[d];if(!r){const u=c[d*2];r=s[d]={index:d,key:e(d),start:u,size:c[d*2+1],end:u+c[d*2+1],lane:0}}return r}}if(n==="length")return i}return Reflect.get(s,n,a)}})}function V(i,c,e){let t=e.initialDeps??[],s,n=!0;function a(){const o=i();return(o.length!==t.length||o.some((r,u)=>t[u]!==r))&&(t=o,s=c(...o),e?.onChange&&!(n&&e.skipInitialOnChange)&&e.onChange(s),n=!1),s}return a.updateDeps=o=>{t=o},a}function oe(i,c){if(i===void 0)throw new Error("Unexpected undefined");return i}const le=(i,c)=>Math.abs(i-c)<1.01,Ye=(i,c,e)=>{let t;return function(...s){i.clearTimeout(t),t=i.setTimeout(()=>c.apply(this,s),e)}};let q;const ae=()=>{if(q!==void 0)return q;if(typeof navigator>"u")return q=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return q=!0;const i=navigator.maxTouchPoints;return q=navigator.platform==="MacIntel"&&i!==void 0&&i>0},re=i=>{const{offsetWidth:c,offsetHeight:e}=i;return{width:c,height:e}},Xe=i=>i,Ze=i=>{const c=Math.max(i.startIndex-i.overscan,0),t=Math.min(i.endIndex+i.overscan,i.count-1)-c+1,s=new Array(t);for(let n=0;n<t;n++)s[n]=c+n;return s},et=(i,c)=>{const e=i.scrollElement;if(!e)return;const t=i.targetWindow;if(!t)return;const s=a=>{const{width:o,height:d}=a;c({width:Math.round(o),height:Math.round(d)})};if(s(re(e)),!t.ResizeObserver)return()=>{};const n=new t.ResizeObserver(a=>{const o=()=>{const d=a[0];if(d?.borderBoxSize){const r=d.borderBoxSize[0];if(r){s({width:r.inlineSize,height:r.blockSize});return}}s(re(e))};i.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()});return n.observe(e,{box:"border-box"}),()=>{n.unobserve(e)}},X={passive:!0},tt=typeof window>"u"?!0:"onscrollend"in window,st=(i,c,e)=>{const t=i.scrollElement;if(!t)return;const s=i.targetWindow;if(!s)return;const n=i.options.useScrollendEvent&&tt;let a=0;const o=n?null:Ye(s,()=>c(a,!1),i.options.isScrollingResetDelay),d=l=>()=>{a=e(t),o?.(),c(a,l)},r=d(!0),u=d(!1);return t.addEventListener("scroll",r,X),n&&t.addEventListener("scrollend",u,X),()=>{t.removeEventListener("scroll",r),n&&t.removeEventListener("scrollend",u)}},nt=(i,c)=>st(i,c,e=>{const{horizontal:t,isRtl:s}=i.options;return t?e.scrollLeft*(s&&-1||1):e.scrollTop}),it=(i,c,e)=>{if(c?.borderBoxSize){const t=c.borderBoxSize[0];if(t)return Math.round(t[e.options.horizontal?"inlineSize":"blockSize"])}return i[e.options.horizontal?"offsetWidth":"offsetHeight"]},ot=(i,{adjustments:c=0,behavior:e},t)=>{var s,n;(n=(s=t.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[t.options.horizontal?"left":"top"]:i+c,behavior:e})},lt=ot;class at{constructor(c){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e,t,s;return((s=(t=(e=this.targetWindow)==null?void 0:e.performance)==null?void 0:t.now)==null?void 0:s.call(t))??Date.now()},this.observer=(()=>{let e=null;const t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{const a=()=>{const o=n.target,d=this.indexFromElement(o);if(!o.isConnected){this.observer.unobserve(o);for(const[r,u]of this.elementsCache)if(u===o){this.elementsCache.delete(r);break}return}this.shouldMeasureDuringScroll(d)&&this.resizeItem(d,this.options.measureElement(o,n,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var s;(s=t())==null||s.disconnect(),e=null},observe:s=>{var n;return(n=t())==null?void 0:n.observe(s,{box:"border-box"})},unobserve:s=>{var n;return(n=t())==null?void 0:n.unobserve(s)}}})(),this.range=null,this.setOptions=e=>{var t,s;const n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Xe,rangeExtractor:Ze,onChange:()=>{},measureElement:it,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate"};for(const r in e){const u=e[r];u!==void 0&&(n[r]=u)}const a=this.options;let o=null,d=null;if(a!==void 0&&a.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){const r=a.count,u=n.count,l=this.getMeasurements(),f=r>0?((t=l[0])==null?void 0:t.key)??a.getItemKey(0):null,C=r>0?((s=l[r-1])==null?void 0:s.key)??a.getItemKey(r-1):null;if(u!==r||r>0&&u>0&&(n.getItemKey(0)!==f||n.getItemKey(u-1)!==C)){const x=r>0?this.getVirtualItemForOffset(this.getScrollOffset())??l[0]:null;x&&(o=[x.key,this.getScrollOffset()-x.start]);const w=n.followOnAppend===!0?"auto":n.followOnAppend||null;w&&u>r&&this.isAtEnd(a.scrollEndThreshold)&&(r===0||n.getItemKey(u-1)!==C)&&(d=w)}}this.options=n,(o||d)&&(this.pendingScrollAnchor=[o?.[0]??null,o?.[1]??0,d])},this.notify=e=>{var t,s;(s=(t=this.options).onChange)==null||s.call(t,this,e)},this.maybeNotify=V(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t){this.maybeNotify();return}if(this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((e=this.scrollElement)==null?void 0:e.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,a)=>{this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=a?this.getScrollOffset()<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=a,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const n=this.scrollElement,a=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},o=()=>{this._iosTouching=!1,!(!ae()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};n.addEventListener("touchstart",a,X),n.addEventListener("touchend",o,X),this.unsubs.push(()=>{n.removeEventListener("touchstart",a),n.removeEventListener("touchend",o),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[n,a,o]=s;if(n!==null){const{count:d,getItemKey:r}=this.options;let u=0;for(;u<d&&r(u)!==n;)u++;const l=u<d?this.getMeasurements()[u]:void 0;if(l){const f=l.start+a-this.getScrollOffset();le(f,0)||this.applyScrollAdjustment(f)}}o&&this.scrollToEnd({behavior:o})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{const s=new Map,n=new Map;for(let a=t-1;a>=0;a--){const o=e[a];if(s.has(o.lane))continue;const d=n.get(o.lane);if(d==null||o.end>d.end?n.set(o.lane,o):o.end<d.end&&s.set(o.lane,!0),s.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((a,o)=>a.end===o.end?a.index-o.index:a.end-o.end)[0]:void 0},this.getMeasurementOptions=V(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,s,n,a,o,d)=>(this.prevLanes!==void 0&&this.prevLanes!==o&&(this.lanesChangedFlag=!0),this.prevLanes=o,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:a,lanes:o,laneAssignmentMode:d}),{key:!1}),this.getMeasurements=V(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:a,lanes:o,laneAssignmentMode:d},r)=>{const u=this.itemSizeCache;if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(const v of this.laneAssignments.keys())v>=e&&this.laneAssignments.delete(v);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(v=>{this.itemSizeCache.set(v.key,v.size)}));const l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),o===1){const v=this.options.gap,I=e*2;let x=this._flatMeasurements;if(!x||x.length<I){const p=new Float64Array(I);x&&l>0&&p.set(x.subarray(0,l*2)),x=p,this._flatMeasurements=x}let w;if(l===0)w=t+s;else{const p=l-1;w=x[p*2]+x[p*2+1]+v}for(let p=l;p<e;p++){const S=n(p),j=u.get(S),B=typeof j=="number"?j:this.options.estimateSize(p);x[p*2]=w,x[p*2+1]=B,w+=B+v}const g=Qe(e,x,n);return this.measurementsCache=g,g}const f=this.measurementsCache.slice(0,l),C=new Array(o).fill(void 0);for(let v=0;v<l;v++){const I=f[v];I&&(C[I.lane]=v)}for(let v=l;v<e;v++){const I=n(v),x=this.laneAssignments.get(v);let w,g;const p=d==="estimate"||u.has(I);if(x!==void 0&&this.options.lanes>1){w=x;const F=C[w],U=F!==void 0?f[F]:void 0;g=U?U.end+this.options.gap:t+s}else{const F=this.options.lanes===1?f[v-1]:this.getFurthestMeasurement(f,v);g=F?F.end+this.options.gap:t+s,w=F?F.lane:v%this.options.lanes,this.options.lanes>1&&p&&this.laneAssignments.set(v,w)}const S=u.get(I),j=typeof S=="number"?S:this.options.estimateSize(v),B=g+j;f[v]={index:v,start:g,size:j,end:B,key:I,lane:w},C[w]=v}return this.measurementsCache=f,f},{key:!1,debug:()=>this.options.debug}),this.calculateRange=V(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,s,n)=>this.range=e.length>0&&t>0?rt({measurements:e,outerSize:t,scrollOffset:s,lanes:n,flat:n===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=V(()=>{let e=null,t=null;const s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,s,n,a)=>n===null||a===null?[]:e({startIndex:n,endIndex:a,overscan:t,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{var t;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((t=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:t.index);if(s!==void 0&&this.range){const n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,s-n),o=Math.min(this.options.count-1,s+n);return e>=a&&e<=o}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((a,o)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(o))});return}const t=this.indexFromElement(e),s=this.options.getItemKey(t),n=this.elementsCache.get(s);n!==e&&(n&&this.observer.unobserve(n),this.observer.observe(e),this.elementsCache.set(s,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var s,n;if(e<0||e>=this.options.count)return;let a,o,d;const r=this._flatMeasurements;if(this.options.lanes===1&&r!==null)d=this.options.getItemKey(e),o=r[e*2],a=r[e*2+1];else{const f=this.measurementsCache[e];if(!f)return;d=f.key,o=f.start,a=f.size}const u=this.itemSizeCache.get(d)??a,l=t-u;if(l!==0){const f=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,C=f?this.getTotalSize():0,v=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:d,start:o,size:a,end:o+a,lane:0},l,this):o<this.getScrollOffset()+this.scrollAdjustments&&this.scrollDirection!=="backward");(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(d,t),this.itemSizeCacheVersion++,f?this.applyScrollAdjustment(this.getTotalSize()-C):v&&this.applyScrollAdjustment(l),this.notify(!1)}},this.getVirtualItems=V(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{const s=[];for(let n=0,a=e.length;n<a;n++){const o=e[n],d=t[o];s.push(d)}return s},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{const t=this.getMeasurements();if(t.length===0)return;const s=this._flatMeasurements,n=this.options.lanes===1&&s!=null,a=ve(0,t.length-1,n?o=>s[o*2]:o=>oe(t[o]).start,e);return oe(t[a])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,s=0)=>{if(!this.scrollElement)return 0;const n=this.getSize(),a=this.getScrollOffset();t==="auto"&&(t=e>=a+n?"end":"start"),t==="center"?e+=(s-n)/2:t==="end"&&(e-=n);const o=this.getMaxScrollOffset();return Math.max(Math.min(o,e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const s=this.getSize(),n=this.getScrollOffset(),a=this.measurementsCache[e];if(!a)return;if(t==="auto")if(a.end>=n+s-this.options.scrollPaddingEnd)t="end";else if(a.start<=n+this.options.scrollPaddingStart)t="start";else return[n,t];if(t==="end"&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];const o=t==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(o,t,a.size),t]},this.scrollToOffset=(e,{align:t="start",behavior:s="auto"}={})=>{const n=this.getOffsetForAlignment(e,t),a=this.now();this.scrollState={index:null,align:t,behavior:s,startedAt:a,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t="auto",behavior:s="auto"}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));const n=this.getOffsetForIndex(e,t);if(!n)return;const[a,o]=n,d=this.now();this.scrollState={index:e,align:o,behavior:s,startedAt:d,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t="auto"}={})=>{const s=this.getScrollOffset()+e,n=this.now();this.scrollState={index:null,align:"start",behavior:t,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{var e;const t=this.getMeasurements();let s;if(t.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){const n=t.length-1,a=this._flatMeasurements;a!=null?s=a[n*2]+a[n*2+1]:s=((e=t[n])==null?void 0:e.end)??0}else{const n=Array(this.options.lanes).fill(null);let a=t.length-1;for(;a>=0&&n.some(o=>o===null);){const o=t[a];n[o.lane]===null&&(n[o.lane]=o.end),a--}s=Math.max(...n.filter(o=>o!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const e=[];if(this.itemSizeCache.size===0)return e;const t=this.getMeasurements();for(const s of t)s&&this.itemSizeCache.has(s.key)&&e.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:s})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:s,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(c)}applyScrollAdjustment(c,e){c!==0&&(ae()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=c:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=c,behavior:e}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const t=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=t?t[0]:this.scrollState.lastTargetOffset,n=1,a=s!==this.scrollState.lastTargetOffset;if(!a&&le(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,a){const o=this.getSize()||600,d=Math.abs(s-this.getScrollOffset()),r=this.scrollState.behavior==="smooth"&&d>o;this.scrollState.lastTargetOffset=s,r||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:r?"smooth":"auto"})}this.scheduleScrollReconcile()}}const ve=(i,c,e,t)=>{for(;i<=c;){const s=(i+c)/2|0,n=e(s);if(n<t)i=s+1;else if(n>t)c=s-1;else return s}return i>0?i-1:0};function rt({measurements:i,outerSize:c,scrollOffset:e,lanes:t,flat:s}){const n=i.length-1,a=s?u=>s[u*2]:u=>i[u].start,o=s?u=>s[u*2]+s[u*2+1]:u=>i[u].end;if(i.length<=t)return{startIndex:0,endIndex:n};let d=ve(0,n,a,e),r=d;if(t===1)for(;r<n&&o(r)<e+c;)r++;else if(t>1){const u=Array(t).fill(0);for(;r<n&&u.some(f=>f<e+c);){const f=i[r];u[f.lane]=f.end,r++}const l=Array(t).fill(e+c);for(;d>=0&&l.some(f=>f>=e);){const f=i[d];l[f.lane]=f.start,d--}d=Math.max(0,d-d%t),r=Math.min(n,r+(t-1-r%t))}return{startIndex:d,endIndex:r}}function ct(i){const c=new at(E(i)),e=we(c),t=c._didMount();return K(()=>E(i).getScrollElement(),s=>{s&&c._willUpdate()},{immediate:!0}),K(()=>E(i),s=>{c.setOptions({...s,onChange:(n,a)=>{var o;ne(e),(o=s.onChange)==null||o.call(s,n,a)}}),c._willUpdate(),ne(e)},{immediate:!0}),Ce(t),e}function ut(i){return ct(b(()=>({observeElementRect:et,observeElementOffset:nt,scrollToFn:lt,...E(i)})))}const dt=["aria-expanded"],ht={class:"truncate","data-testid":"navbar-repo"},ft={class:"px-3 py-2 border-b border-base"},mt={class:"flex flex-col max-h-80 overflow-y-auto py-1",role:"listbox"},pt={key:0,class:"px-3 py-2 text-xs color-muted"},gt=["aria-selected"],vt=["data-project-id","onClick","onMouseenter"],bt={class:"font-mono text-xs truncate flex-1"},yt={class:"text-[10px] color-muted tabular-nums shrink-0"},xt={key:0,class:"i-ph-check-bold text-xs color-active shrink-0","aria-label":"current"},kt={class:"px-3 py-2 border-t border-base flex items-center justify-between text-[10px] color-muted"},St=N({__name:"ProjectSwitcher",props:{projectId:{}},setup(i){const c=i,e=he(),t=ue(),s=P(!1),n=P(null),a=P(null),o=P(""),d=b(()=>e.projects.value),r=b(()=>d.value.find(g=>g.id===c.projectId)),u=b(()=>{const g=o.value.trim().toLowerCase();return g?d.value.filter(p=>p.repo.toLowerCase().includes(g)):d.value}),l=P(0);K(s,g=>{g&&(o.value="",l.value=Math.max(0,u.value.findIndex(p=>p.id===c.projectId)),_e(()=>{a.value?.querySelector("input")?.focus()}))}),K(u,()=>{l.value>=u.value.length&&(l.value=Math.max(0,u.value.length-1))});function f(){s.value=!1,n.value?.focus()}function C(){s.value=!s.value}function v(g){if(s.value=!1,g===c.projectId)return;const p=d.value.find(S=>S.id===g);p&&t.push(`/${p.repo}`)}function I(g){if(g.key==="Escape"){g.preventDefault(),f();return}if(g.key==="ArrowDown"||g.key==="j"){g.preventDefault(),u.value.length&&(l.value=(l.value+1)%u.value.length);return}if(g.key==="ArrowUp"||g.key==="k"){g.preventDefault(),u.value.length&&(l.value=(l.value-1+u.value.length)%u.value.length);return}if(g.key==="Enter"){g.preventDefault();const p=u.value[l.value];p&&v(p.id)}}function x(g){(g.key==="ArrowDown"||g.key==="Enter"||g.key===" ")&&(g.preventDefault(),s.value=!0)}const w=P(null);return Ie(w,()=>{s.value=!1}),(g,p)=>(m(),y("div",{ref_key:"root",ref:w,class:"relative"},[h("button",{ref_key:"triggerRef",ref:n,type:"button",class:"inline-flex items-center gap-1.5 max-w-60 font-mono text-sm truncate rounded-md px-1.5 py-0.5 hover:bg-active focus-visible:ring-2 focus-visible:ring-primary-500/40 outline-none transition","data-testid":"navbar-project-switcher","aria-haspopup":!0,"aria-expanded":s.value,onClick:C,onKeydown:x},[r.value?(m(),A(Q,{key:0,project:r.value,size:16,"fallback-class":"color-active"},null,8,["project"])):k("",!0),h("span",ht,z(r.value?.repo??c.projectId),1),p[2]||(p[2]=h("span",{class:"i-ph-caret-down-duotone text-xs shrink-0 op70"},null,-1))],40,dt),_(Ee,{"enter-active-class":"transition duration-150","enter-from-class":"op0 -translate-y-1","enter-to-class":"op100 translate-y-0","leave-active-class":"transition duration-100","leave-from-class":"op100 translate-y-0","leave-to-class":"op0 -translate-y-1"},{default:O(()=>[s.value?(m(),y("div",{key:0,ref_key:"menuRef",ref:a,class:"absolute z-dropdown top-full left-0 mt-1 min-w-72 max-w-[24rem] panel-card !rounded-lg shadow-xl overflow-hidden","data-testid":"navbar-project-switcher-menu",onKeydown:I},[h("div",ft,[_(de,{modelValue:o.value,"onUpdate:modelValue":p[0]||(p[0]=S=>o.value=S),placeholder:"Switch to…"},null,8,["modelValue"])]),h("ul",mt,[u.value.length===0?(m(),y("li",pt," No matching project. ")):k("",!0),(m(!0),y(L,null,Y(u.value,(S,j)=>(m(),y("li",{key:S.id,role:"option","aria-selected":j===l.value,class:"px-2"},[h("button",{type:"button",class:W(["w-full text-left flex items-center gap-2 px-2 py-1.5 rounded transition outline-none",[j===l.value?"bg-active":"hover:bg-active",S.id===c.projectId?"color-active":""]]),"data-testid":"navbar-project-switcher-item","data-project-id":S.id,onClick:B=>v(S.id),onMouseenter:B=>l.value=j},[_(Q,{project:S,size:16,"fallback-class":S.id===c.projectId?"color-active":"color-muted"},null,8,["project","fallback-class"]),h("span",bt,z(S.repo),1),h("span",yt,[D(z(S.openIssues),1),p[3]||(p[3]=h("span",{class:"mx-0.5"},"·",-1)),D(z(S.openPulls),1)]),S.id===c.projectId?(m(),y("span",xt)):k("",!0)],42,vt)],8,gt))),128))]),h("div",kt,[p[5]||(p[5]=h("span",null,[h("span",{class:"kbd"},"↑"),h("span",{class:"kbd"},"↓"),D(" navigate · "),h("span",{class:"kbd"},"↵"),D(" select · "),h("span",{class:"kbd"},"Esc"),D(" close ")],-1)),_(E(We),{to:"/",class:"hover:color-active transition inline-flex items-center gap-1",onClick:p[1]||(p[1]=S=>f())},{default:O(()=>[...p[4]||(p[4]=[h("span",{class:"i-ph-arrow-left-duotone text-[10px]"},null,-1),h("span",null,"hub home",-1)])]),_:1})])],544)):k("",!0)]),_:1})],512))}}),wt={class:"px-5 py-4 flex flex-col gap-3 text-sm"},Ct={class:"font-mono font-medium"},It={class:"flex flex-col gap-1.5 pl-4 list-disc color-muted text-xs leading-relaxed"},Et={class:"color-base"},_t={class:"color-base"},Mt=["disabled","title"],Tt=N({__name:"ForceSyncDialog",props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:["update:open"],setup(i){const c=Me(i,"open"),e=ge(),t=fe(),s=me(),{offline:n}=pe(),a=b(()=>t.payload.value?.repo.repo??""),o=b(()=>t.payload.value?.queue.upCount??0),d=b(()=>Object.keys(t.payload.value?.syncState.items??{}).length);async function r(){if(t.executing.value||n.value)return;const u=e.value;if(u){c.value=!1,t.setError(null),t.selectItem(null),t.setSyncing(!0);try{await s.$call("ghfs:force-sync",u)}catch(l){t.setError(`Force sync failed: ${l.message}`),t.setSyncing(!1)}}}return(u,l)=>(m(),A(Te,{open:c.value,"onUpdate:open":l[1]||(l[1]=f=>c.value=f),title:"Force sync",icon:"i-ph-warning-duotone",width:"w-[min(92vw,30rem)]",description:"Wipe all local data and re-fetch from GitHub from scratch.","data-testid":"force-sync-dialog"},{footer:O(()=>[h("button",{type:"button",class:"btn-action-sm","data-testid":"force-sync-cancel",onClick:l[0]||(l[0]=f=>c.value=!1)}," Cancel "),l[9]||(l[9]=h("div",{class:"flex-1"},null,-1)),h("button",{type:"button",class:"px-3 py-1.5 rounded text-sm bg-red-500 hover:bg-red-600 text-white transition disabled:op50 disabled:pointer-events-none outline-none focus-visible:ring-2 focus-visible:ring-red-500/40",disabled:E(t).executing.value||!E(e)||E(n),title:E(n)?"Offline — force sync paused":void 0,"data-testid":"force-sync-confirm",onClick:r}," Force sync ",8,Mt)]),default:O(()=>[h("div",wt,[h("p",null,[l[2]||(l[2]=D(" This will wipe local data for ",-1)),h("span",Ct,z(a.value),1),l[3]||(l[3]=D(" and re-fetch everything from GitHub. ",-1))]),h("ul",It,[h("li",null,[h("span",Et,z(d.value),1),l[4]||(l[4]=D(" synced issues / PRs and their patches will be deleted. ",-1))]),h("li",null,[h("span",_t,z(o.value),1),l[5]||(l[5]=D(" pending queue operations will be cleared. ",-1))]),l[6]||(l[6]=h("li",null,"Per-item label and comment edits in markdown files will be lost.",-1)),l[7]||(l[7]=h("li",null,[D("Your "),h("code",{class:"font-mono"},".ui.json"),D(" preferences (user override etc.) will be preserved.")],-1))]),l[8]||(l[8]=h("p",{class:"text-xs color-muted"}," This cannot be undone. Make sure you have executed any operations you want to keep. ",-1))])]),_:1},8,["open"]))}}),Ot={class:"sticky top-0 z-nav panel-floating border-x-0 border-t-0 flex items-center gap-2 px-4 h-14","data-testid":"navbar"},zt={class:"flex items-center gap-2 min-w-0 flex-none"},$t={key:1,class:"i-octicon-mark-github-16 text-lg color-base shrink-0"},At={key:4,class:"font-mono text-sm truncate max-w-60","data-testid":"navbar-repo"},jt={class:"flex items-center gap-1 flex-none","aria-label":"Hub sections"},Rt=["disabled","onClick"],Ft=["disabled","onClick"],Dt=["disabled","onClick"],Lt=["disabled","onClick"],Ht={key:1,class:"flex items-center gap-1 px-1.5 py-0.5 rounded text-xs color-yellow-700 dark:color-yellow-300 bg-yellow-500/10",title:"Offline — sync, queue execution, and auto-sync are paused","data-testid":"navbar-offline-indicator"},Pt={key:0,class:"absolute -top-1 -right-1 badge-color-green !px-1 !py-0 font-mono tabular-nums text-[10px] leading-none min-w-4 h-4 justify-center","data-testid":"queue-badge"},Wt={key:0,class:"absolute -top-1 -right-1 badge-color-green !px-1 !py-0 font-mono tabular-nums text-[10px] leading-none min-w-4 h-4 justify-center"},$s=N({__name:"AppBar",props:{mode:{default:"project"}},setup(i){const c=i,e=ge(),t=fe(),s=me(),n=Oe(),a=he(),o=Re();ue();const d=ze(),{upCount:r}=$e(),{totalCount:u}=Ae(),l=je(),{offline:f}=pe(),C=b(()=>a.capabilities.value?.mode==="hub"),v=b(()=>l.total.value>0),I=b(()=>d.path==="/cards"),x=b(()=>t.payload.value?.repo.repo??"connecting…"),w=b(()=>t.payload.value?.repo.projectPath??""),g=b(()=>t.payload.value?.repo.hasToken??!1),p=P(!1);let S=null;async function j(){if(w.value)try{await navigator.clipboard.writeText(w.value),p.value=!0,S&&clearTimeout(S),S=setTimeout(()=>{p.value=!1},1200)}catch{}}async function B(){if(e.value)try{await s.$call("ghfs:open-folder",e.value)}catch(G){t.setError(`Open folder failed: ${G.message}`)}}const F=b(()=>c.mode==="hub"?u.value:r.value),U=b(()=>C.value&&c.mode==="project"),ye=b(()=>d.path==="/recent"),xe=b(()=>d.path==="/todo"),Z=P(!1);function ke(G,M){if(G.shiftKey){Z.value=!0;return}M()}const se=b(()=>f.value?"Offline — sync paused":c.mode==="hub"?o.syncingAll.value?"Syncing all projects…":"Sync all projects":g.value?"Sync from GitHub (⇧ for force sync)":"No GitHub token available"),J=b(()=>c.mode==="hub"?o.syncingAll.value:t.syncing.value);return(G,M)=>(m(),y("header",Ot,[h("div",zt,[U.value?(m(),A(R,{key:0,command:"hub.back"},{default:O(({execute:T,disabled:$})=>[_(H,{icon:"i-octicon-organization-16",tooltip:"Back to hub home","aria-label":"Hub home","data-testid":"navbar-hub-home",active:"",disabled:$,onClick:T},null,8,["disabled","onClick"])]),_:1})):i.mode==="hub"?(m(),y(L,{key:1},[M[1]||(M[1]=h("span",{class:"i-octicon-organization-16 text-lg color-active shrink-0"},null,-1)),M[2]||(M[2]=h("span",{class:"text-sm font-semibold"},"ghfs hub",-1))],64)):(m(),y(L,{key:2},[E(e)&&E(t).payload.value?(m(),A(Q,{key:0,project:{id:E(e),repo:E(t).payload.value.repo.repo},size:20,"fallback-class":"color-base"},null,8,["project"])):(m(),y("span",$t))],64)),C.value&&E(e)&&i.mode==="project"?(m(),A(St,{key:3,"project-id":E(e)},null,8,["project-id"])):i.mode==="project"?(m(),y("span",At,z(x.value),1)):k("",!0),i.mode==="project"&&w.value?(m(),y(L,{key:5},[_(H,{icon:"i-ph-folder-open-duotone",tooltip:"Open project folder","aria-label":"Open project folder","data-testid":"navbar-open-folder",onClick:B}),_(H,{icon:p.value?"i-ph-check-bold":"i-ph-copy-duotone",tooltip:p.value?"Copied!":"Copy project path","aria-label":"Copy project path","data-testid":"navbar-copy-path",onClick:j},null,8,["icon","tooltip"])],64)):k("",!0)]),i.mode==="hub"?(m(),y(L,{key:0},[M[7]||(M[7]=h("div",{class:"h-6 border-l border-base mx-1 flex-none"},null,-1)),h("nav",jt,[_(R,{command:"hub.home"},{default:O(({execute:T,disabled:$})=>[h("button",{type:"button",class:W(["px-2.5 py-1.5 text-xs flex items-center gap-1.5 rounded transition outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40",E(d).path==="/"?"color-active font-medium bg-active":"color-muted hover:color-base"]),"data-testid":"navbar-hub-home-link",disabled:$,onClick:T},[...M[3]||(M[3]=[h("span",{class:"i-octicon-organization-16"},null,-1),h("span",null,"Projects",-1)])],10,Rt)]),_:1}),_(R,{command:"hub.recent"},{default:O(({execute:T,disabled:$})=>[h("button",{type:"button",class:W(["px-2.5 py-1.5 text-xs flex items-center gap-1.5 rounded transition outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40",ye.value?"color-active font-medium bg-active":"color-muted hover:color-base"]),"data-testid":"navbar-hub-recent-link",disabled:$,onClick:T},[...M[4]||(M[4]=[h("span",{class:"i-octicon-history-16"},null,-1),h("span",null,"Recent",-1)])],10,Ft)]),_:1}),_(R,{command:"hub.todo"},{default:O(({execute:T,disabled:$})=>[h("button",{type:"button",class:W(["px-2.5 py-1.5 text-xs flex items-center gap-1.5 rounded transition outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40",xe.value?"color-active font-medium bg-active":"color-muted hover:color-base"]),"data-testid":"navbar-hub-todo-link",disabled:$,onClick:T},[...M[5]||(M[5]=[h("span",{class:"i-ph-bookmark-simple-duotone"},null,-1),h("span",null,"Todo",-1)])],10,Dt)]),_:1}),v.value?(m(),A(R,{key:0,command:"hub.cards"},{default:O(({execute:T,disabled:$})=>[h("button",{type:"button",class:W(["px-2.5 py-1.5 text-xs flex items-center gap-1.5 rounded transition outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40",I.value?"color-active font-medium bg-active":"color-muted hover:color-base"]),"data-testid":"navbar-hub-cards-link",disabled:$,onClick:T},[...M[6]||(M[6]=[h("span",{class:"i-ph-cards-three-duotone"},null,-1),h("span",null,"Cards",-1)])],10,Lt)]),_:1})):k("",!0)])],64)):k("",!0),M[9]||(M[9]=h("div",{class:"flex-auto"},null,-1)),E(f)?(m(),y("span",Ht,[...M[8]||(M[8]=[h("span",{class:"i-ph-cloud-slash-duotone text-sm"},null,-1),h("span",null,"Offline",-1)])])):k("",!0),M[10]||(M[10]=h("div",{class:"h-6 border-l border-base mx-1 flex-none"},null,-1)),i.mode==="project"?(m(),A(R,{key:2,command:"action.sync",placement:"badge"},{default:O(({execute:T,disabled:$})=>[_(H,{icon:"i-octicon-sync-16",tooltip:se.value,disabled:J.value||!g.value||E(f)||$,spinning:J.value,onClick:Se=>ke(Se,T)},null,8,["tooltip","disabled","spinning","onClick"])]),_:1})):(m(),A(R,{key:3,command:"hub.sync-all",placement:"badge"},{default:O(({execute:T})=>[_(H,{icon:"i-octicon-sync-16",tooltip:se.value,disabled:J.value||E(f),spinning:J.value,"data-testid":"navbar-hub-sync-all",onClick:T},null,8,["tooltip","disabled","spinning","onClick"])]),_:1})),i.mode==="project"?(m(),A(R,{key:4,command:"action.queue",placement:"badge"},{default:O(({execute:T,disabled:$})=>[_(H,{icon:"i-octicon-list-unordered-16",tooltip:"Queue",active:E(t).queueOpen.value,"data-testid":"navbar-queue-toggle",disabled:$,onClick:T},{badge:O(()=>[F.value>0?(m(),y("span",Pt,z(F.value),1)):k("",!0)]),_:1},8,["active","disabled","onClick"])]),_:1})):i.mode==="hub"?(m(),A(R,{key:5,command:"action.queue",placement:"badge"},{default:O(({execute:T,disabled:$})=>[_(H,{icon:"i-ph-list-checks-duotone",tooltip:"Quick view queue",active:E(o).queueDrawerOpen.value,"data-testid":"navbar-hub-queue-drawer-toggle",disabled:$,onClick:T},{badge:O(()=>[F.value>0?(m(),y("span",Wt,z(F.value),1)):k("",!0)]),_:1},8,["active","disabled","onClick"])]),_:1})):k("",!0),_(R,{command:"settings.open",placement:"badge"},{default:O(({execute:T,disabled:$})=>[_(H,{icon:"i-ph-gear-six-duotone",tooltip:"Settings","data-testid":"navbar-settings",disabled:$,onClick:T},null,8,["disabled","onClick"])]),_:1}),_(R,{command:"action.theme",placement:"badge"},{default:O(({execute:T})=>[_(H,{icon:E(n)?"i-ph-sun-duotone":"i-ph-moon-duotone",tooltip:E(n)?"Light mode":"Dark mode",onClick:T},null,8,["icon","tooltip","onClick"])]),_:1}),i.mode==="project"?(m(),A(Tt,{key:6,open:Z.value,"onUpdate:open":M[0]||(M[0]=T=>Z.value=T)},null,8,["open"])):k("",!0)]))}});function ee(i){return i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Bt(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function be(i,c){const e=i??"";if(!e)return"";const t=c.trim();if(!t)return ee(e);try{const s=new RegExp(`(${Bt(t)})`,"ig");return ee(e).replace(s,'<mark class="bg-yellow-300/60 dark:bg-yellow-400/30 rounded-sm px-0.5">$1</mark>')}catch{return ee(e)}}function Nt(i,c,e=60){const t=i??"",s=c.trim();if(!t||!s)return"";const n=t.toLowerCase(),a=s.toLowerCase(),o=n.indexOf(a);if(o<0)return"";const d=Math.max(0,o-e),r=Math.min(t.length,o+s.length+e),u=d>0?"…":"",l=r<t.length?"…":"",f=t.slice(d,r).replace(/\s+/g," ");return`${u}${be(f,s)}${l}`}const Vt=["viewBox"],qt=["x1","x2","stroke"],Kt=["d","stroke"],Ut=4,ce=100,Jt=40,te=3,Gt=N({__name:"ItemActivitySparkline",props:{points:{},createdIndex:{},color:{default:"currentColor"},createdLineColor:{default:"#22c55e"}},setup(i){const c=i,e=ce-Jt,t=b(()=>{const l=c.points.slice();return c.createdIndex!=null&&c.createdIndex>=0&&c.createdIndex<l.length&&(l[c.createdIndex]=Math.max(0,l[c.createdIndex]-1)),l}),s=b(()=>{const l=t.value;return l.map((f,C)=>{let v=0,I=0;const x=Math.max(0,C-te),w=Math.min(l.length-1,C+te);for(let g=x;g<=w;g++)v+=l[g],I+=1;return v/I})});function n(l,f){return ce-l/f*e}const a=b(()=>{const l=s.value;if(l.length<2)return[];const f=Math.max(0,Math.min(l.length-1,c.createdIndex??0));if(l.length-f<2)return[];const C=Math.max(Ut/(2*te+1),...l);return l.slice(f).map((v,I)=>({x:f+I,y:n(v,C)}))}),o=b(()=>{const l=a.value;if(l.length<2)return"";const f=[`M${l[0].x},${l[0].y.toFixed(2)}`];for(let C=0;C<l.length-1;C++){const v=l[C-1]??l[C],I=l[C],x=l[C+1],w=l[C+2]??x,g=I.x+(x.x-v.x)/6,p=I.y+(x.y-v.y)/6,S=x.x-(w.x-I.x)/6,j=x.y-(w.y-I.y)/6;f.push(`C${g.toFixed(2)},${p.toFixed(2)} ${S.toFixed(2)},${j.toFixed(2)} ${x.x.toFixed(2)},${x.y.toFixed(2)}`)}return f.join("")}),d=b(()=>c.createdIndex!=null&&c.createdIndex>=0&&c.createdIndex<c.points.length),r=b(()=>c.points.reduce((l,f)=>l+f,0)),u=b(()=>r.value===0?"No activity in the last 6 months":`${r.value} event${r.value===1?"":"s"} in the last 6 months`);return(l,f)=>(m(),y("svg",{width:"100%",height:"100%",viewBox:`0 0 ${i.points.length} 100`,preserveAspectRatio:"none",class:"absolute inset-0","data-testid":"item-activity-sparkline"},[h("title",null,z(u.value),1),d.value?(m(),y("line",{key:0,x1:i.createdIndex,x2:i.createdIndex,y1:"0",y2:"100",stroke:i.createdLineColor,"stroke-width":"1","vector-effect":"non-scaling-stroke"},null,8,qt)):k("",!0),o.value?(m(),y("path",{key:1,d:o.value,fill:"none",stroke:i.color,"stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round","vector-effect":"non-scaling-stroke"},null,8,Kt)):k("",!0)],8,Vt))}}),Qt={class:"border-b border-base"},Yt=["data-unseen","data-item-number"],Xt={key:0,class:"absolute inset-0 op-25 dark:op-20 pointer-events-none color-active"},Zt={key:1,class:"absolute top-2 right-2 w-2 h-2 rounded-full bg-primary-500 dark:bg-primary-400","aria-label":"Unseen","data-testid":"item-row-unseen-dot"},es={key:2,class:"relative z-1 flex items-center gap-1.5 min-w-0 pl7"},ts=["title"],ss={class:"relative z-1 flex items-start gap-2.5"},ns={class:"flex-1 min-w-0"},is={class:"flex items-baseline gap-2 flex-wrap"},os=["innerHTML"],ls={class:"font-mono text-xs color-muted tabular-nums"},as={key:0,class:"flex items-center gap-1 flex-wrap mt-0.5"},rs={key:0,class:"text-[10px] color-faint"},cs=["innerHTML"],us={class:"flex items-center gap-2 flex-wrap text-xs color-muted mt-1"},ds={key:0,class:"color-faint"},hs={class:"flex items-center gap-1"},fs={key:0,class:"font-mono"},ms={class:"font-mono"},ps=N({__name:"Row",props:{item:{},selected:{type:Boolean},showRepoName:{type:Boolean},searchHighlight:{default:""}},emits:["select"],setup(i,{emit:c}){const e=i,t=c,s=Fe(),n=b(()=>e.item.raw?.data.item),a=b(()=>e.item.raw?.data.pull),o=b(()=>n.value??{kind:e.item.kind,state:e.item.state??"open",stateReason:e.item.stateReason??null}),d=b(()=>{if(a.value)return a.value;if(e.item.kind==="pull")return{isDraft:e.item.pullIsDraft,merged:e.item.pullMerged}}),r=b(()=>e.item.kind!=="pull"?null:a.value?.reviewDecision??e.item.pullReviewDecision??null),u=b(()=>e.item.labels??[]),l=b(()=>e.item.assignees??[]),f=b(()=>{const g=s.getSeenEntry(`${e.item.projectId}#${e.item.number}`);return g?!Le(e.item,g):!0}),C=b(()=>e.item.raw?e.item.number:null),v=Be(C),I=b(()=>v.pendingTitle.value?.op.action==="set-title"?v.pendingTitle.value.op.title:e.item.title),x=b(()=>e.searchHighlight.trim()?be(I.value,e.searchHighlight):Je(I.value)),w=b(()=>{const g=e.searchHighlight.trim();return!g||(I.value??"").toLowerCase().includes(g.toLowerCase())?"":Nt(e.item.body??null,g,80)});return(g,p)=>(m(),y("div",Qt,[h("button",{type:"button",class:W(["group w-full text-left flex flex-col gap-1 px-3 py-2 text-sm transition-colors relative outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500/40 overflow-hidden",e.selected?"bg-primary-500/8 dark:bg-primary-400/8 border-l-2 border-l-primary-500 dark:border-l-primary-400 pl-[10px]":"hover:bg-active"]),"data-unseen":f.value||void 0,"data-testid":"item-row","data-item-number":i.item.number,onClick:p[0]||(p[0]=S=>t("select",i.item))},[i.item.activityBuckets&&i.item.activityBuckets.length?(m(),y("div",Xt,[_(Gt,{points:i.item.activityBuckets,"created-index":i.item.activityCreatedIndex},null,8,["points","created-index"])])):k("",!0),f.value?(m(),y("span",Zt)):k("",!0),i.showRepoName?(m(),y("div",es,[_(Q,{project:{id:i.item.projectId,repo:i.item.repo},size:14,class:"shrink-0"},null,8,["project"]),h("span",{class:"font-mono text-xs color-muted truncate",title:i.item.repo},z(i.item.repo),9,ts)])):k("",!0),h("div",ss,[_(Ne,{item:o.value,pull:d.value,pending:E(v).direction.value,class:"mt-0.5 shrink-0"},null,8,["item","pull","pending"]),h("div",ns,[h("div",is,[h("span",{class:W(["truncate",[f.value?"font-semibold":"font-normal",{italic:E(v).pendingTitle.value}]]),innerHTML:x.value},null,10,os),h("span",ls,"#"+z(i.item.number),1),r.value?(m(),A(Ve,{key:0,decision:r.value,compact:""},null,8,["decision"])):k("",!0),E(v).hasPending.value?(m(),A(qe,{key:1,color:"yellow",icon:"i-octicon-hourglass-16",size:"xs",title:`${E(v).entries.value.length} pending change(s)`,class:"uppercase tracking-wide"},{default:O(()=>[...p[1]||(p[1]=[D(" pending ",-1)])]),_:1},8,["title"])):k("",!0)]),u.value.length?(m(),y("div",as,[(m(!0),y(L,null,Y(u.value.slice(0,5),S=>(m(),A(Ke,{key:S,name:S,"project-id":i.item.projectId},null,8,["name","project-id"]))),128)),u.value.length>5?(m(),y("span",rs,"+"+z(u.value.length-5),1)):k("",!0)])):k("",!0),w.value?(m(),y("div",{key:1,class:"text-xs color-muted mt-1 leading-relaxed",innerHTML:w.value},null,8,cs)):k("",!0),h("div",us,[i.item.author?(m(),A(De,{key:0,author:{login:i.item.author,avatarUrl:i.item.authorAvatarUrl},size:14,link:!1},null,8,["author"])):k("",!0),i.item.updatedAt?(m(),y(L,{key:1},[i.item.author?(m(),y("span",ds,"·")):k("",!0),_(Ue,{time:i.item.updatedAt},null,8,["time"])],64)):k("",!0),l.value.length?(m(),y(L,{key:2},[p[2]||(p[2]=h("span",{class:"color-faint"},"·",-1)),h("span",hs,[(m(!0),y(L,null,Y(l.value.slice(0,3),S=>(m(),A(Ge,{key:S,login:S,size:14},null,8,["login"]))),128)),l.value.length>3?(m(),y("span",fs,"+"+z(l.value.length-3),1)):k("",!0)])],64)):k("",!0),i.item.reactionsTotal&&i.item.reactionsTotal>0?(m(),y(L,{key:3},[p[3]||(p[3]=h("span",{class:"color-faint"},"·",-1)),h("span",ms,z(i.item.reactionsTotal),1)],64)):k("",!0)])])])],10,Yt)]))}}),gs=["data-index"],As=N({__name:"List",props:{items:{},selectedKey:{},showRepoName:{type:Boolean},searchHighlight:{default:""},emptyTitle:{default:"No items match the current filter"},emptyMessage:{default:"Change filters, or use the sync icon to pull from GitHub."}},emits:["select"],setup(i,{emit:c}){const e=i,t=c,s=P(null),n=ut(b(()=>({count:e.items.length,getScrollElement:()=>s.value,estimateSize:()=>64,overscan:6,getItemKey:r=>{const u=e.items[r];return u?u.key:r}})));K(()=>e.selectedKey,r=>{if(r==null)return;const u=e.items.findIndex(l=>l.key===r);u<0||n.value.scrollToIndex(u,{align:"auto",behavior:"auto"})});const a=b(()=>n.value.getVirtualItems()),o=b(()=>n.value.getTotalSize());function d(r){if(!r)return;const u=r.$el??r;u&&typeof u.getBoundingClientRect=="function"&&n.value.measureElement(u)}return(r,u)=>(m(),y("div",{ref_key:"scrollRef",ref:s,class:"overflow-y-auto","data-testid":"virtual-item-list"},[i.items.length===0?(m(),A(He,{key:0,icon:"i-octicon-inbox-16",title:i.emptyTitle,message:i.emptyMessage},null,8,["title","message"])):(m(),y("div",{key:1,style:ie({height:`${o.value}px`,position:"relative",width:"100%"})},[(m(!0),y(L,null,Y(a.value,l=>(m(),y("div",{key:l.key,ref_for:!0,ref:d,"data-index":l.index,style:ie({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${l.start}px)`})},[_(ps,{item:i.items[l.index],selected:i.selectedKey===i.items[l.index].key,"show-repo-name":i.showRepoName,"search-highlight":i.searchHighlight,onSelect:u[0]||(u[0]=f=>t("select",f))},null,8,["item","selected","show-repo-name","search-highlight"])],12,gs))),128))],4))],512))}}),vs={class:"border-b border-base flex-none bg-base","data-testid":"list-header"},bs={key:0},ys={key:1,class:"px-3 flex items-center gap-2"},xs={key:0,class:"text-sm font-medium flex items-center gap-2 min-w-0"},ks={class:"truncate"},Ss={key:0,class:"font-mono color-muted tabular-nums"},ws={key:1,class:"flex items-center gap-1 flex-none py2","aria-label":"Kind"},Cs=["disabled","onClick"],Is={class:"font-mono tabular-nums"},Es=["disabled","onClick"],_s={class:"font-mono tabular-nums"},Ms={class:"flex items-center gap-1 flex-none empty:hidden"},js=N({__name:"ListHeader",props:{variant:{},project:{default:null},projects:{default:()=>[]},search:{},kind:{},counts:{},searching:{type:Boolean,default:!1},title:{},itemTotal:{},searchPlaceholder:{}},emits:["update:search"],setup(i,{emit:c}){const e=i,t=c,s=b({get:()=>e.search??"",set:d=>t("update:search",d)}),n=b(()=>e.search!==void 0),a=b(()=>e.kind!==void 0&&e.counts!==void 0),o=b(()=>e.variant==="todo");return(d,r)=>(m(),y("div",vs,[n.value?(m(),y("div",bs,[_(de,{modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=u=>s.value=u),placeholder:i.searchPlaceholder,class:"px-3 py-2 rounded-0 border-t-0 border-x-0","data-shortcut":"search","data-testid":"list-header-search",command:"search.focus"},null,8,["modelValue","placeholder"])])):k("",!0),a.value||o.value||d.$slots.actions?(m(),y("div",ys,[o.value?(m(),y("h1",xs,[r[1]||(r[1]=h("span",{class:"i-ph-bookmark-simple-duotone color-active shrink-0"},null,-1)),h("span",ks,z(i.title),1),i.itemTotal!=null?(m(),y("span",Ss,z(i.itemTotal),1)):k("",!0)])):k("",!0),a.value?(m(),y("nav",ws,[_(R,{command:"tab.issues"},{default:O(({execute:u,disabled:l})=>[h("button",{type:"button",class:W(["px-2.5 py-1 text-xs flex items-center gap-1.5 rounded transition outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40",[!i.searching&&i.kind==="issue"?"color-active font-medium bg-active":"color-muted hover:color-base",i.searching?"op50 cursor-default":""]]),disabled:i.searching||l,"data-testid":"list-header-tab-issues",onClick:u},[r[2]||(r[2]=h("span",{class:"i-octicon-issue-opened-16"},null,-1)),r[3]||(r[3]=h("span",null,"Issues",-1)),h("span",Is,z(i.counts?.issues??0),1)],10,Cs)]),_:1}),_(R,{command:"tab.pulls"},{default:O(({execute:u,disabled:l})=>[h("button",{type:"button",class:W(["px-2.5 py-1 text-xs flex items-center gap-1.5 rounded transition outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40",[!i.searching&&i.kind==="pull"?"color-active font-medium bg-active":"color-muted hover:color-base",i.searching?"op50 cursor-default":""]]),disabled:i.searching||l,"data-testid":"list-header-tab-pulls",onClick:u},[r[4]||(r[4]=h("span",{class:"i-octicon-git-pull-request-16"},null,-1)),r[5]||(r[5]=h("span",null,"Pulls",-1)),h("span",_s,z(i.counts?.pulls??0),1)],10,Es)]),_:1})])):k("",!0),r[6]||(r[6]=h("div",{class:"flex-auto"},null,-1)),h("div",Ms,[Pe(d.$slots,"actions")])])):k("",!0)]))}});export{$s as _,js as a,As as b};
@@ -1 +1 @@
1
- {"id":"f935488c-a544-4bf6-9a65-b421d02508c1","timestamp":1779522689446}
1
+ {"id":"d40c8be2-bdb7-4195-9ef3-a2f26238eb3f","timestamp":1779931920982}
@@ -0,0 +1 @@
1
+ {"id":"d40c8be2-bdb7-4195-9ef3-a2f26238eb3f","timestamp":1779931920982,"prerendered":[]}
@@ -0,0 +1 @@
1
+ .cards-arena[data-v-6f1e4720]{position:absolute;inset:0;perspective:1600px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edge-zone-todo[data-v-6f1e4720]{--zone-rgb: 34 197 94;--zone-text: 21 128 61}.edge-zone-ignore[data-v-6f1e4720]{--zone-rgb: 239 68 68;--zone-text: 185 28 28}.edge-zone-skip[data-v-6f1e4720]{--zone-rgb: 245 158 11;--zone-text: 180 83 9}.edge-zone-comment[data-v-6f1e4720]{--zone-rgb: 9 105 218;--zone-text: 5 80 174}.dark .edge-zone-todo[data-v-6f1e4720]{--zone-rgb: 74 222 128;--zone-text: 134 239 172}.dark .edge-zone-ignore[data-v-6f1e4720]{--zone-rgb: 248 113 113;--zone-text: 252 165 165}.dark .edge-zone-skip[data-v-6f1e4720]{--zone-rgb: 251 191 36;--zone-text: 252 211 77}.dark .edge-zone-comment[data-v-6f1e4720]{--zone-rgb: 33 139 255;--zone-text: 84 174 255}.edge-overlay[data-v-6f1e4720]{position:absolute;pointer-events:none;z-index:1;opacity:0;transition:width .32s cubic-bezier(.22,.61,.36,1),height .32s cubic-bezier(.22,.61,.36,1),opacity .28s ease-out}.edge-overlay-top[data-v-6f1e4720]{top:0;left:0;right:0;height:0;background:radial-gradient(ellipse 75% 100% at 50% 0,rgb(var(--zone-rgb) / .5) 0,rgb(var(--zone-rgb) / .18) 50%,transparent 100%)}.edge-overlay-top.edge-overlay-active[data-v-6f1e4720]{height:320px;opacity:.6}.edge-overlay-bottom[data-v-6f1e4720]{bottom:0;left:0;right:0;height:0;background:radial-gradient(ellipse 75% 100% at 50% 100%,rgb(var(--zone-rgb) / .5) 0,rgb(var(--zone-rgb) / .18) 50%,transparent 100%)}.edge-overlay-bottom.edge-overlay-active[data-v-6f1e4720]{height:320px;opacity:.6}.edge-overlay-left[data-v-6f1e4720]{top:0;bottom:0;left:0;width:0;background:radial-gradient(ellipse 100% 75% at 0 50%,rgb(var(--zone-rgb) / .5) 0,rgb(var(--zone-rgb) / .18) 50%,transparent 100%)}.edge-overlay-left.edge-overlay-active[data-v-6f1e4720]{width:320px;opacity:.6}.edge-overlay-right[data-v-6f1e4720]{top:0;bottom:0;right:0;width:0;background:radial-gradient(ellipse 100% 75% at 100% 50%,rgb(var(--zone-rgb) / .5) 0,rgb(var(--zone-rgb) / .18) 50%,transparent 100%)}.edge-overlay-right.edge-overlay-active[data-v-6f1e4720]{width:320px;opacity:.6}.edge-label[data-v-6f1e4720]{position:absolute;display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:rgb(var(--zone-text));pointer-events:none;z-index:2;letter-spacing:.01em;transition:color .18s ease,opacity .18s ease,transform .18s ease;opacity:.7}.edge-label-active[data-v-6f1e4720]{opacity:1}.edge-label[data-v-6f1e4720] .kbd{color:rgb(var(--zone-text));background:rgb(var(--zone-rgb) / .12);border-color:rgb(var(--zone-rgb) / .32);border-bottom-color:rgb(var(--zone-rgb) / .45);transition:background-color .18s ease,border-color .18s ease,color .18s ease}.edge-label-active[data-v-6f1e4720] .kbd{background:rgb(var(--zone-rgb) / .2);border-color:rgb(var(--zone-rgb) / .5)}.edge-label-disabled[data-v-6f1e4720]{opacity:.2}.edge-label-top[data-v-6f1e4720]{top:1.25rem;left:50%;transform:translate(-50%)}.edge-label-top.edge-label-active[data-v-6f1e4720]{transform:translate(-50%) translateY(2px)}.edge-label-bottom[data-v-6f1e4720]{bottom:1.25rem;left:50%;transform:translate(-50%)}.edge-label-bottom.edge-label-active[data-v-6f1e4720]{transform:translate(-50%) translateY(-2px)}.edge-label-left[data-v-6f1e4720]{top:50%;left:1.5rem;transform:translateY(-50%)}.edge-label-left.edge-label-active[data-v-6f1e4720]{transform:translateY(-50%) translate(2px)}.edge-label-right[data-v-6f1e4720]{top:50%;right:1.5rem;transform:translateY(-50%)}.edge-label-right.edge-label-active[data-v-6f1e4720]{transform:translateY(-50%) translate(-2px)}.card-stack-wrapper[data-v-6f1e4720]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;transition:transform .26s cubic-bezier(.22,.61,.36,1),filter .26s ease-out,opacity .22s ease-out;z-index:3;pointer-events:none}.card-stack-wrapper[data-v-6f1e4720] .card-stack{pointer-events:auto}.card-face[data-v-45433a3f]{height:100%;width:100%}.card-stack[data-v-a9dd1ca7]{width:clamp(680px,78vw,1280px);height:clamp(480px,86vh,980px);max-width:calc(100vw - 10rem);max-height:calc(100vh - 6rem)}@media(max-width:900px){.card-stack[data-v-a9dd1ca7]{width:min(88vw,720px);height:min(80vh,680px);max-width:88vw;max-height:80vh}}.card[data-v-a9dd1ca7]{position:absolute;inset:0;border-radius:16px;box-shadow:0 1px 2px #0000000f,0 12px 32px -8px #0000002e;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .28s ease-out;will-change:transform,opacity}.card-active[data-v-a9dd1ca7]{transform:translateY(0) rotate(0) scale(1);opacity:1}.card-peek-1[data-v-a9dd1ca7]{transform:translateY(-10px) rotate(-1.2deg) scale(.97);opacity:.86}.card-peek-2[data-v-a9dd1ca7]{transform:translateY(-20px) rotate(1.4deg) scale(.94);opacity:.7}.card-peek-3[data-v-a9dd1ca7]{transform:translateY(-30px) rotate(-.6deg) scale(.91);opacity:.5}.card-flip-leave-active[data-v-a9dd1ca7]{transition:transform .36s cubic-bezier(.55,.05,.35,1),opacity .36s ease-in;pointer-events:none;z-index:5}.card-flip-leave-to[data-v-a9dd1ca7]{transform:translate(140%) rotate(18deg) scale(.95);opacity:0}.cards-page[data-v-0e435f25]{background-image:radial-gradient(circle,hsla(0,0%,55%,.14) 1px,transparent 0);background-size:22px 22px;background-position:0 0}.dark .cards-page[data-v-0e435f25]{background-image:radial-gradient(circle,hsla(0,0%,86.3%,.08) 1px,transparent 0)}