RevelaOS/assets/utils-wvIv1qJ9-6ba7c9bb.js
2024-03-30 12:02:26 +00:00

6 lines
1.6 KiB
JavaScript

import{o as x,f as m,r as u,s as p}from"./Editor-d71c30b8.js";const S=e=>e.replace(/[$+?|.^*(){}[\]\\]/g,"\\$&"),$=(e,t)=>e.slice(e.lastIndexOf(`
`,t-1)+1,t),E=(e,t,l=t)=>[e.slice(t=e.lastIndexOf(`
`,t-1)+1,l=(l=e.indexOf(`
`,l))+1?l:e.length).split(`
`),t,l],h=(e,t,l=0,o=l,s=e.getSelection()[0])=>{const d=e.value,n=d.slice(s).search(/\n|$/)+1,g=e.wrapper.children[x(d,0,s)],a=g.querySelectorAll(t),r=new Range;r.setEndAfter(g);for(let i=a.length,c,f;i;)if(r.setStartAfter(c=a[--i]),f=r.toString().length,f<=n+o&&f+c.textContent.length>=n-l)return c;return null},C=(e,t)=>h(e,'[class*="language-"]',0,0,t)?.className.match(/language-(\w+)/)[1]||e.options.language,k=(e,t,l,o,s,d)=>{const{textarea:n,getSelection:g,value:a,focused:r}=e;if(e.options.readOnly)return;r||n.focus();const i=s!=null?m([s,d??s,g()[2]]):0;if(l!=null&&n.setSelectionRange(l,o??l),u||n.dispatchEvent(new InputEvent("beforeinput",{data:t})),p||u){const c=p&&!a[n.selectionEnd]&&/^$|\n$/.test(a)&&/\n$/.test(t);c&&(n.selectionEnd--,t=t.slice(0,-1)),u&&(t+=`
`),document.execCommand(t?"insertHTML":"delete",!1,t.replace(/&/g,"&amp;").replace(/</g,"&lt;")),c&&n.selectionStart++}else document.execCommand(t?"insertText":"delete",!1,t);i&&(n.setSelectionRange(...i),m())},v=e=>e.altKey+e.ctrlKey*2+e.metaKey*4+e.shiftKey*8,w=(e,t,l=0)=>{const o=e.scrollContainer.style,s=document.documentElement.style;o.scrollPaddingBlock=s.scrollPaddingBlock=`${l}px ${p&&!t.textContent?t.offsetHeight:0}px`,t.scrollIntoView({block:"nearest"}),o.scrollPaddingBlock=s.scrollPaddingBlock=""};export{$,k as B,v as C,S as E,E as S,w as b,C as v,h as y};