New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

codemirror-editor-vue3

Package Overview
Dependencies
Maintainers
1
Versions
115
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codemirror-editor-vue3 - npm Package Compare versions

Comparing version 0.3.3 to 0.3.4-beta

9

CHANGELOG.md

@@ -10,2 +10,11 @@ ## 0.3.2(2021-12-15)

## 0.3.2(2021-12-15)
### Update
- 🌟Support styles to be automatically injected into the head tag, and there is no need to introduce component styles separately. (The related styles of codemirror itself still need to be introduced manually)
- 🌟Increase the support of `KeepCursorInEnd` attribute, which can only be used in `fclog` mode.
- 🐞Fix cannot call the scrollTo method of the instance.
- 🌟Refactor partial code.
## 0.2.4(2021-09-08)

@@ -12,0 +21,0 @@

31

dist/codemirror-editor-vue3.es.js

@@ -41,5 +41,4 @@ var __defProp = Object.defineProperty;

type: String,
default: `cm-textarea-${new Date().toString()}`
default: `cm-textarea-${+new Date()}`
},
code: String,
value: String,

@@ -69,3 +68,3 @@ content: String,

unwatch = watch(() => props.cminstance, (val, oldVal) => {
val && props.cminstance.setValue(props.code || props.value || props.content);
val && props.cminstance.setValue(props.value || props.content);
emit("ready", _cminstance);

@@ -103,3 +102,3 @@ unwatch();

type: String,
default: `cm-textarea-${new Date().toString()}`
default: `cm-mergeView-${new Date().toString()}`
},

@@ -295,3 +294,2 @@ options: {

props: {
code: String,
value: String,

@@ -301,3 +299,3 @@ content: String,

type: String,
default: `cm-textarea-${new Date().toString()}`
default: `cm-textarea-${+new Date()}`
},

@@ -339,3 +337,3 @@ options: {

renderTextMark(props.cminstance);
props.cminstance.setValue(props.code || props.value || props.content);
props.cminstance.setValue(props.value || props.content);
emit("ready", _cminstance);

@@ -495,3 +493,2 @@ }

props: {
code: String,
value: String,

@@ -572,9 +569,21 @@ marker: Function,

};
const reviseStyle = () => {
let timer = setInterval(() => {
const gutterEl = document.querySelector(".CodeMirror-gutters");
const gutterElLeft = gutterEl.style.left.replace("px", "");
gutterElLeft != "0" ? refresh() : clearInterval(timer);
}, 60);
let clearTimer = setTimeout(() => {
clearInterval(timer);
clearTimeout(clearTimer);
timer = null;
clearTimer = null;
}, 400);
};
const onCodeChange = (newVal) => {
const cm_value = cminstance.value.getValue();
if (newVal !== cm_value) {
const scrollInfo = cminstance.value.getScrollInfo();
cminstance.value.setValue(newVal);
content.value = newVal;
cminstance.value.scrollTo(scrollInfo.left, scrollInfo.top);
reviseStyle();
}

@@ -625,3 +634,3 @@ unseenLineMarkers();

containerHeight,
instanceName: props.name || ((_b = (_a = internalInstance == null ? void 0 : internalInstance.parent) == null ? void 0 : _a.type) == null ? void 0 : _b.name) + "-cm",
instanceName: props.name || ((_b = (_a = internalInstance == null ? void 0 : internalInstance.parent) == null ? void 0 : _a.type) == null ? void 0 : _b.name) || void 0,
presetRef

@@ -628,0 +637,0 @@ };

@@ -1,8 +0,8 @@

var ke=Object.defineProperty,ye=Object.defineProperties;var we=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var $e=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var A=(i,u,t)=>u in i?ke(i,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[u]=t,S=(i,u)=>{for(var t in u||(u={}))$e.call(u,t)&&A(i,t,u[t]);if(N)for(var t of N(u))_e.call(u,t)&&A(i,t,u[t]);return i},B=(i,u)=>ye(i,we(u));(function(i,u){typeof exports=="object"&&typeof module!="undefined"?u(exports,require("codemirror/lib/codemirror.css"),require("vue"),require("codemirror"),require("codemirror/addon/merge/merge.css"),require("codemirror/addon/merge/merge.js"),require("diff-match-patch"),require("codemirror/addon/mode/simple.js"),require("codemirror/lib/codemirror.js")):typeof define=="function"&&define.amd?define(["exports","codemirror/lib/codemirror.css","vue","codemirror","codemirror/addon/merge/merge.css","codemirror/addon/merge/merge.js","diff-match-patch","codemirror/addon/mode/simple.js","codemirror/lib/codemirror.js"],u):(i=typeof globalThis!="undefined"?globalThis:i||self,u(i["codemirror-editor-vue3"]={},null,i.Vue,i.codemirror,null,null,i.DiffMatchPatch,null,i.codemirror))})(this,function(i,u,t,R,be,Me,V,ve,F){"use strict";function O(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function P(e){if(e&&e.__esModule)return e;var n={__proto__:null,[Symbol.toStringTag]:"Module"};return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}}),n.default=e,Object.freeze(n)}var $=O(R),z=O(V),H=P(F),_=(e,n)=>{const r=e.__vccOpts||e;for(const[a,o]of n)r[a]=o;return r};const q=window.CodeMirror||$.default,U=t.defineComponent({name:"defaultMode",props:{name:{type:String,default:`cm-textarea-${new Date().toString()}`},code:String,value:String,content:String,options:{type:Object,default:()=>({})},cminstance:{type:Object,default:()=>({})},placeholder:{type:String,default:""}},emits:["update:cminstance","ready"],setup(e,{emit:n}){const r=t.ref(),a=t.ref(null),o=()=>{a.value=t.markRaw(q.fromTextArea(r.value,e.options)),n("update:cminstance",a.value);let l=null;l=t.watch(()=>e.cminstance,(c,h)=>{c&&e.cminstance.setValue(e.code||e.value||e.content),n("ready",a),l()},{deep:!0})};return t.onMounted(()=>{o()}),{initialize:o,textarea:r}}}),W=["name","placeholder"];function J(e,n,r,a,o,l){return t.openBlock(),t.createElementBlock("textarea",{ref:"textarea",name:e.$props.name,placeholder:e.$props.placeholder},null,8,W)}var K=_(U,[["render",J]]);const G=(window==null?void 0:window.CodeMirror)||$.default;window.diff_match_patch=z.default,window.DIFF_DELETE=-1,window.DIFF_INSERT=1,window.DIFF_EQUAL=0;const Z=t.defineComponent({name:"mergeMode",props:{name:{type:String,default:`cm-textarea-${new Date().toString()}`},options:{type:Object,default:()=>({})},cminstance:{type:Object,default:()=>({})}},emits:["update:cminstance","ready"],setup(e,{emit:n}){const r=t.ref(null),a=t.ref(null),o=()=>{r.value=t.markRaw(G.MergeView(a.value,e.options)),n("update:cminstance",r.value.edit),n("ready",r)};return t.onMounted(()=>{o()}),{mergeView:a,initialize:o}}}),Q=["name"];function X(e,n,r,a,o,l){return t.openBlock(),t.createElementBlock("div",{ref:"mergeView",name:e.$props.name},null,8,Q)}var Y=_(Z,[["render",X]]),j;(function(e){e.info="info",e.warning="warning",e.error="error"})(j||(j={}));function C(){const e=new Date,n=e.getHours()<10?"0"+e.getHours():e.getHours(),r=e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes(),a=e.getSeconds()<10?"0"+e.getSeconds():e.getSeconds();return`${n}:${r}:${a}`}function ee(e){return`#link#${JSON.stringify(e)}#link#`}function x(e){const n=/#link#(.+)#link#/g;let r=[],a;for(a=n.exec(e);a;){const o=document.createElement("a"),l=JSON.parse(a[1]),c=Object.entries(l);for(let[h,d]of c)o.setAttribute(h,d);o.className="editor_custom_link",o.innerHTML="logDownload",r.push({start:a.index,end:a.index+a[0].length,node:o}),a=n.exec(e)}return r}function te(e="",n="info"){return`#log<${n}>log#${e}#log<${n}>log#`}function L(e){let n=[];function r(){const a=new RegExp(`#log<(\\w*)>log#((.|\r
var ke=Object.defineProperty,we=Object.defineProperties;var $e=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var _e=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable;var A=(l,u,t)=>u in l?ke(l,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[u]=t,M=(l,u)=>{for(var t in u||(u={}))_e.call(u,t)&&A(l,t,u[t]);if(N)for(var t of N(u))be.call(u,t)&&A(l,t,u[t]);return l},B=(l,u)=>we(l,$e(u));(function(l,u){typeof exports=="object"&&typeof module!="undefined"?u(exports,require("codemirror/lib/codemirror.css"),require("vue"),require("codemirror"),require("codemirror/addon/merge/merge.css"),require("codemirror/addon/merge/merge.js"),require("diff-match-patch"),require("codemirror/addon/mode/simple.js"),require("codemirror/lib/codemirror.js")):typeof define=="function"&&define.amd?define(["exports","codemirror/lib/codemirror.css","vue","codemirror","codemirror/addon/merge/merge.css","codemirror/addon/merge/merge.js","diff-match-patch","codemirror/addon/mode/simple.js","codemirror/lib/codemirror.js"],u):(l=typeof globalThis!="undefined"?globalThis:l||self,u(l["codemirror-editor-vue3"]={},null,l.Vue,l.codemirror,null,null,l.DiffMatchPatch,null,l.codemirror))})(this,function(l,u,t,R,ve,Me,V,Ee,F){"use strict";function S(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function P(e){if(e&&e.__esModule)return e;var n={__proto__:null,[Symbol.toStringTag]:"Module"};return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}}),n.default=e,Object.freeze(n)}var $=S(R),z=S(V),q=P(F),_=(e,n)=>{const r=e.__vccOpts||e;for(const[a,o]of n)r[a]=o;return r};const H=window.CodeMirror||$.default,U=t.defineComponent({name:"defaultMode",props:{name:{type:String,default:`cm-textarea-${+new Date}`},value:String,content:String,options:{type:Object,default:()=>({})},cminstance:{type:Object,default:()=>({})},placeholder:{type:String,default:""}},emits:["update:cminstance","ready"],setup(e,{emit:n}){const r=t.ref(),a=t.ref(null),o=()=>{a.value=t.markRaw(H.fromTextArea(r.value,e.options)),n("update:cminstance",a.value);let i=null;i=t.watch(()=>e.cminstance,(c,y)=>{c&&e.cminstance.setValue(e.value||e.content),n("ready",a),i()},{deep:!0})};return t.onMounted(()=>{o()}),{initialize:o,textarea:r}}}),W=["name","placeholder"];function J(e,n,r,a,o,i){return t.openBlock(),t.createElementBlock("textarea",{ref:"textarea",name:e.$props.name,placeholder:e.$props.placeholder},null,8,W)}var K=_(U,[["render",J]]);const G=(window==null?void 0:window.CodeMirror)||$.default;window.diff_match_patch=z.default,window.DIFF_DELETE=-1,window.DIFF_INSERT=1,window.DIFF_EQUAL=0;const Z=t.defineComponent({name:"mergeMode",props:{name:{type:String,default:`cm-mergeView-${new Date().toString()}`},options:{type:Object,default:()=>({})},cminstance:{type:Object,default:()=>({})}},emits:["update:cminstance","ready"],setup(e,{emit:n}){const r=t.ref(null),a=t.ref(null),o=()=>{r.value=t.markRaw(G.MergeView(a.value,e.options)),n("update:cminstance",r.value.edit),n("ready",r)};return t.onMounted(()=>{o()}),{mergeView:a,initialize:o}}}),Q=["name"];function X(e,n,r,a,o,i){return t.openBlock(),t.createElementBlock("div",{ref:"mergeView",name:e.$props.name},null,8,Q)}var Y=_(Z,[["render",X]]),O;(function(e){e.info="info",e.warning="warning",e.error="error"})(O||(O={}));function j(){const e=new Date,n=e.getHours()<10?"0"+e.getHours():e.getHours(),r=e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes(),a=e.getSeconds()<10?"0"+e.getSeconds():e.getSeconds();return`${n}:${r}:${a}`}function ee(e){return`#link#${JSON.stringify(e)}#link#`}function C(e){const n=/#link#(.+)#link#/g;let r=[],a;for(a=n.exec(e);a;){const o=document.createElement("a"),i=JSON.parse(a[1]),c=Object.entries(i);for(let[y,s]of c)o.setAttribute(y,s);o.className="editor_custom_link",o.innerHTML="logDownload",r.push({start:a.index,end:a.index+a[0].length,node:o}),a=n.exec(e)}return r}function te(e="",n="info"){return`#log<${n}>log#${e}#log<${n}>log#`}function x(e){let n=[];function r(){const a=new RegExp(`#log<(\\w*)>log#((.|\r
|
)*?)#log<(\\w*)>log#`,"g");let o;for(o=a.exec(e);o;){let c=o[0].replace(/\r\n/g,`
`).split(`
`),d=o[2].replace(/\r\n/g,`
`),s=o[2].replace(/\r\n/g,`
`).split(`
`);const m=document.createElement("span");let f=o[1];m.className=`c-editor--log__${f}`;let s=0;for(let p=0;p<c.length;p++){let w=c[p],E=d[p],M=m.cloneNode(!1);M.innerText=E,n.push({start:o.index+s,end:o.index+s+w.length,node:M}),s=s+w.length+1}o=a.exec(e)}}return r(),n}function ne(e,n=""){return`[${C()}] <${n}> ${e}`}function re(e="",n=20,r="="){const a=Math.floor(1.5*e.length/2),l=new Array(Math.max(n-a,5)).join(r);return`${l}${e}${l}`}const b=[{regex:/(\[.*?\])([ \t]*)(<error>[ \t])(.+)/,token:["tag",null,"error.strong","error.strong"],sol:!0},{regex:/(\[.*?\])([ \t]*)(<info>)(.+)(.?)/,token:["tag",null,"bracket","bracket","hr"],sol:!0},{regex:/(\[.*?\])([ \t]*)(<warning>)(.+)(.?)/,token:["tag",null,"comment","comment","hr"],sol:!0}];$.default.defineSimpleMode("fclog",{start:[...b,{regex:/.*/,token:"hr"}],error:[...b,{regex:/.*/,token:"error.strong"}],info:[...b,{regex:/.*/,token:"bracket"}],warning:[...b,{regex:/.*\[/,token:"comment"}]}),H.defineSimpleMode("log",{start:[{regex:/^[=]+[^=]*[=]+/,token:"strong"},{regex:/([^\w])([A-Z][\w]*)/,token:[null,"string"]},{regex:/(^[A-Z][\w]*)/,token:"string"}]});const oe=window.CodeMirror||$.default,ae=t.defineComponent({name:"codemirror-fclog",props:{code:String,value:String,content:String,name:{type:String,default:`cm-textarea-${new Date().toString()}`},options:{type:Object,default:()=>({})},cminstance:{type:Object,default:()=>({})},placeholder:{type:String,default:""}},emits:["update:cminstance","ready"],setup(e,{emit:n}){const r=t.ref(),a=t.ref(null),o=(c=e.cminstance)=>{c.getAllMarks().forEach(f=>f.clear());const d=c.getValue(),m=[].concat(x(d)).concat(L(d));for(let f=0;f<m.length;f++){const s=m[f];c.markText(c.posFromIndex(s.start),c.posFromIndex(s.end),{replacedWith:s.node})}},l=()=>{a.value=t.markRaw(oe.fromTextArea(r.value,e.options)),n("update:cminstance",t.markRaw(a.value)),a.value.on("change",o)};return t.watch(()=>e.cminstance,c=>{c&&(o(e.cminstance),e.cminstance.setValue(e.code||e.value||e.content),n("ready",a))},{deep:!0,immediate:!0}),t.onMounted(()=>{l()}),{initialize:l,textarea:r}}}),ie=["name","placeholder"];function le(e,n,r,a,o,l){return t.openBlock(),t.createElementBlock("textarea",{ref:"textarea",name:e.$props.name,placeholder:e.$props.placeholder},null,8,ie)}var ce=_(ae,[["render",le]]);function se(e){Promise.resolve().then(()=>{let n=e.getScrollInfo();e.scrollTo(n.left,n.height)})}function de({props:e,cminstance:n,ctx:r,internalInstance:a,content:o,componentsEvts:l}){const c=()=>{let d=[];return Object.keys(a.vnode.props).forEach(m=>{if(m.startsWith("on")){let f=m.replace(m[2],m[2].toLowerCase()).slice(2);!l.includes(f)&&d.push(f)}}),d};return{listenerEvents:()=>{n.value.on("change",s=>{const p=s.getValue();p!=o.value&&(o.value=p,r.emit("update:value",o.value),r.emit("input",o.value),Promise.resolve().then(()=>{r.emit("change",o.value,s)}),e.KeepCursorInEnd&&se(s))});const d={};return c().filter(s=>!d[s]&&(d[s]=!0)).forEach(s=>{n.value.on(s,(...p)=>{r.emit(s,...p)})})}}}function ue({props:e,cminstance:n,presetRef:r}){const a=t.ref(null),o=t.ref(null);return{refresh:()=>{t.nextTick(()=>{n.value.refresh()})},resize:(d=e.width,m=e.height)=>{a.value=String(d).replace("px",""),o.value=String(m).replace("px","");let f=o.value;n.value.setSize(a.value,f)},destroy:()=>{const d=n.value.doc.cm.getWrapperElement();d==null||d.remove()},containerHeight:o}}const T=["update:value","change","input","ready"],me=["changes","scroll","beforeChange","cursorActivity","keyHandled","inputRead","electricInput","beforeSelectionChange","viewportChange","swapDoc","gutterClick","gutterContextMenu","focus","blur","refresh","optionChange","scrollCursorIntoView","update"],fe={mode:"text",theme:"default",lineNumbers:!0,smartIndent:!0,indentUnit:2,foldGutter:!0,matchBrackets:!0,autoCloseBrackets:!0,styleActiveLine:!0};typeof Object.assign!="function"&&Object.defineProperty(Object,"assign",{value(e,n){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const r=Object(e);for(let a=1;a<arguments.length;a++){const o=arguments[a];if(o!=null)for(const l in o)Object.prototype.hasOwnProperty.call(o,l)&&(r[l]=o[l])}return r},writable:!0,configurable:!0});const ge=t.defineComponent({name:"CodemirrorEditor",props:{code:String,value:String,marker:Function,unseenLines:Array,name:{type:String,default:""},placeholder:{type:String,default:""},merge:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},globalOptions:{type:Object,default:()=>({})},border:{type:Boolean,default:!1},width:{type:[String,Number],default:null},height:{type:[String,Number],default:null},KeepCursorInEnd:{type:Boolean,default:!1}},emits:[...T,...me],components:{Default:K,Merge:Y,FcLog:ce},setup(e,n){var I,D;const r=t.ref(null),a=t.ref(""),o=t.ref("Default"),l=t.ref(Object.assign(S({},fe),e.globalOptions,e.options)),c=t.getCurrentInstance(),h=t.ref(null),{refresh:d,resize:m,destroy:f,containerHeight:s}=ue({props:e,cminstance:r,presetRef:h}),{listenerEvents:p}=de({props:e,cminstance:r,ctx:n,internalInstance:c,content:a,componentsEvts:T}),w=()=>{e.unseenLines!==void 0&&e.marker!==void 0&&e.unseenLines.forEach(g=>{const k=r.value.lineInfo(g);r.value.setGutterMarker(g,"breakpoints",k.gutterMarkers?null:e.marker())})},E=g=>{const k=r.value.getValue();if(g!==k){const v=r.value.getScrollInfo();r.value.setValue(g),a.value=g,r.value.scrollTo(v.left,v.top)}w()},M=g=>{p(),w(),m(),n.emit("ready",r.value),t.watch([()=>e.height,()=>e.width],([k,v])=>{m(k,v)},{deep:!0})},he=()=>{if(e.options.mode=="fclog"||e.options.mode=="log"){o.value="FcLog";return}if(e.merge){o.value="Merge";return}o.value="default"};return t.watch(()=>e.options,g=>{for(const k in e.options)r.value.setOption(k,g[k])},{deep:!0}),t.watch(()=>e.value,g=>{E(g)}),t.watch(()=>e.merge,g=>{he()},{immediate:!0}),t.onBeforeUnmount(()=>{f()}),{presetModeName:o,cmOptions:l,cminstance:r,content:a,ready:M,resize:m,containerHeight:s,instanceName:e.name||((D=(I=c==null?void 0:c.parent)==null?void 0:I.type)==null?void 0:D.name)+"-cm",presetRef:h}}});function pe(e,n,r,a,o,l){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["codemirror-container",{merge:e.$props.merge,bordered:e.$props.border||e.$props.merge,"width-auto":!e.$props.width||e.$props.width=="100%","height-auto":!e.$props.height||e.$props.height=="100%"}]),style:t.normalizeStyle({height:e.containerHeight+"px"})},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.presetModeName),t.mergeProps({style:{height:"100%"},ref:"presetRef",cminstance:e.cminstance,"onUpdate:cminstance":n[0]||(n[0]=c=>e.cminstance=c)},B(S(S({},e.$props),e.$attrs),{options:e.cmOptions,name:e.instanceName,content:e.content}),{onReady:e.ready}),null,16,["cminstance","onReady"]))],6)}var y=_(ge,[["render",pe]]),Se="",Ee="";y.install=(e,n)=>(n&&(n.options&&(y.props.globalOptions.default=()=>n.options),n.events&&(y.props.globalEvents.default=()=>n.events)),e.component("Codemirror",y),e),function styleInject(css,ref){if(ref===void 0){ref={}}var insertAt=ref.insertAt;if(!css||typeof document==="undefined"){return}var head=document.head||document.getElementsByTagName("head")[0];var style=document.createElement("style");style.type="text/css";if(insertAt==="top"){if(head.firstChild){head.insertBefore(style,head.firstChild)}else{head.appendChild(style)}}else{head.appendChild(style)}if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(document.createTextNode(css))}};styleInject(`.codemirror-container {
`);const m=document.createElement("span");let g=o[1];m.className=`c-editor--log__${g}`;let d=0;for(let p=0;p<c.length;p++){let w=c[p],E=s[p],v=m.cloneNode(!1);v.innerText=E,n.push({start:o.index+d,end:o.index+d+w.length,node:v}),d=d+w.length+1}o=a.exec(e)}}return r(),n}function ne(e,n=""){return`[${j()}] <${n}> ${e}`}function re(e="",n=20,r="="){const a=Math.floor(1.5*e.length/2),i=new Array(Math.max(n-a,5)).join(r);return`${i}${e}${i}`}const b=[{regex:/(\[.*?\])([ \t]*)(<error>[ \t])(.+)/,token:["tag",null,"error.strong","error.strong"],sol:!0},{regex:/(\[.*?\])([ \t]*)(<info>)(.+)(.?)/,token:["tag",null,"bracket","bracket","hr"],sol:!0},{regex:/(\[.*?\])([ \t]*)(<warning>)(.+)(.?)/,token:["tag",null,"comment","comment","hr"],sol:!0}];$.default.defineSimpleMode("fclog",{start:[...b,{regex:/.*/,token:"hr"}],error:[...b,{regex:/.*/,token:"error.strong"}],info:[...b,{regex:/.*/,token:"bracket"}],warning:[...b,{regex:/.*\[/,token:"comment"}]}),q.defineSimpleMode("log",{start:[{regex:/^[=]+[^=]*[=]+/,token:"strong"},{regex:/([^\w])([A-Z][\w]*)/,token:[null,"string"]},{regex:/(^[A-Z][\w]*)/,token:"string"}]});const oe=window.CodeMirror||$.default,ae=t.defineComponent({name:"codemirror-fclog",props:{value:String,content:String,name:{type:String,default:`cm-textarea-${+new Date}`},options:{type:Object,default:()=>({})},cminstance:{type:Object,default:()=>({})},placeholder:{type:String,default:""}},emits:["update:cminstance","ready"],setup(e,{emit:n}){const r=t.ref(),a=t.ref(null),o=(c=e.cminstance)=>{c.getAllMarks().forEach(g=>g.clear());const s=c.getValue(),m=[].concat(C(s)).concat(x(s));for(let g=0;g<m.length;g++){const d=m[g];c.markText(c.posFromIndex(d.start),c.posFromIndex(d.end),{replacedWith:d.node})}},i=()=>{a.value=t.markRaw(oe.fromTextArea(r.value,e.options)),n("update:cminstance",t.markRaw(a.value)),a.value.on("change",o)};return t.watch(()=>e.cminstance,c=>{c&&(o(e.cminstance),e.cminstance.setValue(e.value||e.content),n("ready",a))},{deep:!0,immediate:!0}),t.onMounted(()=>{i()}),{initialize:i,textarea:r}}}),le=["name","placeholder"];function ie(e,n,r,a,o,i){return t.openBlock(),t.createElementBlock("textarea",{ref:"textarea",name:e.$props.name,placeholder:e.$props.placeholder},null,8,le)}var ce=_(ae,[["render",ie]]);function se(e){Promise.resolve().then(()=>{let n=e.getScrollInfo();e.scrollTo(n.left,n.height)})}function de({props:e,cminstance:n,ctx:r,internalInstance:a,content:o,componentsEvts:i}){const c=()=>{let s=[];return Object.keys(a.vnode.props).forEach(m=>{if(m.startsWith("on")){let g=m.replace(m[2],m[2].toLowerCase()).slice(2);!i.includes(g)&&s.push(g)}}),s};return{listenerEvents:()=>{n.value.on("change",d=>{const p=d.getValue();p!=o.value&&(o.value=p,r.emit("update:value",o.value),r.emit("input",o.value),Promise.resolve().then(()=>{r.emit("change",o.value,d)}),e.KeepCursorInEnd&&se(d))});const s={};return c().filter(d=>!s[d]&&(s[d]=!0)).forEach(d=>{n.value.on(d,(...p)=>{r.emit(d,...p)})})}}}function ue({props:e,cminstance:n,presetRef:r}){const a=t.ref(null),o=t.ref(null);return{refresh:()=>{t.nextTick(()=>{n.value.refresh()})},resize:(s=e.width,m=e.height)=>{a.value=String(s).replace("px",""),o.value=String(m).replace("px","");let g=o.value;n.value.setSize(a.value,g)},destroy:()=>{const s=n.value.doc.cm.getWrapperElement();s==null||s.remove()},containerHeight:o}}const L=["update:value","change","input","ready"],me=["changes","scroll","beforeChange","cursorActivity","keyHandled","inputRead","electricInput","beforeSelectionChange","viewportChange","swapDoc","gutterClick","gutterContextMenu","focus","blur","refresh","optionChange","scrollCursorIntoView","update"],fe={mode:"text",theme:"default",lineNumbers:!0,smartIndent:!0,indentUnit:2,foldGutter:!0,matchBrackets:!0,autoCloseBrackets:!0,styleActiveLine:!0};typeof Object.assign!="function"&&Object.defineProperty(Object,"assign",{value(e,n){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const r=Object(e);for(let a=1;a<arguments.length;a++){const o=arguments[a];if(o!=null)for(const i in o)Object.prototype.hasOwnProperty.call(o,i)&&(r[i]=o[i])}return r},writable:!0,configurable:!0});const ge=t.defineComponent({name:"CodemirrorEditor",props:{value:String,marker:Function,unseenLines:Array,name:{type:String,default:""},placeholder:{type:String,default:""},merge:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},globalOptions:{type:Object,default:()=>({})},border:{type:Boolean,default:!1},width:{type:[String,Number],default:null},height:{type:[String,Number],default:null},KeepCursorInEnd:{type:Boolean,default:!1}},emits:[...L,...me],components:{Default:K,Merge:Y,FcLog:ce},setup(e,n){var T,I;const r=t.ref(null),a=t.ref(""),o=t.ref("Default"),i=t.ref(Object.assign(M({},fe),e.globalOptions,e.options)),c=t.getCurrentInstance(),y=t.ref(null),{refresh:s,resize:m,destroy:g,containerHeight:d}=ue({props:e,cminstance:r,presetRef:y}),{listenerEvents:p}=de({props:e,cminstance:r,ctx:n,internalInstance:c,content:a,componentsEvts:L}),w=()=>{e.unseenLines!==void 0&&e.marker!==void 0&&e.unseenLines.forEach(f=>{const h=r.value.lineInfo(f);r.value.setGutterMarker(f,"breakpoints",h.gutterMarkers?null:e.marker())})},E=()=>{let f=setInterval(()=>{document.querySelector(".CodeMirror-gutters").style.left.replace("px","")!="0"?s():clearInterval(f)},60),h=setTimeout(()=>{clearInterval(f),clearTimeout(h),f=null,h=null},400)},v=f=>{const h=r.value.getValue();f!==h&&(r.value.setValue(f),a.value=f,E()),w()},he=f=>{p(),w(),m(),n.emit("ready",r.value),t.watch([()=>e.height,()=>e.width],([h,D])=>{m(h,D)},{deep:!0})},ye=()=>{if(e.options.mode=="fclog"||e.options.mode=="log"){o.value="FcLog";return}if(e.merge){o.value="Merge";return}o.value="default"};return t.watch(()=>e.options,f=>{for(const h in e.options)r.value.setOption(h,f[h])},{deep:!0}),t.watch(()=>e.value,f=>{v(f)}),t.watch(()=>e.merge,f=>{ye()},{immediate:!0}),t.onBeforeUnmount(()=>{g()}),{presetModeName:o,cmOptions:i,cminstance:r,content:a,ready:he,resize:m,containerHeight:d,instanceName:e.name||((I=(T=c==null?void 0:c.parent)==null?void 0:T.type)==null?void 0:I.name)||void 0,presetRef:y}}});function pe(e,n,r,a,o,i){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["codemirror-container",{merge:e.$props.merge,bordered:e.$props.border||e.$props.merge,"width-auto":!e.$props.width||e.$props.width=="100%","height-auto":!e.$props.height||e.$props.height=="100%"}]),style:t.normalizeStyle({height:e.containerHeight+"px"})},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.presetModeName),t.mergeProps({style:{height:"100%"},ref:"presetRef",cminstance:e.cminstance,"onUpdate:cminstance":n[0]||(n[0]=c=>e.cminstance=c)},B(M(M({},e.$props),e.$attrs),{options:e.cmOptions,name:e.instanceName,content:e.content}),{onReady:e.ready}),null,16,["cminstance","onReady"]))],6)}var k=_(ge,[["render",pe]]),Se="",Oe="";k.install=(e,n)=>(n&&(n.options&&(k.props.globalOptions.default=()=>n.options),n.events&&(k.props.globalEvents.default=()=>n.events)),e.component("Codemirror",k),e),function styleInject(css,ref){if(ref===void 0){ref={}}var insertAt=ref.insertAt;if(!css||typeof document==="undefined"){return}var head=document.head||document.getElementsByTagName("head")[0];var style=document.createElement("style");style.type="text/css";if(insertAt==="top"){if(head.firstChild){head.insertBefore(style,head.firstChild)}else{head.appendChild(style)}}else{head.appendChild(style)}if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(document.createTextNode(css))}};styleInject(`.codemirror-container {
position: relative;

@@ -68,2 +68,2 @@ display: inline-block;

}
`),i.Codemirror=y,i.createLinkMark=ee,i.createLog=ne,i.createLogMark=te,i.createTitle=re,i.default=y,i.getLinkMark=x,i.getLocalTime=C,i.getLogMark=L,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
`),l.Codemirror=k,l.createLinkMark=ee,l.createLog=ne,l.createLogMark=te,l.createTitle=re,l.default=k,l.getLinkMark=C,l.getLocalTime=j,l.getLogMark=x,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});

@@ -1,2 +0,29 @@

declare module "codemirror-editor-vue3";
declare module "codemirror-editor-vue3-local";
declare interface Fn<T = any, R = T> {
(...arg: T[]): R;
}
declare interface PromiseFn<T = any, R = T> {
(...arg: T[]): Promise<R>;
}
declare type RefType<T> = T | null;
declare type LabelValueOptions = {
label: string;
value: any;
[key: string]: string | number | boolean;
}[];
declare type EmitType = (event: string, ...args: any[]) => void;
declare type TargetContext = "_self" | "_blank";
declare interface ComponentElRef<T extends HTMLElement = HTMLDivElement> {
$el: T;
}
declare type ComponentRef<T extends HTMLElement = HTMLDivElement> = ComponentElRef<T> | null;
declare type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>;
declare type Nullable<T> = T | null;
{
"name": "codemirror-editor-vue3",
"description": "CodeMirror component for Vue3",
"version": "0.3.3",
"version": "0.3.4-beta",
"license": "MIT",

@@ -6,0 +6,0 @@ "files": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc