@webqit/oohtml 2.1.52 → 2.1.53
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 +14 -18
- package/dist/bindings-api.js +1 -1
- package/dist/bindings-api.js.map +3 -3
- package/dist/context-api.js +1 -1
- package/dist/context-api.js.map +3 -3
- package/dist/html-bracelets.js +2 -0
- package/dist/html-bracelets.js.map +7 -0
- package/dist/html-imports.js +1 -1
- package/dist/html-imports.js.map +3 -3
- package/dist/html-namespaces.js +2 -0
- package/dist/html-namespaces.js.map +7 -0
- package/dist/main.js +16 -24
- package/dist/main.js.map +3 -3
- package/dist/scoped-css.js +2 -2
- package/dist/scoped-css.js.map +3 -3
- package/dist/scoped-js.js +15 -23
- package/dist/scoped-js.js.map +3 -3
- package/package.json +7 -7
- package/src/bindings-api/_HTMLBindingsProvider.js +38 -0
- package/src/bindings-api/index.js +49 -26
- package/src/context-api/ContextReturnValue.js +22 -0
- package/src/context-api/HTMLContext.js +14 -6
- package/src/context-api/HTMLContextProvider.js +27 -10
- package/src/context-api/_ContextRequestEvent.js +2 -2
- package/src/context-api/index.js +26 -10
- package/src/html-bracelets/AttrBracelet.js +109 -0
- package/src/html-bracelets/Bracelet.js +78 -0
- package/src/html-bracelets/HTMLBracelets.js +67 -0
- package/src/html-bracelets/TextBracelet.js +69 -0
- package/src/html-bracelets/index.js +71 -0
- package/src/html-bracelets/targets.browser.js +10 -0
- package/src/html-imports/_HTMLExportsManager.js +2 -2
- package/src/html-imports/_HTMLImportsProvider.js +3 -9
- package/src/html-imports/index.js +8 -8
- package/src/{namespace-api → html-namespaces}/index.js +25 -25
- package/src/index.js +14 -12
- package/src/scoped-js/Hash.js +26 -0
- package/src/scoped-js/index.js +63 -63
- package/test/index.js +1 -1
- package/test/modules.test.js +1 -1
- package/test/scoped-js.test.js +1 -1
- package/dist/namespace-api.js +0 -2
- package/dist/namespace-api.js.map +0 -7
- package/src/scoped-js/Compiler.js +0 -299
- /package/src/{namespace-api → html-namespaces}/targets.browser.js +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var nt=Object.defineProperty;var At=(n,e,r)=>e in n?nt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[e]=r;var it=(n,e)=>{for(var r in e)nt(n,r,{get:e[r],enumerable:!0})};var X=(n,e,r)=>(At(n,typeof e!="symbol"?e+"":e,r),r);function w(n){return!Array.isArray(n)&&typeof n=="object"&&n}function ee(n){return typeof n}function x(n){return Array.isArray(n)}function Me(n,e,r=null){return x(e)?n.filter(t=>r?e.filter(i=>r(t,i)).length:e.indexOf(t)!==-1):[]}function k(n,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new oe}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new oe,globalThis.webqit.refs.set(n,r));let t,i;for(;t=e.shift();)(i=r)&&!(r=r.get(t))&&(r=new oe,i.set(t,r));return r}var oe=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,r){let t=super.set(e,r);return this.fire("set",e,r,e),t}delete(e){let r=super.delete(e);return this.fire("delete",e),r}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,r,t){let i={type:e,key:r,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,r,t){if(Array.isArray(e)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(Oe([e,"*"],i.type)&&Oe([r,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,r,...t){for(let i of this.observers)!(Oe([e,"*"],i.type)&&Oe([r,"*"],i.key))||i.callback(...t)}},Oe=(n,e)=>Array.isArray(e)?Me(n,e).length:n.includes(e);function te(n){return typeof n=="function"}function se(n){return n===null||n===""}function L(n){return arguments.length&&(n===void 0||typeof n>"u")}function O(n){return Array.isArray(n)||typeof n=="object"&&n||te(n)}function $e(n){return se(n)||L(n)||n===!1||n===0||O(n)&&!Object.keys(n).length}function v(n){return te(n)||n&&{}.toString.call(n)==="[object function]"}function ue(n){return n instanceof Number||typeof n=="number"}function S(n){return ue(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function re(n){return n instanceof String||typeof n=="string"&&n!==null}function Ve(n){return!re(n)&&!L(n.length)}function Ee(n,...e){return e.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function Re(t,e){e=e||Object.prototype,e=e&&!x(e)?[e]:e;for(var r=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)r.push(t),t=t?Object.getPrototypeOf(t):null;return r}function De(n,e){var r=[];return Re(n,e).forEach(t=>{Ee(r,...Object.getOwnPropertyNames(t))}),r}function V(n,e,r=!1,t=!1,i=!1){var o=0,s=n.shift();if((S(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((u,l)=>{!O(u)&&!v(u)||(r?De(u):Object.keys(u)).forEach(c=>{if(!!e(c,s,u,l)){var f=s[c],a=u[c];if((x(f)&&x(a)||w(f)&&w(a))&&(o===!0||o>0))s[c]=x(f)&&x(a)?[]:{},V([S(o)?o-1:o,s[c],f,a],e,r,t,i);else if(x(s)&&x(u))t?s[c]=a:s.push(a);else try{i?Object.defineProperty(s,c,Object.getOwnPropertyDescriptor(u,c)):s[c]=u[c]}catch{}}})}),s}function le(...n){return V(n,(e,r,t)=>!0,!1,!1,!1)}function T(n,e=!0){return x(n)?n:!e&&w(n)?[n]:n!==!1&&n!==0&&$e(n)?[]:Ve(n)?Array.prototype.slice.call(n):w(n)?Object.values(n):[n]}function ce(n,e,r={},t={}){e=T(e).slice();for(var i=n;!L(i)&&!se(i)&&e.length;){var o=e.shift();if(!(r.get?r.get(i,o):O(i)?o in i:i[o])){t.exists=!1;return}i=r.get?r.get(i,o):i[o]}return t.exists=!0,i}function He(n,e,r,t={},i={}){let o=(f,a,d)=>i.set?i.set(f,a,d):(S(e[u])&&x(f)?f.push(d):f[a]=d,!0);e=T(e);for(var s=n,u=0;u<e.length;u++)if(u<e.length-1){if(!s||!O(s)&&!v(s))return!1;var l=ce(s,e[u],i);if(!O(l)){if(i.buildTree===!1)return!1;l=v(i.buildTree)?i.buildTree(u):S(e[u+1])?[]:{};var c=o(s,e[u],l);if(!c)return!1}s=l}else return o(s,e[u],r)}var fe=class{constructor(e,r=!0){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=r,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,r=!1){if(r)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,r=!1){if(r)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,r,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let u=r(s,t),l=c=>{c!==void 0&&this.cycle(e,r,c)};u instanceof Promise?u.then(l):l(u)})};i instanceof Promise?i.then(o):o(i)})}};var J=class{constructor(e,r,t){this.context=e,this.namespace=r,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(v(e[0])?e=[[],...e]:w(e[0])&&e.length===1?e=[[],void 0,e[0]]:w(e[1])&&e.length===2?e=[T(e[0],!1),void 0,e[1]]:e[0]=T(e[0],!1),e[0].filter(r=>typeof r!="string"&&!(r 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 k("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,r,t){let{window:i}=this,o=Array.isArray(r)?r:[r],s=new Set;for(let[u,l]of this.registry(e))for(let[c,f]of l){let a=o.filter(d=>c.contains(d.target)?u==="subtree"||d.target===c:!1);if(!!a.length){Array.isArray(r)||(a=a[0]);for(let d of f)s.add([d,a,c])}}for(let[u,l,c]of s)t.call(this,u,l,c)}disconnectables(e,...r){let t={disconnect(){r.forEach(i=>i&&v(i.disconnect)&&i.disconnect()||v(i)&&i()||w(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var F=class extends J{constructor(e,...r){super(e,"attr",...r)}get(e,r=void 0,t={}){let i=typeof e=="string";[e=[],r=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=ht(o,e),u=i?s[0]:s;if(!r)return u;let l=r&&t.lifecycleSignals&&this.createSignalGenerator(),c=l?.generate()||{};if(r(u,c,o),t.live){l&&(t={...t,signalGenerator:l});let f=this.observe(i?e[0]:e,r,{newValue:!0,...t});return this.disconnectables(t.signal,f)}}observe(e,r,t={}){let i=typeof e=="string";if([e=[],r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:u}=this;t.eventDetails&&!u.realdom.attrInterceptionHooks?.intercepting&&dt.call(s,"intercept",()=>{});let l=new s.MutationObserver(d=>{d=mt(d).map(h=>pt.call(s,h)),at.call(s,a,d,o)}),c={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(c.attributeFilter=e),l.observe(o,c);let f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),a={context:o,filter:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:l};return this.disconnectables(t.signal,l,f)}observeSync(e,r,t={}){let i=typeof e=="string";[e,r,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 u=t.timing==="intercept"?"intercept":"sync",l=t.subtree?"subtree":"children";this.registry(u).size||dt.call(s,u,y=>{this.forEachMatchingContext(u,y,at)});let c={disconnect(){h.delete(a),h.size||d.delete(o)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),a={context:o,filter:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:c},d=this.registry(u,l);d.has(o)||d.set(o,new Set);let h=d.get(o);return h.add(a),this.disconnectables(t.signal,c,f)}};function mt(n){return n.reduce((e,r,t)=>e[t-1]?.attributeName===r.attributeName?e:e.concat(r),[])}function at(n,e){let{context:r,filter:t,callback:i,params:o,atomics:s,originalFilterIsString:u,signalGenerator:l}=n;if(o.atomic&&!s.size?e=ht(r,t,e):o.timing!=="async"&&t.length&&(e=e.filter(a=>t.includes(a.name))),!e.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(a=>{let d;return o.eventDetails||({event:d,...a}=a),!o.oldValue&&"oldValue"in a&&({oldValue:d,...a}=a),!o.newValue&&"value"in a?{value:d,...a}=a:o.newValue&&typeof a.value>"u"&&(a={...a,value:a.target.getAttribute(a.name)}),a})),o.atomic&&(e.forEach(a=>s.set(a.name,a)),e=Array.from(s.entries()).map(([,a])=>a));let c=u?e[0]:e,f=l?.generate()||{};i(c,f,r)}function ht(n,e,r=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>r.find(s=>s.name===o)||{target:n,name:o,value:n.getAttribute(o),...t}):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:o.nodeValue,...t})}function pt({target:n,attributeName:e,value:r,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[e]?.[0]||"mutation";return{target:n,name:e,value:r,oldValue:t,type:"observation",event:s}}function dt(n,e){let r=this,{webqit:t,document:i,Element:o}=r;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(n)||t.realdom.attrInterceptionHooks.set(n,new Set),t.realdom.attrInterceptionHooks.get(n).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(n).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 u=(f,a)=>{t.realdom.attrInterceptionRecords.has(f.target)||t.realdom.attrInterceptionRecords.set(f.target,{});let d=t.realdom.attrInterceptionRecords.get(f.target);d[f.name]=d[f.name]||[],d[f.name].unshift(f.event),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(y=>y([f]));let h=a();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(y=>y([f])),h};new r.MutationObserver(f=>{f=f.filter(a=>!(r.webqit.realdom.attrInterceptionRecords?.get(a.target)||{})[a.attributeName]?.shift()),f=mt(f).map(a=>pt.call(r,a)),f.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(a=>a(f)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(a=>a(f)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let c=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(f=>{c[f]=o.prototype[f],o.prototype[f]=function(...a){let d,h=this.getAttribute(a[0]);["setAttribute","toggleAttribute"].includes(f)&&(d=a[1]),f==="toggleAttribute"&&d===void 0&&(d=h===null);let y={target:this,name:a[0],value:d,oldValue:h,type:"interception",event:[this,f]};return u(y,()=>c[f].call(this,...a))}}),s}function ae(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function ke(n,e,r,t=!1){r=r.replace("(","(.//");let i=n.document.evaluate(r,e,null,XPathResult.ANY_TYPE),o=[],s;for(;s=i.iterateNext();)o.push(s);return o}function Fe(n,e,r,t=!1){return r=r.replace("(","(self::"),n.document.evaluate(`${r}`,e,null,XPathResult.BOOLEAN_TYPE).booleanValue}var de=class extends J{constructor(e,...r){super(e,"tree",...r)}attr(e,r=void 0,t={}){let{context:i,window:o}=this;return new F(i,o).get(...arguments)}query(e,r=void 0,t={}){[e,r=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=c=>(o.has(c)||o.set(c,{target:c,entrants:[],exits:[],type:"query",event:null}),o.get(c));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(c=>s(i).entrants.push(c));else if(e.every(c=>typeof c=="string")){let[c,f]=e.reduce(([d,h],y)=>ae(y)?[d,h&&`${h}|${y}`||y]:[d&&`${d},${y}`||y,h],["",""]),a=[];t.subtree?(c.length&&a.push(...i.querySelectorAll(c)),f.length&&a.push(...ke(this.window,i,f,!0))):(c.length&&a.push(...[...i.children].filter(d=>d.matches(c))),f.length&&a.push(...[...i.childNodes].filter(d=>Fe(this.window,d,f,!0)))),a.forEach(d=>s(d.parentNode||i).entrants.push(d))}}if(!r)return o;let u={disconnected:!1},l=r&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,c]of o){if(u.disconnected)break;let f=l?.generate()||{};r(c,f,i)}if(t.live){l&&(t={...t,signalGenerator:l});let c=this.observe(e,r,t);return this.disconnectables(t.signal,u,c)}return this.disconnectables(t.signal,u,l)}children(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!1})}subtree(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!0})}observe(e,r,t={}){if([e,r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:u}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(u.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&xt.call(o,"sync",()=>{});let l=new o.MutationObserver(a=>a.forEach(d=>{ze.call(o,f,yt.call(o,d),i)}));l.observe(i,{childList:!0,subtree:t.subtree});let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:r,params:t,signalGenerator:c,disconnectable:l};if(t.staticSensitivity){let a=gt.call(o,f);return this.disconnectables(t.signal,l,c,a)}return this.disconnectables(t.signal,l,c)}observeSync(e,r,t={}){[e,r,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",u=t.subtree?"subtree":"children";this.registry(s).size||xt.call(o,s,y=>{this.forEachMatchingContext(s,y,ze)});let l=new o.MutationObserver(y=>y.forEach(m=>{Array.isArray((m=yt.call(o,m)).event)||ze.call(o,a,m,i)}));l.observe(i,{childList:!0,subtree:t.subtree});let c={disconnect(){l.disconnect(),h.delete(a),h.size||d.delete(i)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),a={context:i,selectors:e,callback:r,params:t,signalGenerator:f,disconnectable:c},d=this.registry(s,u);d.has(i)||d.set(i,new Set);let h=d.get(i);if(h.add(a),t.staticSensitivity){let y=gt.call(o,a);return this.disconnectables(t.signal,c,f,y)}return this.disconnectables(t.signal,c,f)}};function gt(n){let e=this,{context:r,selectors:t,callback:i,params:o,signalGenerator:s}=n,u=t.filter(h=>typeof h=="string"&&!ae(h)),l=h=>h.match(/\.([\w-]+)/g)?.length?["class"]:[],c=h=>h.match(/#([\w-]+)/g)?.length?["id"]:[],f=h=>[...h.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(y=>y[1]).concat(l(h)).concat(c(h));if(!(n.$attrs=Array.from(new Set(u.filter(h=>h.includes("[")).reduce((h,y)=>h.concat(f(y)),[])))).length)return;let a=new Set,d=new Set;return a.push=h=>(d.delete(h),a.add(h)),d.push=h=>(a.delete(h),d.add(h)),n.$deliveryCache={entrants:a,exits:d},new F(r,e).observe(n.$attrs,h=>{let y=new Map,m=p=>(y.has(p)||y.set(p,{target:p,entrants:[],exits:[],type:"static",event:null}),y.get(p)),_=new WeakMap,g=p=>(_.has(p)||_.set(p,u.some(b=>p.matches(b))),_.get(p));for(let p of h)["entrants","exits"].forEach(b=>{o.generation&&b!==o.generation||n.$deliveryCache[b].has(p.target)||(b==="entrants"?!g(p.target):g(p.target))||(n.$deliveryCache[b].push(p.target),m(p.target)[b].push(p.target),m(p.target).event=p.event)});for(let[,p]of y){let b=s?.generate()||{};i(p,b,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function ze(n,e){let{context:r,selectors:t,callback:i,params:o,signalGenerator:s,$deliveryCache:u}=n,l={...e,entrants:[],exits:[]};if(o.eventDetails||delete l.event,["entrants","exits"].forEach(f=>{if(!(o.generation&&f!==o.generation)&&(t.length?l[f]=kt.call(this,t,e[f],e.event!=="parse"):l[f]=[...e[f]],!!u))for(let a of l[f])u[f].push(a)}),!l.entrants.length&&!l.exits.length)return;let c=s?.generate()||{};i(l,c,r)}function kt(n,e,r){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(typeof o=="string"){let s=i.filter(u=>ae(o)?Fe(this,u,o):u.matches&&u.matches(o));if(r&&(s=i.reduce((u,l)=>ae(o)?[...u,...ke(this,l,o)]:l.querySelectorAll?[...u,...l.querySelectorAll(o)]:u,s)),s.length)return s}else if(i.includes(o)||r&&i.some(s=>s.contains(o)))return[o]};return e.$$searchCache||(e.$$searchCache=new Map),n.reduce((i,o)=>{let s;return e.$$searchCache.has(o)?s=e.$$searchCache.get(o):(s=t(e,o)||[],w(o)&&e.$$searchCache.set(o,s)),i.concat(s)},[])}function yt({target:n,addedNodes:e,removedNodes:r}){let t=this,i;return i=T(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=T(r).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:e,exits:r,type:"observation",event:i}}function xt(n,e){let r=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:u,HTMLElement:l,HTMLTemplateElement:c,DocumentFragment:f}=r;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(n)||t.realdom.domInterceptionHooks.set(n,new Set),t.realdom.domInterceptionHooks.get(n).add(e);let a=()=>t.realdom.domInterceptionHooks.get(n).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return a;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let d=(m,_)=>{m.entrants.concat(m.exits).forEach(p=>{clearTimeout(t.realdom.domInterceptionRecords.get(p)?.timeout),t.realdom.domInterceptionRecords.set(p,m.event);let b=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(p)},0);Object.defineProperty(m.event,"timeout",{value:b,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(p=>p(m));let g=_();return t.realdom.domInterceptionHooks.get("sync")?.forEach(p=>p(m)),g},h={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(m=>{function _(...g){let p=this instanceof s?h.characterData:h.other,b=()=>p[m].call(this,...g);if(!(this instanceof s||this instanceof u||this instanceof f))return b();let q=[],E=[],G=this;["insertBefore"].includes(m)?E=[g[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(m)?(E=[g[1]],["beforebegin","afterend"].includes(g[0])&&(G=this.parentNode)):["setHTML","replaceChildren"].includes(m)?(q=[...this.childNodes],E=m==="replaceChildren"?[...g]:[g[0]]):["replaceWith","remove"].includes(m)?(q=[this],E=m==="replaceWith"?[...g]:[],G=this.parentNode):["replaceChild"].includes(m)?(q=[g[1]],E=[g[0]]):["removeChild"].includes(m)?q=[...g]:(E=[...g],["before","after"].includes(m)&&(G=this.parentNode));let U=m;if(["insertAdjacentHTML","setHTML"].includes(m)){let rt=this.nodeName;if(m==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(g[0])){if(!this.parentNode)return p[m].call(this,...g);rt=this.parentNode.nodeName}let ve=i.createElement(rt);p.setHTML.call(ve,E[0],m==="setHTML"?g[1]:{}),E=[...ve.childNodes],m==="insertAdjacentHTML"?(U="insertAdjacentElement",g[1]=new f,g[1].______isTemp=!0,g[1].append(...ve.childNodes)):(U="replaceChildren",g=[...ve.childNodes])}return d({target:G,entrants:E,exits:q,type:"interception",event:[this,m]},()=>p[U].call(this,...g))}["insertBefore","replaceChild","removeChild","appendChild"].includes(m)?(h.other[m]=o.prototype[m],o.prototype[m]=_):(["after","before","remove","replaceWith"].includes(m)&&(h.characterData[m]=s.prototype[m],s.prototype[m]=_),u.prototype[m]&&(h.other[m]=u.prototype[m],u.prototype[m]=_))});let y=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(m=>{let _=["textContent","nodeValue"].includes(m)?o:["outerText","innerText"].includes(m)?l:u;y[m]=Object.getOwnPropertyDescriptor(_.prototype,m),Object.defineProperty(_.prototype,m,{...y[m],set:function(g){let p=()=>y[m].set.call(this,g);if(!(this instanceof u))return p();let b=[],q=[],E=this;if(["outerHTML","outerText"].includes(m)?(b=[this],E=this.parentNode):b=[...this.childNodes],["outerHTML","innerHTML"].includes(m)){let U=this.nodeName;if(m==="outerHTML"){if(!this.parentNode)return p();U=this.parentNode.nodeName}let K=i.createElement(U==="TEMPLATE"?"div":U);y[m].set.call(K,g),q=this instanceof c?[]:[...K.childNodes],m==="outerHTML"?(g=new f,g.______isTemp=!0,g.append(...K.childNodes),p=()=>u.prototype.replaceWith.call(this,g)):this instanceof c?p=()=>this.content.replaceChildren(...K.childNodes):p=()=>u.prototype.replaceChildren.call(this,...K.childNodes)}return d({target:E,entrants:q,exits:b,type:"interception",event:[this,m]},p)}})}),["append","prepend","replaceChildren"].forEach(m=>{[i,f.prototype].forEach(_=>{let g=_[m];_[m]=function(...p){if(this.______isTemp)return g.call(this,...p);let b=m==="replaceChildren"?[...this.childNodes]:[];return d({target:this,entrants:p,exits:b,type:"interception",event:[this,m]},()=>g.call(this,...p))}})}),a}function bt(){Ft.call(this),zt.call(this),Bt.call(this)}function Ft(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function zt(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function Bt(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(e){for(var r=(this.document||this.ownerDocument).querySelectorAll(e),t=r.length;--t>=0&&r.item(t)!==this;);return t>-1})}function _t(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},bt.call(n),n.webqit.realdom.meta=(...r)=>Wt.call(n,...r),n.webqit.realdom.ready=(...r)=>Be.call(n,...r),n.webqit.realdom.realtime=(r,t="dom")=>{if(t==="dom")return new de(r,n);if(t==="attr")return new F(r,n)};let e=new fe(n);return n.webqit.realdom.schedule=(r,...t)=>e[`on${r}`](...t),n.webqit.realdom}function Be(...n){let e="interactive",r;re(n[0])?(e=n[0],v(n[1])&&(r=n[1])):v(n[0])&&(r=n[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>Be.call(this,"interactive",o)),complete:new Promise(o=>Be.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return r(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(r)}function Wt(n){let e=this,r={},t;return(t=e.document.querySelector(`meta[name="${n}"]`))&&(r=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(u=>u.trim());return He(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:S(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return t.content},json(){return JSON.parse(JSON.stringify(r))}}}var P=(...n)=>k("oohtml",...n);function wt(n,e,r){let t=n.toUpperCase().replace("-","_"),i=this,o=_t.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]={}),le(2,i.webqit.oohtml.configs[t],r,e,o.meta(n).json()),{config:i.webqit.oohtml.configs[t],realdom:o,window:i}}function We(n,e,r=1,t=!1){if(r&&typeof n=="object"&&n&&typeof e=="object"&&e&&(!t||Object.keys(n).length===Object.keys(e).length)){for(let i in n)if(!We(n[i],e[i],r-1,t))return!1;return!0}return Array.isArray(n)&&Array.isArray(e)&&n.length===e.length?(e=e.slice(0).sort())&&n.slice(0).sort().every((i,o)=>i===e[o]):n===e}var et={};it(et,{apply:()=>qe,batch:()=>Ce,construct:()=>Je,defineProperties:()=>Zt,defineProperty:()=>ye,deleteProperties:()=>Kt,deleteProperty:()=>xe,get:()=>N,getOwnPropertyDescriptor:()=>Ie,getOwnPropertyDescriptors:()=>Yt,getPrototypeOf:()=>Ue,has:()=>Se,intercept:()=>Jt,isExtensible:()=>Xe,observe:()=>Ke,ownKeys:()=>ge,path:()=>Xt,preventExtensions:()=>Qe,read:()=>Qt,reduce:()=>Ze,set:()=>Z,setPrototypeOf:()=>Ye});var A=(...n)=>k("observer-api",...n),ne=(n,e)=>n instanceof Promise?n.then(e):e(n),Pe={};var Y=class{constructor(e,r){this.registry=e,Object.assign(this,{...r,target:e.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var me=class extends Y{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),Pe.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(e){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let r=e,t=this.filter;if(t!==1/0&&(t=T(t,!1))&&(r=e.filter(i=>t.includes(i.key))),this.params.diff&&(r=r.filter(i=>i.type!=="set"||i.value!==i.oldValue)),r.length){if(this.emit.recursionTarget&&this.params.recursions!=="force-sync"){this.emit.recursionTarget.push(...r);return}this.emit.recursionTarget=this.params.recursions==="inject"?r:[];let i=this.filter===1/0||Array.isArray(this.filter)?this.emit(r,this):this.emit(r[0],this);return ne(i,o=>{let s=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="force-async"&&s.length?this.emit.currentRegistration.fire(s):o})}}};var Q=class{constructor(e){this.target=e,this.entries=[]}addRegistration(e){return this.entries.push(e),e}removeRegistration(e){this.entries=this.entries.filter(r=>r!==e)}static _getInstance(e,r,t=!0,i=this.__namespace){if(!O(r))throw new Error(`Subject must be of type object; "${ee(r)}" given!`);let o=this;return i&&A("namespaces").has(e+"-"+i)&&(o=A("namespaces").get(e+"-"+i),e+="-"+i),!A(r,"registry").has(e)&&t&&A(r,"registry").set(e,new o(r)),A(r,"registry").get(e)}static _namespace(e,r,t=null){if(e+="-"+r,arguments.length===2)return A("namespaces").get(e);if(!(t.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${r} must be a subclass of ${this.name}.`);A("namespaces").set(e,t),t.__namespace=r}};var I=class{constructor(e,r){if(this.target=e,!r.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,r)}};var z=class extends Q{static getInstance(e,r=!0,t=null){return super._getInstance("listeners",...arguments)}static namespace(e,r=null){return super._namespace("listeners",...arguments)}constructor(e){super(e),this.batches=[]}addRegistration(e,r,t){return super.addRegistration(new me(this,{filter:e,emit:r,params:t}))}emit(e,r=!1){if(this.batches.length){this.batches[0].snapshots.push({events:[...e],isPropertyDescriptors:r});return}this.$emit(this.entries,[{events:e,isPropertyDescriptors:r}])}$emit(e,r){let t=e.filter(l=>l.params.withPropertyDescriptors).length,i=r.some(l=>l.isPropertyDescriptors),o=[],s=[],u=e.length;r.forEach(l=>{(t||!i)&&o.push(...l.events),t!==u&&i&&(l.isPropertyDescriptors?s.push(...l.events.map(c=>{let{target:f,type:a,...d}=c,h=new I(f,{type:"set",...d});return Object.defineProperty(h,"value","get"in d.value?{get:()=>d.value.get()}:{value:d.value.value}),d.oldValue&&Object.defineProperty(h,"oldValue","get"in d.oldValue?{get:()=>d.oldValue.get()}:{value:d.oldValue.value}),h})):s.push(...l.events))}),e.forEach(l=>{l.params.withPropertyDescriptors?l.fire(o.length?o:s):l.fire(s.length?s:o)})}batch(e){this.batches.unshift({entries:[...this.entries],snapshots:[]});let r=e();return ne(r,t=>{let i=this.batches.shift();return i.snapshots.length&&this.$emit(i.entries,i.snapshots),t})}};var he=class extends Y{exec(e,r,t){return this.running||!this.traps[e.operation]?r(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[e.operation](e,t,(...i)=>(this.running=!1,r(...i))))}};var H=class extends Q{static getInstance(e,r=!0,t=null){return super._getInstance("traps",...arguments)}static namespace(e,r=null){return super._namespace("traps",...arguments)}addRegistration(e){return super.addRegistration(new he(this,e))}emit(e,r=null){let t=this;return function i(o,...s){let u=t.entries[o];return u?u.exec(e,(...l)=>i(o+1,...l),...s):r?r(e,...s):s[0]}(0)}};var Ge={};it(Ge,{accessorize:()=>Gt,proxy:()=>vt,unaccessorize:()=>Ut,unproxy:()=>pe});function Gt(n,e,r={}){n=Te(n);let t=A(n,"accessorizedProps");function i(l){let c,f=n;do c=Object.getOwnPropertyDescriptor(f,l);while(!c&&(f=Object.getPrototypeOf(f)));return c?{proto:f,descriptor:c}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function o(l){if(t.has(l+""))return!0;let c=i(l);c.getValue=function(d=!1){return d?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},c.setValue=function(d,h=!1){if(this.dirty=!0,h){this.descriptor=d;return}return this.descriptor.set?this.descriptor.set(d)!==!1:(this.descriptor.value=d,!0)},c.intact=function(){let d=Object.getOwnPropertyDescriptor(n,l);return d?.get===a.get&&d?.set===a.set&&t.get(l+"")===this},c.restore=function(){return this.intact()?(this.proto&&this.proto!==n||!this.proto&&!this.dirty?delete n[l]:Object.defineProperty(n,l,this.descriptor),t.delete(l+""),!0):!1},t.set(isNaN(l)?l:parseInt(l),c);let{enumerable:f=!0}=c.descriptor,a={enumerable:f,configurable:!0};("value"in c.descriptor||c.descriptor.set)&&(a.set=function(d){return Z(this,l,d,r)}),("value"in c.descriptor||c.descriptor.get)&&(a.get=function(){return N(this,l,r)});try{return Object.defineProperty(n,l,a),!0}catch{return t.delete(l+""),!1}}let u=(Array.isArray(e)?e:e===void 0?Object.keys(n):[e]).map(o);return e===void 0||Array.isArray(e)?u:u[0]}function Ut(n,e,r={}){n=Te(n);let t=A(n,"accessorizedProps");function i(u){return t.has(u+"")?t.get(u+"").restore():!0}let s=(Array.isArray(e)?e:e===void 0?Object.keys(n):[e]).map(i);return e===void 0||Array.isArray(e)?s:s[0]}function vt(n,e={},r=void 0){let t=Te(n);if(typeof e.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(e.membrane&&A(t,"membraneRef").has(e.membrane))return A(t,"membraneRef").get(e.membrane);let i={apply(u,l,c){if(Array.isArray(l)){let f=Te(l);return A(f).set("$length",f.length),Ce(f,()=>qe(u,l,c))}return qe(u,pe(l),c)},construct:(u,l,c=null)=>Je(u,l,c,e),defineProperty:(u,l,c)=>ye(u,l,c,e),deleteProperty:(u,l)=>xe(u,l,e),get:(u,l,c=null)=>{let f={...e,receiver:c};Array.isArray(u)&&l==="length"&&A(u).has("$length")&&(f.forceValue=A(u).get("$length"));let a=N(u,l,f);return Array.isArray(u)&&typeof a=="function"?vt(a,{...e,membrane:c}):a},getOwnPropertyDescriptor:(u,l)=>Ie(u,l,e),getPrototypeOf:u=>Ue(u,e),has:(u,l)=>Se(u,l,e),isExtensible:u=>Xe(u,e),ownKeys:u=>ge(u,e),preventExtensions:u=>Qe(u,e),set:(u,l,c,f=null)=>{let a={...e,receiver:f};return Array.isArray(u)&&l==="length"&&(a.forceOldValue=A(u).get("$length"),A(u).set("$length",c)),Z(u,l,c,a)},setPrototypeOf:(u,l)=>Ye(u,l,e)},o=r?.(i)||i,s=new Proxy(t,o);return e.membrane&&A(t,"membraneRef").set(e.membrane,s),A(s).set(s,t),s}function pe(n){return A(n).get(n)||n}function Te(n){if(!n||!O(n))throw new Error("Target must be of type object!");return pe(n)}var be=class extends Array{};function Xt(...n){return new be(...n)}function Ze(n,e,r,t=o=>o,i={}){if(!!e.length)return function o(s,u,l){let c=u[l.level],f=l.level===u.length-1;return s instanceof I&&s.operation!=="get"?l={...l,probe:"always"}:l.probe!=="always"&&(l={...l,probe:!f}),r(s,c,(a,...d)=>{let h=m=>{m instanceof I&&(m.path=[m.key],s instanceof I&&(m.path=s.path.concat(m.key),Object.defineProperty(m,"context",{get:()=>s,configurable:!0})))},y=m=>{let _=R(m,!1);return ne(_,g=>{m instanceof I?m.value=g:m=g;let p=d[0]||{};return o(m,u,{...l,...p,level:l.level+1})})};return je(c)&&Array.isArray(a)?(a.forEach(h),f?t(a,...d):a.map(y)):(h(a),f?t(a,...d):y(a))},l)}(n,e.slice(0),{...i,level:0})}function Ke(n,e,r,t={}){if(n=R(n,!t.level),v(arguments[1])&&([,r,t={}]=arguments,e=1/0),!v(r))throw new Error(`Handler must be a function; "${ee(r)}" given!`);if(e instanceof be)return Ze(n,e,Ke,r,t);if(t={...t,descripted:!0},delete t.live,!O(n))return t.probe&&N(n,e,r,t);let i=Ot(n,e,r,t);return t.probe?N(n,e,i,t):i()}function Jt(n,e,r={}){return n=R(n),w(e)||([,,,r={}]=arguments,e={[arguments[1]]:arguments[2]}),H.getInstance(n,!0,r.namespace).addRegistration({traps:e,params:r})}function Ie(n,e,r=i=>i,t={}){return D(n,"getOwnPropertyDescriptor",{key:e},r,t)}function Yt(n,e,r=i=>i,t={}){return D(n,"getOwnPropertyDescriptors",{key:e},r,t)}function Ue(n,e=t=>t,r={}){return D(n,"getPrototypeOf",{},e,r)}function Xe(n,e=t=>t,r={}){return D(n,"isExtensible",{},e,r)}function ge(n,e=t=>t,r={}){return D(n,"ownKeys",{},e,r)}function Se(n,e,r=i=>i,t={}){return D(n,"has",{key:e},r,t)}function N(n,e,r=i=>i,t={}){let i,o=R(n,!t.level);return w(r)?[t,r]=[r,s=>s]:t.live&&(i=!0),e instanceof be?Ze(o,e,N,r,t):er(o,e,s=>{let u=[...s];return function l(c,f,a){if(!f.length)return a(c);let d=f.shift();if(!["string","number","symbol"].includes(typeof d))throw new Error(`Property name/key ${d} invalid.`);function h(_,g=void 0){let p=E=>(_.value=E,l([...c,t.live||t.descripted?_:E],f,a));if(arguments.length>1)return p(g);if(!O(o))return p(o?.[_.key]);let b=A(o,"accessorizedProps",!1),q=b&&b.get(_.key);if(q&&q.intact())return p(q.getValue(t.withPropertyDescriptors));if(t.withPropertyDescriptors){let E=Object.getOwnPropertyDescriptor(o,_.key);return"forceValue"in t&&"value"in E&&(E.value=t.forceValue),p(E)}return"forceValue"in t?p(t.forceValue):p(Reflect.get(o,_.key,...t.receiver?[t.receiver]:[]))}let y=new I(o,{type:"get",key:d,value:void 0,operation:"get",related:u});if(!O(o))return h(y);let m=H.getInstance(o,!1,t.namespace);return m?m.emit(y,h):h(y)}([],s.slice(0),l=>{let c=je(e)?l:l[0];return i&&O(o)?Ot(o,e,r,t)(c):r(c)})},t)}function Ce(n,e,r={}){return n=R(n),z.getInstance(n,!0,r.namespace).batch(e)}function Qt(n,e,r={}){e=R(e),n=R(n);let t=(r.only||[]).slice(0),i=(r.except||[]).slice(0),o=ge(r.spread?[...n]:n).map(c=>isNaN(c)?c:parseInt(c)),s=t.length?t.filter(c=>o.includes(c)):o.filter(c=>!i.includes(c)),u=c=>!Array.isArray(e)||isNaN(c)?c:c-i.filter(f=>f<c).length,l=c=>{let f=Ie(n,c,r);"value"in f&&f.writable&&f.enumerable&&f.configurable?Z(e,u(c),f.value,r):(f.enumerable||r.onlyEnumerable===!1)&&ye(e,c,{...f,configurable:!0},r)};return Ce(e,()=>{s.forEach(l)}),Ke(n,c=>{c.filter(f=>t.length?t.includes(f.key):!i.includes(f.key)).forEach(f=>{if(f.operation==="deleteProperty")return xe(e,u(f.key),r);if(f.operation==="defineProperty"){(f.value.enumerable||r.onlyEnumerable===!1)&&ye(e,u(f.key),{...f.value,configurable:!0},r);return}l(f.key)})},{...r,withPropertyDescriptors:!0})}function Z(n,e,r,t=s=>s,i={},o=!1){let s=R(n),u=[[e,r]];w(e)&&([,,t=c=>c,i={},o=!1]=arguments,u=Object.entries(e)),w(t)&&([o,i,t]=[typeof i=="boolean"?i:o,t,c=>c]);let l=u.map(([c])=>c);return function c(f,a,d){if(!a.length)return d(f);let[h,y]=a.shift();function m(g,p=void 0){let b=G=>(g.status=G,c(f.concat(g),a,d));if(arguments.length>1)return b(g,p);let q=A(s,"accessorizedProps",!1),E=q&&q.get(g.key);return g.operation==="defineProperty"?(E&&!E.restore()&&b(!1),Object.defineProperty(s,g.key,g.value),b(!0)):E&&E.intact()?b(E.setValue(g.value)):b(Reflect.set(s,g.key,g.value))}function _(g,p){if(i.diff&&y===p)return c(f,a,d);let b=new I(s,{type:o?"def":"set",key:h,value:y,isUpdate:g,oldValue:p,related:[...l],operation:o?"defineProperty":"set",detail:i.detail}),q=H.getInstance(s,!1,i.namespace);return q?q.emit(b,m):m(b)}return Se(s,h,g=>{if(!g)return _(g);let p={...i,withPropertyDescriptors:o};return"forceOldValue"in i&&(p.forceValue=i.forceOldValue),N(s,h,b=>_(g,b),p)},i)}([],u.slice(0),c=>{let f=z.getInstance(s,!1,i.namespace);return f&&f.emit(c,o),t(je(e)?c.map(a=>a.status):c[0]?.status)})}function ye(n,e,r,t=o=>o,i={}){return Z(n,e,r,t,i,!0)}function Zt(n,e,r=i=>i,t={}){return Z(n,e,r,t,!0)}function xe(n,e,r=i=>i,t={}){n=R(n),w(r)&&([t,r]=[r,s=>s]);let i=T(e,!1),o=[...i];return function s(u,l,c){if(!l.length)return c(u);let f=l.shift();function a(h,y=void 0){let m=p=>(h.status=p,s(u.concat(h),l,c));if(arguments.length>1)return m(h,y);let _=A(n,"accessorizedProps",!1),g=_&&_.get(h.key);return g&&!g.restore()&&m(!1),m(Reflect.deleteProperty(n,h.key))}function d(h){let y=new I(n,{type:"delete",key:f,oldValue:h,related:[...o],operation:"deleteProperty",detail:t.detail}),m=H.getInstance(n,!1,t.namespace);return m?m.emit(y,a):a(y)}return N(n,f,d,t)}([],i.slice(0),s=>{let u=z.getInstance(n,!1,t.namespace);return u&&u.emit(s),r(je(e)?s.map(l=>l.status):s[0].status)})}function Kt(n,e,r=i=>i,t={}){return xe(...arguments)}function Je(n,e,r=null,t=o=>o,i={}){return D(n,"construct",arguments.length>2?{argumentsList:e,newTarget:r}:{argumentsList:e},t,i)}function qe(n,e,r,t=o=>o,i={}){return D(n,"apply",{thisArgument:e,argumentsList:r},t,i)}function Ye(n,e,r=i=>i,t={}){return D(n,"setPrototypeOf",{proto:e},r,t)}function Qe(n,e=t=>t,r={}){return D(n,"preventExtensions",{},e,r)}function Ot(n,e,r,t={}){let i;t.signal||(i=new AbortController,t={...t,signal:i.signal},Pe.setMaxListeners?.(0,i.signal));let o=z.getInstance(n,!0,t.namespace);return function s(u,l=null){l?.remove();let f={signal:o.addRegistration(e,s,t).signal};if(arguments.length){let a=r(u,f);if(arguments.length>1)return a}return i}}function D(n,e,r={},t=o=>o,i={}){n=R(n),w(t)&&([i,t]=[t,l=>l]);function o(l,c){return arguments.length>1?t(c):t((Reflect[e]||Object[e])(n,...Object.values(r)))}let s=new I(n,{operation:e,...r}),u=H.getInstance(n,!1,i.namespace);return u?u.emit(s,o):o(s)}function je(n){return n===1/0||Array.isArray(n)}function R(n,e=!0){if((!n||!O(n))&&e)throw new Error(`Object must be of type object or array! "${ee(n)}" given.`);return n instanceof I&&(n=n.value),n&&pe(n)}function er(n,e,r,t={}){return e===1/0?t.level&&!O(n)?r([]):ge(n,r,t):r(T(e,!1))}var tr={...et,...Ge},_e=tr;var we=class{constructor(e,r){this.request=e,this.hostElement=r,e.live&&!e.signal&&(Object.defineProperty(this,"abortController",{value:new AbortController}),e.signal=this.abortController.signal)}callback(e){_e.defineProperty(this,"value",{value:e,configurable:!0,enumerable:!0})}abort(){if(this.abortController)return this.abortController.abort();let e=this.hostElement.ownerDocument?.defaultView||this.hostElement.defaultView;if(this.request.signal)return this.request.signal.dispatchEvent(new e.Event("abort"))}};function Et(){let n=this;return class extends n.Event{constructor(r,t,{type:i="contextrequest",...o}={}){super(i,o),Object.defineProperty(this,"request",{get:()=>r}),Object.defineProperty(this,"callback",{get:()=>t})}respondWith(r,...t){if(this.request.diff){if("prevValue"in this&&this.prevValue===r)return;Object.defineProperty(this,"prevValue",{value:r,configurable:!0})}return this.callback(r,...t)}}}var j=class{static instance(e){return P(e).get("context::instance")||new this(e)}constructor(e){P(e).get("context::instance")?.dispose(),P(e).set("context::instance",this);let r={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>r});let t=Et.call(e.ownerDocument?.defaultView||e.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>t}),this[Symbol.iterator]=function*(){yield*r.contexts}}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,r=null,t={}){typeof r=="object"&&(t=r,r=null);let i;r||(i=new we(e,this["#"].host),r=i.callback.bind(i));let o=this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,r,{bubbles:!0,...t}));return i??o}dispose(){}};var B=class{static get config(){return{}}static attachTo(e,r,t=!1){this.providers.set(this.type,this);let i,o=j.instance(e);return!t&&(i=o.findProvider(s=>this.matchId(s.id,r)))?i:o.attachProvider(new this(r))}static detachFrom(e,r,t=!1){let i,o=j.instance(e);for(i of o["#"].contexts)if(!(!this.matchId(i.id,r)||typeof t=="function"&&!t(i))&&(o.detachProvider(i),typeof multiple!="function"&&!t))return i}static createId(e,r={}){let t={type:this.type,...r};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 matchId(e,r){return We(e,r,1,!0)}static createRequest(e={}){return{type:this.type,...e}}static matchRequest(e,r){return r.type===e.type&&(!r.contextName||r.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||!(typeof e.request=="object"&&e.request)||typeof e.respondWith!="function"||!this.constructor.matchRequest(this.id,e.request)))if(e.stopPropagation(),e.type==="contextclaim"){let r=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),r.add(t))}),e.respondWith(r)}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),j.instance(e).request({...this.id,superContextOnly:!0},r=>r.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(r=>{this.unsubscribe(r);let{target:t,request:i,callback:o,options:s}=r;j.instance(t).request(i,o,s)}),this}};X(B,"providers",new Map),X(B,"type");var ie=class extends B{static matchRequest(e,r){return super.matchRequest(e,r)&&(!r.detail||!e.detail||(Array.isArray(r.detail)?r.detail[0]===e.detail:r.detail===e.detail))}get bindingsObj(){return this.host[this.constructor.config.api.bindings]}handle(e){if(e.request.controller?.abort(),!(e.request.detail+"").trim())return e.respondWith(this.bindingsObj);e.request.controller=_e.reduce(this.bindingsObj,Array.isArray(e.request.detail)?e.request.detail:[e.request.detail],_e.get,r=>{this.disposed||e.respondWith(r.value)},{live:e.request.live,descripted:!0})}};X(ie,"type","bindings");var M=class{parseExpr(e,r){return e.match(/[\+\-\*\/&|\?\:\=\<\>\%]+|(['"])[^'"]*\1|\[[^\]]*\]|\([^)]*\)|\S+/g).map(i=>i.trim()).map(i=>{let o={};if(i[0]==="!"&&(o={negation:!0},i=i.slice(1)),/^\(.*\)$/.test(i))return{type:"expr",value:this.parseExpr(i.slice(1,-1),r),...o};if(['"',"'"].includes(i[0]))return{type:"literal",value:/(['"])(.*?)\1/g.exec(i)[2],...o};if(/[\+\-\*\/&|\?\:\=\<\>\%]/.test(i))return{type:"operator",value:i,...o};if(!isNaN(i))return{type:"literal",value:parseFloat(i),...o};let s=i.match(/[^\.\[\]]+/g);return r.push(s),{type:"ref",value:s,...o}})}renderExpr(e,r){return e.reduce(([t,i,o],s)=>{if(o==="end")return[t,null,"end"];if(o==="consequent"&&s.type==="operator"&&s.value===":")return[t,null,"end"];if(s.type==="operator")return[t,s,o];if(o==="alternate"&&i?.value!==":")return[null,null,"alternate"];let u,l=(c,f)=>c.negation?!f:f;switch(s.type){case"ref":u=l(s,r[s.value.join(".")].value);break;case"expr":u=l(s,this.renderExpr(s.value,r));break;default:u=l(s,s.value)}switch(i?.value){case"-":return[t-u,null,o];case"+":return[t+u,null,o];case"/":return[t/u,null,o];case"*":return[t*u,null,o];case"%":return[t%u,null,o];case"===":return[t===u,null,o];case"==":return[l(i,t==u),null,o];case">=":return[t>=u,null,o];case"<=":return[t<=u,null,o];case">":return[t>u,null,o];case"<":return[t<u,null,o];case"||":return[t||u,null,o];case"&&":return[t&&u,null,o];case"?":return t?[u,null,"consequent"]:[null,null,"alternate"];case"??":return[t??u,null,o];default:return[u]}},[null,null])[0]}render(e){let r=this.renderExpr(this.expr,e);if(typeof r>"u"){if(!this.dirty)return;this.value=this.originalValue;return}this.value=r+""}disconnect(){this.disconnected=!0}};X(M,"tokens",{startTag:"{",endTag:"}",get contains(){return`contains(., "${this.startTag}") and contains(substring-after(., "${this.startTag}"), "${this.endTag}")`},get startsAndEnds(){return`starts-with(., "${this.startTag}") and substring(., string-length(.) - string-length("${this.endTag}") + 1) = "${this.endTag}"`},get regex(){let e=this.startTag.split("").map(t=>"\\"+t),r=this.endTag.split("").map(t=>"\\"+t);return`${e.join("")}([^${e[0]}]+)${r.join("")}`}});var C=class extends Set{static instance(e){return P(e).get("bracelets::instance")||new this(e)}constructor(e){super(),P(e).get("bracelets::instance")?.dispose(),P(e).set("bracelets::instance",this);let r={host:e,bindings:Object.create(null)};Object.defineProperty(this,"#",{get:()=>r})}add(e){if(!(e instanceof M))throw new Error("Argument must be instance of Bracelet.");let r=super.add(e),t=this["#"].bindings;return e.refs.forEach(i=>{let o=i.join(".");if(!(o in t)){t[o]={subs:new Set,controller:new AbortController};let s=ie.createRequest({detail:i,live:!0,signal:t[o].signal});j.instance(this["#"].host).request(s,u=>{t[o].value=u,t[o].subs.forEach(l=>l.render(t))})}t[o].subs.add(e)}),e.render(t),r}delete(e){if(!(e instanceof M))throw new Error("Argument must be instance of Bracelet.");let r=super.delete(e),t=this["#"].bindings;return e.refs.forEach(i=>{t[i].subs.delete(e),t[i].subs.size||(t[i].controller.abort(),delete t[i])}),r}clear(){for(let e of this)this.delete(e)}};var $=class extends M{static get query(){return`*[@*[${this.tokens.contains}]]`}static parse(...e){return e.reduce((r,t)=>r.concat([...t.nodeValue.matchAll(new RegExp(this.tokens.regex,"g"))].reduce((i,o)=>{let s=new this(t,o[0],o.index,o[1].trim()),u=i.slice(-1)[0];return u&&(u._nextSibling=s),i.concat(s)},[])),[])}static mount(...e){for(let r of e){let t=P(r.ownerElement).get("attr-bracelets");t||(t=new Map,t.active=[],P(r.ownerElement).set("attr-bracelets",t));let i=t.get(r.attr.nodeName);i||(i=new Set,t.set(r.attr.nodeName,i)),i.add(r),t.active[0]?._nested.add(r),C.instance(r.ownerElement).add(r)}}static cleanup(...e){for(let r of e){let t=P(r.ownerElement).get("attr-bracelets");t?.get(r.nodeName)?.forEach(i=>{i.disconnect(),C.instance(i.ownerElement).delete(i)}),t?.delete(r.nodeName),t&&!t.size&&P(r.ownerElement).delete("attr-bracelets")}}constructor(e,r,t,i){super();let o=[],s=this.parseExpr(i,o);Object.defineProperties(this,{type:{get:()=>"attr"},expr:{get:()=>s},refs:{get:()=>o},attr:{get:()=>e},ownerElement:{get:()=>e.ownerElement},originalValue:{value:r},_value:{value:r,writable:!0},_dirty:{value:!1,writable:!0},_startIndex:{value:void 0,writable:!0},_endIndex:{value:void 0,writable:!0},_nextSibling:{value:void 0,writable:!0},_nested:{value:new Set}}),this.startIndex=t}get startIndex(){return this._startIndex}set startIndex(e){this._startIndex=e,this.endIndex=this._startIndex+this.value.length}get endIndex(){return this._endIndex}set endIndex(e){e!==this._endIndex&&(this.nextSibling&&(this.nextSibling.startIndex+=e-this._endIndex),this._endIndex=e)}get value(){return this._value}set value(e){if(this.disconnected||e===this._value)return;this._value=e,this._dirty=!0,this._nested.forEach(i=>i.disconnect());let r=P(this.ownerElement).get("attr-bracelets");r.active.unshift(this),this.ownerElement.setAttribute(this.attr.nodeName,this.attr.nodeValue.substring(0,this.startIndex)+e+this.attr.nodeValue.substring(this.endIndex)),r.active.shift();let t=this.startIndex+e.length;t!==this.endIndex&&(this.endIndex=t)}get nextSibling(){return this._nextSibling}get dirty(){return this._dirty}};var W=class extends M{static get query(){return`text()[not(ancestor::script) and ${this.tokens.contains}]`}static parse(...e){return e.reduce((r,t)=>{let i=t,o=t,s,u;for(;o&&(s=o.nodeValue.indexOf(this.tokens.startTag))>-1;)s>0&&(i=o.splitText(s)),(u=i.nodeValue.indexOf(this.tokens.endTag)+this.tokens.endTag.length)!==i.nodeValue.length?o=i.splitText(u):o=null,r.push(new this(i));return r},[])}static mount(...e){for(let r of e)P(r.node).set("text-bracelet",r),C.instance(r.ownerElement).add(r)}static cleanup(...e){for(let r of e){let t=P(r).get("text-bracelet");!t||(t.disconnect(),C.instance(t.ownerElement).delete(t),P(r).delete("text-bracelet"))}}constructor(e){super();let r=[...e.nodeValue.match(new RegExp(this.constructor.tokens.regex))][1].trim(),t=[],i=this.parseExpr(r,t);Object.defineProperties(this,{_value:{value:e.nodeValue,writable:!0},_dirty:{value:!1,writable:!0},type:{get:()=>"text"},expr:{get:()=>i},refs:{get:()=>t},node:{get:()=>e},ownerElement:{get:()=>e.parentNode},originalValue:{value:e.nodeValue}})}get value(){return this._value}set value(e){this.disconnected||e===this._value||(this._value=e,this._dirty=!0,this.node.nodeValue=e)}get nextSibling(){return this.node.nextSibling}get dirty(){return this._dirty}};function tt(n={}){let{config:e,realdom:r,window:t}=wt.call(this,"html-bracelets",n,{api:{bracelets:"bracelets"},isomorphic:!0});rr.call(t,e),nr.call(t,e)}function rr(n){let e=this;if(n.api.bracelets in e.document)throw new Error(`document already has a "${n.api.bracelets}" property!`);if(n.api.bracelets in e.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${n.api.bracelets}" property!`);Object.defineProperty(e.document,n.api.bracelets,{get:function(){return C.instance(e.document)}}),Object.defineProperty(e.HTMLElement.prototype,n.api.bracelets,{get:function(){return C.instance(this)}})}function nr(n){let e=this,{realdom:r}=e.webqit;r.realtime(e.document).observe(`(${W.query})`,t=>{W.cleanup(...t.exits),W.mount(...W.parse(...t.entrants.filter(i=>!P(i).has("text-bracelet"))))},{subtree:!0}),r.realtime(e.document,"attr").observe(t=>{for(let i of t)P(i.target).get("attr-bracelets")?.active.some(o=>o.attr.nodeName===i.name)||(i.oldValue&&$.cleanup(i.value?i.target.attributes[i.name]:{ownerElement:i.target,nodeName:i.name}),i.value&&$.mount(...$.parse(i.target.attributes[i.name])))},{subtree:!0,newValue:!0,oldValue:!0,timing:"sync"}),r.realtime(e.document).observe(`(${$.query})`,t=>{$.cleanup(...t.exits.reduce((i,o)=>[...i,...o.attributes],[])),$.mount(...$.parse(...t.entrants.reduce((i,o)=>[...i,...o.attributes],[])))},{subtree:!0})}tt.call(window);})();
|
|
2
|
+
//# sourceMappingURL=html-bracelets.js.map
|