@webqit/oohtml 2.1.10 → 2.1.13

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.
@@ -1,2 +1,2 @@
1
- (()=>{function x(r){return!Array.isArray(r)&&typeof r=="object"&&r}function H(r,...t){globalThis.WebQitInternalsRegistry||(globalThis.WebQitInternalsRegistry=new Map);var n=globalThis.WebQitInternalsRegistry.get(r);if(!n){if(n=new Map,t[0]===!1)return n;globalThis.WebQitInternalsRegistry.set(r,n)}for(var e,i;e=t.shift();)if((i=n)&&!(n=n.get(e))){if(n=new Map,t[0]===!1)return n;i.set(e,n)}return n}function g(r){return Array.isArray(r)}function L(r){return typeof r=="function"}function F(r){return r===null||r===""}function S(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||L(r)}function z(r){return F(r)||S(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function w(r){return L(r)||r&&{}.toString.call(r)==="[object function]"}function D(r){return r instanceof Number||typeof r=="number"}function C(r){return D(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function G(r){return r instanceof String||typeof r=="string"&&r!==null}function Q(r){return!G(r)&&!S(r.length)}function W(r,...t){return t.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function J(e,t){t=t||Object.prototype,t=t&&!g(t)?[t]:t;for(var n=[],e=e;e&&(!t||t.indexOf(e)<0)&&e.name!=="default";)n.push(e),e=e?Object.getPrototypeOf(e):null;return n}function X(r,t){var n=[];return J(r,t).forEach(e=>{W(n,...Object.getOwnPropertyNames(e))}),n}function T(r,t,n=!1,e=!1,i=!1){var o=0,s=r.shift();if((C(s)||s===!0||s===!1)&&(o=s,s=r.shift()),!r.length)throw new Error("_merge() requires two or more array/objects.");return r.forEach((l,a)=>{!b(l)&&!w(l)||(n?X(l):Object.keys(l)).forEach(u=>{if(!!t(u,s,l,a)){var f=s[u],c=l[u];if((g(f)&&g(c)||x(f)&&x(c))&&(o===!0||o>0))s[u]=g(f)&&g(c)?[]:{},T([C(o)?o-1:o,s[u],f,c],t,n,e,i);else if(g(s)&&g(l))e?s[u]=c:s.push(c);else try{i?Object.defineProperty(s,u,Object.getOwnPropertyDescriptor(l,u)):s[u]=l[u]}catch{}}})}),s}function O(r,t=!0){return g(r)?r:!t&&x(r)?[r]:r!==!1&&r!==0&&z(r)?[]:Q(r)?Array.prototype.slice.call(r):x(r)?Object.values(r):[r]}function N(r,t,n={},e={}){t=O(t).slice();for(var i=r;!S(i)&&!F(i)&&t.length;){var o=t.shift();if(!(n.get?n.get(i,o):b(i)?o in i:i[o])){e.exists=!1;return}i=n.get?n.get(i,o):i[o]}return e.exists=!0,i}function Z(...r){return T(r,(t,n,e)=>{if(g(n)&&g(e)){if(n.indexOf(e[t])===-1)return!0}else if(!(t in n))return!0})}function K(r,t,n,e={},i={}){let o=(f,c,p)=>i.set?i.set(f,c,p):(C(t[l])&&g(f)?f.push(p):f[c]=p,!0);t=O(t);for(var s=r,l=0;l<t.length;l++)if(l<t.length-1){if(!s||!b(s)&&!w(s))return!1;var a=N(s,t[l],i);if(!b(a)){if(i.buildTree===!1)return!1;a=w(i.buildTree)?i.buildTree(l):C(t[l+1])?[]:{};var u=o(s,t[l],a);if(!u)return!1}s=a}else return o(s,t[l],n)}var ct=r=>class{constructor(n=!0){Object.defineProperty(this,"window",{value:r}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=n,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{this.readCallbacks.forEach(n=>{n()||this.readCallbacks.delete(n)}),this.writeCallbacks.forEach(n=>{n()||this.writeCallbacks.delete(n)}),this._run()})}onread(n,e=!1){if(e)return new Promise((i,o)=>{this.async===!1?n(i,o):this.readCallbacks.add(()=>{n(i,o)})});this.async===!1?n():this.readCallbacks.add(n)}onwrite(n,e=!1){if(e)return new Promise((i,o)=>{this.async===!1?n(i,o):this.writeCallbacks.add(()=>{n(i,o)})});this.async===!1?n():this.writeCallbacks.add(n)}cycle(n,e,i){this.onread(()=>{let o=n(i),s=l=>{l!==void 0&&this.onwrite(()=>{let a=e(l,i),u=f=>{f!==void 0&&this.cycle(n,e,f)};a instanceof Promise?a.then(u):u(a)})};o instanceof Promise?o.then(s):s(o)})}};var P=class{constructor(t,n,e){this.context=t,this.namespace=n,this.window=t.defaultView||t.ownerDocument?.defaultView||e,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(t){return w(t[0])?t=[[],...t]:x(t[0])&&t.length===1?t=[[],void 0,t[0]]:x(t[1])&&t.length===2?t=[O(t[0],!1),void 0,t[1]]:t[0]=O(t[0],!1),t}registry(...t){return H(this.window,"dom.realtime",this.namespace,...t)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(t,n,e){let{window:i}=this,o=Array.isArray(n)?n:[n],s=new Set;for(let[l,a]of this.registry(t))for(let[u,f]of a){let c=o.filter(p=>u.contains(p.target)?l==="subtree"||p.target===u:!1);if(!!c.length){Array.isArray(n)||(c=c[0]);for(let p of f)s.add([p,c,u])}}for(let[l,a,u]of s)e.call(this,l,a,u)}disconnectables(t,...n){let e={disconnect(){n.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||x(i)&&(i.disconnected=!0))}};return t&&t.addEventListener("abort",()=>e.disconnect()),e}};var q=class extends P{constructor(t,...n){super(t,"attr",...n)}get(t,n=void 0,e={}){let i=typeof t=="string";[t=[],n=void 0,e={}]=this.resolveArgs(arguments);let{context:o}=this,s=pt(o,t),l=i?s[0]:s;if(!n)return l;let a=n&&e.lifecycleSignals&&this.createSignalGenerator(),u=a?.generate()||{};if(n(l,u,o),e.live){a&&(e={...e,signalGenerator:a});let f=this.observe(i?t[0]:t,n,{newValue:!0,...e});return this.disconnectables(e.signal,f)}}observe(t,n,e={}){let i=typeof t=="string";if([t=[],n,e={}]=this.resolveArgs(arguments),["sync","intercept"].includes(e.timing))return this.observeSync(i?t[0]:t,n,e);if(e.timing&&e.timing!=="async")throw new Error(`Timing option "${e.timing}" invalid.`);let{context:o,window:s,webqit:l}=this;e.eventDetails&&!l.dom.attrInterceptionHooks?.intercepting&&at.call(s,"intercept",()=>{});let a=new s.MutationObserver(p=>{p=dt(p).map(_=>ht.call(s,_)),mt.call(s,c,p,o)}),u={attributes:!0,attributeOldValue:e.oldValue,subtree:e.subtree};t.length&&(u.attributeFilter=t),a.observe(o,u);let f=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),c={context:o,filter:t,callback:n,params:e,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:a};return this.disconnectables(e.signal,a,f)}observeSync(t,n,e={}){let i=typeof t=="string";[t,n,e={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(e.timing&&!["sync","intercept"].includes(e.timing))throw new Error(`Timing option "${e.timing}" invalid.`);let l=e.timing==="intercept"?"intercept":"sync",a=e.subtree?"subtree":"children";this.registry(l).size||at.call(s,l,m=>{this.forEachMatchingContext(l,m,mt)});let u={disconnect(){_.delete(c),_.size||p.delete(o)}},f=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),c={context:o,filter:t,callback:n,params:e,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:u},p=this.registry(l,a);p.has(o)||p.set(o,new Set);let _=p.get(o);return _.add(c),this.disconnectables(e.signal,u,f)}};function dt(r){return r.reduce((t,n,e)=>t[e-1]?.attributeName===n.attributeName?t:t.concat(n),[])}function mt(r,t){let{context:n,filter:e,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:a}=r;o.atomic&&!s.size&&(t=pt(n,e,t)),o.newValue===null&&o.oldValue===null||(t=t.map(c=>{let p;return!o.oldValue&&"oldValue"in c&&({oldValue:p,...c}=c),!o.newValue&&"value"in c?{value:p,...c}=c:o.newValue&&typeof c.value>"u"&&(c={...c,value:c.target.getAttribute(c.name)}),c})),o.atomic&&(t.forEach(c=>s.set(c.name,c)),t=Array.from(s.entries()).map(([,c])=>c));let u=l?t[0]:t,f=a?.generate()||{};i(u,f,n)}function pt(r,t,n=[]){let e={event:null,type:"attribute"};return t.length?t.map(o=>n.find(s=>s.name===o)||{target:r,name:o,value:r.getAttribute(o),...e}):Array.from(r.attributes).map(o=>n.find(s=>s.name===o.nodeName)||{target:r,name:o.nodeName,value:o.nodeValue,...e})}function ht({target:r,attributeName:t,value:n,oldValue:e}){let s=(this.webqit.dom.attrInterceptionRecords?.get(r)||{})[t]||"mutation";return{target:r,name:t,value:n,oldValue:e,type:"observation",event:s}}function at(r,t){let n=this,{webqit:e,document:i,Element:o}=n;e.dom.attrInterceptionHooks||(e.dom.attrInterceptionHooks=new Map),e.dom.attrInterceptionHooks.has(r)||e.dom.attrInterceptionHooks.set(r,new Set),e.dom.attrInterceptionHooks.get(r).add(t);let s=()=>e.dom.attrInterceptionHooks.get(r).delete(t);if(e.dom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),e.dom.attrInterceptionHooks.intercepting=!0,e.dom.attrInterceptionRecords=new Map;let l=(f,c)=>{e.dom.attrInterceptionRecords.has(f.target)||e.dom.attrInterceptionRecords.set(f.target,{});let p=e.dom.attrInterceptionRecords.get(f.target);clearTimeout(p[f.name]?.timeout),p[f.name]=f.event;let _=setTimeout(()=>{delete p[f.name]},0);Object.defineProperty(f.event,"timeout",{value:_,configurable:!0}),e.dom.attrInterceptionHooks.get("intercept")?.forEach(h=>h([f]));let m=c();return e.dom.attrInterceptionHooks.get("sync")?.forEach(h=>h([f])),m};new n.MutationObserver(f=>{f=dt(f).map(c=>ht.call(n,c)).filter((c,p)=>!Array.isArray(c.event)),f.length&&(e.dom.attrInterceptionHooks.get("intercept")?.forEach(c=>c(f)),e.dom.attrInterceptionHooks.get("sync")?.forEach(c=>c(f)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let u=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(f=>{u[f]=o.prototype[f],o.prototype[f]=function(...c){let p,_=this.getAttribute(c[0]);["setAttribute","toggleAttribute"].includes(f)&&(p=c[1]),f==="toggleAttribute"&&p===void 0&&(p=_===null);let m={target:this,name:c[0],value:p,oldValue:_,type:"interception",event:[this,f]};return l(m,()=>u[f].call(this,...c))}}),s}var R=class extends P{constructor(t,...n){super(t,"tree",...n)}attr(t,n=void 0,e={}){let{context:i,window:o}=this;return new q(i,o).get(...arguments)}query(t,n=void 0,e={}){[t,n=void 0,e={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=u=>(o.has(u)||o.set(u,{target:u,entrants:[],exits:[],type:"query",event:null}),o.get(u));if((!e.generation||e.generation==="entrants")&&(t.length?t.every(u=>typeof u=="string")&&(t=t.join(","))&&(e.subtree?i.querySelectorAll(t):[...i.children].filter(f=>f.matches(t))).forEach(f=>s(f.parentNode||i).entrants.push(f)):[...i.children].forEach(u=>s(i).entrants.push(u))),!n)return o;let l={disconnected:!1},a=n&&e.lifecycleSignals&&this.createSignalGenerator();for(let[,u]of o){if(l.disconnected)break;let f=a?.generate()||{};n(u,f,i)}if(e.live){a&&(e={...e,signalGenerator:a});let u=this.observe(t,n,e);return this.disconnectables(e.signal,l,u)}return this.disconnectables(e.signal,l,a)}children(t,n=void 0,e={}){return[t,n=void 0,e={}]=this.resolveArgs(arguments),this.query(t,n,{...e,subtree:!1})}subtree(t,n=void 0,e={}){return[t,n=void 0,e={}]=this.resolveArgs(arguments),this.query(t,n,{...e,subtree:!0})}observe(t,n,e={}){if([t,n,e={}]=this.resolveArgs(arguments),["sync","intercept"].includes(e.timing))return this.observeSync(t,n,e);if(e.timing&&e.timing!=="async")throw new Error(`Timing option "${e.timing}" invalid.`);let{context:i,window:o,webqit:s,document:l}=this;e.eventDetails&&(s.dom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.dom.domInterceptionRecordsAlwaysOn)&&!s.dom.domInterceptionHooks?.intercepting&&yt.call(o,"sync",()=>{});let a=new o.MutationObserver(c=>c.forEach(p=>{_t.call(o,f,xt.call(o,p),i)}));a.observe(i,{childList:!0,subtree:e.subtree});let u=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:t,callback:n,params:e,signalGenerator:u,disconnectable:a};if(e.staticSensitivity){let c=gt.call(o,f);return this.disconnectables(e.signal,a,u,c)}return this.disconnectables(e.signal,a,u)}observeSync(t,n,e={}){[t,n,e={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(e.timing&&!["sync","intercept"].includes(e.timing))throw new Error(`Timing option "${e.timing}" invalid.`);let s=e.timing==="intercept"?"intercept":"sync",l=e.subtree?"subtree":"children";this.registry(s).size||yt.call(o,s,_=>{this.forEachMatchingContext(s,_,_t)});let a={disconnect(){p.delete(f),p.size||c.delete(i)}},u=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:t,callback:n,params:e,signalGenerator:u,disconnectable:a},c=this.registry(s,l);c.has(i)||c.set(i,new Set);let p=c.get(i);if(p.add(f),e.staticSensitivity){let _=gt.call(o,f);return this.disconnectables(e.signal,a,u,_)}return this.disconnectables(e.signal,a,u)}};function gt(r){let t=this,{context:n,selectors:e,callback:i,params:o,signalGenerator:s}=r,l=f=>[...f.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(c=>c[1]);if(!(r.$attrs=e.filter(f=>typeof f=="string"&&f.includes("[")).reduce((f,c)=>f.concat(l(c)),[])).length)return;let a=new Set,u=new Set;return a.push=f=>(u.delete(f),a.add(f)),u.push=f=>(a.delete(f),u.add(f)),r.$deliveryCache={entrants:a,exits:u},new q(n,t).observe(r.$attrs,f=>{let c=new Map,p=h=>(c.has(h)||c.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),c.get(h)),_=new WeakMap,m=h=>(_.has(h)||_.set(h,e.some(d=>h.matches(d))),_.get(h));for(let h of f)["entrants","exits"].forEach(d=>{o.generation&&d!==o.generation||r.$deliveryCache[d].has(h.target)||(d==="entrants"?!m(h.target):m(h.target))||(r.$deliveryCache[d].push(h.target),p(h.target)[d].push(h.target),p(h.target).event=h.event)});for(let[,h]of c){let d=s?.generate()||{};i(h,d,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function _t(r,t){let{context:n,selectors:e,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=r,a={...t,entrants:[],exits:[]};if(["entrants","exits"].forEach(f=>{if(!(o.generation&&f!==o.generation)&&(e.length?a[f]=Nt(e,t[f],t.event!=="parse"):a[f]=[...t[f]],!!l))for(let c of a[f])l[f].push(c)}),!a.entrants.length&&!a.exits.length)return;let u=s?.generate()||{};i(a,u,n)}function Nt(r,t,n){t=Array.isArray(t)?t:[...t];let e=(i,o)=>{if(i=i.filter(s=>s.matches),typeof o=="string"){let s=i.filter(l=>l.matches(o));if(n&&(s=i.reduce((l,a)=>[...l,...a.querySelectorAll(o)],s)),s.length)return s}else if(i.includes(o)||n&&i.some(s=>s.contains(o)))return[o]};return t.$$searchCache||(t.$$searchCache=new Map),r.reduce((i,o)=>{let s;return t.$$searchCache.has(o)?s=t.$$searchCache.get(o):(s=e(t,o)||[],x(o)&&t.$$searchCache.set(o,s)),i.concat(s)},[])}function xt({target:r,addedNodes:t,removedNodes:n}){let e=this,i;return i=O(t).reduce((o,s)=>o||e.webqit.dom.domInterceptionRecords?.get(s),null),i=O(n).reduce((o,s)=>o||e.webqit.dom.domInterceptionRecords?.get(s),i),i=i||e.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:t,exits:n,type:"observation",event:i}}function yt(r,t){let n=this,{webqit:e,document:i,Node:o,Element:s,HTMLElement:l,HTMLTemplateElement:a,DocumentFragment:u}=n;e.dom.domInterceptionHooks||(e.dom.domInterceptionHooks=new Map),e.dom.domInterceptionHooks.has(r)||e.dom.domInterceptionHooks.set(r,new Set),e.dom.domInterceptionHooks.get(r).add(t);let f=()=>e.dom.domInterceptionHooks.get(r).delete(t);if(e.dom.domInterceptionHooks?.intercepting)return f;console.warn("DOM mutation APIs are now being intercepted."),e.dom.domInterceptionHooks.intercepting=!0,e.dom.domInterceptionRecords=new Map;let c=()=>!0,p=(m,h)=>{c()?m.entrants.concat(m.exits).forEach(y=>{clearTimeout(e.dom.domInterceptionRecords.get(y)?.timeout),e.dom.domInterceptionRecords.set(y,m.event);let v=setTimeout(()=>{e.dom.domInterceptionRecords.delete(y)},0);Object.defineProperty(m.event,"timeout",{value:v,configurable:!0})}):e.dom.domInterceptionRecords.clear(),e.dom.domInterceptionHooks.get("intercept")?.forEach(y=>y(m));let d=h();return e.dom.domInterceptionHooks.get("sync")?.forEach(y=>y(m)),d};if(c()){let m=new n.MutationObserver(h=>h.forEach(d=>{Array.isArray((d=xt.call(n,d)).event)||(e.dom.domInterceptionHooks.get("intercept")?.forEach(y=>y(d)),e.dom.domInterceptionHooks.get("sync")?.forEach(y=>y(d)))}));m.observe(i,{childList:!0,subtree:!0}),i.addEventListener("readystatechange",()=>!c()&&m.disconnect())}let _=Object.create(null);return["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(m=>{let h=["insertBefore","replaceChild","removeChild","appendChild"].includes(m)?o:s;_[m]=h.prototype[m],_[m]&&(h.prototype[m]=function(...d){let y=()=>_[m].call(this,...d);if(!(this instanceof s||this instanceof u))return y();let v=[],A=[],I=this;["insertBefore"].includes(m)?A=[d[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(m)?(A=[d[1]],["beforebegin","afterend"].includes(d[0])&&(I=this.parentNode)):["setHTML","replaceChildren"].includes(m)?(v=[...this.childNodes],A=m==="replaceChildren"?[...d]:[d[0]]):["replaceWith","remove"].includes(m)?(v=[this],A=m==="replaceWith"?[...d]:[],I=this.parentNode):["replaceChild"].includes(m)?(v=[d[1]],A=[d[0]]):["removeChild"].includes(m)?v=[...d]:(A=[...d],["before","after"].includes(m)&&(I=this.parentNode));let $=m;if(["insertAdjacentHTML","setHTML"].includes(m)){let M=this.nodeName;if(m==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(d[0])){if(!this.parentNode)return _[m].call(this,...d);M=this.parentNode.nodeName}let V=i.createElement(M);_.setHTML.call(V,A[0],m==="setHTML"?d[1]:{}),A=[...V.childNodes],m==="insertAdjacentHTML"?($="insertAdjacentElement",d[1]=new u,d[1].______isTemp=!0,d[1].append(...V.childNodes)):($="replaceChildren",d=[...V.childNodes])}return p({target:I,entrants:A,exits:v,type:"interception",event:[this,m]},()=>_[$].call(this,...d))})}),["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(m=>{let h=["textContent","nodeValue"].includes(m)?o:["outerText","innerText"].includes(m)?l:s;_[m]=Object.getOwnPropertyDescriptor(h.prototype,m),Object.defineProperty(h.prototype,m,{..._[m],set:function(d){let y=()=>_[m].set.call(this,d);if(!(this instanceof s))return y();let v=[],A=[],I=this;if(["outerHTML","outerText"].includes(m)?(v=[this],I=this.parentNode):v=[...this.childNodes],["outerHTML","innerHTML"].includes(m)){let j=this.nodeName;if(m==="outerHTML"){if(!this.parentNode)return y();j=this.parentNode.nodeName}let M=i.createElement(j==="TEMPLATE"?"div":j);_[m].set.call(M,d),A=this instanceof a?[]:[...M.childNodes],m==="outerHTML"?(d=new u,d.______isTemp=!0,d.append(...M.childNodes),y=()=>_.replaceWith.call(this,d)):this instanceof a?y=()=>this.content.replaceChildren(...M.childNodes):y=()=>_.replaceChildren.call(this,...M.childNodes)}return p({target:I,entrants:A,exits:v,type:"interception",event:[this,m]},y)}})}),["append","prepend","replaceChildren"].forEach(m=>{[i,u.prototype].forEach(h=>{let d=h[m];h[m]=function(...y){if(this.______isTemp)return d.call(this,...y);let v=m==="replaceChildren"?[...this.childNodes]:[];return p({target:this,entrants:y,exits:v,type:"interception",event:[this,m]},()=>d.call(this,...y))}})}),f}function wt(){kt.call(this),$t.call(this),jt.call(this)}function kt(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=t=>t.replace(/([\:@\~\$\&])/g,"\\$1"))}function $t(){let r=this;"isConnected"in r.Node.prototype||Object.defineProperty(r.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function jt(){let r=this;r.Element.prototype.matches||(r.Element.prototype.matches=r.Element.prototype.matchesSelector||r.Element.prototype.mozMatchesSelector||r.Element.prototype.msMatchesSelector||r.Element.prototype.oMatchesSelector||r.Element.prototype.webkitMatchesSelector||function(t){for(var n=(this.document||this.ownerDocument).querySelectorAll(t),e=n.length;--e>=0&&n.item(e)!==this;);return e>-1})}function bt(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.dom)return r.webqit.dom;r.webqit.dom={},wt.call(r);let t=ct(r);return r.webqit.dom.Reflow=new t,r.webqit.dom.DOMRealtime=R,r.webqit.dom.AttrRealtime=q,r.webqit.dom.realtime=(n,e="tree")=>{if(e==="tree")return new R(n,r);if(e==="attr")return new q(n,r)},r.webqit.dom.ready=Vt.bind(r),r.webqit.dom.meta=Gt.bind(r),r.webqit.dom}function Vt(r){let t=this;t.document.readyState==="complete"?r(t):(t.document.domReadyCallbacks||(t.document.domReadyCallbacks=[],t.document.addEventListener("DOMContentLoaded",()=>{t.document.domReadyCallbacks.splice(0).forEach(n=>n(t))},!1)),t.document.domReadyCallbacks.push(r))}function Gt(r){let t=this,n={},e;return(e=t.document.querySelector(`meta[name="${r}"]`))&&(n=(e.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(l=>l.trim());return K(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:C(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return r},get content(){return e.content},json(){return JSON.parse(JSON.stringify(n))}}}var U=(r,...t)=>H(r,"oohtml",...t);function Ot(r,t,n){let e=this,i=bt.call(e);e.webqit||(e.webqit={}),e.webqit.oohtml||(e.webqit.oohtml={}),e.webqit.oohtml.configs||(e.webqit.oohtml.configs={});let o=Z(1,i.meta(r).json(),t,n);return e.webqit.oohtml.configs[r.toUpperCase().replace("-","_")]=o,{config:o,dom:i,window:e}}function et(r,t,n=1,e=!1){if(n&&typeof r=="object"&&r&&typeof t=="object"&&t&&(!e||Object.keys(r).length===Object.keys(t).length)){for(let i in r)if(!et(r[i],t[i],n-1,e))return!1;return!0}return Array.isArray(r)&&Array.isArray(t)&&r.length===t.length?(t=t.slice(0).sort())&&r.slice(0).sort().every((i,o)=>i===t[o]):r===t}function vt(){let r=this;return class extends r.Event{constructor(n,e,{type:i="contextrequest",...o}={}){super(i,o),Object.defineProperty(this,"request",{get:()=>n}),Object.defineProperty(this,"callback",{get:()=>e})}respondWith(n,...e){if(this.request.diff){if("previousValue"in this&&this.previousValue===n)return;this.previousValue=n}return this.callback(n,...e)}}}var E=class{static instance(t){return U(t).get("contextsmanager::instance")||new this(t)}constructor(t){U(t).get("contextsmanager::instance")?.dispose(),U(t).set("contextsmanager::instance",this);let n={host:t,contexts:new Set};Object.defineProperty(this,"#",{get:()=>n});let e=vt.call(t.ownerDocument?.defaultView||t.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>e}),this[Symbol.iterator]=function*(){yield n.contexts[Symbol.iterator]().next().value}}get length(){this["#"].contexts.size}find(t){return[...this["#"].contexts].find(t)}attach(t){this["#"].contexts.add(t),t.initialize(this["#"].host)}detach(t){t.dispose(this["#"].host),this["#"].contexts.delete(t)}ask(t,n,e={}){return this["#"].host.dispatchEvent(new this.ContextRequestEvent(t,n,{bubbles:!0,...e}))}dispose(){}};var k=class{static get config(){return{}}static attachTo(t,n,e=!1){let i,o=E.instance(t);return!e&&(i=o.find(s=>this.matchRequest(s.id,n,!0)))?i:o.attach(new this(n))}static detachFrom(t,n,e=!1){let i,o=E.instance(t);for(i of o["#"].contexts)if(!(!this.matchRequest(i.id,n,!0)||typeof e=="function"&&!e(i))&&(o.detach(i),typeof e!="function"&&!e))return i}static createId(t,n={}){let e={type:"HTMLModules",...n};return e.name||(t.getAttribute&&!(e.name=(t.getAttribute(this.config.context.attr.contextname)||"").trim())?delete e.name:t.ownerDocument||(e.name="root")),e}static createRequest(t={}){return{...t}}static matchRequest(t,n,e=!1){return e?et(t,n,1,!0):n.type===t.type&&!n.name||n.name===t.name}constructor(t){Object.defineProperty(this,"id",{get:()=>t}),Object.defineProperty(this,"subscriptions",{value:new Set})}get length(){this.subscriptions.size}handle(t){}subscribe(t){this.subscriptions.add(t),t.request.signal&&t.request.signal.addEventListener("abort",()=>{this.unsubscribe(t)})}unsubscribe(t){this.subscriptions.delete(t),t.request.controller?.abort()}handleEvent(t){if(!(this.disposed||t.target===this.host&&t.request?.superContextOnly||!t.request||typeof t.callback!="function"||!this.constructor.matchRequest(this.id,t.request)))if(t.stopPropagation(),t.type==="contextclaim"){let n=new Set;this.subscriptions.forEach(e=>{!t.target.contains(e.request.superContextOnly?e.target.parentNode:e.target)||!this.constructor.matchRequest(t.request,e.request)||(this.subscriptions.delete(e),n.add(e))}),t.respondWith(n)}else t.type==="contextrequest"&&(t.request.live&&this.subscribe(t),this.handle(t))}initialize(t){return this.host=t,this.disposed=!1,t.addEventListener("contextrequest",this),t.addEventListener("contextclaim",this),E.instance(t).ask({...this.id,superContextOnly:!0},n=>n.forEach(e=>{this.subscribe(e),this.handle(e)}),{type:"contextclaim"}),this}dispose(t){return this.disposed=!0,t.removeEventListener("contextrequest",this),t.removeEventListener("contextclaim",this),this.subscriptions.forEach(n=>{this.unsubscribe(n);let{target:e,request:i,callback:o,params:s}=n;E.instance(e).ask(i,o,s)}),this}};function rt(r={}){let{config:t,window:n}=Ot.call(this,"context-api",r,{api:{context:"context"}});n.webqit.HTMLContextManager=E,n.webqit.HTMLContext=k,Wt.call(n,t)}function Wt(r){let t=this;if(r.api.context in t.document)throw new Error(`document already has a "${r.api.context}" property!`);if(r.api.context in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${r.api.context}" property!`);Object.defineProperty(t.document,r.api.context,{get:function(){return E.instance(t.document)}}),Object.defineProperty(t.HTMLElement.prototype,r.api.context,{get:function(){return E.instance(this)}})}rt.call(window);})();
1
+ (()=>{function x(r){return!Array.isArray(r)&&typeof r=="object"&&r}function g(r){return Array.isArray(r)}function X(r,e,n=null){return g(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function H(r,...e){globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new R});var n=globalThis.webqit.refs.get(r);n||(n=new R,globalThis.webqit.refs.set(r,n));for(var t,i;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new R,i.set(t,n));return n}var R=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,n){let t=super.set(e,n);return this.fire("set",e,n,e),t}delete(e){let n=super.delete(e);return this.fire("delete",e),n}has(e){return this.fire("has",e),super.has(e)}get(e){return this.fire("get",e),super.get(e)}keyNames(){return Array.from(super.keys())}observe(e,n,t){let i={type:e,key:n,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,n,t){if(Array.isArray(e)||Array.isArray(n))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(W([e,"*"],i.type)&&W([n,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,n,...t){for(let i of this.observers)!(W([e,"*"],i.type)&&W([n,"*"],i.key))||i.callback(...t)}},W=(r,e)=>Array.isArray(e)?X(r,e).length:r.includes(e);function L(r){return typeof r=="function"}function N(r){return r===null||r===""}function S(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||L(r)}function Y(r){return N(r)||S(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function w(r){return L(r)||r&&{}.toString.call(r)==="[object function]"}function j(r){return r instanceof Number||typeof r=="number"}function E(r){return j(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function U(r){return r instanceof String||typeof r=="string"&&r!==null}function Z(r){return!U(r)&&!S(r.length)}function z(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function K(t,e){e=e||Object.prototype,e=e&&!g(e)?[e]:e;for(var n=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)n.push(t),t=t?Object.getPrototypeOf(t):null;return n}function ee(r,e){var n=[];return K(r,e).forEach(t=>{z(n,...Object.getOwnPropertyNames(t))}),n}function T(r,e,n=!1,t=!1,i=!1){var o=0,s=r.shift();if((E(s)||s===!0||s===!1)&&(o=s,s=r.shift()),!r.length)throw new Error("_merge() requires two or more array/objects.");return r.forEach((l,m)=>{!b(l)&&!w(l)||(n?ee(l):Object.keys(l)).forEach(u=>{if(!!e(u,s,l,m)){var f=s[u],c=l[u];if((g(f)&&g(c)||x(f)&&x(c))&&(o===!0||o>0))s[u]=g(f)&&g(c)?[]:{},T([E(o)?o-1:o,s[u],f,c],e,n,t,i);else if(g(s)&&g(l))t?s[u]=c:s.push(c);else try{i?Object.defineProperty(s,u,Object.getOwnPropertyDescriptor(l,u)):s[u]=l[u]}catch{}}})}),s}function k(...r){return T(r,(e,n,t)=>!0,!1,!1,!1)}function O(r,e=!0){return g(r)?r:!e&&x(r)?[r]:r!==!1&&r!==0&&Y(r)?[]:Z(r)?Array.prototype.slice.call(r):x(r)?Object.values(r):[r]}function D(r,e,n={},t={}){e=O(e).slice();for(var i=r;!S(i)&&!N(i)&&e.length;){var o=e.shift();if(!(n.get?n.get(i,o):b(i)?o in i:i[o])){t.exists=!1;return}i=n.get?n.get(i,o):i[o]}return t.exists=!0,i}function re(r,e,n,t={},i={}){let o=(f,c,p)=>i.set?i.set(f,c,p):(E(e[l])&&g(f)?f.push(p):f[c]=p,!0);e=O(e);for(var s=r,l=0;l<e.length;l++)if(l<e.length-1){if(!s||!b(s)&&!w(s))return!1;var m=D(s,e[l],i);if(!b(m)){if(i.buildTree===!1)return!1;m=w(i.buildTree)?i.buildTree(l):E(e[l+1])?[]:{};var u=o(s,e[l],m);if(!u)return!1}s=m}else return o(s,e[l],n)}var le=r=>class{constructor(n=!0){Object.defineProperty(this,"window",{value:r}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=n,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{this.readCallbacks.forEach(n=>{n()||this.readCallbacks.delete(n)}),this.writeCallbacks.forEach(n=>{n()||this.writeCallbacks.delete(n)}),this._run()})}onread(n,t=!1){if(t)return new Promise((i,o)=>{this.async===!1?n(i,o):this.readCallbacks.add(()=>{n(i,o)})});this.async===!1?n():this.readCallbacks.add(n)}onwrite(n,t=!1){if(t)return new Promise((i,o)=>{this.async===!1?n(i,o):this.writeCallbacks.add(()=>{n(i,o)})});this.async===!1?n():this.writeCallbacks.add(n)}cycle(n,t,i){this.onread(()=>{let o=n(i),s=l=>{l!==void 0&&this.onwrite(()=>{let m=t(l,i),u=f=>{f!==void 0&&this.cycle(n,t,f)};m instanceof Promise?m.then(u):u(m)})};o instanceof Promise?o.then(s):s(o)})}};var P=class{constructor(e,n,t){this.context=e,this.namespace=n,this.window=e.defaultView||e.ownerDocument?.defaultView||t,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(e){return w(e[0])?e=[[],...e]:x(e[0])&&e.length===1?e=[[],void 0,e[0]]:x(e[1])&&e.length===2?e=[O(e[0],!1),void 0,e[1]]:e[0]=O(e[0],!1),e}registry(...e){return H("dom.realtime",this.window,this.namespace,...e)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(e,n,t){let{window:i}=this,o=Array.isArray(n)?n:[n],s=new Set;for(let[l,m]of this.registry(e))for(let[u,f]of m){let c=o.filter(p=>u.contains(p.target)?l==="subtree"||p.target===u:!1);if(!!c.length){Array.isArray(n)||(c=c[0]);for(let p of f)s.add([p,c,u])}}for(let[l,m,u]of s)t.call(this,l,m,u)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||x(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var q=class extends P{constructor(e,...n){super(e,"attr",...n)}get(e,n=void 0,t={}){let i=typeof e=="string";[e=[],n=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=ge(o,e),l=i?s[0]:s;if(!n)return l;let m=n&&t.lifecycleSignals&&this.createSignalGenerator(),u=m?.generate()||{};if(n(l,u,o),t.live){m&&(t={...t,signalGenerator:m});let f=this.observe(i?e[0]:e,n,{newValue:!0,...t});return this.disconnectables(t.signal,f)}}observe(e,n,t={}){let i=typeof e=="string";if([e=[],n,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,n,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:l}=this;t.eventDetails&&!l.dom.attrInterceptionHooks?.intercepting&&pe.call(s,"intercept",()=>{});let m=new s.MutationObserver(p=>{p=he(p).map(y=>ye.call(s,y)),de.call(s,c,p,o)}),u={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(u.attributeFilter=e),m.observe(o,u);let f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:o,filter:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:m};return this.disconnectables(t.signal,m,f)}observeSync(e,n,t={}){let i=typeof e=="string";[e,n,t={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let l=t.timing==="intercept"?"intercept":"sync",m=t.subtree?"subtree":"children";this.registry(l).size||pe.call(s,l,a=>{this.forEachMatchingContext(l,a,de)});let u={disconnect(){y.delete(c),y.size||p.delete(o)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:o,filter:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:u},p=this.registry(l,m);p.has(o)||p.set(o,new Set);let y=p.get(o);return y.add(c),this.disconnectables(t.signal,u,f)}};function he(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function de(r,e){let{context:n,filter:t,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:m}=r;o.atomic&&!s.size&&(e=ge(n,t,e)),o.newValue===null&&o.oldValue===null||(e=e.map(c=>{let p;return!o.oldValue&&"oldValue"in c&&({oldValue:p,...c}=c),!o.newValue&&"value"in c?{value:p,...c}=c:o.newValue&&typeof c.value>"u"&&(c={...c,value:c.target.getAttribute(c.name)}),c})),o.atomic&&(e.forEach(c=>s.set(c.name,c)),e=Array.from(s.entries()).map(([,c])=>c));let u=l?e[0]:e,f=m?.generate()||{};i(u,f,n)}function ge(r,e,n=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>n.find(s=>s.name===o)||{target:r,name:o,value:r.getAttribute(o),...t}):Array.from(r.attributes).map(o=>n.find(s=>s.name===o.nodeName)||{target:r,name:o.nodeName,value:o.nodeValue,...t})}function ye({target:r,attributeName:e,value:n,oldValue:t}){let s=(this.webqit.dom.attrInterceptionRecords?.get(r)||{})[e]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:s}}function pe(r,e){let n=this,{webqit:t,document:i,Element:o}=n;t.dom.attrInterceptionHooks||Object.defineProperty(t.dom,"attrInterceptionHooks",{value:new Map}),t.dom.attrInterceptionHooks.has(r)||t.dom.attrInterceptionHooks.set(r,new Set),t.dom.attrInterceptionHooks.get(r).add(e);let s=()=>t.dom.attrInterceptionHooks.get(r).delete(e);if(t.dom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.dom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.dom,"attrInterceptionRecords",{value:new Map});let l=(f,c)=>{t.dom.attrInterceptionRecords.has(f.target)||t.dom.attrInterceptionRecords.set(f.target,{});let p=t.dom.attrInterceptionRecords.get(f.target);clearTimeout(p[f.name]?.timeout),p[f.name]=f.event;let y=setTimeout(()=>{delete p[f.name]},0);Object.defineProperty(f.event,"timeout",{value:y,configurable:!0}),t.dom.attrInterceptionHooks.get("intercept")?.forEach(h=>h([f]));let a=c();return t.dom.attrInterceptionHooks.get("sync")?.forEach(h=>h([f])),a};new n.MutationObserver(f=>{f=he(f).map(c=>ye.call(n,c)).filter((c,p)=>!Array.isArray(c.event)),f.length&&(t.dom.attrInterceptionHooks.get("intercept")?.forEach(c=>c(f)),t.dom.attrInterceptionHooks.get("sync")?.forEach(c=>c(f)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let u=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(f=>{u[f]=o.prototype[f],o.prototype[f]=function(...c){let p,y=this.getAttribute(c[0]);["setAttribute","toggleAttribute"].includes(f)&&(p=c[1]),f==="toggleAttribute"&&p===void 0&&(p=y===null);let a={target:this,name:c[0],value:p,oldValue:y,type:"interception",event:[this,f]};return l(a,()=>u[f].call(this,...c))}}),s}var F=class extends P{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new q(i,o).get(...arguments)}query(e,n=void 0,t={}){[e,n=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=u=>(o.has(u)||o.set(u,{target:u,entrants:[],exits:[],type:"query",event:null}),o.get(u));if((!t.generation||t.generation==="entrants")&&(e.length?e.every(u=>typeof u=="string")&&(e=e.join(","))&&(t.subtree?i.querySelectorAll(e):[...i.children].filter(f=>f.matches(e))).forEach(f=>s(f.parentNode||i).entrants.push(f)):[...i.children].forEach(u=>s(i).entrants.push(u))),!n)return o;let l={disconnected:!1},m=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,u]of o){if(l.disconnected)break;let f=m?.generate()||{};n(u,f,i)}if(t.live){m&&(t={...t,signalGenerator:m});let u=this.observe(e,n,t);return this.disconnectables(t.signal,l,u)}return this.disconnectables(t.signal,l,m)}children(e,n=void 0,t={}){return[e,n=void 0,t={}]=this.resolveArgs(arguments),this.query(e,n,{...t,subtree:!1})}subtree(e,n=void 0,t={}){return[e,n=void 0,t={}]=this.resolveArgs(arguments),this.query(e,n,{...t,subtree:!0})}observe(e,n,t={}){if([e,n,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,n,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:l}=this;t.eventDetails&&(s.dom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.dom.domInterceptionRecordsAlwaysOn)&&!s.dom.domInterceptionHooks?.intercepting&&we.call(o,"sync",()=>{});let m=new o.MutationObserver(c=>c.forEach(p=>{xe.call(o,f,be.call(o,p),i)}));m.observe(i,{childList:!0,subtree:t.subtree});let u=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:n,params:t,signalGenerator:u,disconnectable:m};if(t.staticSensitivity){let c=_e.call(o,f);return this.disconnectables(t.signal,m,u,c)}return this.disconnectables(t.signal,m,u)}observeSync(e,n,t={}){[e,n,t={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let s=t.timing==="intercept"?"intercept":"sync",l=t.subtree?"subtree":"children";this.registry(s).size||we.call(o,s,y=>{this.forEachMatchingContext(s,y,xe)});let m={disconnect(){p.delete(f),p.size||c.delete(i)}},u=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:n,params:t,signalGenerator:u,disconnectable:m},c=this.registry(s,l);c.has(i)||c.set(i,new Set);let p=c.get(i);if(p.add(f),t.staticSensitivity){let y=_e.call(o,f);return this.disconnectables(t.signal,m,u,y)}return this.disconnectables(t.signal,m,u)}};function _e(r){let e=this,{context:n,selectors:t,callback:i,params:o,signalGenerator:s}=r,l=f=>[...f.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(c=>c[1]);if(!(r.$attrs=t.filter(f=>typeof f=="string"&&f.includes("[")).reduce((f,c)=>f.concat(l(c)),[])).length)return;let m=new Set,u=new Set;return m.push=f=>(u.delete(f),m.add(f)),u.push=f=>(m.delete(f),u.add(f)),r.$deliveryCache={entrants:m,exits:u},new q(n,e).observe(r.$attrs,f=>{let c=new Map,p=h=>(c.has(h)||c.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),c.get(h)),y=new WeakMap,a=h=>(y.has(h)||y.set(h,t.some(d=>h.matches(d))),y.get(h));for(let h of f)["entrants","exits"].forEach(d=>{o.generation&&d!==o.generation||r.$deliveryCache[d].has(h.target)||(d==="entrants"?!a(h.target):a(h.target))||(r.$deliveryCache[d].push(h.target),p(h.target)[d].push(h.target),p(h.target).event=h.event)});for(let[,h]of c){let d=s?.generate()||{};i(h,d,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function xe(r,e){let{context:n,selectors:t,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=r,m={...e,entrants:[],exits:[]};if(["entrants","exits"].forEach(f=>{if(!(o.generation&&f!==o.generation)&&(t.length?m[f]=De(t,e[f],e.event!=="parse"):m[f]=[...e[f]],!!l))for(let c of m[f])l[f].push(c)}),!m.entrants.length&&!m.exits.length)return;let u=s?.generate()||{};i(m,u,n)}function De(r,e,n){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(i=i.filter(s=>s.matches),typeof o=="string"){let s=i.filter(l=>l.matches(o));if(n&&(s=i.reduce((l,m)=>[...l,...m.querySelectorAll(o)],s)),s.length)return s}else if(i.includes(o)||n&&i.some(s=>s.contains(o)))return[o]};return e.$$searchCache||(e.$$searchCache=new Map),r.reduce((i,o)=>{let s;return e.$$searchCache.has(o)?s=e.$$searchCache.get(o):(s=t(e,o)||[],x(o)&&e.$$searchCache.set(o,s)),i.concat(s)},[])}function be({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=O(e).reduce((o,s)=>o||t.webqit.dom.domInterceptionRecords?.get(s),null),i=O(n).reduce((o,s)=>o||t.webqit.dom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:e,exits:n,type:"observation",event:i}}function we(r,e){let n=this,{webqit:t,document:i,Node:o,Element:s,HTMLElement:l,HTMLTemplateElement:m,DocumentFragment:u}=n;t.dom.domInterceptionHooks||Object.defineProperty(t.dom,"domInterceptionHooks",{value:new Map}),t.dom.domInterceptionHooks.has(r)||t.dom.domInterceptionHooks.set(r,new Set),t.dom.domInterceptionHooks.get(r).add(e);let f=()=>t.dom.domInterceptionHooks.get(r).delete(e);if(t.dom.domInterceptionHooks?.intercepting)return f;console.warn("DOM mutation APIs are now being intercepted."),t.dom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.dom,"domInterceptionRecords",{value:new Map});let c=()=>!0,p=(a,h)=>{c()?a.entrants.concat(a.exits).forEach(_=>{clearTimeout(t.dom.domInterceptionRecords.get(_)?.timeout),t.dom.domInterceptionRecords.set(_,a.event);let v=setTimeout(()=>{t.dom.domInterceptionRecords.delete(_)},0);Object.defineProperty(a.event,"timeout",{value:v,configurable:!0})}):t.dom.domInterceptionRecords.clear(),t.dom.domInterceptionHooks.get("intercept")?.forEach(_=>_(a));let d=h();return t.dom.domInterceptionHooks.get("sync")?.forEach(_=>_(a)),d};if(c()){let a=new n.MutationObserver(h=>h.forEach(d=>{Array.isArray((d=be.call(n,d)).event)||(t.dom.domInterceptionHooks.get("intercept")?.forEach(_=>_(d)),t.dom.domInterceptionHooks.get("sync")?.forEach(_=>_(d)))}));a.observe(i,{childList:!0,subtree:!0}),i.addEventListener("readystatechange",()=>!c()&&a.disconnect())}let y=Object.create(null);return["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(a=>{let h=["insertBefore","replaceChild","removeChild","appendChild"].includes(a)?o:s;y[a]=h.prototype[a],y[a]&&(h.prototype[a]=function(...d){let _=()=>y[a].call(this,...d);if(!(this instanceof s||this instanceof u))return _();let v=[],A=[],I=this;["insertBefore"].includes(a)?A=[d[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(a)?(A=[d[1]],["beforebegin","afterend"].includes(d[0])&&(I=this.parentNode)):["setHTML","replaceChildren"].includes(a)?(v=[...this.childNodes],A=a==="replaceChildren"?[...d]:[d[0]]):["replaceWith","remove"].includes(a)?(v=[this],A=a==="replaceWith"?[...d]:[],I=this.parentNode):["replaceChild"].includes(a)?(v=[d[1]],A=[d[0]]):["removeChild"].includes(a)?v=[...d]:(A=[...d],["before","after"].includes(a)&&(I=this.parentNode));let V=a;if(["insertAdjacentHTML","setHTML"].includes(a)){let M=this.nodeName;if(a==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(d[0])){if(!this.parentNode)return y[a].call(this,...d);M=this.parentNode.nodeName}let B=i.createElement(M);y.setHTML.call(B,A[0],a==="setHTML"?d[1]:{}),A=[...B.childNodes],a==="insertAdjacentHTML"?(V="insertAdjacentElement",d[1]=new u,d[1].______isTemp=!0,d[1].append(...B.childNodes)):(V="replaceChildren",d=[...B.childNodes])}return p({target:I,entrants:A,exits:v,type:"interception",event:[this,a]},()=>y[V].call(this,...d))})}),["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(a=>{let h=["textContent","nodeValue"].includes(a)?o:["outerText","innerText"].includes(a)?l:s;y[a]=Object.getOwnPropertyDescriptor(h.prototype,a),Object.defineProperty(h.prototype,a,{...y[a],set:function(d){let _=()=>y[a].set.call(this,d);if(!(this instanceof s))return _();let v=[],A=[],I=this;if(["outerHTML","outerText"].includes(a)?(v=[this],I=this.parentNode):v=[...this.childNodes],["outerHTML","innerHTML"].includes(a)){let G=this.nodeName;if(a==="outerHTML"){if(!this.parentNode)return _();G=this.parentNode.nodeName}let M=i.createElement(G==="TEMPLATE"?"div":G);y[a].set.call(M,d),A=this instanceof m?[]:[...M.childNodes],a==="outerHTML"?(d=new u,d.______isTemp=!0,d.append(...M.childNodes),_=()=>y.replaceWith.call(this,d)):this instanceof m?_=()=>this.content.replaceChildren(...M.childNodes):_=()=>y.replaceChildren.call(this,...M.childNodes)}return p({target:I,entrants:A,exits:v,type:"interception",event:[this,a]},_)}})}),["append","prepend","replaceChildren"].forEach(a=>{[i,u.prototype].forEach(h=>{let d=h[a];h[a]=function(..._){if(this.______isTemp)return d.call(this,..._);let v=a==="replaceChildren"?[...this.childNodes]:[];return p({target:this,entrants:_,exits:v,type:"interception",event:[this,a]},()=>d.call(this,..._))}})}),f}function Oe(){$e.call(this),Ve.call(this),Ge.call(this)}function $e(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function Ve(){let r=this;"isConnected"in r.Node.prototype||Object.defineProperty(r.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function Ge(){let r=this;r.Element.prototype.matches||(r.Element.prototype.matches=r.Element.prototype.matchesSelector||r.Element.prototype.mozMatchesSelector||r.Element.prototype.msMatchesSelector||r.Element.prototype.oMatchesSelector||r.Element.prototype.webkitMatchesSelector||function(e){for(var n=(this.document||this.ownerDocument).querySelectorAll(e),t=n.length;--t>=0&&n.item(t)!==this;);return t>-1})}function ve(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.dom)return r.webqit.dom;r.webqit.dom={},Oe.call(r);let e=le(r);return r.webqit.dom.Reflow=new e,r.webqit.dom.DOMRealtime=F,r.webqit.dom.AttrRealtime=q,r.webqit.dom.realtime=(n,t="tree")=>{if(t==="tree")return new F(n,r);if(t==="attr")return new q(n,r)},r.webqit.dom.ready=Be.bind(r),r.webqit.dom.meta=We.bind(r),r.webqit.dom}function Be(r){let e=this;e.document.readyState==="complete"?r(e):(e.document.domReadyCallbacks||(e.document.domReadyCallbacks=[],e.document.addEventListener("DOMContentLoaded",()=>{e.document.domReadyCallbacks.splice(0).forEach(n=>n(e))},!1)),e.document.domReadyCallbacks.push(r))}function We(r){let e=this,n={},t;return(t=e.document.querySelector(`meta[name="${r}"]`))&&(n=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(l=>l.trim());return re(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:E(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return r},get content(){return t.content},json(){return JSON.parse(JSON.stringify(n))}}}var Q=(...r)=>H("oohtml",...r);function Ae(r,e,n){let t=this,i=ve.call(t);t.webqit||(t.webqit={}),t.webqit.oohtml||(t.webqit.oohtml={}),t.webqit.oohtml.configs||(t.webqit.oohtml.configs={});let o=k(2,n,e,i.meta(r).json());return t.webqit.oohtml.configs[r.toUpperCase().replace("-","_")]=o,{config:o,dom:i,window:t}}function ie(r,e,n=1,t=!1){if(n&&typeof r=="object"&&r&&typeof e=="object"&&e&&(!t||Object.keys(r).length===Object.keys(e).length)){for(let i in r)if(!ie(r[i],e[i],n-1,t))return!1;return!0}return Array.isArray(r)&&Array.isArray(e)&&r.length===e.length?(e=e.slice(0).sort())&&r.slice(0).sort().every((i,o)=>i===e[o]):r===e}function Ee(){let r=this;return class extends r.Event{constructor(n,t,{type:i="contextrequest",...o}={}){super(i,o),Object.defineProperty(this,"request",{get:()=>n}),Object.defineProperty(this,"callback",{get:()=>t})}respondWith(n,...t){if(this.request.diff){if("previousValue"in this&&this.previousValue===n)return;this.previousValue=n}return this.callback(n,...t)}}}var C=class{static instance(e){return Q(e).get("contextsmanager::instance")||new this(e)}constructor(e){Q(e).get("contextsmanager::instance")?.dispose(),Q(e).set("contextsmanager::instance",this);let n={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>n});let t=Ee.call(e.ownerDocument?.defaultView||e.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>t}),this[Symbol.iterator]=function*(){yield n.contexts[Symbol.iterator]().next().value}}get length(){this["#"].contexts.size}find(e){return[...this["#"].contexts].find(e)}attach(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detach(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}ask(e,n,t={}){return this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,n,{bubbles:!0,...t}))}dispose(){}};var $=class{static get config(){return{}}static attachTo(e,n,t=!1){let i,o=C.instance(e);return!t&&(i=o.find(s=>this.matchRequest(s.id,n,!0)))?i:o.attach(new this(n))}static detachFrom(e,n,t=!1){let i,o=C.instance(e);for(i of o["#"].contexts)if(!(!this.matchRequest(i.id,n,!0)||typeof t=="function"&&!t(i))&&(o.detach(i),typeof t!="function"&&!t))return i}static createId(e,n={}){let t={type:"HTMLModules",...n};return t.name||(e.getAttribute&&!(t.name=(e.getAttribute(this.config.context.attr.contextname)||"").trim())?delete t.name:e.ownerDocument||(t.name="root")),t}static createRequest(e={}){return{...e}}static matchRequest(e,n,t=!1){return t?ie(e,n,1,!0):n.type===e.type&&!n.name||n.name===e.name}constructor(e){Object.defineProperty(this,"id",{get:()=>e}),Object.defineProperty(this,"subscriptions",{value:new Set})}get length(){this.subscriptions.size}handle(e){}subscribe(e){this.subscriptions.add(e),e.request.signal&&e.request.signal.addEventListener("abort",()=>{this.unsubscribe(e)})}unsubscribe(e){this.subscriptions.delete(e),e.request.controller?.abort()}handleEvent(e){if(!(this.disposed||e.target===this.host&&e.request?.superContextOnly||!e.request||typeof e.callback!="function"||!this.constructor.matchRequest(this.id,e.request)))if(e.stopPropagation(),e.type==="contextclaim"){let n=new Set;this.subscriptions.forEach(t=>{!e.target.contains(t.request.superContextOnly?t.target.parentNode:t.target)||!this.constructor.matchRequest(e.request,t.request)||(this.subscriptions.delete(t),n.add(t))}),e.respondWith(n)}else e.type==="contextrequest"&&(e.request.live&&this.subscribe(e),this.handle(e))}initialize(e){return this.host=e,this.disposed=!1,e.addEventListener("contextrequest",this),e.addEventListener("contextclaim",this),C.instance(e).ask({...this.id,superContextOnly:!0},n=>n.forEach(t=>{this.subscribe(t),this.handle(t)}),{type:"contextclaim"}),this}dispose(e){return this.disposed=!0,e.removeEventListener("contextrequest",this),e.removeEventListener("contextclaim",this),this.subscriptions.forEach(n=>{this.unsubscribe(n);let{target:t,request:i,callback:o,params:s}=n;C.instance(t).ask(i,o,s)}),this}};function oe(r={}){let{config:e,window:n}=Ae.call(this,"context-api",r,{api:{context:"context"}});n.webqit.HTMLContextManager=C,n.webqit.HTMLContext=$,Ue.call(n,e)}function Ue(r){let e=this;if(r.api.context in e.document)throw new Error(`document already has a "${r.api.context}" property!`);if(r.api.context in e.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${r.api.context}" property!`);Object.defineProperty(e.document,r.api.context,{get:function(){return C.instance(e.document)}}),Object.defineProperty(e.HTMLElement.prototype,r.api.context,{get:function(){return C.instance(this)}})}oe.call(window);})();
2
2
  //# sourceMappingURL=context-api.js.map