@vantran-se/openchamber-web 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AboutDialog-BItSBkkK.js → AboutDialog-C8mAGhnz.js} +1 -1
- package/dist/assets/{ArchiveView-CEGi3y1V.js → ArchiveView-4-LVDLmf.js} +1 -1
- package/dist/assets/{ChangedPathLabel-CQNGnF-T.js → ChangedPathLabel-BCiU4QDF.js} +1 -1
- package/dist/assets/{CommandPalette-DWX1HV4m.js → CommandPalette-DEcmPHdC.js} +1 -1
- package/dist/assets/{DiffView-Be1Xoy_F.js → DiffView-CaDZ4gTk.js} +3 -3
- package/dist/assets/{FilesView-DONPk8-K.js → FilesView-Csrs_BGv.js} +1 -1
- package/dist/assets/{GitView-D10y-u46.js → GitView-DvxCZgCW.js} +3 -3
- package/dist/assets/{GuestSurfacePane-Cot0OO7x.js → GuestSurfacePane-DNg0xBTD.js} +1 -1
- package/dist/assets/{HelpDialog-Bw836_tH.js → HelpDialog-CLyz3_xd.js} +1 -1
- package/dist/assets/{InProgressOperationBanner-saAihIub.js → InProgressOperationBanner-BVDKUDqn.js} +2 -2
- package/dist/assets/{IntegrationsCatalogView-BtdMeTHf.js → IntegrationsCatalogView-u1gS0Vk8.js} +1 -1
- package/dist/assets/{JsonTreeView-BOQC0uTM.js → JsonTreeView-BpJU14WJ.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-CuZntPVf.js → MarkdownRendererImpl-t3OoYn_0.js} +1 -1
- package/dist/assets/{MemoryDebugPanel-BZgSuf-z.js → MemoryDebugPanel-9z1jGWze.js} +1 -1
- package/dist/assets/{OnboardingScreen-Bx2h2w69.js → OnboardingScreen-xzT7ckY0.js} +1 -1
- package/dist/assets/{OpenCodeStatusDialog-N9JgIC1p.js → OpenCodeStatusDialog-skpJZSjK.js} +1 -1
- package/dist/assets/{PatchDiff-Ca_Ci2CX.js → PatchDiff-BWW_8bob.js} +1 -1
- package/dist/assets/{PierreDiffViewer-Ck0P8Q2W.js → PierreDiffViewer-BZDNV4Uj.js} +1 -1
- package/dist/assets/{PlanView-dx70wKWR.js → PlanView-D7wshtfZ.js} +1 -1
- package/dist/assets/{ProjectActionsDialog-BS20dYCJ.js → ProjectActionsDialog-BPh74BCt.js} +1 -1
- package/dist/assets/{PullRequestComparisonSelector-DOW9_VlK.js → PullRequestComparisonSelector-BBdU2rL1.js} +3 -3
- package/dist/assets/{RunOverview-DtxjzGnX.js → RunOverview-Cngm2OOp.js} +2 -2
- package/dist/assets/{ScheduledTasksDialog-HcypGtky.js → ScheduledTasksDialog-DUjDdkw2.js} +1 -1
- package/dist/assets/{SettingsView-IBrGwDoM.js → SettingsView-CCZOw018.js} +2 -2
- package/dist/assets/{SettingsWindow-Bugr9Hmx.js → SettingsWindow-Cndsj5Vu.js} +1 -1
- package/dist/assets/{SourceBoardView-BD5rmib8.js → SourceBoardView-8Wp0oUvB.js} +1 -1
- package/dist/assets/{SpaceAccessDialog-BYhp5gfB.js → SpaceAccessDialog-CxfCzTpe.js} +1 -1
- package/dist/assets/{SpaceApplyDialog-CC0axZal.js → SpaceApplyDialog-CYp0A76N.js} +1 -1
- package/dist/assets/{SpaceRow-DDWTQgfP.js → SpaceRow-CQp4PkPJ.js} +1 -1
- package/dist/assets/{SpaceSetupOutput-BqurG7V4.js → SpaceSetupOutput-RNo0mWrR.js} +1 -1
- package/dist/assets/{SpacesView-Bcbb9aXY.js → SpacesView-BwcDCv3D.js} +1 -1
- package/dist/assets/{SubmoduleDiffSummary-BS1PSa4l.js → SubmoduleDiffSummary-BQduif5s.js} +1 -1
- package/dist/assets/{ToolOutputDialog-DXWQ17Fv.js → ToolOutputDialog-BVCvqYsK.js} +1 -1
- package/dist/assets/{ToolPartDiffPreview-DXRs6cSg.js → ToolPartDiffPreview-BXpCHBW9.js} +1 -1
- package/dist/assets/{UsageStatsView-DFVydqMY.js → UsageStatsView-CsC_RzAH.js} +1 -1
- package/dist/assets/{Virtualizer-B8rX50qD.js → Virtualizer-nenVQKi3.js} +1 -1
- package/dist/assets/{WalkthroughView-CECS5lDs.js → WalkthroughView-CdIYpttA.js} +1 -1
- package/dist/assets/{WorktreesView-FH0uzPQG.js → WorktreesView-D102xE1o.js} +1 -1
- package/dist/assets/{appThemeRegistry-CnS_OWEL.js → appThemeRegistry-BWap7OfW.js} +1 -1
- package/dist/assets/{ar-BlEU--PN.js → ar-9CiK5cuu.js} +3 -3
- package/dist/assets/{computeVirtualFileMetrics-rZJ-MSfY.js → computeVirtualFileMetrics-DDyA16hp.js} +1 -1
- package/dist/assets/{de-DWs4Mcjc.js → de-Drq6oIkP.js} +3 -3
- package/dist/assets/{decorate-Bbbyq0tX.js → decorate-CemSwkUs.js} +1 -1
- package/dist/assets/{es-k5T7CE97.js → es-0bkFr34F.js} +3 -3
- package/dist/assets/{flexokiTheme-DECIbITo.js → flexokiTheme-PoX6Vqyn.js} +1 -1
- package/dist/assets/{fr-CzmypgZ8.js → fr-CjgWVupK.js} +3 -3
- package/dist/assets/{he-DdkxJnUn.js → he-BrJa9oPB.js} +4 -4
- package/dist/assets/{index-DElZNtel.js → index-B2WHEal3.js} +1 -1
- package/dist/assets/{initializeSharedPreferences-C5qncsHs.js → initializeSharedPreferences-1Vo6G7CM.js} +1 -1
- package/dist/assets/{install-D-H6uk7D.js → install-FletzeYD.js} +1 -1
- package/dist/assets/{isDiffPlainText-DMFSMXcK.js → isDiffPlainText-yXcpftjI.js} +1 -1
- package/dist/assets/{isFilePlainText-BQGSJxcX.js → isFilePlainText-Dpm-_Qu8.js} +1 -1
- package/dist/assets/{ja-Qqkyglaf.js → ja-cfyrqWPa.js} +3 -3
- package/dist/assets/katex.min-F4TD1ekM.js +69 -0
- package/dist/assets/{ko-B8idPK2d.js → ko-herKAlGO.js} +3 -3
- package/dist/assets/{main-DMdUGpFx.js → main-CO7wKNtS.js} +2 -2
- package/dist/assets/{main-CcnDurk6.js → main-DN47yDMe.js} +19 -19
- package/dist/assets/markdownCore-BY21GJ_M.js +10 -0
- package/dist/assets/{miniChat-B8DW3cmv.js → miniChat-BmFJFQph.js} +2 -2
- package/dist/assets/{mobile-Caqsx1Op.js → mobile-DTi98S93.js} +2 -2
- package/dist/assets/{moveWorkspacePath-By4gjwmW.js → moveWorkspacePath-CENAo75W.js} +1 -1
- package/dist/assets/{nl-CFXZKHp7.js → nl-mZ4VCoiQ.js} +3 -3
- package/dist/assets/{parseDiffFromFile-C9ASoy7R.js → parseDiffFromFile-BSmRvd3V.js} +1 -1
- package/dist/assets/{pierreDiffTint-IfgQ6oty.js → pierreDiffTint-cyYFR1bm.js} +1 -1
- package/dist/assets/{pl-slLgZWDu.js → pl-C98lvkcZ.js} +4 -4
- package/dist/assets/{pt-BR-C319g_nn.js → pt-BR-CB63WPLS.js} +3 -3
- package/dist/assets/{relocateRestoredSession-DBWTClOj.js → relocateRestoredSession-D8Sf_FG_.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-C5irgP-w.js → renderElectronMiniChatApp-DmQ8i5jp.js} +2 -2
- package/dist/assets/{renderMobileApp-DnyN_ARh.js → renderMobileApp-CND9CafV.js} +3 -3
- package/dist/assets/{restartOpenCode-VU-OEAvZ.js → restartOpenCode-D8ExMl55.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-BJUtkqal.js → runtimeEndpointReset-lg1O2gVX.js} +3 -3
- package/dist/assets/{scheduledTasksApi-FZ9stPNl.js → scheduledTasksApi-CJBNpwgy.js} +1 -1
- package/dist/assets/{selectionMarkdown-DV_HvvmZ.js → selectionMarkdown-B_3WTOUr.js} +1 -1
- package/dist/assets/{shikiHighlight-BKmAuapa.js → shikiHighlight-DBj_a_TN.js} +1 -1
- package/dist/assets/{space-apply-Br_BRuH8.js → space-apply-COMscpEL.js} +1 -1
- package/dist/assets/{space-close-D_1iLJrX.js → space-close-DDLvYCUc.js} +1 -1
- package/dist/assets/{spaceNetwork-Dcj-qJy-.js → spaceNetwork-CNxs51y4.js} +1 -1
- package/dist/assets/{textMateThemeFromAppTheme-Bye_bpEL.js → textMateThemeFromAppTheme-tYpAceV3.js} +1 -1
- package/dist/assets/{tr-DNnJ5oqk.js → tr-C5KUa-8X.js} +3 -3
- package/dist/assets/{uk-Bw0BJwHw.js → uk-D44Grdmc.js} +3 -3
- package/dist/assets/{useAppFontEffects-d9vsRNKm.js → useAppFontEffects-Dm6zEvrf.js} +200 -199
- package/dist/assets/{useCallableModelProviders-8CrUkERW.js → useCallableModelProviders-BK3j8Sde.js} +1 -1
- package/dist/assets/{useDiffFindSurface-sw5jZ-9V.js → useDiffFindSurface-CaCh-qt2.js} +1 -1
- package/dist/assets/{useInlineCommentController-Cw5IRM5Y.js → useInlineCommentController-a2JepiF3.js} +1 -1
- package/dist/assets/{useMarkdownLocalAssets-D3a1j44d.js → useMarkdownLocalAssets-BEApAshz.js} +2 -2
- package/dist/assets/{useRootScrollLock-BWsNuapq.js → useRootScrollLock-mqVhK2HB.js} +2 -2
- package/dist/assets/{useWalkthroughReview-D7I1H6_J.js → useWalkthroughReview-BspAr9Aa.js} +1 -1
- package/dist/assets/{vendor-codemirror-language-data-DP_Bh3S8.js → vendor-codemirror-language-data-VzNDjH03.js} +2 -2
- package/dist/assets/{zh-CN-Brx5Btej.js → zh-CN-DwBC4Qtd.js} +3 -3
- package/dist/assets/{zh-TW-WokiutLA.js → zh-TW-DXEqDBAm.js} +3 -3
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +2 -2
- package/server/index.js +4 -2
- package/server/lib/git/service.test.js +1 -1
- package/server/lib/opencode/openchamber-routes.test.js +1 -0
- package/server/lib/opencode/settings-helpers.js +2 -2
- package/server/lib/opencode/settings-helpers.test.js +1 -1
- package/server/lib/opencode/settings-registry.json +1 -1
- package/server/lib/outbound-proxy.test.js +2 -2
- package/server/lib/spaces/tools.test.js +2 -2
- package/dist/assets/katex.min-u4DtE8E5.js +0 -69
- package/dist/assets/markdownCore-BwFkWhmZ.js +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as p,j as y,c as Pe,f as Fe}from"./vendor-react-BUCujlKS.js";import{i as Se,S as Oe,E as qe,o as R,l as Ce}from"./vendor-codemirror-state-Dek9sMtw.js";import{E as S,V as ke,s as Te,f as ze,h as We,i as ee,k as L,D as Ne,W as Ae}from"./vendor-codemirror-view-B66jUSmE.js";import{h as Be,l as $e,j as Le,k as _e}from"./vendor-codemirror-commands-dar6chwA.js";import{b as He,x as je,H as te,w as q,y as De}from"./vendor-codemirror-language-DyL0aCoH.js";import{a as N,g as z,b as re,c as oe,o as Ve,d as Ie}from"./vendor-codemirror-search-BKAwkhkm.js";import{v as Ke,g as Ge,V as _}from"./vendor-replit-codemirror-vim-CKWqK1yR.js";import{ef as Ue,N as Xe,I as ne,W as Qe,B as Ye,X as Je,V as Ze,aY as et}from"./useAppFontEffects-d9vsRNKm.js";import{a as t,c as tt}from"./vendor-lezer-highlight-CDMHUZ74.js";const Re=Oe.define(),rt=4,T=Se.define({create:()=>0,update(e,r){if(!N(r.state))return 0;for(const o of r.effects)o.is(Re)&&(e=o.value);return e},provide:e=>S.contentAttributes.from(e,r=>r>0?{style:`padding-top: ${r}px`}:{})}),ae=e=>parseFloat(getComputedStyle(e.contentDOM).paddingTop)||0,ot=ke.fromClass(class{constructor(e){this.view=e,e.requestMeasure({read:ae,write:r=>{this.padding=r}}),this.trackPanel()}observer=null;panel=null;padding=0;update(e){N(e.startState)!==N(e.state)&&this.trackPanel(),e.state.field(T)!==e.startState.field(T)&&this.view.requestMeasure({read:r=>({scrollTop:r.scrollDOM.scrollTop,padding:ae(r)}),write:({scrollTop:r,padding:o},a)=>{const c=o-this.padding;this.padding=o,r!==0&&(a.scrollDOM.scrollTop=c>0&&r<c?0:r+c)}})}destroy(){this.observer?.disconnect()}trackPanel(){this.view.requestMeasure({read:e=>N(e.state)?e.dom.querySelector(".cm-panels-top"):null,write:e=>{e!==this.panel&&(this.observer?.disconnect(),this.observer=null,this.panel=e,e&&(this.observer=new ResizeObserver(()=>this.syncSpace()),this.observer.observe(e)))}})}syncSpace(){const{panel:e,view:r}=this;if(!e||!N(r.state))return;const o=Math.ceil(e.getBoundingClientRect().bottom-r.scrollDOM.getBoundingClientRect().top)+rt;o!==r.state.field(T)&&r.dispatch({effects:Re.of(o)})}});function ce(){return[T,ot]}const se=["normal","visual","operatorPending"],nt=new Map([["map",{contexts:se,recursive:!0}],["noremap",{contexts:se,recursive:!1}],["nmap",{contexts:["normal"],recursive:!0}],["nnoremap",{contexts:["normal"],recursive:!1}],["imap",{contexts:["insert"],recursive:!0}],["inoremap",{contexts:["insert"],recursive:!1}],["vmap",{contexts:["visual"],recursive:!0}],["vnoremap",{contexts:["visual"],recursive:!1}],["xmap",{contexts:["visual"],recursive:!0}],["xnoremap",{contexts:["visual"],recursive:!1}],["omap",{contexts:["operatorPending"],recursive:!0}],["onoremap",{contexts:["operatorPending"],recursive:!1}]]),at=new Set(["<silent>","<nowait>","<buffer>","<unique>"]),ct=/^(\S+)((?:\s+<[a-z]+>)*)\s+(\S+)\s+(.+)$/i;function st(e){const r=[],o=[];return e.split(/\r?\n/).forEach((a,c)=>{const n=a.trim();if(!n||n.startsWith('"'))return;const i=ct.exec(n),l=i?nt.get(i[1]):void 0,g=i?i[2].trim().split(/\s+/).filter(Boolean).every(f=>at.has(f.toLowerCase())):!1;if(!i||!l||!g||i[3].startsWith(":")){o.push(c+1);return}for(const f of l.contexts)r.push({context:f,lhs:i[3],rhs:i[4].trim(),recursive:l.recursive})}),{mappings:r,invalidLines:o}}const it=e=>e!==null&&typeof e=="object"&&"updateStatus"in e&&typeof e.updateStatus=="function",lt=e=>{const r=document.createElement("div");r.className="cm-vim-panel";const o=Ge(e);if(!o)return{top:!1,dom:r};o.state.statusbar=r;const a=o.state.vimPlugin;return it(a)&&a.updateStatus(),{top:!1,dom:r,destroy(){o.state.statusbar===r&&(o.state.statusbar=null)}}};function ie(e){return e?[Ke(),Te.of(lt),ze(),Ue()]:[]}let le=null,ue=[];function Mt(e){if(e===le)return;for(const o of ue)_.unmap(o.lhs,o.context);const{mappings:r}=st(e);for(const o of r)o.recursive?_.map(o.lhs,o.rhs,o.context):_.noremap(o.lhs,o.rhs,o.context);ue=r,le=e}const ut={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},dt={case:"Match case",re:"Regular expression",word:"Match whole word"};function pt(e){const r=e.querySelector(".cm-search");if(r){for(const[o,a]of Object.entries(ut)){const c=r.querySelector(`button[name="${o}"]`);c&&!c.title&&(c.title=a)}for(const[o,a]of Object.entries(dt)){const n=r.querySelector(`input[name="${o}"]`)?.parentElement;n&&!n.title&&(n.title=a)}}}const H=new WeakMap;function mt(e,r){const o=z(e.state);if(!o.valid)return H.delete(e),0;const a=H.get(e);if(!r&&a?.doc===e.state.doc&&a.query.eq(o))return a.total;const c=o.getCursor(e.state);let n=0;for(let i=c.next();!i.done;i=c.next())n+=1;return H.set(e,{query:o,doc:e.state.doc,total:n}),n}function ft(e){const r=z(e.state);if(!r.valid)return 0;const o=e.state.selection.main,a=r.getCursor(e.state);let c=0,n=0;for(let i=a.next();!i.done;i=a.next()){const l=i.value;if(c+=1,n===0&&(n=c),o.from===l.from&&o.to===l.to||o.from<l.to&&o.to>l.from||l.from>=o.head)return c}return n}function de(e,r,o=!1){const a=e.querySelector(".cm-search");if(!a)return;let c=a.querySelector(".cm-search-message");if(!c){c=document.createElement("span"),c.className="cm-search-message",c.setAttribute("aria-live","polite");const l=a.querySelector('button[name="next"]'),g=l?.parentNode===a?l:a.firstChild;a.insertBefore(c,g)}const n=mt(r,o),i=n===0?0:ft(r);c.textContent=n===0?"":`${i}/${n}`}const gt={},pe=new R,me=new R,fe=new R,ge=new R,be=new R,xe=new R,he=new R,ve=e=>e,j=je,bt=Ve,xt=Ie;class ht extends Ae{constructor(r,o){super(),this.id=r,this.containerMap=o}toDOM(){let r=this.containerMap.get(this.id);return r||(r=document.createElement("div"),r.className="oc-block-widget",r.dataset.widgetId=this.id,this.containerMap.set(this.id,r)),r}eq(r){return r.id===this.id}destroy(){}}const ye=(e,r)=>!e||e.length===0?[]:Se.define({create(o){const a=new Ce,c=[...e].sort((n,i)=>n.afterLine-i.afterLine);for(const n of c){const i=o.doc.lines;if(n.afterLine>i)continue;const l=o.doc.line(n.afterLine);a.add(l.to,l.to,Ne.widget({widget:new ht(n.id,r),block:!0,side:1}))}return a.finish()},update(o,a){return o.map(a.changes)},provide:o=>S.decorations.from(o)}),we=e=>{if(!e)return[];const r=Math.max(1,e.start),o=Math.max(r,e.end);return ke.fromClass(class{decorations;constructor(a){this.decorations=this.build(a)}update(a){(a.docChanged||a.viewportChanged)&&(this.decorations=this.build(a.view))}build(a){const c=new Ce;for(let n=r;n<=o&&n<=a.state.doc.lines;n+=1){const i=a.state.doc.line(n);c.add(i.from,i.from,Ne.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:a=>a.decorations})};function Pt({value:e,onChange:r,extensions:o,className:a,readOnly:c,lineNumbersConfig:n,highlightLines:i,onViewReady:l,onViewDestroy:g,blockWidgets:f,enableSearch:h,searchOpen:D,onSearchOpenChange:W,vimMode:C,detached:O=!1}){const E=p.useRef(null),b=p.useRef(null),V=p.useRef(O),P=p.useRef(null),A=p.useRef(e),I=p.useRef(r),K=p.useRef(l),G=p.useRef(g),U=p.useRef(W),M=p.useRef(f),B=p.useRef(C),$=p.useRef(new Map),[Ee,X]=p.useState([]),w=p.useCallback(s=>{const m=(s??[]).map(u=>{const x=$.current.get(u.id);return x?{id:u.id,content:u.content,container:x}:null}).filter(u=>u!==null);X(u=>u.length===m.length&&u.every((x,d)=>{const v=m[d];return x.id===v.id&&x.content===v.content&&x.container===v.container})?u:m)},[]),Q=p.useRef(null),k=p.useCallback(s=>{const m=s??b.current;!E.current||!m||m.requestMeasure({key:gt,read:u=>{const x=u.dom.querySelector(".cm-gutters");return x instanceof HTMLElement?x.isConnected&&x.offsetParent!==null?x.getBoundingClientRect().width:null:0},write:u=>{const x=E.current;if(!x||u===null)return;const d=`${u}px`;Q.current!==d&&(Q.current=d,x.style.setProperty("--oc-editor-gutter-width",d))}})},[]);p.useEffect(()=>{A.current=e},[e]),p.useEffect(()=>{I.current=r},[r]),p.useEffect(()=>{K.current=l,G.current=g},[l,g]),p.useEffect(()=>{U.current=W},[W]),p.useEffect(()=>{M.current=f,w(f)},[f,w]),p.useEffect(()=>{if(!E.current)return;const s=(()=>{if(typeof document>"u")return null;const d=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(d)return d;const v=window.__OPENCHAMBER_CSP_NONCE__;return typeof v=="string"&&v.length>0?v:null})(),m=qe.create({doc:A.current,extensions:[...s?[S.cspNonce.of(s)]:[],We({fixed:!0}),pe.of(ee(n)),Be(),He.of(" "),he.of(ie(C)),L.of([$e,...Le,..._e]),S.updateListener.of(d=>{d.docChanged&&P.current&&(P.current=P.current.map(d.changes)??null),(d.docChanged||d.geometryChanged||d.viewportChanged||d.transactions.some(Me=>Me.reconfigured))&&k(d.view),(d.viewportChanged||d.geometryChanged)&&w(M.current);const v=N(d.startState),F=N(d.state);v!==F&&U.current?.(F);const J=!z(d.startState).eq(z(d.state));if(F&&(v!==F||J||d.docChanged||d.selectionSet)&&de(d.view.dom,d.view,v!==F||J||d.docChanged),!d.docChanged)return;const Z=d.state.doc.toString();A.current=Z,I.current(Z),w(M.current)}),me.of(S.editable.of(!c)),fe.of(o??[]),ge.of(we(i)),be.of(ye(f,$.current)),xe.of(h?[re({top:!0}),ce(),L.of(ve(oe))]:[])]});b.current=new S({state:m,parent:E.current}),V.current&&b.current.dom.remove();const u=b.current,x=()=>{P.current=u.scrollSnapshot()};return u.scrollDOM.addEventListener("scroll",x,{passive:!0}),j(b.current,b.current.state.doc.length,200),b.current.requestMeasure(),requestAnimationFrame(()=>{k(b.current),w(M.current)}),b.current&&K.current?.(b.current),()=>{u.scrollDOM.removeEventListener("scroll",x),G.current?.(),b.current?.destroy(),b.current=null,X([])}},[M,k,w]);const Y=p.useRef({lineNumbersConfig:n,readOnly:c,extensions:o,highlightLines:i,blockWidgets:f,enableSearch:h});return p.useEffect(()=>{const s=b.current;if(!s)return;const m=Y.current;Y.current={lineNumbersConfig:n,readOnly:c,extensions:o,highlightLines:i,blockWidgets:f,enableSearch:h};const u=[];m.lineNumbersConfig!==n&&u.push(pe.reconfigure(ee(n))),m.readOnly!==c&&u.push(me.reconfigure(S.editable.of(!c))),m.extensions!==o&&u.push(fe.reconfigure(o??[])),(m.highlightLines?.start!==i?.start||m.highlightLines?.end!==i?.end)&&u.push(ge.reconfigure(we(i))),m.blockWidgets!==f&&u.push(be.reconfigure(ye(f,$.current))),m.enableSearch!==h&&u.push(xe.reconfigure(h?[re({top:!0}),ce(),L.of(ve(oe))]:[])),u.length!==0&&(s.dispatch({effects:u}),j(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{k(s),w(M.current)}))},[o,i,n,c,f,h,k,w]),p.useLayoutEffect(()=>{V.current=O;const s=E.current,m=b.current;if(!s||!m)return;if(O){m.dom.parentNode===s&&m.dom.remove();return}if(m.dom.parentNode===s)return;s.appendChild(m.dom);const u=P.current;u?m.dispatch({effects:u}):m.requestMeasure()},[O]),p.useEffect(()=>{const s=b.current;if(!s){B.current=C;return}B.current!==C&&(B.current=C,s.dispatch({effects:he.reconfigure(ie(C))}))},[C]),p.useEffect(()=>{const s=b.current;!s||h===!1||(D?(bt(s),requestAnimationFrame(()=>{pt(s.dom),de(s.dom,s,!0)})):xt(s))},[D,h]),p.useEffect(()=>{const s=b.current;if(!s)return;const m=s.state.doc.toString();m!==e&&(s.dispatch({changes:{from:0,to:m.length,insert:e}}),j(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>k(s)))},[e,k]),y.jsxs(y.Fragment,{children:[y.jsx("div",{ref:E,dir:"ltr",className:Xe("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",a)}),Ee.map(s=>Pe.createPortal(s.content,s.container,s.id))]})}const Ft=e=>{const r=Fe.c(11),{currentMode:o,onToggle:a}=e,c=o==="preview",n=c?"Switch to edit mode":"Switch to preview mode",i=c?"Edit":"Preview";let l;r[0]!==c?(l=c?y.jsx(ne,{name:"eye",className:"size-4","aria-hidden":"true"}):y.jsx(ne,{name:"eye-off",className:"size-4","aria-hidden":"true"}),r[0]=c,r[1]=l):l=r[1];let g;r[2]!==n||r[3]!==a||r[4]!==l?(g=y.jsx(Qe,{asChild:!0,children:y.jsx(Ye,{variant:"ghost",size:"sm",onClick:a,"aria-label":n,className:"h-5 w-5 p-0",children:l})}),r[2]=n,r[3]=a,r[4]=l,r[5]=g):g=r[5];let f;r[6]!==i?(f=y.jsx(Je,{sideOffset:8,children:i}),r[6]=i,r[7]=f):f=r[7];let h;return r[8]!==g||r[9]!==f?(h=y.jsxs(Ze,{children:[g,f]}),r[8]=g,r[9]=f,r[10]=h):h=r[10],h};function Ot(e,r){const o=e.metadata.variant==="dark",a=e.config?.fonts?.mono||"monospace",c=e.colors.syntax.highlights||{},n=et(e.colors.syntax),i=r?.fontSize?`${r.fontSize}px`:"var(--text-code)",l=e.colors.syntax.base.background,g=S.theme({"&":{backgroundColor:l,color:e.colors.syntax.base.foreground,fontSize:i,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:`var(--font-mono, ${a})`,backgroundColor:l},".cm-comment":{color:e.colors.syntax.base.comment},".cm-keyword":{color:e.colors.syntax.base.keyword},".cm-string":{color:e.colors.syntax.base.string},".cm-string-2":{color:n.stringEscape||e.colors.syntax.base.string},".cm-number":{color:e.colors.syntax.base.number},".cm-operator":{color:e.colors.syntax.base.operator},".cm-punctuation":{color:n.punctuation||e.colors.syntax.base.comment},".cm-atom":{color:n.boolean||e.colors.syntax.base.number},".cm-builtin":{color:n.functionCall||e.colors.syntax.base.function},".cm-def":{color:n.variableGlobal||e.colors.syntax.base.variable},".cm-attribute":{color:n.variableOther||n.variableProperty||e.colors.syntax.base.operator},".cm-meta":{color:e.colors.syntax.base.comment},".cm-property":{color:n.variableProperty||e.colors.syntax.base.keyword},".cm-variable":{color:e.colors.syntax.base.variable},".cm-variable-2":{color:n.variableOther||e.colors.syntax.base.function},".cm-variable-3":{color:n.variableGlobal||e.colors.syntax.base.type},".cm-tag":{color:n.tag||e.colors.syntax.base.keyword},".cm-link":{color:n.url||e.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:e.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:e.colors.interactive.selection},".cm-gutters":{backgroundColor:l,color:c.lineNumber||e.colors.syntax.base.comment,borderRight:`1px solid ${e.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:`0 0 0 ${l}`},".cm-gutter":{backgroundColor:l},".cm-gutterElement":{backgroundColor:l},".cm-lineNumbers":{backgroundColor:l},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||e.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:`color-mix(in srgb, ${e.colors.syntax.base.foreground} 5%, transparent)`},".cm-panels":{backgroundColor:"transparent",color:e.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 ${e.colors.interactive.border}`,backgroundColor:e.colors.surface.elevated,color:e.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, ${e.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${e.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${e.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:e.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 ${e.colors.interactive.border}`,backgroundColor:e.colors.surface.elevated,color:e.colors.surface.elevatedForeground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:e.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:e.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:e.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:e.colors.interactive.hover,borderColor:e.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:e.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:e.colors.surface.elevatedForeground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:e.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:e.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:e.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:e.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:e.colors.surface.elevatedForeground},".cm-search .cm-button:active":{backgroundColor:e.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${e.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:e.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:e.colors.interactive.hover,color:e.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:e.colors.interactive.selection,color:e.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${e.colors.interactive.border}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:e.colors.interactive.selection,color:e.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${e.colors.interactive.borderFocus}`},".cm-selectionMatch":{backgroundColor:e.colors.interactive.selection,boxShadow:`inset 0 0 0 1px ${e.colors.interactive.border}`,borderRadius:"2px"},".cm-selectionMatch-main":{backgroundColor:"transparent"},"&.cm-focused":{outline:"none"}},{dark:o}),f=te.define([{tag:[t.comment,t.docComment,t.meta,t.documentMeta],class:"cm-comment"},{tag:[t.keyword,t.controlKeyword,t.moduleKeyword,t.definitionKeyword,t.modifier],class:"cm-keyword"},{tag:[t.operatorKeyword,t.operator,t.derefOperator,t.updateOperator,t.definitionOperator,t.typeOperator,t.controlOperator,t.logicOperator,t.bitwiseOperator,t.arithmeticOperator,t.compareOperator],class:"cm-operator"},{tag:[t.punctuation,t.separator,t.bracket,t.paren,t.brace,t.squareBracket,t.angleBracket],class:"cm-punctuation"},{tag:[t.string,t.regexp,t.attributeValue,t.special(t.string),t.monospace],class:"cm-string"},{tag:t.escape,class:"cm-string-2"},{tag:[t.number,t.bool,t.atom,t.null,t.self],class:"cm-number"},{tag:[t.function(t.variableName),t.function(t.definition(t.variableName)),t.function(t.propertyName),t.standard(t.variableName),t.special(t.variableName)],class:"cm-builtin"},{tag:t.definition(t.variableName),class:"cm-def"},{tag:[t.variableName,t.local(t.variableName),t.constant(t.variableName),t.literal],class:"cm-variable"},{tag:t.propertyName,class:"cm-property"},{tag:t.attributeName,class:"cm-attribute"},{tag:[t.className,t.typeName,t.namespace],class:"cm-variable-3"},{tag:[t.tagName,t.labelName,t.annotation,t.macroName],class:"cm-tag"},{tag:t.link,class:"cm-link"},{tag:[t.heading,t.heading1,t.heading2,t.heading3,t.heading4,t.heading5,t.heading6],class:"cm-keyword"}]),h=te.define([{tag:[t.comment,t.docComment,t.meta,t.documentMeta],color:e.colors.syntax.base.comment},{tag:[t.keyword,t.controlKeyword,t.moduleKeyword,t.definitionKeyword,t.modifier],color:e.colors.syntax.base.keyword},{tag:[t.operatorKeyword,t.operator,t.derefOperator,t.updateOperator,t.definitionOperator,t.typeOperator,t.controlOperator,t.logicOperator,t.bitwiseOperator,t.arithmeticOperator,t.compareOperator],color:e.colors.syntax.base.operator},{tag:[t.string,t.regexp,t.attributeValue,t.special(t.string),t.monospace],color:e.colors.syntax.base.string},{tag:t.escape,color:n.stringEscape||e.colors.syntax.base.string},{tag:[t.number,t.bool,t.atom,t.null,t.self],color:e.colors.syntax.base.number},{tag:[t.function(t.variableName),t.function(t.definition(t.variableName)),t.function(t.propertyName),t.standard(t.variableName),t.special(t.variableName)],color:e.colors.syntax.base.function},{tag:t.definition(t.variableName),color:n.variableGlobal||e.colors.syntax.base.variable},{tag:[t.variableName,t.local(t.variableName),t.constant(t.variableName),t.literal],color:e.colors.syntax.base.variable},{tag:t.propertyName,color:n.variableProperty||e.colors.syntax.base.variable},{tag:t.attributeName,color:n.variableOther||e.colors.syntax.base.variable},{tag:[t.className,t.typeName,t.namespace],color:e.colors.syntax.base.type},{tag:[t.tagName,t.labelName,t.annotation,t.macroName],color:n.tag||e.colors.syntax.base.keyword},{tag:t.link,color:n.url||e.colors.syntax.base.function,textDecoration:"underline"},{tag:[t.punctuation,t.separator,t.bracket,t.paren,t.brace,t.squareBracket,t.angleBracket],color:n.punctuation||e.colors.syntax.base.comment}]);return r?.syntaxColors===!1?[g]:[g,q(De,{fallback:!0}),q(tt),q(f),q(h)]}export{Pt as C,Ft as P,Ot as c,st as p,Mt as s};
|
|
1
|
+
import{R as p,j as y,c as Pe,f as Fe}from"./vendor-react-BUCujlKS.js";import{i as Se,S as Oe,E as qe,o as R,l as Ce}from"./vendor-codemirror-state-Dek9sMtw.js";import{E as S,V as ke,s as Te,f as ze,h as We,i as ee,k as L,D as Ne,W as Ae}from"./vendor-codemirror-view-B66jUSmE.js";import{h as Be,l as $e,j as Le,k as _e}from"./vendor-codemirror-commands-dar6chwA.js";import{b as He,x as je,H as te,w as q,y as De}from"./vendor-codemirror-language-DyL0aCoH.js";import{a as N,g as z,b as re,c as oe,o as Ve,d as Ie}from"./vendor-codemirror-search-BKAwkhkm.js";import{v as Ke,g as Ge,V as _}from"./vendor-replit-codemirror-vim-CKWqK1yR.js";import{eg as Ue,N as Xe,I as ne,W as Qe,B as Ye,X as Je,V as Ze,aY as et}from"./useAppFontEffects-Dm6zEvrf.js";import{a as t,c as tt}from"./vendor-lezer-highlight-CDMHUZ74.js";const Re=Oe.define(),rt=4,T=Se.define({create:()=>0,update(e,r){if(!N(r.state))return 0;for(const o of r.effects)o.is(Re)&&(e=o.value);return e},provide:e=>S.contentAttributes.from(e,r=>r>0?{style:`padding-top: ${r}px`}:{})}),ae=e=>parseFloat(getComputedStyle(e.contentDOM).paddingTop)||0,ot=ke.fromClass(class{constructor(e){this.view=e,e.requestMeasure({read:ae,write:r=>{this.padding=r}}),this.trackPanel()}observer=null;panel=null;padding=0;update(e){N(e.startState)!==N(e.state)&&this.trackPanel(),e.state.field(T)!==e.startState.field(T)&&this.view.requestMeasure({read:r=>({scrollTop:r.scrollDOM.scrollTop,padding:ae(r)}),write:({scrollTop:r,padding:o},a)=>{const c=o-this.padding;this.padding=o,r!==0&&(a.scrollDOM.scrollTop=c>0&&r<c?0:r+c)}})}destroy(){this.observer?.disconnect()}trackPanel(){this.view.requestMeasure({read:e=>N(e.state)?e.dom.querySelector(".cm-panels-top"):null,write:e=>{e!==this.panel&&(this.observer?.disconnect(),this.observer=null,this.panel=e,e&&(this.observer=new ResizeObserver(()=>this.syncSpace()),this.observer.observe(e)))}})}syncSpace(){const{panel:e,view:r}=this;if(!e||!N(r.state))return;const o=Math.ceil(e.getBoundingClientRect().bottom-r.scrollDOM.getBoundingClientRect().top)+rt;o!==r.state.field(T)&&r.dispatch({effects:Re.of(o)})}});function ce(){return[T,ot]}const se=["normal","visual","operatorPending"],nt=new Map([["map",{contexts:se,recursive:!0}],["noremap",{contexts:se,recursive:!1}],["nmap",{contexts:["normal"],recursive:!0}],["nnoremap",{contexts:["normal"],recursive:!1}],["imap",{contexts:["insert"],recursive:!0}],["inoremap",{contexts:["insert"],recursive:!1}],["vmap",{contexts:["visual"],recursive:!0}],["vnoremap",{contexts:["visual"],recursive:!1}],["xmap",{contexts:["visual"],recursive:!0}],["xnoremap",{contexts:["visual"],recursive:!1}],["omap",{contexts:["operatorPending"],recursive:!0}],["onoremap",{contexts:["operatorPending"],recursive:!1}]]),at=new Set(["<silent>","<nowait>","<buffer>","<unique>"]),ct=/^(\S+)((?:\s+<[a-z]+>)*)\s+(\S+)\s+(.+)$/i;function st(e){const r=[],o=[];return e.split(/\r?\n/).forEach((a,c)=>{const n=a.trim();if(!n||n.startsWith('"'))return;const i=ct.exec(n),l=i?nt.get(i[1]):void 0,g=i?i[2].trim().split(/\s+/).filter(Boolean).every(f=>at.has(f.toLowerCase())):!1;if(!i||!l||!g||i[3].startsWith(":")){o.push(c+1);return}for(const f of l.contexts)r.push({context:f,lhs:i[3],rhs:i[4].trim(),recursive:l.recursive})}),{mappings:r,invalidLines:o}}const it=e=>e!==null&&typeof e=="object"&&"updateStatus"in e&&typeof e.updateStatus=="function",lt=e=>{const r=document.createElement("div");r.className="cm-vim-panel";const o=Ge(e);if(!o)return{top:!1,dom:r};o.state.statusbar=r;const a=o.state.vimPlugin;return it(a)&&a.updateStatus(),{top:!1,dom:r,destroy(){o.state.statusbar===r&&(o.state.statusbar=null)}}};function ie(e){return e?[Ke(),Te.of(lt),ze(),Ue()]:[]}let le=null,ue=[];function Mt(e){if(e===le)return;for(const o of ue)_.unmap(o.lhs,o.context);const{mappings:r}=st(e);for(const o of r)o.recursive?_.map(o.lhs,o.rhs,o.context):_.noremap(o.lhs,o.rhs,o.context);ue=r,le=e}const ut={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},dt={case:"Match case",re:"Regular expression",word:"Match whole word"};function pt(e){const r=e.querySelector(".cm-search");if(r){for(const[o,a]of Object.entries(ut)){const c=r.querySelector(`button[name="${o}"]`);c&&!c.title&&(c.title=a)}for(const[o,a]of Object.entries(dt)){const n=r.querySelector(`input[name="${o}"]`)?.parentElement;n&&!n.title&&(n.title=a)}}}const H=new WeakMap;function mt(e,r){const o=z(e.state);if(!o.valid)return H.delete(e),0;const a=H.get(e);if(!r&&a?.doc===e.state.doc&&a.query.eq(o))return a.total;const c=o.getCursor(e.state);let n=0;for(let i=c.next();!i.done;i=c.next())n+=1;return H.set(e,{query:o,doc:e.state.doc,total:n}),n}function ft(e){const r=z(e.state);if(!r.valid)return 0;const o=e.state.selection.main,a=r.getCursor(e.state);let c=0,n=0;for(let i=a.next();!i.done;i=a.next()){const l=i.value;if(c+=1,n===0&&(n=c),o.from===l.from&&o.to===l.to||o.from<l.to&&o.to>l.from||l.from>=o.head)return c}return n}function de(e,r,o=!1){const a=e.querySelector(".cm-search");if(!a)return;let c=a.querySelector(".cm-search-message");if(!c){c=document.createElement("span"),c.className="cm-search-message",c.setAttribute("aria-live","polite");const l=a.querySelector('button[name="next"]'),g=l?.parentNode===a?l:a.firstChild;a.insertBefore(c,g)}const n=mt(r,o),i=n===0?0:ft(r);c.textContent=n===0?"":`${i}/${n}`}const gt={},pe=new R,me=new R,fe=new R,ge=new R,be=new R,xe=new R,he=new R,ve=e=>e,j=je,bt=Ve,xt=Ie;class ht extends Ae{constructor(r,o){super(),this.id=r,this.containerMap=o}toDOM(){let r=this.containerMap.get(this.id);return r||(r=document.createElement("div"),r.className="oc-block-widget",r.dataset.widgetId=this.id,this.containerMap.set(this.id,r)),r}eq(r){return r.id===this.id}destroy(){}}const ye=(e,r)=>!e||e.length===0?[]:Se.define({create(o){const a=new Ce,c=[...e].sort((n,i)=>n.afterLine-i.afterLine);for(const n of c){const i=o.doc.lines;if(n.afterLine>i)continue;const l=o.doc.line(n.afterLine);a.add(l.to,l.to,Ne.widget({widget:new ht(n.id,r),block:!0,side:1}))}return a.finish()},update(o,a){return o.map(a.changes)},provide:o=>S.decorations.from(o)}),we=e=>{if(!e)return[];const r=Math.max(1,e.start),o=Math.max(r,e.end);return ke.fromClass(class{decorations;constructor(a){this.decorations=this.build(a)}update(a){(a.docChanged||a.viewportChanged)&&(this.decorations=this.build(a.view))}build(a){const c=new Ce;for(let n=r;n<=o&&n<=a.state.doc.lines;n+=1){const i=a.state.doc.line(n);c.add(i.from,i.from,Ne.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:a=>a.decorations})};function Pt({value:e,onChange:r,extensions:o,className:a,readOnly:c,lineNumbersConfig:n,highlightLines:i,onViewReady:l,onViewDestroy:g,blockWidgets:f,enableSearch:h,searchOpen:D,onSearchOpenChange:W,vimMode:C,detached:O=!1}){const E=p.useRef(null),b=p.useRef(null),V=p.useRef(O),P=p.useRef(null),A=p.useRef(e),I=p.useRef(r),K=p.useRef(l),G=p.useRef(g),U=p.useRef(W),M=p.useRef(f),B=p.useRef(C),$=p.useRef(new Map),[Ee,X]=p.useState([]),w=p.useCallback(s=>{const m=(s??[]).map(u=>{const x=$.current.get(u.id);return x?{id:u.id,content:u.content,container:x}:null}).filter(u=>u!==null);X(u=>u.length===m.length&&u.every((x,d)=>{const v=m[d];return x.id===v.id&&x.content===v.content&&x.container===v.container})?u:m)},[]),Q=p.useRef(null),k=p.useCallback(s=>{const m=s??b.current;!E.current||!m||m.requestMeasure({key:gt,read:u=>{const x=u.dom.querySelector(".cm-gutters");return x instanceof HTMLElement?x.isConnected&&x.offsetParent!==null?x.getBoundingClientRect().width:null:0},write:u=>{const x=E.current;if(!x||u===null)return;const d=`${u}px`;Q.current!==d&&(Q.current=d,x.style.setProperty("--oc-editor-gutter-width",d))}})},[]);p.useEffect(()=>{A.current=e},[e]),p.useEffect(()=>{I.current=r},[r]),p.useEffect(()=>{K.current=l,G.current=g},[l,g]),p.useEffect(()=>{U.current=W},[W]),p.useEffect(()=>{M.current=f,w(f)},[f,w]),p.useEffect(()=>{if(!E.current)return;const s=(()=>{if(typeof document>"u")return null;const d=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(d)return d;const v=window.__OPENCHAMBER_CSP_NONCE__;return typeof v=="string"&&v.length>0?v:null})(),m=qe.create({doc:A.current,extensions:[...s?[S.cspNonce.of(s)]:[],We({fixed:!0}),pe.of(ee(n)),Be(),He.of(" "),he.of(ie(C)),L.of([$e,...Le,..._e]),S.updateListener.of(d=>{d.docChanged&&P.current&&(P.current=P.current.map(d.changes)??null),(d.docChanged||d.geometryChanged||d.viewportChanged||d.transactions.some(Me=>Me.reconfigured))&&k(d.view),(d.viewportChanged||d.geometryChanged)&&w(M.current);const v=N(d.startState),F=N(d.state);v!==F&&U.current?.(F);const J=!z(d.startState).eq(z(d.state));if(F&&(v!==F||J||d.docChanged||d.selectionSet)&&de(d.view.dom,d.view,v!==F||J||d.docChanged),!d.docChanged)return;const Z=d.state.doc.toString();A.current=Z,I.current(Z),w(M.current)}),me.of(S.editable.of(!c)),fe.of(o??[]),ge.of(we(i)),be.of(ye(f,$.current)),xe.of(h?[re({top:!0}),ce(),L.of(ve(oe))]:[])]});b.current=new S({state:m,parent:E.current}),V.current&&b.current.dom.remove();const u=b.current,x=()=>{P.current=u.scrollSnapshot()};return u.scrollDOM.addEventListener("scroll",x,{passive:!0}),j(b.current,b.current.state.doc.length,200),b.current.requestMeasure(),requestAnimationFrame(()=>{k(b.current),w(M.current)}),b.current&&K.current?.(b.current),()=>{u.scrollDOM.removeEventListener("scroll",x),G.current?.(),b.current?.destroy(),b.current=null,X([])}},[M,k,w]);const Y=p.useRef({lineNumbersConfig:n,readOnly:c,extensions:o,highlightLines:i,blockWidgets:f,enableSearch:h});return p.useEffect(()=>{const s=b.current;if(!s)return;const m=Y.current;Y.current={lineNumbersConfig:n,readOnly:c,extensions:o,highlightLines:i,blockWidgets:f,enableSearch:h};const u=[];m.lineNumbersConfig!==n&&u.push(pe.reconfigure(ee(n))),m.readOnly!==c&&u.push(me.reconfigure(S.editable.of(!c))),m.extensions!==o&&u.push(fe.reconfigure(o??[])),(m.highlightLines?.start!==i?.start||m.highlightLines?.end!==i?.end)&&u.push(ge.reconfigure(we(i))),m.blockWidgets!==f&&u.push(be.reconfigure(ye(f,$.current))),m.enableSearch!==h&&u.push(xe.reconfigure(h?[re({top:!0}),ce(),L.of(ve(oe))]:[])),u.length!==0&&(s.dispatch({effects:u}),j(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{k(s),w(M.current)}))},[o,i,n,c,f,h,k,w]),p.useLayoutEffect(()=>{V.current=O;const s=E.current,m=b.current;if(!s||!m)return;if(O){m.dom.parentNode===s&&m.dom.remove();return}if(m.dom.parentNode===s)return;s.appendChild(m.dom);const u=P.current;u?m.dispatch({effects:u}):m.requestMeasure()},[O]),p.useEffect(()=>{const s=b.current;if(!s){B.current=C;return}B.current!==C&&(B.current=C,s.dispatch({effects:he.reconfigure(ie(C))}))},[C]),p.useEffect(()=>{const s=b.current;!s||h===!1||(D?(bt(s),requestAnimationFrame(()=>{pt(s.dom),de(s.dom,s,!0)})):xt(s))},[D,h]),p.useEffect(()=>{const s=b.current;if(!s)return;const m=s.state.doc.toString();m!==e&&(s.dispatch({changes:{from:0,to:m.length,insert:e}}),j(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>k(s)))},[e,k]),y.jsxs(y.Fragment,{children:[y.jsx("div",{ref:E,dir:"ltr",className:Xe("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",a)}),Ee.map(s=>Pe.createPortal(s.content,s.container,s.id))]})}const Ft=e=>{const r=Fe.c(11),{currentMode:o,onToggle:a}=e,c=o==="preview",n=c?"Switch to edit mode":"Switch to preview mode",i=c?"Edit":"Preview";let l;r[0]!==c?(l=c?y.jsx(ne,{name:"eye",className:"size-4","aria-hidden":"true"}):y.jsx(ne,{name:"eye-off",className:"size-4","aria-hidden":"true"}),r[0]=c,r[1]=l):l=r[1];let g;r[2]!==n||r[3]!==a||r[4]!==l?(g=y.jsx(Qe,{asChild:!0,children:y.jsx(Ye,{variant:"ghost",size:"sm",onClick:a,"aria-label":n,className:"h-5 w-5 p-0",children:l})}),r[2]=n,r[3]=a,r[4]=l,r[5]=g):g=r[5];let f;r[6]!==i?(f=y.jsx(Je,{sideOffset:8,children:i}),r[6]=i,r[7]=f):f=r[7];let h;return r[8]!==g||r[9]!==f?(h=y.jsxs(Ze,{children:[g,f]}),r[8]=g,r[9]=f,r[10]=h):h=r[10],h};function Ot(e,r){const o=e.metadata.variant==="dark",a=e.config?.fonts?.mono||"monospace",c=e.colors.syntax.highlights||{},n=et(e.colors.syntax),i=r?.fontSize?`${r.fontSize}px`:"var(--text-code)",l=e.colors.syntax.base.background,g=S.theme({"&":{backgroundColor:l,color:e.colors.syntax.base.foreground,fontSize:i,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:`var(--font-mono, ${a})`,backgroundColor:l},".cm-comment":{color:e.colors.syntax.base.comment},".cm-keyword":{color:e.colors.syntax.base.keyword},".cm-string":{color:e.colors.syntax.base.string},".cm-string-2":{color:n.stringEscape||e.colors.syntax.base.string},".cm-number":{color:e.colors.syntax.base.number},".cm-operator":{color:e.colors.syntax.base.operator},".cm-punctuation":{color:n.punctuation||e.colors.syntax.base.comment},".cm-atom":{color:n.boolean||e.colors.syntax.base.number},".cm-builtin":{color:n.functionCall||e.colors.syntax.base.function},".cm-def":{color:n.variableGlobal||e.colors.syntax.base.variable},".cm-attribute":{color:n.variableOther||n.variableProperty||e.colors.syntax.base.operator},".cm-meta":{color:e.colors.syntax.base.comment},".cm-property":{color:n.variableProperty||e.colors.syntax.base.keyword},".cm-variable":{color:e.colors.syntax.base.variable},".cm-variable-2":{color:n.variableOther||e.colors.syntax.base.function},".cm-variable-3":{color:n.variableGlobal||e.colors.syntax.base.type},".cm-tag":{color:n.tag||e.colors.syntax.base.keyword},".cm-link":{color:n.url||e.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:e.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:e.colors.interactive.selection},".cm-gutters":{backgroundColor:l,color:c.lineNumber||e.colors.syntax.base.comment,borderRight:`1px solid ${e.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:`0 0 0 ${l}`},".cm-gutter":{backgroundColor:l},".cm-gutterElement":{backgroundColor:l},".cm-lineNumbers":{backgroundColor:l},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||e.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:`color-mix(in srgb, ${e.colors.syntax.base.foreground} 5%, transparent)`},".cm-panels":{backgroundColor:"transparent",color:e.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 ${e.colors.interactive.border}`,backgroundColor:e.colors.surface.elevated,color:e.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, ${e.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${e.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${e.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:e.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 ${e.colors.interactive.border}`,backgroundColor:e.colors.surface.elevated,color:e.colors.surface.elevatedForeground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:e.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:e.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:e.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:e.colors.interactive.hover,borderColor:e.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:e.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:e.colors.surface.elevatedForeground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:e.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:e.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:e.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:e.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:e.colors.surface.elevatedForeground},".cm-search .cm-button:active":{backgroundColor:e.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${e.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:e.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:e.colors.interactive.hover,color:e.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:e.colors.interactive.selection,color:e.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${e.colors.interactive.border}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:e.colors.interactive.selection,color:e.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${e.colors.interactive.borderFocus}`},".cm-selectionMatch":{backgroundColor:e.colors.interactive.selection,boxShadow:`inset 0 0 0 1px ${e.colors.interactive.border}`,borderRadius:"2px"},".cm-selectionMatch-main":{backgroundColor:"transparent"},"&.cm-focused":{outline:"none"}},{dark:o}),f=te.define([{tag:[t.comment,t.docComment,t.meta,t.documentMeta],class:"cm-comment"},{tag:[t.keyword,t.controlKeyword,t.moduleKeyword,t.definitionKeyword,t.modifier],class:"cm-keyword"},{tag:[t.operatorKeyword,t.operator,t.derefOperator,t.updateOperator,t.definitionOperator,t.typeOperator,t.controlOperator,t.logicOperator,t.bitwiseOperator,t.arithmeticOperator,t.compareOperator],class:"cm-operator"},{tag:[t.punctuation,t.separator,t.bracket,t.paren,t.brace,t.squareBracket,t.angleBracket],class:"cm-punctuation"},{tag:[t.string,t.regexp,t.attributeValue,t.special(t.string),t.monospace],class:"cm-string"},{tag:t.escape,class:"cm-string-2"},{tag:[t.number,t.bool,t.atom,t.null,t.self],class:"cm-number"},{tag:[t.function(t.variableName),t.function(t.definition(t.variableName)),t.function(t.propertyName),t.standard(t.variableName),t.special(t.variableName)],class:"cm-builtin"},{tag:t.definition(t.variableName),class:"cm-def"},{tag:[t.variableName,t.local(t.variableName),t.constant(t.variableName),t.literal],class:"cm-variable"},{tag:t.propertyName,class:"cm-property"},{tag:t.attributeName,class:"cm-attribute"},{tag:[t.className,t.typeName,t.namespace],class:"cm-variable-3"},{tag:[t.tagName,t.labelName,t.annotation,t.macroName],class:"cm-tag"},{tag:t.link,class:"cm-link"},{tag:[t.heading,t.heading1,t.heading2,t.heading3,t.heading4,t.heading5,t.heading6],class:"cm-keyword"}]),h=te.define([{tag:[t.comment,t.docComment,t.meta,t.documentMeta],color:e.colors.syntax.base.comment},{tag:[t.keyword,t.controlKeyword,t.moduleKeyword,t.definitionKeyword,t.modifier],color:e.colors.syntax.base.keyword},{tag:[t.operatorKeyword,t.operator,t.derefOperator,t.updateOperator,t.definitionOperator,t.typeOperator,t.controlOperator,t.logicOperator,t.bitwiseOperator,t.arithmeticOperator,t.compareOperator],color:e.colors.syntax.base.operator},{tag:[t.string,t.regexp,t.attributeValue,t.special(t.string),t.monospace],color:e.colors.syntax.base.string},{tag:t.escape,color:n.stringEscape||e.colors.syntax.base.string},{tag:[t.number,t.bool,t.atom,t.null,t.self],color:e.colors.syntax.base.number},{tag:[t.function(t.variableName),t.function(t.definition(t.variableName)),t.function(t.propertyName),t.standard(t.variableName),t.special(t.variableName)],color:e.colors.syntax.base.function},{tag:t.definition(t.variableName),color:n.variableGlobal||e.colors.syntax.base.variable},{tag:[t.variableName,t.local(t.variableName),t.constant(t.variableName),t.literal],color:e.colors.syntax.base.variable},{tag:t.propertyName,color:n.variableProperty||e.colors.syntax.base.variable},{tag:t.attributeName,color:n.variableOther||e.colors.syntax.base.variable},{tag:[t.className,t.typeName,t.namespace],color:e.colors.syntax.base.type},{tag:[t.tagName,t.labelName,t.annotation,t.macroName],color:n.tag||e.colors.syntax.base.keyword},{tag:t.link,color:n.url||e.colors.syntax.base.function,textDecoration:"underline"},{tag:[t.punctuation,t.separator,t.bracket,t.paren,t.brace,t.squareBracket,t.angleBracket],color:n.punctuation||e.colors.syntax.base.comment}]);return r?.syntaxColors===!1?[g]:[g,q(De,{fallback:!0}),q(tt),q(f),q(h)]}export{Pt as C,Ft as P,Ot as c,st as p,Mt as s};
|