ouider 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dom/dom.cjs +1 -1
- package/dist/dom/dom.cjs.map +1 -1
- package/dist/dom/dom.js +1 -1
- package/dist/dom/dom.js.map +1 -1
- package/dist/index.cjs +9 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -5
package/dist/dom/dom.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var A=Object.defineProperty,D=Object.defineProperties;var M=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var C=(t,e,n)=>e in t?A(t,e,{enumerable:true,configurable:true,writable:true,value:n}):t[e]=n,T=(t,e)=>{for(var n in e||(e={}))L.call(e,n)&&C(t,n,e[n]);if(O)for(var n of O(e))X.call(e,n)&&C(t,n,e[n]);return t},S=(t,e)=>D(t,M(e)),i=(t,e)=>A(t,"name",{value:e,configurable:true});function Y(t){let e="";for(let n=0;n<t.length;n++){let r=t.charCodeAt(n).toString(16);r=r.length===1?"0"+r:r,e+=r;}return e}i(Y,"stringToHex");var c=new Map,m=new WeakMap,U=0,h=new Map;function F(t,e,n){let o=n?c.get(n):document;if(!d(o))return null;let r=o.querySelector(t);return r?_(r,e,1):null}i(F,"query");function W(t,e,n){let o=n?c.get(n):document;return d(o)?[...o.querySelectorAll(t)].map(a=>_(a,e,1)).filter(a=>a!==null):[]}i(W,"queryAll");function H(t){let e=c.get(t);if(!d(e))return [];let n=[],o=document.createTreeWalker(e),r=o.firstChild();for(;r;)r.parentNode===e&&n.push(r),r=o.nextSibling();return n.map(s=>_(s,["attributes"],0)).filter(s=>s!==null)}i(H,"childNodes");function R(t){switch(t.nodeType){case Node.TEXT_NODE:return "Text";case Node.ELEMENT_NODE:return "Element";case Node.ATTRIBUTE_NODE:return "Attribute";case Node.COMMENT_NODE:return "Comment";default:return "Unknown"}}i(R,"nodeType");function N(t){return [...t.attributes].map(e=>({name:e.name,value:e.value}))}i(N,"elementAttributes");function _(t,e,n=1){if(!t)return null;let o={uid:w(t),tag:d(t)?t.tagName.toLocaleLowerCase():"",type:R(t),isArray:false,objType:typeof t},r=e?new Set([...e,"attributes","classes"]):new Set(["attributes","classes"]);return d(t)&&r.forEach(s=>{switch(s){case "attributes":o.attributes=N(t);break;case "children":n>0&&(o.children=[...t.children].map(a=>_(a,e,n-1)).filter(a=>a!==null));break;case "classes":o.classes=[...t.classList];break;case "style":o.style=t==null?void 0:t.style.cssText;break}}),o.type==="Text"&&(o.textContent=t.textContent),o}i(_,"htmlElementToONode");function V(t,e){let s=new Set(["svg","path","circle","rect","line","polyline","polygon","ellipse","g","defs","marker","clipPath","mask","text","tspan"]).has(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);for(let a in e)s.setAttribute(a,e[a]);return _(s)}i(V,"createElement");function q(t){let e=document.createComment(t);return _(e)}i(q,"createComment");function w(t,e){if(m.has(t))return m.get(t);let n=e!=null?e:Y(`${U++}`.padStart(16,"0"));c.set(n,t);try{m.set(t,n);}catch(o){console.error(o);}return n}i(w,"putInRegistry");function B(t){if(typeof t=="string"){let e=c.get(t);e instanceof Node?I(e):c.delete(t);return}I(t);}i(B,"removeFromRegistry");function I(t){let e=[t];for(;e.length;){let n=e.pop();K(n);let o=m.get(n);o&&(c.delete(o),m.delete(n));let r=n.childNodes;for(let s=0;s<r.length;s++)e.push(r[s]);}}i(I,"cleanupRegistryForNode");function K(t){for(let[e,n]of h){let o=n.target;(o===t||o instanceof Node&&t.contains(o))&&(o.removeEventListener(n.type,n.handler),h.delete(e));}}i(K,"cleanupDomListenersForNode");function G(t,e){let n=c.get(t),o=c.get(e);!n||!o||n.appendChild(o);}i(G,"appendChild");function d(t){return t===document||(t==null?void 0:t.nodeType)===Node.ELEMENT_NODE}i(d,"isElementNode");function J(t,e){let n=c.get(t);d(n)&&(n.innerText=e);}i(J,"setInnerText");function $(t,e){let n=c.get(t);!n||d(n)||(n.textContent=e);}i($,"setContentText");function Z(t){let e=c.get(t);return !e||d(e)?"":e.textContent}i(Z,"getContentText");function z(t,...e){let n=c.get(t);d(n)&&n.classList.remove(...e);}i(z,"removeClass");function Q(t,...e){let n=c.get(t);d(n)&&n.classList.add(...e);}i(Q,"addClass");function tt(t){let e=c.get(t);return d(e)?e.innerText:""}i(tt,"getInnerText");function et(t,e,n){let o=c.get(t);d(o)&&o.style.setProperty(e,n);}i(et,"setStyle");function nt(t,e,n){let o=c.get(t);if(d(o))return o.setAttribute(e,n),N(o)}i(nt,"setAttribute");function ot(t,e){let n=c.get(t);return d(n)?(n.removeAttribute(e),N(n)):[]}i(ot,"removeAttribute");function it(t,e){var o;let n=c.get(t);return d(n)&&(o=n.getAttribute(e))!=null?o:""}i(it,"getAttribte");function rt(t){let e=c.get(t);return d(e)?e.getAttributeNames():[]}i(rt,"getAttribteNames");function st(t,e){let n=c.get(t);return n?_(n.cloneNode(e)):null}i(st,"cloneNode");function ct(t){let e=c.get(t);e==null||e.remove();}i(ct,"removeNode");function at(t,e){let n=c.get(t),o=c.get(e);o&&(n==null||n.removeChild(o));}i(at,"removeChild");function ut(t,e){let n=c.get(t),o=c.get(e);n.replaceWith(o);}i(ut,"replaceWith");function dt(t,e){let n=c.get(t),o=c.get(e);!o||!n||n.after(o);}i(dt,"insertAfter");function lt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!s||!r||o.insertBefore(s,r);}i(lt,"insertBefore");function ft(t,e){let n=c.get(t);d(n)&&(n.value=e);}i(ft,"setInputValue");function _t(t){let e=c.get(t);return d(e)?e.value:""}i(_t,"inputValue");function wt(t,e){e&&(e.preventDefault&&t.preventDefault(),e.stopImmediatePropagation&&"stopImmediatePropagation"in t?t.stopImmediatePropagation():e.stopPropagation&&t.stopPropagation());}i(wt,"applyControl");function pt(t,e){let n=t.offsetX,o=t.offsetY;if((n==null||o==null)&&e&&e.getBoundingClientRect){let s=e.getBoundingClientRect();n=t.clientX-s.left,o=t.clientY-s.top;}return {offsetX:n,offsetY:o}}i(pt,"computeOffsets");function gt(t){var a,u,l,p;let e={type:t.type,timeStamp:t.timeStamp,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed},n={altKey:(a=t.altKey)!=null?a:false,ctrlKey:(u=t.ctrlKey)!=null?u:false,metaKey:(l=t.metaKey)!=null?l:false,shiftKey:(p=t.shiftKey)!=null?p:false};if(t instanceof MouseEvent){let{offsetX:g,offsetY:f}=pt(t,t.target);Object.assign(e,{x:t.x,y:t.y,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY,screenX:t.screenX,screenY:t.screenY,movementX:t.movementX,movementY:t.movementY,button:t.button,buttons:t.buttons,offsetX:g,offsetY:f});}if(typeof PointerEvent!="undefined"&&t instanceof PointerEvent&&Object.assign(e,{pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tangentialPressure:t.tangentialPressure,tiltX:t.tiltX,tiltY:t.tiltY,twist:t.twist,pointerType:t.pointerType,isPrimary:t.isPrimary}),typeof WheelEvent!="undefined"&&t instanceof WheelEvent&&Object.assign(e,{deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode}),t instanceof KeyboardEvent&&Object.assign(e,{key:t.key,code:t.code,repeat:t.repeat,location:t.location,isComposing:t.isComposing}),t instanceof InputEvent&&Object.assign(e,{data:t.data,inputType:t.inputType,isComposing:t.isComposing}),t instanceof FocusEvent&&Object.assign(e,{}),typeof TouchEvent!="undefined"&&t instanceof TouchEvent){let g=i(f=>({identifier:f.identifier,clientX:f.clientX,clientY:f.clientY,pageX:f.pageX,pageY:f.pageY,screenX:f.screenX,screenY:f.screenY,radiusX:f.radiusX,radiusY:f.radiusY,rotationAngle:f.rotationAngle,force:f.force}),"mapTouch");Object.assign(e,{touches:Array.from(t.touches).map(g),changedTouches:Array.from(t.changedTouches).map(g),targetTouches:Array.from(t.targetTouches).map(g)});}typeof PopStateEvent!="undefined"&&t instanceof PopStateEvent&&Object.assign(e,{state:t.state});let o=t.target instanceof Node?_(t.target):null,r=t.currentTarget instanceof Node?_(t.currentTarget):null,s=t.relatedTarget instanceof Node?_(t.relatedTarget):null;return S(T(T({},e),n),{target:o,currentTarget:r,relatedTarget:s,__eventClass__:t.constructor?t.constructor.name:"Event"})}i(gt,"serializeEvent");function mt(t,e,n,o,r){let s=c.get(t);if(!s||typeof s.addEventListener!="function")return;let a=i(u=>{let l=gt(u);r&&wt(u,{preventDefault:r.alwaysPreventDefault,stopImmediatePropagation:r.alwaysStopImmediatePropagation,stopPropagation:r.alwaysStopPropagation}),E(e,n,l);},"handler");h.set(e,{target:s,type:n,handler:a,options:o}),s.addEventListener(n,a,o);}i(mt,"attachEventListener");function ht(t,e){let n=h.get(e);n&&(h.delete(e),n.target.removeEventListener(n.type,n.handler));}i(ht,"dettachEventListener");function yt(t){return requestAnimationFrame(e=>{E(t,"requestAnimationFrame",e);})}i(yt,"customRequestAnimationFrame");function bt(t){cancelAnimationFrame(t);}i(bt,"customCancelAnimationFrame");function vt(t){let e=c.get(t);try{document.head.appendChild(e);}catch(n){}}i(vt,"appendComponentStyles");function Et(t,e=true){let n=document.createElement("style");return n.innerHTML=t,e&&document.head.appendChild(n),_(n)}i(Et,"createComponentStyles");function Tt(t){let e=c.get(t);try{document.head.removeChild(e);}catch(n){}}i(Tt,"rejectComponentStyles");function Nt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!r||!s||o.replaceChild(r,s);}i(Nt,"replaceChildNode");function Ot(t){let e=c.get(t);return e?_(e.parentNode):null}i(Ot,"parentNode");function Ct(t){let e=c.get(t);return e?_(e.nextSibling):null}i(Ct,"nextSibling");function At(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}i(At,"arrayBufferToBase64");async function St(t,e,n){let o=await fetch(t,e);switch(n){case "text":return await o.text();case "base64":return At(await o.bytes());case "buffer":{let r=await o.arrayBuffer(),s=w(r);return y(r,s)}case "bytes":{let r=await o.bytes(),s=w(r);return y(r,s)}default:return await o.json()}}i(St,"httpFetch");function It(t){console.log("Alerting",t),window.alert(t);}i(It,"nativeAlert");function jt(t){console.log("Alerting",t),window.prompt(t);}i(jt,"nativePrompt");function Pt(t,e){let n=c.get(t);d(n)&&(n.innerHTML=e);}i(Pt,"setInnerHTML");function xt(t){let e=c.get(t);return d(e)?e.innerHTML:""}i(xt,"getInnerHTML");function kt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r;return s.apply(a,n.map(u=>{var l;return u&&typeof u=="object"&&u.__ref__&&(l=c.get(u.__ref__))!=null?l:u}))}i(kt,"invokeObjectMethod");async function Dt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r,u=await s.apply(a,n.map(l=>{var p;return l&&typeof l=="object"&&l.__ref__&&(p=c.get(l.__ref__))!=null?p:l}));return u&&{uid:w(u),objType:typeof u,isArray:false,tag:"unknown"}}i(Dt,"invokeObjectMethodAndHold");function k(t,e){let n=c.get(t);if(!n)return null;let o=v(n,e);return o?o[0]:null}i(k,"getObjectProperty");function Mt(t,e){let n=k(t,e);return n&&{uid:w(n),objType:typeof n,isArray:false,tag:"unknown"}}i(Mt,"getObjectPropertyAndHold");function v(t,e){let n=e.split("."),o=t,r=t;for(let s=0;s<n.length;s++){let a=n[s];if(!(a in o))return null;r=o,o=o[a];}return [o,r]}i(v,"getAdvanceObjectProperty");function Lt(t,e,n){var a;let o=e.split("."),r=t;for(let u=0;u<o.length-1;u++){let l=o[u];if(!(l in r))return;r=r[l];}let s=o[o.length-1];r[s]=n&&typeof n=="object"&&n.__ref__&&(a=c.get(n.__ref__))!=null?a:n;}i(Lt,"setAdvanceObjectProperty");function Xt(t,e,n){let o=c.get(t);o&&Lt(o,e,n);}i(Xt,"setObjectProperty");var b=new Map;function E(t,...e){NativeOUID==null||NativeOUID.invoke(t,"__ouid_web_event__",JSON.stringify(e));}i(E,"emit");function Yt(t,e){b.has(t)||(b.set(t,[]),window[t]=(n,o,r)=>{var s;(s=b.get(t))==null||s.forEach(a=>a(n,o,r));}),b.get(t).push(e);}i(Yt,"subscribe");function Ut(t){B(t);}i(Ut,"releaseNode");function Ft(){return window.location.pathname}i(Ft,"locationPath");function Wt(t,e){window.history.pushState(t,"",e);}i(Wt,"historyPushState");function Ht(){window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}));}i(Ht,"dispatchPopStateEvent");function Rt(t,e,n,o){let r=c.get(t);if(r&&"dispatchEvent"in r){let s=n?new window[n](e,o):new CustomEvent(e,o);r.dispatchEvent(s);}}i(Rt,"dispatchEvent");function y(t,e){return {tag:e.split(/\s/)[0],uid:e,objType:typeof t,isArray:Array.isArray(t)}}i(y,"asOObject");function Vt(t){let e=c.get(t);return e?y(e,t):null}i(Vt,"getOObject");function qt(t){let e=window[t];if(!e)return null;let n=w(e,t);return y(e,n)}i(qt,"acquireObject");function Bt(t,...e){let n=v(window,t);if(!n)return null;let o=n[0],r=new o(...e),s=w(r);return y(r,s)}i(Bt,"newObject");function Kt(t,e){return setTimeout(i(()=>{E(t);},"cb"),e)}i(Kt,"addSetTimeout");function Gt(t,e){return setInterval(i(()=>{E(t);},"cb"),e)}i(Gt,"addSetInterval");function Jt(t){clearTimeout(t);}i(Jt,"removeSetTimeout");function $t(t){clearInterval(t);}i($t,"removeSetInterval");var Zt={after:"insertAfter",setProperty:"setObjectProperty",invoke:"invokeObjectMethod",remove:"removeNode",release:"releaseNode",setHTML:"setInnerHTML"};function zt(t){t.forEach(e=>{var r;let n=`_ouid_${(r=Zt[e.fn])!=null?r:e.fn}`,o=window[n];o&&o(...e.args);});}i(zt,"batchActions");var P,x,j=(x=(P=globalThis.UNIFIED_ENV)!=null?P:window.UNIFIED_ENV)!=null?x:window.WebOUID&&window.WebOUID.UNIFIED_ENV;function te(){var t,e;if(__WEB_OUID_EMULATION__||j){globalThis.__OUI_PUR_JS_CONTEXT__=true,window.NativeOUID=Object.assign((t=window.NativeOUID)!=null?t:{},{invoke:i((o,r,s)=>{window[`${r}`](o,s);},"invoke")}),window.WebOUID=Object.assign((e=window.WebOUID)!=null?e:{},{invoke:i(async(o,r,s)=>{window.__native_message__(o,r,s);},"invoke")});let n=window;n.__ouid_native_promises={},window.WebOUID.nativeCall=(o,r,s)=>new Promise((a,u)=>{n.__ouid_native_promises[o]={resolve:a,reject:u},n.WebOUID._callNativeFunction_(o,r,s);}),n.__ouid_native_callback__=(o,r,s)=>{n.__ouid_native_promises&&n.__ouid_native_promises[o]&&(r?n.__ouid_native_promises[o].resolve(s):n.__ouid_native_promises[o].reject(s),delete n.__ouid_native_promises[o]);};}w(document,"document"),w(window,"window"),window._ouid_query=F,window._ouid_queryAll=W,window._ouid_createElement=V,window._ouid_createComment=q,window._ouid_invokeObjectMethod=kt,window._ouid_invokeObjectMethodAndHold=Dt,window._ouid_getObjectProperty=k,window._ouid_getObjectPropertyAndHold=Mt,window._ouid_setObjectProperty=Xt,window._ouid_appendChild=G,window._ouid_addClass=Q,window._ouid_removeClass=z,window._ouid_setInnerHTML=Pt,window._ouid_getInnerHTML=xt,window._ouid_setInnerText=J,window._ouid_getInnerText=tt,window._ouid_setContentText=$,window._ouid_getContentText=Z,window._ouid_setAttribute=nt,window._ouid_removeAttribute=ot,window._ouid_getAttribte=it,window._ouid_getAttribteNames=rt,window._ouid_childNodes=H,window._ouid_cloneNode=st,window._ouid_removeNode=ct,window._ouid_removeChild=at,window._ouid_replaceChildNode=Nt,window._ouid_replaceNode=ut,window._ouid_insertAfter=dt,window._ouid_insertBefore=lt,window._ouid_setInputValue=ft,window._ouid_inputValue=_t,window._ouid_attachEventListener=mt,window._ouid_dettachEventListener=ht,window._ouid_createComponentStyles=Et,window._ouid_appendComponentStyles=vt,window._ouid_rejectComponentStyles=Tt,window._ouid_locationPath=Ft,window._ouid_historyPushState=Wt,window._ouid_dispatchPopStateEvent=Ht,window._ouid_parentNode=Ot,window._ouid_releaseNode=Ut,window._ouid_getOObject=Vt,window._ouid_acquireObject=qt,window._ouid_newObject=Bt,window._ouid_dispatchEvent=Rt,window._ouid_setTimeout=Kt,window._ouid_clearTimeout=Jt,window._ouid_dsetInterval=Gt,window._ouid_clearInterval=$t,window._ouid_setStyle=et,window._ouid_nextSibling=Ct,window._ouid_fetch=St,window._ouid_alert=It,window._ouid_prompt=jt,window._ouid_requestAnimationFrame=yt,window._ouid_cancelAnimationFrame=bt,window._ouid_batchActions=zt,Yt("__native_message__",async(n,o,r)=>{let s=window[o];if(!s){if(j)try{try{let u=await window.WebOUID.nativeCall(n,o,r);NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",u);}catch(u){NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",u);}}catch(u){}NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",JSON.stringify([{message:"No function match the given name: ("+o+")"}]));return}let a=await s(...JSON.parse(r));NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",JSON.stringify([{status:"success",data:a}]));});}i(te,"initDOM");
|
|
1
|
+
'use strict';var A=Object.defineProperty,k=Object.defineProperties;var D=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var C=(t,e,n)=>e in t?A(t,e,{enumerable:true,configurable:true,writable:true,value:n}):t[e]=n,T=(t,e)=>{for(var n in e||(e={}))L.call(e,n)&&C(t,n,e[n]);if(O)for(var n of O(e))X.call(e,n)&&C(t,n,e[n]);return t},I=(t,e)=>k(t,D(e)),i=(t,e)=>A(t,"name",{value:e,configurable:true});function Y(t){let e="";for(let n=0;n<t.length;n++){let r=t.charCodeAt(n).toString(16);r=r.length===1?"0"+r:r,e+=r;}return e}i(Y,"stringToHex");var c=new Map,m=new WeakMap,U=0,h=new Map;function F(t,e,n){let o=n?c.get(n):document;if(!d(o))return null;let r=o.querySelector(t);return r?_(r,e,1):null}i(F,"query");function W(t,e,n){let o=n?c.get(n):document;return d(o)?[...o.querySelectorAll(t)].map(a=>_(a,e,1)).filter(a=>a!==null):[]}i(W,"queryAll");function H(t){let e=c.get(t);if(!d(e))return [];let n=[],o=document.createTreeWalker(e),r=o.firstChild();for(;r;)r.parentNode===e&&n.push(r),r=o.nextSibling();return n.map(s=>_(s,["attributes"],0)).filter(s=>s!==null)}i(H,"childNodes");function R(t){switch(t.nodeType){case Node.TEXT_NODE:return "Text";case Node.ELEMENT_NODE:return "Element";case Node.ATTRIBUTE_NODE:return "Attribute";case Node.COMMENT_NODE:return "Comment";default:return "Unknown"}}i(R,"nodeType");function N(t){return [...t.attributes].map(e=>({name:e.name,value:e.value}))}i(N,"elementAttributes");function _(t,e,n=1){if(!t)return null;let o={uid:w(t),tag:d(t)?t.tagName.toLocaleLowerCase():"",type:R(t),isArray:false,objType:typeof t},r=e?new Set([...e,"attributes","classes"]):new Set(["attributes","classes"]);return d(t)&&r.forEach(s=>{switch(s){case "attributes":o.attributes=N(t);break;case "children":n>0&&(o.children=[...t.children].map(a=>_(a,e,n-1)).filter(a=>a!==null));break;case "classes":o.classes=[...t.classList];break;case "style":o.style=t==null?void 0:t.style.cssText;break}}),o.type==="Text"&&(o.textContent=t.textContent),o}i(_,"htmlElementToONode");function V(t,e){let s=new Set(["svg","path","circle","rect","line","polyline","polygon","ellipse","g","defs","marker","clipPath","mask","text","tspan"]).has(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);for(let a in e)s.setAttribute(a,e[a]);return _(s)}i(V,"createElement");function q(t){let e=document.createComment(t);return _(e)}i(q,"createComment");function w(t,e){if(m.has(t))return m.get(t);let n=e!=null?e:Y(`${U++}`.padStart(16,"0"));c.set(n,t);try{m.set(t,n);}catch(o){console.error(o);}return n}i(w,"putInRegistry");function B(t){if(typeof t=="string"){let e=c.get(t);e instanceof Node?S(e):c.delete(t);return}S(t);}i(B,"removeFromRegistry");function S(t){let e=[t];for(;e.length;){let n=e.pop();K(n);let o=m.get(n);o&&(c.delete(o),m.delete(n));let r=n.childNodes;for(let s=0;s<r.length;s++)e.push(r[s]);}}i(S,"cleanupRegistryForNode");function K(t){for(let[e,n]of h){let o=n.target;(o===t||o instanceof Node&&t.contains(o))&&(o.removeEventListener(n.type,n.handler),h.delete(e));}}i(K,"cleanupDomListenersForNode");function G(t,e){let n=c.get(t),o=c.get(e);!n||!o||n.appendChild(o);}i(G,"appendChild");function d(t){return t===document||(t==null?void 0:t.nodeType)===Node.ELEMENT_NODE}i(d,"isElementNode");function J(t,e){let n=c.get(t);d(n)&&(n.innerText=e);}i(J,"setInnerText");function $(t,e){let n=c.get(t);!n||d(n)||(n.textContent=e);}i($,"setContentText");function Z(t){let e=c.get(t);return !e||d(e)?"":e.textContent}i(Z,"getContentText");function z(t,...e){let n=c.get(t);d(n)&&n.classList.remove(...e);}i(z,"removeClass");function Q(t,...e){let n=c.get(t);d(n)&&n.classList.add(...e);}i(Q,"addClass");function tt(t){let e=c.get(t);return d(e)?e.innerText:""}i(tt,"getInnerText");function et(t,e,n){let o=c.get(t);d(o)&&o.style.setProperty(e,n);}i(et,"setStyle");function nt(t,e,n){let o=c.get(t);if(d(o))return o.setAttribute(e,n),N(o)}i(nt,"setAttribute");function ot(t,e){let n=c.get(t);return d(n)?(n.removeAttribute(e),N(n)):[]}i(ot,"removeAttribute");function it(t,e){var o;let n=c.get(t);return d(n)&&(o=n.getAttribute(e))!=null?o:""}i(it,"getAttribte");function rt(t){let e=c.get(t);return d(e)?e.getAttributeNames():[]}i(rt,"getAttribteNames");function st(t,e){let n=c.get(t);return n?_(n.cloneNode(e)):null}i(st,"cloneNode");function ct(t){let e=c.get(t);e==null||e.remove();}i(ct,"removeNode");function at(t,e){let n=c.get(t),o=c.get(e);o&&(n==null||n.removeChild(o));}i(at,"removeChild");function ut(t,e){let n=c.get(t),o=c.get(e);n.replaceWith(o);}i(ut,"replaceWith");function dt(t,e){let n=c.get(t),o=c.get(e);!o||!n||n.after(o);}i(dt,"insertAfter");function lt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!s||!r||o.insertBefore(s,r);}i(lt,"insertBefore");function ft(t,e){let n=c.get(t);d(n)&&(n.value=e);}i(ft,"setInputValue");function _t(t){let e=c.get(t);return d(e)?e.value:""}i(_t,"inputValue");function wt(t,e){e&&(e.preventDefault&&t.preventDefault(),e.stopImmediatePropagation&&"stopImmediatePropagation"in t?t.stopImmediatePropagation():e.stopPropagation&&t.stopPropagation());}i(wt,"applyControl");function pt(t,e){let n=t.offsetX,o=t.offsetY;if((n==null||o==null)&&e&&e.getBoundingClientRect){let s=e.getBoundingClientRect();n=t.clientX-s.left,o=t.clientY-s.top;}return {offsetX:n,offsetY:o}}i(pt,"computeOffsets");function gt(t){var a,u,l,p;let e={type:t.type,timeStamp:t.timeStamp,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed},n={altKey:(a=t.altKey)!=null?a:false,ctrlKey:(u=t.ctrlKey)!=null?u:false,metaKey:(l=t.metaKey)!=null?l:false,shiftKey:(p=t.shiftKey)!=null?p:false};if(t instanceof MouseEvent){let{offsetX:g,offsetY:f}=pt(t,t.target);Object.assign(e,{x:t.x,y:t.y,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY,screenX:t.screenX,screenY:t.screenY,movementX:t.movementX,movementY:t.movementY,button:t.button,buttons:t.buttons,offsetX:g,offsetY:f});}if(typeof PointerEvent!="undefined"&&t instanceof PointerEvent&&Object.assign(e,{pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tangentialPressure:t.tangentialPressure,tiltX:t.tiltX,tiltY:t.tiltY,twist:t.twist,pointerType:t.pointerType,isPrimary:t.isPrimary}),typeof WheelEvent!="undefined"&&t instanceof WheelEvent&&Object.assign(e,{deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode}),t instanceof KeyboardEvent&&Object.assign(e,{key:t.key,code:t.code,repeat:t.repeat,location:t.location,isComposing:t.isComposing}),t instanceof InputEvent&&Object.assign(e,{data:t.data,inputType:t.inputType,isComposing:t.isComposing}),t instanceof FocusEvent&&Object.assign(e,{}),t instanceof MessageEvent&&Object.assign(e,{data:t.data,origin:t.origin,lastEventId:t.lastEventId}),t instanceof CloseEvent&&Object.assign(e,{code:t.code,reason:t.reason,wasClean:t.wasClean}),t instanceof ErrorEvent&&Object.assign(e,{error:t.error,message:t.message}),typeof TouchEvent!="undefined"&&t instanceof TouchEvent){let g=i(f=>({identifier:f.identifier,clientX:f.clientX,clientY:f.clientY,pageX:f.pageX,pageY:f.pageY,screenX:f.screenX,screenY:f.screenY,radiusX:f.radiusX,radiusY:f.radiusY,rotationAngle:f.rotationAngle,force:f.force}),"mapTouch");Object.assign(e,{touches:Array.from(t.touches).map(g),changedTouches:Array.from(t.changedTouches).map(g),targetTouches:Array.from(t.targetTouches).map(g)});}typeof PopStateEvent!="undefined"&&t instanceof PopStateEvent&&Object.assign(e,{state:t.state});let o=t.target instanceof Node?_(t.target):null,r=t.currentTarget instanceof Node?_(t.currentTarget):null,s=t.relatedTarget instanceof Node?_(t.relatedTarget):null;return I(T(T({},e),n),{target:o,currentTarget:r,relatedTarget:s,__eventClass__:t.constructor?t.constructor.name:"Event"})}i(gt,"serializeEvent");function mt(t,e,n,o,r){let s=c.get(t);if(!s||typeof s.addEventListener!="function")return;let a=i(u=>{let l=gt(u);r&&wt(u,{preventDefault:r.alwaysPreventDefault,stopImmediatePropagation:r.alwaysStopImmediatePropagation,stopPropagation:r.alwaysStopPropagation}),E(e,n,l);},"handler");h.set(e,{target:s,type:n,handler:a,options:o}),s.addEventListener(n,a,o);}i(mt,"attachEventListener");function ht(t,e){let n=h.get(e);n&&(h.delete(e),n.target.removeEventListener(n.type,n.handler));}i(ht,"dettachEventListener");function yt(t){return requestAnimationFrame(e=>{E(t,"requestAnimationFrame",e);})}i(yt,"customRequestAnimationFrame");function bt(t){cancelAnimationFrame(t);}i(bt,"customCancelAnimationFrame");function vt(t){let e=c.get(t);try{document.head.appendChild(e);}catch(n){}}i(vt,"appendComponentStyles");function Et(t,e=true){let n=document.createElement("style");return n.innerHTML=t,e&&document.head.appendChild(n),_(n)}i(Et,"createComponentStyles");function Tt(t){let e=c.get(t);try{document.head.removeChild(e);}catch(n){}}i(Tt,"rejectComponentStyles");function Nt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!r||!s||o.replaceChild(r,s);}i(Nt,"replaceChildNode");function Ot(t){let e=c.get(t);return e?_(e.parentNode):null}i(Ot,"parentNode");function Ct(t){let e=c.get(t);return e?_(e.nextSibling):null}i(Ct,"nextSibling");function At(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}i(At,"arrayBufferToBase64");async function It(t,e,n){let o=await fetch(t,e);switch(n){case "text":return await o.text();case "base64":return At(await o.bytes());case "buffer":{let r=await o.arrayBuffer(),s=w(r);return y(r,s)}case "bytes":{let r=await o.bytes(),s=w(r);return y(r,s)}default:return await o.json()}}i(It,"httpFetch");function St(t){console.log("Alerting",t),window.alert(t);}i(St,"nativeAlert");function jt(t){console.log("Alerting",t),window.prompt(t);}i(jt,"nativePrompt");function Pt(t,e){let n=c.get(t);d(n)&&(n.innerHTML=e);}i(Pt,"setInnerHTML");function xt(t){let e=c.get(t);return d(e)?e.innerHTML:""}i(xt,"getInnerHTML");function Mt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r;return s.apply(a,n.map(u=>{var l;return u&&typeof u=="object"&&u.__ref__&&(l=c.get(u.__ref__))!=null?l:u}))}i(Mt,"invokeObjectMethod");async function kt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r,u=await s.apply(a,n.map(l=>{var p;return l&&typeof l=="object"&&l.__ref__&&(p=c.get(l.__ref__))!=null?p:l}));return u&&{uid:w(u),objType:typeof u,isArray:false,tag:"unknown"}}i(kt,"invokeObjectMethodAndHold");function M(t,e){let n=c.get(t);if(!n)return null;let o=v(n,e);return o?o[0]:null}i(M,"getObjectProperty");function Dt(t,e){let n=M(t,e);return n&&{uid:w(n),objType:typeof n,isArray:false,tag:"unknown"}}i(Dt,"getObjectPropertyAndHold");function v(t,e){let n=e.split("."),o=t,r=t;for(let s=0;s<n.length;s++){let a=n[s];if(!(a in o))return null;r=o,o=o[a];}return [o,r]}i(v,"getAdvanceObjectProperty");function Lt(t,e,n){var a;let o=e.split("."),r=t;for(let u=0;u<o.length-1;u++){let l=o[u];if(!(l in r))return;r=r[l];}let s=o[o.length-1];r[s]=n&&typeof n=="object"&&n.__ref__&&(a=c.get(n.__ref__))!=null?a:n;}i(Lt,"setAdvanceObjectProperty");function Xt(t,e,n){let o=c.get(t);o&&Lt(o,e,n);}i(Xt,"setObjectProperty");var b=new Map;function E(t,...e){NativeOUID==null||NativeOUID.invoke(t,"__ouid_web_event__",JSON.stringify(e));}i(E,"emit");function Yt(t,e){b.has(t)||(b.set(t,[]),window[t]=(n,o,r)=>{var s;(s=b.get(t))==null||s.forEach(a=>a(n,o,r));}),b.get(t).push(e);}i(Yt,"subscribe");function Ut(t){B(t);}i(Ut,"releaseNode");function Ft(){return window.location.pathname}i(Ft,"locationPath");function Wt(t,e){window.history.pushState(t,"",e);}i(Wt,"historyPushState");function Ht(){window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}));}i(Ht,"dispatchPopStateEvent");function Rt(t,e,n,o){let r=c.get(t);if(r&&"dispatchEvent"in r){let s=n?new window[n](e,o):new CustomEvent(e,o);r.dispatchEvent(s);}}i(Rt,"dispatchEvent");function y(t,e){return {tag:e.split(/\s/)[0],uid:e,objType:typeof t,isArray:Array.isArray(t)}}i(y,"asOObject");function Vt(t){let e=c.get(t);return e?y(e,t):null}i(Vt,"getOObject");function qt(t){let e=window[t];if(!e)return null;let n=w(e,t);return y(e,n)}i(qt,"acquireObject");function Bt(t,...e){let n=v(window,t);if(!n)return null;let o=n[0],r=new o(...e),s=w(r);return y(r,s)}i(Bt,"newObject");function Kt(t,e){return setTimeout(i(()=>{E(t);},"cb"),e)}i(Kt,"addSetTimeout");function Gt(t,e){return setInterval(i(()=>{E(t);},"cb"),e)}i(Gt,"addSetInterval");function Jt(t){clearTimeout(t);}i(Jt,"removeSetTimeout");function $t(t){clearInterval(t);}i($t,"removeSetInterval");var Zt={after:"insertAfter",setProperty:"setObjectProperty",invoke:"invokeObjectMethod",remove:"removeNode",release:"releaseNode",setHTML:"setInnerHTML"};function zt(t){t.forEach(e=>{var r;let n=`_ouid_${(r=Zt[e.fn])!=null?r:e.fn}`,o=window[n];o&&o(...e.args);});}i(zt,"batchActions");var P,x,j=(x=(P=globalThis.UNIFIED_ENV)!=null?P:window.UNIFIED_ENV)!=null?x:window.WebOUID&&window.WebOUID.UNIFIED_ENV;function te(){var t,e;if(__WEB_OUID_EMULATION__||j){globalThis.__OUI_PUR_JS_CONTEXT__=true,window.NativeOUID=Object.assign((t=window.NativeOUID)!=null?t:{},{invoke:i((o,r,s)=>{window[`${r}`](o,s);},"invoke")}),window.WebOUID=Object.assign((e=window.WebOUID)!=null?e:{},{invoke:i(async(o,r,s)=>{window.__native_message__(o,r,s);},"invoke")});let n=window;n.__ouid_native_promises={},window.WebOUID.nativeCall=(o,r,s)=>new Promise((a,u)=>{n.__ouid_native_promises[o]={resolve:a,reject:u},n.WebOUID._callNativeFunction_(o,r,s);}),n.__ouid_native_callback__=(o,r,s)=>{n.__ouid_native_promises&&n.__ouid_native_promises[o]&&(r?n.__ouid_native_promises[o].resolve(s):n.__ouid_native_promises[o].reject(s),delete n.__ouid_native_promises[o]);};}w(document,"document"),w(window,"window"),window._ouid_query=F,window._ouid_queryAll=W,window._ouid_createElement=V,window._ouid_createComment=q,window._ouid_invokeObjectMethod=Mt,window._ouid_invokeObjectMethodAndHold=kt,window._ouid_getObjectProperty=M,window._ouid_getObjectPropertyAndHold=Dt,window._ouid_setObjectProperty=Xt,window._ouid_appendChild=G,window._ouid_addClass=Q,window._ouid_removeClass=z,window._ouid_setInnerHTML=Pt,window._ouid_getInnerHTML=xt,window._ouid_setInnerText=J,window._ouid_getInnerText=tt,window._ouid_setContentText=$,window._ouid_getContentText=Z,window._ouid_setAttribute=nt,window._ouid_removeAttribute=ot,window._ouid_getAttribte=it,window._ouid_getAttribteNames=rt,window._ouid_childNodes=H,window._ouid_cloneNode=st,window._ouid_removeNode=ct,window._ouid_removeChild=at,window._ouid_replaceChildNode=Nt,window._ouid_replaceNode=ut,window._ouid_insertAfter=dt,window._ouid_insertBefore=lt,window._ouid_setInputValue=ft,window._ouid_inputValue=_t,window._ouid_attachEventListener=mt,window._ouid_dettachEventListener=ht,window._ouid_createComponentStyles=Et,window._ouid_appendComponentStyles=vt,window._ouid_rejectComponentStyles=Tt,window._ouid_locationPath=Ft,window._ouid_historyPushState=Wt,window._ouid_dispatchPopStateEvent=Ht,window._ouid_parentNode=Ot,window._ouid_releaseNode=Ut,window._ouid_getOObject=Vt,window._ouid_acquireObject=qt,window._ouid_newObject=Bt,window._ouid_dispatchEvent=Rt,window._ouid_setTimeout=Kt,window._ouid_clearTimeout=Jt,window._ouid_dsetInterval=Gt,window._ouid_clearInterval=$t,window._ouid_setStyle=et,window._ouid_nextSibling=Ct,window._ouid_fetch=It,window._ouid_alert=St,window._ouid_prompt=jt,window._ouid_requestAnimationFrame=yt,window._ouid_cancelAnimationFrame=bt,window._ouid_batchActions=zt,Yt("__native_message__",async(n,o,r)=>{let s=window[o];if(!s){if(j)try{try{let u=await window.WebOUID.nativeCall(n,o,r);NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",u);}catch(u){NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",u);}}catch(u){}NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",JSON.stringify([{message:"No function match the given name: ("+o+")"}]));return}let a=await s(...JSON.parse(r));NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",JSON.stringify([{status:"success",data:a}]));});}i(te,"initDOM");
|
|
2
2
|
exports.ELEMENT_REGISTRY=c;exports.emit=E;exports.initDOM=te;exports.stringToHex=Y;//# sourceMappingURL=dom.cjs.map
|
|
3
3
|
//# sourceMappingURL=dom.cjs.map
|
package/dist/dom/dom.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dom/dom.ts"],"names":["stringToHex","str","hexString","i","length","hex","charCodeAt","toString","ELEMENT_REGISTRY","Map","storedElementMap","WeakMap","OBJECT_INDEX","DOM_EVENT_LISTENER","query","selector","filter","nodeId","doc","get","document","isElementNode","element","querySelector","htmlElementToONode","queryAll","querySelectorAll","map","e","childNodes","node","children","treeWalker","createTreeWalker","tmp","firstChild","parentNode","push","nextSibling","c","nodeType","Node","TEXT_NODE","ELEMENT_NODE","ATTRIBUTE_NODE","COMMENT_NODE","elementAttributes","attributes","attr","name","value","recursiveLevel","uid","putInRegistry","tag","tagName","toLocaleLowerCase","type","isArray","objType","fullFilter","Set","forEach","f","classes","classList","style","cssText","textContent","createElement","props","el","has","createElementNS","k","setAttribute","createComment","data","elementId","id","padStart","set","error","console","removeFromRegistry","n","obj","cleanupRegistryForNode","delete","root","stack","pop","cleanupDomListenersForNode","cbId","entry","target","contains","removeEventListener","handler","appendChild","childId","child","setInnerText","text","innerText","setContentText","getContentText","removeClass","tokens","remove","addClass","add","getInnerText","setStyle","key","setProperty","removeAttribute","getAttribte","_a","getAttribute","getAttribteNames","getAttributeNames","cloneNode","subtree","removeNode","removeChild","replaceWith","toReplaceId","toReplace","insertAfter","toInsertId","toInsert","after","insertBefore","setInputValue","inputValue","applyControl","preventDefault","stopImmediatePropagation","stopPropagation","computeOffsets","t","offsetX","offsetY","getBoundingClientRect","r","clientX","left","clientY","top","serializeEvent","_b","_c","_d","base","timeStamp","bubbles","cancelable","composed","mods","altKey","ctrlKey","metaKey","shiftKey","MouseEvent","Object","assign","x","y","pageX","pageY","screenX","screenY","movementX","movementY","button","buttons","PointerEvent","pointerId","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","WheelEvent","deltaX","deltaY","deltaZ","deltaMode","KeyboardEvent","code","repeat","location","isComposing","InputEvent","inputType","FocusEvent","TouchEvent","mapTouch","__name","identifier","radiusX","radiusY","rotationAngle","force","touches","Array","from","changedTouches","targetTouches","PopStateEvent","state","targetNode","currentTargetNode","currentTarget","relatedTarget","__spreadProps","__spreadValues","__eventClass__","attachEventListener","eventName","options","policy","addEventListener","payload","alwaysPreventDefault","alwaysStopImmediatePropagation","alwaysStopPropagation","emit","dettachEventListener","customRequestAnimationFrame","requestAnimationFrame","fps","customCancelAnimationFrame","cancelAnimationFrame","appendComponentStyles","styleId","head","createComponentStyles","css","inject","styleEl","innerHTML","rejectComponentStyles","replaceChildNode","parentId","parent","replaceChild","arrayBufferToBase64","buffer","binary","String","fromCharCode","btoa","httpFetch","url","encodeAs","result","fetch","bytes","buff","arrayBuffer","asOObject","json","nativeAlert","message","log","window","alert","nativePrompt","prompt","setInnerHTML","html","getInnerHTML","invokeObjectMethod","fn","args","getAdvanceObjectProperty","method","apply","invokeObjectMethodAndHold","res","getObjectProperty","getObjectPropertyAndHold","path","els","split","current","setAdvanceObjectProperty","setObjectProperty","listeners","NativeOUID","invoke","JSON","stringify","subscribe","event","callback","fnName","argsJson","cb","releaseNode","locationPath","pathname","historyPushState","history","pushState","dispatchPopStateEvent","dispatchEvent","eventClass","initDict","CustomEvent","getOObject","acquireObject","objId","newObject","ctr","Ctr","instance","addSetTimeout","delay","setTimeout","addSetInterval","setInterval","removeSetTimeout","timerId","clearTimeout","removeSetInterval","clearInterval","operationNameMap","batchActions","actions","op","localFn","UNIFIED_ENV","globalThis","WebOUID","initDOM","__WEB_OUID_EMULATION__","__OUI_PUR_JS_CONTEXT__","win","__ouid_native_promises","nativeCall","Promise","resolve","reject","_callNativeFunction_","__ouid_native_callback__","success","_ouid_query","_ouid_queryAll","_ouid_createElement","_ouid_createComment","_ouid_invokeObjectMethod","_ouid_invokeObjectMethodAndHold","_ouid_getObjectProperty","_ouid_getObjectPropertyAndHold","_ouid_setObjectProperty","_ouid_appendChild","_ouid_addClass","_ouid_removeClass","_ouid_setInnerHTML","_ouid_getInnerHTML","_ouid_setInnerText","_ouid_getInnerText","_ouid_setContentText","_ouid_getContentText","_ouid_setAttribute","_ouid_removeAttribute","_ouid_getAttribte","_ouid_getAttribteNames","_ouid_childNodes","_ouid_cloneNode","_ouid_removeNode","_ouid_removeChild","_ouid_replaceChildNode","_ouid_replaceNode","_ouid_insertAfter","_ouid_insertBefore","_ouid_setInputValue","_ouid_inputValue","_ouid_attachEventListener","_ouid_dettachEventListener","_ouid_createComponentStyles","_ouid_appendComponentStyles","_ouid_rejectComponentStyles","_ouid_locationPath","_ouid_historyPushState","_ouid_dispatchPopStateEvent","_ouid_parentNode","_ouid_releaseNode","_ouid_getOObject","_ouid_acquireObject","_ouid_newObject","_ouid_dispatchEvent","_ouid_setTimeout","_ouid_clearTimeout","_ouid_dsetInterval","_ouid_clearInterval","_ouid_setStyle","_ouid_nextSibling","_ouid_fetch","_ouid_alert","_ouid_prompt","_ouid_requestAnimationFrame","_ouid_cancelAnimationFrame","_ouid_batchActions","parse","status"],"mappings":"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","file":"dom.cjs","sourcesContent":["export function stringToHex(str: string): string {\n let hexString = '';\n for (let i = 0; i < str.length; i++) {\n const charCode = str.charCodeAt(i);\n let hex = charCode.toString(16);\n hex = hex.length === 1 ? '0' + hex : hex;\n hexString += hex;\n }\n return hexString;\n}\ntype EventControl = {\n preventDefault?: boolean;\n stopPropagation?: boolean;\n stopImmediatePropagation?: boolean;\n};\n\ntype OObject = { uid: string, objType: string, tag: string, isArray: boolean }\nexport type ONode = OObject & { textContent?: string | null, type: 'Element' | 'Text' | 'Comment' | 'Attribute' | 'Unknown', attributes?: { name: string, value: string }[], children?: ONode[], classes?: string[], style?: string }\nexport const ELEMENT_REGISTRY = new Map<string, any>()\nconst storedElementMap = new WeakMap<Node, string>()\nlet OBJECT_INDEX = 0\ntype DomListenerEntry = {\n target: EventTarget;\n type: string;\n handler: (e: Event) => void;\n options?: boolean | AddEventListenerOptions;\n};\n\nconst DOM_EVENT_LISTENER = new Map<string, DomListenerEntry>()\n/**\n * Query a dom element and store it in ELEMENT_REGISTRY for usage in js engine\n * @param selector \n */\nfunction query<T extends 'children' | 'classes' | 'style' | 'attributes'>(selector: string, filter?: T[], nodeId?: string): ONode | null {\n const doc = nodeId ? ELEMENT_REGISTRY.get(nodeId) : document\n if (!isElementNode(doc)) {\n return null\n }\n const element = doc.querySelector(selector)\n if (!element) {\n return null\n }\n return htmlElementToONode(element, filter, 1)\n}\nfunction queryAll<T extends 'children' | 'classes' | 'style' | 'attributes'>(selector: string, filter?: T[], nodeId?: string): ONode[] {\n const doc = nodeId ? ELEMENT_REGISTRY.get(nodeId) : document\n if (!isElementNode(doc)) {\n return []\n }\n const elements = [...doc.querySelectorAll(selector)]\n const nodes: ONode[] = elements.map(e => htmlElementToONode(e, filter, 1)).filter(e => e !== null)\n return nodes\n}\nfunction childNodes(nodeId: string): ONode[] {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return []\n }\n const children: ChildNode[] = []\n const treeWalker = document.createTreeWalker(node)\n let tmp: Node | null = treeWalker.firstChild();\n while (tmp) {\n if (tmp.parentNode === node) {\n children.push(tmp as ChildNode)\n }\n tmp = treeWalker.nextSibling();\n }\n\n return children.map(c => htmlElementToONode(c, ['attributes'], 0)).filter(e => e !== null)\n}\nfunction nodeType(element: Node): 'Element' | 'Text' | 'Comment' | 'Attribute' | 'Unknown' {\n switch (element.nodeType) {\n case Node.TEXT_NODE:\n return 'Text'\n case Node.ELEMENT_NODE:\n return 'Element'\n case Node.ATTRIBUTE_NODE:\n return 'Attribute'\n case Node.COMMENT_NODE:\n return 'Comment'\n default:\n return 'Unknown'\n }\n}\ntype Attributes = { name: string, value: string }[]\nfunction elementAttributes(element: Element): Attributes {\n return [...element.attributes].map((attr) => {\n return { name: attr.name, value: attr.value }\n })\n}\nfunction htmlElementToONode<T extends 'children' | 'classes' | 'style' | 'attributes'>(element: Node, filter?: Array<T>, recursiveLevel: number = 1): ONode | null {\n if (!element) {\n return null\n }\n const node: ONode = { uid: putInRegistry(element), tag: isElementNode(element) ? element.tagName.toLocaleLowerCase() : '', type: nodeType(element), isArray: false, objType: typeof element }\n const fullFilter = filter ? new Set([...filter, 'attributes', 'classes']) : new Set(['attributes', 'classes'])\n if (isElementNode(element)) {\n fullFilter.forEach(f => {\n switch (f) {\n case 'attributes':\n node.attributes = elementAttributes(element)\n break;\n case 'children':\n if (recursiveLevel > 0) {\n node.children = [...element.children].map(c => htmlElementToONode(c, filter, recursiveLevel - 1)).filter(e => e !== null)\n }\n break;\n case 'classes':\n node.classes = [...element.classList]\n break;\n case 'style':\n node.style = (element as HTMLElement)?.style.cssText\n break;\n }\n })\n }\n if (node.type === 'Text') {\n node.textContent = element.textContent\n }\n return node\n}\n/**\n * Create a new DOM element\n * @param tag The element tag name\n * @param props The attributes to set on the new created element\n * @returns a node instance\n */\nfunction createElement(tag: string, props: Record<string, string>): ONode | null {\n const SVG_NS = \"http://www.w3.org/2000/svg\";\n const SVG_TAGS = new Set([\n \"svg\", \"path\", \"circle\", \"rect\", \"line\", \"polyline\", \"polygon\",\n \"ellipse\", \"g\", \"defs\", \"marker\", \"clipPath\", \"mask\", \"text\", \"tspan\"\n ]);\n\n const isSvgTag = SVG_TAGS.has(tag);\n\n // Create element in the right namespace\n const el = isSvgTag\n ? document.createElementNS(SVG_NS, tag)\n : document.createElement(tag);\n\n // Apply props as attributes (works for both HTML and SVG)\n for (const k in props) {\n el.setAttribute(k, props[k]);\n }\n\n return htmlElementToONode(el);\n}\nfunction createComment(data: string) {\n const el = document.createComment(data)\n return htmlElementToONode(el)\n}\nfunction putInRegistry(element: any, elementId?: string): string {\n\n if (storedElementMap.has(element)) {\n return storedElementMap.get(element)!\n }\n const id = elementId ?? stringToHex(`${OBJECT_INDEX++}`.padStart(16, '0'))\n ELEMENT_REGISTRY.set(id, element)\n\n try {\n storedElementMap.set(element, id)\n } catch (error) {\n console.error(error)\n }\n return id\n}\nfunction removeFromRegistry(n: Node | string): void {\n if (typeof n === 'string') {\n const obj = ELEMENT_REGISTRY.get(n);\n if (obj instanceof Node) {\n cleanupRegistryForNode(obj);\n } else {\n // Non-DOM object\n ELEMENT_REGISTRY.delete(n);\n }\n return;\n }\n\n // n is a DOM Node\n cleanupRegistryForNode(n);\n}\n\nfunction cleanupRegistryForNode(root: Node): void {\n const stack: Node[] = [root];\n\n while (stack.length) {\n const node = stack.pop()!;\n cleanupDomListenersForNode(node);\n\n const id = storedElementMap.get(node);\n if (id) {\n ELEMENT_REGISTRY.delete(id);\n storedElementMap.delete(node);\n }\n\n const children = node.childNodes;\n for (let i = 0; i < children.length; i++) {\n stack.push(children[i]);\n }\n }\n}\n\nfunction cleanupDomListenersForNode(root: Node): void {\n for (const [cbId, entry] of DOM_EVENT_LISTENER) {\n const target = entry.target;\n if (\n target === root ||\n (target instanceof Node && root.contains(target))\n ) {\n target.removeEventListener(entry.type, entry.handler);\n DOM_EVENT_LISTENER.delete(cbId);\n }\n }\n}\n\nfunction appendChild(nodeId: string, childId: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const child = ELEMENT_REGISTRY.get(childId)\n if (!node || !child) {\n return\n }\n node.appendChild(child)\n}\nfunction isElementNode(node: Node | null | undefined): node is HTMLElement {\n return node === document || node?.nodeType === Node.ELEMENT_NODE\n}\nfunction setInnerText(nodeId: string, text: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.innerText = text\n}\nfunction setContentText(nodeId: string, text: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node || isElementNode(node)) {\n return\n }\n node!.textContent = text\n}\nfunction getContentText(nodeId: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node || isElementNode(node)) {\n return ''\n }\n return node!.textContent\n}\n\nfunction removeClass(nodeId: string, ...tokens: string[]) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.classList.remove(...tokens)\n}\nfunction addClass(nodeId: string, ...tokens: string[]) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.classList.add(...tokens)\n\n}\n\nfunction getInnerText(nodeId: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return node.innerText\n}\nfunction setStyle(nodeId: string, key: string, value: any) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.style.setProperty(key, value)\n}\nfunction setAttribute(nodeId: string, name: string, value: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.setAttribute(name, value)\n return elementAttributes(node)\n}\nfunction removeAttribute(nodeId: string, name: string): Attributes {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return []\n }\n node.removeAttribute(name)\n return elementAttributes(node)\n}\nfunction getAttribte(nodeId: string, name: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return node.getAttribute(name) ?? ''\n}\nfunction getAttribteNames(nodeId: string): string[] {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return []\n }\n return node.getAttributeNames()\n}\nfunction cloneNode(nodeId: string, subtree: boolean): ONode | null {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!(node)) {\n return null\n }\n return htmlElementToONode(node.cloneNode(subtree))\n}\nfunction removeNode(nodeId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId) as Element | null\n node?.remove()\n}\nfunction removeChild(nodeId: string, childId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId) as Element | null\n const child = ELEMENT_REGISTRY.get(childId)\n if (!child) {\n return\n }\n node?.removeChild(child)\n}\nfunction replaceWith(nodeId: string, toReplaceId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const toReplace = ELEMENT_REGISTRY.get(toReplaceId)\n // if (!isElementNode(node) || !toReplace) {\n // \treturn\n // }\n ; (node as Element).replaceWith(toReplace)\n}\nfunction insertAfter(nodeId: string, toInsertId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const toInsert = ELEMENT_REGISTRY.get(toInsertId)\n if (!toInsert || !node) {\n return\n }\n ; (node as Element).after(toInsert)\n}\nfunction insertBefore(nodeId: string, childId: string, toInsertId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const child = ELEMENT_REGISTRY.get(childId)\n const toInsert = ELEMENT_REGISTRY.get(toInsertId)\n if (!isElementNode(node) || !toInsert || !child) {\n return\n }\n node.insertBefore(toInsert, child)\n}\nfunction setInputValue(nodeId: string, value: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n (node as HTMLInputElement | HTMLTextAreaElement).value = value\n}\nfunction inputValue(nodeId: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return (node as HTMLInputElement | HTMLTextAreaElement).value\n}\n\n\nfunction applyControl(e: Event, c?: EventControl) {\n if (!c) return;\n if (c.preventDefault) e.preventDefault();\n if (c.stopImmediatePropagation && 'stopImmediatePropagation' in e) {\n (e as any).stopImmediatePropagation();\n } else if (c.stopPropagation) {\n e.stopPropagation();\n }\n}\n\n\nfunction computeOffsets(e: MouseEvent, t: EventTarget | null) {\n let offsetX = (e as any).offsetX as number | undefined;\n let offsetY = (e as any).offsetY as number | undefined;\n\n // Cross-browser / SVG fallback (Firefox/SVG often lacks offsetX/Y)\n if ((offsetX == null || offsetY == null) && t && (t as any).getBoundingClientRect) {\n const el = t as Element;\n const r = el.getBoundingClientRect();\n offsetX = e.clientX - r.left;\n offsetY = e.clientY - r.top;\n }\n return { offsetX, offsetY };\n}\n\nfunction serializeEvent(e: Event) {\n const base: any = {\n type: e.type,\n timeStamp: e.timeStamp,\n bubbles: e.bubbles,\n cancelable: e.cancelable,\n composed: e.composed,\n };\n\n // Common modifier keys if present\n const mods: any = {\n altKey: (e as any).altKey ?? false,\n ctrlKey: (e as any).ctrlKey ?? false,\n metaKey: (e as any).metaKey ?? false,\n shiftKey: (e as any).shiftKey ?? false,\n };\n\n // Mouse / Pointer\n if (e instanceof MouseEvent) {\n const { offsetX, offsetY } = computeOffsets(e, e.target);\n Object.assign(base, {\n x: (e as any).x, y: (e as any).y,\n clientX: e.clientX, clientY: e.clientY,\n pageX: e.pageX, pageY: e.pageY,\n screenX: e.screenX, screenY: e.screenY,\n movementX: (e as any).movementX, movementY: (e as any).movementY,\n button: e.button, buttons: e.buttons,\n offsetX, offsetY,\n });\n }\n\n // PointerEvent (if available)\n // eslint-disable-next-line no-undef\n if (typeof PointerEvent !== 'undefined' && e instanceof PointerEvent) {\n Object.assign(base, {\n pointerId: e.pointerId,\n width: e.width, height: e.height,\n pressure: e.pressure, tangentialPressure: (e as any).tangentialPressure,\n tiltX: e.tiltX, tiltY: e.tiltY, twist: (e as any).twist,\n pointerType: e.pointerType, isPrimary: e.isPrimary,\n });\n }\n\n // Wheel\n if (typeof WheelEvent !== 'undefined' && e instanceof WheelEvent) {\n Object.assign(base, {\n deltaX: e.deltaX, deltaY: e.deltaY, deltaZ: e.deltaZ, deltaMode: e.deltaMode,\n });\n }\n\n // Keyboard\n if (e instanceof KeyboardEvent) {\n Object.assign(base, {\n key: e.key, code: e.code, repeat: e.repeat, location: e.location, isComposing: e.isComposing,\n });\n }\n // InputEvent\n if (e instanceof InputEvent) {\n Object.assign(base, {\n data: e.data, inputType: e.inputType, isComposing: e.isComposing\n });\n }\n\n // Focus\n if (e instanceof FocusEvent) {\n Object.assign(base, {\n // relatedTarget gets serialized as a node id below\n });\n }\n\n // Touch\n if (typeof TouchEvent !== 'undefined' && e instanceof TouchEvent) {\n const mapTouch = (t: Touch) => ({\n identifier: t.identifier,\n clientX: t.clientX, clientY: t.clientY,\n pageX: t.pageX, pageY: t.pageY,\n screenX: t.screenX, screenY: t.screenY,\n radiusX: (t as any).radiusX, radiusY: (t as any).radiusY,\n rotationAngle: (t as any).rotationAngle, force: (t as any).force,\n });\n Object.assign(base, {\n touches: Array.from(e.touches).map(mapTouch),\n changedTouches: Array.from(e.changedTouches).map(mapTouch),\n targetTouches: Array.from(e.targetTouches).map(mapTouch),\n });\n }\n // Wheel\n if (typeof PopStateEvent !== 'undefined' && e instanceof PopStateEvent) {\n Object.assign(base, {\n state: e.state, \n });\n }\n\n const targetNode = (e.target instanceof Node) ? htmlElementToONode(e.target) : null;\n const currentTargetNode = (e.currentTarget instanceof Node) ? htmlElementToONode(e.currentTarget) : null;\n const relatedTarget = (e as any).relatedTarget instanceof Node ? htmlElementToONode((e as any).relatedTarget) : null;\n\n return {\n ...base,\n ...mods,\n target: targetNode,\n currentTarget: currentTargetNode,\n relatedTarget,\n // Keep original type name handy for the bridge side if needed\n __eventClass__: e.constructor ? e.constructor.name : 'Event',\n };\n}\n\n\nfunction attachEventListener(nodeId: string,\n cbId: string,\n eventName: string,\n options?: boolean | AddEventListenerOptions,\n policy?: { alwaysPreventDefault?: boolean; alwaysStopPropagation?: boolean; alwaysStopImmediatePropagation?: boolean }\n ) {\n const node = ELEMENT_REGISTRY.get(nodeId) as EventTarget | undefined;\n if (!node || typeof (node as any).addEventListener !== 'function') return;\n\n const handler = (e: Event) => {\n const payload = serializeEvent(e);\n if (policy) {\n applyControl(e, {\n preventDefault: policy.alwaysPreventDefault,\n stopImmediatePropagation: policy.alwaysStopImmediatePropagation,\n stopPropagation: policy.alwaysStopPropagation\n });\n }\n emit(cbId, eventName, payload); // no native Event escapes across the bridge\n };\n\n DOM_EVENT_LISTENER.set(cbId, { target: node, type: eventName, handler, options });\n (node as any).addEventListener(eventName, handler, options);\n}\n\nfunction dettachEventListener(nodeId: string, cbId: string) {\n const entry = DOM_EVENT_LISTENER.get(cbId);\n if (!entry) return;\n DOM_EVENT_LISTENER.delete(cbId);\n entry.target.removeEventListener(entry.type, entry.handler);\n}\nfunction customRequestAnimationFrame(cbId: string,) {\n return requestAnimationFrame((fps) => {\n emit(cbId, 'requestAnimationFrame', fps)\n })\n}\nfunction customCancelAnimationFrame(id: number) {\n cancelAnimationFrame(id)\n}\nfunction appendComponentStyles(styleId: string) {\n const style = ELEMENT_REGISTRY.get(styleId)\n try {\n document.head.appendChild(style)\n } catch (error) {\n }\n}\nfunction createComponentStyles(css: string, inject: boolean = true) {\n const styleEl = document.createElement('style')\n styleEl.innerHTML = css\n if(inject) {\n document.head.appendChild(styleEl)\n }\n return htmlElementToONode(styleEl)\n}\nfunction rejectComponentStyles(styleId: string) {\n const style = ELEMENT_REGISTRY.get(styleId)\n try {\n document.head.removeChild(style)\n } catch (error) {\n \n }\n}\n\nfunction replaceChildNode(parentId: string, nodeId: string, toReplaceId: string): void {\n const parent = ELEMENT_REGISTRY.get(parentId)\n const node = ELEMENT_REGISTRY.get(nodeId)\n const toReplace = ELEMENT_REGISTRY.get(toReplaceId)\n if (!isElementNode(parent) || !node || !toReplace) {\n return\n }\n parent.replaceChild(node, toReplace)\n}\nfunction parentNode(nodeId: string): ONode | null {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node) {\n return null\n }\n return htmlElementToONode(node.parentNode as Node)\n}\nfunction nextSibling(nodeId: string): ONode | null {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node) {\n return null\n }\n return htmlElementToONode((node as Element).nextSibling as Node)\n}\nfunction arrayBufferToBase64(buffer: Uint8Array) {\n let binary = '';\n for (let i = 0; i < buffer.length; i++) {\n binary += String.fromCharCode(buffer[i]);\n }\n return btoa(binary);\n}\nasync function httpFetch(url: string, data: { method: string, headers: Record<string, string>, body: any, credentials: \"include\" | \"omit\" | \"same-origin\" }, encodeAs?: 'json' | 'base64' | 'text' | 'buffer' | 'bytes'): Promise<any> {\n const result = await fetch(url, data)\n switch (encodeAs) {\n case 'text':\n return await result.text()\n case 'base64':\n return arrayBufferToBase64(await result.bytes())\n case 'buffer': {\n const buff = await result.arrayBuffer()\n const id = putInRegistry(buff)\n return asOObject(buff, id)\n }\n case 'bytes': { const buff = await result.bytes()\n const id = putInRegistry(buff)\n return asOObject(buff, id)}\n default:\n return await result.json()\n }\n}\n\nfunction nativeAlert(message: string) {\n console.log('Alerting', message)\n window.alert(message)\n}\nfunction nativePrompt(message: string) {\n console.log('Alerting', message)\n window.prompt(message)\n}\n\n\nfunction setInnerHTML(nodeId: string, html: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.innerHTML = html\n}\nfunction getInnerHTML(nodeId: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return node.innerHTML\n}\n\nfunction invokeObjectMethod(id: string, fn: string, ...args: any[]): any {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return null\n }\n const tmp = getAdvanceObjectProperty(node, fn)\n if (!tmp) {\n return null\n }\n const [method, target] = tmp\n return (method as Function).apply(target, args.map(e => {\n if (e && typeof e === 'object' && e['__ref__']) {\n return ELEMENT_REGISTRY.get(e['__ref__']) ?? e\n }\n return e\n }))\n}\nasync function invokeObjectMethodAndHold(id: string, fn: string, ...args: any[]): Promise<OObject | null> {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return null\n }\n const tmp = getAdvanceObjectProperty(node, fn)\n if (!tmp) {\n return null\n }\n const [method, target] = tmp\n const res = await (method as Function).apply(target, args.map(e => {\n if (e && typeof e === 'object' && e['__ref__']) {\n return ELEMENT_REGISTRY.get(e['__ref__']) ?? e\n }\n return e\n }))\n if (res) {\n return { uid: putInRegistry(res), objType: typeof res, isArray: false, tag: 'unknown' }\n }\n return res\n}\nfunction getObjectProperty(id: string, name: string): any {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return null\n }\n const tmp = getAdvanceObjectProperty(node, name)\n if (tmp) {\n return tmp[0]\n }\n return null\n}\nfunction getObjectPropertyAndHold(id: string, name: string): any {\n const res = getObjectProperty(id, name)\n if (res) {\n return { uid: putInRegistry(res), objType: typeof res, isArray: false, tag: 'unknown' }\n }\n return res\n}\nfunction getAdvanceObjectProperty(obj: any, path: string): [any, any] | null {\n const els = path.split('.')\n let current: any = obj\n let target: any = obj\n for (let i = 0; i < els.length; i++) {\n const el = els[i]\n if (!(el in current)) {\n return null\n }\n target = current\n current = current[el]\n }\n return [current, target]\n}\nfunction setAdvanceObjectProperty(obj: any, path: string, value: any): void {\n const els = path.split('.')\n\n let current: any = obj\n for (let i = 0; i < els.length - 1; i++) {\n const el = els[i]\n if (!(el in current)) {\n return\n }\n current = current[el]\n }\n const k = els[els.length - 1]\n current[k] = value && typeof value === 'object' && value['__ref__'] ? ELEMENT_REGISTRY.get(value['__ref__']) ?? value : value\n}\nfunction setObjectProperty(id: string, name: string, value: any): void {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return\n }\n setAdvanceObjectProperty(node, name, value)\n}\nexport declare var NativeOUID: { invoke: (id: string, fn: string, argsJson: string) => void } | undefined\n\nconst listeners = new Map<string, ((id: string, fn: string, argJson: string) => void)[]>()\n\nexport function emit(id: string, ...args: any[]): void {\n NativeOUID?.invoke(id, '__ouid_web_event__', JSON.stringify(args))\n}\nfunction subscribe(event: string, callback: (id: string, fnName: string, argsJson: string) => void): void {\n if (!listeners.has(event)) {\n listeners.set(event, []);\n // attach a single handler for native -> JS calls\n (window as any)[event] = (id: string, fnName: string, argsJson: string) => {\n listeners.get(event)?.forEach(cb => cb(id, fnName, argsJson))\n }\n }\n listeners.get(event)!.push(callback)\n}\nfunction releaseNode(nodeId: string): void {\n // remove node from ELEMENT_REGISTRY\n removeFromRegistry(nodeId)\n}\nfunction locationPath(): string {\n return window.location.pathname\n}\nfunction historyPushState(data: any, path: string): void {\n window.history.pushState(data, '', path)\n}\nfunction dispatchPopStateEvent(): void {\n window.dispatchEvent(new PopStateEvent('popstate', { state: window.history.state }))\n}\nfunction dispatchEvent(id: string, eventName: string, eventClass?: string, initDict?: any): void {\n const obj = ELEMENT_REGISTRY.get(id)\n if (!obj) {\n return\n }\n if ('dispatchEvent' in obj) {\n const event = eventClass ? new window[eventClass as keyof Window](eventName, initDict) : new CustomEvent(eventName, initDict)\n obj.dispatchEvent(event)\n }\n}\nfunction asOObject(obj: any, id: string): OObject {\n return {\n tag: id.split(/\\s/)[0],\n uid: id,\n objType: typeof obj,\n isArray: Array.isArray(obj)\n }\n}\nfunction getOObject(id: string): OObject | null {\n const obj = ELEMENT_REGISTRY.get(id)\n if (!obj) {\n return null\n }\n return asOObject(obj, id)\n}\nfunction acquireObject(name: string): OObject | null {\n const obj = window[name as keyof Window]\n if (!obj) {\n return null\n }\n const objId = putInRegistry(obj, name)\n return asOObject(obj, objId)\n}\nfunction newObject(ctr: string, ...args: any): OObject | null {\n const tmp = getAdvanceObjectProperty(window, ctr)\n if (!tmp) {\n return null\n }\n const Ctr = tmp[0]\n const instance = new Ctr(...args)\n const objId = putInRegistry(instance)\n return asOObject(instance, objId)\n}\nfunction addSetTimeout(cbId: string, delay: number): number {\n const cb = () => {\n emit(cbId)\n }\n return setTimeout(cb, delay) as any\n}\nfunction addSetInterval(cbId: string, delay: number): number {\n const cb = () => {\n emit(cbId)\n }\n return setInterval(cb, delay) as any\n}\nfunction removeSetTimeout(timerId: number): void {\n clearTimeout(timerId)\n}\n\nfunction removeSetInterval(timerId: number): void {\n clearInterval(timerId)\n}\ninterface BatchAction {\n fn: string\n args: any[]\n}\nconst operationNameMap: Record<string, string> = {\n 'after': 'insertAfter',\n 'setProperty': 'setObjectProperty',\n 'invoke': 'invokeObjectMethod',\n 'remove': 'removeNode',\n 'release': 'releaseNode',\n 'setHTML': 'setInnerHTML',\n}\nfunction batchActions(actions: BatchAction[]) {\n actions.forEach(op => {\n const localFn = `_ouid_${operationNameMap[op.fn] ?? op.fn}`\n const fn = window[localFn as keyof Window] as Function\n if(fn) {\n fn(...op.args)\n }\n })\n}\ndeclare const __WEB_OUID_EMULATION__: boolean;\nconst UNIFIED_ENV = (globalThis as any)['UNIFIED_ENV'] ?? (window as any)['UNIFIED_ENV'] ?? ((window as any).WebOUID && (window as any).WebOUID.UNIFIED_ENV)\nexport function initDOM(): void {\n if (__WEB_OUID_EMULATION__ || UNIFIED_ENV) {\n ; (globalThis as any).__OUI_PUR_JS_CONTEXT__ = true\n ; (window as any).NativeOUID = Object.assign((window as any).NativeOUID ?? {}, {\n invoke: (id: string, fn: string, argsJson: string) => {\n (window as any)[`${fn}`](id, argsJson)\n }\n })\n ; (window as any).WebOUID = Object.assign((window as any).WebOUID ?? {}, {\n invoke: async (id: string, fn: string, argsJson: string) => {\n (window as any)[`__native_message__`](id, fn, argsJson)\n }\n })\n const win: Window & {WebOUID: any, __ouid_native_callback__: any, __ouid_native_promises: Record<string, {resolve: (value: string) => void, reject: (value?: string) => void}>} = (window as any);\n win.__ouid_native_promises = {};\n (window as any).WebOUID.nativeCall = (id: string, fn: string, argsJson: string) => new Promise((resolve, reject) => {\n win.__ouid_native_promises[id] = {resolve, reject}\n win.WebOUID._callNativeFunction_(id, fn, argsJson)\n })\n win.__ouid_native_callback__ = (id: string, success: boolean, result: string) => {\n if (win.__ouid_native_promises && win.__ouid_native_promises[id]) {\n if (success) {\n win.__ouid_native_promises[id].resolve(result);\n } else {\n win.__ouid_native_promises[id].reject(result);\n }\n delete win.__ouid_native_promises[id]; // Clean up\n }\n }\n }\n \n putInRegistry(document, 'document');\n putInRegistry(window, 'window');\n (window as any)._ouid_query = query;\n (window as any)._ouid_queryAll = queryAll;\n (window as any)._ouid_createElement = createElement;\n (window as any)._ouid_createComment = createComment;\n (window as any)._ouid_invokeObjectMethod = invokeObjectMethod;\n (window as any)._ouid_invokeObjectMethodAndHold = invokeObjectMethodAndHold;\n (window as any)._ouid_getObjectProperty = getObjectProperty;\n (window as any)._ouid_getObjectPropertyAndHold = getObjectPropertyAndHold;\n (window as any)._ouid_setObjectProperty = setObjectProperty;\n (window as any)._ouid_appendChild = appendChild;\n (window as any)._ouid_addClass = addClass;\n (window as any)._ouid_removeClass = removeClass;\n (window as any)._ouid_setInnerHTML = setInnerHTML;\n (window as any)._ouid_getInnerHTML = getInnerHTML;\n (window as any)._ouid_setInnerText = setInnerText;\n (window as any)._ouid_getInnerText = getInnerText;\n (window as any)._ouid_setContentText = setContentText;\n (window as any)._ouid_getContentText = getContentText;\n (window as any)._ouid_setAttribute = setAttribute;\n (window as any)._ouid_removeAttribute = removeAttribute;\n (window as any)._ouid_getAttribte = getAttribte;\n (window as any)._ouid_getAttribteNames = getAttribteNames;\n (window as any)._ouid_childNodes = childNodes;\n (window as any)._ouid_cloneNode = cloneNode;\n (window as any)._ouid_removeNode = removeNode;\n (window as any)._ouid_removeChild = removeChild;\n (window as any)._ouid_replaceChildNode = replaceChildNode;\n (window as any)._ouid_replaceNode = replaceWith;\n (window as any)._ouid_insertAfter = insertAfter;\n (window as any)._ouid_insertBefore = insertBefore;\n (window as any)._ouid_setInputValue = setInputValue;\n (window as any)._ouid_inputValue = inputValue;\n (window as any)._ouid_attachEventListener = attachEventListener;\n (window as any)._ouid_dettachEventListener = dettachEventListener;\n (window as any)._ouid_createComponentStyles = createComponentStyles;\n (window as any)._ouid_appendComponentStyles = appendComponentStyles;\n (window as any)._ouid_rejectComponentStyles = rejectComponentStyles;\n (window as any)._ouid_locationPath = locationPath;\n (window as any)._ouid_historyPushState = historyPushState;\n (window as any)._ouid_dispatchPopStateEvent = dispatchPopStateEvent;\n (window as any)._ouid_parentNode = parentNode;\n (window as any)._ouid_releaseNode = releaseNode;\n (window as any)._ouid_getOObject = getOObject;\n (window as any)._ouid_acquireObject = acquireObject;\n (window as any)._ouid_newObject = newObject;\n (window as any)._ouid_dispatchEvent = dispatchEvent;\n (window as any)._ouid_setTimeout = addSetTimeout;\n (window as any)._ouid_clearTimeout = removeSetTimeout;\n (window as any)._ouid_dsetInterval = addSetInterval;\n (window as any)._ouid_clearInterval = removeSetInterval;\n (window as any)._ouid_setStyle = setStyle;\n (window as any)._ouid_nextSibling = nextSibling;\n (window as any)._ouid_fetch = httpFetch;\n (window as any)._ouid_alert = nativeAlert;\n (window as any)._ouid_prompt = nativePrompt;\n (window as any)._ouid_requestAnimationFrame = customRequestAnimationFrame;\n (window as any)._ouid_cancelAnimationFrame = customCancelAnimationFrame;\n (window as any)._ouid_batchActions = batchActions;\n subscribe('__native_message__', async (id, fnName: string, argsJson: string) => {\n const fn = (window as any)[fnName]\n if (!fn) {\n // try to call native brige\n if(UNIFIED_ENV) {\n try {\n try {\n const res = await (window as any).WebOUID.nativeCall(id, fnName, argsJson)\n NativeOUID?.invoke(id, '__ouid_native_event_success__', res)\n } catch (error: any) {\n NativeOUID?.invoke(id, '__ouid_native_event_error__', error)\n } // {\"status\":\"success\",\"data\":{\"value\":\"76299780\"}}\n } catch (error) {\n }\n }\n NativeOUID?.invoke(id, '__ouid_native_event_error__', JSON.stringify([{ 'message': 'No function match the given name: (' + fnName + ')' }]))\n return\n }\n const result = await (fn as Function)(...(JSON.parse(argsJson) as Array<any>))\n NativeOUID?.invoke(id, '__ouid_native_event_success__', JSON.stringify([{ status: 'success', data: result }]))\n });\n}\n\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/dom/dom.ts"],"names":["stringToHex","str","hexString","i","length","hex","charCodeAt","toString","ELEMENT_REGISTRY","Map","storedElementMap","WeakMap","OBJECT_INDEX","DOM_EVENT_LISTENER","query","selector","filter","nodeId","doc","get","document","isElementNode","element","querySelector","htmlElementToONode","queryAll","querySelectorAll","map","e","childNodes","node","children","treeWalker","createTreeWalker","tmp","firstChild","parentNode","push","nextSibling","c","nodeType","Node","TEXT_NODE","ELEMENT_NODE","ATTRIBUTE_NODE","COMMENT_NODE","elementAttributes","attributes","attr","name","value","recursiveLevel","uid","putInRegistry","tag","tagName","toLocaleLowerCase","type","isArray","objType","fullFilter","Set","forEach","f","classes","classList","style","cssText","textContent","createElement","props","el","has","createElementNS","k","setAttribute","createComment","data","elementId","id","padStart","set","error","console","removeFromRegistry","n","obj","cleanupRegistryForNode","delete","root","stack","pop","cleanupDomListenersForNode","cbId","entry","target","contains","removeEventListener","handler","appendChild","childId","child","setInnerText","text","innerText","setContentText","getContentText","removeClass","tokens","remove","addClass","add","getInnerText","setStyle","key","setProperty","removeAttribute","getAttribte","_a","getAttribute","getAttribteNames","getAttributeNames","cloneNode","subtree","removeNode","removeChild","replaceWith","toReplaceId","toReplace","insertAfter","toInsertId","toInsert","after","insertBefore","setInputValue","inputValue","applyControl","preventDefault","stopImmediatePropagation","stopPropagation","computeOffsets","t","offsetX","offsetY","getBoundingClientRect","r","clientX","left","clientY","top","serializeEvent","_b","_c","_d","base","timeStamp","bubbles","cancelable","composed","mods","altKey","ctrlKey","metaKey","shiftKey","MouseEvent","Object","assign","x","y","pageX","pageY","screenX","screenY","movementX","movementY","button","buttons","PointerEvent","pointerId","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","WheelEvent","deltaX","deltaY","deltaZ","deltaMode","KeyboardEvent","code","repeat","location","isComposing","InputEvent","inputType","FocusEvent","MessageEvent","origin","lastEventId","CloseEvent","reason","wasClean","ErrorEvent","message","TouchEvent","mapTouch","__name","identifier","radiusX","radiusY","rotationAngle","force","touches","Array","from","changedTouches","targetTouches","PopStateEvent","state","targetNode","currentTargetNode","currentTarget","relatedTarget","__spreadProps","__spreadValues","__eventClass__","attachEventListener","eventName","options","policy","addEventListener","payload","alwaysPreventDefault","alwaysStopImmediatePropagation","alwaysStopPropagation","emit","dettachEventListener","customRequestAnimationFrame","requestAnimationFrame","fps","customCancelAnimationFrame","cancelAnimationFrame","appendComponentStyles","styleId","head","createComponentStyles","css","inject","styleEl","innerHTML","rejectComponentStyles","replaceChildNode","parentId","parent","replaceChild","arrayBufferToBase64","buffer","binary","String","fromCharCode","btoa","httpFetch","url","encodeAs","result","fetch","bytes","buff","arrayBuffer","asOObject","json","nativeAlert","log","window","alert","nativePrompt","prompt","setInnerHTML","html","getInnerHTML","invokeObjectMethod","fn","args","getAdvanceObjectProperty","method","apply","invokeObjectMethodAndHold","res","getObjectProperty","getObjectPropertyAndHold","path","els","split","current","setAdvanceObjectProperty","setObjectProperty","listeners","NativeOUID","invoke","JSON","stringify","subscribe","event","callback","fnName","argsJson","cb","releaseNode","locationPath","pathname","historyPushState","history","pushState","dispatchPopStateEvent","dispatchEvent","eventClass","initDict","CustomEvent","getOObject","acquireObject","objId","newObject","ctr","Ctr","instance","addSetTimeout","delay","setTimeout","addSetInterval","setInterval","removeSetTimeout","timerId","clearTimeout","removeSetInterval","clearInterval","operationNameMap","batchActions","actions","op","localFn","UNIFIED_ENV","globalThis","WebOUID","initDOM","__WEB_OUID_EMULATION__","__OUI_PUR_JS_CONTEXT__","win","__ouid_native_promises","nativeCall","Promise","resolve","reject","_callNativeFunction_","__ouid_native_callback__","success","_ouid_query","_ouid_queryAll","_ouid_createElement","_ouid_createComment","_ouid_invokeObjectMethod","_ouid_invokeObjectMethodAndHold","_ouid_getObjectProperty","_ouid_getObjectPropertyAndHold","_ouid_setObjectProperty","_ouid_appendChild","_ouid_addClass","_ouid_removeClass","_ouid_setInnerHTML","_ouid_getInnerHTML","_ouid_setInnerText","_ouid_getInnerText","_ouid_setContentText","_ouid_getContentText","_ouid_setAttribute","_ouid_removeAttribute","_ouid_getAttribte","_ouid_getAttribteNames","_ouid_childNodes","_ouid_cloneNode","_ouid_removeNode","_ouid_removeChild","_ouid_replaceChildNode","_ouid_replaceNode","_ouid_insertAfter","_ouid_insertBefore","_ouid_setInputValue","_ouid_inputValue","_ouid_attachEventListener","_ouid_dettachEventListener","_ouid_createComponentStyles","_ouid_appendComponentStyles","_ouid_rejectComponentStyles","_ouid_locationPath","_ouid_historyPushState","_ouid_dispatchPopStateEvent","_ouid_parentNode","_ouid_releaseNode","_ouid_getOObject","_ouid_acquireObject","_ouid_newObject","_ouid_dispatchEvent","_ouid_setTimeout","_ouid_clearTimeout","_ouid_dsetInterval","_ouid_clearInterval","_ouid_setStyle","_ouid_nextSibling","_ouid_fetch","_ouid_alert","_ouid_prompt","_ouid_requestAnimationFrame","_ouid_cancelAnimationFrame","_ouid_batchActions","parse","status"],"mappings":"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","file":"dom.cjs","sourcesContent":["export function stringToHex(str: string): string {\n let hexString = '';\n for (let i = 0; i < str.length; i++) {\n const charCode = str.charCodeAt(i);\n let hex = charCode.toString(16);\n hex = hex.length === 1 ? '0' + hex : hex;\n hexString += hex;\n }\n return hexString;\n}\ntype EventControl = {\n preventDefault?: boolean;\n stopPropagation?: boolean;\n stopImmediatePropagation?: boolean;\n};\n\ntype OObject = { uid: string, objType: string, tag: string, isArray: boolean }\nexport type ONode = OObject & { textContent?: string | null, type: 'Element' | 'Text' | 'Comment' | 'Attribute' | 'Unknown', attributes?: { name: string, value: string }[], children?: ONode[], classes?: string[], style?: string }\nexport const ELEMENT_REGISTRY = new Map<string, any>()\nconst storedElementMap = new WeakMap<Node, string>()\nlet OBJECT_INDEX = 0\ntype DomListenerEntry = {\n target: EventTarget;\n type: string;\n handler: (e: Event) => void;\n options?: boolean | AddEventListenerOptions;\n};\n\nconst DOM_EVENT_LISTENER = new Map<string, DomListenerEntry>()\n/**\n * Query a dom element and store it in ELEMENT_REGISTRY for usage in js engine\n * @param selector \n */\nfunction query<T extends 'children' | 'classes' | 'style' | 'attributes'>(selector: string, filter?: T[], nodeId?: string): ONode | null {\n const doc = nodeId ? ELEMENT_REGISTRY.get(nodeId) : document\n if (!isElementNode(doc)) {\n return null\n }\n const element = doc.querySelector(selector)\n if (!element) {\n return null\n }\n return htmlElementToONode(element, filter, 1)\n}\nfunction queryAll<T extends 'children' | 'classes' | 'style' | 'attributes'>(selector: string, filter?: T[], nodeId?: string): ONode[] {\n const doc = nodeId ? ELEMENT_REGISTRY.get(nodeId) : document\n if (!isElementNode(doc)) {\n return []\n }\n const elements = [...doc.querySelectorAll(selector)]\n const nodes: ONode[] = elements.map(e => htmlElementToONode(e, filter, 1)).filter(e => e !== null)\n return nodes\n}\nfunction childNodes(nodeId: string): ONode[] {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return []\n }\n const children: ChildNode[] = []\n const treeWalker = document.createTreeWalker(node)\n let tmp: Node | null = treeWalker.firstChild();\n while (tmp) {\n if (tmp.parentNode === node) {\n children.push(tmp as ChildNode)\n }\n tmp = treeWalker.nextSibling();\n }\n\n return children.map(c => htmlElementToONode(c, ['attributes'], 0)).filter(e => e !== null)\n}\nfunction nodeType(element: Node): 'Element' | 'Text' | 'Comment' | 'Attribute' | 'Unknown' {\n switch (element.nodeType) {\n case Node.TEXT_NODE:\n return 'Text'\n case Node.ELEMENT_NODE:\n return 'Element'\n case Node.ATTRIBUTE_NODE:\n return 'Attribute'\n case Node.COMMENT_NODE:\n return 'Comment'\n default:\n return 'Unknown'\n }\n}\ntype Attributes = { name: string, value: string }[]\nfunction elementAttributes(element: Element): Attributes {\n return [...element.attributes].map((attr) => {\n return { name: attr.name, value: attr.value }\n })\n}\nfunction htmlElementToONode<T extends 'children' | 'classes' | 'style' | 'attributes'>(element: Node, filter?: Array<T>, recursiveLevel: number = 1): ONode | null {\n if (!element) {\n return null\n }\n const node: ONode = { uid: putInRegistry(element), tag: isElementNode(element) ? element.tagName.toLocaleLowerCase() : '', type: nodeType(element), isArray: false, objType: typeof element }\n const fullFilter = filter ? new Set([...filter, 'attributes', 'classes']) : new Set(['attributes', 'classes'])\n if (isElementNode(element)) {\n fullFilter.forEach(f => {\n switch (f) {\n case 'attributes':\n node.attributes = elementAttributes(element)\n break;\n case 'children':\n if (recursiveLevel > 0) {\n node.children = [...element.children].map(c => htmlElementToONode(c, filter, recursiveLevel - 1)).filter(e => e !== null)\n }\n break;\n case 'classes':\n node.classes = [...element.classList]\n break;\n case 'style':\n node.style = (element as HTMLElement)?.style.cssText\n break;\n }\n })\n }\n if (node.type === 'Text') {\n node.textContent = element.textContent\n }\n return node\n}\n/**\n * Create a new DOM element\n * @param tag The element tag name\n * @param props The attributes to set on the new created element\n * @returns a node instance\n */\nfunction createElement(tag: string, props: Record<string, string>): ONode | null {\n const SVG_NS = \"http://www.w3.org/2000/svg\";\n const SVG_TAGS = new Set([\n \"svg\", \"path\", \"circle\", \"rect\", \"line\", \"polyline\", \"polygon\",\n \"ellipse\", \"g\", \"defs\", \"marker\", \"clipPath\", \"mask\", \"text\", \"tspan\"\n ]);\n\n const isSvgTag = SVG_TAGS.has(tag);\n\n // Create element in the right namespace\n const el = isSvgTag\n ? document.createElementNS(SVG_NS, tag)\n : document.createElement(tag);\n\n // Apply props as attributes (works for both HTML and SVG)\n for (const k in props) {\n el.setAttribute(k, props[k]);\n }\n\n return htmlElementToONode(el);\n}\nfunction createComment(data: string) {\n const el = document.createComment(data)\n return htmlElementToONode(el)\n}\nfunction putInRegistry(element: any, elementId?: string): string {\n\n if (storedElementMap.has(element)) {\n return storedElementMap.get(element)!\n }\n const id = elementId ?? stringToHex(`${OBJECT_INDEX++}`.padStart(16, '0'))\n ELEMENT_REGISTRY.set(id, element)\n\n try {\n storedElementMap.set(element, id)\n } catch (error) {\n console.error(error)\n }\n return id\n}\nfunction removeFromRegistry(n: Node | string): void {\n if (typeof n === 'string') {\n const obj = ELEMENT_REGISTRY.get(n);\n if (obj instanceof Node) {\n cleanupRegistryForNode(obj);\n } else {\n // Non-DOM object\n ELEMENT_REGISTRY.delete(n);\n }\n return;\n }\n\n // n is a DOM Node\n cleanupRegistryForNode(n);\n}\n\nfunction cleanupRegistryForNode(root: Node): void {\n const stack: Node[] = [root];\n\n while (stack.length) {\n const node = stack.pop()!;\n cleanupDomListenersForNode(node);\n\n const id = storedElementMap.get(node);\n if (id) {\n ELEMENT_REGISTRY.delete(id);\n storedElementMap.delete(node);\n }\n\n const children = node.childNodes;\n for (let i = 0; i < children.length; i++) {\n stack.push(children[i]);\n }\n }\n}\n\nfunction cleanupDomListenersForNode(root: Node): void {\n for (const [cbId, entry] of DOM_EVENT_LISTENER) {\n const target = entry.target;\n if (\n target === root ||\n (target instanceof Node && root.contains(target))\n ) {\n target.removeEventListener(entry.type, entry.handler);\n DOM_EVENT_LISTENER.delete(cbId);\n }\n }\n}\n\nfunction appendChild(nodeId: string, childId: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const child = ELEMENT_REGISTRY.get(childId)\n if (!node || !child) {\n return\n }\n node.appendChild(child)\n}\nfunction isElementNode(node: Node | null | undefined): node is HTMLElement {\n return node === document || node?.nodeType === Node.ELEMENT_NODE\n}\nfunction setInnerText(nodeId: string, text: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.innerText = text\n}\nfunction setContentText(nodeId: string, text: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node || isElementNode(node)) {\n return\n }\n node!.textContent = text\n}\nfunction getContentText(nodeId: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node || isElementNode(node)) {\n return ''\n }\n return node!.textContent\n}\n\nfunction removeClass(nodeId: string, ...tokens: string[]) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.classList.remove(...tokens)\n}\nfunction addClass(nodeId: string, ...tokens: string[]) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.classList.add(...tokens)\n\n}\n\nfunction getInnerText(nodeId: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return node.innerText\n}\nfunction setStyle(nodeId: string, key: string, value: any) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.style.setProperty(key, value)\n}\nfunction setAttribute(nodeId: string, name: string, value: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.setAttribute(name, value)\n return elementAttributes(node)\n}\nfunction removeAttribute(nodeId: string, name: string): Attributes {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return []\n }\n node.removeAttribute(name)\n return elementAttributes(node)\n}\nfunction getAttribte(nodeId: string, name: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return node.getAttribute(name) ?? ''\n}\nfunction getAttribteNames(nodeId: string): string[] {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return []\n }\n return node.getAttributeNames()\n}\nfunction cloneNode(nodeId: string, subtree: boolean): ONode | null {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!(node)) {\n return null\n }\n return htmlElementToONode(node.cloneNode(subtree))\n}\nfunction removeNode(nodeId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId) as Element | null\n node?.remove()\n}\nfunction removeChild(nodeId: string, childId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId) as Element | null\n const child = ELEMENT_REGISTRY.get(childId)\n if (!child) {\n return\n }\n node?.removeChild(child)\n}\nfunction replaceWith(nodeId: string, toReplaceId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const toReplace = ELEMENT_REGISTRY.get(toReplaceId)\n // if (!isElementNode(node) || !toReplace) {\n // \treturn\n // }\n ; (node as Element).replaceWith(toReplace)\n}\nfunction insertAfter(nodeId: string, toInsertId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const toInsert = ELEMENT_REGISTRY.get(toInsertId)\n if (!toInsert || !node) {\n return\n }\n ; (node as Element).after(toInsert)\n}\nfunction insertBefore(nodeId: string, childId: string, toInsertId: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n const child = ELEMENT_REGISTRY.get(childId)\n const toInsert = ELEMENT_REGISTRY.get(toInsertId)\n if (!isElementNode(node) || !toInsert || !child) {\n return\n }\n node.insertBefore(toInsert, child)\n}\nfunction setInputValue(nodeId: string, value: string): void {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n (node as HTMLInputElement | HTMLTextAreaElement).value = value\n}\nfunction inputValue(nodeId: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return (node as HTMLInputElement | HTMLTextAreaElement).value\n}\n\n\nfunction applyControl(e: Event, c?: EventControl) {\n if (!c) return;\n if (c.preventDefault) e.preventDefault();\n if (c.stopImmediatePropagation && 'stopImmediatePropagation' in e) {\n (e as any).stopImmediatePropagation();\n } else if (c.stopPropagation) {\n e.stopPropagation();\n }\n}\n\n\nfunction computeOffsets(e: MouseEvent, t: EventTarget | null) {\n let offsetX = (e as any).offsetX as number | undefined;\n let offsetY = (e as any).offsetY as number | undefined;\n\n // Cross-browser / SVG fallback (Firefox/SVG often lacks offsetX/Y)\n if ((offsetX == null || offsetY == null) && t && (t as any).getBoundingClientRect) {\n const el = t as Element;\n const r = el.getBoundingClientRect();\n offsetX = e.clientX - r.left;\n offsetY = e.clientY - r.top;\n }\n return { offsetX, offsetY };\n}\n\nfunction serializeEvent(e: Event) {\n const base: any = {\n type: e.type,\n timeStamp: e.timeStamp,\n bubbles: e.bubbles,\n cancelable: e.cancelable,\n composed: e.composed,\n };\n\n // Common modifier keys if present\n const mods: any = {\n altKey: (e as any).altKey ?? false,\n ctrlKey: (e as any).ctrlKey ?? false,\n metaKey: (e as any).metaKey ?? false,\n shiftKey: (e as any).shiftKey ?? false,\n };\n\n // Mouse / Pointer\n if (e instanceof MouseEvent) {\n const { offsetX, offsetY } = computeOffsets(e, e.target);\n Object.assign(base, {\n x: (e as any).x, y: (e as any).y,\n clientX: e.clientX, clientY: e.clientY,\n pageX: e.pageX, pageY: e.pageY,\n screenX: e.screenX, screenY: e.screenY,\n movementX: (e as any).movementX, movementY: (e as any).movementY,\n button: e.button, buttons: e.buttons,\n offsetX, offsetY,\n });\n }\n\n // PointerEvent (if available)\n // eslint-disable-next-line no-undef\n if (typeof PointerEvent !== 'undefined' && e instanceof PointerEvent) {\n Object.assign(base, {\n pointerId: e.pointerId,\n width: e.width, height: e.height,\n pressure: e.pressure, tangentialPressure: (e as any).tangentialPressure,\n tiltX: e.tiltX, tiltY: e.tiltY, twist: (e as any).twist,\n pointerType: e.pointerType, isPrimary: e.isPrimary,\n });\n }\n\n // Wheel\n if (typeof WheelEvent !== 'undefined' && e instanceof WheelEvent) {\n Object.assign(base, {\n deltaX: e.deltaX, deltaY: e.deltaY, deltaZ: e.deltaZ, deltaMode: e.deltaMode,\n });\n }\n\n // Keyboard\n if (e instanceof KeyboardEvent) {\n Object.assign(base, {\n key: e.key, code: e.code, repeat: e.repeat, location: e.location, isComposing: e.isComposing,\n });\n }\n // InputEvent\n if (e instanceof InputEvent) {\n Object.assign(base, {\n data: e.data, inputType: e.inputType, isComposing: e.isComposing\n });\n }\n\n // Focus\n if (e instanceof FocusEvent) {\n Object.assign(base, {\n // relatedTarget gets serialized as a node id below\n });\n }\n\n if(e instanceof MessageEvent) {\n Object.assign(base, {\n data: e.data,\n origin: e.origin,\n lastEventId: e.lastEventId,\n });\n }\n if(e instanceof CloseEvent) {\n Object.assign(base, {\n code: e.code,\n reason: e.reason,\n wasClean: e.wasClean,\n });\n }\n if(e instanceof ErrorEvent) {\n Object.assign(base, {\n error: e.error,\n message: e.message,\n });\n }\n\n // Touch\n if (typeof TouchEvent !== 'undefined' && e instanceof TouchEvent) {\n const mapTouch = (t: Touch) => ({\n identifier: t.identifier,\n clientX: t.clientX, clientY: t.clientY,\n pageX: t.pageX, pageY: t.pageY,\n screenX: t.screenX, screenY: t.screenY,\n radiusX: (t as any).radiusX, radiusY: (t as any).radiusY,\n rotationAngle: (t as any).rotationAngle, force: (t as any).force,\n });\n Object.assign(base, {\n touches: Array.from(e.touches).map(mapTouch),\n changedTouches: Array.from(e.changedTouches).map(mapTouch),\n targetTouches: Array.from(e.targetTouches).map(mapTouch),\n });\n }\n // Wheel\n if (typeof PopStateEvent !== 'undefined' && e instanceof PopStateEvent) {\n Object.assign(base, {\n state: e.state, \n });\n }\n\n const targetNode = (e.target instanceof Node) ? htmlElementToONode(e.target) : null;\n const currentTargetNode = (e.currentTarget instanceof Node) ? htmlElementToONode(e.currentTarget) : null;\n const relatedTarget = (e as any).relatedTarget instanceof Node ? htmlElementToONode((e as any).relatedTarget) : null;\n\n return {\n ...base,\n ...mods,\n target: targetNode,\n currentTarget: currentTargetNode,\n relatedTarget,\n // Keep original type name handy for the bridge side if needed\n __eventClass__: e.constructor ? e.constructor.name : 'Event',\n };\n}\n\n\nfunction attachEventListener(nodeId: string,\n cbId: string,\n eventName: string,\n options?: boolean | AddEventListenerOptions,\n policy?: { alwaysPreventDefault?: boolean; alwaysStopPropagation?: boolean; alwaysStopImmediatePropagation?: boolean }\n ) {\n const node = ELEMENT_REGISTRY.get(nodeId) as EventTarget | undefined;\n if (!node || typeof (node as any).addEventListener !== 'function') return;\n\n const handler = (e: Event) => {\n const payload = serializeEvent(e);\n if (policy) {\n applyControl(e, {\n preventDefault: policy.alwaysPreventDefault,\n stopImmediatePropagation: policy.alwaysStopImmediatePropagation,\n stopPropagation: policy.alwaysStopPropagation\n });\n }\n emit(cbId, eventName, payload); // no native Event escapes across the bridge\n };\n\n DOM_EVENT_LISTENER.set(cbId, { target: node, type: eventName, handler, options });\n (node as any).addEventListener(eventName, handler, options);\n}\n\nfunction dettachEventListener(nodeId: string, cbId: string) {\n const entry = DOM_EVENT_LISTENER.get(cbId);\n if (!entry) return;\n DOM_EVENT_LISTENER.delete(cbId);\n entry.target.removeEventListener(entry.type, entry.handler);\n}\nfunction customRequestAnimationFrame(cbId: string,) {\n return requestAnimationFrame((fps) => {\n emit(cbId, 'requestAnimationFrame', fps)\n })\n}\nfunction customCancelAnimationFrame(id: number) {\n cancelAnimationFrame(id)\n}\nfunction appendComponentStyles(styleId: string) {\n const style = ELEMENT_REGISTRY.get(styleId)\n try {\n document.head.appendChild(style)\n } catch (error) {\n }\n}\nfunction createComponentStyles(css: string, inject: boolean = true) {\n const styleEl = document.createElement('style')\n styleEl.innerHTML = css\n if(inject) {\n document.head.appendChild(styleEl)\n }\n return htmlElementToONode(styleEl)\n}\nfunction rejectComponentStyles(styleId: string) {\n const style = ELEMENT_REGISTRY.get(styleId)\n try {\n document.head.removeChild(style)\n } catch (error) {\n \n }\n}\n\nfunction replaceChildNode(parentId: string, nodeId: string, toReplaceId: string): void {\n const parent = ELEMENT_REGISTRY.get(parentId)\n const node = ELEMENT_REGISTRY.get(nodeId)\n const toReplace = ELEMENT_REGISTRY.get(toReplaceId)\n if (!isElementNode(parent) || !node || !toReplace) {\n return\n }\n parent.replaceChild(node, toReplace)\n}\nfunction parentNode(nodeId: string): ONode | null {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node) {\n return null\n }\n return htmlElementToONode(node.parentNode as Node)\n}\nfunction nextSibling(nodeId: string): ONode | null {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!node) {\n return null\n }\n return htmlElementToONode((node as Element).nextSibling as Node)\n}\nfunction arrayBufferToBase64(buffer: Uint8Array) {\n let binary = '';\n for (let i = 0; i < buffer.length; i++) {\n binary += String.fromCharCode(buffer[i]);\n }\n return btoa(binary);\n}\nasync function httpFetch(url: string, data: { method: string, headers: Record<string, string>, body: any, credentials: \"include\" | \"omit\" | \"same-origin\" }, encodeAs?: 'json' | 'base64' | 'text' | 'buffer' | 'bytes'): Promise<any> {\n const result = await fetch(url, data)\n switch (encodeAs) {\n case 'text':\n return await result.text()\n case 'base64':\n return arrayBufferToBase64(await result.bytes())\n case 'buffer': {\n const buff = await result.arrayBuffer()\n const id = putInRegistry(buff)\n return asOObject(buff, id)\n }\n case 'bytes': { const buff = await result.bytes()\n const id = putInRegistry(buff)\n return asOObject(buff, id)}\n default:\n return await result.json()\n }\n}\n\nfunction nativeAlert(message: string) {\n console.log('Alerting', message)\n window.alert(message)\n}\nfunction nativePrompt(message: string) {\n console.log('Alerting', message)\n window.prompt(message)\n}\n\n\nfunction setInnerHTML(nodeId: string, html: string) {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return\n }\n node.innerHTML = html\n}\nfunction getInnerHTML(nodeId: string): string {\n const node = ELEMENT_REGISTRY.get(nodeId)\n if (!isElementNode(node)) {\n return ''\n }\n return node.innerHTML\n}\n\nfunction invokeObjectMethod(id: string, fn: string, ...args: any[]): any {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return null\n }\n const tmp = getAdvanceObjectProperty(node, fn)\n if (!tmp) {\n return null\n }\n const [method, target] = tmp\n return (method as Function).apply(target, args.map(e => {\n if (e && typeof e === 'object' && e['__ref__']) {\n return ELEMENT_REGISTRY.get(e['__ref__']) ?? e\n }\n return e\n }))\n}\nasync function invokeObjectMethodAndHold(id: string, fn: string, ...args: any[]): Promise<OObject | null> {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return null\n }\n const tmp = getAdvanceObjectProperty(node, fn)\n if (!tmp) {\n return null\n }\n const [method, target] = tmp\n const res = await (method as Function).apply(target, args.map(e => {\n if (e && typeof e === 'object' && e['__ref__']) {\n return ELEMENT_REGISTRY.get(e['__ref__']) ?? e\n }\n return e\n }))\n if (res) {\n return { uid: putInRegistry(res), objType: typeof res, isArray: false, tag: 'unknown' }\n }\n return res\n}\nfunction getObjectProperty(id: string, name: string): any {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return null\n }\n const tmp = getAdvanceObjectProperty(node, name)\n if (tmp) {\n return tmp[0]\n }\n return null\n}\nfunction getObjectPropertyAndHold(id: string, name: string): any {\n const res = getObjectProperty(id, name)\n if (res) {\n return { uid: putInRegistry(res), objType: typeof res, isArray: false, tag: 'unknown' }\n }\n return res\n}\nfunction getAdvanceObjectProperty(obj: any, path: string): [any, any] | null {\n const els = path.split('.')\n let current: any = obj\n let target: any = obj\n for (let i = 0; i < els.length; i++) {\n const el = els[i]\n if (!(el in current)) {\n return null\n }\n target = current\n current = current[el]\n }\n return [current, target]\n}\nfunction setAdvanceObjectProperty(obj: any, path: string, value: any): void {\n const els = path.split('.')\n\n let current: any = obj\n for (let i = 0; i < els.length - 1; i++) {\n const el = els[i]\n if (!(el in current)) {\n return\n }\n current = current[el]\n }\n const k = els[els.length - 1]\n current[k] = value && typeof value === 'object' && value['__ref__'] ? ELEMENT_REGISTRY.get(value['__ref__']) ?? value : value\n}\nfunction setObjectProperty(id: string, name: string, value: any): void {\n const node = ELEMENT_REGISTRY.get(id)\n if (!node) {\n return\n }\n setAdvanceObjectProperty(node, name, value)\n}\nexport declare var NativeOUID: { invoke: (id: string, fn: string, argsJson: string) => void } | undefined\n\nconst listeners = new Map<string, ((id: string, fn: string, argJson: string) => void)[]>()\n\nexport function emit(id: string, ...args: any[]): void {\n NativeOUID?.invoke(id, '__ouid_web_event__', JSON.stringify(args))\n}\nfunction subscribe(event: string, callback: (id: string, fnName: string, argsJson: string) => void): void {\n if (!listeners.has(event)) {\n listeners.set(event, []);\n // attach a single handler for native -> JS calls\n (window as any)[event] = (id: string, fnName: string, argsJson: string) => {\n listeners.get(event)?.forEach(cb => cb(id, fnName, argsJson))\n }\n }\n listeners.get(event)!.push(callback)\n}\nfunction releaseNode(nodeId: string): void {\n // remove node from ELEMENT_REGISTRY\n removeFromRegistry(nodeId)\n}\nfunction locationPath(): string {\n return window.location.pathname\n}\nfunction historyPushState(data: any, path: string): void {\n window.history.pushState(data, '', path)\n}\nfunction dispatchPopStateEvent(): void {\n window.dispatchEvent(new PopStateEvent('popstate', { state: window.history.state }))\n}\nfunction dispatchEvent(id: string, eventName: string, eventClass?: string, initDict?: any): void {\n const obj = ELEMENT_REGISTRY.get(id)\n if (!obj) {\n return\n }\n if ('dispatchEvent' in obj) {\n const event = eventClass ? new window[eventClass as keyof Window](eventName, initDict) : new CustomEvent(eventName, initDict)\n obj.dispatchEvent(event)\n }\n}\nfunction asOObject(obj: any, id: string): OObject {\n return {\n tag: id.split(/\\s/)[0],\n uid: id,\n objType: typeof obj,\n isArray: Array.isArray(obj)\n }\n}\nfunction getOObject(id: string): OObject | null {\n const obj = ELEMENT_REGISTRY.get(id)\n if (!obj) {\n return null\n }\n return asOObject(obj, id)\n}\nfunction acquireObject(name: string): OObject | null {\n const obj = window[name as keyof Window]\n if (!obj) {\n return null\n }\n const objId = putInRegistry(obj, name)\n return asOObject(obj, objId)\n}\nfunction newObject(ctr: string, ...args: any): OObject | null {\n const tmp = getAdvanceObjectProperty(window, ctr)\n if (!tmp) {\n return null\n }\n const Ctr = tmp[0]\n const instance = new Ctr(...args)\n const objId = putInRegistry(instance)\n return asOObject(instance, objId)\n}\nfunction addSetTimeout(cbId: string, delay: number): number {\n const cb = () => {\n emit(cbId)\n }\n return setTimeout(cb, delay) as any\n}\nfunction addSetInterval(cbId: string, delay: number): number {\n const cb = () => {\n emit(cbId)\n }\n return setInterval(cb, delay) as any\n}\nfunction removeSetTimeout(timerId: number): void {\n clearTimeout(timerId)\n}\n\nfunction removeSetInterval(timerId: number): void {\n clearInterval(timerId)\n}\ninterface BatchAction {\n fn: string\n args: any[]\n}\nconst operationNameMap: Record<string, string> = {\n 'after': 'insertAfter',\n 'setProperty': 'setObjectProperty',\n 'invoke': 'invokeObjectMethod',\n 'remove': 'removeNode',\n 'release': 'releaseNode',\n 'setHTML': 'setInnerHTML',\n}\nfunction batchActions(actions: BatchAction[]) {\n actions.forEach(op => {\n const localFn = `_ouid_${operationNameMap[op.fn] ?? op.fn}`\n const fn = window[localFn as keyof Window] as Function\n if(fn) {\n fn(...op.args)\n }\n })\n}\ndeclare const __WEB_OUID_EMULATION__: boolean;\nconst UNIFIED_ENV = (globalThis as any)['UNIFIED_ENV'] ?? (window as any)['UNIFIED_ENV'] ?? ((window as any).WebOUID && (window as any).WebOUID.UNIFIED_ENV)\nexport function initDOM(): void {\n if (__WEB_OUID_EMULATION__ || UNIFIED_ENV) {\n ; (globalThis as any).__OUI_PUR_JS_CONTEXT__ = true\n ; (window as any).NativeOUID = Object.assign((window as any).NativeOUID ?? {}, {\n invoke: (id: string, fn: string, argsJson: string) => {\n (window as any)[`${fn}`](id, argsJson)\n }\n })\n ; (window as any).WebOUID = Object.assign((window as any).WebOUID ?? {}, {\n invoke: async (id: string, fn: string, argsJson: string) => {\n (window as any)[`__native_message__`](id, fn, argsJson)\n }\n })\n const win: Window & {WebOUID: any, __ouid_native_callback__: any, __ouid_native_promises: Record<string, {resolve: (value: string) => void, reject: (value?: string) => void}>} = (window as any);\n win.__ouid_native_promises = {};\n (window as any).WebOUID.nativeCall = (id: string, fn: string, argsJson: string) => new Promise((resolve, reject) => {\n win.__ouid_native_promises[id] = {resolve, reject}\n win.WebOUID._callNativeFunction_(id, fn, argsJson)\n })\n win.__ouid_native_callback__ = (id: string, success: boolean, result: string) => {\n if (win.__ouid_native_promises && win.__ouid_native_promises[id]) {\n if (success) {\n win.__ouid_native_promises[id].resolve(result);\n } else {\n win.__ouid_native_promises[id].reject(result);\n }\n delete win.__ouid_native_promises[id]; // Clean up\n }\n }\n }\n \n putInRegistry(document, 'document');\n putInRegistry(window, 'window');\n (window as any)._ouid_query = query;\n (window as any)._ouid_queryAll = queryAll;\n (window as any)._ouid_createElement = createElement;\n (window as any)._ouid_createComment = createComment;\n (window as any)._ouid_invokeObjectMethod = invokeObjectMethod;\n (window as any)._ouid_invokeObjectMethodAndHold = invokeObjectMethodAndHold;\n (window as any)._ouid_getObjectProperty = getObjectProperty;\n (window as any)._ouid_getObjectPropertyAndHold = getObjectPropertyAndHold;\n (window as any)._ouid_setObjectProperty = setObjectProperty;\n (window as any)._ouid_appendChild = appendChild;\n (window as any)._ouid_addClass = addClass;\n (window as any)._ouid_removeClass = removeClass;\n (window as any)._ouid_setInnerHTML = setInnerHTML;\n (window as any)._ouid_getInnerHTML = getInnerHTML;\n (window as any)._ouid_setInnerText = setInnerText;\n (window as any)._ouid_getInnerText = getInnerText;\n (window as any)._ouid_setContentText = setContentText;\n (window as any)._ouid_getContentText = getContentText;\n (window as any)._ouid_setAttribute = setAttribute;\n (window as any)._ouid_removeAttribute = removeAttribute;\n (window as any)._ouid_getAttribte = getAttribte;\n (window as any)._ouid_getAttribteNames = getAttribteNames;\n (window as any)._ouid_childNodes = childNodes;\n (window as any)._ouid_cloneNode = cloneNode;\n (window as any)._ouid_removeNode = removeNode;\n (window as any)._ouid_removeChild = removeChild;\n (window as any)._ouid_replaceChildNode = replaceChildNode;\n (window as any)._ouid_replaceNode = replaceWith;\n (window as any)._ouid_insertAfter = insertAfter;\n (window as any)._ouid_insertBefore = insertBefore;\n (window as any)._ouid_setInputValue = setInputValue;\n (window as any)._ouid_inputValue = inputValue;\n (window as any)._ouid_attachEventListener = attachEventListener;\n (window as any)._ouid_dettachEventListener = dettachEventListener;\n (window as any)._ouid_createComponentStyles = createComponentStyles;\n (window as any)._ouid_appendComponentStyles = appendComponentStyles;\n (window as any)._ouid_rejectComponentStyles = rejectComponentStyles;\n (window as any)._ouid_locationPath = locationPath;\n (window as any)._ouid_historyPushState = historyPushState;\n (window as any)._ouid_dispatchPopStateEvent = dispatchPopStateEvent;\n (window as any)._ouid_parentNode = parentNode;\n (window as any)._ouid_releaseNode = releaseNode;\n (window as any)._ouid_getOObject = getOObject;\n (window as any)._ouid_acquireObject = acquireObject;\n (window as any)._ouid_newObject = newObject;\n (window as any)._ouid_dispatchEvent = dispatchEvent;\n (window as any)._ouid_setTimeout = addSetTimeout;\n (window as any)._ouid_clearTimeout = removeSetTimeout;\n (window as any)._ouid_dsetInterval = addSetInterval;\n (window as any)._ouid_clearInterval = removeSetInterval;\n (window as any)._ouid_setStyle = setStyle;\n (window as any)._ouid_nextSibling = nextSibling;\n (window as any)._ouid_fetch = httpFetch;\n (window as any)._ouid_alert = nativeAlert;\n (window as any)._ouid_prompt = nativePrompt;\n (window as any)._ouid_requestAnimationFrame = customRequestAnimationFrame;\n (window as any)._ouid_cancelAnimationFrame = customCancelAnimationFrame;\n (window as any)._ouid_batchActions = batchActions;\n subscribe('__native_message__', async (id, fnName: string, argsJson: string) => {\n const fn = (window as any)[fnName]\n if (!fn) {\n // try to call native brige\n if(UNIFIED_ENV) {\n try {\n try {\n const res = await (window as any).WebOUID.nativeCall(id, fnName, argsJson)\n NativeOUID?.invoke(id, '__ouid_native_event_success__', res)\n } catch (error: any) {\n NativeOUID?.invoke(id, '__ouid_native_event_error__', error)\n } // {\"status\":\"success\",\"data\":{\"value\":\"76299780\"}}\n } catch (error) {\n }\n }\n NativeOUID?.invoke(id, '__ouid_native_event_error__', JSON.stringify([{ 'message': 'No function match the given name: (' + fnName + ')' }]))\n return\n }\n const result = await (fn as Function)(...(JSON.parse(argsJson) as Array<any>))\n NativeOUID?.invoke(id, '__ouid_native_event_success__', JSON.stringify([{ status: 'success', data: result }]))\n });\n}\n\n"]}
|
package/dist/dom/dom.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var A=Object.defineProperty,D=Object.defineProperties;var M=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var C=(t,e,n)=>e in t?A(t,e,{enumerable:true,configurable:true,writable:true,value:n}):t[e]=n,T=(t,e)=>{for(var n in e||(e={}))L.call(e,n)&&C(t,n,e[n]);if(O)for(var n of O(e))X.call(e,n)&&C(t,n,e[n]);return t},S=(t,e)=>D(t,M(e)),i=(t,e)=>A(t,"name",{value:e,configurable:true});function Y(t){let e="";for(let n=0;n<t.length;n++){let r=t.charCodeAt(n).toString(16);r=r.length===1?"0"+r:r,e+=r;}return e}i(Y,"stringToHex");var c=new Map,m=new WeakMap,U=0,h=new Map;function F(t,e,n){let o=n?c.get(n):document;if(!d(o))return null;let r=o.querySelector(t);return r?_(r,e,1):null}i(F,"query");function W(t,e,n){let o=n?c.get(n):document;return d(o)?[...o.querySelectorAll(t)].map(a=>_(a,e,1)).filter(a=>a!==null):[]}i(W,"queryAll");function H(t){let e=c.get(t);if(!d(e))return [];let n=[],o=document.createTreeWalker(e),r=o.firstChild();for(;r;)r.parentNode===e&&n.push(r),r=o.nextSibling();return n.map(s=>_(s,["attributes"],0)).filter(s=>s!==null)}i(H,"childNodes");function R(t){switch(t.nodeType){case Node.TEXT_NODE:return "Text";case Node.ELEMENT_NODE:return "Element";case Node.ATTRIBUTE_NODE:return "Attribute";case Node.COMMENT_NODE:return "Comment";default:return "Unknown"}}i(R,"nodeType");function N(t){return [...t.attributes].map(e=>({name:e.name,value:e.value}))}i(N,"elementAttributes");function _(t,e,n=1){if(!t)return null;let o={uid:w(t),tag:d(t)?t.tagName.toLocaleLowerCase():"",type:R(t),isArray:false,objType:typeof t},r=e?new Set([...e,"attributes","classes"]):new Set(["attributes","classes"]);return d(t)&&r.forEach(s=>{switch(s){case "attributes":o.attributes=N(t);break;case "children":n>0&&(o.children=[...t.children].map(a=>_(a,e,n-1)).filter(a=>a!==null));break;case "classes":o.classes=[...t.classList];break;case "style":o.style=t==null?void 0:t.style.cssText;break}}),o.type==="Text"&&(o.textContent=t.textContent),o}i(_,"htmlElementToONode");function V(t,e){let s=new Set(["svg","path","circle","rect","line","polyline","polygon","ellipse","g","defs","marker","clipPath","mask","text","tspan"]).has(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);for(let a in e)s.setAttribute(a,e[a]);return _(s)}i(V,"createElement");function q(t){let e=document.createComment(t);return _(e)}i(q,"createComment");function w(t,e){if(m.has(t))return m.get(t);let n=e!=null?e:Y(`${U++}`.padStart(16,"0"));c.set(n,t);try{m.set(t,n);}catch(o){console.error(o);}return n}i(w,"putInRegistry");function B(t){if(typeof t=="string"){let e=c.get(t);e instanceof Node?I(e):c.delete(t);return}I(t);}i(B,"removeFromRegistry");function I(t){let e=[t];for(;e.length;){let n=e.pop();K(n);let o=m.get(n);o&&(c.delete(o),m.delete(n));let r=n.childNodes;for(let s=0;s<r.length;s++)e.push(r[s]);}}i(I,"cleanupRegistryForNode");function K(t){for(let[e,n]of h){let o=n.target;(o===t||o instanceof Node&&t.contains(o))&&(o.removeEventListener(n.type,n.handler),h.delete(e));}}i(K,"cleanupDomListenersForNode");function G(t,e){let n=c.get(t),o=c.get(e);!n||!o||n.appendChild(o);}i(G,"appendChild");function d(t){return t===document||(t==null?void 0:t.nodeType)===Node.ELEMENT_NODE}i(d,"isElementNode");function J(t,e){let n=c.get(t);d(n)&&(n.innerText=e);}i(J,"setInnerText");function $(t,e){let n=c.get(t);!n||d(n)||(n.textContent=e);}i($,"setContentText");function Z(t){let e=c.get(t);return !e||d(e)?"":e.textContent}i(Z,"getContentText");function z(t,...e){let n=c.get(t);d(n)&&n.classList.remove(...e);}i(z,"removeClass");function Q(t,...e){let n=c.get(t);d(n)&&n.classList.add(...e);}i(Q,"addClass");function tt(t){let e=c.get(t);return d(e)?e.innerText:""}i(tt,"getInnerText");function et(t,e,n){let o=c.get(t);d(o)&&o.style.setProperty(e,n);}i(et,"setStyle");function nt(t,e,n){let o=c.get(t);if(d(o))return o.setAttribute(e,n),N(o)}i(nt,"setAttribute");function ot(t,e){let n=c.get(t);return d(n)?(n.removeAttribute(e),N(n)):[]}i(ot,"removeAttribute");function it(t,e){var o;let n=c.get(t);return d(n)&&(o=n.getAttribute(e))!=null?o:""}i(it,"getAttribte");function rt(t){let e=c.get(t);return d(e)?e.getAttributeNames():[]}i(rt,"getAttribteNames");function st(t,e){let n=c.get(t);return n?_(n.cloneNode(e)):null}i(st,"cloneNode");function ct(t){let e=c.get(t);e==null||e.remove();}i(ct,"removeNode");function at(t,e){let n=c.get(t),o=c.get(e);o&&(n==null||n.removeChild(o));}i(at,"removeChild");function ut(t,e){let n=c.get(t),o=c.get(e);n.replaceWith(o);}i(ut,"replaceWith");function dt(t,e){let n=c.get(t),o=c.get(e);!o||!n||n.after(o);}i(dt,"insertAfter");function lt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!s||!r||o.insertBefore(s,r);}i(lt,"insertBefore");function ft(t,e){let n=c.get(t);d(n)&&(n.value=e);}i(ft,"setInputValue");function _t(t){let e=c.get(t);return d(e)?e.value:""}i(_t,"inputValue");function wt(t,e){e&&(e.preventDefault&&t.preventDefault(),e.stopImmediatePropagation&&"stopImmediatePropagation"in t?t.stopImmediatePropagation():e.stopPropagation&&t.stopPropagation());}i(wt,"applyControl");function pt(t,e){let n=t.offsetX,o=t.offsetY;if((n==null||o==null)&&e&&e.getBoundingClientRect){let s=e.getBoundingClientRect();n=t.clientX-s.left,o=t.clientY-s.top;}return {offsetX:n,offsetY:o}}i(pt,"computeOffsets");function gt(t){var a,u,l,p;let e={type:t.type,timeStamp:t.timeStamp,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed},n={altKey:(a=t.altKey)!=null?a:false,ctrlKey:(u=t.ctrlKey)!=null?u:false,metaKey:(l=t.metaKey)!=null?l:false,shiftKey:(p=t.shiftKey)!=null?p:false};if(t instanceof MouseEvent){let{offsetX:g,offsetY:f}=pt(t,t.target);Object.assign(e,{x:t.x,y:t.y,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY,screenX:t.screenX,screenY:t.screenY,movementX:t.movementX,movementY:t.movementY,button:t.button,buttons:t.buttons,offsetX:g,offsetY:f});}if(typeof PointerEvent!="undefined"&&t instanceof PointerEvent&&Object.assign(e,{pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tangentialPressure:t.tangentialPressure,tiltX:t.tiltX,tiltY:t.tiltY,twist:t.twist,pointerType:t.pointerType,isPrimary:t.isPrimary}),typeof WheelEvent!="undefined"&&t instanceof WheelEvent&&Object.assign(e,{deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode}),t instanceof KeyboardEvent&&Object.assign(e,{key:t.key,code:t.code,repeat:t.repeat,location:t.location,isComposing:t.isComposing}),t instanceof InputEvent&&Object.assign(e,{data:t.data,inputType:t.inputType,isComposing:t.isComposing}),t instanceof FocusEvent&&Object.assign(e,{}),typeof TouchEvent!="undefined"&&t instanceof TouchEvent){let g=i(f=>({identifier:f.identifier,clientX:f.clientX,clientY:f.clientY,pageX:f.pageX,pageY:f.pageY,screenX:f.screenX,screenY:f.screenY,radiusX:f.radiusX,radiusY:f.radiusY,rotationAngle:f.rotationAngle,force:f.force}),"mapTouch");Object.assign(e,{touches:Array.from(t.touches).map(g),changedTouches:Array.from(t.changedTouches).map(g),targetTouches:Array.from(t.targetTouches).map(g)});}typeof PopStateEvent!="undefined"&&t instanceof PopStateEvent&&Object.assign(e,{state:t.state});let o=t.target instanceof Node?_(t.target):null,r=t.currentTarget instanceof Node?_(t.currentTarget):null,s=t.relatedTarget instanceof Node?_(t.relatedTarget):null;return S(T(T({},e),n),{target:o,currentTarget:r,relatedTarget:s,__eventClass__:t.constructor?t.constructor.name:"Event"})}i(gt,"serializeEvent");function mt(t,e,n,o,r){let s=c.get(t);if(!s||typeof s.addEventListener!="function")return;let a=i(u=>{let l=gt(u);r&&wt(u,{preventDefault:r.alwaysPreventDefault,stopImmediatePropagation:r.alwaysStopImmediatePropagation,stopPropagation:r.alwaysStopPropagation}),E(e,n,l);},"handler");h.set(e,{target:s,type:n,handler:a,options:o}),s.addEventListener(n,a,o);}i(mt,"attachEventListener");function ht(t,e){let n=h.get(e);n&&(h.delete(e),n.target.removeEventListener(n.type,n.handler));}i(ht,"dettachEventListener");function yt(t){return requestAnimationFrame(e=>{E(t,"requestAnimationFrame",e);})}i(yt,"customRequestAnimationFrame");function bt(t){cancelAnimationFrame(t);}i(bt,"customCancelAnimationFrame");function vt(t){let e=c.get(t);try{document.head.appendChild(e);}catch(n){}}i(vt,"appendComponentStyles");function Et(t,e=true){let n=document.createElement("style");return n.innerHTML=t,e&&document.head.appendChild(n),_(n)}i(Et,"createComponentStyles");function Tt(t){let e=c.get(t);try{document.head.removeChild(e);}catch(n){}}i(Tt,"rejectComponentStyles");function Nt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!r||!s||o.replaceChild(r,s);}i(Nt,"replaceChildNode");function Ot(t){let e=c.get(t);return e?_(e.parentNode):null}i(Ot,"parentNode");function Ct(t){let e=c.get(t);return e?_(e.nextSibling):null}i(Ct,"nextSibling");function At(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}i(At,"arrayBufferToBase64");async function St(t,e,n){let o=await fetch(t,e);switch(n){case "text":return await o.text();case "base64":return At(await o.bytes());case "buffer":{let r=await o.arrayBuffer(),s=w(r);return y(r,s)}case "bytes":{let r=await o.bytes(),s=w(r);return y(r,s)}default:return await o.json()}}i(St,"httpFetch");function It(t){console.log("Alerting",t),window.alert(t);}i(It,"nativeAlert");function jt(t){console.log("Alerting",t),window.prompt(t);}i(jt,"nativePrompt");function Pt(t,e){let n=c.get(t);d(n)&&(n.innerHTML=e);}i(Pt,"setInnerHTML");function xt(t){let e=c.get(t);return d(e)?e.innerHTML:""}i(xt,"getInnerHTML");function kt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r;return s.apply(a,n.map(u=>{var l;return u&&typeof u=="object"&&u.__ref__&&(l=c.get(u.__ref__))!=null?l:u}))}i(kt,"invokeObjectMethod");async function Dt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r,u=await s.apply(a,n.map(l=>{var p;return l&&typeof l=="object"&&l.__ref__&&(p=c.get(l.__ref__))!=null?p:l}));return u&&{uid:w(u),objType:typeof u,isArray:false,tag:"unknown"}}i(Dt,"invokeObjectMethodAndHold");function k(t,e){let n=c.get(t);if(!n)return null;let o=v(n,e);return o?o[0]:null}i(k,"getObjectProperty");function Mt(t,e){let n=k(t,e);return n&&{uid:w(n),objType:typeof n,isArray:false,tag:"unknown"}}i(Mt,"getObjectPropertyAndHold");function v(t,e){let n=e.split("."),o=t,r=t;for(let s=0;s<n.length;s++){let a=n[s];if(!(a in o))return null;r=o,o=o[a];}return [o,r]}i(v,"getAdvanceObjectProperty");function Lt(t,e,n){var a;let o=e.split("."),r=t;for(let u=0;u<o.length-1;u++){let l=o[u];if(!(l in r))return;r=r[l];}let s=o[o.length-1];r[s]=n&&typeof n=="object"&&n.__ref__&&(a=c.get(n.__ref__))!=null?a:n;}i(Lt,"setAdvanceObjectProperty");function Xt(t,e,n){let o=c.get(t);o&&Lt(o,e,n);}i(Xt,"setObjectProperty");var b=new Map;function E(t,...e){NativeOUID==null||NativeOUID.invoke(t,"__ouid_web_event__",JSON.stringify(e));}i(E,"emit");function Yt(t,e){b.has(t)||(b.set(t,[]),window[t]=(n,o,r)=>{var s;(s=b.get(t))==null||s.forEach(a=>a(n,o,r));}),b.get(t).push(e);}i(Yt,"subscribe");function Ut(t){B(t);}i(Ut,"releaseNode");function Ft(){return window.location.pathname}i(Ft,"locationPath");function Wt(t,e){window.history.pushState(t,"",e);}i(Wt,"historyPushState");function Ht(){window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}));}i(Ht,"dispatchPopStateEvent");function Rt(t,e,n,o){let r=c.get(t);if(r&&"dispatchEvent"in r){let s=n?new window[n](e,o):new CustomEvent(e,o);r.dispatchEvent(s);}}i(Rt,"dispatchEvent");function y(t,e){return {tag:e.split(/\s/)[0],uid:e,objType:typeof t,isArray:Array.isArray(t)}}i(y,"asOObject");function Vt(t){let e=c.get(t);return e?y(e,t):null}i(Vt,"getOObject");function qt(t){let e=window[t];if(!e)return null;let n=w(e,t);return y(e,n)}i(qt,"acquireObject");function Bt(t,...e){let n=v(window,t);if(!n)return null;let o=n[0],r=new o(...e),s=w(r);return y(r,s)}i(Bt,"newObject");function Kt(t,e){return setTimeout(i(()=>{E(t);},"cb"),e)}i(Kt,"addSetTimeout");function Gt(t,e){return setInterval(i(()=>{E(t);},"cb"),e)}i(Gt,"addSetInterval");function Jt(t){clearTimeout(t);}i(Jt,"removeSetTimeout");function $t(t){clearInterval(t);}i($t,"removeSetInterval");var Zt={after:"insertAfter",setProperty:"setObjectProperty",invoke:"invokeObjectMethod",remove:"removeNode",release:"releaseNode",setHTML:"setInnerHTML"};function zt(t){t.forEach(e=>{var r;let n=`_ouid_${(r=Zt[e.fn])!=null?r:e.fn}`,o=window[n];o&&o(...e.args);});}i(zt,"batchActions");var P,x,j=(x=(P=globalThis.UNIFIED_ENV)!=null?P:window.UNIFIED_ENV)!=null?x:window.WebOUID&&window.WebOUID.UNIFIED_ENV;function te(){var t,e;if(__WEB_OUID_EMULATION__||j){globalThis.__OUI_PUR_JS_CONTEXT__=true,window.NativeOUID=Object.assign((t=window.NativeOUID)!=null?t:{},{invoke:i((o,r,s)=>{window[`${r}`](o,s);},"invoke")}),window.WebOUID=Object.assign((e=window.WebOUID)!=null?e:{},{invoke:i(async(o,r,s)=>{window.__native_message__(o,r,s);},"invoke")});let n=window;n.__ouid_native_promises={},window.WebOUID.nativeCall=(o,r,s)=>new Promise((a,u)=>{n.__ouid_native_promises[o]={resolve:a,reject:u},n.WebOUID._callNativeFunction_(o,r,s);}),n.__ouid_native_callback__=(o,r,s)=>{n.__ouid_native_promises&&n.__ouid_native_promises[o]&&(r?n.__ouid_native_promises[o].resolve(s):n.__ouid_native_promises[o].reject(s),delete n.__ouid_native_promises[o]);};}w(document,"document"),w(window,"window"),window._ouid_query=F,window._ouid_queryAll=W,window._ouid_createElement=V,window._ouid_createComment=q,window._ouid_invokeObjectMethod=kt,window._ouid_invokeObjectMethodAndHold=Dt,window._ouid_getObjectProperty=k,window._ouid_getObjectPropertyAndHold=Mt,window._ouid_setObjectProperty=Xt,window._ouid_appendChild=G,window._ouid_addClass=Q,window._ouid_removeClass=z,window._ouid_setInnerHTML=Pt,window._ouid_getInnerHTML=xt,window._ouid_setInnerText=J,window._ouid_getInnerText=tt,window._ouid_setContentText=$,window._ouid_getContentText=Z,window._ouid_setAttribute=nt,window._ouid_removeAttribute=ot,window._ouid_getAttribte=it,window._ouid_getAttribteNames=rt,window._ouid_childNodes=H,window._ouid_cloneNode=st,window._ouid_removeNode=ct,window._ouid_removeChild=at,window._ouid_replaceChildNode=Nt,window._ouid_replaceNode=ut,window._ouid_insertAfter=dt,window._ouid_insertBefore=lt,window._ouid_setInputValue=ft,window._ouid_inputValue=_t,window._ouid_attachEventListener=mt,window._ouid_dettachEventListener=ht,window._ouid_createComponentStyles=Et,window._ouid_appendComponentStyles=vt,window._ouid_rejectComponentStyles=Tt,window._ouid_locationPath=Ft,window._ouid_historyPushState=Wt,window._ouid_dispatchPopStateEvent=Ht,window._ouid_parentNode=Ot,window._ouid_releaseNode=Ut,window._ouid_getOObject=Vt,window._ouid_acquireObject=qt,window._ouid_newObject=Bt,window._ouid_dispatchEvent=Rt,window._ouid_setTimeout=Kt,window._ouid_clearTimeout=Jt,window._ouid_dsetInterval=Gt,window._ouid_clearInterval=$t,window._ouid_setStyle=et,window._ouid_nextSibling=Ct,window._ouid_fetch=St,window._ouid_alert=It,window._ouid_prompt=jt,window._ouid_requestAnimationFrame=yt,window._ouid_cancelAnimationFrame=bt,window._ouid_batchActions=zt,Yt("__native_message__",async(n,o,r)=>{let s=window[o];if(!s){if(j)try{try{let u=await window.WebOUID.nativeCall(n,o,r);NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",u);}catch(u){NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",u);}}catch(u){}NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",JSON.stringify([{message:"No function match the given name: ("+o+")"}]));return}let a=await s(...JSON.parse(r));NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",JSON.stringify([{status:"success",data:a}]));});}i(te,"initDOM");
|
|
1
|
+
var A=Object.defineProperty,k=Object.defineProperties;var D=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var C=(t,e,n)=>e in t?A(t,e,{enumerable:true,configurable:true,writable:true,value:n}):t[e]=n,T=(t,e)=>{for(var n in e||(e={}))L.call(e,n)&&C(t,n,e[n]);if(O)for(var n of O(e))X.call(e,n)&&C(t,n,e[n]);return t},I=(t,e)=>k(t,D(e)),i=(t,e)=>A(t,"name",{value:e,configurable:true});function Y(t){let e="";for(let n=0;n<t.length;n++){let r=t.charCodeAt(n).toString(16);r=r.length===1?"0"+r:r,e+=r;}return e}i(Y,"stringToHex");var c=new Map,m=new WeakMap,U=0,h=new Map;function F(t,e,n){let o=n?c.get(n):document;if(!d(o))return null;let r=o.querySelector(t);return r?_(r,e,1):null}i(F,"query");function W(t,e,n){let o=n?c.get(n):document;return d(o)?[...o.querySelectorAll(t)].map(a=>_(a,e,1)).filter(a=>a!==null):[]}i(W,"queryAll");function H(t){let e=c.get(t);if(!d(e))return [];let n=[],o=document.createTreeWalker(e),r=o.firstChild();for(;r;)r.parentNode===e&&n.push(r),r=o.nextSibling();return n.map(s=>_(s,["attributes"],0)).filter(s=>s!==null)}i(H,"childNodes");function R(t){switch(t.nodeType){case Node.TEXT_NODE:return "Text";case Node.ELEMENT_NODE:return "Element";case Node.ATTRIBUTE_NODE:return "Attribute";case Node.COMMENT_NODE:return "Comment";default:return "Unknown"}}i(R,"nodeType");function N(t){return [...t.attributes].map(e=>({name:e.name,value:e.value}))}i(N,"elementAttributes");function _(t,e,n=1){if(!t)return null;let o={uid:w(t),tag:d(t)?t.tagName.toLocaleLowerCase():"",type:R(t),isArray:false,objType:typeof t},r=e?new Set([...e,"attributes","classes"]):new Set(["attributes","classes"]);return d(t)&&r.forEach(s=>{switch(s){case "attributes":o.attributes=N(t);break;case "children":n>0&&(o.children=[...t.children].map(a=>_(a,e,n-1)).filter(a=>a!==null));break;case "classes":o.classes=[...t.classList];break;case "style":o.style=t==null?void 0:t.style.cssText;break}}),o.type==="Text"&&(o.textContent=t.textContent),o}i(_,"htmlElementToONode");function V(t,e){let s=new Set(["svg","path","circle","rect","line","polyline","polygon","ellipse","g","defs","marker","clipPath","mask","text","tspan"]).has(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);for(let a in e)s.setAttribute(a,e[a]);return _(s)}i(V,"createElement");function q(t){let e=document.createComment(t);return _(e)}i(q,"createComment");function w(t,e){if(m.has(t))return m.get(t);let n=e!=null?e:Y(`${U++}`.padStart(16,"0"));c.set(n,t);try{m.set(t,n);}catch(o){console.error(o);}return n}i(w,"putInRegistry");function B(t){if(typeof t=="string"){let e=c.get(t);e instanceof Node?S(e):c.delete(t);return}S(t);}i(B,"removeFromRegistry");function S(t){let e=[t];for(;e.length;){let n=e.pop();K(n);let o=m.get(n);o&&(c.delete(o),m.delete(n));let r=n.childNodes;for(let s=0;s<r.length;s++)e.push(r[s]);}}i(S,"cleanupRegistryForNode");function K(t){for(let[e,n]of h){let o=n.target;(o===t||o instanceof Node&&t.contains(o))&&(o.removeEventListener(n.type,n.handler),h.delete(e));}}i(K,"cleanupDomListenersForNode");function G(t,e){let n=c.get(t),o=c.get(e);!n||!o||n.appendChild(o);}i(G,"appendChild");function d(t){return t===document||(t==null?void 0:t.nodeType)===Node.ELEMENT_NODE}i(d,"isElementNode");function J(t,e){let n=c.get(t);d(n)&&(n.innerText=e);}i(J,"setInnerText");function $(t,e){let n=c.get(t);!n||d(n)||(n.textContent=e);}i($,"setContentText");function Z(t){let e=c.get(t);return !e||d(e)?"":e.textContent}i(Z,"getContentText");function z(t,...e){let n=c.get(t);d(n)&&n.classList.remove(...e);}i(z,"removeClass");function Q(t,...e){let n=c.get(t);d(n)&&n.classList.add(...e);}i(Q,"addClass");function tt(t){let e=c.get(t);return d(e)?e.innerText:""}i(tt,"getInnerText");function et(t,e,n){let o=c.get(t);d(o)&&o.style.setProperty(e,n);}i(et,"setStyle");function nt(t,e,n){let o=c.get(t);if(d(o))return o.setAttribute(e,n),N(o)}i(nt,"setAttribute");function ot(t,e){let n=c.get(t);return d(n)?(n.removeAttribute(e),N(n)):[]}i(ot,"removeAttribute");function it(t,e){var o;let n=c.get(t);return d(n)&&(o=n.getAttribute(e))!=null?o:""}i(it,"getAttribte");function rt(t){let e=c.get(t);return d(e)?e.getAttributeNames():[]}i(rt,"getAttribteNames");function st(t,e){let n=c.get(t);return n?_(n.cloneNode(e)):null}i(st,"cloneNode");function ct(t){let e=c.get(t);e==null||e.remove();}i(ct,"removeNode");function at(t,e){let n=c.get(t),o=c.get(e);o&&(n==null||n.removeChild(o));}i(at,"removeChild");function ut(t,e){let n=c.get(t),o=c.get(e);n.replaceWith(o);}i(ut,"replaceWith");function dt(t,e){let n=c.get(t),o=c.get(e);!o||!n||n.after(o);}i(dt,"insertAfter");function lt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!s||!r||o.insertBefore(s,r);}i(lt,"insertBefore");function ft(t,e){let n=c.get(t);d(n)&&(n.value=e);}i(ft,"setInputValue");function _t(t){let e=c.get(t);return d(e)?e.value:""}i(_t,"inputValue");function wt(t,e){e&&(e.preventDefault&&t.preventDefault(),e.stopImmediatePropagation&&"stopImmediatePropagation"in t?t.stopImmediatePropagation():e.stopPropagation&&t.stopPropagation());}i(wt,"applyControl");function pt(t,e){let n=t.offsetX,o=t.offsetY;if((n==null||o==null)&&e&&e.getBoundingClientRect){let s=e.getBoundingClientRect();n=t.clientX-s.left,o=t.clientY-s.top;}return {offsetX:n,offsetY:o}}i(pt,"computeOffsets");function gt(t){var a,u,l,p;let e={type:t.type,timeStamp:t.timeStamp,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed},n={altKey:(a=t.altKey)!=null?a:false,ctrlKey:(u=t.ctrlKey)!=null?u:false,metaKey:(l=t.metaKey)!=null?l:false,shiftKey:(p=t.shiftKey)!=null?p:false};if(t instanceof MouseEvent){let{offsetX:g,offsetY:f}=pt(t,t.target);Object.assign(e,{x:t.x,y:t.y,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY,screenX:t.screenX,screenY:t.screenY,movementX:t.movementX,movementY:t.movementY,button:t.button,buttons:t.buttons,offsetX:g,offsetY:f});}if(typeof PointerEvent!="undefined"&&t instanceof PointerEvent&&Object.assign(e,{pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tangentialPressure:t.tangentialPressure,tiltX:t.tiltX,tiltY:t.tiltY,twist:t.twist,pointerType:t.pointerType,isPrimary:t.isPrimary}),typeof WheelEvent!="undefined"&&t instanceof WheelEvent&&Object.assign(e,{deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode}),t instanceof KeyboardEvent&&Object.assign(e,{key:t.key,code:t.code,repeat:t.repeat,location:t.location,isComposing:t.isComposing}),t instanceof InputEvent&&Object.assign(e,{data:t.data,inputType:t.inputType,isComposing:t.isComposing}),t instanceof FocusEvent&&Object.assign(e,{}),t instanceof MessageEvent&&Object.assign(e,{data:t.data,origin:t.origin,lastEventId:t.lastEventId}),t instanceof CloseEvent&&Object.assign(e,{code:t.code,reason:t.reason,wasClean:t.wasClean}),t instanceof ErrorEvent&&Object.assign(e,{error:t.error,message:t.message}),typeof TouchEvent!="undefined"&&t instanceof TouchEvent){let g=i(f=>({identifier:f.identifier,clientX:f.clientX,clientY:f.clientY,pageX:f.pageX,pageY:f.pageY,screenX:f.screenX,screenY:f.screenY,radiusX:f.radiusX,radiusY:f.radiusY,rotationAngle:f.rotationAngle,force:f.force}),"mapTouch");Object.assign(e,{touches:Array.from(t.touches).map(g),changedTouches:Array.from(t.changedTouches).map(g),targetTouches:Array.from(t.targetTouches).map(g)});}typeof PopStateEvent!="undefined"&&t instanceof PopStateEvent&&Object.assign(e,{state:t.state});let o=t.target instanceof Node?_(t.target):null,r=t.currentTarget instanceof Node?_(t.currentTarget):null,s=t.relatedTarget instanceof Node?_(t.relatedTarget):null;return I(T(T({},e),n),{target:o,currentTarget:r,relatedTarget:s,__eventClass__:t.constructor?t.constructor.name:"Event"})}i(gt,"serializeEvent");function mt(t,e,n,o,r){let s=c.get(t);if(!s||typeof s.addEventListener!="function")return;let a=i(u=>{let l=gt(u);r&&wt(u,{preventDefault:r.alwaysPreventDefault,stopImmediatePropagation:r.alwaysStopImmediatePropagation,stopPropagation:r.alwaysStopPropagation}),E(e,n,l);},"handler");h.set(e,{target:s,type:n,handler:a,options:o}),s.addEventListener(n,a,o);}i(mt,"attachEventListener");function ht(t,e){let n=h.get(e);n&&(h.delete(e),n.target.removeEventListener(n.type,n.handler));}i(ht,"dettachEventListener");function yt(t){return requestAnimationFrame(e=>{E(t,"requestAnimationFrame",e);})}i(yt,"customRequestAnimationFrame");function bt(t){cancelAnimationFrame(t);}i(bt,"customCancelAnimationFrame");function vt(t){let e=c.get(t);try{document.head.appendChild(e);}catch(n){}}i(vt,"appendComponentStyles");function Et(t,e=true){let n=document.createElement("style");return n.innerHTML=t,e&&document.head.appendChild(n),_(n)}i(Et,"createComponentStyles");function Tt(t){let e=c.get(t);try{document.head.removeChild(e);}catch(n){}}i(Tt,"rejectComponentStyles");function Nt(t,e,n){let o=c.get(t),r=c.get(e),s=c.get(n);!d(o)||!r||!s||o.replaceChild(r,s);}i(Nt,"replaceChildNode");function Ot(t){let e=c.get(t);return e?_(e.parentNode):null}i(Ot,"parentNode");function Ct(t){let e=c.get(t);return e?_(e.nextSibling):null}i(Ct,"nextSibling");function At(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}i(At,"arrayBufferToBase64");async function It(t,e,n){let o=await fetch(t,e);switch(n){case "text":return await o.text();case "base64":return At(await o.bytes());case "buffer":{let r=await o.arrayBuffer(),s=w(r);return y(r,s)}case "bytes":{let r=await o.bytes(),s=w(r);return y(r,s)}default:return await o.json()}}i(It,"httpFetch");function St(t){console.log("Alerting",t),window.alert(t);}i(St,"nativeAlert");function jt(t){console.log("Alerting",t),window.prompt(t);}i(jt,"nativePrompt");function Pt(t,e){let n=c.get(t);d(n)&&(n.innerHTML=e);}i(Pt,"setInnerHTML");function xt(t){let e=c.get(t);return d(e)?e.innerHTML:""}i(xt,"getInnerHTML");function Mt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r;return s.apply(a,n.map(u=>{var l;return u&&typeof u=="object"&&u.__ref__&&(l=c.get(u.__ref__))!=null?l:u}))}i(Mt,"invokeObjectMethod");async function kt(t,e,...n){let o=c.get(t);if(!o)return null;let r=v(o,e);if(!r)return null;let[s,a]=r,u=await s.apply(a,n.map(l=>{var p;return l&&typeof l=="object"&&l.__ref__&&(p=c.get(l.__ref__))!=null?p:l}));return u&&{uid:w(u),objType:typeof u,isArray:false,tag:"unknown"}}i(kt,"invokeObjectMethodAndHold");function M(t,e){let n=c.get(t);if(!n)return null;let o=v(n,e);return o?o[0]:null}i(M,"getObjectProperty");function Dt(t,e){let n=M(t,e);return n&&{uid:w(n),objType:typeof n,isArray:false,tag:"unknown"}}i(Dt,"getObjectPropertyAndHold");function v(t,e){let n=e.split("."),o=t,r=t;for(let s=0;s<n.length;s++){let a=n[s];if(!(a in o))return null;r=o,o=o[a];}return [o,r]}i(v,"getAdvanceObjectProperty");function Lt(t,e,n){var a;let o=e.split("."),r=t;for(let u=0;u<o.length-1;u++){let l=o[u];if(!(l in r))return;r=r[l];}let s=o[o.length-1];r[s]=n&&typeof n=="object"&&n.__ref__&&(a=c.get(n.__ref__))!=null?a:n;}i(Lt,"setAdvanceObjectProperty");function Xt(t,e,n){let o=c.get(t);o&&Lt(o,e,n);}i(Xt,"setObjectProperty");var b=new Map;function E(t,...e){NativeOUID==null||NativeOUID.invoke(t,"__ouid_web_event__",JSON.stringify(e));}i(E,"emit");function Yt(t,e){b.has(t)||(b.set(t,[]),window[t]=(n,o,r)=>{var s;(s=b.get(t))==null||s.forEach(a=>a(n,o,r));}),b.get(t).push(e);}i(Yt,"subscribe");function Ut(t){B(t);}i(Ut,"releaseNode");function Ft(){return window.location.pathname}i(Ft,"locationPath");function Wt(t,e){window.history.pushState(t,"",e);}i(Wt,"historyPushState");function Ht(){window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}));}i(Ht,"dispatchPopStateEvent");function Rt(t,e,n,o){let r=c.get(t);if(r&&"dispatchEvent"in r){let s=n?new window[n](e,o):new CustomEvent(e,o);r.dispatchEvent(s);}}i(Rt,"dispatchEvent");function y(t,e){return {tag:e.split(/\s/)[0],uid:e,objType:typeof t,isArray:Array.isArray(t)}}i(y,"asOObject");function Vt(t){let e=c.get(t);return e?y(e,t):null}i(Vt,"getOObject");function qt(t){let e=window[t];if(!e)return null;let n=w(e,t);return y(e,n)}i(qt,"acquireObject");function Bt(t,...e){let n=v(window,t);if(!n)return null;let o=n[0],r=new o(...e),s=w(r);return y(r,s)}i(Bt,"newObject");function Kt(t,e){return setTimeout(i(()=>{E(t);},"cb"),e)}i(Kt,"addSetTimeout");function Gt(t,e){return setInterval(i(()=>{E(t);},"cb"),e)}i(Gt,"addSetInterval");function Jt(t){clearTimeout(t);}i(Jt,"removeSetTimeout");function $t(t){clearInterval(t);}i($t,"removeSetInterval");var Zt={after:"insertAfter",setProperty:"setObjectProperty",invoke:"invokeObjectMethod",remove:"removeNode",release:"releaseNode",setHTML:"setInnerHTML"};function zt(t){t.forEach(e=>{var r;let n=`_ouid_${(r=Zt[e.fn])!=null?r:e.fn}`,o=window[n];o&&o(...e.args);});}i(zt,"batchActions");var P,x,j=(x=(P=globalThis.UNIFIED_ENV)!=null?P:window.UNIFIED_ENV)!=null?x:window.WebOUID&&window.WebOUID.UNIFIED_ENV;function te(){var t,e;if(__WEB_OUID_EMULATION__||j){globalThis.__OUI_PUR_JS_CONTEXT__=true,window.NativeOUID=Object.assign((t=window.NativeOUID)!=null?t:{},{invoke:i((o,r,s)=>{window[`${r}`](o,s);},"invoke")}),window.WebOUID=Object.assign((e=window.WebOUID)!=null?e:{},{invoke:i(async(o,r,s)=>{window.__native_message__(o,r,s);},"invoke")});let n=window;n.__ouid_native_promises={},window.WebOUID.nativeCall=(o,r,s)=>new Promise((a,u)=>{n.__ouid_native_promises[o]={resolve:a,reject:u},n.WebOUID._callNativeFunction_(o,r,s);}),n.__ouid_native_callback__=(o,r,s)=>{n.__ouid_native_promises&&n.__ouid_native_promises[o]&&(r?n.__ouid_native_promises[o].resolve(s):n.__ouid_native_promises[o].reject(s),delete n.__ouid_native_promises[o]);};}w(document,"document"),w(window,"window"),window._ouid_query=F,window._ouid_queryAll=W,window._ouid_createElement=V,window._ouid_createComment=q,window._ouid_invokeObjectMethod=Mt,window._ouid_invokeObjectMethodAndHold=kt,window._ouid_getObjectProperty=M,window._ouid_getObjectPropertyAndHold=Dt,window._ouid_setObjectProperty=Xt,window._ouid_appendChild=G,window._ouid_addClass=Q,window._ouid_removeClass=z,window._ouid_setInnerHTML=Pt,window._ouid_getInnerHTML=xt,window._ouid_setInnerText=J,window._ouid_getInnerText=tt,window._ouid_setContentText=$,window._ouid_getContentText=Z,window._ouid_setAttribute=nt,window._ouid_removeAttribute=ot,window._ouid_getAttribte=it,window._ouid_getAttribteNames=rt,window._ouid_childNodes=H,window._ouid_cloneNode=st,window._ouid_removeNode=ct,window._ouid_removeChild=at,window._ouid_replaceChildNode=Nt,window._ouid_replaceNode=ut,window._ouid_insertAfter=dt,window._ouid_insertBefore=lt,window._ouid_setInputValue=ft,window._ouid_inputValue=_t,window._ouid_attachEventListener=mt,window._ouid_dettachEventListener=ht,window._ouid_createComponentStyles=Et,window._ouid_appendComponentStyles=vt,window._ouid_rejectComponentStyles=Tt,window._ouid_locationPath=Ft,window._ouid_historyPushState=Wt,window._ouid_dispatchPopStateEvent=Ht,window._ouid_parentNode=Ot,window._ouid_releaseNode=Ut,window._ouid_getOObject=Vt,window._ouid_acquireObject=qt,window._ouid_newObject=Bt,window._ouid_dispatchEvent=Rt,window._ouid_setTimeout=Kt,window._ouid_clearTimeout=Jt,window._ouid_dsetInterval=Gt,window._ouid_clearInterval=$t,window._ouid_setStyle=et,window._ouid_nextSibling=Ct,window._ouid_fetch=It,window._ouid_alert=St,window._ouid_prompt=jt,window._ouid_requestAnimationFrame=yt,window._ouid_cancelAnimationFrame=bt,window._ouid_batchActions=zt,Yt("__native_message__",async(n,o,r)=>{let s=window[o];if(!s){if(j)try{try{let u=await window.WebOUID.nativeCall(n,o,r);NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",u);}catch(u){NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",u);}}catch(u){}NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_error__",JSON.stringify([{message:"No function match the given name: ("+o+")"}]));return}let a=await s(...JSON.parse(r));NativeOUID==null||NativeOUID.invoke(n,"__ouid_native_event_success__",JSON.stringify([{status:"success",data:a}]));});}i(te,"initDOM");
|
|
2
2
|
export{c as ELEMENT_REGISTRY,E as emit,te as initDOM,Y as stringToHex};//# sourceMappingURL=dom.js.map
|
|
3
3
|
//# sourceMappingURL=dom.js.map
|