"use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[158],{77158:(e,t,r)=>{r.r(t),r.d(t,{DiffEditor:()=>Z,Editor:()=>oe,default:()=>ie,loader:()=>N,useMonaco:()=>ee});var n=r(89379);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r=e.length?e.apply(this,o):function(){for(var e=arguments.length,n=new Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};p.initial(e),p.handler(t);var r={current:e},n=s(m)(r,t),o=s(y)(r),i=s(p.changes)(e),u=s(h)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return p.selector(e),e(r.current)},function(e){!function(){for(var e=arguments.length,t=new Array(e),r=0;r=w.length?w.apply(this,n):function(){for(var r=arguments.length,o=new Array(r),i=0;i2&&void 0!==arguments[2])||arguments[2],n=(0,_.useRef)(!0);(0,_.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function J(){}function K(e,t,r,n){return function(e,t){return e.editor.getModel(Q(e,t))}(e,n)||function(e,t,r,n){return e.editor.createModel(t,r,n?Q(e,n):void 0)}(e,t,r,n)}function Q(e,t){return e.Uri.parse(t)}var X=function(e){let{original:t,modified:r,language:o,originalLanguage:i,modifiedLanguage:u,originalModelPath:c,modifiedModelPath:a,keepCurrentOriginalModel:l=!1,keepCurrentModifiedModel:d=!1,theme:s="light",loading:f="Loading...",options:v={},height:g="100%",width:p="100%",className:h,wrapperProps:y={},beforeMount:m=J,onMount:b=J}=e,[w,O]=(0,_.useState)(!1),[j,M]=(0,_.useState)(!0),E=(0,_.useRef)(null),P=(0,_.useRef)(null),R=(0,_.useRef)(null),S=(0,_.useRef)(b),k=(0,_.useRef)(m),A=(0,_.useRef)(!1);G(()=>{let e=N.init();return e.then(e=>(P.current=e)&&M(!1)).catch(e=>"cancelation"!==(null===e||void 0===e?void 0:e.type)&&console.error("Monaco initialization: error:",e)),()=>E.current?function(){var e,t,r,n;let o=null===(e=E.current)||void 0===e?void 0:e.getModel();l||null!==o&&void 0!==o&&null!==(t=o.original)&&void 0!==t&&t.dispose(),d||null!==o&&void 0!==o&&null!==(r=o.modified)&&void 0!==r&&r.dispose(),null===(n=E.current)||void 0===n||n.dispose()}():e.cancel()}),H(()=>{if(E.current&&P.current){let e=E.current.getOriginalEditor(),r=K(P.current,t||"",i||o||"text",c||"");r!==e.getModel()&&e.setModel(r)}},[c],w),H(()=>{if(E.current&&P.current){let e=E.current.getModifiedEditor(),t=K(P.current,r||"",u||o||"text",a||"");t!==e.getModel()&&e.setModel(t)}},[a],w),H(()=>{let e=E.current.getModifiedEditor();e.getOption(P.current.editor.EditorOption.readOnly)?e.setValue(r||""):r!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:r||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[r],w),H(()=>{var e;null===(e=E.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.original.setValue(t||"")},[t],w),H(()=>{let{original:e,modified:t}=E.current.getModel();P.current.editor.setModelLanguage(e,i||o||"text"),P.current.editor.setModelLanguage(t,u||o||"text")},[o,i,u],w),H(()=>{var e;null===(e=P.current)||void 0===e||e.editor.setTheme(s)},[s],w),H(()=>{var e;null===(e=E.current)||void 0===e||e.updateOptions(v)},[v],w);let T=(0,_.useCallback)(()=>{var e;if(!P.current)return;k.current(P.current);let n=K(P.current,t||"",i||o||"text",c||""),l=K(P.current,r||"",u||o||"text",a||"");null===(e=E.current)||void 0===e||e.setModel({original:n,modified:l})},[o,r,u,t,i,c,a]),C=(0,_.useCallback)(()=>{var e;!A.current&&R.current&&(E.current=P.current.editor.createDiffEditor(R.current,(0,n.A)({automaticLayout:!0},v)),T(),null!==(e=P.current)&&void 0!==e&&e.editor.setTheme(s),O(!0),A.current=!0)},[v,s,T]);return(0,_.useEffect)(()=>{w&&S.current(E.current,P.current)},[w]),(0,_.useEffect)(()=>{!j&&!w&&C()},[j,w,C]),_.createElement($,{width:p,height:g,isEditorReady:w,loading:f,_ref:R,className:h,wrapperProps:y})},Z=(0,_.memo)(X);var ee=function(){let[e,t]=(0,_.useState)(N.__getMonacoInstance());return G(()=>{let r;return e||(r=N.init(),r.then(e=>{t(e)})),()=>{var e;return null===(e=r)||void 0===e?void 0:e.cancel()}}),e};var te=function(e){let t=(0,_.useRef)();return(0,_.useEffect)(()=>{t.current=e},[e]),t.current},re=new Map;var ne=function(e){let{defaultValue:t,defaultLanguage:r,defaultPath:o,value:i,language:u,path:c,theme:a="light",line:l,loading:d="Loading...",options:s={},overrideServices:f={},saveViewState:v=!0,keepCurrentModel:g=!1,width:p="100%",height:h="100%",className:y,wrapperProps:m={},beforeMount:b=J,onMount:w=J,onChange:O,onValidate:j=J}=e,[M,E]=(0,_.useState)(!1),[P,R]=(0,_.useState)(!0),S=(0,_.useRef)(null),k=(0,_.useRef)(null),A=(0,_.useRef)(null),T=(0,_.useRef)(w),C=(0,_.useRef)(b),I=(0,_.useRef)(),x=(0,_.useRef)(i),D=te(c),V=(0,_.useRef)(!1),L=(0,_.useRef)(!1);G(()=>{let e=N.init();return e.then(e=>(S.current=e)&&R(!1)).catch(e=>"cancelation"!==(null===e||void 0===e?void 0:e.type)&&console.error("Monaco initialization: error:",e)),()=>k.current?function(){var e,t;null!==(e=I.current)&&void 0!==e&&e.dispose(),g?v&&re.set(c,k.current.saveViewState()):null===(t=k.current.getModel())||void 0===t||t.dispose(),k.current.dispose()}():e.cancel()}),H(()=>{var e,n,a,l;let d=K(S.current,t||i||"",r||u||"",c||o||"");d!==(null===(e=k.current)||void 0===e?void 0:e.getModel())&&(v&&re.set(D,null===(n=k.current)||void 0===n?void 0:n.saveViewState()),null!==(a=k.current)&&void 0!==a&&a.setModel(d),v&&(null===(l=k.current)||void 0===l||l.restoreViewState(re.get(c))))},[c],M),H(()=>{var e;null===(e=k.current)||void 0===e||e.updateOptions(s)},[s],M),H(()=>{!k.current||void 0===i||(k.current.getOption(S.current.editor.EditorOption.readOnly)?k.current.setValue(i):i!==k.current.getValue()&&(L.current=!0,k.current.executeEdits("",[{range:k.current.getModel().getFullModelRange(),text:i,forceMoveMarkers:!0}]),k.current.pushUndoStop(),L.current=!1))},[i],M),H(()=>{var e,t;let r=null===(e=k.current)||void 0===e?void 0:e.getModel();r&&u&&(null===(t=S.current)||void 0===t||t.editor.setModelLanguage(r,u))},[u],M),H(()=>{var e;void 0!==l&&(null===(e=k.current)||void 0===e||e.revealLine(l))},[l],M),H(()=>{var e;null===(e=S.current)||void 0===e||e.editor.setTheme(a)},[a],M);let q=(0,_.useCallback)(()=>{if(A.current&&S.current&&!V.current){var e;C.current(S.current);let d=c||o,g=K(S.current,i||t||"",r||u||"",d||"");k.current=null===(e=S.current)||void 0===e?void 0:e.editor.create(A.current,(0,n.A)({model:g,automaticLayout:!0},s),f),v&&k.current.restoreViewState(re.get(d)),S.current.editor.setTheme(a),void 0!==l&&k.current.revealLine(l),E(!0),V.current=!0}},[t,r,o,i,u,c,s,f,v,a,l]);return(0,_.useEffect)(()=>{M&&T.current(k.current,S.current)},[M]),(0,_.useEffect)(()=>{!P&&!M&&q()},[P,M,q]),x.current=i,(0,_.useEffect)(()=>{var e,t;M&&O&&(null!==(e=I.current)&&void 0!==e&&e.dispose(),I.current=null===(t=k.current)||void 0===t?void 0:t.onDidChangeModelContent(e=>{L.current||O(k.current.getValue(),e)}))},[M,O]),(0,_.useEffect)(()=>{if(M){let e=S.current.editor.onDidChangeMarkers(e=>{var t;let r=null===(t=k.current.getModel())||void 0===t?void 0:t.uri;if(r&&e.find(e=>e.path===r.path)){let e=S.current.editor.getModelMarkers({resource:r});null===j||void 0===j||j(e)}});return()=>{null===e||void 0===e||e.dispose()}}return()=>{}},[M,j]),_.createElement($,{width:p,height:h,isEditorReady:M,loading:d,_ref:A,className:y,wrapperProps:m})},oe=(0,_.memo)(ne),ie=oe}}]); //# sourceMappingURL=158.c7e50479.chunk.js.map