mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-04-04 08:06:36 +08:00
3 lines
28 KiB
JavaScript
3 lines
28 KiB
JavaScript
|
|
var T=class{static getCaretCoordinates(e,t,r){var p,x;if(!G)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");let n=(p=r==null?void 0:r.debug)!=null?p:!1;if(n){let h=document.querySelector("#input-textarea-caret-position-mirror-div");h&&((x=h.parentNode)==null||x.removeChild(h))}let i=document.createElement("div");i.id="input-textarea-caret-position-mirror-div",document.body.appendChild(i);let s=i.style,o=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,a=e.nodeName==="INPUT";s.whiteSpace="pre-wrap",a||(s.wordWrap="break-word"),s.position="absolute",n||(s.visibility="hidden"),K.forEach(h=>{if(a&&h==="lineHeight")if(o.boxSizing==="border-box"){let L=parseInt(o.height),N=parseInt(o.paddingTop)+parseInt(o.paddingBottom)+parseInt(o.borderTopWidth)+parseInt(o.borderBottomWidth),U=N+parseInt(o.lineHeight);L>U?s.lineHeight=`${L-N}px`:L===U?s.lineHeight=o.lineHeight:s.lineHeight="0"}else s.lineHeight=o.height;else s[h]=o[h]}),V?e.scrollHeight>parseInt(o.height)&&(s.overflowY="scroll"):s.overflow="hidden",i.textContent=e.value.substring(0,t),a&&(i.textContent=i.textContent.replace(/\s/g,"\xA0"));let d=document.createElement("span");d.textContent=e.value.substring(t)||".",i.appendChild(d);let u={top:d.offsetTop+parseInt(o.borderTopWidth),left:d.offsetLeft+parseInt(o.borderLeftWidth),height:parseInt(o.lineHeight)};return n?d.style.backgroundColor="#aaa":document.body.removeChild(i),u}},K=["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"],G=typeof window!="undefined",V=G&&window.mozInnerScreenX!=null;var l=class{static get InputHelper(){var e;return(e=this.resolvedExports)==null?void 0:e.Avalonia.Browser.Interop.InputHelper}static get DomHelper(){var e;return(e=this.resolvedExports)==null?void 0:e.Avalonia.Browser.Interop.DomHelper}static get TimerHelper(){var e;return(e=this.resolvedExports)==null?void 0:e.Avalonia.Browser.Interop.TimerHelper}static get CanvasHelper(){var e;return(e=this.resolvedExports)==null?void 0:e.Avalonia.Browser.Interop.CanvasHelper}};async function j(){let c=await globalThis.getDotnetRuntime(0);if(c!=null)return l.resolvedExports=await c.getAssemblyExports("Avalonia.Browser.dll"),l.resolvedExports}l.exportsPromise=j();var D=class{constructor(e){this.database=e}openStore(e,t){return this.database.transaction(e,t).objectStore(e)}async put(e,t,r){let n=this.openStore(e,"readwrite");return await new Promise((i,s)=>{let o=n.put(t,r);o.onsuccess=()=>{i(o.result)},o.onerror=()=>{s(o.error)}})}get(e,t){let r=this.openStore(e,"readonly");return new Promise((n,i)=>{let s=r.get(t);s.onsuccess=()=>{n(s.result)},s.onerror=()=>{i(s.error)}})}async delete(e,t){let r=this.openStore(e,"readwrite");return await new Promise((n,i)=>{let s=r.delete(t);s.onsuccess=()=>{n()},s.onerror=()=>{i(s.error)}})}close(){this.database.close()}},B=class{constructor(e,t){this.databaseName=e;this.objectStores=t}async connect(){let e=window.indexedDB.open(this.databaseName,1);return e.onupgradeneeded=t=>{let r=t.target.result;this.objectStores.forEach(n=>{r.createObjectStore(n)})},await new Promise((t,r)=>{e.onsuccess=n=>{t(new D(n.target.result))},e.onerror=n=>{r(n.target.error)}})}},P="fileBookmarks",M=new B("AvaloniaDb",[P]);var b=class{constructor(e,t,r,n){this.handle=e;this.file=t;this.bookmarkId=r;this.wellKnownType=n}get name(){var e;return this.handle?this.handle.name:this.file?this.file.name:(e=this.wellKnownType)!=null?e:""}get kind(){return this.handle?this.handle.kind:this.file?"file":"directory"}static createFromHandle(e,t){return new b(e,void 0,t,void 0)}static createFromFile(e){return new b(void 0,e,void 0,void 0)}static createWellKnownDirectory(e){return new b(void 0,void 0,void 0,e)}static
|
||
|
|
//# sourceMappingURL=avalonia.js.map
|