p3x-redis-ui-material
Version:
💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity
2 lines • 21.1 kB
JavaScript
import {a as ul,e as ea,p as pt,o as os,N,A,f as ft,b as Nl}from'./chunk-CSgt_bzr.js';import {codePointAt as ct,fromCodePoint as dt,codePointSize as gt,EditorState as mt,EditorSelection as v$1,StateEffect as I$1,StateField as V,Facet as k$1,combineConfig as wt,Prec as pt$1,CharCategory as b$1,RangeSetBuilder as se,findClusterBreak as Y$1}from'./chunk-OaLmDfu9.js';import'./main-HNF44SV3.js';var ge=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,v=class{constructor(e,n,r=0,i=e.length,s,l){this.test=l,this.value={from:0,to:0},this.done=false,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?c=>s(ge(c)):ge,this.query=this.normalize(n);}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 ct(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=true,this;let n=dt(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=gt(e);let i=this.normalize(n);if(i.length)for(let s=0,l=r;;s++){let c=i.charCodeAt(s),o=this.match(c,l,this.bufferPos+this.bufferStart);if(s==i.length-1){if(o)return this.value=o,this;break}l==r&&s<n.length&&n.charCodeAt(s)==c&&l++;}}}match(e,n,r){let i=null;for(let s=0;s<this.matches.length;s+=2){let l=this.matches[s],c=false;this.query.charCodeAt(l)==e&&(l==this.query.length-1?i={from:this.matches[s+1],to:r}:(this.matches[s]++,c=true)),c||(this.matches.splice(s,2),s-=2);}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:n,to:r}:this.matches.push(1,n)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}};typeof Symbol<"u"&&(v.prototype[Symbol.iterator]=function(){return this});var Me={from:-1,to:-1,match:/.*/.exec("")},Z="gm"+(/x/.unicode==null?"":"u"),w=class{constructor(e,n,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=false,this.value=Me,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new R(e,n,r,i,s);this.re=new RegExp(n,Z+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let l=e.lineAt(i);this.curLineStart=l.from,this.matchPos=P(e,i),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 n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,i=r+n[0].length;if(this.matchPos=P(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,match:n},this;e=this.matchPos-this.curLineStart;}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=true,this}}},j=new WeakMap,E=class t{constructor(e,n){this.from=e,this.text=n;}get to(){return this.from+this.text.length}static get(e,n,r){let i=j.get(e);if(!i||i.from>=r||i.to<=n){let c=new t(n,e.sliceString(n,r));return j.set(e,c),c}if(i.from==n&&i.to==r)return i;let{text:s,from:l}=i;return l>n&&(s=e.sliceString(n,l)+s,l=n),i.to<r&&(s+=e.sliceString(i.to,r)),j.set(e,new t(l,s)),new t(n,s.slice(n-l,r-l))}},R=class{constructor(e,n,r,i,s){this.text=e,this.to=s,this.done=false,this.value=Me,this.matchPos=P(e,i),this.re=new RegExp(n,Z+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=E.get(e,i,this.chunkEnd(i+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,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,i=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,match:n},this.matchPos=P(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=true,this;this.flat=E.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2));}}};typeof Symbol<"u"&&(w.prototype[Symbol.iterator]=R.prototype[Symbol.iterator]=function(){return this});function ke(t){try{return new RegExp(t,Z),!0}catch(e){return false}}function P(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}var Le=t=>{let{state:e}=t,n=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:i}=ea(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:true,submitLabel:e.phrase("go")});return i.then(s=>{let l=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!l){t.dispatch({effects:r});return}let c=e.doc.lineAt(e.selection.main.head),[,o,h,a,g]=l,A=a?+a.slice(1):0,C=h?+h:c.number;if(h&&g){let N=C/100;o&&(N=N*(o=="-"?-1:1)+c.number/e.doc.lines),C=Math.round(e.doc.lines*N);}else h&&o&&(C=C*(o=="-"?-1:1)+c.number);let re=e.doc.line(Math.max(1,Math.min(e.doc.lines,C))),ie=v$1.cursor(re.from+Math.max(0,Math.min(A,re.length)));t.dispatch({effects:[r,pt.scrollIntoView(ie.from,{y:"center"})],selection:ie});}),true},We={highlightWordAroundCursor:false,minSelectionLength:1,maxMatches:100,wholeWords:false},ve=k$1.define({combine(t){return wt(t,We,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Je(t){let e=[we,qe];return t&&e.push(ve.of(t)),e}var Ae=A.mark({class:"cm-selectionMatch"}),Fe=A.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function pe(t,e,n,r){return (n==0||t(e.sliceDoc(n-1,n))!=b$1.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=b$1.Word)}function De(t,e,n,r){return t(e.sliceDoc(n,n+1))==b$1.Word&&t(e.sliceDoc(r-1,r))==b$1.Word}var qe=N.fromClass(class{constructor(t){this.decorations=this.getDeco(t);}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view));}getDeco(t){let e=t.state.facet(ve),{state:n}=t,r=n.selection;if(r.ranges.length>1)return A.none;let i=r.main,s,l=null;if(i.empty){if(!e.highlightWordAroundCursor)return A.none;let o=n.wordAt(i.head);if(!o)return A.none;l=n.charCategorizer(i.head),s=n.sliceDoc(o.from,o.to);}else {let o=i.to-i.from;if(o<e.minSelectionLength||o>200)return A.none;if(e.wholeWords){if(s=n.sliceDoc(i.from,i.to),l=n.charCategorizer(i.head),!(pe(l,n,i.from,i.to)&&De(l,n,i.from,i.to)))return A.none}else if(s=n.sliceDoc(i.from,i.to),!s)return A.none}let c=[];for(let o of t.visibleRanges){let h=new v(n.doc,s,o.from,o.to);for(;!h.next().done;){let{from:a,to:g}=h.value;if((!l||pe(l,n,a,g))&&(i.empty&&a<=i.from&&g>=i.to?c.push(Fe.range(a,g)):(a>=i.to||g<=i.from)&&c.push(Ae.range(a,g)),c.length>e.maxMatches))return A.none}}return A.set(c)}},{decorations:t=>t.decorations}),we=pt.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Ee=({state:t,dispatch:e})=>{let{selection:n}=t,r=v$1.create(n.ranges.map(i=>t.wordAt(i.head)||v$1.cursor(i.head)),n.mainIndex);return r.eq(n)?false:(e(t.update({selection:r})),true)};function Re(t,e){let{main:n,ranges:r}=t.selection,i=t.wordAt(n.head),s=i&&i.from==n.from&&i.to==n.to;for(let l=false,c=new v(t.doc,e,r[r.length-1].to);;)if(c.next(),c.done){if(l)return null;c=new v(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),l=true;}else {if(l&&r.some(o=>o.from==c.value.from))continue;if(s){let o=t.wordAt(c.value.from);if(!o||o.from!=c.value.from||o.to!=c.value.to)continue}return c.value}}var Pe=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(s=>s.from===s.to))return Ee({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(s=>t.sliceDoc(s.from,s.to)!=r))return false;let i=Re(t,r);return i?(e(t.update({selection:t.selection.addRange(v$1.range(i.from,i.to),false),effects:pt.scrollIntoView(i.to)})),true):false},S=k$1.define({combine(t){return wt(t,{top:false,caseSensitive:false,literal:false,regexp:false,wholeWord:false,createPanel:e=>new X(e),scrollToMatch:e=>pt.scrollIntoView(e)})}});function Ue(t){return t?[S.of(t),Y]:Y}var I=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||ke(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,(n,r)=>r=="n"?`
`: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 U(this):new J(this)}getCursor(e,n=0,r){let i=e.doc?e:mt.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?b(this,i,n,r):y(this,i,n,r)}},T=class{constructor(e){this.spec=e;}};function Ie(t,e,n){return (r,i,s,l)=>{if(n&&!n(r,i,s,l))return false;let c=r>=l&&i<=l+s.length?s.slice(r-l,i-l):e.doc.sliceString(r,i);return t(c,e,r,i)}}function y(t,e,n,r){let i;return t.wholeWord&&(i=Te(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(i=Ie(t.test,e,i)),new v(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:s=>s.toLowerCase(),i)}function Te(t,e){return (n,r,i,s)=>((s>n||s+i.length<r)&&(s=Math.max(0,n-2),i=t.sliceString(s,Math.min(t.length,r+2))),(e(O(i,n-s))!=b$1.Word||e($(i,n-s))!=b$1.Word)&&(e($(i,r-s))!=b$1.Word||e(O(i,r-s))!=b$1.Word))}var J=class extends T{constructor(e){super(e);}nextMatch(e,n,r){let i=y(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,n+this.spec.unquoted.length);i=y(this.spec,e,0,s).nextOverlapping();}return i.done||i.value.from==n&&i.value.to==r?null:i.value}prevMatchInRange(e,n,r){for(let i=r;;){let s=Math.max(n,i-1e4-this.spec.unquoted.length),l=y(this.spec,e,s,i),c=null;for(;!l.nextOverlapping().done;)c=l.value;if(c)return c;if(s==n)return null;i-=1e4;}}prevMatch(e,n,r){let i=this.prevMatchInRange(e,0,n);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=n||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let r=y(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=n)return null;i.push(r.value);}return i}highlight(e,n,r,i){let s=y(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to);}};function Oe(t,e,n){return (r,i,s)=>(!n||n(r,i,s))&&t(s[0],e,r,i)}function b(t,e,n,r){let i;return t.wholeWord&&(i=$e(e.charCategorizer(e.selection.main.head))),t.test&&(i=Oe(t.test,e,i)),new w(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:i},n,r)}function O(t,e){return t.slice(Y$1(t,e,false),e)}function $(t,e){return t.slice(e,Y$1(t,e))}function $e(t){return (e,n,r)=>!r[0].length||(t(O(r.input,r.index))!=b$1.Word||t($(r.input,r.index))!=b$1.Word)&&(t($(r.input,r.index+r[0].length))!=b$1.Word||t(O(r.input,r.index+r[0].length))!=b$1.Word)}var U=class extends T{nextMatch(e,n,r){let i=b(this.spec,e,r,e.doc.length).next();return i.done&&(i=b(this.spec,e,0,n).next()),i.done?null:i.value}prevMatchInRange(e,n,r){for(let i=1;;i++){let s=Math.max(n,r-i*1e4),l=b(this.spec,e,s,r),c=null;for(;!l.next().done;)c=l.value;if(c&&(s==n||c.from>s+10))return c;if(s==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return e.match[0];if(r=="$")return "$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+r.slice(i)}return n})}matchAll(e,n){let r=b(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=n)return null;i.push(r.value);}return i}highlight(e,n,r,i){let s=b(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to);}},L=I$1.define(),ee=I$1.define(),x=V.define({create(t){return new k(B(t).create(),null)},update(t,e){for(let n of e.effects)n.is(L)?t=new k(n.value.create(),t.panel):n.is(ee)&&(t=new k(t.query,n.value?te:null));return t},provide:t=>os.from(t,e=>e.panel)});function Xe(t){let e=t.field(x,false);return e?e.query.spec:B(t)}function Ye(t){var e;return ((e=t.field(x,false))===null||e===void 0?void 0:e.panel)!=null}var k=class{constructor(e,n){this.query=e,this.panel=n;}},_e=A.mark({class:"cm-searchMatch"}),ze=A.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Be=N.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(x));}update(t){let e=t.state.field(x);(e!=t.startState.field(x)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e));}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return A.none;let{view:n}=this,r=new se;for(let i=0,s=n.visibleRanges,l=s.length;i<l;i++){let{from:c,to:o}=s[i];for(;i<l-1&&o>s[i+1].from-500;)o=s[++i].to;t.highlight(n.state,c,o,(h,a)=>{let g=n.state.selection.ranges.some(A=>A.from==h&&A.to==a);r.add(h,a,g?ze:_e);});}return r.finish()}},{decorations:t=>t.decorations});function W(t){return e=>{let n=e.state.field(x,false);return n&&n.query.spec.valid?t(e,n):be(e)}}var _=W((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return false;let i=v$1.single(r.from,r.to),s=t.state.facet(S);return t.dispatch({selection:i,effects:[ne(t,r),s.scrollToMatch(i.main,t)],userEvent:"select.search"}),ye(t),true}),z=W((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,i=e.prevMatch(n,r,r);if(!i)return false;let s=v$1.single(i.from,i.to),l=t.state.facet(S);return t.dispatch({selection:s,effects:[ne(t,i),l.scrollToMatch(s.main,t)],userEvent:"select.search"}),ye(t),true}),Ne=W((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return !n||!n.length?false:(t.dispatch({selection:v$1.create(n.map(r=>v$1.range(r.from,r.to))),userEvent:"select.search.matches"}),true)}),Ve=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return false;let{from:r,to:i}=n.main,s=[],l=0;for(let c=new v(t.doc,t.sliceDoc(r,i));!c.next().done;){if(s.length>1e3)return false;c.value.from==r&&(l=s.length),s.push(v$1.range(c.value.from,c.value.to));}return e(t.update({selection:v$1.create(s,l),userEvent:"select.search.matches"})),true},xe=W((t,{query:e})=>{let{state:n}=t,{from:r,to:i}=n.selection.main;if(n.readOnly)return false;let s=e.nextMatch(n,r,r);if(!s)return false;let l=s,c=[],o,h,a=[];l.from==r&&l.to==i&&(h=n.toText(e.getReplacement(l)),c.push({from:l.from,to:l.to,insert:h}),l=e.nextMatch(n,l.from,l.to),a.push(pt.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let g=t.state.changes(c);return l&&(o=v$1.single(l.from,l.to).map(g),a.push(ne(t,l)),a.push(n.facet(S).scrollToMatch(o.main,t))),t.dispatch({changes:g,selection:o,effects:a,userEvent:"input.replace"}),true}),He=W((t,{query:e})=>{if(t.state.readOnly)return false;let n=e.matchAll(t.state,1e9).map(i=>{let{from:s,to:l}=i;return {from:s,to:l,insert:e.getReplacement(i)}});if(!n.length)return false;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:pt.announce.of(r),userEvent:"input.replace.all"}),true});function te(t){return t.state.facet(S).createPanel(t)}function B(t,e){var n,r,i,s,l;let c=t.selection.main,o=c.empty||c.to>c.from+100?"":t.sliceDoc(c.from,c.to);if(e&&!o)return e;let h=t.facet(S);return new I({search:((n=e?.literal)!==null&&n!==void 0?n:h.literal)?o:o.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:h.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:h.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:h.regexp,wholeWord:(l=e?.wholeWord)!==null&&l!==void 0?l:h.wholeWord})}function Se(t){let e=ul(t,te);return e&&e.dom.querySelector("[main-field]")}function ye(t){let e=Se(t);e&&e==t.root.activeElement&&e.select();}var be=t=>{let e=t.state.field(x,false);if(e&&e.panel){let n=Se(t);if(n&&n!=t.root.activeElement){let r=B(t.state,e.query.spec);r.valid&&t.dispatch({effects:L.of(r)}),n.focus(),n.select();}}else t.dispatch({effects:[ee.of(true),e?L.of(B(t.state,e.query.spec)):I$1.appendConfig.of(Y)]});return true},Ce=t=>{let e=t.state.field(x,false);if(!e||!e.panel)return false;let n=ul(t,te);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:ee.of(false)}),true},Ze=[{key:"Mod-f",run:be,scope:"editor search-panel"},{key:"F3",run:_,shift:z,scope:"editor search-panel",preventDefault:true},{key:"Mod-g",run:_,shift:z,scope:"editor search-panel",preventDefault:true},{key:"Escape",run:Ce,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Ve},{key:"Mod-Alt-g",run:Le},{key:"Mod-d",run:Pe,preventDefault:true}],X=class{constructor(e){this.view=e;let n=this.query=e.state.field(x).query.spec;this.commit=this.commit.bind(this),this.searchField=ft("input",{value:n.search,placeholder:m(e,"Find"),"aria-label":m(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ft("input",{value:n.replace,placeholder:m(e,"Replace"),"aria-label":m(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ft("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=ft("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=ft("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(i,s,l){return ft("button",{class:"cm-button",name:i,onclick:s,type:"button"},l)}this.dom=ft("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>_(e),[m(e,"next")]),r("prev",()=>z(e),[m(e,"previous")]),r("select",()=>Ne(e),[m(e,"all")]),ft("label",null,[this.caseField,m(e,"match case")]),ft("label",null,[this.reField,m(e,"regexp")]),ft("label",null,[this.wordField,m(e,"by word")]),...e.state.readOnly?[]:[ft("br"),this.replaceField,r("replace",()=>xe(e),[m(e,"replace")]),r("replaceAll",()=>He(e),[m(e,"replace all")])],ft("button",{name:"close",onclick:()=>Ce(e),"aria-label":m(e,"close"),type:"button"},["\xD7"])]);}commit(){let e=new I({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:L.of(e)}));}keydown(e){Nl(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?z:_)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),xe(this.view));}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(L)&&!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(S).top}};function m(t,e){return t.state.phrase(e)}var D=30,q=/[\s\.,:;?!]/;function ne(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),i=t.state.doc.lineAt(n).to,s=Math.max(r.from,e-D),l=Math.min(i,n+D),c=t.state.sliceDoc(s,l);if(s!=r.from){for(let o=0;o<D;o++)if(!q.test(c[o+1])&&q.test(c[o])){c=c.slice(o);break}}if(l!=i){for(let o=c.length-1;o>c.length-D;o--)if(!q.test(c[o-1])&&q.test(c[o])){c=c.slice(0,o);break}}return pt.announce.of(`${t.state.phrase("current match")}. ${c} ${t.state.phrase("on line")} ${r.number}.`)}var Ke=pt.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"}}),Y=[x,pt$1.low(Be),Ke];export{w as RegExpCursor,v as SearchCursor,I as SearchQuery,Ce as closeSearchPanel,_ as findNext,z as findPrevious,Xe as getSearchQuery,Le as gotoLine,Je as highlightSelectionMatches,be as openSearchPanel,He as replaceAll,xe as replaceNext,Ue as search,Ze as searchKeymap,Ye as searchPanelOpen,Ne as selectMatches,Pe as selectNextOccurrence,Ve as selectSelectionMatches,L as setSearchQuery};