@webqit/oohtml 2.1.44 → 2.1.45
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/README.md +18 -31
- package/dist/bindings-api.js +1 -1
- package/dist/bindings-api.js.map +2 -2
- package/dist/context-api.js +1 -1
- package/dist/context-api.js.map +2 -2
- package/dist/html-imports.js +1 -1
- package/dist/html-imports.js.map +2 -2
- package/dist/main.js +3 -3
- package/dist/main.js.map +2 -2
- package/dist/namespace-api.js +1 -1
- package/dist/namespace-api.js.map +2 -2
- package/dist/scoped-css.js +1 -1
- package/dist/scoped-css.js.map +2 -2
- package/dist/scoped-js.js +11 -11
- package/dist/scoped-js.js.map +2 -2
- package/package.json +3 -3
- package/src/scoped-js/index.js +11 -12
package/dist/context-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{function x(r){return!Array.isArray(r)&&typeof r=="object"&&r}function h(r){return Array.isArray(r)}function Z(r,e,n=null){return h(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function F(r,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new N}),!arguments.length)return globalThis.webqit.refs;let n=globalThis.webqit.refs.get(r);n||(n=new N,globalThis.webqit.refs.set(r,n));let t,i;for(;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new N,i.set(t,n));return n}var N=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)!(J([e,"*"],i.type)&&J([n,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,n,...t){for(let i of this.observers)!(J([e,"*"],i.type)&&J([n,"*"],i.key))||i.callback(...t)}},J=(r,e)=>Array.isArray(e)?Z(r,e).length:r.includes(e);function D(r){return typeof r=="function"}function $(r){return r===null||r===""}function P(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||D(r)}function K(r){return $(r)||P(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function _(r){return D(r)||r&&{}.toString.call(r)==="[object function]"}function R(r){return r instanceof Number||typeof r=="number"}function C(r){return R(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function j(r){return r instanceof String||typeof r=="string"&&r!==null}function ee(r){return!j(r)&&!P(r.length)}function Q(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function te(t,e){e=e||Object.prototype,e=e&&!h(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 re(r,e){var n=[];return te(r,e).forEach(t=>{Q(n,...Object.getOwnPropertyNames(t))}),n}function q(r,e,n=!1,t=!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,d)=>{!b(l)&&!_(l)||(n?re(l):Object.keys(l)).forEach(m=>{if(!!e(m,s,l,d)){var f=s[m],c=l[m];if((h(f)&&h(c)||x(f)&&x(c))&&(o===!0||o>0))s[m]=h(f)&&h(c)?[]:{},q([C(o)?o-1:o,s[m],f,c],e,n,t,i);else if(h(s)&&h(l))t?s[m]=c:s.push(c);else try{i?Object.defineProperty(s,m,Object.getOwnPropertyDescriptor(l,m)):s[m]=l[m]}catch{}}})}),s}function V(...r){return q(r,(e,n,t)=>!0,!1,!1,!1)}function v(r,e=!0){return h(r)?r:!e&&x(r)?[r]:r!==!1&&r!==0&&K(r)?[]:ee(r)?Array.prototype.slice.call(r):x(r)?Object.values(r):[r]}function G(r,e,n={},t={}){e=v(e).slice();for(var i=r;!P(i)&&!$(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 ie(r,e,n,t={},i={}){let o=(f,c,a)=>i.set?i.set(f,c,a):(C(e[l])&&h(f)?f.push(a):f[c]=a,!0);e=v(e);for(var s=r,l=0;l<e.length;l++)if(l<e.length-1){if(!s||!b(s)&&!_(s))return!1;var d=G(s,e[l],i);if(!b(d)){if(i.buildTree===!1)return!1;d=_(i.buildTree)?i.buildTree(l):C(e[l+1])?[]:{};var m=o(s,e[l],d);if(!m)return!1}s=d}else return o(s,e[l],n)}var B=class{constructor(e,n=!0){Object.defineProperty(this,"window",{value:e}),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(()=>{for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e);this._run()})}onread(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,n,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let l=n(s,t),d=m=>{m!==void 0&&this.cycle(e,n,m)};l instanceof Promise?l.then(d):d(l)})};i instanceof Promise?i.then(o):o(i)})}};var H=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 _(e[0])?e=[[],...e]:x(e[0])&&e.length===1?e=[[],void 0,e[0]]:x(e[1])&&e.length===2?e=[v(e[0],!1),void 0,e[1]]:e[0]=v(e[0],!1),e}registry(...e){return F("realdom.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,d]of this.registry(e))for(let[m,f]of d){let c=o.filter(a=>m.contains(a.target)?l==="subtree"||a.target===m:!1);if(!!c.length){Array.isArray(n)||(c=c[0]);for(let a of f)s.add([a,c,m])}}for(let[l,d,m]of s)t.call(this,l,d,m)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&_(i.disconnect)&&i.disconnect()||_(i)&&i()||x(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var I=class extends H{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=we(o,e),l=i?s[0]:s;if(!n)return l;let d=n&&t.lifecycleSignals&&this.createSignalGenerator(),m=d?.generate()||{};if(n(l,m,o),t.live){d&&(t={...t,signalGenerator:d});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.realdom.attrInterceptionHooks?.intercepting&&_e.call(s,"intercept",()=>{});let d=new s.MutationObserver(a=>{a=xe(a).map(y=>be.call(s,y)),ye.call(s,c,a,o)}),m={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(m.attributeFilter=e),d.observe(o,m);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:d};return this.disconnectables(t.signal,d,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",d=t.subtree?"subtree":"children";this.registry(l).size||_e.call(s,l,w=>{this.forEachMatchingContext(l,w,ye)});let m={disconnect(){y.delete(c),y.size||a.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:m},a=this.registry(l,d);a.has(o)||a.set(o,new Set);let y=a.get(o);return y.add(c),this.disconnectables(t.signal,m,f)}};function xe(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function ye(r,e){let{context:n,filter:t,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:d}=r;o.atomic&&!s.size&&(e=we(n,t,e)),o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(c=>{let a;return o.eventDetails||({event:a,...c}=c),!o.oldValue&&"oldValue"in c&&({oldValue:a,...c}=c),!o.newValue&&"value"in c?{value:a,...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 m=l?e[0]:e,f=d?.generate()||{};i(m,f,n)}function we(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 be({target:r,attributeName:e,value:n,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(r)||{})[e]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:s}}function _e(r,e){let n=this,{webqit:t,document:i,Element:o}=n;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(r)||t.realdom.attrInterceptionHooks.set(r,new Set),t.realdom.attrInterceptionHooks.get(r).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(r).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let l=(f,c)=>{t.realdom.attrInterceptionRecords.has(f.target)||t.realdom.attrInterceptionRecords.set(f.target,{});let a=t.realdom.attrInterceptionRecords.get(f.target);clearTimeout(a[f.name]?.timeout),a[f.name]=f.event;let y=setTimeout(()=>{delete a[f.name]},0);Object.defineProperty(f.event,"timeout",{value:y,configurable:!0}),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(u=>u([f]));let w=c();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(u=>u([f])),w};new n.MutationObserver(f=>{f=xe(f).map(c=>be.call(n,c)).filter((c,a)=>!Array.isArray(c.event)),f.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(c=>c(f)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(c=>c(f)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let m=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(f=>{m[f]=o.prototype[f],o.prototype[f]=function(...c){let a,y=this.getAttribute(c[0]);["setAttribute","toggleAttribute"].includes(f)&&(a=c[1]),f==="toggleAttribute"&&a===void 0&&(a=y===null);let w={target:this,name:c[0],value:a,oldValue:y,type:"interception",event:[this,f]};return l(w,()=>m[f].call(this,...c))}}),s}var W=class extends H{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new I(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=m=>(o.has(m)||o.set(m,{target:m,entrants:[],exits:[],type:"query",event:null}),o.get(m));if((!t.generation||t.generation==="entrants")&&(e.length?e.every(m=>typeof m=="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(m=>s(i).entrants.push(m))),!n)return o;let l={disconnected:!1},d=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,m]of o){if(l.disconnected)break;let f=d?.generate()||{};n(m,f,i)}if(t.live){d&&(t={...t,signalGenerator:d});let m=this.observe(e,n,t);return this.disconnectables(t.signal,l,m)}return this.disconnectables(t.signal,l,d)}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.realdom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Ae.call(o,"sync",()=>{});let d=new o.MutationObserver(c=>c.forEach(a=>{se.call(o,f,Oe.call(o,a),i)}));d.observe(i,{childList:!0,subtree:t.subtree});let m=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:n,params:t,signalGenerator:m,disconnectable:d};if(t.staticSensitivity){let c=ve.call(o,f);return this.disconnectables(t.signal,d,m,c)}return this.disconnectables(t.signal,d,m)}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||Ae.call(o,s,w=>{this.forEachMatchingContext(s,w,se)});let d=new o.MutationObserver(w=>w.forEach(u=>{Array.isArray((u=Oe.call(o,u)).event)||se.call(o,c,u,i)}));d.observe(i,{childList:!0,subtree:t.subtree});let m={disconnect(){d.disconnect(),y.delete(c),y.size||a.delete(i)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:i,selectors:e,callback:n,params:t,signalGenerator:f,disconnectable:m},a=this.registry(s,l);a.has(i)||a.set(i,new Set);let y=a.get(i);if(y.add(c),t.staticSensitivity){let w=ve.call(o,c);return this.disconnectables(t.signal,m,f,w)}return this.disconnectables(t.signal,m,f)}};function ve(r){let e=this,{context:n,selectors:t,callback:i,params:o,signalGenerator:s}=r,l=a=>a.match(/\.([\w-]+)/g)?.length?["class"]:[],d=a=>a.match(/#([\w-]+)/g)?.length?["id"]:[],m=a=>[...a.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(y=>y[1]).concat(l(a)).concat(d(a));if(!(r.$attrs=Array.from(new Set(t.filter(a=>typeof a=="string"&&a.includes("[")).reduce((a,y)=>a.concat(m(y)),[])))).length)return;let f=new Set,c=new Set;return f.push=a=>(c.delete(a),f.add(a)),c.push=a=>(f.delete(a),c.add(a)),r.$deliveryCache={entrants:f,exits:c},new I(n,e).observe(r.$attrs,a=>{let y=new Map,w=p=>(y.has(p)||y.set(p,{target:p,entrants:[],exits:[],type:"static",event:null}),y.get(p)),u=new WeakMap,O=p=>(u.has(p)||u.set(p,t.some(g=>p.matches(g))),u.get(p));for(let p of a)["entrants","exits"].forEach(g=>{o.generation&&g!==o.generation||r.$deliveryCache[g].has(p.target)||(g==="entrants"?!O(p.target):O(p.target))||(r.$deliveryCache[g].push(p.target),w(p.target)[g].push(p.target),w(p.target).event=p.event)});for(let[,p]of y){let g=s?.generate()||{};i(p,g,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function se(r,e){let{context:n,selectors:t,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=r,d={...e,entrants:[],exits:[]};if(o.eventDetails||delete d.event,["entrants","exits"].forEach(f=>{if(!(o.generation&&f!==o.generation)&&(t.length?d[f]=Ge(t,e[f],e.event!=="parse"):d[f]=[...e[f]],!!l))for(let c of d[f])l[f].push(c)}),!d.entrants.length&&!d.exits.length)return;let m=s?.generate()||{};i(d,m,n)}function Ge(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,d)=>[...l,...d.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 Oe({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=v(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=v(n).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:e,exits:n,type:"observation",event:i}}function Ae(r,e){let n=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:l,HTMLElement:d,HTMLTemplateElement:m,DocumentFragment:f}=n;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(r)||t.realdom.domInterceptionHooks.set(r,new Set),t.realdom.domInterceptionHooks.get(r).add(e);let c=()=>t.realdom.domInterceptionHooks.get(r).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return c;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let a=(u,O)=>{u.entrants.concat(u.exits).forEach(g=>{clearTimeout(t.realdom.domInterceptionRecords.get(g)?.timeout),t.realdom.domInterceptionRecords.set(g,u.event);let E=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(g)},0);Object.defineProperty(u.event,"timeout",{value:E,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(g=>g(u));let p=O();return t.realdom.domInterceptionHooks.get("sync")?.forEach(g=>g(u)),p},y={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(u=>{function O(...p){let g=this instanceof s?y.characterData:y.other,E=()=>g[u].call(this,...p);if(!(this instanceof s||this instanceof l||this instanceof f))return E();let T=[],A=[],k=this;["insertBefore"].includes(u)?A=[p[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(u)?(A=[p[1]],["beforebegin","afterend"].includes(p[0])&&(k=this.parentNode)):["setHTML","replaceChildren"].includes(u)?(T=[...this.childNodes],A=u==="replaceChildren"?[...p]:[p[0]]):["replaceWith","remove"].includes(u)?(T=[this],A=u==="replaceWith"?[...p]:[],k=this.parentNode):["replaceChild"].includes(u)?(T=[p[1]],A=[p[0]]):["removeChild"].includes(u)?T=[...p]:(A=[...p],["before","after"].includes(u)&&(k=this.parentNode));let M=u;if(["insertAdjacentHTML","setHTML"].includes(u)){let ue=this.nodeName;if(u==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(p[0])){if(!this.parentNode)return g[u].call(this,...p);ue=this.parentNode.nodeName}let z=i.createElement(ue);g.setHTML.call(z,A[0],u==="setHTML"?p[1]:{}),A=[...z.childNodes],u==="insertAdjacentHTML"?(M="insertAdjacentElement",p[1]=new f,p[1].______isTemp=!0,p[1].append(...z.childNodes)):(M="replaceChildren",p=[...z.childNodes])}return a({target:k,entrants:A,exits:T,type:"interception",event:[this,u]},()=>g[M].call(this,...p))}["insertBefore","replaceChild","removeChild","appendChild"].includes(u)?(y.other[u]=o.prototype[u],o.prototype[u]=O):(["after","before","remove","replaceWith"].includes(u)&&(y.characterData[u]=s.prototype[u],s.prototype[u]=O),l.prototype[u]&&(y.other[u]=l.prototype[u],l.prototype[u]=O))});let w=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(u=>{let O=["textContent","nodeValue"].includes(u)?o:["outerText","innerText"].includes(u)?d:l;w[u]=Object.getOwnPropertyDescriptor(O.prototype,u),Object.defineProperty(O.prototype,u,{...w[u],set:function(p){let g=()=>w[u].set.call(this,p);if(!(this instanceof l))return g();let E=[],T=[],A=this;if(["outerHTML","outerText"].includes(u)?(E=[this],A=this.parentNode):E=[...this.childNodes],["outerHTML","innerHTML"].includes(u)){let M=this.nodeName;if(u==="outerHTML"){if(!this.parentNode)return g();M=this.parentNode.nodeName}let L=i.createElement(M==="TEMPLATE"?"div":M);w[u].set.call(L,p),T=this instanceof m?[]:[...L.childNodes],u==="outerHTML"?(p=new f,p.______isTemp=!0,p.append(...L.childNodes),g=()=>l.prototype.replaceWith.call(this,p)):this instanceof m?g=()=>this.content.replaceChildren(...L.childNodes):g=()=>l.prototype.replaceChildren.call(this,...L.childNodes)}return a({target:A,entrants:T,exits:E,type:"interception",event:[this,u]},g)}})}),["append","prepend","replaceChildren"].forEach(u=>{[i,f.prototype].forEach(O=>{let p=O[u];O[u]=function(...g){if(this.______isTemp)return p.call(this,...g);let E=u==="replaceChildren"?[...this.childNodes]:[];return a({target:this,entrants:g,exits:E,type:"interception",event:[this,u]},()=>p.call(this,...g))}})}),c}function Ce(){Be.call(this),We.call(this),Ue.call(this)}function Be(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function We(){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 Ue(){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 Se(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.realdom)return r.webqit.realdom;r.webqit.realdom={},Ce.call(r),r.webqit.realdom.meta=(...n)=>ze.call(r,...n),r.webqit.realdom.ready=(...n)=>fe.call(r,...n),r.webqit.realdom.realtime=(n,t="dom")=>{if(t==="dom")return new W(n,r);if(t==="attr")return new I(n,r)};let e=new B(r);return r.webqit.realdom.schedule=(n,...t)=>e[`on${n}`](...t),r.webqit.realdom}function fe(...r){let e="interactive",n;j(r[0])?(e=r[0],_(r[1])&&(n=r[1])):_(r[0])&&(n=r[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!n)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>fe.call(this,"interactive",o)),complete:new Promise(o=>fe.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return n(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(n)}function ze(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 ie(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 t.content},json(){return JSON.parse(JSON.stringify(n))}}}var Y=(...r)=>F("oohtml",...r);function qe(r,e,n){let t=r.toUpperCase().replace("-","_"),i=this,o=Se.call(i);return i.webqit||(i.webqit={}),i.webqit.oohtml||(i.webqit.oohtml={}),i.webqit.oohtml.configs||(i.webqit.oohtml.configs={}),i.webqit.oohtml.configs[t]||(i.webqit.oohtml.configs[t]={}),V(2,i.webqit.oohtml.configs[t],n,e,o.meta(r).json()),{config:i.webqit.oohtml.configs[t],realdom:o,window:i}}function ce(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(!ce(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 S=class{static instance(e){return Y(e).get("context::instance")||new this(e)}constructor(e){Y(e).get("context::instance")?.dispose(),Y(e).set("context::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}findProvider(e){return[...this["#"].contexts].find(e)}attachProvider(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detachProvider(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}request(e,n,t={}){return this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,n,{bubbles:!0,...t}))}dispose(){}};var U=class{static get config(){return{}}static attachTo(e,n,t=!1){let i,o=S.instance(e);return!t&&(i=o.findProvider(s=>this.matchRequest(s.id,n,!0)))?i:o.attachProvider(new this(n))}static detachFrom(e,n,t=!1){let i,o=S.instance(e);for(i of o["#"].contexts)if(!(!this.matchRequest(i.id,n,!0)||typeof t=="function"&&!t(i))&&(o.detachProvider(i),typeof t!="function"&&!t))return i}static createId(e,n={}){let t={...n};return t.contextName||(e.getAttribute&&!(t.contextName=(e.getAttribute(this.config.context.attr.contextname)||"").trim())?delete t.contextName:e.ownerDocument||(t.contextName="root")),t}static createRequest(e={}){return{...e}}static matchRequest(e,n,t=!1){return t?ce(e,n,1,!0):n.type===e.type&&!n.contextName||n.contextName===e.contextName}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),S.instance(e).request({...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,options:s}=n;S.instance(t).request(i,o,s)}),this}};function le(r={}){let{config:e,window:n}=qe.call(this,"context-api",r,{api:{context:"context"}});n.webqit.HTMLContextProvider=U,n.webqit.HTMLContext=S,Je.call(n,e)}function Je(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 S.instance(e.document)}}),Object.defineProperty(e.HTMLElement.prototype,r.api.context,{get:function(){return S.instance(this)}})}le.call(window);})();
|
|
1
|
+
(()=>{function x(r){return!Array.isArray(r)&&typeof r=="object"&&r}function h(r){return Array.isArray(r)}function Z(r,e,n=null){return h(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function F(r,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new k}),!arguments.length)return globalThis.webqit.refs;let n=globalThis.webqit.refs.get(r);n||(n=new k,globalThis.webqit.refs.set(r,n));let t,i;for(;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new k,i.set(t,n));return n}var k=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)!(J([e,"*"],i.type)&&J([n,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,n,...t){for(let i of this.observers)!(J([e,"*"],i.type)&&J([n,"*"],i.key))||i.callback(...t)}},J=(r,e)=>Array.isArray(e)?Z(r,e).length:r.includes(e);function j(r){return typeof r=="function"}function $(r){return r===null||r===""}function P(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||j(r)}function K(r){return $(r)||P(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function _(r){return j(r)||r&&{}.toString.call(r)==="[object function]"}function R(r){return r instanceof Number||typeof r=="number"}function C(r){return R(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function D(r){return r instanceof String||typeof r=="string"&&r!==null}function ee(r){return!D(r)&&!P(r.length)}function Q(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function te(t,e){e=e||Object.prototype,e=e&&!h(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 re(r,e){var n=[];return te(r,e).forEach(t=>{Q(n,...Object.getOwnPropertyNames(t))}),n}function S(r,e,n=!1,t=!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,d)=>{!b(l)&&!_(l)||(n?re(l):Object.keys(l)).forEach(m=>{if(!!e(m,s,l,d)){var f=s[m],c=l[m];if((h(f)&&h(c)||x(f)&&x(c))&&(o===!0||o>0))s[m]=h(f)&&h(c)?[]:{},S([C(o)?o-1:o,s[m],f,c],e,n,t,i);else if(h(s)&&h(l))t?s[m]=c:s.push(c);else try{i?Object.defineProperty(s,m,Object.getOwnPropertyDescriptor(l,m)):s[m]=l[m]}catch{}}})}),s}function V(...r){return S(r,(e,n,t)=>!0,!1,!1,!1)}function v(r,e=!0){return h(r)?r:!e&&x(r)?[r]:r!==!1&&r!==0&&K(r)?[]:ee(r)?Array.prototype.slice.call(r):x(r)?Object.values(r):[r]}function G(r,e,n={},t={}){e=v(e).slice();for(var i=r;!P(i)&&!$(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 ie(r,e,n,t={},i={}){let o=(f,c,a)=>i.set?i.set(f,c,a):(C(e[l])&&h(f)?f.push(a):f[c]=a,!0);e=v(e);for(var s=r,l=0;l<e.length;l++)if(l<e.length-1){if(!s||!b(s)&&!_(s))return!1;var d=G(s,e[l],i);if(!b(d)){if(i.buildTree===!1)return!1;d=_(i.buildTree)?i.buildTree(l):C(e[l+1])?[]:{};var m=o(s,e[l],d);if(!m)return!1}s=d}else return o(s,e[l],n)}var B=class{constructor(e,n=!0){Object.defineProperty(this,"window",{value:e}),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(()=>{for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e);this._run()})}onread(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,n,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let l=n(s,t),d=m=>{m!==void 0&&this.cycle(e,n,m)};l instanceof Promise?l.then(d):d(l)})};i instanceof Promise?i.then(o):o(i)})}};var H=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){if(_(e[0])?e=[[],...e]:x(e[0])&&e.length===1?e=[[],void 0,e[0]]:x(e[1])&&e.length===2?e=[v(e[0],!1),void 0,e[1]]:e[0]=v(e[0],!1),e[0].filter(n=>typeof n!="string"&&!(n instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return e}registry(...e){return F("realdom.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,d]of this.registry(e))for(let[m,f]of d){let c=o.filter(a=>m.contains(a.target)?l==="subtree"||a.target===m:!1);if(!!c.length){Array.isArray(n)||(c=c[0]);for(let a of f)s.add([a,c,m])}}for(let[l,d,m]of s)t.call(this,l,d,m)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&_(i.disconnect)&&i.disconnect()||_(i)&&i()||x(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var I=class extends H{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=we(o,e),l=i?s[0]:s;if(!n)return l;let d=n&&t.lifecycleSignals&&this.createSignalGenerator(),m=d?.generate()||{};if(n(l,m,o),t.live){d&&(t={...t,signalGenerator:d});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.realdom.attrInterceptionHooks?.intercepting&&_e.call(s,"intercept",()=>{});let d=new s.MutationObserver(a=>{a=xe(a).map(y=>be.call(s,y)),ye.call(s,c,a,o)}),m={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(m.attributeFilter=e),d.observe(o,m);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:d};return this.disconnectables(t.signal,d,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",d=t.subtree?"subtree":"children";this.registry(l).size||_e.call(s,l,w=>{this.forEachMatchingContext(l,w,ye)});let m={disconnect(){y.delete(c),y.size||a.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:m},a=this.registry(l,d);a.has(o)||a.set(o,new Set);let y=a.get(o);return y.add(c),this.disconnectables(t.signal,m,f)}};function xe(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function ye(r,e){let{context:n,filter:t,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:d}=r;o.atomic&&!s.size&&(e=we(n,t,e)),o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(c=>{let a;return o.eventDetails||({event:a,...c}=c),!o.oldValue&&"oldValue"in c&&({oldValue:a,...c}=c),!o.newValue&&"value"in c?{value:a,...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 m=l?e[0]:e,f=d?.generate()||{};i(m,f,n)}function we(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 be({target:r,attributeName:e,value:n,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(r)||{})[e]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:s}}function _e(r,e){let n=this,{webqit:t,document:i,Element:o}=n;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(r)||t.realdom.attrInterceptionHooks.set(r,new Set),t.realdom.attrInterceptionHooks.get(r).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(r).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let l=(f,c)=>{t.realdom.attrInterceptionRecords.has(f.target)||t.realdom.attrInterceptionRecords.set(f.target,{});let a=t.realdom.attrInterceptionRecords.get(f.target);clearTimeout(a[f.name]?.timeout),a[f.name]=f.event;let y=setTimeout(()=>{delete a[f.name]},0);Object.defineProperty(f.event,"timeout",{value:y,configurable:!0}),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(u=>u([f]));let w=c();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(u=>u([f])),w};new n.MutationObserver(f=>{f=xe(f).map(c=>be.call(n,c)).filter((c,a)=>!Array.isArray(c.event)),f.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(c=>c(f)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(c=>c(f)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let m=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(f=>{m[f]=o.prototype[f],o.prototype[f]=function(...c){let a,y=this.getAttribute(c[0]);["setAttribute","toggleAttribute"].includes(f)&&(a=c[1]),f==="toggleAttribute"&&a===void 0&&(a=y===null);let w={target:this,name:c[0],value:a,oldValue:y,type:"interception",event:[this,f]};return l(w,()=>m[f].call(this,...c))}}),s}var W=class extends H{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new I(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=m=>(o.has(m)||o.set(m,{target:m,entrants:[],exits:[],type:"query",event:null}),o.get(m));if((!t.generation||t.generation==="entrants")&&(e.length?e.every(m=>typeof m=="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(m=>s(i).entrants.push(m))),!n)return o;let l={disconnected:!1},d=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,m]of o){if(l.disconnected)break;let f=d?.generate()||{};n(m,f,i)}if(t.live){d&&(t={...t,signalGenerator:d});let m=this.observe(e,n,t);return this.disconnectables(t.signal,l,m)}return this.disconnectables(t.signal,l,d)}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.realdom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Ae.call(o,"sync",()=>{});let d=new o.MutationObserver(c=>c.forEach(a=>{se.call(o,f,Oe.call(o,a),i)}));d.observe(i,{childList:!0,subtree:t.subtree});let m=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:n,params:t,signalGenerator:m,disconnectable:d};if(t.staticSensitivity){let c=ve.call(o,f);return this.disconnectables(t.signal,d,m,c)}return this.disconnectables(t.signal,d,m)}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||Ae.call(o,s,w=>{this.forEachMatchingContext(s,w,se)});let d=new o.MutationObserver(w=>w.forEach(u=>{Array.isArray((u=Oe.call(o,u)).event)||se.call(o,c,u,i)}));d.observe(i,{childList:!0,subtree:t.subtree});let m={disconnect(){d.disconnect(),y.delete(c),y.size||a.delete(i)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:i,selectors:e,callback:n,params:t,signalGenerator:f,disconnectable:m},a=this.registry(s,l);a.has(i)||a.set(i,new Set);let y=a.get(i);if(y.add(c),t.staticSensitivity){let w=ve.call(o,c);return this.disconnectables(t.signal,m,f,w)}return this.disconnectables(t.signal,m,f)}};function ve(r){let e=this,{context:n,selectors:t,callback:i,params:o,signalGenerator:s}=r,l=a=>a.match(/\.([\w-]+)/g)?.length?["class"]:[],d=a=>a.match(/#([\w-]+)/g)?.length?["id"]:[],m=a=>[...a.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(y=>y[1]).concat(l(a)).concat(d(a));if(!(r.$attrs=Array.from(new Set(t.filter(a=>typeof a=="string"&&a.includes("[")).reduce((a,y)=>a.concat(m(y)),[])))).length)return;let f=new Set,c=new Set;return f.push=a=>(c.delete(a),f.add(a)),c.push=a=>(f.delete(a),c.add(a)),r.$deliveryCache={entrants:f,exits:c},new I(n,e).observe(r.$attrs,a=>{let y=new Map,w=p=>(y.has(p)||y.set(p,{target:p,entrants:[],exits:[],type:"static",event:null}),y.get(p)),u=new WeakMap,O=p=>(u.has(p)||u.set(p,t.some(g=>p.matches(g))),u.get(p));for(let p of a)["entrants","exits"].forEach(g=>{o.generation&&g!==o.generation||r.$deliveryCache[g].has(p.target)||(g==="entrants"?!O(p.target):O(p.target))||(r.$deliveryCache[g].push(p.target),w(p.target)[g].push(p.target),w(p.target).event=p.event)});for(let[,p]of y){let g=s?.generate()||{};i(p,g,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function se(r,e){let{context:n,selectors:t,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=r,d={...e,entrants:[],exits:[]};if(o.eventDetails||delete d.event,["entrants","exits"].forEach(f=>{if(!(o.generation&&f!==o.generation)&&(t.length?d[f]=Ge(t,e[f],e.event!=="parse"):d[f]=[...e[f]],!!l))for(let c of d[f])l[f].push(c)}),!d.entrants.length&&!d.exits.length)return;let m=s?.generate()||{};i(d,m,n)}function Ge(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,d)=>[...l,...d.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 Oe({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=v(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=v(n).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:e,exits:n,type:"observation",event:i}}function Ae(r,e){let n=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:l,HTMLElement:d,HTMLTemplateElement:m,DocumentFragment:f}=n;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(r)||t.realdom.domInterceptionHooks.set(r,new Set),t.realdom.domInterceptionHooks.get(r).add(e);let c=()=>t.realdom.domInterceptionHooks.get(r).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return c;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let a=(u,O)=>{u.entrants.concat(u.exits).forEach(g=>{clearTimeout(t.realdom.domInterceptionRecords.get(g)?.timeout),t.realdom.domInterceptionRecords.set(g,u.event);let q=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(g)},0);Object.defineProperty(u.event,"timeout",{value:q,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(g=>g(u));let p=O();return t.realdom.domInterceptionHooks.get("sync")?.forEach(g=>g(u)),p},y={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(u=>{function O(...p){let g=this instanceof s?y.characterData:y.other,q=()=>g[u].call(this,...p);if(!(this instanceof s||this instanceof l||this instanceof f))return q();let T=[],A=[],N=this;["insertBefore"].includes(u)?A=[p[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(u)?(A=[p[1]],["beforebegin","afterend"].includes(p[0])&&(N=this.parentNode)):["setHTML","replaceChildren"].includes(u)?(T=[...this.childNodes],A=u==="replaceChildren"?[...p]:[p[0]]):["replaceWith","remove"].includes(u)?(T=[this],A=u==="replaceWith"?[...p]:[],N=this.parentNode):["replaceChild"].includes(u)?(T=[p[1]],A=[p[0]]):["removeChild"].includes(u)?T=[...p]:(A=[...p],["before","after"].includes(u)&&(N=this.parentNode));let M=u;if(["insertAdjacentHTML","setHTML"].includes(u)){let ue=this.nodeName;if(u==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(p[0])){if(!this.parentNode)return g[u].call(this,...p);ue=this.parentNode.nodeName}let z=i.createElement(ue);g.setHTML.call(z,A[0],u==="setHTML"?p[1]:{}),A=[...z.childNodes],u==="insertAdjacentHTML"?(M="insertAdjacentElement",p[1]=new f,p[1].______isTemp=!0,p[1].append(...z.childNodes)):(M="replaceChildren",p=[...z.childNodes])}return a({target:N,entrants:A,exits:T,type:"interception",event:[this,u]},()=>g[M].call(this,...p))}["insertBefore","replaceChild","removeChild","appendChild"].includes(u)?(y.other[u]=o.prototype[u],o.prototype[u]=O):(["after","before","remove","replaceWith"].includes(u)&&(y.characterData[u]=s.prototype[u],s.prototype[u]=O),l.prototype[u]&&(y.other[u]=l.prototype[u],l.prototype[u]=O))});let w=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(u=>{let O=["textContent","nodeValue"].includes(u)?o:["outerText","innerText"].includes(u)?d:l;w[u]=Object.getOwnPropertyDescriptor(O.prototype,u),Object.defineProperty(O.prototype,u,{...w[u],set:function(p){let g=()=>w[u].set.call(this,p);if(!(this instanceof l))return g();let q=[],T=[],A=this;if(["outerHTML","outerText"].includes(u)?(q=[this],A=this.parentNode):q=[...this.childNodes],["outerHTML","innerHTML"].includes(u)){let M=this.nodeName;if(u==="outerHTML"){if(!this.parentNode)return g();M=this.parentNode.nodeName}let L=i.createElement(M==="TEMPLATE"?"div":M);w[u].set.call(L,p),T=this instanceof m?[]:[...L.childNodes],u==="outerHTML"?(p=new f,p.______isTemp=!0,p.append(...L.childNodes),g=()=>l.prototype.replaceWith.call(this,p)):this instanceof m?g=()=>this.content.replaceChildren(...L.childNodes):g=()=>l.prototype.replaceChildren.call(this,...L.childNodes)}return a({target:A,entrants:T,exits:q,type:"interception",event:[this,u]},g)}})}),["append","prepend","replaceChildren"].forEach(u=>{[i,f.prototype].forEach(O=>{let p=O[u];O[u]=function(...g){if(this.______isTemp)return p.call(this,...g);let q=u==="replaceChildren"?[...this.childNodes]:[];return a({target:this,entrants:g,exits:q,type:"interception",event:[this,u]},()=>p.call(this,...g))}})}),c}function Ce(){Be.call(this),We.call(this),Ue.call(this)}function Be(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function We(){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 Ue(){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 Ee(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.realdom)return r.webqit.realdom;r.webqit.realdom={},Ce.call(r),r.webqit.realdom.meta=(...n)=>ze.call(r,...n),r.webqit.realdom.ready=(...n)=>fe.call(r,...n),r.webqit.realdom.realtime=(n,t="dom")=>{if(t==="dom")return new W(n,r);if(t==="attr")return new I(n,r)};let e=new B(r);return r.webqit.realdom.schedule=(n,...t)=>e[`on${n}`](...t),r.webqit.realdom}function fe(...r){let e="interactive",n;D(r[0])?(e=r[0],_(r[1])&&(n=r[1])):_(r[0])&&(n=r[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!n)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>fe.call(this,"interactive",o)),complete:new Promise(o=>fe.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return n(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(n)}function ze(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 ie(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 t.content},json(){return JSON.parse(JSON.stringify(n))}}}var Y=(...r)=>F("oohtml",...r);function Se(r,e,n){let t=r.toUpperCase().replace("-","_"),i=this,o=Ee.call(i);return i.webqit||(i.webqit={}),i.webqit.oohtml||(i.webqit.oohtml={}),i.webqit.oohtml.configs||(i.webqit.oohtml.configs={}),i.webqit.oohtml.configs[t]||(i.webqit.oohtml.configs[t]={}),V(2,i.webqit.oohtml.configs[t],n,e,o.meta(r).json()),{config:i.webqit.oohtml.configs[t],realdom:o,window:i}}function ce(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(!ce(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 qe(){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 E=class{static instance(e){return Y(e).get("context::instance")||new this(e)}constructor(e){Y(e).get("context::instance")?.dispose(),Y(e).set("context::instance",this);let n={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>n});let t=qe.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}findProvider(e){return[...this["#"].contexts].find(e)}attachProvider(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detachProvider(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}request(e,n,t={}){return this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,n,{bubbles:!0,...t}))}dispose(){}};var U=class{static get config(){return{}}static attachTo(e,n,t=!1){let i,o=E.instance(e);return!t&&(i=o.findProvider(s=>this.matchRequest(s.id,n,!0)))?i:o.attachProvider(new this(n))}static detachFrom(e,n,t=!1){let i,o=E.instance(e);for(i of o["#"].contexts)if(!(!this.matchRequest(i.id,n,!0)||typeof t=="function"&&!t(i))&&(o.detachProvider(i),typeof t!="function"&&!t))return i}static createId(e,n={}){let t={...n};return t.contextName||(e.getAttribute&&!(t.contextName=(e.getAttribute(this.config.context.attr.contextname)||"").trim())?delete t.contextName:e.ownerDocument||(t.contextName="root")),t}static createRequest(e={}){return{...e}}static matchRequest(e,n,t=!1){return t?ce(e,n,1,!0):n.type===e.type&&!n.contextName||n.contextName===e.contextName}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),E.instance(e).request({...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,options:s}=n;E.instance(t).request(i,o,s)}),this}};function le(r={}){let{config:e,window:n}=Se.call(this,"context-api",r,{api:{context:"context"}});n.webqit.HTMLContextProvider=U,n.webqit.HTMLContext=E,Je.call(n,e)}function Je(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 E.instance(e.document)}}),Object.defineProperty(e.HTMLElement.prototype,r.api.context,{get:function(){return E.instance(this)}})}le.call(window);})();
|
|
2
2
|
//# sourceMappingURL=context-api.js.map
|