tsquare 0.9.0 → 0.9.1
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.1
|
|
4
|
+
|
|
5
|
+
- **Fix: `tsquare/viewer` keeps the board at its size on pages that cap images.** VS Code's webviews, Tailwind's base styles and many CSS resets set `img { max-width: 100% }`. The viewer draws the board image at its own size and zooms it with a transform, so the cap squeezed the board to the width of its frame while it kept its height: it showed up small, centered in a tall empty box. The viewer now sets the image's size itself. The playground wasn't affected; rendering and render URLs are unchanged.
|
|
6
|
+
|
|
3
7
|
## 0.9.0
|
|
4
8
|
|
|
5
9
|
The language and the renderer haven't changed: every wireframe renders exactly as in 0.8.0, and render URLs give the same images.
|
|
@@ -11,7 +11,7 @@ var hs=[],kl=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,
|
|
|
11
11
|
`&&(t="");else{let r=t.indexOf(`
|
|
12
12
|
`);r>-1&&(t=t.slice(0,r))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),r=e+t.length;for(let o=this.rangeIndex;;){let s=this.ranges[o].to;if(s>=r||(t=t.slice(0,s-(r-t.length)),o++,o==this.ranges.length))break;let n=this.ranges[o].from,a=this.lineAfter(n);t+=a,r=n+a.length}return{line:t,end:r}}skipGapsTo(e,t,r){for(;;){let o=this.ranges[this.rangeIndex].to,s=e+t;if(r>0?o>s:o>=s)break;let n=this.ranges[++this.rangeIndex].from;t+=n-o}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,r,o){let s=4;if(this.ranges.length>1){o=this.skipGapsTo(t,o,1),t+=o;let a=this.chunk.length;o=this.skipGapsTo(r,o,-1),r+=o,s+=this.chunk.length-a}let n=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&n>=0&&this.chunk[n]==e&&this.chunk[n+2]==t?this.chunk[n+2]=r:this.chunk.push(e,t,r,s),o}parseLine(e){let{line:t,end:r}=this.nextLine(),o=0,{streamParser:s}=this.lang,n=new vo(t,e?e.state.tabSize:4,e?kt(e.state):2);if(n.eol())s.blankLine(this.state,n.indentUnit);else for(;!n.eol();){let a=cu(s.token,n,this.state);if(a&&(o=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+n.start,this.parsedPos+n.pos,o)),n.start>1e4)break}this.parsedPos=r,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Z.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Jm,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Z(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Z(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function cu(i,e,t){e.start=e.pos;for(let r=0;r<10;r++){let o=i(e,t);if(e.pos>e.start)return o}throw new Error("Stream parser failed to advance stream.")}var ha=Object.create(null),fi=[we.none],Jm=new yo(fi),eu=[],tu=Object.create(null),du=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])du[i]=pu(ha,e);var Mo=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),du)}resolve(e){return e?this.table[e]||(this.table[e]=pu(this.extra,e)):0}},Zm=new Mo(ha);function ea(i,e){eu.indexOf(i)>-1||(eu.push(i),console.warn(e))}function pu(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let f of a.split(".")){let h=i[f]||C[f];h?typeof h=="function"?l.length?l=l.map(h):ea(f,`Modifier ${f} used at start of tag`):l.length?ea(f,`Tag ${f} used as modifier`):l=Array.isArray(h)?h:[h]:ea(f,`Unknown highlighting tag ${f}`)}for(let f of l)t.push(f)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),o=r+" "+t.map(a=>a.id),s=tu[o];if(s)return s.id;let n=tu[o]=we.define({id:fi.length,name:r,props:[$h({[r]:t})]});return fi.push(n),n.id}function Qm(i,e){let t=we.define({id:fi.length,name:"Document",props:[br.add(()=>i),iu.add(()=>r=>e.getIndent(r))],top:!0});return fi.push(t),t}var Cy={rtl:I.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:K.RTL}),ltr:I.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:K.LTR}),auto:I.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var eg=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),r=xa(i.state,t.from);return r.line?tg(i):r.block?ig(i):!1};function ga(i,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let o=i(e,t);return o?(r(t.update(o)),!0):!1}}var tg=ga(ng,0);var rg=ga(Cu,0);var ig=ga((i,e)=>Cu(i,e,sg(e)),0);function xa(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ci=50;function og(i,{open:e,close:t},r,o){let s=i.sliceDoc(r-ci,r),n=i.sliceDoc(o,o+ci),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(n)[0].length,f=s.length-a;if(s.slice(f-e.length,f)==e&&n.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:o+l,margin:l&&1}};let h,u;o-r<=2*ci?h=u=i.sliceDoc(r,o):(h=i.sliceDoc(r,r+ci),u=i.sliceDoc(o-ci,o));let c=/^\s*/.exec(h)[0].length,d=/\s*$/.exec(u)[0].length,p=u.length-d-t.length;return h.slice(c,c+e.length)==e&&u.slice(p,p+t.length)==t?{open:{pos:r+c+e.length,margin:/\s/.test(h.charAt(c+e.length))?1:0},close:{pos:o-d-t.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function sg(i){let e=[];for(let t of i.selection.ranges){let r=i.doc.lineAt(t.from),o=t.to<=r.to?r:i.doc.lineAt(t.to);o.from>r.from&&o.from==t.to&&(o=t.to==r.to+1?r:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=o.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return e}function Cu(i,e,t=e.selection.ranges){let r=t.map(s=>xa(e,s.from).block);if(!r.every(s=>s))return null;let o=t.map((s,n)=>og(e,r[n],s.from,s.to));if(i!=2&&!o.every(s=>s))return{changes:e.changes(t.map((s,n)=>o[n]?[]:[{from:s.from,insert:r[n].open+" "},{from:s.to,insert:" "+r[n].close}]))};if(i!=1&&o.some(s=>s)){let s=[];for(let n=0,a;n<o.length;n++)if(a=o[n]){let l=r[n],{open:f,close:h}=a;s.push({from:f.pos-l.open.length,to:f.pos+f.margin},{from:h.pos-h.margin,to:h.pos+l.close.length})}return{changes:s}}return null}function ng(i,e,t=e.selection.ranges){let r=[],o=-1;e:for(let{from:s,to:n}of t){let a=r.length,l=1e9,f;for(let h=s;h<=n;){let u=e.doc.lineAt(h);if(f==null&&(f=xa(e,u.from).line,!f))continue e;if(u.from>o&&(s==n||n>u.from)){o=u.from;let c=/^\s*/.exec(u.text)[0].length,d=c==u.length,p=u.text.slice(c,c+f.length)==f?c:-1;c<u.text.length&&c<l&&(l=c),r.push({line:u,comment:p,token:f,indent:c,empty:d,single:!1})}h=u.to+1}if(l<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=l);r.length==a+1&&(r[a].single=!0)}if(i!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:f,empty:h,single:u}of r)(u||!h)&&s.push({from:a.from+f,insert:l+" "});let n=e.changes(s);return{changes:n,selection:e.selection.map(n,1)}}else if(i!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:n,comment:a,token:l}of r)if(a>=0){let f=n.from+a,h=f+l.length;n.text[h-n.from]==" "&&h++,s.push({from:f,to:h})}return{changes:s}}return null}var ca=ke.define(),ag=ke.define(),lg=T.define(),vu=T.define({combine(i){return xe(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,o)=>e(r,o)||t(r,o)})}}),Au=Q.define({create(){return $t.empty},update(i,e){let t=e.state.facet(vu),r=e.annotation(ca);if(r){let l=Xe.fromTransaction(e,r.selection),f=r.side,h=f==0?i.undone:i.done;return l?h=Do(h,h.length,t.minDepth,l):h=Du(h,e.startState.selection),new $t(f==0?r.rest:h,f==0?h:r.rest)}let o=e.annotation(ag);if((o=="full"||o=="before")&&(i=i.isolate()),e.annotation(ne.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=Xe.fromTransaction(e),n=e.annotation(ne.time),a=e.annotation(ne.userEvent);return s?i=i.addChanges(s,n,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,n,a,t.newGroupDelay)),(o=="full"||o=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new $t(i.done.map(Xe.fromJSON),i.undone.map(Xe.fromJSON))}});function Mu(i={}){return[Au,vu.of(i),L.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Bo:e.inputType=="historyRedo"?da:null;return r?(e.preventDefault(),r(t)):!1}})]}function Lo(i,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let o=t.field(Au,!1);if(!o)return!1;let s=o.pop(i,t,e);return s?(r(s),!0):!1}}var Bo=Lo(0,!1),da=Lo(1,!1),fg=Lo(0,!0),hg=Lo(1,!0);var Xe=class i{constructor(e,t,r,o,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=o,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new i(e.changes&&ge.fromJSON(e.changes),[],e.mapped&<.fromJSON(e.mapped),e.startSelection&&y.fromJSON(e.startSelection),e.selectionsAfter.map(y.fromJSON))}static fromTransaction(e,t){let r=qe;for(let o of e.startState.facet(lg)){let s=o(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,qe)}static selection(e){return new i(void 0,qe,void 0,void 0,e)}};function Do(i,e,t,r){let o=e+1>t+20?e-t-1:0,s=i.slice(o,e);return s.push(r),s}function ug(i,e){let t=[],r=!1;return i.iterChangedRanges((o,s)=>t.push(o,s)),e.iterChangedRanges((o,s,n,a)=>{for(let l=0;l<t.length;){let f=t[l++],h=t[l++];a>=f&&n<=h&&(r=!0)}}),r}function cg(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function Tu(i,e){return i.length?e.length?i.concat(e):i:e}var qe=[],dg=200;function Du(i,e){if(i.length){let t=i[i.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-dg));return r.length&&r[r.length-1].eq(e)?i:(r.push(e),Do(i,i.length-1,1e9,t.setSelAfter(r)))}else return[Xe.selection([e])]}function pg(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function ua(i,e){if(!i.length)return i;let t=i.length,r=qe;for(;t;){let o=mg(i[t-1],e,r);if(o.changes&&!o.changes.empty||o.effects.length){let s=i.slice(0,t);return s[t-1]=o,s}else e=o.mapped,t--,r=o.selectionsAfter}return r.length?[Xe.selection(r)]:qe}function mg(i,e,t){let r=Tu(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):qe,t);if(!i.changes)return Xe.selection(r);let o=i.changes.map(e),s=e.mapDesc(i.changes,!0),n=i.mapped?i.mapped.composeDesc(s):s;return new Xe(o,H.mapEffects(i.effects,e),n,i.startSelection.map(s),r)}var gg=/^(input\.type|delete)($|\.)/,$t=class i{constructor(e,t,r=0,o=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,r,o,s){let n=this.done,a=n[n.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||gg.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<o.newGroupDelay&&o.joinToEvent(s,ug(a.changes,e.changes))||r=="input.type.compose")?n=Do(n,n.length-1,o.minDepth,new Xe(e.changes.compose(a.changes),Tu(H.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,qe)):n=Do(n,n.length,o.minDepth,e),new i(n,qe,t,r)}addSelection(e,t,r,o){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:qe;return s.length>0&&t-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&cg(s[s.length-1],e)?this:new i(Du(this.done,e),this.undone,t,r)}addMapping(e){return new i(ua(this.done,e),ua(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let o=e==0?this.done:this.undone;if(o.length==0)return null;let s=o[o.length-1],n=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):t.selection);if(r&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:ca.of({side:e,rest:pg(o),selection:n}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=o.length==1?qe:o.slice(0,o.length-1);return s.mapped&&(a=ua(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:ca.of({side:e,rest:a,selection:n}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};$t.empty=new $t(qe,qe);var Lu=[{key:"Mod-z",run:Bo,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:da,preventDefault:!0},{linux:"Ctrl-Shift-z",run:da,preventDefault:!0},{key:"Mod-u",run:fg,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:hg,preventDefault:!0}];function kr(i,e){return y.create(i.ranges.map(e),i.mainIndex)}function _e(i,e){return i.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ye({state:i,dispatch:e},t){let r=kr(i.selection,t);return r.eq(i.selection,!0)?!1:(e(_e(i,r)),!0)}function Po(i,e){return y.cursor(e?i.to:i.from)}function Bu(i,e){return Ye(i,t=>t.empty?i.moveByChar(t,e):Po(t,e))}function pe(i){return i.textDirectionAt(i.state.selection.main.head)==K.LTR}var Pu=i=>Bu(i,!pe(i)),Ou=i=>Bu(i,pe(i));function Eu(i,e){return Ye(i,t=>t.empty?i.moveByGroup(t,e):Po(t,e))}var xg=i=>Eu(i,!pe(i)),yg=i=>Eu(i,pe(i));var Oy=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function bg(i,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Oo(i,e,t){let r=Se(i).resolveInner(e.head),o=t?N.closedBy:N.openedBy;for(let l=e.head;;){let f=t?r.childAfter(l):r.childBefore(l);if(!f)break;bg(i,f,o)?r=f:l=t?f.to:f.from}let s=r.type.prop(o),n,a;return s&&(n=t?je(i,r.from,1):je(i,r.to,-1))&&n.matched?a=t?n.end.to:n.end.from:a=t?r.to:r.from,y.cursor(a,t?-1:1)}var wg=i=>Ye(i,e=>Oo(i.state,e,!pe(i))),Sg=i=>Ye(i,e=>Oo(i.state,e,pe(i)));function Ru(i,e){return Ye(i,t=>{if(!t.empty)return Po(t,e);let r=i.moveVertically(t,e);return r.head!=t.head?r:i.moveToLineBoundary(t,e)})}var Iu=i=>Ru(i,!1),Fu=i=>Ru(i,!0);function Hu(i){let e=i.scrollDOM.clientHeight<i.scrollDOM.scrollHeight-2,t=0,r=0,o;if(e){for(let s of i.state.facet(L.scrollMargins)){let n=s(i);n?.top&&(t=Math.max(n?.top,t)),n?.bottom&&(r=Math.max(n?.bottom,r))}o=i.scrollDOM.clientHeight-t-r}else o=(i.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(i.defaultLineHeight,o-5)}}function Nu(i,e){let t=Hu(i),{state:r}=i,o=kr(r.selection,n=>n.empty?i.moveVertically(n,e,t.height):Po(n,e));if(o.eq(r.selection))return!1;let s;if(t.selfScroll){let n=i.coordsAtPos(r.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,f=a.bottom-t.marginBottom;n&&n.top>l&&n.bottom<f&&(s=L.scrollIntoView(o.main.head,{y:"start",yMargin:n.top-l}))}return i.dispatch(_e(r,o),{effects:s}),!0}var mu=i=>Nu(i,!1),pa=i=>Nu(i,!0);function Ct(i,e,t){let r=i.lineBlockAt(e.head),o=i.moveToLineBoundary(e,t);if(o.head==e.head&&o.head!=(t?r.to:r.from)&&(o=i.moveToLineBoundary(e,t,!1)),!t&&o.head==r.from&&r.length){let s=/^\s*/.exec(i.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(o=y.cursor(r.from+s))}return o}var kg=i=>Ye(i,e=>Ct(i,e,!0)),Cg=i=>Ye(i,e=>Ct(i,e,!1)),vg=i=>Ye(i,e=>Ct(i,e,!pe(i))),Ag=i=>Ye(i,e=>Ct(i,e,pe(i))),Mg=i=>Ye(i,e=>i.moveToLineBoundary(e,!1,!1)),Tg=i=>Ye(i,e=>i.moveToLineBoundary(e,!0,!1));function Dg(i,e,t){let r=!1,o=kr(i.selection,s=>{let n=je(i,s.head,-1)||je(i,s.head,1)||s.head>0&&je(i,s.head-1,1)||s.head<i.doc.length&&je(i,s.head+1,-1);if(!n||!n.end)return s;r=!0;let a=n.start.from==s.head?n.end.to:n.end.from;return t?y.range(s.anchor,a):y.cursor(a)});return r?(e(_e(i,o)),!0):!1}var Lg=({state:i,dispatch:e})=>Dg(i,e,!1);function Ve(i,e,t){let r=kr(i.state.selection,o=>{o.undirectional&&o.head>=o.anchor!=e&&(o=y.range(o.head,o.anchor));let s=t(o);return y.range(o.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return r.eq(i.state.selection)?!1:(i.dispatch(_e(i.state,r)),!0)}function Wu(i,e){return Ve(i,e,t=>i.moveByChar(t,e))}var qu=i=>Wu(i,!pe(i)),Vu=i=>Wu(i,pe(i));function zu(i,e){return Ve(i,e,t=>i.moveByGroup(t,e))}var Bg=i=>zu(i,!pe(i)),Pg=i=>zu(i,pe(i));var Og=i=>{let e=!pe(i);return Ve(i,e,t=>Oo(i.state,t,e))},Eg=i=>{let e=pe(i);return Ve(i,e,t=>Oo(i.state,t,e))};function Uu(i,e){return Ve(i,e,t=>i.moveVertically(t,e))}var Ku=i=>Uu(i,!1),Gu=i=>Uu(i,!0);function $u(i,e){return Ve(i,e,t=>i.moveVertically(t,e,Hu(i).height))}var gu=i=>$u(i,!1),xu=i=>$u(i,!0),Rg=i=>Ve(i,!0,e=>Ct(i,e,!0)),Ig=i=>Ve(i,!1,e=>Ct(i,e,!1)),Fg=i=>{let e=!pe(i);return Ve(i,e,t=>Ct(i,t,e))},Hg=i=>{let e=pe(i);return Ve(i,e,t=>Ct(i,t,e))},Ng=i=>Ve(i,!1,e=>y.cursor(i.lineBlockAt(e.head).from)),Wg=i=>Ve(i,!0,e=>y.cursor(i.lineBlockAt(e.head).to)),yu=({state:i,dispatch:e})=>(e(_e(i,{anchor:0})),!0),bu=({state:i,dispatch:e})=>(e(_e(i,{anchor:i.doc.length})),!0),wu=({state:i,dispatch:e})=>(e(_e(i,{anchor:i.selection.main.anchor,head:0})),!0),Su=({state:i,dispatch:e})=>(e(_e(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),qg=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),Vg=({state:i,dispatch:e})=>{let t=Eo(i).map(({from:r,to:o})=>y.undirectionalRange(r,Math.min(o+1,i.doc.length)));return e(i.update({selection:y.create(t),userEvent:"select"})),!0},zg=({state:i,dispatch:e})=>{let t=kr(i.selection,r=>{let o=Se(i),s=o.resolveStack(r.from,1);if(r.empty){let n=o.resolveStack(r.from,-1);n.node.from>=s.node.from&&n.node.to<=s.node.to&&(s=n)}for(let n=s;n;n=n.next){let{node:a}=n;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&n.next)return y.undirectionalRange(a.from,a.to)}return r});return t.eq(i.selection)?!1:(e(_e(i,t)),!0)};function ju(i,e){let{state:t}=i,r=t.selection,o=t.selection.ranges.slice();for(let s of t.selection.ranges){let n=t.doc.lineAt(s.head);if(e?n.to<i.state.doc.length:n.from>0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.head<n.from||l.head>n.to){o.some(f=>f.head==l.head)||o.push(l);break}else{if(l.head==a.head)break;a=l}}}return o.length==r.ranges.length?!1:(i.dispatch(_e(t,y.create(o,o.length-1))),!0)}var Ug=i=>ju(i,!1),Kg=i=>ju(i,!0),Gg=({state:i,dispatch:e})=>{let t=i.selection,r=null;return t.ranges.length>1?r=y.create([t.main]):t.main.empty||(r=y.create([y.cursor(t.main.head)])),r?(e(_e(i,r)),!0):!1};function di(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:r}=i,o=r.changeByRange(s=>{let{from:n,to:a}=s;if(n==a){let l=e(s);l<n?(t="delete.backward",l=To(i,l,!1)):l>n&&(t="delete.forward",l=To(i,l,!0)),n=Math.min(n,l),a=Math.max(a,l)}else n=To(i,n,!1),a=To(i,a,!0);return n==a?{range:s}:{changes:{from:n,to:a},range:y.cursor(n,n<s.head?-1:1)}});return o.changes.empty?!1:(i.dispatch(r.update(o,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?L.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function To(i,e,t){if(i instanceof L)for(let r of i.state.facet(L.atomicRanges).map(o=>o(i)))r.between(e,e,(o,s)=>{o<e&&s>e&&(e=t?s:o)});return e}var Xu=(i,e,t)=>di(i,r=>{let o=r.from,{state:s}=i,n=s.doc.lineAt(o),a,l;if(t&&!e&&o>n.from&&o<n.from+200&&!/[^ \t]/.test(a=n.text.slice(0,o-n.from))){if(a[a.length-1]==" ")return o-1;let f=Et(a,s.tabSize),h=f%kt(s)||kt(s);for(let u=0;u<h&&a[a.length-1-u]==" ";u++)o--;l=o}else l=re(n.text,o-n.from,e,e)+n.from,l==o&&n.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(n.text.slice(l-n.from,o-n.from))&&(l=re(n.text,l-n.from,!1,!1)+n.from);return l}),ma=i=>Xu(i,!1,!0);var _u=i=>Xu(i,!0,!1),Yu=(i,e)=>di(i,t=>{let r=t.head,{state:o}=i,s=o.doc.lineAt(r),n=o.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?o.doc.lines:1)&&(r+=e?1:-1);break}let l=re(s.text,r-s.from,e)+s.from,f=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),h=n(f);if(a!=null&&h!=a)break;(f!=" "||r!=t.head)&&(a=h),r=l}return r}),Ju=i=>Yu(i,!1),$g=i=>Yu(i,!0);var jg=i=>di(i,e=>{let t=i.lineBlockAt(e.head).to;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var Xg=i=>di(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),_g=i=>di(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var Yg=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:V.of(["",""])},range:y.cursor(r.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Jg=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(r=>{if(!r.empty||r.from==0||r.from==i.doc.length)return{range:r};let o=r.from,s=i.doc.lineAt(o),n=o==s.from?o-1:re(s.text,o-s.from,!1)+s.from,a=o==s.to?o+1:re(s.text,o-s.from,!0)+s.from;return{changes:{from:n,to:a,insert:i.doc.slice(o,a).append(i.doc.slice(n,o))},range:y.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Eo(i){let e=[],t=-1;for(let r of i.selection.ranges){let o=i.doc.lineAt(r.from),s=i.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=i.doc.lineAt(r.to-1)),t>=o.number){let n=e[e.length-1];n.to=s.to,n.ranges.push(r)}else e.push({from:o.from,to:s.to,ranges:[r]});t=s.number+1}return e}function Zu(i,e,t){if(i.readOnly)return!1;let r=[],o=[];for(let s of Eo(i)){if(t?s.to==i.doc.length:s.from==0)continue;let n=i.doc.lineAt(t?s.to+1:s.from-1),a=n.length+1;if(t){r.push({from:s.to,to:n.to},{from:s.from,insert:n.text+i.lineBreak});for(let l of s.ranges)o.push(y.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{r.push({from:n.from,to:s.from},{from:s.to,insert:i.lineBreak+n.text});for(let l of s.ranges)o.push(y.range(l.anchor-a,l.head-a))}}return r.length?(e(i.update({changes:r,scrollIntoView:!0,selection:y.create(o,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Zg=({state:i,dispatch:e})=>Zu(i,e,!1),Qg=({state:i,dispatch:e})=>Zu(i,e,!0);function Qu(i,e,t){if(i.readOnly)return!1;let r=[];for(let s of Eo(i))t?r.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):r.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let o=i.changes(r);return e(i.update({changes:o,selection:i.selection.map(o,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var ex=({state:i,dispatch:e})=>Qu(i,e,!1),tx=({state:i,dispatch:e})=>Qu(i,e,!0),rx=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Eo(e).map(({from:o,to:s})=>(o>0?o--:s<e.doc.length&&s++,{from:o,to:s}))),r=kr(e.selection,o=>{let s;if(i.lineWrapping){let n=i.lineBlockAt(o.head),a=i.coordsAtPos(o.head,o.assoc||1);a&&(s=n.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(o,!0,s)}).map(t);return i.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function ix(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Se(i).resolveInner(e),r=t.childBefore(e),o=t.childAfter(e),s;return r&&o&&r.to<=e&&o.from>=e&&(s=r.type.prop(N.closedBy))&&s.indexOf(o.name)>-1&&i.doc.lineAt(r.to).from==i.doc.lineAt(o.from).from&&!/\S/.test(i.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}var ku=ec(!1),ox=ec(!0);function ec(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(o=>{let{from:s,to:n}=o,a=e.doc.lineAt(s),l=!i&&s==n&&ix(e,s);i&&(s=n=(n<=a.to?a:e.doc.lineAt(n)).to);let f=new Gt(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=la(f,s);for(h==null&&(h=Et(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));n<a.to&&/\s/.test(a.text[n-a.from]);)n++;l?{from:s,to:n}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let u=["",ui(e,h)];return l&&u.push(ui(e,f.lineIndent(a.from,-1))),{changes:{from:s,to:n,insert:V.of(u)},range:y.cursor(s+1+u[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function ya(i,e){let t=-1;return i.changeByRange(r=>{let o=[];for(let n=r.from;n<=r.to;){let a=i.doc.lineAt(n);a.number>t&&(r.empty||r.to>a.from)&&(e(a,o,r),t=a.number),n=a.to+1}let s=i.changes(o);return{changes:o,range:y.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}var sx=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),r=new Gt(i,{overrideIndentation:s=>{let n=t[s];return n??-1}}),o=ya(i,(s,n,a)=>{let l=la(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let f=/^\s*/.exec(s.text)[0],h=ui(i,l);(f!=h||a.from<s.from+f.length)&&(t[s.from]=l,n.push({from:s.from,to:s.from+f.length,insert:h}))});return o.changes.empty||e(i.update(o,{userEvent:"indent"})),!0},tc=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ya(i,(t,r)=>{r.push({from:t.from,insert:i.facet(hi)})}),{userEvent:"input.indent"})),!0),rc=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ya(i,(t,r)=>{let o=/^\s*/.exec(t.text)[0];if(!o)return;let s=Et(o,i.tabSize),n=0,a=ui(i,Math.max(0,s-kt(i)));for(;n<o.length&&n<a.length&&o.charCodeAt(n)==a.charCodeAt(n);)n++;r.push({from:t.from+n,to:t.from+o.length,insert:a.slice(n)})}),{userEvent:"delete.dedent"})),!0),nx=i=>(i.setTabFocusMode(),!0);var ax=[{key:"Ctrl-b",run:Pu,shift:qu,preventDefault:!0},{key:"Ctrl-f",run:Ou,shift:Vu},{key:"Ctrl-p",run:Iu,shift:Ku},{key:"Ctrl-n",run:Fu,shift:Gu},{key:"Ctrl-a",run:Mg,shift:Ng},{key:"Ctrl-e",run:Tg,shift:Wg},{key:"Ctrl-d",run:_u},{key:"Ctrl-h",run:ma},{key:"Ctrl-k",run:jg},{key:"Ctrl-Alt-h",run:Ju},{key:"Ctrl-o",run:Yg},{key:"Ctrl-t",run:Jg},{key:"Ctrl-v",run:pa}],lx=[{key:"ArrowLeft",run:Pu,shift:qu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:xg,shift:Bg,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:vg,shift:Fg,preventDefault:!0},{key:"ArrowRight",run:Ou,shift:Vu,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:yg,shift:Pg,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Ag,shift:Hg,preventDefault:!0},{key:"ArrowUp",run:Iu,shift:Ku,preventDefault:!0},{mac:"Cmd-ArrowUp",run:yu,shift:wu},{mac:"Ctrl-ArrowUp",run:mu,shift:gu},{key:"ArrowDown",run:Fu,shift:Gu,preventDefault:!0},{mac:"Cmd-ArrowDown",run:bu,shift:Su},{mac:"Ctrl-ArrowDown",run:pa,shift:xu},{key:"PageUp",run:mu,shift:gu},{key:"PageDown",run:pa,shift:xu},{key:"Home",run:Cg,shift:Ig,preventDefault:!0},{key:"Mod-Home",run:yu,shift:wu},{key:"End",run:kg,shift:Rg,preventDefault:!0},{key:"Mod-End",run:bu,shift:Su},{key:"Enter",run:ku,shift:ku},{key:"Mod-a",run:qg},{key:"Backspace",run:ma,shift:ma,preventDefault:!0},{key:"Delete",run:_u,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ju,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:$g,preventDefault:!0},{mac:"Mod-Backspace",run:Xg,preventDefault:!0},{mac:"Mod-Delete",run:_g,preventDefault:!0}].concat(ax.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),ic=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:wg,shift:Og},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Sg,shift:Eg},{key:"Alt-ArrowUp",run:Zg},{key:"Shift-Alt-ArrowUp",run:ex},{key:"Alt-ArrowDown",run:Qg},{key:"Shift-Alt-ArrowDown",run:tx},{key:"Mod-Alt-ArrowUp",run:Ug},{key:"Mod-Alt-ArrowDown",run:Kg},{key:"Escape",run:Gg},{key:"Mod-Enter",run:ox},{key:"Alt-l",mac:"Ctrl-l",run:Vg},{key:"Mod-i",run:zg,preventDefault:!0},{key:"Mod-[",run:rc},{key:"Mod-]",run:tc},{key:"Mod-Alt-\\",run:sx},{key:"Shift-Mod-k",run:rx},{key:"Shift-Mod-\\",run:Lg},{key:"Mod-/",run:eg},{key:"Alt-A",mac:"Ctrl-A",run:rg},{key:"Ctrl-m",mac:"Shift-Alt-m",run:nx}].concat(lx),oc={key:"Tab",run:tc,shift:rc};var sc={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};var nc=([i,e,t])=>{let r=document.createElementNS("http://www.w3.org/2000/svg",i);return Object.keys(e).forEach(o=>{r.setAttribute(o,String(e[o]))}),t?.length&&t.forEach(o=>{let s=nc(o);r.appendChild(s)}),r},ba=(i,e={})=>{let r={...sc,...e};return nc(["svg",r,i])};var wa=[["path",{d:"m16 18 6-6-6-6"}],["path",{d:"m8 6-6 6 6 6"}]];var Sa=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]];var ka=[["path",{d:"M12 15V3"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}],["path",{d:"m7 10 5 5 5-5"}]];var Ca=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M10 9H8"}],["path",{d:"M16 13H8"}],["path",{d:"M16 17H8"}]];var va=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}],["circle",{cx:"9",cy:"9",r:"2"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}]];var Aa=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"}]];var Ma=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];var Ta=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3"}]];var Da=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3"}]];var La=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"}]];var Ba=[["circle",{cx:"18",cy:"5",r:"3"}],["circle",{cx:"6",cy:"12",r:"3"}],["circle",{cx:"18",cy:"19",r:"3"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}]];var Pa=[["circle",{cx:"12",cy:"12",r:"4"}],["path",{d:"M12 2v2"}],["path",{d:"M12 20v2"}],["path",{d:"m4.93 4.93 1.41 1.41"}],["path",{d:"m17.66 17.66 1.41 1.41"}],["path",{d:"M2 12h2"}],["path",{d:"M20 12h2"}],["path",{d:"m6.34 17.66-1.41 1.41"}],["path",{d:"m19.07 4.93-1.41 1.41"}]];var Oa=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];var Ea=[["circle",{cx:"11",cy:"11",r:"8"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11"}]];var Ra=[["circle",{cx:"11",cy:"11",r:"8"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11"}]];var Io=class{constructor(e,t,r,o){this.state=e,this.pos=t,this.explicit=r,this.view=o,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=Se(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),o=t.text.slice(r-t.from,this.pos-t.from),s=o.search(pc(e,!1));return s<0?null:{from:r+s,to:this.pos,text:o.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}};function ac(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function fx(i){let e=Object.create(null),t=Object.create(null);for(let{label:o}of i){e[o[0]]=!0;for(let s=1;s<o.length;s++)t[o[s]]=!0}let r=ac(e)+ac(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function hx(i){let e=i.map(o=>typeof o=="string"?{label:o}:o),[t,r]=e.every(o=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:fx(e);return o=>{let s=o.matchBefore(r);return s||o.explicit?{from:s?s.from:o.pos,options:e,validFor:t}:null}}var Fo=class{constructor(e,t,r,o){this.completion=e,this.source=t,this.match=r,this.score=o}};function Xt(i){return i.selection.main.from}function pc(i,e){var t;let{source:r}=i,o=e&&r[0]!="^",s=r[r.length-1]!="$";return!o&&!s?i:new RegExp(`${o?"^":""}(?:${r})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var mc=ke.define();function ux(i,e,t,r){let{main:o}=i.selection,s=t-o.from,n=r-o.from;return{...i.changeByRange(a=>{if(a!=o&&t!=r&&i.sliceDoc(a.from+s,a.from+n)!=i.sliceDoc(t,r))return{range:a};let l=i.toText(e);return{changes:{from:a.from+s,to:r==o.from?a.to:a.from+n,insert:l},range:y.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var lc=new WeakMap;function cx(i){if(!Array.isArray(i))return i;let e=lc.get(i);return e||lc.set(i,e=hx(i)),e}var Ho=H.define(),pi=H.define(),Na=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=de(e,t),o=Me(r);this.chars.push(r);let s=e.slice(t,t+o),n=s.toUpperCase();this.folded.push(de(n==s?s.toLowerCase():n,0)),t+=o}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:r,any:o,precise:s,byWord:n}=this;if(t.length==1){let w=de(e,0),b=Me(w),B=b==e.length?0:-100;if(w!=t[0])if(w==r[0])B+=-200;else return null;return this.ret(B,[0,b])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,f=0;if(a<0){for(let w=0,b=Math.min(e.length,200);w<b&&f<l;){let B=de(e,w);(B==t[f]||B==r[f])&&(o[f++]=w),w+=Me(B)}if(f<l)return null}let h=0,u=0,c=!1,d=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let w=0,b=Math.min(e.length,200),B=0;w<b&&u<l;){let S=de(e,w);a<0&&(h<l&&S==t[h]&&(s[h++]=w),d<l&&(S==t[d]||S==r[d]?(d==0&&(p=w),m=w+1,d++):d=0));let k,A=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(k=Ir(S))!=k.toLowerCase()?1:k!=k.toUpperCase()?2:0;(!w||A==1&&g||B==0&&A!=0)&&(t[u]==S||r[u]==S&&(c=!0)?n[u++]=w:n.length&&(x=!1)),B=A,w+=Me(S)}return u==l&&n[0]==0&&x?this.result(-100+(c?-200:0),n,e):d==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):d==l?this.ret(-900-e.length,[p,m]):u==l?this.result(-100+(c?-200:0)+-700+(x?0:-1100),n,e):t.length==2?null:this.result((o[0]?-700:0)+-200+-1100,o,e)}result(e,t,r){let o=[],s=0;for(let n of t){let a=n+(this.astral?Me(de(r,n)):1);s&&o[s-1]==n?o[s-1]=a:(o[s++]=n,o[s++]=a)}return this.ret(e-r.length,o)}},Wa=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),r=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,t.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}},ae=T.define({combine(i){return xe(i,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:dx,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>fc(e(r),t(r)),optionClass:(e,t)=>r=>fc(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function fc(i,e){return i?e?i+" "+e:i:e}function dx(i,e,t,r,o,s){let n=i.textDirection==K.RTL,a=n,l=!1,f="top",h,u,c=e.left-o.left,d=o.right-e.right,p=r.right-r.left,m=r.bottom-r.top;if(a&&c<Math.min(p,d)?a=!1:!a&&d<Math.min(p,c)&&(a=!0),p<=(a?c:d))h=Math.max(o.top,Math.min(t.top,o.bottom-m))-e.top,u=Math.min(400,a?c:d);else{l=!0,u=Math.min(400,(n?e.right:o.right-e.left)-30);let w=o.bottom-e.bottom;w>=m||w>e.top?h=t.bottom-e.top:(f="bottom",h=e.bottom-t.top)}let g=(e.bottom-e.top)/s.offsetHeight,x=(e.right-e.left)/s.offsetWidth;return{style:`${f}: ${h/g}px; max-width: ${u/x}px`,class:"cm-completionInfo-"+(l?n?"left-narrow":"right-narrow":a?"left":"right")}}var Ka=H.define();function px(i){let e=i.addToOptions.slice();return i.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(o=>"cm-completionIcon-"+o)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,o,s){let n=document.createElement("span");n.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let f=0;f<s.length;){let h=s[f++],u=s[f++];h>l&&n.appendChild(document.createTextNode(a.slice(l,h)));let c=n.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(a.slice(h,u))),c.className="cm-completionMatchedText",l=u}return l<a.length&&n.appendChild(document.createTextNode(a.slice(l))),n},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),e.sort((t,r)=>t.position-r.position).map(t=>t.render)}function Ia(i,e,t){if(i<=t)return{from:0,to:i};if(e<0&&(e=0),e<=i>>1){let o=Math.floor(e/t);return{from:o*t,to:(o+1)*t}}let r=Math.ceil((i-e)/t);return{from:i-r*t,to:i-(r-1)*t}}var qa=class{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let o=e.state.field(t),{options:s,selected:n}=o.open,a=e.state.facet(ae);this.optionContent=px(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Ia(s.length,n,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:f}=e.state.field(t).open;for(let h=l.target,u;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(u=/-(\d+)$/.exec(h.id))&&+u[1]<f.length){this.applyCompletion(e,f[+u[1]]),l.preventDefault();return}if(l.target==this.list){let h=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;h!=null&&(e.dispatch({effects:Ka.of(h)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let f=e.state.field(this.stateField,!1);f&&f.tooltip&&e.state.facet(ae).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:pi.of(null)})}),this.showOptions(s,o.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),o=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=o){let{options:s,selected:n,disabled:a}=r.open;(!o.open||o.open.options!=s)&&(this.range=Ia(s.length,n,e.state.facet(ae).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((t=o.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Ia(t.options.length,t.selected,this.view.state.facet(ae).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:o}=t.options[t.selected],{info:s}=o;if(!s)return;let n=typeof s=="string"?document.createTextNode(s):s(o);if(!n)return;"then"in n?n.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,o)}).catch(a=>he(this.view.state,a,"completion info")):(this.addInfoPane(n,o),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:o,destroy:s}=e;r.appendChild(o),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,o=this.range.from;r;r=r.nextSibling,o++)r.nodeName!="LI"||!r.id?o--:o==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&gx(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),o=e.getBoundingClientRect(),s=this.space;if(!s){let n=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:n.clientWidth,bottom:n.clientHeight}}return o.top>Math.min(s.bottom,t.bottom)-10||o.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(ae).positionInfo(this.view,t,o,r,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){let o=document.createElement("ul");o.id=t,o.setAttribute("role","listbox"),o.setAttribute("aria-expanded","true"),o.setAttribute("aria-label",this.view.state.phrase("Completions")),o.addEventListener("mousedown",n=>{n.target==o&&n.preventDefault()});let s=null;for(let n=r.from;n<r.to;n++){let{completion:a,match:l}=e[n],{section:f}=a;if(f){let c=typeof f=="string"?f:f.name;if(c!=s&&(n>r.from||r.from==0))if(s=c,typeof f!="string"&&f.header)o.appendChild(f.header(f));else{let d=o.appendChild(document.createElement("completion-section"));d.textContent=c}}let h=o.appendChild(document.createElement("li"));h.id=t+"-"+n,h.setAttribute("role","option");let u=this.optionClass(a);u&&(h.className=u);for(let c of this.optionContent){let d=c(a,this.view.state,this.view,l);d&&h.appendChild(d)}}return r.from&&o.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&o.classList.add("cm-completionListIncompleteBottom"),o}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function mx(i,e){return t=>new qa(t,i,e)}function gx(i,e){let t=i.getBoundingClientRect(),r=e.getBoundingClientRect(),o=t.height/i.offsetHeight;r.top<t.top?i.scrollTop-=(t.top-r.top)/o:r.bottom>t.bottom&&(i.scrollTop+=(r.bottom-t.bottom)/o)}function hc(i){return(i.boost||0)*100+(i.apply?10:0)+(i.info?5:0)+(i.type?1:0)}function xx(i,e){let t=[],r=null,o=null,s=h=>{t.push(h);let{section:u}=h.completion;if(u){r||(r=[]);let c=typeof u=="string"?u:u.name;r.some(d=>d.name==c)||r.push(typeof u=="string"?{name:c}:u)}},n=e.facet(ae);for(let h of i)if(h.hasResult()){let u=h.result.getMatch;if(h.result.filter===!1)for(let c of h.result.options)s(new Fo(c,h.source,u?u(c):[],1e9-t.length));else{let c=e.sliceDoc(h.from,h.to),d,p=n.filterStrict?new Wa(c):new Na(c);for(let m of h.result.options)if(d=p.match(m.label)){let g=m.displayLabel?u?u(m,d.matched):[]:d.matched,x=d.score+(m.boost||0);if(s(new Fo(m,h.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:w}=m.section;o||(o=Object.create(null)),o[w]=Math.max(x,o[w]||-1e9)}}}}if(r){let h=Object.create(null),u=0,c=(d,p)=>(d.rank==="dynamic"&&p.rank==="dynamic"?o[p.name]-o[d.name]:0)||(typeof d.rank=="number"?d.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(d.name<p.name?-1:1);for(let d of r.sort(c))u-=1e5,h[d.name]=u;for(let d of t){let{section:p}=d.completion;p&&(d.score+=h[typeof p=="string"?p:p.name])}}let a=[],l=null,f=n.compareCompletions;for(let h of t.sort((u,c)=>c.score-u.score||f(u.completion,c.completion))){let u=h.completion;!l||l.label!=u.label||l.detail!=u.detail||l.type!=null&&u.type!=null&&l.type!=u.type||l.apply!=u.apply||l.boost!=u.boost?a.push(h):hc(h.completion)>hc(l)&&(a[a.length-1]=h),l=h.completion}return a}var Va=class i{constructor(e,t,r,o,s,n){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=o,this.selected=s,this.disabled=n}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new i(this.options,uc(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,o,s,n){if(o&&!n&&e.some(f=>f.isPending))return o.setDisabled();let a=xx(e,t);if(!a.length)return o&&e.some(f=>f.isPending)?o.setDisabled():null;let l=t.facet(ae).selectOnOpen?0:-1;if(o&&o.selected!=l&&o.selected!=-1){let f=o.options[o.selected].completion;for(let h=0;h<a.length;h++)if(a[h].completion==f){l=h;break}}return new i(a,uc(r,l),{pos:e.reduce((f,h)=>h.hasResult()?Math.min(f,h.from):f,1e8),create:Cx,above:s.aboveCursor},o?o.timestamp:Date.now(),l,!1)}map(e){return new i(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new i(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},za=class i{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new i(Sx,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(ae),s=(r.override||t.languageDataAt("autocomplete",Xt(t)).map(cx)).map(l=>(this.active.find(h=>h.source==l)||new dt(l,this.active.some(h=>h.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,f)=>l==this.active[f])&&(s=this.active);let n=this.open,a=e.effects.some(l=>l.is(Ga));n&&e.docChanged&&(n=n.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!yx(s,this.active)||a?n=Va.build(s,t,this.id,n,r,a):n&&n.disabled&&!s.some(l=>l.isPending)&&(n=null),!n&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new dt(l.source,0):l));for(let l of e.effects)l.is(Ka)&&(n=n&&n.setSelected(l.value,this.id));return s==this.active&&n==this.open?this:new i(s,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?bx:wx}};function yx(i,e){if(i==e)return!0;for(let t=0,r=0;;){for(;t<i.length&&!i[t].hasResult();)t++;for(;r<e.length&&!e[r].hasResult();)r++;let o=t==i.length,s=r==e.length;if(o||s)return o==s;if(i[t++].result!=e[r++].result)return!1}}var bx={"aria-autocomplete":"list"},wx={};function uc(i,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":i};return e>-1&&(t["aria-activedescendant"]=i+"-"+e),t}var Sx=[];function gc(i,e){if(i.isUserEvent("input.complete")){let r=i.annotation(mc);if(r&&e.activateOnCompletion(r))return 12}let t=i.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:i.isUserEvent("delete.backward")?2:i.selection?8:i.docChanged?16:0}var dt=class i{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=gc(e,t),o=this;(r&8||r&16&&this.touches(e))&&(o=new i(o.source,0)),r&4&&o.state==0&&(o=new i(this.source,1)),o=o.updateFor(e,r);for(let s of e.effects)if(s.is(Ho))o=new i(o.source,1,s.value);else if(s.is(pi))o=new i(o.source,0);else if(s.is(Ga))for(let n of s.value)n.source==o.source&&(o=n);return o}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Xt(e.state))}},No=class i extends dt{constructor(e,t,r,o,s,n){super(e,3,t),this.limit=r,this.result=o,this.from=s,this.to=n}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let o=this.result;o.map&&!e.changes.empty&&(o=o.map(o,e.changes));let s=e.changes.mapPos(this.from),n=e.changes.mapPos(this.to,1),a=Xt(e.state);if(a>n||!o||t&2&&(Xt(e.startState)==this.from||a<this.limit))return new dt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return kx(o.validFor,e.state,s,n)?new i(this.source,this.explicit,l,o,s,n):o.update&&(o=o.update(o,s,n,new Io(e.state,a,!1)))?new i(this.source,this.explicit,l,o,o.from,(r=o.to)!==null&&r!==void 0?r:Xt(e.state)):new dt(this.source,1,this.explicit)}map(e){if(e.empty)return this;let t=this.result.map?this.result.map(this.result,e):this.result;return t?new i(this.source,this.explicit,e.mapPos(this.limit),t,e.mapPos(this.from),e.mapPos(this.to,1)):new dt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function kx(i,e,t,r){if(!i)return!1;let o=e.sliceDoc(t,r);return typeof i=="function"?i(o,t,r,e):pc(i,!0).test(o)}var Ga=H.define({map(i,e){return i.map(t=>t.map(e))}}),ve=Q.define({create(){return za.start()},update(i,e){return i.update(e)},provide:i=>[yr.from(i,e=>e.tooltip),L.contentAttributes.from(i,e=>e.attrs)]});function $a(i,e){let t=e.completion.apply||e.completion.label,r=i.state.field(ve).active.find(o=>o.source==e.source);return r instanceof No?(typeof t=="string"?i.dispatch({...ux(i.state,t,r.from,r.to),annotations:mc.of(e.completion)}):t(i,e.completion,r.from,r.to),!0):!1}var Cx=mx(ve,$a);function Ro(i,e="option"){return t=>{let r=t.state.field(ve,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(ae).interactionDelay)return!1;let o=1,s;e=="page"&&(s=Nn(t,r.open.tooltip))&&(o=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:n}=r.open.options,a=r.open.selected>-1?r.open.selected+o*(i?1:-1):i?0:n-1;return a<0?a=e=="page"?0:n-1:a>=n&&(a=e=="page"?n-1:0),t.dispatch({effects:Ka.of(a)}),!0}}var vx=i=>{let e=i.state.field(ve,!1);return i.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<i.state.facet(ae).interactionDelay?!1:$a(i,e.open.options[e.open.selected])},Fa=i=>i.state.field(ve,!1)?(i.dispatch({effects:Ho.of(!0)}),!0):!1,Ax=i=>{let e=i.state.field(ve,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(i.dispatch({effects:pi.of(null)}),!0)},Ua=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},Mx=50,Tx=1e3,Dx=oe.fromClass(class{constructor(i){this.view=i,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of i.state.field(ve).active)e.isPending&&this.startQuery(e)}update(i){let e=i.state.field(ve),t=i.state.facet(ae);if(!i.selectionSet&&!i.docChanged&&i.startState.field(ve)==e)return;let r=i.transactions.some(s=>{let n=gc(s,t);return n&8||(s.selection||s.docChanged)&&!(n&3)});for(let s=0;s<this.running.length;s++){let n=this.running[s];if(r||n.context.abortOnDocChange&&i.docChanged||n.updates.length+i.transactions.length>Mx&&Date.now()-n.time>Tx){for(let a of n.context.abortListeners)try{a()}catch(l){he(this.view.state,l)}n.context.abortListeners=null,this.running.splice(s--,1)}else n.updates.push(...i.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),i.transactions.some(s=>s.effects.some(n=>n.is(Ho)))&&(this.pendingStart=!0);let o=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(n=>n.active.source==s.source))?setTimeout(()=>this.startUpdate(),o):-1,this.composing!=0)for(let s of i.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:i}=this.view,e=i.field(ve);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ae).updateSyncTime))}startQuery(i){let{state:e}=this.view,t=Xt(e),r=new Io(e,t,i.explicit,this.view),o=new Ua(i,r);this.running.push(o),Promise.resolve(i.source(r)).then(s=>{o.context.aborted||(o.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:pi.of(null)}),he(this.view.state,s)})}scheduleAccept(){this.running.every(i=>i.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ae).updateSyncTime))}accept(){var i;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ae),r=this.view.state.field(ve);for(let o=0;o<this.running.length;o++){let s=this.running[o];if(s.done===void 0)continue;if(this.running.splice(o--,1),s.done){let a=Xt(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),f=new No(s.active.source,s.active.explicit,l,s.done,s.done.from,(i=s.done.to)!==null&&i!==void 0?i:a);for(let h of s.updates)f=f.update(h,t);if(f.hasResult()){e.push(f);continue}}let n=r.active.find(a=>a.source==s.active.source);if(n&&n.isPending)if(s.done==null){let a=new dt(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(n)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Ga.of(e)})}},{eventHandlers:{blur(i){let e=this.view.state.field(ve,!1);if(e&&e.tooltip&&this.view.state.facet(ae).closeOnBlur){let t=e.open&&Nn(this.view,e.open.tooltip);(!t||!t.dom.contains(i.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:pi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Ho.of(!1)}),20),this.composing=0}}}),Lx=typeof navigator=="object"&&/Win/.test(navigator.platform),Bx=ze.highest(L.domEventHandlers({keydown(i,e){let t=e.state.field(ve,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||i.key.length>1||i.ctrlKey&&!(Lx&&i.altKey)||i.metaKey)return!1;let r=t.open.options[t.open.selected],o=t.active.find(n=>n.source==r.source),s=r.completion.commitCharacters||o.result.commitCharacters;return s&&s.indexOf(i.key)>-1&&$a(e,r),!1}})),Px=L.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var mi={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},jt=H.define({map(i,e){let t=e.mapPos(i,-1,fe.TrackAfter);return t??void 0}}),ja=new class extends Ie{};ja.startSide=1;ja.endSide=-1;var xc=Q.define({create(){return z.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(jt)&&(i=i.update({add:[ja.range(t.value,t.value+1)]}));return i}});function yc(){return[Ex,xc]}var Ha="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function bc(i){for(let e=0;e<Ha.length;e+=2)if(Ha.charCodeAt(e)==i)return Ha.charAt(e+1);return Ir(i<128?i:i+1)}function wc(i,e){return i.languageDataAt("closeBrackets",e)[0]||mi}var Ox=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Ex=L.inputHandler.of((i,e,t,r)=>{if((Ox?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let o=i.state.selection.main;if(r.length>2||r.length==2&&Me(de(r,0))==1||e!=o.from||t!=o.to)return!1;let s=Ix(i.state,r);return s?(i.dispatch(s),!0):!1}),Rx=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let r=wc(i,i.selection.main.head).brackets||mi.brackets,o=null,s=i.changeByRange(n=>{if(n.empty){let a=Fx(i.doc,n.head);for(let l of r)if(l==a&&Wo(i.doc,n.head)==bc(de(l,0)))return{changes:{from:n.head-l.length,to:n.head+l.length},range:y.cursor(n.head-l.length)}}return{range:o=n}});return o||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!o},Sc=[{key:"Backspace",run:Rx}];function Ix(i,e){let t=wc(i,i.selection.main.head),r=t.brackets||mi.brackets;for(let o of r){let s=bc(de(o,0));if(e==o)return s==o?Wx(i,o,r.indexOf(o+o+o)>-1,t):Hx(i,o,s,t.before||mi.before);if(e==s&&kc(i,i.selection.main.from))return Nx(i,o,s)}return null}function kc(i,e){let t=!1;return i.field(xc).between(0,i.doc.length,r=>{r==e&&(t=!0)}),t}function Wo(i,e){let t=i.sliceString(e,e+2);return t.slice(0,Me(de(t,0)))}function Fx(i,e){let t=i.sliceString(e-2,e);return Me(de(t,0))==t.length?t:t.slice(1)}function Hx(i,e,t,r){let o=null,s=i.changeByRange(n=>{if(!n.empty)return{changes:[{insert:e,from:n.from},{insert:t,from:n.to}],effects:jt.of(n.to+e.length),range:y.range(n.anchor+e.length,n.head+e.length)};let a=Wo(i.doc,n.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:n.head},effects:jt.of(n.head+e.length),range:y.cursor(n.head+e.length)}:{range:o=n}});return o?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Nx(i,e,t){let r=null,o=i.changeByRange(s=>s.empty&&Wo(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:y.cursor(s.head+t.length)}:r={range:s});return r?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Wx(i,e,t,r){let o=r.stringPrefixes||mi.stringPrefixes,s=null,n=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:jt.of(a.to+e.length),range:y.range(a.anchor+e.length,a.head+e.length)};let l=a.head,f=Wo(i.doc,l),h;if(f==e){if(cc(i,l))return{changes:{insert:e+e,from:l},effects:jt.of(l+e.length),range:y.cursor(l+e.length)};if(kc(i,l)){let c=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+c.length,insert:c},range:y.cursor(l+c.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=dc(i,l-2*e.length,o))>-1&&cc(i,h))return{changes:{insert:e+e+e+e,from:l},effects:jt.of(l+e.length),range:y.cursor(l+e.length)};if(i.charCategorizer(l)(f)!=$.Word&&dc(i,l,o)>-1&&!qx(i,l,e,o))return{changes:{insert:e+e,from:l},effects:jt.of(l+e.length),range:y.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function cc(i,e){let t=Se(i).resolveInner(e+1);return t.parent&&t.from==e}function qx(i,e,t,r){let o=Se(i).resolveInner(e,-1),s=r.reduce((n,a)=>Math.max(n,a.length),0);for(let n=0;n<5;n++){let a=i.sliceDoc(o.from,Math.min(o.to,o.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let h=o.firstChild;for(;h&&h.from==o.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let f=o.to==e&&o.parent;if(!f)break;o=f}return!1}function dc(i,e,t){let r=i.charCategorizer(e);if(r(i.sliceDoc(e-1,e))!=$.Word)return e;for(let o of t){let s=e-o.length;if(i.sliceDoc(s,e)==o&&r(i.sliceDoc(s-1,s))!=$.Word)return s}return-1}function Cc(i={}){return[Bx,ve,ae.of(i),Dx,Vx,Px]}var Xa=[{key:"Ctrl-Space",run:Fa},{mac:"Alt-`",run:Fa},{mac:"Alt-i",run:Fa},{key:"Escape",run:Ax},{key:"ArrowDown",run:Ro(!0)},{key:"ArrowUp",run:Ro(!1)},{key:"PageDown",run:Ro(!0,"page")},{key:"PageUp",run:Ro(!1,"page")},{key:"Enter",run:vx}],Vx=ze.highest(Zr.computeN([ae],i=>i.facet(ae).defaultKeymap?[Xa]:[]));var zo=class{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}},_t=class i{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let o=r.facet(gi).markerFilter;o&&(e=o(e,r));let s=e.slice().sort((d,p)=>d.from-p.from||d.to-p.to),n=new Re,a=[],l=0,f=r.doc.iter(),h=0,u=r.doc.length;for(let d=0;;){let p=d==s.length?null:s[d];if(!p&&!a.length)break;let m,g;if(a.length)m=l,g=a.reduce((b,B)=>Math.min(b,B.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>u)break;g=p.to,a.push(p),d++}for(;d<s.length;){let b=s[d];if(b.from==m&&(b.to>b.from||b.to==m))a.push(b),d++,g=Math.min(b.to,g);else{g=Math.min(b.from,g);break}}g=Math.min(g,u);let x=!1;if(a.some(b=>b.from==m&&(b.to==g||g==u))&&(x=m==g,!x&&g-m<10)){let b=m-(h+f.value.length);b>0&&(f.next(b),h=m);for(let B=m;;){if(B>=g){x=!0;break}if(!f.lineBreak&&h+f.value.length>B)break;B=h+f.value.length,h+=f.value.length,f.next()}}let w=Ec(a);if(x)n.add(m,m,I.widget({widget:new _a(w),diagnostics:a.slice()}));else{let b=a.reduce((B,S)=>S.markClass?B+" "+S.markClass:B,"");n.add(m,g,I.mark({class:"cm-lintRange cm-lintRange-"+w+b,diagnostics:a.slice(),inclusiveEnd:a.some(B=>B.to>g)}))}if(l=g,l==u)break;for(let b=0;b<a.length;b++)a[b].to<=l&&a.splice(b--,1)}let c=n.finish();return new i(c,t,Cr(c))}};function Cr(i,e=null,t=0){let r=null;return i.between(t,1e9,(o,s,{spec:n})=>{if(!(e&&n.diagnostics.indexOf(e)<0))if(!r)r=new zo(o,s,e||n.diagnostics[0]);else{if(n.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new zo(r.from,s,r.diagnostic)}}),r}function Mc(i,e){let t=e.pos,r=e.end||t,o=i.state.facet(gi).hideOn(i,t,r);if(o!=null)return o;let s=i.startState.doc.lineAt(e.pos);return!!(i.effects.some(n=>n.is($o))||i.changes.touchesRange(s.from,Math.max(s.to,r)))}function zx(i,e){return i.field(Je,!1)?e:e.concat(H.appendConfig.of(Qx))}function Tc(i,e){return{effects:zx(i,[$o.of(e)])}}var $o=H.define(),Dc=H.define(),Lc=H.define(),Je=Q.define({create(){return new _t(I.none,null,null)},update(i,e){if(e.docChanged&&i.diagnostics.size){let t=i.diagnostics.map(e.changes),r=null,o=i.panel;if(i.selected){let s=e.changes.mapPos(i.selected.from,1);r=Cr(t,i.selected.diagnostic,s)||Cr(t,null,s)}!t.size&&o&&e.state.facet(gi).autoPanel&&(o=null),i=new _t(t,o,r)}for(let t of e.effects)if(t.is($o)){let r=e.state.facet(gi).autoPanel?t.value.length?Ko.open:null:i.panel;i=_t.init(t.value,r,e.state)}else t.is(Dc)?i=new _t(i.diagnostics,t.value?Ko.open:null,i.selected):t.is(Lc)&&(i=new _t(i.diagnostics,i.panel,t.value));return i},provide:i=>[qt.from(i,e=>e.panel),L.decorations.from(i,e=>e.diagnostics)]});var Ux=I.mark({class:"cm-lintRange cm-lintRange-active"});function Kx(i,e,t){let{diagnostics:r}=i.state.field(Je),o,s=-1,n=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,f,{spec:h})=>{if(e>=l&&e<=f&&(l==f||(e>l||t>0)&&(e<f||t<0)))return o=h.diagnostics,s=l,n=f,!1});let a=i.state.facet(gi).tooltipFilter;return o&&a&&(o=a(o,i.state)),o?{pos:s,end:n,above:!0,create(){return{dom:Bc(i,o)}}}:null}function Bc(i,e){return U("ul",{class:"cm-tooltip-lint"},e.map(t=>Oc(i,t,!1)))}var vc=i=>{let e=i.state.field(Je,!1);return!e||!e.panel?!1:(i.dispatch({effects:Dc.of(!1)}),!0)};var gi=T.define({combine(i){return{sources:i.map(e=>e.source).filter(e=>e!=null),...xe(i.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ac,tooltipFilter:Ac,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,o,s)=>e(r,o,s)||t(r,o,s):e:t,autoPanel:(e,t)=>e||t})}}});function Ac(i,e){return i?e?(t,r)=>e(i(t,r),r):i:e}function Pc(i){let e=[];if(i)e:for(let{name:t}of i){for(let r=0;r<t.length;r++){let o=t[r];if(/[a-zA-Z]/.test(o)&&!e.some(s=>s.toLowerCase()==o.toLowerCase())){e.push(o);continue e}}e.push("")}return e}function Oc(i,e,t){var r;let o=t?Pc(e.actions):[];return U("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},U("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(i):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,n)=>{let a=!1,l=d=>{if(d.preventDefault(),a)return;a=!0;let p=Cr(i.state.field(Je).diagnostics,e);p&&s.apply(i,p.from,p.to)},{name:f}=s,h=o[n]?f.indexOf(o[n]):-1,u=h<0?f:[f.slice(0,h),U("u",f.slice(h,h+1)),f.slice(h+1)],c=s.markClass?" "+s.markClass:"";return U("button",{type:"button",class:"cm-diagnosticAction"+c,onclick:l,onmousedown:l,"aria-label":` Action: ${f}${h<0?"":` (access key "${o[n]})"`}.`},u)}),e.source&&U("div",{class:"cm-diagnosticSource"},e.source))}var _a=class extends rt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return U("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Uo=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Oc(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Ko=class i{constructor(e){this.view=e,this.items=[];let t=o=>{if(!(o.ctrlKey||o.altKey||o.metaKey)){if(o.keyCode==27)vc(this.view),this.view.focus();else if(o.keyCode==38||o.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(o.keyCode==40||o.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(o.keyCode==36)this.moveSelection(0);else if(o.keyCode==35)this.moveSelection(this.items.length-1);else if(o.keyCode==13)this.view.focus();else if(o.keyCode>=65&&o.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],n=Pc(s.actions);for(let a=0;a<n.length;a++)if(n[a].toUpperCase().charCodeAt(0)==o.keyCode){let l=Cr(this.view.state.field(Je).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;o.preventDefault()}},r=o=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(o.target)&&this.moveSelection(s)};this.list=U("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=U("div",{class:"cm-panel-lint"},this.list,U("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>vc(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(Je).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Je),r=0,o=!1,s=null,n=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:f})=>{for(let h of f.diagnostics){if(n.has(h))continue;n.add(h);let u=-1,c;for(let d=r;d<this.items.length;d++)if(this.items[d].diagnostic==h){u=d;break}u<0?(c=new Uo(this.view,h),this.items.splice(r,0,c),o=!0):(c=this.items[u],u>r&&(this.items.splice(r,u-r),o=!0)),t&&c.diagnostic==t.diagnostic?c.dom.hasAttribute("aria-selected")||(c.dom.setAttribute("aria-selected","true"),s=c):c.dom.hasAttribute("aria-selected")&&c.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)o=!0,this.items.pop();this.items.length==0&&(this.items.push(new Uo(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),o=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let f=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/f:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/f)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),o&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Je),r=Cr(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Lc.of(r)})}static open(e){return new i(e)}};function Vo(i,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(i)}</svg>')`}function qo(i){return Vo(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${i}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var Gx=L.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:qo("#f11")},".cm-lintRange-warning":{backgroundImage:qo("orange")},".cm-lintRange-info":{backgroundImage:qo("#999")},".cm-lintRange-hint":{backgroundImage:qo("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function $x(i){return i=="error"?4:i=="warning"?3:i=="info"?2:1}function Ec(i){let e="hint",t=1;for(let r of i){let o=$x(r.severity);o>t&&(t=o,e=r.severity)}return e}var Go=class extends De{constructor(e){super(),this.diagnostics=e,this.severity=Ec(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let r=this.diagnostics,o=e.state.facet(jo).tooltipFilter;return o&&(r=o(r,e.state)),r.length&&(t.onmouseover=()=>Xx(e,t,r)),t}};function jx(i,e){let t=r=>{let o=e.getBoundingClientRect();if(!(r.clientX>o.left-10&&r.clientX<o.right+10&&r.clientY>o.top-10&&r.clientY<o.bottom+10)){for(let s=r.target;s;s=s.parentNode)if(s.nodeType==1&&s.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",t),i.state.field(Rc)&&i.dispatch({effects:Ja.of(null)})}};window.addEventListener("mousemove",t)}function Xx(i,e,t){function r(){let n=i.elementAtHeight(e.getBoundingClientRect().top+5-i.documentTop);i.coordsAtPos(n.from)&&i.dispatch({effects:Ja.of({pos:n.from,above:!1,clip:!1,create(){return{dom:Bc(i,t),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,jx(i,e)}let{hoverTime:o}=i.state.facet(jo),s=setTimeout(r,o);e.onmouseout=()=>{clearTimeout(s),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(s),s=setTimeout(r,o)}}function _x(i,e){let t=Object.create(null);for(let o of e){let s=i.lineAt(o.from);(t[s.from]||(t[s.from]=[])).push(o)}let r=[];for(let o in t)r.push(new Go(t[o]).range(+o));return z.of(r,!0)}var Yx=Wn({class:"cm-gutter-lint",markers:i=>i.state.field(Ya),widgetMarker:(i,e,t)=>{let r=[];return i.state.field(Ya).between(t.from,t.to,(o,s,n)=>{o>t.from&&o<t.to&&r.push(...n.diagnostics)}),r.length?new Go(r):null}}),Ya=Q.define({create(){return z.empty},update(i,e){i=i.map(e.changes);let t=e.state.facet(jo).markerFilter;for(let r of e.effects)if(r.is($o)){let o=r.value;t&&(o=t(o||[],e.state)),i=_x(e.state.doc,o.slice(0))}return i}}),Ja=H.define(),Rc=Q.define({create(){return null},update(i,e){return i&&e.docChanged&&(i=Mc(e,i)?null:{...i,pos:e.changes.mapPos(i.pos)}),e.effects.reduce((t,r)=>r.is(Ja)?r.value:t,i)},provide:i=>yr.from(i)}),Jx=L.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Vo('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Vo('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Vo('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),Zx=Bh(Kx,{hideOn:Mc}),Qx=[Je,L.decorations.compute([Je],i=>{let{selected:e,panel:t}=i.field(Je);return!e||!t||e.from==e.to?I.none:I.set([Ux.range(e.from,e.to)])}),Zx,Gx],jo=T.define({combine(i){return xe(i,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function Ic(i={}){return[jo.of(i),Ya,Yx,Jx,Rc]}var Fc=typeof String.prototype.normalize=="function"?i=>i.normalize("NFKD"):i=>i,At=class{constructor(e,t,r=0,o=e.length,s,n){this.test=n,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,o),this.bufferStart=r,this.normalize=s?a=>s(Fc(a)):Fc,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return de(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Ir(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Me(e);let o=this.normalize(t);if(o.length)for(let s=0,n=r,a=!0;;s++){let l=o.charCodeAt(s),f=this.match(l,n,a,this.bufferPos+this.bufferStart,s==o.length-1);if(f)return this.value=f,this;if(s==o.length-1)break;a&&s<t.length&&t.charCodeAt(s)==l?n++:a=!1}}}match(e,t,r,o,s){let n=null;for(let a=0;a<this.matches.length;){let l=this.matches[a],f=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?n={from:l.from,to:o,precise:s&&l.precise}:(l.index++,f=!0)),f?a++:this.matches.splice(a,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?n={from:t,to:o,precise:r&&s}:this.matches.push({from:t,index:1,precise:r})),n&&this.test&&!this.test(n.from,n.to,this.buffer,this.bufferStart)&&(n=null),n}};typeof Symbol<"u"&&(At.prototype[Symbol.iterator]=function(){return this});var Wc={from:-1,to:-1,match:/.*/.exec(""),precise:!0},il="gm"+(/x/.unicode==null?"":"u"),Yo=class{constructor(e,t,r,o=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=Wc,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Zo(e,t,r,o,s);this.re=new RegExp(t,il+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let n=e.lineAt(o);this.curLineStart=n.from,this.matchPos=Qo(e,o),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,o=r+t[0].length;if(this.matchPos=Qo(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<o||r>this.value.to)&&(!this.test||this.test(r,o,t)))return this.value={from:r,to:o,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},Za=new WeakMap,Jo=class i{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let o=Za.get(e);if(!o||o.from>=r||o.to<=t){let a=new i(t,e.sliceString(t,r));return Za.set(e,a),a}if(o.from==t&&o.to==r)return o;let{text:s,from:n}=o;return n>t&&(s=e.sliceString(t,n)+s,n=t),o.to<r&&(s+=e.sliceString(o.to,r)),Za.set(e,new i(n,s)),new i(t,s.slice(t-n,r-n))}},Zo=class{constructor(e,t,r,o,s){this.text=e,this.to=s,this.done=!1,this.value=Wc,this.matchPos=Qo(e,o),this.re=new RegExp(t,il+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Jo.get(e,o,this.chunkEnd(o+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,o=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,t)))return this.value={from:r,to:o,precise:!0,match:t},this.matchPos=Qo(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Jo.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(Yo.prototype[Symbol.iterator]=Zo.prototype[Symbol.iterator]=function(){return this});function e0(i){try{return new RegExp(i,il),!0}catch{return!1}}function Qo(i,e){if(e>=i.length)return e;let t=i.lineAt(e),r;for(;e<t.to&&(r=t.text.charCodeAt(e-t.from))>=56320&&r<57344;)e++;return e}var t0=i=>{let e=Eh(i,"cm-goto-line");if(e){let n=e.dom.querySelector("input[type=text]");return n&&n.select(),!0}let{state:t}=i,r=String(t.doc.lineAt(i.state.selection.main.head).number),{close:o,result:s}=Oh(i,{class:"cm-goto-line",label:t.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:t.phrase("go")});return s.then(n=>{let a=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!a){i.dispatch({effects:o});return}let l=t.doc.lineAt(t.selection.main.head),[,f,h,u,c]=a,d=u?+u.slice(1):0,p=h?+h:l.number;if(h&&c){let x=p/100;f&&(x=x*(f=="-"?-1:1)+l.number/t.doc.lines),p=Math.round(t.doc.lines*x)}else h&&f&&(p=p*(f=="-"?-1:1)+l.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),g=y.cursor(m.from+Math.max(0,Math.min(d,m.length)));i.dispatch({effects:[o,L.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},r0={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},qc=T.define({combine(i){return xe(i,r0,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function Vc(i){let e=[a0,n0];return i&&e.push(qc.of(i)),e}var i0=I.mark({class:"cm-selectionMatch"}),o0=I.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Hc(i,e,t,r){return(t==0||i(e.sliceDoc(t-1,t))!=$.Word)&&(r==e.doc.length||i(e.sliceDoc(r,r+1))!=$.Word)}function s0(i,e,t,r){return i(e.sliceDoc(t,t+1))==$.Word&&i(e.sliceDoc(r-1,r))==$.Word}var n0=oe.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.selectionSet||i.docChanged||i.viewportChanged)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=i.state.facet(qc),{state:t}=i,r=t.selection;if(r.ranges.length>1)return I.none;let o=r.main,s,n=null;if(o.empty){if(!e.highlightWordAroundCursor)return I.none;let l=t.wordAt(o.head);if(!l)return I.none;n=t.charCategorizer(o.head),s=t.sliceDoc(l.from,l.to)}else{let l=o.to-o.from;if(l<e.minSelectionLength||l>200)return I.none;if(e.wholeWords){if(s=t.sliceDoc(o.from,o.to),n=t.charCategorizer(o.head),!(Hc(n,t,o.from,o.to)&&s0(n,t,o.from,o.to)))return I.none}else if(s=t.sliceDoc(o.from,o.to),!s)return I.none}let a=[];for(let l of i.visibleRanges){let f=new At(t.doc,s,l.from,l.to);for(;!f.next().done;){let{from:h,to:u}=f.value;if((!n||Hc(n,t,h,u))&&(o.empty&&h<=o.from&&u>=o.to?a.push(o0.range(h,u)):(h>=o.to||u<=o.from)&&a.push(i0.range(h,u)),a.length>e.maxMatches))return I.none}}return I.set(a)}},{decorations:i=>i.decorations}),a0=L.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),l0=({state:i,dispatch:e})=>{let{selection:t}=i,r=y.create(t.ranges.map(o=>i.wordAt(o.head)||y.cursor(o.head)),t.mainIndex);return r.eq(t)?!1:(e(i.update({selection:r})),!0)};function f0(i,e){let{main:t,ranges:r}=i.selection,o=i.wordAt(t.head),s=o&&o.from==t.from&&o.to==t.to;for(let n=!1,a=new At(i.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(n)return null;a=new At(i.doc,e,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(l=>l.from==a.value.from))continue;if(s){let l=i.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}var h0=({state:i,dispatch:e})=>{let{ranges:t}=i.selection;if(t.some(s=>s.from===s.to))return l0({state:i,dispatch:e});let r=i.sliceDoc(t[0].from,t[0].to);if(i.selection.ranges.some(s=>i.sliceDoc(s.from,s.to)!=r))return!1;let o=f0(i,r);return o?(e(i.update({selection:i.selection.addRange(y.range(o.from,o.to),!1),effects:L.scrollIntoView(o.to)})),!0):!1},Mr=T.define({combine(i){return xe(i,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new rl(e),scrollToMatch:e=>L.scrollIntoView(e)})}});var es=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||e0(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
|
|
13
13
|
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new el(this):new Qa(this)}getCursor(e,t=0,r){let o=e.doc?e:j.create({doc:e});return r==null&&(r=o.doc.length),this.regexp?Ar(this,o,t,r):vr(this,o,t,r)}},ts=class{constructor(e){this.spec=e}};function u0(i,e,t){return(r,o,s,n)=>{if(t&&!t(r,o,s,n))return!1;let a=r>=n&&o<=n+s.length?s.slice(r-n,o-n):e.doc.sliceString(r,o);return i(a,e,r,o)}}function vr(i,e,t,r){let o;return i.wholeWord&&(o=c0(e.doc,e.charCategorizer(e.selection.main.head))),i.test&&(o=u0(i.test,e,o)),new At(e.doc,i.unquoted,t,r,i.caseSensitive?void 0:s=>s.toLowerCase(),o)}function c0(i,e){return(t,r,o,s)=>((s>t||s+o.length<r)&&(s=Math.max(0,t-2),o=i.sliceString(s,Math.min(i.length,r+2))),(e(rs(o,t-s))!=$.Word||e(is(o,t-s))!=$.Word)&&(e(is(o,r-s))!=$.Word||e(rs(o,r-s))!=$.Word))}var Qa=class extends ts{constructor(e){super(e)}nextMatch(e,t,r){let o=vr(this.spec,e,r,e.doc.length).nextOverlapping();if(o.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);o=vr(this.spec,e,0,s).nextOverlapping()}return o.done||o.value.from==t&&o.value.to==r?null:o.value}prevMatchInRange(e,t,r){for(let o=r;;){let s=Math.max(t,o-1e4-this.spec.unquoted.length),n=vr(this.spec,e,s,o),a=null;for(;!n.nextOverlapping().done;)a=n.value;if(a)return a;if(s==t)return null;o-=1e4}}prevMatch(e,t,r){let o=this.prevMatchInRange(e,0,t);return o||(o=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),o&&(o.from!=t||o.to!=r)?o:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=vr(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=t)return null;o.push(r.value)}return o}highlight(e,t,r,o){let s=vr(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)o(s.value.from,s.value.to)}};function d0(i,e,t){return(r,o,s)=>(!t||t(r,o,s))&&i(s[0],e,r,o)}function Ar(i,e,t,r){let o;return i.wholeWord&&(o=p0(e.charCategorizer(e.selection.main.head))),i.test&&(o=d0(i.test,e,o)),new Yo(e.doc,i.search,{ignoreCase:!i.caseSensitive,test:o},t,r)}function rs(i,e){return i.slice(re(i,e,!1),e)}function is(i,e){return i.slice(e,re(i,e))}function p0(i){return(e,t,r)=>!r[0].length||(i(rs(r.input,r.index))!=$.Word||i(is(r.input,r.index))!=$.Word)&&(i(is(r.input,r.index+r[0].length))!=$.Word||i(rs(r.input,r.index+r[0].length))!=$.Word)}var el=class extends ts{nextMatch(e,t,r){let o=Ar(this.spec,e,r,e.doc.length).next();return o.done&&(o=Ar(this.spec,e,0,t).next()),o.done?null:o.value}prevMatchInRange(e,t,r){for(let o=1;;o++){let s=Math.max(t,r-o*1e4),n=Ar(this.spec,e,s,r),a=null;for(;!n.next().done;)a=n.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let o=r.length;o>0;o--){let s=+r.slice(0,o);if(s>0&&s<e.match.length)return e.match[s]+r.slice(o)}return t})}matchAll(e,t){let r=Ar(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=t)return null;o.push(r.value)}return o}highlight(e,t,r,o){let s=Ar(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)o(s.value.from,s.value.to)}},yi=H.define(),ol=H.define(),vt=Q.define({create(i){return new xi(tl(i).create(),null)},update(i,e){for(let t of e.effects)t.is(yi)?i=new xi(t.value.create(),i.panel):t.is(ol)&&(i=new xi(i.query,t.value?sl:null));return i},provide:i=>qt.from(i,e=>e.panel)});var xi=class{constructor(e,t){this.query=e,this.panel=t}},m0=I.mark({class:"cm-searchMatch"}),g0=I.mark({class:"cm-searchMatch cm-searchMatch-selected"}),x0=oe.fromClass(class{constructor(i){this.view=i,this.decorations=this.highlight(i.state.field(vt))}update(i){let e=i.state.field(vt);(e!=i.startState.field(vt)||i.docChanged||i.selectionSet||i.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return I.none;let{view:t}=this,r=new Re;for(let o=0,s=t.visibleRanges,n=s.length;o<n;o++){let{from:a,to:l}=s[o];for(;o<n-1&&l>s[o+1].from-500;)l=s[++o].to;i.highlight(t.state,a,l,(f,h)=>{let u=t.state.selection.ranges.some(c=>c.from==f&&c.to==h);r.add(f,h,u?g0:m0)})}return r.finish()}},{decorations:i=>i.decorations});function bi(i){return e=>{let t=e.state.field(vt,!1);return t&&t.query.spec.valid?i(e,t):Kc(e)}}var os=bi((i,{query:e})=>{let{to:t}=i.state.selection.main,r=e.nextMatch(i.state,t,t);if(!r)return!1;let o=y.single(r.from,r.to),s=i.state.facet(Mr);return i.dispatch({selection:o,effects:[nl(i,r),s.scrollToMatch(o.main,i)],userEvent:"select.search"}),Uc(i),!0}),ss=bi((i,{query:e})=>{let{state:t}=i,{from:r}=t.selection.main,o=e.prevMatch(t,r,r);if(!o)return!1;let s=y.single(o.from,o.to),n=i.state.facet(Mr);return i.dispatch({selection:s,effects:[nl(i,o),n.scrollToMatch(s.main,i)],userEvent:"select.search"}),Uc(i),!0}),y0=bi((i,{query:e})=>{let t=e.matchAll(i.state,1e3);return!t||!t.length?!1:(i.dispatch({selection:y.create(t.map(r=>y.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),b0=({state:i,dispatch:e})=>{let t=i.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:o}=t.main,s=[],n=0;for(let a=new At(i.doc,i.sliceDoc(r,o));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(n=s.length),s.push(y.range(a.value.from,a.value.to))}return e(i.update({selection:y.create(s,n),userEvent:"select.search.matches"})),!0},Nc=bi((i,{query:e})=>{let{state:t}=i,{from:r,to:o}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,r,r);if(!s)return!1;let n=s,a=[],l,f,h=[];n.precise?n.from==r&&n.to==o&&(f=t.toText(e.getReplacement(n)),a.push({from:n.from,to:n.to,insert:f}),n=e.nextMatch(t,n.from,n.to),h.push(L.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+"."))):n=e.nextMatch(t,n.from,n.to);let u=i.state.changes(a);return n&&(l=y.single(n.from,n.to).map(u),h.push(nl(i,n)),h.push(t.facet(Mr).scrollToMatch(l.main,i))),i.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),w0=bi((i,{query:e})=>{if(i.state.readOnly)return!1;let t=[];for(let o of e.matchAll(i.state,1e9)){let{from:s,to:n,precise:a}=o;a&&t.push({from:s,to:n,insert:e.getReplacement(o)})}if(!t.length)return!1;let r=i.state.phrase("replaced $ matches",t.length)+".";return i.dispatch({changes:t,effects:L.announce.of(r),userEvent:"input.replace.all"}),!0});function sl(i){return i.state.facet(Mr).createPanel(i)}function tl(i,e){var t,r,o,s,n;let a=i.selection.main,l=a.empty||a.to>a.from+100?"":i.sliceDoc(a.from,a.to);if(e&&!l)return e;let f=i.facet(Mr);return new es({search:((t=e?.literal)!==null&&t!==void 0?t:f.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:f.caseSensitive,literal:(o=e?.literal)!==null&&o!==void 0?o:f.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:f.regexp,wholeWord:(n=e?.wholeWord)!==null&&n!==void 0?n:f.wholeWord})}function zc(i){let e=Qr(i,sl);return e&&e.dom.querySelector("[main-field]")}function Uc(i){let e=zc(i);e&&e==i.root.activeElement&&e.select()}var Kc=i=>{let e=i.state.field(vt,!1);if(e&&e.panel){let t=zc(i);if(t&&t!=i.root.activeElement){let r=tl(i.state,e.query.spec);r.valid&&i.dispatch({effects:yi.of(r)}),t.focus(),t.select()}}else i.dispatch({effects:[ol.of(!0),e?yi.of(tl(i.state,e.query.spec)):H.appendConfig.of(k0)]});return!0},Gc=i=>{let e=i.state.field(vt,!1);if(!e||!e.panel)return!1;let t=Qr(i,sl);return t&&t.dom.contains(i.root.activeElement)&&i.focus(),i.dispatch({effects:ol.of(!1)}),!0},$c=[{key:"Mod-f",run:Kc,scope:"editor search-panel"},{key:"F3",run:os,shift:ss,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:os,shift:ss,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Gc,scope:"editor search-panel"},{key:"Mod-Shift-l",run:b0},{key:"Mod-Alt-g",run:t0},{key:"Mod-d",run:h0,preventDefault:!0}],rl=class{constructor(e){this.view=e;let t=this.query=e.state.field(vt).query.spec;this.commit=this.commit.bind(this),this.searchField=U("input",{value:t.search,placeholder:Be(e,"Find"),"aria-label":Be(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=U("input",{value:t.replace,placeholder:Be(e,"Replace"),"aria-label":Be(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=U("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=U("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=U("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(o,s,n){return U("button",{class:"cm-button",name:o,onclick:s,type:"button"},n)}this.dom=U("div",{onkeydown:o=>this.keydown(o),class:"cm-search"},[this.searchField,r("next",()=>os(e),[Be(e,"next")]),r("prev",()=>ss(e),[Be(e,"previous")]),r("select",()=>y0(e),[Be(e,"all")]),U("label",null,[this.caseField,Be(e,"match case")]),U("label",null,[this.reField,Be(e,"regexp")]),U("label",null,[this.wordField,Be(e,"by word")]),...e.state.readOnly?[]:[U("br"),this.replaceField,r("replace",()=>Nc(e),[Be(e,"replace")]),r("replaceAll",()=>w0(e),[Be(e,"replace all")])],U("button",{name:"close",onclick:()=>Gc(e),"aria-label":Be(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new es({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:yi.of(e)}))}keydown(e){Ch(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ss:os)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Nc(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(yi)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Mr).top}};function Be(i,e){return i.state.phrase(e)}var Xo=30,_o=/[\s\.,:;?!]/;function nl(i,{from:e,to:t}){let r=i.state.doc.lineAt(e),o=i.state.doc.lineAt(t).to,s=Math.max(r.from,e-Xo),n=Math.min(o,t+Xo),a=i.state.sliceDoc(s,n);if(s!=r.from){for(let l=0;l<Xo;l++)if(!_o.test(a[l+1])&&_o.test(a[l])){a=a.slice(l);break}}if(n!=o){for(let l=a.length-1;l>a.length-Xo;l--)if(!_o.test(a[l-1])&&_o.test(a[l])){a=a.slice(0,l);break}}return L.announce.of(`${i.state.phrase("current match")}. ${a} ${i.state.phrase("on line")} ${r.number}.`)}var S0=L.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),k0=[vt,ze.low(x0),S0];var C0=Ao.define({name:"tsquare",startState:()=>({argument:!1,afterEquals:!1}),token(i,e){if(i.sol()&&(e.argument=!1,e.afterEquals=!1),i.eatSpace())return null;let t=e.afterEquals;if(e.afterEquals=!1,!e.argument&&i.peek()==="#")return i.skipToEnd(),"comment";if(t&&/[=:]\s*$/.test(i.string.slice(0,i.pos))&&i.match(/^#[0-9a-fA-F]{3,8}(?![\w-])/))return"color";if(i.match(/^```.*/))return"comment";if(!e.argument&&(e.argument=!0,i.match(/^[A-Za-z][\w-]*/)))return"typeName";let r=i.peek();if(r==='"'||r==="'"){i.next();let o=!1;for(let s=i.next();s!=null&&!(s===r&&!o);s=i.next())o=!o&&s==="\\";return"string"}return i.match(/^[\w-]+(?=\s*[=:])/)?"propertyName":i.eat("=")||i.eat(":")?(e.afterEquals=!0,"operator"):i.match(/^-?\d+(\.\d+)?(?![\w-])/)?"number":i.match(/^(true|false|null)(?![\w-])/)?"bool":i.eat(/[[\]{}]/)?(e.afterEquals=i.current()==="["||i.current()==="{","bracket"):i.eat(",")?"punctuation":i.match(/^[^\s,=:[\]{}"]+/)?"atom":(i.next(),null)},tokenTable:{color:C.color},languageData:{commentTokens:{line:"#"}}}),v0=Sr.define([{tag:C.typeName,color:"var(--syn-component)",fontWeight:"600"},{tag:C.string,color:"var(--syn-string)"},{tag:C.propertyName,color:"var(--syn-prop)"},{tag:[C.number,C.bool],color:"var(--syn-number)"},{tag:C.atom,color:"var(--syn-word)"},{tag:C.color,color:"var(--syn-color)"},{tag:C.comment,color:"var(--syn-comment)",fontStyle:"italic"},{tag:[C.operator,C.bracket,C.punctuation],color:"var(--syn-punct)"}]),A0=L.theme({"&":{height:"100%",fontSize:"13px",backgroundColor:"var(--editor-bg)",color:"var(--editor-ink)"},".cm-scroller":{fontFamily:"var(--mono)",lineHeight:"20px"},".cm-content":{caretColor:"var(--editor-ink)",padding:"12px 0"},".cm-cursor":{borderLeftColor:"var(--editor-ink)"},".cm-gutters":{backgroundColor:"var(--editor-bg)",color:"var(--muted)",border:"none"},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:"var(--editor-active)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:"var(--editor-selection) !important"},".cm-tooltip":{backgroundColor:"var(--panel)",border:"1px solid var(--line)",borderRadius:"8px",overflow:"hidden"},".cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:"var(--accent-soft)",color:"var(--ink)"},".cm-completionDetail":{color:"var(--muted)",fontStyle:"normal",marginLeft:"8px"},".cm-completionInfo":{maxWidth:"320px",padding:"8px 10px",fontFamily:"var(--sans)",fontSize:"12.5px",lineHeight:"1.45"},".cm-diagnostic":{fontFamily:"var(--sans)",fontSize:"12.5px"},".cm-lintRange-error":{backgroundImage:"none",textDecoration:"underline wavy var(--error)",textUnderlineOffset:"3px"}}),jc=i=>i.toLowerCase().replace(/[-_]/g,"");function M0(i){let e=new Map(i.components.map(a=>[jc(a.name),a])),t=i.components.map(a=>({label:a.name,type:"class",detail:a.children?"holds elements":void 0,info:a.description})),r=i.icons.map(a=>({label:a,type:"constant"})),o=i.accents.map(a=>({label:a,type:"constant",detail:"accent"})),s=(a,l)=>l==="icon"||a?.icon?r:a?.accent?o:(a?.values??[]).map(f=>({label:f,type:"enum"})),n=a=>[...a.words.map(l=>({label:l,type:"keyword",detail:"option"})),...a.props.map(l=>({label:`${l.name}=`,type:"property",detail:l.kind==="enum"?l.values.slice(0,4).join(" | ")+(l.values.length>4?" \u2026":""):l.kind,info:l.description,boost:-1}))];return a=>{let l=a.state.doc.lineAt(a.pos),f=l.text.slice(0,a.pos-l.from);if(/^\s*#/.test(f)||(f.match(/"/g)??[]).length%2===1)return null;let h=f.match(/^(\s*)([\w-]*)$/);if(h)return!h[2]&&!a.explicit?null:{from:l.from+h[1].length,options:t,validFor:/^[\w-]*$/};let u=e.get(jc(f.trim().split(/\s+/)[0]??""));if(!u)return null;let c=f.match(/([\w-]+)\s*[=:]\s*(?:\[[^\]]*?)?(?:\{[^}]*?[=:]\s*)?([\w#-]*)$/);if(c){let m=f.match(/([\w-]+)\s*[=:]\s*[\w#-]*$/)?.[1]??c[1],g=u.props.find(w=>w.name===c[1]),x=s(m==="icon"?void 0:g,m);return x.length?{from:a.pos-c[2].length,options:x,validFor:/^[\w#-]*$/}:null}let d=f.match(/\s([\w-]*)$/);if(!d||!d[1]&&!a.explicit)return null;let p=u.name==="icon"&&/^\s*icon\s+[\w-]*$/.test(f);return{from:a.pos-d[1].length,options:p?r:n(u),validFor:/^[\w-]*$/}}}var T0=i=>{let{state:e}=i,t=e.changeByRange(r=>{let o=e.doc.lineAt(r.from);for(;!o.text.trim()&&o.number>1;)o=e.doc.line(o.number-1);let n=`
|
|
14
|
-
`+o.text.match(/^ */)[0];return{changes:{from:r.from,to:r.to,insert:n},range:y.cursor(r.from+n.length)}});return i.dispatch(e.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},D0=L.domEventHandlers({paste(i,e){let t=i.clipboardData?.getData("text/plain")??"",r=t.match(/```[^\n]*\n([\s\S]*?)```/);return!r||t.trim()===r[0].trim()?!1:(i.preventDefault(),e.dispatch(e.state.replaceSelection(r[1])),e.dom.dispatchEvent(new CustomEvent("tsquare-pasted-block",{bubbles:!0})),!0)}});function Xc(i,e){let t=[Hh(),Nh(),Lh(),Th(),Mu(),hu(),yc(),Vc(),Ic(),C0,nu(v0),Cc({override:[M0(e.data)],icons:!1,activateOnTyping:!0}),j.tabSize.of(2),Zr.of([{key:"Enter",run:T0},...Sc,...Xa,...$c,...Lu,oc,...ic]),A0,D0,L.contentAttributes.of({"aria-label":"Wireframe text",spellcheck:"false",autocapitalize:"off"}),L.updateListener.of(o=>{o.docChanged&&e.onChange(o.state.doc.toString())})],r=new L({parent:i,state:j.create({doc:e.doc,extensions:t})});return{view:r,getText:()=>r.state.doc.toString(),setText(o){r.dispatch({changes:{from:0,to:r.state.doc.length,insert:o},selection:{anchor:0},scrollIntoView:!0,userEvent:"input.replace"})},setIssues(o){let s=r.state.doc,n=o.filter(a=>a.line>=1&&a.line<=s.lines).map(a=>{let l=s.line(a.line),f=l.from+(l.text.length-l.text.trimStart().length);return{from:f,to:Math.max(f,l.to),severity:"error",message:a.message}});r.dispatch(Tc(r.state,n))},revealCursor(){r.hasFocus&&r.dispatch({effects:L.scrollIntoView(r.state.selection.main.head,{y:"nearest"})})},goToLine(o){let s=r.state.doc.line(Math.min(Math.max(1,o),r.state.doc.lines));r.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0}),r.focus()}}}function L0(i,e){getComputedStyle(i).position==="static"&&(i.style.position="relative"),i.style.overflow="hidden",i.style.touchAction="none",Object.assign(e.style,{position:"absolute",left:"0px",top:"0px",transformOrigin:"0 0"})}function _c(i,e={}){let{stage:t,canvas:r}=i;L0(t,r);let o=null,s={width:0,height:0},n=[],a=1,l=0,f=0,h="fit",u=16,c=()=>{i.zoomFit&&(i.zoomFit.textContent=`${Math.round(a*100)}%`),e.onZoom?.(a)},d=(v=!1)=>{t.classList.toggle("animate",v),r.style.transform=`translate(${l}px, ${f}px) scale(${a})`,c()},p=(v,E)=>{let O=t.clientWidth-u*2,P=t.clientHeight-u*2;O<=0||P<=0||!v.width||(a=Math.min(O/v.width,P/v.height,4),l=u+(O-v.width*a)/2-v.x*a,f=u+(P-v.height*a)/2-v.y*a,d(E))},m=()=>i.screens.querySelectorAll("button").forEach((v,E)=>v.setAttribute("aria-pressed",String(E===0?h==="fit":h===E-1)));function g(v=!1){s.width&&(h==="fit"?p({x:0,y:0,...s},v):typeof h=="number"&&n[h]?p(n[h],v):d(),m())}function x(v,E=t.clientWidth/2,O=t.clientHeight/2){let P=Math.min(8,Math.max(.05,a*v));l=E-(E-l)*(P/a),f=O-(O-f)*(P/a),a=P,h="manual",d(),m()}let w=()=>{h="fit",g(!0)};function b(v,E,O,P){let q=URL.createObjectURL(new Blob([v],{type:"image/svg+xml"}));o||(o=document.createElement("img"),o.alt="Rendered wireframe",o.draggable=!1,r.replaceChildren(o),i.empty?.remove());let W=o.src;o.src=q,W.startsWith("blob:")&&setTimeout(()=>URL.revokeObjectURL(W),1e3);let G=E!==s.width||O!==s.height;s={width:E,height:O},o.width=E,o.height=O;let se=P.filter(te=>te.type==="Screen");se.map(te=>te.name).join(`
|
|
14
|
+
`+o.text.match(/^ */)[0];return{changes:{from:r.from,to:r.to,insert:n},range:y.cursor(r.from+n.length)}});return i.dispatch(e.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},D0=L.domEventHandlers({paste(i,e){let t=i.clipboardData?.getData("text/plain")??"",r=t.match(/```[^\n]*\n([\s\S]*?)```/);return!r||t.trim()===r[0].trim()?!1:(i.preventDefault(),e.dispatch(e.state.replaceSelection(r[1])),e.dom.dispatchEvent(new CustomEvent("tsquare-pasted-block",{bubbles:!0})),!0)}});function Xc(i,e){let t=[Hh(),Nh(),Lh(),Th(),Mu(),hu(),yc(),Vc(),Ic(),C0,nu(v0),Cc({override:[M0(e.data)],icons:!1,activateOnTyping:!0}),j.tabSize.of(2),Zr.of([{key:"Enter",run:T0},...Sc,...Xa,...$c,...Lu,oc,...ic]),A0,D0,L.contentAttributes.of({"aria-label":"Wireframe text",spellcheck:"false",autocapitalize:"off"}),L.updateListener.of(o=>{o.docChanged&&e.onChange(o.state.doc.toString())})],r=new L({parent:i,state:j.create({doc:e.doc,extensions:t})});return{view:r,getText:()=>r.state.doc.toString(),setText(o){r.dispatch({changes:{from:0,to:r.state.doc.length,insert:o},selection:{anchor:0},scrollIntoView:!0,userEvent:"input.replace"})},setIssues(o){let s=r.state.doc,n=o.filter(a=>a.line>=1&&a.line<=s.lines).map(a=>{let l=s.line(a.line),f=l.from+(l.text.length-l.text.trimStart().length);return{from:f,to:Math.max(f,l.to),severity:"error",message:a.message}});r.dispatch(Tc(r.state,n))},revealCursor(){r.hasFocus&&r.dispatch({effects:L.scrollIntoView(r.state.selection.main.head,{y:"nearest"})})},goToLine(o){let s=r.state.doc.line(Math.min(Math.max(1,o),r.state.doc.lines));r.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0}),r.focus()}}}function L0(i,e){getComputedStyle(i).position==="static"&&(i.style.position="relative"),i.style.overflow="hidden",i.style.touchAction="none",Object.assign(e.style,{position:"absolute",left:"0px",top:"0px",transformOrigin:"0 0"})}function _c(i,e={}){let{stage:t,canvas:r}=i;L0(t,r);let o=null,s={width:0,height:0},n=[],a=1,l=0,f=0,h="fit",u=16,c=()=>{i.zoomFit&&(i.zoomFit.textContent=`${Math.round(a*100)}%`),e.onZoom?.(a)},d=(v=!1)=>{t.classList.toggle("animate",v),r.style.transform=`translate(${l}px, ${f}px) scale(${a})`,c()},p=(v,E)=>{let O=t.clientWidth-u*2,P=t.clientHeight-u*2;O<=0||P<=0||!v.width||(a=Math.min(O/v.width,P/v.height,4),l=u+(O-v.width*a)/2-v.x*a,f=u+(P-v.height*a)/2-v.y*a,d(E))},m=()=>i.screens.querySelectorAll("button").forEach((v,E)=>v.setAttribute("aria-pressed",String(E===0?h==="fit":h===E-1)));function g(v=!1){s.width&&(h==="fit"?p({x:0,y:0,...s},v):typeof h=="number"&&n[h]?p(n[h],v):d(),m())}function x(v,E=t.clientWidth/2,O=t.clientHeight/2){let P=Math.min(8,Math.max(.05,a*v));l=E-(E-l)*(P/a),f=O-(O-f)*(P/a),a=P,h="manual",d(),m()}let w=()=>{h="fit",g(!0)};function b(v,E,O,P){let q=URL.createObjectURL(new Blob([v],{type:"image/svg+xml"}));o||(o=document.createElement("img"),o.alt="Rendered wireframe",o.draggable=!1,r.replaceChildren(o),i.empty?.remove());let W=o.src;o.src=q,W.startsWith("blob:")&&setTimeout(()=>URL.revokeObjectURL(W),1e3);let G=E!==s.width||O!==s.height;s={width:E,height:O},o.width=E,o.height=O,Object.assign(o.style,{width:`${E}px`,height:`${O}px`,maxWidth:"none",maxHeight:"none"});let se=P.filter(te=>te.type==="Screen");se.map(te=>te.name).join(`
|
|
15
15
|
`)!==n.filter(te=>te.type==="Screen").map(te=>te.name).join(`
|
|
16
16
|
`)&&(typeof h=="number"&&(h="fit"),B(se)),n=se,G&&h==="manual"&&(h="fit"),g()}function B(v){let E=i.screens;if(E.replaceChildren(),v.length<2)return;let O=(P,q)=>{let W=document.createElement("button");W.type="button",W.textContent=P,W.addEventListener("click",q),E.appendChild(W)};O("All",w),v.forEach((P,q)=>O(P.name||`Screen ${q+1}`,()=>{h=q,g(!0),e.onScreenZoom?.()}))}t.addEventListener("wheel",v=>{if(!s.width)return;v.preventDefault();let E=t.getBoundingClientRect();v.ctrlKey||v.metaKey?x(Math.exp(-v.deltaY*.01),v.clientX-E.left,v.clientY-E.top):(l-=v.deltaX,f-=v.deltaY,h="manual",d(),m())},{passive:!1});let S=new Map,k=null,A=()=>{let[v,E]=[...S.values()];return{mid:{x:(v.x+E.x)/2,y:(v.y+E.y)/2},dist:Math.hypot(v.x-E.x,v.y-E.y)}};t.addEventListener("pointerdown",v=>{t.setPointerCapture(v.pointerId),S.set(v.pointerId,{x:v.clientX,y:v.clientY}),t.classList.add("panning"),k=S.size===2?A():null}),t.addEventListener("pointermove",v=>{let E=S.get(v.pointerId);if(E)if(S.set(v.pointerId,{x:v.clientX,y:v.clientY}),S.size===2&&k){let O=A(),P=t.getBoundingClientRect();l+=O.mid.x-k.mid.x,f+=O.mid.y-k.mid.y,k.dist&&O.dist?x(O.dist/k.dist,O.mid.x-P.left,O.mid.y-P.top):(h="manual",d(),m()),k=O}else l+=v.clientX-E.x,f+=v.clientY-E.y,h="manual",d(),m()});let F=v=>{S.delete(v.pointerId),k=S.size===2?A():null,S.size||t.classList.remove("panning")};return t.addEventListener("pointerup",F),t.addEventListener("pointercancel",F),t.addEventListener("dblclick",w),new ResizeObserver(()=>g()).observe(t),i.zoomIn?.addEventListener("click",()=>x(1.25)),i.zoomOut?.addEventListener("click",()=>x(.8)),i.zoomFit?.addEventListener("click",w),{show:b,refresh:g,setStale:v=>{t.classList.toggle("stale",v)},fit:w,zoomIn:()=>x(1.25),zoomOut:()=>x(.8)}}var Yc=i=>i.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">").replace(/[\r\n]+/g," ");var ns=i=>i.startsWith("y")||i.startsWith("z");var B0={Button:{icon:"leadingIcon"},ListItem:{icon:"leadingIcon"}},P0=new Map(Object.entries(B0).map(([i,e])=>[i.toLowerCase(),e]));function Jc(i,e={}){let t=i.replace(/\r\n?/g,`
|
|
17
17
|
`).split(`
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* VS Code extension's preview. Each brings its own markup and controls and
|
|
5
5
|
* passes the elements in; the board comes from renderWireframeSvg + boardLayout.
|
|
6
6
|
*
|
|
7
|
-
* The viewer sets the styles its math depends on (
|
|
8
|
-
* the host only needs to size the stage and
|
|
9
|
-
* "panning", "animate" and "stale" classes it toggles on
|
|
7
|
+
* The viewer sets the styles its math depends on (structuralStyles, and the
|
|
8
|
+
* board image's size in show()), so the host only needs to size the stage and
|
|
9
|
+
* optionally style the "panning", "animate" and "stale" classes it toggles on
|
|
10
|
+
* the stage.
|
|
10
11
|
*/
|
|
11
12
|
import type { BoardItem } from "../render.js";
|
|
12
13
|
export type { BoardItem };
|
|
@@ -68,6 +68,7 @@ function createViewer(el, opts = {}) {
|
|
|
68
68
|
size = { width, height };
|
|
69
69
|
img.width = width;
|
|
70
70
|
img.height = height;
|
|
71
|
+
Object.assign(img.style, { width: `${width}px`, height: `${height}px`, maxWidth: "none", maxHeight: "none" });
|
|
71
72
|
const screens = list.filter((i) => i.type === "Screen");
|
|
72
73
|
if (screens.map((s) => s.name).join("\n") !== items.filter((i) => i.type === "Screen").map((s) => s.name).join("\n")) {
|
|
73
74
|
if (typeof mode === "number") mode = "fit";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tsquare",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Wireframes in plain text: easy for LLMs to write, fast to render as SVG or PNG.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wireframe",
|
|
@@ -101,5 +101,5 @@
|
|
|
101
101
|
"tsx": "^4.23.15",
|
|
102
102
|
"typescript": "^7.0.2"
|
|
103
103
|
},
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "a1487891a751bd78e8a50eaaed045c4dceadc018"
|
|
105
105
|
}
|