var je=Object.defineProperty,Me=Object.defineProperties;var Pe=Object.getOwnPropertyDescriptors;var ae=Object.getOwnPropertySymbols;var Se=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable;var ue=(e,t,r)=>t in e?je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,I=(e,t)=>{for(var r in t||(t={}))Se.call(t,r)&&ue(e,r,t[r]);if(ae)for(var r of ae(t))Ee.call(t,r)&&ue(e,r,t[r]);return e},ce=(e,t)=>Me(e,Pe(t));import{r as u,R as $}from"./vendor-CIE12tXq.js";function le(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r=e.length?e.apply(this,o):function(){for(var s=arguments.length,p=new Array(s),g=0;g1&&arguments[1]!==void 0?arguments[1]:{};B.initial(e),B.handler(t);var r={current:e},n=z(Qe)(r,t),o=z(Je)(r),i=z(B.changes)(e),s=z(Ye)(r);function p(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(P){return P};return B.selector(v),v(r.current)}function g(v){qe(n,o,i,s)(v)}return[p,g]}function Ye(e,t){return F(t)?t(e.current):t}function Je(e,t){return e.current=pe(pe({},e.current),t),t}function Qe(e,t,r){return F(t)?t(e.current):Object.keys(r).forEach(function(n){var o;return(o=t[n])===null||o===void 0?void 0:o.call(t,e.current[n])}),r}var Xe={create:Ge},Ze={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.54.0/min/vs"}};function ke(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i=e.length?e.apply(this,o):function(){for(var s=arguments.length,p=new Array(s),g=0;g{n.current=!1}:e,t)}var j=St;function U(){}function T(e,t,r,n){return Et(e,n)||Rt(e,t,r,n)}function Et(e,t){return e.editor.getModel(we(e,t))}function Rt(e,t,r,n){return e.editor.createModel(t,r,n?we(e,n):void 0)}function we(e,t){return e.Uri.parse(t)}function It({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:s,keepCurrentOriginalModel:p=!1,keepCurrentModifiedModel:g=!1,theme:v="light",loading:P="Loading...",options:M={},height:Q="100%",width:X="100%",className:Z,wrapperProps:k={},beforeMount:ee=U,onMount:te=U}){let[w,D]=u.useState(!1),[R,m]=u.useState(!0),b=u.useRef(null),h=u.useRef(null),V=u.useRef(null),y=u.useRef(te),l=u.useRef(ee),C=u.useRef(!1);ie(()=>{let a=Y.init();return a.then(f=>(h.current=f)&&m(!1)).catch(f=>(f==null?void 0:f.type)!=="cancelation"&&console.error("Monaco initialization: error:",f)),()=>b.current?x():a.cancel()}),j(()=>{if(b.current&&h.current){let a=b.current.getOriginalEditor(),f=T(h.current,e||"",n||r||"text",i||"");f!==a.getModel()&&a.setModel(f)}},[i],w),j(()=>{if(b.current&&h.current){let a=b.current.getModifiedEditor(),f=T(h.current,t||"",o||r||"text",s||"");f!==a.getModel()&&a.setModel(f)}},[s],w),j(()=>{let a=b.current.getModifiedEditor();a.getOption(h.current.editor.EditorOption.readOnly)?a.setValue(t||""):t!==a.getValue()&&(a.executeEdits("",[{range:a.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),a.pushUndoStop())},[t],w),j(()=>{var a,f;(f=(a=b.current)==null?void 0:a.getModel())==null||f.original.setValue(e||"")},[e],w),j(()=>{let{original:a,modified:f}=b.current.getModel();h.current.editor.setModelLanguage(a,n||r||"text"),h.current.editor.setModelLanguage(f,o||r||"text")},[r,n,o],w),j(()=>{var a;(a=h.current)==null||a.editor.setTheme(v)},[v],w),j(()=>{var a;(a=b.current)==null||a.updateOptions(M)},[M],w);let W=u.useCallback(()=>{var S;if(!h.current)return;l.current(h.current);let a=T(h.current,e||"",n||r||"text",i||""),f=T(h.current,t||"",o||r||"text",s||"");(S=b.current)==null||S.setModel({original:a,modified:f})},[r,t,o,e,n,i,s]),_=u.useCallback(()=>{var a;!C.current&&V.current&&(b.current=h.current.editor.createDiffEditor(V.current,I({automaticLayout:!0},M)),W(),(a=h.current)==null||a.editor.setTheme(v),D(!0),C.current=!0)},[M,v,W]);u.useEffect(()=>{w&&y.current(b.current,h.current)},[w]),u.useEffect(()=>{!R&&!w&&_()},[R,w,_]);function x(){var f,S,L,N;let a=(f=b.current)==null?void 0:f.getModel();p||((S=a==null?void 0:a.original)==null||S.dispose()),g||((L=a==null?void 0:a.modified)==null||L.dispose()),(N=b.current)==null||N.dispose()}return $.createElement(ye,{width:X,height:Q,isEditorReady:w,loading:P,_ref:V,className:Z,wrapperProps:k})}var Ct=It;u.memo(Ct);function Lt(){let[e,t]=u.useState(Y.__getMonacoInstance());return ie(()=>{let r;return e||(r=Y.init(),r.then(n=>{t(n)})),()=>r==null?void 0:r.cancel()}),e}var Nt=Lt;function At(e){let t=u.useRef();return u.useEffect(()=>{t.current=e},[e]),t.current}var Tt=At,K=new Map;function $t({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:o,path:i,theme:s="light",line:p,loading:g="Loading...",options:v={},overrideServices:P={},saveViewState:M=!0,keepCurrentModel:Q=!1,width:X="100%",height:Z="100%",className:k,wrapperProps:ee={},beforeMount:te=U,onMount:w=U,onChange:D,onValidate:R=U}){let[m,b]=u.useState(!1),[h,V]=u.useState(!0),y=u.useRef(null),l=u.useRef(null),C=u.useRef(null),W=u.useRef(w),_=u.useRef(te),x=u.useRef(),a=u.useRef(n),f=Tt(i),S=u.useRef(!1),L=u.useRef(!1);ie(()=>{let c=Y.init();return c.then(d=>(y.current=d)&&V(!1)).catch(d=>(d==null?void 0:d.type)!=="cancelation"&&console.error("Monaco initialization: error:",d)),()=>l.current?Oe():c.cancel()}),j(()=>{var d,O,q,A;let c=T(y.current,e||n||"",t||o||"",i||r||"");c!==((d=l.current)==null?void 0:d.getModel())&&(M&&K.set(f,(O=l.current)==null?void 0:O.saveViewState()),(q=l.current)==null||q.setModel(c),M&&((A=l.current)==null||A.restoreViewState(K.get(i))))},[i],m),j(()=>{var c;(c=l.current)==null||c.updateOptions(v)},[v],m),j(()=>{!l.current||n===void 0||(l.current.getOption(y.current.editor.EditorOption.readOnly)?l.current.setValue(n):n!==l.current.getValue()&&(L.current=!0,l.current.executeEdits("",[{range:l.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),l.current.pushUndoStop(),L.current=!1))},[n],m),j(()=>{var d,O;let c=(d=l.current)==null?void 0:d.getModel();c&&o&&((O=y.current)==null||O.editor.setModelLanguage(c,o))},[o],m),j(()=>{var c;p!==void 0&&((c=l.current)==null||c.revealLine(p))},[p],m),j(()=>{var c;(c=y.current)==null||c.editor.setTheme(s)},[s],m);let N=u.useCallback(()=>{var c;if(!(!C.current||!y.current)&&!S.current){_.current(y.current);let d=i||r,O=T(y.current,n||e||"",t||o||"",d||"");l.current=(c=y.current)==null?void 0:c.editor.create(C.current,I({model:O,automaticLayout:!0},v),P),M&&l.current.restoreViewState(K.get(d)),y.current.editor.setTheme(s),p!==void 0&&l.current.revealLine(p),b(!0),S.current=!0}},[e,t,r,n,o,i,v,P,M,s,p]);u.useEffect(()=>{m&&W.current(l.current,y.current)},[m]),u.useEffect(()=>{!h&&!m&&N()},[h,m,N]),a.current=n,u.useEffect(()=>{var c,d;m&&D&&((c=x.current)==null||c.dispose(),x.current=(d=l.current)==null?void 0:d.onDidChangeModelContent(O=>{L.current||D(l.current.getValue(),O)}))},[m,D]),u.useEffect(()=>{if(m){let c=y.current.editor.onDidChangeMarkers(d=>{var q;let O=(q=l.current.getModel())==null?void 0:q.uri;if(O&&d.find(A=>A.path===O.path)){let A=y.current.editor.getModelMarkers({resource:O});R==null||R(A)}});return()=>{c==null||c.dispose()}}return()=>{}},[m,R]);function Oe(){var c,d;(c=x.current)==null||c.dispose(),Q?M&&K.set(i,l.current.saveViewState()):(d=l.current.getModel())==null||d.dispose(),l.current.dispose()}return $.createElement(ye,{width:X,height:Z,isEditorReady:m,loading:g,_ref:C,className:k,wrapperProps:ee})}var Dt=$t,qt=u.memo(Dt);export{Nt as L,qt as d};