@bryanhu/codexly 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -1
- package/README.md +40 -6
- package/README.zh-CN.md +1 -1
- package/dist/{chunk-42AR5IS7.js → chunk-2P25XCI6.js} +13 -8
- package/dist/{chunk-K63YBMTG.js → chunk-AWQWQU2B.js} +1 -1
- package/dist/cli.js +3 -3
- package/dist/providers/codex/index.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/web/.vite/manifest.json +104 -104
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/button-DPWbWvQN.js +1 -0
- package/dist/web/assets/button-DPWbWvQN.js.br +0 -0
- package/dist/web/assets/button-DPWbWvQN.js.gz +0 -0
- package/dist/web/assets/{button-group-D2LfHIjt.js → button-group-CvflSgg8.js} +1 -1
- package/dist/web/assets/button-group-CvflSgg8.js.br +0 -0
- package/dist/web/assets/button-group-CvflSgg8.js.gz +0 -0
- package/dist/web/assets/{checkbox-Bvl7MRXT.js → checkbox-CCES4UbV.js} +1 -1
- package/dist/web/assets/checkbox-CCES4UbV.js.br +0 -0
- package/dist/web/assets/checkbox-CCES4UbV.js.gz +0 -0
- package/dist/web/assets/{chunk-BO2N2NFS-C72FSBge.js → chunk-BO2N2NFS-BWAdG1_E.js} +4 -4
- package/dist/web/assets/chunk-BO2N2NFS-BWAdG1_E.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-BWAdG1_E.js.gz +0 -0
- package/dist/web/assets/{code-highlighter-Cm0xdvAd.js → code-highlighter-CHF26Qu6.js} +1 -1
- package/dist/web/assets/code-highlighter-CHF26Qu6.js.br +0 -0
- package/dist/web/assets/code-highlighter-CHF26Qu6.js.gz +0 -0
- package/dist/web/assets/{code-languages-CfwYbccP.js → code-languages-0g9buMoI.js} +1 -1
- package/dist/web/assets/code-languages-0g9buMoI.js.br +0 -0
- package/dist/web/assets/code-languages-0g9buMoI.js.gz +0 -0
- package/dist/web/assets/{es2015-CIXyxC_2.js → es2015-DsWAjMth.js} +1 -1
- package/dist/web/assets/es2015-DsWAjMth.js.br +0 -0
- package/dist/web/assets/es2015-DsWAjMth.js.gz +0 -0
- package/dist/web/assets/{file-CEs2ZXvf.js → file-CdvUKvsI.js} +1 -1
- package/dist/web/assets/file-CdvUKvsI.js.br +0 -0
- package/dist/web/assets/file-CdvUKvsI.js.gz +0 -0
- package/dist/web/assets/{file-review-dialog-CTL5FpHU.js → file-review-dialog-D2A8VOae.js} +2 -2
- package/dist/web/assets/file-review-dialog-D2A8VOae.js.br +0 -0
- package/dist/web/assets/file-review-dialog-D2A8VOae.js.gz +0 -0
- package/dist/web/assets/{file-tree-DRpR7Mu2.js → file-tree-AZsgAlZn.js} +1 -1
- package/dist/web/assets/file-tree-AZsgAlZn.js.br +0 -0
- package/dist/web/assets/file-tree-AZsgAlZn.js.gz +0 -0
- package/dist/web/assets/{git-commit-horizontal-CQWH7rsr.js → git-commit-horizontal-C0Tc8kLo.js} +1 -1
- package/dist/web/assets/git-commit-horizontal-C0Tc8kLo.js.br +0 -0
- package/dist/web/assets/git-commit-horizontal-C0Tc8kLo.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-BsIopLeA.js → git-history-panel-CeJ0MXUi.js} +2 -2
- package/dist/web/assets/git-history-panel-CeJ0MXUi.js.br +0 -0
- package/dist/web/assets/git-history-panel-CeJ0MXUi.js.gz +0 -0
- package/dist/web/assets/{global-settings-dialog-CJA_j2dA.js → global-settings-dialog-BdOP1wS8.js} +1 -1
- package/dist/web/assets/global-settings-dialog-BdOP1wS8.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-BdOP1wS8.js.gz +0 -0
- package/dist/web/assets/{highlighted-body-OFNGDK62-NQRGdW--.js → highlighted-body-OFNGDK62-CBB2e5gz.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-CBB2e5gz.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-CBB2e5gz.js.gz +0 -0
- package/dist/web/assets/index-BoX8xH2D.css +2 -0
- package/dist/web/assets/index-BoX8xH2D.css.br +0 -0
- package/dist/web/assets/index-BoX8xH2D.css.gz +0 -0
- package/dist/web/assets/{index-C_O4z_mI.js → index-CoRYl0EO.js} +3 -3
- package/dist/web/assets/index-CoRYl0EO.js.br +0 -0
- package/dist/web/assets/index-CoRYl0EO.js.gz +0 -0
- package/dist/web/assets/{lazy-message-response-Cy_8wxLM.js → lazy-message-response-Be__rdOq.js} +2 -2
- package/dist/web/assets/lazy-message-response-Be__rdOq.js.br +0 -0
- package/dist/web/assets/lazy-message-response-Be__rdOq.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js.gz +0 -0
- package/dist/web/assets/{message-response-CBOOkYPm.js → message-response-UwCHtKG1.js} +2 -2
- package/dist/web/assets/message-response-UwCHtKG1.js.br +0 -0
- package/dist/web/assets/message-response-UwCHtKG1.js.gz +0 -0
- package/dist/web/assets/{patch-diff-viewer-BHcdOhhw.js → patch-diff-viewer-BlbG4Z8Q.js} +2 -2
- package/dist/web/assets/patch-diff-viewer-BlbG4Z8Q.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-BlbG4Z8Q.js.gz +0 -0
- package/dist/web/assets/{prompt-input-controls-CrypM5HZ.js → prompt-input-controls-DRwTXxuF.js} +1 -1
- package/dist/web/assets/prompt-input-controls-DRwTXxuF.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-DRwTXxuF.js.gz +0 -0
- package/dist/web/assets/{provider-connection-queries-C40YvSEy.js → provider-connection-queries-bzb4TYim.js} +1 -1
- package/dist/web/assets/provider-connection-queries-bzb4TYim.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-bzb4TYim.js.gz +0 -0
- package/dist/web/assets/{shiki-bundle-DzEBOJSk.js → shiki-bundle-BndEhlUP.js} +1 -1
- package/dist/web/assets/shiki-bundle-BndEhlUP.js.br +0 -0
- package/dist/web/assets/shiki-bundle-BndEhlUP.js.gz +0 -0
- package/dist/web/assets/{workbench-inspector-changes-RHaBVG45.js → workbench-inspector-changes-8ZkoC9AD.js} +1 -1
- package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js.gz +0 -0
- package/dist/web/assets/workbench-shell-BLSbA9u6.js +13 -0
- package/dist/web/assets/workbench-shell-BLSbA9u6.js.br +0 -0
- package/dist/web/assets/workbench-shell-BLSbA9u6.js.gz +0 -0
- package/dist/web/index.html +8 -8
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +1 -1
- package/dist/web/assets/button-CG0GNEOD.js +0 -1
- package/dist/web/assets/button-CG0GNEOD.js.br +0 -0
- package/dist/web/assets/button-CG0GNEOD.js.gz +0 -0
- package/dist/web/assets/button-group-D2LfHIjt.js.br +0 -0
- package/dist/web/assets/button-group-D2LfHIjt.js.gz +0 -0
- package/dist/web/assets/checkbox-Bvl7MRXT.js.br +0 -0
- package/dist/web/assets/checkbox-Bvl7MRXT.js.gz +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.gz +0 -0
- package/dist/web/assets/code-highlighter-Cm0xdvAd.js.br +0 -0
- package/dist/web/assets/code-highlighter-Cm0xdvAd.js.gz +0 -0
- package/dist/web/assets/code-languages-CfwYbccP.js.br +0 -0
- package/dist/web/assets/code-languages-CfwYbccP.js.gz +0 -0
- package/dist/web/assets/es2015-CIXyxC_2.js.br +0 -0
- package/dist/web/assets/es2015-CIXyxC_2.js.gz +0 -0
- package/dist/web/assets/file-CEs2ZXvf.js.br +0 -0
- package/dist/web/assets/file-CEs2ZXvf.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-CTL5FpHU.js.br +0 -0
- package/dist/web/assets/file-review-dialog-CTL5FpHU.js.gz +0 -0
- package/dist/web/assets/file-tree-DRpR7Mu2.js.br +0 -0
- package/dist/web/assets/file-tree-DRpR7Mu2.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.br +0 -0
- package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.gz +0 -0
- package/dist/web/assets/git-history-panel-BsIopLeA.js.br +0 -0
- package/dist/web/assets/git-history-panel-BsIopLeA.js.gz +0 -0
- package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.gz +0 -0
- package/dist/web/assets/index-B3NtDmQp.css +0 -2
- package/dist/web/assets/index-B3NtDmQp.css.br +0 -0
- package/dist/web/assets/index-B3NtDmQp.css.gz +0 -0
- package/dist/web/assets/index-C_O4z_mI.js.br +0 -0
- package/dist/web/assets/index-C_O4z_mI.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.br +0 -0
- package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.gz +0 -0
- package/dist/web/assets/message-response-CBOOkYPm.js.br +0 -0
- package/dist/web/assets/message-response-CBOOkYPm.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.gz +0 -0
- package/dist/web/assets/provider-connection-queries-C40YvSEy.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-C40YvSEy.js.gz +0 -0
- package/dist/web/assets/shiki-bundle-DzEBOJSk.js.br +0 -0
- package/dist/web/assets/shiki-bundle-DzEBOJSk.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.gz +0 -0
- package/dist/web/assets/workbench-shell--6Y1cx2L.js +0 -12
- package/dist/web/assets/workbench-shell--6Y1cx2L.js.br +0 -0
- package/dist/web/assets/workbench-shell--6Y1cx2L.js.gz +0 -0
|
Binary file
|
|
Binary file
|
package/dist/web/assets/{lazy-message-response-Cy_8wxLM.js → lazy-message-response-Be__rdOq.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/message-response-
|
|
2
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{s as r,u as i}from"./button-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/message-response-UwCHtKG1.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-runtime-CVaUQXZF.js","assets/button-DPWbWvQN.js","assets/bundle-mjs-rHxsej31.js","assets/file-CdvUKvsI.js","assets/index-CoRYl0EO.js","assets/es2015-DsWAjMth.js","assets/checkbox-CCES4UbV.js","assets/file-tree-AZsgAlZn.js","assets/provider-connection-queries-bzb4TYim.js","assets/index-BoX8xH2D.css","assets/chunk-BO2N2NFS-BWAdG1_E.js","assets/lib-DrPFkMXk.js","assets/prompt-reference-token-Cxx6C-IR.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{s as r,u as i}from"./button-DPWbWvQN.js";import{L as a}from"./es2015-DsWAjMth.js";import{m as o}from"./prompt-input-controls-DRwTXxuF.js";import{lt as s}from"./index-CoRYl0EO.js";var c=r(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),l=r(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),u=r(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),d=e(t(),1),f=n();function p(e,t,n){let r=0;for(let i=0;i<e.length;){let a=e.codePointAt(i);if(a===void 0)break;if(i+=a>65535?2:1,r+=1,r>t)return new File([e],n,{type:`text/plain`})}}function m(e,t){return t===void 0||t.trim()===``||t.split(`,`).some(t=>{let n=t.trim();return n.startsWith(`.`)?e.name.toLowerCase().endsWith(n.toLowerCase()):n.endsWith(`/*`)?e.type.startsWith(n.slice(0,-1)):e.type===n})}function h(e){e.previewUrl.startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}function g({attachments:e,children:t,className:n=``,disabled:r=!1,fileAccept:s,globalDrop:c=!1,imageAccept:l,largePasteCharacterThreshold:u=1/0,maxFileTotalSize:g=1/0,maxFileSize:_=1/0,maxImageSize:v=1/0,maxImages:y=1/0,maxImageTotalSize:b=1/0,multiple:x=!1,onAttachmentsChange:S,onError:C,onPaste:w,onPasteCapture:T,onSubmit:E,pastedTextFileName:D=`Pasted text.txt`,resetKey:O,...k}){let{t:A}=i(`conversation`),[j,M]=(0,d.useState)([]),N=e??j,P=(0,d.useRef)(N),F=(0,d.useRef)(e!==void 0),I=(0,d.useRef)(O);P.current=N,F.current=e!==void 0;let L=(0,d.useCallback)(t=>{if(e!==void 0){S?.(t(e));return}M(e=>[...t(e)])},[e,S]),R=(0,d.useCallback)((e,t=!1)=>{L(n=>{if(r)return n;let i=[],o=n.filter(e=>e.kind===`image`).length,c=n.reduce((e,t)=>e+(t.kind===`image`?t.size:0),0),u=n.reduce((e,t)=>e+(t.kind===`image`?0:t.size),0);for(let n of e){let e=t?`text`:m(n,l)?`image`:`file`;if(!(e===`text`||(e===`image`?m(n,l):m(n,s)))){C?.({code:`invalid_file_type`,message:A(`agentComponents.invalidFileType`,{name:n.name})});continue}if(e!==`image`&&n.size>_){C?.({code:`file_too_large`,message:A(`agentComponents.fileTooLarge`,{name:n.name})});continue}if(e===`image`&&n.size>v){C?.({code:`file_too_large`,message:A(`agentComponents.fileTooLarge`,{name:n.name})});continue}if(e===`image`&&o>=y){C?.({code:`too_many_images`,message:A(`agentComponents.tooManyImages`,{count:y})});continue}if(e===`image`&&c+n.size>b){C?.({code:`total_size_exceeded`,message:A(`agentComponents.totalImageSizeExceeded`)});continue}if(e!==`image`&&u+n.size>g){C?.({code:`total_size_exceeded`,message:A(`agentComponents.totalAttachmentSizeExceeded`)});continue}if(i.push({file:n,id:a(),kind:e,mediaType:n.type,name:n.name,previewUrl:URL.createObjectURL(n),size:n.size,source:`browser`}),e===`image`?(o+=1,c+=n.size):u+=n.size,!x)break}return[...n,...i]})},[r,s,l,_,g,v,y,b,x,C,A,L]),z=(0,d.useCallback)(()=>{L(e=>(e.forEach(h),[]))},[L]);(0,d.useLayoutEffect)(()=>{I.current!==O&&(I.current=O,e===void 0&&z())},[e,z,O]);let B=(0,d.useCallback)(e=>{L(t=>{let n=t.find(t=>t.id===e);return n!==void 0&&h(n),t.filter(t=>t.id!==e)})},[L]);(0,d.useEffect)(()=>()=>{F.current||P.current.forEach(h)},[]),(0,d.useEffect)(()=>{e===void 0&&S?.(j)},[e,j,S]),(0,d.useEffect)(()=>{if(!c||r)return;let e=e=>{e.dataTransfer?.types.includes(`Files`)===!0&&e.preventDefault()},t=e=>{e.dataTransfer?.files.length&&(e.preventDefault(),R([...e.dataTransfer.files]))};return document.addEventListener(`dragover`,e),document.addEventListener(`drop`,t),()=>{document.removeEventListener(`dragover`,e),document.removeEventListener(`drop`,t)}},[R,r,c]);let V=(0,d.useMemo)(()=>({clear:z,disabled:r,files:N,remove:B}),[z,r,N,B]);return(0,f.jsx)(o.Provider,{value:V,children:(0,f.jsx)(`form`,{...k,className:`overflow-visible rounded-surface border border-transparent bg-raised shadow-floating transition-[border-color,box-shadow] focus-within:border-brand focus-within:shadow-focus ${n}`,"data-prompt-input":``,onPasteCapture:e=>{if(T?.(e),r||e.defaultPrevented||e.clipboardData.files.length>0)return;let t=p(e.clipboardData.getData(`text/plain`),u,D);t!==void 0&&(e.preventDefault(),R([t],!0))},onPaste:e=>{if(w?.(e),r||e.defaultPrevented)return;let t=[...e.clipboardData.files];t.length>0&&(e.preventDefault(),R(t))},onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget).get(`message`);E?.({files:N,text:typeof t==`string`?t:``},e)},children:t})})}function _(e){return e.approvalPolicy===`never`?`never`:e.approvalPolicy===`on-request`&&e.approvalsReviewer===`auto_review`?`auto-review`:`on-request`}function v(e,t){return t===`auto-review`?{...e,approvalPolicy:`on-request`,approvalsReviewer:`auto_review`}:{...e,approvalPolicy:t,approvalsReviewer:`user`}}function y(){return s(()=>import(`./message-response-UwCHtKG1.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))}var b=(0,d.lazy)(y);function x({children:e=``,className:t=``,...n}){return(0,f.jsx)(d.Suspense,{fallback:(0,f.jsx)(`div`,{className:`size-full whitespace-pre-wrap break-words ${t}`,children:(0,f.jsx)(`p`,{children:e})}),children:(0,f.jsx)(b,{className:t,...n,children:e})})}export{u as a,g as i,v as n,l as o,_ as r,c as s,x as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./chunk-BO2N2NFS-BWAdG1_E.js";export{e as Mermaid};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CVaUQXZF.js";import{t as i,u as a}from"./button-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CVaUQXZF.js";import{t as i,u as a}from"./button-DPWbWvQN.js";import{t as o}from"./file-CdvUKvsI.js";import{tt as s}from"./index-CoRYl0EO.js";import{a as c,i as l,o as u,r as d}from"./chunk-BO2N2NFS-BWAdG1_E.js";import{t as f}from"./prompt-reference-token-Cxx6C-IR.js";var p=e(t(),1),m=e(n(),1),h=r(),g=/^::code-comment\{(.*)\}\s*$/,_=/([a-z]+)=(?:"((?:\\.|[^"\\])*)"|(\d+))/g,v=[`/apps/`,`/packages/`,`/src/`,`/tests/`,`/.superwork/`],y=8,b=12;function x(e){try{return JSON.parse(`"${e}"`)}catch{return e}}function S(e){let t=new Map;for(let n of e.matchAll(_)){let e=n[1],r=n[2],i=n[3];e!==void 0&&t.set(e,r===void 0?i??``:x(r))}let n=t.get(`body`),r=t.get(`file`),i=t.get(`title`);if(n===void 0||r===void 0||i===void 0)return null;let a=e=>{let n=t.get(e);return n===void 0?null:Number.parseInt(n,10)};return{body:n,end:a(`end`),file:r,priority:a(`priority`),start:a(`start`),title:i}}function C(e){let t=g.exec(e)?.[1];return t===void 0?null:S(t)}function w(e){for(let t of v){let n=e.indexOf(t);if(n>=0)return e.slice(n+1)}return e.split(/[\\/]/).at(-1)??e}function ee(e){let t=w(e.file);return e.start===null?t:`${t}:${e.end===null||e.end===e.start?String(e.start):`${String(e.start)}-${String(e.end)}`}`}function T(e){return e.replace(/^\[P\d+\]\s*/,``)}function E({comment:e,commentIndex:t}){let n=(0,p.useRef)(null),r=(0,p.useRef)(null),i=(0,p.useId)(),[a,o]=(0,p.useState)(!1),[s,c]=(0,p.useState)(),l=T(e.title),u=ee(e),f=(0,p.useCallback)(()=>{let e=n.current,t=r.current;if(e===null||t===null)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(b,window.innerWidth-a.width-b),s=Math.min(Math.max(i.left,b),o),l=i.bottom+y+a.height<=window.innerHeight-b?i.bottom+y:i.top-a.height-y,u=Math.max(b,window.innerHeight-a.height-b);c({left:s,top:Math.min(Math.max(l,b),u)})},[]);return(0,p.useLayoutEffect)(()=>{if(!a){c(void 0);return}return f(),window.addEventListener(`resize`,f),window.addEventListener(`scroll`,f,!0),()=>{window.removeEventListener(`resize`,f),window.removeEventListener(`scroll`,f,!0)}},[a,f]),(0,h.jsxs)(`li`,{"aria-describedby":a?i:void 0,className:`flex min-w-0 cursor-pointer items-center gap-3 rounded-control px-1 py-2 text-body-small transition-colors hover:bg-control-hover focus-visible:bg-control-hover`,onBlur:()=>{o(!1)},onFocus:()=>{o(!0)},onMouseEnter:()=>{o(!0)},onMouseLeave:()=>{o(!1)},ref:n,tabIndex:0,children:[(0,h.jsx)(`span`,{className:`shrink-0 rounded-control border border-separator-strong px-1.5 py-0.5 text-label text-muted-foreground`,children:e.priority===null?`--`:`P${String(e.priority)}`}),(0,h.jsx)(`span`,{className:`min-w-0 shrink font-semibold text-foreground`,children:l}),(0,h.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:u}),a&&typeof document<`u`?(0,m.createPortal)((0,h.jsxs)(`div`,{className:`pointer-events-none fixed z-50 w-[min(28rem,calc(100vw-1.5rem))] rounded-surface border border-separator-strong bg-raised p-3 text-left shadow-floating`,id:i,ref:r,role:`tooltip`,style:s===void 0?{left:0,top:0,visibility:`hidden`}:{left:s.left,top:s.top},children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`rounded-control border border-separator-strong px-1.5 py-0.5 text-label text-muted-foreground`,children:e.priority===null?`--`:`P${String(e.priority)}`}),(0,h.jsx)(`p`,{className:`font-semibold text-foreground`,children:l})]}),(0,h.jsx)(`p`,{className:`mt-2 break-all font-mono text-meta text-muted-foreground`,children:u}),(0,h.jsx)(d,{className:`mt-2 text-body-small leading-5 text-foreground [&_a]:text-brand [&_a]:underline [&_a]:underline-offset-2 [&_code]:font-mono [&_code]:text-body-small [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,controls:!1,children:e.body})]}),document.body):null]},`${e.file}:${String(e.start)}:${String(t)}`)}function D({comments:e}){let{t}=a(`conversation`);return e.length===0?null:(0,h.jsxs)(`section`,{"aria-label":t(`agentComponents.codeComments`,{count:e.length}),className:`my-4 overflow-hidden rounded-surface border border-separator-strong bg-raised`,"data-code-comments":`true`,children:[(0,h.jsxs)(`header`,{className:`flex min-h-12 items-center gap-3 border-b border-separator px-4 text-body font-semibold`,children:[(0,h.jsx)(`span`,{className:`grid size-8 place-items-center rounded-control bg-control`,children:(0,h.jsx)(s,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`})}),(0,h.jsx)(`span`,{children:t(`agentComponents.codeComments`,{count:e.length})})]}),(0,h.jsx)(`ol`,{className:`divide-y divide-separator px-4 py-1`,children:e.map((e,t)=>(0,h.jsx)(E,{comment:e,commentIndex:t},`${e.file}:${String(e.start)}:${String(t)}`))})]})}var O=/(?<=\]\()(?:[a-z]:[\\/]|\\\\)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,k=/(?<=\]\()(?![a-z][a-z0-9+.-]*:|\/|#)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,A=/(?<=\]\()\/(?!\/)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,j=/\s+|\S+/gu,M=/^\s+$/u,N=/\n{3,}/g,P=/\[\^[\w-]{1,200}\](?!:)/,F=/\[\^[\w-]{1,200}\]:/,I=`/__codexly_unc__/`,L=`/__codexly_relative__/`;function R(e){return e.replace(O,e=>{let t=e.replaceAll(`\\`,`/`);return/^[a-z]:/i.test(t)?`/${t}`:`${I}${t.slice(2)}`}).replace(k,e=>`${L}${e}`).replace(A,e=>e.replaceAll(` `,`%20`).replaceAll(` `,`%09`))}var z=class e{output;trailingWhitespace;constructor(e=``,t=``){this.output=e,this.trailingWhitespace=t}append(e){let t=[],n=this.output.length>0;for(let r of e.matchAll(j)){let e=r[0];if(M.test(e)){this.trailingWhitespace+=e;continue}n&&this.trailingWhitespace.length>0&&t.push(this.trailingWhitespace.replace(N,`
|
|
2
2
|
|
|
3
3
|
`)),this.trailingWhitespace=``,t.push(e),n=!0}t.length>0&&(this.output+=t.join(``))}clone(){return new e(this.output,this.trailingWhitespace)}materialize(){return this.output}};function B(e,t,n){let r=C(e);return r===null?n.discardBlankLines&&e.trim().length===0?!0:(n.whitespace.append(`${R(e)}${t?`
|
|
4
4
|
`:``}`),!1):(n.comments.push(r),t&&n.whitespace.append(`
|
|
5
5
|
`),!0)}var V=class{cachedResult={comments:[],markdown:``};committedComments=[];discardBlankLines=!1;pendingLine=``;previousSource=``;whitespace=new z;process(e){if(e===this.previousSource)return this.cachedResult;e.startsWith(this.previousSource)||this.reset(),this.pendingLine+=e.slice(this.previousSource.length),this.previousSource=e;let t=this.pendingLine.indexOf(`
|
|
6
6
|
`);for(;t>=0;){let e=this.pendingLine.slice(0,t);this.pendingLine=this.pendingLine.slice(t+1),this.discardBlankLines=B(e,!0,{comments:this.committedComments,discardBlankLines:this.discardBlankLines,whitespace:this.whitespace}),t=this.pendingLine.indexOf(`
|
|
7
|
-
`)}let n=[...this.committedComments],r=this.whitespace.clone();return this.pendingLine.length>0&&B(this.pendingLine,!1,{comments:n,discardBlankLines:this.discardBlankLines,whitespace:r}),this.cachedResult={comments:n,markdown:r.materialize()},this.cachedResult}reset(){this.cachedResult={comments:[],markdown:``},this.committedComments=[],this.discardBlankLines=!1,this.pendingLine=``,this.previousSource=``,this.whitespace=new z}};function H(e=u){let t=[],n=``;return r=>{if(r===n)return t;let i=0,a=Math.min(n.length,r.length);for(;i<a&&n.charCodeAt(i)===r.charCodeAt(i);)i+=1;let o=0,s=0;for(;o<t.length&&s+(t[o]?.length??0)<=i;)s+=t[o]?.length??0,o+=1;o>0&&(--o,s-=t[o]?.length??0);let c=r.slice(s);return t=P.test(c)||F.test(c)?[r]:[...t.slice(0,o),...e(c)],n=r,t}}var U=(0,p.createContext)(null),W=/^(?<path>(?:\/|[a-z]:[\\/]|\\\\).+?\.[a-z0-9]+?)(?::(?<line>\d+)(?::\d+)?)?$/i,G=`/__codexly_prompt_reference__/`,K=/(^|\s)@(?<path>[^\s,!?;:,。!?;:、()[\]{}"'`]+)(?=$|\s|[,!?;:,。!?;:、()[\]{}"'`])/gu,q={code:{copy:!0,download:!1},mermaid:!1,table:!1};function J(e){try{return decodeURIComponent(e)}catch{return e}}function Y(e){if(e===void 0)return null;let t=J(e);if(t.startsWith(G))return{lineNumber:null,path:t.slice(30),prompt:!0};let n=W.exec(t)?.groups;if(n===void 0)return null;let r=n.path,i=r?.startsWith(`/__codexly_unc__/`)?`//${r.slice(I.length)}`:r?.startsWith(`/__codexly_relative__/`)?r.slice(L.length):r?.match(/^\/[a-z]:[\\/]/i)?r.slice(1):r;return i===void 0?null:{lineNumber:n.line??null,path:i,prompt:!1}}function X(e){let t=[],n=0;for(let r of e.matchAll(K)){let i=r.groups?.path;if(i===void 0)continue;let a=r.index+(r[1]?.length??0);a>n&&t.push({type:`text`,value:e.slice(n,a)}),t.push({children:[{type:`text`,value:i.split(`/`).at(-1)??i}],type:`link`,url:`${G}${encodeURIComponent(i)}`}),n=a+i.length+1}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t}function Z(){return e=>{let t=e=>{e.type===`link`||e.type===`linkReference`||e.children===void 0||(e.children=e.children.flatMap(e=>e.type===`text`&&e.value!==void 0?X(e.value):(t(e),e)))};t(e)}}function Q({children:e,className:t=``,href:n,node:r,...a}){let s=Y(n),c=(0,p.useContext)(U);if(s!==null){if(s.prompt){let n=`${f} relative top-0.5 select-none ${t}`,r=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(o,{"aria-hidden":`true`,className:`size-4 shrink-0`}),(0,h.jsx)(`span`,{className:`truncate`,children:e})]});return c===null?(0,h.jsx)(`span`,{className:n,"data-prompt-file-reference":s.path,title:s.path,children:r}):(0,h.jsx)(i,{variant:`embedded`,"aria-label":`@${s.path}`,className:`${n} cursor-pointer hover:bg-control-hover`,"data-prompt-file-reference":s.path,onClick:()=>{c({lineNumber:null,path:s.path})},size:`embedded`,title:s.path,type:`button`,children:r})}let n=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{children:e}),s.lineNumber===null?null:(0,h.jsx)(`span`,{className:`markdown-file-reference__line`,children:`(line ${s.lineNumber})`})]});return c===null?(0,h.jsx)(`span`,{className:`markdown-file-reference text-brand ${t}`,"data-file-reference":`true`,title:s.path,children:n}):(0,h.jsx)(i,{variant:`ghost`,className:`markdown-file-reference cursor-pointer text-brand underline decoration-transparent underline-offset-2 transition-colors hover:text-brand-strong hover:decoration-current ${t}`,"data-file-reference":`true`,onClick:()=>{c({lineNumber:s.lineNumber===null?null:Number(s.lineNumber),path:s.path})},title:s.path,type:`button`,children:n})}return(0,h.jsx)(`a`,{className:`font-medium text-brand underline decoration-current/35 underline-offset-2 transition-colors hover:text-brand-strong ${t}`,href:n,rel:`noopener noreferrer`,target:`_blank`,...a,children:e})}function
|
|
7
|
+
`)}let n=[...this.committedComments],r=this.whitespace.clone();return this.pendingLine.length>0&&B(this.pendingLine,!1,{comments:n,discardBlankLines:this.discardBlankLines,whitespace:r}),this.cachedResult={comments:n,markdown:r.materialize()},this.cachedResult}reset(){this.cachedResult={comments:[],markdown:``},this.committedComments=[],this.discardBlankLines=!1,this.pendingLine=``,this.previousSource=``,this.whitespace=new z}};function H(e=u){let t=[],n=``;return r=>{if(r===n)return t;let i=0,a=Math.min(n.length,r.length);for(;i<a&&n.charCodeAt(i)===r.charCodeAt(i);)i+=1;let o=0,s=0;for(;o<t.length&&s+(t[o]?.length??0)<=i;)s+=t[o]?.length??0,o+=1;o>0&&(--o,s-=t[o]?.length??0);let c=r.slice(s);return t=P.test(c)||F.test(c)?[r]:[...t.slice(0,o),...e(c)],n=r,t}}var U=(0,p.createContext)(null),W=/^(?<path>(?:\/|[a-z]:[\\/]|\\\\).+?\.[a-z0-9]+?)(?::(?<line>\d+)(?::\d+)?)?$/i,G=`/__codexly_prompt_reference__/`,K=/(^|\s)@(?<path>[^\s,!?;:,。!?;:、()[\]{}"'`]+)(?=$|\s|[,!?;:,。!?;:、()[\]{}"'`])/gu,q={code:{copy:!0,download:!1},mermaid:!1,table:!1};function J(e){try{return decodeURIComponent(e)}catch{return e}}function Y(e){if(e===void 0)return null;let t=J(e);if(t.startsWith(G))return{lineNumber:null,path:t.slice(30),prompt:!0};let n=W.exec(t)?.groups;if(n===void 0)return null;let r=n.path,i=r?.startsWith(`/__codexly_unc__/`)?`//${r.slice(I.length)}`:r?.startsWith(`/__codexly_relative__/`)?r.slice(L.length):r?.match(/^\/[a-z]:[\\/]/i)?r.slice(1):r;return i===void 0?null:{lineNumber:n.line??null,path:i,prompt:!1}}function X(e){let t=[],n=0;for(let r of e.matchAll(K)){let i=r.groups?.path;if(i===void 0)continue;let a=r.index+(r[1]?.length??0);a>n&&t.push({type:`text`,value:e.slice(n,a)}),t.push({children:[{type:`text`,value:i.split(`/`).at(-1)??i}],type:`link`,url:`${G}${encodeURIComponent(i)}`}),n=a+i.length+1}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t}function Z(){return e=>{let t=e=>{e.type===`link`||e.type===`linkReference`||e.children===void 0||(e.children=e.children.flatMap(e=>e.type===`text`&&e.value!==void 0?X(e.value):(t(e),e)))};t(e)}}function Q(){return e=>{let t=(e,n)=>{if(e.type===`html`){e.type=n===`paragraph`?`inlineCode`:`code`,e.type===`code`&&(e.lang=`xml`);return}for(let n of e.children??[])t(n,e.type)};t(e)}}function te({children:e,className:t=``,href:n,node:r,...a}){let s=Y(n),c=(0,p.useContext)(U);if(s!==null){if(s.prompt){let n=`${f} relative top-0.5 select-none ${t}`,r=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(o,{"aria-hidden":`true`,className:`size-4 shrink-0`}),(0,h.jsx)(`span`,{className:`truncate`,children:e})]});return c===null?(0,h.jsx)(`span`,{className:n,"data-prompt-file-reference":s.path,title:s.path,children:r}):(0,h.jsx)(i,{variant:`embedded`,"aria-label":`@${s.path}`,className:`${n} cursor-pointer hover:bg-control-hover`,"data-prompt-file-reference":s.path,onClick:()=>{c({lineNumber:null,path:s.path})},size:`embedded`,title:s.path,type:`button`,children:r})}let n=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{children:e}),s.lineNumber===null?null:(0,h.jsx)(`span`,{className:`markdown-file-reference__line`,children:`(line ${s.lineNumber})`})]});return c===null?(0,h.jsx)(`span`,{className:`markdown-file-reference text-brand ${t}`,"data-file-reference":`true`,title:s.path,children:n}):(0,h.jsx)(i,{variant:`ghost`,className:`markdown-file-reference cursor-pointer text-brand underline decoration-transparent underline-offset-2 transition-colors hover:text-brand-strong hover:decoration-current ${t}`,"data-file-reference":`true`,onClick:()=>{c({lineNumber:s.lineNumber===null?null:Number(s.lineNumber),path:s.path})},title:s.path,type:`button`,children:n})}return(0,h.jsx)(`a`,{className:`font-medium text-brand underline decoration-current/35 underline-offset-2 transition-colors hover:text-brand-strong ${t}`,href:n,rel:`noopener noreferrer`,target:`_blank`,...a,children:e})}function ne(e){let t=(0,p.useContext)(l),n=(0,p.useMemo)(()=>({...t,isAnimating:!1}),[t]);return(0,h.jsx)(l.Provider,{value:n,children:(0,h.jsx)(c,{...e})})}function re({children:e,className:t=``,components:n,onOpenFileReference:r,parseMarkdownIntoBlocksFn:i,promptFileReferences:a=!1,remarkPlugins:o,...s}){let c=(0,p.useMemo)(()=>new V,[]),l=(0,p.useMemo)(()=>H(),[]),u=c.process(e??``),f=(0,p.useMemo)(()=>({...n,a:te}),[n]),m=(0,p.useMemo)(()=>[Q,...a?[Z]:[],...o??[]],[a,o]);return(0,h.jsxs)(U.Provider,{value:r??null,children:[(0,h.jsx)(d,{className:`size-full break-words [&_blockquote]:border-l-2 [&_blockquote]:border-separator [&_blockquote]:pl-3 [&_code]:font-mono [&_code]:text-body-small [&_h1]:text-xl [&_h1]:font-semibold [&_h2]:text-lg [&_h2]:font-semibold [&_h3]:font-semibold [&_img]:block [&_img]:h-auto [&_img]:max-w-full [&_img]:object-contain [&_pre]:overflow-x-auto [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 ${t}`,controls:q,...s,BlockComponent:ne,components:f,parseMarkdownIntoBlocksFn:i??l,remarkPlugins:m,children:u.markdown}),(0,h.jsx)(D,{comments:u.comments})]})}var $=(0,p.memo)(re,(e,t)=>e.children===t.children&&e.isAnimating===t.isAnimating&&e.mode===t.mode&&e.onOpenFileReference===t.onOpenFileReference&&e.promptFileReferences===t.promptFileReferences);$.displayName=`MessageResponse`;export{$ as MessageResponse,$ as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/shiki-bundle-
|
|
2
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{lt as r}from"./index-C_O4z_mI.js";import{c as i,s as a,t as o}from"./engine-compile-DQ0HPfe0.js";import{n as s,r as c}from"./code-languages-CfwYbccP.js";import{n as l,r as u,t as d}from"./shiki-bundle-DzEBOJSk.js";import{r as f}from"./file-change-D7aZLgtG.js";var p=`diffs-container`,m=/(?=^From [a-f0-9]+ .+$)/m,h=/(?=^diff --git)/gm,g=/^(---|\+\+\+)\s+([^\t\r\n]+)/,_=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,v=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,y=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,b=`header-prefix`,x=`header-metadata`,S=`header-custom`,C={dark:`pierre-dark`,light:`pierre-light`},w=`data-theme-css`,T=`data-unsafe-css`,E=`data-diffs-scrollbar-measure`,D=`--diffs-scrollbar-gutter-measured`,O=1e5,ee={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8};({...ee});var te=Object.freeze({fromStart:0,fromEnd:0}),k={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},A={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0};function j(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ne(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function re(e,t){let n=e?.theme??C,r=t?.theme??C,i=ie(e),a=ie(t);return ne(n,r)&&j(e,t,[`theme`,`parseDiffOptions`])&&j(i,a)}function ie(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function ae(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function M(e){return{type:`text`,value:e}}function N({tagName:e,children:t=[],properties:n={}}){return{type:`element`,tagName:e,properties:n,children:t}}function P({name:e,width:t=16,height:n=16,properties:r}){return N({tagName:`svg`,properties:{width:t,height:n,viewBox:`0 0 16 16`,...r},children:[N({tagName:`use`,properties:{href:`#${e.replace(/^#/,``)}`}})]})}function oe(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t;t=`children`in t?t.children[0]:null}}function se(e){return N({tagName:`div`,properties:{"data-gutter":``},children:e})}function ce(e,t,n,r={}){return N({tagName:`div`,properties:{"data-line-type":e,"data-column-number":t,"data-line-index":n,...r},children:t==null?void 0:[N({tagName:`span`,properties:{"data-line-number-content":``},children:[M(`${t}`)]})]})}function F(e,t,n){return N({tagName:`div`,properties:{"data-gutter-buffer":t,"data-buffer-size":n,"data-line-type":t===`annotation`?void 0:e,style:t===`annotation`?`grid-row: span ${n};`:`grid-row: span ${n};min-height:calc(${n} * 1lh);`}})}function le(){return N({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[P({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function ue(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var de=class{mode;options;hoveredLine;hoveredToken;pre;gutterUtilityLine;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;proposedSelectedRange;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection(),this.placeUtility()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e,t){let n=!(e===this.selectedRange||ae(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!n||(this.proposedSelectedRange=void 0,this.selectedRange=e,this.renderSelection(),this.placeUtility(),n&&t?.notify!==!1&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{let e=this.gutterUtilityLine??this.hoveredLine;if(e!=null){if(this.mode===`diff`&&e.type===`diff-line`)return{lineNumber:e.lineNumber,side:e.annotationSide};if(this.mode===`file`&&e.type===`line`)return{lineNumber:e.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&Oe(e.composedPath())||(I(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{if(e.pointerType!==`mouse`)return;let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(I(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine()),this.placeUtility()};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();I(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);I(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=ge(i)&&this.hoveredLine?.lineElement===i.lineElement;he(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),he(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),ge(i)?(this.setHoveredLine(this.toEventBaseProps(i)),this.placeUtility(),s?.({...this.hoveredLine,event:t})):this.placeUtility());break}case`click`:{if(i==null)break;if(ve(i)&&p!=null){p(i);break}if(_e(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!ge(i))break;he(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,I(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();Oe(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e):(e.pointerType!==`mouse`&&this.revealUtilityFromGutterPath(t),this.startLineSelectionFromPointerDown(e))};startLineSelectionFromPointerDown(e){let{enableLineSelection:t=!1}=this.options;if(!t)return;let n=this.resolveSelectionInfo(e,{source:`event-path`,requireNumberColumn:!0});if(n==null)return;let{pre:r}=this;if(r==null)return;let{lineNumber:i,eventSide:a,lineIndex:o}=n;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,r.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?o>=t.start:o<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===i&&this.selectedRange?.end===i){let t={lineNumber:i,side:a};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.options.controlledSelection===!0?this.proposedSelectedRange=null:this.selectedRange=null,this.placeUtility(),this.selectionAnchor={lineNumber:i,side:a},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e){let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;if(n==null)return;let r=this.currentSelectionEnds(),i=r?.bottom??this.resolveSelectionPoint(e,{source:`event-path`,excludeUtility:!1}),a=r?.top??i;i==null||a==null||(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:a,current:i},t&&(this.selectionAnchor={lineNumber:a.lineNumber,side:a.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.getCurrentSelectionRange())),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let n=this.resolveSelectionPoint(e,{source:`coordinates-first`});if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(ue(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let r=this.resolveSelectionPoint(e,{source:`coordinates-first`});r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearProposedSelection(),this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=i(le());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}revealUtilityFromGutterPath(e){if(this.placeUtilityFromSelection())return;let t=this.resolvePointerTarget(e);me(t)&&t.numberColumn&&this.showUtilityOnLine(this.toEventBaseProps(t))}placeUtility(){if(!this.placeUtilityFromSelection()){if(this.hoveredLine!=null){this.showUtilityOnLine(this.hoveredLine);return}this.hideUtility()}}placeUtilityFromSelection(){let e=this.currentSelectionEnds();if(e==null)return!1;let t=this.targetForSelectionPoint(e.bottom);return t==null?this.hideUtility():this.showUtilityOnLine(this.toEventBaseProps(t)),!0}showUtilityOnLine(e){this.gutterUtilityContainer!=null&&(this.gutterUtilityLine=e,e.numberElement.appendChild(this.gutterUtilityContainer))}hideUtility(){this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0}currentSelectionEnds(){let e=this.getCurrentSelectionRange();return e==null?void 0:this.selectionEnds(e)}selectionEnds(e){let t={lineNumber:e.start,side:e.side},n={lineNumber:e.end,side:e.endSide??e.side},r=this.selectionPointRowIndex(t),i=this.selectionPointRowIndex(n);if(!(r==null||i==null))return r>i?{top:n,bottom:t}:{top:t,bottom:n}}selectionPointRowIndex(e){let t=this.getLineIndex(e.lineNumber,e.side);if(t!=null)return this.isSplitDiff()?t[1]:t[0]}targetForSelectionPoint(e){if(this.pre==null)return;let t=this.getLineIndex(e.lineNumber,e.side);if(t==null)return;let n=this.mode===`diff`?`${t[0]},${t[1]}`:`${t[0]}`,r=this.pre.querySelectorAll(`[data-column-number="${e.lineNumber}"][data-line-index="${n}"]`);for(let t of r){if(!(t instanceof HTMLElement))continue;let n=this.resolvePointerTarget(xe(t));if(me(n)&&!(this.mode===`diff`&&e.side!=null&&n.side!==e.side))return n}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}selectionInfoFromPath(e,t){let n=this.resolvePointerTarget(e);if(me(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}resolveSelectionInfo(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionInfoFromPath(n,t.requireNumberColumn)}selectionPointFromPath(e){let t=this.resolvePointerTarget(e);if(me(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}resolveSelectionPoint(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionPointFromPath(n)}resolveSelectionPath(e,t){let n=t.excludeUtility!==!1;switch(t.source){case`event-path`:return this.pathFromEventPath(e.composedPath(),n);case`coordinates-first`:{let t=this.pathFromCoordinates(e,n);return t===void 0?this.pathFromEventPath(e.composedPath(),n):t??void 0}}}pathFromCoordinates(e,t){let n=this.hitTest(e);if(n!==void 0)return n===null?null:this.pathFromElement(n,t)??null}pathFromEventPath(e,t){if(!(t&&Oe(e))){for(let n of e)if(n instanceof Element)return this.pathFromElement(n,t)}}pathFromElement(e,t){let n=xe(e);if(t&&Oe(n))return;let r=Se(e);return r==null?this.pathFromAnnotationSlot(e):xe(r)}pathFromAnnotationSlot(e){let t=we(Ce(e));if(t==null)return;let n=this.targetForSelectionPoint(t);return n==null?void 0:xe(n.lineElement)}hitTest(e){if(!Number.isFinite(e.clientX)||!Number.isFinite(e.clientY))return;let t=this.pre?.getRootNode(),n=Te(t)?t:Te(document)?document:void 0;if(n!=null)return n.elementFromPoint(e.clientX,e.clientY)}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}getCurrentSelectionRange(){return this.proposedSelectedRange===void 0?this.selectedRange:this.proposedSelectedRange}clearProposedSelection(){this.proposedSelectedRange=void 0}updateSelection(e,t,n=!0){let r=this.getCurrentSelectionRange(),i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}ae(r??void 0,i??void 0)||(this.options.controlledSelection===!0?this.proposedSelectedRange=i:(this.selectedRange=i,this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection)),this.placeUtility(),n&&this.notifySelectionChangeDelta())}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.getCurrentSelectionRange()??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.getCurrentSelectionRange()??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);ye(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:be(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:be(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function fe({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,lineHoverHighlight:n,onGutterUtilityClick:r,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,renderGutterUtility:d,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v},y,b,x){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:pe({enableGutterUtility:t,renderGutterUtility:d,onGutterUtilityClick:r}),usesCustomGutterUtility:d!=null,lineHoverHighlight:n,onGutterUtilityClick:r,onHunkExpand:y,onMergeConflictActionClick:x,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v,getLineIndex:b}}function pe({enableGutterUtility:e,renderGutterUtility:t,onGutterUtilityClick:n}){if(n!=null&&t!=null)throw Error(`Cannot use both 'onGutterUtilityClick' and 'renderGutterUtility'. Use only one gutter utility API.`);return e??!1}function me(e){return e!=null&&`kind`in e&&e.kind===`line`}function he(e){return e!=null&&`kind`in e&&e.kind===`token`}function ge(e){return me(e)||he(e)}function _e(e){return`type`in e&&e.type===`line-info`}function ve(e){return`kind`in e&&e.kind===`merge-conflict-action`}function ye(e){return e===`current`||e===`incoming`||e===`both`}function be(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function xe(e){let t=[],n=e;for(;n!=null;)t.push(n),n=n.parentNode;return t}function Se(e){let t=e.closest(`[data-line], [data-column-number]`);if(t instanceof HTMLElement)return t;let n=e.closest(`[data-line-annotation], [data-gutter-buffer="annotation"]`);if(!(n instanceof HTMLElement))return;let r=n.previousElementSibling;return r instanceof HTMLElement&&(r.hasAttribute(`data-line`)||r.hasAttribute(`data-column-number`))?r:void 0}function Ce(e){let t=e.closest(`[slot^="annotation-"]`);if(t instanceof HTMLElement)return t.getAttribute(`slot`)??void 0;if(e instanceof HTMLElement){let t=e.getAttribute(`name`)??void 0;return t!=null&&t.startsWith(`annotation-`)?t:void 0}}function we(e){if(e==null)return;let t=/^annotation-(?:(additions|deletions)-)?(\d+)$/.exec(e);if(t==null)return;let n=Number.parseInt(t[2],10);if(!(!Number.isFinite(n)||n<=0))return{lineNumber:n,side:t[1]}}function Te(e){return e!=null&&typeof e.elementFromPoint==`function`}function Ee(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function De(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function Oe(e){for(let t of e)if(t instanceof HTMLElement&&(t.hasAttribute(`data-utility-button`)||t.hasAttribute(`data-gutter-utility-slot`)||t.getAttribute(`slot`)===`gutter-utility-slot`||t.getAttribute(`name`)===`gutter-utility-slot`))return!0;return!1}function I(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var ke=class e{static resizeObserver;static managersByElement=new Map;static getResizeObserver(){let t=e.resizeObserver??new ResizeObserver(e.handleSharedResizeEntries);return e.resizeObserver=t,t}static handleSharedResizeEntries(t){let n=new Map;for(let r of t){let t=e.managersByElement.get(r.target);if(t==null)continue;let i=n.get(t);i==null?n.set(t,[r]):i.push(r)}for(let[e,t]of n)e.handleResizeEntries(t)}observedNodes=new Map;setup(e,t){let n=new Set,r=0,i=new Map(this.observedNodes);this.observedNodes.clear();for(let t of e.children){if(r===2)break;let e=(()=>{if(t instanceof HTMLElement&&t.tagName===`CODE`)return t})();if(e==null)continue;r++;let n=i.get(e);if(n!=null&&n.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let a=e.firstElementChild;a instanceof HTMLElement||(a=null),n==null?(n={type:`code`,codeElement:e,numberElement:a,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,n),this.observe(e),a!=null&&(this.observedNodes.set(a,n),this.observe(a))):(this.observedNodes.set(e,n),i.delete(e),n.numberElement===a?n.numberElement==null?n.numberWidth=0:(i.delete(n.numberElement),this.observedNodes.set(n.numberElement,n)):(n.numberElement!=null&&(this.unobserve(n.numberElement),i.delete(n.numberElement)),a!=null&&(this.observe(a),i.delete(a),this.observedNodes.set(a,n)),n.numberElement=a,n.numberWidth=0))}if(r>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),r=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let t=e.getAttribute(`data-line-annotation`)??``;if(!/^-?\d+,-?\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let n=r.get(t);n??(n=[],r.set(t,n)),n.push(e)}for(let[e,t]of r){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[r,a]=t,o=r.firstElementChild,s=a.firstElementChild;if(!(r instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement)||!(s instanceof HTMLElement))continue;let c=i.get(o);if(c!=null){this.observedNodes.set(o,c),this.observedNodes.set(s,c),i.delete(o),i.delete(s);continue}let l=o.getBoundingClientRect().height,u=s.getBoundingClientRect().height;c={type:`annotations`,column1:{container:r,child:o,childHeight:l},column2:{container:a,child:s,childHeight:u},currentHeight:`auto`},n.add({child1:o,child2:s,item:c,newHeight:Math.max(l,u)})}for(let e of n)this.applyNewHeight(e.item,e.newHeight),this.observedNodes.set(e.child1,e.item),this.observedNodes.set(e.child2,e.item),this.observe(e.child1),this.observe(e.child2);n.clear()}for(let[e,t]of i)this.unobserve(e),t.type===`code`?Me(t):Ne(t);i.clear()}cleanUp(){for(let e of this.observedNodes.keys())this.unobserve(e);this.observedNodes.clear()}observe(t){let{managersByElement:n}=e,r=n.get(t);if(r!==this){if(r!=null&&r!==this)throw Error(`ResizeManager.observe: element is already owned by another ResizeManager`);n.set(t,this),e.getResizeObserver().observe(t)}}unobserve(t){let{managersByElement:n,resizeObserver:r}=e,i=n.get(t);if(i!=null){if(i!==this)throw Error(`ResizeManager.unobserve: element is owned by another ResizeManager`);n.delete(t),r?.unobserve(t),r!=null&&n.size===0&&(r.disconnect(),e.resizeObserver=void 0)}}handleResizeEntries(e){let t=new Map,n=new Set;for(let r of e){let{target:e,borderBoxSize:i,contentBoxSize:a}=r;if(!(e instanceof HTMLElement)){console.error(`ResizeManager.handleResizeEntries: Invalid element for ResizeObserver`,r);continue}let o=this.observedNodes.get(e);if(o==null){console.error(`ResizeManager.handleResizeEntries: Not a valid observed node`,r);continue}if(o.type===`annotations`){let t=(()=>{if(e===o.column1.child)return o.column1;if(e===o.column2.child)return o.column2})();if(t==null){console.error(`ResizeManager.handleResizeEntries: Couldn't find a column for`,{item:o,target:e});continue}t.childHeight=i[0].blockSize,n.add(o)}else if(o.type===`code`){let n=t.get(o)??{},r=a[0].inlineSize;e===o.codeElement?n.codeInlineSize=r:e===o.numberElement&&(n.numberInlineSize=r),t.set(o,n)}}this.applyAnnotationUpdates(n),n.clear(),this.applyColumnUpdates(t),t.clear()}applyAnnotationUpdates(e){for(let t of e)this.applyNewHeight(t,Math.max(t.column1.childHeight,t.column2.childHeight))}applyColumnUpdates=e=>{for(let[t,n]of e){let e=n.codeInlineSize==null?t.codeWidth:Ae(n.codeInlineSize),r=n.numberInlineSize==null?t.numberWidth:je(n.numberInlineSize),i=e!==t.codeWidth,a=r!==t.numberWidth;if(!(!i&&!a)&&(t.codeWidth=e,t.numberWidth=r,i&&t.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e==`number`?`${e}px`:`auto`}`),a&&t.codeElement.style.setProperty(`--diffs-column-number-width`,`${r===0?`auto`:`${r}px`}`),i||a&&e!==`auto`)){let n=typeof e==`number`?Math.max(e-r,0):0;t.codeElement.style.setProperty(`--diffs-column-content-width`,`${n>0?`${n}px`:`auto`}`)}}};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function Ae(e){let t=Math.max(Math.floor(e),0);return t===0?`auto`:t}function je(e){return Math.max(Math.ceil(e),0)}function Me(e){e.codeElement.isConnected&&(e.codeElement.style.removeProperty(`--diffs-column-content-width`),e.codeElement.style.removeProperty(`--diffs-column-number-width`),e.codeElement.style.removeProperty(`--diffs-column-width`))}function Ne(e){e.column1.container.isConnected&&e.column1.container.style.removeProperty(`--diffs-annotation-min-height`),e.column2.container.isConnected&&e.column2.container.style.removeProperty(`--diffs-annotation-min-height`)}var Pe=new Map,Fe=new Map,Ie=new Map,Le=new Set;function Re(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!Le.has(t))return!1;return!0}function ze(e,t){e=Array.isArray(e)?e:[e];for(let n of e){if(Le.has(n.name))continue;let e=Pe.get(n.name);e??(e=n,Pe.set(n.name,e)),Le.add(e.name),t.loadLanguageSync(e.data)}}function Be(){return typeof WorkerGlobalScope<`u`&&typeof self<`u`&&self instanceof WorkerGlobalScope}async function Ve(e){if(Be())throw Error(`resolveLanguage("${e}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);let t=Fe.get(e);if(t!=null)return t;try{let t=Ie.get(e);if(t==null&&Object.prototype.hasOwnProperty.call(d,e)&&(t=d[e]),t==null)throw Error(`resolveLanguage: "${e}" not found in bundled or custom languages`);let n=t().then(({default:t})=>{let n={name:e,data:t};return Pe.has(e)||Pe.set(e,n),n});return Fe.set(e,n),await n}finally{Fe.delete(e)}}function He(e){return Pe.get(e)??Ve(e)}var Ue=new Set;function We(e){return typeof e==`object`&&e&&`default`in e?e.default:e}var Ge=class extends Error{constructor(e){super(`Theme "${e}" is already registered`),this.name=`DuplicateThemeError`}},Ke=class extends Error{constructor(e){super(`No loader registered for theme "${e}"`),this.name=`UnregisteredThemeError`}},qe=class extends Error{constructor(e){super(`Theme "${e}" has not been resolved`),this.name=`UnresolvedThemeError`}};function Je(){let e=new Map,t=new Map,n=new Map,r=0;function i(t,n){if(e.has(t))throw new Ge(t);e.set(t,n)}function a(t,n){return e.has(t)?!1:(e.set(t,n),!0)}function o(t){return e.has(t)}function s(i){let a=t.get(i);if(a!==void 0)return Promise.resolve(a);let o=n.get(i);if(o!==void 0)return o;let s=e.get(i);if(s===void 0)return Promise.reject(new Ke(i));let c=r,l=s().then(e=>{let a=We(e);return c===r&&t.set(i,a),n.get(i)===l&&n.delete(i),a}).catch(e=>{throw n.get(i)===l&&n.delete(i),e});return n.set(i,l),l}function c(e){return Promise.all(e.map(e=>s(e)))}function l(e,n){t.set(e,n)}function u(e){for(let[t,n]of e)l(t,n)}function d(e){return t.get(e)}function f(e){let n=[];for(let r of e){let e=t.get(r);if(e===void 0)throw new qe(r);n.push(e)}return n}function p(e){return t.has(e)}function m(e){for(let n of e)if(!t.has(n))return!1;return!0}function h(e){let n=t.get(e);return n===void 0?s(e):n}function g(){r++,t.clear(),n.clear()}return{clearResolvedThemes:g,getResolvedOrResolveTheme:h,getResolvedTheme:d,getResolvedThemes:f,hasRegisteredTheme:o,hasResolvedTheme:p,hasResolvedThemes:m,registerTheme:i,registerThemeIfAbsent:a,resolveTheme:s,resolveThemes:c,seedResolvedTheme:l,seedResolvedThemes:u}}var L=Je();function Ye(e,t){e=Array.isArray(e)?e:[e];for(let n of e){let e;if(typeof n==`string`){if(e=L.getResolvedTheme(n),e==null)throw Error(`loadResolvedThemes: ${n} is not resolved, you must resolve it before calling loadResolvedThemes`)}else e=n,n=n.name,L.getResolvedTheme(n)??L.seedResolvedTheme(n,e);Ue.has(n)||(Ue.add(n),t.loadThemeSync(e))}}function Xe(e){return`default`in e?e.default:e}function Ze(e){return{...e,load:async()=>a(Xe(await e.load()))}}function Qe(e){let t=new Map(e.map(e=>[e.name,e]));return{getTheme:e=>t.get(e),getThemeNames:()=>e.map(e=>e.name),getThemes:()=>e,hasTheme:e=>t.has(e),orderBy:t=>Qe([...e].sort(t)),pick:e=>Qe(e.map(e=>{let n=t.get(e);if(n===void 0)throw Error(`Theme collection does not contain theme "${e}"`);return n})),registerInto:t=>{for(let n of e)t.registerThemeIfAbsent(n.name,n.load)}}}var $e=Qe([]),et=Qe([Ze({collection:`shiki`,colorScheme:`light`,load:()=>r(()=>import(`./github-light-EUqPIrTm.js`),[]),name:`github-light`}),Ze({collection:`shiki`,colorScheme:`dark`,load:()=>r(()=>import(`./github-dark-C-LZuMrd.js`),[]),name:`github-dark`})]);function tt(e){if(Be())throw Error(`Theme "${e}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);if(L.hasRegisteredTheme(e))return;let t=et.getTheme(e);if(t!=null){L.registerThemeIfAbsent(t.name,t.load);return}throw Error(`No valid theme loader registered for "${e}"`)}function nt(e,t){if(t.name!==e)throw Error(`resolvedTheme: themeName: ${e} does not match theme.name: ${t.name}`)}async function rt(e){tt(e);let t=await L.resolveTheme(e);return nt(e,t),t}function it(e){return L.getResolvedTheme(e)??rt(e)}var R;async function at({themes:e,langs:t,preferredHighlighter:n=`shiki-js`}){R??=l({themes:[],langs:[`text`],engine:n===`shiki-wasm`?u(r(()=>import(`./shiki-bundle-DzEBOJSk.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))):o()});let i=st(R)?await R:R;R=i;let a=[];for(let e of t){if(e===`text`||e===`ansi`)continue;let t=He(e);`then`in t?a.push(t):ze(t,i)}let s=[];for(let t of e){let e=it(t);`then`in e?s.push(e):Ye(e,R)}return(a.length>0||s.length>0)&&await Promise.all([Promise.all(a).then(e=>{ze(e,i)}),Promise.all(s).then(e=>{Ye(e,i)})]),i}function ot(){if(R!=null&&!(`then`in R))return R}function st(e=R){return e!=null&&`then`in e}for(let e of $e.getThemes())L.registerThemeIfAbsent(e.name,e.load);function ct(e=C){let t=[];return typeof e==`string`?t.push(e):(t.push(e.dark),t.push(e.light)),t}function lt(e){for(let t of ct(e))if(!Ue.has(t))return!1;return!0}function ut(e,t){return e?.cacheKey===t?.cacheKey&&e?.contents===t?.contents&&e?.name===t?.name&&e?.lang===t?.lang}function dt(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function ft(e){return N({tagName:`div`,children:[N({tagName:`div`,children:e.annotations?.map(e=>N({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function pt(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function mt({fileOrDiff:e,mode:t,stickyHeader:n}){let r=`type`in e?e:void 0,i={"data-diffs-header":t,"data-change-type":r?.type,"data-sticky":n?``:void 0};return N({tagName:`div`,children:[t===`custom`?N({tagName:`slot`,properties:{name:S}}):ht({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:r?.type??`file`}),...t===`custom`?[]:[gt(r)]],properties:i})}function ht({name:e,prevName:t,iconType:n}){let r=[N({tagName:`slot`,properties:{name:b}}),P({name:pt(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(t)]})],properties:{"data-prev-name":``}})),r.push(P({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(e)]})],properties:{"data-title":``}})),N({tagName:`div`,children:r,properties:{"data-header-content":``}})}function gt(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(N({tagName:`span`,children:[M(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(N({tagName:`span`,children:[M(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(N({tagName:`slot`,properties:{name:x}})),N({tagName:`div`,children:t,properties:{"data-metadata":``}})}function _t(e){return N({tagName:`pre`,properties:vt(e)})}function vt({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}var z=new Map,yt=0,bt={"1c":`1c`,abap:`abap`,as:`actionscript-3`,ada:`ada`,adb:`ada`,ads:`ada`,adoc:`asciidoc`,asciidoc:`asciidoc`,"component.html":`angular-html`,"component.ts":`angular-ts`,conf:`nginx`,htaccess:`apache`,cls:`tex`,trigger:`apex`,apl:`apl`,applescript:`applescript`,scpt:`applescript`,ara:`ara`,asm:`asm`,s:`riscv`,astro:`astro`,awk:`awk`,bal:`ballerina`,sh:`zsh`,bash:`zsh`,bat:`cmd`,cmd:`cmd`,be:`berry`,beancount:`beancount`,bib:`bibtex`,bicep:`bicep`,"blade.php":`blade`,bsl:`bsl`,c:`c`,h:`objective-cpp`,cs:`csharp`,cpp:`cpp`,hpp:`cpp`,cc:`cpp`,cxx:`cpp`,hh:`cpp`,cdc:`cdc`,cairo:`cairo`,clar:`clarity`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,soy:`soy`,cmake:`cmake`,"CMakeLists.txt":`cmake`,cob:`cobol`,cbl:`cobol`,cobol:`cobol`,CODEOWNERS:`codeowners`,ql:`ql`,coffee:`coffeescript`,lisp:`lisp`,cl:`lisp`,lsp:`lisp`,log:`log`,v:`verilog`,cql:`cql`,cr:`crystal`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cypher`,cyp:`cypher`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,patch:`diff`,Dockerfile:`dockerfile`,dockerfile:`dockerfile`,env:`dotenv`,dm:`dream-maker`,edge:`edge`,el:`emacs-lisp`,ex:`elixir`,exs:`elixir`,elm:`elm`,erb:`erb`,erl:`erlang`,hrl:`erlang`,f:`fortran-fixed-form`,for:`fortran-fixed-form`,fs:`fsharp`,fsi:`fsharp`,fsx:`fsharp`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`fortran-free-form`,f95:`fortran-free-form`,fnl:`fennel`,fish:`fish`,ftl:`ftl`,tres:`gdresource`,res:`gdresource`,gd:`gdscript`,gdshader:`gdshader`,gs:`genie`,feature:`gherkin`,COMMIT_EDITMSG:`git-commit`,"git-rebase-todo":`git-rebase`,gjs:`glimmer-js`,gleam:`gleam`,gts:`glimmer-ts`,glsl:`glsl`,vert:`glsl`,frag:`glsl`,shader:`shaderlab`,gp:`gnuplot`,plt:`gnuplot`,gnuplot:`gnuplot`,go:`go`,graphql:`graphql`,gql:`graphql`,groovy:`groovy`,gvy:`groovy`,hack:`hack`,haml:`haml`,hbs:`handlebars`,handlebars:`handlebars`,hs:`haskell`,lhs:`haskell`,hx:`haxe`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,fx:`hlsl`,html:`html`,htm:`html`,http:`http`,rest:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,cfg:`ini`,jade:`pug`,pug:`pug`,java:`java`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jinja:`jinja`,jinja2:`jinja`,j2:`jinja`,jison:`jison`,jl:`julia`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,libsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,kt:`kotlin`,kts:`kts`,kql:`kusto`,tex:`tex`,ltx:`tex`,lean:`lean4`,less:`less`,liquid:`liquid`,lit:`lit`,ll:`llvm`,logo:`logo`,lua:`lua`,luau:`luau`,Makefile:`makefile`,mk:`makefile`,makefile:`makefile`,md:`markdown`,markdown:`markdown`,marko:`marko`,m:`wolfram`,mat:`matlab`,mdc:`mdc`,mdx:`mdx`,wiki:`wikitext`,mediawiki:`wikitext`,mmd:`mermaid`,mermaid:`mermaid`,mips:`mipsasm`,mojo:`mojo`,"🔥":`mojo`,move:`move`,nar:`narrat`,nf:`nextflow`,nim:`nim`,nims:`nim`,nimble:`nim`,nix:`nix`,nu:`nushell`,mm:`objective-cpp`,ml:`ocaml`,mli:`ocaml`,mll:`ocaml`,mly:`ocaml`,pas:`pascal`,p:`pascal`,pl:`prolog`,pm:`perl`,t:`perl`,raku:`raku`,p6:`raku`,pl6:`raku`,php:`php`,phtml:`php`,pls:`plsql`,sql:`sql`,po:`po`,polar:`polar`,pcss:`postcss`,pot:`pot`,potx:`potx`,pq:`powerquery`,pqm:`powerquery`,ps1:`powershell`,psm1:`powershell`,psd1:`powershell`,prisma:`prisma`,pro:`prolog`,P:`prolog`,properties:`properties`,proto:`protobuf`,pp:`puppet`,purs:`purescript`,py:`python`,pyw:`python`,pyi:`python`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,R:`r`,rkt:`racket`,rktl:`racket`,razor:`razor`,cshtml:`razor`,rb:`ruby`,rbw:`ruby`,reg:`reg`,regex:`regexp`,rel:`rel`,rs:`rust`,rst:`rst`,rake:`ruby`,gemspec:`ruby`,jbuilder:`ruby`,builder:`ruby`,rabl:`ruby`,arb:`ruby`,ru:`ruby`,podspec:`ruby`,Gemfile:`ruby`,Rakefile:`ruby`,Guardfile:`ruby`,Capfile:`ruby`,Berksfile:`ruby`,Brewfile:`ruby`,Vagrantfile:`ruby`,Thorfile:`ruby`,Appraisals:`ruby`,Dangerfile:`ruby`,sas:`sas`,sass:`sass`,scala:`scala`,sc:`scala`,scm:`scheme`,ss:`scheme`,sld:`scheme`,scss:`scss`,sdbl:`sdbl`,shadergraph:`shader`,st:`smalltalk`,sol:`solidity`,sparql:`sparql`,rq:`sparql`,spl:`splunk`,config:`ssh-config`,do:`stata`,ado:`stata`,dta:`stata`,styl:`stylus`,stylus:`stylus`,svelte:`svelte`,swift:`swift`,sv:`system-verilog`,svh:`system-verilog`,service:`systemd`,socket:`systemd`,device:`systemd`,timer:`systemd`,talon:`talonscript`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`typescript`,tsp:`typespec`,tsv:`tsv`,tsx:`tsx`,ttl:`turtle`,twig:`twig`,typ:`typst`,vv:`v`,vala:`vala`,vapi:`vala`,vb:`vb`,vbs:`vb`,bas:`vb`,vh:`verilog`,vhd:`vhdl`,vhdl:`vhdl`,vim:`vimscript`,vue:`vue`,"vine.ts":`vue-vine`,vy:`vyper`,wasm:`wasm`,wat:`wasm`,wy:`文言`,wgsl:`wgsl`,wit:`wit`,wl:`wolfram`,nb:`wolfram`,xml:`xml`,xsl:`xsl`,xslt:`xsl`,yaml:`yaml`,yml:`yml`,zs:`zenscript`,zig:`zig`,zsh:`zsh`,sty:`tex`};function B(e){if(z.has(e))return z.get(e)??`text`;if(bt[e]!=null)return bt[e];let t=e.match(/\.([^/\\]+\.[^/\\]+)$/);if(t!=null){if(z.has(t[1]))return z.get(t[1])??`text`;if(bt[t[1]]!=null)return bt[t[1]]??`text`}let n=e.match(/\.([^.]+)$/)?.[1]??``;return z.has(n)?z.get(n)??`text`:bt[n]??`text`}function xt(e,t){let n=z.get(e);return n===t?!1:(n!=null&&console.warn(`setCustomExtension: overriding custom mapping for "${e}" from "${n}" to "${t}"`),z.set(e,t),yt++,!0)}function St(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:ct(t),preferredHighlighter:n}}function V(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function H(e){return e.replace(/\n$|\r\n$/,``)}function Ct(e,t,n){let r=typeof n.lineInfo==`function`?n.lineInfo(t):n.lineInfo[t-1];if(r==null){let r=`processLine: line ${t}, contains no state.lineInfo`;throw console.error(r,{node:e,line:t,state:n}),Error(r)}return e.tagName=`div`,e.properties[`data-line`]=r.lineNumber,e.properties[`data-alt-line`]=r.altLineNumber,e.properties[`data-line-type`]=r.type,e.properties[`data-line-index`]=r.lineIndex,e.children.length===0&&e.children.push(M(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/shiki-bundle-BndEhlUP.js","assets/rolldown-runtime-QTnfLwEv.js","assets/engine-compile-DQ0HPfe0.js","assets/lib-DrPFkMXk.js","assets/code-languages-0g9buMoI.js","assets/index-CoRYl0EO.js","assets/react-runtime-CVaUQXZF.js","assets/button-DPWbWvQN.js","assets/bundle-mjs-rHxsej31.js","assets/es2015-DsWAjMth.js","assets/checkbox-CCES4UbV.js","assets/file-tree-AZsgAlZn.js","assets/file-CdvUKvsI.js","assets/provider-connection-queries-bzb4TYim.js","assets/index-BoX8xH2D.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{lt as r}from"./index-CoRYl0EO.js";import{c as i,s as a,t as o}from"./engine-compile-DQ0HPfe0.js";import{n as s,r as c}from"./code-languages-0g9buMoI.js";import{n as l,r as u,t as d}from"./shiki-bundle-BndEhlUP.js";import{r as f}from"./file-change-D7aZLgtG.js";var p=`diffs-container`,m=/(?=^From [a-f0-9]+ .+$)/m,h=/(?=^diff --git)/gm,g=/^(---|\+\+\+)\s+([^\t\r\n]+)/,_=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,v=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,y=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,b=`header-prefix`,x=`header-metadata`,S=`header-custom`,C={dark:`pierre-dark`,light:`pierre-light`},w=`data-theme-css`,T=`data-unsafe-css`,E=`data-diffs-scrollbar-measure`,D=`--diffs-scrollbar-gutter-measured`,O=1e5,ee={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8};({...ee});var te=Object.freeze({fromStart:0,fromEnd:0}),k={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},A={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0};function j(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ne(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function re(e,t){let n=e?.theme??C,r=t?.theme??C,i=ie(e),a=ie(t);return ne(n,r)&&j(e,t,[`theme`,`parseDiffOptions`])&&j(i,a)}function ie(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function ae(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function M(e){return{type:`text`,value:e}}function N({tagName:e,children:t=[],properties:n={}}){return{type:`element`,tagName:e,properties:n,children:t}}function P({name:e,width:t=16,height:n=16,properties:r}){return N({tagName:`svg`,properties:{width:t,height:n,viewBox:`0 0 16 16`,...r},children:[N({tagName:`use`,properties:{href:`#${e.replace(/^#/,``)}`}})]})}function oe(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t;t=`children`in t?t.children[0]:null}}function se(e){return N({tagName:`div`,properties:{"data-gutter":``},children:e})}function ce(e,t,n,r={}){return N({tagName:`div`,properties:{"data-line-type":e,"data-column-number":t,"data-line-index":n,...r},children:t==null?void 0:[N({tagName:`span`,properties:{"data-line-number-content":``},children:[M(`${t}`)]})]})}function F(e,t,n){return N({tagName:`div`,properties:{"data-gutter-buffer":t,"data-buffer-size":n,"data-line-type":t===`annotation`?void 0:e,style:t===`annotation`?`grid-row: span ${n};`:`grid-row: span ${n};min-height:calc(${n} * 1lh);`}})}function le(){return N({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[P({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function ue(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var de=class{mode;options;hoveredLine;hoveredToken;pre;gutterUtilityLine;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;proposedSelectedRange;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection(),this.placeUtility()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e,t){let n=!(e===this.selectedRange||ae(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!n||(this.proposedSelectedRange=void 0,this.selectedRange=e,this.renderSelection(),this.placeUtility(),n&&t?.notify!==!1&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{let e=this.gutterUtilityLine??this.hoveredLine;if(e!=null){if(this.mode===`diff`&&e.type===`diff-line`)return{lineNumber:e.lineNumber,side:e.annotationSide};if(this.mode===`file`&&e.type===`line`)return{lineNumber:e.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&Oe(e.composedPath())||(I(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{if(e.pointerType!==`mouse`)return;let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(I(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine()),this.placeUtility()};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();I(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);I(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=ge(i)&&this.hoveredLine?.lineElement===i.lineElement;he(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),he(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),ge(i)?(this.setHoveredLine(this.toEventBaseProps(i)),this.placeUtility(),s?.({...this.hoveredLine,event:t})):this.placeUtility());break}case`click`:{if(i==null)break;if(ve(i)&&p!=null){p(i);break}if(_e(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!ge(i))break;he(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,I(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();Oe(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e):(e.pointerType!==`mouse`&&this.revealUtilityFromGutterPath(t),this.startLineSelectionFromPointerDown(e))};startLineSelectionFromPointerDown(e){let{enableLineSelection:t=!1}=this.options;if(!t)return;let n=this.resolveSelectionInfo(e,{source:`event-path`,requireNumberColumn:!0});if(n==null)return;let{pre:r}=this;if(r==null)return;let{lineNumber:i,eventSide:a,lineIndex:o}=n;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,r.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?o>=t.start:o<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===i&&this.selectedRange?.end===i){let t={lineNumber:i,side:a};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.options.controlledSelection===!0?this.proposedSelectedRange=null:this.selectedRange=null,this.placeUtility(),this.selectionAnchor={lineNumber:i,side:a},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e){let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;if(n==null)return;let r=this.currentSelectionEnds(),i=r?.bottom??this.resolveSelectionPoint(e,{source:`event-path`,excludeUtility:!1}),a=r?.top??i;i==null||a==null||(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:a,current:i},t&&(this.selectionAnchor={lineNumber:a.lineNumber,side:a.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.getCurrentSelectionRange())),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let n=this.resolveSelectionPoint(e,{source:`coordinates-first`});if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(ue(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let r=this.resolveSelectionPoint(e,{source:`coordinates-first`});r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearProposedSelection(),this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=i(le());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}revealUtilityFromGutterPath(e){if(this.placeUtilityFromSelection())return;let t=this.resolvePointerTarget(e);me(t)&&t.numberColumn&&this.showUtilityOnLine(this.toEventBaseProps(t))}placeUtility(){if(!this.placeUtilityFromSelection()){if(this.hoveredLine!=null){this.showUtilityOnLine(this.hoveredLine);return}this.hideUtility()}}placeUtilityFromSelection(){let e=this.currentSelectionEnds();if(e==null)return!1;let t=this.targetForSelectionPoint(e.bottom);return t==null?this.hideUtility():this.showUtilityOnLine(this.toEventBaseProps(t)),!0}showUtilityOnLine(e){this.gutterUtilityContainer!=null&&(this.gutterUtilityLine=e,e.numberElement.appendChild(this.gutterUtilityContainer))}hideUtility(){this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0}currentSelectionEnds(){let e=this.getCurrentSelectionRange();return e==null?void 0:this.selectionEnds(e)}selectionEnds(e){let t={lineNumber:e.start,side:e.side},n={lineNumber:e.end,side:e.endSide??e.side},r=this.selectionPointRowIndex(t),i=this.selectionPointRowIndex(n);if(!(r==null||i==null))return r>i?{top:n,bottom:t}:{top:t,bottom:n}}selectionPointRowIndex(e){let t=this.getLineIndex(e.lineNumber,e.side);if(t!=null)return this.isSplitDiff()?t[1]:t[0]}targetForSelectionPoint(e){if(this.pre==null)return;let t=this.getLineIndex(e.lineNumber,e.side);if(t==null)return;let n=this.mode===`diff`?`${t[0]},${t[1]}`:`${t[0]}`,r=this.pre.querySelectorAll(`[data-column-number="${e.lineNumber}"][data-line-index="${n}"]`);for(let t of r){if(!(t instanceof HTMLElement))continue;let n=this.resolvePointerTarget(xe(t));if(me(n)&&!(this.mode===`diff`&&e.side!=null&&n.side!==e.side))return n}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}selectionInfoFromPath(e,t){let n=this.resolvePointerTarget(e);if(me(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}resolveSelectionInfo(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionInfoFromPath(n,t.requireNumberColumn)}selectionPointFromPath(e){let t=this.resolvePointerTarget(e);if(me(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}resolveSelectionPoint(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionPointFromPath(n)}resolveSelectionPath(e,t){let n=t.excludeUtility!==!1;switch(t.source){case`event-path`:return this.pathFromEventPath(e.composedPath(),n);case`coordinates-first`:{let t=this.pathFromCoordinates(e,n);return t===void 0?this.pathFromEventPath(e.composedPath(),n):t??void 0}}}pathFromCoordinates(e,t){let n=this.hitTest(e);if(n!==void 0)return n===null?null:this.pathFromElement(n,t)??null}pathFromEventPath(e,t){if(!(t&&Oe(e))){for(let n of e)if(n instanceof Element)return this.pathFromElement(n,t)}}pathFromElement(e,t){let n=xe(e);if(t&&Oe(n))return;let r=Se(e);return r==null?this.pathFromAnnotationSlot(e):xe(r)}pathFromAnnotationSlot(e){let t=we(Ce(e));if(t==null)return;let n=this.targetForSelectionPoint(t);return n==null?void 0:xe(n.lineElement)}hitTest(e){if(!Number.isFinite(e.clientX)||!Number.isFinite(e.clientY))return;let t=this.pre?.getRootNode(),n=Te(t)?t:Te(document)?document:void 0;if(n!=null)return n.elementFromPoint(e.clientX,e.clientY)}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}getCurrentSelectionRange(){return this.proposedSelectedRange===void 0?this.selectedRange:this.proposedSelectedRange}clearProposedSelection(){this.proposedSelectedRange=void 0}updateSelection(e,t,n=!0){let r=this.getCurrentSelectionRange(),i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}ae(r??void 0,i??void 0)||(this.options.controlledSelection===!0?this.proposedSelectedRange=i:(this.selectedRange=i,this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection)),this.placeUtility(),n&&this.notifySelectionChangeDelta())}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.getCurrentSelectionRange()??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.getCurrentSelectionRange()??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);ye(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:be(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:be(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function fe({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,lineHoverHighlight:n,onGutterUtilityClick:r,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,renderGutterUtility:d,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v},y,b,x){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:pe({enableGutterUtility:t,renderGutterUtility:d,onGutterUtilityClick:r}),usesCustomGutterUtility:d!=null,lineHoverHighlight:n,onGutterUtilityClick:r,onHunkExpand:y,onMergeConflictActionClick:x,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v,getLineIndex:b}}function pe({enableGutterUtility:e,renderGutterUtility:t,onGutterUtilityClick:n}){if(n!=null&&t!=null)throw Error(`Cannot use both 'onGutterUtilityClick' and 'renderGutterUtility'. Use only one gutter utility API.`);return e??!1}function me(e){return e!=null&&`kind`in e&&e.kind===`line`}function he(e){return e!=null&&`kind`in e&&e.kind===`token`}function ge(e){return me(e)||he(e)}function _e(e){return`type`in e&&e.type===`line-info`}function ve(e){return`kind`in e&&e.kind===`merge-conflict-action`}function ye(e){return e===`current`||e===`incoming`||e===`both`}function be(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function xe(e){let t=[],n=e;for(;n!=null;)t.push(n),n=n.parentNode;return t}function Se(e){let t=e.closest(`[data-line], [data-column-number]`);if(t instanceof HTMLElement)return t;let n=e.closest(`[data-line-annotation], [data-gutter-buffer="annotation"]`);if(!(n instanceof HTMLElement))return;let r=n.previousElementSibling;return r instanceof HTMLElement&&(r.hasAttribute(`data-line`)||r.hasAttribute(`data-column-number`))?r:void 0}function Ce(e){let t=e.closest(`[slot^="annotation-"]`);if(t instanceof HTMLElement)return t.getAttribute(`slot`)??void 0;if(e instanceof HTMLElement){let t=e.getAttribute(`name`)??void 0;return t!=null&&t.startsWith(`annotation-`)?t:void 0}}function we(e){if(e==null)return;let t=/^annotation-(?:(additions|deletions)-)?(\d+)$/.exec(e);if(t==null)return;let n=Number.parseInt(t[2],10);if(!(!Number.isFinite(n)||n<=0))return{lineNumber:n,side:t[1]}}function Te(e){return e!=null&&typeof e.elementFromPoint==`function`}function Ee(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function De(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function Oe(e){for(let t of e)if(t instanceof HTMLElement&&(t.hasAttribute(`data-utility-button`)||t.hasAttribute(`data-gutter-utility-slot`)||t.getAttribute(`slot`)===`gutter-utility-slot`||t.getAttribute(`name`)===`gutter-utility-slot`))return!0;return!1}function I(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var ke=class e{static resizeObserver;static managersByElement=new Map;static getResizeObserver(){let t=e.resizeObserver??new ResizeObserver(e.handleSharedResizeEntries);return e.resizeObserver=t,t}static handleSharedResizeEntries(t){let n=new Map;for(let r of t){let t=e.managersByElement.get(r.target);if(t==null)continue;let i=n.get(t);i==null?n.set(t,[r]):i.push(r)}for(let[e,t]of n)e.handleResizeEntries(t)}observedNodes=new Map;setup(e,t){let n=new Set,r=0,i=new Map(this.observedNodes);this.observedNodes.clear();for(let t of e.children){if(r===2)break;let e=(()=>{if(t instanceof HTMLElement&&t.tagName===`CODE`)return t})();if(e==null)continue;r++;let n=i.get(e);if(n!=null&&n.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let a=e.firstElementChild;a instanceof HTMLElement||(a=null),n==null?(n={type:`code`,codeElement:e,numberElement:a,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,n),this.observe(e),a!=null&&(this.observedNodes.set(a,n),this.observe(a))):(this.observedNodes.set(e,n),i.delete(e),n.numberElement===a?n.numberElement==null?n.numberWidth=0:(i.delete(n.numberElement),this.observedNodes.set(n.numberElement,n)):(n.numberElement!=null&&(this.unobserve(n.numberElement),i.delete(n.numberElement)),a!=null&&(this.observe(a),i.delete(a),this.observedNodes.set(a,n)),n.numberElement=a,n.numberWidth=0))}if(r>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),r=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let t=e.getAttribute(`data-line-annotation`)??``;if(!/^-?\d+,-?\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let n=r.get(t);n??(n=[],r.set(t,n)),n.push(e)}for(let[e,t]of r){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[r,a]=t,o=r.firstElementChild,s=a.firstElementChild;if(!(r instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement)||!(s instanceof HTMLElement))continue;let c=i.get(o);if(c!=null){this.observedNodes.set(o,c),this.observedNodes.set(s,c),i.delete(o),i.delete(s);continue}let l=o.getBoundingClientRect().height,u=s.getBoundingClientRect().height;c={type:`annotations`,column1:{container:r,child:o,childHeight:l},column2:{container:a,child:s,childHeight:u},currentHeight:`auto`},n.add({child1:o,child2:s,item:c,newHeight:Math.max(l,u)})}for(let e of n)this.applyNewHeight(e.item,e.newHeight),this.observedNodes.set(e.child1,e.item),this.observedNodes.set(e.child2,e.item),this.observe(e.child1),this.observe(e.child2);n.clear()}for(let[e,t]of i)this.unobserve(e),t.type===`code`?Me(t):Ne(t);i.clear()}cleanUp(){for(let e of this.observedNodes.keys())this.unobserve(e);this.observedNodes.clear()}observe(t){let{managersByElement:n}=e,r=n.get(t);if(r!==this){if(r!=null&&r!==this)throw Error(`ResizeManager.observe: element is already owned by another ResizeManager`);n.set(t,this),e.getResizeObserver().observe(t)}}unobserve(t){let{managersByElement:n,resizeObserver:r}=e,i=n.get(t);if(i!=null){if(i!==this)throw Error(`ResizeManager.unobserve: element is owned by another ResizeManager`);n.delete(t),r?.unobserve(t),r!=null&&n.size===0&&(r.disconnect(),e.resizeObserver=void 0)}}handleResizeEntries(e){let t=new Map,n=new Set;for(let r of e){let{target:e,borderBoxSize:i,contentBoxSize:a}=r;if(!(e instanceof HTMLElement)){console.error(`ResizeManager.handleResizeEntries: Invalid element for ResizeObserver`,r);continue}let o=this.observedNodes.get(e);if(o==null){console.error(`ResizeManager.handleResizeEntries: Not a valid observed node`,r);continue}if(o.type===`annotations`){let t=(()=>{if(e===o.column1.child)return o.column1;if(e===o.column2.child)return o.column2})();if(t==null){console.error(`ResizeManager.handleResizeEntries: Couldn't find a column for`,{item:o,target:e});continue}t.childHeight=i[0].blockSize,n.add(o)}else if(o.type===`code`){let n=t.get(o)??{},r=a[0].inlineSize;e===o.codeElement?n.codeInlineSize=r:e===o.numberElement&&(n.numberInlineSize=r),t.set(o,n)}}this.applyAnnotationUpdates(n),n.clear(),this.applyColumnUpdates(t),t.clear()}applyAnnotationUpdates(e){for(let t of e)this.applyNewHeight(t,Math.max(t.column1.childHeight,t.column2.childHeight))}applyColumnUpdates=e=>{for(let[t,n]of e){let e=n.codeInlineSize==null?t.codeWidth:Ae(n.codeInlineSize),r=n.numberInlineSize==null?t.numberWidth:je(n.numberInlineSize),i=e!==t.codeWidth,a=r!==t.numberWidth;if(!(!i&&!a)&&(t.codeWidth=e,t.numberWidth=r,i&&t.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e==`number`?`${e}px`:`auto`}`),a&&t.codeElement.style.setProperty(`--diffs-column-number-width`,`${r===0?`auto`:`${r}px`}`),i||a&&e!==`auto`)){let n=typeof e==`number`?Math.max(e-r,0):0;t.codeElement.style.setProperty(`--diffs-column-content-width`,`${n>0?`${n}px`:`auto`}`)}}};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function Ae(e){let t=Math.max(Math.floor(e),0);return t===0?`auto`:t}function je(e){return Math.max(Math.ceil(e),0)}function Me(e){e.codeElement.isConnected&&(e.codeElement.style.removeProperty(`--diffs-column-content-width`),e.codeElement.style.removeProperty(`--diffs-column-number-width`),e.codeElement.style.removeProperty(`--diffs-column-width`))}function Ne(e){e.column1.container.isConnected&&e.column1.container.style.removeProperty(`--diffs-annotation-min-height`),e.column2.container.isConnected&&e.column2.container.style.removeProperty(`--diffs-annotation-min-height`)}var Pe=new Map,Fe=new Map,Ie=new Map,Le=new Set;function Re(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!Le.has(t))return!1;return!0}function ze(e,t){e=Array.isArray(e)?e:[e];for(let n of e){if(Le.has(n.name))continue;let e=Pe.get(n.name);e??(e=n,Pe.set(n.name,e)),Le.add(e.name),t.loadLanguageSync(e.data)}}function Be(){return typeof WorkerGlobalScope<`u`&&typeof self<`u`&&self instanceof WorkerGlobalScope}async function Ve(e){if(Be())throw Error(`resolveLanguage("${e}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);let t=Fe.get(e);if(t!=null)return t;try{let t=Ie.get(e);if(t==null&&Object.prototype.hasOwnProperty.call(d,e)&&(t=d[e]),t==null)throw Error(`resolveLanguage: "${e}" not found in bundled or custom languages`);let n=t().then(({default:t})=>{let n={name:e,data:t};return Pe.has(e)||Pe.set(e,n),n});return Fe.set(e,n),await n}finally{Fe.delete(e)}}function He(e){return Pe.get(e)??Ve(e)}var Ue=new Set;function We(e){return typeof e==`object`&&e&&`default`in e?e.default:e}var Ge=class extends Error{constructor(e){super(`Theme "${e}" is already registered`),this.name=`DuplicateThemeError`}},Ke=class extends Error{constructor(e){super(`No loader registered for theme "${e}"`),this.name=`UnregisteredThemeError`}},qe=class extends Error{constructor(e){super(`Theme "${e}" has not been resolved`),this.name=`UnresolvedThemeError`}};function Je(){let e=new Map,t=new Map,n=new Map,r=0;function i(t,n){if(e.has(t))throw new Ge(t);e.set(t,n)}function a(t,n){return e.has(t)?!1:(e.set(t,n),!0)}function o(t){return e.has(t)}function s(i){let a=t.get(i);if(a!==void 0)return Promise.resolve(a);let o=n.get(i);if(o!==void 0)return o;let s=e.get(i);if(s===void 0)return Promise.reject(new Ke(i));let c=r,l=s().then(e=>{let a=We(e);return c===r&&t.set(i,a),n.get(i)===l&&n.delete(i),a}).catch(e=>{throw n.get(i)===l&&n.delete(i),e});return n.set(i,l),l}function c(e){return Promise.all(e.map(e=>s(e)))}function l(e,n){t.set(e,n)}function u(e){for(let[t,n]of e)l(t,n)}function d(e){return t.get(e)}function f(e){let n=[];for(let r of e){let e=t.get(r);if(e===void 0)throw new qe(r);n.push(e)}return n}function p(e){return t.has(e)}function m(e){for(let n of e)if(!t.has(n))return!1;return!0}function h(e){let n=t.get(e);return n===void 0?s(e):n}function g(){r++,t.clear(),n.clear()}return{clearResolvedThemes:g,getResolvedOrResolveTheme:h,getResolvedTheme:d,getResolvedThemes:f,hasRegisteredTheme:o,hasResolvedTheme:p,hasResolvedThemes:m,registerTheme:i,registerThemeIfAbsent:a,resolveTheme:s,resolveThemes:c,seedResolvedTheme:l,seedResolvedThemes:u}}var L=Je();function Ye(e,t){e=Array.isArray(e)?e:[e];for(let n of e){let e;if(typeof n==`string`){if(e=L.getResolvedTheme(n),e==null)throw Error(`loadResolvedThemes: ${n} is not resolved, you must resolve it before calling loadResolvedThemes`)}else e=n,n=n.name,L.getResolvedTheme(n)??L.seedResolvedTheme(n,e);Ue.has(n)||(Ue.add(n),t.loadThemeSync(e))}}function Xe(e){return`default`in e?e.default:e}function Ze(e){return{...e,load:async()=>a(Xe(await e.load()))}}function Qe(e){let t=new Map(e.map(e=>[e.name,e]));return{getTheme:e=>t.get(e),getThemeNames:()=>e.map(e=>e.name),getThemes:()=>e,hasTheme:e=>t.has(e),orderBy:t=>Qe([...e].sort(t)),pick:e=>Qe(e.map(e=>{let n=t.get(e);if(n===void 0)throw Error(`Theme collection does not contain theme "${e}"`);return n})),registerInto:t=>{for(let n of e)t.registerThemeIfAbsent(n.name,n.load)}}}var $e=Qe([]),et=Qe([Ze({collection:`shiki`,colorScheme:`light`,load:()=>r(()=>import(`./github-light-EUqPIrTm.js`),[]),name:`github-light`}),Ze({collection:`shiki`,colorScheme:`dark`,load:()=>r(()=>import(`./github-dark-C-LZuMrd.js`),[]),name:`github-dark`})]);function tt(e){if(Be())throw Error(`Theme "${e}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);if(L.hasRegisteredTheme(e))return;let t=et.getTheme(e);if(t!=null){L.registerThemeIfAbsent(t.name,t.load);return}throw Error(`No valid theme loader registered for "${e}"`)}function nt(e,t){if(t.name!==e)throw Error(`resolvedTheme: themeName: ${e} does not match theme.name: ${t.name}`)}async function rt(e){tt(e);let t=await L.resolveTheme(e);return nt(e,t),t}function it(e){return L.getResolvedTheme(e)??rt(e)}var R;async function at({themes:e,langs:t,preferredHighlighter:n=`shiki-js`}){R??=l({themes:[],langs:[`text`],engine:n===`shiki-wasm`?u(r(()=>import(`./shiki-bundle-BndEhlUP.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))):o()});let i=st(R)?await R:R;R=i;let a=[];for(let e of t){if(e===`text`||e===`ansi`)continue;let t=He(e);`then`in t?a.push(t):ze(t,i)}let s=[];for(let t of e){let e=it(t);`then`in e?s.push(e):Ye(e,R)}return(a.length>0||s.length>0)&&await Promise.all([Promise.all(a).then(e=>{ze(e,i)}),Promise.all(s).then(e=>{Ye(e,i)})]),i}function ot(){if(R!=null&&!(`then`in R))return R}function st(e=R){return e!=null&&`then`in e}for(let e of $e.getThemes())L.registerThemeIfAbsent(e.name,e.load);function ct(e=C){let t=[];return typeof e==`string`?t.push(e):(t.push(e.dark),t.push(e.light)),t}function lt(e){for(let t of ct(e))if(!Ue.has(t))return!1;return!0}function ut(e,t){return e?.cacheKey===t?.cacheKey&&e?.contents===t?.contents&&e?.name===t?.name&&e?.lang===t?.lang}function dt(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function ft(e){return N({tagName:`div`,children:[N({tagName:`div`,children:e.annotations?.map(e=>N({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function pt(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function mt({fileOrDiff:e,mode:t,stickyHeader:n}){let r=`type`in e?e:void 0,i={"data-diffs-header":t,"data-change-type":r?.type,"data-sticky":n?``:void 0};return N({tagName:`div`,children:[t===`custom`?N({tagName:`slot`,properties:{name:S}}):ht({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:r?.type??`file`}),...t===`custom`?[]:[gt(r)]],properties:i})}function ht({name:e,prevName:t,iconType:n}){let r=[N({tagName:`slot`,properties:{name:b}}),P({name:pt(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(t)]})],properties:{"data-prev-name":``}})),r.push(P({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(e)]})],properties:{"data-title":``}})),N({tagName:`div`,children:r,properties:{"data-header-content":``}})}function gt(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(N({tagName:`span`,children:[M(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(N({tagName:`span`,children:[M(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(N({tagName:`slot`,properties:{name:x}})),N({tagName:`div`,children:t,properties:{"data-metadata":``}})}function _t(e){return N({tagName:`pre`,properties:vt(e)})}function vt({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}var z=new Map,yt=0,bt={"1c":`1c`,abap:`abap`,as:`actionscript-3`,ada:`ada`,adb:`ada`,ads:`ada`,adoc:`asciidoc`,asciidoc:`asciidoc`,"component.html":`angular-html`,"component.ts":`angular-ts`,conf:`nginx`,htaccess:`apache`,cls:`tex`,trigger:`apex`,apl:`apl`,applescript:`applescript`,scpt:`applescript`,ara:`ara`,asm:`asm`,s:`riscv`,astro:`astro`,awk:`awk`,bal:`ballerina`,sh:`zsh`,bash:`zsh`,bat:`cmd`,cmd:`cmd`,be:`berry`,beancount:`beancount`,bib:`bibtex`,bicep:`bicep`,"blade.php":`blade`,bsl:`bsl`,c:`c`,h:`objective-cpp`,cs:`csharp`,cpp:`cpp`,hpp:`cpp`,cc:`cpp`,cxx:`cpp`,hh:`cpp`,cdc:`cdc`,cairo:`cairo`,clar:`clarity`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,soy:`soy`,cmake:`cmake`,"CMakeLists.txt":`cmake`,cob:`cobol`,cbl:`cobol`,cobol:`cobol`,CODEOWNERS:`codeowners`,ql:`ql`,coffee:`coffeescript`,lisp:`lisp`,cl:`lisp`,lsp:`lisp`,log:`log`,v:`verilog`,cql:`cql`,cr:`crystal`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cypher`,cyp:`cypher`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,patch:`diff`,Dockerfile:`dockerfile`,dockerfile:`dockerfile`,env:`dotenv`,dm:`dream-maker`,edge:`edge`,el:`emacs-lisp`,ex:`elixir`,exs:`elixir`,elm:`elm`,erb:`erb`,erl:`erlang`,hrl:`erlang`,f:`fortran-fixed-form`,for:`fortran-fixed-form`,fs:`fsharp`,fsi:`fsharp`,fsx:`fsharp`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`fortran-free-form`,f95:`fortran-free-form`,fnl:`fennel`,fish:`fish`,ftl:`ftl`,tres:`gdresource`,res:`gdresource`,gd:`gdscript`,gdshader:`gdshader`,gs:`genie`,feature:`gherkin`,COMMIT_EDITMSG:`git-commit`,"git-rebase-todo":`git-rebase`,gjs:`glimmer-js`,gleam:`gleam`,gts:`glimmer-ts`,glsl:`glsl`,vert:`glsl`,frag:`glsl`,shader:`shaderlab`,gp:`gnuplot`,plt:`gnuplot`,gnuplot:`gnuplot`,go:`go`,graphql:`graphql`,gql:`graphql`,groovy:`groovy`,gvy:`groovy`,hack:`hack`,haml:`haml`,hbs:`handlebars`,handlebars:`handlebars`,hs:`haskell`,lhs:`haskell`,hx:`haxe`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,fx:`hlsl`,html:`html`,htm:`html`,http:`http`,rest:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,cfg:`ini`,jade:`pug`,pug:`pug`,java:`java`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jinja:`jinja`,jinja2:`jinja`,j2:`jinja`,jison:`jison`,jl:`julia`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,libsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,kt:`kotlin`,kts:`kts`,kql:`kusto`,tex:`tex`,ltx:`tex`,lean:`lean4`,less:`less`,liquid:`liquid`,lit:`lit`,ll:`llvm`,logo:`logo`,lua:`lua`,luau:`luau`,Makefile:`makefile`,mk:`makefile`,makefile:`makefile`,md:`markdown`,markdown:`markdown`,marko:`marko`,m:`wolfram`,mat:`matlab`,mdc:`mdc`,mdx:`mdx`,wiki:`wikitext`,mediawiki:`wikitext`,mmd:`mermaid`,mermaid:`mermaid`,mips:`mipsasm`,mojo:`mojo`,"🔥":`mojo`,move:`move`,nar:`narrat`,nf:`nextflow`,nim:`nim`,nims:`nim`,nimble:`nim`,nix:`nix`,nu:`nushell`,mm:`objective-cpp`,ml:`ocaml`,mli:`ocaml`,mll:`ocaml`,mly:`ocaml`,pas:`pascal`,p:`pascal`,pl:`prolog`,pm:`perl`,t:`perl`,raku:`raku`,p6:`raku`,pl6:`raku`,php:`php`,phtml:`php`,pls:`plsql`,sql:`sql`,po:`po`,polar:`polar`,pcss:`postcss`,pot:`pot`,potx:`potx`,pq:`powerquery`,pqm:`powerquery`,ps1:`powershell`,psm1:`powershell`,psd1:`powershell`,prisma:`prisma`,pro:`prolog`,P:`prolog`,properties:`properties`,proto:`protobuf`,pp:`puppet`,purs:`purescript`,py:`python`,pyw:`python`,pyi:`python`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,R:`r`,rkt:`racket`,rktl:`racket`,razor:`razor`,cshtml:`razor`,rb:`ruby`,rbw:`ruby`,reg:`reg`,regex:`regexp`,rel:`rel`,rs:`rust`,rst:`rst`,rake:`ruby`,gemspec:`ruby`,jbuilder:`ruby`,builder:`ruby`,rabl:`ruby`,arb:`ruby`,ru:`ruby`,podspec:`ruby`,Gemfile:`ruby`,Rakefile:`ruby`,Guardfile:`ruby`,Capfile:`ruby`,Berksfile:`ruby`,Brewfile:`ruby`,Vagrantfile:`ruby`,Thorfile:`ruby`,Appraisals:`ruby`,Dangerfile:`ruby`,sas:`sas`,sass:`sass`,scala:`scala`,sc:`scala`,scm:`scheme`,ss:`scheme`,sld:`scheme`,scss:`scss`,sdbl:`sdbl`,shadergraph:`shader`,st:`smalltalk`,sol:`solidity`,sparql:`sparql`,rq:`sparql`,spl:`splunk`,config:`ssh-config`,do:`stata`,ado:`stata`,dta:`stata`,styl:`stylus`,stylus:`stylus`,svelte:`svelte`,swift:`swift`,sv:`system-verilog`,svh:`system-verilog`,service:`systemd`,socket:`systemd`,device:`systemd`,timer:`systemd`,talon:`talonscript`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`typescript`,tsp:`typespec`,tsv:`tsv`,tsx:`tsx`,ttl:`turtle`,twig:`twig`,typ:`typst`,vv:`v`,vala:`vala`,vapi:`vala`,vb:`vb`,vbs:`vb`,bas:`vb`,vh:`verilog`,vhd:`vhdl`,vhdl:`vhdl`,vim:`vimscript`,vue:`vue`,"vine.ts":`vue-vine`,vy:`vyper`,wasm:`wasm`,wat:`wasm`,wy:`文言`,wgsl:`wgsl`,wit:`wit`,wl:`wolfram`,nb:`wolfram`,xml:`xml`,xsl:`xsl`,xslt:`xsl`,yaml:`yaml`,yml:`yml`,zs:`zenscript`,zig:`zig`,zsh:`zsh`,sty:`tex`};function B(e){if(z.has(e))return z.get(e)??`text`;if(bt[e]!=null)return bt[e];let t=e.match(/\.([^/\\]+\.[^/\\]+)$/);if(t!=null){if(z.has(t[1]))return z.get(t[1])??`text`;if(bt[t[1]]!=null)return bt[t[1]]??`text`}let n=e.match(/\.([^.]+)$/)?.[1]??``;return z.has(n)?z.get(n)??`text`:bt[n]??`text`}function xt(e,t){let n=z.get(e);return n===t?!1:(n!=null&&console.warn(`setCustomExtension: overriding custom mapping for "${e}" from "${n}" to "${t}"`),z.set(e,t),yt++,!0)}function St(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:ct(t),preferredHighlighter:n}}function V(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function H(e){return e.replace(/\n$|\r\n$/,``)}function Ct(e,t,n){let r=typeof n.lineInfo==`function`?n.lineInfo(t):n.lineInfo[t-1];if(r==null){let r=`processLine: line ${t}, contains no state.lineInfo`;throw console.error(r,{node:e,line:t,state:n}),Error(r)}return e.tagName=`div`,e.properties[`data-line`]=r.lineNumber,e.properties[`data-alt-line`]=r.altLineNumber,e.properties[`data-line-type`]=r.type,e.properties[`data-line-index`]=r.lineIndex,e.children.length===0&&e.children.push(M(`
|
|
3
3
|
`)),e}var wt=Symbol(`no-token`),Tt=Symbol(`multiple-tokens`);function Et(e){let t=Dt(e);if(t!=null)return t;let n=wt,r=[],i=[],a,o=()=>{if(i.length===0||a==null){i=[],a=void 0;return}if(i.length===1){let e=i[0];if(e?.type===`element`){kt(e,a);for(let t of e.children)Ot(t)}else Ot(e);r.push(e),i=[],a=void 0;return}for(let e of i)Ot(e);r.push(N({tagName:`span`,properties:{"data-char":a},children:i})),i=[],a=void 0},s=e=>{if(e!==wt){if(e===Tt){n=Tt;return}if(n===wt){n=e;return}n!==e&&(n=Tt)}};for(let t of e.children){let e=t.type===`element`?Et(t):wt;if(s(e),typeof e!=`number`){o(),r.push(t);continue}a!=null&&a!==e&&o(),a??=e,i.push(t)}return o(),e.children=r,n}function Dt(e){let t=e.properties[`data-char`];if(typeof t==`number`)return t}function Ot(e){if(e.type===`element`){e.properties[`data-char`]=void 0;for(let t of e.children)Ot(t)}}function kt(e,t){e.properties[`data-char`]=t}function At(e={}){let{classPrefix:t=`__shiki_`,classSuffix:n=``,classReplacer:r=e=>e}=e,i=new Map;function a(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function o(e){let o=t+jt(typeof e==`string`?e:a(e))+n;return o=r(o),i.has(o)||i.set(o,typeof e==`string`?e:{...e}),o}return{name:`@shikijs/transformers:style-to-class`,pre(e){if(!e.properties.style)return;let t=o(e.properties.style);delete e.properties.style,this.addClassToHast(e,t)},tokens(e){for(let t of e)for(let e of t){if(!e.htmlStyle)continue;let t=o(e.htmlStyle);e.htmlStyle={},e.htmlAttrs||={},e.htmlAttrs.class?e.htmlAttrs.class+=` ${t}`:e.htmlAttrs.class=t}},getClassRegistry(){return i},getCSS(){let e=``;for(let[t,n]of i.entries())e+=`.${t}{${typeof n==`string`?n:a(n)}}`;return e},clearRegistry(){i.clear()}}}function jt(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0,i;t<e.length;t++)i=e.charCodeAt(t),n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677);return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36).slice(0,6)}function Mt(e=!1,t=!1){let n={lineInfo:[]},r=[{line(e){return delete e.properties.class,e},pre(t){let r=oe(t),i=[];if(r!=null){let t=1;for(let a of r.children)a.type===`element`&&(e&&Et(a),i.push(Ct(a,t,n)),t++);r.children=i}return t},...e?{tokens(e){for(let t of e){let e=0;for(let n of t){let t=n;t.__lineChar??=e,e+=n.content.length}}},preprocess(e,t){t.mergeWhitespaces=`never`},span(e,t,n,r,i){if(i?.offset!=null&&i.content!=null){let t=i.__lineChar;return t!=null&&(e.properties[`data-char`]=t),e}return e}}:null}];return t&&r.push(Pt,Nt),{state:n,transformers:r,toClass:Nt}}var Nt=At({classPrefix:`hl-`}),Pt={name:`token-style-normalizer`,tokens(e){for(let t of e)for(let e of t){if(e.htmlStyle!=null)continue;let t={};e.color!=null&&(t.color=e.color),e.bgColor!=null&&(t[`background-color`]=e.bgColor),e.fontStyle!=null&&e.fontStyle!==0&&(e.fontStyle&1&&(t[`font-style`]=`italic`),e.fontStyle&2&&(t[`font-weight`]=`bold`),e.fontStyle&4&&(t[`text-decoration`]=`underline`)),Object.keys(t).length>0&&(e.htmlStyle=t)}}};function U(e){return`--${e===`token`?`diffs-token`:`diffs`}-`}var Ft=/^#(?:[0-9a-f]{3}0|[0-9a-f]{6}00)$/i,It=/^0(?:\.0+)?%?$/;function Lt(e){let t=e.indexOf(`(`);if(t<=0||!e.endsWith(`)`))return;let n=e.slice(0,t).trim();if(!/^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)$/i.test(n))return;let r=e.slice(t+1,-1).trim();if(r.length===0)return;let i=r.lastIndexOf(`/`);if(i!==-1)return r.slice(i+1).trim();if(/^(?:rgba|hsla)$/i.test(n)){let e=r.split(`,`);if(e.length===4)return e[3]?.trim()}}function Rt(e){let t=/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})\b/i.exec(e.trim());if(t==null)return null;let n=t[1],r,i=1;return n.length===3?r=n.split(``).map(e=>e+e).join(``):n.length===6?r=n:(r=n.slice(0,6),i=parseInt(n.slice(6,8),16)/255),[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16),i]}function zt(e){if(e==null)return null;let t=Rt(e);if(t==null)return null;let n=t[0]/255,r=t[1]/255,i=t[2]/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)}function Bt(e){if(e==null)return!1;let t=e.trim().toLowerCase();if(t===`transparent`||Ft.test(t))return!0;let n=Lt(t);return n!=null&&It.test(n)}function Vt(e,t,n){if(t==null||n==null)return!1;let r=zt(e),i=zt(t),a=zt(n);return r==null||i==null||a==null?!1:Math.abs(r-a)<Math.abs(r-i)}var Ht=new WeakMap;function Ut(e){let t=Ht.get(e);if(t!=null)return t;let n=e.colors??{},r={...n},i=n[`editor.background`]??e.bg,a=n[`editor.foreground`]??e.fg,o=n[`sideBar.background`]??i,s=n[`sideBar.foreground`]??a;W(r,`editor.background`,i),W(r,`editor.foreground`,a),W(r,`sideBar.background`,o),W(r,`sideBar.foreground`,s),W(r,`input.background`,n[`input.background`]??o),W(r,`sideBarSectionHeader.foreground`,n[`sideBarSectionHeader.foreground`]??s),W(r,`list.activeSelectionForeground`,n[`list.activeSelectionForeground`]??s),W(r,`gitDecoration.addedResourceForeground`,Wt(n[`gitDecoration.addedResourceForeground`],n[`terminal.ansiGreen`],n[`editorGutter.addedBackground`])),W(r,`gitDecoration.modifiedResourceForeground`,Wt(n[`gitDecoration.modifiedResourceForeground`],n[`terminal.ansiBlue`],n[`editorGutter.modifiedBackground`])),W(r,`gitDecoration.deletedResourceForeground`,Wt(n[`gitDecoration.deletedResourceForeground`],n[`terminal.ansiRed`],n[`editorGutter.deletedBackground`]));let c=(Bt(n[`list.focusOutline`])?void 0:n[`list.focusOutline`])??(Bt(n.focusBorder)?void 0:n.focusBorder);c==null?delete r[`list.focusOutline`]:r[`list.focusOutline`]=c;let l=n[`list.hoverBackground`];l!=null&&(Gt(l,o)||Vt(l,o,s))&&delete r[`list.hoverBackground`];let u=Object.freeze({...e,colors:Object.freeze(r)});return Ht.set(e,u),u}function W(e,t,n){n!=null&&n!==``&&(e[t]=n)}function Wt(...e){for(let t of e)if(t!=null&&t!==``)return t}function Gt(e,t){return t!=null&&e.toLowerCase()===t.toLowerCase()}function Kt({theme:e=C,highlighter:t,prefix:n}){let r=``;if(typeof e==`string`){let i=t.getTheme(e),a=Ut(i);r+=`color:${a.fg};`,r+=`background-color:${a.bg};`,r+=`${U(`global`)}fg:${a.fg};`,r+=`${U(`global`)}bg:${a.bg};`,r+=qt(i,n)}else{let n=t.getTheme(e.dark),i=Ut(n);r+=`${U(`global`)}dark:${i.fg};`,r+=`${U(`global`)}dark-bg:${i.bg};`,r+=qt(n,`dark`),n=t.getTheme(e.light),i=Ut(n),r+=`${U(`global`)}light:${i.fg};`,r+=`${U(`global`)}light-bg:${i.bg};`,r+=qt(n,`light`)}return r}function qt(e,t){t=t==null?``:`${t}-`;let n=``,r=e.colors?.[`gitDecoration.addedResourceForeground`]??e.colors?.[`terminal.ansiGreen`];r!=null&&(n+=`${U(`global`)}${t}addition-color:${r};`);let i=e.colors?.[`gitDecoration.deletedResourceForeground`]??e.colors?.[`terminal.ansiRed`];i!=null&&(n+=`${U(`global`)}${t}deletion-color:${i};`);let a=e.colors?.[`gitDecoration.modifiedResourceForeground`]??e.colors?.[`terminal.ansiBlue`];return a!=null&&(n+=`${U(`global`)}${t}modified-color:${a};`),n}function Jt(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t.children;t=`children`in t?t.children[0]:null}throw console.error(e),Error(`getLineNodes: Unable to find children`)}var Yt=`-1,-1`;function Xt(e){return e?.some(e=>e.lineNumber===0)??!1}function Zt(e){let t=e[0];return t!=null&&t.length>0?t:void 0}function Qt(e){return e.startingLine===0&&e.totalLines>0}function $t(e,t){return N({tagName:`div`,children:e,properties:{"data-content":``,style:`grid-row: span ${t}`}})}function en(e){return e.useTokenTransformer===!0||e.onTokenClick!=null||e.onTokenEnter!=null||e.onTokenLeave!=null}var tn=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
4
4
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
5
5
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
Binary file
|
|
Binary file
|
package/dist/web/assets/{prompt-input-controls-CrypM5HZ.js → prompt-input-controls-DRwTXxuF.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{s as r,t as i,u as a}from"./button-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{s as r,t as i,u as a}from"./button-DPWbWvQN.js";import{D as o}from"./es2015-DsWAjMth.js";import{i as s,n as c}from"./checkbox-CCES4UbV.js";var l=r(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),u=r(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),d=r(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),f=r(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),p=e(t(),1);function m(e){return e.isComposing||e.keyCode===229}function h(e){return e.key===`Enter`&&(e.shiftKey||e.metaKey||e.ctrlKey)}var g=(0,p.createContext)(void 0);function _(){let e=(0,p.useContext)(g);if(e===void 0)throw Error(`usePromptInputAttachments must be used inside PromptInput`);return e}var v=n();function y({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`overflow-hidden rounded-surface border border-separator-strong bg-raised shadow-floating ${e}`,"data-prompt-input-command":``,role:`listbox`,...t})}function b({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`max-h-96 overflow-y-auto p-1 ${e}`,"data-prompt-input-command-list":``,...t})}function x({children:e,className:t=``,label:n,...r}){return(0,v.jsxs)(`div`,{"aria-label":n,className:t,role:`group`,...r,children:[(0,v.jsx)(`div`,{className:`px-2 py-1.5 text-caption font-medium text-muted-foreground`,children:n}),e]})}function S({active:e=!1,className:t=``,onMouseDown:n,selected:r=!1,type:a=`button`,...o}){let s=(0,p.useRef)(null);return(0,p.useEffect)(()=>{e&&s.current?.scrollIntoView({block:`nearest`})},[e]),(0,v.jsx)(i,{variant:`ghost`,"aria-selected":r,className:`flex h-auto min-h-8 w-full items-center gap-2 whitespace-normal rounded-control px-2 py-2 text-left text-body-small text-foreground transition-colors hover:bg-control-hover disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent ${e?`bg-control-active`:``} ${t}`,"data-active":e||void 0,onMouseDown:e=>{e.preventDefault(),n?.(e)},ref:s,role:`option`,type:a,...o})}function C({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`px-3 py-5 text-center text-body-small text-muted-foreground ${e}`,role:`status`,...t})}function w({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`px-3 pt-2 ${e}`,...t})}function T({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`px-3 pt-2 ${e}`,...t})}function E({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`flex min-h-10 items-center justify-between gap-2 px-2 pb-2 ${e}`,...t})}function D({className:e=``,...t}){return(0,v.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 ${e}`,...t})}(0,p.forwardRef)(function({className:e=``,name:t=`message`,onKeyDown:n,rows:r=2,...i},a){return(0,v.jsx)(`textarea`,{className:`max-h-40 min-h-12 w-full resize-none bg-transparent px-1 py-1 text-sm leading-5 text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed ${e}`,name:t,onKeyDown:e=>{n?.(e),!e.defaultPrevented&&e.key===`Enter`&&!h(e)&&!m(e.nativeEvent)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},ref:a,rows:r,...i})});function O({children:e,label:t,onClick:n,onSelectKind:r,...o}){let s=_(),{t:c}=a(`conversation`),[f,m]=(0,p.useState)(!1),h=(0,p.useRef)(null),g=o.disabled===!0||s.disabled,y=t??c(`agentComponents.addImageOrFile`);return(0,p.useEffect)(()=>{if(!f)return;let e=e=>{h.current?.contains(e.target)||m(!1)},t=e=>{e.key===`Escape`&&m(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[f]),(0,v.jsxs)(`div`,{className:`relative`,ref:h,children:[(0,v.jsx)(k,{...o,"aria-expanded":f,"aria-haspopup":`menu`,"aria-label":y,disabled:g,onClick:e=>{n?.(e),e.defaultPrevented||m(e=>!e)},title:y,children:e??(0,v.jsx)(d,{"aria-hidden":`true`,className:`size-3.5`})}),(0,v.jsxs)(`div`,{className:`absolute bottom-9 left-0 z-50 min-w-36 rounded-control border border-separator-strong bg-raised p-1 shadow-floating`,hidden:!f,role:`menu`,children:[(0,v.jsxs)(i,{variant:`ghost`,className:`flex h-8 w-full items-center gap-2 rounded-control px-2 text-left text-label text-foreground hover:bg-control-hover`,onClick:()=>{m(!1),r(`image`)},role:`menuitem`,type:`button`,children:[(0,v.jsx)(u,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),c(`agentComponents.addImage`)]}),(0,v.jsxs)(i,{variant:`ghost`,className:`flex h-8 w-full items-center gap-2 rounded-control px-2 text-left text-label text-foreground hover:bg-control-hover`,onClick:()=>{m(!1),r(`file`)},role:`menuitem`,type:`button`,children:[(0,v.jsx)(l,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),c(`agentComponents.addFile`)]})]})]})}function k({children:e,className:t=``,type:n=`button`,...r}){return(0,v.jsx)(i,{className:`max-workbench:min-w-11 ${t}`,size:`sm`,type:n,variant:`ghost`,...r,children:e??(0,v.jsx)(c,{className:`size-3.5`,"aria-hidden":`true`})})}function A({className:e=``,...t}){return(0,v.jsx)(`select`,{className:`h-7 w-auto max-w-40 appearance-none rounded-control border-0 bg-transparent px-1.5 text-label text-muted-foreground outline-none [field-sizing:content] hover:bg-control-hover disabled:cursor-not-allowed disabled:opacity-45 max-workbench:h-11 ${e}`,...t})}function j({children:e,className:t=``,status:n,type:r=`submit`,...a}){let c=n===`reconnecting`||n===`submitting`;return(0,v.jsx)(i,{className:t,size:`icon-compact`,type:r,variant:`inverse`,...a,children:e??(n===`running`?(0,v.jsx)(f,{className:`size-3.5 fill-current`,"aria-hidden":`true`}):c?(0,v.jsx)(o,{className:`size-4 animate-spin`,"aria-hidden":`true`}):(0,v.jsx)(s,{className:`size-4`,"aria-hidden":`true`}))})}export{_,C as a,u as b,b as c,A as d,j as f,h as g,m as h,y as i,E as l,g as m,w as n,x as o,D as p,k as r,S as s,O as t,T as u,f as v,l as x,d as y};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-runtime-CVaUQXZF.js";import{n as t,o as n,s as r}from"./button-
|
|
1
|
+
import{t as e}from"./react-runtime-CVaUQXZF.js";import{n as t,o as n,s as r}from"./button-DPWbWvQN.js";import{J as i,M as a,Y as o}from"./es2015-DsWAjMth.js";var s=r(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),c=r(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),l=r(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),u=r(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),d=e(),f=n(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{compact:`h-8 w-full rounded-control bg-raised px-2.5 text-label shadow-sm focus-visible:shadow-focus`,default:`h-9 w-full rounded-control bg-control px-3 text-body focus-visible:shadow-focus`,embedded:`flex-1 bg-transparent`,outline:`h-11 w-full rounded-control border border-separator-strong bg-panel px-3 text-body-small focus-visible:border-brand focus-visible:shadow-focus sm:h-9`}}});function p({className:e,type:n,variant:r=`default`,...i}){return(0,d.jsx)(`input`,{className:t(f({className:e,variant:r})),"data-slot":`input`,"data-variant":r,type:n,...i})}var m=[`provider-connection`];function h(e){return e?.state===`pending`&&1e3}function g(e=a){return o({queryFn:({signal:t})=>e.getProviderConnection({signal:t}),queryKey:m,refetchInterval:e=>h(e.state.data)})}async function _(e){await Promise.all([e.invalidateQueries({exact:!0,queryKey:m}),e.invalidateQueries({exact:!0,queryKey:[`models`]}),e.invalidateQueries({exact:!0,queryKey:[`settings`]}),e.invalidateQueries({predicate:e=>e.queryKey[0]===`projects`&&e.queryKey[2]===`defaults`})])}function v(e,t=a){return i({mutationFn:()=>t.startOfficialProviderLogin(),mutationKey:[`provider-connection`,`official-login`],onSuccess:()=>_(e),scope:{id:`provider-connection`}})}function y(e,t=a){return i({mutationFn:e=>t.cancelProviderLogin(e),mutationKey:[`provider-connection`,`official-login`,`cancel`],onSuccess:()=>_(e),scope:{id:`provider-connection`}})}function b(e,t=a){return i({mutationFn:()=>t.logoutProvider(),mutationKey:[`provider-connection`,`logout`],onSuccess:()=>_(e),scope:{id:`provider-connection`}})}async function x(e,t,n=a){let r=await n.configureCustomProvider(e);return await _(t),r}export{v as a,l as c,g as i,c as l,x as n,p as o,b as r,u as s,y as t,s as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,i as n,n as r,o as i,r as a,t as o}from"./engine-compile-DQ0HPfe0.js";import{i as s}from"./code-languages-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,i as n,n as r,o as i,r as a,t as o}from"./engine-compile-DQ0HPfe0.js";import{i as s}from"./code-languages-0g9buMoI.js";var c=e({bundledLanguages:()=>l,codeToHtml:()=>r,createCssVariablesTheme:()=>a,createHighlighter:()=>u,createJavaScriptRegexEngine:()=>o,createOnigurumaEngine:()=>d,getTokenStyleObject:()=>t,stringifyTokenStyle:()=>i}),l=s;async function u(e){let t=[];for(let n of e.langs??[]){if(n===`ansi`||n===`text`)continue;if(typeof n!=`string`){t.push(n);continue}let e=l[n];t.push((await e()).default)}return n({...e,engine:e.engine??o({forgiving:!0}),langs:t})}function d(){return o({forgiving:!0})}export{c as i,u as n,d as r,l as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{n as r,o as i,s as a,t as o,u as s,y as c}from"./button-CG0GNEOD.js";import{D as l,O as u,X as d,a as f,c as p,o as m,st as h}from"./es2015-CIXyxC_2.js";import{l as g,o as _,r as v,s as y,t as b,u as x}from"./checkbox-Bvl7MRXT.js";import{C as S,S as C,a as w,i as T,j as E,o as D,r as O,t as k}from"./file-tree-DRpR7Mu2.js";import{n as A,r as j,t as M}from"./button-group-D2LfHIjt.js";import{r as N,x as P}from"./prompt-input-controls-CrypM5HZ.js";import{D as ee,E as te,O as F,T as I,d as ne,f as re,k as L,p as R,u as ie,w as ae,x as oe}from"./index-C_O4z_mI.js";var z=a(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),se=a(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),B=e(t(),1),V=n(),H=i(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function U({className:e,variant:t=`default`,...n}){return(0,V.jsx)(`textarea`,{className:r(H({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function W({className:e,...t}){return(0,V.jsx)(`div`,{className:r(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function G({align:e=`inline-start`,className:t,...n}){return(0,V.jsx)(`div`,{className:r(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function ce({className:e,...t}){return(0,V.jsx)(U,{className:r(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function K(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function q(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:K([...n.children.values()].map(e=>e.kind===`folder`?q(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function le(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return K([...t.children.values()].map(e=>e.kind===`folder`?q(e):e))}function J(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),J(n.children,t))}function Y(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function X(e){let t=r(`size-3.5`,Y(e));return e===`create`?(0,V.jsx)(P,{"aria-hidden":`true`,className:t}):e===`delete`?(0,V.jsx)(z,{"aria-hidden":`true`,className:t}):(0,V.jsx)(j,{"aria-hidden":`true`,className:t})}function ue(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function Z({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,V.jsx)(T,{name:r.name,path:r.path,children:(0,V.jsx)(Z,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,V.jsxs)(O,{"aria-label":r.path,className:Y(r.status),icon:X(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,V.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:ue(r.status)}),children:[(0,V.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,V.jsx)(b,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,V.jsx)(w,{children:X(r.status)}),(0,V.jsx)(D,{title:r.path,children:r.name})]},r.path)})}function Q({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a}){let o=(0,B.useMemo)(()=>le(e),[e]),s=(0,B.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),c=(0,B.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),l=(0,B.useMemo)(()=>{let e=new Set;return J(o,e),e},[o]);if(c.length===0)return null;let u=c.filter(e=>a.has(e)).length,d=u===0?!1:u===c.length||`indeterminate`;return(0,V.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,V.jsx)(b,{"aria-label":n,checked:d,disabled:t||c.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of c)e===!0?t.add(n):t.delete(n);i(t)}}),(0,V.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,V.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:c.length})]}),o.length===0?null:(0,V.jsx)(k,{"aria-label":n,className:`px-1`,defaultExpanded:l,children:(0,V.jsx)(Z,{changesByPath:s,disabled:t,label:n,nodes:o,onOpenFileDiff:r,onTogglePath:e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)},selectedPaths:a})})]})}function de(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function fe(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function $(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function pe({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:i=!1,onCommit:a,onGenerateMessage:c,onOpenFileDiff:d,onSelectRepository:h=()=>void 0,repositories:_=[],result:y=null,selectedRepository:b=null}){let{t:x}=s(`workbench`),S=(0,B.useMemo)(()=>de(t),[t]),C=`${b??`root`}:${t.snapshot}`,[w,T]=(0,B.useState)(()=>$(C,S)),E=(0,B.useRef)(g());w.identity!==C&&T($(C,S));let{message:D,selectedPaths:O}=w,k=r||n,j=_.length>0||t.repositoryMode===`children`,P=!j||b!==null&&!i&&t.repositoryMode===`root`,z=P&&O.size>0&&!k&&y===null,H=z&&D.trim().length>0,U=()=>E.current.run(async()=>{let e=await c({expectedSnapshot:t.snapshot,paths:[...O],...b===null?{}:{repository:b}});T(t=>({...t,message:e}))}),K=e=>E.current.run(()=>a({action:e,expectedSnapshot:t.snapshot,message:D,paths:[...O],...b===null?{}:{repository:b}}));return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[j?(0,V.jsxs)(`div`,{className:`shrink-0 border-b border-separator px-3 py-2`,children:[(0,V.jsx)(`label`,{className:`text-label font-medium`,id:`commit-repository-label`,children:x(`commit.repository`)}),(0,V.jsxs)(ae,{disabled:k||y!==null,onValueChange:h,...b===null?{}:{value:b},children:[(0,V.jsx)(F,{"aria-labelledby":`commit-repository-label`,className:`mt-1 w-full`,children:(0,V.jsx)(L,{placeholder:x(`commit.selectRepository`)})}),(0,V.jsx)(I,{position:`popper`,children:(0,V.jsx)(te,{children:_.map(e=>(0,V.jsx)(ee,{value:e,children:e},e))})})]}),i?(0,V.jsx)(`p`,{className:`mt-1 text-caption text-muted-foreground`,role:`status`,children:x(`commit.repositoryLoading`)}):null,_.length===0?(0,V.jsx)(`p`,{className:`mt-1 text-caption text-danger`,role:`alert`,children:x(`commit.repositoryUnavailable`)}):null]}):null,e===null?null:(0,V.jsx)(`p`,{className:`mx-3 mt-2 shrink-0 text-caption text-danger`,role:`alert`,children:e.message}),P?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`shrink-0 px-3 py-2`,children:[(0,V.jsxs)(W,{className:`h-8 gap-1 rounded-surface border border-separator-strong bg-panel shadow-sm focus-within:border-brand focus-within:shadow-focus max-workbench:h-11`,children:[(0,V.jsx)(ce,{"aria-label":x(`commit.commitMessage`),className:`h-full min-h-0 overflow-y-auto px-2 py-1.5 text-label leading-5 max-workbench:py-3`,disabled:k||y!==null,id:`commit-message`,onChange:e=>{let t=e.currentTarget.value;T(e=>({...e,message:t}))},placeholder:x(`commit.messagePlaceholder`),rows:1,value:D}),(0,V.jsx)(G,{align:`inline-end`,className:`ml-auto`,children:(0,V.jsxs)(f,{children:[(0,V.jsx)(p,{asChild:!0,children:(0,V.jsx)(N,{"aria-label":x(`commit.generateMessage`),className:`size-7 shrink-0 justify-center p-0 [&_svg]:size-3.5 max-workbench:size-11`,disabled:!z,onClick:()=>{U().catch(()=>void 0)},type:`button`,children:r?(0,V.jsx)(l,{"aria-hidden":`true`,className:`animate-spin`}):(0,V.jsx)(A,{"aria-hidden":`true`})})}),(0,V.jsx)(m,{side:`top`,children:x(`commit.generateMessage`)})]})})]}),y===null?(0,V.jsxs)(M,{className:`mt-2 w-full`,children:[(0,V.jsxs)(o,{className:`flex-1 rounded-r-none`,disabled:!H,onClick:()=>{K(`commit`).catch(()=>void 0)},type:`button`,children:[n?(0,V.jsx)(l,{"aria-hidden":`true`,className:`animate-spin`}):(0,V.jsx)(v,{"aria-hidden":`true`}),x(`commit.commit`)]}),(0,V.jsxs)(ie,{children:[(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(o,{"aria-label":x(`commit.commitActions`),className:`w-10 rounded-l-none border-l border-brand-contrast/30 px-0`,disabled:!H,type:`button`,children:(0,V.jsx)(u,{"aria-hidden":`true`})})}),(0,V.jsx)(ne,{align:`end`,children:(0,V.jsxs)(re,{children:[(0,V.jsxs)(R,{onSelect:()=>{K(`commit`).catch(()=>void 0)},children:[(0,V.jsx)(v,{"aria-hidden":`true`,className:`size-3.5`}),x(`commit.commit`)]}),(0,V.jsxs)(R,{onSelect:()=>{K(`commit_and_push`).catch(()=>void 0)},children:[(0,V.jsx)(se,{"aria-hidden":`true`,className:`size-3.5`}),x(`commit.commitAndPush`)]})]})})]})]}):(0,V.jsx)(`p`,{className:`mt-2 font-mono text-caption text-muted-foreground`,role:`status`,children:y.commitSha.slice(0,7)})]}),(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col border-t border-separator`,children:[(0,V.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center px-3 text-label font-semibold`,children:[(0,V.jsx)(`span`,{children:x(`commit.changes`)}),(0,V.jsx)(`span`,{className:`ml-auto text-caption font-normal text-muted-foreground`,children:x(`commit.totalFiles`,{count:S.length})})]}),(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain py-0.5`,"data-slot":`commit-changes-scroll`,children:[(0,V.jsx)(Q,{changes:t.staged,disabled:k||y!==null,label:x(`commit.staged`),onOpenFileDiff:d,onSelectedPathsChange:e=>{T(t=>({...t,selectedPaths:e}))},selectedPaths:O}),(0,V.jsx)(Q,{changes:t.unstaged,disabled:k||y!==null,label:x(`commit.unstaged`),onOpenFileDiff:d,onSelectedPathsChange:e=>{T(t=>({...t,selectedPaths:e}))},selectedPaths:O})]})]})]}):null]})}function me(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function he({client:e,detailsError:t=null,detailsPending:n=!1,gitStatus:r,onOpenFileDiff:i,projectId:a,rootPath:o}){let{t:c}=s(`workbench`),l=h(),u=x(S(a,o,e)),f=x({...C(a,o,e),meta:{actionNotification:{successMessage:!1}}}),p=(0,B.useMemo)(()=>fe(r),[r]),[m,g]=(0,B.useState)(),[v,b]=(0,B.useState)(null),w=v!==null&&p.includes(v)?v:p[0]??null,T=d(E(a,o,w,r.repositoryMode===`children`,e)),D=r.repositoryMode===`root`?r:T.data??r,O=m?.snapshot===D.snapshot?m.result:null;return(0,V.jsx)(pe,{error:t??T.error,gitStatus:D,isCommitting:f.isPending,isGenerating:u.isPending,isRepositoryLoading:n||T.isFetching,onCommit:async e=>{let t=e.expectedSnapshot,n=await f.mutateAsync(e);g({result:n,snapshot:t}),l.invalidateQueries({queryKey:[`projects`,a,o,`git-status`]}),l.invalidateQueries({queryKey:[`projects`,a,o,`git-history`]});let r=me(n);if(r!==null){y(c(r));return}_(Error(n.pushError??c(`commit.commitCompletePushFailed`)))},onGenerateMessage:async e=>(await u.mutateAsync(e)).message,onOpenFileDiff:i,onSelectRepository:e=>{g(void 0),u.reset(),f.reset(),b(e)},repositories:p,result:O,selectedRepository:w})}function ge({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:a,onOpenFileDiff:o,projectId:s,rootPath:l}){return s!==void 0&&e!==void 0&&i!==void 0?(0,V.jsx)(he,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:o,projectId:s,rootPath:l}):a===null?(0,V.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:c.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,V.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:a.message})}export{ge as WorkbenchInspectorChanges};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{n as r,o as i,s as a,t as o,u as s,y as c}from"./button-DPWbWvQN.js";import{D as l,O as u,X as d,a as f,c as p,o as m,st as h}from"./es2015-DsWAjMth.js";import{l as g,o as _,r as v,s as y,t as b,u as x}from"./checkbox-CCES4UbV.js";import{C as S,S as C,a as w,i as T,j as E,o as D,r as O,t as k}from"./file-tree-AZsgAlZn.js";import{n as A,r as j,t as M}from"./button-group-CvflSgg8.js";import{r as N,x as P}from"./prompt-input-controls-DRwTXxuF.js";import{D as ee,E as te,O as F,T as I,d as ne,f as re,k as L,p as R,u as ie,w as ae,x as oe}from"./index-CoRYl0EO.js";var z=a(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),se=a(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),B=e(t(),1),V=n(),H=i(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function U({className:e,variant:t=`default`,...n}){return(0,V.jsx)(`textarea`,{className:r(H({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function W({className:e,...t}){return(0,V.jsx)(`div`,{className:r(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function G({align:e=`inline-start`,className:t,...n}){return(0,V.jsx)(`div`,{className:r(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function ce({className:e,...t}){return(0,V.jsx)(U,{className:r(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function K(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function q(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:K([...n.children.values()].map(e=>e.kind===`folder`?q(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function le(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return K([...t.children.values()].map(e=>e.kind===`folder`?q(e):e))}function J(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),J(n.children,t))}function Y(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function X(e){let t=r(`size-3.5`,Y(e));return e===`create`?(0,V.jsx)(P,{"aria-hidden":`true`,className:t}):e===`delete`?(0,V.jsx)(z,{"aria-hidden":`true`,className:t}):(0,V.jsx)(j,{"aria-hidden":`true`,className:t})}function ue(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function Z({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,V.jsx)(T,{name:r.name,path:r.path,children:(0,V.jsx)(Z,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,V.jsxs)(O,{"aria-label":r.path,className:Y(r.status),icon:X(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,V.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:ue(r.status)}),children:[(0,V.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,V.jsx)(b,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,V.jsx)(w,{children:X(r.status)}),(0,V.jsx)(D,{title:r.path,children:r.name})]},r.path)})}function Q({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a}){let o=(0,B.useMemo)(()=>le(e),[e]),s=(0,B.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),c=(0,B.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),l=(0,B.useMemo)(()=>{let e=new Set;return J(o,e),e},[o]);if(c.length===0)return null;let u=c.filter(e=>a.has(e)).length,d=u===0?!1:u===c.length||`indeterminate`;return(0,V.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,V.jsx)(b,{"aria-label":n,checked:d,disabled:t||c.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of c)e===!0?t.add(n):t.delete(n);i(t)}}),(0,V.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,V.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:c.length})]}),o.length===0?null:(0,V.jsx)(k,{"aria-label":n,className:`px-1`,defaultExpanded:l,children:(0,V.jsx)(Z,{changesByPath:s,disabled:t,label:n,nodes:o,onOpenFileDiff:r,onTogglePath:e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)},selectedPaths:a})})]})}function de(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function fe(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function $(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function pe({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:i=!1,onCommit:a,onGenerateMessage:c,onOpenFileDiff:d,onSelectRepository:h=()=>void 0,repositories:_=[],result:y=null,selectedRepository:b=null}){let{t:x}=s(`workbench`),S=(0,B.useMemo)(()=>de(t),[t]),C=`${b??`root`}:${t.snapshot}`,[w,T]=(0,B.useState)(()=>$(C,S)),E=(0,B.useRef)(g());w.identity!==C&&T($(C,S));let{message:D,selectedPaths:O}=w,k=r||n,j=_.length>0||t.repositoryMode===`children`,P=!j||b!==null&&!i&&t.repositoryMode===`root`,z=P&&O.size>0&&!k&&y===null,H=z&&D.trim().length>0,U=()=>E.current.run(async()=>{let e=await c({expectedSnapshot:t.snapshot,paths:[...O],...b===null?{}:{repository:b}});T(t=>({...t,message:e}))}),K=e=>E.current.run(()=>a({action:e,expectedSnapshot:t.snapshot,message:D,paths:[...O],...b===null?{}:{repository:b}}));return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[j?(0,V.jsxs)(`div`,{className:`shrink-0 border-b border-separator px-3 py-2`,children:[(0,V.jsx)(`label`,{className:`text-label font-medium`,id:`commit-repository-label`,children:x(`commit.repository`)}),(0,V.jsxs)(ae,{disabled:k||y!==null,onValueChange:h,...b===null?{}:{value:b},children:[(0,V.jsx)(F,{"aria-labelledby":`commit-repository-label`,className:`mt-1 w-full`,children:(0,V.jsx)(L,{placeholder:x(`commit.selectRepository`)})}),(0,V.jsx)(I,{position:`popper`,children:(0,V.jsx)(te,{children:_.map(e=>(0,V.jsx)(ee,{value:e,children:e},e))})})]}),i?(0,V.jsx)(`p`,{className:`mt-1 text-caption text-muted-foreground`,role:`status`,children:x(`commit.repositoryLoading`)}):null,_.length===0?(0,V.jsx)(`p`,{className:`mt-1 text-caption text-danger`,role:`alert`,children:x(`commit.repositoryUnavailable`)}):null]}):null,e===null?null:(0,V.jsx)(`p`,{className:`mx-3 mt-2 shrink-0 text-caption text-danger`,role:`alert`,children:e.message}),P?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`shrink-0 px-3 py-2`,children:[(0,V.jsxs)(W,{className:`h-8 gap-1 rounded-surface border border-separator-strong bg-panel shadow-sm focus-within:border-brand focus-within:shadow-focus max-workbench:h-11`,children:[(0,V.jsx)(ce,{"aria-label":x(`commit.commitMessage`),className:`h-full min-h-0 overflow-y-auto px-2 py-1.5 text-label leading-5 max-workbench:py-3`,disabled:k||y!==null,id:`commit-message`,onChange:e=>{let t=e.currentTarget.value;T(e=>({...e,message:t}))},placeholder:x(`commit.messagePlaceholder`),rows:1,value:D}),(0,V.jsx)(G,{align:`inline-end`,className:`ml-auto`,children:(0,V.jsxs)(f,{children:[(0,V.jsx)(p,{asChild:!0,children:(0,V.jsx)(N,{"aria-label":x(`commit.generateMessage`),className:`size-7 shrink-0 justify-center p-0 [&_svg]:size-3.5 max-workbench:size-11`,disabled:!z,onClick:()=>{U().catch(()=>void 0)},type:`button`,children:r?(0,V.jsx)(l,{"aria-hidden":`true`,className:`animate-spin`}):(0,V.jsx)(A,{"aria-hidden":`true`})})}),(0,V.jsx)(m,{side:`top`,children:x(`commit.generateMessage`)})]})})]}),y===null?(0,V.jsxs)(M,{className:`mt-2 w-full`,children:[(0,V.jsxs)(o,{className:`flex-1 rounded-r-none`,disabled:!H,onClick:()=>{K(`commit`).catch(()=>void 0)},type:`button`,children:[n?(0,V.jsx)(l,{"aria-hidden":`true`,className:`animate-spin`}):(0,V.jsx)(v,{"aria-hidden":`true`}),x(`commit.commit`)]}),(0,V.jsxs)(ie,{children:[(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(o,{"aria-label":x(`commit.commitActions`),className:`w-10 rounded-l-none border-l border-brand-contrast/30 px-0`,disabled:!H,type:`button`,children:(0,V.jsx)(u,{"aria-hidden":`true`})})}),(0,V.jsx)(ne,{align:`end`,children:(0,V.jsxs)(re,{children:[(0,V.jsxs)(R,{onSelect:()=>{K(`commit`).catch(()=>void 0)},children:[(0,V.jsx)(v,{"aria-hidden":`true`,className:`size-3.5`}),x(`commit.commit`)]}),(0,V.jsxs)(R,{onSelect:()=>{K(`commit_and_push`).catch(()=>void 0)},children:[(0,V.jsx)(se,{"aria-hidden":`true`,className:`size-3.5`}),x(`commit.commitAndPush`)]})]})})]})]}):(0,V.jsx)(`p`,{className:`mt-2 font-mono text-caption text-muted-foreground`,role:`status`,children:y.commitSha.slice(0,7)})]}),(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col border-t border-separator`,children:[(0,V.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center px-3 text-label font-semibold`,children:[(0,V.jsx)(`span`,{children:x(`commit.changes`)}),(0,V.jsx)(`span`,{className:`ml-auto text-caption font-normal text-muted-foreground`,children:x(`commit.totalFiles`,{count:S.length})})]}),(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain py-0.5`,"data-slot":`commit-changes-scroll`,children:[(0,V.jsx)(Q,{changes:t.staged,disabled:k||y!==null,label:x(`commit.staged`),onOpenFileDiff:d,onSelectedPathsChange:e=>{T(t=>({...t,selectedPaths:e}))},selectedPaths:O}),(0,V.jsx)(Q,{changes:t.unstaged,disabled:k||y!==null,label:x(`commit.unstaged`),onOpenFileDiff:d,onSelectedPathsChange:e=>{T(t=>({...t,selectedPaths:e}))},selectedPaths:O})]})]})]}):null]})}function me(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function he({client:e,detailsError:t=null,detailsPending:n=!1,gitStatus:r,onOpenFileDiff:i,projectId:a,rootPath:o}){let{t:c}=s(`workbench`),l=h(),u=x(S(a,o,e)),f=x({...C(a,o,e),meta:{actionNotification:{successMessage:!1}}}),p=(0,B.useMemo)(()=>fe(r),[r]),[m,g]=(0,B.useState)(),[v,b]=(0,B.useState)(null),w=v!==null&&p.includes(v)?v:p[0]??null,T=d(E(a,o,w,r.repositoryMode===`children`,e)),D=r.repositoryMode===`root`?r:T.data??r,O=m?.snapshot===D.snapshot?m.result:null;return(0,V.jsx)(pe,{error:t??T.error,gitStatus:D,isCommitting:f.isPending,isGenerating:u.isPending,isRepositoryLoading:n||T.isFetching,onCommit:async e=>{let t=e.expectedSnapshot,n=await f.mutateAsync(e);g({result:n,snapshot:t}),l.invalidateQueries({queryKey:[`projects`,a,o,`git-status`]}),l.invalidateQueries({queryKey:[`projects`,a,o,`git-history`]});let r=me(n);if(r!==null){y(c(r));return}_(Error(n.pushError??c(`commit.commitCompletePushFailed`)))},onGenerateMessage:async e=>(await u.mutateAsync(e)).message,onOpenFileDiff:i,onSelectRepository:e=>{g(void 0),u.reset(),f.reset(),b(e)},repositories:p,result:O,selectedRepository:w})}function ge({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:a,onOpenFileDiff:o,projectId:s,rootPath:l}){return s!==void 0&&e!==void 0&&i!==void 0?(0,V.jsx)(he,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:o,projectId:s,rootPath:l}):a===null?(0,V.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:c.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,V.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:a.message})}export{ge as WorkbenchInspectorChanges};
|
|
Binary file
|
|
Binary file
|