UNPKG

react-editor-z

Version:

React wrapper for @monaco-editor. Default json.

2 lines (1 loc) 2.97 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@monaco-editor/react")):"function"==typeof define&&define.amd?define(["exports","react","@monaco-editor/react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CodeEditor={},e.React,e.Editor)}(this,(function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(t),u=r(n),i=function(){return i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var a=function(e){var n=e.language,r=void 0===n?"json":n,a=e.value,c=e.options,f=e.readOnly,l=e.rawJson,s=e.style,d=e.getRefs,p=e.onChange,y=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(e,["language","value","options","readOnly","rawJson","style","getRefs","onChange"]),g=t.useState(""),v=g[0],O=g[1],b=t.useRef(null),h=t.useRef(!1),m=function(){var e=t.useRef(!1);return t.useEffect((function(){return e.current=!0,function(){e.current=!1}}),[]),t.useCallback((function(){return e.current}),[])}(),j="json"==="".concat(r).toLowerCase().trim(),E=(null==c?void 0:c.readOnly)||f,S=function(e){try{return j?JSON.stringify(JSON.parse(e),null,(null==c?void 0:c.tabSize)||4):e}catch(t){return e}},w=function(e,t){void 0===t&&(t=!1),p&&p(t?void 0:e,t)};return t.useEffect((function(){m()&&(h.current=function(e){return null==e||("string"==typeof e?""===e.trim():Array.isArray(e)?0===e.length:"object"==typeof e&&0===Object.keys(e).length)}(a),j?O(S(a)):(h.current=!1,O(a)))}),[]),t.useEffect((function(){if(m())if(h.current)h.current=!1;else{var e=S(a);O(e)}}),[m,a,h.current]),t.useEffect((function(){var e;b.current&&(null===(e=b.current.getAction("editor.action.formatDocument"))||void 0===e||e.run(),d&&d(b))}),[b.current]),o.default.createElement("div",{style:i({borderRadius:"6px",boxShadow:"0 0 0 1px #d9d9d9",padding:"8px"},s||{})},o.default.createElement(u.default,i({theme:"vs-light",width:"100%",height:"300px",language:r,options:i({cursorStyle:"line",formatOnPaste:!0,formatOnType:!0,renderLineHighlight:"none",wordWrap:"on",autoIndent:"full",disableLayerHinting:!0,fontSize:14,readOnly:E,fontFamily:"Consolas, 'Courier New', monospace"},c||{})},y,{value:v,onChange:function(e){if(!E&&!h.current){if(j)try{JSON.parse(e),h.current=!0,w(e)}catch(t){w(l?e:void 0,!l)}else w(e);O(e)}},onMount:function(e){b.current=e}})))};Object.defineProperty(e,"useMonaco",{enumerable:!0,get:function(){return n.useMonaco}}),e.CodeEditor=a,e.default=a,Object.defineProperty(e,"__esModule",{value:!0})}));