tarsk 0.5.36 → 0.5.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +27 -13
- package/dist/public/assets/{account-view-BB-ze5ek.js → account-view-Cn4P1srV.js} +1 -1
- package/dist/public/assets/api-DWU0D34A.js +1 -0
- package/dist/public/assets/{browser-tab-B3bYbBws.js → browser-tab-DeoHDVON.js} +1 -1
- package/dist/public/assets/commit-dialog-CWb_KVrD.js +1 -0
- package/dist/public/assets/context-menu-C7FTMa2c.js +1 -0
- package/dist/public/assets/create-repo-dialog-BCPrWkIv.js +1 -0
- package/dist/public/assets/{dialogs-config-I0_cSU2z.js → dialogs-config-DZKtVbNK.js} +3 -3
- package/dist/public/assets/diff-view-DL3hFREY.js +3 -0
- package/dist/public/assets/explorer-tab-view-DAs4rpHu.js +2 -0
- package/dist/public/assets/{explorer-tree-DrLoiF9t.js → explorer-tree-BV1LcznV.js} +1 -1
- package/dist/public/assets/explorer-view-BGSxs_-F.js +1 -0
- package/dist/public/assets/git-history-dialog-Bqv0bD41.js +1 -0
- package/dist/public/assets/git-ops-button-DZzOCOr8.js +2 -0
- package/dist/public/assets/history-view-jX3PPID6.js +9 -0
- package/dist/public/assets/index-CbJ3v0Sr.js +65 -0
- package/dist/public/assets/mcp-server-card-CTCrhFIS.js +1 -0
- package/dist/public/assets/merged-pr-dialog-B2qqrQ1g.js +1 -0
- package/dist/public/assets/onboarding-CxtzQldG.js +1 -0
- package/dist/public/assets/project-settings-view-B7RBOfiB.js +1 -0
- package/dist/public/assets/providers-list-view-BQFttbEU.js +1 -0
- package/dist/public/assets/pull-request-dialog-BIRSLJAA.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-LUgd2a4S.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-CFmgu9H_.js +1 -0
- package/dist/public/assets/radio-group-Bd8YbtFD.js +1 -0
- package/dist/public/assets/react-vendor-Ba8DSNiO.js +16 -0
- package/dist/public/assets/settings-general-view-CH-51vI0.js +1 -0
- package/dist/public/assets/settings-instructions-view-D9HZldUk.js +1 -0
- package/dist/public/assets/settings-list-CKPEGohm.js +1 -0
- package/dist/public/assets/{settings-mcp-servers-view-DBD-NhPx.js → settings-mcp-servers-view-o2gqb0qo.js} +4 -4
- package/dist/public/assets/{settings-models-skeleton-DsWpzWOw.js → settings-models-skeleton-l966LEN8.js} +1 -1
- package/dist/public/assets/settings-models-view-m-MDG6JH.js +1 -0
- package/dist/public/assets/settings-rules-view-tG9JJQzK.js +8 -0
- package/dist/public/assets/settings-skills-view-DLyWp1pq.js +2 -0
- package/dist/public/assets/settings-slash-commands-view-B7OCA_J1.js +1 -0
- package/dist/public/assets/settings-subagents-view-CSkVwd-J.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-Br6r4RXb.js +1 -0
- package/dist/public/assets/settings-view-rUCFRiPR.js +2 -0
- package/dist/public/assets/skeleton-qzmFgKhS.js +1 -0
- package/dist/public/assets/{terminal-panel-C5qj1ctH.js → terminal-panel-D3Ru16FT.js} +2 -2
- package/dist/public/assets/{ui-components-BN8dp4Bi.js → ui-components-f8jJJzEo.js} +1 -1
- package/dist/public/assets/{utils-CU0c_yCM.js → utils-BlXPFbY9.js} +1 -1
- package/dist/public/index.html +6 -6
- package/package.json +1 -1
- package/dist/public/assets/api-DzFQRz0u.js +0 -1
- package/dist/public/assets/commit-dialog-CJRMd4oA.js +0 -1
- package/dist/public/assets/context-menu-86TNA1D0.js +0 -1
- package/dist/public/assets/create-repo-dialog-nLnVNRqq.js +0 -1
- package/dist/public/assets/diff-view-B8vWYa_2.js +0 -3
- package/dist/public/assets/explorer-tab-view-BGWQPnkw.js +0 -2
- package/dist/public/assets/explorer-view-Clm-RCAB.js +0 -1
- package/dist/public/assets/git-history-dialog-CcdMtW0o.js +0 -1
- package/dist/public/assets/git-ops-button-D9m2nmhO.js +0 -2
- package/dist/public/assets/history-view-Be-1C1tJ.js +0 -7
- package/dist/public/assets/index-DVXbmgHY.js +0 -65
- package/dist/public/assets/mcp-server-card-bNNoXKsW.js +0 -1
- package/dist/public/assets/merged-pr-dialog-Fj8II9Bt.js +0 -1
- package/dist/public/assets/onboarding-CgP4bJ5F.js +0 -1
- package/dist/public/assets/project-settings-view-DixzP7KH.js +0 -1
- package/dist/public/assets/providers-list-view-BzSUZZyq.js +0 -1
- package/dist/public/assets/pull-request-dialog-ChuHHY3J.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-Ck6aK6Q7.js +0 -1
- package/dist/public/assets/push-before-pr-dialog-CbtHXjDH.js +0 -1
- package/dist/public/assets/radio-group-ZjNXbvW6.js +0 -1
- package/dist/public/assets/react-vendor-Do-APsQ6.js +0 -16
- package/dist/public/assets/settings-general-view-FwrdJbys.js +0 -1
- package/dist/public/assets/settings-instructions-view-BHzMtSvN.js +0 -1
- package/dist/public/assets/settings-list-BCoqXa_X.js +0 -1
- package/dist/public/assets/settings-models-view-vgV5YHRx.js +0 -1
- package/dist/public/assets/settings-rules-view-DcSXrmaq.js +0 -8
- package/dist/public/assets/settings-skills-view-DVGGs16n.js +0 -2
- package/dist/public/assets/settings-slash-commands-view-BsJw1F4p.js +0 -1
- package/dist/public/assets/settings-subagents-view-BgWhQ9bf.js +0 -2
- package/dist/public/assets/settings-system-prompt-view-DAAbMucD.js +0 -1
- package/dist/public/assets/settings-view-DLzrbu69.js +0 -2
- package/dist/public/assets/skeleton-iEZ-dj1s.js +0 -1
|
@@ -42,10 +42,10 @@ import{i as e,n as t,t as n}from"./rolldown-runtime-aKtaBQYM.js";var r=n((e=>{va
|
|
|
42
42
|
|
|
43
43
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
44
|
|
|
45
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},wF=`DialogDescriptionWarning`,TF=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${SF(wF).contentName}}.`;return l.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},EF=ZP,DF=$P,OF=rF,kF=aF,AF=lF,jF=mF,MF=gF,NF=vF,PF=EF,FF=OF,IF=l.forwardRef((e,t)=>{let n=(0,z.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=K(`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,V.jsx)(kF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});IF.displayName=kF.displayName;var LF=l.forwardRef((e,t)=>{let n=(0,z.c)(13),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]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,V.jsx)(IF,{}),n[4]=o):o=n[4];let s;n[5]===i?s=n[6]:(s=K(`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`,i),n[5]=i,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsxs)(NF,{className:`absolute right-4 top-4 h-7 w-7 rounded-full flex items-center justify-center transition-colors hover:bg-foreground hover:text-background disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,V.jsx)(wA,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==a||n[10]!==t||n[11]!==s?(l=(0,V.jsxs)(FF,{children:[o,(0,V.jsxs)(AF,{ref:t,className:s,...a,children:[r,c]})]}),n[8]=r,n[9]=a,n[10]=t,n[11]=s,n[12]=l):l=n[12],l});LF.displayName=AF.displayName;var RF=e=>{let t=(0,z.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=K(`flex flex-col space-y-1.5 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};RF.displayName=`DialogHeader`;var zF=e=>{let t=(0,z.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=K(`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,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};zF.displayName=`DialogFooter`;var BF=l.forwardRef((e,t)=>{let n=(0,z.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=K(U.dialogTitle,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(jF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});BF.displayName=jF.displayName;var VF=l.forwardRef((e,t)=>{let n=(0,z.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=K(U.dialogDescription,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(MF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});VF.displayName=MF.displayName;var HF=l.forwardRef((e,t)=>{let n=(0,z.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,type:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===r?o=n[5]:(o=K(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-base file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==a?(s=(0,V.jsx)(`input`,{type:a,className:o,ref:t,...i}),n[6]=i,n[7]=t,n[8]=o,n[9]=a,n[10]=s):s=n[10],s});HF.displayName=`Input`;var UF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=BA(`Primitive.${t}`),r=l.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),WF=`Label`,GF=l.forwardRef((e,t)=>(0,V.jsx)(UF.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));GF.displayName=WF;var KF=GF,qF=bj(`${U.label} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),JF=l.forwardRef((e,t)=>{let n=(0,z.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=K(qF(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(KF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});JF.displayName=KF.displayName;var YF=[`top`,`right`,`bottom`,`left`],XF=Math.min,ZF=Math.max,QF=Math.round,$F=Math.floor,eI=e=>({x:e,y:e}),tI={left:`right`,right:`left`,bottom:`top`,top:`bottom`},nI={start:`end`,end:`start`};function rI(e,t,n){return ZF(e,XF(t,n))}function iI(e,t){return typeof e==`function`?e(t):e}function aI(e){return e.split(`-`)[0]}function oI(e){return e.split(`-`)[1]}function sI(e){return e===`x`?`y`:`x`}function cI(e){return e===`y`?`height`:`width`}var lI=new Set([`top`,`bottom`]);function uI(e){return lI.has(aI(e))?`y`:`x`}function dI(e){return sI(uI(e))}function fI(e,t,n){n===void 0&&(n=!1);let r=oI(e),i=dI(e),a=cI(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=xI(o)),[o,xI(o)]}function pI(e){let t=xI(e);return[mI(e),t,mI(t)]}function mI(e){return e.replace(/start|end/g,e=>nI[e])}var hI=[`left`,`right`],gI=[`right`,`left`],_I=[`top`,`bottom`],vI=[`bottom`,`top`];function yI(e,t,n){switch(e){case`top`:case`bottom`:return n?t?gI:hI:t?hI:gI;case`left`:case`right`:return t?_I:vI;default:return[]}}function bI(e,t,n,r){let i=oI(e),a=yI(aI(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(mI)))),a}function xI(e){return e.replace(/left|right|bottom|top/g,e=>tI[e])}function SI(e){return{top:0,right:0,bottom:0,left:0,...e}}function CI(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:SI(e)}function wI(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function TI(e,t,n){let{reference:r,floating:i}=e,a=uI(t),o=dI(t),s=cI(o),c=aI(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(oI(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function EI(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=iI(t,e),p=CI(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=wI(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=wI(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var DI=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=TI(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:{...o,detectOverflow:o.detectOverflow??EI},elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=TI(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}},OI=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=iI(e,t)||{};if(l==null)return{};let d=CI(u),f={x:n,y:r},p=dI(i),m=cI(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=XF(d[_],T),D=XF(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=rI(O,A,k),M=!c.arrow&&oI(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),kI=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=iI(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=aI(r),_=uI(o),v=aI(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[xI(o)]:pI(o)),x=p!==`none`;!d&&x&&b.push(...bI(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=fI(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==uI(t))||T.every(e=>uI(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=uI(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function AI(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function jI(e){return YF.some(t=>e[t]>=0)}var MI=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=iI(e,t);switch(i){case`referenceHidden`:{let e=AI(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:jI(e)}}}case`escaped`:{let e=AI(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:jI(e)}}}default:return{}}}}},NI=new Set([`left`,`top`]);async function PI(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=aI(n),s=oI(n),c=uI(n)===`y`,l=NI.has(o)?-1:1,u=a&&c?-1:1,d=iI(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var FI=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await PI(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},II=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=iI(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=uI(aI(i)),p=sI(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=rI(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=rI(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},LI=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=iI(e,t),u={x:n,y:r},d=uI(i),f=sI(d),p=u[f],m=u[d],h=iI(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=NI.has(aI(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},RI=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=iI(e,t),u=await o.detectOverflow(t,l),d=aI(i),f=oI(i),p=uI(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=XF(h-u[g],v),x=XF(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=ZF(u.left,0),t=ZF(u.right,0),n=ZF(u.top,0),r=ZF(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:ZF(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:ZF(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function zI(){return typeof window<`u`}function BI(e){return UI(e)?(e.nodeName||``).toLowerCase():`#document`}function VI(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function HI(e){return((UI(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function UI(e){return zI()?e instanceof Node||e instanceof VI(e).Node:!1}function WI(e){return zI()?e instanceof Element||e instanceof VI(e).Element:!1}function GI(e){return zI()?e instanceof HTMLElement||e instanceof VI(e).HTMLElement:!1}function KI(e){return!zI()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof VI(e).ShadowRoot}var qI=new Set([`inline`,`contents`]);function JI(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=sL(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!qI.has(i)}var YI=new Set([`table`,`td`,`th`]);function XI(e){return YI.has(BI(e))}var ZI=[`:popover-open`,`:modal`];function QI(e){return ZI.some(t=>{try{return e.matches(t)}catch{return!1}})}var $I=[`transform`,`translate`,`scale`,`rotate`,`perspective`],eL=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],tL=[`paint`,`layout`,`strict`,`content`];function nL(e){let t=iL(),n=WI(e)?sL(e):e;return $I.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||eL.some(e=>(n.willChange||``).includes(e))||tL.some(e=>(n.contain||``).includes(e))}function rL(e){let t=lL(e);for(;GI(t)&&!oL(t);){if(nL(t))return t;if(QI(t))return null;t=lL(t)}return null}function iL(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var aL=new Set([`html`,`body`,`#document`]);function oL(e){return aL.has(BI(e))}function sL(e){return VI(e).getComputedStyle(e)}function cL(e){return WI(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function lL(e){if(BI(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||KI(e)&&e.host||HI(e);return KI(t)?t.host:t}function uL(e){let t=lL(e);return oL(t)?e.ownerDocument?e.ownerDocument.body:e.body:GI(t)&&JI(t)?t:uL(t)}function dL(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=uL(e),i=r===e.ownerDocument?.body,a=VI(r);if(i){let e=fL(a);return t.concat(a,a.visualViewport||[],JI(r)?r:[],e&&n?dL(e):[])}return t.concat(r,dL(r,[],n))}function fL(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pL(e){let t=sL(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=GI(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=QF(n)!==a||QF(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function mL(e){return WI(e)?e:e.contextElement}function hL(e){let t=mL(e);if(!GI(t))return eI(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=pL(t),o=(a?QF(n.width):n.width)/r,s=(a?QF(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var gL=eI(0);function _L(e){let t=VI(e);return!iL()||!t.visualViewport?gL:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vL(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==VI(e)?!1:t}function yL(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=mL(e),o=eI(1);t&&(r?WI(r)&&(o=hL(r)):o=hL(e));let s=vL(a,n,r)?_L(a):eI(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=VI(a),t=r&&WI(r)?VI(r):r,n=e,i=fL(n);for(;i&&r&&t!==n;){let e=hL(i),t=i.getBoundingClientRect(),r=sL(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=VI(i),i=fL(n)}}return wI({width:u,height:d,x:c,y:l})}function bL(e,t){let n=cL(e).scrollLeft;return t?t.left+n:yL(HI(e)).left+n}function xL(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-bL(e,n),y:n.top+t.scrollTop}}function SL(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=HI(r),s=t?QI(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=eI(1),u=eI(0),d=GI(r);if((d||!d&&!a)&&((BI(r)!==`body`||JI(o))&&(c=cL(r)),GI(r))){let e=yL(r);l=hL(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?xL(o,c):eI(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function CL(e){return Array.from(e.getClientRects())}function wL(e){let t=HI(e),n=cL(e),r=e.ownerDocument.body,i=ZF(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ZF(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+bL(e),s=-n.scrollTop;return sL(r).direction===`rtl`&&(o+=ZF(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var TL=25;function EL(e,t){let n=VI(e),r=HI(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=iL();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=bL(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=TL&&(a-=o)}else l<=TL&&(a+=l);return{width:a,height:o,x:s,y:c}}var DL=new Set([`absolute`,`fixed`]);function OL(e,t){let n=yL(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=GI(e)?hL(e):eI(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function kL(e,t,n){let r;if(t===`viewport`)r=EL(e,n);else if(t===`document`)r=wL(HI(e));else if(WI(t))r=OL(t,n);else{let n=_L(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wI(r)}function AL(e,t){let n=lL(e);return n===t||!WI(n)||oL(n)?!1:sL(n).position===`fixed`||AL(n,t)}function jL(e,t){let n=t.get(e);if(n)return n;let r=dL(e,[],!1).filter(e=>WI(e)&&BI(e)!==`body`),i=null,a=sL(e).position===`fixed`,o=a?lL(e):e;for(;WI(o)&&!oL(o);){let t=sL(o),n=nL(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&DL.has(i.position)||JI(o)&&!n&&AL(e,o))?r=r.filter(e=>e!==o):i=t,o=lL(o)}return t.set(e,r),r}function ML(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?QI(t)?[]:jL(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=kL(t,n,i);return e.top=ZF(r.top,e.top),e.right=XF(r.right,e.right),e.bottom=XF(r.bottom,e.bottom),e.left=ZF(r.left,e.left),e},kL(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function NL(e){let{width:t,height:n}=pL(e);return{width:t,height:n}}function PL(e,t,n){let r=GI(t),i=HI(t),a=n===`fixed`,o=yL(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=eI(0);function l(){c.x=bL(i)}if(r||!r&&!a)if((BI(t)!==`body`||JI(i))&&(s=cL(t)),r){let e=yL(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?xL(i,s):eI(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function FL(e){return sL(e).position===`static`}function IL(e,t){if(!GI(e)||sL(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return HI(e)===n&&(n=n.ownerDocument.body),n}function LL(e,t){let n=VI(e);if(QI(e))return n;if(!GI(e)){let t=lL(e);for(;t&&!oL(t);){if(WI(t)&&!FL(t))return t;t=lL(t)}return n}let r=IL(e,t);for(;r&&XI(r)&&FL(r);)r=IL(r,t);return r&&oL(r)&&FL(r)&&!nL(r)?n:r||rL(e)||n}var RL=async function(e){let t=this.getOffsetParent||LL,n=this.getDimensions,r=await n(e.floating);return{reference:PL(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function zL(e){return sL(e).direction===`rtl`}var BL={convertOffsetParentRelativeRectToViewportRelativeRect:SL,getDocumentElement:HI,getClippingRect:ML,getOffsetParent:LL,getElementRects:RL,getClientRects:CL,getDimensions:NL,getScale:hL,isElement:WI,isRTL:zL};function VL(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function HL(e,t){let n=null,r,i=HI(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=$F(d),h=$F(i.clientWidth-(u+f)),g=$F(i.clientHeight-(d+p)),_=$F(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ZF(0,XF(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!VL(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function UL(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=mL(e),u=i||a?[...l?dL(l):[],...dL(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?HL(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?yL(e):null;c&&g();function g(){let t=yL(e);h&&!VL(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var WL=FI,GL=II,KL=kI,qL=RI,JL=MI,YL=OI,XL=LI,ZL=(e,t,n)=>{let r=new Map,i={platform:BL,...n},a={...i.platform,_c:r};return DI(e,t,{...i,platform:a})},QL=typeof document<`u`?l.useLayoutEffect:function(){};function $L(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!$L(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!$L(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function eR(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function tR(e,t){let n=eR(e);return Math.round(t*n)/n}function nR(e){let t=l.useRef(e);return QL(()=>{t.current=e}),t}function rR(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:u}=e,[d,f]=l.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=l.useState(r);$L(p,r)||m(r);let[h,g]=l.useState(null),[_,v]=l.useState(null),y=l.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=l.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=l.useRef(null),w=l.useRef(null),T=l.useRef(d),E=c!=null,D=nR(c),O=nR(i),k=nR(u),A=l.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),ZL(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!$L(T.current,t)&&(T.current=t,jM.flushSync(()=>{f(t)}))})},[p,t,n,O,k]);QL(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let j=l.useRef(!1);QL(()=>(j.current=!0,()=>{j.current=!1}),[]),QL(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=l.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=l.useMemo(()=>({reference:x,floating:S}),[x,S]),P=l.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=tR(N.floating,d.x),r=tR(N.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...eR(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,d.x,d.y]);return l.useMemo(()=>({...d,update:A,refs:M,elements:N,floatingStyles:P}),[d,A,M,N,P])}var iR=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:YL({element:r.current,padding:i}).fn(n):r?YL({element:r,padding:i}).fn(n):{}}}},aR=(e,t)=>({...WL(e),options:[e,t]}),oR=(e,t)=>({...GL(e),options:[e,t]}),sR=(e,t)=>({...XL(e),options:[e,t]}),cR=(e,t)=>({...KL(e),options:[e,t]}),lR=(e,t)=>({...qL(e),options:[e,t]}),uR=(e,t)=>({...JL(e),options:[e,t]}),dR=(e,t)=>({...iR(e),options:[e,t]}),fR=`Arrow`,pR=l.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,V.jsx)(J.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,V.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});pR.displayName=fR;var mR=pR;function hR(e){let[t,n]=l.useState(void 0);return CM(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var gR=`Popper`,[_R,vR]=xM(gR),[yR,bR]=_R(gR),xR=e=>{let{__scopePopper:t,children:n}=e,[r,i]=l.useState(null);return(0,V.jsx)(yR,{scope:t,anchor:r,onAnchorChange:i,children:n})};xR.displayName=gR;var SR=`PopperAnchor`,CR=l.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=bR(SR,n),o=l.useRef(null),s=B(t,o),c=l.useRef(null);return l.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,V.jsx)(J.div,{...i,ref:s})});CR.displayName=SR;var wR=`PopperContent`,[TR,ER]=_R(wR),DR=l.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:f=`partial`,hideWhenDetached:p=!1,updatePositionStrategy:m=`optimized`,onPlaced:h,...g}=e,_=bR(wR,n),[v,y]=l.useState(null),b=B(t,e=>y(e)),[x,S]=l.useState(null),C=hR(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof d==`number`?d:{top:0,right:0,bottom:0,left:0,...d},O=Array.isArray(u)?u:[u],k=O.length>0,A={padding:D,boundary:O.filter(jR),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=rR({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>UL(...e,{animationFrame:m===`always`}),elements:{reference:_.anchor},middleware:[aR({mainAxis:i+T,alignmentAxis:o}),c&&oR({mainAxis:!0,crossAxis:!1,limiter:f===`partial`?sR():void 0,...A}),c&&cR({...A}),lR({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),x&&dR({element:x,padding:s}),MR({arrowWidth:w,arrowHeight:T}),p&&uR({strategy:`referenceHidden`,...A})]}),[I,L]=NR(N),ee=Y(h);CM(()=>{P&&ee?.()},[P,ee]);let te=F.arrow?.x,ne=F.arrow?.y,re=F.arrow?.centerOffset!==0,[ie,ae]=l.useState();return CM(()=>{v&&ae(window.getComputedStyle(v).zIndex)},[v]),(0,V.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ie,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,V.jsx)(TR,{scope:n,placedSide:I,onArrowChange:S,arrowX:te,arrowY:ne,shouldHideArrow:re,children:(0,V.jsx)(J.div,{"data-side":I,"data-align":L,...g,ref:b,style:{...g.style,animation:P?void 0:`none`}})})})});DR.displayName=wR;var OR=`PopperArrow`,kR={top:`bottom`,right:`left`,bottom:`top`,left:`right`},AR=l.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=ER(OR,n),a=kR[i.placedSide];return(0,V.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,V.jsx)(mR,{...r,ref:t,style:{...r.style,display:`block`}})})});AR.displayName=OR;function jR(e){return e!==null}var MR=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=NR(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function NR(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var PR=xR,FR=CR,IR=DR,LR=AR,RR=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),zR=`VisuallyHidden`,BR=l.forwardRef((e,t)=>(0,V.jsx)(J.span,{...e,ref:t,style:{...RR,...e.style}}));BR.displayName=zR;var VR=BR,[HR,UR]=xM(`Tooltip`,[vR]),WR=vR(),GR=`TooltipProvider`,KR=700,qR=`tooltip.open`,[JR,YR]=HR(GR),XR=e=>{let{__scopeTooltip:t,delayDuration:n=KR,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=l.useRef(!0),s=l.useRef(!1),c=l.useRef(0);return l.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(JR,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:l.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:l.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:l.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};XR.displayName=GR;var ZR=`Tooltip`,[QR,$R]=HR(ZR),ez=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=YR(ZR,e.__scopeTooltip),u=WR(t),[d,f]=l.useState(null),p=EM(),m=l.useRef(0),h=o??c.disableHoverableContent,g=s??c.delayDuration,_=l.useRef(!1),[v,y]=OM({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(qR))):c.onClose(),a?.(e)},caller:ZR}),b=l.useMemo(()=>v?_.current?`delayed-open`:`instant-open`:`closed`,[v]),x=l.useCallback(()=>{window.clearTimeout(m.current),m.current=0,_.current=!1,y(!0)},[y]),S=l.useCallback(()=>{window.clearTimeout(m.current),m.current=0,y(!1)},[y]),C=l.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{_.current=!0,y(!0),m.current=0},g)},[g,y]);return l.useEffect(()=>()=>{m.current&&=(window.clearTimeout(m.current),0)},[]),(0,V.jsx)(PR,{...u,children:(0,V.jsx)(QR,{scope:t,contentId:p,open:v,stateAttribute:b,trigger:d,onTriggerChange:f,onTriggerEnter:l.useCallback(()=>{c.isOpenDelayedRef.current?C():x()},[c.isOpenDelayedRef,C,x]),onTriggerLeave:l.useCallback(()=>{h?S():(window.clearTimeout(m.current),m.current=0)},[S,h]),onOpen:x,onClose:S,disableHoverableContent:h,children:n})})};ez.displayName=ZR;var tz=`TooltipTrigger`,nz=l.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=$R(tz,n),a=YR(tz,n),o=WR(n),s=B(t,l.useRef(null),i.onTriggerChange),c=l.useRef(!1),u=l.useRef(!1),d=l.useCallback(()=>c.current=!1,[]);return l.useEffect(()=>()=>document.removeEventListener(`pointerup`,d),[d]),(0,V.jsx)(FR,{asChild:!0,...o,children:(0,V.jsx)(J.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:q(e.onPointerMove,e=>{e.pointerType!==`touch`&&!u.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:q(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:q(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,d,{once:!0})}),onFocus:q(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:q(e.onBlur,i.onClose),onClick:q(e.onClick,i.onClose)})})});nz.displayName=tz;var rz=`TooltipPortal`,[iz,az]=HR(rz,{forceMount:void 0}),oz=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=$R(rz,t);return(0,V.jsx)(iz,{scope:t,forceMount:n,children:(0,V.jsx)(xN,{present:n||a.open,children:(0,V.jsx)(yN,{asChild:!0,container:i,children:r})})})};oz.displayName=rz;var sz=`TooltipContent`,cz=l.forwardRef((e,t)=>{let n=az(sz,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=$R(sz,e.__scopeTooltip);return(0,V.jsx)(xN,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(pz,{side:i,...a,ref:t}):(0,V.jsx)(lz,{side:i,...a,ref:t})})}),lz=l.forwardRef((e,t)=>{let n=$R(sz,e.__scopeTooltip),r=YR(sz,e.__scopeTooltip),i=l.useRef(null),a=B(t,i),[o,s]=l.useState(null),{trigger:c,onClose:u}=n,d=i.current,{onPointerInTransitChange:f}=r,p=l.useCallback(()=>{s(null),f(!1)},[f]),m=l.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=_z(r,gz(r,n.getBoundingClientRect())),a=vz(t.getBoundingClientRect());s(bz([...i,...a])),f(!0)},[f]);return l.useEffect(()=>()=>p(),[p]),l.useEffect(()=>{if(c&&d){let e=e=>m(e,d),t=e=>m(e,c);return c.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[c,d,m,p]),l.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||d?.contains(t),i=!yz(n,o);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,d,o,u,p]),(0,V.jsx)(pz,{...e,ref:a})}),[uz,dz]=HR(ZR,{isInside:!1}),fz=FM(`TooltipContent`),pz=l.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=$R(sz,n),u=WR(n),{onClose:d}=c;return l.useEffect(()=>(document.addEventListener(qR,d),()=>document.removeEventListener(qR,d)),[d]),l.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,d]),(0,V.jsx)(qM,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,V.jsxs)(IR,{"data-state":c.stateAttribute,...u,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,V.jsx)(fz,{children:r}),(0,V.jsx)(uz,{scope:n,isInside:!0,children:(0,V.jsx)(VR,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});cz.displayName=sz;var mz=`TooltipArrow`,hz=l.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=WR(n);return dz(mz,n).isInside?null:(0,V.jsx)(LR,{...i,...r,ref:t})});hz.displayName=mz;function gz(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function _z(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function vz(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function yz(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function bz(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),xz(t)}function xz(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Sz=XR,Cz=ez,wz=nz,Tz=cz,Ez=Sz,Dz=Cz,Oz=wz,kz=l.forwardRef((e,t)=>{let n=(0,z.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,sideOffset:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?4:a,s;n[4]===r?s=n[5]:(s=K(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-base text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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`,r),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==s?(c=(0,V.jsx)(Tz,{ref:t,sideOffset:o,className:s,...i}),n[6]=i,n[7]=t,n[8]=o,n[9]=s,n[10]=c):c=n[10],c});kz.displayName=Tz.displayName;var Az=function(e){return e.PACKAGE_MANAGER=`tarsk.create-project.packageManager`,e.COMMIT_METHOD=`tarsk.create-project.commitMethod`,e.TEMPLATE_ID=`tarsk.create-project.templateId`,e.AUTO_GENERATE_COMMIT_MESSAGE=`autoGenerateCommitMessage`,e.AUTO_GENERATE_PR_INFO=`autoGeneratePRInfo`,e.PRIVATE_REPOSITORY_DEFAULT=`privateRepositoryDefault`,e.SELECTED_MODEL_PREFIX=`selected-model-`,e.SCROLL_POSITION_PREFIX=`scroll-position-`,e.FONT_SCALE=`tarsk.general.fontScale`,e.OPEN_WITH_PROGRAM=`tarsk.general.openWithProgram`,e.VOICE_MODEL=`tarsk.general.voiceModel`,e.SERVER_URL=`tarsk.server.url`,e}({}),jz=function(e){return e.MESSAGE_HISTORY=`chat_message_history`,e.BASH_COMMAND_DURATIONS=`tarsk.bash-command-durations`,e}({});function Mz(e){return typeof localStorage>`u`?null:localStorage.getItem(e)}function Nz(e,t){typeof localStorage>`u`||localStorage.setItem(e,t)}function Pz(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function Fz(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function Iz(e=`npm`){return Mz(`tarsk.create-project.packageManager`)??e}function Lz(e){Nz(`tarsk.create-project.packageManager`,e)}function Rz(e=`pull-request`){return Mz(`tarsk.create-project.commitMethod`)??e}function zz(e){Nz(`tarsk.create-project.commitMethod`,e)}function Bz(e=``){return Mz(`tarsk.create-project.templateId`)??e}function Vz(e){Nz(`tarsk.create-project.templateId`,e)}function Hz(e=!1){let t=Mz(`autoGenerateCommitMessage`);return t===null?e:t===`true`}function Uz(e){Nz(`autoGenerateCommitMessage`,e.toString())}function Wz(e=!1){let t=Mz(`autoGeneratePRInfo`);return t===null?e:t===`true`}function Gz(e){Nz(`autoGeneratePRInfo`,e.toString())}function Kz(e=!1){let t=Mz(`privateRepositoryDefault`);return t===null?e:t===`true`}function qz(e){Nz(`privateRepositoryDefault`,e.toString())}function Jz(e){let t=Mz(`scroll-position-`+e),n=t===null?null:Number(t);return n!==null&&Number.isFinite(n)?n:null}function Yz(e,t){Nz(`scroll-position-`+e,String(t))}function Xz(){let e=Pz(`chat_message_history`);return e?JSON.parse(e):[]}function Zz(e){let t=Xz();e.trim()&&t[t.length-1]!==e&&(t.push(e),Fz(`chat_message_history`,JSON.stringify(t)))}function Qz(e=100){let t=Mz(`tarsk.general.fontScale`);if(t!==null){let e=Number(t);if(Number.isFinite(e)&&e>=50&&e<=300)return e}return e}function $z(e){Nz(`tarsk.general.fontScale`,String(e))}function eB(e=`VS Code`){return Mz(`tarsk.general.openWithProgram`)??e}function tB(e){Nz(`tarsk.general.openWithProgram`,e)}function nB(e=`default`){let t=Mz(`tarsk.general.voiceModel`);return t===`tiny`||t==="default"?t:e}function rB(e){Nz(`tarsk.general.voiceModel`,e),typeof window<`u`&&window.dispatchEvent(new Event(`tarsk:voice-model-changed`))}function iB(){return typeof window>`u`?null:window.Capacitor?.getPlatform?.()??null}function aB(){return uB()&&iB()===`ios`}function oB(){return Mz(Az.SERVER_URL)}function sB(e){Nz(Az.SERVER_URL,e)}function cB(e){try{return new URL(e).hostname}catch{return``}}function lB(e){let t=e.trim();if(!t)return``;let n=t.replace(/^https?:\/\//,``).split(`/`)[0]?.split(`:`)[0]??``;return n?`http://${n}:641`:``}function uB(){if(typeof window>`u`)return!1;if(window.Capacitor?.isNativePlatform?.())return!0;let e=window.location.protocol;return e===`capacitor:`||e===`ionic:`||e===`file:`}function dB(){let e=oB();if(e){let t=cB(e);if(t)return t}return uB()?``:document.location.hostname}async function fB(e){try{return(await fetch(`${e.replace(/\/$/,``)}/health`,{method:`GET`})).ok}catch{return!1}}function pB(e){let t=lB(e);if(t){if(uB()){sB(t),window.location.reload();return}window.location.assign(t)}}function mB(){return[`462`,`8100`].includes(document.location.port)?`http://${document.location.hostname}:462`:`http://${document.location.hostname}:641`}function hB(){let e=oB();return e?e.replace(/\/$/,``):mB()}function gB(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${hB()}${t}`}function _B(e){return e?typeof e.error==`string`?e.error:e.error&&typeof e.error==`object`?e.error.details??e.error.message??`Unknown error`:`Unknown error`:`Unknown error`}async function vB(e){try{return _B(await e.json())}catch{}return e.statusText||`Unknown error`}function yB(e,t,n){let r=Error(e);return n?.error&&typeof n.error==`object`&&(r.details=n.error.details,r.code=n.error.code),r}async function bB(e,t){let n=await fetch(gB(e),{...t,method:`GET`});if(!n.ok){let e=await vB(n);throw Error(e)}return n.blob()}async function X(e,t){let n=await fetch(gB(e),{...t,method:`GET`});if(!n.ok){let e=await vB(n);throw Error(e)}return n.json()}async function Z(e,t,n){let r=await fetch(gB(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.json()}async function xB(e,t,n){let r=await fetch(gB(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.json()}async function SB(e,t,n){let r=await fetch(gB(e),{...n,method:`PATCH`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.json()}async function CB(e,t,n){let r=await fetch(gB(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.body}async function wB(e,t){let n=await fetch(gB(e),{...t,method:`DELETE`});if(!n.ok){let e=await vB(n);throw Error(e)}if(n.status!==204)return n.json()}async function TB(e,t,n){let r=await fetch(gB(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0,signal:n?.signal});if(!r.ok){let e=await vB(r);throw Error(e)}return r.body}async function EB(e,t){let n=await fetch(gB(e),{...t,method:`GET`});if(!n.ok){let e=await vB(n);throw Error(e)}return n.body}async function DB(e,t,n){let r=await fetch(gB(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw yB(_B(e)||r.statusText||`Unknown error`,r,e)}return r.json()}async function OB(e,t,n){let r=await fetch(gB(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw yB(_B(e)||r.statusText||`Unknown error`,r,e)}return r.json()}function Q(...e){return e.map(e=>encodeURIComponent(String(e))).join(`/`)}var $=new class{cache=new Map;inFlightRequests=new Map;async get(e,t,n){let r=e.startsWith(`unified-git-status-`),i=r?performance.now():0,a=this.inFlightRequests.get(e);if(a)return r&&console.log(`[gitops-timing] ttl-cache key=${e} in-flight-reuse`),a;let o=this.cache.get(e);if(o&&Date.now()<o.expires){if(r){let t=Math.round(performance.now()-i);console.log(`[gitops-timing] ttl-cache key=${e} hit ${t}ms`)}return o.data}r&&console.log(`[gitops-timing] ttl-cache key=${e} miss fetching`);let s=t().then(t=>{if(this.cache.set(e,{data:t,expires:Date.now()+n}),r){let t=Math.round(performance.now()-i);console.log(`[gitops-timing] ttl-cache key=${e} stored ${t}ms`)}return t}).finally(()=>{this.inFlightRequests.delete(e)});return this.inFlightRequests.set(e,s),s}getSync(e){let t=this.cache.get(e);if(t&&Date.now()<t.expires)return t.data}invalidate(e){this.cache.delete(e)}invalidatePattern(e){let t=[];for(let n of this.cache.keys())e.test(n)&&t.push(n);t.forEach(e=>this.cache.delete(e))}clear(){this.cache.clear(),this.inFlightRequests.clear()}};function kB(){return typeof window<`u`&&`__electrobunWebviewId`in window}function AB(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function jB(e,t=`image/png`){let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return new Blob([r],{type:t})}function MB(e){let t=e.indexOf(`,`),n=e.slice(0,t);return jB(e.slice(t+1),n.match(/^data:([^;]+)/)?.[1]??`image/png`)}async function NB(e){if(e.imageData)return jB(e.imageData);if(e.imageUrl){if(e.imageUrl.startsWith(`data:`))return MB(e.imageUrl);let t=await fetch(e.imageUrl);if(!t.ok)throw Error(`Failed to fetch image: ${t.status}`);return t.blob()}throw Error(`imageUrl or imageData is required`)}async function PB(e){let t=e.filename??`generated-image-${Date.now()}.png`;try{return AB(await NB(e),t),{path:t}}catch{if(!e.imageUrl||e.imageUrl.startsWith(`data:`))throw Error(`imageUrl or imageData is required`);let n=document.createElement(`a`);return n.href=e.imageUrl,n.download=t,n.target=`_blank`,n.rel=`noopener noreferrer`,document.body.appendChild(n),n.click(),document.body.removeChild(n),{path:t}}}async function FB(e){let t=await NB(e);if(!navigator.clipboard?.write)throw Error(`Clipboard API not available`);let n=t.type||`image/png`,r=t.type?t:new Blob([t],{type:n});await navigator.clipboard.write([new ClipboardItem({[n]:r})])}async function IB(e){return kB()?Z(`api/image/save`,e):PB(e)}async function LB(e){if(kB()){await Z(`api/image/clipboard`,e);return}await FB(e)}var RB=t({EmptyBalanceError:()=>zB,LOW_BALANCE_THRESHOLD:()=>50,applyAppUpdate:()=>RH,checkBalance:()=>BB,checkForAppUpdate:()=>LH,checkGitInstalled:()=>EH,checkVpInstalled:()=>HB,clearChatHistory:()=>SV,clearConversationHistory:()=>FH,compactChat:()=>CV,completeOnboarding:()=>DH,copyImageToClipboard:()=>VV,createFolderProject:()=>sV,createGitCheckpoint:()=>iH,createGitHubRepo:()=>rH,createProject:()=>aV,createScaffoldedProject:()=>WB,createSlashCommand:()=>MH,createThread:()=>pV,createThreadAgent:()=>iU,createThreadSkill:()=>rU,createUserTask:()=>gH,deleteCommand:()=>sH,deleteMCPServer:()=>XH,deleteProject:()=>dV,deleteProjectAIFile:()=>$H,deleteSlashCommand:()=>NH,deleteThread:()=>mV,deleteThreadAIFile:()=>aU,deleteUserTask:()=>_H,disableImageModel:()=>zV,disableModel:()=>PV,enableImageModel:()=>RV,enableModel:()=>NV,fetchAvailableImageModels:()=>IV,fetchAvailableModels:()=>MV,fixComments:()=>gV,generateCommitMessage:()=>WV,generateImage:()=>BV,generatePRInfo:()=>YV,getAccountInfo:()=>ZB,getAccountSettings:()=>QB,getAllEnabledImageModels:()=>LV,getAllEnabledModels:()=>FV,getAvailablePrograms:()=>eV,getChatHistory:()=>vV,getContextBreakdown:()=>IH,getConversationFolderPath:()=>yV,getConversationHistory:()=>PH,getGitDiff:()=>wH,getGitLog:()=>nH,getGitUser:()=>nV,getGitUserName:()=>rV,getMCPConfig:()=>JH,getOnboardingStatus:()=>TH,getPackageScripts:()=>cH,getPopularAgents:()=>WH,getPopularMCPServers:()=>ZH,getPopularRules:()=>GH,getPopularSkills:()=>UH,getPopularSlashCommands:()=>KH,getProcessingThreads:()=>tV,getProject:()=>cV,getProjectAIFiles:()=>QH,getProjectEnvVars:()=>lV,getProjectScripts:()=>dH,getProjectSystemPrompt:()=>CH,getProjects:()=>iV,getProviderCredits:()=>qB,getProviderLogoUrl:()=>KB,getProviders:()=>GB,getRecommendedModels:()=>kH,getScaffoldTemplates:()=>VB,getSlashCommands:()=>AH,getSlashCommandsAndSkills:()=>jH,getThread:()=>mH,getThreadAIFile:()=>tU,getThreadAIFiles:()=>eU,getThreadFiles:()=>uH,getUnifiedGitStatus:()=>UV,getUserTasks:()=>hH,gitCheckoutBranch:()=>eH,gitCommit:()=>GV,gitCreateBranch:()=>QV,gitCreatePR:()=>XV,gitFetch:()=>ZV,gitListBranches:()=>$V,gitPull:()=>qV,gitPush:()=>KV,gitRevertFile:()=>tH,gitSyncBranch:()=>JV,installGithubFolderToThread:()=>qH,installVp:()=>UB,invalidateProjectsCache:()=>fV,isDevServerRunning:()=>xH,openExternalUrl:()=>XB,openFolderProject:()=>oV,openProjectWith:()=>DV,openThreadWith:()=>OV,parseSSEStream:()=>TV,resetOnboarding:()=>OH,restoreGitCheckpoint:()=>aH,runCommand:()=>lH,runProjectScript:()=>fH,saveCommand:()=>oH,saveImageToDownloads:()=>HV,saveMCPServer:()=>YH,saveProviderEnvironment:()=>YB,saveProviderKey:()=>JB,saveThreadAIFile:()=>nU,selectThread:()=>_V,sendChatMessage:()=>bV,startDevServer:()=>yH,stopChatGeneration:()=>wV,stopDevServer:()=>bH,stopProjectScript:()=>pH,submitAskUserAnswer:()=>zH,submitBrowserJsResult:()=>HH,submitShellPermissionResponse:()=>BH,submitWebFetchPermissionResponse:()=>VH,subscribeToChatStream:()=>xV,suggestRunCommand:()=>vH,syncProjectEnvVars:()=>uV,ttlCache:()=>$,updateAccountSettings:()=>$B,updateProject:()=>EV,updateProjectName:()=>jV,updateProjectOpenWith:()=>kV,updateProjectSetupScript:()=>AV,updateRunCommand:()=>SH,updateThread:()=>hV}),zB=class extends Error{constructor(){super(`No prompts remaining`),this.name=`EmptyBalanceError`}};async function BB(){let{plan:e,promptsRemaining:t}=await ZB();return e===`unlimited-pro`?{isEmpty:!1,isLow:!1}:{isEmpty:t<=0,isLow:t>0&&t<=50}}async function VB(){return X(`api/scaffold/templates`)}async function HB(){return(await X(`api/scaffold/check-vp`)).installed}async function UB(){return Z(`api/scaffold/install-vp`,{})}async function WB(e,t,n){return TB(`api/scaffold`,{projectName:e,templateId:t,packageManager:n})}async function GB(){return $.get(`providers`,async()=>X(`api/providers`),6e4)}function KB(e){return`${hB()}/api/providers/${Q(e)}/logo`}async function qB(e){return $.get(`provider-credits-${e}`,async()=>X(`api/providers/${Q(e)}/credits`),3e4)}async function JB(e,t){await Z(`api/providers/keys`,{providerName:e,apiKey:t}),$.invalidate(`providers`)}async function YB(e){await Z(`api/providers/env`,{values:e}),$.invalidate(`providers`)}async function XB(e){try{await Z(`api/providers/open-external`,{url:e})}catch(t){if(t instanceof Error&&t.message===`External URL opening not available in server mode`){window.open(e,`_blank`,`noopener,noreferrer`);return}throw t}}async function ZB(){return X(`api/account/info`)}async function QB(){return X(`api/account/settings`)}async function $B(e){return xB(`api/account/settings`,e)}async function eV(){return $.get(`available-programs`,async()=>(await X(`api/programs`)).programs??[],3e5)}async function tV(){return(await X(`api/threads/processing`)).processingThreadIds??[]}async function nV(){return $.get(`git-user`,async()=>{try{let e=await X(`api/git/user`);return{name:e.name??``,email:e.email??``}}catch{return{name:``,email:``}}},6e5)}async function rV(){return(await nV()).name}async function iV(){return $.get(`projects`,async()=>({projects:(await X(`api/projects`)||[]).map(e=>{let t=e;return{projectId:t.projectId??t.id,name:t.name,gitUrl:t.gitUrl,projectPath:t.projectPath??t.path,threads:t.threads??[],commands:t.commands??[],setupScript:t.setupScript,runCommand:t.runCommand,planPrompt:t.planPrompt,testPrompt:t.testPrompt,reviewPrompt:t.reviewPrompt,customSystemPrompt:t.customSystemPrompt,useCustomSystemPrompt:!!t.useCustomSystemPrompt,allowAllCommands:t.allowAllCommands!==!1,allowedCommandPatterns:t.allowedCommandPatterns??[]}}).map(e=>{let t=(e.threads||[]).map(e=>{let t=e,n=t.threadId??t.id;return{threadId:n,title:t.title??n,path:t.path??``,currentBranch:t.currentBranch??``,isSelected:!!t.isSelected,model:t.model??void 0,modelProvider:t.modelProvider??void 0,gitStatusDot:!!t.gitStatusDot}});return{...e,threads:t}})}),3e4)}async function aV(e,t){return TB(`api/projects`,{gitUrl:e,commitMethod:t})}async function oV(){return TB(`api/projects/open-folder`,{})}async function sV(e){return TB(`api/projects/new-folder`,{projectName:e})}async function cV(e){return $.get(`project-${e}`,async()=>X(`api/projects/${Q(e)}`),3e4)}async function lV(e){return X(`api/projects/${Q(e)}/env-vars`)}async function uV(e,t){await xB(`api/projects/${Q(e)}/env-vars`,{vars:t})}async function dV(e){await wB(`api/projects/${Q(e)}`),$.invalidate(`projects`)}function fV(e){$.invalidate(`projects`),e&&$.invalidate(`project-${e}`)}async function pV(e,t){return TB(`api/threads`,{projectId:e,title:t})}async function mV(e,t){await wB(`api/threads/${Q(t)}`),$.invalidate(`projects`)}async function hV(e,t){await SB(`api/threads/${Q(e)}`,t),(`model`in t||`modelProvider`in t)&&$.invalidate(`projects`)}async function gV(e,t){return Z(`api/threads/${Q(e)}/fix-comments`,{comments:t})}async function _V(e,t){await Z(`api/threads/${Q(t)}/select`)}async function vV(e){return{threadId:e,messages:await X(`api/threads/${Q(e)}/messages`)}}async function yV(e){return(await X(`api/threads/${Q(e)}/conversation-folder-path`)).path}async function bV(e,t,n,r=[],i,a,o,s,c){let{isEmpty:l}=await BB();if(l)throw new zB;return TB(`api/chat`,{threadId:e,content:t,model:n,provider:a,planMode:o,ralphMode:s,checkpointRef:c,attachments:r.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))},{signal:i})}async function xV(e,t){return EB(`api/chat/subscribe/${Q(e)}`,{signal:t})}async function SV(e){return(await wB(`api/chat/${Q(e)}`))?.conversationId||``}async function CV(e,t){return DB(`api/chat/${Q(e)}/compact`,t)}async function wV(e){try{await Z(`api/chat/stop/${Q(e)}`)}catch{}}function TV(e,t,n,r,i){let a=e.getReader(),o=!1,s=()=>{o=!0,a.cancel().catch(()=>{})},c=new TextDecoder,l=``,u=e=>e?[/^Cannot read properties/i,/^Error:/i,/^TypeError:/i,/^ReferenceError:/i,/^SyntaxError:/i,/^failed to/i,/^error:/i,/forbidden/i,/unauthorized/i].some(t=>t.test(e.trim())):!1;async function d(){try{for(;!o;){let{done:e,value:s}=await a.read();if(e||o){if(!o&&e){if(l.trim())try{let e=JSON.parse(l);e.type===`error`?r(e.content??`Unknown error`):e.type===`message`?i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking}):e.type===`complete`||(e.type===`result`&&u(e.content)?r(e.content??`Unknown error`):t(e))}catch{l.trim()&&t({type:`result`,content:l})}n()}break}l+=c.decode(s,{stream:!0});let d=l.split(`
|
|
46
|
-
`);l=d.pop()??``;for(let e of d){let a=e.trim();if(a)try{let e=JSON.parse(a);if(e.type===`error`){r(e.content??`Unknown error`),n();return}else if(e.type===`message`)i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking});else if(e.type===`complete`){n();return}else if(e.type===`result`&&u(e.content)){r(e.content??`Unknown error`),n();return}else t(e)}catch{}}}}catch(e){o||(r(e instanceof Error?e.message:`Stream error`),n())}}return d(),s}async function EV(e,t){return t.runNow&&t.setupScript?CB(`api/projects/${Q(e)}`,t):(await OB(`api/projects/${Q(e)}`,t),t.runNow||fV(e),null)}async function DV(e,t){await DB(`api/projects/${Q(e)}/open`,{program:t})}async function OV(e,t){await DB(`api/threads/${Q(e)}/open`,{program:t})}async function kV(e,t){await EV(e,{program:t})}async function AV(e,t,n){return EV(e,{setupScript:t,runNow:n})}async function jV(e,t){await EV(e,{name:t})}async function MV(e,t){let n=new URLSearchParams({provider:e});t!==void 0&&n.set(`supportedTools`,t?`true`:`false`),n.set(`useCase`,`coding`);let r=`available-models-${n.toString()}`;return $.get(r,async()=>{let e=await X(`api/models?${n.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function NV(e,t){await Z(`api/models/${Q(e,t)}/enable`),$.invalidate(`enabled-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function PV(e,t){await Z(`api/models/${Q(e,t)}/disable`),$.invalidate(`enabled-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function FV(){return $.get(`enabled-models`,async()=>(await X(`api/models/enabled?useCase=coding`)).enabledModels??{},12e4)}async function IV(e){let t=new URLSearchParams({provider:e,useCase:`image`}),n=`available-image-models-${e}`;return $.get(n,async()=>{let e=await X(`api/models?${t.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function LV(){return $.get(`enabled-image-models`,async()=>(await X(`api/models/enabled?useCase=image`)).enabledModels??{},12e4)}async function RV(e,t){await Z(`api/models/${Q(e,t)}/enable?useCase=image`),$.invalidate(`enabled-image-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function zV(e,t){await Z(`api/models/${Q(e,t)}/disable?useCase=image`),$.invalidate(`enabled-image-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function BV(e,t,n,r){return Z(`api/image/generate`,{prompt:e,model:t,provider:n,threadId:r})}async function VV(e){await LB(e)}async function HV(e){return IB(e)}async function UV(e,t=!1,n=!1){let r=new URLSearchParams;t&&r.set(`fresh`,`true`),n&&r.set(`asyncRefresh`,`true`);let i=r.toString(),a=i?`api/git/unified-status/${Q(e)}?${i}`:`api/git/unified-status/${Q(e)}`,o=performance.now();console.log(`[gitops-timing] api getUnifiedGitStatus start thread=${e} fresh=${t}`);try{return await X(a)}finally{let n=Math.round(performance.now()-o);console.log(`[gitops-timing] api getUnifiedGitStatus end thread=${e} fresh=${t} ${n}ms`)}}async function WV(e,t,n){return(await Z(`api/git/generate-commit-message/${Q(e)}`,{model:t,provider:n})).message}async function GV(e,t){await Z(`api/git/commit/${Q(e)}`,{message:t})}async function KV(e){await Z(`api/git/push/${Q(e)}`)}async function qV(e){await Z(`api/git/pull/${Q(e)}`)}async function JV(e){return Z(`api/git/sync-branch/${Q(e)}`,{})}async function YV(e,t,n){return Z(`api/git/generate-pr-info/${Q(e)}`,{model:t,provider:n})}async function XV(e,t,n){return Z(`api/git/create-pr/${Q(e)}`,{title:t,description:n})}async function ZV(e){await Z(`api/git/fetch/${Q(e)}`)}async function QV(e,t,n){return Z(`api/git/create-branch/${Q(e)}`,{baseBranch:t,branchName:n})}async function $V(e){return X(`api/git/branches/${Q(e)}`)}async function eH(e,t){return Z(`api/git/checkout-branch/${Q(e)}`,{branchName:t})}async function tH(e,t){return Z(`api/git/revert-file/${Q(e)}`,{filePath:t})}async function nH(e,t=50){return(await X(`api/git/log/${Q(e)}?limit=${t}`)).commits}async function rH(e,t,n,r){return Z(`api/git/create-repo/${Q(e)}`,{repoName:t,description:n,isPrivate:r})}async function iH(e,t){return Z(`api/git/checkpoint/${Q(e)}`,{messageId:t})}async function aH(e,t){return Z(`api/git/checkpoint-restore/${Q(e)}`,{checkpointRef:t})}async function oH(e,t){await Z(`api/projects/${Q(e)}/commands`,t)}async function sH(e,t){await wB(`api/projects/${Q(e)}/commands/${Q(t)}`)}async function cH(e){return X(`api/projects/${Q(e)}/package-scripts`)}async function lH(e,t,n,r){return TB(`api/projects/${Q(e)}/threads/${Q(t)}/commands/run`,{commandLine:n,cwd:r})}async function uH(e){return X(`api/threads/${Q(e)}/files`)}async function dH(e){return(await X(`api/threads/${Q(e)}/project-scripts`)).scripts}async function fH(e,t,n,r){return TB(`api/threads/${Q(e)}/project-scripts/run`,{scriptName:t,command:n},r)}async function pH(e,t){return Z(`api/threads/${Q(e)}/project-scripts/stop`,{scriptName:t})}async function mH(e){return X(`api/threads/${e}`)}async function hH(e){return(await X(`api/threads/${Q(e)}/user-tasks`)).tasks??[]}async function gH(e,t){return Z(`api/threads/${Q(e)}/user-tasks`,{content:t})}async function _H(e,t){await wB(`api/threads/${Q(e)}/user-tasks/${Q(t)}`)}async function vH(e){return Z(`api/projects/${Q(e)}/run-suggest`,{})}async function yH(e,t){return console.log(`API: startDevServer called for project:`,e,`thread:`,t),TB(`api/projects/${Q(e)}/run`,{threadId:t})}async function bH(e){return Z(`api/projects/${Q(e)}/stop`,{})}async function xH(e){return X(`api/projects/${Q(e)}/running`)}async function SH(e,t){await EV(e,{runCommand:t})}async function CH(e){return X(`api/projects/${Q(e)}/system-prompt`)}async function wH(e){return X(`api/git/diff/${Q(e)}`)}async function TH(){return X(`api/onboarding/status`)}async function EH(){return X(`api/onboarding/git-check`)}async function DH(){return Z(`api/onboarding/complete`,{})}async function OH(){return Z(`api/onboarding/reset`,{})}async function kH(){return X(`api/onboarding/recommended-models`)}async function AH(e){return(await X(`api/slash-commands?threadId=${Q(e)}`)).commands??[]}async function jH(e){let t=await X(`api/slash-commands?threadId=${Q(e)}`);return{commands:t.commands??[],skills:t.skills??[]}}async function MH(e,t,n,r,i){return Z(`api/slash-commands`,{name:e,content:t,metadata:n,scope:r,threadId:i})}async function NH(e){let t=await fetch(`http://localhost:641/api/slash-commands`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})});if(!t.ok)throw Error(`Failed to delete slash command: ${t.statusText}`);return t.json()}async function PH(e){return X(`api/conversations/${Q(e)}`)}async function FH(e){let t=new URLSearchParams;e?.threadId?t.set(`threadId`,e.threadId):e?.projectId&&t.set(`projectId`,e.projectId);let n=t.toString();await wB(`api/conversations${n?`?${n}`:``}`)}async function IH(e,t){return X(`api/conversations/${Q(e)}/${Q(t)}/context`)}async function LH(){try{return await X(`api/update/check`)}catch{return{updateAvailable:!1,supported:!1}}}async function RH(){return Z(`api/update/apply`)}async function zH(e,t){await Z(`api/ask-user/respond`,{toolCallId:e,answer:t})}async function BH(e,t,n){await Z(`api/shell-permission/respond`,{toolCallId:e,decision:t,pattern:n?.pattern,projectId:n?.projectId})}async function VH(e,t){await Z(`api/web-fetch-permission/respond`,{toolCallId:e,decision:t})}async function HH(e,t){await Z(`api/browser-js/respond`,{toolCallId:e,result:t})}async function UH(){return(await X(`api/skills/popular`)).skills??[]}async function WH(){return(await X(`api/agents/popular`)).agents??[]}async function GH(){return(await X(`api/rules/popular`)).rules??[]}async function KH(){return(await X(`api/slash-commands/popular`)).commands??[]}async function qH(e,t,n,r){return Z(`api/threads/${Q(e)}/ai-files/github-folder`,{gitHubRepo:t,gitHubFolder:n,destPath:r})}async function JH(e){return X(`api/mcp/config?projectPath=${encodeURIComponent(e)}`)}async function YH(e,t,n){return xB(`api/mcp/config`,{projectPath:e,serverName:t,serverConfig:n})}async function XH(e,t){return wB(`api/mcp/config/${Q(t)}?projectPath=${encodeURIComponent(e)}`)}async function ZH(){return(await X(`api/mcp/popular`)).servers??[]}async function QH(e){return(await X(`api/projects/${Q(e)}/ai-files`)).nodes??[]}async function $H(e,t){return wB(`api/projects/${Q(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function eU(e){return(await X(`api/threads/${Q(e)}/ai-files`)).nodes??[]}async function tU(e,t){return X(`api/threads/${Q(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function nU(e,t,n){return xB(`api/threads/${Q(e)}/ai-file`,{path:t,content:n})}async function rU(e,t,n){return Z(`api/threads/${Q(e)}/ai-files/skill`,{name:t,description:n})}async function iU(e,t,n,r){return Z(`api/threads/${Q(e)}/ai-files/agent`,{name:t,description:n,tools:r})}async function aU(e,t){return wB(`api/threads/${Q(e)}/ai-file?path=${encodeURIComponent(t)}`)}var oU=l.createContext(void 0);function sU(e){let t=l.useContext(oU);return e||t||`ltr`}function cU(e,[t,n]){return Math.min(n,Math.max(t,e))}function lU(e,t){return l.useReducer((e,n)=>t[e][n]??e,e)}var uU=`ScrollArea`,[dU,fU]=xM(uU),[pU,mU]=dU(uU),hU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=l.useState(null),[u,d]=l.useState(null),[f,p]=l.useState(null),[m,h]=l.useState(null),[g,_]=l.useState(null),[v,y]=l.useState(0),[b,x]=l.useState(0),[S,C]=l.useState(!1),[w,T]=l.useState(!1),E=B(t,e=>c(e)),D=sU(i);return(0,V.jsx)(pU,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,V.jsx)(J.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});hU.displayName=uU;var gU=`ScrollAreaViewport`,_U=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=mU(gU,n),s=B(t,l.useRef(null),o.onViewportChange);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,V.jsx)(J.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,V.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});_U.displayName=gU;var vU=`ScrollAreaScrollbar`,yU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=mU(vU,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return l.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,V.jsx)(bU,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,V.jsx)(xU,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,V.jsx)(SU,{...r,ref:t,forceMount:n}):i.type===`always`?(0,V.jsx)(CU,{...r,ref:t}):null});yU.displayName=vU;var bU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=mU(vU,e.__scopeScrollArea),[a,o]=l.useState(!1);return l.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,V.jsx)(xN,{present:n||a,children:(0,V.jsx)(SU,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),xU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=mU(vU,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=UU(()=>c(`SCROLL_END`),100),[s,c]=lU(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return l.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),l.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,V.jsx)(xN,{present:n||s!==`hidden`,children:(0,V.jsx)(CU,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:q(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:q(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),SU=l.forwardRef((e,t)=>{let n=mU(vU,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=l.useState(!1),s=e.orientation===`horizontal`,c=UU(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return WU(n.viewport,c),WU(n.content,c),(0,V.jsx)(xN,{present:r||a,children:(0,V.jsx)(CU,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),CU=l.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=mU(vU,e.__scopeScrollArea),a=l.useRef(null),o=l.useRef(0),[s,c]=l.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=IU(s.viewport,s.content),d={...r,sizes:s,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function f(e,t){return RU(e,o.current,s,t)}return n===`horizontal`?(0,V.jsx)(wU,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=zU(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=f(e,i.dir))}}):n===`vertical`?(0,V.jsx)(TU,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=zU(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=f(e))}}):null}),wU=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=mU(vU,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarXChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(OU,{"data-orientation":`horizontal`,...i,ref:u,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":LU(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),VU(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:FU(o.paddingLeft),paddingEnd:FU(o.paddingRight)}})}})}),TU=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=mU(vU,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarYChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(OU,{"data-orientation":`vertical`,...i,ref:u,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":LU(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),VU(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:FU(o.paddingTop),paddingEnd:FU(o.paddingBottom)}})}})}),[EU,DU]=dU(vU),OU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:f,...p}=e,m=mU(vU,n),[h,g]=l.useState(null),_=B(t,e=>g(e)),v=l.useRef(null),y=l.useRef(``),b=m.viewport,x=r.content-r.viewport,S=Y(d),C=Y(c),w=UU(f,10);function T(e){v.current&&u({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return l.useEffect(()=>{let e=e=>{let t=e.target;h?.contains(t)&&S(e,x)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,h,x,S]),l.useEffect(C,[r,C]),WU(h,w),WU(m.content,w),(0,V.jsx)(EU,{scope:n,scrollbar:h,hasThumb:i,onThumbChange:Y(a),onThumbPointerUp:Y(o),onThumbPositionChange:C,onThumbPointerDown:Y(s),children:(0,V.jsx)(J.div,{...p,ref:_,style:{position:`absolute`,...p.style},onPointerDown:q(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=h.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,m.viewport&&(m.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:q(e.onPointerMove,T),onPointerUp:q(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=``),v.current=null})})})}),kU=`ScrollAreaThumb`,AU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=DU(kU,e.__scopeScrollArea);return(0,V.jsx)(xN,{present:n||i.hasThumb,children:(0,V.jsx)(jU,{ref:t,...r})})}),jU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=mU(kU,n),o=DU(kU,n),{onThumbPositionChange:s}=o,c=B(t,e=>o.onThumbChange(e)),u=l.useRef(void 0),d=UU(()=>{u.current&&=(u.current(),void 0)},100);return l.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{d(),u.current||(u.current=HU(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,d,s]),(0,V.jsx)(J.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:q(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:q(e.onPointerUp,o.onThumbPointerUp)})});AU.displayName=kU;var MU=`ScrollAreaCorner`,NU=l.forwardRef((e,t)=>{let n=mU(MU,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,V.jsx)(PU,{...e,ref:t}):null});NU.displayName=MU;var PU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=mU(MU,n),[a,o]=l.useState(0),[s,c]=l.useState(0),u=!!(a&&s);return WU(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),WU(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),u?(0,V.jsx)(J.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function FU(e){return e?parseInt(e,10):0}function IU(e,t){let n=e/t;return isNaN(n)?0:n}function LU(e){let t=IU(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function RU(e,t,n,r=`ltr`){let i=LU(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return BU([c,l],d)(e)}function zU(e,t,n=`ltr`){let r=LU(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=cU(e,n===`ltr`?[0,o]:[o*-1,0]);return BU([0,o],[0,s])(c)}function BU(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function VU(e,t){return e>0&&e<t}var HU=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function UU(e,t){let n=Y(e),r=l.useRef(0);return l.useEffect(()=>()=>window.clearTimeout(r.current),[]),l.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function WU(e,t){let n=Y(t);CM(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var GU=hU,KU=_U,qU=NU,JU=l.forwardRef((e,t)=>{let n=(0,z.c)(15),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=K(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,V.jsx)(KU,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(YU,{}),l=(0,V.jsx)(qU,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,V.jsxs)(GU,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});JU.displayName=GU.displayName;var YU=l.forwardRef((e,t)=>{let n=(0,z.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=K(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,V.jsx)(AU,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,V.jsx)(yU,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});YU.displayName=yU.displayName;function XU(e){let t=e+`CollectionProvider`,[n,r]=xM(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=l.useRef(null),a=l.useRef(new Map).current;return(0,V.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=MM(s),u=l.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,V.jsx)(c,{ref:B(t,a(s,n).collectionRef),children:r})});u.displayName=s;let d=e+`CollectionItemSlot`,f=`data-radix-collection-item`,p=MM(d),m=l.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=l.useRef(null),s=B(t,o),c=a(d,n);return l.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,V.jsx)(p,{[f]:``,ref:s,children:r})});m.displayName=d;function h(t){let n=a(e+`CollectionConsumer`,t);return l.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:u,ItemSlot:m},h,r]}var ZU=`rovingFocusGroup.onEntryFocus`,QU={bubbles:!1,cancelable:!0},$U=`RovingFocusGroup`,[eW,tW,nW]=XU($U),[rW,iW]=xM($U,[nW]),[aW,oW]=rW($U),sW=l.forwardRef((e,t)=>(0,V.jsx)(eW.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(eW.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(cW,{...e,ref:t})})}));sW.displayName=$U;var cW=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,p=l.useRef(null),m=B(t,p),h=sU(a),[g,_]=OM({prop:o,defaultProp:s??null,onChange:c,caller:$U}),[v,y]=l.useState(!1),b=Y(u),x=tW(n),S=l.useRef(!1),[C,w]=l.useState(0);return l.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(ZU,b),()=>e.removeEventListener(ZU,b)},[b]),(0,V.jsx)(aW,{scope:n,orientation:r,dir:h,loop:i,currentTabStopId:g,onItemFocus:l.useCallback(e=>_(e),[_]),onItemShiftTab:l.useCallback(()=>y(!0),[]),onFocusableItemAdd:l.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:l.useCallback(()=>w(e=>e-1),[]),children:(0,V.jsx)(J.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...f,ref:m,style:{outline:`none`,...e.style},onMouseDown:q(e.onMouseDown,()=>{S.current=!0}),onFocus:q(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(ZU,QU);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);mW([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),d)}}S.current=!1}),onBlur:q(e.onBlur,()=>y(!1))})})}),lW=`RovingFocusGroupItem`,uW=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=EM(),u=a||c,d=oW(lW,n),f=d.currentTabStopId===u,p=tW(n),{onFocusableItemAdd:m,onFocusableItemRemove:h,currentTabStopId:g}=d;return l.useEffect(()=>{if(r)return m(),()=>h()},[r,m,h]),(0,V.jsx)(eW.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:(0,V.jsx)(J.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:q(e.onMouseDown,e=>{r?d.onItemFocus(u):e.preventDefault()}),onFocus:q(e.onFocus,()=>d.onItemFocus(u)),onKeyDown:q(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=pW(e,d.orientation,d.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=p().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop?hW(n,r+1):n.slice(r+1)}setTimeout(()=>mW(n))}}),children:typeof o==`function`?o({isCurrentTabStop:f,hasTabStop:g!=null}):o})})});uW.displayName=lW;var dW={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function fW(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function pW(e,t,n){let r=fW(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return dW[r]}function mW(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function hW(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var gW=sW,_W=uW,vW=`Toggle`,yW=l.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=OM({prop:n,onChange:i,defaultProp:r??!1,caller:vW});return(0,V.jsx)(J.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:q(e.onClick,()=>{e.disabled||s(!o)})})});yW.displayName=vW;var bW=yW,xW=`ToggleGroup`,[SW,CW]=xM(xW,[iW]),wW=iW(),TW=l.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,V.jsx)(OW,{...r,ref:t});if(n===`multiple`)return(0,V.jsx)(kW,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${xW}\``)});TW.displayName=xW;var[EW,DW]=SW(xW),OW=l.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=OM({prop:n,defaultProp:r??``,onChange:i,caller:xW});return(0,V.jsx)(EW,{scope:e.__scopeToggleGroup,type:`single`,value:l.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:l.useCallback(()=>s(``),[s]),children:(0,V.jsx)(MW,{...a,ref:t})})}),kW=l.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=OM({prop:n,defaultProp:r??[],onChange:i,caller:xW}),c=l.useCallback(e=>s((t=[])=>[...t,e]),[s]),u=l.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,V.jsx)(EW,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:c,onItemDeactivate:u,children:(0,V.jsx)(MW,{...a,ref:t})})});TW.displayName=xW;var[AW,jW]=SW(xW),MW=l.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=wW(n),u=sU(o),d={role:`group`,dir:u,...c};return(0,V.jsx)(AW,{scope:n,rovingFocus:i,disabled:r,children:i?(0,V.jsx)(gW,{asChild:!0,...l,orientation:a,dir:u,loop:s,children:(0,V.jsx)(J.div,{...d,ref:t})}):(0,V.jsx)(J.div,{...d,ref:t})})}),NW=`ToggleGroupItem`,PW=l.forwardRef((e,t)=>{let n=DW(NW,e.__scopeToggleGroup),r=jW(NW,e.__scopeToggleGroup),i=wW(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=l.useRef(null);return r.rovingFocus?(0,V.jsx)(_W,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,V.jsx)(FW,{...s,ref:t})}):(0,V.jsx)(FW,{...s,ref:t})});PW.displayName=NW;var FW=l.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=DW(NW,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,V.jsx)(yW,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),IW=TW,LW=PW,RW=bj(`inline-flex items-center justify-center rounded-md ${U.body} font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),zW=l.forwardRef((e,t)=>{let n=(0,z.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,variant:o,size:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]!==r||n[6]!==a||n[7]!==o?(s=K(RW({variant:o,size:a,className:r})),n[5]=r,n[6]=a,n[7]=o,n[8]=s):s=n[8];let c;return n[9]!==i||n[10]!==t||n[11]!==s?(c=(0,V.jsx)(bW,{ref:t,className:s,...i}),n[9]=i,n[10]=t,n[11]=s,n[12]=c):c=n[12],c});zW.displayName=bW.displayName;var BW=l.createContext({size:`default`,variant:`default`}),VW=l.forwardRef((e,t)=>{let n=(0,z.c)(19),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,variant:s,size:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c;n[6]===i?c=n[7]:(c=K(`flex items-center justify-center gap-1`,i),n[6]=i,n[7]=c);let l;n[8]!==o||n[9]!==s?(l={variant:s,size:o},n[8]=o,n[9]=s,n[10]=l):l=n[10];let u;n[11]!==r||n[12]!==l?(u=(0,V.jsx)(BW.Provider,{value:l,children:r}),n[11]=r,n[12]=l,n[13]=u):u=n[13];let d;return n[14]!==a||n[15]!==t||n[16]!==c||n[17]!==u?(d=(0,V.jsx)(IW,{ref:t,className:c,...a,children:u}),n[14]=a,n[15]=t,n[16]=c,n[17]=u,n[18]=d):d=n[18],d});VW.displayName=IW.displayName;var HW=l.forwardRef((e,t)=>{let n=(0,z.c)(17),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,children:r,variant:s,size:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=l.useContext(BW),u;n[6]!==i||n[7]!==c.size||n[8]!==c.variant||n[9]!==o||n[10]!==s?(u=K(RW({variant:c.variant||s,size:c.size||o}),i),n[6]=i,n[7]=c.size,n[8]=c.variant,n[9]=o,n[10]=s,n[11]=u):u=n[11];let d;return n[12]!==r||n[13]!==a||n[14]!==t||n[15]!==u?(d=(0,V.jsx)(LW,{ref:t,className:u,...a,children:r}),n[12]=r,n[13]=a,n[14]=t,n[15]=u,n[16]=d):d=n[16],d});HW.displayName=LW.displayName;var UW=t({CreateProjectDialog:()=>KW,default:()=>KW}),WW={"angular-standalone":`logo-angular.svg`,"custom-angular":`logo-angular.svg`,react:`logo-react.svg`,"vite-react":`logo-react.svg`,vue:`logo-vue.svg`,"vite-vue":`logo-vue.svg`,"custom-svelte":`logo-svelte.svg`,"custom-ionic-svelte":`logo-svelte.svg`,"vite-svelte":`logo-svelte.svg`,"vite-solid":`logo-solid.svg`,astro:`logo-astro.svg`,nextjs:`logo-nextjs.svg`,nuxt:`logo-nuxt.svg`,"vite-qwik":`logo-qwik.svg`,"vite-preact":`logo-preact.svg`,"vite-lit":`logo-lit.svg`,"vite-web":`logo-web.svg`,"tanstack-start":`logo-vite.svg`,waku:`logo-waku.svg`,hydrogen:`logo-hydrogen.svg`,plugin:`logo-capacitor.svg`};function GW(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function KW({open:e,onOpenChange:t,initialMode:n,onSubmitClone:r,onSubmitWebApp:i,onSubmitFolder:a,onOpenFolder:o}){let[s,c]=(0,l.useState)(n??`choice`),[u,d]=(0,l.useState)(1),[f,p]=(0,l.useState)(``),[m,h]=(0,l.useState)(Rz(H.PullRequest)),[g,_]=(0,l.useState)(`My App`),[v,y]=(0,l.useState)(!1),[b,x]=(0,l.useState)(Bz()),[S,C]=(0,l.useState)(Iz()),[w,T]=(0,l.useState)([]),[E,D]=(0,l.useState)(!1),[O,k]=(0,l.useState)(!1),[A,j]=(0,l.useState)(new Set),M=(0,l.useCallback)(e=>{j(t=>new Set(t).add(e))},[]),{typeNames:N,templatesByTypeName:P}=(0,l.useMemo)(()=>{let e={};if(Array.isArray(w))for(let t of w){let n=t.typeName;e[n]||(e[n]=[]),e[n].push(t)}return{typeNames:Object.keys(e).sort(),templatesByTypeName:e}},[w]),F=(0,l.useMemo)(()=>{let e={};for(let t of Object.keys(P)){let n=P[t]??[];if(n.length===0)continue;let r=n.find(e=>e.variationName===`Starter`),i=n.filter(e=>e.variationName!==`Starter`);e[t]=(r?[r,...i]:n)[0].id}return e},[P]),I=(0,l.useMemo)(()=>{if(!Array.isArray(w)||w.find(e=>e.id===b)||w.length===0)return b;let e=N[0],t=e?P[e]??[]:[];return(t.find(e=>e.variationName===`Starter`)??t[0])?.id??b},[b,w,N,P]),L=(0,l.useMemo)(()=>!I||!Array.isArray(w)||w.length===0?null:w.find(e=>e.id===I)?.typeName??null,[I,w]),ee=(0,l.useMemo)(()=>{let e=L?P[L]??[]:[];if(e.length<=1)return e;let t=e.find(e=>e.variationName===`Starter`),n=e.filter(e=>e.variationName!==`Starter`);return t?[t,...n]:e},[L,P]);(0,l.useEffect)(()=>{I&&Vz(I)},[I]),(0,l.useEffect)(()=>{e&&n&&setTimeout(()=>{c(n),d(2),n===`webapp`&&(_(`My App`),y(!1),j(new Set))},0)},[e,n]),(0,l.useEffect)(()=>{s===`webapp`&&e&&(!Array.isArray(w)||w.length===0)&&setTimeout(()=>{D(!0),VB().then(e=>T(e?.templates||[])).catch(()=>T([])).finally(()=>D(!1))},0)},[s,e,w]);let te=(0,l.useMemo)(()=>v?g:L?`My ${L} App`:`My App`,[v,g,L]),ne=I&&Array.isArray(w)?w.find(e=>e.id===I):null,re=()=>{c(`webapp`),d(2),_(`My App`),y(!1),j(new Set),(!Array.isArray(w)||w.length===0)&&(D(!0),VB().then(e=>T(e?.templates||[])).catch(()=>T([])).finally(()=>D(!1)))},ie=()=>{c(`clone`),d(2)},ae=()=>{c(`folder`),d(3),_(``),y(!1)},oe=()=>{c(`choice`),d(1),p(``),_(`My App`),y(!1),j(new Set),t(!1)},se=()=>{if(s===`folder`){c(`choice`),d(1),p(``),_(`My App`),y(!1);return}u===2?(c(`choice`),d(1),p(``),_(`My App`),y(!1)):d(e=>e-1)},ce=s===`clone`?f.trim().length>0:s===`folder`?g.trim().length>0&&!!GW(g):L!==null,le=()=>{if(!f.trim())return;let e=f.trim();p(``),d(1),t(!1),c(`choice`),r(e,m).catch(()=>{})},ue=async()=>{if(!te.trim()||!I||!GW(te))return;if(ne?.variation===`vite-plus`){k(!0);try{if(!await HB()){if(!window.confirm(`Vite Plus is required for this template but is not installed.
|
|
45
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},wF=`DialogDescriptionWarning`,TF=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${SF(wF).contentName}}.`;return l.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},EF=ZP,DF=$P,OF=rF,kF=aF,AF=lF,jF=mF,MF=gF,NF=vF,PF=EF,FF=OF,IF=l.forwardRef((e,t)=>{let n=(0,z.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=K(`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,V.jsx)(kF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});IF.displayName=kF.displayName;var LF=l.forwardRef((e,t)=>{let n=(0,z.c)(13),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]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,V.jsx)(IF,{}),n[4]=o):o=n[4];let s;n[5]===i?s=n[6]:(s=K(`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`,i),n[5]=i,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsxs)(NF,{className:`absolute right-4 top-4 h-7 w-7 rounded-full flex items-center justify-center transition-colors hover:bg-foreground hover:text-background disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,V.jsx)(wA,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==a||n[10]!==t||n[11]!==s?(l=(0,V.jsxs)(FF,{children:[o,(0,V.jsxs)(AF,{ref:t,className:s,...a,children:[r,c]})]}),n[8]=r,n[9]=a,n[10]=t,n[11]=s,n[12]=l):l=n[12],l});LF.displayName=AF.displayName;var RF=e=>{let t=(0,z.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=K(`flex flex-col space-y-1.5 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};RF.displayName=`DialogHeader`;var zF=e=>{let t=(0,z.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=K(`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,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};zF.displayName=`DialogFooter`;var BF=l.forwardRef((e,t)=>{let n=(0,z.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=K(U.dialogTitle,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(jF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});BF.displayName=jF.displayName;var VF=l.forwardRef((e,t)=>{let n=(0,z.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=K(U.dialogDescription,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(MF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});VF.displayName=MF.displayName;var HF=l.forwardRef((e,t)=>{let n=(0,z.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,type:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===r?o=n[5]:(o=K(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-base file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==a?(s=(0,V.jsx)(`input`,{type:a,className:o,ref:t,...i}),n[6]=i,n[7]=t,n[8]=o,n[9]=a,n[10]=s):s=n[10],s});HF.displayName=`Input`;var UF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=BA(`Primitive.${t}`),r=l.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),WF=`Label`,GF=l.forwardRef((e,t)=>(0,V.jsx)(UF.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));GF.displayName=WF;var KF=GF,qF=bj(`${U.label} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),JF=l.forwardRef((e,t)=>{let n=(0,z.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=K(qF(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(KF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});JF.displayName=KF.displayName;var YF=[`top`,`right`,`bottom`,`left`],XF=Math.min,ZF=Math.max,QF=Math.round,$F=Math.floor,eI=e=>({x:e,y:e}),tI={left:`right`,right:`left`,bottom:`top`,top:`bottom`},nI={start:`end`,end:`start`};function rI(e,t,n){return ZF(e,XF(t,n))}function iI(e,t){return typeof e==`function`?e(t):e}function aI(e){return e.split(`-`)[0]}function oI(e){return e.split(`-`)[1]}function sI(e){return e===`x`?`y`:`x`}function cI(e){return e===`y`?`height`:`width`}var lI=new Set([`top`,`bottom`]);function uI(e){return lI.has(aI(e))?`y`:`x`}function dI(e){return sI(uI(e))}function fI(e,t,n){n===void 0&&(n=!1);let r=oI(e),i=dI(e),a=cI(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=xI(o)),[o,xI(o)]}function pI(e){let t=xI(e);return[mI(e),t,mI(t)]}function mI(e){return e.replace(/start|end/g,e=>nI[e])}var hI=[`left`,`right`],gI=[`right`,`left`],_I=[`top`,`bottom`],vI=[`bottom`,`top`];function yI(e,t,n){switch(e){case`top`:case`bottom`:return n?t?gI:hI:t?hI:gI;case`left`:case`right`:return t?_I:vI;default:return[]}}function bI(e,t,n,r){let i=oI(e),a=yI(aI(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(mI)))),a}function xI(e){return e.replace(/left|right|bottom|top/g,e=>tI[e])}function SI(e){return{top:0,right:0,bottom:0,left:0,...e}}function CI(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:SI(e)}function wI(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function TI(e,t,n){let{reference:r,floating:i}=e,a=uI(t),o=dI(t),s=cI(o),c=aI(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(oI(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function EI(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=iI(t,e),p=CI(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=wI(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=wI(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var DI=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=TI(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:{...o,detectOverflow:o.detectOverflow??EI},elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=TI(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}},OI=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=iI(e,t)||{};if(l==null)return{};let d=CI(u),f={x:n,y:r},p=dI(i),m=cI(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=XF(d[_],T),D=XF(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=rI(O,A,k),M=!c.arrow&&oI(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),kI=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=iI(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=aI(r),_=uI(o),v=aI(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[xI(o)]:pI(o)),x=p!==`none`;!d&&x&&b.push(...bI(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=fI(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==uI(t))||T.every(e=>uI(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=uI(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function AI(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function jI(e){return YF.some(t=>e[t]>=0)}var MI=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=iI(e,t);switch(i){case`referenceHidden`:{let e=AI(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:jI(e)}}}case`escaped`:{let e=AI(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:jI(e)}}}default:return{}}}}},NI=new Set([`left`,`top`]);async function PI(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=aI(n),s=oI(n),c=uI(n)===`y`,l=NI.has(o)?-1:1,u=a&&c?-1:1,d=iI(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var FI=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await PI(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},II=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=iI(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=uI(aI(i)),p=sI(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=rI(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=rI(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},LI=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=iI(e,t),u={x:n,y:r},d=uI(i),f=sI(d),p=u[f],m=u[d],h=iI(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=NI.has(aI(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},RI=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=iI(e,t),u=await o.detectOverflow(t,l),d=aI(i),f=oI(i),p=uI(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=XF(h-u[g],v),x=XF(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=ZF(u.left,0),t=ZF(u.right,0),n=ZF(u.top,0),r=ZF(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:ZF(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:ZF(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function zI(){return typeof window<`u`}function BI(e){return UI(e)?(e.nodeName||``).toLowerCase():`#document`}function VI(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function HI(e){return((UI(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function UI(e){return zI()?e instanceof Node||e instanceof VI(e).Node:!1}function WI(e){return zI()?e instanceof Element||e instanceof VI(e).Element:!1}function GI(e){return zI()?e instanceof HTMLElement||e instanceof VI(e).HTMLElement:!1}function KI(e){return!zI()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof VI(e).ShadowRoot}var qI=new Set([`inline`,`contents`]);function JI(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=sL(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!qI.has(i)}var YI=new Set([`table`,`td`,`th`]);function XI(e){return YI.has(BI(e))}var ZI=[`:popover-open`,`:modal`];function QI(e){return ZI.some(t=>{try{return e.matches(t)}catch{return!1}})}var $I=[`transform`,`translate`,`scale`,`rotate`,`perspective`],eL=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],tL=[`paint`,`layout`,`strict`,`content`];function nL(e){let t=iL(),n=WI(e)?sL(e):e;return $I.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||eL.some(e=>(n.willChange||``).includes(e))||tL.some(e=>(n.contain||``).includes(e))}function rL(e){let t=lL(e);for(;GI(t)&&!oL(t);){if(nL(t))return t;if(QI(t))return null;t=lL(t)}return null}function iL(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var aL=new Set([`html`,`body`,`#document`]);function oL(e){return aL.has(BI(e))}function sL(e){return VI(e).getComputedStyle(e)}function cL(e){return WI(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function lL(e){if(BI(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||KI(e)&&e.host||HI(e);return KI(t)?t.host:t}function uL(e){let t=lL(e);return oL(t)?e.ownerDocument?e.ownerDocument.body:e.body:GI(t)&&JI(t)?t:uL(t)}function dL(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=uL(e),i=r===e.ownerDocument?.body,a=VI(r);if(i){let e=fL(a);return t.concat(a,a.visualViewport||[],JI(r)?r:[],e&&n?dL(e):[])}return t.concat(r,dL(r,[],n))}function fL(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pL(e){let t=sL(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=GI(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=QF(n)!==a||QF(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function mL(e){return WI(e)?e:e.contextElement}function hL(e){let t=mL(e);if(!GI(t))return eI(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=pL(t),o=(a?QF(n.width):n.width)/r,s=(a?QF(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var gL=eI(0);function _L(e){let t=VI(e);return!iL()||!t.visualViewport?gL:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vL(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==VI(e)?!1:t}function yL(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=mL(e),o=eI(1);t&&(r?WI(r)&&(o=hL(r)):o=hL(e));let s=vL(a,n,r)?_L(a):eI(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=VI(a),t=r&&WI(r)?VI(r):r,n=e,i=fL(n);for(;i&&r&&t!==n;){let e=hL(i),t=i.getBoundingClientRect(),r=sL(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=VI(i),i=fL(n)}}return wI({width:u,height:d,x:c,y:l})}function bL(e,t){let n=cL(e).scrollLeft;return t?t.left+n:yL(HI(e)).left+n}function xL(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-bL(e,n),y:n.top+t.scrollTop}}function SL(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=HI(r),s=t?QI(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=eI(1),u=eI(0),d=GI(r);if((d||!d&&!a)&&((BI(r)!==`body`||JI(o))&&(c=cL(r)),GI(r))){let e=yL(r);l=hL(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?xL(o,c):eI(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function CL(e){return Array.from(e.getClientRects())}function wL(e){let t=HI(e),n=cL(e),r=e.ownerDocument.body,i=ZF(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ZF(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+bL(e),s=-n.scrollTop;return sL(r).direction===`rtl`&&(o+=ZF(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var TL=25;function EL(e,t){let n=VI(e),r=HI(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=iL();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=bL(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=TL&&(a-=o)}else l<=TL&&(a+=l);return{width:a,height:o,x:s,y:c}}var DL=new Set([`absolute`,`fixed`]);function OL(e,t){let n=yL(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=GI(e)?hL(e):eI(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function kL(e,t,n){let r;if(t===`viewport`)r=EL(e,n);else if(t===`document`)r=wL(HI(e));else if(WI(t))r=OL(t,n);else{let n=_L(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wI(r)}function AL(e,t){let n=lL(e);return n===t||!WI(n)||oL(n)?!1:sL(n).position===`fixed`||AL(n,t)}function jL(e,t){let n=t.get(e);if(n)return n;let r=dL(e,[],!1).filter(e=>WI(e)&&BI(e)!==`body`),i=null,a=sL(e).position===`fixed`,o=a?lL(e):e;for(;WI(o)&&!oL(o);){let t=sL(o),n=nL(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&DL.has(i.position)||JI(o)&&!n&&AL(e,o))?r=r.filter(e=>e!==o):i=t,o=lL(o)}return t.set(e,r),r}function ML(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?QI(t)?[]:jL(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=kL(t,n,i);return e.top=ZF(r.top,e.top),e.right=XF(r.right,e.right),e.bottom=XF(r.bottom,e.bottom),e.left=ZF(r.left,e.left),e},kL(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function NL(e){let{width:t,height:n}=pL(e);return{width:t,height:n}}function PL(e,t,n){let r=GI(t),i=HI(t),a=n===`fixed`,o=yL(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=eI(0);function l(){c.x=bL(i)}if(r||!r&&!a)if((BI(t)!==`body`||JI(i))&&(s=cL(t)),r){let e=yL(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?xL(i,s):eI(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function FL(e){return sL(e).position===`static`}function IL(e,t){if(!GI(e)||sL(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return HI(e)===n&&(n=n.ownerDocument.body),n}function LL(e,t){let n=VI(e);if(QI(e))return n;if(!GI(e)){let t=lL(e);for(;t&&!oL(t);){if(WI(t)&&!FL(t))return t;t=lL(t)}return n}let r=IL(e,t);for(;r&&XI(r)&&FL(r);)r=IL(r,t);return r&&oL(r)&&FL(r)&&!nL(r)?n:r||rL(e)||n}var RL=async function(e){let t=this.getOffsetParent||LL,n=this.getDimensions,r=await n(e.floating);return{reference:PL(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function zL(e){return sL(e).direction===`rtl`}var BL={convertOffsetParentRelativeRectToViewportRelativeRect:SL,getDocumentElement:HI,getClippingRect:ML,getOffsetParent:LL,getElementRects:RL,getClientRects:CL,getDimensions:NL,getScale:hL,isElement:WI,isRTL:zL};function VL(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function HL(e,t){let n=null,r,i=HI(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=$F(d),h=$F(i.clientWidth-(u+f)),g=$F(i.clientHeight-(d+p)),_=$F(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ZF(0,XF(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!VL(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function UL(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=mL(e),u=i||a?[...l?dL(l):[],...dL(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?HL(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?yL(e):null;c&&g();function g(){let t=yL(e);h&&!VL(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var WL=FI,GL=II,KL=kI,qL=RI,JL=MI,YL=OI,XL=LI,ZL=(e,t,n)=>{let r=new Map,i={platform:BL,...n},a={...i.platform,_c:r};return DI(e,t,{...i,platform:a})},QL=typeof document<`u`?l.useLayoutEffect:function(){};function $L(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!$L(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!$L(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function eR(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function tR(e,t){let n=eR(e);return Math.round(t*n)/n}function nR(e){let t=l.useRef(e);return QL(()=>{t.current=e}),t}function rR(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:u}=e,[d,f]=l.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=l.useState(r);$L(p,r)||m(r);let[h,g]=l.useState(null),[_,v]=l.useState(null),y=l.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=l.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=l.useRef(null),w=l.useRef(null),T=l.useRef(d),E=c!=null,D=nR(c),O=nR(i),k=nR(u),A=l.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),ZL(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!$L(T.current,t)&&(T.current=t,jM.flushSync(()=>{f(t)}))})},[p,t,n,O,k]);QL(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let j=l.useRef(!1);QL(()=>(j.current=!0,()=>{j.current=!1}),[]),QL(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=l.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=l.useMemo(()=>({reference:x,floating:S}),[x,S]),P=l.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=tR(N.floating,d.x),r=tR(N.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...eR(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,d.x,d.y]);return l.useMemo(()=>({...d,update:A,refs:M,elements:N,floatingStyles:P}),[d,A,M,N,P])}var iR=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:YL({element:r.current,padding:i}).fn(n):r?YL({element:r,padding:i}).fn(n):{}}}},aR=(e,t)=>({...WL(e),options:[e,t]}),oR=(e,t)=>({...GL(e),options:[e,t]}),sR=(e,t)=>({...XL(e),options:[e,t]}),cR=(e,t)=>({...KL(e),options:[e,t]}),lR=(e,t)=>({...qL(e),options:[e,t]}),uR=(e,t)=>({...JL(e),options:[e,t]}),dR=(e,t)=>({...iR(e),options:[e,t]}),fR=`Arrow`,pR=l.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,V.jsx)(J.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,V.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});pR.displayName=fR;var mR=pR;function hR(e){let[t,n]=l.useState(void 0);return CM(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var gR=`Popper`,[_R,vR]=xM(gR),[yR,bR]=_R(gR),xR=e=>{let{__scopePopper:t,children:n}=e,[r,i]=l.useState(null);return(0,V.jsx)(yR,{scope:t,anchor:r,onAnchorChange:i,children:n})};xR.displayName=gR;var SR=`PopperAnchor`,CR=l.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=bR(SR,n),o=l.useRef(null),s=B(t,o),c=l.useRef(null);return l.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,V.jsx)(J.div,{...i,ref:s})});CR.displayName=SR;var wR=`PopperContent`,[TR,ER]=_R(wR),DR=l.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:f=`partial`,hideWhenDetached:p=!1,updatePositionStrategy:m=`optimized`,onPlaced:h,...g}=e,_=bR(wR,n),[v,y]=l.useState(null),b=B(t,e=>y(e)),[x,S]=l.useState(null),C=hR(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof d==`number`?d:{top:0,right:0,bottom:0,left:0,...d},O=Array.isArray(u)?u:[u],k=O.length>0,A={padding:D,boundary:O.filter(jR),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=rR({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>UL(...e,{animationFrame:m===`always`}),elements:{reference:_.anchor},middleware:[aR({mainAxis:i+T,alignmentAxis:o}),c&&oR({mainAxis:!0,crossAxis:!1,limiter:f===`partial`?sR():void 0,...A}),c&&cR({...A}),lR({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),x&&dR({element:x,padding:s}),MR({arrowWidth:w,arrowHeight:T}),p&&uR({strategy:`referenceHidden`,...A})]}),[I,L]=NR(N),ee=Y(h);CM(()=>{P&&ee?.()},[P,ee]);let te=F.arrow?.x,ne=F.arrow?.y,re=F.arrow?.centerOffset!==0,[ie,ae]=l.useState();return CM(()=>{v&&ae(window.getComputedStyle(v).zIndex)},[v]),(0,V.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ie,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,V.jsx)(TR,{scope:n,placedSide:I,onArrowChange:S,arrowX:te,arrowY:ne,shouldHideArrow:re,children:(0,V.jsx)(J.div,{"data-side":I,"data-align":L,...g,ref:b,style:{...g.style,animation:P?void 0:`none`}})})})});DR.displayName=wR;var OR=`PopperArrow`,kR={top:`bottom`,right:`left`,bottom:`top`,left:`right`},AR=l.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=ER(OR,n),a=kR[i.placedSide];return(0,V.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,V.jsx)(mR,{...r,ref:t,style:{...r.style,display:`block`}})})});AR.displayName=OR;function jR(e){return e!==null}var MR=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=NR(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function NR(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var PR=xR,FR=CR,IR=DR,LR=AR,RR=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),zR=`VisuallyHidden`,BR=l.forwardRef((e,t)=>(0,V.jsx)(J.span,{...e,ref:t,style:{...RR,...e.style}}));BR.displayName=zR;var VR=BR,[HR,UR]=xM(`Tooltip`,[vR]),WR=vR(),GR=`TooltipProvider`,KR=700,qR=`tooltip.open`,[JR,YR]=HR(GR),XR=e=>{let{__scopeTooltip:t,delayDuration:n=KR,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=l.useRef(!0),s=l.useRef(!1),c=l.useRef(0);return l.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(JR,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:l.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:l.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:l.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};XR.displayName=GR;var ZR=`Tooltip`,[QR,$R]=HR(ZR),ez=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=YR(ZR,e.__scopeTooltip),u=WR(t),[d,f]=l.useState(null),p=EM(),m=l.useRef(0),h=o??c.disableHoverableContent,g=s??c.delayDuration,_=l.useRef(!1),[v,y]=OM({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(qR))):c.onClose(),a?.(e)},caller:ZR}),b=l.useMemo(()=>v?_.current?`delayed-open`:`instant-open`:`closed`,[v]),x=l.useCallback(()=>{window.clearTimeout(m.current),m.current=0,_.current=!1,y(!0)},[y]),S=l.useCallback(()=>{window.clearTimeout(m.current),m.current=0,y(!1)},[y]),C=l.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{_.current=!0,y(!0),m.current=0},g)},[g,y]);return l.useEffect(()=>()=>{m.current&&=(window.clearTimeout(m.current),0)},[]),(0,V.jsx)(PR,{...u,children:(0,V.jsx)(QR,{scope:t,contentId:p,open:v,stateAttribute:b,trigger:d,onTriggerChange:f,onTriggerEnter:l.useCallback(()=>{c.isOpenDelayedRef.current?C():x()},[c.isOpenDelayedRef,C,x]),onTriggerLeave:l.useCallback(()=>{h?S():(window.clearTimeout(m.current),m.current=0)},[S,h]),onOpen:x,onClose:S,disableHoverableContent:h,children:n})})};ez.displayName=ZR;var tz=`TooltipTrigger`,nz=l.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=$R(tz,n),a=YR(tz,n),o=WR(n),s=B(t,l.useRef(null),i.onTriggerChange),c=l.useRef(!1),u=l.useRef(!1),d=l.useCallback(()=>c.current=!1,[]);return l.useEffect(()=>()=>document.removeEventListener(`pointerup`,d),[d]),(0,V.jsx)(FR,{asChild:!0,...o,children:(0,V.jsx)(J.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:q(e.onPointerMove,e=>{e.pointerType!==`touch`&&!u.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:q(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:q(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,d,{once:!0})}),onFocus:q(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:q(e.onBlur,i.onClose),onClick:q(e.onClick,i.onClose)})})});nz.displayName=tz;var rz=`TooltipPortal`,[iz,az]=HR(rz,{forceMount:void 0}),oz=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=$R(rz,t);return(0,V.jsx)(iz,{scope:t,forceMount:n,children:(0,V.jsx)(xN,{present:n||a.open,children:(0,V.jsx)(yN,{asChild:!0,container:i,children:r})})})};oz.displayName=rz;var sz=`TooltipContent`,cz=l.forwardRef((e,t)=>{let n=az(sz,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=$R(sz,e.__scopeTooltip);return(0,V.jsx)(xN,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(pz,{side:i,...a,ref:t}):(0,V.jsx)(lz,{side:i,...a,ref:t})})}),lz=l.forwardRef((e,t)=>{let n=$R(sz,e.__scopeTooltip),r=YR(sz,e.__scopeTooltip),i=l.useRef(null),a=B(t,i),[o,s]=l.useState(null),{trigger:c,onClose:u}=n,d=i.current,{onPointerInTransitChange:f}=r,p=l.useCallback(()=>{s(null),f(!1)},[f]),m=l.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=_z(r,gz(r,n.getBoundingClientRect())),a=vz(t.getBoundingClientRect());s(bz([...i,...a])),f(!0)},[f]);return l.useEffect(()=>()=>p(),[p]),l.useEffect(()=>{if(c&&d){let e=e=>m(e,d),t=e=>m(e,c);return c.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[c,d,m,p]),l.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||d?.contains(t),i=!yz(n,o);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,d,o,u,p]),(0,V.jsx)(pz,{...e,ref:a})}),[uz,dz]=HR(ZR,{isInside:!1}),fz=FM(`TooltipContent`),pz=l.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=$R(sz,n),u=WR(n),{onClose:d}=c;return l.useEffect(()=>(document.addEventListener(qR,d),()=>document.removeEventListener(qR,d)),[d]),l.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,d]),(0,V.jsx)(qM,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,V.jsxs)(IR,{"data-state":c.stateAttribute,...u,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,V.jsx)(fz,{children:r}),(0,V.jsx)(uz,{scope:n,isInside:!0,children:(0,V.jsx)(VR,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});cz.displayName=sz;var mz=`TooltipArrow`,hz=l.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=WR(n);return dz(mz,n).isInside?null:(0,V.jsx)(LR,{...i,...r,ref:t})});hz.displayName=mz;function gz(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function _z(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function vz(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function yz(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function bz(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),xz(t)}function xz(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Sz=XR,Cz=ez,wz=nz,Tz=cz,Ez=Sz,Dz=Cz,Oz=wz,kz=l.forwardRef((e,t)=>{let n=(0,z.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,sideOffset:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?4:a,s;n[4]===r?s=n[5]:(s=K(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-base text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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`,r),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==s?(c=(0,V.jsx)(Tz,{ref:t,sideOffset:o,className:s,...i}),n[6]=i,n[7]=t,n[8]=o,n[9]=s,n[10]=c):c=n[10],c});kz.displayName=Tz.displayName;var Az=function(e){return e.PACKAGE_MANAGER=`tarsk.create-project.packageManager`,e.COMMIT_METHOD=`tarsk.create-project.commitMethod`,e.TEMPLATE_ID=`tarsk.create-project.templateId`,e.AUTO_GENERATE_COMMIT_MESSAGE=`autoGenerateCommitMessage`,e.AUTO_GENERATE_PR_INFO=`autoGeneratePRInfo`,e.PRIVATE_REPOSITORY_DEFAULT=`privateRepositoryDefault`,e.SELECTED_MODEL_PREFIX=`selected-model-`,e.SCROLL_POSITION_PREFIX=`scroll-position-`,e.FONT_SCALE=`tarsk.general.fontScale`,e.OPEN_WITH_PROGRAM=`tarsk.general.openWithProgram`,e.VOICE_MODEL=`tarsk.general.voiceModel`,e.SERVER_URL=`tarsk.server.url`,e}({}),jz=function(e){return e.MESSAGE_HISTORY=`chat_message_history`,e.BASH_COMMAND_DURATIONS=`tarsk.bash-command-durations`,e}({});function Mz(e){return typeof localStorage>`u`?null:localStorage.getItem(e)}function Nz(e,t){typeof localStorage>`u`||localStorage.setItem(e,t)}function Pz(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function Fz(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function Iz(e=`npm`){return Mz(`tarsk.create-project.packageManager`)??e}function Lz(e){Nz(`tarsk.create-project.packageManager`,e)}function Rz(e=`pull-request`){return Mz(`tarsk.create-project.commitMethod`)??e}function zz(e){Nz(`tarsk.create-project.commitMethod`,e)}function Bz(e=``){return Mz(`tarsk.create-project.templateId`)??e}function Vz(e){Nz(`tarsk.create-project.templateId`,e)}function Hz(e=!1){let t=Mz(`autoGenerateCommitMessage`);return t===null?e:t===`true`}function Uz(e){Nz(`autoGenerateCommitMessage`,e.toString())}function Wz(e=!1){let t=Mz(`autoGeneratePRInfo`);return t===null?e:t===`true`}function Gz(e){Nz(`autoGeneratePRInfo`,e.toString())}function Kz(e=!1){let t=Mz(`privateRepositoryDefault`);return t===null?e:t===`true`}function qz(e){Nz(`privateRepositoryDefault`,e.toString())}function Jz(e){let t=Mz(`scroll-position-`+e),n=t===null?null:Number(t);return n!==null&&Number.isFinite(n)?n:null}function Yz(e,t){Nz(`scroll-position-`+e,String(t))}function Xz(){let e=Pz(`chat_message_history`);return e?JSON.parse(e):[]}function Zz(e){let t=Xz();e.trim()&&t[t.length-1]!==e&&(t.push(e),Fz(`chat_message_history`,JSON.stringify(t)))}function Qz(e=100){let t=Mz(`tarsk.general.fontScale`);if(t!==null){let e=Number(t);if(Number.isFinite(e)&&e>=50&&e<=300)return e}return e}function $z(e){Nz(`tarsk.general.fontScale`,String(e))}function eB(e=`VS Code`){return Mz(`tarsk.general.openWithProgram`)??e}function tB(e){Nz(`tarsk.general.openWithProgram`,e)}function nB(e=`default`){let t=Mz(`tarsk.general.voiceModel`);return t===`tiny`||t==="default"?t:e}function rB(e){Nz(`tarsk.general.voiceModel`,e),typeof window<`u`&&window.dispatchEvent(new Event(`tarsk:voice-model-changed`))}function iB(){return typeof window>`u`?null:window.Capacitor?.getPlatform?.()??null}function aB(){return uB()&&iB()===`ios`}function oB(){return Mz(Az.SERVER_URL)}function sB(e){Nz(Az.SERVER_URL,e)}function cB(e){try{return new URL(e).hostname}catch{return``}}function lB(e){let t=e.trim();if(!t)return``;let n=t.replace(/^https?:\/\//,``).split(`/`)[0]?.split(`:`)[0]??``;return n?`http://${n}:641`:``}function uB(){if(typeof window>`u`)return!1;if(window.Capacitor?.isNativePlatform?.())return!0;let e=window.location.protocol;return e===`capacitor:`||e===`ionic:`||e===`file:`}function dB(){let e=oB();if(e){let t=cB(e);if(t)return t}return uB()?``:document.location.hostname}async function fB(e){try{return(await fetch(`${e.replace(/\/$/,``)}/health`,{method:`GET`})).ok}catch{return!1}}function pB(e){let t=lB(e);if(t){if(uB()){sB(t),window.location.reload();return}window.location.assign(t)}}function mB(){return[`462`,`8100`].includes(document.location.port)?`http://${document.location.hostname}:462`:`http://${document.location.hostname}:641`}function hB(){let e=oB();return e?e.replace(/\/$/,``):mB()}function gB(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${hB()}${t}`}function _B(e){return e?typeof e.error==`string`?e.error:e.error&&typeof e.error==`object`?e.error.details??e.error.message??`Unknown error`:`Unknown error`:`Unknown error`}async function vB(e){try{return _B(await e.json())}catch{}return e.statusText||`Unknown error`}function yB(e,t,n){let r=Error(e);return n?.error&&typeof n.error==`object`&&(r.details=n.error.details,r.code=n.error.code),r}async function bB(e,t){let n=await fetch(gB(e),{...t,method:`GET`});if(!n.ok){let e=await vB(n);throw Error(e)}return n.blob()}async function X(e,t){let n=await fetch(gB(e),{...t,method:`GET`});if(!n.ok){let e=await vB(n);throw Error(e)}return n.json()}async function Z(e,t,n){let r=await fetch(gB(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.json()}async function xB(e,t,n){let r=await fetch(gB(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.json()}async function SB(e,t,n){let r=await fetch(gB(e),{...n,method:`PATCH`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.json()}async function CB(e,t,n){let r=await fetch(gB(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await vB(r);throw Error(e)}return r.body}async function wB(e,t){let n=await fetch(gB(e),{...t,method:`DELETE`});if(!n.ok){let e=await vB(n);throw Error(e)}if(n.status!==204)return n.json()}async function TB(e,t,n){let r=await fetch(gB(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0,signal:n?.signal});if(!r.ok){let e=await vB(r);throw Error(e)}return r.body}async function EB(e,t){let n=await fetch(gB(e),{...t,method:`GET`});if(!n.ok){let e=await vB(n);throw Error(e)}return n.body}async function DB(e,t,n){let r=await fetch(gB(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw yB(_B(e)||r.statusText||`Unknown error`,r,e)}return r.json()}async function OB(e,t,n){let r=await fetch(gB(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw yB(_B(e)||r.statusText||`Unknown error`,r,e)}return r.json()}function Q(...e){return e.map(e=>encodeURIComponent(String(e))).join(`/`)}var $=new class{cache=new Map;inFlightRequests=new Map;async get(e,t,n){let r=e.startsWith(`unified-git-status-`),i=r?performance.now():0,a=this.inFlightRequests.get(e);if(a)return r&&console.log(`[gitops-timing] ttl-cache key=${e} in-flight-reuse`),a;let o=this.cache.get(e);if(o&&Date.now()<o.expires){if(r){let t=Math.round(performance.now()-i);console.log(`[gitops-timing] ttl-cache key=${e} hit ${t}ms`)}return o.data}r&&console.log(`[gitops-timing] ttl-cache key=${e} miss fetching`);let s=t().then(t=>{if(this.cache.set(e,{data:t,expires:Date.now()+n}),r){let t=Math.round(performance.now()-i);console.log(`[gitops-timing] ttl-cache key=${e} stored ${t}ms`)}return t}).finally(()=>{this.inFlightRequests.delete(e)});return this.inFlightRequests.set(e,s),s}getSync(e){let t=this.cache.get(e);if(t&&Date.now()<t.expires)return t.data}invalidate(e){this.cache.delete(e)}invalidatePattern(e){let t=[];for(let n of this.cache.keys())e.test(n)&&t.push(n);t.forEach(e=>this.cache.delete(e))}clear(){this.cache.clear(),this.inFlightRequests.clear()}};function kB(){return typeof window<`u`&&`__electrobunWebviewId`in window}function AB(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function jB(e,t=`image/png`){let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return new Blob([r],{type:t})}function MB(e){let t=e.indexOf(`,`),n=e.slice(0,t);return jB(e.slice(t+1),n.match(/^data:([^;]+)/)?.[1]??`image/png`)}async function NB(e){if(e.imageData)return jB(e.imageData);if(e.imageUrl){if(e.imageUrl.startsWith(`data:`))return MB(e.imageUrl);let t=await fetch(e.imageUrl);if(!t.ok)throw Error(`Failed to fetch image: ${t.status}`);return t.blob()}throw Error(`imageUrl or imageData is required`)}async function PB(e){let t=e.filename??`generated-image-${Date.now()}.png`;try{return AB(await NB(e),t),{path:t}}catch{if(!e.imageUrl||e.imageUrl.startsWith(`data:`))throw Error(`imageUrl or imageData is required`);let n=document.createElement(`a`);return n.href=e.imageUrl,n.download=t,n.target=`_blank`,n.rel=`noopener noreferrer`,document.body.appendChild(n),n.click(),document.body.removeChild(n),{path:t}}}async function FB(e){let t=await NB(e);if(!navigator.clipboard?.write)throw Error(`Clipboard API not available`);let n=t.type||`image/png`,r=t.type?t:new Blob([t],{type:n});await navigator.clipboard.write([new ClipboardItem({[n]:r})])}async function IB(e){return kB()?Z(`api/image/save`,e):PB(e)}async function LB(e){if(kB()){await Z(`api/image/clipboard`,e);return}await FB(e)}var RB=t({EmptyBalanceError:()=>zB,LOW_BALANCE_THRESHOLD:()=>50,applyAppUpdate:()=>zH,checkBalance:()=>BB,checkForAppUpdate:()=>RH,checkGitInstalled:()=>DH,checkVpInstalled:()=>HB,clearChatHistory:()=>SV,clearConversationHistory:()=>IH,compactChat:()=>CV,completeOnboarding:()=>OH,copyImageToClipboard:()=>VV,createFolderProject:()=>sV,createGitCheckpoint:()=>aH,createGitHubRepo:()=>iH,createProject:()=>aV,createScaffoldedProject:()=>WB,createSlashCommand:()=>NH,createThread:()=>pV,createThreadAgent:()=>aU,createThreadSkill:()=>iU,createUserTask:()=>_H,deleteCommand:()=>cH,deleteMCPServer:()=>ZH,deleteProject:()=>dV,deleteProjectAIFile:()=>eU,deleteSlashCommand:()=>PH,deleteThread:()=>mV,deleteThreadAIFile:()=>oU,deleteUserTask:()=>vH,disableImageModel:()=>zV,disableModel:()=>PV,enableImageModel:()=>RV,enableModel:()=>NV,fetchAvailableImageModels:()=>IV,fetchAvailableModels:()=>MV,fixComments:()=>gV,generateCommitMessage:()=>GV,generateImage:()=>BV,generatePRInfo:()=>XV,getAccountInfo:()=>ZB,getAccountSettings:()=>QB,getAllEnabledImageModels:()=>LV,getAllEnabledModels:()=>FV,getAvailablePrograms:()=>eV,getChatHistory:()=>vV,getContextBreakdown:()=>LH,getConversationFolderPath:()=>yV,getConversationHistory:()=>FH,getGitDiff:()=>TH,getGitLog:()=>rH,getGitUser:()=>nV,getGitUserName:()=>rV,getMCPConfig:()=>YH,getOnboardingStatus:()=>EH,getPackageScripts:()=>lH,getPopularAgents:()=>GH,getPopularMCPServers:()=>QH,getPopularRules:()=>KH,getPopularSkills:()=>WH,getPopularSlashCommands:()=>qH,getProcessingThreads:()=>tV,getProject:()=>cV,getProjectAIFiles:()=>$H,getProjectEnvVars:()=>lV,getProjectScripts:()=>fH,getProjectSystemPrompt:()=>wH,getProjects:()=>iV,getProviderCredits:()=>qB,getProviderLogoUrl:()=>KB,getProviders:()=>GB,getRecommendedModels:()=>AH,getScaffoldTemplates:()=>VB,getSlashCommands:()=>jH,getSlashCommandsAndSkills:()=>MH,getThread:()=>hH,getThreadAIFile:()=>nU,getThreadAIFiles:()=>tU,getThreadFiles:()=>dH,getUnifiedGitStatus:()=>WV,getUserTasks:()=>gH,gitCheckoutBranch:()=>tH,gitCommit:()=>KV,gitCreateBranch:()=>$V,gitCreatePR:()=>ZV,gitFetch:()=>QV,gitListBranches:()=>eH,gitPull:()=>JV,gitPush:()=>qV,gitRevertFile:()=>nH,gitSyncBranch:()=>YV,installGithubFolderToThread:()=>JH,installVp:()=>UB,invalidateProjectsCache:()=>fV,isDevServerRunning:()=>SH,openExternalUrl:()=>XB,openFolderProject:()=>oV,openProjectWith:()=>DV,openThreadWith:()=>OV,parseSSEStream:()=>TV,refreshModels:()=>UV,resetOnboarding:()=>kH,restoreGitCheckpoint:()=>oH,runCommand:()=>uH,runProjectScript:()=>pH,saveCommand:()=>sH,saveImageToDownloads:()=>HV,saveMCPServer:()=>XH,saveProviderEnvironment:()=>YB,saveProviderKey:()=>JB,saveThreadAIFile:()=>rU,selectThread:()=>_V,sendChatMessage:()=>bV,startDevServer:()=>bH,stopChatGeneration:()=>wV,stopDevServer:()=>xH,stopProjectScript:()=>mH,submitAskUserAnswer:()=>BH,submitBrowserJsResult:()=>UH,submitShellPermissionResponse:()=>VH,submitWebFetchPermissionResponse:()=>HH,subscribeToChatStream:()=>xV,suggestRunCommand:()=>yH,syncProjectEnvVars:()=>uV,ttlCache:()=>$,updateAccountSettings:()=>$B,updateProject:()=>EV,updateProjectName:()=>jV,updateProjectOpenWith:()=>kV,updateProjectSetupScript:()=>AV,updateRunCommand:()=>CH,updateThread:()=>hV}),zB=class extends Error{constructor(){super(`No prompts remaining`),this.name=`EmptyBalanceError`}};async function BB(){let{plan:e,promptsRemaining:t}=await ZB();return e===`unlimited-pro`?{isEmpty:!1,isLow:!1}:{isEmpty:t<=0,isLow:t>0&&t<=50}}async function VB(){return X(`api/scaffold/templates`)}async function HB(){return(await X(`api/scaffold/check-vp`)).installed}async function UB(){return Z(`api/scaffold/install-vp`,{})}async function WB(e,t,n){return TB(`api/scaffold`,{projectName:e,templateId:t,packageManager:n})}async function GB(){return $.get(`providers`,async()=>X(`api/providers`),6e4)}function KB(e){return`${hB()}/api/providers/${Q(e)}/logo`}async function qB(e){return $.get(`provider-credits-${e}`,async()=>X(`api/providers/${Q(e)}/credits`),3e4)}async function JB(e,t){await Z(`api/providers/keys`,{providerName:e,apiKey:t}),$.invalidate(`providers`)}async function YB(e){await Z(`api/providers/env`,{values:e}),$.invalidate(`providers`)}async function XB(e){try{await Z(`api/providers/open-external`,{url:e})}catch(t){if(t instanceof Error&&t.message===`External URL opening not available in server mode`){window.open(e,`_blank`,`noopener,noreferrer`);return}throw t}}async function ZB(){return X(`api/account/info`)}async function QB(){return X(`api/account/settings`)}async function $B(e){return xB(`api/account/settings`,e)}async function eV(){return $.get(`available-programs`,async()=>(await X(`api/programs`)).programs??[],3e5)}async function tV(){return(await X(`api/threads/processing`)).processingThreadIds??[]}async function nV(){return $.get(`git-user`,async()=>{try{let e=await X(`api/git/user`);return{name:e.name??``,email:e.email??``}}catch{return{name:``,email:``}}},6e5)}async function rV(){return(await nV()).name}async function iV(){return $.get(`projects`,async()=>({projects:(await X(`api/projects`)||[]).map(e=>{let t=e;return{projectId:t.projectId??t.id,name:t.name,gitUrl:t.gitUrl,projectPath:t.projectPath??t.path,threads:t.threads??[],commands:t.commands??[],setupScript:t.setupScript,runCommand:t.runCommand,planPrompt:t.planPrompt,testPrompt:t.testPrompt,reviewPrompt:t.reviewPrompt,customSystemPrompt:t.customSystemPrompt,useCustomSystemPrompt:!!t.useCustomSystemPrompt,allowAllCommands:t.allowAllCommands!==!1,allowedCommandPatterns:t.allowedCommandPatterns??[]}}).map(e=>{let t=(e.threads||[]).map(e=>{let t=e,n=t.threadId??t.id;return{threadId:n,title:t.title??n,path:t.path??``,currentBranch:t.currentBranch??``,isSelected:!!t.isSelected,model:t.model??void 0,modelProvider:t.modelProvider??void 0,gitStatusDot:!!t.gitStatusDot}});return{...e,threads:t}})}),3e4)}async function aV(e,t){return TB(`api/projects`,{gitUrl:e,commitMethod:t})}async function oV(){return TB(`api/projects/open-folder`,{})}async function sV(e){return TB(`api/projects/new-folder`,{projectName:e})}async function cV(e){return $.get(`project-${e}`,async()=>X(`api/projects/${Q(e)}`),3e4)}async function lV(e){return X(`api/projects/${Q(e)}/env-vars`)}async function uV(e,t){await xB(`api/projects/${Q(e)}/env-vars`,{vars:t})}async function dV(e){await wB(`api/projects/${Q(e)}`),$.invalidate(`projects`)}function fV(e){$.invalidate(`projects`),e&&$.invalidate(`project-${e}`)}async function pV(e,t){return TB(`api/threads`,{projectId:e,title:t})}async function mV(e,t){await wB(`api/threads/${Q(t)}`),$.invalidate(`projects`)}async function hV(e,t){await SB(`api/threads/${Q(e)}`,t),(`model`in t||`modelProvider`in t)&&$.invalidate(`projects`)}async function gV(e,t){return Z(`api/threads/${Q(e)}/fix-comments`,{comments:t})}async function _V(e,t){await Z(`api/threads/${Q(t)}/select`)}async function vV(e){return{threadId:e,messages:await X(`api/threads/${Q(e)}/messages`)}}async function yV(e){return(await X(`api/threads/${Q(e)}/conversation-folder-path`)).path}async function bV(e,t,n,r=[],i,a,o,s,c){let{isEmpty:l}=await BB();if(l)throw new zB;return TB(`api/chat`,{threadId:e,content:t,model:n,provider:a,planMode:o,ralphMode:s,checkpointRef:c,attachments:r.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))},{signal:i})}async function xV(e,t){return EB(`api/chat/subscribe/${Q(e)}`,{signal:t})}async function SV(e){return(await wB(`api/chat/${Q(e)}`))?.conversationId||``}async function CV(e,t){return DB(`api/chat/${Q(e)}/compact`,t)}async function wV(e){try{await Z(`api/chat/stop/${Q(e)}`)}catch{}}function TV(e,t,n,r,i){let a=e.getReader(),o=!1,s=()=>{o=!0,a.cancel().catch(()=>{})},c=new TextDecoder,l=``;function u(e){return e.content?.trim()||e.error?.message?.trim()||e.message?.trim()||`Unknown error`}let d=e=>e?[/^Cannot read properties/i,/^Error:/i,/^TypeError:/i,/^ReferenceError:/i,/^SyntaxError:/i,/^failed to/i,/^error:/i,/forbidden/i,/unauthorized/i].some(t=>t.test(e.trim())):!1;async function f(){try{for(;!o;){let{done:e,value:s}=await a.read();if(e||o){if(!o&&e){if(l.trim())try{let e=JSON.parse(l);e.type===`error`?r(u(e)):e.type===`message`?i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking}):e.type===`complete`||(e.type===`result`&&d(e.content)?r(e.content??`Unknown error`):t(e))}catch{l.trim()&&t({type:`result`,content:l})}n()}break}l+=c.decode(s,{stream:!0});let f=l.split(`
|
|
46
|
+
`);l=f.pop()??``;for(let e of f){let a=e.trim();if(a)try{let e=JSON.parse(a);if(e.type===`error`){r(u(e)),n();return}else if(e.type===`message`)i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking});else if(e.type===`complete`){n();return}else if(e.type===`result`&&d(e.content)){r(e.content??`Unknown error`),n();return}else t(e)}catch{}}}}catch(e){o||(r(e instanceof Error?e.message:`Stream error`),n())}}return f(),s}async function EV(e,t){return t.runNow&&t.setupScript?CB(`api/projects/${Q(e)}`,t):(await OB(`api/projects/${Q(e)}`,t),t.runNow||fV(e),null)}async function DV(e,t){await DB(`api/projects/${Q(e)}/open`,{program:t})}async function OV(e,t){await DB(`api/threads/${Q(e)}/open`,{program:t})}async function kV(e,t){await EV(e,{program:t})}async function AV(e,t,n){return EV(e,{setupScript:t,runNow:n})}async function jV(e,t){await EV(e,{name:t})}async function MV(e,t){let n=new URLSearchParams({provider:e});t!==void 0&&n.set(`supportedTools`,t?`true`:`false`),n.set(`useCase`,`coding`);let r=`available-models-${n.toString()}`;return $.get(r,async()=>{let e=await X(`api/models?${n.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function NV(e,t){await Z(`api/models/${Q(e,t)}/enable`),$.invalidate(`enabled-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function PV(e,t){await Z(`api/models/${Q(e,t)}/disable`),$.invalidate(`enabled-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function FV(){return $.get(`enabled-models`,async()=>(await X(`api/models/enabled?useCase=coding`)).enabledModels??{},12e4)}async function IV(e){let t=new URLSearchParams({provider:e,useCase:`image`}),n=`available-image-models-${e}`;return $.get(n,async()=>{let e=await X(`api/models?${t.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function LV(){return $.get(`enabled-image-models`,async()=>(await X(`api/models/enabled?useCase=image`)).enabledModels??{},12e4)}async function RV(e,t){await Z(`api/models/${Q(e,t)}/enable?useCase=image`),$.invalidate(`enabled-image-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function zV(e,t){await Z(`api/models/${Q(e,t)}/disable?useCase=image`),$.invalidate(`enabled-image-models`),$.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/)}async function BV(e,t,n,r){return Z(`api/image/generate`,{prompt:e,model:t,provider:n,threadId:r})}async function VV(e){await LB(e)}async function HV(e){return IB(e)}async function UV(e){let t=await Z(`api/models/${Q(e)}/refresh`);return $.invalidatePattern(/^available-models-/),$.invalidatePattern(/^available-image-models-/),$.invalidate(`enabled-models`),t.modelCount??0}async function WV(e,t=!1,n=!1){let r=new URLSearchParams;t&&r.set(`fresh`,`true`),n&&r.set(`asyncRefresh`,`true`);let i=r.toString(),a=i?`api/git/unified-status/${Q(e)}?${i}`:`api/git/unified-status/${Q(e)}`,o=performance.now();console.log(`[gitops-timing] api getUnifiedGitStatus start thread=${e} fresh=${t}`);try{return await X(a)}finally{let n=Math.round(performance.now()-o);console.log(`[gitops-timing] api getUnifiedGitStatus end thread=${e} fresh=${t} ${n}ms`)}}async function GV(e,t,n){return(await Z(`api/git/generate-commit-message/${Q(e)}`,{model:t,provider:n})).message}async function KV(e,t){await Z(`api/git/commit/${Q(e)}`,{message:t})}async function qV(e){await Z(`api/git/push/${Q(e)}`)}async function JV(e){await Z(`api/git/pull/${Q(e)}`)}async function YV(e){return Z(`api/git/sync-branch/${Q(e)}`,{})}async function XV(e,t,n){return Z(`api/git/generate-pr-info/${Q(e)}`,{model:t,provider:n})}async function ZV(e,t,n){return Z(`api/git/create-pr/${Q(e)}`,{title:t,description:n})}async function QV(e){await Z(`api/git/fetch/${Q(e)}`)}async function $V(e,t,n){return Z(`api/git/create-branch/${Q(e)}`,{baseBranch:t,branchName:n})}async function eH(e){return X(`api/git/branches/${Q(e)}`)}async function tH(e,t){return Z(`api/git/checkout-branch/${Q(e)}`,{branchName:t})}async function nH(e,t){return Z(`api/git/revert-file/${Q(e)}`,{filePath:t})}async function rH(e,t=50){return(await X(`api/git/log/${Q(e)}?limit=${t}`)).commits}async function iH(e,t,n,r){return Z(`api/git/create-repo/${Q(e)}`,{repoName:t,description:n,isPrivate:r})}async function aH(e,t){return Z(`api/git/checkpoint/${Q(e)}`,{messageId:t})}async function oH(e,t){return Z(`api/git/checkpoint-restore/${Q(e)}`,{checkpointRef:t})}async function sH(e,t){await Z(`api/projects/${Q(e)}/commands`,t)}async function cH(e,t){await wB(`api/projects/${Q(e)}/commands/${Q(t)}`)}async function lH(e){return X(`api/projects/${Q(e)}/package-scripts`)}async function uH(e,t,n,r){return TB(`api/projects/${Q(e)}/threads/${Q(t)}/commands/run`,{commandLine:n,cwd:r})}async function dH(e){return X(`api/threads/${Q(e)}/files`)}async function fH(e){return(await X(`api/threads/${Q(e)}/project-scripts`)).scripts}async function pH(e,t,n,r){return TB(`api/threads/${Q(e)}/project-scripts/run`,{scriptName:t,command:n},r)}async function mH(e,t){return Z(`api/threads/${Q(e)}/project-scripts/stop`,{scriptName:t})}async function hH(e){return X(`api/threads/${e}`)}async function gH(e){return(await X(`api/threads/${Q(e)}/user-tasks`)).tasks??[]}async function _H(e,t){return Z(`api/threads/${Q(e)}/user-tasks`,{content:t})}async function vH(e,t){await wB(`api/threads/${Q(e)}/user-tasks/${Q(t)}`)}async function yH(e){return Z(`api/projects/${Q(e)}/run-suggest`,{})}async function bH(e,t){return console.log(`API: startDevServer called for project:`,e,`thread:`,t),TB(`api/projects/${Q(e)}/run`,{threadId:t})}async function xH(e){return Z(`api/projects/${Q(e)}/stop`,{})}async function SH(e){return X(`api/projects/${Q(e)}/running`)}async function CH(e,t){await EV(e,{runCommand:t})}async function wH(e){return X(`api/projects/${Q(e)}/system-prompt`)}async function TH(e){return X(`api/git/diff/${Q(e)}`)}async function EH(){return X(`api/onboarding/status`)}async function DH(){return X(`api/onboarding/git-check`)}async function OH(){return Z(`api/onboarding/complete`,{})}async function kH(){return Z(`api/onboarding/reset`,{})}async function AH(){return X(`api/onboarding/recommended-models`)}async function jH(e){return(await X(`api/slash-commands?threadId=${Q(e)}`)).commands??[]}async function MH(e){let t=await X(`api/slash-commands?threadId=${Q(e)}`);return{commands:t.commands??[],skills:t.skills??[]}}async function NH(e,t,n,r,i){return Z(`api/slash-commands`,{name:e,content:t,metadata:n,scope:r,threadId:i})}async function PH(e){let t=await fetch(`http://localhost:641/api/slash-commands`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})});if(!t.ok)throw Error(`Failed to delete slash command: ${t.statusText}`);return t.json()}async function FH(e){return X(`api/conversations/${Q(e)}`)}async function IH(e){let t=new URLSearchParams;e?.threadId?t.set(`threadId`,e.threadId):e?.projectId&&t.set(`projectId`,e.projectId);let n=t.toString();await wB(`api/conversations${n?`?${n}`:``}`)}async function LH(e,t){return X(`api/conversations/${Q(e)}/${Q(t)}/context`)}async function RH(){try{return await X(`api/update/check`)}catch{return{updateAvailable:!1,supported:!1}}}async function zH(){return Z(`api/update/apply`)}async function BH(e,t){await Z(`api/ask-user/respond`,{toolCallId:e,answer:t})}async function VH(e,t,n){await Z(`api/shell-permission/respond`,{toolCallId:e,decision:t,pattern:n?.pattern,projectId:n?.projectId})}async function HH(e,t){await Z(`api/web-fetch-permission/respond`,{toolCallId:e,decision:t})}async function UH(e,t){await Z(`api/browser-js/respond`,{toolCallId:e,result:t})}async function WH(){return(await X(`api/skills/popular`)).skills??[]}async function GH(){return(await X(`api/agents/popular`)).agents??[]}async function KH(){return(await X(`api/rules/popular`)).rules??[]}async function qH(){return(await X(`api/slash-commands/popular`)).commands??[]}async function JH(e,t,n,r){return Z(`api/threads/${Q(e)}/ai-files/github-folder`,{gitHubRepo:t,gitHubFolder:n,destPath:r})}async function YH(e){return X(`api/mcp/config?projectPath=${encodeURIComponent(e)}`)}async function XH(e,t,n){return xB(`api/mcp/config`,{projectPath:e,serverName:t,serverConfig:n})}async function ZH(e,t){return wB(`api/mcp/config/${Q(t)}?projectPath=${encodeURIComponent(e)}`)}async function QH(){return(await X(`api/mcp/popular`)).servers??[]}async function $H(e){return(await X(`api/projects/${Q(e)}/ai-files`)).nodes??[]}async function eU(e,t){return wB(`api/projects/${Q(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function tU(e){return(await X(`api/threads/${Q(e)}/ai-files`)).nodes??[]}async function nU(e,t){return X(`api/threads/${Q(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function rU(e,t,n){return xB(`api/threads/${Q(e)}/ai-file`,{path:t,content:n})}async function iU(e,t,n){return Z(`api/threads/${Q(e)}/ai-files/skill`,{name:t,description:n})}async function aU(e,t,n,r){return Z(`api/threads/${Q(e)}/ai-files/agent`,{name:t,description:n,tools:r})}async function oU(e,t){return wB(`api/threads/${Q(e)}/ai-file?path=${encodeURIComponent(t)}`)}var sU=l.createContext(void 0);function cU(e){let t=l.useContext(sU);return e||t||`ltr`}function lU(e,[t,n]){return Math.min(n,Math.max(t,e))}function uU(e,t){return l.useReducer((e,n)=>t[e][n]??e,e)}var dU=`ScrollArea`,[fU,pU]=xM(dU),[mU,hU]=fU(dU),gU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=l.useState(null),[u,d]=l.useState(null),[f,p]=l.useState(null),[m,h]=l.useState(null),[g,_]=l.useState(null),[v,y]=l.useState(0),[b,x]=l.useState(0),[S,C]=l.useState(!1),[w,T]=l.useState(!1),E=B(t,e=>c(e)),D=cU(i);return(0,V.jsx)(mU,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,V.jsx)(J.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});gU.displayName=dU;var _U=`ScrollAreaViewport`,vU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=hU(_U,n),s=B(t,l.useRef(null),o.onViewportChange);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,V.jsx)(J.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,V.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});vU.displayName=_U;var yU=`ScrollAreaScrollbar`,bU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=hU(yU,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return l.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,V.jsx)(xU,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,V.jsx)(SU,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,V.jsx)(CU,{...r,ref:t,forceMount:n}):i.type===`always`?(0,V.jsx)(wU,{...r,ref:t}):null});bU.displayName=yU;var xU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=hU(yU,e.__scopeScrollArea),[a,o]=l.useState(!1);return l.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,V.jsx)(xN,{present:n||a,children:(0,V.jsx)(CU,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),SU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=hU(yU,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=WU(()=>c(`SCROLL_END`),100),[s,c]=uU(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return l.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),l.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,V.jsx)(xN,{present:n||s!==`hidden`,children:(0,V.jsx)(wU,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:q(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:q(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),CU=l.forwardRef((e,t)=>{let n=hU(yU,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=l.useState(!1),s=e.orientation===`horizontal`,c=WU(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return GU(n.viewport,c),GU(n.content,c),(0,V.jsx)(xN,{present:r||a,children:(0,V.jsx)(wU,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),wU=l.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=hU(yU,e.__scopeScrollArea),a=l.useRef(null),o=l.useRef(0),[s,c]=l.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=LU(s.viewport,s.content),d={...r,sizes:s,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function f(e,t){return zU(e,o.current,s,t)}return n===`horizontal`?(0,V.jsx)(TU,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=BU(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=f(e,i.dir))}}):n===`vertical`?(0,V.jsx)(EU,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=BU(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=f(e))}}):null}),TU=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=hU(yU,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarXChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(kU,{"data-orientation":`horizontal`,...i,ref:u,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":RU(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),HU(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:IU(o.paddingLeft),paddingEnd:IU(o.paddingRight)}})}})}),EU=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=hU(yU,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarYChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(kU,{"data-orientation":`vertical`,...i,ref:u,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":RU(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),HU(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:IU(o.paddingTop),paddingEnd:IU(o.paddingBottom)}})}})}),[DU,OU]=fU(yU),kU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:f,...p}=e,m=hU(yU,n),[h,g]=l.useState(null),_=B(t,e=>g(e)),v=l.useRef(null),y=l.useRef(``),b=m.viewport,x=r.content-r.viewport,S=Y(d),C=Y(c),w=WU(f,10);function T(e){v.current&&u({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return l.useEffect(()=>{let e=e=>{let t=e.target;h?.contains(t)&&S(e,x)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,h,x,S]),l.useEffect(C,[r,C]),GU(h,w),GU(m.content,w),(0,V.jsx)(DU,{scope:n,scrollbar:h,hasThumb:i,onThumbChange:Y(a),onThumbPointerUp:Y(o),onThumbPositionChange:C,onThumbPointerDown:Y(s),children:(0,V.jsx)(J.div,{...p,ref:_,style:{position:`absolute`,...p.style},onPointerDown:q(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=h.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,m.viewport&&(m.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:q(e.onPointerMove,T),onPointerUp:q(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=``),v.current=null})})})}),AU=`ScrollAreaThumb`,jU=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=OU(AU,e.__scopeScrollArea);return(0,V.jsx)(xN,{present:n||i.hasThumb,children:(0,V.jsx)(MU,{ref:t,...r})})}),MU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=hU(AU,n),o=OU(AU,n),{onThumbPositionChange:s}=o,c=B(t,e=>o.onThumbChange(e)),u=l.useRef(void 0),d=WU(()=>{u.current&&=(u.current(),void 0)},100);return l.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{d(),u.current||(u.current=UU(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,d,s]),(0,V.jsx)(J.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:q(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:q(e.onPointerUp,o.onThumbPointerUp)})});jU.displayName=AU;var NU=`ScrollAreaCorner`,PU=l.forwardRef((e,t)=>{let n=hU(NU,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,V.jsx)(FU,{...e,ref:t}):null});PU.displayName=NU;var FU=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=hU(NU,n),[a,o]=l.useState(0),[s,c]=l.useState(0),u=!!(a&&s);return GU(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),GU(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),u?(0,V.jsx)(J.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function IU(e){return e?parseInt(e,10):0}function LU(e,t){let n=e/t;return isNaN(n)?0:n}function RU(e){let t=LU(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function zU(e,t,n,r=`ltr`){let i=RU(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return VU([c,l],d)(e)}function BU(e,t,n=`ltr`){let r=RU(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=lU(e,n===`ltr`?[0,o]:[o*-1,0]);return VU([0,o],[0,s])(c)}function VU(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function HU(e,t){return e>0&&e<t}var UU=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function WU(e,t){let n=Y(e),r=l.useRef(0);return l.useEffect(()=>()=>window.clearTimeout(r.current),[]),l.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function GU(e,t){let n=Y(t);CM(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var KU=gU,qU=vU,JU=PU,YU=l.forwardRef((e,t)=>{let n=(0,z.c)(15),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=K(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,V.jsx)(qU,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(XU,{}),l=(0,V.jsx)(JU,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,V.jsxs)(KU,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});YU.displayName=KU.displayName;var XU=l.forwardRef((e,t)=>{let n=(0,z.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=K(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,V.jsx)(jU,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,V.jsx)(bU,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});XU.displayName=bU.displayName;function ZU(e){let t=e+`CollectionProvider`,[n,r]=xM(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=l.useRef(null),a=l.useRef(new Map).current;return(0,V.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=MM(s),u=l.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,V.jsx)(c,{ref:B(t,a(s,n).collectionRef),children:r})});u.displayName=s;let d=e+`CollectionItemSlot`,f=`data-radix-collection-item`,p=MM(d),m=l.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=l.useRef(null),s=B(t,o),c=a(d,n);return l.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,V.jsx)(p,{[f]:``,ref:s,children:r})});m.displayName=d;function h(t){let n=a(e+`CollectionConsumer`,t);return l.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:u,ItemSlot:m},h,r]}var QU=`rovingFocusGroup.onEntryFocus`,$U={bubbles:!1,cancelable:!0},eW=`RovingFocusGroup`,[tW,nW,rW]=ZU(eW),[iW,aW]=xM(eW,[rW]),[oW,sW]=iW(eW),cW=l.forwardRef((e,t)=>(0,V.jsx)(tW.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(tW.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(lW,{...e,ref:t})})}));cW.displayName=eW;var lW=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,p=l.useRef(null),m=B(t,p),h=cU(a),[g,_]=OM({prop:o,defaultProp:s??null,onChange:c,caller:eW}),[v,y]=l.useState(!1),b=Y(u),x=nW(n),S=l.useRef(!1),[C,w]=l.useState(0);return l.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(QU,b),()=>e.removeEventListener(QU,b)},[b]),(0,V.jsx)(oW,{scope:n,orientation:r,dir:h,loop:i,currentTabStopId:g,onItemFocus:l.useCallback(e=>_(e),[_]),onItemShiftTab:l.useCallback(()=>y(!0),[]),onFocusableItemAdd:l.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:l.useCallback(()=>w(e=>e-1),[]),children:(0,V.jsx)(J.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...f,ref:m,style:{outline:`none`,...e.style},onMouseDown:q(e.onMouseDown,()=>{S.current=!0}),onFocus:q(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(QU,$U);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);hW([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),d)}}S.current=!1}),onBlur:q(e.onBlur,()=>y(!1))})})}),uW=`RovingFocusGroupItem`,dW=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=EM(),u=a||c,d=sW(uW,n),f=d.currentTabStopId===u,p=nW(n),{onFocusableItemAdd:m,onFocusableItemRemove:h,currentTabStopId:g}=d;return l.useEffect(()=>{if(r)return m(),()=>h()},[r,m,h]),(0,V.jsx)(tW.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:(0,V.jsx)(J.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:q(e.onMouseDown,e=>{r?d.onItemFocus(u):e.preventDefault()}),onFocus:q(e.onFocus,()=>d.onItemFocus(u)),onKeyDown:q(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=mW(e,d.orientation,d.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=p().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop?gW(n,r+1):n.slice(r+1)}setTimeout(()=>hW(n))}}),children:typeof o==`function`?o({isCurrentTabStop:f,hasTabStop:g!=null}):o})})});dW.displayName=uW;var fW={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function pW(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function mW(e,t,n){let r=pW(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return fW[r]}function hW(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function gW(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var _W=cW,vW=dW,yW=`Toggle`,bW=l.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=OM({prop:n,onChange:i,defaultProp:r??!1,caller:yW});return(0,V.jsx)(J.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:q(e.onClick,()=>{e.disabled||s(!o)})})});bW.displayName=yW;var xW=bW,SW=`ToggleGroup`,[CW,wW]=xM(SW,[aW]),TW=aW(),EW=l.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,V.jsx)(kW,{...r,ref:t});if(n===`multiple`)return(0,V.jsx)(AW,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${SW}\``)});EW.displayName=SW;var[DW,OW]=CW(SW),kW=l.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=OM({prop:n,defaultProp:r??``,onChange:i,caller:SW});return(0,V.jsx)(DW,{scope:e.__scopeToggleGroup,type:`single`,value:l.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:l.useCallback(()=>s(``),[s]),children:(0,V.jsx)(NW,{...a,ref:t})})}),AW=l.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=OM({prop:n,defaultProp:r??[],onChange:i,caller:SW}),c=l.useCallback(e=>s((t=[])=>[...t,e]),[s]),u=l.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,V.jsx)(DW,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:c,onItemDeactivate:u,children:(0,V.jsx)(NW,{...a,ref:t})})});EW.displayName=SW;var[jW,MW]=CW(SW),NW=l.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=TW(n),u=cU(o),d={role:`group`,dir:u,...c};return(0,V.jsx)(jW,{scope:n,rovingFocus:i,disabled:r,children:i?(0,V.jsx)(_W,{asChild:!0,...l,orientation:a,dir:u,loop:s,children:(0,V.jsx)(J.div,{...d,ref:t})}):(0,V.jsx)(J.div,{...d,ref:t})})}),PW=`ToggleGroupItem`,FW=l.forwardRef((e,t)=>{let n=OW(PW,e.__scopeToggleGroup),r=MW(PW,e.__scopeToggleGroup),i=TW(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=l.useRef(null);return r.rovingFocus?(0,V.jsx)(vW,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,V.jsx)(IW,{...s,ref:t})}):(0,V.jsx)(IW,{...s,ref:t})});FW.displayName=PW;var IW=l.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=OW(PW,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,V.jsx)(bW,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),LW=EW,RW=FW,zW=bj(`inline-flex items-center justify-center rounded-md ${U.body} font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),BW=l.forwardRef((e,t)=>{let n=(0,z.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,variant:o,size:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]!==r||n[6]!==a||n[7]!==o?(s=K(zW({variant:o,size:a,className:r})),n[5]=r,n[6]=a,n[7]=o,n[8]=s):s=n[8];let c;return n[9]!==i||n[10]!==t||n[11]!==s?(c=(0,V.jsx)(xW,{ref:t,className:s,...i}),n[9]=i,n[10]=t,n[11]=s,n[12]=c):c=n[12],c});BW.displayName=xW.displayName;var VW=l.createContext({size:`default`,variant:`default`}),HW=l.forwardRef((e,t)=>{let n=(0,z.c)(19),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,variant:s,size:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c;n[6]===i?c=n[7]:(c=K(`flex items-center justify-center gap-1`,i),n[6]=i,n[7]=c);let l;n[8]!==o||n[9]!==s?(l={variant:s,size:o},n[8]=o,n[9]=s,n[10]=l):l=n[10];let u;n[11]!==r||n[12]!==l?(u=(0,V.jsx)(VW.Provider,{value:l,children:r}),n[11]=r,n[12]=l,n[13]=u):u=n[13];let d;return n[14]!==a||n[15]!==t||n[16]!==c||n[17]!==u?(d=(0,V.jsx)(LW,{ref:t,className:c,...a,children:u}),n[14]=a,n[15]=t,n[16]=c,n[17]=u,n[18]=d):d=n[18],d});HW.displayName=LW.displayName;var UW=l.forwardRef((e,t)=>{let n=(0,z.c)(17),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,children:r,variant:s,size:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=l.useContext(VW),u;n[6]!==i||n[7]!==c.size||n[8]!==c.variant||n[9]!==o||n[10]!==s?(u=K(zW({variant:c.variant||s,size:c.size||o}),i),n[6]=i,n[7]=c.size,n[8]=c.variant,n[9]=o,n[10]=s,n[11]=u):u=n[11];let d;return n[12]!==r||n[13]!==a||n[14]!==t||n[15]!==u?(d=(0,V.jsx)(RW,{ref:t,className:u,...a,children:r}),n[12]=r,n[13]=a,n[14]=t,n[15]=u,n[16]=d):d=n[16],d});UW.displayName=RW.displayName;var WW=t({CreateProjectDialog:()=>qW,default:()=>qW}),GW={"angular-standalone":`logo-angular.svg`,"custom-angular":`logo-angular.svg`,react:`logo-react.svg`,"vite-react":`logo-react.svg`,vue:`logo-vue.svg`,"vite-vue":`logo-vue.svg`,"custom-svelte":`logo-svelte.svg`,"custom-ionic-svelte":`logo-svelte.svg`,"vite-svelte":`logo-svelte.svg`,"vite-solid":`logo-solid.svg`,astro:`logo-astro.svg`,nextjs:`logo-nextjs.svg`,nuxt:`logo-nuxt.svg`,"vite-qwik":`logo-qwik.svg`,"vite-preact":`logo-preact.svg`,"vite-lit":`logo-lit.svg`,"vite-web":`logo-web.svg`,"tanstack-start":`logo-vite.svg`,waku:`logo-waku.svg`,hydrogen:`logo-hydrogen.svg`,plugin:`logo-capacitor.svg`};function KW(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function qW({open:e,onOpenChange:t,initialMode:n,onSubmitClone:r,onSubmitWebApp:i,onSubmitFolder:a,onOpenFolder:o}){let[s,c]=(0,l.useState)(n??`choice`),[u,d]=(0,l.useState)(1),[f,p]=(0,l.useState)(``),[m,h]=(0,l.useState)(Rz(H.PullRequest)),[g,_]=(0,l.useState)(`My App`),[v,y]=(0,l.useState)(!1),[b,x]=(0,l.useState)(Bz()),[S,C]=(0,l.useState)(Iz()),[w,T]=(0,l.useState)([]),[E,D]=(0,l.useState)(!1),[O,k]=(0,l.useState)(!1),[A,j]=(0,l.useState)(new Set),M=(0,l.useCallback)(e=>{j(t=>new Set(t).add(e))},[]),{typeNames:N,templatesByTypeName:P}=(0,l.useMemo)(()=>{let e={};if(Array.isArray(w))for(let t of w){let n=t.typeName;e[n]||(e[n]=[]),e[n].push(t)}return{typeNames:Object.keys(e).sort(),templatesByTypeName:e}},[w]),F=(0,l.useMemo)(()=>{let e={};for(let t of Object.keys(P)){let n=P[t]??[];if(n.length===0)continue;let r=n.find(e=>e.variationName===`Starter`),i=n.filter(e=>e.variationName!==`Starter`);e[t]=(r?[r,...i]:n)[0].id}return e},[P]),I=(0,l.useMemo)(()=>{if(!Array.isArray(w)||w.find(e=>e.id===b)||w.length===0)return b;let e=N[0],t=e?P[e]??[]:[];return(t.find(e=>e.variationName===`Starter`)??t[0])?.id??b},[b,w,N,P]),L=(0,l.useMemo)(()=>!I||!Array.isArray(w)||w.length===0?null:w.find(e=>e.id===I)?.typeName??null,[I,w]),ee=(0,l.useMemo)(()=>{let e=L?P[L]??[]:[];if(e.length<=1)return e;let t=e.find(e=>e.variationName===`Starter`),n=e.filter(e=>e.variationName!==`Starter`);return t?[t,...n]:e},[L,P]);(0,l.useEffect)(()=>{I&&Vz(I)},[I]),(0,l.useEffect)(()=>{e&&n&&setTimeout(()=>{c(n),d(2),n===`webapp`&&(_(`My App`),y(!1),j(new Set))},0)},[e,n]),(0,l.useEffect)(()=>{s===`webapp`&&e&&(!Array.isArray(w)||w.length===0)&&setTimeout(()=>{D(!0),VB().then(e=>T(e?.templates||[])).catch(()=>T([])).finally(()=>D(!1))},0)},[s,e,w]);let te=(0,l.useMemo)(()=>v?g:L?`My ${L} App`:`My App`,[v,g,L]),ne=I&&Array.isArray(w)?w.find(e=>e.id===I):null,re=()=>{c(`webapp`),d(2),_(`My App`),y(!1),j(new Set),(!Array.isArray(w)||w.length===0)&&(D(!0),VB().then(e=>T(e?.templates||[])).catch(()=>T([])).finally(()=>D(!1)))},ie=()=>{c(`clone`),d(2)},ae=()=>{c(`folder`),d(3),_(``),y(!1)},oe=()=>{c(`choice`),d(1),p(``),_(`My App`),y(!1),j(new Set),t(!1)},se=()=>{if(s===`folder`){c(`choice`),d(1),p(``),_(`My App`),y(!1);return}u===2?(c(`choice`),d(1),p(``),_(`My App`),y(!1)):d(e=>e-1)},ce=s===`clone`?f.trim().length>0:s===`folder`?g.trim().length>0&&!!KW(g):L!==null,le=()=>{if(!f.trim())return;let e=f.trim();p(``),d(1),t(!1),c(`choice`),r(e,m).catch(()=>{})},ue=async()=>{if(!te.trim()||!I||!KW(te))return;if(ne?.variation===`vite-plus`){k(!0);try{if(!await HB()){if(!window.confirm(`Vite Plus is required for this template but is not installed.
|
|
47
47
|
|
|
48
48
|
Is it ok to install Vite Plus using the following command?
|
|
49
49
|
|
|
50
50
|
macOS / Linux: curl -fsSL https://vite.plus | bash
|
|
51
|
-
Windows: irm https://vite.plus/ps1 | iex`)){k(!1);return}let{success:e,error:t}=await UB();if(!e){window.alert(`Failed to install Vite Plus:\n${t||`Unknown error`}`),k(!1);return}}}catch(e){console.error(`Vite Plus check/install failed:`,e)}finally{k(!1)}}let e=te.trim();_(``),y(!1),d(1),t(!1),c(`choice`),i(e,I,S).catch(()=>{})},de=()=>{let e=g.trim();!e||!GW(e)||(_(``),y(!1),d(1),t(!1),c(`choice`),a(e).catch(()=>{}))},R=s===`choice`?1:u,fe=e=>e===1?R>1:e===2?R>=2:e===3?R>=2&&(s===`clone`?f.trim().length>0:ce):!1,pe=e=>{e===1?(c(`choice`),d(1),p(``),_(``)):d(e)};return(0,V.jsx)(PF,{open:e,onOpenChange:e=>!e&&oe(),children:(0,V.jsxs)(LF,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,children:[(0,V.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,V.jsxs)(`div`,{className:`mx-auto flex items-center gap-1 mb-6 w-2/3`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(1)&&pe(1),className:K(`flex items-center justify-center h-8 w-8 rounded-full shrink-0 transition-colors transition-transform duration-300 ease-out`,U.body,R===1?`bg-primary text-primary-foreground scale-110`:R>1?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(1)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 1`,children:`1`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:R>=2?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(2)&&pe(2),className:K(`flex items-center justify-center h-8 w-8 rounded-full shrink-0 transition-colors transition-transform duration-300 ease-out`,U.body,R===2?`bg-primary text-primary-foreground scale-110`:R>2?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(2)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 2`,children:`2`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:R>=3?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(3)&&pe(3),className:K(`flex items-center justify-center h-8 w-8 rounded-full shrink-0 transition-colors transition-transform duration-300 ease-out`,U.body,R===3?`bg-primary text-primary-foreground scale-110`:`bg-muted text-muted-foreground`,fe(3)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 3`,children:`3`})]}),(0,V.jsxs)(RF,{children:[(0,V.jsxs)(BF,{children:[R===1&&`New Project`,R===2&&s===`clone`&&`Clone Repository`,R===2&&s===`webapp`&&`Create App`,R===3&&s===`clone`&&`Clone Repository`,R===3&&s===`folder`&&`New Folder`,R===3&&s===`webapp`&&(L===`Capacitor Plugin`?`Create Capacitor Plugin`:L?`Create ${L} App`:`Create App`)]}),(0,V.jsxs)(VF,{children:[R===1&&`Choose how to add a new project.`,R===2&&s===`clone`&&`Enter a git repository URL to clone.`,R===2&&s===`webapp`&&`Choose a template type.`,R===3&&s===`clone`&&`Choose commit workflow.`,R===3&&s===`folder`&&`Enter a project name for the new folder.`,R===3&&s===`webapp`&&`Name your project and choose variation, package manager, and commit workflow.`]})]})]}),R===1&&(0,V.jsx)(JU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(Ez,{children:(0,V.jsx)(`div`,{className:`px-6 pt-[50px] pb-4`,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 sm:gap-y-[50px]`,children:[(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ae,children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(nx,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`Empty`})]})}),(0,V.jsx)(kz,{children:`Create an empty project folder in your Tarsk workspace`})]}),(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ie,children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(ap,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`Clone`})]})}),(0,V.jsx)(kz,{children:`Connect an existing repository by URL`})]}),(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>{oe(),o()},children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(_f,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`Open`})]})}),(0,V.jsx)(kz,{children:`Create a project from an existing local folder`})]}),(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:re,children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(cb,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`New App`})]})}),(0,V.jsx)(kz,{children:`Scaffold a new React, Vue, Next.js, or other template`})]})]})})})}),R===2&&s===`clone`&&(0,V.jsx)(JU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(JF,{htmlFor:`gitUrl`,children:`Repository URL`}),(0,V.jsx)(HF,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:f,onChange:e=>p(e.target.value),onKeyDown:e=>e.key===`Enter`&&ce&&d(3),autoFocus:!0})]})})}),R===2&&s===`webapp`&&(0,V.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2 p-1 mr-2`,children:E?(0,V.jsx)(`p`,{className:K(U.bodyMuted,`col-span-full p-4`),children:`Loading…`}):N.map(e=>{let t=P[e]?.[0]?.type,n=t?WW[t]:null,r=L===e;return(0,V.jsxs)(`button`,{type:`button`,onClick:()=>x(F[e]??``),onDoubleClick:()=>{x(F[e]??``),d(3)},className:K(`flex flex-col items-center gap-1 rounded-lg px-3 py-3 text-center transition-colors`,r?`text-accent-foreground`:`text-foreground`),children:[(0,V.jsx)(`div`,{className:K(`flex size-16 shrink-0 items-center justify-center rounded-xl transition-colors`,r?`bg-brand/15 text-brand`:`bg-transparent text-muted-foreground group-hover:bg-brand/15 group-hover:text-brand`),children:n?(0,V.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:K(`size-8 shrink-0 transition-opacity duration-300`,A.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>M(n),"aria-hidden":!0}):null}),(0,V.jsx)(`span`,{className:K(U.body,`font-medium truncate w-full`),children:e})]},e)})})})})}),R===3&&s===`folder`&&(0,V.jsx)(JU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(JF,{htmlFor:`folderProjectName`,children:`Project name`}),(0,V.jsx)(HF,{id:`folderProjectName`,placeholder:`My Project`,value:g,onChange:e=>{_(e.target.value),y(!0)},onKeyDown:e=>e.key===`Enter`&&ce&&de(),autoFocus:!0,className:`w-full`})]}),(0,V.jsxs)(`p`,{className:U.bodyMuted,children:[`Folder name: `,GW(g)||`project-name`]})]})}),R===3&&s===`webapp`&&(0,V.jsx)(JU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(JF,{htmlFor:`projectName`,children:`Project name`}),(0,V.jsx)(HF,{id:`projectName`,placeholder:`My App`,value:te,onChange:e=>{_(e.target.value),y(!0)},className:`w-full`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[ee.length>1&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(JF,{children:`Variation`}),(0,V.jsx)(VW,{type:`single`,value:I,onValueChange:e=>e&&x(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:ee.map(e=>(0,V.jsx)(HW,{value:e.id,className:U.body,children:e.variationName},e.id))})]}),(0,V.jsxs)(`p`,{className:U.bodyMuted,children:[ne?.description??ee[0]?.description??``,ne?.url&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsxs)(`a`,{href:ne.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,V.jsx)(fu,{className:`h-3 w-3`})]})]})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(JF,{children:`Package manager`}),(0,V.jsx)(VW,{type:`single`,value:S,onValueChange:e=>{e&&(C(e),Lz(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:Object.values(qA).map(e=>(0,V.jsx)(HW,{value:e.id,className:U.body,children:e.label},e.id))})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(JF,{children:`Commit method`}),(0,V.jsxs)(VW,{type:`single`,value:m,onValueChange:e=>{(e===H.PullRequest||e===H.Direct)&&(h(e),zz(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(HW,{value:H.PullRequest,className:U.body,children:`Pull Requests`}),(0,V.jsx)(HW,{value:H.Direct,className:U.body,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:U.bodyMuted,children:m===H.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})]})}),R===3&&s===`clone`&&(0,V.jsx)(JU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(JF,{children:`Commit method`}),(0,V.jsxs)(VW,{type:`single`,value:m,onValueChange:e=>{(e===H.PullRequest||e===H.Direct)&&(h(e),zz(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(HW,{value:H.PullRequest,className:U.body,children:`Pull Requests`}),(0,V.jsx)(HW,{value:H.Direct,className:U.body,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:U.bodyMuted,children:m===H.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})})}),(0,V.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10 min-h-[4.5rem] flex flex-col justify-end`,children:(0,V.jsxs)(zF,{children:[R>1&&(0,V.jsx)(yM,{variant:`ghost`,onClick:se,children:`Back`}),R===2&&(0,V.jsx)(yM,{onClick:()=>d(3),disabled:!ce,children:`Next`}),R===3&&s===`clone`&&(0,V.jsx)(yM,{onClick:le,children:`Clone Repository`}),R===3&&s===`folder`&&(0,V.jsx)(yM,{onClick:de,disabled:!g.trim()||!GW(g),children:`Create Folder`}),R===3&&s===`webapp`&&(0,V.jsx)(yM,{onClick:ue,disabled:!te.trim()||O,children:O?`Preparing...`:`Create App`})]})})]})})}export{eV as $,As as $a,DC as $i,Kz as $n,zM as $r,OH as $t,gH as A,Up as Aa,FA as Ai,$ as An,RF as Ar,tU as At,PV as B,cf as Ba,vO as Bi,pB as Bn,xF as Br,$V as Bt,rH as C,__ as Ca,U as Ci,EV as Cn,JF as Cr,qB as Ct,pV as D,gh as Da,JA as Di,SH as Dn,LF as Dr,AH as Dt,MH as E,ag as Ea,XA as Ei,AV as En,PF as Er,kH as Et,NH as F,lp as Fa,wA as Fi,bB as Fn,kF as Fr,eH as Ft,gV as G,mu as Ga,ZE as Gi,fB as Gn,xN as Gr,qH as Gt,NV as H,hd as Ha,cO as Hi,iB as Hn,GP as Hr,KV as Ht,mV as I,op as Ia,Gk as Ii,SB as In,OF as Ir,GV as It,YV as J,Al as Ja,aE as Ji,Hz as Jn,tN as Jr,XB as Jt,WV as K,fu as Ka,ME as Ki,jz as Kn,yN as Kr,fV as Kt,aU as L,ap as La,gk as Li,Z as Ln,EF as Lr,QV as Lt,XH as M,Tp as Ma,B as Mi,Q as Mn,NF as Mr,uH as Mt,dV as N,yp as Na,jA as Ni,X as Nn,AF as Nr,UV as Nt,iU as O,Jm as Oa,H as Oi,hV as On,VF as Or,jH as Ot,$H as P,vp as Pa,DA as Pi,hB as Pn,MF as Pr,hH as Pt,FV as Q,Mc as Qa,OC as Qi,eB as Qn,J as Qr,TV as Qt,_H as R,Of as Ra,pk as Ri,xB as Rn,jF as Rr,XV as Rt,iH as S,w_ as Sa,ej as Si,$B as Sn,hR as Sr,iV as St,WB as T,_g as Ta,YA as Ti,kV as Tn,HF as Tr,GB as Tt,IV as U,Ru as Ua,HD as Ui,aB as Un,IP as Ur,tH as Ut,RV as V,wd as Va,_O as Vi,dB as Vn,JP as Vr,qV as Vt,MV as W,hu as Wa,dD as Wi,uB as Wn,EN as Wr,JV as Wt,QB as X,Hc as Xa,Ew as Xi,Qz as Xn,eN as Xr,DV as Xt,ZB as Y,Jc as Ya,Iw as Yi,Wz as Yn,qM as Yr,oV as Yt,LV as Z,Pc as Za,PC as Zi,Xz as Zn,Y as Zr,OV as Zt,FH as _,Ev as _a,dj as _i,BH as _n,c as _o,FR as _r,cV as _t,gW as a,TS as aa,xM as ai,YH as an,Ua as ao,$z as ar,nH as at,VV as b,tv as ba,aj as bi,vH as bn,PR as br,dH as bt,JU as c,nx as ca,vM as ci,nU as cn,Aa as co,Yz as cr,JH as ct,zB as d,cb as da,hM as di,yH as dn,gr as do,Dz as dr,WH as dt,EC as ea,MM as ei,aH as en,Xo as eo,Jz as er,vV as et,RB as f,sb as fa,gM as fi,wV as fn,Pt as fo,kz as fr,ZH as ft,SV as g,Dv as ga,lj as gi,HH as gn,He as go,BR as gr,tV as gt,EH as h,Py as ha,mj as hi,zH as hn,Qe as ho,RR as hr,KH as ht,_W as i,KS as ia,CM as ii,HV as in,Wa as io,Gz as ir,wH as it,sH as j,Lp as ja,NA as ji,wB as jn,BF as jr,eU as jt,rU as k,Am as ka,VA as ki,kB as kn,zF as kr,mH as kt,cU as l,Qb as la,K as li,_V as ln,Wr as lo,Fz as lr,TH as lt,LH as m,Gy as ma,hj as mi,pH as mn,at as mo,Oz as mr,UH as mt,VW as n,gC as na,OM as ni,fH as nn,ho as no,nB as nr,yV as nt,iW as o,CS as oa,q as oi,YB as on,Ha as oo,tB as or,nV as ot,RH as p,Yy as pa,bj as pi,bH as pn,yt as po,Ez as pr,GH as pt,BV as q,Il as qa,gE as qi,Zz as qn,oN as qr,xH as qt,HW as r,dC as ra,EM as ri,oH as rn,io as ro,Uz as rr,PH as rt,XU as s,lS as sa,yM as si,JB as sn,za as so,qz as sr,rV as st,UW as t,vC as ta,FM as ti,lH as tn,Vo as to,Pz as tr,IH as tt,sU as u,Sb as ua,_M as ui,bV as un,Rr as uo,rB as ur,cH as ut,CV as v,fv as va,uj as vi,VH as vn,o as vo,LR as vr,QH as vt,aV as w,Eg as wa,$A as wi,jV as wn,UF as wr,KB as wt,sV as x,Q_ as xa,tj as xi,uV as xn,vR as xr,CH as xt,DH as y,lv as ya,oj as yi,xV as yn,i as yo,IR as yr,lV as yt,zV as z,_f as za,JO as zi,lB as zn,DF as zr,ZV as zt};
|
|
51
|
+
Windows: irm https://vite.plus/ps1 | iex`)){k(!1);return}let{success:e,error:t}=await UB();if(!e){window.alert(`Failed to install Vite Plus:\n${t||`Unknown error`}`),k(!1);return}}}catch(e){console.error(`Vite Plus check/install failed:`,e)}finally{k(!1)}}let e=te.trim();_(``),y(!1),d(1),t(!1),c(`choice`),i(e,I,S).catch(()=>{})},de=()=>{let e=g.trim();!e||!KW(e)||(_(``),y(!1),d(1),t(!1),c(`choice`),a(e).catch(()=>{}))},R=s===`choice`?1:u,fe=e=>e===1?R>1:e===2?R>=2:e===3?R>=2&&(s===`clone`?f.trim().length>0:ce):!1,pe=e=>{e===1?(c(`choice`),d(1),p(``),_(``)):d(e)};return(0,V.jsx)(PF,{open:e,onOpenChange:e=>!e&&oe(),children:(0,V.jsxs)(LF,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,children:[(0,V.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,V.jsxs)(`div`,{className:`mx-auto flex items-center gap-1 mb-6 w-2/3`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(1)&&pe(1),className:K(`flex items-center justify-center h-8 w-8 rounded-full shrink-0 transition-colors transition-transform duration-300 ease-out`,U.body,R===1?`bg-primary text-primary-foreground scale-110`:R>1?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(1)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 1`,children:`1`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:R>=2?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(2)&&pe(2),className:K(`flex items-center justify-center h-8 w-8 rounded-full shrink-0 transition-colors transition-transform duration-300 ease-out`,U.body,R===2?`bg-primary text-primary-foreground scale-110`:R>2?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(2)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 2`,children:`2`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:R>=3?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(3)&&pe(3),className:K(`flex items-center justify-center h-8 w-8 rounded-full shrink-0 transition-colors transition-transform duration-300 ease-out`,U.body,R===3?`bg-primary text-primary-foreground scale-110`:`bg-muted text-muted-foreground`,fe(3)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 3`,children:`3`})]}),(0,V.jsxs)(RF,{children:[(0,V.jsxs)(BF,{children:[R===1&&`New Project`,R===2&&s===`clone`&&`Clone Repository`,R===2&&s===`webapp`&&`Create App`,R===3&&s===`clone`&&`Clone Repository`,R===3&&s===`folder`&&`New Folder`,R===3&&s===`webapp`&&(L===`Capacitor Plugin`?`Create Capacitor Plugin`:L?`Create ${L} App`:`Create App`)]}),(0,V.jsxs)(VF,{children:[R===1&&`Choose how to add a new project.`,R===2&&s===`clone`&&`Enter a git repository URL to clone.`,R===2&&s===`webapp`&&`Choose a template type.`,R===3&&s===`clone`&&`Choose commit workflow.`,R===3&&s===`folder`&&`Enter a project name for the new folder.`,R===3&&s===`webapp`&&`Name your project and choose variation, package manager, and commit workflow.`]})]})]}),R===1&&(0,V.jsx)(YU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(Ez,{children:(0,V.jsx)(`div`,{className:`px-6 pt-[50px] pb-4`,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 sm:gap-y-[50px]`,children:[(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ae,children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(nx,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`Empty`})]})}),(0,V.jsx)(kz,{children:`Create an empty project folder in your Tarsk workspace`})]}),(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ie,children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(ap,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`Clone`})]})}),(0,V.jsx)(kz,{children:`Connect an existing repository by URL`})]}),(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>{oe(),o()},children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(_f,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`Open`})]})}),(0,V.jsx)(kz,{children:`Create a project from an existing local folder`})]}),(0,V.jsxs)(Dz,{children:[(0,V.jsx)(Oz,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`group flex flex-col items-center gap-1.5 rounded-lg bg-transparent p-0 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:re,children:[(0,V.jsx)(`div`,{className:`flex h-16 w-16 shrink-0 items-center justify-center rounded-xl bg-brand/10 text-brand transition-colors group-hover:bg-brand group-hover:text-brand-foreground`,children:(0,V.jsx)(cb,{className:`h-8 w-8`})}),(0,V.jsx)(`p`,{className:U.label,children:`New App`})]})}),(0,V.jsx)(kz,{children:`Scaffold a new React, Vue, Next.js, or other template`})]})]})})})}),R===2&&s===`clone`&&(0,V.jsx)(YU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(JF,{htmlFor:`gitUrl`,children:`Repository URL`}),(0,V.jsx)(HF,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:f,onChange:e=>p(e.target.value),onKeyDown:e=>e.key===`Enter`&&ce&&d(3),autoFocus:!0})]})})}),R===2&&s===`webapp`&&(0,V.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2 p-1 mr-2`,children:E?(0,V.jsx)(`p`,{className:K(U.bodyMuted,`col-span-full p-4`),children:`Loading…`}):N.map(e=>{let t=P[e]?.[0]?.type,n=t?GW[t]:null,r=L===e;return(0,V.jsxs)(`button`,{type:`button`,onClick:()=>x(F[e]??``),onDoubleClick:()=>{x(F[e]??``),d(3)},className:K(`flex flex-col items-center gap-1 rounded-lg px-3 py-3 text-center transition-colors`,r?`text-accent-foreground`:`text-foreground`),children:[(0,V.jsx)(`div`,{className:K(`flex size-16 shrink-0 items-center justify-center rounded-xl transition-colors`,r?`bg-brand/15 text-brand`:`bg-transparent text-muted-foreground group-hover:bg-brand/15 group-hover:text-brand`),children:n?(0,V.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:K(`size-8 shrink-0 transition-opacity duration-300`,A.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>M(n),"aria-hidden":!0}):null}),(0,V.jsx)(`span`,{className:K(U.body,`font-medium truncate w-full`),children:e})]},e)})})})})}),R===3&&s===`folder`&&(0,V.jsx)(YU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(JF,{htmlFor:`folderProjectName`,children:`Project name`}),(0,V.jsx)(HF,{id:`folderProjectName`,placeholder:`My Project`,value:g,onChange:e=>{_(e.target.value),y(!0)},onKeyDown:e=>e.key===`Enter`&&ce&&de(),autoFocus:!0,className:`w-full`})]}),(0,V.jsxs)(`p`,{className:U.bodyMuted,children:[`Folder name: `,KW(g)||`project-name`]})]})}),R===3&&s===`webapp`&&(0,V.jsx)(YU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(JF,{htmlFor:`projectName`,children:`Project name`}),(0,V.jsx)(HF,{id:`projectName`,placeholder:`My App`,value:te,onChange:e=>{_(e.target.value),y(!0)},className:`w-full`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[ee.length>1&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(JF,{children:`Variation`}),(0,V.jsx)(HW,{type:`single`,value:I,onValueChange:e=>e&&x(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:ee.map(e=>(0,V.jsx)(UW,{value:e.id,className:U.body,children:e.variationName},e.id))})]}),(0,V.jsxs)(`p`,{className:U.bodyMuted,children:[ne?.description??ee[0]?.description??``,ne?.url&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsxs)(`a`,{href:ne.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,V.jsx)(fu,{className:`h-3 w-3`})]})]})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(JF,{children:`Package manager`}),(0,V.jsx)(HW,{type:`single`,value:S,onValueChange:e=>{e&&(C(e),Lz(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:Object.values(qA).map(e=>(0,V.jsx)(UW,{value:e.id,className:U.body,children:e.label},e.id))})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(JF,{children:`Commit method`}),(0,V.jsxs)(HW,{type:`single`,value:m,onValueChange:e=>{(e===H.PullRequest||e===H.Direct)&&(h(e),zz(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(UW,{value:H.PullRequest,className:U.body,children:`Pull Requests`}),(0,V.jsx)(UW,{value:H.Direct,className:U.body,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:U.bodyMuted,children:m===H.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})]})}),R===3&&s===`clone`&&(0,V.jsx)(YU,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(JF,{children:`Commit method`}),(0,V.jsxs)(HW,{type:`single`,value:m,onValueChange:e=>{(e===H.PullRequest||e===H.Direct)&&(h(e),zz(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(UW,{value:H.PullRequest,className:U.body,children:`Pull Requests`}),(0,V.jsx)(UW,{value:H.Direct,className:U.body,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:U.bodyMuted,children:m===H.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})})}),(0,V.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10 min-h-[4.5rem] flex flex-col justify-end`,children:(0,V.jsxs)(zF,{children:[R>1&&(0,V.jsx)(yM,{variant:`ghost`,onClick:se,children:`Back`}),R===2&&(0,V.jsx)(yM,{onClick:()=>d(3),disabled:!ce,children:`Next`}),R===3&&s===`clone`&&(0,V.jsx)(yM,{onClick:le,children:`Clone Repository`}),R===3&&s===`folder`&&(0,V.jsx)(yM,{onClick:de,disabled:!g.trim()||!KW(g),children:`Create Folder`}),R===3&&s===`webapp`&&(0,V.jsx)(yM,{onClick:ue,disabled:!te.trim()||O,children:O?`Preparing...`:`Create App`})]})})]})})}export{eV as $,Pc as $a,OC as $i,eB as $n,J as $r,UV as $t,_H as A,Jm as Aa,VA as Ai,kB as An,zF as Ar,nU as At,PV as B,Of as Ba,JO as Bi,lB as Bn,DF as Br,eH as Bt,iH as C,Q_ as Ca,ej as Ci,$B as Cn,hR as Cr,qB as Ct,pV as D,_g as Da,XA as Di,AV as Dn,PF as Dr,jH as Dt,NH as E,Eg as Ea,YA as Ei,kV as En,HF as Er,AH as Et,PH as F,yp as Fa,DA as Fi,hB as Fn,MF as Fr,tH as Ft,gV as G,Ru as Ga,dD as Gi,uB as Gn,EN as Gr,JH as Gt,NV as H,cf as Ha,_O as Hi,dB as Hn,JP as Hr,qV as Ht,mV as I,vp as Ia,wA as Ii,bB as In,kF as Ir,KV as It,XV as J,fu as Ja,gE as Ji,Zz as Jn,oN as Jr,XB as Jt,GV as K,hu as Ka,ZE as Ki,fB as Kn,xN as Kr,fV as Kt,oU as L,lp as La,Gk as Li,SB as Ln,OF as Lr,$V as Lt,ZH as M,Up as Ma,NA as Mi,wB as Mn,BF as Mr,dH as Mt,dV as N,Lp as Na,B as Ni,Q as Nn,NF as Nr,WV as Nt,aU as O,ag as Oa,JA as Oi,CH as On,LF as Or,MH as Ot,eU as P,Tp as Pa,jA as Pi,X as Pn,AF as Pr,gH as Pt,FV as Q,Hc as Qa,PC as Qi,Xz as Qn,Y as Qr,TV as Qt,vH as R,op as Ra,gk as Ri,Z as Rn,EF as Rr,ZV as Rt,aH as S,tv as Sa,tj as Si,uV as Sn,vR as Sr,iV as St,WB as T,__ as Ta,$A as Ti,jV as Tn,UF as Tr,GB as Tt,IV as U,wd as Ua,cO as Ui,iB as Un,GP as Ur,nH as Ut,RV as V,_f as Va,vO as Vi,pB as Vn,xF as Vr,JV as Vt,MV as W,hd as Wa,HD as Wi,aB as Wn,IP as Wr,YV as Wt,QB as X,Al as Xa,Iw as Xi,Wz as Xn,qM as Xr,DV as Xt,ZB as Y,Il as Ya,aE as Yi,Hz as Yn,tN as Yr,oV as Yt,LV as Z,Jc as Za,Ew as Zi,Qz as Zn,eN as Zr,OV as Zt,IH as _,Py as _a,lj as _i,UH as _n,Qe as _o,BR as _r,cV as _t,_W as a,KS as aa,CM as ai,HV as an,io as ao,Gz as ar,rH as at,VV as b,fv as ba,oj as bi,xV as bn,o as bo,IR as br,fH as bt,YU as c,lS as ca,yM as ci,JB as cn,Ha as co,qz as cr,YH as ct,zB as d,Qb as da,_M as di,bV as dn,Wr as do,rB as dr,GH as dt,DC as ea,zM as ei,kH as en,Mc as eo,Kz as er,vV as et,RB as f,Sb as fa,hM as fi,bH as fn,Rr as fo,Dz as fr,QH as ft,SV as g,Gy as ga,mj as gi,BH as gn,at as go,RR as gr,tV as gt,DH as h,Yy as ha,hj as hi,mH as hn,yt as ho,Oz as hr,qH as ht,vW as i,dC as ia,EM as ii,sH as in,ho as io,Uz as ir,TH as it,cH as j,Am as ja,FA as ji,$ as jn,RF as jr,tU as jt,iU as k,gh as ka,H as ki,hV as kn,VF as kr,hH as kt,lU as l,rS as la,vM as li,rU as ln,za as lo,Yz as lr,EH as lt,RH as m,sb as ma,bj as mi,xH as mn,Pt as mo,Ez as mr,WH as mt,HW as n,vC as na,FM as ni,uH as nn,Xo as no,Pz as nr,yV as nt,aW as o,TS as oa,xM as oi,XH as on,Wa as oo,$z as or,nV as ot,zH as p,cb as pa,gM as pi,wV as pn,gr as po,kz as pr,KH as pt,BV as q,mu as qa,ME as qi,jz as qn,yN as qr,SH as qt,UW as r,gC as ra,OM as ri,pH as rn,Vo as ro,nB as rr,FH as rt,ZU as s,CS as sa,q as si,YB as sn,Ua as so,tB as sr,rV as st,WW as t,EC as ta,MM as ti,oH as tn,As as to,Jz as tr,LH as tt,cU as u,nx as ua,K as ui,_V as un,Aa as uo,Fz as ur,lH as ut,CV as v,Dv as va,dj as vi,VH as vn,He as vo,FR as vr,$H as vt,aV as w,w_ as wa,U as wi,EV as wn,JF as wr,KB as wt,sV as x,lv as xa,aj as xi,yH as xn,i as xo,PR as xr,wH as xt,OH as y,Ev as ya,uj as yi,HH as yn,c as yo,LR as yr,lV as yt,zV as z,ap as za,pk as zi,xB as zn,jF as zr,QV as zt};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ar as t,Ba as n,Ca as r,Dr as i,G as a,Ii as o,Mr as s,Or as c,Q as l,Ta as u,Ua as d,Ut as f,Va as p,c as m,ci as h,co as ee,fr as g,ga as _,ha as v,hr as y,it as b,ji as x,jr as S,kn as C,kt as w,pr as T,sa as E,so as D,ui as O,wi as k,xa as A,xo as j,yo as M}from"./dialogs-config-DZKtVbNK.js";import{C as N}from"./react-vendor-Ba8DSNiO.js";import{t as P}from"./monaco-CZnIWXyV.js";import{c as F}from"./onboarding-CxtzQldG.js";import{O as I,a as te,l as ne,n as L,o as re}from"./history-view-jX3PPID6.js";import{n as ie}from"./utils-BlXPFbY9.js";import{A as ae,D as oe,O as se,a as ce,i as le,j as ue,k as de,n as fe,p as pe,r as me,u as he}from"./index-CbJ3v0Sr.js";import{a as R,n as z,r as ge,t as _e}from"./context-menu-C7FTMa2c.js";var B=e(j(),1),V=M(),H=x();function ve(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:k.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)(m,{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 ye(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 be={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},U={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function W(e){return O(O(k.compact,`status-badge font-mono font-semibold`),be[e]??`text-orange-500`)}function G(e){return U[e]??`M`}var xe=I(e=>(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsxs)(`span`,{className:e.v0,children:[e.v1,` file`,e.v2]}),(0,H.jsxs)(`span`,{className:e.v3,children:[`+`,e.v4]}),(0,H.jsxs)(`span`,{className:e.v5,children:[`-`,e.v6]})]}),{name:`JSX_stats_1`,portals:[`v1`,`v2`,`v4`,`v6`]}),K=I(e=>e.v0,{name:`DiffTree_1`,portals:[`v0`]}),Se=I(e=>e.v0,{name:`DiffTree_2`,portals:[`v0`]}),q=I(e=>e.v0,{name:`DiffTree_3`,portals:[`v0`]}),Ce=function(e){let t=(0,V.c)(32),{treeData:r,files:i,error:a,selectedFileIndex:o,onFileSelect:s,onRevertFile:c}=e,l;t[0]===i?l=t[1]:(l=i.reduce(we,0),t[0]=i,t[1]=l);let u=l,f;t[2]===i?f=t[3]:(f=i.reduce(X,0),t[2]=i,t[3]=f);let m=f,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=O(k.compact,`text-muted-foreground`),t[4]=h):h=t[4];let ee=i.length,g=i.length===1?``:`s`,_;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=O(k.compact,`text-green-500`),t[5]=_):_=t[5];let v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=O(k.compact,`text-red-500`),t[6]=v):v=t[6];let y;t[7]!==i.length||t[8]!==g||t[9]!==u||t[10]!==m?(y=(0,H.jsx)(xe,{v0:h,v1:ee,v2:g,v3:_,v4:u,v5:v,v6:m}),t[7]=i.length,t[8]=g,t[9]=u,t[10]=m,t[11]=y):y=t[11];let b=y;if(a){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=O(k.compact,`text-destructive text-center`),t[12]=e):e=t[12];let n;t[13]===a?n=t[14]:(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:a})}),t[13]=a,t[14]=n);let r;return t[15]!==b||t[16]!==n?(r=(0,H.jsx)(K,{v0:(0,H.jsx)(ve,{title:`Review Changes`,headerAction:b,children:n})}),t[15]=b,t[16]=n,t[17]=r):r=t[17],r}if(i.length===0){let e;t[18]===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:O(k.compact,k.bodyMuted,`text-center`),children:`No changes to review`})}),t[18]=e):e=t[18];let n;return t[19]===b?n=t[20]:(n=(0,H.jsx)(Se,{v0:(0,H.jsx)(ve,{title:`Review Changes`,headerAction:b,children:e})}),t[19]=b,t[20]=n),n}let x;t[21]!==i||t[22]!==s||t[23]!==c||t[24]!==o?(x=(e,t)=>{let{isOpen:r,toggle:a}=t,l=!!e.children,u=(0,H.jsxs)(F,{onClick:()=>{l?a():e.fileIndex!==void 0&&s(e.fileIndex)},selected:!l&&e.fileIndex===o,className:`gap-1.5`,children:[l?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(D,{className:O(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,r&&`rotate-90`)}),r?(0,H.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,H.jsx)(n,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,H.jsx)(d,{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}),!l&&e.status&&(0,H.jsx)(`span`,{className:W(e.status),children:G(e.status)})]});return l?u:(0,H.jsxs)(_e,{children:[(0,H.jsx)(R,{asChild:!0,children:u}),(0,H.jsx)(z,{children:(0,H.jsxs)(ge,{onClick:()=>{e.fileIndex!==void 0&&c?.(i[e.fileIndex])},children:[(0,H.jsx)(E,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[21]=i,t[22]=s,t[23]=c,t[24]=o,t[25]=x):x=t[25];let S;t[26]!==x||t[27]!==r?(S=(0,H.jsx)(`div`,{className:`flex-1 overflow-y-auto pt-3 pb-2 px-1`,children:(0,H.jsx)(oe,{nodes:r,defaultOpen:!0,resetKey:r,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:x})}),t[26]=x,t[27]=r,t[28]=S):S=t[28];let C;return t[29]!==b||t[30]!==S?(C=(0,H.jsx)(q,{v0:(0,H.jsx)(ve,{title:`Review Changes`,headerAction:b,children:S})}),t[29]=b,t[30]=S,t[31]=C):C=t[31],C};function J(e){return e.type===`add`}function Y(e,t){return e+t.changes.filter(J).length}function we(e,t){return e+t.hunks.reduce(Y,0)}function Te(e){return e.type===`delete`}function Ee(e,t){return e+t.changes.filter(Te).length}function X(e,t){return e+t.hunks.reduce(Ee,0)}function De(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)(fe,{withHandle:!0,className:r}),t[0]=r,t[1]=i),i}function Oe(e){let n=(0,V.c)(36),{open:r,lineNumber:a,lineContent:o,initialComment:l,isEditing:u,onSave:d,onDelete:f,onClose:p}=e,[m,ee]=(0,B.useState)((l===void 0?``:l)??``),g;n[0]!==d||n[1]!==m?(g=()=>{m.trim()&&d(m.trim())},n[0]=d,n[1]=m,n[2]=g):g=n[2];let _=g,v;n[3]===_?v=n[4]:(v=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),_())},n[3]=_,n[4]=v);let y=v,b;n[5]===p?b=n[6]:(b=e=>{e||p()},n[5]=p,n[6]=b);let x;n[7]===a?x=n[8]:(x=(0,H.jsx)(S,{children:(0,H.jsxs)(s,{children:[`Comment on line `,a]})}),n[7]=a,n[8]=x);let C;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(C=O(k.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),n[9]=C):C=n[9];let w=o||` `,T;n[10]===w?T=n[11]:(T=(0,H.jsx)(`div`,{className:C,children:w}),n[10]=w,n[11]=T);let E;n[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>ee(e.target.value),n[12]=E):E=n[12];let D;n[13]!==y||n[14]!==m?(D=(0,H.jsx)(se,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:m,onChange:E,onKeyDown:y,rows:12,className:`resize-none text-base`}),n[13]=y,n[14]=m,n[15]=D):D=n[15];let A;n[16]!==u||n[17]!==f?(A=u&&f&&(0,H.jsx)(h,{variant:`destructive`,size:`sm`,onClick:f,className:`mr-auto`,children:`Delete`}),n[16]=u,n[17]=f,n[18]=A):A=n[18];let j;n[19]===m?j=n[20]:(j=m.trim(),n[19]=m,n[20]=j);let M=!j,N;n[21]!==_||n[22]!==M?(N=(0,H.jsx)(h,{size:`sm`,onClick:_,disabled:M,children:`Save`}),n[21]=_,n[22]=M,n[23]=N):N=n[23];let P;n[24]!==A||n[25]!==N?(P=(0,H.jsxs)(t,{className:`gap-2 sm:gap-0`,children:[A,N]}),n[24]=A,n[25]=N,n[26]=P):P=n[26];let F;n[27]!==D||n[28]!==P||n[29]!==x||n[30]!==T?(F=(0,H.jsxs)(c,{className:`max-w-2xl`,children:[x,T,D,P]}),n[27]=D,n[28]=P,n[29]=x,n[30]=T,n[31]=F):F=n[31];let I;return n[32]!==r||n[33]!==F||n[34]!==b?(I=(0,H.jsx)(i,{open:r,onOpenChange:b,children:F}),n[32]=r,n[33]=F,n[34]=b,n[35]=I):I=n[35],I}function ke(e,t){return`git-diff:${e}:${t}`}function Ae({threadId:e,onExit:t,loadVersion:n}){let i=te(ke(e,n),()=>b(e)),s=ae(),c=ue(e=>e.diffComments),d=ue(e=>e.projectModelSelections),{resolvedTheme:p}=ie(),m=pe(),[x,S]=(0,B.useState)(i.files||[]),[E,j]=(0,B.useState)(null),[M,F]=(0,B.useState)(0),[I,ne]=(0,B.useState)(!1),[L,re]=(0,B.useState)(!1),[oe,se]=(0,B.useState)(!1),[fe,R]=(0,B.useState)(!0),z=(0,B.useRef)(null);(0,B.useEffect)(()=>{R(!0)},[e]);let ge=(0,B.useCallback)(e=>{F(e),m&&R(!1)},[m]),_e=(0,B.useCallback)(()=>{R(!0)},[]),V=m&&!fe,ve=m&&fe,be=m&&!fe,U=(0,B.useMemo)(()=>c[e]??[],[c,e]),W=(0,B.useCallback)(t=>{let n=c[e]??[],r=typeof t==`function`?t(n):t;s({type:de.SetDiffComments,threadId:e,comments:r})},[s,e,c]),[G,xe]=(0,B.useState)(null),[K,Se]=(0,B.useState)(null),[q,J]=(0,B.useState)(null),Y=(0,B.useRef)(null),we=(0,B.useRef)(U),Te=(0,B.useRef)(G),Ee=(0,B.useRef)({isFullView:I,selectedFileIndex:M,files:x}),X=(0,B.useRef)({original:[],modified:[]}),Ae=(0,B.useRef)(!0);(0,B.useEffect)(()=>{we.current=U},[U]),(0,B.useEffect)(()=>{Te.current=G},[G]),(0,B.useEffect)(()=>{Ee.current={isFullView:I,selectedFileIndex:M,files:x}},[I,M,x]);let je=(0,B.useCallback)(()=>{z.current&&(L?z.current.expand():z.current.collapse())},[L]),Me=(0,B.useCallback)(async()=>{if(e){j(null);try{S((await b(e)).files||[]),F(0)}catch(e){j(e instanceof Error?e.message:`Failed to load diff`)}}},[e]),Ne=(0,B.useCallback)(async t=>{try{await f(e,t.path),await Me()}catch(e){j(e instanceof Error?e.message:`Failed to revert file`)}},[e,Me]),Pe=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if((c[e]??[]).length>0){Pe.current=!0;return}w(e).then(t=>{t.diffComments&&t.diffComments.length>0&&s({type:de.SetDiffComments,threadId:e,comments:t.diffComments}),Pe.current=!0}).catch(()=>{Pe.current=!0})},[e]),(0,B.useEffect)(()=>{Pe.current&&C(e,{diffComments:U}).catch(()=>{})},[e,U]);let Fe=(0,B.useMemo)(()=>ye(x),[x]),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=x[M],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}=Ee.current,i=we.current,a=Te.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:P.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:P.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,M,I,Q]),(0,B.useEffect)(()=>()=>{Y.current=null,X.current={original:[],modified:[]}},[M]),(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===P.MouseTargetType.GUTTER_GLYPH_MARGIN||e===P.MouseTargetType.GUTTER_LINE_NUMBERS||e===P.MouseTargetType.GUTTER_LINE_DECORATIONS||e===P.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}=Ee.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=we.current.find(e=>e.fileIndex===o&&e.lineNumber===u&&e.side===n);f?J(f):Se({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:M,lineNumber:K.lineNumber,lineContent:K.lineContent,comment:e,side:K.side};W(e=>[...e,t]),Se(null)}else q&&(W(t=>t.map(t=>t.id===q.id?{...t,comment:e}:t)),J(null))},[K,q,Q,M,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];xe(t),F(n.fileIndex),m&&R(!1),setTimeout(()=>{let e=Y.current;if(!e)return;let t=x[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,x,I,$,m]),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 n=d[e];if(!n)try{let e=await l(),t=Object.values(e).flat();if(t.length>0)n=t[0];else{console.error(`No models available to process comments`);return}}catch(e){console.error(`Failed to load models:`,e);return}let r=n.id,i=n.provider;try{let{prompt:n}=await a(e,U);W([]),s({type:de.SetPendingChatMessage,message:{threadId:e,message:n,model:r,provider:i}}),t()}catch(e){console.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[U,d,s,e,t,W]),Je={readOnly:!0,renderSideBySide:!m,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)(le,{direction:`horizontal`,children:[(0,H.jsx)(me,{ref:z,defaultSize:m?100:25,minSize:m?50:12,maxSize:m?100:40,collapsible:!0,collapsedSize:0,onCollapse:()=>re(!0),onExpand:()=>re(!1),className:O(`border-r border-transparent`,V&&`hidden`),children:(0,H.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,H.jsx)(Ce,{treeData:Fe,files:x,error:E,selectedFileIndex:M,onFileSelect:ge,onRevertFile:Ne})})}),!m&&(0,H.jsx)(De,{isOpen:!L}),(0,H.jsx)(me,{className:O(`overflow-hidden bg-transparent`,ve&&`hidden`),children:(0,H.jsxs)(`div`,{className:`diff-editor-panel flex h-full bg-transparent flex-col overflow-hidden`,children:[(0,H.jsxs)(ce,{className:O(`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)(h,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:_e,children:[(0,H.jsx)(v,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):(0,H.jsxs)(h,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:je,children:[L?(0,H.jsx)(v,{className:`h-4 w-4`}):(0,H.jsx)(_,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),(0,H.jsx)(`span`,{className:O(k.label,`text-foreground`),children:Q?Q.path:`Review Changes`})]}),(0,H.jsxs)(`div`,{className:O(`flex items-center gap-2`,L&&`ml-0`,!L&&`ml-auto`,`md:ml-auto`),children:[(0,H.jsx)(h,{variant:`ghost`,size:`sm`,onClick:()=>ne(e=>!e),disabled:!Q,className:O(k.compact,`h-8 gap-1 px-2`),children:I?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(A,{className:`h-3 w-3`}),` Show changes only`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(u,{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)(g,{children:[(0,H.jsx)(y,{asChild:!0,children:(0,H.jsx)(h,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Ge,disabled:(G??0)===0,children:(0,H.jsx)(ee,{className:`h-3 w-3`})})}),(0,H.jsx)(T,{children:`Previous comment`})]}),(0,H.jsx)(`span`,{className:O(k.caption,`whitespace-nowrap`),children:U.length===1?`1 Comment`:`Comment ${(G??0)+1} of ${U.length}`}),(0,H.jsxs)(g,{children:[(0,H.jsx)(y,{asChild:!0,children:(0,H.jsx)(h,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Ke,disabled:(G??0)===U.length-1,children:(0,H.jsx)(D,{className:`h-3 w-3`})})}),(0,H.jsx)(T,{children:`Next comment`})]})]}),U.length>0&&(0,H.jsxs)(g,{children:[(0,H.jsx)(y,{asChild:!0,children:(0,H.jsxs)(h,{size:`sm`,onClick:qe,className:O(k.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),children:[(0,H.jsx)(r,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,H.jsx)(T,{children:`Send all comments to Tarsk for resolution`})]})]})]}),(0,H.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[(0,H.jsx)(N,{height:`100%`,language:Re(Q?.path||``),original:ze,modified:Be,theme:p===`dark`?`vs-dark`:`vs-light`,onMount:Ve,options:Je},`diff-${M}`),(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)(h,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>se(!1),children:[(0,H.jsx)(o,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,H.jsx)(he,{})]}),!oe&&(0,H.jsxs)(g,{children:[(0,H.jsx)(y,{asChild:!0,children:(0,H.jsxs)(h,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:()=>se(!0),children:[(0,H.jsx)(r,{className:`h-5 w-5`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,H.jsx)(T,{children:`Chat about this diff`})]})]})]})]})})]})}),(0,H.jsx)(Oe,{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:()=>{Se(null),J(null)}},`${q?.id??``}-${K?.lineNumber??``}-${K?.side??``}`)]})}function je(e){let t=(0,V.c)(11),[n,r]=(0,B.useState)(0),i;t[0]!==n||t[1]!==e.threadId?(i=function(){re(ke(e.threadId,n)),r(Me)},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)(ne,{}),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)(Ae,{...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)(L,{fallbackTitle:`Failed to load review changes`,onRetry:a,children:c}),t[8]=a,t[9]=c,t[10]=l):l=t[10],l}function Me(e){return e+1}export{je as DiffView,je as default};
|