{"version":3,"file":"codemirror_autocomplete.Deo7Ne_N.mjs","names":[],"sources":["https:/framerusercontent.com/modules/iHAg5NNDzB38uLRZmObL/AYYlaW5ad8TRAyLHn07o/codemirror_autocomplete.js"],"sourcesContent":["// @ts-nocheck\n/**\n * This file is generated inside FramerStudio. To update it run \"make build\"\n * inside \"./src/codeblock-dependencies\" and copy the file from \"./build\".\n */ // ../../node_modules/@codemirror/autocomplete/dist/index.js\nimport{Annotation,StateEffect,EditorSelection,codePointAt,codePointSize,fromCodePoint,Facet,combineConfig,StateField,Prec,Text,MapMode,RangeValue,RangeSet,CharCategory}from\"https://framerusercontent.com/modules/wFkXxZqfKOPeEQtsYrsa/Xcw7qvncyogRPQtf9aNn/codemirror_state.js\";import{Direction,ViewPlugin,logException,getTooltip,showTooltip,EditorView,Decoration,WidgetType,keymap}from\"https://framerusercontent.com/modules/wKCR2JyUW8wZdYweJrou/EndxaPZLF2o4GndkIvF9/codemirror_view.js\";import{syntaxTree,indentUnit}from\"https://framerusercontent.com/modules/aJsTBlWNkIaM900KNIXT/TeoF57xeGMuVMjiI2ooR/codemirror_language.js\";var CompletionContext=class{/**\n  Get the extent, content, and (if there is a token) type of the\n  token before `this.pos`.\n  */ tokenBefore(types){let token=syntaxTree(this.state).resolveInner(this.pos,-1);while(token&&types.indexOf(token.name)<0)token=token.parent;return token?{from:token.from,to:this.pos,text:this.state.sliceDoc(token.from,this.pos),type:token.type}:null;}/**\n  Get the match of the given expression directly before the\n  cursor.\n  */ matchBefore(expr){let line=this.state.doc.lineAt(this.pos);let start=Math.max(line.from,this.pos-250);let str=line.text.slice(start-line.from,this.pos-line.from);let found=str.search(ensureAnchor(expr,false));return found<0?null:{from:start+found,to:this.pos,text:str.slice(found)};}/**\n  Yields true when the query has been aborted. Can be useful in\n  asynchronous queries to avoid doing work that will be ignored.\n  */ get aborted(){return this.abortListeners==null;}/**\n  Allows you to register abort handlers, which will be called when\n  the query is\n  [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).\n  */ addEventListener(type,listener){if(type==\"abort\"&&this.abortListeners)this.abortListeners.push(listener);}/**\n  Create a new completion context. (Mostly useful for testing\n  completion sources—in the editor, the extension will create\n  these for you.)\n  */ constructor(state,pos,explicit){this.state=state;this.pos=pos;this.explicit=explicit;this.abortListeners=[];}};function toSet(chars){let flat=Object.keys(chars).join(\"\");let words=/\\w/.test(flat);if(words)flat=flat.replace(/\\w/g,\"\");return`[${words?\"\\\\w\":\"\"}${flat.replace(/[^\\w\\s]/g,\"\\\\$&\")}]`;}function prefixMatch(options){let first=/* @__PURE__ */ Object.create(null),rest=/* @__PURE__ */ Object.create(null);for(let{label}of options){first[label[0]]=true;for(let i=1;i<label.length;i++)rest[label[i]]=true;}let source=toSet(first)+toSet(rest)+\"*$\";return[new RegExp(\"^\"+source),new RegExp(source)];}function completeFromList(list){let options=list.map(o=>typeof o==\"string\"?{label:o}:o);let[validFor,match]=options.every(o=>/^\\w+$/.test(o.label))?[/\\w*$/,/\\w+$/]:prefixMatch(options);return context=>{let token=context.matchBefore(match);return token||context.explicit?{from:token?token.from:context.pos,options,validFor}:null;};}function ifIn(nodes,source){return context=>{for(let pos=syntaxTree(context.state).resolveInner(context.pos,-1);pos;pos=pos.parent){if(nodes.indexOf(pos.name)>-1)return source(context);if(pos.type.isTop)break;}return null;};}function ifNotIn(nodes,source){return context=>{for(let pos=syntaxTree(context.state).resolveInner(context.pos,-1);pos;pos=pos.parent){if(nodes.indexOf(pos.name)>-1)return null;if(pos.type.isTop)break;}return source(context);};}var Option=class{constructor(completion,source,match,score2){this.completion=completion;this.source=source;this.match=match;this.score=score2;}};function cur(state){return state.selection.main.from;}function ensureAnchor(expr,start){var _a;let{source}=expr;let addStart=start&&source[0]!=\"^\",addEnd=source[source.length-1]!=\"$\";if(!addStart&&!addEnd)return expr;return new RegExp(`${addStart?\"^\":\"\"}(?:${source})${addEnd?\"$\":\"\"}`,(_a=expr.flags)!==null&&_a!==void 0?_a:expr.ignoreCase?\"i\":\"\");}var pickedCompletion=/* @__PURE__ */ Annotation.define();function insertCompletionText(state,text,from,to){let{main}=state.selection,fromOff=from-main.from,toOff=to-main.from;return Object.assign(Object.assign({},state.changeByRange(range=>{if(range!=main&&from!=to&&state.sliceDoc(range.from+fromOff,range.from+toOff)!=state.sliceDoc(from,to))return{range};return{changes:{from:range.from+fromOff,to:to==main.from?range.to:range.from+toOff,insert:text},range:EditorSelection.cursor(range.from+fromOff+text.length)};})),{userEvent:\"input.complete\"});}var SourceCache=/* @__PURE__ */ new WeakMap;function asSource(source){if(!Array.isArray(source))return source;let known=SourceCache.get(source);if(!known)SourceCache.set(source,known=completeFromList(source));return known;}var startCompletionEffect=/* @__PURE__ */ StateEffect.define();var closeCompletionEffect=/* @__PURE__ */ StateEffect.define();var FuzzyMatcher=class{// Matches a given word (completion) against the pattern (input).\n// Will return null for no match, and otherwise an array that starts\n// with the match score, followed by any number of `from, to` pairs\n// indicating the matched parts of `word`.\n//\n// The score is a number that is more negative the worse the match\n// is. See `Penalty` above.\nmatch(word){if(this.pattern.length==0)return[-100];if(word.length<this.pattern.length)return null;let{chars,folded,any,precise,byWord}=this;if(chars.length==1){let first=codePointAt(word,0),firstSize=codePointSize(first);let score2=firstSize==word.length?0:-100;if(first==chars[0]);else if(first==folded[0])score2+=-200;else return null;return[score2,0,firstSize];}let direct=word.indexOf(this.pattern);if(direct==0)return[word.length==this.pattern.length?0:-100,0,this.pattern.length,];let len=chars.length,anyTo=0;if(direct<0){for(let i=0,e=Math.min(word.length,200);i<e&&anyTo<len;){let next=codePointAt(word,i);if(next==chars[anyTo]||next==folded[anyTo])any[anyTo++]=i;i+=codePointSize(next);}if(anyTo<len)return null;}let preciseTo=0;let byWordTo=0,byWordFolded=false;let adjacentTo=0,adjacentStart=-1,adjacentEnd=-1;let hasLower=/[a-z]/.test(word),wordAdjacent=true;for(let i1=0,e1=Math.min(word.length,200),prevType=0;i1<e1&&byWordTo<len;){let next1=codePointAt(word,i1);if(direct<0){if(preciseTo<len&&next1==chars[preciseTo])precise[preciseTo++]=i1;if(adjacentTo<len){if(next1==chars[adjacentTo]||next1==folded[adjacentTo]){if(adjacentTo==0)adjacentStart=i1;adjacentEnd=i1+1;adjacentTo++;}else{adjacentTo=0;}}}let ch,type=next1<255?next1>=48&&next1<=57||next1>=97&&next1<=122?2:next1>=65&&next1<=90?1:0:(ch=fromCodePoint(next1))!=ch.toLowerCase()?1:ch!=ch.toUpperCase()?2:0;if(!i1||type==1&&hasLower||prevType==0&&type!=0){if(chars[byWordTo]==next1||folded[byWordTo]==next1&&(byWordFolded=true))byWord[byWordTo++]=i1;else if(byWord.length)wordAdjacent=false;}prevType=type;i1+=codePointSize(next1);}if(byWordTo==len&&byWord[0]==0&&wordAdjacent)return this.result(-100+(byWordFolded?-200:0),byWord,word);if(adjacentTo==len&&adjacentStart==0)return[-200-word.length+(adjacentEnd==word.length?0:-100),0,adjacentEnd,];if(direct>-1)return[-700-word.length,direct,direct+this.pattern.length];if(adjacentTo==len)return[-200+-700-word.length,adjacentStart,adjacentEnd];if(byWordTo==len)return this.result(-100+(byWordFolded?-200:0)+-700+(wordAdjacent?0:-1100),byWord,word);return chars.length==2?null:this.result((any[0]?-700:0)+-200+-1100,any,word);}result(score2,positions,word){let result=[score2-word.length],i=1;for(let pos of positions){let to=pos+(this.astral?codePointSize(codePointAt(word,pos)):1);if(i>1&&result[i-1]==pos)result[i-1]=to;else{result[i++]=pos;result[i++]=to;}}return result;}constructor(pattern){this.pattern=pattern;this.chars=[];this.folded=[];this.any=[];this.precise=[];this.byWord=[];for(let p=0;p<pattern.length;){let char=codePointAt(pattern,p),size=codePointSize(char);this.chars.push(char);let part=pattern.slice(p,p+size),upper=part.toUpperCase();this.folded.push(codePointAt(upper==part?part.toLowerCase():upper,0));p+=size;}this.astral=pattern.length!=this.chars.length;}};var completionConfig=/* @__PURE__ */ Facet.define({combine(configs){return combineConfig(configs,{activateOnTyping:true,selectOnOpen:true,override:null,closeOnBlur:true,maxRenderedOptions:100,defaultKeymap:true,tooltipClass:()=>\"\",optionClass:()=>\"\",aboveCursor:false,icons:true,addToOptions:[],positionInfo:defaultPositionInfo,compareCompletions:(a,b)=>a.label.localeCompare(b.label),interactionDelay:75},{defaultKeymap:(a,b)=>a&&b,closeOnBlur:(a,b)=>a&&b,icons:(a,b)=>a&&b,tooltipClass:(a,b)=>c=>joinClass(a(c),b(c)),optionClass:(a,b)=>c=>joinClass(a(c),b(c)),addToOptions:(a,b)=>a.concat(b)});}});function joinClass(a,b){return a?b?a+\" \"+b:a:b;}function defaultPositionInfo(view,list,option,info,space){let rtl=view.textDirection==Direction.RTL,left=rtl,narrow=false;let side=\"top\",offset,maxWidth;let spaceLeft=list.left-space.left,spaceRight=space.right-list.right;let infoWidth=info.right-info.left,infoHeight=info.bottom-info.top;if(left&&spaceLeft<Math.min(infoWidth,spaceRight))left=false;else if(!left&&spaceRight<Math.min(infoWidth,spaceLeft))left=true;if(infoWidth<=(left?spaceLeft:spaceRight)){offset=Math.max(space.top,Math.min(option.top,space.bottom-infoHeight))-list.top;maxWidth=Math.min(400,left?spaceLeft:spaceRight);}else{narrow=true;maxWidth=Math.min(400,(rtl?list.right:space.right-list.left)-30);let spaceBelow=space.bottom-list.bottom;if(spaceBelow>=infoHeight||spaceBelow>list.top){offset=option.bottom-list.top;}else{side=\"bottom\";offset=list.bottom-option.top;}}return{style:`${side}: ${offset}px; max-width: ${maxWidth}px`,class:\"cm-completionInfo-\"+(narrow?rtl?\"left-narrow\":\"right-narrow\":left?\"left\":\"right\")};}function moveCompletionSelection(forward,by=\"option\"){return view=>{let cState=view.state.field(completionState,false);if(!cState||!cState.open||cState.open.disabled||Date.now()-cState.open.timestamp<view.state.facet(completionConfig).interactionDelay)return false;let step=1,tooltip;if(by==\"page\"&&(tooltip=getTooltip(view,cState.open.tooltip)))step=Math.max(2,Math.floor(tooltip.dom.offsetHeight/tooltip.dom.querySelector(\"li\").offsetHeight)-1);let{length}=cState.open.options;let selected=cState.open.selected>-1?cState.open.selected+step*(forward?1:-1):forward?0:length-1;if(selected<0)selected=by==\"page\"?0:length-1;else if(selected>=length)selected=by==\"page\"?length-1:0;view.dispatch({effects:setSelectedEffect.of(selected)});return true;};}var acceptCompletion=view=>{let cState=view.state.field(completionState,false);if(view.state.readOnly||!cState||!cState.open||cState.open.selected<0||Date.now()-cState.open.timestamp<view.state.facet(completionConfig).interactionDelay)return false;if(!cState.open.disabled)return applyCompletion(view,cState.open.options[cState.open.selected]);return true;};var startCompletion=view=>{let cState=view.state.field(completionState,false);if(!cState)return false;view.dispatch({effects:startCompletionEffect.of(true)});return true;};var closeCompletion=view=>{let cState=view.state.field(completionState,false);if(!cState||!cState.active.some(a=>a.state!=0))return false;view.dispatch({effects:closeCompletionEffect.of(null)});return true;};var RunningQuery=class{constructor(active,context){this.active=active;this.context=context;this.time=Date.now();this.updates=[];this.done=void 0;}};var DebounceTime=50;var MaxUpdateCount=50;var MinAbortTime=1e3;var completionPlugin=/* @__PURE__ */ ViewPlugin.fromClass(class{update(update){let cState=update.state.field(completionState);if(!update.selectionSet&&!update.docChanged&&update.startState.field(completionState)==cState)return;let doesReset=update.transactions.some(tr=>{return(tr.selection||tr.docChanged)&&!getUserEvent(tr);});for(let i=0;i<this.running.length;i++){let query=this.running[i];if(doesReset||query.updates.length+update.transactions.length>MaxUpdateCount&&Date.now()-query.time>MinAbortTime){for(let handler of query.context.abortListeners){try{handler();}catch(e){logException(this.view.state,e);}}query.context.abortListeners=null;this.running.splice(i--,1);}else{query.updates.push(...update.transactions);}}if(this.debounceUpdate>-1)clearTimeout(this.debounceUpdate);this.debounceUpdate=cState.active.some(a=>a.state==1&&!this.running.some(q=>q.active.source==a.source))?setTimeout(()=>this.startUpdate(),DebounceTime):-1;if(this.composing!=0)for(let tr of update.transactions){if(getUserEvent(tr)==\"input\")this.composing=2;else if(this.composing==2&&tr.selection)this.composing=3;}}startUpdate(){this.debounceUpdate=-1;let{state}=this.view,cState=state.field(completionState);for(let active of cState.active){if(active.state==1&&!this.running.some(r=>r.active.source==active.source))this.startQuery(active);}}startQuery(active){let{state}=this.view,pos=cur(state);let context=new CompletionContext(state,pos,active.explicitPos==pos);let pending=new RunningQuery(active,context);this.running.push(pending);Promise.resolve(active.source(context)).then(result=>{if(!pending.context.aborted){pending.done=result||null;this.scheduleAccept();}},err=>{this.view.dispatch({effects:closeCompletionEffect.of(null)});logException(this.view.state,err);});}scheduleAccept(){if(this.running.every(q=>q.done!==void 0))this.accept();else if(this.debounceAccept<0)this.debounceAccept=setTimeout(()=>this.accept(),DebounceTime);}// For each finished query in this.running, try to create a result\n// or, if appropriate, restart the query.\naccept(){var _a;if(this.debounceAccept>-1)clearTimeout(this.debounceAccept);this.debounceAccept=-1;let updated=[];let conf=this.view.state.facet(completionConfig);for(let i=0;i<this.running.length;i++){let query=this.running[i];if(query.done===void 0)continue;this.running.splice(i--,1);if(query.done){let active=new ActiveResult(query.active.source,query.active.explicitPos,query.done,query.done.from,(_a=query.done.to)!==null&&_a!==void 0?_a:cur(query.updates.length?query.updates[0].startState:this.view.state));for(let tr of query.updates)active=active.update(tr,conf);if(active.hasResult()){updated.push(active);continue;}}let current=this.view.state.field(completionState).active.find(a=>a.source==query.active.source);if(current&&current.state==1){if(query.done==null){let active1=new ActiveSource(query.active.source,0);for(let tr1 of query.updates)active1=active1.update(tr1,conf);if(active1.state!=1)updated.push(active1);}else{this.startQuery(current);}}}if(updated.length)this.view.dispatch({effects:setActiveEffect.of(updated)});}constructor(view){this.view=view;this.debounceUpdate=-1;this.running=[];this.debounceAccept=-1;this.composing=0;for(let active of view.state.field(completionState).active)if(active.state==1)this.startQuery(active);}},{eventHandlers:{blur(event){let state=this.view.state.field(completionState,false);if(state&&state.tooltip&&this.view.state.facet(completionConfig).closeOnBlur){let dialog=state.open&&getTooltip(this.view,state.open.tooltip);if(!dialog||!dialog.dom.contains(event.relatedTarget))this.view.dispatch({effects:closeCompletionEffect.of(null)});}},compositionstart(){this.composing=1;},compositionend(){if(this.composing==3){setTimeout(()=>this.view.dispatch({effects:startCompletionEffect.of(false)}),20);}this.composing=0;}}});function applyCompletion(view,option){const apply=option.completion.apply||option.completion.label;let result=view.state.field(completionState).active.find(a=>a.source==option.source);if(!(result instanceof ActiveResult))return false;if(typeof apply==\"string\")view.dispatch(Object.assign(Object.assign({},insertCompletionText(view.state,apply,result.from,result.to)),{annotations:pickedCompletion.of(option.completion)}));else apply(view,option.completion,result.from,result.to);return true;}function optionContent(config2){let content=config2.addToOptions.slice();if(config2.icons)content.push({render(completion){let icon=document.createElement(\"div\");icon.classList.add(\"cm-completionIcon\");if(completion.type)icon.classList.add(...completion.type.split(/\\s+/g).map(cls=>\"cm-completionIcon-\"+cls));icon.setAttribute(\"aria-hidden\",\"true\");return icon;},position:20});content.push({render(completion,_s,match){let labelElt=document.createElement(\"span\");labelElt.className=\"cm-completionLabel\";let{label}=completion,off=0;for(let j=1;j<match.length;){let from=match[j++],to=match[j++];if(from>off)labelElt.appendChild(document.createTextNode(label.slice(off,from)));let span=labelElt.appendChild(document.createElement(\"span\"));span.appendChild(document.createTextNode(label.slice(from,to)));span.className=\"cm-completionMatchedText\";off=to;}if(off<label.length)labelElt.appendChild(document.createTextNode(label.slice(off)));return labelElt;},position:50},{render(completion){if(!completion.detail)return null;let detailElt=document.createElement(\"span\");detailElt.className=\"cm-completionDetail\";detailElt.textContent=completion.detail;return detailElt;},position:80});return content.sort((a,b)=>a.position-b.position).map(a=>a.render);}function rangeAroundSelected(total,selected,max){if(total<=max)return{from:0,to:total};if(selected<0)selected=0;if(selected<=total>>1){let off2=Math.floor(selected/max);return{from:off2*max,to:(off2+1)*max};}let off=Math.floor((total-selected)/max);return{from:total-(off+1)*max,to:total-off*max};}var CompletionTooltip=class{mount(){this.updateSel();}update(update){var _a,_b,_c;let cState=update.state.field(this.stateField);let prevState=update.startState.field(this.stateField);this.updateTooltipClass(update.state);if(cState!=prevState){this.updateSel();if(((_a=cState.open)===null||_a===void 0?void 0:_a.disabled)!=((_b=prevState.open)===null||_b===void 0?void 0:_b.disabled))this.dom.classList.toggle(\"cm-tooltip-autocomplete-disabled\",!!((_c=cState.open)===null||_c===void 0?void 0:_c.disabled));}}updateTooltipClass(state){let cls=this.tooltipClass(state);if(cls!=this.currentClass){for(let c of this.currentClass.split(\" \"))if(c)this.dom.classList.remove(c);for(let c1 of cls.split(\" \"))if(c1)this.dom.classList.add(c1);this.currentClass=cls;}}positioned(space){this.space=space;if(this.info)this.view.requestMeasure(this.placeInfoReq);}updateSel(){let cState=this.view.state.field(this.stateField),open=cState.open;if(open.selected>-1&&open.selected<this.range.from||open.selected>=this.range.to){this.range=rangeAroundSelected(open.options.length,open.selected,this.view.state.facet(completionConfig).maxRenderedOptions);this.list.remove();this.list=this.dom.appendChild(this.createListBox(open.options,cState.id,this.range));this.list.addEventListener(\"scroll\",()=>{if(this.info)this.view.requestMeasure(this.placeInfoReq);});}if(this.updateSelectedOption(open.selected)){if(this.info){this.info.remove();this.info=null;}let{completion}=open.options[open.selected];let{info}=completion;if(!info)return;let infoResult=typeof info===\"string\"?document.createTextNode(info):info(completion);if(!infoResult)return;if(\"then\"in infoResult){infoResult.then(node=>{if(node&&this.view.state.field(this.stateField,false)==cState)this.addInfoPane(node);}).catch(e=>logException(this.view.state,e,\"completion info\"));}else{this.addInfoPane(infoResult);}}}addInfoPane(content){let dom=this.info=document.createElement(\"div\");dom.className=\"cm-tooltip cm-completionInfo\";dom.appendChild(content);this.dom.appendChild(dom);this.view.requestMeasure(this.placeInfoReq);}updateSelectedOption(selected){let set=null;for(let opt=this.list.firstChild,i=this.range.from;opt;opt=opt.nextSibling,i++){if(opt.nodeName!=\"LI\"||!opt.id){i--;}else if(i==selected){if(!opt.hasAttribute(\"aria-selected\")){opt.setAttribute(\"aria-selected\",\"true\");set=opt;}}else{if(opt.hasAttribute(\"aria-selected\"))opt.removeAttribute(\"aria-selected\");}}if(set)scrollIntoView(this.list,set);return set;}measureInfo(){let sel=this.dom.querySelector(\"[aria-selected]\");if(!sel||!this.info)return null;let listRect=this.dom.getBoundingClientRect();let infoRect=this.info.getBoundingClientRect();let selRect=sel.getBoundingClientRect();let space=this.space;if(!space){let win=this.dom.ownerDocument.defaultView||window;space={left:0,top:0,right:win.innerWidth,bottom:win.innerHeight};}if(selRect.top>Math.min(space.bottom,listRect.bottom)-10||selRect.bottom<Math.max(space.top,listRect.top)+10)return null;return this.view.state.facet(completionConfig).positionInfo(this.view,listRect,selRect,infoRect,space);}placeInfo(pos){if(this.info){if(pos){if(pos.style)this.info.style.cssText=pos.style;this.info.className=\"cm-tooltip cm-completionInfo \"+(pos.class||\"\");}else{this.info.style.cssText=\"top: -1e6px\";}}}createListBox(options,id,range){const ul=document.createElement(\"ul\");ul.id=id;ul.setAttribute(\"role\",\"listbox\");ul.setAttribute(\"aria-expanded\",\"true\");ul.setAttribute(\"aria-label\",this.view.state.phrase(\"Completions\"));let curSection=null;for(let i=range.from;i<range.to;i++){let{completion,match}=options[i],{section}=completion;if(section){let name=typeof section==\"string\"?section:section.name;if(name!=curSection&&(i>range.from||range.from==0)){curSection=name;if(typeof section!=\"string\"&&section.header){ul.appendChild(section.header(section));}else{let header=ul.appendChild(document.createElement(\"completion-section\"));header.textContent=name;}}}const li=ul.appendChild(document.createElement(\"li\"));li.id=id+\"-\"+i;li.setAttribute(\"role\",\"option\");let cls=this.optionClass(completion);if(cls)li.className=cls;for(let source of this.optionContent){let node=source(completion,this.view.state,match);if(node)li.appendChild(node);}}if(range.from)ul.classList.add(\"cm-completionListIncompleteTop\");if(range.to<options.length)ul.classList.add(\"cm-completionListIncompleteBottom\");return ul;}constructor(view,stateField){this.view=view;this.stateField=stateField;this.info=null;this.placeInfoReq={read:()=>this.measureInfo(),write:pos=>this.placeInfo(pos),key:this};this.space=null;this.currentClass=\"\";let cState=view.state.field(stateField);let{options,selected}=cState.open;let config2=view.state.facet(completionConfig);this.optionContent=optionContent(config2);this.optionClass=config2.optionClass;this.tooltipClass=config2.tooltipClass;this.range=rangeAroundSelected(options.length,selected,config2.maxRenderedOptions);this.dom=document.createElement(\"div\");this.dom.className=\"cm-tooltip-autocomplete\";this.updateTooltipClass(view.state);this.dom.addEventListener(\"mousedown\",e=>{for(let dom=e.target,match;dom&&dom!=this.dom;dom=dom.parentNode){if(dom.nodeName==\"LI\"&&(match=/-(\\d+)$/.exec(dom.id))&&+match[1]<options.length){applyCompletion(view,options[+match[1]]);e.preventDefault();return;}}});this.dom.addEventListener(\"focusout\",e=>{let state=view.state.field(this.stateField,false);if(state&&state.tooltip&&view.state.facet(completionConfig).closeOnBlur&&e.relatedTarget!=view.contentDOM)view.dispatch({effects:closeCompletionEffect.of(null)});});this.list=this.dom.appendChild(this.createListBox(options,cState.id,this.range));this.list.addEventListener(\"scroll\",()=>{if(this.info)this.view.requestMeasure(this.placeInfoReq);});}};function completionTooltip(stateField){return view=>new CompletionTooltip(view,stateField);}function scrollIntoView(container,element){let parent=container.getBoundingClientRect();let self=element.getBoundingClientRect();if(self.top<parent.top)container.scrollTop-=parent.top-self.top;else if(self.bottom>parent.bottom)container.scrollTop+=self.bottom-parent.bottom;}function score(option){return(option.boost||0)*100+(option.apply?10:0)+(option.info?5:0)+(option.type?1:0);}function sortOptions(active,state){let options=[];let sections=null;let addOption=option=>{options.push(option);let{section}=option.completion;if(section){if(!sections)sections=[];let name=typeof section==\"string\"?section:section.name;if(!sections.some(s=>s.name==name))sections.push(typeof section==\"string\"?{name}:section);}};for(let a of active)if(a.hasResult()){if(a.result.filter===false){let getMatch=a.result.getMatch;for(let option of a.result.options){let match=[1e9-options.length];if(getMatch)for(let n of getMatch(option))match.push(n);addOption(new Option(option,a.source,match,match[0]));}}else{let matcher=new FuzzyMatcher(state.sliceDoc(a.from,a.to)),match1;for(let option1 of a.result.options)if(match1=matcher.match(option1.label)){addOption(new Option(option1,a.source,match1,match1[0]+(option1.boost||0)));}}}if(sections){let sectionOrder=/* @__PURE__ */ Object.create(null),pos=0;let cmp=(a,b)=>{var _a,_b;return((_a=a.rank)!==null&&_a!==void 0?_a:1e9)-((_b=b.rank)!==null&&_b!==void 0?_b:1e9)||(a.name<b.name?-1:1);};for(let s of sections.sort(cmp)){pos-=1e5;sectionOrder[s.name]=pos;}for(let option2 of options){let{section}=option2.completion;if(section)option2.score+=sectionOrder[typeof section==\"string\"?section:section.name];}}let result=[],prev=null;let compare=state.facet(completionConfig).compareCompletions;for(let opt of options.sort((a,b)=>b.score-a.score||compare(a.completion,b.completion))){if(!prev||prev.label!=opt.completion.label||prev.detail!=opt.completion.detail||prev.type!=null&&opt.completion.type!=null&&prev.type!=opt.completion.type||prev.apply!=opt.completion.apply)result.push(opt);else if(score(opt.completion)>score(prev))result[result.length-1]=opt;prev=opt.completion;}return result;}var CompletionDialog=class{setSelected(selected,id){return selected==this.selected||selected>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(id,selected),this.tooltip,this.timestamp,selected,this.disabled);}static build(active,state,id,prev,conf){let options=sortOptions(active,state);if(!options.length){return prev&&active.some(a=>a.state==1)?new CompletionDialog(prev.options,prev.attrs,prev.tooltip,prev.timestamp,prev.selected,true):null;}let selected=state.facet(completionConfig).selectOnOpen?0:-1;if(prev&&prev.selected!=selected&&prev.selected!=-1){let selectedValue=prev.options[prev.selected].completion;for(let i=0;i<options.length;i++)if(options[i].completion==selectedValue){selected=i;break;}}return new CompletionDialog(options,makeAttrs(id,selected),{pos:active.reduce((a,b)=>b.hasResult()?Math.min(a,b.from):a,1e8),create:completionTooltip(completionState),above:conf.aboveCursor},prev?prev.timestamp:Date.now(),selected,false);}map(changes){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:changes.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled);}constructor(options,attrs,tooltip,timestamp,selected,disabled){this.options=options;this.attrs=attrs;this.tooltip=tooltip;this.timestamp=timestamp;this.selected=selected;this.disabled=disabled;}};var CompletionState=class{static start(){return new CompletionState(none,\"cm-ac-\"+Math.floor(Math.random()*2e6).toString(36),null);}update(tr){let{state}=tr,conf=state.facet(completionConfig);let sources=conf.override||state.languageDataAt(\"autocomplete\",cur(state)).map(asSource);let active=sources.map(source=>{let value=this.active.find(s=>s.source==source)||new ActiveSource(source,this.active.some(a=>a.state!=0)?1:0);return value.update(tr,conf);});if(active.length==this.active.length&&active.every((a,i)=>a==this.active[i]))active=this.active;let open=this.open;if(open&&tr.docChanged)open=open.map(tr.changes);if(tr.selection||active.some(a=>a.hasResult()&&tr.changes.touchesRange(a.from,a.to))||!sameResults(active,this.active))open=CompletionDialog.build(active,state,this.id,open,conf);else if(open&&open.disabled&&!active.some(a=>a.state==1))open=null;if(!open&&active.every(a=>a.state!=1)&&active.some(a=>a.hasResult()))active=active.map(a=>a.hasResult()?new ActiveSource(a.source,0):a);for(let effect of tr.effects)if(effect.is(setSelectedEffect))open=open&&open.setSelected(effect.value,this.id);return active==this.active&&open==this.open?this:new CompletionState(active,this.id,open);}get tooltip(){return this.open?this.open.tooltip:null;}get attrs(){return this.open?this.open.attrs:baseAttrs;}constructor(active,id,open){this.active=active;this.id=id;this.open=open;}};function sameResults(a,b){if(a==b)return true;for(let iA=0,iB=0;;){while(iA<a.length&&!a[iA].hasResult)iA++;while(iB<b.length&&!b[iB].hasResult)iB++;let endA=iA==a.length,endB=iB==b.length;if(endA||endB)return endA==endB;if(a[iA++].result!=b[iB++].result)return false;}}var baseAttrs={\"aria-autocomplete\":\"list\"};function makeAttrs(id,selected){let result={\"aria-autocomplete\":\"list\",\"aria-haspopup\":\"listbox\",\"aria-controls\":id};if(selected>-1)result[\"aria-activedescendant\"]=id+\"-\"+selected;return result;}var none=[];function getUserEvent(tr){return tr.isUserEvent(\"input.type\")?\"input\":tr.isUserEvent(\"delete.backward\")?\"delete\":null;}var ActiveSource=class{hasResult(){return false;}update(tr,conf){let event=getUserEvent(tr),value=this;if(event)value=value.handleUserEvent(tr,event,conf);else if(tr.docChanged)value=value.handleChange(tr);else if(tr.selection&&value.state!=0)value=new ActiveSource(value.source,0);for(let effect of tr.effects){if(effect.is(startCompletionEffect))value=new ActiveSource(value.source,1,effect.value?cur(tr.state):-1);else if(effect.is(closeCompletionEffect))value=new ActiveSource(value.source,0);else if(effect.is(setActiveEffect)){for(let active of effect.value)if(active.source==value.source)value=active;}}return value;}handleUserEvent(tr,type,conf){return type==\"delete\"||!conf.activateOnTyping?this.map(tr.changes):new ActiveSource(this.source,1);}handleChange(tr){return tr.changes.touchesRange(cur(tr.startState))?new ActiveSource(this.source,0):this.map(tr.changes);}map(changes){return changes.empty||this.explicitPos<0?this:new ActiveSource(this.source,this.state,changes.mapPos(this.explicitPos));}constructor(source,state,explicitPos=-1){this.source=source;this.state=state;this.explicitPos=explicitPos;}};var ActiveResult=class extends ActiveSource{hasResult(){return true;}handleUserEvent(tr,type,conf){var _a;let from=tr.changes.mapPos(this.from),to=tr.changes.mapPos(this.to,1);let pos=cur(tr.state);if((this.explicitPos<0?pos<=from:pos<this.from)||pos>to||type==\"delete\"&&cur(tr.startState)==this.from)return new ActiveSource(this.source,type==\"input\"&&conf.activateOnTyping?1:0);let explicitPos=this.explicitPos<0?-1:tr.changes.mapPos(this.explicitPos),updated;if(checkValid(this.result.validFor,tr.state,from,to))return new ActiveResult(this.source,explicitPos,this.result,from,to);if(this.result.update&&(updated=this.result.update(this.result,from,to,new CompletionContext(tr.state,pos,explicitPos>=0))))return new ActiveResult(this.source,explicitPos,updated,updated.from,(_a=updated.to)!==null&&_a!==void 0?_a:cur(tr.state));return new ActiveSource(this.source,1,explicitPos);}handleChange(tr){return tr.changes.touchesRange(this.from,this.to)?new ActiveSource(this.source,0):this.map(tr.changes);}map(mapping){return mapping.empty?this:new ActiveResult(this.source,this.explicitPos<0?-1:mapping.mapPos(this.explicitPos),this.result,mapping.mapPos(this.from),mapping.mapPos(this.to,1));}constructor(source,explicitPos,result,from,to){super(source,2,explicitPos);this.result=result;this.from=from;this.to=to;}};function checkValid(validFor,state,from,to){if(!validFor)return false;let text=state.sliceDoc(from,to);return typeof validFor==\"function\"?validFor(text,from,to,state):ensureAnchor(validFor,true).test(text);}var setActiveEffect=/* @__PURE__ */ StateEffect.define({map(sources,mapping){return sources.map(s=>s.map(mapping));}});var setSelectedEffect=/* @__PURE__ */ StateEffect.define();var completionState=/* @__PURE__ */ StateField.define({create(){return CompletionState.start();},update(value,tr){return value.update(tr);},provide:f=>[showTooltip.from(f,val=>val.tooltip),EditorView.contentAttributes.from(f,state=>state.attrs),]});var baseTheme=/* @__PURE__ */ EditorView.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\"},\".cm-tooltip.cm-completionInfo\":{position:\"absolute\",padding:\"3px 9px\",width:\"max-content\",maxWidth:`${400}px`,boxSizing:\"border-box\"},\".cm-completionInfo.cm-completionInfo-left\":{right:\"100%\"},\".cm-completionInfo.cm-completionInfo-right\":{left:\"100%\"},\".cm-completionInfo.cm-completionInfo-left-narrow\":{right:`${30}px`},\".cm-completionInfo.cm-completionInfo-right-narrow\":{left:`${30}px`},\"&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:\"'ƒ'\"}},\".cm-completionIcon-class\":{\"&:after\":{content:\"'○'\"}},\".cm-completionIcon-interface\":{\"&:after\":{content:\"'◌'\"}},\".cm-completionIcon-variable\":{\"&:after\":{content:\"'𝑥'\"}},\".cm-completionIcon-constant\":{\"&:after\":{content:\"'𝐶'\"}},\".cm-completionIcon-type\":{\"&:after\":{content:\"'𝑡'\"}},\".cm-completionIcon-enum\":{\"&:after\":{content:\"'∪'\"}},\".cm-completionIcon-property\":{\"&:after\":{content:\"'□'\"}},\".cm-completionIcon-keyword\":{\"&:after\":{content:\"'🔑︎'\"}},\".cm-completionIcon-namespace\":{\"&:after\":{content:\"'▢'\"}},\".cm-completionIcon-text\":{\"&:after\":{content:\"'abc'\",fontSize:\"50%\",verticalAlign:\"middle\"}}});var FieldPos=class{constructor(field,line,from,to){this.field=field;this.line=line;this.from=from;this.to=to;}};var FieldRange=class{map(changes){let from=changes.mapPos(this.from,-1,MapMode.TrackDel);let to=changes.mapPos(this.to,1,MapMode.TrackDel);return from==null||to==null?null:new FieldRange(this.field,from,to);}constructor(field,from,to){this.field=field;this.from=from;this.to=to;}};var Snippet=class{instantiate(state,pos){let text=[],lineStart=[pos];let lineObj=state.doc.lineAt(pos),baseIndent=/^\\s*/.exec(lineObj.text)[0];for(let line of this.lines){if(text.length){let indent=baseIndent,tabs=/^\\t*/.exec(line)[0].length;for(let i=0;i<tabs;i++)indent+=state.facet(indentUnit);lineStart.push(pos+indent.length-tabs);line=indent+line.slice(tabs);}text.push(line);pos+=line.length+1;}let ranges=this.fieldPositions.map(pos2=>new FieldRange(pos2.field,lineStart[pos2.line]+pos2.from,lineStart[pos2.line]+pos2.to));return{text,ranges};}static parse(template){let fields=[];let lines=[],positions=[],m;for(let line of template.split(/\\r\\n?|\\n/)){while(m=/[#$]\\{(?:(\\d+)(?::([^}]*))?|([^}]*))\\}/.exec(line)){let seq=m[1]?+m[1]:null,name=m[2]||m[3]||\"\",found=-1;for(let i=0;i<fields.length;i++){if(seq!=null?fields[i].seq==seq:name?fields[i].name==name:false)found=i;}if(found<0){let i1=0;while(i1<fields.length&&(seq==null||fields[i1].seq!=null&&fields[i1].seq<seq))i1++;fields.splice(i1,0,{seq,name});found=i1;for(let pos of positions)if(pos.field>=found)pos.field++;}positions.push(new FieldPos(found,lines.length,m.index,m.index+name.length));line=line.slice(0,m.index)+name+line.slice(m.index+m[0].length);}for(let esc;esc=/\\\\([{}])/.exec(line);){line=line.slice(0,esc.index)+esc[1]+line.slice(esc.index+esc[0].length);for(let pos1 of positions)if(pos1.line==lines.length&&pos1.from>esc.index){pos1.from--;pos1.to--;}}lines.push(line);}return new Snippet(lines,positions);}constructor(lines,fieldPositions){this.lines=lines;this.fieldPositions=fieldPositions;}};var fieldMarker=/* @__PURE__ */ Decoration.widget({widget:/* @__PURE__ */ new class extends WidgetType{toDOM(){let span=document.createElement(\"span\");span.className=\"cm-snippetFieldPosition\";return span;}ignoreEvent(){return false;}}});var fieldRange=/* @__PURE__ */ Decoration.mark({class:\"cm-snippetField\"});var ActiveSnippet=class{map(changes){let ranges=[];for(let r of this.ranges){let mapped=r.map(changes);if(!mapped)return null;ranges.push(mapped);}return new ActiveSnippet(ranges,this.active);}selectionInsideField(sel){return sel.ranges.every(range=>this.ranges.some(r=>r.field==this.active&&r.from<=range.from&&r.to>=range.to));}constructor(ranges,active){this.ranges=ranges;this.active=active;this.deco=Decoration.set(ranges.map(r=>(r.from==r.to?fieldMarker:fieldRange).range(r.from,r.to)));}};var setActive=/* @__PURE__ */ StateEffect.define({map(value,changes){return value&&value.map(changes);}});var moveToField=/* @__PURE__ */ StateEffect.define();var snippetState=/* @__PURE__ */ StateField.define({create(){return null;},update(value,tr){for(let effect of tr.effects){if(effect.is(setActive))return effect.value;if(effect.is(moveToField)&&value)return new ActiveSnippet(value.ranges,effect.value);}if(value&&tr.docChanged)value=value.map(tr.changes);if(value&&tr.selection&&!value.selectionInsideField(tr.selection))value=null;return value;},provide:f=>EditorView.decorations.from(f,val=>val?val.deco:Decoration.none)});function fieldSelection(ranges,field){return EditorSelection.create(ranges.filter(r=>r.field==field).map(r=>EditorSelection.range(r.from,r.to)));}function snippet(template){let snippet2=Snippet.parse(template);return(editor,completion,from,to)=>{let{text,ranges}=snippet2.instantiate(editor.state,from);let spec={changes:{from,to,insert:Text.of(text)},scrollIntoView:true,annotations:completion?pickedCompletion.of(completion):void 0};if(ranges.length)spec.selection=fieldSelection(ranges,0);if(ranges.length>1){let active=new ActiveSnippet(ranges,0);let effects=spec.effects=[setActive.of(active)];if(editor.state.field(snippetState,false)===void 0)effects.push(StateEffect.appendConfig.of([snippetState,addSnippetKeymap,snippetPointerHandler,baseTheme,]));}editor.dispatch(editor.state.update(spec));};}function moveField(dir){return({state,dispatch})=>{let active=state.field(snippetState,false);if(!active||dir<0&&active.active==0)return false;let next=active.active+dir,last=dir>0&&!active.ranges.some(r=>r.field==next+dir);dispatch(state.update({selection:fieldSelection(active.ranges,next),effects:setActive.of(last?null:new ActiveSnippet(active.ranges,next))}));return true;};}var clearSnippet=({state,dispatch})=>{let active=state.field(snippetState,false);if(!active)return false;dispatch(state.update({effects:setActive.of(null)}));return true;};var nextSnippetField=/* @__PURE__ */ moveField(1);var prevSnippetField=/* @__PURE__ */ moveField(-1);function hasNextSnippetField(state){let active=state.field(snippetState,false);return!!(active&&active.ranges.some(r=>r.field==active.active+1));}function hasPrevSnippetField(state){let active=state.field(snippetState,false);return!!(active&&active.active>0);}var defaultSnippetKeymap=[{key:\"Tab\",run:nextSnippetField,shift:prevSnippetField},{key:\"Escape\",run:clearSnippet},];var snippetKeymap=/* @__PURE__ */ Facet.define({combine(maps){return maps.length?maps[0]:defaultSnippetKeymap;}});var addSnippetKeymap=/* @__PURE__ */ Prec.highest(/* @__PURE__ */ keymap.compute([snippetKeymap],state=>state.facet(snippetKeymap)));function snippetCompletion(template,completion){return Object.assign(Object.assign({},completion),{apply:snippet(template)});}var snippetPointerHandler=/* @__PURE__ */ EditorView.domEventHandlers({mousedown(event,view){let active=view.state.field(snippetState,false),pos;if(!active||(pos=view.posAtCoords({x:event.clientX,y:event.clientY}))==null)return false;let match=active.ranges.find(r=>r.from<=pos&&r.to>=pos);if(!match||match.field==active.active)return false;view.dispatch({selection:fieldSelection(active.ranges,match.field),effects:setActive.of(active.ranges.some(r=>r.field>match.field)?new ActiveSnippet(active.ranges,match.field):null)});return true;}});function wordRE(wordChars){let escaped=wordChars.replace(/[\\\\[.+*?(){|^$]/g,\"\\\\$&\");try{return new RegExp(`[\\\\p{Alphabetic}\\\\p{Number}_${escaped}]+`,\"ug\");}catch(_a){return new RegExp(`[w${escaped}]`,\"g\");}}function mapRE(re,f){return new RegExp(f(re.source),re.unicode?\"u\":\"\");}var wordCaches=/* @__PURE__ */ Object.create(null);function wordCache(wordChars){return wordCaches[wordChars]||(wordCaches[wordChars]=/* @__PURE__ */ new WeakMap);}function storeWords(doc,wordRE2,result,seen,ignoreAt){for(let lines=doc.iterLines(),pos=0;!lines.next().done;){let{value}=lines,m;wordRE2.lastIndex=0;while(m=wordRE2.exec(value)){if(!seen[m[0]]&&pos+m.index!=ignoreAt){result.push({type:\"text\",label:m[0]});seen[m[0]]=true;if(result.length>=2e3)return;}}pos+=value.length+1;}}function collectWords(doc,cache,wordRE2,to,ignoreAt){let big=doc.length>=1e3;let cached=big&&cache.get(doc);if(cached)return cached;let result=[],seen=/* @__PURE__ */ Object.create(null);if(doc.children){let pos=0;for(let ch of doc.children){if(ch.length>=1e3){for(let c of collectWords(ch,cache,wordRE2,to-pos,ignoreAt-pos)){if(!seen[c.label]){seen[c.label]=true;result.push(c);}}}else{storeWords(ch,wordRE2,result,seen,ignoreAt-pos);}pos+=ch.length+1;}}else{storeWords(doc,wordRE2,result,seen,ignoreAt);}if(big&&result.length<2e3)cache.set(doc,result);return result;}var completeAnyWord=context=>{let wordChars=context.state.languageDataAt(\"wordChars\",context.pos).join(\"\");let re=wordRE(wordChars);let token=context.matchBefore(mapRE(re,s=>s+\"$\"));if(!token&&!context.explicit)return null;let from=token?token.from:context.pos;let options=collectWords(context.state.doc,wordCache(wordChars),re,5e4,from);return{from,options,validFor:mapRE(re,s=>\"^\"+s)};};var defaults={brackets:[\"(\",\"[\",\"{\",\"'\",'\"'],before:\")]}:;>\",stringPrefixes:[]};var closeBracketEffect=/* @__PURE__ */ StateEffect.define({map(value,mapping){let mapped=mapping.mapPos(value,-1,MapMode.TrackAfter);return mapped==null?void 0:mapped;}});var closedBracket=/* @__PURE__ */ new class extends RangeValue{};closedBracket.startSide=1;closedBracket.endSide=-1;var bracketState=/* @__PURE__ */ StateField.define({create(){return RangeSet.empty;},update(value,tr){if(tr.selection){let lineStart=tr.state.doc.lineAt(tr.selection.main.head).from;let prevLineStart=tr.startState.doc.lineAt(tr.startState.selection.main.head).from;if(lineStart!=tr.changes.mapPos(prevLineStart,-1))value=RangeSet.empty;}value=value.map(tr.changes);for(let effect of tr.effects)if(effect.is(closeBracketEffect))value=value.update({add:[closedBracket.range(effect.value,effect.value+1)]});return value;}});function closeBrackets(){return[inputHandler,bracketState];}var definedClosing=\"()[]{}<>\";function closing(ch){for(let i=0;i<definedClosing.length;i+=2)if(definedClosing.charCodeAt(i)==ch)return definedClosing.charAt(i+1);return fromCodePoint(ch<128?ch:ch+1);}function config(state,pos){return state.languageDataAt(\"closeBrackets\",pos)[0]||defaults;}var android=typeof navigator==\"object\"&&/* @__PURE__ */ /Android\\b/.test(navigator.userAgent);var inputHandler=/* @__PURE__ */ EditorView.inputHandler.of((view,from,to,insert)=>{if((android?view.composing:view.compositionStarted)||view.state.readOnly)return false;let sel=view.state.selection.main;if(insert.length>2||insert.length==2&&codePointSize(codePointAt(insert,0))==1||from!=sel.from||to!=sel.to)return false;let tr=insertBracket(view.state,insert);if(!tr)return false;view.dispatch(tr);return true;});var deleteBracketPair=({state,dispatch})=>{if(state.readOnly)return false;let conf=config(state,state.selection.main.head);let tokens=conf.brackets||defaults.brackets;let dont=null,changes=state.changeByRange(range=>{if(range.empty){let before=prevChar(state.doc,range.head);for(let token of tokens){if(token==before&&nextChar(state.doc,range.head)==closing(codePointAt(token,0)))return{changes:{from:range.head-token.length,to:range.head+token.length},range:EditorSelection.cursor(range.head-token.length)};}}return{range:dont=range};});if(!dont)dispatch(state.update(changes,{scrollIntoView:true,userEvent:\"delete.backward\"}));return!dont;};var closeBracketsKeymap=[{key:\"Backspace\",run:deleteBracketPair}];function insertBracket(state,bracket){let conf=config(state,state.selection.main.head);let tokens=conf.brackets||defaults.brackets;for(let tok of tokens){let closed=closing(codePointAt(tok,0));if(bracket==tok)return closed==tok?handleSame(state,tok,tokens.indexOf(tok+tok+tok)>-1,conf):handleOpen(state,tok,closed,conf.before||defaults.before);if(bracket==closed&&closedBracketAt(state,state.selection.main.from))return handleClose(state,tok,closed);}return null;}function closedBracketAt(state,pos){let found=false;state.field(bracketState).between(0,state.doc.length,from=>{if(from==pos)found=true;});return found;}function nextChar(doc,pos){let next=doc.sliceString(pos,pos+2);return next.slice(0,codePointSize(codePointAt(next,0)));}function prevChar(doc,pos){let prev=doc.sliceString(pos-2,pos);return codePointSize(codePointAt(prev,0))==prev.length?prev:prev.slice(1);}function handleOpen(state,open,close,closeBefore){let dont=null,changes=state.changeByRange(range=>{if(!range.empty)return{changes:[{insert:open,from:range.from},{insert:close,from:range.to},],effects:closeBracketEffect.of(range.to+open.length),range:EditorSelection.range(range.anchor+open.length,range.head+open.length)};let next=nextChar(state.doc,range.head);if(!next||/\\s/.test(next)||closeBefore.indexOf(next)>-1)return{changes:{insert:open+close,from:range.head},effects:closeBracketEffect.of(range.head+open.length),range:EditorSelection.cursor(range.head+open.length)};return{range:dont=range};});return dont?null:state.update(changes,{scrollIntoView:true,userEvent:\"input.type\"});}function handleClose(state,_open,close){let dont=null,changes=state.changeByRange(range=>{if(range.empty&&nextChar(state.doc,range.head)==close)return{changes:{from:range.head,to:range.head+close.length,insert:close},range:EditorSelection.cursor(range.head+close.length)};return dont={range};});return dont?null:state.update(changes,{scrollIntoView:true,userEvent:\"input.type\"});}function handleSame(state,token,allowTriple,config2){let stringPrefixes=config2.stringPrefixes||defaults.stringPrefixes;let dont=null,changes=state.changeByRange(range=>{if(!range.empty)return{changes:[{insert:token,from:range.from},{insert:token,from:range.to},],effects:closeBracketEffect.of(range.to+token.length),range:EditorSelection.range(range.anchor+token.length,range.head+token.length)};let pos=range.head,next=nextChar(state.doc,pos),start;if(next==token){if(nodeStart(state,pos)){return{changes:{insert:token+token,from:pos},effects:closeBracketEffect.of(pos+token.length),range:EditorSelection.cursor(pos+token.length)};}else if(closedBracketAt(state,pos)){let isTriple=allowTriple&&state.sliceDoc(pos,pos+token.length*3)==token+token+token;let content=isTriple?token+token+token:token;return{changes:{from:pos,to:pos+content.length,insert:content},range:EditorSelection.cursor(pos+content.length)};}}else if(allowTriple&&state.sliceDoc(pos-2*token.length,pos)==token+token&&(start=canStartStringAt(state,pos-2*token.length,stringPrefixes))>-1&&nodeStart(state,start)){return{changes:{insert:token+token+token+token,from:pos},effects:closeBracketEffect.of(pos+token.length),range:EditorSelection.cursor(pos+token.length)};}else if(state.charCategorizer(pos)(next)!=CharCategory.Word){if(canStartStringAt(state,pos,stringPrefixes)>-1&&!probablyInString(state,pos,token,stringPrefixes))return{changes:{insert:token+token,from:pos},effects:closeBracketEffect.of(pos+token.length),range:EditorSelection.cursor(pos+token.length)};}return{range:dont=range};});return dont?null:state.update(changes,{scrollIntoView:true,userEvent:\"input.type\"});}function nodeStart(state,pos){let tree=syntaxTree(state).resolveInner(pos+1);return tree.parent&&tree.from==pos;}function probablyInString(state,pos,quoteToken,prefixes){let node=syntaxTree(state).resolveInner(pos,-1);let maxPrefix=prefixes.reduce((m,p)=>Math.max(m,p.length),0);for(let i=0;i<5;i++){let start=state.sliceDoc(node.from,Math.min(node.to,node.from+quoteToken.length+maxPrefix));let quotePos=start.indexOf(quoteToken);if(!quotePos||quotePos>-1&&prefixes.indexOf(start.slice(0,quotePos))>-1){let first=node.firstChild;while(first&&first.from==node.from&&first.to-first.from>quoteToken.length+quotePos){if(state.sliceDoc(first.to-quoteToken.length,first.to)==quoteToken)return false;first=first.firstChild;}return true;}let parent=node.to==pos&&node.parent;if(!parent)break;node=parent;}return false;}function canStartStringAt(state,pos,prefixes){let charCat=state.charCategorizer(pos);if(charCat(state.sliceDoc(pos-1,pos))!=CharCategory.Word)return pos;for(let prefix of prefixes){let start=pos-prefix.length;if(state.sliceDoc(start,pos)==prefix&&charCat(state.sliceDoc(start-1,start))!=CharCategory.Word)return start;}return-1;}function autocompletion(config2={}){return[completionState,completionConfig.of(config2),completionPlugin,completionKeymapExt,baseTheme,];}var completionKeymap=[{key:\"Ctrl-Space\",run:startCompletion},{key:\"Escape\",run:closeCompletion},{key:\"ArrowDown\",run:/* @__PURE__ */ moveCompletionSelection(true)},{key:\"ArrowUp\",run:/* @__PURE__ */ moveCompletionSelection(false)},{key:\"PageDown\",run:/* @__PURE__ */ moveCompletionSelection(true,\"page\")},{key:\"PageUp\",run:/* @__PURE__ */ moveCompletionSelection(false,\"page\")},{key:\"Enter\",run:acceptCompletion},];var completionKeymapExt=/* @__PURE__ */ Prec.highest(/* @__PURE__ */ keymap.computeN([completionConfig],state=>state.facet(completionConfig).defaultKeymap?[completionKeymap]:[]));function completionStatus(state){let cState=state.field(completionState,false);return cState&&cState.active.some(a=>a.state==1)?\"pending\":cState&&cState.active.some(a=>a.state!=0)?\"active\":null;}var completionArrayCache=/* @__PURE__ */ new WeakMap;function currentCompletions(state){var _a;let open=(_a=state.field(completionState,false))===null||_a===void 0?void 0:_a.open;if(!open||open.disabled)return[];let completions=completionArrayCache.get(open.options);if(!completions)completionArrayCache.set(open.options,completions=open.options.map(o=>o.completion));return completions;}function selectedCompletion(state){var _a;let open=(_a=state.field(completionState,false))===null||_a===void 0?void 0:_a.open;return open&&!open.disabled&&open.selected>=0?open.options[open.selected].completion:null;}function selectedCompletionIndex(state){var _a;let open=(_a=state.field(completionState,false))===null||_a===void 0?void 0:_a.open;return open&&!open.disabled&&open.selected>=0?open.selected:null;}function setSelectedCompletion(index){return setSelectedEffect.of(index);}export{CompletionContext,acceptCompletion,autocompletion,clearSnippet,closeBrackets,closeBracketsKeymap,closeCompletion,completeAnyWord,completeFromList,completionKeymap,completionStatus,currentCompletions,deleteBracketPair,hasNextSnippetField,hasPrevSnippetField,ifIn,ifNotIn,insertBracket,insertCompletionText,moveCompletionSelection,nextSnippetField,pickedCompletion,prevSnippetField,selectedCompletion,selectedCompletionIndex,setSelectedCompletion,snippet,snippetCompletion,snippetKeymap,startCompletion,};\nexport const __FramerMetadata__ = {\"exports\":{\"snippetKeymap\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasPrevSnippetField\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CompletionContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"selectedCompletion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autocompletion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"closeBracketsKeymap\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"snippet\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deleteBracketPair\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"completeAnyWord\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"nextSnippetField\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pickedCompletion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"acceptCompletion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setSelectedCompletion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"closeBrackets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"completionStatus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"prevSnippetField\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"startCompletion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasNextSnippetField\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"currentCompletions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ifNotIn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ifIn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"insertBracket\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"closeCompletion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"snippetCompletion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"selectedCompletionIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"completeFromList\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"insertCompletionText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"moveCompletionSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearSnippet\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"completionKeymap\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}