diff --git a/package-lock.json b/package-lock.json index 3cb03b1..3c27fb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -505,9 +505,9 @@ } }, "node_modules/@lezer/javascript": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.15.tgz", - "integrity": "sha512-B082ZdjI0vo2AgLqD834GlRTE9gwRX8NzHzKq5uDwEnQ9Dq+A/CEhd3nf68tiNA2f9O+8jS1NeSTUYT9IAqcTw==", + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.16.tgz", + "integrity": "sha512-84UXR3N7s11MPQHWgMnjb9571fr19MmXnr5zTv2XX0gHXXUvW3uPJ8GCjKrfTXmSdfktjRK0ayKklw+A13rk4g==", "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.1.3", @@ -523,14 +523,14 @@ } }, "node_modules/@litecanvas/litecanvas": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@litecanvas/litecanvas/-/litecanvas-0.25.0.tgz", - "integrity": "sha512-TdeUrv4ePIMLLl/zmPVP2M4fj882Xjdgl1PhqxhdCU/KtPDgm5mNTfKf1cj7yscbWew/fHU98+d8MKqRfn1/oA==" + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/@litecanvas/litecanvas/-/litecanvas-0.26.0.tgz", + "integrity": "sha512-2PmcaMJG0x4pTi02Uo6K/7iKt8K911Rcs5Ouz/kAMtzgQT+juD0WZOmjvqF0PQAEsAsUAM3frips7d+wZV5Uqw==" }, "node_modules/@litecanvas/plugin-asset-loader": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@litecanvas/plugin-asset-loader/-/plugin-asset-loader-0.3.0.tgz", - "integrity": "sha512-UaVqijTfX2Ivc8/OjABrtaqbDCbIZJbRsr7f8zOcq3CCFGv60iKiQCzDrbjRm882U6VU17xCXUo8HAgvm4Sunw==" + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@litecanvas/plugin-asset-loader/-/plugin-asset-loader-0.3.1.tgz", + "integrity": "sha512-M+VMSSt8Dw0/+5BH3vms2ra5gFXvYnltpqs2CnLjltGZu2+woa3zx5ClPbKynvZeXKqq1pv522BA+PIekJDPwQ==" }, "node_modules/codemirror": { "version": "6.0.1", @@ -590,9 +590,9 @@ } }, "node_modules/eslint-linter-browserify": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/eslint-linter-browserify/-/eslint-linter-browserify-9.1.1.tgz", - "integrity": "sha512-loRpCYRRm66WOBGqmLkPALg6Tmyvk67Nd1X+iZKLSfjf7QNbirPIukvwUAqte+uK8AFOZcOD7Jqyn+pUk4FxsA==" + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/eslint-linter-browserify/-/eslint-linter-browserify-9.2.0.tgz", + "integrity": "sha512-y6b2CN2rVTNnc6tYspFt61thfS14E3TPUyxFWJGvPxqNdXXOOlGBI8rM8pTIWlVzUhnHpY9tglk7X14Rj3/yMg==" }, "node_modules/pako": { "version": "2.1.0", diff --git a/public/about.html b/public/about.html index dbface8..9efda72 100644 --- a/public/about.html +++ b/public/about.html @@ -139,7 +139,7 @@
c){let S=to.build(this.view.state.doc,c,s.range.fromB,this.decorations,this.dynamicDecorationMap),C=to.build(this.view.state.doc,s.range.toB,p,this.decorations,this.dynamicDecorationMap);f=S.breakAtStart,d=S.openStart,m=C.openEnd;let O=this.compositionView(s);C.breakAtStart?O.breakAfter=1:C.content.length&&O.merge(O.length,O.length,C.content[0],!1,C.openStart,0)&&(O.breakAfter=C.content[0].breakAfter,C.content.shift()),S.content.length&&O.merge(0,0,S.content[S.content.length-1],!0,0,S.openEnd)&&S.content.pop(),h=S.content.concat(O).concat(C.content)}else({content:h,breakAtStart:f,openStart:d,openEnd:m}=to.build(this.view.state.doc,c,p,this.decorations,this.dynamicDecorationMap));let{i:g,off:y}=i.findPos(u,1),{i:b,off:v}=i.findPos(o,-1);PE(this,b,v,g,y,h,f,d,m)}s&&this.fixCompositionDOM(s)}compositionView(e){let t=new Ln(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new Cs(n,[t],t.length);let s=new Or;return s.append(t,0),s}fixCompositionDOM(e){let t=(i,a)=>{a.flags|=8|(a.children.some(o=>o.flags&7)?1:0),this.markedForComposition.add(a);let l=Gt.get(i);l&&l!=a&&(l.dom=null),a.setDOM(i)},s=this.childPos(e.range.fromB,1),n=this.children[s.i];t(e.line,n);for(let i=e.marks.length-1;i>=-1;i--)s=n.childPos(s.off,1),n=n.children[s.i],t(i>=0?e.marks[i].node:e.text,n)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let s=this.view.root.activeElement,n=s==this.dom,i=!n&&Pl(this.dom,this.view.observer.selectionRange)&&!(s&&this.dom.contains(s));if(!(n||t||i))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,o=this.moveToLine(this.domAtPos(l.anchor)),u=l.empty?o:this.moveToLine(this.domAtPos(l.head));if(ft.gecko&&l.empty&&!this.hasComposition&&tM(o)){let p=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(p,o.node.childNodes[o.offset]||null)),o=u=new _r(p,0),a=!0}let c=this.view.observer.selectionRange;(a||!c.focusNode||(!eo(o.node,o.offset,c.anchorNode,c.anchorOffset)||!eo(u.node,u.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,l))&&(this.view.observer.ignore(()=>{ft.android&&ft.chrome&&this.dom.contains(c.focusNode)&&aM(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let p=Rl(this.view.root);if(p)if(l.empty){if(ft.gecko){let h=nM(o.node,o.offset);if(h&&h!=3){let f=(h==1?kE:AE)(o.node,o.offset);f&&(o=new _r(f.node,f.offset))}}p.collapse(o.node,o.offset),l.bidiLevel!=null&&p.caretBidiLevel!==void 0&&(p.caretBidiLevel=l.bidiLevel)}else if(p.extend){p.collapse(o.node,o.offset);try{p.extend(u.node,u.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([o,u]=[u,o]),h.setEnd(u.node,u.offset),h.setStart(o.node,o.offset),p.removeAllRanges(),p.addRange(h)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),s&&s.focus())}),this.view.observer.setSelectionRange(o,u)),this.impreciseAnchor=o.precise?null:new _r(c.anchorNode,c.anchorOffset),this.impreciseHead=u.precise?null:new _r(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&eo(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,s=Rl(e.root),{anchorNode:n,anchorOffset:i}=e.observer.selectionRange;if(!s||!t.empty||!t.assoc||!s.modify)return;let a=Or.find(this,t.head);if(!a)return;let l=a.posAtStart;if(t.head==l||t.head==l+a.length)return;let o=this.coordsAt(t.head,-1),u=this.coordsAt(t.head,1);if(!o||!u||o.bottom>u.top)return;let c=this.domAtPos(t.head+t.assoc);s.collapse(c.node,c.offset),s.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let p=e.observer.selectionRange;e.docView.posFromDOM(p.anchorNode,p.anchorOffset)!=t.from&&s.collapse(n,i)}moveToLine(e){let t=this.dom,s;if(e.node!=t)return e;for(let n=e.offset;!s&&nt?c.top-t:t-c.bottom)-1;if(c.left-1<=e&&c.right+1>=e&&p=(c.left+c.right)/2,f=h;if((ft.chrome||ft.gecko)&&ei(r,l).getBoundingClientRect().left==c.right&&(f=!h),p<=0)return{node:r,offset:l+(f?1:0)};n=l+(f?1:0),i=p}}}return{node:r,offset:n>-1?n:a>0?r.nodeValue.length:0}}function rC(r,e,t,s=-1){var n,i;let a=r.contentDOM.getBoundingClientRect(),l=a.top+r.viewState.paddingTop,o,{docHeight:u}=r.viewState,{x:c,y:p}=e,h=p-l;if(h<0)return 0;if(h>u)return r.state.doc.length;for(let S=r.viewState.heightOracle.textHeight/2,C=!1;o=r.elementAtHeight(h),o.type!=Ir.Text;)for(;h=s>0?o.bottom+S:o.top-S,!(h>=0&&h<=u);){if(C)return t?null:0;C=!0,s=-s}p=l+h;let f=o.from;if(f2*t.size||t.size>2*e.size?Xr.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,s=!1,n){let{left:i,right:a}=this,l=t+i.length+this.break,o=null;return n&&n.from<=t+i.length&&n.more?o=i=i.updateHeight(e,t,s,n):i.updateHeight(e,t,s),n&&n.from<=l+a.length&&n.more?o=a=a.updateHeight(e,l,s,n):a.updateHeight(e,l,s),o?this.balanced(i,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function iE(r,e){let t,s;r[e]==null&&(t=r[e-1])instanceof Es&&(s=r[e+1])instanceof Es&&r.splice(e-1,3,new Es(t.length+1+s.length))}var _M=5,Kf=class r{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let s=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof sn?n.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new sn(s-this.pos,-1)),this.writtenTo=s,t>s&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,s){if(e