tarsk 0.5.34 → 0.5.35

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 (82) hide show
  1. package/README.md +2 -0
  2. package/dist/index.js +1283 -789
  3. package/dist/public/assets/account-view-k5jIArY-.js +1 -0
  4. package/dist/public/assets/api-OCjPhv01.js +1 -0
  5. package/dist/public/assets/browser-tab-C9kJT-C5.js +1 -0
  6. package/dist/public/assets/commit-dialog-8Ce6d3H8.js +1 -0
  7. package/dist/public/assets/context-menu-CMsWrzLD.js +1 -0
  8. package/dist/public/assets/create-repo-dialog-CVUtteNS.js +1 -0
  9. package/dist/public/assets/{dialogs-config-Ct6i8Iij.js → dialogs-config-B4TDFSrS.js} +14 -14
  10. package/dist/public/assets/diff-view-DGfmGlB_.js +3 -0
  11. package/dist/public/assets/explorer-tab-view-CCXVTkVu.js +2 -0
  12. package/dist/public/assets/explorer-tree-uXbr6cCI.js +1 -0
  13. package/dist/public/assets/explorer-view-CupxzDId.js +1 -0
  14. package/dist/public/assets/git-history-dialog-BCGOZ6ua.js +1 -0
  15. package/dist/public/assets/git-ops-button-BV9X3fo-.js +2 -0
  16. package/dist/public/assets/history-view-Ds_0e_bx.js +7 -0
  17. package/dist/public/assets/index-C0lTt0ZK.css +1 -0
  18. package/dist/public/assets/index-DOsSr4dl.js +65 -0
  19. package/dist/public/assets/mcp-server-card-DrUUKNXv.js +1 -0
  20. package/dist/public/assets/merged-pr-dialog-DqWSFdCH.js +1 -0
  21. package/dist/public/assets/onboarding-DfL8a0LZ.js +1 -0
  22. package/dist/public/assets/project-settings-view-Cd_l3Lfy.js +1 -0
  23. package/dist/public/assets/providers-list-view-VXhgM3vp.js +1 -0
  24. package/dist/public/assets/pull-request-dialog-DZXTHHuh.js +1 -0
  25. package/dist/public/assets/pull-with-changes-dialog-CYQrwzcw.js +1 -0
  26. package/dist/public/assets/push-before-pr-dialog-D-ZnRpJi.js +1 -0
  27. package/dist/public/assets/radio-group-c0sU992r.js +1 -0
  28. package/dist/public/assets/react-vendor-unlDVFpU.js +16 -0
  29. package/dist/public/assets/settings-general-view-DI-lvP0L.js +1 -0
  30. package/dist/public/assets/settings-instructions-view-kUG32_dT.js +1 -0
  31. package/dist/public/assets/settings-list-CUbZrggr.js +1 -0
  32. package/dist/public/assets/settings-mcp-servers-view-DmxUO42I.js +5 -0
  33. package/dist/public/assets/{settings-models-skeleton-CN2JkqZh.js → settings-models-skeleton-B_56ozbA.js} +1 -1
  34. package/dist/public/assets/settings-models-view-ms828HDa.js +1 -0
  35. package/dist/public/assets/settings-rules-view-Xx0ymfnQ.js +8 -0
  36. package/dist/public/assets/settings-skills-view-DvPPdsi_.js +2 -0
  37. package/dist/public/assets/settings-slash-commands-view-BULIAW2o.js +1 -0
  38. package/dist/public/assets/settings-subagents-view-B7FcLaZT.js +2 -0
  39. package/dist/public/assets/{settings-system-prompt-view-BNM_15ry.js → settings-system-prompt-view-66zf0gRc.js} +1 -1
  40. package/dist/public/assets/settings-view-B4CMq7it.js +2 -0
  41. package/dist/public/assets/skeleton-BvSNJL9q.js +1 -0
  42. package/dist/public/assets/{terminal-panel-Ds1tCgQA.js → terminal-panel-Bm5ECpK_.js} +2 -2
  43. package/dist/public/assets/{ui-components-Di-9yNr4.js → ui-components-BZYnvMGc.js} +1 -1
  44. package/dist/public/assets/{utils-DDDR42pW.js → utils-umVhs9to.js} +1 -1
  45. package/dist/public/index.html +7 -7
  46. package/package.json +1 -1
  47. package/dist/public/assets/account-view-Ds03urJE.js +0 -1
  48. package/dist/public/assets/api-BHfaVqlR.js +0 -1
  49. package/dist/public/assets/browser-tab-Qs8cnQkf.js +0 -1
  50. package/dist/public/assets/commit-dialog-D4suPxEe.js +0 -1
  51. package/dist/public/assets/context-menu-S8y0c1Fx.js +0 -1
  52. package/dist/public/assets/create-repo-dialog-DPKIg1mY.js +0 -1
  53. package/dist/public/assets/diff-view-rKDEnBLg.js +0 -3
  54. package/dist/public/assets/explorer-tab-view-JbLbPVAn.js +0 -2
  55. package/dist/public/assets/explorer-tree-Dq44yA1j.js +0 -1
  56. package/dist/public/assets/explorer-view-BMrlX2hb.js +0 -1
  57. package/dist/public/assets/git-history-dialog-CDwIqSZQ.js +0 -1
  58. package/dist/public/assets/git-ops-button-B6rEla5u.js +0 -2
  59. package/dist/public/assets/history-view-CFot099O.js +0 -7
  60. package/dist/public/assets/index-6DhhjIBL.js +0 -65
  61. package/dist/public/assets/index-sEZ3wJXu.css +0 -1
  62. package/dist/public/assets/mcp-server-card-DQY1RUPX.js +0 -1
  63. package/dist/public/assets/merged-pr-dialog-H_fuSmiF.js +0 -1
  64. package/dist/public/assets/onboarding-DHCR18iU.js +0 -1
  65. package/dist/public/assets/project-settings-view-CiefnK73.js +0 -1
  66. package/dist/public/assets/providers-list-view-DVopskGo.js +0 -1
  67. package/dist/public/assets/pull-request-dialog-Csql6eob.js +0 -1
  68. package/dist/public/assets/pull-with-changes-dialog-DN0kE6os.js +0 -1
  69. package/dist/public/assets/push-before-pr-dialog-IhdlLvWt.js +0 -1
  70. package/dist/public/assets/radio-group-BaKkAEZR.js +0 -1
  71. package/dist/public/assets/react-vendor-CjZZeCRj.js +0 -16
  72. package/dist/public/assets/settings-general-view-BMTxN35t.js +0 -1
  73. package/dist/public/assets/settings-instructions-view-DULFg6dU.js +0 -1
  74. package/dist/public/assets/settings-list-Bdeuh4bJ.js +0 -1
  75. package/dist/public/assets/settings-mcp-servers-view-CRCtWjP2.js +0 -5
  76. package/dist/public/assets/settings-models-view-DosllhVB.js +0 -1
  77. package/dist/public/assets/settings-rules-view-BVWuGrnB.js +0 -8
  78. package/dist/public/assets/settings-skills-view-DYtcAu9-.js +0 -2
  79. package/dist/public/assets/settings-slash-commands-view-DFyL1W2n.js +0 -1
  80. package/dist/public/assets/settings-subagents-view-aCbK95Sk.js +0 -2
  81. package/dist/public/assets/settings-view-D5GE_CYR.js +0 -2
  82. package/dist/public/assets/skeleton-pSKdmWyJ.js +0 -1
@@ -0,0 +1,3 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ai as t,Bt as n,Er as r,Et as i,H as a,Ia as o,Na as s,Pa as c,Sr as l,Ti as u,Tn as d,Tr as f,Y as p,ca as m,eo as h,fo as g,ga as _,hr as v,ii as y,ir as b,la as x,ma as S,mo as C,ni as w,or as T,rr as E,ta as D,to as O,tt as k,va as ee,vi as A,wr as te,xr as j}from"./dialogs-config-B4TDFSrS.js";import{C as M}from"./react-vendor-unlDVFpU.js";import{t as N}from"./monaco-CZnIWXyV.js";import{u as P}from"./onboarding-DfL8a0LZ.js";import{a as F,l as I,n as ne,o as L}from"./history-view-Ds_0e_bx.js";import{n as re}from"./utils-umVhs9to.js";import{A as ie,D as ae,O as oe,a as se,d as ce,i as le,j as ue,k as de,n as fe,o as pe,r as me}from"./index-DOsSr4dl.js";import{a as he,n as R,r as z,t as ge}from"./context-menu-CMsWrzLD.js";var B=e(C(),1),V=g(),H=u();function _e(e){let t=(0,V.c)(17),{children:n,title:r,headerAction:i,footer:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,H.jsx)(`span`,{className:A.sectionTitle,children:r}),t[0]=r,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,H.jsx)(`div`,{className:`flex items-center gap-2`,children:o}),t[2]=o,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,H.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,H.jsxs)(`div`,{className:`flex items-center justify-between border-b border-sidebar-border px-4 py-6`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===n?u=t[10]:(u=(0,H.jsx)(v,{className:`flex-1`,children:n}),t[9]=n,t[10]=u);let d;t[11]===a?d=t[12]:(d=a&&(0,H.jsx)(`div`,{className:`border-t border-sidebar-border`,children:a}),t[11]=a,t[12]=d);let f;return t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,H.jsxs)(`div`,{className:`flex flex-col h-full`,children:[l,u,d]}),t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function ve(e){let t=[],n={};return e.forEach((e,r)=>{let i=e.path.split(`/`),a=t,o=``;for(let e=0;e<i.length-1;e++){if(o=o?`${o}/${i[e]}`:i[e],!n[o]){let t={id:`dir:${o}`,name:i[e],children:[]};n[o]=t,a.push(t)}a=n[o].children}a.push({id:`file:${e.path}`,name:i[i.length-1],fileIndex:r,status:e.status})}),t}var ye={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},be={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function U(e){return y(y(A.compact,`status-badge font-mono font-semibold`),ye[e]??`text-orange-500`)}function W(e){return be[e]??`M`}function xe(e){let t=(0,V.c)(38),{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:l,onRevertFile:u}=e,d;t[0]===r?d=t[1]:(d=r.reduce(Ce,0),t[0]=r,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=r.reduce(G,0),t[2]=r,t[3]=p);let m=p,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g=y(A.compact,`text-muted-foreground`),t[4]=g):g=t[4];let _=r.length===1?``:`s`,v;t[5]!==r.length||t[6]!==_?(v=(0,H.jsxs)(`span`,{className:g,children:[r.length,` file`,_]}),t[5]=r.length,t[6]=_,t[7]=v):v=t[7];let b;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=y(A.compact,`text-green-500`),t[8]=b):b=t[8];let x;t[9]===f?x=t[10]:(x=(0,H.jsxs)(`span`,{className:b,children:[`+`,f]}),t[9]=f,t[10]=x);let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=y(A.compact,`text-red-500`),t[11]=S):S=t[11];let C;t[12]===m?C=t[13]:(C=(0,H.jsxs)(`span`,{className:S,children:[`-`,m]}),t[12]=m,t[13]=C);let w;t[14]!==v||t[15]!==x||t[16]!==C?(w=(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[v,x,C]}),t[14]=v,t[15]=x,t[16]=C,t[17]=w):w=t[17];let T=w;if(i){let e;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=y(A.compact,`text-destructive text-center`),t[18]=e):e=t[18];let n;t[19]===i?n=t[20]:(n=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,H.jsx)(`p`,{className:e,children:i})}),t[19]=i,t[20]=n);let r;return t[21]!==T||t[22]!==n?(r=(0,H.jsx)(_e,{title:`Review Changes`,headerAction:T,children:n}),t[21]=T,t[22]=n,t[23]=r):r=t[23],r}if(r.length===0){let e;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,H.jsx)(`p`,{className:y(A.compact,A.bodyMuted,`text-center`),children:`No changes to review`})}),t[24]=e):e=t[24];let n;return t[25]===T?n=t[26]:(n=(0,H.jsx)(_e,{title:`Review Changes`,headerAction:T,children:e}),t[25]=T,t[26]=n),n}let E;t[27]!==r||t[28]!==l||t[29]!==u||t[30]!==a?(E=(e,t)=>{let{isOpen:n,toggle:i}=t,d=!!e.children,f=(0,H.jsxs)(P,{onClick:()=>{d?i():e.fileIndex!==void 0&&l(e.fileIndex)},selected:!d&&e.fileIndex===a,className:`gap-1.5`,children:[d?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(h,{className:y(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,n&&`rotate-90`)}),n?(0,H.jsx)(c,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,H.jsx)(s,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,H.jsx)(o,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,H.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!d&&e.status&&(0,H.jsx)(`span`,{className:U(e.status),children:W(e.status)})]});return d?f:(0,H.jsxs)(ge,{children:[(0,H.jsx)(he,{asChild:!0,children:f}),(0,H.jsx)(R,{children:(0,H.jsxs)(z,{onClick:()=>{e.fileIndex!==void 0&&u?.(r[e.fileIndex])},children:[(0,H.jsx)(D,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[27]=r,t[28]=l,t[29]=u,t[30]=a,t[31]=E):E=t[31];let O;t[32]!==E||t[33]!==n?(O=(0,H.jsx)(`div`,{className:`flex-1 overflow-y-auto pt-3 pb-2 px-1`,children:(0,H.jsx)(ae,{nodes:n,defaultOpen:!0,resetKey:n,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:E})}),t[32]=E,t[33]=n,t[34]=O):O=t[34];let k;return t[35]!==T||t[36]!==O?(k=(0,H.jsx)(_e,{title:`Review Changes`,headerAction:T,children:O}),t[35]=T,t[36]=O,t[37]=k):k=t[37],k}function G(e,t){return e+t.hunks.reduce(Se,0)}function Se(e,t){return e+t.changes.filter(K).length}function K(e){return e.type===`delete`}function Ce(e,t){return e+t.hunks.reduce(q,0)}function q(e,t){return e+t.changes.filter(J).length}function J(e){return e.type===`add`}function we(e){let t=(0,V.c)(2),{isOpen:n}=e,r=n===void 0||n?`ml-[-40px]`:``,i;return t[0]===r?i=t[1]:(i=(0,H.jsx)(me,{withHandle:!0,className:r}),t[0]=r,t[1]=i),i}function Te(e){let t=(0,V.c)(36),{open:n,lineNumber:i,lineContent:a,initialComment:o,isEditing:s,onSave:c,onDelete:u,onClose:d}=e,[p,m]=(0,B.useState)((o===void 0?``:o)??``),h;t[0]!==c||t[1]!==p?(h=()=>{p.trim()&&c(p.trim())},t[0]=c,t[1]=p,t[2]=h):h=t[2];let g=h,_;t[3]===g?_=t[4]:(_=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),g())},t[3]=g,t[4]=_);let v=_,b;t[5]===d?b=t[6]:(b=e=>{e||d()},t[5]=d,t[6]=b);let x;t[7]===i?x=t[8]:(x=(0,H.jsx)(f,{children:(0,H.jsxs)(r,{children:[`Comment on line `,i]})}),t[7]=i,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=y(A.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=S):S=t[9];let C=a||` `,T;t[10]===C?T=t[11]:(T=(0,H.jsx)(`div`,{className:S,children:C}),t[10]=C,t[11]=T);let E;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>m(e.target.value),t[12]=E):E=t[12];let D;t[13]!==v||t[14]!==p?(D=(0,H.jsx)(oe,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:p,onChange:E,onKeyDown:v,rows:12,className:`resize-none text-base`}),t[13]=v,t[14]=p,t[15]=D):D=t[15];let O;t[16]!==s||t[17]!==u?(O=s&&u&&(0,H.jsx)(w,{variant:`destructive`,size:`sm`,onClick:u,className:`mr-auto`,children:`Delete`}),t[16]=s,t[17]=u,t[18]=O):O=t[18];let k;t[19]===p?k=t[20]:(k=p.trim(),t[19]=p,t[20]=k);let ee=!k,M;t[21]!==g||t[22]!==ee?(M=(0,H.jsx)(w,{size:`sm`,onClick:g,disabled:ee,children:`Save`}),t[21]=g,t[22]=ee,t[23]=M):M=t[23];let N;t[24]!==O||t[25]!==M?(N=(0,H.jsxs)(te,{className:`gap-2 sm:gap-0`,children:[O,M]}),t[24]=O,t[25]=M,t[26]=N):N=t[26];let P;t[27]!==D||t[28]!==N||t[29]!==x||t[30]!==T?(P=(0,H.jsxs)(l,{className:`max-w-2xl`,children:[x,T,D,N]}),t[27]=D,t[28]=N,t[29]=x,t[30]=T,t[31]=P):P=t[31];let F;return t[32]!==n||t[33]!==P||t[34]!==b?(F=(0,H.jsx)(j,{open:n,onOpenChange:b,children:P}),t[32]=n,t[33]=P,t[34]=b,t[35]=F):F=t[35],F}function Ee(e,t){return`git-diff:${e}:${t}`}function Y({threadId:e,onExit:r,loadVersion:o}){let s=F(Ee(e,o),()=>k(e)),c=ie(),l=ue(e=>e.diffComments),u=ue(e=>e.projectModelSelections),{resolvedTheme:f}=re(),g=fe(),[v,C]=(0,B.useState)(s.files||[]),[D,te]=(0,B.useState)(null),[j,P]=(0,B.useState)(0),[I,ne]=(0,B.useState)(!1),[L,ae]=(0,B.useState)(!1),[oe,me]=(0,B.useState)(!1),[he,R]=(0,B.useState)(!0),z=(0,B.useRef)(null);(0,B.useEffect)(()=>{R(!0)},[e]);let ge=(0,B.useCallback)(e=>{P(e),g&&R(!1)},[g]),V=(0,B.useCallback)(()=>{R(!0)},[]),_e=g&&!he,ye=g&&he,be=g&&!he,U=(0,B.useMemo)(()=>l[e]??[],[l,e]),W=(0,B.useCallback)(t=>{let n=l[e]??[],r=typeof t==`function`?t(n):t;c({type:de.SetDiffComments,threadId:e,comments:r})},[c,e,l]),[G,Se]=(0,B.useState)(null),[K,Ce]=(0,B.useState)(null),[q,J]=(0,B.useState)(null),Y=(0,B.useRef)(null),De=(0,B.useRef)(U),Oe=(0,B.useRef)(G),ke=(0,B.useRef)({isFullView:I,selectedFileIndex:j,files:v}),X=(0,B.useRef)({original:[],modified:[]}),Ae=(0,B.useRef)(!0);(0,B.useEffect)(()=>{De.current=U},[U]),(0,B.useEffect)(()=>{Oe.current=G},[G]),(0,B.useEffect)(()=>{ke.current={isFullView:I,selectedFileIndex:j,files:v}},[I,j,v]);let je=(0,B.useCallback)(()=>{z.current&&(L?z.current.expand():z.current.collapse())},[L]),Me=(0,B.useCallback)(async()=>{if(e){te(null);try{C((await k(e)).files||[]),P(0)}catch(e){te(e instanceof Error?e.message:`Failed to load diff`)}}},[e]),Ne=(0,B.useCallback)(async t=>{try{await n(e,t.path),await Me()}catch(e){te(e instanceof Error?e.message:`Failed to revert file`)}},[e,Me]),Pe=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if((l[e]??[]).length>0){Pe.current=!0;return}i(e).then(t=>{t.diffComments&&t.diffComments.length>0&&c({type:de.SetDiffComments,threadId:e,comments:t.diffComments}),Pe.current=!0}).catch(()=>{Pe.current=!0})},[e]),(0,B.useEffect)(()=>{Pe.current&&d(e,{diffComments:U}).catch(()=>{})},[e,U]);let Fe=(0,B.useMemo)(()=>ve(v),[v]),Z=e=>{if(e.hunks.length===0)return null;let t=1/0,n=0;return e.hunks.forEach(e=>{let r=Math.min(e.oldStart,e.newStart),i=e.oldStart+e.oldLines,a=e.newStart+e.newLines,o=Math.max(i,a);t=Math.min(t,r),n=Math.max(n,o)}),t===1/0?null:{startLine:Math.max(1,t-2),endLine:n+2}},Ie=(e,t,n)=>e.split(`
2
+ `).slice(t-1,n).join(`
3
+ `),Le=e=>{let t=Z(e);return t?t.startLine<=1:!0},Re=e=>({ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,swift:`swift`,c:`c`,cpp:`cpp`,h:`c`,hpp:`cpp`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`})[e.split(`.`).pop()??``]||`plaintext`,Q=v[j],ze=Q?I?Q.oldContent:(()=>{let e=Z(Q);return e?Ie(Q.oldContent,e.startLine,e.endLine):Q.oldContent})():``,Be=Q?I?Q.newContent:(()=>{let e=Z(Q);return e?Ie(Q.newContent,e.startLine,e.endLine):Q.newContent})():``,$=(0,B.useCallback)(()=>{if(!Ae.current)return;let e=Y.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=ke.current,i=De.current,a=Oe.current,o=r[n];if(!o)return;let s=(e,r)=>{let s=t?null:Z(o),c=i.filter(e=>e.fileIndex===n&&e.side===r),l=new Set(c.map(e=>s?e.lineNumber-s.startLine+1:e.lineNumber)),u=e.getModel()?.getLineCount()??0,d=[];for(let e=1;e<=u;e++)l.has(e)||d.push({range:{startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1},options:{isWholeLine:!0,glyphMarginClassName:`diff-gutter-add-comment`,glyphMarginHoverMessage:{value:`$(add) Click to add a comment`},stickiness:N.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}});let f=c.map(e=>{let t=s?e.lineNumber-s.startLine+1:e.lineNumber;if(t<1)return null;let n=i.indexOf(e)===a;return{range:{startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1},options:{isWholeLine:!0,className:n?`diff-comment-active-line`:`diff-comment-marked-line`,glyphMarginClassName:n?`diff-comment-glyph-active`:`diff-comment-glyph`,glyphMarginHoverMessage:{value:e.comment},stickiness:N.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}}).filter(e=>e!==null);d.push(...f);let p=r===`original`?X.current.original:X.current.modified,m=e.deltaDecorations(p,d);r===`original`?X.current.original=m:X.current.modified=m};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},[]);(0,B.useEffect)(()=>{$()},[$,U,G,j,I,Q]),(0,B.useEffect)(()=>()=>{Y.current=null,X.current={original:[],modified:[]}},[j]),(0,B.useEffect)(()=>()=>{Ae.current=!1,Y.current&&=(Y.current.getOriginalEditor().getModel()?.dispose(),Y.current.getModifiedEditor().getModel()?.dispose(),Y.current.dispose(),null),X.current={original:[],modified:[]}},[]);let Ve=(0,B.useCallback)(e=>{Y.current=e;let t=e=>e===N.MouseTargetType.GUTTER_GLYPH_MARGIN||e===N.MouseTargetType.GUTTER_LINE_NUMBERS||e===N.MouseTargetType.GUTTER_LINE_DECORATIONS||e===N.MouseTargetType.GUTTER_VIEW_ZONE,n=(e,n)=>{e.onMouseDown(r=>{if(!r.target?.position||!t(r.target.type))return;let i=r.target.position.lineNumber,{isFullView:a,selectedFileIndex:o,files:s}=ke.current,c=s[o];if(!c)return;let l=a?null:Z(c),u=l?l.startLine+i-1:i,d=e.getModel()?.getLineContent(i)??``,f=De.current.find(e=>e.fileIndex===o&&e.lineNumber===u&&e.side===n);f?J(f):Ce({lineNumber:u,lineContent:d,side:n})})};n(e.getOriginalEditor(),`original`),n(e.getModifiedEditor(),`modified`),setTimeout(()=>{Y.current===e&&$()},150)},[$]),He=(0,B.useCallback)(e=>{if(K&&Q){let t={id:`comment-${Date.now()}`,filePath:Q.path,fileIndex:j,lineNumber:K.lineNumber,lineContent:K.lineContent,comment:e,side:K.side};W(e=>[...e,t]),Ce(null)}else q&&(W(t=>t.map(t=>t.id===q.id?{...t,comment:e}:t)),J(null))},[K,q,Q,j,W]),Ue=(0,B.useCallback)(()=>{q&&(W(e=>e.filter(e=>e.id!==q.id)),J(null))},[q,W]),We=(0,B.useCallback)(e=>{if(U.length===0)return;let t=(e%U.length+U.length)%U.length,n=U[t];Se(t),P(n.fileIndex),g&&R(!1),setTimeout(()=>{let e=Y.current;if(!e)return;let t=v[n.fileIndex];if(!t)return;let r=I?null:Z(t),i=r?n.lineNumber-r.startLine+1:n.lineNumber;(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,i)),$()},100)},[U,v,I,$,g]),Ge=(0,B.useCallback)(()=>{We((G??0)-1)},[We,G]),Ke=(0,B.useCallback)(()=>{We((G??-1)+1)},[We,G]),qe=(0,B.useCallback)(async()=>{let t=u[e];if(!t)try{let e=await p(),n=Object.values(e).flat();if(n.length>0)t=n[0];else{console.error(`No models available to process comments`);return}}catch(e){console.error(`Failed to load models:`,e);return}let n=t.id,i=t.provider;try{let{prompt:t}=await a(e,U);W([]),c({type:de.SetPendingChatMessage,message:{threadId:e,message:t,model:n,provider:i}}),r()}catch(e){console.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[U,u,c,e,r,W]),Je={readOnly:!0,renderSideBySide:!g,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:Q&&(I||Le(Q))?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0};return(0,H.jsxs)(`div`,{className:`diff-view-root flex h-full flex-col`,children:[(0,H.jsx)(`div`,{className:`diff-body flex flex-1 overflow-hidden`,children:(0,H.jsxs)(se,{direction:`horizontal`,children:[(0,H.jsx)(le,{ref:z,defaultSize:g?100:25,minSize:g?50:12,maxSize:g?100:40,collapsible:!0,collapsedSize:0,onCollapse:()=>ae(!0),onExpand:()=>ae(!1),className:y(`border-r border-transparent`,_e&&`hidden`),children:(0,H.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,H.jsx)(xe,{treeData:Fe,files:v,error:D,selectedFileIndex:j,onFileSelect:ge,onRevertFile:Ne})})}),!g&&(0,H.jsx)(we,{isOpen:!L}),(0,H.jsx)(le,{className:y(`overflow-hidden bg-transparent`,ye&&`hidden`),children:(0,H.jsxs)(`div`,{className:`diff-editor-panel flex h-full bg-transparent flex-col overflow-hidden`,children:[(0,H.jsxs)(pe,{className:y(`bg-transparent`,L&&`h-auto py-3 flex-col items-start gap-3 md:flex-row md:items-center md:h-[71px] md:py-0 md:gap-2 justify-between`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[be?(0,H.jsxs)(w,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:V,children:[(0,H.jsx)(m,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):(0,H.jsxs)(w,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:je,children:[L?(0,H.jsx)(m,{className:`h-4 w-4`}):(0,H.jsx)(x,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),(0,H.jsx)(`span`,{className:y(A.label,`text-foreground`),children:Q?Q.path:`Review Changes`})]}),(0,H.jsxs)(`div`,{className:y(`flex items-center gap-2`,L&&`ml-0`,!L&&`ml-auto`,`md:ml-auto`),children:[(0,H.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>ne(e=>!e),disabled:!Q,className:y(A.compact,`h-8 gap-1 px-2`),children:I?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(S,{className:`h-3 w-3`}),` Show changes only`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(ee,{className:`h-3 w-3`}),` Show full file`]})}),U.length>0&&(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsxs)(E,{children:[(0,H.jsx)(T,{asChild:!0,children:(0,H.jsx)(w,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Ge,disabled:(G??0)===0,children:(0,H.jsx)(O,{className:`h-3 w-3`})})}),(0,H.jsx)(b,{children:`Previous comment`})]}),(0,H.jsx)(`span`,{className:y(A.caption,`whitespace-nowrap`),children:U.length===1?`1 Comment`:`Comment ${(G??0)+1} of ${U.length}`}),(0,H.jsxs)(E,{children:[(0,H.jsx)(T,{asChild:!0,children:(0,H.jsx)(w,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Ke,disabled:(G??0)===U.length-1,children:(0,H.jsx)(h,{className:`h-3 w-3`})})}),(0,H.jsx)(b,{children:`Next comment`})]})]}),U.length>0&&(0,H.jsxs)(E,{children:[(0,H.jsx)(T,{asChild:!0,children:(0,H.jsxs)(w,{size:`sm`,onClick:qe,className:y(A.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),children:[(0,H.jsx)(_,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,H.jsx)(b,{children:`Send all comments to Tarsk for resolution`})]})]})]}),(0,H.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[(0,H.jsx)(M,{height:`100%`,language:Re(Q?.path||``),original:ze,modified:Be,theme:f===`dark`?`vs-dark`:`vs-light`,onMount:Ve,options:Je},`diff-${j}`),(0,H.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[oe&&(0,H.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,H.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,H.jsxs)(w,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>me(!1),children:[(0,H.jsx)(t,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,H.jsx)(ce,{})]}),!oe&&(0,H.jsxs)(E,{children:[(0,H.jsx)(T,{asChild:!0,children:(0,H.jsxs)(w,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:()=>me(!0),children:[(0,H.jsx)(_,{className:`h-5 w-5`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,H.jsx)(b,{children:`Chat about this diff`})]})]})]})]})})]})}),(0,H.jsx)(Te,{open:K!==null||q!==null,lineNumber:q?.lineNumber??K?.lineNumber??0,lineContent:q?.lineContent??K?.lineContent??``,initialComment:q?.comment,isEditing:q!==null,onSave:He,onDelete:Ue,onClose:()=>{Ce(null),J(null)}},`${q?.id??``}-${K?.lineNumber??``}-${K?.side??``}`)]})}function De(e){let t=(0,V.c)(11),[n,r]=(0,B.useState)(0),i;t[0]!==n||t[1]!==e.threadId?(i=function(){L(Ee(e.threadId,n)),r(Oe)},t[0]=n,t[1]=e.threadId,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,H.jsx)(I,{}),t[3]=o):o=t[3];let s=`${e.threadId}:${n}`,c;t[4]!==n||t[5]!==e||t[6]!==s?(c=(0,H.jsx)(B.Suspense,{fallback:o,children:(0,H.jsx)(Y,{...e,loadVersion:n},s)}),t[4]=n,t[5]=e,t[6]=s,t[7]=c):c=t[7];let l;return t[8]!==a||t[9]!==c?(l=(0,H.jsx)(ne,{fallbackTitle:`Failed to load review changes`,onRetry:a,children:c}),t[8]=a,t[9]=c,t[10]=l):l=t[10],l}function Oe(e){return e+1}export{De as DiffView,De as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-uXbr6cCI.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-DOsSr4dl.js","assets/monaco-CZnIWXyV.js","assets/monaco-Br_kD0ds.css","assets/history-view-Ds_0e_bx.js","assets/dialogs-config-B4TDFSrS.js","assets/onboarding-DfL8a0LZ.js","assets/whisper-wasm-Cq5Ofwpd.js","assets/react-vendor-unlDVFpU.js","assets/utils-umVhs9to.js","assets/index-C0lTt0ZK.css","assets/api-OCjPhv01.js","assets/context-menu-CMsWrzLD.js","assets/ui-components-BZYnvMGc.js","assets/explorer-view-CupxzDId.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ti as t,fo as n,hr as r,ii as i,mo as a,vi as o}from"./dialogs-config-B4TDFSrS.js";import{r as s}from"./monaco-CZnIWXyV.js";import{l as c,u as l}from"./history-view-Ds_0e_bx.js";import{C as u,a as d,i as f,j as p,n as m,r as h}from"./index-DOsSr4dl.js";var g=n(),_=e(a(),1),v=t(),y=(0,_.lazy)(()=>s(()=>import(`./explorer-tree-uXbr6cCI.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),b=(0,_.lazy)(()=>s(()=>import(`./explorer-view-CupxzDId.js`),__vite__mapDeps([15,1,2,3,4,5,6,7,8,9,10,11,12])));function x(){let e=(0,g.c)(44),t=p(S),n=m(),[a,s]=(0,_.useState)(null),[x,C]=(0,_.useState)(!0),{pendingExplorerPath:w,setPendingExplorerPath:T,explorerClearPath:E,setExplorerClearPath:D}=u(),O;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>{C(!0)},e[0]=O):O=e[0];let k;e[1]===t?k=e[2]:(k=[t],e[1]=t,e[2]=k),(0,_.useEffect)(O,k);let A;e[3]===n?A=e[4]:(A=e=>{s(e),n&&C(!1)},e[3]=n,e[4]=A);let j=A,M;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{C(!0)},e[5]=M):M=e[5];let N=M,P,F;e[6]!==n||e[7]!==w||e[8]!==T?(P=()=>{w&&(s({name:w.split(`/`).pop()??w,path:w,type:`file`}),n&&C(!1),T(null))},F=[n,w,T],e[6]=n,e[7]=w,e[8]=T,e[9]=P,e[10]=F):(P=e[9],F=e[10]),(0,_.useEffect)(P,F);let I,L;e[11]!==E||e[12]!==n||e[13]!==a||e[14]!==D?(I=()=>{E&&(a&&(a.path===E||a.path.startsWith(E+`/`))&&(s(null),n&&C(!0)),D(null))},L=[E,n,a,D],e[11]=E,e[12]=n,e[13]=a,e[14]=D,e[15]=I,e[16]=L):(I=e[15],L=e[16]),(0,_.useEffect)(I,L);let R=n&&!x,ee=n&&x,z=n?100:25,B=n?50:15,V=n?100:50,H=R&&`hidden`,U;e[17]===H?U=e[18]:(U=i(`overflow-hidden border-r border-border`,H),e[17]=H,e[18]=U);let W;e[19]!==j||e[20]!==a?.path||e[21]!==t?(W=(0,v.jsx)(r,{className:`h-full`,children:t?(0,v.jsx)(_.Suspense,{fallback:(0,v.jsx)(l,{}),children:(0,v.jsx)(y,{threadId:t,selectedPath:a?.path??null,onNodeSelect:j})}):(0,v.jsx)(`p`,{className:i(o.caption,`px-3 py-4 text-center`),children:`No thread selected.`})}),e[19]=j,e[20]=a?.path,e[21]=t,e[22]=W):W=e[22];let G;e[23]!==V||e[24]!==U||e[25]!==W||e[26]!==z||e[27]!==B?(G=(0,v.jsx)(f,{defaultSize:z,minSize:B,maxSize:V,className:U,children:W}),e[23]=V,e[24]=U,e[25]=W,e[26]=z,e[27]=B,e[28]=G):G=e[28];let K;e[29]===n?K=e[30]:(K=!n&&(0,v.jsx)(h,{withHandle:!0}),e[29]=n,e[30]=K);let q=ee&&`hidden`,J;e[31]===q?J=e[32]:(J=i(`overflow-hidden`,q),e[31]=q,e[32]=J);let Y;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,v.jsx)(c,{}),e[33]=Y):Y=e[33];let X=n&&!x,Z;e[34]!==a||e[35]!==X?(Z=(0,v.jsx)(_.Suspense,{fallback:Y,children:(0,v.jsx)(b,{selectedFile:a,showTreeBackButton:X,onShowTree:N})}),e[34]=a,e[35]=X,e[36]=Z):Z=e[36];let Q;e[37]!==J||e[38]!==Z?(Q=(0,v.jsx)(f,{className:J,children:Z}),e[37]=J,e[38]=Z,e[39]=Q):Q=e[39];let $;return e[40]!==G||e[41]!==K||e[42]!==Q?($=(0,v.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:(0,v.jsxs)(d,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[G,K,Q]})}),e[40]=G,e[41]=K,e[42]=Q,e[43]=$):$=e[43],$}function S(e){return e.selectedThreadId}export{x as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ia as t,Na as n,Pa as r,Ti as i,Zi as a,br as o,eo as s,fo as c,ii as l,mo as u,no as d,vi as f}from"./dialogs-config-B4TDFSrS.js";import{u as p}from"./onboarding-DfL8a0LZ.js";import{A as m,F as h,M as g,O as _,a as v,c as y,j as b,k as x,n as S,o as C,u as w}from"./history-view-Ds_0e_bx.js";import{C as T,E,b as D,x as ee,y as O}from"./index-DOsSr4dl.js";import{a as k,i as A,n as j,r as M,t as N}from"./context-menu-CMsWrzLD.js";import{n as P,o as F,r as I,s as L,t as R}from"./api-OCjPhv01.js";import{t as z}from"./ui-components-BZYnvMGc.js";var B=c(),V=e(u(),1),H=i(),U=V.forwardRef((e,t)=>{let n=(0,B.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,H.jsx)(z,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});U.displayName=z.displayName;var W=V.forwardRef((e,t)=>{let n=(0,B.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let o;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,H.jsx)(a,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=o):o=n[3];let s;n[4]===r?s=n[5]:(s=l(`flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==s?(c=(0,H.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[o,(0,H.jsx)(z.Input,{ref:t,className:s,...i})]}),n[6]=i,n[7]=t,n[8]=s,n[9]=c):c=n[9],c});W.displayName=z.Input.displayName;var G=V.forwardRef((e,t)=>{let n=(0,B.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,H.jsx)(z.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});G.displayName=z.List.displayName;var K=V.forwardRef((e,t)=>{let n=(0,B.c)(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=l(f.bodyMuted,`py-6 text-center`),n[0]=r):r=n[0];let i;return n[1]!==e||n[2]!==t?(i=(0,H.jsx)(z.Empty,{ref:t,className:r,...e}),n[1]=e,n[2]=t,n[3]=i):i=n[3],i});K.displayName=z.Empty.displayName;var q=V.forwardRef((e,t)=>{let n=(0,B.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,H.jsx)(z.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});q.displayName=z.Group.displayName;var J=V.forwardRef((e,t)=>{let n=(0,B.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(`-mx-1 h-px bg-border`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,H.jsx)(z.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});J.displayName=z.Separator.displayName;var Y=V.forwardRef((e,t)=>{let n=(0,B.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(l(f.body,`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,H.jsx)(z.Item,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Y.displayName=z.Item.displayName;var te=e=>{let t=(0,B.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(f.compact,`ml-auto tracking-widest text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`span`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};te.displayName=`CommandShortcut`;var X=100,ne=500;function re(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function Z(e,t){return t.length===0?!0:t.every(t=>e.haystack.includes(t))}function Q(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(Z(n,t)&&(r.push(n.node),r.length>=ne))break;return r.sort((e,t)=>ie(e,t,n)).slice(0,X)}function ie(e,t,n){let r=n.trim().toLowerCase(),i=e.name.toLowerCase(),a=t.name.toLowerCase(),o=r?i.startsWith(r):!1;return o===(r?a.startsWith(r):!1)?e.type===t.type?e.path.localeCompare(t.path):e.type===`folder`?-1:1:o?-1:1}function ae(e){let r=(0,B.c)(38),{items:i,isReady:a,onRequestIndex:s,onOpenChange:c,onSelect:u}=e,d=a===void 0?!1:a,p=(0,V.useRef)(null),m=(0,V.useRef)(!1),h=(0,V.useRef)(!1),[g,_]=(0,V.useState)(!1),[v,y]=(0,V.useState)(``),b=(0,V.useDeferredValue)(v),x;r[0]===s?x=r[1]:(x=function(){h.current||(h.current=!0,s())},r[0]=s,r[1]=x);let S=x,C;r[2]!==b||r[3]!==i?(C=Q(i,re(b),b),r[2]=b,r[3]=i,r[4]=C):C=r[4];let w=C,T,E;r[5]!==c||r[6]!==v?(T=()=>{let e=v.trim().length>0;_(e),m.current!==e&&(m.current=e,c(e))},E=[c,v],r[5]=c,r[6]=v,r[7]=T,r[8]=E):(T=r[7],E=r[8]),(0,V.useEffect)(T,E);let k;r[9]===c?k=r[10]:(k=function(e){e||y(``),_(e),c(e),e&&requestAnimationFrame(()=>p.current?.focus())},r[9]=c,r[10]=k);let A=k,j;r[11]!==c||r[12]!==u?(j=function(e){u(e),_(!1),c(!1),y(``)},r[11]=c,r[12]=u,r[13]=j):j=r[13];let M=j,N;r[14]===S?N=r[15]:(N=e=>{S(),y(e.target.value)},r[14]=S,r[15]=N);let P;r[16]!==v||r[17]!==S||r[18]!==N?(P=(0,H.jsx)(ee,{asChild:!0,children:(0,H.jsx)(`div`,{children:(0,H.jsx)(o,{ref:p,value:v,onPointerDown:S,onChange:N,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),r[16]=v,r[17]=S,r[18]=N,r[19]=P):P=r[19];let F;r[20]===Symbol.for(`react.memo_cache_sentinel`)?(F=l(f.compact,`py-4`),r[20]=F):F=r[20];let I=d?`No matches found.`:`Indexing files and folders...`,L;r[21]===I?L=r[22]:(L=(0,H.jsx)(K,{className:F,children:I}),r[21]=I,r[22]=L);let R;if(r[23]!==M||r[24]!==w){let e;r[26]===M?e=r[27]:(e=e=>(0,H.jsxs)(Y,{value:e.path,onSelect:()=>M(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,H.jsx)(n,{className:`h-4 w-4 text-muted-foreground`}):(0,H.jsx)(t,{className:`h-4 w-4 text-muted-foreground`}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`div`,{className:`truncate`,children:e.name}),(0,H.jsx)(`div`,{className:l(f.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),r[26]=M,r[27]=e),R=w.map(e),r[23]=M,r[24]=w,r[25]=R}else R=r[25];let z;r[28]===R?z=r[29]:(z=(0,H.jsx)(q,{children:R}),r[28]=R,r[29]=z);let W;r[30]!==L||r[31]!==z?(W=(0,H.jsx)(D,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:$,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,H.jsx)(U,{shouldFilter:!1,children:(0,H.jsxs)(G,{children:[L,z]})})}),r[30]=L,r[31]=z,r[32]=W):W=r[32];let J;return r[33]!==A||r[34]!==g||r[35]!==W||r[36]!==P?(J=(0,H.jsxs)(O,{open:g,onOpenChange:A,children:[P,W]}),r[33]=A,r[34]=g,r[35]=W,r[36]=P,r[37]=J):J=r[37],J}function $(e){return e.preventDefault()}function oe(e,t,n){return`explorer-dir:${e}:${t}:${n}`}function se(e){let t=(0,B.c)(12),{threadId:n,dirPath:r,version:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=oe(n,r,i),t[0]=r,t[1]=n,t[2]=i,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==n?(s=()=>F(n,r).then(ce),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c=v(o,s),l;t[7]!==a||t[8]!==c?(l=a(c),t[7]=a,t[8]=c,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,H.jsx)(H.Fragment,{children:l}),t[10]=l,t[11]=u),u}function ce(e){return e.entries}function le(e){let t=(0,B.c)(17),{defaultValue:n,onCommit:r,onCancel:i,level:a,basePadding:o,icon:s}=e,c=(0,V.useRef)(null),l,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c.current?.focus(),c.current?.select()},u=[],t[0]=l,t[1]=u):(l=t[0],u=t[1]),(0,V.useEffect)(l,u);let d;t[2]!==i||t[3]!==r?(d=function(e){if(e.key===`Enter`){let e=c.current?.value.trim()??``;e?r(e):i()}else e.key===`Escape`&&i()},t[2]=i,t[3]=r,t[4]=d):d=t[4];let f=d,m;t[5]!==i||t[6]!==r?(m=function(){let e=c.current?.value.trim()??``;e?r(e):i()},t[5]=i,t[6]=r,t[7]=m):m=t[7];let h=m,g;t[8]!==n||t[9]!==h||t[10]!==f?(g=(0,H.jsx)(`input`,{ref:c,defaultValue:n,onKeyDown:f,onBlur:h,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:ue}),t[8]=n,t[9]=h,t[10]=f,t[11]=g):g=t[11];let _;return t[12]!==o||t[13]!==s||t[14]!==a||t[15]!==g?(_=(0,H.jsxs)(p,{level:a,basePadding:o,children:[s,g]}),t[12]=o,t[13]=s,t[14]=a,t[15]=g,t[16]=_):_=t[16],_}function ue(e){return e.stopPropagation()}function de(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}var fe=(0,V.memo)(function e({node:i,level:a,threadId:o,selectedPath:c,expandedPaths:l,getDirVersion:u,renamingPath:f,newItemIn:m,onToggleFolder:h,onSelectNode:g,onStartRename:_,onCommitRename:v,onCancelRename:b,onDelete:x,onNewFile:S,onNewFolder:C,onCommitNewItem:w,onCancelNewItem:T}){let E=l.has(i.path),D=f===i.path,ee=m?.dirPath===i.path&&E;return i.type===`folder`?(0,H.jsxs)(N,{children:[(0,H.jsx)(k,{asChild:!0,children:(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(p,{level:a,basePadding:10,selected:c===i.path,className:i.ignored?`opacity-50`:void 0,onClick:e=>{e.stopPropagation(),h(i)},children:[(0,H.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:E?(0,H.jsx)(d,{className:`h-3 w-3`}):(0,H.jsx)(s,{className:`h-3 w-3`})}),D?(0,H.jsxs)(H.Fragment,{children:[E?(0,H.jsx)(r,{className:`h-4 w-4 flex-shrink-0`}):(0,H.jsx)(n,{className:`h-4 w-4 flex-shrink-0`}),(0,H.jsx)(`input`,{autoFocus:!0,defaultValue:i.name,onKeyDown:e=>{if(e.key===`Enter`){let t=e.target.value.trim();t?v(i,t):b()}else e.key===`Escape`&&b()},onBlur:e=>{let t=e.target.value.trim();t?v(i,t):b()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`})]}):(0,H.jsxs)(H.Fragment,{children:[E?(0,H.jsx)(r,{className:`h-4 w-4 flex-shrink-0`}):(0,H.jsx)(n,{className:`h-4 w-4 flex-shrink-0`}),(0,H.jsx)(`span`,{className:`flex-1 truncate`,children:i.name})]})]}),E&&(0,H.jsx)(`div`,{children:(0,H.jsx)(V.Suspense,{fallback:(0,H.jsx)(y,{}),children:(0,H.jsx)(se,{threadId:o,dirPath:i.path,version:u(i.path),children:r=>(0,H.jsxs)(H.Fragment,{children:[ee&&(0,H.jsx)(le,{defaultValue:``,level:a+1,basePadding:m.type===`folder`?10:22,icon:m.type===`folder`?(0,H.jsx)(n,{className:`h-4 w-4 flex-shrink-0`}):(0,H.jsx)(t,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:w,onCancel:T}),r.map(t=>(0,H.jsx)(e,{node:t,level:a+1,threadId:o,selectedPath:c,expandedPaths:l,getDirVersion:u,renamingPath:f,newItemIn:m,onToggleFolder:h,onSelectNode:g,onStartRename:_,onCommitRename:v,onCancelRename:b,onDelete:x,onNewFile:S,onNewFolder:C,onCommitNewItem:w,onCancelNewItem:T},t.path))]})})})})]})}),(0,H.jsxs)(j,{children:[(0,H.jsx)(M,{onSelect:()=>S(i.path),children:`New File...`}),(0,H.jsx)(M,{onSelect:()=>C(i.path),children:`New Folder...`}),(0,H.jsx)(A,{}),(0,H.jsx)(M,{onSelect:()=>_(i),children:`Rename...`}),(0,H.jsx)(M,{onSelect:()=>x(i),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]}):(0,H.jsxs)(N,{children:[(0,H.jsx)(k,{asChild:!0,children:(0,H.jsxs)(p,{level:a,basePadding:22,selected:c===i.path,className:i.ignored?`opacity-50`:void 0,onClick:()=>g(i),children:[(0,H.jsx)(t,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),D?(0,H.jsx)(`input`,{autoFocus:!0,defaultValue:i.name,onKeyDown:e=>{if(e.key===`Enter`){let t=e.target.value.trim();t?v(i,t):b()}else e.key===`Escape`&&b()},onBlur:e=>{let t=e.target.value.trim();t?v(i,t):b()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}):(0,H.jsx)(`span`,{className:`flex-1 truncate`,children:i.name})]})}),(0,H.jsxs)(j,{children:[(0,H.jsx)(M,{onSelect:()=>_(i),children:`Rename...`}),(0,H.jsx)(M,{onSelect:()=>x(i),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]})}),pe=new Map;function me({threadId:e,selectedPath:r,onNodeSelect:i}){let[a,o]=(0,V.useState)(()=>new Map([[``,0]])),[s,c]=(0,V.useState)(new Set),[l,u]=(0,V.useState)(null),[d,f]=(0,V.useState)(null),[p,v]=(0,V.useState)(null),[y,D]=(0,V.useState)(!1),[ee,O]=(0,V.useState)([]),[A,z]=(0,V.useState)(!1),[B,U]=(0,V.useState)(!1),W=(0,V.useRef)(null),G=(0,V.useRef)(0),K=(0,V.useRef)(null),{explorerRefreshTick:q,pendingExplorerPath:J}=T(),Y=(0,V.useMemo)(()=>`${e}:${q}`,[q,e]),te=(0,V.useCallback)(e=>{(0,V.startTransition)(()=>{D(t=>t===e?t:e)})},[]),X=(0,V.useCallback)(async()=>{if(!e)return;let t=pe.get(Y);if(t){O(t),z(!0);return}if(W.current!==Y){W.current=Y,O([]),z(!1);try{let t=de((await F(e,``,!0)).entries);pe.set(Y,t),O(t),z(!0)}catch{O([]),z(!1)}finally{W.current===Y&&(W.current=null)}}},[Y,e]),ne=(0,V.useCallback)(()=>{U(!0)},[]),re=(0,V.useCallback)(()=>{pe.delete(Y),O([]),z(!1)},[Y]),Z=(0,V.useCallback)(()=>{re(),B&&X()},[re,X,B]),Q=(0,V.useCallback)(e=>a.get(e)??0,[a]),ie=(0,V.useCallback)(e=>{o(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},[]),$=(0,V.useCallback)(t=>{e&&(C(oe(e,t,Q(t))),ie(t))},[ie,Q,e]),ce=(0,V.useCallback)(t=>{if(!e)return;let n=t.path.split(`/`);t.type===`file`&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);c(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[e]);(0,V.useEffect)(()=>{if(!e)return;let t=K.current!==null&&K.current!==e;K.current=e,t&&(o(new Map([[``,0]])),c(new Set),u(null),f(null),G.current=q)},[q,e]),(0,V.useEffect)(()=>{!e||q<=G.current||(G.current=q,o(t=>{let n=new Set([``]);for(let e of s)n.add(e);let r=new Map(t);for(let i of n){let n=t.get(i)??0;C(oe(e,i,n)),r.set(i,n+1)}return r}))},[q,s,e]),(0,V.useEffect)(()=>{O([]),z(!1),U(!1),W.current=null},[Y]),(0,V.useEffect)(()=>{!B||!e||X()},[X,B,e]),(0,V.useEffect)(()=>{if(!J||!e)return;let t=J.split(`/`);t.pop();let n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);if(n.length!==0){c(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)o(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})}},[J,e]);function ue(e){s.has(e.path)?c(t=>{let n=new Set(t);return n.delete(e.path),n}):(c(t=>new Set(t).add(e.path)),o(t=>{if(t.has(e.path))return t;let n=new Map(t);return n.set(e.path,0),n}))}function me(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}function he(e){v(e)}async function ge(){if(!p)return;let t=p;v(null);try{await I(e,t.path),$(me(t.path)),Z(),c(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),o(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n})}catch{E({title:`Error`,description:`Failed to move "${t.name}" to trash`,variant:`destructive`})}}function _e(e){f(null),u(e.path)}async function ve(t,n){if(n===t.name){u(null);return}u(null);try{await L(e,t.path,n),$(me(t.path)),Z(),t.type===`folder`&&(c(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),o(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}))}catch{E({title:`Error`,description:`Failed to rename "${t.name}"`,variant:`destructive`})}}function ye(e){u(null),s.has(e)||(c(t=>new Set(t).add(e)),o(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),f({dirPath:e,type:`file`})}function be(e){u(null),s.has(e)||(c(t=>new Set(t).add(e)),o(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),f({dirPath:e,type:`folder`})}async function xe(t){if(!d)return;let{dirPath:n,type:r}=d;f(null);try{r===`file`?await R(e,n,t):await P(e,n,t),$(n),Z()}catch{E({title:`Error`,description:`Failed to create ${r} "${t}"`,variant:`destructive`})}}function Se(){f(null)}function Ce(e){ce(e),e.type===`file`&&i(e)}let we=d?.dirPath===``?(0,H.jsx)(le,{defaultValue:``,level:0,basePadding:d.type===`folder`?10:22,icon:d.type===`folder`?(0,H.jsx)(n,{className:`h-4 w-4 flex-shrink-0`}):(0,H.jsx)(t,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:xe,onCancel:Se}):null;return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(_,{open:p!==null,onOpenChange:e=>!e&&v(null),children:(0,H.jsxs)(b,{children:[(0,H.jsx)(h,{children:`Move to Trash`}),(0,H.jsxs)(g,{children:[`Move “`,p?.name,`” to trash?`]}),(0,H.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[(0,H.jsx)(m,{children:`Cancel`}),(0,H.jsx)(x,{onClick:()=>void ge(),children:`Move to Trash`})]})]})}),(0,H.jsx)(`div`,{className:`border-b border-border bg-background px-2 py-2`,children:(0,H.jsx)(ae,{items:ee,isReady:A,onRequestIndex:ne,onOpenChange:te,onSelect:e=>Ce(e)},Y)}),(0,H.jsxs)(N,{children:[(0,H.jsx)(k,{asChild:!0,disabled:y,children:(0,H.jsx)(`div`,{className:`py-2 min-h-full`,children:(0,H.jsx)(S,{fallbackTitle:`Failed to load files`,onRetry:()=>$(``),children:(0,H.jsx)(V.Suspense,{fallback:(0,H.jsx)(w,{}),children:(0,H.jsx)(se,{threadId:e,dirPath:``,version:Q(``),children:t=>(0,H.jsxs)(H.Fragment,{children:[we,t.map(t=>(0,H.jsx)(fe,{node:t,level:0,threadId:e,selectedPath:r,expandedPaths:s,getDirVersion:Q,renamingPath:l,newItemIn:d,onToggleFolder:ue,onSelectNode:i,onStartRename:_e,onCommitRename:ve,onCancelRename:()=>u(null),onDelete:he,onNewFile:ye,onNewFolder:be,onCommitNewItem:xe,onCancelNewItem:Se},t.path))]})})})})})}),(0,H.jsxs)(j,{children:[(0,H.jsx)(M,{onSelect:()=>ye(``),children:`New File...`}),(0,H.jsx)(M,{onSelect:()=>be(``),children:`New Folder...`})]})]})]})}export{me as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{La as t,Ti as n,ca as r,fo as i,ii as a,li as o,mo as s,ni as c,ui as l,vi as u,ya as d}from"./dialogs-config-B4TDFSrS.js";import{S as f}from"./react-vendor-unlDVFpU.js";import{a as p,l as m,n as h,o as g}from"./history-view-Ds_0e_bx.js";import{n as _}from"./utils-umVhs9to.js";import{E as v,j as y,o as b,w as x}from"./index-DOsSr4dl.js";import{a as S,c as C,i as w}from"./api-OCjPhv01.js";var T=i(),E=e(s(),1),D=n();function O(e){return l(e)===`md`}function k(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[l(e)]??`plaintext`}function A(e,t){return`explorer-file:${e}:${t}`}function j(e){let t=(0,T.c)(10),{threadId:n,path:r,onContentReady:i}=e,a;t[0]!==r||t[1]!==n?(a=A(n,r),t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;t[3]!==r||t[4]!==n?(o=()=>S(n,r),t[3]=r,t[4]=n,t[5]=o):o=t[5];let s=p(a,o),c,l;return t[6]!==i||t[7]!==s.content?(c=()=>{i({content:s.content,original:s.content})},l=[i,s.content],t[6]=i,t[7]=s.content,t[8]=c,t[9]=l):(c=t[8],l=t[9]),(0,E.useLayoutEffect)(c,l),null}function M(e,t){return`explorer-media:${e}:${t}`}function N(e,t){let n=(0,T.c)(11),r;n[0]!==t||n[1]!==e?(r=M(e,t),n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t||n[4]!==e?(i=()=>w(e,t),n[3]=t,n[4]=e,n[5]=i):i=n[5];let a=p(r,i),o;n[6]===a?o=n[7]:(o=URL.createObjectURL(a),n[6]=a,n[7]=o);let s=o,c,l;return n[8]===s?(c=n[9],l=n[10]):(c=()=>()=>{URL.revokeObjectURL(s)},l=[s],n[8]=s,n[9]=c,n[10]=l),(0,E.useEffect)(c,l),s}function P(e){let t=(0,T.c)(3),{threadId:n,path:r,alt:i}=e,a=N(n,r),o;return t[0]!==i||t[1]!==a?(o=(0,D.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,D.jsx)(`img`,{src:a,alt:i,className:`max-w-full max-h-full object-contain`})}),t[0]=i,t[1]=a,t[2]=o):o=t[2],o}function F(e){let t=(0,T.c)(2),{threadId:n,path:r}=e,i=N(n,r),a;return t[0]===i?a=t[1]:(a=(0,D.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,D.jsx)(`video`,{src:i,controls:!0,className:`max-w-full max-h-full`})}),t[0]=i,t[1]=a),a}function I({selectedFile:e,showTreeBackButton:n=!1,onShowTree:i}){let{resolvedTheme:s}=_(),l=y(e=>e.selectedThreadId),p=(0,E.useRef)(null),[S,w]=(0,E.useState)(null),[T,N]=(0,E.useState)(!1),[I,L]=(0,E.useState)(`edit`),[R,z]=(0,E.useState)(0),B=e?o(e.path,e.name):null,V=e?.type===`file`&&l&&!B?e:null,H=S?.content??``,U=S?.original??``,W=V?`${l}:${V.path}:${R}`:null;(0,E.useEffect)(()=>()=>{p.current&&=(p.current.getModel()?.dispose(),p.current.dispose(),null)},[]),(0,E.useEffect)(()=>{e?.type===`file`?L(O(e.path)?`view`:`edit`):L(`edit`),w(null)},[e?.path,l]);async function G(){if(!(!l||!e)){N(!0);try{await C(l,e.path,H),w({content:H,original:H}),v({title:`Saved`,description:`${e.name} saved successfully.`})}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to save file`,variant:`destructive`})}finally{N(!1)}}}function K(){!l||!V||(g(A(l,V.path)),w(null),z(e=>e+1))}return l?(0,D.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,D.jsxs)(b,{className:`justify-between`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[n&&i?(0,D.jsxs)(c,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground electrobun-webkit-app-region-no-drag`,onClick:i,children:[(0,D.jsx)(r,{className:`h-4 w-4`}),(0,D.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):null,(0,D.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,D.jsx)(`span`,{className:a(u.label,`truncate text-foreground`),children:e?e.name:`Select a file to edit`}),(0,D.jsx)(`span`,{className:a(u.compact,`truncate text-muted-foreground`),children:e?e.path:`Browse and edit repository files`})]})]}),V&&S?(0,D.jsxs)(`div`,{className:`flex gap-2`,children:[O(V.path)?(0,D.jsxs)(`div`,{className:`flex rounded-full border border-input bg-background p-0.5`,children:[(0,D.jsx)(c,{size:`sm`,variant:I===`view`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>L(`view`),children:`View`}),(0,D.jsx)(c,{size:`sm`,variant:I===`edit`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>L(`edit`),children:`Edit`})]}):null,(0,D.jsxs)(c,{size:`sm`,onClick:()=>void G(),disabled:T||!H||H===U,children:[T?(0,D.jsx)(d,{className:`h-4 w-4 animate-spin`}):null,`Save`]})]}):null]}),(0,D.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,D.jsx)(`div`,{className:`h-full relative overflow-hidden`,children:V?(0,D.jsxs)(h,{fallbackTitle:`Failed to load file`,onRetry:K,children:[(0,D.jsx)(E.Suspense,{fallback:(0,D.jsx)(m,{}),children:(0,D.jsx)(j,{threadId:l,path:V.path,onContentReady:w},W??void 0)}),S?O(V.path)&&I===`view`?(0,D.jsx)(`div`,{className:`h-full overflow-auto p-6`,children:(0,D.jsx)(x,{content:H,enableMermaid:!0})}):(0,D.jsx)(f,{height:`100%`,language:k(V.path),value:H,onChange:e=>w(t=>t&&{...t,content:e??``}),onMount:e=>{p.current=e},theme:s===`dark`?`vs-dark`:`vs-light`,options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,automaticLayout:!0,fontSize:13,lineNumbers:`on`,renderLineHighlight:`line`,scrollbar:{vertical:`auto`,horizontal:`auto`}}}):(0,D.jsx)(m,{})]}):e?.type===`file`&&B===`image`?(0,D.jsx)(h,{fallbackTitle:`Failed to load image`,onRetry:()=>{!l||!e||g(M(l,e.path))},children:(0,D.jsx)(E.Suspense,{fallback:(0,D.jsx)(m,{}),children:(0,D.jsx)(P,{threadId:l,path:e.path,alt:e.name})})}):e?.type===`file`&&B===`video`?(0,D.jsx)(h,{fallbackTitle:`Failed to load video`,onRetry:()=>{!l||!e||g(M(l,e.path))},children:(0,D.jsx)(E.Suspense,{fallback:(0,D.jsx)(m,{}),children:(0,D.jsx)(F,{threadId:l,path:e.path})})}):(0,D.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,D.jsx)(t,{className:`h-10 w-10 text-muted-foreground/50`}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`p`,{className:a(u.label,`text-muted-foreground`),children:`No file selected`}),(0,D.jsx)(`p`,{className:a(u.bodyMuted,`mt-1`),children:`Select a file from the tree to edit it`})]})]})})})]}):(0,D.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,D.jsx)(t,{className:`h-8 w-8 text-muted-foreground`}),(0,D.jsx)(`p`,{className:u.bodyMuted,children:`Select a thread to browse its files`})]})}export{I as default};
@@ -0,0 +1 @@
1
+ import{Cr as e,Er as t,Sr as n,Ti as r,Tr as i,fo as a,ii as o,ni as s,vi as c,wr as l,xr as u,ya as d}from"./dialogs-config-B4TDFSrS.js";var f=a(),p=r();function m(r){let a=(0,f.c)(28),{open:m,onOpenChange:g,commits:_,displayedCommits:v,isLoadingMore:y,onScroll:b,currentBranch:x}=r,S;a[0]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,p.jsx)(t,{children:`Commit History`}),a[0]=S):S=a[0];let C;a[1]===x?C=a[2]:(C=(0,p.jsxs)(i,{children:[S,(0,p.jsxs)(e,{children:[`Recent commits on branch `,x]})]}),a[1]=x,a[2]=C);let w;a[3]===v?w=a[4]:(w=v.length>0?v.map(h):(0,p.jsx)(`p`,{className:o(c.bodyMuted,`text-center py-8`),children:`No commits found`}),a[3]=v,a[4]=w);let T;a[5]===y?T=a[6]:(T=y&&(0,p.jsx)(`div`,{className:`p-3 text-center`,children:(0,p.jsx)(d,{className:`h-4 w-4 animate-spin inline`})}),a[5]=y,a[6]=T);let E;a[7]!==_.length||a[8]!==v.length||a[9]!==y?(E=v.length<_.length&&!y&&(0,p.jsx)(`div`,{className:o(c.caption,`p-3 text-center`),children:`Scroll to load more`}),a[7]=_.length,a[8]=v.length,a[9]=y,a[10]=E):E=a[10];let D;a[11]!==w||a[12]!==T||a[13]!==E?(D=(0,p.jsxs)(`div`,{className:`divide-y`,children:[w,T,E]}),a[11]=w,a[12]=T,a[13]=E,a[14]=D):D=a[14];let O;a[15]!==b||a[16]!==D?(O=(0,p.jsx)(`div`,{className:`flex-1 overflow-y-auto border rounded-lg`,onScroll:b,children:D}),a[15]=b,a[16]=D,a[17]=O):O=a[17];let k;a[18]===g?k=a[19]:(k=(0,p.jsx)(l,{children:(0,p.jsx)(s,{onClick:()=>g(!1),children:`Close`})}),a[18]=g,a[19]=k);let A;a[20]!==C||a[21]!==O||a[22]!==k?(A=(0,p.jsxs)(n,{className:`max-w-2xl max-h-[80vh] flex flex-col`,children:[C,O,k]}),a[20]=C,a[21]=O,a[22]=k,a[23]=A):A=a[23];let j;return a[24]!==g||a[25]!==m||a[26]!==A?(j=(0,p.jsx)(u,{open:m,onOpenChange:g,children:A}),a[24]=g,a[25]=m,a[26]=A,a[27]=j):j=a[27],j}function h(e){return(0,p.jsxs)(`div`,{className:`p-3 hover:bg-muted/50 transition-colors`,children:[(0,p.jsx)(`p`,{className:o(c.label,`break-words`),children:e.message}),(0,p.jsxs)(`p`,{className:o(c.bodyMuted,`mt-1`),children:[(0,p.jsx)(`span`,{className:c.mono,children:e.hash.substring(0,7)}),` •`,` `,e.author,` • `,new Date(e.date).toLocaleDateString()]})]},e.hash)}export{m as GitHistoryDialog};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/commit-dialog-8Ce6d3H8.js","assets/index-DOsSr4dl.js","assets/rolldown-runtime-aKtaBQYM.js","assets/monaco-CZnIWXyV.js","assets/monaco-Br_kD0ds.css","assets/history-view-Ds_0e_bx.js","assets/dialogs-config-B4TDFSrS.js","assets/onboarding-DfL8a0LZ.js","assets/whisper-wasm-Cq5Ofwpd.js","assets/react-vendor-unlDVFpU.js","assets/utils-umVhs9to.js","assets/index-C0lTt0ZK.css","assets/pull-request-dialog-DZXTHHuh.js","assets/create-repo-dialog-CVUtteNS.js","assets/git-history-dialog-BCGOZ6ua.js","assets/push-before-pr-dialog-D-ZnRpJi.js","assets/pull-with-changes-dialog-CYQrwzcw.js","assets/merged-pr-dialog-DqWSFdCH.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$n as t,Bn as n,Ci as r,Ft as i,G as a,Gn as ee,Gt as o,Ha as s,It as te,Nt as ne,Oa as c,Pi as l,Pt as re,Rt as ie,Ti as u,U as d,Ut as ae,Va as f,Vn as p,Vt as m,Xn as h,Yn as g,ar as oe,b as se,fo as _,ii as ce,ir as le,it as ue,ja as v,ka as y,mo as b,ni as de,no as fe,nt as pe,or as me,rr as he,uo as x,vi as ge,wa as _e,ya as ve,yt as ye,zt as S}from"./dialogs-config-B4TDFSrS.js";import{r as C}from"./monaco-CZnIWXyV.js";import{A as w,E as T,_ as be,g as E,h as xe,j as D,k as O,m as Se,p as k,v as Ce}from"./index-DOsSr4dl.js";var A=e(b(),1),j=u();function we(e,t){return t?`Creating PR...`:e.status===`Behind`&&!e.hasChanges&&!e.hasUnpushedCommits?`Sync`:e.hasChanges?`Commit`:e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits?`Open PR`:e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges?`Create PR`:e.hasUnpushedCommits&&e.prExists?`Update PR`:`Commit`}function M(e,t){return t?(0,j.jsx)(ve,{className:`h-3.5 w-3.5 animate-spin`}):e.status===`Behind`&&!e.hasChanges&&!e.hasUnpushedCommits?(0,j.jsx)(x,{className:`h-3.5 w-3.5`}):e.hasChanges?(0,j.jsx)(v,{className:`h-3.5 w-3.5`}):e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits?(0,j.jsx)(f,{className:`h-3.5 w-3.5`}):(0,j.jsx)(y,{className:`h-3.5 w-3.5`})}function Te(e){if(e.status===`Behind`&&!e.hasChanges&&!e.hasUnpushedCommits){let t=e.defaultBranch??`main`;return e.currentBranch===e.defaultBranch?`Your branch is behind the remote. This will pull the latest changes from origin/${t}`:`Your branch "${e.currentBranch}" is behind "${t}". This will rebase and sync with the latest changes`}return e.hasChanges?e.changedFilesCount>0?`Commit ${e.changedFilesCount} changed file${e.changedFilesCount===1?``:`s`}`:`No changes to commit`:e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits?`View pull request in GitHub`:e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges?`Create pull request for committed changes`:e.hasUnpushedCommits&&e.prExists?`Update pull request with unpushed commits`:`No actions available`}function N(e,t,n=!1){return t||n?!0:e.status===`Behind`&&!e.hasChanges&&!e.hasUnpushedCommits||e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges?!1:!e.hasChanges&&!e.hasUnpushedCommits}function P(e){return e.hasChanges||e.status===`Behind`&&!e.hasChanges&&!e.hasUnpushedCommits||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges}var Ee=_();function De(e){let t=(0,Ee.c)(87),{branchStatus:n,remoteUrl:r,hasRemoteBranch:i,hasUnpushedCommits:a,canCreateRepo:ee,repoUrl:o,isRefreshing:te,isBrandState:ne,gitUser:re,isDirectCommitMode:ie,isLoading:u,isLoadingHistory:d,onFetch:ae,onPull:p,onPush:m,onOpenHistory:h,onCreatePR:g,onCreateRepo:se,onViewInGitHub:_,onOpenChange:ue,layout:v}=e,b=v===void 0?`bar`:v,pe=b===`bar`&&`w-8 rounded-l-none`,ye=b===`menu`&&`w-full justify-start gap-2 rounded-md`,S=ne&&` border-transparent bg-brand text-brand-foreground hover:bg-brand/90 hover:text-brand-foreground`,C;t[0]!==pe||t[1]!==ye||t[2]!==S?(C=ce(`h-8 px-1`,pe,ye,S),t[0]=pe,t[1]=ye,t[2]=S,t[3]=C):C=t[3];let w;t[4]===te?w=t[5]:(w=te?(0,j.jsx)(ve,{className:`h-3.5 w-3.5 animate-spin`}):(0,j.jsx)(fe,{className:`h-3.5 w-3.5`}),t[4]=te,t[5]=w);let T;t[6]===b?T=t[7]:(T=b===`menu`&&(0,j.jsx)(`span`,{children:`More git actions`}),t[6]=b,t[7]=T);let D;t[8]!==u||t[9]!==C||t[10]!==w||t[11]!==T?(D=(0,j.jsx)(Ce,{asChild:!0,children:(0,j.jsxs)(de,{variant:`outline`,size:`sm`,className:C,disabled:u,children:[w,T]})}),t[8]=u,t[9]=C,t[10]=w,t[11]=T,t[12]=D):D=t[12];let O;t[13]!==n||t[14]!==r?(O=n===`Behind`&&(0,j.jsxs)(`div`,{className:ce(ge.compact,`px-2 py-1 text-amber-600`),children:[`Branch is behind `,r?`origin`:`remote`]}),t[13]=n,t[14]=r,t[15]=O):O=t[15];let k;t[16]===re?k=t[17]:(k=re&&(0,j.jsxs)(`div`,{className:ce(ge.compact,`px-2 py-1 text-muted-foreground`),children:[(0,j.jsx)(`span`,{className:`font-medium`,children:`User:`}),` `,re]}),t[16]=re,t[17]=k);let A;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,j.jsx)(be,{}),t[18]=A):A=t[18];let we;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,j.jsx)(s,{className:`h-3.5 w-3.5 mr-2`}),t[19]=we):we=t[19];let M;t[20]!==u||t[21]!==ae?(M=(0,j.jsx)(me,{asChild:!0,children:(0,j.jsxs)(E,{onClick:ae,disabled:u,children:[we,`Fetch`]})}),t[20]=u,t[21]=ae,t[22]=M):M=t[22];let Te;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,j.jsx)(le,{side:`right`,children:`Download latest information from remote without merging changes`}),t[23]=Te):Te=t[23];let N;t[24]===M?N=t[25]:(N=(0,j.jsx)(oe,{children:(0,j.jsxs)(he,{children:[M,Te]})}),t[24]=M,t[25]=N);let P;t[26]!==i||t[27]!==u||t[28]!==p?(P=()=>{i&&!u&&p()},t[26]=i,t[27]=u,t[28]=p,t[29]=P):P=t[29];let De=!i||u?`opacity-50 cursor-not-allowed`:``,Oe;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,j.jsx)(x,{className:`h-3.5 w-3.5 mr-2`}),t[30]=Oe):Oe=t[30];let F;t[31]!==P||t[32]!==De?(F=(0,j.jsx)(me,{asChild:!0,children:(0,j.jsxs)(E,{onClick:P,className:De,children:[Oe,`Pull`]})}),t[31]=P,t[32]=De,t[33]=F):F=t[33];let I=i?`Pull latest changes from remote`:`No remote branch to pull from`,L;t[34]===I?L=t[35]:(L=(0,j.jsx)(le,{side:`right`,children:I}),t[34]=I,t[35]=L);let R;t[36]!==F||t[37]!==L?(R=(0,j.jsx)(oe,{children:(0,j.jsxs)(he,{children:[F,L]})}),t[36]=F,t[37]=L,t[38]=R):R=t[38];let z;t[39]!==i||t[40]!==u||t[41]!==m?(z=!i&&(0,j.jsx)(oe,{children:(0,j.jsxs)(he,{children:[(0,j.jsx)(me,{asChild:!0,children:(0,j.jsxs)(E,{onClick:m,disabled:u,children:[(0,j.jsx)(l,{className:`h-3.5 w-3.5 mr-2`}),`Push Branch to Remote`]})}),(0,j.jsx)(le,{side:`right`,children:`Create remote branch and push local commits`})]})}),t[39]=i,t[40]=u,t[41]=m,t[42]=z):z=t[42];let B;t[43]!==a||t[44]!==u||t[45]!==m?(B=()=>{a&&!u&&m()},t[43]=a,t[44]=u,t[45]=m,t[46]=B):B=t[46];let ke=!a||u?`opacity-50 cursor-not-allowed`:``,Ae;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,j.jsx)(l,{className:`h-3.5 w-3.5 mr-2`}),t[47]=Ae):Ae=t[47];let V;t[48]!==B||t[49]!==ke?(V=(0,j.jsx)(me,{asChild:!0,children:(0,j.jsxs)(E,{onClick:B,className:ke,children:[Ae,`Push Commits`]})}),t[48]=B,t[49]=ke,t[50]=V):V=t[50];let je=a?u?`Push in progress...`:`Push your uncommitted commits to the remote branch`:`No commits to push - your branch is up to date with remote`,H;t[51]===je?H=t[52]:(H=(0,j.jsx)(le,{side:`right`,children:je}),t[51]=je,t[52]=H);let U;t[53]!==V||t[54]!==H?(U=(0,j.jsx)(oe,{children:(0,j.jsxs)(he,{children:[V,H]})}),t[53]=V,t[54]=H,t[55]=U):U=t[55];let Me=u||d,Ne;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,j.jsx)(_e,{className:`h-3.5 w-3.5 mr-2`}),t[56]=Ne):Ne=t[56];let W;t[57]!==h||t[58]!==Me?(W=(0,j.jsxs)(E,{onClick:h,disabled:Me,children:[Ne,`History`]}),t[57]=h,t[58]=Me,t[59]=W):W=t[59];let G;t[60]!==ie||t[61]!==u||t[62]!==g?(G=!ie&&(0,j.jsxs)(E,{onClick:g,disabled:u,children:[(0,j.jsx)(y,{className:`h-3.5 w-3.5 mr-2`}),`Create Pull Request`]}),t[60]=ie,t[61]=u,t[62]=g,t[63]=G):G=t[63];let K;t[64]!==ee||t[65]!==u||t[66]!==se?(K=ee&&(0,j.jsxs)(E,{onClick:se,disabled:u,children:[(0,j.jsx)(c,{className:`h-3.5 w-3.5 mr-2`}),`Create Repo`]}),t[64]=ee,t[65]=u,t[66]=se,t[67]=K):K=t[67];let q;t[68]!==u||t[69]!==_||t[70]!==o?(q=o&&(0,j.jsxs)(E,{onClick:_,disabled:u,children:[(0,j.jsx)(f,{className:`h-3.5 w-3.5 mr-2`}),`View in GitHub`]}),t[68]=u,t[69]=_,t[70]=o,t[71]=q):q=t[71];let J;t[72]!==k||t[73]!==N||t[74]!==R||t[75]!==z||t[76]!==U||t[77]!==W||t[78]!==G||t[79]!==K||t[80]!==q||t[81]!==O?(J=(0,j.jsxs)(xe,{align:`end`,children:[O,k,A,N,R,z,U,W,G,K,q]}),t[72]=k,t[73]=N,t[74]=R,t[75]=z,t[76]=U,t[77]=W,t[78]=G,t[79]=K,t[80]=q,t[81]=O,t[82]=J):J=t[82];let Y;return t[83]!==ue||t[84]!==J||t[85]!==D?(Y=(0,j.jsxs)(Se,{onOpenChange:ue,children:[D,J]}),t[83]=ue,t[84]=J,t[85]=D,t[86]=Y):Y=t[86],Y}function Oe(){return{autoGenerateCommitMessage:n(),autoGeneratePRInfo:p(),privateRepositoryDefault:ee()}}function F(e){e.autoGenerateCommitMessage!==void 0&&g(e.autoGenerateCommitMessage),e.autoGeneratePRInfo!==void 0&&h(e.autoGeneratePRInfo),e.privateRepositoryDefault!==void 0&&t(e.privateRepositoryDefault)}function I(e){return e?!0:(T({title:`Error`,description:`No thread selected`,variant:`destructive`}),!1)}function L(e){let t=e.split(`/`);return t.length>=2?{provider:t[0],model:t.slice(1).join(`/`)}:{provider:void 0,model:e}}function R(e,t,n){let[r,i]=(0,A.useState)(!1),[ee,o]=(0,A.useState)(!1),s=()=>n?.id?n.provider?{provider:n.provider,model:n.id}:L(n.id):{provider:void 0,model:void 0};return{isGeneratingMessage:r,isGeneratingPRInfo:ee,generateCommitMessageWithAI:(0,A.useCallback)(async()=>{if(!e)return null;try{i(!0);let{provider:t,model:n}=s();return await d(e,n,t)}catch(e){return console.error(`Failed to generate commit message:`,e),T({title:`Error`,description:e instanceof Error?e.message:`Failed to generate commit message`,variant:`destructive`}),null}finally{i(!1)}},[e,n]),generatePRInfoWithAI:(0,A.useCallback)(async()=>{if(!e)return null;try{o(!0);let{provider:t,model:n}=s();return await a(e,n,t)}catch(e){return console.error(`Failed to generate PR info:`,e),T({title:`Error`,description:e instanceof Error?e.message:`Failed to generate PR info`,variant:`destructive`}),null}finally{o(!1)}},[e,n])}}var z=(0,A.lazy)(()=>C(()=>import(`./commit-dialog-8Ce6d3H8.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),B=(0,A.lazy)(()=>C(()=>import(`./pull-request-dialog-DZXTHHuh.js`).then(e=>({default:e.PullRequestDialog})),__vite__mapDeps([12,1,2,3,4,5,6,7,8,9,10,11]))),ke=(0,A.lazy)(()=>C(()=>import(`./create-repo-dialog-CVUtteNS.js`).then(e=>({default:e.CreateRepoDialog})),__vite__mapDeps([13,1,2,3,4,5,6,7,8,9,10,11]))),Ae=(0,A.lazy)(()=>C(()=>import(`./git-history-dialog-BCGOZ6ua.js`).then(e=>({default:e.GitHistoryDialog})),__vite__mapDeps([14,6,2]))),V=(0,A.lazy)(()=>C(()=>import(`./push-before-pr-dialog-D-ZnRpJi.js`).then(e=>({default:e.PushBeforePRDialog})),__vite__mapDeps([15,6,2]))),je=(0,A.lazy)(()=>C(()=>import(`./pull-with-changes-dialog-CYQrwzcw.js`).then(e=>({default:e.PullWithChangesDialog})),__vite__mapDeps([16,5,2,6]))),H=(0,A.lazy)(()=>C(()=>import(`./merged-pr-dialog-DqWSFdCH.js`).then(e=>({default:e.MergedPRDialog})),__vite__mapDeps([17,6,2])));function U(){return null}function Me({projectId:e,threadId:t,layout:n=`bar`}){let a=w(),ee=D(e=>e.projectModelSelections[t]),s=D(t=>t.projects.find(t=>t.projectId===e)),[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(!1),[f,p]=(0,A.useState)(!1),[h,g]=(0,A.useState)(!1),[_,v]=(0,A.useState)(``),[y,b]=(0,A.useState)(``),[fe,x]=(0,A.useState)(``),[ge,_e]=(0,A.useState)(!1),[ve,C]=(0,A.useState)(null),be=(0,A.useRef)(!1),E=(0,A.useRef)(!1),xe=(0,A.useRef)(y),Se=(0,A.useRef)(fe);xe.current=y,Se.current=fe;let[Ce,Ee]=(0,A.useState)(!1),[L,Me]=(0,A.useState)([]),[Ne,W]=(0,A.useState)(!1),[G,K]=(0,A.useState)([]),[q,J]=(0,A.useState)(!1),[Y,Pe]=(0,A.useState)(!1),[Fe,Ie]=(0,A.useState)(``),[Le,Re]=(0,A.useState)(``),[ze,Be]=(0,A.useState)(``),[Ve,He]=(0,A.useState)(!1),[Ue,We]=(0,A.useState)(!1),[Ge,Ke]=(0,A.useState)(!1),[qe,Je]=(0,A.useState)(!1),X=k(),{fetchUnifiedStatus:Ye}=X,Z=R(t,e,ee);async function Q(){ae();let e=await ye();a({type:O.SetProjects,projects:e.projects})}let[$,Xe]=(0,A.useState)(()=>Oe()),Ze=s?.commitMethod===r.Direct;(0,A.useEffect)(()=>{Y&&s?.name&&!Fe&&Ie(s.name)},[Y,s?.name,Fe]),(0,A.useEffect)(()=>{F($)},[$]);function Qe(){Ve||(He(!0),ue().then(e=>Be(e)).catch(()=>{}))}(0,A.useEffect)(()=>{if(!f){E.current=!1;return}if(f&&$.autoGenerateCommitMessage&&!_.trim()&&t&&!E.current){E.current=!0;async function e(){let e=await Z.generateCommitMessageWithAI();e&&v(e)}e()}},[f,$.autoGenerateCommitMessage,t,Z.generateCommitMessageWithAI,_]),(0,A.useEffect)(()=>{if(!h){be.current=!1;return}if(h&&$.autoGeneratePRInfo&&!xe.current.trim()&&!Se.current.trim()&&t&&!be.current){be.current=!0;async function e(){let e=await Z.generatePRInfoWithAI();e&&(b(e.title),x(e.description),T({title:`Success`,description:`PR title and description generated`}))}e()}},[h,$.autoGeneratePRInfo,t,Z.generatePRInfoWithAI]),(0,A.useEffect)(()=>{X.prExists&&X.prState===`MERGED`&&Je(!0),u&&X.prExists&&X.prState===`OPEN`&&d(!1)},[X.prExists,X.prState,t,u]),(0,A.useEffect)(()=>{if(!u)return;let e=setTimeout(()=>{d(!1)},15e3);return()=>clearTimeout(e)},[u]);async function $e(){if(_.trim()&&I(t))try{l(!0),await ne(t,_),v(``),p(!1),await X.fetchUnifiedStatus(!0),Q(),T({title:`Changes committed successfully`,description:`Your changes have been committed to '${X.currentBranch}'.`}),Ge&&(Ke(!1),await at())}catch(e){console.error(`Failed to commit:`,e),T({title:`Commit failed`,description:e instanceof Error?e.message:`Failed to commit changes`,variant:`destructive`})}finally{l(!1)}}async function et(){if(X.status===`Behind`&&!X.hasChanges&&!X.hasUnpushedCommits){await lt();return}if(X.hasChanges){p(!0);return}if(X.prExists&&X.prState===`OPEN`&&!X.hasChanges&&!X.hasUnpushedCommits){X.prUrl&&await o(X.prUrl);return}if(X.commitsAheadOfDefault&&!X.prExists&&!X.hasChanges){g(!0);return}if(X.hasUnpushedCommits&&X.prExists){await rt();return}}async function tt(){let e=await Z.generateCommitMessageWithAI();e&&v(e)}async function nt(){if(I(t))try{l(!0),await te(t),await X.fetchUnifiedStatus()}catch(e){console.error(`Failed to fetch:`,e)}finally{l(!1)}}async function rt(){if(I(t))try{l(!0),await S(t),await X.fetchUnifiedStatus(!0),Q(),X.hasRemoteBranch?T({title:`Branch pushed successfully`,description:`Your branch '${X.currentBranch}' has been pushed to the remote.`}):T({title:`Push completed`,description:`Changes have been pushed successfully.`})}catch(e){console.error(`Failed to push:`,e),T({title:`Push failed`,description:e instanceof Error?e.message:`Failed to push to remote`,variant:`destructive`})}finally{l(!1)}}async function it(){if(I(t)){if(X.hasChanges){We(!0);return}await at()}}async function at(){try{l(!0),await ie(t),await X.fetchUnifiedStatus(!0),Q(),T({title:`Pull successful`,description:`Latest changes have been pulled from remote.`})}catch(e){console.error(`Failed to pull:`,e),T({title:`Pull failed`,description:e instanceof Error?e.message:`Failed to pull from remote`,variant:`destructive`})}finally{l(!1)}}function ot(){We(!1),Ke(!0),p(!0)}async function st(){We(!1),await at()}async function ct(){if(t)try{l(!0);let e=await re(t);ae();let n=await ye();a({type:O.SetProjects,projects:n.projects}),T({title:`New branch created`,description:`Created new branch "${e.branchName}" on current thread`}),Je(!1),await X.fetchUnifiedStatus(!0),setTimeout(()=>void X.fetchUnifiedStatus(!0),1500)}catch(e){console.error(`Failed to create new branch:`,e),T({title:`Failed to create new branch`,description:e instanceof Error?e.message:`Unknown error occurred`,variant:`destructive`})}finally{l(!1)}}async function lt(){if(I(t))try{l(!0),await m(t),await X.fetchUnifiedStatus(!0),Q(),T({title:`Branch synced successfully`,description:`Your branch '${X.currentBranch}' has been synced with the latest changes`})}catch(e){console.error(`[sync] ✗ Failed to sync branch:`,e),T({title:`Sync failed`,description:e instanceof Error?e.message:`Failed to sync with default branch`,variant:`destructive`})}finally{l(!1)}}async function ut(){if(I(t))try{l(!0),d(!0);let e=await i(t,y,fe);e.prUrl&&await o(e.prUrl),b(``),x(``),g(!1),await X.fetchUnifiedStatus(!0),Q();let n=0,r=setInterval(async()=>{if(n++,n>=6){clearInterval(r);return}await X.fetchUnifiedStatus(!0)},2e3)}catch(e){console.error(`Failed to create PR:`,e);let t=e instanceof Error?e.message:`Failed to create PR`;t.includes(`push the current branch`)||t.includes(`--head flag`)?(g(!1),pt({title:y,description:fe})):(d(!1),T({title:`Create PR Failed`,description:t,variant:`destructive`}))}finally{l(!1)}}async function dt(){if(I(t))try{l(!0);let e=await se(t,Fe,Le,$.privateRepositoryDefault);e.repoUrl&&setTimeout(()=>{o(e.repoUrl)},3e3),Ie(``),Re(``),Pe(!1),await X.fetchUnifiedStatus(),Q()}catch(e){console.error(`Failed to create repo:`,e)}finally{l(!1)}}async function ft(){let e=await Z.generatePRInfoWithAI();e&&(b(e.title),x(e.description),T({title:`Success`,description:`PR title and description generated`}))}async function pt(e){let n=e??ve;if(!(!t||!n))try{l(!0),d(!0);try{await S(t)}catch(e){let n=e?.message??``;if(n.includes(`non-fast-forward`)||n.includes(`Updates were rejected because the tip of your current branch is behind`)){T({title:`Syncing branch before push`,description:`Your branch is behind remote. Pulling latest changes first...`});try{await m(t),await S(t)}catch{throw e}}else throw e}let e=await i(t,n.title,n.description);e.prUrl&&await o(e.prUrl),b(``),x(``),C(null),_e(!1),await X.fetchUnifiedStatus(!0),Q();let r=0,a=setInterval(async()=>{if(r++,r>=6){clearInterval(a);return}await X.fetchUnifiedStatus(!0)},2e3)}catch(e){console.error(`Failed to push and create PR:`,e);let t=e instanceof Error?e.message:`Failed to push and create PR`;d(!1),T({title:`Push & Create PR Failed`,description:t,variant:`destructive`})}finally{l(!1)}}async function mt(){if(I(t))try{W(!0);let e=await pe(t,100);Me(e),K(e.slice(0,10)),Ee(!0)}catch(e){console.error(`Failed to fetch git history:`,e)}finally{W(!1)}}function ht(){q||(J(!0),setTimeout(()=>{let e=G.length+10;K(L.slice(0,e)),J(!1)},300))}function gt(e){let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<100&&G.length<L.length&&!q&&ht()}let _t=P(X);function vt(){X.repoUrl&&o(X.repoUrl)}function yt(){_e(!1),C(null)}function bt(){Je(!1),X.fetchUnifiedStatus(!0)}return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:ce(`flex items-center gap-0`,n===`menu`&&`w-full flex-col gap-1 [&_button]:w-full [&_button]:justify-start`),children:[(0,j.jsx)(oe,{children:(0,j.jsxs)(he,{children:[(0,j.jsx)(me,{asChild:!0,children:(0,j.jsxs)(de,{variant:`outline`,size:`sm`,className:ce(`h-8 gap-1.5`,n===`bar`&&`rounded-r-none border-r-0`,n===`menu`&&`rounded-md border`,_t&&` border-transparent bg-brand text-brand-foreground hover:bg-brand/90 hover:text-brand-foreground`),disabled:N(X,c,u),onClick:et,children:[M(X,u),we(X,u)]})}),(0,j.jsx)(le,{children:Te(X)})]})}),(0,j.jsx)(De,{branchStatus:X.status,remoteUrl:X.remoteUrl,hasRemoteBranch:X.hasRemoteBranch,hasUnpushedCommits:X.hasUnpushedCommits,canCreateRepo:X.canCreateRepo,repoUrl:X.repoUrl,isRefreshing:X.isRefreshing,isBrandState:_t,gitUser:ze,isDirectCommitMode:Ze,isLoading:c||u,isLoadingHistory:Ne,onFetch:()=>void nt(),onPull:()=>void it(),onPush:()=>void rt(),onOpenHistory:()=>void mt(),onCreatePR:()=>g(!0),onCreateRepo:()=>Pe(!0),onViewInGitHub:vt,onOpenChange:e=>{e&&(Qe(),Ye(!0))},layout:n})]}),f&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(z,{open:f,onOpenChange:p,commitMessage:_,onCommitMessageChange:v,autoGenerateCommitMessage:$.autoGenerateCommitMessage,onAutoGenerateChange:e=>Xe(t=>({...t,autoGenerateCommitMessage:e})),isGeneratingMessage:Z.isGeneratingMessage,isLoading:c,onGenerateMessage:tt,onCommit:$e,currentBranch:X.currentBranch})}),h&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(B,{open:h,onOpenChange:g,prTitle:y,onPrTitleChange:b,prDescription:fe,onPrDescriptionChange:x,isGeneratingPRInfo:Z.isGeneratingPRInfo,isLoading:c,onGeneratePRInfo:ft,onCreatePR:ut,currentBranch:X.currentBranch,autoGeneratePRInfo:$.autoGeneratePRInfo,onAutoGeneratePRInfoChange:e=>Xe(t=>({...t,autoGeneratePRInfo:e}))})}),ge&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(V,{open:ge,onOpenChange:_e,isLoading:c,onPushAndCreatePR:pt,onCancel:yt})}),Y&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(ke,{open:Y,onOpenChange:Pe,repoName:Fe,onRepoNameChange:Ie,repoDescription:Le,onRepoDescriptionChange:Re,isPrivateRepo:$.privateRepositoryDefault,onPrivateRepoChange:e=>Xe(t=>({...t,privateRepositoryDefault:e})),isLoading:c,onCreateRepo:dt})}),Ce&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(Ae,{open:Ce,onOpenChange:Ee,commits:L,displayedCommits:G,isLoadingMore:q,onScroll:gt,currentBranch:X.currentBranch})}),Ue&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(je,{open:Ue,onOpenChange:We,onCommitFirst:ot,onStashAndPull:st,onCancel:()=>We(!1),isLoading:c})}),qe&&(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(U,{}),children:(0,j.jsx)(H,{open:qe,onOpenChange:Je,onNewBranch:ct,onJustOpen:bt,isLoading:c})})]})}export{Me as GitOpsButton};
@@ -0,0 +1,7 @@
1
+ import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{$a as n,$r as r,Ai as i,Ar as a,Di as o,Dr as s,Fr as c,Ga as l,Hr as u,Ir as d,Kr as f,Li as p,Lr as m,Mr as h,Nr as g,Or as _,Pr as v,Qr as y,Rr as b,Ti as x,Vr as S,Wr as C,Xr as w,Yr as T,Zr as E,_i as D,_r as O,ar as k,dr as A,ei as j,eo as ee,et as M,fo as N,fr as P,gr as F,hr as te,ii as I,ir as ne,jr as L,kr as re,lr as ie,m as ae,mo as oe,ni as R,no as se,or as ce,po as le,pr as ue,qr as z,ri as de,ro as fe,rr as pe,s as me,sr as he,ti as B,to as ge,ur as _e,vi as V,ya as ve,zr as ye}from"./dialogs-config-B4TDFSrS.js";var H=N(),U=e(oe(),1),W=x(),be=`AlertDialog`,[xe,Se]=j(be,[d]),G=d(),Ce=e=>{let{__scopeAlertDialog:t,...n}=e,r=G(t);return(0,W.jsx)(h,{...r,...n,modal:!0})};Ce.displayName=be;var we=`AlertDialogTrigger`,Te=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=G(n);return(0,W.jsx)(v,{...i,...r,ref:t})});Te.displayName=we;var Ee=`AlertDialogPortal`,De=e=>{let{__scopeAlertDialog:t,...n}=e,r=G(t);return(0,W.jsx)(L,{...r,...n})};De.displayName=Ee;var Oe=`AlertDialogOverlay`,ke=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=G(n);return(0,W.jsx)(a,{...i,...r,ref:t})});ke.displayName=Oe;var Ae=`AlertDialogContent`,[je,Me]=xe(Ae),Ne=w(`AlertDialogContent`),Pe=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,a=G(n),s=U.useRef(null),l=o(t,s),u=U.useRef(null);return(0,W.jsx)(c,{contentName:Ae,titleName:Fe,docsSlug:`alert-dialog`,children:(0,W.jsx)(je,{scope:n,cancelRef:u,children:(0,W.jsxs)(_,{role:`alertdialog`,...a,...i,ref:l,onOpenAutoFocus:B(i.onOpenAutoFocus,e=>{e.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,W.jsx)(Ne,{children:r}),(0,W.jsx)(Ue,{contentRef:s})]})})})});Pe.displayName=Ae;var Fe=`AlertDialogTitle`,Ie=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=G(n);return(0,W.jsx)(g,{...i,...r,ref:t})});Ie.displayName=Fe;var Le=`AlertDialogDescription`,Re=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=G(n);return(0,W.jsx)(re,{...i,...r,ref:t})});Re.displayName=Le;var ze=`AlertDialogAction`,Be=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=G(n);return(0,W.jsx)(s,{...i,...r,ref:t})});Be.displayName=ze;var Ve=`AlertDialogCancel`,He=U.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=Me(Ve,n),a=G(n),c=o(t,i);return(0,W.jsx)(s,{...a,...r,ref:c})});He.displayName=Ve;var Ue=({contentRef:e})=>{let t=`\`${Ae}\` requires a description for the component to be accessible for screen reader users.
2
+
3
+ You can add a description to the \`${Ae}\` by passing a \`${Le}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
+
5
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Ae}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
+
7
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return U.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},We=Ce,Ge=De,Ke=ke,qe=Pe,Je=Be,Ye=He,Xe=Ie,Ze=Re,Qe=We,$e=Ge,et=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Ke,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});et.displayName=Ke.displayName;var tt=U.forwardRef((e,t)=>{let n=(0,H.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,W.jsx)(et,{}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=I(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o?(s=(0,W.jsxs)($e,{children:[a,(0,W.jsx)(qe,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=s):s=n[9],s});tt.displayName=qe.displayName;var nt=e=>{let t=(0,H.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=I(`flex flex-col space-y-2 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,W.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};nt.displayName=`AlertDialogHeader`;var rt=e=>{let t=(0,H.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=I(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,W.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};rt.displayName=`AlertDialogFooter`;var it=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(V.dialogTitle,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Xe,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});it.displayName=Xe.displayName;var at=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(V.dialogDescription,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Ze,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});at.displayName=Ze.displayName;var ot=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(de(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Je,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});ot.displayName=Je.displayName;var st=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(de({variant:`outline`}),`mt-2 sm:mt-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Ye,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});st.displayName=Ye.displayName;function ct(e){let t=(0,H.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=I(D.settingsPage,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,W.jsx)(`div`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function lt(e){let t=(0,H.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=I(D.accountPage,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,W.jsx)(`div`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function ut(e){let t=(0,H.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=I(D.formPage,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,W.jsx)(`div`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function dt(e){let t=(0,H.c)(16),{title:n,description:r,action:i,className:a,titleClassName:o}=e,s;t[0]===a?s=t[1]:(s=I(`flex items-center justify-between mb-6`,a),t[0]=a,t[1]=s);let c;t[2]===o?c=t[3]:(c=I(V.pageTitle,o),t[2]=o,t[3]=c);let l;t[4]!==c||t[5]!==n?(l=(0,W.jsx)(`h1`,{className:c,children:n}),t[4]=c,t[5]=n,t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=r?(0,W.jsx)(`p`,{className:V.pageSubtitle,children:r}):null,t[7]=r,t[8]=u);let d;t[9]!==l||t[10]!==u?(d=(0,W.jsxs)(`div`,{children:[l,u]}),t[9]=l,t[10]=u,t[11]=d):d=t[11];let f;return t[12]!==i||t[13]!==s||t[14]!==d?(f=(0,W.jsxs)(`div`,{className:s,children:[d,i]}),t[12]=i,t[13]=s,t[14]=d,t[15]=f):f=t[15],f}function ft(e){let t=(0,H.c)(5),{title:n,className:r}=e,i;t[0]===r?i=t[1]:(i=I(V.sectionTitle,`mb-3`,r),t[0]=r,t[1]=i);let a;return t[2]!==i||t[3]!==n?(a=(0,W.jsx)(`h2`,{className:i,children:n}),t[2]=i,t[3]=n,t[4]=a):a=t[4],a}function pt(e){let t=(0,H.c)(6),{children:n,variant:r,className:i}=e,a=r===void 0?`info`:r,o;t[0]!==i||t[1]!==a?(o=I(a===`hint`?V.hintBanner:a===`success`?I(V.body,`text-green-700 bg-green-50 dark:text-green-400 dark:bg-green-950/30 rounded-md px-3 py-2 mb-4`):a===`error`?I(V.error,`bg-destructive/10 rounded-md px-3 py-2 mb-4`):V.infoBanner,i),t[0]=i,t[1]=a,t[2]=o):o=t[2];let s;return t[3]!==n||t[4]!==o?(s=(0,W.jsx)(`div`,{className:o,children:n}),t[3]=n,t[4]=o,t[5]=s):s=t[5],s}function mt(e){let t=(0,H.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=I(`flex-1 overflow-auto`,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,W.jsx)(`div`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function ht(e){let t=(0,H.c)(10),{children:n,title:r,action:i}=e,a;t[0]===r?a=t[1]:(a=r?(0,W.jsx)(`h2`,{className:I(V.emptyStateTitle,`mb-2`),children:r}):null,t[0]=r,t[1]=a);let o;t[2]===n?o=t[3]:(o=(0,W.jsx)(`p`,{className:V.bodyMuted,children:n}),t[2]=n,t[3]=o);let s;t[4]===i?s=t[5]:(s=i?(0,W.jsx)(`div`,{className:`mt-4`,children:i}):null,t[4]=i,t[5]=s);let c;return t[6]!==a||t[7]!==o||t[8]!==s?(c=(0,W.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,W.jsxs)(`div`,{className:`text-center`,children:[a,o,s]})}),t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function gt(e){let t=(0,H.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=I(`h-full flex flex-col overflow-hidden`,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,W.jsx)(`div`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function _t(e){let t=(0,H.c)(14),{title:n,description:r,action:i,children:a,className:o}=e,s;t[0]===n?s=t[1]:(s=(0,W.jsx)(ft,{title:n,className:`mb-1`}),t[0]=n,t[1]=s);let c;t[2]===r?c=t[3]:(c=r?(0,W.jsx)(`p`,{className:V.bodyMuted,children:r}):null,t[2]=r,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==l?(u=(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4 mb-3`,children:[l,i]}),t[7]=i,t[8]=l,t[9]=u):u=t[9];let d;return t[10]!==a||t[11]!==o||t[12]!==u?(d=(0,W.jsxs)(`div`,{className:o,children:[u,a]}),t[10]=a,t[11]=o,t[12]=u,t[13]=d):d=t[13],d}var vt=e(le(),1);function yt(e){let t=U.useRef({value:e,previous:e});return U.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var bt=[` `,`Enter`,`ArrowUp`,`ArrowDown`],xt=[` `,`Enter`],K=`Select`,[St,Ct,wt]=me(K),[q,Tt]=j(K,[wt,ue]),Et=ue(),[Dt,J]=q(K),[Ot,kt]=q(K),At=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m}=e,h=Et(t),[g,_]=U.useState(null),[v,b]=U.useState(null),[x,S]=U.useState(!1),C=O(l),[w,T]=E({prop:r,defaultProp:i??!1,onChange:a,caller:K}),[D,k]=E({prop:o,defaultProp:s,onChange:c,caller:K}),A=U.useRef(null),j=g?m||!!g.closest(`form`):!0,[ee,M]=U.useState(new Set),N=Array.from(ee).map(e=>e.props.value).join(`;`);return(0,W.jsx)(P,{...h,children:(0,W.jsxs)(Dt,{required:p,scope:t,trigger:g,onTriggerChange:_,valueNode:v,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:S,contentId:y(),value:D,onValueChange:k,open:w,onOpenChange:T,dir:C,triggerPointerDownPosRef:A,disabled:f,children:[(0,W.jsx)(St.Provider,{scope:t,children:(0,W.jsx)(Ot,{scope:e.__scopeSelect,onNativeOptionAdd:U.useCallback(e=>{M(t=>new Set(t).add(e))},[]),onNativeOptionRemove:U.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),j?(0,W.jsxs)(Cn,{"aria-hidden":!0,required:p,tabIndex:-1,name:u,autoComplete:d,value:D,onChange:e=>k(e.target.value),disabled:f,form:m,children:[D===void 0?(0,W.jsx)(`option`,{value:``}):null,Array.from(ee)]},N):null]})})};At.displayName=K;var jt=`SelectTrigger`,Mt=U.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=Et(n),s=J(jt,n),c=s.disabled||r,l=o(t,s.onTriggerChange),u=Ct(n),d=U.useRef(`touch`),[f,p,m]=Tn(e=>{let t=u().filter(e=>!e.disabled),n=En(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onValueChange(n.value)}),h=e=>{c||(s.onOpenChange(!0),m()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,W.jsx)(ie,{asChild:!0,...a,children:(0,W.jsx)(z.button,{type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":wn(s.value)?``:void 0,...i,ref:l,onClick:B(i.onClick,e=>{e.currentTarget.focus(),d.current!==`mouse`&&h(e)}),onPointerDown:B(i.onPointerDown,e=>{d.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(h(e),e.preventDefault())}),onKeyDown:B(i.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&p(e.key),!(t&&e.key===` `)&&bt.includes(e.key)&&(h(),e.preventDefault())})})})});Mt.displayName=jt;var Nt=`SelectValue`,Pt=U.forwardRef((e,t)=>{let{__scopeSelect:n,className:i,style:a,children:s,placeholder:c=``,...l}=e,u=J(Nt,n),{onValueNodeHasChildrenChange:d}=u,f=s!==void 0,p=o(t,u.onValueNodeChange);return r(()=>{d(f)},[d,f]),(0,W.jsx)(z.span,{...l,ref:p,style:{pointerEvents:`none`},children:wn(u.value)?(0,W.jsx)(W.Fragment,{children:c}):s})});Pt.displayName=Nt;var Ft=`SelectIcon`,It=U.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,W.jsx)(z.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});It.displayName=Ft;var Lt=`SelectPortal`,Rt=e=>(0,W.jsx)(S,{asChild:!0,...e});Rt.displayName=Lt;var Y=`SelectContent`,zt=U.forwardRef((e,t)=>{let n=J(Y,e.__scopeSelect),[i,a]=U.useState();if(r(()=>{a(new DocumentFragment)},[]),!n.open){let t=i;return t?vt.createPortal((0,W.jsx)(Bt,{scope:e.__scopeSelect,children:(0,W.jsx)(St.Slot,{scope:e.__scopeSelect,children:(0,W.jsx)(`div`,{children:e.children})})}),t):null}return(0,W.jsx)(Ut,{...e,ref:t})});zt.displayName=Y;var X=10,[Bt,Z]=q(Y),Vt=`SelectContentImpl`,Ht=T(`SelectContent.RemoveScroll`),Ut=U.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:s,side:c,sideOffset:l,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y,...x}=e,S=J(Y,n),[w,T]=U.useState(null),[E,D]=U.useState(null),O=o(t,e=>T(e)),[k,A]=U.useState(null),[j,ee]=U.useState(null),M=Ct(n),[N,P]=U.useState(!1),F=U.useRef(!1);U.useEffect(()=>{if(w)return m(w)},[w]),ye();let te=U.useCallback(e=>{let[t,...n]=M().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&E&&(E.scrollTop=0),n===r&&E&&(E.scrollTop=E.scrollHeight),n?.focus(),document.activeElement!==i))return},[M,E]),I=U.useCallback(()=>te([k,w]),[te,k,w]);U.useEffect(()=>{N&&I()},[N,I]);let{onOpenChange:ne,triggerPointerDownPosRef:L}=S;U.useEffect(()=>{if(w){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(L.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():w.contains(n.target)||ne(!1),document.removeEventListener(`pointermove`,t),L.current=null};return L.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[w,ne,L]),U.useEffect(()=>{let e=()=>ne(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[ne]);let[re,ie]=Tn(e=>{let t=M().filter(e=>!e.disabled),n=En(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),ae=U.useCallback((e,t,n)=>{let r=!F.current&&!n;(S.value!==void 0&&S.value===t||r)&&(A(e),r&&(F.current=!0))},[S.value]),oe=U.useCallback(()=>w?.focus(),[w]),R=U.useCallback((e,t,n)=>{let r=!F.current&&!n;(S.value!==void 0&&S.value===t||r)&&ee(e)},[S.value]),se=r===`popper`?qt:Gt,ce=se===qt?{side:c,sideOffset:l,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y}:{};return(0,W.jsx)(Bt,{scope:n,content:w,viewport:E,onViewportChange:D,itemRefCallback:ae,selectedItem:k,onItemLeave:oe,itemTextRefCallback:R,focusSelectedItem:I,selectedItemText:j,position:r,isPositioned:N,searchRef:re,children:(0,W.jsx)(b,{as:Ht,allowPinchZoom:!0,children:(0,W.jsx)(u,{asChild:!0,trapped:S.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:B(i,e=>{S.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,W.jsx)(C,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>S.onOpenChange(!1),children:(0,W.jsx)(se,{role:`listbox`,id:S.contentId,"data-state":S.open?`open`:`closed`,dir:S.dir,onContextMenu:e=>e.preventDefault(),...x,...ce,onPlaced:()=>P(!0),ref:O,style:{display:`flex`,flexDirection:`column`,outline:`none`,...x.style},onKeyDown:B(x.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ie(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=M().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>te(t)),e.preventDefault()}})})})})})})});Ut.displayName=Vt;var Wt=`SelectItemAlignedPosition`,Gt=U.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:i,...a}=e,s=J(Y,n),c=Z(Y,n),[l,u]=U.useState(null),[d,f]=U.useState(null),p=o(t,e=>f(e)),m=Ct(n),h=U.useRef(!1),g=U.useRef(!0),{viewport:_,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=c,x=U.useCallback(()=>{if(s.trigger&&s.valueNode&&l&&d&&_&&v&&y){let e=s.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=y.getBoundingClientRect();if(s.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-X,d=F(a,[X,Math.max(X,u-c)]);l.style.minWidth=s+`px`,l.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-X,d=F(a,[X,Math.max(X,u-c)]);l.style.minWidth=s+`px`,l.style.right=d+`px`}let a=m(),o=window.innerHeight-X*2,c=_.scrollHeight,u=window.getComputedStyle(d),f=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),g=parseInt(u.borderBottomWidth,10),b=parseInt(u.paddingBottom,10),x=f+p+c+b+g,S=Math.min(v.offsetHeight*5,x),C=window.getComputedStyle(_),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-X,D=o-E,O=v.offsetHeight/2,k=v.offsetTop+O,A=f+p+k,j=x-A;if(A<=E){let e=a.length>0&&v===a[a.length-1].ref.current;l.style.bottom=`0px`;let t=d.clientHeight-_.offsetTop-_.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+g);l.style.height=n+`px`}else{let e=a.length>0&&v===a[0].ref.current;l.style.top=`0px`;let t=Math.max(E,f+_.offsetTop+(e?w:0)+O)+j;l.style.height=t+`px`,_.scrollTop=A-E+_.offsetTop}l.style.margin=`${X}px 0`,l.style.minHeight=S+`px`,l.style.maxHeight=o+`px`,i?.(),requestAnimationFrame(()=>h.current=!0)}},[m,s.trigger,s.valueNode,l,d,_,v,y,s.dir,i]);r(()=>x(),[x]);let[S,C]=U.useState();return r(()=>{d&&C(window.getComputedStyle(d).zIndex)},[d]),(0,W.jsx)(Jt,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:h,onScrollButtonChange:U.useCallback(e=>{e&&g.current===!0&&(x(),b?.(),g.current=!1)},[x,b]),children:(0,W.jsx)(`div`,{ref:u,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:S},children:(0,W.jsx)(z.div,{...a,ref:p,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})});Gt.displayName=Wt;var Kt=`SelectPopperPosition`,qt=U.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=Et(n);return(0,W.jsx)(A,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});qt.displayName=Kt;var[Jt,Yt]=q(Y,{}),Xt=`SelectViewport`,Zt=U.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=Z(Xt,n),s=Yt(Xt,n),c=o(t,a.onViewportChange),l=U.useRef(0);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,W.jsx)(St.Slot,{scope:n,children:(0,W.jsx)(z.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:B(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})});Zt.displayName=Xt;var Qt=`SelectGroup`,[$t,en]=q(Qt),tn=U.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=y();return(0,W.jsx)($t,{scope:n,id:i,children:(0,W.jsx)(z.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});tn.displayName=Qt;var nn=`SelectLabel`,rn=U.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=en(nn,n);return(0,W.jsx)(z.div,{id:i.id,...r,ref:t})});rn.displayName=nn;var an=`SelectItem`,[on,sn]=q(an),cn=U.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...s}=e,c=J(an,n),l=Z(an,n),u=c.value===r,[d,f]=U.useState(a??``),[p,m]=U.useState(!1),h=o(t,e=>l.itemRefCallback?.(e,r,i)),g=y(),_=U.useRef(`touch`),v=()=>{i||(c.onValueChange(r),c.onOpenChange(!1))};if(r===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,W.jsx)(on,{scope:n,value:r,disabled:i,textId:g,isSelected:u,onItemTextChange:U.useCallback(e=>{f(t=>t||(e?.textContent??``).trim())},[]),children:(0,W.jsx)(St.ItemSlot,{scope:n,value:r,disabled:i,textValue:d,children:(0,W.jsx)(z.div,{role:`option`,"aria-labelledby":g,"data-highlighted":p?``:void 0,"aria-selected":u&&p,"data-state":u?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...s,ref:h,onFocus:B(s.onFocus,()=>m(!0)),onBlur:B(s.onBlur,()=>m(!1)),onClick:B(s.onClick,()=>{_.current!==`mouse`&&v()}),onPointerUp:B(s.onPointerUp,()=>{_.current===`mouse`&&v()}),onPointerDown:B(s.onPointerDown,e=>{_.current=e.pointerType}),onPointerMove:B(s.onPointerMove,e=>{_.current=e.pointerType,i?l.onItemLeave?.():_.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:B(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:B(s.onKeyDown,e=>{l.searchRef?.current!==``&&e.key===` `||(xt.includes(e.key)&&v(),e.key===` `&&e.preventDefault())})})})})});cn.displayName=an;var ln=`SelectItemText`,un=U.forwardRef((e,t)=>{let{__scopeSelect:n,className:i,style:a,...s}=e,c=J(ln,n),l=Z(ln,n),u=sn(ln,n),d=kt(ln,n),[f,p]=U.useState(null),m=o(t,e=>p(e),u.onItemTextChange,e=>l.itemTextRefCallback?.(e,u.value,u.disabled)),h=f?.textContent,g=U.useMemo(()=>(0,W.jsx)(`option`,{value:u.value,disabled:u.disabled,children:h},u.value),[u.disabled,u.value,h]),{onNativeOptionAdd:_,onNativeOptionRemove:v}=d;return r(()=>(_(g),()=>v(g)),[_,v,g]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(z.span,{id:u.textId,...s,ref:m}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren?vt.createPortal(s.children,c.valueNode):null]})});un.displayName=ln;var dn=`SelectItemIndicator`,fn=U.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return sn(dn,n).isSelected?(0,W.jsx)(z.span,{"aria-hidden":!0,...r,ref:t}):null});fn.displayName=dn;var pn=`SelectScrollUpButton`,mn=U.forwardRef((e,t)=>{let n=Z(pn,e.__scopeSelect),i=Yt(pn,e.__scopeSelect),[a,s]=U.useState(!1),c=o(t,i.onScrollButtonChange);return r(()=>{if(n.viewport&&n.isPositioned){let e=function(){s(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,W.jsx)(_n,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});mn.displayName=pn;var hn=`SelectScrollDownButton`,gn=U.forwardRef((e,t)=>{let n=Z(hn,e.__scopeSelect),i=Yt(hn,e.__scopeSelect),[a,s]=U.useState(!1),c=o(t,i.onScrollButtonChange);return r(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,W.jsx)(_n,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});gn.displayName=hn;var _n=U.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:i,...a}=e,o=Z(`SelectScrollButton`,n),s=U.useRef(null),c=Ct(n),l=U.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return U.useEffect(()=>()=>l(),[l]),r(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,W.jsx)(z.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:B(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(i,50))}),onPointerMove:B(a.onPointerMove,()=>{o.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(i,50))}),onPointerLeave:B(a.onPointerLeave,()=>{l()})})}),vn=`SelectSeparator`,yn=U.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,W.jsx)(z.div,{"aria-hidden":!0,...r,ref:t})});yn.displayName=vn;var bn=`SelectArrow`,xn=U.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Et(n),a=J(bn,n),o=Z(bn,n);return a.open&&o.position===`popper`?(0,W.jsx)(_e,{...i,...r,ref:t}):null});xn.displayName=bn;var Sn=`SelectBubbleInput`,Cn=U.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=U.useRef(null),a=o(r,i),s=yt(t);return U.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(s!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,W.jsx)(z.select,{...n,style:{...he,...n.style},ref:a,defaultValue:t})});Cn.displayName=Sn;function wn(e){return e===``||e===void 0}function Tn(e){let t=f(e),n=U.useRef(``),r=U.useRef(0),i=U.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=U.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return U.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function En(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Dn(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Dn(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var On=At,kn=Mt,An=Pt,jn=It,Mn=Rt,Nn=zt,Pn=Zt,Fn=rn,In=cn,Ln=un,Rn=fn,zn=mn,Bn=gn,Vn=yn,Hn=On,Un=An,Wn=U.forwardRef((e,t)=>{let n=(0,H.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=I(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,W.jsx)(jn,{asChild:!0,children:(0,W.jsx)(se,{className:`h-4 w-4 opacity-50`})}),n[6]=s):s=n[6];let c;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(c=(0,W.jsxs)(kn,{ref:t,className:o,...a,children:[r,s]}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=c):c=n[11],c});Wn.displayName=kn.displayName;var Gn=U.forwardRef((e,t)=>{let r=(0,H.c)(10),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=I(`flex cursor-default items-center justify-center py-1`,i),r[3]=i,r[4]=o);let s;r[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,W.jsx)(n,{className:`h-4 w-4`}),r[5]=s):s=r[5];let c;return r[6]!==a||r[7]!==t||r[8]!==o?(c=(0,W.jsx)(zn,{ref:t,className:o,...a,children:s}),r[6]=a,r[7]=t,r[8]=o,r[9]=c):c=r[9],c});Gn.displayName=zn.displayName;var Kn=U.forwardRef((e,t)=>{let n=(0,H.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`flex cursor-default items-center justify-center py-1`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,W.jsx)(se,{className:`h-4 w-4`}),n[5]=o):o=n[5];let s;return n[6]!==i||n[7]!==t||n[8]!==a?(s=(0,W.jsx)(Bn,{ref:t,className:a,...i,children:o}),n[6]=i,n[7]=t,n[8]=a,n[9]=s):s=n[9],s});Kn.displayName=Bn.displayName;var qn=U.forwardRef((e,t)=>{let n=(0,H.c)(21),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,position:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?`popper`:o,c=s===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,l;n[5]!==i||n[6]!==c?(l=I(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,c,i),n[5]=i,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,W.jsx)(Gn,{}),n[8]=u):u=n[8];let d=s===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`,f;n[9]===d?f=n[10]:(f=I(`p-1`,d),n[9]=d,n[10]=f);let p;n[11]!==r||n[12]!==f?(p=(0,W.jsx)(Pn,{className:f,children:r}),n[11]=r,n[12]=f,n[13]=p):p=n[13];let m;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,W.jsx)(Kn,{}),n[14]=m):m=n[14];let h;return n[15]!==s||n[16]!==a||n[17]!==t||n[18]!==l||n[19]!==p?(h=(0,W.jsx)(Mn,{children:(0,W.jsxs)(Nn,{ref:t,className:l,position:s,...a,children:[u,p,m]})}),n[15]=s,n[16]=a,n[17]=t,n[18]=l,n[19]=p,n[20]=h):h=n[20],h});qn.displayName=Nn.displayName;var Jn=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`py-1.5 pl-8 pr-2 text-base font-semibold`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Fn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Jn.displayName=Fn.displayName;var Yn=U.forwardRef((e,t)=>{let n=(0,H.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=I(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,W.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,W.jsx)(Rn,{children:(0,W.jsx)(fe,{className:`h-4 w-4`})})}),n[6]=s):s=n[6];let c;n[7]===r?c=n[8]:(c=(0,W.jsx)(Ln,{children:r}),n[7]=r,n[8]=c);let l;return n[9]!==a||n[10]!==t||n[11]!==o||n[12]!==c?(l=(0,W.jsxs)(In,{ref:t,className:o,...a,children:[s,c]}),n[9]=a,n[10]=t,n[11]=o,n[12]=c,n[13]=l):l=n[13],l});Yn.displayName=In.displayName;var Xn=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`-mx-1 my-1 h-px bg-muted`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(Vn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Xn.displayName=Vn.displayName;function Zn(e){let t=(0,H.c)(14),{className:n,label:r,size:i}=e,a=i===void 0?`md`:i,o=a===`sm`?`h-4 w-4`:a===`lg`?`h-8 w-8`:`h-6 w-6`,s;t[0]===n?s=t[1]:(s=I(`flex h-full items-center justify-center`,n),t[0]=n,t[1]=s);let c;t[2]===o?c=t[3]:(c=I(o,`animate-spin mx-auto text-muted-foreground`),t[2]=o,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,W.jsx)(ve,{className:c}),t[4]=c,t[5]=l);let u;t[6]===r?u=t[7]:(u=r?(0,W.jsx)(`p`,{className:I(V.bodyMuted,`mt-2`),children:r}):null,t[6]=r,t[7]=u);let d;t[8]!==l||t[9]!==u?(d=(0,W.jsxs)(`div`,{className:`text-center`,children:[l,u]}),t[8]=l,t[9]=u,t[10]=d):d=t[10];let f;return t[11]!==s||t[12]!==d?(f=(0,W.jsx)(`div`,{className:s,children:d}),t[11]=s,t[12]=d,t[13]=f):f=t[13],f}function Qn(){let e=(0,H.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,W.jsx)(`div`,{className:`space-y-1 px-2 py-2`,children:[1,2,3].map($n)}),e[0]=t):t=e[0],t}function $n(e){return(0,W.jsx)(`div`,{className:`animate-pulse h-7 bg-muted rounded-full`},e)}function er(){let e=(0,H.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,W.jsx)(`div`,{className:`animate-pulse h-4 bg-muted rounded mx-4 my-1`}),e[0]=t):t=e[0],t}var tr=new Map;function nr(e,t){let n=tr.get(e);return n||(n={promise:t().catch(t=>{throw tr.delete(e),t})},tr.set(e,n)),n.promise}function rr(e){tr.delete(e)}function ir(e){for(let t of tr.keys())t.startsWith(e)&&tr.delete(t)}function ar(e,t){return(0,U.use)(nr(e,t))}var or=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`rounded-lg border bg-card text-card-foreground shadow-sm`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});or.displayName=`Card`;var sr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`flex flex-col space-y-1.5 p-6`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});sr.displayName=`CardHeader`;var cr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(V.sectionTitle,`leading-none tracking-tight`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});cr.displayName=`CardTitle`;var lr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(V.bodyMuted,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});lr.displayName=`CardDescription`;var ur=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`p-6 pt-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});ur.displayName=`CardContent`;var dr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`flex items-center p-6 pt-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});dr.displayName=`CardFooter`;var fr=class extends U.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`AsyncErrorBoundary caught an error:`,e,t)}handleRetry=()=>{this.setState({error:null}),this.props.onRetry?.()};render(){let{error:e}=this.state;return e?this.props.renderFallback?this.props.renderFallback(e,this.handleRetry):(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,W.jsxs)(or,{className:`max-w-md`,children:[(0,W.jsx)(sr,{children:(0,W.jsx)(cr,{className:`text-destructive`,children:this.props.fallbackTitle??`Something went wrong`})}),(0,W.jsxs)(ur,{className:`space-y-4`,children:[(0,W.jsx)(`p`,{className:V.body,children:e.message}),(0,W.jsx)(R,{variant:`outline`,onClick:this.handleRetry,children:`Retry`})]})]})}):this.props.children}},pr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`w-full caption-bottom`,V.body,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,W.jsx)(`table`,{ref:t,className:a,...i})}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});pr.displayName=`Table`;var mr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`[&_tr]:border-b`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`thead`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});mr.displayName=`TableHeader`;var hr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`[&_tr:last-child]:border-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`tbody`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});hr.displayName=`TableBody`;var gr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`tfoot`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});gr.displayName=`TableFooter`;var _r=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`tr`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});_r.displayName=`TableRow`;var Q=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`th`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Q.displayName=`TableHead`;var $=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`td`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$.displayName=`TableCell`;var vr=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(V.caption,`mt-4`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(`caption`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});vr.displayName=`TableCaption`;var yr=t({ConversationHistoryView:()=>Dr,default:()=>Dr}),br=`__ALL_PROJECTS__`;function xr(e){let t=(0,H.c)(8),{text:n,maxLength:r}=e,i=r===void 0?100:r;if(n.length<=i){let e;return t[0]===n?e=t[1]:(e=(0,W.jsx)(W.Fragment,{children:n}),t[0]=n,t[1]=e),e}let a;t[2]!==i||t[3]!==n?(a=n.substring(0,i),t[2]=i,t[3]=n,t[4]=a):a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,W.jsx)(`span`,{className:`text-muted-foreground ml-2`,children:`...`}),t[5]=o):o=t[5];let s;return t[6]===a?s=t[7]:(s=(0,W.jsxs)(W.Fragment,{children:[a,o]}),t[6]=a,t[7]=s),s}function Sr(e,t){let n=`${t} - `,r=e.title??e.threadId;return r.startsWith(n)?r.slice(n.length):r}async function Cr(e){let t=[],n=new Set,r=``;for(let i of e)try{let e=await M(i.threadId);e?.messages&&(t.push(...e.messages),e.conversationIds&&e.conversationIds.forEach(e=>n.add(e)),e.lastUpdated>r&&(r=e.lastUpdated))}catch(e){console.warn(`Failed to load history for thread ${i.threadId}:`,e)}return t.sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime()),{messages:t,conversationIds:Array.from(n),lastUpdated:r??new Date().toISOString()}}function wr(e,t){return e.type===`thread`?`conversation-history:thread:${e.threadId}:${t}`:e.type===`project`?`conversation-history:project:${e.projectId}:${t}`:`conversation-history:all:${t}`}async function Tr(e,t){if(e.type===`thread`)return await M(e.threadId);if(e.type===`project`){let n=t.find(t=>t.projectId===e.projectId);if(!n||n.threads.length===0)return{threadId:e.projectId,messages:[],lastUpdated:new Date().toISOString(),conversationIds:[]};let r=await Cr(n.threads);return{threadId:e.projectId,...r}}return{threadId:br,...await Cr(t.flatMap(e=>e.threads))}}function Er(e){let t=(0,H.c)(45),{scope:n,projects:r,loadVersion:i,currentPromptIndex:a,onPromptIndexChange:o}=e,s;t[0]!==i||t[1]!==n?(s=wr(n,i),t[0]=i,t[1]=n,t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==n?(c=()=>Tr(n,r),t[3]=r,t[4]=n,t[5]=c):c=t[5];let u=ar(s,c),d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=function(e){return new Date(e).toLocaleString()},t[6]=d):d=t[6];let f=d,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=function(e,t){let n=new Date(e),r=new Date(t).getTime()-n.getTime();if(r<0)return{display:`0:00`,tooltip:`0 seconds`};let i=Math.floor(r/1e3),a=Math.floor(i/60),o=i%60,s=`${a}:${o.toString().padStart(2,`0`)}`,c;return c=a===0?`${o} second${o===1?``:`s`}`:o===0?`${a} minute${a===1?``:`s`}`:`${a} minute${a===1?``:`s`} ${o} second${o===1?``:`s`}`,{display:s,tooltip:c}},t[7]=p):p=t[7];let m=p,h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=function(e){return{inputTokens:e.inputTokens??0,outputTokens:e.outputTokens??0}},t[8]=h):h=t[8];let g=h,_;t[9]!==a||t[10]!==u.messages||t[11]!==o?(_=function(){u.messages&&a<u.messages.length-1&&o(a+1)},t[9]=a,t[10]=u.messages,t[11]=o,t[12]=_):_=t[12];let v=_,y;t[13]!==a||t[14]!==o?(y=function(){a>0&&o(a-1)},t[13]=a,t[14]=o,t[15]=y):y=t[15];let b=y;if(!u.messages?.length){let e;return t[16]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,W.jsxs)(`div`,{className:`max-w-md text-center space-y-2`,children:[(0,W.jsx)(`h3`,{className:V.emptyStateTitle,children:`No history`}),(0,W.jsx)(`p`,{className:V.bodyMuted,children:`No conversation history found for this thread.`})]})}),t[16]=e):e=t[16],e}let x=a===0,S;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,W.jsx)(ge,{className:`h-4 w-4 mr-1`}),t[17]=S):S=t[17];let C;t[18]!==b||t[19]!==x?(C=(0,W.jsx)(R,{variant:`outline`,size:`sm`,onClick:b,disabled:x,children:S}),t[18]=b,t[19]=x,t[20]=C):C=t[20];let w=a>=u.messages.length-1,T;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,W.jsx)(ee,{className:`h-4 w-4 ml-1`}),t[21]=T):T=t[21];let E;t[22]!==v||t[23]!==w?(E=(0,W.jsx)(R,{variant:`outline`,size:`sm`,onClick:v,disabled:w,children:T}),t[22]=v,t[23]=w,t[24]=E):E=t[24];let D;t[25]!==C||t[26]!==E?(D=(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[C,E]}),t[25]=C,t[26]=E,t[27]=D):D=t[27];let O=a+1,A;t[28]!==u.messages.length||t[29]!==O?(A=(0,W.jsxs)(`div`,{className:V.bodyMuted,children:[O,` of `,u.messages.length,` messages`]}),t[28]=u.messages.length,t[29]=O,t[30]=A):A=t[30];let j;t[31]!==D||t[32]!==A?(j=(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b py-3 px-0`,children:[D,A]}),t[31]=D,t[32]=A,t[33]=j):j=t[33];let M;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,W.jsx)(mr,{children:(0,W.jsxs)(_r,{children:[(0,W.jsx)(Q,{children:`Prompt`}),(0,W.jsx)(Q,{children:`Answer`}),(0,W.jsx)(Q,{className:`w-24`,children:`Model`}),(0,W.jsx)(Q,{className:`w-24 text-right`,children:`Duration`}),(0,W.jsx)(Q,{className:`w-20 text-right`,children:`Input Tokens`}),(0,W.jsx)(Q,{className:`w-20 text-right`,children:`Output Tokens`}),(0,W.jsx)(Q,{className:`w-32 text-right`,children:`Timestamp`})]})}),t[34]=M):M=t[34];let N;if(t[35]!==a||t[36]!==u.messages){let e;t[38]===a?e=t[39]:(e=(e,t)=>{let{inputTokens:n,outputTokens:r}=g(e);return(0,W.jsxs)(_r,{className:t===a?`bg-muted/50`:``,children:[(0,W.jsx)($,{className:`max-w-md`,children:(0,W.jsx)(`div`,{className:V.body,children:(0,W.jsx)(xr,{text:e.request.message})})}),(0,W.jsx)($,{className:`max-w-md`,children:e.response?(0,W.jsx)(`div`,{className:V.body,children:(0,W.jsx)(xr,{text:e.response.content})}):(0,W.jsx)(`span`,{className:I(V.bodyMuted,`italic`),children:`No response`})}),(0,W.jsx)($,{children:(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(l,{className:`h-3 w-3 text-muted-foreground`}),(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:e.request.model})]})}),(0,W.jsx)($,{className:I(V.caption,`text-right`),children:e.response?(0,W.jsx)(k,{children:(0,W.jsxs)(pe,{children:[(0,W.jsx)(ce,{asChild:!0,children:(0,W.jsx)(`div`,{className:`cursor-help`,children:m(e.timestamp,e.response.completedAt).display})}),(0,W.jsx)(ne,{children:(0,W.jsx)(`p`,{children:m(e.timestamp,e.response.completedAt).tooltip})})]})}):(0,W.jsx)(`span`,{className:`text-muted-foreground italic`,children:`-`})}),(0,W.jsx)($,{className:I(V.bodyMuted,`text-right`),children:n>0?n.toLocaleString():`-`}),(0,W.jsx)($,{className:I(V.bodyMuted,`text-right`),children:r>0?r.toLocaleString():`-`}),(0,W.jsx)($,{className:I(V.bodyMuted,`text-right`),children:f(e.timestamp)})]},e.id)},t[38]=a,t[39]=e),N=u.messages.map(e),t[35]=a,t[36]=u.messages,t[37]=N}else N=t[37];let P;t[40]===N?P=t[41]:(P=(0,W.jsx)(te,{className:`h-full`,children:(0,W.jsx)(`div`,{className:`py-4`,children:(0,W.jsxs)(pr,{children:[M,(0,W.jsx)(hr,{children:N})]})})}),t[40]=N,t[41]=P);let F;return t[42]!==j||t[43]!==P?(F=(0,W.jsxs)(W.Fragment,{children:[j,P]}),t[42]=j,t[43]=P,t[44]=F):F=t[44],F}var Dr=(0,U.memo)(function({isOpen:e,onClose:t,initialFilter:n,projects:r,inline:a}){let[o,s]=(0,U.useState)(0),[c,l]=(0,U.useState)(``),[u,d]=(0,U.useState)(``),[f,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(0),[y,b]=(0,U.useState)(null),[x,S]=(0,U.useState)(null),C=(0,U.useMemo)(()=>u?{type:`thread`,threadId:u}:c===br?{type:`all`}:c?{type:`project`,projectId:c}:null,[c,u]),w=C?wr(C,_):null;(0,U.useEffect)(()=>{e&&n?n.type===`thread`?(d(n.id),l(``),s(0)):n.type===`project`&&(l(n.id),d(``),s(0)):e&&!n?(l(br),d(``),s(0)):e||(d(``),l(``),s(0),S(null),b(null))},[e,n]);let T=e=>{d(e),l(``),s(0),b(null),S(null)},E=e=>{l(e),d(``),s(0),b(null),S(null)},D=(0,U.useCallback)(()=>{if(u){let e=r.flatMap(e=>e.threads).find(e=>e.threadId===u),t=r.find(e=>e.threads.some(e=>e.threadId===u)),n=e?Sr(e,t?.name??t?.projectId??``):u;return{options:{threadId:u},title:`Clear Thread History`,description:`Permanently delete all conversation history for "${n}"? This cannot be undone.`}}if(c&&c!==br){let e=r.find(e=>e.projectId===c)?.name??c;return{options:{projectId:c},title:`Clear Project History`,description:`Permanently delete all conversation history for "${e}"? This cannot be undone.`}}return{options:void 0,title:`Clear All History`,description:`Permanently delete all conversation history across every project and thread? This cannot be undone.`}},[r,c,u]),O=(0,U.useCallback)(async()=>{let e=D();g(!0),S(null);try{await ae(e.options),w&&rr(w),b(w),s(0),m(!1)}catch(e){S(e instanceof Error?e.message:`Failed to clear conversation history`)}finally{g(!1)}},[D,w]);function k(){C&&rr(wr(C,_)),v(e=>e+1),b(null),S(null)}let A=D();if(!e)return null;let j=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(Hn,{value:c,onValueChange:E,children:[(0,W.jsx)(Wn,{className:`w-48`,children:(0,W.jsx)(Un,{placeholder:`Select project`})}),(0,W.jsxs)(qn,{children:[(0,W.jsx)(Yn,{value:br,children:`All Projects`}),r.map(e=>(0,W.jsx)(Yn,{value:e.projectId,children:e.name??e.projectId},e.projectId))]})]}),(0,W.jsxs)(Hn,{value:u,onValueChange:T,children:[(0,W.jsx)(Wn,{className:`w-48`,children:(0,W.jsx)(Un,{placeholder:`Select thread`})}),(0,W.jsx)(qn,{children:r.flatMap(e=>e.threads.map(t=>(0,W.jsx)(Yn,{value:t.threadId,children:Sr(t,e.name??e.projectId)},t.threadId)))})]}),(0,W.jsxs)(R,{variant:`outline`,size:`sm`,onClick:()=>m(!0),disabled:h,children:[(0,W.jsx)(p,{className:`h-4 w-4 mr-2`}),`Clear`]})]}),ee=(0,W.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,W.jsx)(`div`,{className:a?void 0:`border-b px-6 py-4`,children:(0,W.jsx)(dt,{title:`History`,description:a?`View and browse conversation history across projects and threads.`:void 0,action:(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[j,a?null:(0,W.jsx)(R,{variant:`action`,size:`icon-sm`,onClick:t,children:(0,W.jsx)(i,{})})]})})}),(0,W.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:x?(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,W.jsxs)(or,{className:`max-w-md`,children:[(0,W.jsx)(sr,{children:(0,W.jsx)(cr,{className:`text-destructive`,children:`Error`})}),(0,W.jsxs)(ur,{className:`space-y-4`,children:[(0,W.jsx)(`p`,{children:x}),(0,W.jsx)(R,{onClick:()=>S(null),children:`Dismiss`})]})]})}):y&&y===w?(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,W.jsxs)(`div`,{className:`max-w-md text-center space-y-2`,children:[(0,W.jsx)(`h3`,{className:V.emptyStateTitle,children:`No history`}),(0,W.jsx)(`p`,{className:V.bodyMuted,children:`No conversation history found for this thread.`})]})}):C?(0,W.jsx)(fr,{fallbackTitle:`Failed to load conversation history`,onRetry:k,children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(Zn,{label:`Loading conversation history...`,size:`lg`}),children:(0,W.jsx)(Er,{scope:C,projects:r,loadVersion:_,currentPromptIndex:o,onPromptIndexChange:s},w??void 0)})}):(0,W.jsx)(Zn,{label:`Loading conversation history...`,size:`lg`})})]});return(0,W.jsxs)(W.Fragment,{children:[a?(0,W.jsx)(mt,{children:(0,W.jsx)(ct,{className:`max-w-none w-full h-full flex flex-col min-h-0`,children:ee})}):(0,W.jsx)(`div`,{className:`fixed inset-0 z-50 bg-background`,children:ee}),(0,W.jsx)(Qe,{open:f,onOpenChange:m,children:(0,W.jsxs)(tt,{children:[(0,W.jsxs)(nt,{children:[(0,W.jsx)(it,{children:A.title}),(0,W.jsx)(at,{children:A.description})]}),(0,W.jsxs)(rt,{children:[(0,W.jsx)(st,{disabled:h,children:`Cancel`}),(0,W.jsx)(ot,{onClick:e=>{e.preventDefault(),O()},disabled:h,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:h?`Clearing...`:`Clear`})]})]})})]})});export{st as A,ft as C,mt as D,ct as E,it as F,at as M,rt as N,Qe as O,nt as P,dt as S,ht as T,yt as _,ar as a,_t as b,er as c,Hn as d,qn as f,Un as g,Wn as h,ur as i,tt as j,ot as k,Zn as l,Xn as m,fr as n,rr as o,Yn as p,or as r,ir as s,yr as t,Qn as u,lt as v,gt as w,pt as x,ut as y};
@@ -0,0 +1 @@
1
+ @font-face{font-family:Source Sans Pro;src:url(/snpro.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Google Sans;src:url(/fonts/google-sans.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Google Sans,system-ui,-apple-system,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:.5rem;--sidebar-background:0 0% 100%;--sidebar-foreground:220 10% 20%;--sidebar-primary:220 10% 12%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:220 15% 93%;--sidebar-accent-foreground:220 10% 12%;--sidebar-border:220 13% 91%;--sidebar-ring:220 60% 55%}.dark{--background:0 0% 9.5%;--foreground:0 0% 78%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:0 0% 12%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}html,body,#root{height:100%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Google Sans,system-ui,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Source Sans Pro,system-ui,-apple-system,sans-serif}input[type=radio],input[type=checkbox]{accent-color:hsl(var(--brand))}.dark ::placeholder{opacity:.3}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-1\.5{right:-.375rem}.-right-12{right:-3rem}.-top-1\.5{top:-.375rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-full{grid-column:1/-1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-\[6px\]{margin-left:-6px;margin-right:-6px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-3{margin-bottom:-.75rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-ml-4{margin-left:-1rem}.-ml-9{margin-left:-2.25rem}.-mt-4{margin-top:-1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-8{margin-left:2rem}.ml-\[-40px\]{margin-left:-40px}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[-1rem\]{margin-top:-1rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-10{width:2.5rem;height:2.5rem}.size-16{width:4rem;height:4rem}.size-4{width:1rem;height:1rem}.size-8{width:2rem;height:2rem}.h-0{height:0}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[20px\]{height:20px}.h-\[61px\]{height:61px}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-\[min\(42rem\,90dvh\)\]{height:min(42rem,90dvh)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100px\]{max-height:100px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[min\(400px\,80vh\)\]{max-height:min(400px,80vh)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-32{min-height:8rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[2\.25rem\]{min-height:2.25rem}.min-h-\[20px\]{min-height:20px}.min-h-\[250px\]{min-height:250px}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[71px\]{min-height:71px}.min-h-\[80px\]{min-height:80px}.min-h-\[8rem\]{min-height:8rem}.min-h-full{min-height:100%}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[35\%\]{width:35%}.w-\[90vw\]{width:90vw}.w-\[min\(100\%\,48rem\)\]{width:min(100%,48rem)}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-5{min-width:1.25rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[3rem\]{min-width:3rem}.min-w-\[400px\]{min-width:400px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-64{max-width:16rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-brand{border-color:hsl(var(--brand))}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-foreground\/20{border-color:hsl(var(--foreground) / .2)}.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / .2)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.border-l-transparent{border-left-color:#0000}.border-t-blue-400{--tw-border-opacity:1;border-top-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-t-green-400{--tw-border-opacity:1;border-top-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-t-orange-400{--tw-border-opacity:1;border-top-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-t-primary{border-top-color:hsl(var(--primary))}.border-t-purple-400{--tw-border-opacity:1;border-top-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-t-slate-400{--tw-border-opacity:1;border-top-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.border-t-yellow-400{--tw-border-opacity:1;border-top-color:rgb(250 204 21/var(--tw-border-opacity,1))}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{background-color:hsl(var(--border))}.bg-brand{background-color:hsl(var(--brand))}.bg-brand\/10{background-color:hsl(var(--brand) / .1)}.bg-brand\/15{background-color:hsl(var(--brand) / .15)}.bg-card{background-color:hsl(var(--card))}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted) / .1)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:#f973161a}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-500\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white\/5{background-color:#ffffff0d}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pr-\[4px\]{padding-right:4px}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-\[50px\]{padding-top:50px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Google Sans,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{color:hsl(var(--background))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-400\/70{color:#60a5fab3}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-brand{color:hsl(var(--brand))}.text-brand-foreground{color:hsl(var(--brand-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/25{color:hsl(var(--muted-foreground) / .25)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/60{color:hsl(var(--sidebar-foreground) / .6)}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sidebar-foreground\/80{color:hsl(var(--sidebar-foreground) / .8)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[stroke-dashoffset\]{transition-property:stroke-dashoffset;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-bottom-2{--tw-enter-translate-y:.5rem}.slide-in-from-top-2{--tw-enter-translate-y:-.5rem}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.text-balance{text-wrap:balance}.animate-radial-pulse-brand{animation:2s infinite radial-pulse-brand}.animate-shimmer{background-image:linear-gradient(90deg, hsl(var(--muted-foreground)) 0%, hsl(var(--muted-foreground)) 40%, hsl(var(--foreground) / .9) 50%, hsl(var(--muted-foreground)) 60%, hsl(var(--muted-foreground)) 100%);color:#0000;-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2.5s ease-in-out infinite shimmer}.animate-spin-slow{animation:12s linear infinite spin-slow}.animate-headline-reset{transform-origin:0;animation:.6s ease-in-out headline-reset}.\[grid-template-columns\:repeat\(auto-fill\,minmax\(min\(220px\,100\%\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}@keyframes radial-pulse{0%{box-shadow:0 0 0 0 hsl(var(--foreground) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--foreground) / .1)}to{box-shadow:0 0 0 12px hsl(var(--foreground) / 0)}}@keyframes radial-pulse-brand{0%{box-shadow:0 0 0 0 hsl(var(--brand) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--brand) / .1)}to{box-shadow:0 0 0 12px hsl(var(--brand) / 0)}}@keyframes shimmer{0%{background-position:150%}to{background-position:-50%}}@keyframes spin-slow{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes headline-reset{0%,to{color:hsl(var(--foreground));transform:scale(1)rotate(0)}25%{color:hsl(var(--brand));transform:scale(1.06)rotate(-2deg)}50%{color:hsl(var(--brand));transform:scale(1.06)rotate(2deg)}75%{color:hsl(var(--foreground));transform:scale(1.02)rotate(-1deg)}}.diff-comment-marked-line{background:#eab30847!important;border-left:3px solid #eab308!important}.diff-comment-active-line{outline-offset:-1px!important;background:#ea820873!important;border-left:3px solid #ea8208!important;outline:1px solid #ea820899!important}.diff-gutter-add-comment{cursor:pointer;background-color:#0000;margin-left:3px;width:0!important}.diff-gutter-add-comment:after{content:"+";color:#0000;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:16px;font-weight:700;line-height:1;transition:all .1s;display:flex}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:after,.diff-editor-panel .monaco-editor .margin-view-overlays .cgmr.codicon-diff-gutter-add-comment:after{color:var(--vscode-editor-foreground,#ccc);background-color:#ffffff1a}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:hover:after{color:#fff;background-color:#3b82f699}.diff-comment-glyph{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph:after{content:"💬";cursor:pointer;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex}.diff-comment-glyph-active{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph-active:after{content:"💬";cursor:pointer;background-color:#ea820866;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex}.terminal-scrollbar::-webkit-scrollbar{width:12px}.terminal-scrollbar::-webkit-scrollbar-track{background:#0a0a0a}.terminal-scrollbar::-webkit-scrollbar-thumb{background:#404040;border-radius:6px}.terminal-scrollbar::-webkit-scrollbar-thumb:hover{background:#525252}.terminal-scrollbar{scrollbar-width:auto;scrollbar-color:#404040 #0a0a0a}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-neutral-700::placeholder{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-\[-1px\]:before{content:var(--tw-content);inset:-1px}@keyframes ping-subtle{75%,to{content:var(--tw-content);opacity:0;transform:scale(1.15)}}.before\:animate-ping-subtle:before{content:var(--tw-content);animation:1.5s cubic-bezier(0,0,.2,1) infinite ping-subtle}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-primary\/60:before{content:var(--tw-content);border-color:hsl(var(--primary) / .6)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-brand:focus-within{--tw-ring-color:hsl(var(--brand))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:bg-brand\/90:hover{background-color:hsl(var(--brand) / .9)}.hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-foreground:hover{background-color:hsl(var(--foreground))}.hover\:bg-foreground\/90:hover{background-color:hsl(var(--foreground) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-background:hover{color:hsl(var(--background))}.hover\:text-brand-foreground:hover{color:hsl(var(--brand-foreground))}.hover\:text-brand\/80:hover{color:hsl(var(--brand) / .8)}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.hover\:text-destructive\/80:hover{color:hsl(var(--destructive) / .8)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.disabled\:hover\:text-muted-foreground:hover:disabled{color:hsl(var(--muted-foreground))}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:bg-brand{background-color:hsl(var(--brand))}.group:hover .group-hover\:bg-brand\/15{background-color:hsl(var(--brand) / .15)}.group:hover .group-hover\:text-brand{color:hsl(var(--brand))}.group:hover .group-hover\:text-brand-foreground{color:hsl(var(--brand-foreground))}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group\/img:hover .group-hover\/img\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:hsl(var(--accent))}.data-\[state\=on\]\:bg-foreground[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=on\]\:text-background[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active],.data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden,.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:-rotate-90:is(.dark *){--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-950\/30:is(.dark *){background-color:#052e164d}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:hover\:bg-red-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:data-\[state\=on\]\:bg-background[data-state=on]:is(.dark *){background-color:hsl(var(--background))}.dark\:data-\[state\=on\]\:text-foreground[data-state=on]:is(.dark *){color:hsl(var(--foreground))}@media not all and (width>=768px){.max-md\:hidden{display:none}.max-md\:pb-2{padding-bottom:.5rem}}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:w-52{width:13rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-\[320px\]{max-width:320px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:0}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-y-\[50px\]{row-gap:50px}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:absolute{position:absolute}.md\:ml-auto{margin-left:auto}.md\:mr-10{margin-right:2.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-6{height:1.5rem}.md\:h-8{height:2rem}.md\:h-\[103px\]{height:103px}.md\:h-\[71px\]{height:71px}.md\:h-auto{height:auto}.md\:min-h-\[103px\]{min-height:103px}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-2{gap:.5rem}.md\:py-0{padding-top:0;padding-bottom:0}.md\:pb-0{padding-bottom:0}.md\:pb-3{padding-bottom:.75rem}.md\:pb-4{padding-bottom:1rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\:first-child\]\:rounded-l-md>button:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>button\:last-child\]\:rounded-r-md>button:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>button\:not\(\:first-child\)\]\:-ml-px>button:not(:first-child){margin-left:-1px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>button\]\:rounded-none>button{border-radius:0}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_button\]\:w-full button{width:100%}.\[\&_button\]\:justify-start button{justify-content:flex-start}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:\!size-10 svg{width:2.5rem!important;height:2.5rem!important}.\[\&_svg\]\:size-3 svg{width:.75rem;height:.75rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}