@json-to-office/jto 0.38.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +54 -43
- package/dist/cli.js.map +1 -1
- package/dist/client/assets/HomePage-jkIz_s7u.js +106 -0
- package/dist/client/assets/HomePage-jkIz_s7u.js.map +1 -0
- package/dist/client/assets/{JsonEditorPage-BoJnbChX.js → JsonEditorPage-DR8UoROz.js} +3 -3
- package/dist/client/assets/{JsonEditorPage-BoJnbChX.js.map → JsonEditorPage-DR8UoROz.js.map} +1 -1
- package/dist/client/assets/{MonacoPluginProvider-DDx6uqtm.js → MonacoPluginProvider-CE5NPGwN.js} +3 -3
- package/dist/client/assets/MonacoPluginProvider-CE5NPGwN.js.map +1 -0
- package/dist/client/assets/{NotFoundPage-SV9cseZ6.js → NotFoundPage-rSUaByPC.js} +2 -2
- package/dist/client/assets/{NotFoundPage-SV9cseZ6.js.map → NotFoundPage-rSUaByPC.js.map} +1 -1
- package/dist/client/assets/editor-edmvhW9F.js +9 -0
- package/dist/client/assets/editor-edmvhW9F.js.map +1 -0
- package/dist/client/assets/{editor-monaco-json-K0Hhbxle.js → editor-monaco-json-CAlvfPc7.js} +2 -2
- package/dist/client/assets/{editor-monaco-json-K0Hhbxle.js.map → editor-monaco-json-CAlvfPc7.js.map} +1 -1
- package/dist/client/assets/{editor-refs-store-CXOr2HlU.js → editor-refs-store-DKOJcTAk.js} +2 -2
- package/dist/client/assets/{editor-refs-store-CXOr2HlU.js.map → editor-refs-store-DKOJcTAk.js.map} +1 -1
- package/dist/client/assets/index-CNvLzaJ7.css +1 -0
- package/dist/client/assets/index-DLlW4q4v.js +5 -0
- package/dist/client/assets/index-DLlW4q4v.js.map +1 -0
- package/dist/client/assets/{monaco-editor-BcgxPCqT.js → monaco-editor-DJsdM0WK.js} +2 -2
- package/dist/client/assets/{monaco-editor-BcgxPCqT.js.map → monaco-editor-DJsdM0WK.js.map} +1 -1
- package/dist/client/assets/preview-zo-CHAU0.js +2 -0
- package/dist/client/assets/preview-zo-CHAU0.js.map +1 -0
- package/dist/client/assets/{query-vendor-Df8-oete.js → query-vendor--rhYD8mC.js} +2 -2
- package/dist/client/assets/{query-vendor-Df8-oete.js.map → query-vendor--rhYD8mC.js.map} +1 -1
- package/dist/client/assets/radix-ui-DFNP5I4e.js +51 -0
- package/dist/client/assets/radix-ui-DFNP5I4e.js.map +1 -0
- package/dist/client/assets/{react-vendor-CTFDOf2G.js → react-vendor-BmQ2Ko_D.js} +2 -2
- package/dist/client/assets/{react-vendor-CTFDOf2G.js.map → react-vendor-BmQ2Ko_D.js.map} +1 -1
- package/dist/client/assets/{state-vendor-ByFYl9bq.js → state-vendor-Cq67_JbF.js} +2 -2
- package/dist/client/assets/{state-vendor-ByFYl9bq.js.map → state-vendor-Cq67_JbF.js.map} +1 -1
- package/dist/client/assets/{ui-vendor-DyQLnWB8.js → ui-vendor-DpjQWJgX.js} +24 -29
- package/dist/client/assets/ui-vendor-DpjQWJgX.js.map +1 -0
- package/dist/client/index.html +8 -8
- package/dist/client/templates/media/tech-report/fonts/OFL.txt +93 -0
- package/package.json +7 -8
- package/dist/client/assets/HomePage-BCVcUf-F.js +0 -106
- package/dist/client/assets/HomePage-BCVcUf-F.js.map +0 -1
- package/dist/client/assets/MonacoPluginProvider-DDx6uqtm.js.map +0 -1
- package/dist/client/assets/docx-preview-DQa8jhzH.js +0 -34
- package/dist/client/assets/docx-preview-DQa8jhzH.js.map +0 -1
- package/dist/client/assets/editor-fCoqmCGh.js +0 -9
- package/dist/client/assets/editor-fCoqmCGh.js.map +0 -1
- package/dist/client/assets/index-994wDsNx.js +0 -5
- package/dist/client/assets/index-994wDsNx.js.map +0 -1
- package/dist/client/assets/index-ddkpZJkm.css +0 -1
- package/dist/client/assets/preview-B8AVap46.js +0 -4
- package/dist/client/assets/preview-B8AVap46.js.map +0 -1
- package/dist/client/assets/radix-ui-Bq-7y_Sq.js +0 -51
- package/dist/client/assets/radix-ui-Bq-7y_Sq.js.map +0 -1
- package/dist/client/assets/ui-vendor-DyQLnWB8.js.map +0 -1
- package/dist/client/css/preview/docxjs.css +0 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as u,c as T}from"./react-vendor-
|
|
1
|
+
import{r as u,c as T}from"./react-vendor-BmQ2Ko_D.js";function ie(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function be(e){if(Array.isArray(e))return e}function ye(e,t,r){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function we(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,s,p=[],g=!0,v=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(g=(n=i.call(r)).done)&&(p.push(n.value),p.length!==t);g=!0);}catch(P){v=!0,o=P}finally{try{if(!g&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(v)throw o}}return p}}function Oe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ue(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ae(Object(r),!0).forEach(function(n){ye(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ae(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function je(e,t){if(e==null)return{};var r,n,o=Me(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Me(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Pe(e,t){return be(e)||we(e,t)||Ie(e,t)||Oe()}function Se(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ee(e){var t=Se(e,"string");return typeof t=="symbol"?t:t+""}function Ie(e,t){if(e){if(typeof e=="string")return ie(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ie(e,t):void 0}}function Re(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function le(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ce(Object(r),!0).forEach(function(n){Re(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ce(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ce(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(o,i){return i(o)},n)}}function q(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,p=new Array(s),g=0;g<s;g++)p[g]=arguments[g];return t.apply(r,[].concat(o,p))}}}function K(e){return{}.toString.call(e).includes("Object")}function Le(e){return!Object.keys(e).length}function U(e){return typeof e=="function"}function Ae(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Te(e,t){return K(t)||E("changeType"),Object.keys(t).some(function(r){return!Ae(e,r)})&&E("changeField"),t}function $e(e){U(e)||E("selectorType")}function De(e){U(e)||K(e)||E("handlerType"),K(e)&&Object.values(e).some(function(t){return!U(t)})&&E("handlersType")}function Ve(e){e||E("initialIsRequired"),K(e)||E("initialType"),Le(e)&&E("initialContent")}function xe(e,t){throw new Error(e[t]||e.default)}var Ne={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},E=q(xe)(Ne),_={changes:Te,selector:$e,handler:De,initial:Ve};function qe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.initial(e),_.handler(t);var r={current:e},n=q(Fe)(r,t),o=q(Ue)(r),i=q(_.changes)(e),s=q(ze)(r);function p(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(P){return P};return _.selector(v),v(r.current)}function g(v){Ce(n,o,i,s)(v)}return[p,g]}function ze(e,t){return U(t)?t(e.current):t}function Ue(e,t){return e.current=le(le({},e.current),t),t}function Fe(e,t,r){return U(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 He={create:qe},We={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function _e(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,p=new Array(s),g=0;g<s;g++)p[g]=arguments[g];return t.apply(r,[].concat(o,p))}}}function Be(e){return{}.toString.call(e).includes("Object")}function Ke(e){return e||se("configIsRequired"),Be(e)||se("configType"),e.urls?(Ge(),{paths:{vs:e.urls.monacoBase}}):e}function Ge(){console.warn(fe.deprecation)}function Ye(e,t){throw new Error(e[t]||e.default)}var fe={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
3
3
|
You are using deprecated way of configuration.
|
|
4
4
|
|
|
@@ -9,4 +9,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
9
9
|
|
|
10
10
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
11
11
|
`},se=_e(Ye)(fe),Je={config:Ke},Qe=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,s){return s(i)},o)}};function de(e,t){return Object.keys(t).forEach(function(r){t[r]instanceof Object&&e[r]&&Object.assign(t[r],de(e[r],t[r]))}),ue(ue({},e),t)}var Xe={type:"cancelation",msg:"operation is manually canceled"};function te(e){var t=!1,r=new Promise(function(n,o){e.then(function(i){return t?o(Xe):n(i)}),e.catch(o)});return r.cancel=function(){return t=!0},r}var Ze=["monaco"],ke=He.create({config:We,isInitialized:!1,resolve:null,reject:null,monaco:null}),pe=Pe(ke,2),F=pe[0],Y=pe[1];function et(e){var t=Je.config(e),r=t.monaco,n=je(t,Ze);Y(function(o){return{config:de(o.config,n),monaco:r}})}function tt(){var e=F(function(t){var r=t.monaco,n=t.isInitialized,o=t.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!e.isInitialized){if(Y({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),te(re);if(window.monaco&&window.monaco.editor)return ge(window.monaco),e.resolve(window.monaco),te(re);Qe(rt,ot)(it)}return te(re)}function rt(e){return document.body.appendChild(e)}function nt(e){var t=document.createElement("script");return e&&(t.src=e),t}function ot(e){var t=F(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=nt("".concat(t.config.paths.vs,"/loader.js"));return r.onload=function(){return e()},r.onerror=t.reject,r}function it(){var e=F(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(r){var n=r.m||r;ge(n),e.resolve(n)},function(r){e.reject(r)})}function ge(e){F().monaco||Y({monaco:e})}function at(){return F(function(e){var t=e.monaco;return t})}var re=new Promise(function(e,t){return Y({resolve:e,reject:t})}),G={config:et,init:tt,__getMonacoInstance:at},ut={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ne=ut,ct={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},lt=ct;function st({children:e}){return T.createElement("div",{style:lt.container},e)}var ft=st,dt=ft;function pt({width:e,height:t,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:s}){return T.createElement("section",{style:{...ne.wrapper,width:e,height:t},...s},!r&&T.createElement(dt,null,n),T.createElement("div",{ref:o,style:{...ne.fullWidth,...!r&&ne.hide},className:i}))}var gt=pt,he=u.memo(gt);function ht(e){u.useEffect(e,[])}var oe=ht;function vt(e,t,r=!0){let n=u.useRef(!0);u.useEffect(n.current||!r?()=>{n.current=!1}:e,t)}var j=vt;function z(){}function A(e,t,r,n){return mt(e,n)||bt(e,t,r,n)}function mt(e,t){return e.editor.getModel(ve(e,t))}function bt(e,t,r,n){return e.editor.createModel(t,r,n?ve(e,n):void 0)}function ve(e,t){return e.Uri.parse(t)}function yt({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:J="100%",width:Q="100%",className:X,wrapperProps:Z={},beforeMount:k=z,onMount:ee=z}){let[w,$]=u.useState(!1),[I,m]=u.useState(!0),b=u.useRef(null),h=u.useRef(null),D=u.useRef(null),y=u.useRef(ee),l=u.useRef(k),R=u.useRef(!1);oe(()=>{let a=G.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?V():a.cancel()}),j(()=>{if(b.current&&h.current){let a=b.current.getOriginalEditor(),f=A(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=A(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 H=u.useCallback(()=>{var S;if(!h.current)return;l.current(h.current);let a=A(h.current,e||"",n||r||"text",i||""),f=A(h.current,t||"",o||r||"text",s||"");(S=b.current)==null||S.setModel({original:a,modified:f})},[r,t,o,e,n,i,s]),W=u.useCallback(()=>{var a;!R.current&&D.current&&(b.current=h.current.editor.createDiffEditor(D.current,{automaticLayout:!0,...M}),H(),(a=h.current)==null||a.editor.setTheme(v),$(!0),R.current=!0)},[M,v,H]);u.useEffect(()=>{w&&y.current(b.current,h.current)},[w]),u.useEffect(()=>{!I&&!w&&W()},[I,w,W]);function V(){var f,S,C,x;let a=(f=b.current)==null?void 0:f.getModel();p||((S=a==null?void 0:a.original)==null||S.dispose()),g||((C=a==null?void 0:a.modified)==null||C.dispose()),(x=b.current)==null||x.dispose()}return T.createElement(he,{width:Q,height:J,isEditorReady:w,loading:P,_ref:D,className:X,wrapperProps:Z})}var wt=yt,Rt=u.memo(wt);function Ot(){let[e,t]=u.useState(G.__getMonacoInstance());return oe(()=>{let r;return e||(r=G.init(),r.then(n=>{t(n)})),()=>r==null?void 0:r.cancel()}),e}var Ct=Ot;function jt(e){let t=u.useRef();return u.useEffect(()=>{t.current=e},[e]),t.current}var Mt=jt,B=new Map;function Pt({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:J=!1,width:Q="100%",height:X="100%",className:Z,wrapperProps:k={},beforeMount:ee=z,onMount:w=z,onChange:$,onValidate:I=z}){let[m,b]=u.useState(!1),[h,D]=u.useState(!0),y=u.useRef(null),l=u.useRef(null),R=u.useRef(null),H=u.useRef(w),W=u.useRef(ee),V=u.useRef(),a=u.useRef(n),f=Mt(i),S=u.useRef(!1),C=u.useRef(!1);oe(()=>{let c=G.init();return c.then(d=>(y.current=d)&&D(!1)).catch(d=>(d==null?void 0:d.type)!=="cancelation"&&console.error("Monaco initialization: error:",d)),()=>l.current?me():c.cancel()}),j(()=>{var d,O,N,L;let c=A(y.current,e||n||"",t||o||"",i||r||"");c!==((d=l.current)==null?void 0:d.getModel())&&(M&&B.set(f,(O=l.current)==null?void 0:O.saveViewState()),(N=l.current)==null||N.setModel(c),M&&((L=l.current)==null||L.restoreViewState(B.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()&&(C.current=!0,l.current.executeEdits("",[{range:l.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),l.current.pushUndoStop(),C.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 x=u.useCallback(()=>{var c;if(!(!R.current||!y.current)&&!S.current){W.current(y.current);let d=i||r,O=A(y.current,n||e||"",t||o||"",d||"");l.current=(c=y.current)==null?void 0:c.editor.create(R.current,{model:O,automaticLayout:!0,...v},P),M&&l.current.restoreViewState(B.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&&H.current(l.current,y.current)},[m]),u.useEffect(()=>{!h&&!m&&x()},[h,m,x]),a.current=n,u.useEffect(()=>{var c,d;m&&$&&((c=V.current)==null||c.dispose(),V.current=(d=l.current)==null?void 0:d.onDidChangeModelContent(O=>{C.current||$(l.current.getValue(),O)}))},[m,$]),u.useEffect(()=>{if(m){let c=y.current.editor.onDidChangeMarkers(d=>{var N;let O=(N=l.current.getModel())==null?void 0:N.uri;if(O&&d.find(L=>L.path===O.path)){let L=y.current.editor.getModelMarkers({resource:O});I==null||I(L)}});return()=>{c==null||c.dispose()}}return()=>{}},[m,I]);function me(){var c,d;(c=V.current)==null||c.dispose(),J?M&&B.set(i,l.current.saveViewState()):(d=l.current.getModel())==null||d.dispose(),l.current.dispose()}return T.createElement(he,{width:Q,height:X,isEditorReady:m,loading:g,_ref:R,className:Z,wrapperProps:k})}var St=Pt,Et=u.memo(St),Lt=Et;export{Rt as DiffEditor,Et as Editor,Lt as default,G as loader,Ct as useMonaco};
|
|
12
|
-
//# sourceMappingURL=monaco-editor-
|
|
12
|
+
//# sourceMappingURL=monaco-editor-DJsdM0WK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-editor-BcgxPCqT.js","sources":["../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../../../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../../../../../node_modules/.pnpm/@monaco-editor+react@4.7.0_monaco-editor@0.52.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@monaco-editor/react/dist/index.mjs"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'\n }\n};\n\nexport { config as default };\n","function curry(fn) {\n return function curried() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport { curry as default };\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport { isObject as default };\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n return config;\n}\n\n/**\n * logs deprecation message\n */\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport { validators as default, errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport { compose as default };\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport { merge as default };\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\n\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport { CANCELATION_MESSAGE, makeCancelable as default };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\nvar _excluded = [\"monaco\"];\n\n/** the local state of the module */\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n }),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, _excluded);\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n return makeCancelable(wrapperPromise);\n}\n\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n loaderScript.onload = function () {\n return configureLoader();\n };\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n\n/**\n * configures the monaco loader\n */\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n require.config(state.config);\n require(['vs/editor/editor.main'], function (loaded) {\n var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n\n/**\n * store monaco instance in local state\n */\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport { loader as default };\n","import _t from\"@monaco-editor/loader\";import{memo as Te}from\"react\";import ke,{useState as re,useRef as S,useCallback as oe,useEffect as ne}from\"react\";import Se from\"@monaco-editor/loader\";import{memo as ye}from\"react\";import K from\"react\";var le={wrapper:{display:\"flex\",position:\"relative\",textAlign:\"initial\"},fullWidth:{width:\"100%\"},hide:{display:\"none\"}},v=le;import me from\"react\";var ae={container:{display:\"flex\",height:\"100%\",width:\"100%\",justifyContent:\"center\",alignItems:\"center\"}},Y=ae;function Me({children:e}){return me.createElement(\"div\",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){return K.createElement(\"section\",{style:{...v.wrapper,width:e,height:r},...E},!n&&K.createElement($,null,t),K.createElement(\"div\",{ref:a,style:{...v.fullWidth,...!n&&v.hide},className:m}))}var ee=Ee;var H=ye(ee);import{useEffect as xe}from\"react\";function Ce(e){xe(e,[])}var k=Ce;import{useEffect as ge,useRef as Re}from\"react\";function he(e,r,n=!0){let t=Re(!0);ge(t.current||!n?()=>{t.current=!1}:e,r)}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=!1,keepCurrentModifiedModel:N=!1,theme:x=\"light\",loading:P=\"Loading...\",options:y={},height:V=\"100%\",width:z=\"100%\",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=re(!1),[T,s]=re(!0),u=S(null),c=S(null),w=S(null),d=S(q),o=S(A),b=S(!1);k(()=>{let i=Se.init();return i.then(f=>(c.current=f)&&s(!1)).catch(f=>f?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||\"\",t||n||\"text\",m||\"\");f!==i.getModel()&&i.setModel(f)}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");f!==i.getModel()&&i.setModel(f)}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||\"\"):r!==i.getValue()&&(i.executeEdits(\"\",[{range:i.getModel().getFullModelRange(),text:r||\"\",forceMoveMarkers:!0}]),i.pushUndoStop())},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||\"\")},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||\"text\"),c.current.editor.setModelLanguage(f,a||n||\"text\")},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x)},[x],M),l(()=>{u.current?.updateOptions(y)},[y],M);let L=oe(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||\"\",t||n||\"text\",m||\"\"),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");u.current?.setModel({original:i,modified:f})},[n,r,a,e,t,m,E]),U=oe(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...y}),L(),c.current?.editor.setTheme(x),O(!0),b.current=!0)},[y,x,L]);ne(()=>{M&&d.current(u.current,c.current)},[M]),ne(()=>{!T&&!M&&U()},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose()}return ke.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=Te(ie);import{useState as Ie}from\"react\";import ce from\"@monaco-editor/loader\";function Pe(){let[e,r]=Ie(ce.__getMonacoInstance());return k(()=>{let n;return e||(n=ce.init(),n.then(t=>{r(t)})),()=>n?.cancel()}),e}var Le=Pe;import{memo as ze}from\"react\";import We,{useState as ue,useEffect as W,useRef as C,useCallback as _e}from\"react\";import Ne from\"@monaco-editor/loader\";import{useEffect as Ue,useRef as ve}from\"react\";function He(e){let r=ve();return Ue(()=>{r.current=e},[e]),r.current}var se=He;var _=new Map;function Ve({defaultValue:e,defaultLanguage:r,defaultPath:n,value:t,language:a,path:m,theme:E=\"light\",line:g,loading:N=\"Loading...\",options:x={},overrideServices:P={},saveViewState:y=!0,keepCurrentModel:V=!1,width:z=\"100%\",height:F=\"100%\",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=ue(!1),[c,w]=ue(!0),d=C(null),o=C(null),b=C(null),L=C(M),U=C(q),I=C(),i=C(t),f=se(m),Q=C(!1),B=C(!1);k(()=>{let p=Ne.init();return p.then(R=>(d.current=R)&&w(!1)).catch(R=>R?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||\"\",r||a||\"\",m||n||\"\");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)))},[m],s),l(()=>{o.current?.updateOptions(x)},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=!0,o.current.executeEdits(\"\",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:!0}]),o.current.pushUndoStop(),B.current=!1))},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a)},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g)},[g],s),l(()=>{d.current?.editor.setTheme(E)},[E],s);let X=_e(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||\"\",r||a||\"\",p||\"\");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:!0,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(!0),Q.current=!0}},[e,r,n,t,a,m,x,P,y,E,g]);W(()=>{s&&L.current(o.current,d.current)},[s]),W(()=>{!c&&!s&&X()},[c,s,X]),i.current=t,W(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p)}))},[s,O]),W(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J)}});return()=>{p?.dispose()}}return()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose()}return We.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=ze(fe);var Ft=de;export{we as DiffEditor,de as Editor,Ft as default,_t as loader,Le as useMonaco};\n//# sourceMappingURL=index.mjs.map"],"names":["_arrayLikeToArray","r","a","e","_arrayWithHoles","_defineProperty","t","_toPropertyKey","_iterableToArrayLimit","l","n","u","f","o","_nonIterableRest","ownKeys","_objectSpread2","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","_slicedToArray","_unsupportedIterableToArray","_toPrimitive","obj","key","value","object","enumerableOnly","keys","symbols","sym","target","source","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","hasOwnProperty","property","validateChanges","initial","changes","errorHandler","field","validateSelector","selector","validateHandler","handler","_handler","validateInitial","throwError","errorMessages","type","validators","create","state","didUpdate","didStateUpdate","update","updateState","validate","getChanges","extractChanges","getState","setState","causedChanges","_handler$field","index","config","validateConfig","informAboutDeprecation","merge","CANCELATION_MESSAGE","makeCancelable","promise","hasCanceled_","wrappedPromise","resolve","reject","val","_excluded","_state$create","config$1","_state$create2","globalConfig","_validators$config","monaco","init","_ref","isInitialized","wrapperPromise","storeMonacoInstance","injectScripts","getMonacoLoaderScript","configureLoader","script","createScript","src","_ref2","loaderScript","_ref3","require","loaded","error","__getMonacoInstance","_ref4","loader","le","v","ae","Y","Me","me","Z","$","Ee","m","E","K","ee","H","ye","Ce","xe","k","he","Re","ge","D","h","De","be","te","Oe","g","N","V","z","F","j","A","q","M","O","re","T","s","S","c","w","d","b","Se","I","_b","_a","L","oe","U","ne","_c","_d","ke","ie","we","Te","Pe","Ie","ce","Le","He","ve","Ue","se","_","Ve","ue","C","Q","B","p","Ne","R","pe","X","_e","W","G","J","We","fe","de","ze","Ft"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
|
|
1
|
+
{"version":3,"file":"monaco-editor-DJsdM0WK.js","sources":["../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../../../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../../../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../../../../../node_modules/.pnpm/@monaco-editor+react@4.7.0_monaco-editor@0.52.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@monaco-editor/react/dist/index.mjs"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'\n }\n};\n\nexport { config as default };\n","function curry(fn) {\n return function curried() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport { curry as default };\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport { isObject as default };\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n return config;\n}\n\n/**\n * logs deprecation message\n */\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport { validators as default, errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport { compose as default };\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport { merge as default };\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\n\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport { CANCELATION_MESSAGE, makeCancelable as default };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\nvar _excluded = [\"monaco\"];\n\n/** the local state of the module */\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n }),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, _excluded);\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n return makeCancelable(wrapperPromise);\n}\n\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n loaderScript.onload = function () {\n return configureLoader();\n };\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n\n/**\n * configures the monaco loader\n */\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n require.config(state.config);\n require(['vs/editor/editor.main'], function (loaded) {\n var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n\n/**\n * store monaco instance in local state\n */\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport { loader as default };\n","import _t from\"@monaco-editor/loader\";import{memo as Te}from\"react\";import ke,{useState as re,useRef as S,useCallback as oe,useEffect as ne}from\"react\";import Se from\"@monaco-editor/loader\";import{memo as ye}from\"react\";import K from\"react\";var le={wrapper:{display:\"flex\",position:\"relative\",textAlign:\"initial\"},fullWidth:{width:\"100%\"},hide:{display:\"none\"}},v=le;import me from\"react\";var ae={container:{display:\"flex\",height:\"100%\",width:\"100%\",justifyContent:\"center\",alignItems:\"center\"}},Y=ae;function Me({children:e}){return me.createElement(\"div\",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){return K.createElement(\"section\",{style:{...v.wrapper,width:e,height:r},...E},!n&&K.createElement($,null,t),K.createElement(\"div\",{ref:a,style:{...v.fullWidth,...!n&&v.hide},className:m}))}var ee=Ee;var H=ye(ee);import{useEffect as xe}from\"react\";function Ce(e){xe(e,[])}var k=Ce;import{useEffect as ge,useRef as Re}from\"react\";function he(e,r,n=!0){let t=Re(!0);ge(t.current||!n?()=>{t.current=!1}:e,r)}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=!1,keepCurrentModifiedModel:N=!1,theme:x=\"light\",loading:P=\"Loading...\",options:y={},height:V=\"100%\",width:z=\"100%\",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=re(!1),[T,s]=re(!0),u=S(null),c=S(null),w=S(null),d=S(q),o=S(A),b=S(!1);k(()=>{let i=Se.init();return i.then(f=>(c.current=f)&&s(!1)).catch(f=>f?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||\"\",t||n||\"text\",m||\"\");f!==i.getModel()&&i.setModel(f)}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");f!==i.getModel()&&i.setModel(f)}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||\"\"):r!==i.getValue()&&(i.executeEdits(\"\",[{range:i.getModel().getFullModelRange(),text:r||\"\",forceMoveMarkers:!0}]),i.pushUndoStop())},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||\"\")},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||\"text\"),c.current.editor.setModelLanguage(f,a||n||\"text\")},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x)},[x],M),l(()=>{u.current?.updateOptions(y)},[y],M);let L=oe(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||\"\",t||n||\"text\",m||\"\"),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");u.current?.setModel({original:i,modified:f})},[n,r,a,e,t,m,E]),U=oe(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...y}),L(),c.current?.editor.setTheme(x),O(!0),b.current=!0)},[y,x,L]);ne(()=>{M&&d.current(u.current,c.current)},[M]),ne(()=>{!T&&!M&&U()},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose()}return ke.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=Te(ie);import{useState as Ie}from\"react\";import ce from\"@monaco-editor/loader\";function Pe(){let[e,r]=Ie(ce.__getMonacoInstance());return k(()=>{let n;return e||(n=ce.init(),n.then(t=>{r(t)})),()=>n?.cancel()}),e}var Le=Pe;import{memo as ze}from\"react\";import We,{useState as ue,useEffect as W,useRef as C,useCallback as _e}from\"react\";import Ne from\"@monaco-editor/loader\";import{useEffect as Ue,useRef as ve}from\"react\";function He(e){let r=ve();return Ue(()=>{r.current=e},[e]),r.current}var se=He;var _=new Map;function Ve({defaultValue:e,defaultLanguage:r,defaultPath:n,value:t,language:a,path:m,theme:E=\"light\",line:g,loading:N=\"Loading...\",options:x={},overrideServices:P={},saveViewState:y=!0,keepCurrentModel:V=!1,width:z=\"100%\",height:F=\"100%\",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=ue(!1),[c,w]=ue(!0),d=C(null),o=C(null),b=C(null),L=C(M),U=C(q),I=C(),i=C(t),f=se(m),Q=C(!1),B=C(!1);k(()=>{let p=Ne.init();return p.then(R=>(d.current=R)&&w(!1)).catch(R=>R?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||\"\",r||a||\"\",m||n||\"\");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)))},[m],s),l(()=>{o.current?.updateOptions(x)},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=!0,o.current.executeEdits(\"\",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:!0}]),o.current.pushUndoStop(),B.current=!1))},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a)},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g)},[g],s),l(()=>{d.current?.editor.setTheme(E)},[E],s);let X=_e(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||\"\",r||a||\"\",p||\"\");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:!0,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(!0),Q.current=!0}},[e,r,n,t,a,m,x,P,y,E,g]);W(()=>{s&&L.current(o.current,d.current)},[s]),W(()=>{!c&&!s&&X()},[c,s,X]),i.current=t,W(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p)}))},[s,O]),W(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J)}});return()=>{p?.dispose()}}return()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose()}return We.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=ze(fe);var Ft=de;export{we as DiffEditor,de as Editor,Ft as default,_t as loader,Le as useMonaco};\n//# sourceMappingURL=index.mjs.map"],"names":["_arrayLikeToArray","r","a","e","_arrayWithHoles","_defineProperty","t","_toPropertyKey","_iterableToArrayLimit","l","n","u","f","o","_nonIterableRest","ownKeys","_objectSpread2","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","_slicedToArray","_unsupportedIterableToArray","_toPrimitive","obj","key","value","object","enumerableOnly","keys","symbols","sym","target","source","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","hasOwnProperty","property","validateChanges","initial","changes","errorHandler","field","validateSelector","selector","validateHandler","handler","_handler","validateInitial","throwError","errorMessages","type","validators","create","state","didUpdate","didStateUpdate","update","updateState","validate","getChanges","extractChanges","getState","setState","causedChanges","_handler$field","index","config","validateConfig","informAboutDeprecation","merge","CANCELATION_MESSAGE","makeCancelable","promise","hasCanceled_","wrappedPromise","resolve","reject","val","_excluded","_state$create","config$1","_state$create2","globalConfig","_validators$config","monaco","init","_ref","isInitialized","wrapperPromise","storeMonacoInstance","injectScripts","getMonacoLoaderScript","configureLoader","script","createScript","src","_ref2","loaderScript","_ref3","require","loaded","error","__getMonacoInstance","_ref4","loader","le","v","ae","Y","Me","me","Z","$","Ee","m","E","K","ee","H","ye","Ce","xe","k","he","Re","ge","D","h","De","be","te","Oe","g","N","V","z","F","j","A","q","M","O","re","T","s","S","c","w","d","b","Se","I","_b","_a","L","oe","U","ne","_c","_d","ke","ie","we","Te","Pe","Ie","ce","Le","He","ve","Ue","se","_","Ve","ue","C","Q","B","p","Ne","R","pe","X","_e","W","G","J","We","fe","de","ze","Ft"],"mappings":"sDAAA,SAASA,GAAkBC,EAAGC,EAAG,EACtBA,GAAR,MAAaA,EAAID,EAAE,UAAYC,EAAID,EAAE,QACtC,QAASE,EAAI,EAAG,EAAI,MAAMD,CAAC,EAAGC,EAAID,EAAGC,IAAK,EAAEA,CAAC,EAAIF,EAAEE,CAAC,EACpD,OAAO,CACT,CACA,SAASC,GAAgBH,EAAG,CAC1B,GAAI,MAAM,QAAQA,CAAC,EAAG,OAAOA,CAC/B,CACA,SAASI,GAAgB,EAAGJ,EAAGK,EAAG,CAChC,OAAQL,EAAIM,GAAeN,CAAC,KAAM,EAAI,OAAO,eAAe,EAAGA,EAAG,CAChE,MAAOK,EACP,WAAY,GACZ,aAAc,GACd,SAAU,EACd,CAAG,EAAI,EAAEL,CAAC,EAAIK,EAAG,CACjB,CACA,SAASE,GAAsBP,EAAGQ,EAAG,CACnC,IAAIH,EAAYL,GAAR,KAAY,KAAsB,OAAO,OAAtB,KAAgCA,EAAE,OAAO,QAAQ,GAAKA,EAAE,YAAY,EAC/F,GAAYK,GAAR,KAAW,CACb,IAAIH,EACFO,EACA,EACAC,EACAT,EAAI,CAAA,EACJU,EAAI,GACJC,EAAI,GACN,GAAI,CACF,GAAI,GAAKP,EAAIA,EAAE,KAAKL,CAAC,GAAG,KAAYQ,IAAN,EAAgB,KAAO,EAAEG,GAAKT,EAAI,EAAE,KAAKG,CAAC,GAAG,QAAUJ,EAAE,KAAKC,EAAE,KAAK,EAAGD,EAAE,SAAWO,GAAIG,EAAI,GAAG,CAChI,OAASX,EAAG,CACVY,EAAI,GAAMH,EAAIT,CAChB,QAAC,CACC,GAAI,CACF,GAAI,CAACW,GAAaN,EAAE,QAAV,OAAqBK,EAAIL,EAAE,OAAM,EAAI,OAAOK,CAAC,IAAMA,GAAI,MACnE,QAAC,CACC,GAAIE,EAAG,MAAMH,CACf,CACF,CACA,OAAOR,CACT,CACF,CACA,SAASY,IAAmB,CAC1B,MAAM,IAAI,UAAU;AAAA,mFAA2I,CACjK,CACA,SAASC,GAAQ,EAAGd,EAAG,CACrB,IAAIK,EAAI,OAAO,KAAK,CAAC,EACrB,GAAI,OAAO,sBAAuB,CAChC,IAAIO,EAAI,OAAO,sBAAsB,CAAC,EACtCZ,IAAMY,EAAIA,EAAE,OAAO,SAAUZ,EAAG,CAC9B,OAAO,OAAO,yBAAyB,EAAGA,CAAC,EAAE,UAC/C,CAAC,GAAIK,EAAE,KAAK,MAAMA,EAAGO,CAAC,CACxB,CACA,OAAOP,CACT,CACA,SAASU,GAAe,EAAG,CACzB,QAASf,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIK,EAAY,UAAUL,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAA,EAC9CA,EAAI,EAAIc,GAAQ,OAAOT,CAAC,EAAG,EAAI,EAAE,QAAQ,SAAUL,EAAG,CACpDI,GAAgB,EAAGJ,EAAGK,EAAEL,CAAC,CAAC,CAC5B,CAAC,EAAI,OAAO,0BAA4B,OAAO,iBAAiB,EAAG,OAAO,0BAA0BK,CAAC,CAAC,EAAIS,GAAQ,OAAOT,CAAC,CAAC,EAAE,QAAQ,SAAUL,EAAG,CAChJ,OAAO,eAAe,EAAGA,EAAG,OAAO,yBAAyBK,EAAGL,CAAC,CAAC,CACnE,CAAC,CACH,CACA,OAAO,CACT,CACA,SAASgB,GAAyB,EAAG,EAAG,CACtC,GAAY,GAAR,KAAW,MAAO,CAAA,EACtB,IAAIJ,EACFZ,EACAiB,EAAIC,GAA8B,EAAG,CAAC,EACxC,GAAI,OAAO,sBAAuB,CAChC,IAAIT,EAAI,OAAO,sBAAsB,CAAC,EACtC,IAAKT,EAAI,EAAGA,EAAIS,EAAE,OAAQT,IAAKY,EAAIH,EAAET,CAAC,EAAU,EAAE,QAAQY,CAAC,IAAlB,IAAuB,CAAA,EAAG,qBAAqB,KAAK,EAAGA,CAAC,IAAMK,EAAEL,CAAC,EAAI,EAAEA,CAAC,EACnH,CACA,OAAOK,CACT,CACA,SAASC,GAA8BlB,EAAGE,EAAG,CAC3C,GAAYF,GAAR,KAAW,MAAO,CAAA,EACtB,IAAIK,EAAI,CAAA,EACR,QAAS,KAAKL,EAAG,GAAI,CAAA,EAAG,eAAe,KAAKA,EAAG,CAAC,EAAG,CACjD,GAAWE,EAAE,QAAQ,CAAC,IAAlB,GAAqB,SACzBG,EAAE,CAAC,EAAIL,EAAE,CAAC,CACZ,CACA,OAAOK,CACT,CACA,SAASc,GAAenB,EAAGE,EAAG,CAC5B,OAAOC,GAAgBH,CAAC,GAAKO,GAAsBP,EAAGE,CAAC,GAAKkB,GAA4BpB,EAAGE,CAAC,GAAKW,GAAgB,CACnH,CACA,SAASQ,GAAahB,EAAGL,EAAG,CAC1B,GAAgB,OAAOK,GAAnB,UAAwB,CAACA,EAAG,OAAOA,EACvC,IAAIH,EAAIG,EAAE,OAAO,WAAW,EAC5B,GAAeH,IAAX,OAAc,CAChB,IAAIe,EAAIf,EAAE,KAAKG,EAAGL,CAAC,EACnB,GAAgB,OAAOiB,GAAnB,SAAsB,OAAOA,EACjC,MAAM,IAAI,UAAU,8CAA8C,CACpE,CACA,OAAqBjB,IAAb,SAAiB,OAAS,QAAQK,CAAC,CAC7C,CACA,SAASC,GAAeD,EAAG,CACzB,IAAIY,EAAII,GAAahB,EAAG,QAAQ,EAChC,OAAmB,OAAOY,GAAnB,SAAuBA,EAAIA,EAAI,EACxC,CACA,SAASG,GAA4BpB,EAAGC,EAAG,CACzC,GAAID,EAAG,CACL,GAAgB,OAAOA,GAAnB,SAAsB,OAAOD,GAAkBC,EAAGC,CAAC,EACvD,IAAII,EAAI,CAAA,EAAG,SAAS,KAAKL,CAAC,EAAE,MAAM,EAAG,EAAE,EACvC,OAAoBK,IAAb,UAAkBL,EAAE,cAAgBK,EAAIL,EAAE,YAAY,MAAiBK,IAAV,OAAyBA,IAAV,MAAc,MAAM,KAAKL,CAAC,EAAoBK,IAAhB,aAAqB,2CAA2C,KAAKA,CAAC,EAAIN,GAAkBC,EAAGC,CAAC,EAAI,MACvN,CACF,CC3GA,SAASG,GAAgBkB,EAAKC,EAAKC,EAAO,CACxC,OAAID,KAAOD,EACT,OAAO,eAAeA,EAAKC,EAAK,CAC9B,MAAOC,EACP,WAAY,GACZ,aAAc,GACd,SAAU,EAChB,CAAK,EAEDF,EAAIC,CAAG,EAAIC,EAGNF,CACT,CAEA,SAASR,GAAQW,EAAQC,EAAgB,CACvC,IAAIC,EAAO,OAAO,KAAKF,CAAM,EAE7B,GAAI,OAAO,sBAAuB,CAChC,IAAIG,EAAU,OAAO,sBAAsBH,CAAM,EAC7CC,IAAgBE,EAAUA,EAAQ,OAAO,SAAUC,EAAK,CAC1D,OAAO,OAAO,yBAAyBJ,EAAQI,CAAG,EAAE,UACtD,CAAC,GACDF,EAAK,KAAK,MAAMA,EAAMC,CAAO,CAC/B,CAEA,OAAOD,CACT,CAEA,SAASZ,GAAee,EAAQ,CAC9B,QAASb,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIc,EAAS,UAAUd,CAAC,GAAK,KAAO,UAAUA,CAAC,EAAI,CAAA,EAE/CA,EAAI,EACNH,GAAQ,OAAOiB,CAAM,EAAG,EAAI,EAAE,QAAQ,SAAUR,EAAK,CACnDnB,GAAgB0B,EAAQP,EAAKQ,EAAOR,CAAG,CAAC,CAC1C,CAAC,EACQ,OAAO,0BAChB,OAAO,iBAAiBO,EAAQ,OAAO,0BAA0BC,CAAM,CAAC,EAExEjB,GAAQ,OAAOiB,CAAM,CAAC,EAAE,QAAQ,SAAUR,EAAK,CAC7C,OAAO,eAAeO,EAAQP,EAAK,OAAO,yBAAyBQ,EAAQR,CAAG,CAAC,CACjF,CAAC,CAEL,CAEA,OAAOO,CACT,CAEA,SAASE,IAAU,CACjB,QAASC,EAAO,UAAU,OAAQC,EAAM,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAIC,CAAI,EAAI,UAAUA,CAAI,EAG5B,OAAO,SAAUC,EAAG,CAClB,OAAOF,EAAI,YAAY,SAAUG,EAAG1B,EAAG,CACrC,OAAOA,EAAE0B,CAAC,CACZ,EAAGD,CAAC,CACN,CACF,CAEA,SAASE,EAAMC,EAAI,CACjB,OAAO,SAASC,GAAU,CAGxB,QAFIC,EAAQ,KAEHC,EAAQ,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAK,EAAGE,EAAQ,EAAGA,EAAQF,EAAOE,IACpFD,EAAKC,CAAK,EAAI,UAAUA,CAAK,EAG/B,OAAOD,EAAK,QAAUJ,EAAG,OAASA,EAAG,MAAM,KAAMI,CAAI,EAAI,UAAY,CACnE,QAASE,EAAQ,UAAU,OAAQC,EAAW,IAAI,MAAMD,CAAK,EAAGE,EAAQ,EAAGA,EAAQF,EAAOE,IACxFD,EAASC,CAAK,EAAI,UAAUA,CAAK,EAGnC,OAAOP,EAAQ,MAAMC,EAAO,CAAA,EAAG,OAAOE,EAAMG,CAAQ,CAAC,CACvD,CACF,CACF,CAEA,SAASE,EAASxB,EAAO,CACvB,MAAO,CAAA,EAAG,SAAS,KAAKA,CAAK,EAAE,SAAS,QAAQ,CAClD,CAEA,SAASyB,GAAQ3B,EAAK,CACpB,MAAO,CAAC,OAAO,KAAKA,CAAG,EAAE,MAC3B,CAEA,SAAS4B,EAAW1B,EAAO,CACzB,OAAO,OAAOA,GAAU,UAC1B,CAEA,SAAS2B,GAAe1B,EAAQ2B,EAAU,CACxC,OAAO,OAAO,UAAU,eAAe,KAAK3B,EAAQ2B,CAAQ,CAC9D,CAEA,SAASC,GAAgBC,EAASC,EAAS,CACzC,OAAKP,EAASO,CAAO,GAAGC,EAAa,YAAY,EAC7C,OAAO,KAAKD,CAAO,EAAE,KAAK,SAAUE,EAAO,CAC7C,MAAO,CAACN,GAAeG,EAASG,CAAK,CACvC,CAAC,GAAGD,EAAa,aAAa,EACvBD,CACT,CAEA,SAASG,GAAiBC,EAAU,CAC7BT,EAAWS,CAAQ,GAAGH,EAAa,cAAc,CACxD,CAEA,SAASI,GAAgBC,EAAS,CAC1BX,EAAWW,CAAO,GAAKb,EAASa,CAAO,GAAIL,EAAa,aAAa,EACvER,EAASa,CAAO,GAAK,OAAO,OAAOA,CAAO,EAAE,KAAK,SAAUC,EAAU,CACvE,MAAO,CAACZ,EAAWY,CAAQ,CAC7B,CAAC,GAAGN,EAAa,cAAc,CACjC,CAEA,SAASO,GAAgBT,EAAS,CAC3BA,GAASE,EAAa,mBAAmB,EACzCR,EAASM,CAAO,GAAGE,EAAa,aAAa,EAC9CP,GAAQK,CAAO,GAAGE,EAAa,gBAAgB,CACrD,CAEA,SAASQ,GAAWC,EAAeC,EAAM,CACvC,MAAM,IAAI,MAAMD,EAAcC,CAAI,GAAKD,EAAc,OAAU,CACjE,CAEA,IAAIA,GAAgB,CAClB,kBAAmB,4BACnB,YAAa,oCACb,eAAgB,6CAChB,YAAa,4CACb,aAAc,qCACd,aAAc,gCACd,WAAY,gDACZ,YAAa,iGACb,QAAW,mDACb,EACIT,EAAelB,EAAM0B,EAAU,EAAEC,EAAa,EAC9CE,EAAa,CACf,QAASd,GACT,SAAUK,GACV,QAASE,GACT,QAASG,EACX,EAEA,SAASK,GAAOd,EAAS,CACvB,IAAIO,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAClFM,EAAW,QAAQb,CAAO,EAC1Ba,EAAW,QAAQN,CAAO,EAC1B,IAAIQ,EAAQ,CACV,QAASf,CACb,EACMgB,EAAYhC,EAAMiC,EAAc,EAAEF,EAAOR,CAAO,EAChDW,EAASlC,EAAMmC,EAAW,EAAEJ,CAAK,EACjCK,EAAWpC,EAAM6B,EAAW,OAAO,EAAEb,CAAO,EAC5CqB,EAAarC,EAAMsC,EAAc,EAAEP,CAAK,EAE5C,SAASQ,GAAW,CAClB,IAAIlB,EAAW,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,SAAUU,EAAO,CAClG,OAAOA,CACT,EACAF,OAAAA,EAAW,SAASR,CAAQ,EACrBA,EAASU,EAAM,OAAO,CAC/B,CAEA,SAASS,EAASC,EAAe,CAC/B/C,GAAQsC,EAAWE,EAAQE,EAAUC,CAAU,EAAEI,CAAa,CAChE,CAEA,MAAO,CAACF,EAAUC,CAAQ,CAC5B,CAEA,SAASF,GAAeP,EAAOU,EAAe,CAC5C,OAAO7B,EAAW6B,CAAa,EAAIA,EAAcV,EAAM,OAAO,EAAIU,CACpE,CAEA,SAASN,GAAYJ,EAAOd,EAAS,CACnC,OAAAc,EAAM,QAAUtD,GAAeA,GAAe,CAAA,EAAIsD,EAAM,OAAO,EAAGd,CAAO,EAClEA,CACT,CAEA,SAASgB,GAAeF,EAAOR,EAASN,EAAS,CAC/C,OAAAL,EAAWW,CAAO,EAAIA,EAAQQ,EAAM,OAAO,EAAI,OAAO,KAAKd,CAAO,EAAE,QAAQ,SAAUE,EAAO,CAC3F,IAAIuB,EAEJ,OAAQA,EAAiBnB,EAAQJ,CAAK,KAAO,MAAQuB,IAAmB,OAAS,OAASA,EAAe,KAAKnB,EAASQ,EAAM,QAAQZ,CAAK,CAAC,CAC7I,CAAC,EACMF,CACT,CAEA,IAAI0B,GAAQ,CACV,OAAQb,EACV,EC9LIc,GAAS,CACX,MAAO,CACL,GAAI,0DACR,CACA,ECJA,SAAS5C,GAAMC,EAAI,CACjB,OAAO,SAASC,GAAU,CAExB,QADIC,EAAQ,KACHR,EAAO,UAAU,OAAQU,EAAO,IAAI,MAAMV,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/EQ,EAAKR,CAAI,EAAI,UAAUA,CAAI,EAE7B,OAAOQ,EAAK,QAAUJ,EAAG,OAASA,EAAG,MAAM,KAAMI,CAAI,EAAI,UAAY,CACnE,QAASD,EAAQ,UAAU,OAAQI,EAAW,IAAI,MAAMJ,CAAK,EAAGE,EAAQ,EAAGA,EAAQF,EAAOE,IACxFE,EAASF,CAAK,EAAI,UAAUA,CAAK,EAEnC,OAAOJ,EAAQ,MAAMC,EAAO,CAAA,EAAG,OAAOE,EAAMG,CAAQ,CAAC,CACvD,CACF,CACF,CCbA,SAASE,GAASxB,EAAO,CACvB,MAAO,CAAA,EAAG,SAAS,KAAKA,CAAK,EAAE,SAAS,QAAQ,CAClD,CCMA,SAAS2D,GAAeD,EAAQ,CAG9B,OAFKA,GAAQ1B,GAAa,kBAAkB,EACvCR,GAASkC,CAAM,GAAG1B,GAAa,YAAY,EAC5C0B,EAAO,MACTE,GAAsB,EACf,CACL,MAAO,CACL,GAAIF,EAAO,KAAK,UACxB,CACA,GAESA,CACT,CAKA,SAASE,IAAyB,CAChC,QAAQ,KAAKnB,GAAc,WAAW,CACxC,CACA,SAASD,GAAWC,EAAeC,EAAM,CACvC,MAAM,IAAI,MAAMD,EAAcC,CAAI,GAAKD,EAAc,OAAU,CACjE,CACA,IAAIA,GAAgB,CAClB,iBAAkB,uCAClB,WAAY,+CACZ,QAAW,8DACX,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GACf,EACIT,GAAelB,GAAM0B,EAAU,EAAEC,EAAa,EAC9CE,GAAa,CACf,OAAQgB,EACV,ECxCInD,GAAU,UAAmB,CAC/B,QAASC,EAAO,UAAU,OAAQC,EAAM,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAIC,CAAI,EAAI,UAAUA,CAAI,EAE5B,OAAO,SAAUC,EAAG,CAClB,OAAOF,EAAI,YAAY,SAAUG,EAAG1B,EAAG,CACrC,OAAOA,EAAE0B,CAAC,CACZ,EAAGD,CAAC,CACN,CACF,ECPA,SAASiD,GAAMvD,EAAQC,EAAQ,CAC7B,cAAO,KAAKA,CAAM,EAAE,QAAQ,SAAUR,EAAK,CACrCQ,EAAOR,CAAG,YAAa,QACrBO,EAAOP,CAAG,GACZ,OAAO,OAAOQ,EAAOR,CAAG,EAAG8D,GAAMvD,EAAOP,CAAG,EAAGQ,EAAOR,CAAG,CAAC,CAAC,CAGhE,CAAC,EACMR,GAAeA,GAAe,CAAA,EAAIe,CAAM,EAAGC,CAAM,CAC1D,CCTA,IAAIuD,GAAsB,CACxB,KAAM,cACN,IAAK,gCACP,EACA,SAASC,GAAeC,EAAS,CAC/B,IAAIC,EAAe,GACfC,EAAiB,IAAI,QAAQ,SAAUC,EAASC,EAAQ,CAC1DJ,EAAQ,KAAK,SAAUK,EAAK,CAC1B,OAAOJ,EAAeG,EAAON,EAAmB,EAAIK,EAAQE,CAAG,CACjE,CAAC,EACDL,EAAQ,MAASI,CAAM,CACzB,CAAC,EACD,OAAOF,EAAe,OAAS,UAAY,CACzC,OAAOD,EAAe,EACxB,EAAGC,CACL,CCTA,IAAII,GAAY,CAAC,QAAQ,EAGrBC,GAAgB1B,GAAM,OAAO,CAC7B,OAAQ2B,GACR,cAAe,GACf,QAAS,KACT,OAAQ,KACR,OAAQ,IACZ,CAAG,EACDC,GAAiB9E,GAAe4E,GAAe,CAAC,EAChDlB,EAAWoB,GAAe,CAAC,EAC3BnB,EAAWmB,GAAe,CAAC,EAM7B,SAASf,GAAOgB,EAAc,CAC5B,IAAIC,EAAqBhC,GAAW,OAAO+B,CAAY,EACrDE,EAASD,EAAmB,OAC5BjB,EAASlE,GAAyBmF,EAAoBL,EAAS,EACjEhB,EAAS,SAAUT,EAAO,CACxB,MAAO,CACL,OAAQgB,GAAMhB,EAAM,OAAQa,CAAM,EAClC,OAAQkB,CACd,CACE,CAAC,CACH,CAMA,SAASC,IAAO,CACd,IAAIhC,EAAQQ,EAAS,SAAUyB,EAAM,CACnC,IAAIF,EAASE,EAAK,OAChBC,EAAgBD,EAAK,cACrBX,EAAUW,EAAK,QACjB,MAAO,CACL,OAAQF,EACR,cAAeG,EACf,QAASZ,CACf,CACE,CAAC,EACD,GAAI,CAACtB,EAAM,cAAe,CAIxB,GAHAS,EAAS,CACP,cAAe,EACrB,CAAK,EACGT,EAAM,OACR,OAAAA,EAAM,QAAQA,EAAM,MAAM,EACnBkB,GAAeiB,EAAc,EAEtC,GAAI,OAAO,QAAU,OAAO,OAAO,OACjC,OAAAC,GAAoB,OAAO,MAAM,EACjCpC,EAAM,QAAQ,OAAO,MAAM,EACpBkB,GAAeiB,EAAc,EAEtCxE,GAAQ0E,GAAeC,EAAqB,EAAEC,EAAe,CAC/D,CACA,OAAOrB,GAAeiB,EAAc,CACtC,CAOA,SAASE,GAAcG,EAAQ,CAC7B,OAAO,SAAS,KAAK,YAAYA,CAAM,CACzC,CAOA,SAASC,GAAaC,EAAK,CACzB,IAAIF,EAAS,SAAS,cAAc,QAAQ,EAC5C,OAAOE,IAAQF,EAAO,IAAME,GAAMF,CACpC,CAMA,SAASF,GAAsBC,EAAiB,CAC9C,IAAIvC,EAAQQ,EAAS,SAAUmC,EAAO,CACpC,IAAI9B,EAAS8B,EAAM,OACjBpB,EAASoB,EAAM,OACjB,MAAO,CACL,OAAQ9B,EACR,OAAQU,CACd,CACE,CAAC,EACGqB,EAAeH,GAAa,GAAG,OAAOzC,EAAM,OAAO,MAAM,GAAI,YAAY,CAAC,EAC9E,OAAA4C,EAAa,OAAS,UAAY,CAChC,OAAOL,EAAe,CACxB,EACAK,EAAa,QAAU5C,EAAM,OACtB4C,CACT,CAKA,SAASL,IAAkB,CACzB,IAAIvC,EAAQQ,EAAS,SAAUqC,EAAO,CACpC,IAAIhC,EAASgC,EAAM,OACjBvB,EAAUuB,EAAM,QAChBtB,EAASsB,EAAM,OACjB,MAAO,CACL,OAAQhC,EACR,QAASS,EACT,OAAQC,CACd,CACE,CAAC,EACGuB,EAAU,OAAO,QACrBA,EAAQ,OAAO9C,EAAM,MAAM,EAC3B8C,EAAQ,CAAC,uBAAuB,EAAG,SAAUC,EAAQ,CACnD,IAAIhB,EAASgB,EAAO,GAA2BA,EAC/CX,GAAoBL,CAAM,EAC1B/B,EAAM,QAAQ+B,CAAM,CACtB,EAAG,SAAUiB,EAAO,CAClBhD,EAAM,OAAOgD,CAAK,CACpB,CAAC,CACH,CAKA,SAASZ,GAAoBL,EAAQ,CAC9BvB,EAAQ,EAAG,QACdC,EAAS,CACP,OAAQsB,CACd,CAAK,CAEL,CAOA,SAASkB,IAAsB,CAC7B,OAAOzC,EAAS,SAAU0C,EAAO,CAC/B,IAAInB,EAASmB,EAAM,OACnB,OAAOnB,CACT,CAAC,CACH,CACA,IAAII,GAAiB,IAAI,QAAQ,SAAUb,EAASC,EAAQ,CAC1D,OAAOd,EAAS,CACd,QAASa,EACT,OAAQC,CACZ,CAAG,CACH,CAAC,EACG4B,EAAS,CACX,OAAQtC,GACR,KAAMmB,GACN,oBAAqBiB,EACvB,ECxKqPG,GAAG,CAAC,QAAQ,CAAC,QAAQ,OAAO,SAAS,WAAW,UAAU,SAAS,EAAE,UAAU,CAAC,MAAM,MAAM,EAAE,KAAK,CAAC,QAAQ,MAAM,CAAC,EAAEC,GAAED,GAA6BE,GAAG,CAAC,UAAU,CAAC,QAAQ,OAAO,OAAO,OAAO,MAAM,OAAO,eAAe,SAAS,WAAW,QAAQ,CAAC,EAAEC,GAAED,GAAG,SAASE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,OAAOC,EAAG,cAAc,MAAM,CAAC,MAAMF,GAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAIG,GAAEF,GAAOG,GAAED,GAAE,SAASE,GAAG,CAAC,MAAM,EAAE,OAAOjI,EAAE,cAAcS,EAAE,QAAQJ,EAAE,KAAKJ,EAAE,UAAUiI,EAAE,aAAaC,CAAC,EAAE,CAAC,OAAOC,EAAE,cAAc,UAAU,CAAC,MAAM,CAAC,GAAGV,GAAE,QAAQ,MAAM,EAAE,OAAO1H,CAAC,EAAE,GAAGmI,CAAC,EAAE,CAAC1H,GAAG2H,EAAE,cAAcJ,GAAE,KAAK3H,CAAC,EAAE+H,EAAE,cAAc,MAAM,CAAC,IAAInI,EAAE,MAAM,CAAC,GAAGyH,GAAE,UAAU,GAAG,CAACjH,GAAGiH,GAAE,IAAI,EAAE,UAAUQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIG,GAAGJ,GAAOK,GAAEC,EAAAA,KAAGF,EAAE,EAAqC,SAASG,GAAG,EAAE,CAACC,EAAAA,UAAG,EAAE,CAAA,CAAE,CAAC,CAAC,IAAIC,GAAEF,GAAmD,SAASG,GAAG,EAAE3I,EAAES,EAAE,GAAG,CAAC,IAAIJ,EAAEuI,SAAG,EAAE,EAAEC,YAAGxI,EAAE,SAAS,CAACI,EAAE,IAAI,CAACJ,EAAE,QAAQ,EAAE,EAAE,EAAEL,CAAC,CAAC,CAAC,IAAIQ,EAAEmI,GAAG,SAASG,GAAG,CAAC,CAAC,SAASC,EAAE,EAAE/I,EAAES,EAAEJ,EAAE,CAAC,OAAO2I,GAAG,EAAE3I,CAAC,GAAG4I,GAAG,EAAEjJ,EAAES,EAAEJ,CAAC,CAAC,CAAC,SAAS2I,GAAG,EAAEhJ,EAAE,CAAC,OAAO,EAAE,OAAO,SAASkJ,GAAG,EAAElJ,CAAC,CAAC,CAAC,CAAC,SAASiJ,GAAG,EAAEjJ,EAAES,EAAEJ,EAAE,CAAC,OAAO,EAAE,OAAO,YAAYL,EAAES,EAAEJ,EAAE6I,GAAG,EAAE7I,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS6I,GAAG,EAAElJ,EAAE,CAAC,OAAO,EAAE,IAAI,MAAMA,CAAC,CAAC,CAAC,SAASmJ,GAAG,CAAC,SAAS,EAAE,SAASnJ,EAAE,SAASS,EAAE,iBAAiBJ,EAAE,iBAAiBJ,EAAE,kBAAkBiI,EAAE,kBAAkBC,EAAE,yBAAyBiB,EAAE,GAAG,yBAAyBC,EAAE,GAAG,MAAMjH,EAAE,QAAQ,QAAQ,EAAE,aAAa,QAAQC,EAAE,CAAA,EAAG,OAAOiH,EAAE,OAAO,MAAMC,EAAE,OAAO,UAAUC,EAAE,aAAaC,EAAE,CAAA,EAAG,YAAYC,EAAEZ,EAAE,QAAQa,GAAEb,CAAC,EAAE,CAAC,GAAG,CAACc,EAAEC,CAAC,EAAEC,WAAG,EAAE,EAAE,CAACC,EAAEC,CAAC,EAAEF,EAAAA,SAAG,EAAE,EAAEpJ,EAAEuJ,EAAAA,OAAE,IAAI,EAAEC,EAAED,SAAE,IAAI,EAAEE,EAAEF,EAAAA,OAAE,IAAI,EAAEG,EAAEH,SAAEN,EAAC,EAAE/I,EAAEqJ,EAAAA,OAAEP,CAAC,EAAEW,EAAEJ,EAAAA,OAAE,EAAE,EAAEvB,GAAE,IAAI,CAAC,IAAIzH,EAAEqJ,EAAG,KAAI,EAAG,OAAOrJ,EAAE,KAAK,IAAIiJ,EAAE,QAAQ,IAAIF,EAAE,EAAE,CAAC,EAAE,MAAM,IAAG,iBAAG,QAAO,eAAe,QAAQ,MAAM,gCAAgC,CAAC,CAAC,EAAE,IAAItJ,EAAE,QAAQ6J,EAAC,EAAGtJ,EAAE,OAAM,CAAE,CAAC,EAAET,EAAE,IAAI,CAAC,GAAGE,EAAE,SAASwJ,EAAE,QAAQ,CAAC,IAAIjJ,EAAEP,EAAE,QAAQ,kBAAiB,EAAG,EAAEqI,EAAEmB,EAAE,QAAQ,GAAG,GAAG7J,GAAGI,GAAG,OAAOyH,GAAG,EAAE,EAAE,IAAIjH,EAAE,YAAYA,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAACiH,CAAC,EAAE0B,CAAC,EAAEpJ,EAAE,IAAI,CAAC,GAAGE,EAAE,SAASwJ,EAAE,QAAQ,CAAC,IAAIjJ,EAAEP,EAAE,QAAQ,kBAAiB,EAAG,EAAEqI,EAAEmB,EAAE,QAAQlK,GAAG,GAAGC,GAAGQ,GAAG,OAAO0H,GAAG,EAAE,EAAE,IAAIlH,EAAE,SAAQ,GAAIA,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAACkH,CAAC,EAAEyB,CAAC,EAAEpJ,EAAE,IAAI,CAAC,IAAIS,EAAEP,EAAE,QAAQ,kBAAiB,EAAGO,EAAE,UAAUiJ,EAAE,QAAQ,OAAO,aAAa,QAAQ,EAAEjJ,EAAE,SAASjB,GAAG,EAAE,EAAEA,IAAIiB,EAAE,SAAQ,IAAKA,EAAE,aAAa,GAAG,CAAC,CAAC,MAAMA,EAAE,SAAQ,EAAG,kBAAiB,EAAG,KAAKjB,GAAG,GAAG,iBAAiB,EAAE,CAAC,CAAC,EAAEiB,EAAE,aAAY,EAAG,EAAE,CAACjB,CAAC,EAAE4J,CAAC,EAAEpJ,EAAE,IAAI,UAACgK,GAAAC,EAAA/J,EAAE,UAAF,YAAA+J,EAAW,aAAX,MAAAD,EAAuB,SAAS,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,EAAEZ,CAAC,EAAEpJ,EAAE,IAAI,CAAC,GAAG,CAAC,SAASS,EAAE,SAAS,CAAC,EAAEP,EAAE,QAAQ,WAAWwJ,EAAE,QAAQ,OAAO,iBAAiBjJ,EAAEZ,GAAGI,GAAG,MAAM,EAAEyJ,EAAE,QAAQ,OAAO,iBAAiB,EAAEjK,GAAGQ,GAAG,MAAM,CAAC,EAAE,CAACA,EAAEJ,EAAEJ,CAAC,EAAE2J,CAAC,EAAEpJ,EAAE,IAAI,QAACiK,EAAAP,EAAE,UAAF,MAAAO,EAAW,OAAO,SAASrI,EAAE,EAAE,CAACA,CAAC,EAAEwH,CAAC,EAAEpJ,EAAE,IAAI,QAACiK,EAAA/J,EAAE,UAAF,MAAA+J,EAAW,cAAcpI,EAAE,EAAE,CAACA,CAAC,EAAEuH,CAAC,EAAE,IAAIc,EAAEC,EAAAA,YAAG,IAAI,OAAC,GAAG,CAACT,EAAE,QAAQ,OAAOtJ,EAAE,QAAQsJ,EAAE,OAAO,EAAE,IAAIjJ,EAAE8H,EAAEmB,EAAE,QAAQ,GAAG,GAAG7J,GAAGI,GAAG,OAAOyH,GAAG,EAAE,EAAE,EAAEa,EAAEmB,EAAE,QAAQlK,GAAG,GAAGC,GAAGQ,GAAG,OAAO0H,GAAG,EAAE,GAAEsC,EAAA/J,EAAE,UAAF,MAAA+J,EAAW,SAAS,CAAC,SAASxJ,EAAE,SAAS,CAAC,EAAE,EAAE,CAACR,EAAET,EAAEC,EAAE,EAAEI,EAAE6H,EAAEC,CAAC,CAAC,EAAEyC,EAAED,EAAAA,YAAG,IAAI,OAAC,CAACN,EAAE,SAASF,EAAE,UAAUzJ,EAAE,QAAQwJ,EAAE,QAAQ,OAAO,iBAAiBC,EAAE,QAAQ,CAAC,gBAAgB,GAAG,GAAG9H,CAAC,CAAC,EAAEqI,EAAC,GAAGD,EAAAP,EAAE,UAAF,MAAAO,EAAW,OAAO,SAASrI,GAAGyH,EAAE,EAAE,EAAEQ,EAAE,QAAQ,GAAG,EAAE,CAAChI,EAAED,EAAEsI,CAAC,CAAC,EAAEG,YAAG,IAAI,CAACjB,GAAGQ,EAAE,QAAQ1J,EAAE,QAAQwJ,EAAE,OAAO,CAAC,EAAE,CAACN,CAAC,CAAC,EAAEiB,YAAG,IAAI,CAAC,CAACd,GAAG,CAACH,GAAGgB,EAAC,CAAE,EAAE,CAACb,EAAEH,EAAEgB,CAAC,CAAC,EAAE,SAASL,GAAG,aAAC,IAAItJ,GAAEwJ,EAAA/J,EAAE,UAAF,YAAA+J,EAAW,WAAWrB,KAAGoB,EAAAvJ,GAAA,YAAAA,EAAG,WAAH,MAAAuJ,EAAa,WAAUnB,KAAGyB,EAAA7J,GAAA,YAAAA,EAAG,WAAH,MAAA6J,EAAa,YAAUC,EAAArK,EAAE,UAAF,MAAAqK,EAAW,SAAS,CAAC,OAAOC,EAAG,cAAc1C,GAAE,CAAC,MAAMiB,EAAE,OAAOD,EAAE,cAAcM,EAAE,QAAQ,EAAE,KAAKO,EAAE,UAAUX,EAAE,aAAaC,CAAC,CAAC,CAAC,CAAC,IAAIwB,GAAG9B,GAAO+B,GAAGC,OAAGF,EAAE,EAA0E,SAASG,IAAI,CAAC,GAAG,CAAC,EAAEpL,CAAC,EAAEqL,EAAAA,SAAGC,EAAG,oBAAmB,CAAE,EAAE,OAAO5C,GAAE,IAAI,CAAC,IAAIjI,EAAE,OAAO,IAAIA,EAAE6K,EAAG,OAAO7K,EAAE,KAAKJ,GAAG,CAACL,EAAEK,CAAC,CAAC,CAAC,GAAG,IAAII,GAAA,YAAAA,EAAG,QAAQ,CAAC,EAAE,CAAC,CAAI,IAAC8K,GAAGH,GAA0M,SAASI,GAAG,EAAE,CAAC,IAAIxL,EAAEyL,SAAE,EAAG,OAAOC,EAAAA,UAAG,IAAI,CAAC1L,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEA,EAAE,OAAO,CAAC,IAAI2L,GAAGH,GAAOI,EAAE,IAAI,IAAI,SAASC,GAAG,CAAC,aAAa,EAAE,gBAAgB7L,EAAE,YAAYS,EAAE,MAAMJ,EAAE,SAASJ,EAAE,KAAKiI,EAAE,MAAMC,EAAE,QAAQ,KAAKiB,EAAE,QAAQC,EAAE,aAAa,QAAQjH,EAAE,CAAA,EAAG,iBAAiB,EAAE,CAAA,EAAG,cAAcC,EAAE,GAAG,iBAAiBiH,EAAE,GAAG,MAAMC,EAAE,OAAO,OAAOC,EAAE,OAAO,UAAUC,EAAE,aAAaC,EAAE,CAAA,EAAG,YAAYC,GAAEb,EAAE,QAAQc,EAAEd,EAAE,SAASe,EAAE,WAAWE,EAAEjB,CAAC,EAAE,CAAC,GAAG,CAACkB,EAAEtJ,CAAC,EAAEoL,EAAAA,SAAG,EAAE,EAAE,CAAC5B,EAAEC,CAAC,EAAE2B,EAAAA,SAAG,EAAE,EAAE1B,EAAE2B,EAAAA,OAAE,IAAI,EAAEnL,EAAEmL,SAAE,IAAI,EAAE1B,EAAE0B,EAAAA,OAAE,IAAI,EAAErB,EAAEqB,EAAAA,OAAEnC,CAAC,EAAEgB,EAAEmB,EAAAA,OAAEpC,EAAC,EAAEY,EAAEwB,EAAAA,SAAI9K,EAAE8K,EAAAA,OAAE1L,CAAC,EAAE,EAAEsL,GAAGzD,CAAC,EAAE8D,EAAED,EAAAA,OAAE,EAAE,EAAEE,EAAEF,SAAE,EAAE,EAAErD,GAAE,IAAI,CAAC,IAAIwD,EAAEC,EAAG,KAAI,EAAG,OAAOD,EAAE,KAAKE,IAAIhC,EAAE,QAAQgC,IAAIjC,EAAE,EAAE,CAAC,EAAE,MAAMiC,IAAGA,GAAA,YAAAA,EAAG,QAAO,eAAe,QAAQ,MAAM,gCAAgCA,CAAC,CAAC,EAAE,IAAIxL,EAAE,QAAQyL,GAAE,EAAGH,EAAE,OAAM,CAAE,CAAC,EAAE1L,EAAE,IAAI,aAAC,IAAI0L,EAAEnD,EAAEqB,EAAE,QAAQ,GAAG/J,GAAG,GAAGL,GAAGC,GAAG,GAAGiI,GAAGzH,GAAG,EAAE,EAAEyL,MAAIzB,EAAA7J,EAAE,UAAF,YAAA6J,EAAW,cAAapI,GAAGuJ,EAAE,IAAI,GAAEpB,EAAA5J,EAAE,UAAF,YAAA4J,EAAW,eAAe,GAAEM,EAAAlK,EAAE,UAAF,MAAAkK,EAAW,SAASoB,GAAG7J,KAAG0I,EAAAnK,EAAE,UAAF,MAAAmK,EAAW,iBAAiBa,EAAE,IAAI1D,CAAC,IAAG,EAAE,CAACA,CAAC,EAAE8B,CAAC,EAAExJ,EAAE,IAAI,QAACiK,EAAA7J,EAAE,UAAF,MAAA6J,EAAW,cAAcrI,EAAE,EAAE,CAACA,CAAC,EAAE4H,CAAC,EAAExJ,EAAE,IAAI,CAAC,CAACI,EAAE,SAASP,IAAI,SAASO,EAAE,QAAQ,UAAUwJ,EAAE,QAAQ,OAAO,aAAa,QAAQ,EAAExJ,EAAE,QAAQ,SAASP,CAAC,EAAEA,IAAIO,EAAE,QAAQ,SAAQ,IAAKqL,EAAE,QAAQ,GAAGrL,EAAE,QAAQ,aAAa,GAAG,CAAC,CAAC,MAAMA,EAAE,QAAQ,WAAW,kBAAiB,EAAG,KAAKP,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAEO,EAAE,QAAQ,aAAY,EAAGqL,EAAE,QAAQ,IAAI,EAAE,CAAC5L,CAAC,EAAE2J,CAAC,EAAExJ,EAAE,IAAI,SAAC,IAAI0L,GAAEzB,EAAA7J,EAAE,UAAF,YAAA6J,EAAW,WAAWyB,GAAGjM,KAAGuK,EAAAJ,EAAE,UAAF,MAAAI,EAAW,OAAO,iBAAiB0B,EAAEjM,GAAE,EAAE,CAACA,CAAC,EAAE+J,CAAC,EAAExJ,EAAE,IAAI,OAAC4I,IAAI,UAAQqB,EAAA7J,EAAE,UAAF,MAAA6J,EAAW,WAAWrB,GAAE,EAAE,CAACA,CAAC,EAAEY,CAAC,EAAExJ,EAAE,IAAI,QAACiK,EAAAL,EAAE,UAAF,MAAAK,EAAW,OAAO,SAAStC,EAAE,EAAE,CAACA,CAAC,EAAE6B,CAAC,EAAE,IAAIsC,EAAEC,EAAAA,YAAG,IAAI,OAAC,GAAG,EAAE,CAAClC,EAAE,SAAS,CAACD,EAAE,UAAU,CAAC4B,EAAE,QAAQ,CAACpB,EAAE,QAAQR,EAAE,OAAO,EAAE,IAAI8B,EAAEhE,GAAGzH,EAAE2L,EAAErD,EAAEqB,EAAE,QAAQ/J,GAAG,GAAG,GAAGL,GAAGC,GAAG,GAAGiM,GAAG,EAAE,EAAEtL,EAAE,SAAQ6J,EAAAL,EAAE,UAAF,YAAAK,EAAW,OAAO,OAAOJ,EAAE,QAAQ,CAAC,MAAM+B,EAAE,gBAAgB,GAAG,GAAGhK,CAAC,EAAE,GAAGC,GAAGzB,EAAE,QAAQ,iBAAiBgL,EAAE,IAAIM,CAAC,CAAC,EAAE9B,EAAE,QAAQ,OAAO,SAASjC,CAAC,EAAEiB,IAAI,QAAQxI,EAAE,QAAQ,WAAWwI,CAAC,EAAE1I,EAAE,EAAE,EAAEsL,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAEhM,EAAES,EAAEJ,EAAEJ,EAAEiI,EAAE9F,EAAE,EAAEC,EAAE8F,EAAEiB,CAAC,CAAC,EAAEoD,EAAAA,UAAE,IAAI,CAACxC,GAAGU,EAAE,QAAQ9J,EAAE,QAAQwJ,EAAE,OAAO,CAAC,EAAE,CAACJ,CAAC,CAAC,EAAEwC,EAAAA,UAAE,IAAI,CAAC,CAACtC,GAAG,CAACF,GAAGsC,EAAC,CAAE,EAAE,CAACpC,EAAEF,EAAEsC,CAAC,CAAC,EAAErL,EAAE,QAAQZ,EAAEmM,EAAAA,UAAE,IAAI,SAACxC,GAAGH,KAAIY,EAAAF,EAAE,UAAF,MAAAE,EAAW,UAAUF,EAAE,SAAQC,EAAA5J,EAAE,UAAF,YAAA4J,EAAW,wBAAwB0B,GAAG,CAACD,EAAE,SAASpC,EAAEjJ,EAAE,QAAQ,SAAQ,EAAGsL,CAAC,CAAC,GAAG,EAAE,CAAClC,EAAEH,CAAC,CAAC,EAAE2C,YAAE,IAAI,CAAC,GAAGxC,EAAE,CAAC,IAAIkC,EAAE9B,EAAE,QAAQ,OAAO,mBAAmBgC,GAAG,OAAC,IAAIK,GAAEhC,EAAA7J,EAAE,QAAQ,aAAV,YAAA6J,EAAsB,IAAI,GAAGgC,GAAGL,EAAE,KAAKM,GAAGA,EAAE,OAAOD,EAAE,IAAI,EAAE,CAAC,IAAIC,EAAEtC,EAAE,QAAQ,OAAO,gBAAgB,CAAC,SAASqC,CAAC,CAAC,EAAE1C,GAAA,MAAAA,EAAI2C,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,CAACR,GAAA,MAAAA,EAAG,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAClC,EAAED,CAAC,CAAC,EAAE,SAASsC,IAAI,UAAC5B,EAAAF,EAAE,UAAF,MAAAE,EAAW,UAAUnB,EAAEjH,GAAGuJ,EAAE,IAAI1D,EAAEtH,EAAE,QAAQ,cAAa,CAAE,GAAE4J,EAAA5J,EAAE,QAAQ,SAAQ,IAAlB,MAAA4J,EAAsB,UAAU5J,EAAE,QAAQ,QAAO,CAAE,CAAC,OAAO+L,EAAG,cAAcrE,GAAE,CAAC,MAAMiB,EAAE,OAAOC,EAAE,cAAcQ,EAAE,QAAQX,EAAE,KAAKgB,EAAE,UAAUZ,EAAE,aAAaC,CAAC,CAAC,CAAC,CAAC,IAAIkD,GAAGf,GAAOgB,GAAGC,OAAGF,EAAE,EAAMG,GAAGF","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as u,j as e,c as T}from"./react-vendor-BmQ2Ko_D.js";import{S as O,c as y,h as V,F as $,A}from"./index-DLlW4q4v.js";import{S as k,B as oe,P as de,b as ue,D as me,c as xe,d as fe,e as he}from"./HomePage-jkIz_s7u.js";import{B as _}from"./editor-refs-store-DKOJcTAk.js";import{e as pe,Q as P,x as ge}from"./ui-vendor-DpjQWJgX.js";import{u as M,a as K,b as je,d as ve}from"./MonacoPluginProvider-CE5NPGwN.js";import{ad as Q,ae as we}from"./radix-ui-DFNP5I4e.js";import"./query-vendor--rhYD8mC.js";import"./monaco-editor-DJsdM0WK.js";import"./state-vendor-Cq67_JbF.js";function X(s){const[t]=u.useState(()=>Date.now()),r=s??t,[a,n]=u.useState(()=>Date.now());return u.useEffect(()=>{const c=setInterval(()=>n(Date.now()),100);return()=>clearInterval(c)},[]),Math.max(0,(a-r)/1e3)}function be(s){var t,r;if(!s)return null;try{const a=JSON.parse(s);if(!a||typeof a!="object")return null;const n=new Map,c=[a];for(;c.length>0;){const l=c.pop();if(!l||typeof l!="object")continue;const{name:i,children:f}=l;typeof i=="string"&&n.set(i,(n.get(i)??0)+1),Array.isArray(f)&&c.push(...f)}const d=[["slide","slide","slides"],["section","section","sections"],["visual","visual","visuals"],["chart","chart","charts"],["image","image","images"],["table","table","tables"],["shape","shape","shapes"],["paragraph","paragraph","paragraphs"]].map(([l,i,f])=>{const x=n.get(l)??0;return{label:x===1?i:f,count:x}}).filter(l=>l.count>0).slice(0,5),m=(r=(t=a.props)==null?void 0:t.metadata)==null?void 0:r.title;return{title:typeof m=="string"?m:void 0,counts:d,visualCount:(n.get("visual")??0)+(n.get("chart")??0),imageCount:n.get("image")??0}}catch{return null}}function Ne(s){const t=[];return s&&s.visualCount>0&&t.push(`${s.visualCount} visual${s.visualCount===1?"":"s"} in this document ${s.visualCount===1?"is":"are"} rasterized on first build — later builds reuse the cached renders.`),s&&s.imageCount>3&&t.push("Large embedded images dominate build time — downscaling them speeds up iteration."),t.push("Re-running an unchanged document is served from the cache almost instantly.","Generation warnings, if any, will appear above the preview when the build completes."),t}const ye=()=>e.jsx("svg",{className:"h-3.5 w-3.5 text-success",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M3 8.5L6.5 12L13 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})});function Se({className:s,currentStage:t="parsing",message:r,documentText:a,startedAt:n,onCancel:c}){const o=["parsing","building","rendering","finalizing"],d={parsing:"Validating JSON",building:"Building structure",rendering:"Rendering content",finalizing:"Finalizing document"},m=o.indexOf(t),l=X(n),i=u.useMemo(()=>be(a),[a]),f=u.useMemo(()=>Ne(i),[i]),x=l>3,w=Math.floor(Math.max(0,l-3)/5)%f.length;return e.jsxs("div",{className:y("p-6 max-w-lg mx-auto space-y-5",s),children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(O,{size:"md"}),e.jsxs("div",{className:"space-y-0.5 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium truncate",children:i!=null&&i.title?`Generating “${i.title}”`:"Generating document"}),e.jsx("p",{className:"text-xs text-muted-foreground truncate",role:"status","aria-live":"polite",children:r||`${d[t]}...`})]})]}),e.jsxs("span",{className:"shrink-0 rounded-full bg-secondary px-2 py-0.5 text-xs text-muted-foreground tabular-nums","aria-hidden":"true",children:[l.toFixed(1),"s"]})]}),i&&i.counts.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5","aria-label":"Document contents",children:i.counts.map(({label:g,count:b})=>e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs text-muted-foreground",children:[e.jsx("span",{className:"font-medium text-foreground tabular-nums",children:b}),g]},g))}),e.jsx("div",{className:"space-y-3",children:o.map((g,b)=>{const j=b===m,N=b<m;return e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs",children:[e.jsx("span",{className:y(j?"text-primary font-medium":N?"text-muted-foreground":"text-muted-foreground/60"),children:d[g]}),N?e.jsx(ye,{}):j?e.jsx(O,{size:"sm",className:"h-3.5 w-3.5"}):e.jsx("span",{className:"h-3.5 w-3.5 rounded-full border border-muted-foreground/40"})]}),e.jsx("div",{className:"w-full bg-secondary rounded-full h-1.5 overflow-hidden",children:N?e.jsx("div",{className:"h-full w-full rounded-full bg-success"}):j?e.jsx("div",{className:"h-full w-2/5 rounded-full bg-primary animate-progress-indeterminate"}):null})]},g)})}),e.jsxs("div",{className:"flex items-center justify-between gap-3 min-h-8",children:[e.jsx("p",{className:y("text-xs text-muted-foreground/80 italic transition-opacity duration-500",x?"opacity-100":"opacity-0"),children:f[w]}),c&&e.jsx(_,{variant:"outline",size:"sm",onClick:c,className:"shrink-0",children:"Cancel"})]})]})}function ke({mode:s,message:t,startedAt:r,onCancel:a,className:n}){const c=X(r);return e.jsxs("div",{className:y("flex flex-col items-center gap-2 rounded-md border bg-background/95 px-6 py-4 shadow-sm",n),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{size:"md"}),e.jsx("p",{className:"text-sm font-medium",role:"status","aria-live":"polite",children:s==="generating"?"Generating":"Rendering"}),e.jsxs("span",{className:"rounded-full bg-secondary px-2 py-0.5 text-xs text-muted-foreground tabular-nums","aria-hidden":"true",children:[c.toFixed(1),"s"]})]}),t&&e.jsx("p",{className:"max-w-xs text-center text-xs text-muted-foreground truncate",children:t}),s==="generating"&&a&&e.jsx(_,{variant:"outline",size:"sm",onClick:a,children:"Cancel"})]})}function Re({renderingLibrary:s,className:t}){const r=c=>{switch(c){case"LibreOffice":return{name:"LibreOffice",description:"Converting document to PDF locally..."};case"Office":return{name:"Microsoft Office",description:"Uploading file and loading Office viewer..."};case"Docs":return{name:"Google Docs",description:"Uploading file and loading Docs viewer..."};default:return{name:"Default",description:"Processing document..."}}},{name:a,description:n}=r(s);return e.jsxs("div",{className:y("flex flex-col items-center justify-center h-full p-8 space-y-4",t),children:[e.jsx(O,{size:"lg"}),e.jsxs("div",{className:"text-center space-y-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"Rendering Preview"}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Using ",a," renderer"]}),e.jsx("p",{className:"text-xs text-muted-foreground/80",children:n})]}),e.jsxs("div",{className:"w-full max-w-md space-y-3",children:[e.jsx(k,{className:"h-16 w-full"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(k,{className:"h-4 w-full"}),e.jsx(k,{className:"h-4 w-3/4"}),e.jsx(k,{className:"h-4 w-1/2"})]}),e.jsx(k,{className:"h-12 w-full"})]})]})}const Y=T.forwardRef(({isLoading:s,iframeSrc:t,iframeSrcDoc:r,isGenerating:a,generationProgress:n,generationDocumentText:c,generationStartedAt:o,onCancelGeneration:d},m)=>{const[l,i]=u.useState(!1);u.useEffect(()=>{i(!1)},[t,r]);const f=()=>{i(!0)},x=()=>{console.warn("Iframe failed to load content"),i(!1)},w=r?"allow-scripts allow-popups allow-forms":void 0,g=!!(t||r);return a&&!g?e.jsx("div",{className:"grow",children:e.jsx(Se,{currentStage:n==null?void 0:n.stage,message:n==null?void 0:n.message,documentText:c,startedAt:o,onCancel:d})}):s&&!g?e.jsx("div",{className:"grow",children:e.jsx(Re,{renderingLibrary:"LibreOffice"})}):g?e.jsxs("div",{className:"h-full w-full relative bg-white",children:[!l&&e.jsx("div",{className:"absolute inset-0 bg-muted/80 flex items-center justify-center z-10",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-foreground mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading preview..."})]})}),(a||s)&&e.jsx("div",{className:"absolute inset-0 bg-background/60 backdrop-blur-[2px] flex items-center justify-center z-20 transition-opacity duration-200",children:e.jsx(ke,{mode:a?"generating":"rendering",message:a?n==null?void 0:n.message:void 0,startedAt:a?o:void 0,onCancel:a?d:void 0})}),e.jsx("iframe",{ref:m,className:"w-full h-full border-0",style:{backgroundColor:"white",opacity:l?1:0,transition:"opacity 0.2s ease-in-out"},src:t,srcDoc:r,onLoad:f,onError:x,sandbox:w,title:"Document preview","aria-label":`Preview of rendered ${V.toLowerCase()}`},r?"srcdoc":"src")]}):null});Y.displayName="PreviewFrame";const Ee=T.memo(Y);function Ce({warnings:s,className:t}){const[r,a]=T.useState(!1);return!s||s.length===0?null:e.jsxs("div",{className:t,children:[e.jsxs("button",{type:"button",onClick:()=>a(!r),className:"flex w-full items-center gap-2 rounded-sm border border-transparent bg-warning/10 px-3 py-1.5 text-left transition-colors hover:bg-warning/20",children:[e.jsx(pe,{className:`h-3.5 w-3.5 text-warning transition-transform flex-shrink-0 ${r?"rotate-90":""}`}),e.jsx(P,{className:"h-3.5 w-3.5 text-warning flex-shrink-0"}),e.jsxs("span",{className:"text-xs font-medium text-warning",children:[s.length," warning",s.length!==1?"s":""]})]}),r&&e.jsx("div",{className:"mt-1.5 space-y-1.5",children:s.map((n,c)=>e.jsxs("div",{className:"flex items-start gap-2 rounded-sm border bg-card px-3 py-2",children:[n.severity==="info"?e.jsx(ge,{className:"h-3.5 w-3.5 mt-0.5 text-data-blue flex-shrink-0"}):e.jsx(P,{className:"h-3.5 w-3.5 mt-0.5 text-warning flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("code",{className:"text-[11px] font-medium text-warning bg-warning/15 px-1 py-0.5 rounded-sm",children:n.component}),n.severity==="info"&&e.jsx("span",{className:"text-[10px] uppercase tracking-wide text-data-blue font-medium",children:"info"})]}),e.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground leading-relaxed",children:n.message}),n.context&&Object.keys(n.context).length>0&&e.jsxs("details",{className:"mt-1.5",children:[e.jsx("summary",{className:"text-[11px] text-muted-foreground/70 cursor-pointer hover:text-foreground",children:"Context"}),e.jsx("pre",{className:"mt-1 text-[11px] bg-header-bg p-1.5 rounded-sm overflow-x-auto text-muted-foreground",children:JSON.stringify(n.context,null,2)})]})]})]},c))})]})}const W={pptx:["default","dark","minimal"],docx:["minimal","corporate","modern"]};function Le({className:s}){var o;const t=M(d=>d.activeTab),r=M(d=>d.documentTypes),a=M(d=>d.documents),n=K(d=>d.customThemes),c=u.useMemo(()=>{var l,i,f;if(!t||r[t]==="application/json+theme")return null;const d=a.find(x=>x.name===t);if(!(d!=null&&d.text))return null;let m;try{m=(i=(l=JSON.parse(d.text))==null?void 0:l.props)==null?void 0:i.theme}catch{return null}if(typeof m!="string"||!m||(f=W[$])!=null&&f.includes(m))return null;for(const x of Object.values(n))if(x.valid&&x.name===m)return null;return m},[t,r,a,n]);return c?e.jsxs("div",{className:`flex items-start gap-2 rounded-sm border border-transparent bg-warning/10 px-3 py-2 ${s??""}`,children:[e.jsx(P,{className:"h-3.5 w-3.5 mt-0.5 text-warning flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0 text-xs leading-relaxed",children:[e.jsxs("span",{className:"font-medium text-warning",children:["Theme"," ",e.jsx("code",{className:"bg-warning/20 px-1 py-0.5 rounded-sm text-warning",children:c})," ","is not available."]})," ",e.jsxs("span",{className:"text-warning/80",children:["Add it as a custom theme or use a built-in theme (",(o=W[$])==null?void 0:o.join(", "),"). The renderer will fall back to a default."]})]})]}):null}async function Me(s,t,r,a,n){const c=typeof r=="string"&&r.length>0;let o;if(c){let l;try{l=JSON.parse(r)}catch(f){throw new Error(`Invalid JSON document: ${f.message}`)}const i={jsonDefinition:l,customThemes:a??{},options:{sourceName:s,...n?{renderer:n}:{}}};o=await fetch(A.preview.libreofficeFromJson,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})}else{const l=new FormData,i=$==="pptx"?".pptx":".docx";l.append("file",t,`${s}${i}`),o=await fetch(A.preview.libreoffice,{method:"POST",body:l})}if(!o.ok){let l=`LibreOffice preview failed (${o.status})`;try{const i=await o.json();i&&typeof i=="object"&&typeof i.error=="string"&&(l=i.error)}catch{}throw new Error(l)}const d=await o.blob();if(!d.size)throw new Error("LibreOffice preview returned an empty PDF");const m=URL.createObjectURL(d);return{iframeSrc:m,cleanup:()=>URL.revokeObjectURL(m)}}async function Oe(s,t,r,a,n){try{if(!t||t.size===0)throw new Error("Invalid or empty document blob");const c=await Me(s,t,r,a,n);return{status:"success",name:s,payload:c}}catch(c){const o=c instanceof Error?c.message:String(c);return{status:"error",name:s,payload:new Error(o)}}}const U=u.forwardRef(({className:s,value:t,...r},a)=>e.jsx(Q,{ref:a,className:y("relative h-4 w-full overflow-hidden rounded-full bg-secondary",s),...r,children:e.jsx(we,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));U.displayName=Q.displayName;function Z(s){if(s===0)return"0 B";const t=1024,r=["B","KB","MB","GB"],a=Math.floor(Math.log(s)/Math.log(t));return parseFloat((s/Math.pow(t,a)).toFixed(2))+" "+r[a]}function Te(){const[s,t]=u.useState(null),[r,a]=u.useState(!0),[n,c]=u.useState(null);if(u.useEffect(()=>{const m=new AbortController,l=async()=>{try{const x=await fetch(A.cacheStats,{signal:m.signal});if(!x.ok)throw new Error("Failed to fetch cache stats");const w=await x.json();m.signal.aborted||(t(w.data),c(null))}catch(x){m.signal.aborted||(x instanceof Error&&x.name!=="AbortError"?c(x.message):(!(x instanceof Error)||x.name!=="AbortError")&&c("Failed to load cache stats"))}finally{m.signal.aborted||a(!1)}};l();const i=setInterval(l,5e3),f=()=>l();return window.addEventListener("cache:cleared",f),()=>{m.abort(),clearInterval(i),window.removeEventListener("cache:cleared",f)}},[]),r)return e.jsx("div",{className:"flex items-center justify-center p-8",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})});if(n)return e.jsxs("div",{className:"text-destructive p-4",children:["Error loading cache metrics: ",n]});if(!s)return null;const{document:o}=s,d=o.hitRate*100;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-6 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Hit Rate"})," ",e.jsxs("span",{className:"font-semibold text-base",children:[d.toFixed(1),"%"]}),e.jsxs("span",{className:"text-muted-foreground ml-1",children:["(",o.hits," hits / ",o.misses," misses)"]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Size"})," ",e.jsx("span",{className:"font-semibold",children:Z(o.size)}),e.jsxs("span",{className:"text-muted-foreground ml-1",children:["(",o.itemCount," items)"]})]}),e.jsx(oe,{variant:o.enabled?"default":"secondary",children:o.enabled?"Enabled":"Disabled"})]}),e.jsx(U,{value:d,className:"h-2","aria-label":"Cache hit rate"}),s.rasterizer&&e.jsx(De,{data:s.rasterizer})]})}function De({data:s}){const t=s.diskHits+s.diskMisses;if(t+s.dedupedRequests+s.rendered+s.entries===0)return null;const a=s.hitRate*100,n=s.prepass?s.prepass.collected-s.prepass.unique:s.dedupedRequests;return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-sm font-medium",children:"Visual Rasterizer"}),e.jsxs("div",{className:"px-3 py-1.5 text-sm space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"Disk cache"}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("span",{children:t>0?`${a.toFixed(0)}% hit`:"no lookups"}),e.jsxs("span",{children:["(",s.diskHits," hits / ",s.diskMisses," misses)"]}),e.jsxs("span",{children:[s.entries," PNGs, ",Z(s.bytes)]})]})]}),e.jsx(U,{value:a,className:"h-1.5","aria-label":"Rasterizer disk cache hit rate"}),e.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[e.jsxs("span",{children:[s.rendered," rendered",s.failed>0?`, ${s.failed} failed`:""]}),e.jsxs("span",{children:[n," duplicate visual",n===1?"":"s"," deduped",s.prepass?` (${s.prepass.collected} collected → ${s.prepass.unique} unique)`:""]})]})]})]})}function Je(){var L,q;const{name:s,text:t,blob:r,renderer:a,isGenerating:n,generationProgress:c,generationStartedAt:o,cancelGeneration:d,globalError:m,cacheStatus:l,cacheHitRate:i,warnings:f,isRendering:x,isPreviewStale:w,editSequence:g,lastBuiltSequence:b,setOutput:j}=je(p=>p),N=M(p=>{var h;return p.activeTab&&p.documentTypes[p.activeTab]!=="application/json+theme"?(h=p.documents.find(I=>I.name===p.activeTab))==null?void 0:h.text:void 0}),H=K(p=>p.customThemes),G=u.useMemo(()=>{const p={};for(const h of Object.values(H))h.valid&&h.name&&h.parsed&&(p[h.name]=h.parsed);return p},[H]),[ee,se]=u.useState(void 0),[te,ne]=u.useState(void 0),[re,D]=u.useState(!1),ae=T.useRef(null),R=u.useRef(null),F=u.useRef(!1),E=u.useCallback(()=>{R.current&&(R.current(),R.current=null)},[]),C=u.useCallback(async(p,h,I,le,ce)=>{j({isRendering:!0,isPreviewStale:!1,globalError:void 0});try{const{status:S,payload:v}=await Oe(p,h,I,le,ce);if(S!=="success")throw v instanceof Error?v:new Error(String(v));E(),se(v.iframeSrc||void 0),ne(v.iframeSrcDoc||void 0),R.current=v.cleanup||null}catch(S){const v=S instanceof Error?S.message:String(S);let B=v;v.includes("Failed to fetch")?B="Network error: Unable to load required resources. Check if the server is running properly.":v.includes("timeout")&&(B="Render timeout: The rendering process took too long."),j({globalError:B})}finally{j({isRendering:!1})}},[j,E]),ie=u.useRef({name:s,blob:r,text:t,doRender:C});u.useEffect(()=>{ie.current={name:s,blob:r,text:t,doRender:C}});const z=u.useCallback(async()=>{F.current=!0,window.dispatchEvent(new CustomEvent("preview:flushAndBuild"))},[]);u.useEffect(()=>{if(!(!r||!s)){if(F.current){F.current=!1,C(s,r,t,G,a);return}j({isPreviewStale:!0})}},[r,s,t,G,a,C,j]),u.useEffect(()=>()=>{E()},[E]),u.useEffect(()=>{const p=()=>z(),h=()=>D(!0);return window.addEventListener("preview:manualRender",p),window.addEventListener("preview:showCacheMetrics",h),()=>{window.removeEventListener("preview:manualRender",p),window.removeEventListener("preview:showCacheMetrics",h)}},[z]);const J=((q=(L=ve)==null?void 0:L.getState)==null?void 0:q.call(L).useGlobalPreviewHeader)===!1;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex h-full flex-col",children:[J&&e.jsx(de,{name:(s==null?void 0:s.trim())||"Preview",blob:r,onManualRender:z,isGenerating:n,isRendering:x,onShowCacheMetrics:()=>D(!0),documentText:t,editorDocumentText:N,warnings:f}),!J&&e.jsx(ue,{}),(()=>{const p=(g??0)>(b??0),h=(w||p)&&!n&&!x;return(l&&l!=="UNKNOWN"||h)&&e.jsxs("div",{className:`px-3 py-1.5 flex items-center justify-between border-b overflow-hidden ${h?"bg-warning/10":"bg-header-bg"}`,children:[e.jsx("div",{className:"flex items-center gap-2 min-w-0 truncate",children:l==="HIT"&&!h?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-success flex-shrink-0"}),e.jsx("span",{className:"text-xs text-muted-foreground truncate",children:"Cached"})]}):l==="MISS"&&!h?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-accent2 flex-shrink-0"}),e.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["Fresh ",V.toLowerCase()]})]}):h?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-warning flex-shrink-0"}),e.jsx("span",{className:"text-xs text-warning truncate",children:"Outdated — click Run"})]}):null}),!h&&i&&i!=="0.0%"&&e.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0 ml-2",children:[i," hit rate"]})]})})(),e.jsx(Ce,{warnings:f,className:"mx-3 my-2"}),e.jsx(Le,{className:"mx-3 my-2"}),m&&!n?e.jsx("div",{className:"flex-1 flex items-center justify-center p-6",children:e.jsxs("div",{className:"max-w-md rounded-sm border-l-4 border-l-destructive bg-destructive/10 px-4 py-3 text-sm text-destructive",children:[e.jsx("p",{className:"font-medium mb-1",children:"Generation failed"}),e.jsx("p",{className:"text-xs text-destructive/80 break-words",children:m})]})}):e.jsx(Ee,{ref:ae,isLoading:!!x,iframeSrc:ee,iframeSrcDoc:te,isGenerating:!!n,generationProgress:c,generationDocumentText:N??t,generationStartedAt:o,onCancelGeneration:d})]}),e.jsx(me,{open:re,onOpenChange:D,children:e.jsxs(xe,{className:"max-w-2xl",children:[e.jsx(fe,{children:e.jsx(he,{children:"Cache Performance"})}),e.jsx(Te,{})]})})]})}export{Je as Preview};
|
|
2
|
+
//# sourceMappingURL=preview-zo-CHAU0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-zo-CHAU0.js","sources":["../../../src/client/components/ui/loading-states.tsx","../../../src/client/components/playground/preview-frame.tsx","../../../src/client/components/playground/warnings-panel.tsx","../../../src/client/components/playground/unavailable-theme-warning.tsx","../../../src/client/lib/render.ts","../../../src/client/components/ui/progress.tsx","../../../src/client/components/cache-metrics.tsx","../../../src/client/components/playground/preview.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { cn } from '@/lib/utils';\nimport { Spinner } from './spinner';\nimport { Skeleton } from './skeleton';\nimport { Button } from './button';\n\ninterface LoadingOverlayProps {\n isLoading: boolean;\n children: React.ReactNode;\n message?: string;\n className?: string;\n}\n\nexport function LoadingOverlay({\n isLoading,\n children,\n message = 'Loading...',\n className,\n}: LoadingOverlayProps) {\n return (\n <div className={cn('relative', className)}>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 bg-background/80 backdrop-blur-sm flex items-center justify-center z-50\">\n <div className=\"flex flex-col items-center gap-2\">\n <Spinner size=\"lg\" />\n <p className=\"text-sm text-muted-foreground\">{message}</p>\n </div>\n </div>\n )}\n </div>\n );\n}\n\ninterface DocumentGenerationLoaderProps {\n className?: string;\n currentStage?: 'parsing' | 'building' | 'rendering' | 'finalizing';\n message?: string;\n /** Source JSON of the document being built — drives the content summary. */\n documentText?: string;\n /** Date.now() when the build started — drives the elapsed timer. */\n startedAt?: number;\n /** When provided, renders a Cancel button that aborts the build. */\n onCancel?: () => void;\n}\n\n/** Ticks every 100ms and returns whole elapsed seconds since `startedAt`. */\nfunction useElapsedSeconds(startedAt?: number): number {\n // Freeze the fallback start on first render so a caller that never passes\n // `startedAt` still gets a stable timer instead of one reset per render.\n const [fallbackStart] = useState(() => Date.now());\n const start = startedAt ?? fallbackStart;\n const [now, setNow] = useState(() => Date.now());\n useEffect(() => {\n const id = setInterval(() => setNow(Date.now()), 100);\n return () => clearInterval(id);\n }, []);\n return Math.max(0, (now - start) / 1000);\n}\n\ninterface DocumentSummary {\n title?: string;\n counts: { label: string; count: number }[];\n visualCount: number;\n imageCount: number;\n}\n\n/**\n * Walk a JTO document tree and count the component types worth narrating.\n * Best-effort: any parse/shape surprise returns null and the loader simply\n * omits the summary row.\n */\nfunction summarizeDocument(text?: string): DocumentSummary | null {\n if (!text) return null;\n try {\n const root = JSON.parse(text);\n if (!root || typeof root !== 'object') return null;\n const counts = new Map<string, number>();\n const stack: unknown[] = [root];\n while (stack.length > 0) {\n const node = stack.pop();\n if (!node || typeof node !== 'object') continue;\n const { name, children } = node as {\n name?: unknown;\n children?: unknown;\n };\n if (typeof name === 'string') {\n counts.set(name, (counts.get(name) ?? 0) + 1);\n }\n if (Array.isArray(children)) stack.push(...children);\n }\n // Ordered by how much each type usually tells the user about build cost.\n const interesting: [key: string, singular: string, plural: string][] = [\n ['slide', 'slide', 'slides'],\n ['section', 'section', 'sections'],\n ['visual', 'visual', 'visuals'],\n ['chart', 'chart', 'charts'],\n ['image', 'image', 'images'],\n ['table', 'table', 'tables'],\n ['shape', 'shape', 'shapes'],\n ['paragraph', 'paragraph', 'paragraphs'],\n ];\n const summary = interesting\n .map(([key, singular, plural]) => {\n const count = counts.get(key) ?? 0;\n return { label: count === 1 ? singular : plural, count };\n })\n .filter((entry) => entry.count > 0)\n .slice(0, 5);\n const title = (root as { props?: { metadata?: { title?: unknown } } }).props\n ?.metadata?.title;\n return {\n title: typeof title === 'string' ? title : undefined,\n counts: summary,\n visualCount: (counts.get('visual') ?? 0) + (counts.get('chart') ?? 0),\n imageCount: counts.get('image') ?? 0,\n };\n } catch {\n return null;\n }\n}\n\n/** Rotating context lines shown once a build takes more than a moment. */\nfunction buildHints(summary: DocumentSummary | null): string[] {\n const hints: string[] = [];\n if (summary && summary.visualCount > 0) {\n hints.push(\n `${summary.visualCount} visual${summary.visualCount === 1 ? '' : 's'} in this document ${\n summary.visualCount === 1 ? 'is' : 'are'\n } rasterized on first build — later builds reuse the cached renders.`\n );\n }\n if (summary && summary.imageCount > 3) {\n hints.push(\n 'Large embedded images dominate build time — downscaling them speeds up iteration.'\n );\n }\n hints.push(\n 'Re-running an unchanged document is served from the cache almost instantly.',\n 'Generation warnings, if any, will appear above the preview when the build completes.'\n );\n return hints;\n}\n\nconst CheckIcon = () => (\n <svg\n className=\"h-3.5 w-3.5 text-success\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M3 8.5L6.5 12L13 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport function DocumentGenerationLoader({\n className,\n currentStage = 'parsing',\n message,\n documentText,\n startedAt,\n onCancel,\n}: DocumentGenerationLoaderProps) {\n const stages = ['parsing', 'building', 'rendering', 'finalizing'] as const;\n const stageLabels: Record<(typeof stages)[number], string> = {\n parsing: 'Validating JSON',\n building: 'Building structure',\n rendering: 'Rendering content',\n finalizing: 'Finalizing document',\n };\n\n const currentStageIndex = stages.indexOf(currentStage);\n const elapsed = useElapsedSeconds(startedAt);\n const summary = useMemo(\n () => summarizeDocument(documentText),\n [documentText]\n );\n const hints = useMemo(() => buildHints(summary), [summary]);\n // Hints appear only for builds long enough to leave the user wondering,\n // then rotate so a long rasterization pass keeps saying something new.\n const showHints = elapsed > 3;\n const hintIndex = Math.floor(Math.max(0, elapsed - 3) / 5) % hints.length;\n\n return (\n <div className={cn('p-6 max-w-lg mx-auto space-y-5', className)}>\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex items-center gap-3 min-w-0\">\n <Spinner size=\"md\" />\n <div className=\"space-y-0.5 min-w-0\">\n <p className=\"text-sm font-medium truncate\">\n {summary?.title\n ? `Generating “${summary.title}”`\n : 'Generating document'}\n </p>\n {/* The live region covers only the stage message — putting it on\n the container would re-announce the whole loader every 100ms\n elapsed-timer tick. */}\n <p\n className=\"text-xs text-muted-foreground truncate\"\n role=\"status\"\n aria-live=\"polite\"\n >\n {message || `${stageLabels[currentStage]}...`}\n </p>\n </div>\n </div>\n <span\n className=\"shrink-0 rounded-full bg-secondary px-2 py-0.5 text-xs text-muted-foreground tabular-nums\"\n aria-hidden=\"true\"\n >\n {elapsed.toFixed(1)}s\n </span>\n </div>\n\n {summary && summary.counts.length > 0 && (\n <div className=\"flex flex-wrap gap-1.5\" aria-label=\"Document contents\">\n {summary.counts.map(({ label, count }) => (\n <span\n key={label}\n className=\"inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs text-muted-foreground\"\n >\n <span className=\"font-medium text-foreground tabular-nums\">\n {count}\n </span>\n {label}\n </span>\n ))}\n </div>\n )}\n\n <div className=\"space-y-3\">\n {stages.map((stage, index) => {\n const isActive = index === currentStageIndex;\n const isCompleted = index < currentStageIndex;\n return (\n <div key={stage} className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between text-xs\">\n <span\n className={cn(\n isActive\n ? 'text-primary font-medium'\n : isCompleted\n ? 'text-muted-foreground'\n : 'text-muted-foreground/60'\n )}\n >\n {stageLabels[stage]}\n </span>\n {isCompleted ? (\n <CheckIcon />\n ) : isActive ? (\n <Spinner size=\"sm\" className=\"h-3.5 w-3.5\" />\n ) : (\n <span className=\"h-3.5 w-3.5 rounded-full border border-muted-foreground/40\" />\n )}\n </div>\n <div className=\"w-full bg-secondary rounded-full h-1.5 overflow-hidden\">\n {isCompleted ? (\n <div className=\"h-full w-full rounded-full bg-success\" />\n ) : isActive ? (\n // Honest indeterminate sweep — we have no real progress\n // signal within a stage, so don't fake a full bar.\n <div className=\"h-full w-2/5 rounded-full bg-primary animate-progress-indeterminate\" />\n ) : null}\n </div>\n </div>\n );\n })}\n </div>\n\n <div className=\"flex items-center justify-between gap-3 min-h-8\">\n <p\n className={cn(\n 'text-xs text-muted-foreground/80 italic transition-opacity duration-500',\n showHints ? 'opacity-100' : 'opacity-0'\n )}\n >\n {hints[hintIndex]}\n </p>\n {onCancel && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={onCancel}\n className=\"shrink-0\"\n >\n Cancel\n </Button>\n )}\n </div>\n </div>\n );\n}\n\ninterface GenerationOverlayProps {\n mode: 'generating' | 'rendering';\n message?: string;\n startedAt?: number;\n onCancel?: () => void;\n className?: string;\n}\n\n/**\n * Compact card for the overlay shown on top of an existing preview while a\n * rebuild or re-render is in flight.\n */\nexport function GenerationOverlay({\n mode,\n message,\n startedAt,\n onCancel,\n className,\n}: GenerationOverlayProps) {\n const elapsed = useElapsedSeconds(startedAt);\n return (\n <div\n className={cn(\n 'flex flex-col items-center gap-2 rounded-md border bg-background/95 px-6 py-4 shadow-sm',\n className\n )}\n >\n <div className=\"flex items-center gap-2\">\n <Spinner size=\"md\" />\n {/* Live region on the label only — the elapsed badge ticks every\n 100ms and must not retrigger screen-reader announcements. */}\n <p className=\"text-sm font-medium\" role=\"status\" aria-live=\"polite\">\n {mode === 'generating' ? 'Generating' : 'Rendering'}\n </p>\n <span\n className=\"rounded-full bg-secondary px-2 py-0.5 text-xs text-muted-foreground tabular-nums\"\n aria-hidden=\"true\"\n >\n {elapsed.toFixed(1)}s\n </span>\n </div>\n {message && (\n <p className=\"max-w-xs text-center text-xs text-muted-foreground truncate\">\n {message}\n </p>\n )}\n {mode === 'generating' && onCancel && (\n <Button variant=\"outline\" size=\"sm\" onClick={onCancel}>\n Cancel\n </Button>\n )}\n </div>\n );\n}\n\ninterface PreviewLoadingProps {\n renderingLibrary?: string;\n className?: string;\n}\n\nexport function PreviewLoading({\n renderingLibrary,\n className,\n}: PreviewLoadingProps) {\n const getLibraryInfo = (library?: string) => {\n switch (library) {\n case 'LibreOffice':\n return {\n name: 'LibreOffice',\n description: 'Converting document to PDF locally...',\n };\n case 'Office':\n return {\n name: 'Microsoft Office',\n description: 'Uploading file and loading Office viewer...',\n };\n case 'Docs':\n return {\n name: 'Google Docs',\n description: 'Uploading file and loading Docs viewer...',\n };\n default:\n return { name: 'Default', description: 'Processing document...' };\n }\n };\n\n const { name, description } = getLibraryInfo(renderingLibrary);\n\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center h-full p-8 space-y-4',\n className\n )}\n >\n <Spinner size=\"lg\" />\n <div className=\"text-center space-y-2\">\n <p className=\"text-sm font-medium\">Rendering Preview</p>\n <p className=\"text-xs text-muted-foreground\">Using {name} renderer</p>\n <p className=\"text-xs text-muted-foreground/80\">{description}</p>\n </div>\n\n <div className=\"w-full max-w-md space-y-3\">\n <Skeleton className=\"h-16 w-full\" />\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </div>\n <Skeleton className=\"h-12 w-full\" />\n </div>\n </div>\n );\n}\n\ninterface InlineLoaderProps {\n message?: string;\n size?: 'sm' | 'md';\n className?: string;\n}\n\nexport function InlineLoader({\n message = 'Loading...',\n size = 'sm',\n className,\n}: InlineLoaderProps) {\n return (\n <div className={cn('flex items-center gap-2', className)}>\n <Spinner size={size} />\n <span className=\"text-sm text-muted-foreground\">{message}</span>\n </div>\n );\n}\n\ninterface FileOperationLoaderProps {\n operation: 'upload' | 'download' | 'save' | 'delete';\n fileName?: string;\n progress?: number;\n className?: string;\n}\n\nexport function FileOperationLoader({\n operation,\n fileName,\n progress,\n className,\n}: FileOperationLoaderProps) {\n const operationLabels = {\n upload: 'Uploading',\n download: 'Downloading',\n save: 'Saving',\n delete: 'Deleting',\n };\n\n return (\n <div\n className={cn(\n 'flex items-center gap-3 p-3 border rounded-sm bg-header-bg',\n className\n )}\n >\n <Spinner size=\"sm\" />\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium truncate\">\n {operationLabels[operation]} {fileName && `\"${fileName}\"`}\n </p>\n {progress !== undefined && (\n <div className=\"mt-1\">\n <div className=\"flex justify-between text-xs mb-1\">\n <span>{progress}%</span>\n <span className=\"text-muted-foreground\">\n {progress < 100 ? 'In progress...' : 'Complete'}\n </span>\n </div>\n <div className=\"w-full bg-secondary rounded-full h-1.5\">\n <div\n className=\"bg-primary h-1.5 rounded-full transition-all duration-300\"\n style={{ width: `${progress}%` }}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport {\n DocumentGenerationLoader,\n GenerationOverlay,\n PreviewLoading,\n} from '../ui/loading-states';\nimport { FORMAT_LABEL } from '../../lib/env';\n\nconst PreviewFrame = React.forwardRef<\n HTMLIFrameElement,\n {\n isLoading: boolean;\n iframeSrc?: string;\n iframeSrcDoc?: string;\n isGenerating?: boolean;\n generationProgress?: {\n stage: 'parsing' | 'building' | 'rendering' | 'finalizing';\n message?: string;\n };\n /** Source JSON being built — feeds the loader's content summary. */\n generationDocumentText?: string;\n /** Date.now() when the build started — feeds the elapsed timer. */\n generationStartedAt?: number;\n /** Aborts the in-flight build; renders a Cancel button when present. */\n onCancelGeneration?: () => void;\n }\n>(\n (\n {\n isLoading,\n iframeSrc,\n iframeSrcDoc,\n isGenerating,\n generationProgress,\n generationDocumentText,\n generationStartedAt,\n onCancelGeneration,\n },\n ref\n ) => {\n const [iframeLoaded, setIframeLoaded] = useState(false);\n\n // Reset iframe loaded state when content changes\n useEffect(() => {\n setIframeLoaded(false);\n }, [iframeSrc, iframeSrcDoc]);\n\n // Handle iframe load event\n const handleIframeLoad = () => {\n setIframeLoaded(true);\n };\n\n // Handle iframe errors\n const handleIframeError = () => {\n console.warn('Iframe failed to load content');\n setIframeLoaded(false);\n };\n\n // PDF blob URLs and remote viewers can be blocked by Chromium-based browsers\n // when loaded in a sandboxed iframe. Keep sandbox only for srcDoc-based preview.\n const iframeSandbox = iframeSrcDoc\n ? 'allow-scripts allow-popups allow-forms'\n : undefined;\n\n const hasContent = Boolean(iframeSrc || iframeSrcDoc);\n\n // Full-screen loaders only when no existing content\n if (isGenerating && !hasContent) {\n return (\n <div className=\"grow\">\n <DocumentGenerationLoader\n currentStage={generationProgress?.stage}\n message={generationProgress?.message}\n documentText={generationDocumentText}\n startedAt={generationStartedAt}\n onCancel={onCancelGeneration}\n />\n </div>\n );\n }\n\n if (isLoading && !hasContent) {\n return (\n <div className=\"grow\">\n <PreviewLoading renderingLibrary=\"LibreOffice\" />\n </div>\n );\n }\n\n if (hasContent) {\n return (\n <div className=\"h-full w-full relative bg-white\">\n {/* Loading overlay */}\n {!iframeLoaded && (\n <div className=\"absolute inset-0 bg-muted/80 flex items-center justify-center z-10\">\n <div className=\"text-center\">\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-foreground mx-auto mb-2\"></div>\n <p className=\"text-sm text-muted-foreground\">\n Loading preview...\n </p>\n </div>\n </div>\n )}\n {/* Generating/Rendering overlay on top of existing content */}\n {(isGenerating || isLoading) && (\n <div className=\"absolute inset-0 bg-background/60 backdrop-blur-[2px] flex items-center justify-center z-20 transition-opacity duration-200\">\n <GenerationOverlay\n mode={isGenerating ? 'generating' : 'rendering'}\n message={isGenerating ? generationProgress?.message : undefined}\n startedAt={isGenerating ? generationStartedAt : undefined}\n onCancel={isGenerating ? onCancelGeneration : undefined}\n />\n </div>\n )}\n {/* Key forces remount when switching between srcDoc (sandboxed) and\n src (blob URL, no sandbox) to avoid stale sandbox race condition */}\n <iframe\n key={iframeSrcDoc ? 'srcdoc' : 'src'}\n ref={ref}\n className=\"w-full h-full border-0\"\n style={{\n backgroundColor: 'white',\n // Fade in after load to prevent flash\n opacity: iframeLoaded ? 1 : 0,\n transition: 'opacity 0.2s ease-in-out',\n }}\n src={iframeSrc}\n srcDoc={iframeSrcDoc}\n onLoad={handleIframeLoad}\n onError={handleIframeError}\n // Security: sandbox srcDoc to prevent XSS from rendered HTML.\n // Blob URLs (src) must NOT be sandboxed without allow-same-origin.\n sandbox={iframeSandbox}\n // Accessibility\n title=\"Document preview\"\n aria-label={`Preview of rendered ${FORMAT_LABEL.toLowerCase()}`}\n />\n </div>\n );\n }\n return null;\n }\n);\n\nPreviewFrame.displayName = 'PreviewFrame';\nexport const PreviewFrameMemoized = React.memo(PreviewFrame);\n","import React from 'react';\nimport { AlertTriangle, Info, ChevronRight } from 'lucide-react';\nimport type { GenerationWarning } from '../../store/output-store';\n\ninterface WarningsPanelProps {\n warnings: GenerationWarning[] | null | undefined;\n className?: string;\n}\n\nexport function WarningsPanel({ warnings, className }: WarningsPanelProps) {\n const [isExpanded, setIsExpanded] = React.useState(false);\n\n if (!warnings || warnings.length === 0) {\n return null;\n }\n\n return (\n <div className={className}>\n <button\n type=\"button\"\n onClick={() => setIsExpanded(!isExpanded)}\n className=\"flex w-full items-center gap-2 rounded-sm border border-transparent bg-warning/10 px-3 py-1.5 text-left transition-colors hover:bg-warning/20\"\n >\n <ChevronRight\n className={`h-3.5 w-3.5 text-warning transition-transform flex-shrink-0 ${isExpanded ? 'rotate-90' : ''}`}\n />\n <AlertTriangle className=\"h-3.5 w-3.5 text-warning flex-shrink-0\" />\n <span className=\"text-xs font-medium text-warning\">\n {warnings.length} warning{warnings.length !== 1 ? 's' : ''}\n </span>\n </button>\n\n {isExpanded && (\n <div className=\"mt-1.5 space-y-1.5\">\n {warnings.map((warning, index) => (\n <div\n key={index}\n className=\"flex items-start gap-2 rounded-sm border bg-card px-3 py-2\"\n >\n {warning.severity === 'info' ? (\n <Info className=\"h-3.5 w-3.5 mt-0.5 text-data-blue flex-shrink-0\" />\n ) : (\n <AlertTriangle className=\"h-3.5 w-3.5 mt-0.5 text-warning flex-shrink-0\" />\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center gap-1.5\">\n <code className=\"text-[11px] font-medium text-warning bg-warning/15 px-1 py-0.5 rounded-sm\">\n {warning.component}\n </code>\n {warning.severity === 'info' && (\n <span className=\"text-[10px] uppercase tracking-wide text-data-blue font-medium\">\n info\n </span>\n )}\n </div>\n <p className=\"mt-0.5 text-xs text-muted-foreground leading-relaxed\">\n {warning.message}\n </p>\n {warning.context && Object.keys(warning.context).length > 0 && (\n <details className=\"mt-1.5\">\n <summary className=\"text-[11px] text-muted-foreground/70 cursor-pointer hover:text-foreground\">\n Context\n </summary>\n <pre className=\"mt-1 text-[11px] bg-header-bg p-1.5 rounded-sm overflow-x-auto text-muted-foreground\">\n {JSON.stringify(warning.context, null, 2)}\n </pre>\n </details>\n )}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n","import { useMemo } from 'react';\nimport { AlertTriangle } from 'lucide-react';\nimport { useDocumentsStore } from '../../store/documents-store-provider';\nimport { useThemesStore } from '../../store/themes-store-provider';\nimport { FORMAT } from '../../lib/env';\n\n// Theme names registered in the server-side core packages. Documents may\n// reference these even without a matching customThemes entry.\nconst BUILTIN_THEMES: Record<string, readonly string[]> = {\n pptx: ['default', 'dark', 'minimal'],\n docx: ['minimal', 'corporate', 'modern'],\n};\n\nexport function UnavailableThemeWarning({ className }: { className?: string }) {\n const activeTab = useDocumentsStore((s) => s.activeTab);\n const documentTypes = useDocumentsStore((s) => s.documentTypes);\n const documents = useDocumentsStore((s) => s.documents);\n const customThemes = useThemesStore((s) => s.customThemes);\n\n const missingThemeName = useMemo(() => {\n if (!activeTab) return null;\n if (documentTypes[activeTab] === 'application/json+theme') return null;\n\n const doc = documents.find((d) => d.name === activeTab);\n if (!doc?.text) return null;\n\n let themeName: unknown;\n try {\n themeName = JSON.parse(doc.text)?.props?.theme;\n } catch {\n return null;\n }\n if (typeof themeName !== 'string' || !themeName) return null;\n\n if (BUILTIN_THEMES[FORMAT]?.includes(themeName)) return null;\n\n for (const ct of Object.values(customThemes)) {\n if (ct.valid && ct.name === themeName) return null;\n }\n\n return themeName;\n }, [activeTab, documentTypes, documents, customThemes]);\n\n if (!missingThemeName) return null;\n\n return (\n <div\n className={`flex items-start gap-2 rounded-sm border border-transparent bg-warning/10 px-3 py-2 ${className ?? ''}`}\n >\n <AlertTriangle className=\"h-3.5 w-3.5 mt-0.5 text-warning flex-shrink-0\" />\n <div className=\"flex-1 min-w-0 text-xs leading-relaxed\">\n <span className=\"font-medium text-warning\">\n Theme{' '}\n <code className=\"bg-warning/20 px-1 py-0.5 rounded-sm text-warning\">\n {missingThemeName}\n </code>{' '}\n is not available.\n </span>{' '}\n <span className=\"text-warning/80\">\n Add it as a custom theme or use a built-in theme (\n {BUILTIN_THEMES[FORMAT]?.join(', ')}). The renderer will fall back to\n a default.\n </span>\n </div>\n </div>\n );\n}\n","import { FORMAT } from './env';\nimport { API_ENDPOINTS } from '../config/api';\n\nexport type RenderPayload = {\n iframeSrc?: string;\n iframeSrcDoc?: string;\n cleanup?: () => void;\n};\n\nasync function renderWithLibreOffice(\n name: string,\n blob: Blob,\n jsonText?: string,\n customThemes?: Record<string, unknown>,\n renderer?: string\n): Promise<RenderPayload> {\n // When we know the source JSON, hit the from-json endpoint. The server\n // generates + converts in one step and passes resolved fonts directly to\n // the LibreOffice font stager — embedded fonts render correctly in the PDF.\n // Falling back to the upload path is still useful if the JSON is lost or\n // we're previewing an externally-supplied file.\n const useJsonPath = typeof jsonText === 'string' && jsonText.length > 0;\n\n let response: Response;\n if (useJsonPath) {\n let jsonDefinition: unknown;\n try {\n jsonDefinition = JSON.parse(jsonText!);\n } catch (err) {\n throw new Error(`Invalid JSON document: ${(err as Error).message}`);\n }\n const body: Record<string, unknown> = {\n jsonDefinition,\n customThemes: customThemes ?? {},\n // sourceName lets the server resolve relative asset paths against the\n // discovered document's own directory (#142). Names only — the server\n // maps them to paths itself.\n //\n // `renderer` is what keeps the preview honest: the server regenerates\n // the document here, and without it the PDF on screen came from the\n // default backend while the download came from the selected one (#255).\n options: { sourceName: name, ...(renderer ? { renderer } : {}) },\n };\n response = await fetch(API_ENDPOINTS.preview.libreofficeFromJson, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n });\n } else {\n const formData = new FormData();\n const ext = FORMAT === 'pptx' ? '.pptx' : '.docx';\n formData.append('file', blob, `${name}${ext}`);\n response = await fetch(API_ENDPOINTS.preview.libreoffice, {\n method: 'POST',\n body: formData,\n });\n }\n\n if (!response.ok) {\n let message = `LibreOffice preview failed (${response.status})`;\n try {\n const json = await response.json();\n if (json && typeof json === 'object' && typeof json.error === 'string') {\n message = json.error;\n }\n } catch {}\n throw new Error(message);\n }\n\n const pdfBlob = await response.blob();\n if (!pdfBlob.size) {\n throw new Error('LibreOffice preview returned an empty PDF');\n }\n\n const objectUrl = URL.createObjectURL(pdfBlob);\n return {\n iframeSrc: objectUrl,\n cleanup: () => URL.revokeObjectURL(objectUrl),\n };\n}\n\nexport function cleanupIframe(iframe: HTMLIFrameElement) {\n try {\n if (iframe.contentWindow) {\n iframe.contentWindow.location.replace('about:blank');\n }\n iframe.src = 'about:blank';\n iframe.srcdoc = '';\n if (iframe.parentNode) {\n iframe.parentNode.removeChild(iframe);\n }\n } catch (error) {\n console.warn('Error cleaning up iframe:', error);\n }\n}\n\nexport async function renderDocument(\n name: string,\n blob: Blob,\n jsonText?: string,\n customThemes?: Record<string, unknown>,\n renderer?: string\n) {\n try {\n if (!blob || blob.size === 0) {\n throw new Error('Invalid or empty document blob');\n }\n\n const payload = await renderWithLibreOffice(\n name,\n blob,\n jsonText,\n customThemes,\n renderer\n );\n\n return { status: 'success' as const, name, payload };\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n return { status: 'error' as const, name, payload: new Error(errorMessage) };\n }\n}\n\n// Keep backward compat exports for pptx code\nexport const renderPptx = (name: string, blob: Blob) =>\n renderDocument(name, blob);\n","import * as React from 'react';\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\nimport { cn } from '../../lib/utils';\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n 'relative h-4 w-full overflow-hidden rounded-full bg-secondary',\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","import { useEffect, useState } from 'react';\nimport { Badge } from './ui/badge';\nimport { Progress } from './ui/progress';\nimport { API_ENDPOINTS } from '../config/api';\n\ninterface CacheStats {\n document: {\n hits: number;\n misses: number;\n hitRate: number;\n size: number;\n itemCount: number;\n enabled: boolean;\n };\n rasterizer?: RasterizerCacheData;\n}\n\ninterface RasterizerCacheData {\n diskHits: number;\n diskMisses: number;\n hitRate: number;\n dedupedRequests: number;\n rendered: number;\n failed: number;\n entries: number;\n bytes: number;\n prepass?: {\n documents: number;\n collected: number;\n unique: number;\n };\n}\n\nfunction formatBytes(bytes: number): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n}\n\nexport function CacheMetrics() {\n const [stats, setStats] = useState<CacheStats | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n const controller = new AbortController();\n\n const fetchData = async () => {\n try {\n const response = await fetch(API_ENDPOINTS.cacheStats, {\n signal: controller.signal,\n });\n if (!response.ok) throw new Error('Failed to fetch cache stats');\n const data = await response.json();\n\n if (!controller.signal.aborted) {\n setStats(data.data);\n setError(null);\n }\n } catch (err) {\n if (!controller.signal.aborted) {\n if (err instanceof Error && err.name !== 'AbortError') {\n setError(err.message);\n } else if (!(err instanceof Error) || err.name !== 'AbortError') {\n setError('Failed to load cache stats');\n }\n }\n } finally {\n if (!controller.signal.aborted) setLoading(false);\n }\n };\n\n fetchData();\n const interval = setInterval(fetchData, 5000);\n\n const handleCacheCleared = () => fetchData();\n window.addEventListener('cache:cleared', handleCacheCleared);\n\n return () => {\n controller.abort();\n clearInterval(interval);\n window.removeEventListener('cache:cleared', handleCacheCleared);\n };\n }, []);\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-8\">\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-primary\" />\n </div>\n );\n }\n\n if (error) {\n return (\n <div className=\"text-destructive p-4\">\n Error loading cache metrics: {error}\n </div>\n );\n }\n\n if (!stats) return null;\n\n const { document: doc } = stats;\n const hitRatePct = doc.hitRate * 100;\n\n return (\n <div className=\"space-y-4\">\n {/* Summary row */}\n <div className=\"flex items-center gap-6 text-sm\">\n <div>\n <span className=\"text-muted-foreground\">Hit Rate</span>{' '}\n <span className=\"font-semibold text-base\">\n {hitRatePct.toFixed(1)}%\n </span>\n <span className=\"text-muted-foreground ml-1\">\n ({doc.hits} hits / {doc.misses} misses)\n </span>\n </div>\n <div>\n <span className=\"text-muted-foreground\">Size</span>{' '}\n <span className=\"font-semibold\">{formatBytes(doc.size)}</span>\n <span className=\"text-muted-foreground ml-1\">\n ({doc.itemCount} items)\n </span>\n </div>\n <Badge variant={doc.enabled ? 'default' : 'secondary'}>\n {doc.enabled ? 'Enabled' : 'Disabled'}\n </Badge>\n </div>\n\n <Progress\n value={hitRatePct}\n className=\"h-2\"\n aria-label=\"Cache hit rate\"\n />\n\n {/* Visual rasterizer caches (disk PNG cache + batch dedupe) */}\n {stats.rasterizer && <RasterizerBreakdown data={stats.rasterizer} />}\n </div>\n );\n}\n\nfunction RasterizerBreakdown({ data }: { data: RasterizerCacheData }) {\n const lookups = data.diskHits + data.diskMisses;\n const activity =\n lookups + data.dedupedRequests + data.rendered + data.entries;\n if (activity === 0) return null;\n\n const hitRatePct = data.hitRate * 100;\n const dedupeSaved = data.prepass\n ? data.prepass.collected - data.prepass.unique\n : data.dedupedRequests;\n\n return (\n <div className=\"space-y-2\">\n <h4 className=\"text-sm font-medium\">Visual Rasterizer</h4>\n <div className=\"px-3 py-1.5 text-sm space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-muted-foreground\">Disk cache</span>\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n <span>\n {lookups > 0 ? `${hitRatePct.toFixed(0)}% hit` : 'no lookups'}\n </span>\n <span>\n ({data.diskHits} hits / {data.diskMisses} misses)\n </span>\n <span>\n {data.entries} PNGs, {formatBytes(data.bytes)}\n </span>\n </div>\n </div>\n <Progress\n value={hitRatePct}\n className=\"h-1.5\"\n aria-label=\"Rasterizer disk cache hit rate\"\n />\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n <span>\n {data.rendered} rendered\n {data.failed > 0 ? `, ${data.failed} failed` : ''}\n </span>\n <span>\n {dedupeSaved} duplicate visual{dedupeSaved === 1 ? '' : 's'} deduped\n {data.prepass\n ? ` (${data.prepass.collected} collected → ${data.prepass.unique} unique)`\n : ''}\n </span>\n </div>\n </div>\n </div>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { PreviewFrameMemoized } from './preview-frame';\nimport { PreviewHeaderMemoized } from './preview-header';\nimport { WarningsPanel } from './warnings-panel';\nimport { UnavailableThemeWarning } from './unavailable-theme-warning';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '../ui/dialog';\nimport { Separator } from '../ui/separator';\nimport { useOutputStore } from '../../store/output-store-provider';\nimport { useSettingsStore } from '../../store/settings-store-provider';\nimport { renderDocument } from '../../lib/render';\nimport { useDocumentsStore } from '../../store/documents-store-provider';\nimport { useThemesStore } from '../../store/themes-store-provider';\nimport { CacheMetrics } from '../cache-metrics';\nimport { FORMAT_LABEL } from '../../lib/env';\n\nexport function Preview() {\n const {\n name,\n text,\n blob,\n renderer,\n isGenerating,\n generationProgress,\n generationStartedAt,\n cancelGeneration,\n globalError,\n cacheStatus,\n cacheHitRate,\n warnings,\n isRendering,\n isPreviewStale,\n editSequence,\n lastBuiltSequence,\n setOutput,\n } = useOutputStore((state) => state);\n // Editor text for \"Copy standard components\" — exists before the first Run,\n // unlike the output store's `text` (#155). Themes have no expansion.\n const editorDocumentText = useDocumentsStore((s) =>\n s.activeTab && s.documentTypes[s.activeTab] !== 'application/json+theme'\n ? s.documents.find((d) => d.name === s.activeTab)?.text\n : undefined\n );\n // Select the raw map (stable reference until themes mutate), then memoize\n // the transform. A selector that returns a freshly-constructed object on\n // every call would burn through Zustand's Object.is equality and retrigger\n // renders indefinitely.\n const customThemesMap = useThemesStore((state) => state.customThemes);\n const themesForServer = useMemo(() => {\n const out: Record<string, unknown> = {};\n for (const ct of Object.values(customThemesMap)) {\n if (ct.valid && ct.name && ct.parsed) out[ct.name] = ct.parsed;\n }\n return out;\n }, [customThemesMap]);\n\n const [iframeSrc, setIframeSrc] = useState<string | undefined>(undefined);\n const [iframeSrcDoc, setIframeSrcDoc] = useState<string | undefined>(\n undefined\n );\n const [showCacheMetrics, setShowCacheMetrics] = useState<boolean>(false);\n const iframeRef = React.useRef<HTMLIFrameElement>(null);\n\n const renderCleanupRef = useRef<(() => void) | null>(null);\n const pendingManualRenderRef = useRef(false);\n\n const cleanupRenderedPreview = useCallback(() => {\n if (renderCleanupRef.current) {\n renderCleanupRef.current();\n renderCleanupRef.current = null;\n }\n }, []);\n\n // Core render function\n const doRender = useCallback(\n async (\n docName: string,\n docBlob: Blob,\n docText?: string,\n themes?: Record<string, unknown>,\n renderer?: string\n ) => {\n setOutput({\n isRendering: true,\n isPreviewStale: false,\n globalError: undefined,\n });\n\n try {\n const { status, payload } = await renderDocument(\n docName,\n docBlob,\n docText,\n themes,\n renderer\n );\n\n if (status !== 'success') {\n throw payload instanceof Error ? payload : new Error(String(payload));\n }\n\n cleanupRenderedPreview();\n setIframeSrc(payload.iframeSrc || undefined);\n setIframeSrcDoc(payload.iframeSrcDoc || undefined);\n renderCleanupRef.current = payload.cleanup || null;\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n\n let displayMessage = errorMessage;\n if (errorMessage.includes('Failed to fetch')) {\n displayMessage =\n 'Network error: Unable to load required resources. Check if the server is running properly.';\n } else if (errorMessage.includes('timeout')) {\n displayMessage =\n 'Render timeout: The rendering process took too long.';\n }\n\n setOutput({ globalError: displayMessage });\n } finally {\n setOutput({ isRendering: false });\n }\n },\n [setOutput, cleanupRenderedPreview]\n );\n\n // Ref to always hold latest manual-render deps so the event listener never goes stale\n const manualRenderRef = useRef({ name, blob, text, doRender });\n useEffect(() => {\n manualRenderRef.current = { name, blob, text, doRender };\n });\n\n const handleManualRender = useCallback(async () => {\n // Set flag so blob-change effect renders the new blob when it arrives\n pendingManualRenderRef.current = true;\n // Flush debounces + trigger build via editor.tsx\n window.dispatchEvent(new CustomEvent('preview:flushAndBuild'));\n }, []); // stable — reads from ref\n\n // A new blob renders only when a Run asked for it. Converting through\n // LibreOffice costs a round trip, so an edit marks the preview stale and\n // waits rather than rebuilding under the author.\n useEffect(() => {\n if (!blob || !name) return;\n if (pendingManualRenderRef.current) {\n pendingManualRenderRef.current = false;\n // Use the backend captured with this blob, never the live picker: the\n // selection may have changed while generation was in flight (#255).\n doRender(name, blob, text, themesForServer, renderer);\n return;\n }\n setOutput({ isPreviewStale: true });\n }, [blob, name, text, themesForServer, renderer, doRender, setOutput]);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n cleanupRenderedPreview();\n };\n }, [cleanupRenderedPreview]);\n\n // Listen for global header events (stable — handleManualRender never changes)\n useEffect(() => {\n const onManual = () => handleManualRender();\n const onShowCache = () => setShowCacheMetrics(true);\n\n window.addEventListener('preview:manualRender', onManual);\n window.addEventListener('preview:showCacheMetrics', onShowCache);\n return () => {\n window.removeEventListener('preview:manualRender', onManual);\n window.removeEventListener('preview:showCacheMetrics', onShowCache);\n };\n }, [handleManualRender]);\n\n const localHeaderVisible =\n (useSettingsStore as any)?.getState?.().useGlobalPreviewHeader === false;\n\n return (\n <>\n <div className=\"flex h-full flex-col\">\n {localHeaderVisible && (\n <PreviewHeaderMemoized\n name={name?.trim() || 'Preview'}\n blob={blob}\n onManualRender={handleManualRender}\n isGenerating={isGenerating}\n isRendering={isRendering}\n onShowCacheMetrics={() => setShowCacheMetrics(true)}\n documentText={text}\n editorDocumentText={editorDocumentText}\n warnings={warnings}\n />\n )}\n {/* The local header draws its own `border-b`; a standalone separator\n underneath it stacked two hairlines. */}\n {!localHeaderVisible && <Separator />}\n {/* Status Bar: cache + stale combined */}\n {(() => {\n const hasUnsyncedEdits =\n (editSequence ?? 0) > (lastBuiltSequence ?? 0);\n const isStale =\n (isPreviewStale || hasUnsyncedEdits) &&\n !isGenerating &&\n !isRendering;\n return (\n ((cacheStatus && cacheStatus !== 'UNKNOWN') || isStale) && (\n <div\n className={`px-3 py-1.5 flex items-center justify-between border-b overflow-hidden ${\n isStale ? 'bg-warning/10' : 'bg-header-bg'\n }`}\n >\n <div className=\"flex items-center gap-2 min-w-0 truncate\">\n {cacheStatus === 'HIT' && !isStale ? (\n <>\n <div className=\"h-1.5 w-1.5 rounded-full bg-success flex-shrink-0\" />\n <span className=\"text-xs text-muted-foreground truncate\">\n Cached\n </span>\n </>\n ) : cacheStatus === 'MISS' && !isStale ? (\n <>\n <div className=\"h-1.5 w-1.5 rounded-full bg-accent2 flex-shrink-0\" />\n <span className=\"text-xs text-muted-foreground truncate\">\n Fresh {FORMAT_LABEL.toLowerCase()}\n </span>\n </>\n ) : isStale ? (\n <>\n <div className=\"h-1.5 w-1.5 rounded-full bg-warning flex-shrink-0\" />\n <span className=\"text-xs text-warning truncate\">\n Outdated — click Run\n </span>\n </>\n ) : null}\n </div>\n {!isStale && cacheHitRate && cacheHitRate !== '0.0%' && (\n <span className=\"text-xs text-muted-foreground flex-shrink-0 ml-2\">\n {cacheHitRate} hit rate\n </span>\n )}\n </div>\n )\n );\n })()}\n {/* Warnings Panel */}\n <WarningsPanel warnings={warnings} className=\"mx-3 my-2\" />\n <UnavailableThemeWarning className=\"mx-3 my-2\" />\n {/* Generation Error — centered in preview area */}\n {globalError && !isGenerating ? (\n <div className=\"flex-1 flex items-center justify-center p-6\">\n <div className=\"max-w-md rounded-sm border-l-4 border-l-destructive bg-destructive/10 px-4 py-3 text-sm text-destructive\">\n <p className=\"font-medium mb-1\">Generation failed</p>\n <p className=\"text-xs text-destructive/80 break-words\">\n {globalError}\n </p>\n </div>\n </div>\n ) : (\n <PreviewFrameMemoized\n ref={iframeRef}\n isLoading={Boolean(isRendering)}\n iframeSrc={iframeSrc}\n iframeSrcDoc={iframeSrcDoc}\n isGenerating={Boolean(isGenerating)}\n generationProgress={generationProgress}\n generationDocumentText={editorDocumentText ?? text}\n generationStartedAt={generationStartedAt}\n onCancelGeneration={cancelGeneration}\n />\n )}\n </div>\n\n {/* Cache Metrics Dialog */}\n <Dialog open={showCacheMetrics} onOpenChange={setShowCacheMetrics}>\n <DialogContent className=\"max-w-2xl\">\n <DialogHeader>\n <DialogTitle>Cache Performance</DialogTitle>\n </DialogHeader>\n <CacheMetrics />\n </DialogContent>\n </Dialog>\n </>\n );\n}\n"],"names":["useElapsedSeconds","startedAt","fallbackStart","useState","start","now","setNow","useEffect","id","summarizeDocument","text","root","counts","stack","node","name","children","summary","key","singular","plural","count","entry","title","_b","_a","buildHints","hints","CheckIcon","jsx","DocumentGenerationLoader","className","currentStage","message","documentText","onCancel","stages","stageLabels","currentStageIndex","elapsed","useMemo","showHints","hintIndex","cn","jsxs","Spinner","label","stage","index","isActive","isCompleted","Button","GenerationOverlay","mode","PreviewLoading","renderingLibrary","getLibraryInfo","library","description","Skeleton","PreviewFrame","React","isLoading","iframeSrc","iframeSrcDoc","isGenerating","generationProgress","generationDocumentText","generationStartedAt","onCancelGeneration","ref","iframeLoaded","setIframeLoaded","handleIframeLoad","handleIframeError","iframeSandbox","hasContent","FORMAT_LABEL","PreviewFrameMemoized","WarningsPanel","warnings","isExpanded","setIsExpanded","ChevronRight","AlertTriangle","warning","Info","BUILTIN_THEMES","UnavailableThemeWarning","activeTab","useDocumentsStore","s","documentTypes","documents","customThemes","useThemesStore","missingThemeName","doc","d","themeName","_c","FORMAT","ct","renderWithLibreOffice","blob","jsonText","renderer","useJsonPath","response","jsonDefinition","err","body","API_ENDPOINTS","formData","ext","json","pdfBlob","objectUrl","renderDocument","payload","error","errorMessage","Progress","React.forwardRef","value","props","ProgressPrimitive.Root","ProgressPrimitive.Indicator","formatBytes","bytes","k","sizes","i","CacheMetrics","stats","setStats","loading","setLoading","setError","controller","fetchData","data","interval","handleCacheCleared","hitRatePct","Badge","RasterizerBreakdown","lookups","dedupeSaved","Preview","cancelGeneration","globalError","cacheStatus","cacheHitRate","isRendering","isPreviewStale","editSequence","lastBuiltSequence","setOutput","useOutputStore","state","editorDocumentText","customThemesMap","themesForServer","out","setIframeSrc","setIframeSrcDoc","showCacheMetrics","setShowCacheMetrics","iframeRef","renderCleanupRef","useRef","pendingManualRenderRef","cleanupRenderedPreview","useCallback","doRender","docName","docBlob","docText","themes","status","displayMessage","manualRenderRef","handleManualRender","onManual","onShowCache","localHeaderVisible","useSettingsStore","Fragment","PreviewHeaderMemoized","Separator","hasUnsyncedEdits","isStale","Dialog","DialogContent","DialogHeader","DialogTitle"],"mappings":"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"}
|