3 lines
22 KiB
JavaScript
Executable File

var S=class{static getCaretCoordinates(e,t,r){var p,x;if(!O)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 o=i.style,s=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,a=e.nodeName==="INPUT";o.whiteSpace="pre-wrap",a||(o.wordWrap="break-word"),o.position="absolute",n||(o.visibility="hidden"),F.forEach(h=>{if(a&&h==="lineHeight")if(s.boxSizing==="border-box"){let T=parseInt(s.height),W=parseInt(s.paddingTop)+parseInt(s.paddingBottom)+parseInt(s.borderTopWidth)+parseInt(s.borderBottomWidth),I=W+parseInt(s.lineHeight);T>I?o.lineHeight=`${T-W}px`:T===I?o.lineHeight=s.lineHeight:o.lineHeight="0"}else o.lineHeight=s.height;else o[h]=s[h]}),R?e.scrollHeight>parseInt(s.height)&&(o.overflowY="scroll"):o.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(s.borderTopWidth),left:d.offsetLeft+parseInt(s.borderLeftWidth),height:parseInt(s.lineHeight)};return n?d.style.backgroundColor="#aaa":document.body.removeChild(i),u}},F=["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"],O=typeof window!="undefined",R=O&&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 G(){let c=await globalThis.getDotnetRuntime(0);if(c!=null)return l.resolvedExports=await c.getAssemblyExports("Avalonia.Browser.dll"),l.resolvedExports}l.exportsPromise=G();var L=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(e){if(e.navigator.clipboard.readText)return await e.navigator.clipboard.readText();try{return await new Promise((t,r)=>{this.clipboardState=2,this.resolveClipboard=t,this.rejectClipboard=r})}finally{this.clipboardState=1,this.resolveClipboard=null,this.rejectClipboard=null}}static async writeClipboardText(e,t){return await e.navigator.clipboard.writeText(t)}static subscribeInputEvents(e,t){let r=this.subscribeKeyEvents(e,t),n=this.subscribePointerEvents(e,t),i=this.subscribeTextEvents(e,t),o=this.subscribeDropEvents(e,t),s=this.subscribeKeyboardGeometryChange(e,t);return()=>{r(),n(),i(),o(),s()}}static subscribeKeyEvents(e,t){let r=i=>{l.InputHelper.OnKeyDown(t,i.code,i.key,this.getModifiers(i)),this.clipboardState!==2&&i.preventDefault()};e.addEventListener("keydown",r);let n=i=>{l.InputHelper.OnKeyUp(t,i.code,i.key,this.getModifiers(i)),i.preventDefault(),this.rejectClipboard&&this.rejectClipboard()};return e.addEventListener("keyup",n),()=>{e.removeEventListener("keydown",r),e.removeEventListener("keyup",n)}}static subscribeTextEvents(e,t){let r=s=>{l.InputHelper.OnCompositionStart(t)};e.addEventListener("compositionstart",r);let n=s=>{let a=s.getTargetRanges(),d=-1,u=-1;a.length>0&&(d=a[0].startOffset,u=a[0].endOffset),s.inputType==="insertCompositionText"&&(d=2,u=d+2),l.InputHelper.OnBeforeInput(t,s.inputType,d,u)};e.addEventListener("beforeinput",n);let i=s=>{l.InputHelper.OnCompositionUpdate(t,s.data)};e.addEventListener("compositionupdate",i);let o=s=>{l.InputHelper.OnCompositionEnd(t,s.data),s.preventDefault()};return e.addEventListener("compositionend",o),()=>{e.removeEventListener("compositionstart",r),e.removeEventListener("compositionupdate",i),e.removeEventListener("compositionend",o)}}static subscribePointerEvents(e,t){let r=a=>{l.InputHelper.OnPointerMove(t,a.pointerType,a.pointerId,a.offsetX,a.offsetY,a.pressure,a.tiltX,a.tiltY,a.twist,this.getModifiers(a),a),a.preventDefault()},n=a=>{l.InputHelper.OnPointerDown(t,a.pointerType,a.pointerId,a.button,a.offsetX,a.offsetY,a.pressure,a.tiltX,a.tiltY,a.twist,this.getModifiers(a)),a.preventDefault()},i=a=>{l.InputHelper.OnPointerUp(t,a.pointerType,a.pointerId,a.button,a.offsetX,a.offsetY,a.pressure,a.tiltX,a.tiltY,a.twist,this.getModifiers(a)),a.preventDefault()},o=a=>{l.InputHelper.OnPointerCancel(t,a.pointerType,a.pointerId,a.offsetX,a.offsetY,a.pressure,a.tiltX,a.tiltY,a.twist,this.getModifiers(a))},s=a=>{l.InputHelper.OnWheel(t,a.offsetX,a.offsetY,a.deltaX,a.deltaY,this.getModifiers(a)),a.preventDefault()};return e.addEventListener("pointermove",r),e.addEventListener("pointerdown",n),e.addEventListener("pointerup",i),e.addEventListener("wheel",s),e.addEventListener("pointercancel",o),()=>{e.removeEventListener("pointerover",r),e.removeEventListener("pointerdown",n),e.removeEventListener("pointerup",i),e.removeEventListener("pointercancel",o),e.removeEventListener("wheel",s)}}static subscribeDropEvents(e,t){let r=i=>{let o=i.dataTransfer;l.InputHelper.OnDragDrop(t,i.type,i.offsetX,i.offsetY,this.getModifiers(i),o==null?void 0:o.effectAllowed,o)},n=i=>{i.preventDefault(),r(i)};return e.addEventListener("dragover",n),e.addEventListener("dragenter",r),e.addEventListener("dragleave",r),e.addEventListener("drop",n),()=>{e.removeEventListener("dragover",n),e.removeEventListener("dragenter",r),e.removeEventListener("dragleave",r),e.removeEventListener("drop",n)}}static getCoalescedEvents(e){return e.getCoalescedEvents().flatMap(t=>[t.offsetX,t.offsetY,t.pressure,t.tiltX,t.tiltY,t.twist])}static subscribeKeyboardGeometryChange(e,t){if("virtualKeyboard"in navigator){let r=n=>{let i=e.getBoundingClientRect(),o=n.target.boundingRect;l.InputHelper.OnKeyboardGeometryChange(t,o.x-i.x,o.y-i.y,o.width,o.height)};return navigator.virtualKeyboard.addEventListener("geometrychange",r),()=>{navigator.virtualKeyboard.removeEventListener("geometrychange",r)}}return()=>{}}static clearInput(e){e.value=""}static focusElement(e){e.focus()}static setCursor(e,t){t==="default"?e.style.removeProperty("cursor"):e.style.cursor=t}static setBounds(e,t,r,n,i,o){e.style.left=t.toFixed(0)+"px",e.style.top=r.toFixed(0)+"px";let{left:s,top:a}=S.getCaretCoordinates(e,o);e.style.left=(t-s).toFixed(0)+"px",e.style.top=(r-a).toFixed(0)+"px"}static hide(e){e.style.display="none"}static show(e){e.style.display="block"}static setSurroundingText(e,t,r,n){!e||(e.value=t,e.setSelectionRange(r,n),e.style.width="20px",e.style.width=`${e.scrollWidth}px`)}static getModifiers(e){let t=0;e.ctrlKey&&(t|=2),e.altKey&&(t|=1),e.shiftKey&&(t|=4),e.metaKey&&(t|=8);let r=e.buttons;return r&&(r&1&&(t|=16),r&2&&(t|=e.type==="pen"?2048:32),r&4&&(t|=64),r&8&&(t|=128),r&16&&(t|=256),r&32&&(t|=1024)),t}static setPointerCapture(e,t){e.setPointerCapture(t)}static releasePointerCapture(e,t){e.hasPointerCapture(t)&&e.releasePointerCapture(t)}};L.clipboardState=0;var v=class{static getGlobalThis(){return globalThis}static addClass(e,t){e.classList.add(t)}static getFirstElementById(e,t){return(t instanceof Window?t.document:t.ownerDocument).getElementById(e)}static getFirstElementByClassName(e,t){let n=(t instanceof Window?t.document:t).getElementsByClassName(e);return n?n[0]:null}static createAvaloniaCanvas(e){var n;let t=(n=e.getAttribute("data-containerId"))!=null?n:"0000",r=document.createElement("canvas");return r.id=`canvas${t}`,r.classList.add("avalonia-canvas"),r.style.width="100%",r.style.height="100%",r.style.position="absolute",r}static attachCanvas(e,t){e.prepend(t)}static detachCanvas(e,t){e.removeChild(t)}static createAvaloniaHost(e){let t=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(2,10);e.classList.add("avalonia-container"),e.tabIndex=0,e.setAttribute("data-containerId",t),e.oncontextmenu=function(){return!1},e.style.overflow="hidden",e.style.touchAction="none";let r=document.createElement("div");r.id=`nativeHost${t}`,r.classList.add("avalonia-native-host"),r.style.left="0px",r.style.top="0px",r.style.width="100%",r.style.height="100%",r.style.position="absolute";let n=document.createElement("input");return n.id=`inputElement${t}`,n.classList.add("avalonia-input-element"),n.autocapitalize="none",n.type="text",n.spellcheck=!1,n.style.padding="0",n.style.margin="0",n.style.borderWidth="0",n.style.position="absolute",n.style.overflow="hidden",n.style.borderStyle="hidden",n.style.outline="none",n.style.background="transparent",n.style.color="transparent",n.style.display="none",n.style.height="20px",n.style.zIndex="-1",n.onpaste=function(){return!1},n.oncopy=function(){return!1},n.oncut=function(){return!1},e.prepend(n),e.prepend(r),{host:e,nativeHost:r,inputElement:n}}static isFullscreen(e){return e.document.fullscreenElement!=null}static async setFullscreen(e,t){t?await e.document.documentElement.requestFullscreen():await e.document.exitFullscreen()}static initGlobalDomEvents(e){if(e.document.documentElement.style.setProperty("--av-sat","env(safe-area-inset-top)"),e.document.documentElement.style.setProperty("--av-sar","env(safe-area-inset-right)"),e.document.documentElement.style.setProperty("--av-sab","env(safe-area-inset-bottom)"),e.document.documentElement.style.setProperty("--av-sal","env(safe-area-inset-left)"),e.matchMedia!==void 0){let t=e.matchMedia("(prefers-color-scheme: dark)"),r=e.matchMedia("(prefers-contrast: more)");t.addEventListener("change",n=>{l.DomHelper.DarkModeChanged(n.matches,r.matches)}),r.addEventListener("change",n=>{l.DomHelper.DarkModeChanged(t.matches,n.matches)})}e.document.addEventListener("visibilitychange",()=>{l.DomHelper.DocumentVisibilityChanged(e.document.visibilityState)}),e.document.visibilityState==="visible"&&e.setTimeout(()=>{l.DomHelper.DocumentVisibilityChanged(e.document.visibilityState)},10)}static getSafeAreaPadding(e){let t=parseFloat(getComputedStyle(e.document.documentElement).getPropertyValue("--av-sat")),r=parseFloat(getComputedStyle(e.document.documentElement).getPropertyValue("--av-sab")),n=parseFloat(getComputedStyle(e.document.documentElement).getPropertyValue("--av-sal")),i=parseFloat(getComputedStyle(e.document.documentElement).getPropertyValue("--av-sar"));return[n,t,r,i]}static getDarkMode(e){if(e.matchMedia===void 0)return[0,0];let t=e.matchMedia("(prefers-color-scheme: dark)"),r=e.matchMedia("(prefers-contrast: more)");return[t.matches?1:0,r.matches?1:0]}};var M=class{static hasNativeFilePicker(){return"showSaveFilePicker"in globalThis}static isMobile(){var i;let e=(i=globalThis.navigator)==null?void 0:i.userAgentData;if(e)return e.mobile;let t=navigator.userAgent,r=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,n=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i;return r.test(t)||n.test(t.substr(0,4))}static isTv(){return navigator.userAgent.includes("SmartTV")}};var N=typeof SharedArrayBuffer!="undefined";function U(c){return N&&c[Symbol.toStringTag]==="SharedArrayBuffer"}var P=class{static async seek(e,t){return await e.seek(t)}static async truncate(e,t){return await e.truncate(t)}static async close(e){return await e.close()}static async write(e,t,r,n){var s;let i=(s=globalThis.getDotnetRuntime(0))==null?void 0:s.localHeapViewU8(),o;if(t._pointer>0&&t._length>0&&i&&!U(i.buffer))o=new Uint8Array(i.buffer,t._pointer+r,n);else{let a=new Uint8Array(n);t.copyTo(a,r),o=t}return await e.write(o)}static byteLength(e){return e.size}static async sliceArrayBuffer(e,t,r){let n=await e.slice(t,t+r).arrayBuffer();return new Uint8Array(n)}static toMemoryView(e){return e}};var k=class{},B=class{static createDefaultChild(e){return document.createElement("div")}static createAttachment(){return new k}static initializeWithChildHandle(e,t){e._child=t,e._child.style.position="absolute"}static attachTo(e,t){e._host&&e._child&&e._host.removeChild(e._child),e._host=t,e._host&&e._child&&e._host.appendChild(e._child)}static showInBounds(e,t,r,n,i){e._child&&(e._child.style.top=`${r}px`,e._child.style.left=`${t}px`,e._child.style.width=`${n}px`,e._child.style.height=`${i}px`,e._child.style.display="block")}static hideWithSize(e,t,r){e._child&&(e._child.style.width=`${t}px`,e._child.style.height=`${r}px`,e._child.style.display="none")}static releaseChild(e){e._child&&(e._child=void 0)}};var D=class{static addBackHandler(e){history.pushState(null,"",window.location.href),window.onpopstate=()=>{e()?history.forward():history.back()}}static openUri(e,t){return!!window.open(e,t)}};var z=class{static itemsArrayAt(e,t){let r=e[t];if(!r)return[];let n=[];for(let i=0;i<r.length;i++)n[i]=r[i];return n}static itemAt(e,t){return e[t]}static callMethod(e,t){let r=Array.prototype.slice.call(arguments,2);return e[t].apply(e,r)}};var g=class{static runAnimationFrames(){function e(t){var r;(r=l.TimerHelper)==null||r.JsExportOnAnimationFrame(),self.requestAnimationFrame(e)}self.requestAnimationFrame(e)}static onTimeout(){var e;(e=l.TimerHelper)==null||e.JsExportOnTimeout()}static onInterval(){var e;(e=l.TimerHelper)==null||e.JsExportOnInterval()}static setTimeout(e){return setTimeout(g.onTimeout,e)}static setInterval(e){return setInterval(g.onInterval,e)}};var H=class{static observeSize(e,t){return this.resizeObserver||(this.resizeObserver=new ResizeObserver(this.onResize),this.resizeObserver.callbacks=new Map),this.resizeObserver.callbacks.set(e,t),this.resizeObserver.observe(e,{box:"content-box"}),()=>{var r,n;(r=this.resizeObserver)==null||r.callbacks.delete(e),(n=this.resizeObserver)==null||n.unobserve(e)}}static onResize(e,t){for(let r of e){let n=t.callbacks.get(r.target);if(!n)continue;let i=window.devicePixelRatio,o,s,a=i;r.devicePixelContentBoxSize?(o=r.devicePixelContentBoxSize[0].inlineSize,s=r.devicePixelContentBoxSize[0].blockSize,a=1):r.contentBoxSize?r.contentBoxSize[0]?(o=r.contentBoxSize[0].inlineSize,s=r.contentBoxSize[0].blockSize):(o=r.contentBoxSize.inlineSize,s=r.contentBoxSize.blockSize):(o=r.contentRect.width,s=r.contentRect.height);let d=Math.round(o*a),u=Math.round(s*a);n(d,u,i)}}};var y=class{constructor(e,t){this.canvas=e;this.renderTargetType=t}static setSize(e,t,r){e.canvas.width=t,e.canvas.height=r}};function X(){var t,r,n,i;let c=globalThis,e=(r=c.Module)!=null?r:(t=c.getDotnetRuntime(0))==null?void 0:t.Module;return(i=(n=e==null?void 0:e.GL)!=null?n:c.AvaloniaGL)!=null?i:c.SkiaSharpGL}var b=class extends y{constructor(t,r){var s,a;if(b._gl==null&&(b._gl=X()),!b._gl)throw new Error("Module.GL object wasn't initialized, WebGL can't be used.");let n={alpha:!0,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,failIfMajorPerformanceCaveat:!0,majorVersion:r===2?1:2,minorVersion:0,enableExtensionsByDefault:1,explicitSwapControl:0},i=r===2?t.getContext("webgl",n):t.getContext("webgl2",n);if(!i)throw new Error("HTMLCanvasElement.getContext returned null.");let o=b._gl.registerContext(i,n);i.gl_handle=o;super(t,"webgl");this.canvas=t;this.contextHandle=o,this.fboId=(a=(s=i.getParameter(i.FRAMEBUFFER_BINDING))==null?void 0:s.id)!=null?a:0,this.stencil=i.getParameter(i.STENCIL_BITS),this.sample=i.getParameter(i.SAMPLES),this.depth=i.getParameter(i.DEPTH_BITS),this.attrs=n}static getCurrentContext(){var t,r,n;return(n=(r=(t=b._gl)==null?void 0:t.currentContext)==null?void 0:r.handle)!=null?n:0}static makeContextCurrent(t){if(b._gl==null)return!1;let r=b._gl.makeContextCurrent(t);return t===0||r}},w=b;w._gl=null;var E=class extends y{constructor(t){let r=t.getContext("2d",{alpha:!0});if(!r)throw new Error("HTMLCanvasElement.getContext(2d) returned null.");super(t,"software");this.context=r,this.runtime=globalThis.getDotnetRuntime(0)}putPixelData(t,r,n,i){var d;let o=(d=this.runtime)==null?void 0:d.localHeapViewU8(),s;if(o!=null&&o.buffer){if(s=new Uint8ClampedArray(o.buffer,t,r),this.canvas instanceof OffscreenCanvas){let u=new ArrayBuffer(s.byteLength),p=new Uint8ClampedArray(u);p.set(s),s=p}}else throw new Error("Unable to access .NET memory");let a=new ImageData(s,n,i);this.context.putImageData(a,0,0)}static staticPutPixelData(t,r,n,i,o){t.putPixelData(r,n,i,o)}};var m=class{static create(e,t,r){var i,o;let n=m.nextId++;if(e===0)m.registry[n]={canvas:t},m.targets[n]=m.createRenderTarget(t,r);else{let s=globalThis,a=(o=s.Module)!=null?o:(i=s.getDotnetRuntime(0))==null?void 0:i.Module,d=a==null?void 0:a.PThread;if(d==null)throw new Error("Unable to access emscripten PThread api");let u=d.pthreads[e];if(u==null)throw new Error(`Unable get pthread with id ${e}`);let p;if(u.postMessage!=null?p=u:p=u.worker,p==null)throw new Error(`Unable get Worker for pthread ${e}`);let x=t.transferControlToOffscreen();p.postMessage({avaloniaCmd:"registerCanvas",canvas:x,modes:r,id:n},[x]),m.registry[n]={canvas:t,worker:p}}return n}static initializeWorker(){let e=self.onmessage;self.onmessage=t=>{let r=t;r.data.avaloniaCmd==="registerCanvas"?m.targets[r.data.id]=m.createRenderTarget(r.data.canvas,r.data.modes):r.data.avaloniaCmd==="unregisterCanvas"?delete m.targets[r.data.id]:e!=null&&e.call(self,t)}}static getRenderTarget(e){return m.targets[e]}static createRenderTarget(e,t){for(let r of t)try{return r===1?new E(e):new w(e,r)}catch(n){let i="";n instanceof Error&&(i=": "+n.message),console.error(`Failed to create render target for mode ${r} ${i}`)}return new E(e)}},f=m;f.targets={},f.registry={},f.nextId=1;var C=class{constructor(e,t,r,n){this.canvas=e;this.targetId=f.create(n,e,t),H.observeSize(e,(i,o,s)=>{var a;this.sizeParams=[i,o,s],(a=l.CanvasHelper)==null||a.OnSizeChanged(r,i,o,s)})}get width(){return this.sizeParams?this.sizeParams[0]:1}get height(){return this.sizeParams?this.sizeParams[1]:1}get scaling(){return this.sizeParams?this.sizeParams[2]:1}destroy(){}static create(e,t,r,n){let i=v.createAvaloniaCanvas(e);v.attachCanvas(e,i);try{return new C(i,t,r,n)}catch(o){throw v.detachCanvas(e,i),o}}static destroy(e){e.destroy()}};var A=class{static raiseOnChanged(){l.DomHelper.ScreensChanged()}static async checkPermissions(e){let{state:t}=await e.navigator.permissions.query({name:"window-management"});t==="granted"&&await this.requestDetailedScreens(e)}static subscribeOnChanged(e){if(this.detailedScreens){e.screen.removeEventListener("change",this.raiseOnChanged),this.detailedScreens.addEventListener("screenschange",this.raiseOnChanged);for(let t of this.detailedScreens.screens)t.addEventListener("change",this.raiseOnChanged)}else e.screen.addEventListener("change",this.raiseOnChanged)}static getAllScreens(e){return this.detailedScreens?this.detailedScreens.screens:[Object.assign(e.screen,{window:e})]}static async requestDetailedScreens(e){return this.detailedScreens?!0:"getScreenDetails"in e&&(this.detailedScreens=await e.getScreenDetails(),this.detailedScreens)?(this.subscribeOnChanged(e),e.setTimeout(this.raiseOnChanged,1),!0):!1}static getDisplayName(e){return e==null?void 0:e.label}static getScaling(e){return"devicePixelRatio"in e?e.devicePixelRatio:"window"in e?e.window.devicePixelRatio:1}static getBounds(e){let t=e.width,r=e.height;return"left"in e&&"top"in e?[e.left,e.top,t,r]:"availLeft"in e&&"availTop"in e?[e.availLeft,e.availTop,t,r]:[0,0,t,r]}static getWorkingArea(e){let t=e.availWidth,r=e.availHeight;return"availLeft"in e&&"availTop"in e?[e.availLeft,e.availTop,t,r]:[0,0,t,r]}static isCurrent(e){return this.detailedScreens?this.detailedScreens.currentScreen===e:!0}static isPrimary(e){return"isPrimary"in e?e.isPrimary:!0}static getCurrentOrientation(e){switch(e.orientation.type){case"landscape-primary":return 1;case"landscape-secondary":return 4;case"portrait-primary":return 2;case"portrait-secondary":return 8}}};async function Fe(c,e){"serviceWorker"in navigator&&await globalThis.navigator.serviceWorker.register(c,e?{scope:e}:void 0)}export{v as AvaloniaDOM,M as Caniuse,C as CanvasSurface,z as GeneralHelpers,L as InputHelper,B as NativeControlHost,D as NavigationHelper,A as ScreenHelper,E as SoftwareRenderTarget,P as StreamHelper,g as TimerHelper,w as WebGlRenderTarget,y as WebRenderTarget,f as WebRenderTargetRegistry,Fe as registerServiceWorker};
//# sourceMappingURL=avalonia.js.map