@vantran-se/openchamber-web 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/assets/{CodeMirrorCommentWidgets-B82Oye3V.js → CodeMirrorCommentWidgets-CWhdh0wf.js} +1 -1
  2. package/dist/assets/{DiffView-DJLmWn6Z.js → DiffView-CX3wAX2S.js} +1 -1
  3. package/dist/assets/{FilesView-DjksmZRo.js → FilesView-OL3CON3r.js} +1 -1
  4. package/dist/assets/{GitView-DiUsUIgr.js → GitView-DKIjpnu4.js} +1 -1
  5. package/dist/assets/{GuestAttachDialog-CYwWYLr3.js → GuestAttachDialog-BIa9jCfL.js} +1 -1
  6. package/dist/assets/{GuestSurfacePane-CmctyRI4.js → GuestSurfacePane-B_cqX5I5.js} +1 -1
  7. package/dist/assets/{JsonTreeView-DOHHcbgJ.js → JsonTreeView-CtI1Mqwo.js} +1 -1
  8. package/dist/assets/{LinearIssuesView-DaqnylcV.js → LinearIssuesView-BD2zLu-r.js} +1 -1
  9. package/dist/assets/{MarkdownImageGallery-HJNvWt7L.js → MarkdownImageGallery-DFiTFZgj.js} +1 -1
  10. package/dist/assets/{MarkdownRendererImpl-nDZRGg2I.js → MarkdownRendererImpl-DZm5sf1W.js} +1 -1
  11. package/dist/assets/{OnboardingScreen-C2B5Bsof.js → OnboardingScreen-B8TxloXZ.js} +1 -1
  12. package/dist/assets/{PatchDiff-C4FLBjpt.js → PatchDiff--Civs1xY.js} +1 -1
  13. package/dist/assets/{PierreDiffViewer-C_1S9c9n.js → PierreDiffViewer-BlDmw3-A.js} +1 -1
  14. package/dist/assets/{PlanView-_eZvb-G5.js → PlanView-DyH2SyCP.js} +1 -1
  15. package/dist/assets/{PluginPane-sM8fcZIV.js → PluginPane-BibJit86.js} +1 -1
  16. package/dist/assets/{SettingsView-BRfr46hb.js → SettingsView-h-VpVO47.js} +1 -1
  17. package/dist/assets/{SettingsWindow-CcUDwQHg.js → SettingsWindow-y9WpZqK6.js} +1 -1
  18. package/dist/assets/{SubmoduleDiffSummary-CrN1ZGwl.js → SubmoduleDiffSummary-DeFmhPFZ.js} +1 -1
  19. package/dist/assets/{ToolOutputDialog-Cij4jI09.js → ToolOutputDialog-8DmF7_PZ.js} +1 -1
  20. package/dist/assets/{ToolPartDiffPreview-BXzwQ-JY.js → ToolPartDiffPreview-Ca15DKE1.js} +1 -1
  21. package/dist/assets/{VirtualizedFileDiff-DSWTLJNH.js → VirtualizedFileDiff-BfEBad09.js} +1 -1
  22. package/dist/assets/{WalkthroughView-CpUUgY8H.js → WalkthroughView-Cj3K8Xz6.js} +1 -1
  23. package/dist/assets/{appThemeRegistry-B5tHTkR8.js → appThemeRegistry-DAdawJZn.js} +1 -1
  24. package/dist/assets/{commitAndPush-D7D8qV8p.js → commitAndPush-BIPfOMXY.js} +1 -1
  25. package/dist/assets/{computeVirtualFileMetrics-cq9uQ30i.js → computeVirtualFileMetrics-RF-KjfUH.js} +1 -1
  26. package/dist/assets/{de-CUO1-KqF.js → de-BqCNGROu.js} +1 -1
  27. package/dist/assets/{es-BlbC6sGJ.js → es-BTPpTRgN.js} +1 -1
  28. package/dist/assets/{fr-D2nwe_0W.js → fr-hxbzMdAg.js} +1 -1
  29. package/dist/assets/{index-BQOoYIOu.js → index-CL7ZQ94-.js} +1 -1
  30. package/dist/assets/{isDiffPlainText-D0obJ2p8.js → isDiffPlainText-D2yJ9fO6.js} +1 -1
  31. package/dist/assets/{isFilePlainText-DB3_rjyW.js → isFilePlainText-BwMEq1Ey.js} +1 -1
  32. package/dist/assets/{ja-CA7vnDsZ.js → ja-_zLwwYiy.js} +1 -1
  33. package/dist/assets/{ko-Chy6a9l-.js → ko-CFn3Dzhc.js} +1 -1
  34. package/dist/assets/{main-B9JFK3vF.js → main-BLJaug9I.js} +4 -4
  35. package/dist/assets/{main-Bhiqnrhd.js → main-quLSA7jc.js} +2 -2
  36. package/dist/assets/{markdownCore-tfqOFaBd.js → markdownCore-DS9FdwrI.js} +1 -1
  37. package/dist/assets/{miniChat-B0UOL5zA.js → miniChat-D-lJJibr.js} +2 -2
  38. package/dist/assets/{mobile-BJppFIEo.js → mobile-VTtphbW6.js} +2 -2
  39. package/dist/assets/{patchFileDiff-Db6KuwCP.js → patchFileDiff-D9iBcTEi.js} +1 -1
  40. package/dist/assets/{pl-CTR5A_1P.js → pl-DFHE7xac.js} +1 -1
  41. package/dist/assets/{pt-BR-BE1O1KEx.js → pt-BR-CUjZF179.js} +1 -1
  42. package/dist/assets/{renderElectronMiniChatApp-Yz5sfoFh.js → renderElectronMiniChatApp-DF7ch5eM.js} +2 -2
  43. package/dist/assets/{renderMobileApp-QQ-yB8aY.js → renderMobileApp-CNQhdXsi.js} +3 -3
  44. package/dist/assets/{runtimeEndpointReset-DKDdzRzm.js → runtimeEndpointReset-DeaERc0M.js} +3 -3
  45. package/dist/assets/{scheduledTasksApi-C5sCuNqf.js → scheduledTasksApi-BD6Vx9pu.js} +1 -1
  46. package/dist/assets/{shikiHighlight-xURoo5t_.js → shikiHighlight-_HeCCHx1.js} +1 -1
  47. package/dist/assets/{textMateThemeFromAppTheme-BZLGuYTU.js → textMateThemeFromAppTheme-C95XdFGj.js} +1 -1
  48. package/dist/assets/{tr-Bh5vK6cW.js → tr-BB6sA_zH.js} +1 -1
  49. package/dist/assets/{uk-CLDkZFy_.js → uk-CB4o8g-o.js} +1 -1
  50. package/dist/assets/{useAppFontEffects-BxrtCnfR.js → useAppFontEffects-ZM9ij19-.js} +48 -48
  51. package/dist/assets/{useInlineCommentController-CeXuR-SR.js → useInlineCommentController-CkfxMJPy.js} +1 -1
  52. package/dist/assets/{useRootScrollLock-DgWxezc1.js → useRootScrollLock-BtiAC1fj.js} +2 -2
  53. package/dist/assets/{vendor-codemirror-language-data-DOuaQUZ0.js → vendor-codemirror-language-data-U-lXzXNK.js} +2 -2
  54. package/dist/assets/{web-components-63H1h21j.js → web-components-C583Pmfm.js} +1 -1
  55. package/dist/assets/{zh-CN-DODgcmYj.js → zh-CN-BRyDuWhc.js} +1 -1
  56. package/dist/assets/{zh-TW-ByNfIwLA.js → zh-TW-BDGbWA1Q.js} +1 -1
  57. package/dist/index.html +1 -1
  58. package/dist/mini-chat.html +1 -1
  59. package/dist/mobile.html +1 -1
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- import{t as le,E as X,F as Z,d_ as Y,a as F,aG as de,h as E}from"./index-CvLgnuNI.js";import{c as ce}from"./vendor-zustand-BAGL70zf.js";import{R as w,j as h}from"./vendor-react-BUCujlKS.js";import{f as pe,_ as ue,t as Q,c2 as fe,c3 as me,c4 as he,c5 as ye,c6 as ge,c8 as we,c7 as Ae,B as ee}from"./useAppFontEffects-BxrtCnfR.js";const N=[{id:"finder",label:"Finder",appName:"Finder"},{id:"terminal",label:"Terminal",appName:"Terminal"},{id:"iterm2",label:"iTerm2",appName:"iTerm"},{id:"ghostty",label:"Ghostty",appName:"Ghostty"},{id:"vscode",label:"VS Code",appName:"Visual Studio Code"},{id:"vscode-insiders",label:"VS Code Insiders",appName:"Visual Studio Code - Insiders"},{id:"intellij",label:"IntelliJ",appName:"IntelliJ IDEA"},{id:"visual-studio",label:"Visual Studio",appName:"Visual Studio"},{id:"cursor",label:"Cursor",appName:"Cursor"},{id:"android-studio",label:"Android Studio",appName:"Android Studio"},{id:"pycharm",label:"PyCharm",appName:"PyCharm"},{id:"xcode",label:"Xcode",appName:"Xcode"},{id:"sublime-text",label:"Sublime",appName:"Sublime Text"},{id:"webstorm",label:"WebStorm",appName:"WebStorm"},{id:"rider",label:"Rider",appName:"Rider"},{id:"zed",label:"Zed",appName:"Zed"},{id:"phpstorm",label:"PhpStorm",appName:"PhpStorm"},{id:"eclipse",label:"Eclipse",appName:"Eclipse"},{id:"windsurf",label:"Windsurf",appName:"Windsurf"},{id:"vscodium",label:"VSCodium",appName:"VSCodium"},{id:"rustrover",label:"RustRover",appName:"RustRover"},{id:"kiro",label:"Kiro",appName:"Kiro"},{id:"antigravity",label:"Antigravity",appName:"Antigravity"},{id:"trae",label:"Trae",appName:"Trae"}],te="finder",B=new Set(["finder","terminal"]),H=e=>{if(typeof window>"u")return e;const t=window.__OPENCHAMBER_PLATFORM__;if(e.id==="finder"){if(t==="win32")return{...e,label:"Explorer",appName:"File Explorer"};if(t==="linux")return{...e,label:"File Manager"}}return e},V=e=>{if(!e)return null;const t=N.find(a=>a.id===e)??null;return t?H(t):null},M=()=>N.filter(e=>B.has(e.id)).map(e=>({...H(e)})),Ie=()=>{if(typeof window>"u")return te;const e=window.localStorage.getItem("openInAppId");return e&&V(e)?e:te};let $=!1,C=!1,I=!1,b=0,v=null;const ae=()=>{v&&(clearTimeout(v),v=null)},Re=ce()((e,t)=>({selectedAppId:Ie(),availableApps:M(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if($||typeof window>"u")return;$=!0;const a=(o,c=!0)=>{if(!Array.isArray(o)||o.length===0){e({availableApps:M(),hasLoadedApps:c});return}const y=new Set(o.map(p=>p.name)),m=new Map(o.map(p=>[p.name,p.iconDataUrl??void 0])),A=N.filter(p=>y.has(p.appName)||B.has(p.id)).map(p=>({...H(p),iconDataUrl:m.get(p.appName)}));e({availableApps:A,hasLoadedApps:!0})},n=async o=>{if(!X()||!Z()||C||t().hasLoadedApps&&!o)return;const y=N.map(m=>m.appName);ae(),C=!0,I=!1,e({isScanning:!0});try{const{apps:m,success:d,hasCache:A,isCacheStale:p}=await Y(y,o),x=d&&!A&&m.length===0&&b<3;if(e({isCacheStale:A?p:!1}),a(m,d?!x:!1),d){if(x){const r=[800,1600,3200][b]??3200;b+=1,I=!0,v=setTimeout(()=>{n()},r);return}b=0,I=!1;return}if(b<3){const r=[1e3,3e3,7e3][b]??7e3;b+=1,I=!0,v=setTimeout(()=>{n()},r)}}finally{C=!1,I||e({isScanning:!1})}};n();const s=o=>{const c=o.detail?.settings,y=c&&typeof c.openInAppId=="string"&&c.openInAppId.length>0&&V(c.openInAppId)?c.openInAppId:null;y&&(window.localStorage.setItem("openInAppId",y),e({selectedAppId:y}))},i=()=>{n()},f=o=>{const c=o.detail;Array.isArray(c)&&(b=3,I=!1,e({isScanning:!1,isCacheStale:!1}),a(c))};window.addEventListener("openchamber:settings-synced",s),window.addEventListener("openchamber:app-ready",i),window.addEventListener("openchamber:installed-apps-updated",f),window.__openchamberAppReady&&n(),window.setTimeout(()=>{t().hasLoadedApps||n()},5e3)},loadInstalledApps:async a=>{if($||t().initialize(),!X()||!Z()||C||t().hasLoadedApps&&!a)return;const s=N.map(i=>i.appName);ae(),a&&e({hasLoadedApps:!1}),C=!0,I=!1,e({isScanning:!0});try{const{apps:i,hasCache:f,isCacheStale:l}=await Y(s,a),o=new Set(i.map(d=>d.name)),c=new Map(i.map(d=>[d.name,d.iconDataUrl??void 0])),m=N.filter(d=>o.has(d.appName)||B.has(d.id)).map(d=>({...d,iconDataUrl:c.get(d.appName)}));e({availableApps:m.length>0?m:M(),hasLoadedApps:m.length>0,isCacheStale:f?l:!1})}finally{C=!1,I||e({isScanning:!1})}},selectApp:async a=>{V(a)&&(e({selectedAppId:a}),typeof window<"u"&&window.localStorage.setItem("openInAppId",a),await le({openInAppId:a}))}}));class Te{pending=new Map;has(t){return this.pending.has(t)}clear(){this.pending.clear()}run(t,a,n=!1){const s=this.pending.get(t);if(s&&!n)return s;const i=()=>this.pending.get(t)===f,f=Promise.resolve().then(()=>i()?a(i):void 0).finally(()=>{i()&&this.pending.delete(t)});return this.pending.set(t,f),f}}const je=(e,t)=>e===t||e.length===t.length&&e.every((a,n)=>{const s=t[n];return a.name===s.name&&a.path===s.path&&a.type===s.type&&a.extension===s.extension&&a.relativePath===s.relativePath}),ve=e=>{const t=new Map,a=new Map;for(const n of e){t.has(n.path)||t.set(n.path,n.index==="A"||n.working_dir==="?"?"git-added":n.index==="D"?"git-deleted":n.index==="M"||n.working_dir==="M"?"git-modified":null);const s=+(n.index==="M"||n.working_dir==="M"),i=+(n.index==="A"||n.working_dir==="?");if(!s&&!i)continue;const f=[""];for(let l=n.path.indexOf("/");l!==-1;l=n.path.indexOf("/",l+1))f.push(n.path.slice(0,l));for(const l of f){const o=a.get(l)??{modified:0,added:0};o.modified+=s,o.added+=i,a.set(l,o)}}return{statusByPath:t,badgeByDir:a}},K=new Set,be=e=>{const t=e.runtimeKey.trim(),a=Array.from(new Set(e.paths.map(n=>n.trim()).filter(Boolean)));if(!(!t||a.length===0))for(const n of K)n({runtimeKey:t,paths:a})},xe=e=>(K.add(e),()=>K.delete(e)),ne=3,se=(e,t)=>`${e.replace(/[\\/]+$/,"")}/${t}`,ie=e=>{const t=e.name;return!t||t==="."||t===".."||t.includes("/")||t.includes("\\")?null:t},De=({root:e,refreshDirectory:t})=>{const{t:a}=pe(),{files:n}=ue(),s=n.uploadFile,[i,f]=w.useState(null),[l,o]=w.useState(null),c=w.useRef(!1),y=w.useRef(e);y.current=e;const m=w.useRef(null),d=w.useRef(null);w.useEffect(()=>{o(null)},[e]);const A=w.useCallback(async(r,u,k=!1)=>{if(!s||u.length===0||c.current||!e)return;const _=e,D=F();c.current=!0,f(r),k&&o(null);const T=[];for(let g=0;g<u.length;g+=ne){const j=u.slice(g,g+ne),P=await Promise.all(j.map(async q=>{const G=ie(q);if(!G||F()!==D)return"failed";try{return(await s(se(r,G),q,{directory:_,overwrite:k})).success?"uploaded":"failed"}catch(O){return!k&&de(O)&&O.reason==="already-exists"?"conflict":"failed"}}));T.push(...P)}const W=T.filter(g=>g==="uploaded").length,re=T.filter(g=>g==="failed").length,U=u.filter((g,j)=>T[j]==="conflict"),z=u.flatMap((g,j)=>{const P=ie(g);return T[j]==="uploaded"&&P?[se(r,P)]:[]}),J=y.current===_&&F()===D;try{z.length>0&&be({runtimeKey:D,paths:z}),W>0&&J&&await t(r),W>0&&Q.success(a(U.length>0?"sidebarFilesTree.toast.uploadedWithoutConflicts":"sidebarFilesTree.toast.uploaded")),re>0&&Q.error(a("sidebarFilesTree.toast.uploadFailed")),U.length>0&&J&&o({directory:r,files:U,runtimeKey:D,workspaceRoot:_})}finally{c.current=!1,f(null)}},[t,e,a,s]),p=w.useCallback(r=>{const u=m.current;!u||c.current||(d.current=r,u.value="",u.click())},[]),x=w.useCallback(r=>{const u=d.current,k=Array.from(r.target.files??[]);d.current=null,r.target.value="",!(!u||k.length===0)&&A(u,k)},[A]),L=h.jsxs(h.Fragment,{children:[h.jsx("input",{ref:m,type:"file",multiple:!0,hidden:!0,onChange:x}),h.jsx(fe,{open:!!l,onOpenChange:r=>!r&&o(null),children:h.jsxs(me,{children:[h.jsxs(he,{children:[h.jsx(ye,{children:a("sidebarFilesTree.dialog.uploadConflicts.title")}),h.jsx(ge,{children:a("sidebarFilesTree.dialog.uploadConflicts.description",{path:l?.directory??""})})]}),h.jsx(we,{outerClassName:"max-h-52",className:"flex flex-col gap-1 pr-2",children:l?.files.map((r,u)=>h.jsx("div",{className:"truncate rounded-md bg-muted px-2 py-1 typography-meta",title:r.name,children:r.name},`${r.name}-${r.size}-${u}`))}),h.jsxs(Ae,{children:[h.jsx(ee,{variant:"outline",onClick:()=>o(null),disabled:i!==null,children:a("sidebarFilesTree.dialog.cancel")}),h.jsx(ee,{onClick:()=>{if(l){if(l.runtimeKey!==F()||l.workspaceRoot!==e){o(null);return}A(l.directory,l.files,!0)}},disabled:i!==null,children:a("sidebarFilesTree.dialog.uploadConflicts.replace")})]})]})})]});return{canUpload:!!s,uploadingDirectory:i,uploadFiles:A,pickFiles:p,uploadElements:L}},R=async(e,t)=>{try{const a=await e.json();if(a&&typeof a.error=="string"&&a.error.trim().length>0)return a.error}catch{return t}return t},S=e=>{const t=typeof e=="string"?e.trim():"";if(!t)throw new Error("projectId is required");return t},Se=async e=>{const t=S(e),a=await E(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks`);if(!a.ok)throw new Error(await R(a,"Failed to load scheduled tasks"));const n=await a.json().catch(()=>null);return!n||!Array.isArray(n.tasks)?[]:n.tasks},Pe=async(e,t)=>{const a=S(e),n=await E(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks`,{method:"PUT",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({task:t})});if(!n.ok)throw new Error(await R(n,"Failed to save scheduled task"));const s=await n.json().catch(()=>null);return!s||!Array.isArray(s.tasks)?[]:s.tasks},Fe=async(e,t)=>{const a=S(e),n=S(t),s=await E(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(n)}`,{method:"DELETE",headers:{accept:"application/json"}});if(!s.ok)throw new Error(await R(s,"Failed to delete scheduled task"));const i=await s.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},oe=(e,t)=>{const a=S(e),n=S(t);return`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(n)}/loop-file`},Le=async(e,t,a)=>{const n=await E(oe(e,t),{method:"PATCH",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({enabled:a})});if(!n.ok)throw new Error(await R(n,"Failed to update loop task"))},_e=async(e,t)=>{const a=await E(oe(e,t),{method:"DELETE",headers:{accept:"application/json"}});if(!a.ok)throw new Error(await R(a,"Failed to delete loop file"))},Ue=async e=>{await Se(e)},Oe=async(e,t)=>{const a=S(e),n=S(t),s=await E(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(n)}/run`,{method:"POST",headers:{accept:"application/json"}});if(!s.ok)throw new Error(await R(s,"Failed to run scheduled task"));const i=await s.json().catch(()=>null);return{sessionId:typeof i?.sessionId=="string"&&i.sessionId.length>0?i.sessionId:void 0,persistError:typeof i?.persistError=="string"&&i.persistError.trim().length>0?i.persistError.trim():void 0}};export{te as D,N as O,Te as a,je as b,De as c,Pe as d,_e as e,Se as f,Fe as g,Ue as h,xe as i,ve as j,Oe as r,Le as s,Re as u};
1
+ import{t as le,E as X,F as Z,d_ as Y,a as F,aG as de,h as E}from"./index-CvLgnuNI.js";import{c as ce}from"./vendor-zustand-BAGL70zf.js";import{R as w,j as h}from"./vendor-react-BUCujlKS.js";import{f as pe,_ as ue,t as Q,c2 as fe,c3 as me,c4 as he,c5 as ye,c6 as ge,c8 as we,c7 as Ae,B as ee}from"./useAppFontEffects-ZM9ij19-.js";const N=[{id:"finder",label:"Finder",appName:"Finder"},{id:"terminal",label:"Terminal",appName:"Terminal"},{id:"iterm2",label:"iTerm2",appName:"iTerm"},{id:"ghostty",label:"Ghostty",appName:"Ghostty"},{id:"vscode",label:"VS Code",appName:"Visual Studio Code"},{id:"vscode-insiders",label:"VS Code Insiders",appName:"Visual Studio Code - Insiders"},{id:"intellij",label:"IntelliJ",appName:"IntelliJ IDEA"},{id:"visual-studio",label:"Visual Studio",appName:"Visual Studio"},{id:"cursor",label:"Cursor",appName:"Cursor"},{id:"android-studio",label:"Android Studio",appName:"Android Studio"},{id:"pycharm",label:"PyCharm",appName:"PyCharm"},{id:"xcode",label:"Xcode",appName:"Xcode"},{id:"sublime-text",label:"Sublime",appName:"Sublime Text"},{id:"webstorm",label:"WebStorm",appName:"WebStorm"},{id:"rider",label:"Rider",appName:"Rider"},{id:"zed",label:"Zed",appName:"Zed"},{id:"phpstorm",label:"PhpStorm",appName:"PhpStorm"},{id:"eclipse",label:"Eclipse",appName:"Eclipse"},{id:"windsurf",label:"Windsurf",appName:"Windsurf"},{id:"vscodium",label:"VSCodium",appName:"VSCodium"},{id:"rustrover",label:"RustRover",appName:"RustRover"},{id:"kiro",label:"Kiro",appName:"Kiro"},{id:"antigravity",label:"Antigravity",appName:"Antigravity"},{id:"trae",label:"Trae",appName:"Trae"}],te="finder",B=new Set(["finder","terminal"]),H=e=>{if(typeof window>"u")return e;const t=window.__OPENCHAMBER_PLATFORM__;if(e.id==="finder"){if(t==="win32")return{...e,label:"Explorer",appName:"File Explorer"};if(t==="linux")return{...e,label:"File Manager"}}return e},V=e=>{if(!e)return null;const t=N.find(a=>a.id===e)??null;return t?H(t):null},M=()=>N.filter(e=>B.has(e.id)).map(e=>({...H(e)})),Ie=()=>{if(typeof window>"u")return te;const e=window.localStorage.getItem("openInAppId");return e&&V(e)?e:te};let $=!1,C=!1,I=!1,b=0,v=null;const ae=()=>{v&&(clearTimeout(v),v=null)},Re=ce()((e,t)=>({selectedAppId:Ie(),availableApps:M(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if($||typeof window>"u")return;$=!0;const a=(o,c=!0)=>{if(!Array.isArray(o)||o.length===0){e({availableApps:M(),hasLoadedApps:c});return}const y=new Set(o.map(p=>p.name)),m=new Map(o.map(p=>[p.name,p.iconDataUrl??void 0])),A=N.filter(p=>y.has(p.appName)||B.has(p.id)).map(p=>({...H(p),iconDataUrl:m.get(p.appName)}));e({availableApps:A,hasLoadedApps:!0})},n=async o=>{if(!X()||!Z()||C||t().hasLoadedApps&&!o)return;const y=N.map(m=>m.appName);ae(),C=!0,I=!1,e({isScanning:!0});try{const{apps:m,success:d,hasCache:A,isCacheStale:p}=await Y(y,o),x=d&&!A&&m.length===0&&b<3;if(e({isCacheStale:A?p:!1}),a(m,d?!x:!1),d){if(x){const r=[800,1600,3200][b]??3200;b+=1,I=!0,v=setTimeout(()=>{n()},r);return}b=0,I=!1;return}if(b<3){const r=[1e3,3e3,7e3][b]??7e3;b+=1,I=!0,v=setTimeout(()=>{n()},r)}}finally{C=!1,I||e({isScanning:!1})}};n();const s=o=>{const c=o.detail?.settings,y=c&&typeof c.openInAppId=="string"&&c.openInAppId.length>0&&V(c.openInAppId)?c.openInAppId:null;y&&(window.localStorage.setItem("openInAppId",y),e({selectedAppId:y}))},i=()=>{n()},f=o=>{const c=o.detail;Array.isArray(c)&&(b=3,I=!1,e({isScanning:!1,isCacheStale:!1}),a(c))};window.addEventListener("openchamber:settings-synced",s),window.addEventListener("openchamber:app-ready",i),window.addEventListener("openchamber:installed-apps-updated",f),window.__openchamberAppReady&&n(),window.setTimeout(()=>{t().hasLoadedApps||n()},5e3)},loadInstalledApps:async a=>{if($||t().initialize(),!X()||!Z()||C||t().hasLoadedApps&&!a)return;const s=N.map(i=>i.appName);ae(),a&&e({hasLoadedApps:!1}),C=!0,I=!1,e({isScanning:!0});try{const{apps:i,hasCache:f,isCacheStale:l}=await Y(s,a),o=new Set(i.map(d=>d.name)),c=new Map(i.map(d=>[d.name,d.iconDataUrl??void 0])),m=N.filter(d=>o.has(d.appName)||B.has(d.id)).map(d=>({...d,iconDataUrl:c.get(d.appName)}));e({availableApps:m.length>0?m:M(),hasLoadedApps:m.length>0,isCacheStale:f?l:!1})}finally{C=!1,I||e({isScanning:!1})}},selectApp:async a=>{V(a)&&(e({selectedAppId:a}),typeof window<"u"&&window.localStorage.setItem("openInAppId",a),await le({openInAppId:a}))}}));class Te{pending=new Map;has(t){return this.pending.has(t)}clear(){this.pending.clear()}run(t,a,n=!1){const s=this.pending.get(t);if(s&&!n)return s;const i=()=>this.pending.get(t)===f,f=Promise.resolve().then(()=>i()?a(i):void 0).finally(()=>{i()&&this.pending.delete(t)});return this.pending.set(t,f),f}}const je=(e,t)=>e===t||e.length===t.length&&e.every((a,n)=>{const s=t[n];return a.name===s.name&&a.path===s.path&&a.type===s.type&&a.extension===s.extension&&a.relativePath===s.relativePath}),ve=e=>{const t=new Map,a=new Map;for(const n of e){t.has(n.path)||t.set(n.path,n.index==="A"||n.working_dir==="?"?"git-added":n.index==="D"?"git-deleted":n.index==="M"||n.working_dir==="M"?"git-modified":null);const s=+(n.index==="M"||n.working_dir==="M"),i=+(n.index==="A"||n.working_dir==="?");if(!s&&!i)continue;const f=[""];for(let l=n.path.indexOf("/");l!==-1;l=n.path.indexOf("/",l+1))f.push(n.path.slice(0,l));for(const l of f){const o=a.get(l)??{modified:0,added:0};o.modified+=s,o.added+=i,a.set(l,o)}}return{statusByPath:t,badgeByDir:a}},K=new Set,be=e=>{const t=e.runtimeKey.trim(),a=Array.from(new Set(e.paths.map(n=>n.trim()).filter(Boolean)));if(!(!t||a.length===0))for(const n of K)n({runtimeKey:t,paths:a})},xe=e=>(K.add(e),()=>K.delete(e)),ne=3,se=(e,t)=>`${e.replace(/[\\/]+$/,"")}/${t}`,ie=e=>{const t=e.name;return!t||t==="."||t===".."||t.includes("/")||t.includes("\\")?null:t},De=({root:e,refreshDirectory:t})=>{const{t:a}=pe(),{files:n}=ue(),s=n.uploadFile,[i,f]=w.useState(null),[l,o]=w.useState(null),c=w.useRef(!1),y=w.useRef(e);y.current=e;const m=w.useRef(null),d=w.useRef(null);w.useEffect(()=>{o(null)},[e]);const A=w.useCallback(async(r,u,k=!1)=>{if(!s||u.length===0||c.current||!e)return;const _=e,D=F();c.current=!0,f(r),k&&o(null);const T=[];for(let g=0;g<u.length;g+=ne){const j=u.slice(g,g+ne),P=await Promise.all(j.map(async q=>{const G=ie(q);if(!G||F()!==D)return"failed";try{return(await s(se(r,G),q,{directory:_,overwrite:k})).success?"uploaded":"failed"}catch(O){return!k&&de(O)&&O.reason==="already-exists"?"conflict":"failed"}}));T.push(...P)}const W=T.filter(g=>g==="uploaded").length,re=T.filter(g=>g==="failed").length,U=u.filter((g,j)=>T[j]==="conflict"),z=u.flatMap((g,j)=>{const P=ie(g);return T[j]==="uploaded"&&P?[se(r,P)]:[]}),J=y.current===_&&F()===D;try{z.length>0&&be({runtimeKey:D,paths:z}),W>0&&J&&await t(r),W>0&&Q.success(a(U.length>0?"sidebarFilesTree.toast.uploadedWithoutConflicts":"sidebarFilesTree.toast.uploaded")),re>0&&Q.error(a("sidebarFilesTree.toast.uploadFailed")),U.length>0&&J&&o({directory:r,files:U,runtimeKey:D,workspaceRoot:_})}finally{c.current=!1,f(null)}},[t,e,a,s]),p=w.useCallback(r=>{const u=m.current;!u||c.current||(d.current=r,u.value="",u.click())},[]),x=w.useCallback(r=>{const u=d.current,k=Array.from(r.target.files??[]);d.current=null,r.target.value="",!(!u||k.length===0)&&A(u,k)},[A]),L=h.jsxs(h.Fragment,{children:[h.jsx("input",{ref:m,type:"file",multiple:!0,hidden:!0,onChange:x}),h.jsx(fe,{open:!!l,onOpenChange:r=>!r&&o(null),children:h.jsxs(me,{children:[h.jsxs(he,{children:[h.jsx(ye,{children:a("sidebarFilesTree.dialog.uploadConflicts.title")}),h.jsx(ge,{children:a("sidebarFilesTree.dialog.uploadConflicts.description",{path:l?.directory??""})})]}),h.jsx(we,{outerClassName:"max-h-52",className:"flex flex-col gap-1 pr-2",children:l?.files.map((r,u)=>h.jsx("div",{className:"truncate rounded-md bg-muted px-2 py-1 typography-meta",title:r.name,children:r.name},`${r.name}-${r.size}-${u}`))}),h.jsxs(Ae,{children:[h.jsx(ee,{variant:"outline",onClick:()=>o(null),disabled:i!==null,children:a("sidebarFilesTree.dialog.cancel")}),h.jsx(ee,{onClick:()=>{if(l){if(l.runtimeKey!==F()||l.workspaceRoot!==e){o(null);return}A(l.directory,l.files,!0)}},disabled:i!==null,children:a("sidebarFilesTree.dialog.uploadConflicts.replace")})]})]})})]});return{canUpload:!!s,uploadingDirectory:i,uploadFiles:A,pickFiles:p,uploadElements:L}},R=async(e,t)=>{try{const a=await e.json();if(a&&typeof a.error=="string"&&a.error.trim().length>0)return a.error}catch{return t}return t},S=e=>{const t=typeof e=="string"?e.trim():"";if(!t)throw new Error("projectId is required");return t},Se=async e=>{const t=S(e),a=await E(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks`);if(!a.ok)throw new Error(await R(a,"Failed to load scheduled tasks"));const n=await a.json().catch(()=>null);return!n||!Array.isArray(n.tasks)?[]:n.tasks},Pe=async(e,t)=>{const a=S(e),n=await E(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks`,{method:"PUT",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({task:t})});if(!n.ok)throw new Error(await R(n,"Failed to save scheduled task"));const s=await n.json().catch(()=>null);return!s||!Array.isArray(s.tasks)?[]:s.tasks},Fe=async(e,t)=>{const a=S(e),n=S(t),s=await E(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(n)}`,{method:"DELETE",headers:{accept:"application/json"}});if(!s.ok)throw new Error(await R(s,"Failed to delete scheduled task"));const i=await s.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},oe=(e,t)=>{const a=S(e),n=S(t);return`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(n)}/loop-file`},Le=async(e,t,a)=>{const n=await E(oe(e,t),{method:"PATCH",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({enabled:a})});if(!n.ok)throw new Error(await R(n,"Failed to update loop task"))},_e=async(e,t)=>{const a=await E(oe(e,t),{method:"DELETE",headers:{accept:"application/json"}});if(!a.ok)throw new Error(await R(a,"Failed to delete loop file"))},Ue=async e=>{await Se(e)},Oe=async(e,t)=>{const a=S(e),n=S(t),s=await E(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(n)}/run`,{method:"POST",headers:{accept:"application/json"}});if(!s.ok)throw new Error(await R(s,"Failed to run scheduled task"));const i=await s.json().catch(()=>null);return{sessionId:typeof i?.sessionId=="string"&&i.sessionId.length>0?i.sessionId:void 0,persistError:typeof i?.persistError=="string"&&i.persistError.trim().length>0?i.persistError.trim():void 0}};export{te as D,N as O,Te as a,je as b,De as c,Pe as d,_e as e,Se as f,Fe as g,Ue as h,xe as i,ve as j,Oe as r,Le as s,Re as u};
@@ -1 +1 @@
1
- import{R as d,j as v,c as ge,f as be}from"./vendor-react-BUCujlKS.js";import{E as he,o as S,k as B,i as de,S as xe}from"./vendor-codemirror-state-C9awkmn-.js";import{s as ye,d as ve,E as w,e as ke,f as V,k as L,V as me,D as M,W as we}from"./vendor-codemirror-view-CiLROUVV.js";import{h as Ce,k as Se,l as Ne,j as Ee}from"./vendor-codemirror-commands-B7H_j0iU.js";import{i as Re,y as Fe,H as G,x as O,z as Te}from"./vendor-codemirror-language-BgPj_McA.js";import{a as U,g as P,b as Y,c as Q,o as Oe,d as Pe}from"./vendor-codemirror-search-BmS-GmcX.js";import{v as Me,g as ze}from"./vendor-replit-codemirror-vim-B2DJlAhT.js";import{h as qe,I as Z,af as We,B as Le,ag as $e,ae as He,gL as Be,iA as _e}from"./useAppFontEffects-BxrtCnfR.js";import{a as e,c as je}from"./vendor-lezer-highlight-CDMHUZ74.js";const Ae=t=>t!==null&&typeof t=="object"&&"updateStatus"in t&&typeof t.updateStatus=="function",Ie=t=>{const o=document.createElement("div");o.className="cm-vim-panel";const a=ze(t);if(!a)return{top:!1,dom:o};a.state.statusbar=o;const n=a.state.vimPlugin;return Ae(n)&&n.updateStatus(),{top:!1,dom:o,destroy(){a.state.statusbar===o&&(a.state.statusbar=null)}}};function J(t){return t?[Me(),ye.of(Ie),ve()]:[]}const De={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},Ke={case:"Match case",re:"Regular expression",word:"Match whole word"};function Ve(t){const o=t.querySelector(".cm-search");if(o){for(const[a,n]of Object.entries(De)){const c=o.querySelector(`button[name="${a}"]`);c&&!c.title&&(c.title=n)}for(const[a,n]of Object.entries(Ke)){const r=o.querySelector(`input[name="${a}"]`)?.parentElement;r&&!r.title&&(r.title=n)}}}const $=new WeakMap;function Ge(t,o){const a=P(t.state);if(!a.valid)return $.delete(t),0;const n=$.get(t);if(!o&&n?.doc===t.state.doc&&n.query.eq(a))return n.total;const c=a.getCursor(t.state);let r=0;for(let u=c.next();!u.done;u=c.next())r+=1;return $.set(t,{query:a,doc:t.state.doc,total:r}),r}function Ue(t){const o=P(t.state);if(!o.valid)return 0;const a=t.state.selection.main,n=o.getCursor(t.state);let c=0,r=0;for(let u=n.next();!u.done;u=n.next()){const i=u.value;if(c+=1,r===0&&(r=c),a.from===i.from&&a.to===i.to||a.from<i.to&&a.to>i.from||i.from>=a.head)return c}return r}function X(t,o,a=!1){const n=t.querySelector(".cm-search");if(!n)return;let c=n.querySelector(".cm-search-message");if(!c){c=document.createElement("span"),c.className="cm-search-message",c.setAttribute("aria-live","polite");const i=n.querySelector('button[name="next"]'),f=i?.parentNode===n?i:n.firstChild;n.insertBefore(c,f)}const r=Ge(o,a),u=r===0?0:Ue(o);c.textContent=r===0?"":`${u}/${r}`}const ee=new S,te=new S,oe=new S,re=new S,ne=new S,ae=new S,ce=new S,se=t=>t,H=Fe,Ye=Oe,Qe=Pe;class Ze extends we{constructor(o,a){super(),this.id=o,this.containerMap=a}toDOM(){let o=this.containerMap.get(this.id);return o||(o=document.createElement("div"),o.className="oc-block-widget",o.dataset.widgetId=this.id,this.containerMap.set(this.id,o)),o}eq(o){return o.id===this.id}destroy(){}}const ie=(t,o)=>!t||t.length===0?[]:de.define({create(a){const n=new B,c=[...t].sort((r,u)=>r.afterLine-u.afterLine);for(const r of c){const u=a.doc.lines;if(r.afterLine>u)continue;const i=a.doc.line(r.afterLine);n.add(i.to,i.to,M.widget({widget:new Ze(r.id,o),block:!0,side:1}))}return n.finish()},update(a,n){return a.map(n.changes)},provide:a=>w.decorations.from(a)}),le=t=>{if(!t)return[];const o=Math.max(1,t.start),a=Math.max(o,t.end);return me.fromClass(class{decorations;constructor(n){this.decorations=this.build(n)}update(n){(n.docChanged||n.viewportChanged)&&(this.decorations=this.build(n.view))}build(n){const c=new B;for(let r=o;r<=a&&r<=n.state.doc.lines;r+=1){const u=n.state.doc.line(r);c.add(u.from,u.from,M.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:n=>n.decorations})};function gt({value:t,onChange:o,extensions:a,className:n,readOnly:c,lineNumbersConfig:r,highlightLines:u,onViewReady:i,onViewDestroy:f,blockWidgets:m,enableSearch:g,searchOpen:F,onSearchOpenChange:N,vimMode:x}){const T=d.useRef(null),b=d.useRef(null),z=d.useRef(t),_=d.useRef(o),j=d.useRef(i),A=d.useRef(f),I=d.useRef(N),E=d.useRef(m),q=d.useRef(x),W=d.useRef(new Map),[pe,D]=d.useState([]),k=d.useCallback(s=>{const h=(s??[]).map(l=>{const p=W.current.get(l.id);return p?{id:l.id,content:l.content,container:p}:null}).filter(l=>l!==null);D(l=>l.length===h.length&&l.every((p,y)=>{const R=h[y];return p.id===R.id&&p.content===R.content&&p.container===R.container})?l:h)},[]),C=d.useCallback(s=>{const h=T.current,l=s??b.current;if(!h||!l)return;const p=l.dom.querySelector(".cm-gutters"),y=p instanceof HTMLElement?p.getBoundingClientRect().width:0;h.style.setProperty("--oc-editor-gutter-width",`${y}px`)},[]);return d.useEffect(()=>{z.current=t},[t]),d.useEffect(()=>{_.current=o},[o]),d.useEffect(()=>{j.current=i,A.current=f},[i,f]),d.useEffect(()=>{I.current=N},[N]),d.useEffect(()=>{E.current=m,k(m)},[m,k]),d.useEffect(()=>{if(!T.current)return;const s=(()=>{if(typeof document>"u")return null;const l=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(l)return l;const p=window.__OPENCHAMBER_CSP_NONCE__;return typeof p=="string"&&p.length>0?p:null})(),h=he.create({doc:z.current,extensions:[...s?[w.cspNonce.of(s)]:[],ke({fixed:!0}),ee.of(V(r)),Ce(),Re.of(" "),ce.of(J(x)),L.of([Se,...Ne,...Ee]),w.updateListener.of(l=>{C(l.view),(l.viewportChanged||l.geometryChanged)&&k(E.current);const p=U(l.startState),y=U(l.state);p!==y&&I.current?.(y);const R=!P(l.startState).eq(P(l.state));if(y&&(p!==y||R||l.docChanged||l.selectionSet)&&X(l.view.dom,l.view,p!==y||R||l.docChanged),!l.docChanged)return;const K=l.state.doc.toString();z.current=K,_.current(K),k(E.current)}),te.of(w.editable.of(!c)),oe.of(a??[]),re.of(le(u)),ne.of(ie(m,W.current)),ae.of(g?[Y({top:!0}),L.of(se(Q))]:[])]});return b.current=new w({state:h,parent:T.current}),H(b.current,b.current.state.doc.length,200),b.current.requestMeasure(),requestAnimationFrame(()=>{C(b.current),k(E.current)}),b.current&&j.current?.(b.current),()=>{A.current?.(),b.current?.destroy(),b.current=null,D([])}},[E,C,k]),d.useEffect(()=>{const s=b.current;s&&(s.dispatch({effects:[ee.reconfigure(V(r)),te.reconfigure(w.editable.of(!c)),oe.reconfigure(a??[]),re.reconfigure(le(u)),ne.reconfigure(ie(m,W.current)),ae.reconfigure(g?[Y({top:!0}),L.of(se(Q))]:[])]}),H(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{C(s),k(E.current)}))},[a,u,r,c,m,g,C,k]),d.useEffect(()=>{const s=b.current;if(!s){q.current=x;return}q.current!==x&&(q.current=x,s.dispatch({effects:ce.reconfigure(J(x))}))},[x]),d.useEffect(()=>{const s=b.current;!s||g===!1||(F?(Ye(s),requestAnimationFrame(()=>{Ve(s.dom),X(s.dom,s,!0)})):Qe(s))},[F,g]),d.useEffect(()=>{const s=b.current;if(!s)return;const h=s.state.doc.toString();h!==t&&(s.dispatch({changes:{from:0,to:h.length,insert:t}}),H(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>C(s)))},[t,C]),v.jsxs(v.Fragment,{children:[v.jsx("div",{ref:T,className:qe("oc-surface-code h-full w-full","[&_.cm-editor]:h-full [&_.cm-editor]:w-full","[&_.cm-scroller]:font-mono [&_.cm-scroller]:text-[var(--text-code)] [&_.cm-scroller]:leading-6",n)}),pe.map(s=>ge.createPortal(s.content,s.container,s.id))]})}const bt=t=>{const o=be.c(11),{currentMode:a,onToggle:n}=t,c=a==="preview",r=c?"Switch to edit mode":"Switch to preview mode",u=c?"Edit":"Preview";let i;o[0]!==c?(i=c?v.jsx(Z,{name:"eye",className:"size-4","aria-hidden":"true"}):v.jsx(Z,{name:"eye-off",className:"size-4","aria-hidden":"true"}),o[0]=c,o[1]=i):i=o[1];let f;o[2]!==r||o[3]!==n||o[4]!==i?(f=v.jsx(We,{asChild:!0,children:v.jsx(Le,{variant:"ghost",size:"sm",onClick:n,"aria-label":r,className:"h-5 w-5 p-0",children:i})}),o[2]=r,o[3]=n,o[4]=i,o[5]=f):f=o[5];let m;o[6]!==u?(m=v.jsx($e,{sideOffset:8,children:u}),o[6]=u,o[7]=m):m=o[7];let g;return o[8]!==f||o[9]!==m?(g=v.jsxs(He,{children:[f,m]}),o[8]=f,o[9]=m,o[10]=g):g=o[10],g};function ht(t,o){const a=t.metadata.variant==="dark",n=t.config?.fonts?.mono||"monospace",c=t.colors.syntax.highlights||{},r=Be(t.colors.syntax),u=o?.fontSize?`${o.fontSize}px`:"var(--text-code)",i=t.colors.syntax.base.background,f=w.theme({"&":{backgroundColor:i,color:t.colors.syntax.base.foreground,fontSize:u,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:n,backgroundColor:i},".cm-comment":{color:t.colors.syntax.base.comment},".cm-keyword":{color:t.colors.syntax.base.keyword},".cm-string":{color:t.colors.syntax.base.string},".cm-string-2":{color:r.stringEscape||t.colors.syntax.base.string},".cm-number":{color:t.colors.syntax.base.number},".cm-operator":{color:t.colors.syntax.base.operator},".cm-punctuation":{color:r.punctuation||t.colors.syntax.base.comment},".cm-atom":{color:r.boolean||t.colors.syntax.base.number},".cm-builtin":{color:r.functionCall||t.colors.syntax.base.function},".cm-def":{color:r.variableGlobal||t.colors.syntax.base.variable},".cm-attribute":{color:r.variableOther||r.variableProperty||t.colors.syntax.base.operator},".cm-meta":{color:t.colors.syntax.base.comment},".cm-property":{color:r.variableProperty||t.colors.syntax.base.keyword},".cm-variable":{color:t.colors.syntax.base.variable},".cm-variable-2":{color:r.variableOther||t.colors.syntax.base.function},".cm-variable-3":{color:r.variableGlobal||t.colors.syntax.base.type},".cm-tag":{color:r.tag||t.colors.syntax.base.keyword},".cm-link":{color:r.url||t.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:t.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:t.colors.interactive.selection},".cm-gutters":{backgroundColor:i,color:c.lineNumber||t.colors.syntax.base.comment,borderRight:`1px solid ${t.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:`0 0 0 ${i}`},".cm-gutter":{backgroundColor:i},".cm-gutterElement":{backgroundColor:i},".cm-lineNumbers":{backgroundColor:i},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||t.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:`color-mix(in srgb, ${t.colors.syntax.base.foreground} 5%, transparent)`},".cm-panels":{backgroundColor:"transparent",color:t.colors.surface.elevatedForeground,position:"absolute",top:"0",right:"0",left:"auto",width:"auto",zIndex:10,pointerEvents:"none"},".cm-panels-top":{borderBottom:"none",position:"absolute",top:"6px",right:"14px",left:"auto",width:"auto"},".cm-panels-bottom":{position:"static",width:"100%",pointerEvents:"auto"},".cm-panels-bottom .cm-vim-panel":{borderTop:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.elevated,color:t.colors.surface.mutedForeground,fontFamily:"var(--font-mono)",fontSize:"12px",minHeight:"22px",padding:"2px 8px"},".cm-panel.cm-search":{pointerEvents:"auto",padding:"4px",backgroundColor:`color-mix(in srgb, ${t.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${t.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${t.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:t.colors.surface.elevatedForeground,fontFamily:"inherit",fontSize:"13px",lineHeight:"1"},".cm-search br":{display:"none"},".cm-search .cm-textfield":{appearance:"none",height:"26px",margin:0,padding:"0 8px",borderRadius:"6px !important",border:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.elevated,color:t.colors.surface.elevatedForeground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:t.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:t.colors.interactive.borderFocus},'.cm-search .cm-textfield[name="search"]':{order:1,flex:"1 1 120px",maxWidth:"calc(100% - 142px)",minWidth:"100px"},".cm-search label":{order:2,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"1px solid transparent",backgroundColor:"transparent",color:"transparent",cursor:"pointer",userSelect:"none",fontSize:"1px",lineHeight:"0",overflow:"hidden",position:"relative",transition:"background-color 120ms ease, border-color 120ms ease"},".cm-search label:hover":{backgroundColor:t.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:t.colors.interactive.hover,borderColor:t.colors.interactive.border},'.cm-search [type="checkbox"]':{appearance:"none",WebkitAppearance:"none",width:"0",height:"0",margin:"0",padding:"0",border:"none",position:"absolute",opacity:"0",pointerEvents:"none"},".cm-search label::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"13px",fontWeight:"600",lineHeight:"1",fontFamily:"inherit",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:t.colors.surface.elevatedForeground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:t.colors.surface.elevatedForeground},'.cm-search label:has(input[name="case"])::after':{content:'"Aa"',fontSize:"12px",letterSpacing:"-0.5px"},'.cm-search label:has(input[name="re"])::after':{content:'".*"',fontSize:"13px",fontFamily:"monospace"},'.cm-search label:has(input[name="word"])::after':{content:'"ab"',fontSize:"12px",textDecoration:"underline",textUnderlineOffset:"2px"},".cm-search .cm-search-message":{order:3,color:t.colors.surface.mutedForeground,backgroundColor:"transparent",border:"none",borderRadius:"0",padding:"0 6px",fontSize:"11px",whiteSpace:"nowrap",lineHeight:"26px"},".cm-search .cm-button":{appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:"transparent",cursor:"pointer",fontSize:"1px",fontWeight:"400",lineHeight:"0",overflow:"hidden",position:"relative",boxShadow:"none",transition:"background-color 120ms ease"},".cm-search .cm-button::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"15px",lineHeight:"1",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:t.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:t.colors.surface.elevatedForeground},".cm-search .cm-button:active":{backgroundColor:t.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${t.colors.interactive.focusRing}`},".cm-search .cm-button:disabled":{opacity:.4,cursor:"default",pointerEvents:"none"},'.cm-search .cm-button[name="prev"]':{order:21,marginTop:"2px"},'.cm-search .cm-button[name="prev"]::after':{content:'"↑"'},'.cm-search .cm-button[name="next"]':{order:22,marginTop:"2px"},'.cm-search .cm-button[name="next"]::after':{content:'"↓"'},'.cm-search .cm-button[name="select"]':{order:23,marginTop:"2px"},'.cm-search .cm-button[name="select"]::after':{content:'"≡"',fontSize:"17px"},'.cm-panel.cm-search button[name="close"]':{order:5,appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:"0 0 0 auto",padding:"0",borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:t.colors.surface.mutedForeground,cursor:"pointer",fontSize:"16px",lineHeight:"1",boxShadow:"none",position:"relative",overflow:"visible",transition:"background-color 120ms ease, color 120ms ease"},'.cm-panel.cm-search button[name="close"]:hover':{backgroundColor:t.colors.interactive.hover,color:t.colors.surface.elevatedForeground},'.cm-search .cm-button[name="replace"]':{order:24,marginTop:"2px"},'.cm-search .cm-button[name="replace"]::after':{content:'"⇄"'},'.cm-search .cm-button[name="replaceAll"], .cm-search .cm-button[name="replace-all"]':{order:25,marginTop:"2px"},'.cm-search .cm-button[name="replaceAll"]::after, .cm-search .cm-button[name="replace-all"]::after':{content:'"⇉"'},'.cm-search .cm-textfield[name="replace"]':{order:20,flex:"1 1 100%",maxWidth:"calc(100% - 142px)",minWidth:"80px",marginTop:"2px"},".cm-searchMatch":{backgroundColor:t.colors.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.border}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:t.colors.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.borderFocus}`},"&.cm-focused":{outline:"none"}},{dark:a}),m=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],class:"cm-comment"},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],class:"cm-keyword"},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],class:"cm-operator"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],class:"cm-punctuation"},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],class:"cm-string"},{tag:e.escape,class:"cm-string-2"},{tag:[e.number,e.bool,e.atom,e.null,e.self],class:"cm-number"},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],class:"cm-builtin"},{tag:e.definition(e.variableName),class:"cm-def"},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],class:"cm-variable"},{tag:e.propertyName,class:"cm-property"},{tag:e.attributeName,class:"cm-attribute"},{tag:[e.className,e.typeName,e.namespace],class:"cm-variable-3"},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],class:"cm-tag"},{tag:e.link,class:"cm-link"},{tag:[e.heading,e.heading1,e.heading2,e.heading3,e.heading4,e.heading5,e.heading6],class:"cm-keyword"}]),g=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],color:t.colors.syntax.base.comment},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],color:t.colors.syntax.base.keyword},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],color:t.colors.syntax.base.operator},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],color:t.colors.syntax.base.string},{tag:e.escape,color:r.stringEscape||t.colors.syntax.base.string},{tag:[e.number,e.bool,e.atom,e.null,e.self],color:t.colors.syntax.base.number},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],color:t.colors.syntax.base.function},{tag:e.definition(e.variableName),color:r.variableGlobal||t.colors.syntax.base.variable},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],color:t.colors.syntax.base.variable},{tag:e.propertyName,color:r.variableProperty||t.colors.syntax.base.variable},{tag:e.attributeName,color:r.variableOther||t.colors.syntax.base.variable},{tag:[e.className,e.typeName,e.namespace],color:t.colors.syntax.base.type},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],color:r.tag||t.colors.syntax.base.keyword},{tag:e.link,color:r.url||t.colors.syntax.base.function,textDecoration:"underline"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],color:r.punctuation||t.colors.syntax.base.comment}]);return o?.syntaxColors===!1?[f]:[f,O(Te,{fallback:!0}),O(je),O(m),O(g)]}const Je=180,fe=xe.define(),Xe=1,et=2,tt=4,ue=new Map,ot=(t,o)=>{const a=`${t}|${o}`,n=ue.get(a);if(n)return n;let c="";t&&(c+=`color:${t};`),o&Xe&&(c+="font-style:italic;"),o&et&&(c+="font-weight:bold;"),o&tt&&(c+="text-decoration:underline;");const r=M.mark({attributes:{style:c}});return ue.set(a,r),r},rt=(t,o)=>{const a=new B,n=t.state.doc,c=Math.min(o.length,n.lines);for(let r=0;r<c;r+=1){const u=o[r];if(!u||u.length===0)continue;const i=n.line(r+1);let f=i.from;for(const[m,g,F]of u){if(m<=0)continue;const N=f,x=Math.min(f+m,i.to);f+=m,!(x<=N)&&(!g&&!F||a.add(N,x,ot(g,F)))}}return a.finish()},nt=de.define({create(){return M.none},update(t,o){let a=t.map(o.changes);for(const n of o.effects)n.is(fe)&&(a=n.value);return a},provide:t=>w.decorations.from(t)}),at=t=>me.fromClass(class{timer;generation=0;constructor(o){this.tokenize(o)}update(o){o.docChanged&&this.schedule(o.view)}schedule(o){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0,this.tokenize(o)},Je)}async tokenize(o){const a=++this.generation,n=o.state.doc.toString(),c=await _e(n,t.language,t.themeName,t.theme);c&&a===this.generation&&o.state.doc.length===n.length&&o.dispatch({effects:fe.of(rt(o,c))})}destroy(){this.timer&&clearTimeout(this.timer)}}),xt=t=>[nt,at(t)];export{gt as C,bt as P,ht as c,xt as s};
1
+ import{R as d,j as v,c as ge,f as be}from"./vendor-react-BUCujlKS.js";import{E as he,o as S,k as B,i as de,S as xe}from"./vendor-codemirror-state-C9awkmn-.js";import{s as ye,d as ve,E as w,e as ke,f as V,k as L,V as me,D as M,W as we}from"./vendor-codemirror-view-CiLROUVV.js";import{h as Ce,k as Se,l as Ne,j as Ee}from"./vendor-codemirror-commands-B7H_j0iU.js";import{i as Re,y as Fe,H as G,x as O,z as Te}from"./vendor-codemirror-language-BgPj_McA.js";import{a as U,g as P,b as Y,c as Q,o as Oe,d as Pe}from"./vendor-codemirror-search-BmS-GmcX.js";import{v as Me,g as ze}from"./vendor-replit-codemirror-vim-B2DJlAhT.js";import{h as qe,I as Z,af as We,B as Le,ag as $e,ae as He,gL as Be,iA as _e}from"./useAppFontEffects-ZM9ij19-.js";import{a as e,c as je}from"./vendor-lezer-highlight-CDMHUZ74.js";const Ae=t=>t!==null&&typeof t=="object"&&"updateStatus"in t&&typeof t.updateStatus=="function",Ie=t=>{const o=document.createElement("div");o.className="cm-vim-panel";const a=ze(t);if(!a)return{top:!1,dom:o};a.state.statusbar=o;const n=a.state.vimPlugin;return Ae(n)&&n.updateStatus(),{top:!1,dom:o,destroy(){a.state.statusbar===o&&(a.state.statusbar=null)}}};function J(t){return t?[Me(),ye.of(Ie),ve()]:[]}const De={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},Ke={case:"Match case",re:"Regular expression",word:"Match whole word"};function Ve(t){const o=t.querySelector(".cm-search");if(o){for(const[a,n]of Object.entries(De)){const c=o.querySelector(`button[name="${a}"]`);c&&!c.title&&(c.title=n)}for(const[a,n]of Object.entries(Ke)){const r=o.querySelector(`input[name="${a}"]`)?.parentElement;r&&!r.title&&(r.title=n)}}}const $=new WeakMap;function Ge(t,o){const a=P(t.state);if(!a.valid)return $.delete(t),0;const n=$.get(t);if(!o&&n?.doc===t.state.doc&&n.query.eq(a))return n.total;const c=a.getCursor(t.state);let r=0;for(let u=c.next();!u.done;u=c.next())r+=1;return $.set(t,{query:a,doc:t.state.doc,total:r}),r}function Ue(t){const o=P(t.state);if(!o.valid)return 0;const a=t.state.selection.main,n=o.getCursor(t.state);let c=0,r=0;for(let u=n.next();!u.done;u=n.next()){const i=u.value;if(c+=1,r===0&&(r=c),a.from===i.from&&a.to===i.to||a.from<i.to&&a.to>i.from||i.from>=a.head)return c}return r}function X(t,o,a=!1){const n=t.querySelector(".cm-search");if(!n)return;let c=n.querySelector(".cm-search-message");if(!c){c=document.createElement("span"),c.className="cm-search-message",c.setAttribute("aria-live","polite");const i=n.querySelector('button[name="next"]'),f=i?.parentNode===n?i:n.firstChild;n.insertBefore(c,f)}const r=Ge(o,a),u=r===0?0:Ue(o);c.textContent=r===0?"":`${u}/${r}`}const ee=new S,te=new S,oe=new S,re=new S,ne=new S,ae=new S,ce=new S,se=t=>t,H=Fe,Ye=Oe,Qe=Pe;class Ze extends we{constructor(o,a){super(),this.id=o,this.containerMap=a}toDOM(){let o=this.containerMap.get(this.id);return o||(o=document.createElement("div"),o.className="oc-block-widget",o.dataset.widgetId=this.id,this.containerMap.set(this.id,o)),o}eq(o){return o.id===this.id}destroy(){}}const ie=(t,o)=>!t||t.length===0?[]:de.define({create(a){const n=new B,c=[...t].sort((r,u)=>r.afterLine-u.afterLine);for(const r of c){const u=a.doc.lines;if(r.afterLine>u)continue;const i=a.doc.line(r.afterLine);n.add(i.to,i.to,M.widget({widget:new Ze(r.id,o),block:!0,side:1}))}return n.finish()},update(a,n){return a.map(n.changes)},provide:a=>w.decorations.from(a)}),le=t=>{if(!t)return[];const o=Math.max(1,t.start),a=Math.max(o,t.end);return me.fromClass(class{decorations;constructor(n){this.decorations=this.build(n)}update(n){(n.docChanged||n.viewportChanged)&&(this.decorations=this.build(n.view))}build(n){const c=new B;for(let r=o;r<=a&&r<=n.state.doc.lines;r+=1){const u=n.state.doc.line(r);c.add(u.from,u.from,M.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:n=>n.decorations})};function gt({value:t,onChange:o,extensions:a,className:n,readOnly:c,lineNumbersConfig:r,highlightLines:u,onViewReady:i,onViewDestroy:f,blockWidgets:m,enableSearch:g,searchOpen:F,onSearchOpenChange:N,vimMode:x}){const T=d.useRef(null),b=d.useRef(null),z=d.useRef(t),_=d.useRef(o),j=d.useRef(i),A=d.useRef(f),I=d.useRef(N),E=d.useRef(m),q=d.useRef(x),W=d.useRef(new Map),[pe,D]=d.useState([]),k=d.useCallback(s=>{const h=(s??[]).map(l=>{const p=W.current.get(l.id);return p?{id:l.id,content:l.content,container:p}:null}).filter(l=>l!==null);D(l=>l.length===h.length&&l.every((p,y)=>{const R=h[y];return p.id===R.id&&p.content===R.content&&p.container===R.container})?l:h)},[]),C=d.useCallback(s=>{const h=T.current,l=s??b.current;if(!h||!l)return;const p=l.dom.querySelector(".cm-gutters"),y=p instanceof HTMLElement?p.getBoundingClientRect().width:0;h.style.setProperty("--oc-editor-gutter-width",`${y}px`)},[]);return d.useEffect(()=>{z.current=t},[t]),d.useEffect(()=>{_.current=o},[o]),d.useEffect(()=>{j.current=i,A.current=f},[i,f]),d.useEffect(()=>{I.current=N},[N]),d.useEffect(()=>{E.current=m,k(m)},[m,k]),d.useEffect(()=>{if(!T.current)return;const s=(()=>{if(typeof document>"u")return null;const l=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(l)return l;const p=window.__OPENCHAMBER_CSP_NONCE__;return typeof p=="string"&&p.length>0?p:null})(),h=he.create({doc:z.current,extensions:[...s?[w.cspNonce.of(s)]:[],ke({fixed:!0}),ee.of(V(r)),Ce(),Re.of(" "),ce.of(J(x)),L.of([Se,...Ne,...Ee]),w.updateListener.of(l=>{C(l.view),(l.viewportChanged||l.geometryChanged)&&k(E.current);const p=U(l.startState),y=U(l.state);p!==y&&I.current?.(y);const R=!P(l.startState).eq(P(l.state));if(y&&(p!==y||R||l.docChanged||l.selectionSet)&&X(l.view.dom,l.view,p!==y||R||l.docChanged),!l.docChanged)return;const K=l.state.doc.toString();z.current=K,_.current(K),k(E.current)}),te.of(w.editable.of(!c)),oe.of(a??[]),re.of(le(u)),ne.of(ie(m,W.current)),ae.of(g?[Y({top:!0}),L.of(se(Q))]:[])]});return b.current=new w({state:h,parent:T.current}),H(b.current,b.current.state.doc.length,200),b.current.requestMeasure(),requestAnimationFrame(()=>{C(b.current),k(E.current)}),b.current&&j.current?.(b.current),()=>{A.current?.(),b.current?.destroy(),b.current=null,D([])}},[E,C,k]),d.useEffect(()=>{const s=b.current;s&&(s.dispatch({effects:[ee.reconfigure(V(r)),te.reconfigure(w.editable.of(!c)),oe.reconfigure(a??[]),re.reconfigure(le(u)),ne.reconfigure(ie(m,W.current)),ae.reconfigure(g?[Y({top:!0}),L.of(se(Q))]:[])]}),H(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{C(s),k(E.current)}))},[a,u,r,c,m,g,C,k]),d.useEffect(()=>{const s=b.current;if(!s){q.current=x;return}q.current!==x&&(q.current=x,s.dispatch({effects:ce.reconfigure(J(x))}))},[x]),d.useEffect(()=>{const s=b.current;!s||g===!1||(F?(Ye(s),requestAnimationFrame(()=>{Ve(s.dom),X(s.dom,s,!0)})):Qe(s))},[F,g]),d.useEffect(()=>{const s=b.current;if(!s)return;const h=s.state.doc.toString();h!==t&&(s.dispatch({changes:{from:0,to:h.length,insert:t}}),H(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>C(s)))},[t,C]),v.jsxs(v.Fragment,{children:[v.jsx("div",{ref:T,className:qe("oc-surface-code h-full w-full","[&_.cm-editor]:h-full [&_.cm-editor]:w-full","[&_.cm-scroller]:font-mono [&_.cm-scroller]:text-[var(--text-code)] [&_.cm-scroller]:leading-6",n)}),pe.map(s=>ge.createPortal(s.content,s.container,s.id))]})}const bt=t=>{const o=be.c(11),{currentMode:a,onToggle:n}=t,c=a==="preview",r=c?"Switch to edit mode":"Switch to preview mode",u=c?"Edit":"Preview";let i;o[0]!==c?(i=c?v.jsx(Z,{name:"eye",className:"size-4","aria-hidden":"true"}):v.jsx(Z,{name:"eye-off",className:"size-4","aria-hidden":"true"}),o[0]=c,o[1]=i):i=o[1];let f;o[2]!==r||o[3]!==n||o[4]!==i?(f=v.jsx(We,{asChild:!0,children:v.jsx(Le,{variant:"ghost",size:"sm",onClick:n,"aria-label":r,className:"h-5 w-5 p-0",children:i})}),o[2]=r,o[3]=n,o[4]=i,o[5]=f):f=o[5];let m;o[6]!==u?(m=v.jsx($e,{sideOffset:8,children:u}),o[6]=u,o[7]=m):m=o[7];let g;return o[8]!==f||o[9]!==m?(g=v.jsxs(He,{children:[f,m]}),o[8]=f,o[9]=m,o[10]=g):g=o[10],g};function ht(t,o){const a=t.metadata.variant==="dark",n=t.config?.fonts?.mono||"monospace",c=t.colors.syntax.highlights||{},r=Be(t.colors.syntax),u=o?.fontSize?`${o.fontSize}px`:"var(--text-code)",i=t.colors.syntax.base.background,f=w.theme({"&":{backgroundColor:i,color:t.colors.syntax.base.foreground,fontSize:u,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:n,backgroundColor:i},".cm-comment":{color:t.colors.syntax.base.comment},".cm-keyword":{color:t.colors.syntax.base.keyword},".cm-string":{color:t.colors.syntax.base.string},".cm-string-2":{color:r.stringEscape||t.colors.syntax.base.string},".cm-number":{color:t.colors.syntax.base.number},".cm-operator":{color:t.colors.syntax.base.operator},".cm-punctuation":{color:r.punctuation||t.colors.syntax.base.comment},".cm-atom":{color:r.boolean||t.colors.syntax.base.number},".cm-builtin":{color:r.functionCall||t.colors.syntax.base.function},".cm-def":{color:r.variableGlobal||t.colors.syntax.base.variable},".cm-attribute":{color:r.variableOther||r.variableProperty||t.colors.syntax.base.operator},".cm-meta":{color:t.colors.syntax.base.comment},".cm-property":{color:r.variableProperty||t.colors.syntax.base.keyword},".cm-variable":{color:t.colors.syntax.base.variable},".cm-variable-2":{color:r.variableOther||t.colors.syntax.base.function},".cm-variable-3":{color:r.variableGlobal||t.colors.syntax.base.type},".cm-tag":{color:r.tag||t.colors.syntax.base.keyword},".cm-link":{color:r.url||t.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:t.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:t.colors.interactive.selection},".cm-gutters":{backgroundColor:i,color:c.lineNumber||t.colors.syntax.base.comment,borderRight:`1px solid ${t.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:`0 0 0 ${i}`},".cm-gutter":{backgroundColor:i},".cm-gutterElement":{backgroundColor:i},".cm-lineNumbers":{backgroundColor:i},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||t.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:`color-mix(in srgb, ${t.colors.syntax.base.foreground} 5%, transparent)`},".cm-panels":{backgroundColor:"transparent",color:t.colors.surface.elevatedForeground,position:"absolute",top:"0",right:"0",left:"auto",width:"auto",zIndex:10,pointerEvents:"none"},".cm-panels-top":{borderBottom:"none",position:"absolute",top:"6px",right:"14px",left:"auto",width:"auto"},".cm-panels-bottom":{position:"static",width:"100%",pointerEvents:"auto"},".cm-panels-bottom .cm-vim-panel":{borderTop:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.elevated,color:t.colors.surface.mutedForeground,fontFamily:"var(--font-mono)",fontSize:"12px",minHeight:"22px",padding:"2px 8px"},".cm-panel.cm-search":{pointerEvents:"auto",padding:"4px",backgroundColor:`color-mix(in srgb, ${t.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${t.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${t.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:t.colors.surface.elevatedForeground,fontFamily:"inherit",fontSize:"13px",lineHeight:"1"},".cm-search br":{display:"none"},".cm-search .cm-textfield":{appearance:"none",height:"26px",margin:0,padding:"0 8px",borderRadius:"6px !important",border:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.elevated,color:t.colors.surface.elevatedForeground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:t.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:t.colors.interactive.borderFocus},'.cm-search .cm-textfield[name="search"]':{order:1,flex:"1 1 120px",maxWidth:"calc(100% - 142px)",minWidth:"100px"},".cm-search label":{order:2,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"1px solid transparent",backgroundColor:"transparent",color:"transparent",cursor:"pointer",userSelect:"none",fontSize:"1px",lineHeight:"0",overflow:"hidden",position:"relative",transition:"background-color 120ms ease, border-color 120ms ease"},".cm-search label:hover":{backgroundColor:t.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:t.colors.interactive.hover,borderColor:t.colors.interactive.border},'.cm-search [type="checkbox"]':{appearance:"none",WebkitAppearance:"none",width:"0",height:"0",margin:"0",padding:"0",border:"none",position:"absolute",opacity:"0",pointerEvents:"none"},".cm-search label::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"13px",fontWeight:"600",lineHeight:"1",fontFamily:"inherit",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:t.colors.surface.elevatedForeground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:t.colors.surface.elevatedForeground},'.cm-search label:has(input[name="case"])::after':{content:'"Aa"',fontSize:"12px",letterSpacing:"-0.5px"},'.cm-search label:has(input[name="re"])::after':{content:'".*"',fontSize:"13px",fontFamily:"monospace"},'.cm-search label:has(input[name="word"])::after':{content:'"ab"',fontSize:"12px",textDecoration:"underline",textUnderlineOffset:"2px"},".cm-search .cm-search-message":{order:3,color:t.colors.surface.mutedForeground,backgroundColor:"transparent",border:"none",borderRadius:"0",padding:"0 6px",fontSize:"11px",whiteSpace:"nowrap",lineHeight:"26px"},".cm-search .cm-button":{appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:"transparent",cursor:"pointer",fontSize:"1px",fontWeight:"400",lineHeight:"0",overflow:"hidden",position:"relative",boxShadow:"none",transition:"background-color 120ms ease"},".cm-search .cm-button::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"15px",lineHeight:"1",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:t.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:t.colors.surface.elevatedForeground},".cm-search .cm-button:active":{backgroundColor:t.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${t.colors.interactive.focusRing}`},".cm-search .cm-button:disabled":{opacity:.4,cursor:"default",pointerEvents:"none"},'.cm-search .cm-button[name="prev"]':{order:21,marginTop:"2px"},'.cm-search .cm-button[name="prev"]::after':{content:'"↑"'},'.cm-search .cm-button[name="next"]':{order:22,marginTop:"2px"},'.cm-search .cm-button[name="next"]::after':{content:'"↓"'},'.cm-search .cm-button[name="select"]':{order:23,marginTop:"2px"},'.cm-search .cm-button[name="select"]::after':{content:'"≡"',fontSize:"17px"},'.cm-panel.cm-search button[name="close"]':{order:5,appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:"0 0 0 auto",padding:"0",borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:t.colors.surface.mutedForeground,cursor:"pointer",fontSize:"16px",lineHeight:"1",boxShadow:"none",position:"relative",overflow:"visible",transition:"background-color 120ms ease, color 120ms ease"},'.cm-panel.cm-search button[name="close"]:hover':{backgroundColor:t.colors.interactive.hover,color:t.colors.surface.elevatedForeground},'.cm-search .cm-button[name="replace"]':{order:24,marginTop:"2px"},'.cm-search .cm-button[name="replace"]::after':{content:'"⇄"'},'.cm-search .cm-button[name="replaceAll"], .cm-search .cm-button[name="replace-all"]':{order:25,marginTop:"2px"},'.cm-search .cm-button[name="replaceAll"]::after, .cm-search .cm-button[name="replace-all"]::after':{content:'"⇉"'},'.cm-search .cm-textfield[name="replace"]':{order:20,flex:"1 1 100%",maxWidth:"calc(100% - 142px)",minWidth:"80px",marginTop:"2px"},".cm-searchMatch":{backgroundColor:t.colors.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.border}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:t.colors.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.borderFocus}`},"&.cm-focused":{outline:"none"}},{dark:a}),m=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],class:"cm-comment"},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],class:"cm-keyword"},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],class:"cm-operator"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],class:"cm-punctuation"},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],class:"cm-string"},{tag:e.escape,class:"cm-string-2"},{tag:[e.number,e.bool,e.atom,e.null,e.self],class:"cm-number"},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],class:"cm-builtin"},{tag:e.definition(e.variableName),class:"cm-def"},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],class:"cm-variable"},{tag:e.propertyName,class:"cm-property"},{tag:e.attributeName,class:"cm-attribute"},{tag:[e.className,e.typeName,e.namespace],class:"cm-variable-3"},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],class:"cm-tag"},{tag:e.link,class:"cm-link"},{tag:[e.heading,e.heading1,e.heading2,e.heading3,e.heading4,e.heading5,e.heading6],class:"cm-keyword"}]),g=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],color:t.colors.syntax.base.comment},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],color:t.colors.syntax.base.keyword},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],color:t.colors.syntax.base.operator},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],color:t.colors.syntax.base.string},{tag:e.escape,color:r.stringEscape||t.colors.syntax.base.string},{tag:[e.number,e.bool,e.atom,e.null,e.self],color:t.colors.syntax.base.number},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],color:t.colors.syntax.base.function},{tag:e.definition(e.variableName),color:r.variableGlobal||t.colors.syntax.base.variable},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],color:t.colors.syntax.base.variable},{tag:e.propertyName,color:r.variableProperty||t.colors.syntax.base.variable},{tag:e.attributeName,color:r.variableOther||t.colors.syntax.base.variable},{tag:[e.className,e.typeName,e.namespace],color:t.colors.syntax.base.type},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],color:r.tag||t.colors.syntax.base.keyword},{tag:e.link,color:r.url||t.colors.syntax.base.function,textDecoration:"underline"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],color:r.punctuation||t.colors.syntax.base.comment}]);return o?.syntaxColors===!1?[f]:[f,O(Te,{fallback:!0}),O(je),O(m),O(g)]}const Je=180,fe=xe.define(),Xe=1,et=2,tt=4,ue=new Map,ot=(t,o)=>{const a=`${t}|${o}`,n=ue.get(a);if(n)return n;let c="";t&&(c+=`color:${t};`),o&Xe&&(c+="font-style:italic;"),o&et&&(c+="font-weight:bold;"),o&tt&&(c+="text-decoration:underline;");const r=M.mark({attributes:{style:c}});return ue.set(a,r),r},rt=(t,o)=>{const a=new B,n=t.state.doc,c=Math.min(o.length,n.lines);for(let r=0;r<c;r+=1){const u=o[r];if(!u||u.length===0)continue;const i=n.line(r+1);let f=i.from;for(const[m,g,F]of u){if(m<=0)continue;const N=f,x=Math.min(f+m,i.to);f+=m,!(x<=N)&&(!g&&!F||a.add(N,x,ot(g,F)))}}return a.finish()},nt=de.define({create(){return M.none},update(t,o){let a=t.map(o.changes);for(const n of o.effects)n.is(fe)&&(a=n.value);return a},provide:t=>w.decorations.from(t)}),at=t=>me.fromClass(class{timer;generation=0;constructor(o){this.tokenize(o)}update(o){o.docChanged&&this.schedule(o.view)}schedule(o){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0,this.tokenize(o)},Je)}async tokenize(o){const a=++this.generation,n=o.state.doc.toString(),c=await _e(n,t.language,t.themeName,t.theme);c&&a===this.generation&&o.state.doc.length===n.length&&o.dispatch({effects:fe.of(rt(o,c))})}destroy(){this.timer&&clearTimeout(this.timer)}}),xt=t=>[nt,at(t)];export{gt as C,bt as P,ht as c,xt as s};
@@ -1 +1 @@
1
- import{t as g}from"./themeResolver-BmJyTmjJ.js";import{c,D as l}from"./vendor-pierre-theming-C6Z4M5_u.js";import{gL as m}from"./useAppFontEffects-BxrtCnfR.js";function w(o,e){try{const t=c({name:o,load:e});g.registerTheme(t.name,t.load)}catch(t){if(t instanceof l){console.error("SharedHighlight.registerCustomTheme: theme name already registered",o);return}throw t}}const p=o=>/^#[0-9a-fA-F]{6}$/.test(o),f=o=>/^#[0-9a-fA-F]{8}$/.test(o),b=(o,e)=>/^[0-9a-fA-F]{2}$/.test(e)?p(o)?`${o}${e}`:f(o)?`${o.slice(0,7)}${e}`:o:o,n=(o,e)=>typeof o=="string"&&o.trim().length>0?o:e,k=o=>{const e=o.base,t=new Map(Object.entries(m(o))),r=(i,a)=>n(t.get(i),a);return[{name:"plain",scope:["source","support.type.property-name.css"],settings:{foreground:e.foreground}},{name:"classes",scope:["entity.name.type.class"],settings:{foreground:r("className",r("class",e.function))}},{name:"interfaces",scope:["entity.name.type.interface","entity.name.type"],settings:{foreground:r("interface",e.type)}},{name:"structs",scope:["entity.name.type.struct"],settings:{foreground:r("struct",e.function)}},{name:"enums",scope:["entity.name.type.enum"],settings:{foreground:r("enum",e.function)}},{name:"keys",scope:["meta.object-literal.key","support.type.property-name"],settings:{foreground:r("key",e.function)}},{name:"methods",scope:["entity.name.function.method","meta.function.method"],settings:{foreground:r("method",e.function)}},{name:"functions",scope:["entity.name.function","support.function","meta.function-call.generic"],settings:{foreground:e.function,fontStyle:"bold"}},{name:"variables",scope:["variable","meta.variable","variable.other.object.property"],settings:{foreground:e.variable}},{name:"variablesOther",scope:["variable.other.object","variable.other.readwrite.alias"],settings:{foreground:r("variableOther",e.variable)}},{name:"globalVariables",scope:["variable.other.global","variable.language.this"],settings:{foreground:r("variableGlobal",e.number)}},{name:"localVariables",scope:["variable.other.local"],settings:{foreground:r("variableLocal",e.variable)}},{name:"parameters",scope:["variable.parameter","meta.parameter"],settings:{foreground:r("parameter",e.foreground)}},{name:"properties",scope:["variable.other.property","meta.property"],settings:{foreground:r("variableProperty",e.variable)}},{name:"strings",scope:["string","string.other.link","markup.inline.raw.string.markdown"],settings:{foreground:e.string}},{name:"stringEscapeSequences",scope:["constant.character.escape","constant.other.placeholder"],settings:{foreground:r("stringEscape",e.foreground)}},{name:"keywords",scope:["keyword"],settings:{foreground:e.keyword}},{name:"keywordsControl",scope:["keyword.control.import","keyword.control.from","keyword.import"],settings:{foreground:r("keywordImport",e.operator)}},{name:"storageModifiers",scope:["storage.modifier","keyword.modifier","storage.type"],settings:{foreground:r("storageModifier",e.keyword)}},{name:"comments",scope:["comment","punctuation.definition.comment"],settings:{foreground:e.comment}},{name:"docComments",scope:["comment.documentation","comment.line.documentation"],settings:{foreground:r("commentDoc",e.comment)}},{name:"numbers",scope:["constant.numeric"],settings:{foreground:e.number}},{name:"booleans",scope:["constant.language.boolean","constant.language.json"],settings:{foreground:r("boolean",e.type)}},{name:"operators",scope:["keyword.operator"],settings:{foreground:e.operator}},{name:"macros",scope:["entity.name.function.preprocessor","meta.preprocessor"],settings:{foreground:r("macro",e.keyword)}},{name:"preprocessor",scope:["meta.preprocessor"],settings:{foreground:r("preprocessor",r("label",e.number))}},{name:"urls",scope:["markup.underline.link"],settings:{foreground:r("url",e.string)}},{name:"tags",scope:["entity.name.tag"],settings:{foreground:r("tag",e.keyword)}},{name:"jsxTags",scope:["support.class.component"],settings:{foreground:r("jsxTag",r("label",e.number))}},{name:"attributes",scope:["entity.other.attribute-name","meta.attribute"],settings:{foreground:r("tagAttribute",e.type)}},{name:"types",scope:["support.type"],settings:{foreground:e.type}},{name:"constants",scope:["variable.other.constant","variable.readonly"],settings:{foreground:r("constant",e.foreground)}},{name:"labels",scope:["entity.name.label","punctuation.definition.label"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"namespaces",scope:["entity.name.namespace","storage.modifier.namespace","markup.bold.markdown"],settings:{foreground:r("namespace",e.type)}},{name:"modules",scope:["entity.name.module","storage.modifier.module"],settings:{foreground:r("module",e.operator)}},{name:"typeParameters",scope:["variable.type.parameter","variable.parameter.type"],settings:{foreground:r("typeParameter",e.function)}},{name:"exceptions",scope:["keyword.control.exception","keyword.control.trycatch"],settings:{foreground:r("exception",r("label",e.number))}},{name:"decorators",scope:["meta.decorator","punctuation.decorator","entity.name.function.decorator"],settings:{foreground:r("decorator",e.type)}},{name:"calls",scope:["variable.function"],settings:{foreground:e.foreground}},{name:"punctuation",scope:["punctuation","punctuation.terminator","punctuation.definition.tag","punctuation.separator","punctuation.definition.string","punctuation.section.block"],settings:{foreground:r("punctuation",e.comment)}},{name:"yellow",scope:["storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","constant.language.go","support.class.dart","keyword.other.documentation","storage.modifier.import.java","punctuation.definition.list.begin.markdown","punctuation.definition.quote.begin.markdown","meta.separator.markdown","entity.name.section.markdown"],settings:{foreground:e.type}},{name:"green",scope:[],settings:{foreground:r("method",e.function)}},{name:"cyan",scope:["markup.italic.markdown","support.type.python","variable.legacy.builtin.python","support.constant.property-value.css","storage.modifier.attribute.swift"],settings:{foreground:e.string}},{name:"blue",scope:[],settings:{foreground:e.keyword}},{name:"purple",scope:["keyword.channel.go","keyword.other.platform.os.swift"],settings:{foreground:e.number}},{name:"magenta",scope:["punctuation.definition.heading.markdown"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"red",scope:[],settings:{foreground:e.operator}},{name:"orange",scope:[],settings:{foreground:e.function}}]},y=o=>{const e=o.colors.surface,t=o.colors.interactive,r=o.colors.status,i=o.colors.syntax.base,a=o.colors.syntax.highlights??{},d=i.background,u=n(a.diffAddedBackground,r.successBackground),s=n(a.diffRemovedBackground,r.errorBackground);return{"editor.background":d,"editor.foreground":i.foreground,"editor.hoverHighlightBackground":n(t.hover,e.subtle),"editor.lineHighlightBackground":e.muted,"editor.selectionBackground":t.selection,"editor.selectionHighlightBackground":t.selection,"editor.findMatchBackground":i.type,"editor.findMatchHighlightBackground":b(i.type,"cc"),"editor.findRangeHighlightBackground":e.muted,"editor.inactiveSelectionBackground":e.elevated,"editor.lineHighlightBorder":e.elevated,"editor.rangeHighlightBackground":n(t.active,t.borderHover),"notifications.background":e.elevated,"editorInlayHint.typeBackground":e.subtle,"editorInlayHint.typeForeground":e.foreground,"editorWhitespace.foreground":t.borderHover,"editorIndentGuide.background1":e.subtle,"editorHoverWidget.background":e.elevated,"editorLineNumber.activeForeground":n(a.lineNumberActive,e.foreground),"editorLineNumber.foreground":n(a.lineNumber,e.mutedForeground),"editorGutter.background":d,"editorGutter.modifiedBackground":r.info,"editorGutter.addedBackground":r.success,"editorGutter.deletedBackground":r.error,"editorBracketMatch.background":e.elevated,"editorBracketMatch.border":e.subtle,"editorError.foreground":r.error,"editorWarning.foreground":r.warning,"editorInfo.foreground":r.info,"diffEditor.insertedTextBackground":u,"diffEditor.removedTextBackground":s,"editorGroupHeader.tabsBackground":e.background,"editorGroup.border":t.border,"tab.activeBackground":e.background,"tab.inactiveBackground":e.muted,"tab.inactiveForeground":e.mutedForeground,"tab.activeForeground":e.foreground,"tab.hoverBackground":e.subtle,"tab.unfocusedHoverBackground":e.subtle,"tab.border":t.border,"tab.activeModifiedBorder":i.type,"tab.inactiveModifiedBorder":r.info,"tab.unfocusedActiveModifiedBorder":i.type,"tab.unfocusedInactiveModifiedBorder":r.info,"editorWidget.background":e.muted,"editorWidget.border":t.border,"editorSuggestWidget.background":e.background,"editorSuggestWidget.border":t.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.highlightForeground":e.mutedForeground,"editorSuggestWidget.selectedBackground":e.subtle,"peekView.border":t.border,"peekViewEditor.background":e.background,"peekViewEditor.matchHighlightBackground":e.subtle,"peekViewResult.background":e.muted,"peekViewResult.fileForeground":e.foreground,"peekViewResult.lineForeground":e.mutedForeground,"peekViewResult.matchHighlightBackground":e.subtle,"peekViewResult.selectionBackground":e.elevated,"peekViewResult.selectionForeground":e.mutedForeground,"peekViewTitle.background":e.subtle,"peekViewTitleDescription.foreground":e.mutedForeground,"peekViewTitleLabel.foreground":e.foreground,"merge.currentHeaderBackground":r.success,"merge.currentContentBackground":n(a.diffAdded,r.success),"merge.incomingHeaderBackground":r.info,"merge.incomingContentBackground":n(a.diffModified,r.info),"merge.border":t.border,"merge.commonContentBackground":e.subtle,"merge.commonHeaderBackground":e.muted,"panel.background":e.background,"panel.border":t.border,"panelTitle.activeBorder":t.borderHover,"panelTitle.activeForeground":e.foreground,"panelTitle.inactiveForeground":e.mutedForeground,"statusBar.background":e.background,"statusBar.foreground":e.foreground,"statusBar.border":t.border,"statusBar.debuggingBackground":r.error,"statusBar.debuggingForeground":r.errorForeground,"statusBar.noFolderBackground":e.subtle,"statusBar.noFolderForeground":e.mutedForeground,"titleBar.activeBackground":e.background,"titleBar.activeForeground":e.foreground,"titleBar.inactiveBackground":e.muted,"titleBar.inactiveForeground":e.mutedForeground,"titleBar.border":t.border,"menu.foreground":e.foreground,"menu.background":e.background,"menu.selectionForeground":e.foreground,"menu.selectionBackground":e.subtle,"menu.border":t.border,"editorInlayHint.foreground":e.mutedForeground,"editorInlayHint.background":e.subtle,"terminal.foreground":e.foreground,"terminal.background":e.background,"terminalCursor.foreground":e.foreground,"terminalCursor.background":e.background,"terminal.ansiRed":n(a.diffRemoved,r.error),"terminal.ansiGreen":n(a.diffAdded,r.success),"terminal.ansiYellow":r.warning,"terminal.ansiBlue":n(a.diffModified,r.info),"terminal.ansiMagenta":i.keyword,"terminal.ansiCyan":i.type,"activityBar.background":e.background,"activityBar.foreground":e.foreground,"activityBar.inactiveForeground":e.mutedForeground,"activityBar.activeBorder":e.foreground,"activityBar.border":t.border,"sideBar.background":e.background,"sideBar.foreground":e.foreground,"sideBar.border":t.border,"sideBarTitle.foreground":e.foreground,"sideBarSectionHeader.background":e.muted,"sideBarSectionHeader.foreground":e.foreground,"sideBarSectionHeader.border":t.border,"sideBar.activeBackground":e.subtle,"sideBar.activeForeground":e.foreground,"sideBar.hoverBackground":e.muted,"sideBar.hoverForeground":e.foreground,"list.warningForeground":r.warning,"list.errorForeground":r.error,"list.inactiveSelectionBackground":e.subtle,"list.activeSelectionBackground":e.elevated,"list.inactiveSelectionForeground":e.foreground,"list.activeSelectionForeground":e.foreground,"list.hoverForeground":e.foreground,"list.hoverBackground":e.muted,"input.background":e.muted,"input.foreground":e.foreground,"input.border":t.border,"input.placeholderForeground":e.mutedForeground,"inputOption.activeBorder":t.border,"inputOption.activeBackground":e.elevated,"inputOption.activeForeground":e.foreground,"inputValidation.infoBackground":r.infoBackground,"inputValidation.infoBorder":r.infoBorder,"inputValidation.warningBackground":r.warningBackground,"inputValidation.warningBorder":r.warningBorder,"inputValidation.errorBackground":r.errorBackground,"inputValidation.errorBorder":r.errorBorder,"dropdown.background":e.muted,"dropdown.foreground":e.foreground,"dropdown.border":t.border,"dropdown.listBackground":e.background,"badge.background":o.colors.primary.base,"activityBarBadge.background":o.colors.primary.base,"button.background":o.colors.primary.base,"button.foreground":n(o.colors.primary.foreground,e.background),"badge.foreground":n(o.colors.primary.foreground,e.background),"activityBarBadge.foreground":n(o.colors.primary.foreground,e.background)}};function F(o){return{name:o.metadata.name,type:o.metadata.variant,colors:y(o),tokenColors:k(o.colors.syntax)}}export{F as a,k as b,w as r};
1
+ import{t as g}from"./themeResolver-BmJyTmjJ.js";import{c,D as l}from"./vendor-pierre-theming-C6Z4M5_u.js";import{gL as m}from"./useAppFontEffects-ZM9ij19-.js";function w(o,e){try{const t=c({name:o,load:e});g.registerTheme(t.name,t.load)}catch(t){if(t instanceof l){console.error("SharedHighlight.registerCustomTheme: theme name already registered",o);return}throw t}}const p=o=>/^#[0-9a-fA-F]{6}$/.test(o),f=o=>/^#[0-9a-fA-F]{8}$/.test(o),b=(o,e)=>/^[0-9a-fA-F]{2}$/.test(e)?p(o)?`${o}${e}`:f(o)?`${o.slice(0,7)}${e}`:o:o,n=(o,e)=>typeof o=="string"&&o.trim().length>0?o:e,k=o=>{const e=o.base,t=new Map(Object.entries(m(o))),r=(i,a)=>n(t.get(i),a);return[{name:"plain",scope:["source","support.type.property-name.css"],settings:{foreground:e.foreground}},{name:"classes",scope:["entity.name.type.class"],settings:{foreground:r("className",r("class",e.function))}},{name:"interfaces",scope:["entity.name.type.interface","entity.name.type"],settings:{foreground:r("interface",e.type)}},{name:"structs",scope:["entity.name.type.struct"],settings:{foreground:r("struct",e.function)}},{name:"enums",scope:["entity.name.type.enum"],settings:{foreground:r("enum",e.function)}},{name:"keys",scope:["meta.object-literal.key","support.type.property-name"],settings:{foreground:r("key",e.function)}},{name:"methods",scope:["entity.name.function.method","meta.function.method"],settings:{foreground:r("method",e.function)}},{name:"functions",scope:["entity.name.function","support.function","meta.function-call.generic"],settings:{foreground:e.function,fontStyle:"bold"}},{name:"variables",scope:["variable","meta.variable","variable.other.object.property"],settings:{foreground:e.variable}},{name:"variablesOther",scope:["variable.other.object","variable.other.readwrite.alias"],settings:{foreground:r("variableOther",e.variable)}},{name:"globalVariables",scope:["variable.other.global","variable.language.this"],settings:{foreground:r("variableGlobal",e.number)}},{name:"localVariables",scope:["variable.other.local"],settings:{foreground:r("variableLocal",e.variable)}},{name:"parameters",scope:["variable.parameter","meta.parameter"],settings:{foreground:r("parameter",e.foreground)}},{name:"properties",scope:["variable.other.property","meta.property"],settings:{foreground:r("variableProperty",e.variable)}},{name:"strings",scope:["string","string.other.link","markup.inline.raw.string.markdown"],settings:{foreground:e.string}},{name:"stringEscapeSequences",scope:["constant.character.escape","constant.other.placeholder"],settings:{foreground:r("stringEscape",e.foreground)}},{name:"keywords",scope:["keyword"],settings:{foreground:e.keyword}},{name:"keywordsControl",scope:["keyword.control.import","keyword.control.from","keyword.import"],settings:{foreground:r("keywordImport",e.operator)}},{name:"storageModifiers",scope:["storage.modifier","keyword.modifier","storage.type"],settings:{foreground:r("storageModifier",e.keyword)}},{name:"comments",scope:["comment","punctuation.definition.comment"],settings:{foreground:e.comment}},{name:"docComments",scope:["comment.documentation","comment.line.documentation"],settings:{foreground:r("commentDoc",e.comment)}},{name:"numbers",scope:["constant.numeric"],settings:{foreground:e.number}},{name:"booleans",scope:["constant.language.boolean","constant.language.json"],settings:{foreground:r("boolean",e.type)}},{name:"operators",scope:["keyword.operator"],settings:{foreground:e.operator}},{name:"macros",scope:["entity.name.function.preprocessor","meta.preprocessor"],settings:{foreground:r("macro",e.keyword)}},{name:"preprocessor",scope:["meta.preprocessor"],settings:{foreground:r("preprocessor",r("label",e.number))}},{name:"urls",scope:["markup.underline.link"],settings:{foreground:r("url",e.string)}},{name:"tags",scope:["entity.name.tag"],settings:{foreground:r("tag",e.keyword)}},{name:"jsxTags",scope:["support.class.component"],settings:{foreground:r("jsxTag",r("label",e.number))}},{name:"attributes",scope:["entity.other.attribute-name","meta.attribute"],settings:{foreground:r("tagAttribute",e.type)}},{name:"types",scope:["support.type"],settings:{foreground:e.type}},{name:"constants",scope:["variable.other.constant","variable.readonly"],settings:{foreground:r("constant",e.foreground)}},{name:"labels",scope:["entity.name.label","punctuation.definition.label"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"namespaces",scope:["entity.name.namespace","storage.modifier.namespace","markup.bold.markdown"],settings:{foreground:r("namespace",e.type)}},{name:"modules",scope:["entity.name.module","storage.modifier.module"],settings:{foreground:r("module",e.operator)}},{name:"typeParameters",scope:["variable.type.parameter","variable.parameter.type"],settings:{foreground:r("typeParameter",e.function)}},{name:"exceptions",scope:["keyword.control.exception","keyword.control.trycatch"],settings:{foreground:r("exception",r("label",e.number))}},{name:"decorators",scope:["meta.decorator","punctuation.decorator","entity.name.function.decorator"],settings:{foreground:r("decorator",e.type)}},{name:"calls",scope:["variable.function"],settings:{foreground:e.foreground}},{name:"punctuation",scope:["punctuation","punctuation.terminator","punctuation.definition.tag","punctuation.separator","punctuation.definition.string","punctuation.section.block"],settings:{foreground:r("punctuation",e.comment)}},{name:"yellow",scope:["storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","constant.language.go","support.class.dart","keyword.other.documentation","storage.modifier.import.java","punctuation.definition.list.begin.markdown","punctuation.definition.quote.begin.markdown","meta.separator.markdown","entity.name.section.markdown"],settings:{foreground:e.type}},{name:"green",scope:[],settings:{foreground:r("method",e.function)}},{name:"cyan",scope:["markup.italic.markdown","support.type.python","variable.legacy.builtin.python","support.constant.property-value.css","storage.modifier.attribute.swift"],settings:{foreground:e.string}},{name:"blue",scope:[],settings:{foreground:e.keyword}},{name:"purple",scope:["keyword.channel.go","keyword.other.platform.os.swift"],settings:{foreground:e.number}},{name:"magenta",scope:["punctuation.definition.heading.markdown"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"red",scope:[],settings:{foreground:e.operator}},{name:"orange",scope:[],settings:{foreground:e.function}}]},y=o=>{const e=o.colors.surface,t=o.colors.interactive,r=o.colors.status,i=o.colors.syntax.base,a=o.colors.syntax.highlights??{},d=i.background,u=n(a.diffAddedBackground,r.successBackground),s=n(a.diffRemovedBackground,r.errorBackground);return{"editor.background":d,"editor.foreground":i.foreground,"editor.hoverHighlightBackground":n(t.hover,e.subtle),"editor.lineHighlightBackground":e.muted,"editor.selectionBackground":t.selection,"editor.selectionHighlightBackground":t.selection,"editor.findMatchBackground":i.type,"editor.findMatchHighlightBackground":b(i.type,"cc"),"editor.findRangeHighlightBackground":e.muted,"editor.inactiveSelectionBackground":e.elevated,"editor.lineHighlightBorder":e.elevated,"editor.rangeHighlightBackground":n(t.active,t.borderHover),"notifications.background":e.elevated,"editorInlayHint.typeBackground":e.subtle,"editorInlayHint.typeForeground":e.foreground,"editorWhitespace.foreground":t.borderHover,"editorIndentGuide.background1":e.subtle,"editorHoverWidget.background":e.elevated,"editorLineNumber.activeForeground":n(a.lineNumberActive,e.foreground),"editorLineNumber.foreground":n(a.lineNumber,e.mutedForeground),"editorGutter.background":d,"editorGutter.modifiedBackground":r.info,"editorGutter.addedBackground":r.success,"editorGutter.deletedBackground":r.error,"editorBracketMatch.background":e.elevated,"editorBracketMatch.border":e.subtle,"editorError.foreground":r.error,"editorWarning.foreground":r.warning,"editorInfo.foreground":r.info,"diffEditor.insertedTextBackground":u,"diffEditor.removedTextBackground":s,"editorGroupHeader.tabsBackground":e.background,"editorGroup.border":t.border,"tab.activeBackground":e.background,"tab.inactiveBackground":e.muted,"tab.inactiveForeground":e.mutedForeground,"tab.activeForeground":e.foreground,"tab.hoverBackground":e.subtle,"tab.unfocusedHoverBackground":e.subtle,"tab.border":t.border,"tab.activeModifiedBorder":i.type,"tab.inactiveModifiedBorder":r.info,"tab.unfocusedActiveModifiedBorder":i.type,"tab.unfocusedInactiveModifiedBorder":r.info,"editorWidget.background":e.muted,"editorWidget.border":t.border,"editorSuggestWidget.background":e.background,"editorSuggestWidget.border":t.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.highlightForeground":e.mutedForeground,"editorSuggestWidget.selectedBackground":e.subtle,"peekView.border":t.border,"peekViewEditor.background":e.background,"peekViewEditor.matchHighlightBackground":e.subtle,"peekViewResult.background":e.muted,"peekViewResult.fileForeground":e.foreground,"peekViewResult.lineForeground":e.mutedForeground,"peekViewResult.matchHighlightBackground":e.subtle,"peekViewResult.selectionBackground":e.elevated,"peekViewResult.selectionForeground":e.mutedForeground,"peekViewTitle.background":e.subtle,"peekViewTitleDescription.foreground":e.mutedForeground,"peekViewTitleLabel.foreground":e.foreground,"merge.currentHeaderBackground":r.success,"merge.currentContentBackground":n(a.diffAdded,r.success),"merge.incomingHeaderBackground":r.info,"merge.incomingContentBackground":n(a.diffModified,r.info),"merge.border":t.border,"merge.commonContentBackground":e.subtle,"merge.commonHeaderBackground":e.muted,"panel.background":e.background,"panel.border":t.border,"panelTitle.activeBorder":t.borderHover,"panelTitle.activeForeground":e.foreground,"panelTitle.inactiveForeground":e.mutedForeground,"statusBar.background":e.background,"statusBar.foreground":e.foreground,"statusBar.border":t.border,"statusBar.debuggingBackground":r.error,"statusBar.debuggingForeground":r.errorForeground,"statusBar.noFolderBackground":e.subtle,"statusBar.noFolderForeground":e.mutedForeground,"titleBar.activeBackground":e.background,"titleBar.activeForeground":e.foreground,"titleBar.inactiveBackground":e.muted,"titleBar.inactiveForeground":e.mutedForeground,"titleBar.border":t.border,"menu.foreground":e.foreground,"menu.background":e.background,"menu.selectionForeground":e.foreground,"menu.selectionBackground":e.subtle,"menu.border":t.border,"editorInlayHint.foreground":e.mutedForeground,"editorInlayHint.background":e.subtle,"terminal.foreground":e.foreground,"terminal.background":e.background,"terminalCursor.foreground":e.foreground,"terminalCursor.background":e.background,"terminal.ansiRed":n(a.diffRemoved,r.error),"terminal.ansiGreen":n(a.diffAdded,r.success),"terminal.ansiYellow":r.warning,"terminal.ansiBlue":n(a.diffModified,r.info),"terminal.ansiMagenta":i.keyword,"terminal.ansiCyan":i.type,"activityBar.background":e.background,"activityBar.foreground":e.foreground,"activityBar.inactiveForeground":e.mutedForeground,"activityBar.activeBorder":e.foreground,"activityBar.border":t.border,"sideBar.background":e.background,"sideBar.foreground":e.foreground,"sideBar.border":t.border,"sideBarTitle.foreground":e.foreground,"sideBarSectionHeader.background":e.muted,"sideBarSectionHeader.foreground":e.foreground,"sideBarSectionHeader.border":t.border,"sideBar.activeBackground":e.subtle,"sideBar.activeForeground":e.foreground,"sideBar.hoverBackground":e.muted,"sideBar.hoverForeground":e.foreground,"list.warningForeground":r.warning,"list.errorForeground":r.error,"list.inactiveSelectionBackground":e.subtle,"list.activeSelectionBackground":e.elevated,"list.inactiveSelectionForeground":e.foreground,"list.activeSelectionForeground":e.foreground,"list.hoverForeground":e.foreground,"list.hoverBackground":e.muted,"input.background":e.muted,"input.foreground":e.foreground,"input.border":t.border,"input.placeholderForeground":e.mutedForeground,"inputOption.activeBorder":t.border,"inputOption.activeBackground":e.elevated,"inputOption.activeForeground":e.foreground,"inputValidation.infoBackground":r.infoBackground,"inputValidation.infoBorder":r.infoBorder,"inputValidation.warningBackground":r.warningBackground,"inputValidation.warningBorder":r.warningBorder,"inputValidation.errorBackground":r.errorBackground,"inputValidation.errorBorder":r.errorBorder,"dropdown.background":e.muted,"dropdown.foreground":e.foreground,"dropdown.border":t.border,"dropdown.listBackground":e.background,"badge.background":o.colors.primary.base,"activityBarBadge.background":o.colors.primary.base,"button.background":o.colors.primary.base,"button.foreground":n(o.colors.primary.foreground,e.background),"badge.foreground":n(o.colors.primary.foreground,e.background),"activityBarBadge.foreground":n(o.colors.primary.foreground,e.background)}};function F(o){return{name:o.metadata.name,type:o.metadata.variant,colors:y(o),tokenColors:k(o.colors.syntax)}}export{F as a,k as b,w as r};