UNPKG

@sheetxl/studio-vanilla

Version:

SheetXL Studio - Vanilla entry point for integrating SheetXL UI.

17 lines (14 loc) 14.4 kB
"use strict";/** * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.6.4 * * (C) 2025-present SheetXL Inc. & Michael T. Ford * License: The license can be found at https://www.sheetxl.com/license. */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./Bd-US8M4eZh5SC26.cjs");function me(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function re(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 ne(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?re(Object(r),!0).forEach(function(n){me(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function oe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ye(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 ie(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){ye(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 D(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 u=arguments.length,a=new Array(u),p=0;p<u;p++)a[p]=arguments[p];return t.apply(r,[].concat(o,a))}}}function U(e){return{}.toString.call(e).includes("Object")}function q(e){return typeof e=="function"}var P=D(function(e,t){throw new Error(e[t]||e.default)})({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"}),ve=function(e,t){return U(t)||P("changeType"),Object.keys(t).some(function(r){return n=e,o=r,!Object.prototype.hasOwnProperty.call(n,o);var n,o})&&P("changeField"),t},be=function(e){q(e)||P("selectorType")},Ee=function(e){q(e)||U(e)||P("handlerType"),U(e)&&Object.values(e).some(function(t){return!q(t)})&&P("handlersType")},Oe=function(e){var t;e||P("initialIsRequired"),U(e)||P("initialType"),t=e,Object.keys(t).length||P("initialContent")};function we(e,t){return q(t)?t(e.current):t}function je(e,t){return e.current=ie(ie({},e.current),t),t}function xe(e,t,r){return q(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 K,Me=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Oe(e),Ee(t);var r={current:e},n=D(xe)(r,t),o=D(je)(r),i=D(ve)(e),u=D(we)(r);return[function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(p){return p};return be(a),a(r.current)},function(a){(function(){for(var p=arguments.length,g=new Array(p),O=0;O<p;O++)g[O]=arguments[O];return function(b){return g.reduceRight(function(x,M){return M(x)},b)}})(n,o,i,u)(a)}]},le={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! You are using deprecated way of configuration. Instead of using monaco.config({ urls: { monacoBase: '...' } }) use monaco.config({ paths: { vs: '...' } }) For more please check the link https://github.com/suren-atoyan/monaco-loader#config `},ue=(K=function(e,t){throw new Error(e[t]||e.default)},function e(){for(var t=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return n.length>=K.length?K.apply(this,n):function(){for(var i=arguments.length,u=new Array(i),a=0;a<i;a++)u[a]=arguments[a];return e.apply(t,[].concat(n,u))}})(le),Pe=function(e){var t;return e||ue("configIsRequired"),t=e,{}.toString.call(t).includes("Object")||ue("configType"),e.urls?(console.warn(le.deprecation),{paths:{vs:e.urls.monacoBase}}):e};function se(e,t){return Object.keys(t).forEach(function(r){t[r]instanceof Object&&e[r]&&Object.assign(t[r],se(e[r],t[r]))}),ne(ne({},e),t)}var Se={type:"cancelation",msg:"operation is manually canceled"};function Q(e){var t=!1,r=new Promise(function(n,o){e.then(function(i){return t?o(Se):n(i)}),e.catch(o)});return r.cancel=function(){return t=!0},r}var W,fe=function(e){if(Array.isArray(e))return e}(W=Me({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}))||function(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e)){var t=[],r=!0,n=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(t.push(i.value),t.length!==2);r=!0);}catch(a){n=!0,o=a}finally{try{r||u.return==null||u.return()}finally{if(n)throw o}}return t}}(W)||function(e){if(e){if(typeof e=="string")return oe(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?oe(e,2):void 0}}(W)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}(),z=fe[0],B=fe[1];function Re(e){return document.body.appendChild(e)}function ke(e){var t,r,n=z(function(i){return{config:i.config,reject:i.reject}}),o=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return o.onload=function(){return e()},o.onerror=n.reject,o}function Te(){var e=z(function(r){return{config:r.config,resolve:r.resolve,reject:r.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(r){de(r),e.resolve(r)},function(r){e.reject(r)})}function de(e){z().monaco||B({monaco:e})}var X=new Promise(function(e,t){return B({resolve:e,reject:t})}),V={config:function(e){var t=Pe(e),r=t.monaco,n=function(o,i){if(o==null)return{};var u,a,p=function(O,b){if(O==null)return{};var x,M,S={},R=Object.keys(O);for(M=0;M<R.length;M++)x=R[M],b.indexOf(x)>=0||(S[x]=O[x]);return S}(o,i);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(o);for(a=0;a<g.length;a++)u=g[a],i.indexOf(u)>=0||Object.prototype.propertyIsEnumerable.call(o,u)&&(p[u]=o[u])}return p}(t,["monaco"]);B(function(o){return{config:se(o.config,n),monaco:r}})},init:function(){var e=z(function(t){return{monaco:t.monaco,isInitialized:t.isInitialized,resolve:t.resolve}});if(!e.isInitialized){if(B({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Q(X);if(window.monaco&&window.monaco.editor)return de(window.monaco),e.resolve(window.monaco),Q(X);(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,u){return u(i)},o)}})(Re,ke)(Te)}return Q(X)},__getMonacoInstance:function(){return z(function(e){return e.monaco})}},Ie={display:"flex",position:"relative",textAlign:"initial"},Ce={width:"100%"},Ae={display:"none"},De={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Ve=function({children:e}){return c.mt.createElement("div",{style:De.container},e)},pe=c.reactExports.memo(function({width:e,height:t,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:u}){return c.mt.createElement("section",{style:{...Ie,width:e,height:t},...u},!r&&c.mt.createElement(Ve,null,n),c.mt.createElement("div",{ref:o,style:{...Ce,...!r&&Ae},className:i}))}),Z=function(e){c.reactExports.useEffect(e,[])},w=function(e,t,r=!0){let n=c.reactExports.useRef(!0);c.reactExports.useEffect(n.current||!r?()=>{n.current=!1}:e,t)};function L(){}function T(e,t,r,n){return i=n,(o=e).editor.getModel(ae(o,i))||function(u,a,p,g){return u.editor.createModel(a,p,g?ae(u,g):void 0)}(e,t,r,n);var o,i}function ae(e,t){return e.Uri.parse(t)}var Le=c.reactExports.memo(function({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:u,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:p=!1,theme:g="light",loading:O="Loading...",options:b={},height:x="100%",width:M="100%",className:S,wrapperProps:R={},beforeMount:Y=L,onMount:$=L}){let[E,I]=c.reactExports.useState(!1),[C,m]=c.reactExports.useState(!0),y=c.reactExports.useRef(null),f=c.reactExports.useRef(null),A=c.reactExports.useRef(null),v=c.reactExports.useRef($),l=c.reactExports.useRef(Y),k=c.reactExports.useRef(!1);Z(()=>{let s=V.init();return s.then(d=>(f.current=d)&&m(!1)).catch(d=>d?.type!=="cancelation"&&console.error("Monaco initialization: error:",d)),()=>y.current?function(){let d=y.current?.getModel();a||d?.original?.dispose(),p||d?.modified?.dispose(),y.current?.dispose()}():s.cancel()}),w(()=>{if(y.current&&f.current){let s=y.current.getOriginalEditor(),d=T(f.current,e||"",n||r||"text",i||"");d!==s.getModel()&&s.setModel(d)}},[i],E),w(()=>{if(y.current&&f.current){let s=y.current.getModifiedEditor(),d=T(f.current,t||"",o||r||"text",u||"");d!==s.getModel()&&s.setModel(d)}},[u],E),w(()=>{let s=y.current.getModifiedEditor();s.getOption(f.current.editor.EditorOption.readOnly)?s.setValue(t||""):t!==s.getValue()&&(s.executeEdits("",[{range:s.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),s.pushUndoStop())},[t],E),w(()=>{y.current?.getModel()?.original.setValue(e||"")},[e],E),w(()=>{let{original:s,modified:d}=y.current.getModel();f.current.editor.setModelLanguage(s,n||r||"text"),f.current.editor.setModelLanguage(d,o||r||"text")},[r,n,o],E),w(()=>{f.current?.editor.setTheme(g)},[g],E),w(()=>{y.current?.updateOptions(b)},[b],E);let _=c.reactExports.useCallback(()=>{if(!f.current)return;l.current(f.current);let s=T(f.current,e||"",n||r||"text",i||""),d=T(f.current,t||"",o||r||"text",u||"");y.current?.setModel({original:s,modified:d})},[r,t,o,e,n,i,u]),N=c.reactExports.useCallback(()=>{!k.current&&A.current&&(y.current=f.current.editor.createDiffEditor(A.current,{automaticLayout:!0,...b}),_(),f.current?.editor.setTheme(g),I(!0),k.current=!0)},[b,g,_]);return c.reactExports.useEffect(()=>{E&&v.current(y.current,f.current)},[E]),c.reactExports.useEffect(()=>{!C&&!E&&N()},[C,E,N]),c.mt.createElement(pe,{width:M,height:x,isEditorReady:E,loading:O,_ref:A,className:S,wrapperProps:R})}),F=new Map,ge=c.reactExports.memo(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:o,path:i,theme:u="light",line:a,loading:p="Loading...",options:g={},overrideServices:O={},saveViewState:b=!0,keepCurrentModel:x=!1,width:M="100%",height:S="100%",className:R,wrapperProps:Y={},beforeMount:$=L,onMount:E=L,onChange:I,onValidate:C=L}){let[m,y]=c.reactExports.useState(!1),[f,A]=c.reactExports.useState(!0),v=c.reactExports.useRef(null),l=c.reactExports.useRef(null),k=c.reactExports.useRef(null),_=c.reactExports.useRef(E),N=c.reactExports.useRef($),s=c.reactExports.useRef(),d=c.reactExports.useRef(n),he=function(h){let j=c.reactExports.useRef();return c.reactExports.useEffect(()=>{j.current=h},[h]),j.current}(i),ee=c.reactExports.useRef(!1),G=c.reactExports.useRef(!1);Z(()=>{let h=V.init();return h.then(j=>(v.current=j)&&A(!1)).catch(j=>j?.type!=="cancelation"&&console.error("Monaco initialization: error:",j)),()=>l.current?(s.current?.dispose(),x?b&&F.set(i,l.current.saveViewState()):l.current.getModel()?.dispose(),void l.current.dispose()):h.cancel()}),w(()=>{let h=T(v.current,e||n||"",t||o||"",i||r||"");h!==l.current?.getModel()&&(b&&F.set(he,l.current?.saveViewState()),l.current?.setModel(h),b&&l.current?.restoreViewState(F.get(i)))},[i],m),w(()=>{l.current?.updateOptions(g)},[g],m),w(()=>{!l.current||n===void 0||(l.current.getOption(v.current.editor.EditorOption.readOnly)?l.current.setValue(n):n!==l.current.getValue()&&(G.current=!0,l.current.executeEdits("",[{range:l.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),l.current.pushUndoStop(),G.current=!1))},[n],m),w(()=>{let h=l.current?.getModel();h&&o&&v.current?.editor.setModelLanguage(h,o)},[o],m),w(()=>{a!==void 0&&l.current?.revealLine(a)},[a],m),w(()=>{v.current?.editor.setTheme(u)},[u],m);let te=c.reactExports.useCallback(()=>{if(k.current&&v.current&&!ee.current){N.current(v.current);let h=i||r,j=T(v.current,n||e||"",t||o||"",h||"");l.current=v.current?.editor.create(k.current,{model:j,automaticLayout:!0,...g},O),b&&l.current.restoreViewState(F.get(h)),v.current.editor.setTheme(u),a!==void 0&&l.current.revealLine(a),y(!0),ee.current=!0}},[e,t,r,n,o,i,g,O,b,u,a]);return c.reactExports.useEffect(()=>{m&&_.current(l.current,v.current)},[m]),c.reactExports.useEffect(()=>{!f&&!m&&te()},[f,m,te]),d.current=n,c.reactExports.useEffect(()=>{m&&I&&(s.current?.dispose(),s.current=l.current?.onDidChangeModelContent(h=>{G.current||I(l.current.getValue(),h)}))},[m,I]),c.reactExports.useEffect(()=>{if(m){let h=v.current.editor.onDidChangeMarkers(j=>{let H=l.current.getModel()?.uri;if(H&&j.find(J=>J.path===H.path)){let J=v.current.editor.getModelMarkers({resource:H});C?.(J)}});return()=>{h?.dispose()}}return()=>{}},[m,C]),c.mt.createElement(pe,{width:M,height:S,isEditorReady:m,loading:p,_ref:k,className:R,wrapperProps:Y})}),qe=ge;exports.DiffEditor=Le,exports.Editor=ge,exports.default=qe,exports.loader=V,exports.useMonaco=function(){let[e,t]=c.reactExports.useState(V.__getMonacoInstance());return Z(()=>{let r;return e||(r=V.init(),r.then(n=>{t(n)})),()=>r?.cancel()}),e};