3 lines
16 KiB
JavaScript
3 lines
16 KiB
JavaScript
![]() |
var g=class{static getCaretCoordinates(e,t,i){var b,d;if(!W)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");let n=(b=i==null?void 0:i.debug)!=null?b:!1;if(n){let p=document.querySelector("#input-textarea-caret-position-mirror-div");p&&((d=p.parentNode)==null||d.removeChild(p))}let r=document.createElement("div");r.id="input-textarea-caret-position-mirror-div",document.body.appendChild(r);let a=r.style,o=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,l=e.nodeName==="INPUT";a.whiteSpace="pre-wrap",l||(a.wordWrap="break-word"),a.position="absolute",n||(a.visibility="hidden"),_.forEach(p=>{if(l&&p==="lineHeight")if(o.boxSizing==="border-box"){let w=parseInt(o.height),B=parseInt(o.paddingTop)+parseInt(o.paddingBottom)+parseInt(o.borderTopWidth)+parseInt(o.borderBottomWidth),D=B+parseInt(o.lineHeight);w>D?a.lineHeight=`${w-B}px`:w===D?a.lineHeight=o.lineHeight:a.lineHeight="0"}else a.lineHeight=o.height;else a[p]=o[p]}),F?e.scrollHeight>parseInt(o.height)&&(a.overflowY="scroll"):a.overflow="hidden",r.textContent=e.value.substring(0,t),l&&(r.textContent=r.textContent.replace(/\s/g,"\xA0"));let u=document.createElement("span");u.textContent=e.value.substring(t)||".",r.appendChild(u);let c={top:u.offsetTop+parseInt(o.borderTopWidth),left:u.offsetLeft+parseInt(o.borderLeftWidth),height:parseInt(o.lineHeight)};return n?u.style.backgroundColor="#aaa":document.body.removeChild(r),c}},_=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],W=typeof window!="undefined",F=W&&window.mozInnerScreenX!=null;var f=class{static initializeBackgroundHandlers(){this.clipboardState===0&&(globalThis.addEventListener("paste",e=>{this.clipboardState===2&&this.resolveClipboard(e.clipboardData.getData("text"))}),this.clipboardState=1)}static async readClipboardText(){if(globalThis.navigator.clipboard.readText)return await globalThis.navigator.clipboard.readText();try{return await new Promise((e,t)=>{this.clipboardState=2,this.resolveClipboard=e,this.rejectClipboard=t})}finally{this.clipboardState=1,this.resolveClipboard=null,this.rejectClipboard=null}}static subscribeKeyEvents(e,t,i){let n=a=>{t(a.code,a.key,this.getModifiers(a))&&this.clipboardState!==2&&a.preventDefault()};e.addEventListener("keydown",n);let r=a=>{i(a.code,a.key,this.getModifiers(a))&&a.preventDefault(),this.rejectClipboard&&this.rejectClipboard()};return e.addEventListener("keyup",r),()=>{e.removeEventListener("keydown",n),e.removeEventListener("keyup",r)}}static subscribeTextEvents(e,t,i,n,r){let a=c=>{i(c)&&c.preventDefault()};e.addEventListener("compositionstart",a);let o=c=>{let b=c.getTargetRanges(),d=-1,p=-1;b.length>0&&(d=b[0].startOffset,p=b[0].endOffset),c.inputType==="insertCompositionText"&&(d=2,p=d+2),t(c,d,p)&&c.preventDefault()};e.addEventListener("beforeinput",o);let l=c=>{n(c)&&c.preventDefault()};e.addEventListener("compositionupdate",l);let u=c=>{r(c)&&c.preventDefault()};return e.addEventListener("compositionend",u),()=>{e.removeEventListener("compositionstart",a),e.removeEventListener("compositionupdate",l),e.removeEventListener("compositionend",u)}}static subscribePointerEvents(e,t,i,n,r,a){let o=d=>{t(d),d.preventDefault()},l=d=>{i(d),d.preventDefault()},u=d=>{n(d),d.preventDefault()},c=d=>{r(d),d.preventDefault()},b=d=>{a(d),d.preventDefault()};return e.addEventListener("pointermove",o),e.addEventListener("pointerdown",l),e.addEventListener("pointerup",u),e.addEventListener("wheel",b),e.addEventListener("pointercancel",c),()=>{e.removeEventListener("pointerover",o),e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",u),e.removeEventListener("pointercancel",c),e.removeEventListener("wheel",b)}}static
|
||
|
//# sourceMappingURL=avalonia.js.map
|