@webqit/oohtml 4.5.8 → 4.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-binding.js +0 -1
- package/dist/data-binding.js.map +2 -2
- package/dist/html-imports.js +1 -1
- package/dist/html-imports.js.map +2 -2
- package/dist/main.js +1 -2
- package/dist/main.js.map +2 -2
- package/dist/main.lite.js +1 -2
- package/dist/main.lite.js.map +2 -2
- package/package.json +1 -1
- package/src/data-binding/index.js +0 -1
- package/src/html-imports/HTMLImportsContext.js +47 -48
- package/src/html-imports/HTMLModule.js +85 -85
- package/src/html-imports/_HTMLImportElement.js +88 -88
package/dist/main.lite.js
CHANGED
|
@@ -17,7 +17,6 @@ ${h}
|
|
|
17
17
|
let $iteratee__ = ${_};
|
|
18
18
|
let $import__ = this.${i.HTML_IMPORTS.api.import}( ${w.trim()}, true );
|
|
19
19
|
this.$oohtml_internal_databinding_signals?.push( $import__ );
|
|
20
|
-
|
|
21
20
|
if ( $import__.value && $iteratee__ ) {
|
|
22
21
|
let $existing__ = new Map;
|
|
23
22
|
[ ...this.children ].filter( el => el.matches( '[${i.attr.itemIndex}]' ) ).forEach( x => {
|
|
@@ -51,7 +50,7 @@ ${h}
|
|
|
51
50
|
const abort${r} = () => this.removeEventListener( '${h}', handler${r} );
|
|
52
51
|
this.$oohtml_internal_databinding_signals?.push( { abort: abort${r} } );
|
|
53
52
|
`;if(p==="$")return`$exec__(this, '${h}', ${v});`;if(l.trim())throw new Error(`Invalid binding: ${l}.`)}).join(`
|
|
54
|
-
`),{webqit:{QuantumModule:o}}=this,{parserParams:a,compilerParams:s,runtimeParams:u}=i.advanced,c=new o(n,{parserParams:a,compilerParams:s,runtimeParams:u});return ir.set(t,c),c}var Ht=i=>i.replace(/"/g,'\\"');function Qr(i){let t=this,{webqit:{oohtml:{configs:{DATA_BINDING:e}}}}=t;(i?.matches(e.attrSelector)?[i]:[]).concat([...i?.querySelectorAll(e.attrSelector)||[]]).forEach(r=>{Gr.call(t,e,r.getAttribute(e.attr.render))}),Nt(t,i,`(${e.discreteBindingsSelector})`).forEach(r=>{let n=zr(e,r.nodeValue);Ur.call(t,e,n.expr)})}var Y=class extends U{static createRequest(t=null){let e=super.createRequest();if(t?.startsWith("@")){let[r,...n]=n.slice(1).split(".").map(o=>o.trim());e.targetContext=r,e.detail=n.join(".")}else e.detail=t;return e}get bindingsObj(){return this.host[this.configs.BINDINGS_API.api.bindings]}matchEvent(t){return super.matchEvent(t)&&(!t.detail||!this.detail||(Array.isArray(t.detail)?t.detail[0]===this.detail:t.detail===this.detail))}handle(t){if(t.meta.controller?.abort(),!(t.detail+"").trim())return t.respondWith(this.bindingsObj);let{window:{webqit:{Observer:e}}}=q;t.meta.controller=e.reduce(this.bindingsObj,Array.isArray(t.detail)?t.detail:[t.detail],e.get,r=>{this.disposed||t.respondWith(r.value)},{live:t.live,signal:t.signal,descripted:!0})}unsubscribed(t){t.meta.controller?.abort()}};W(Y,"kind","bindings");function or(i={}){let{config:t,window:e}=z.call(this,"bindings-api",i,{attr:{bindingsreflection:"bindings"},api:{bind:"bind",bindings:"bindings"}});e.webqit.DOMBindingsContext=Y,Ji.call(e,t),Zi.call(e,t)}function sr(i,t){let e=this,{webqit:{Observer:r,oohtml:{configs:{CONTEXT_API:n}}}}=e;if(!S(t).has("bindings")){let o=Object.create(null);S(t).set("bindings",o),r.observe(o,a=>{if(t instanceof e.Element){let s=xe(t.getAttribute(i.attr.bindingsreflection)||""),u=new Map(s);for(let c of a)c.detail?.publish!==!1&&(c.type==="delete"?s.delete(c.key):s.set(c.key,void 0));s.size&&s.size!==u.size?t.setAttribute(i.attr.bindingsreflection,`{ ${[...s.entries()].map(([c,l])=>l===void 0?c:`${c}: ${l}`).join(", ")} }`):s.size||t.toggleAttribute(i.attr.bindingsreflection,!1)}else{let s=t[n.api.contexts];for(let u of a)if(u.type==="delete"){let c=s.find(Y.kind,u.key);c&&s.detach(c)}else s.find(Y.kind,u.key)||s.attach(new Y(u.key))}})}return S(t).get("bindings")}function Ji(i){let t=this,{webqit:{Observer:e}}=t;[t.Document.prototype,t.Element.prototype,t.ShadowRoot.prototype].forEach(r=>{let n=r===t.Document.prototype?"Document":r===t.ShadowRoot.prototype?"ShadowRoot":"Element";if(i.api.bind in r)throw new Error(`The ${n} prototype already has a "${i.api.bind}" API!`);if(i.api.bindings in r)throw new Error(`The ${n} prototype already has a "${i.api.bindings}" API!`);Object.defineProperty(r,i.api.bind,{value:function(o,a={}){return Yi.call(t,i,this,o,a)}}),Object.defineProperty(r,i.api.bindings,{get:function(){return e.proxy(sr.call(t,i,this))}})})}function Yi(i,t,e,{merge:r,diff:n,publish:o,namespace:a}={}){let s=this,{webqit:{Observer:u}}=s,c=sr.call(this,i,t),l={diff:n,namespace:a,detail:{publish:o}},f=r?[]:Object.keys(c).filter(d=>!(d in e));return u.batch(c,()=>(f.length&&u.deleteProperties(c,f,l),u.set(c,e,l)),l)}function Zi(i){let t=this,{webqit:{realdom:e,Observer:r,oohtml:{configs:n}}}=t,o=(s,u)=>{let c=s[n.CONTEXT_API.api.contexts];c.find(Y.kind,u)||c.attach(new Y(u))},a=(s,u)=>{let c,l=s[n.CONTEXT_API.api.contexts];for(;c=l.find(Y.kind,u);)l.detach(c)};e.realtime(t.document).query(`[${t.CSS.escape(i.attr.bindingsreflection)}]`,s=>{s.exits.forEach(u=>a(u)),s.entrants.forEach(u=>{let c=xe(u.getAttribute(i.attr.bindingsreflection)||""),l=[...c.entries()].filter(([f,d])=>d!==void 0);l.length&&u[i.api.bind](Object.fromEntries(l),{merge:!0,publish:!1});for(let[f]of c)o(u,f)})},{id:"bindings:dom",live:!0,subtree:"cross-roots",timing:"sync",eventDetails:!0}),e.realtime(t.document,"attr").observe(i.attr.bindingsreflection,s=>{let u=sr.call(t,i,s.target),c=xe(s.value||""),l=xe(s.oldValue||"");for(let f of new Set([...c.keys(),...l.keys()]))l.has(f)?c.has(f)?c.get(f)!==l.get(f)&&r.set(u,f,c.get(f),{detail:{publish:!1}}):(l.get(f)!==void 0&&r.deleteProperty(u,f,{detail:{publish:!1}}),a(s.target,f)):(c.get(f)!==void 0&&r.set(u,f,c.get(f),{detail:{publish:!1}}),o(s.target,f))},{id:"bindings:attr",subtree:"cross-roots",timing:"sync",newValue:!0,oldValue:!0})}var xe=i=>(i=i.trim(),new Map(lt(i.slice(1,-1),",").filter(t=>t.trim()).map(t=>lt(t,":").map(e=>e.trim()))));var rt=class{static instance(t){return S(t).get("defsmanager::instance")||new this(t)}constructor(t,e=null,r=0){let{window:n}=q,{webqit:{realdom:o,oohtml:{configs:a}}}=n;S(t).get("defsmanager::instance")?.dispose(),S(t).set("defsmanager::instance",this),this.window=n,this.host=t,this.config=a.HTML_IMPORTS,this.parent=e,this.level=r,this.defs=pt(this.host),this.defId=(this.host.getAttribute(this.config.attr.def)||"").trim(),this.validateDefId(this.defId),this.realtimeA=o.realtime(this.host.content).children(s=>{this.expose(s.entrants,!0),this.expose(s.exits,!1)},{live:!0,timing:"sync"}),this.realtimeB=o.realtime(this.host).attr(["src","loading"],(...s)=>this.evaluateLoading(...s),{live:!0,atomic:!0,timing:"sync",lifecycleSignals:!0}),this.realtimeC=this.evalInheritance()}validateDefId(t){if(["@","/","*","#"].some(e=>t.includes(e)))throw new Error(`The export ID "${t}" contains an invalid character.`)}expose(t,e){let{window:r}=q,{webqit:{Observer:n}}=r,o,a=this.defs["#"]||[];t.forEach(s=>{if(!s||s.nodeType!==1)return;let u=s.matches(this.config.templateSelector),c=(s.getAttribute(u?this.config.attr.def:this.config.attr.fragmentdef)||"").trim();e?(u&&c?new rt(s,this.host,this.level+1):(a.push(s),o=!0,typeof requestIdleCallback=="function"&&requestIdleCallback(()=>{this.config.idleCompilers?.forEach(l=>l.call(this.window,s))})),c&&(this.validateDefId(c),n.set(this.defs,(!u&&"#"||"")+c,s))):(u&&c?rt.instance(s).dispose():(a=a.filter(l=>l!==s),o=!0),c&&n.deleteProperty(this.defs,(!u&&"#"||"")+c))}),o&&n.set(this.defs,"#",a)}evaluateLoading([t,e],{signal:r}){let{window:{webqit:{Observer:n}}}=q,o=(t.value||"").trim();if(!o)return;let a,s=l=>{if(!l)return a;a=l.then(()=>c.remove())},u=(e.value||"").trim(),c=n.intercept(this.defs,"get",async(l,f,d)=>(u==="lazy"&&s(this.load(o,!0)),await s(),d()),{signal:r});u!=="lazy"&&s(this.load(o))}#t=new Set;#e;load(t){let{window:e}=q;if(this.#t.has(t)||(this.#t.add(t),this.#t.size===1&&this.host.content.children.length))return Promise.resolve();this.#e?.controller.abort();let r=new AbortController,n=(a,s)=>this.host.dispatchEvent(new e.CustomEvent(a,{detail:s})),o=e.fetch(t,{signal:r.signal,element:this.host}).then(a=>a.ok?a.text():Promise.reject(a.statusText)).then(a=>(this.host.innerHTML=a.trim(),n("load"),this.host)).catch(a=>(console.error(`Error fetching the bundle at "${t}": ${a.message}`),this.#e=null,n("loaderror"),this.host));return this.#e={request:o,controller:r},o}evalInheritance(){if(!this.parent)return[];let{window:{webqit:{Observer:t}}}=q,e=(this.host.getAttribute(this.config.attr.extends)||"").trim(),r=(this.host.getAttribute(this.config.attr.inherits)||"").trim().split(" ").map(s=>s.trim()).filter(s=>s),n=s=>{s.forEach(u=>{t.get(this.defs,u.key)===u.oldValue&&(["get","set","def"].includes(u.type)?t[u.type.replace("get","set")](this.defs,u.key,u.value):u.type==="delete"&&t.deleteProperty(this.defs,u.key))})},o=[],a=pt(this.parent);return e&&o.push(t.reduce(a,[e,this.config.api.defs,1/0],t.get,n,{live:!0})),r.length&&o.push(t.get(a,r.includes("*")?1/0:r,n,{live:!0})),o}dispose(){this.realtimeA.disconnect(),this.realtimeB.disconnect(),this.realtimeC.forEach(t=>t instanceof Promise?t.then(e=>e.abort()):t.abort()),Object.entries(this.defs).forEach(([t,e])=>{t.startsWith("#")||rt.instance(e).dispose()})}};var ht,Q,Ft,Wt,ut=class extends U{constructor(){super(...arguments);Vt(this,ht,{});Vt(this,Q,void 0);Vt(this,Ft,void 0);Vt(this,Wt,void 0)}static createRequest(e=null){let r=super.createRequest();if(e?.startsWith("/"))r.detail=e,r.targetContext=1/0;else if(e?.startsWith("@")){let[n,...o]=e.slice(1).split(/(?<=\w)(?=\/|#)/).map(a=>a.trim());r.targetContext=n,r.detail=o.join("")}else r.detail=e;return r}get localModules(){return pt(this.host)}get inheritedModules(){return F(this,ht)}handle(e){let{window:{webqit:{Observer:r}}}=q;e.meta.controller?.abort();let n=(e.detail||"").split(/\/|(?<=\w)(?=#)/g).map(a=>a.trim()).filter(a=>a);if(!n.length)return e.respondWith();n=n.join(`/${this.configs.HTML_IMPORTS.api.defs}/`)?.split("/").map(a=>a==="*"?1/0:a)||[];let o={live:e.live,signal:e.signal,descripted:!0};e.meta.controller=r.reduce(F(this,Q),n,r.get,a=>{if(Array.isArray(a)){if(!a.length){e.respondWith();return}for(let s of a)e.respondWith(s)}else e.respondWith(a.value)},o)}unsubscribed(e){e.meta.controller?.abort()}initialize(e){this.host=e;let{window:{webqit:{Observer:r}}}=q,n=()=>{for(let a of new Set([...Object.keys(this.localModules),...Object.keys(this.inheritedModules),...Object.keys(F(this,Q))]))if(!r.has(this.localModules,a)&&!r.has(this.inheritedModules,a))r.deleteProperty(F(this,Q),a);else if(a==="#"&&r.has(this.localModules,a)&&r.has(this.inheritedModules,a))r.set(F(this,Q),a,[...r.get(this.localModules,a),...r.get(this.inheritedModules,a)]);else{let s=r.get(this.localModules,a)||r.get(this.inheritedModules,a);r.get(F(this,Q),a)!==s&&r.set(F(this,Q),a,s)}};Ct(this,Q,{...this.localModules}),F(this,Ft)?.abort(),Ct(this,Ft,r.observe(this.localModules,()=>n("local"),{timing:"sync"}));let o=this.configs.HTML_IMPORTS;if(this.host.matches&&o.attr.importscontext){let a=this.host.ownerDocument.defaultView.webqit.realdom,s;F(this,Wt)?.disconnect(),Ct(this,Wt,a.realtime(this.host).attr(o.attr.importscontext,(u,{signal:c})=>{let l=(u.value||"").trim();if(l===s)return;s=l,Ct(this,ht,{});let f={...this.constructor.createRequest(l?`${l}/*`:"*"),live:!0,signal:c,diff:!0};this.host.parentNode[this.configs.CONTEXT_API.api.contexts].request(f,d=>{d?d.type==="delete"?(delete F(this,ht)[d.key],Reflect.has(this.localModules,d.key)||r.deleteProperty(F(this,Q),d.key)):(F(this,ht)[d.key]=d.value,!Reflect.has(this.localModules,d.key)&&Reflect.get(F(this,Q),d.key)!==d.value&&r.set(F(this,Q),d.key,d.value)):(Ct(this,ht,{}),n("inherited"))}),n("inherited")},{live:!0,timing:"sync",oldValue:!0,lifecycleSignals:!0}))}return super.initialize(e)}dispose(e){return F(this,Ft)?.abort(),F(this,Wt)?.disconnect(),super.dispose(e)}};ht=new WeakMap,Q=new WeakMap,Ft=new WeakMap,Wt=new WeakMap,W(ut,"kind","html-imports");function Xr(){let{window:i}=q,{webqit:t}=i,{realdom:e,oohtml:{configs:r}}=t;if(t.HTMLImportElement)return t.HTMLImportElement;let n=r.HTML_IMPORTS.elements.import.includes("-")?i.HTMLElement:class{};class o extends n{static instance(s){return r.HTML_IMPORTS.elements.import.includes("-")&&s instanceof this?s:S(s).get("import::instance")||new this(s)}constructor(...s){super();let u=s[0]||this;S(u).set("import::instance",this),Object.defineProperty(this,"el",{get:()=>u,configurable:!1});let c={};Object.defineProperty(this,"#",{get:()=>c,configurable:!1}),c.slottedElements=new Set,c.setAnchorNode=l=>(c.anchorNode=l,l),c.live=l=>{if(c.liveImportsRealtime)throw new Error("Import element already in live mode.");let f=this.el.isConnected?this.el.parentNode:c.anchorNode.parentNode;c.liveImportsRealtime=e.realtime(this.el).attr(r.HTML_IMPORTS.attr.ref,(d,{signal:p})=>{c.moduleRef=d.value;let h=c.moduleRef.includes("#")?c.moduleRef:`${c.moduleRef}#`,v={...ut.createRequest(h),live:p&&!0,signal:p,diff:!h.endsWith("#")};f[r.CONTEXT_API.api.contexts].request(v,O=>{l((O instanceof i.HTMLTemplateElement?[...O.content.children]:Array.isArray(O)?O:O&&[O])||[])})},{live:!0,timing:"sync",lifecycleSignals:!0}),c.autoDestroyRealtime=e.realtime(i.document).track(f,()=>{c.die()},{subtree:"cross-roots",timing:"sync",generation:"exits"})},c.die=()=>{c.autoDestroyRealtime?.disconnect(),c.liveImportsRealtime?.disconnect(),c.liveImportsRealtime=null},c.hydrate=(l,f)=>{l.replaceWith(c.setAnchorNode(this.createAnchorNode())),c.live(d=>{if(c.originalsRemapped)return this.fill(d);let p=d.map((h,v)=>({el:h,fragmentDef:h.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",tagName:h.tagName,i:v}));f.forEach((h,v)=>{let O=h.tagName,g=h.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",w=(v++,p.find(b=>b.tagName===O&&b.fragmentDef===g&&b.i===v));w&&S(h).set("original@imports",w.el),S(h).set("slot@imports",this.el),c.slottedElements.add(h)}),c.originalsRemapped=!0})},c.autoRestore=(l=null)=>{c.autoRestoreRealtime?.disconnect(),l&&l();let f=()=>{this.el.isConnected||(this.el.setAttribute("data-nodecount",0),c.internalMutation=!0,c.anchorNode.replaceWith(this.el),c.internalMutation=!1,c.setAnchorNode(null))};if(!c.slottedElements.size)return f();let d=e.realtime(c.anchorNode.parentNode).observe([...c.slottedElements],p=>{if(p.exits.forEach(h=>{S(h).delete("slot@imports"),c.slottedElements.delete(h)}),!c.slottedElements.size){if(d.disconnect(),!p.target.isConnected)return;f()}},{subtree:"cross-roots",timing:"sync",generation:"exits"});c.autoRestoreRealtime=d},c.connectedCallback=()=>{c.internalMutation||c.live(l=>this.fill(l))},c.disconnectedCallback=()=>{c.internalMutation||c.die()}}createAnchorNode(){if(i.webqit.env!=="server")return i.document.createTextNode("");let s=i.document.createElement("div");s.textContent=this.el.outerHTML;let u=i.document.createComment(s.innerHTML);return S(u).set("isAnchorNode",!0),u}fill(s,u){!this.el.isConnected&&(!this["#"].anchorNode||!this["#"].anchorNode.isConnected)||(Array.isArray(s)&&(s=new Set(s)),this.el.setAttribute("data-nodecount",s.size),this["#"].autoRestore(()=>{if(this["#"].slottedElements.forEach(c=>{let l=S(c).get("original@imports");s.has(l)?s.delete(l):(this["#"].slottedElements.delete(c),c.remove())}),s.size&&this.el.isConnected){let c=this["#"].setAnchorNode(this.createAnchorNode());this["#"].internalMutation=!0,this.el.replaceWith(c),this["#"].internalMutation=!1}s.forEach(c=>{let l=c.cloneNode(!0);l.hasAttribute(r.HTML_IMPORTS.attr.fragmentdef)||l.toggleAttribute(r.HTML_IMPORTS.attr.fragmentdef,!0),S(l).set("original@imports",c),S(l).set("slot@imports",this.el),this["#"].slottedElements.add(l),this["#"].anchorNode.before(l)})}))}empty(){this["#"].slottedElements.forEach(s=>s.remove())}get anchorNode(){return this["#"].anchorNode}get moduleRef(){return this["#"].moduleRef}get slottedElements(){return this["#"].slottedElements}}return r.HTML_IMPORTS.elements.import.includes("-")&&customElements.define(r.HTML_IMPORTS.elements.import,o),t.HTMLImportElement=o,o}function ar(i={}){let{config:t,window:e}=z.call(this,"html-imports",i,{elements:{import:"import"},attr:{def:"def",extends:"extends",inherits:"inherits",ref:"ref",importscontext:"importscontext"},api:{def:"def",defs:"defs",import:"import"}});t.attr.fragmentdef||(t.attr.fragmentdef=t.attr.def),t.templateSelector=`template[${e.CSS.escape(t.attr.def)}]`,t.importsContextSelector=`[${e.CSS.escape(t.attr.importscontext)}]`,t.slottedElementsSelector=`[${e.CSS.escape(t.attr.fragmentdef)}]:not(template)`;let r=(n,o)=>{let a=`starts-with(., "${n}")`,s=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${a} and ${s}`};t.anchorNodeSelector=`comment()[${r(`<${t.elements.import}`,`</${t.elements.import}>`)}]`,e.webqit.HTMLImportsContext=ut,e.webqit.HTMLImportElement=Xr(),Ki.call(e,t),tn.call(e,t)}function pt(i,t=!0){if(!S(i).has("defs")&&t){let e=Object.create(null);S(i).set("defs",e)}return S(i).get("defs")}function Ki(i){let t=this,{webqit:{oohtml:{configs:e}}}=t;if(i.api.def in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" prototype already has a "${i.api.def}" API!`);if(i.api.defs in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" prototype already has a "${i.api.defs}" API!`);Object.defineProperty(t.HTMLTemplateElement.prototype,i.api.def,{get:function(){return this.getAttribute(i.attr.def)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,i.api.defs,{get:function(){return pt(this)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(n){this.toggleAttribute("scoped",n)}}),[t.Document.prototype,t.Element.prototype,t.ShadowRoot.prototype].forEach(n=>{let o=n===t.Document.prototype?"Document":n===t.ShadowRoot.prototype?"ShadowRoot":"Element";if(i.api.import in n)throw new Error(`The ${o} prototype already has a "${i.api.import}" API!`);Object.defineProperty(n,i.api.import,{value:function(a,s=!1,u=null){return r(this,...arguments)}})});function r(n,o,a=!1,s=null){let u={};typeof a=="function"?(s=a,a=!1):typeof a=="object"&&a?u={...a,...u}:u={live:a};let c={...ut.createRequest(o),...u};return n[e.CONTEXT_API.api.contexts].request(c,s)}}function tn(i){let t=this,{webqit:{Observer:e,realdom:r,oohtml:{configs:n},HTMLImportElement:o,HTMLImportsContext:a}}=t,s=l=>{let f=l[n.CONTEXT_API.api.contexts];f.find(a.kind)||f.attach(new a)},u=l=>{let f=l[n.CONTEXT_API.api.contexts],d=f.find(a.kind);d&&(!l.isConnected||!l.matches?.(i.importsContextSelector)&&!Object.keys(d.localModules).length)&&f.detach(d)};r.realtime(t.document).query([i.templateSelector,i.importsContextSelector],l=>{l.entrants.forEach(f=>{if(f.matches(i.templateSelector)){let d=rt.instance(f);d.ownerContext=f.scoped?f.parentNode:f.getRootNode();let p=pt(d.ownerContext);d.defId&&e.set(p,d.defId,f),s(d.ownerContext)}else s(f)}),l.exits.forEach(f=>{if(f.matches(i.templateSelector)){let d=rt.instance(f),p=pt(d.ownerContext);d.defId&&d.ownerContext.isConnected&&e.deleteProperty(p,d.defId),u(d.ownerContext)}else u(f)})},{id:"imports:template/importscontext",live:!0,subtree:"cross-roots",timing:"sync",staticSensitivity:!0,eventDetails:!0}),r.realtime(t.document).query(i.elements.import,l=>{l.entrants.forEach(f=>c(f,!0,l)),l.exits.forEach(f=>c(f,!1,l))},{id:"imports:import",live:!0,subtree:"cross-roots",timing:"sync",deferred:!0});function c(l,f){let d=o.instance(l);f?d["#"].connectedCallback():d["#"].disconnectedCallback()}t.webqit.env!=="server"&&r.realtime(t.document).query(`(${i.anchorNodeSelector})`,l=>{l.entrants.forEach(f=>{if(S(f).get("isAnchorNode"))return;let d=t.document.createElement("div");d.innerHTML=f.nodeValue,d.innerHTML=d.firstChild.textContent;let p=d.firstChild,h=parseInt(p.getAttribute("data-nodecount")),v=new Set,O=f;for(;(O=O.previousElementSibling)&&O.matches(i.slottedElementsSelector)&&h--;)v.add(O);o.instance(p)["#"].hydrate(f,v)})},{id:"imports:hydration",live:!0,subtree:"cross-roots",timing:"sync"})}function cr(i={}){let{config:t,window:e}=z.call(this,"context-api",i,{elements:{roots:"root,webflo-embedded"},attr:{contextname:"contextname"},api:{contexts:"contexts"}}),r=new Map,n=e.EventTarget.prototype.dispatchEvent;Object.defineProperty(e.EventTarget.prototype,"dispatchEvent",{value:function(...o){let a=o[0],s=this?.closest?.(t.elements.roots)||this.getRootNode?.();if(["contextclaim","contextrequest"].includes(a.type)&&s){a.meta&&(a.meta.target=this);let u=l=>{if(l.stopImmediatePropagation(),l.meta&&(l.meta.target=l.target),!l.answered){if(r.get(s)||r.set(s,new Set),l.type==="contextrequest"&&l.live)r.get(s).add(l);else if(l.type==="contextclaim"){let f=new Set;return r.get(s).forEach(d=>{!l.target.contains(d.target)||!l.detail?.matchEvent?.(d)||(r.get(s).delete(d),f.add(d))}),r.get(s).size||r.delete(s),l.respondWith?.(f)}}};s.addEventListener(a.type,u);let c=n.call(this,...o);return s.removeEventListener(a.type,u),c}return n.call(this,...o)}}),e.webqit.DOMContexts=dt,e.webqit.DOMContext=U,e.webqit.DOMContextRequestEvent=ye(),e.webqit.DOMContextResponse=Et,e.webqit.DuplicateContextError=Pt,en.call(e,t)}function en(i){let t=this;[t.Document.prototype,t.Element.prototype,t.ShadowRoot.prototype].forEach(e=>{let r=e===t.Document.prototype?"Document":e===t.ShadowRoot.prototype?"ShadowRoot":"Element";if(i.api.contexts in e)throw new Error(`The ${r} prototype already has a "${i.api.contexts}" API!`);Object.defineProperty(e,i.api.contexts,{get:function(){return dt.instance(this)}})})}function ur({advanced:i={},...t}){let{config:e,window:r}=z.call(this,"scoped-css",t,{api:{styleSheets:"styleSheets"},style:{retention:"retain",mimeTypes:"text/css",strategy:null}});e.styleSelector=(Array.isArray(e.style.mimeTypes)?e.style.mimeTypes:e.style.mimeTypes.split("|")).concat("").reduce((n,o)=>{let a=o?`[type="${r.CSS.escape(o)}"]`:":not([type])";return n.concat(`style${a}`)},[]).join(","),r.webqit.oohtml.Style={compileCache:new Map},rn.call(r,e),nn.call(r,e)}function rn(i){let t=this,e=new Map;[t.Element.prototype].forEach(r=>{let n="Element";if(i.api.styleSheets in r)throw new Error(`The ${n} prototype already has a "${i.api.styleSheets}" API!`);Object.defineProperty(r,i.api.styleSheets,{get:function(){return e.has(this)||e.set(this,[]),e.get(this)}})}),Object.defineProperty(t.HTMLStyleElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(r){this.toggleAttribute("scoped",r)}})}function nn(i){let t=this,{webqit:{oohtml:e,realdom:r}}=t,n=Object.getOwnPropertyDescriptor(globalThis,"window")?.get?.toString().includes("[native code]")??!1;t.CSS.supports||(t.CSS.supports=()=>!1);let o=new WeakSet;r.realtime(t.document).query(i.styleSelector,a=>{a.entrants.forEach(s=>{if(o.has(s))return;o.add(s);let u=$t(s.textContent),c=CSS.supports("selector(:has(a,b))"),l=s.scoped&&(c?`:has(> style[rand-${u}])`:`[rand-${u}]`),f=s.scoped&&t.CSSScopeRule&&!1,d=s.scoped&&s.parentNode||s.getRootNode();if(d instanceof t.Element){if(d[i.api.styleSheets].push(s),!n)return;(c?s:d).toggleAttribute(`rand-${u}`,!0)}if(!!n)if(s.scoped&&s.hasAttribute("shared")){let p;(p=e.Style.compileCache.get(u))||(p=on.call(t,s,null,f,l),e.Style.compileCache.set(u,p)),Object.defineProperty(s,"sheet",{value:p,configurable:!0}),s.textContent=`
|
|
53
|
+
`),{webqit:{QuantumModule:o}}=this,{parserParams:a,compilerParams:s,runtimeParams:u}=i.advanced,c=new o(n,{parserParams:a,compilerParams:s,runtimeParams:u});return ir.set(t,c),c}var Ht=i=>i.replace(/"/g,'\\"');function Qr(i){let t=this,{webqit:{oohtml:{configs:{DATA_BINDING:e}}}}=t;(i?.matches(e.attrSelector)?[i]:[]).concat([...i?.querySelectorAll(e.attrSelector)||[]]).forEach(r=>{Gr.call(t,e,r.getAttribute(e.attr.render))}),Nt(t,i,`(${e.discreteBindingsSelector})`).forEach(r=>{let n=zr(e,r.nodeValue);Ur.call(t,e,n.expr)})}var Y=class extends U{static createRequest(t=null){let e=super.createRequest();if(t?.startsWith("@")){let[r,...n]=n.slice(1).split(".").map(o=>o.trim());e.targetContext=r,e.detail=n.join(".")}else e.detail=t;return e}get bindingsObj(){return this.host[this.configs.BINDINGS_API.api.bindings]}matchEvent(t){return super.matchEvent(t)&&(!t.detail||!this.detail||(Array.isArray(t.detail)?t.detail[0]===this.detail:t.detail===this.detail))}handle(t){if(t.meta.controller?.abort(),!(t.detail+"").trim())return t.respondWith(this.bindingsObj);let{window:{webqit:{Observer:e}}}=q;t.meta.controller=e.reduce(this.bindingsObj,Array.isArray(t.detail)?t.detail:[t.detail],e.get,r=>{this.disposed||t.respondWith(r.value)},{live:t.live,signal:t.signal,descripted:!0})}unsubscribed(t){t.meta.controller?.abort()}};W(Y,"kind","bindings");function or(i={}){let{config:t,window:e}=z.call(this,"bindings-api",i,{attr:{bindingsreflection:"bindings"},api:{bind:"bind",bindings:"bindings"}});e.webqit.DOMBindingsContext=Y,Ji.call(e,t),Zi.call(e,t)}function sr(i,t){let e=this,{webqit:{Observer:r,oohtml:{configs:{CONTEXT_API:n}}}}=e;if(!S(t).has("bindings")){let o=Object.create(null);S(t).set("bindings",o),r.observe(o,a=>{if(t instanceof e.Element){let s=xe(t.getAttribute(i.attr.bindingsreflection)||""),u=new Map(s);for(let c of a)c.detail?.publish!==!1&&(c.type==="delete"?s.delete(c.key):s.set(c.key,void 0));s.size&&s.size!==u.size?t.setAttribute(i.attr.bindingsreflection,`{ ${[...s.entries()].map(([c,l])=>l===void 0?c:`${c}: ${l}`).join(", ")} }`):s.size||t.toggleAttribute(i.attr.bindingsreflection,!1)}else{let s=t[n.api.contexts];for(let u of a)if(u.type==="delete"){let c=s.find(Y.kind,u.key);c&&s.detach(c)}else s.find(Y.kind,u.key)||s.attach(new Y(u.key))}})}return S(t).get("bindings")}function Ji(i){let t=this,{webqit:{Observer:e}}=t;[t.Document.prototype,t.Element.prototype,t.ShadowRoot.prototype].forEach(r=>{let n=r===t.Document.prototype?"Document":r===t.ShadowRoot.prototype?"ShadowRoot":"Element";if(i.api.bind in r)throw new Error(`The ${n} prototype already has a "${i.api.bind}" API!`);if(i.api.bindings in r)throw new Error(`The ${n} prototype already has a "${i.api.bindings}" API!`);Object.defineProperty(r,i.api.bind,{value:function(o,a={}){return Yi.call(t,i,this,o,a)}}),Object.defineProperty(r,i.api.bindings,{get:function(){return e.proxy(sr.call(t,i,this))}})})}function Yi(i,t,e,{merge:r,diff:n,publish:o,namespace:a}={}){let s=this,{webqit:{Observer:u}}=s,c=sr.call(this,i,t),l={diff:n,namespace:a,detail:{publish:o}},f=r?[]:Object.keys(c).filter(d=>!(d in e));return u.batch(c,()=>(f.length&&u.deleteProperties(c,f,l),u.set(c,e,l)),l)}function Zi(i){let t=this,{webqit:{realdom:e,Observer:r,oohtml:{configs:n}}}=t,o=(s,u)=>{let c=s[n.CONTEXT_API.api.contexts];c.find(Y.kind,u)||c.attach(new Y(u))},a=(s,u)=>{let c,l=s[n.CONTEXT_API.api.contexts];for(;c=l.find(Y.kind,u);)l.detach(c)};e.realtime(t.document).query(`[${t.CSS.escape(i.attr.bindingsreflection)}]`,s=>{s.exits.forEach(u=>a(u)),s.entrants.forEach(u=>{let c=xe(u.getAttribute(i.attr.bindingsreflection)||""),l=[...c.entries()].filter(([f,d])=>d!==void 0);l.length&&u[i.api.bind](Object.fromEntries(l),{merge:!0,publish:!1});for(let[f]of c)o(u,f)})},{id:"bindings:dom",live:!0,subtree:"cross-roots",timing:"sync",eventDetails:!0}),e.realtime(t.document,"attr").observe(i.attr.bindingsreflection,s=>{let u=sr.call(t,i,s.target),c=xe(s.value||""),l=xe(s.oldValue||"");for(let f of new Set([...c.keys(),...l.keys()]))l.has(f)?c.has(f)?c.get(f)!==l.get(f)&&r.set(u,f,c.get(f),{detail:{publish:!1}}):(l.get(f)!==void 0&&r.deleteProperty(u,f,{detail:{publish:!1}}),a(s.target,f)):(c.get(f)!==void 0&&r.set(u,f,c.get(f),{detail:{publish:!1}}),o(s.target,f))},{id:"bindings:attr",subtree:"cross-roots",timing:"sync",newValue:!0,oldValue:!0})}var xe=i=>(i=i.trim(),new Map(lt(i.slice(1,-1),",").filter(t=>t.trim()).map(t=>lt(t,":").map(e=>e.trim()))));var rt=class{static instance(t){return S(t).get("defsmanager::instance")||new this(t)}constructor(t,e=null,r=0){let{window:n}=q,{webqit:{realdom:o,oohtml:{configs:a}}}=n;S(t).get("defsmanager::instance")?.dispose(),S(t).set("defsmanager::instance",this),this.window=n,this.host=t,this.config=a.HTML_IMPORTS,this.parent=e,this.level=r,this.defs=pt(this.host),this.defId=(this.host.getAttribute(this.config.attr.def)||"").trim(),this.validateDefId(this.defId),this.realtimeA=o.realtime(this.host.content).children(s=>{this.expose(s.exits,!1),this.expose(s.entrants,!0)},{live:!0,timing:"sync"}),this.realtimeB=o.realtime(this.host).attr(["src","loading"],(...s)=>this.evaluateLoading(...s),{live:!0,atomic:!0,timing:"sync",lifecycleSignals:!0}),this.realtimeC=this.evalInheritance()}validateDefId(t){if(["@","/","*","#"].some(e=>t.includes(e)))throw new Error(`The export ID "${t}" contains an invalid character.`)}expose(t,e){let{window:r}=q,{webqit:{Observer:n}}=r,o,a=this.defs["#"]||[];t.forEach(s=>{if(!s||s.nodeType!==1)return;let u=s.matches(this.config.templateSelector),c=(s.getAttribute(u?this.config.attr.def:this.config.attr.fragmentdef)||"").trim();e?(u&&c?new rt(s,this.host,this.level+1):(a.push(s),o=!0,typeof requestIdleCallback=="function"&&requestIdleCallback(()=>{this.config.idleCompilers?.forEach(l=>l.call(this.window,s))})),c&&(this.validateDefId(c),n.set(this.defs,(!u&&"#"||"")+c,s))):(u&&c?rt.instance(s).dispose():(a=a.filter(l=>l!==s),o=!0),c&&n.deleteProperty(this.defs,(!u&&"#"||"")+c))}),o&&n.set(this.defs,"#",a)}evaluateLoading([t,e],{signal:r}){let{window:{webqit:{Observer:n}}}=q,o=(t.value||"").trim();if(!o)return;let a,s=l=>{if(!l)return a;a=l.then(()=>c.remove())},u=(e.value||"").trim(),c=n.intercept(this.defs,"get",async(l,f,d)=>(u==="lazy"&&s(this.load(o,!0)),await s(),d()),{signal:r});u!=="lazy"&&s(this.load(o))}#t=new Set;#e;load(t){let{window:e}=q;if(this.#t.has(t)||(this.#t.add(t),this.#t.size===1&&this.host.content.children.length))return Promise.resolve();this.#e?.controller.abort();let r=new AbortController,n=(a,s)=>this.host.dispatchEvent(new e.CustomEvent(a,{detail:s})),o=e.fetch(t,{signal:r.signal,element:this.host}).then(a=>a.ok?a.text():Promise.reject(a.statusText)).then(a=>(this.host.innerHTML=a.trim(),n("load"),this.host)).catch(a=>(console.error(`Error fetching the bundle at "${t}": ${a.message}`),this.#e=null,n("loaderror"),this.host));return this.#e={request:o,controller:r},o}evalInheritance(){if(!this.parent)return[];let{window:{webqit:{Observer:t}}}=q,e=(this.host.getAttribute(this.config.attr.extends)||"").trim(),r=(this.host.getAttribute(this.config.attr.inherits)||"").trim().split(" ").map(s=>s.trim()).filter(s=>s),n=s=>{s.forEach(u=>{t.get(this.defs,u.key)===u.oldValue&&(["get","set","def"].includes(u.type)?t[u.type.replace("get","set")](this.defs,u.key,u.value):u.type==="delete"&&t.deleteProperty(this.defs,u.key))})},o=[],a=pt(this.parent);return e&&o.push(t.reduce(a,[e,this.config.api.defs,1/0],t.get,n,{live:!0})),r.length&&o.push(t.get(a,r.includes("*")?1/0:r,n,{live:!0})),o}dispose(){this.realtimeA.disconnect(),this.realtimeB.disconnect(),this.realtimeC.forEach(t=>t instanceof Promise?t.then(e=>e.abort()):t.abort()),Object.entries(this.defs).forEach(([t,e])=>{t.startsWith("#")||rt.instance(e).dispose()})}};var ht,Q,Ft,Wt,ut=class extends U{constructor(){super(...arguments);Vt(this,ht,{});Vt(this,Q,void 0);Vt(this,Ft,void 0);Vt(this,Wt,void 0)}static createRequest(e=null){let r=super.createRequest();if(e?.startsWith("/"))r.detail=e,r.targetContext=1/0;else if(e?.startsWith("@")){let[n,...o]=e.slice(1).split(/(?<=\w)(?=\/|#)/).map(a=>a.trim());r.targetContext=n,r.detail=o.join("")}else r.detail=e;return r}get localModules(){return pt(this.host)}get inheritedModules(){return F(this,ht)}handle(e){let{window:{webqit:{Observer:r}}}=q;e.meta.controller?.abort();let n=(e.detail||"").split(/\/|(?<=\w)(?=#)/g).map(a=>a.trim()).filter(a=>a);if(!n.length)return e.respondWith();n=n.join(`/${this.configs.HTML_IMPORTS.api.defs}/`)?.split("/").map(a=>a==="*"?1/0:a)||[];let o={live:e.live,sig_nal:e.signal,descripted:!0};e.meta.controller=r.reduce(F(this,Q),n,r.get,a=>{if(Array.isArray(a)){if(!a.length){e.respondWith();return}for(let s of a)e.respondWith(s)}else e.respondWith(a.value)},o)}unsubscribed(e){e.meta.controller?.abort()}initialize(e){this.host=e;let{window:{webqit:{Observer:r}}}=q,n=()=>{for(let a of new Set([...Object.keys(this.localModules),...Object.keys(this.inheritedModules),...Object.keys(F(this,Q))]))if(!r.has(this.localModules,a)&&!r.has(this.inheritedModules,a))r.deleteProperty(F(this,Q),a);else if(a==="#"&&r.has(this.localModules,a)&&r.has(this.inheritedModules,a))r.set(F(this,Q),a,[...r.get(this.localModules,a),...r.get(this.inheritedModules,a)]);else{let s=r.get(this.localModules,a)||r.get(this.inheritedModules,a);r.get(F(this,Q),a)!==s&&r.set(F(this,Q),a,s)}};Ct(this,Q,{...this.localModules}),F(this,Ft)?.abort(),Ct(this,Ft,r.observe(this.localModules,()=>n("local"),{timing:"sync"}));let o=this.configs.HTML_IMPORTS;if(this.host.matches&&o.attr.importscontext){let a=this.host.ownerDocument.defaultView.webqit.realdom,s;F(this,Wt)?.disconnect(),Ct(this,Wt,a.realtime(this.host).attr(o.attr.importscontext,(u,{signal:c})=>{let l=(u.value||"").trim();s=l,Ct(this,ht,{});let f={...this.constructor.createRequest(l?`${l}/*`:"*"),live:!0,signal:c,diff:!0};this.host.parentNode[this.configs.CONTEXT_API.api.contexts].request(f,d=>{d?d.type==="delete"?(delete F(this,ht)[d.key],Reflect.has(this.localModules,d.key)||r.deleteProperty(F(this,Q),d.key)):(F(this,ht)[d.key]=d.value,!Reflect.has(this.localModules,d.key)&&Reflect.get(F(this,Q),d.key)!==d.value&&r.set(F(this,Q),d.key,d.value)):(Ct(this,ht,{}),n("inherited"))}),n("inherited")},{live:!0,timing:"sync",oldValue:!0,lifecycleSignals:!0}))}return super.initialize(e)}dispose(e){return F(this,Ft)?.abort(),F(this,Wt)?.disconnect(),super.dispose(e)}};ht=new WeakMap,Q=new WeakMap,Ft=new WeakMap,Wt=new WeakMap,W(ut,"kind","html-imports");function Xr(){let{window:i}=q,{webqit:t}=i,{realdom:e,oohtml:{configs:r}}=t;if(t.HTMLImportElement)return t.HTMLImportElement;let n=r.HTML_IMPORTS.elements.import.includes("-")?i.HTMLElement:class{};class o extends n{static instance(s){return r.HTML_IMPORTS.elements.import.includes("-")&&s instanceof this?s:S(s).get("import::instance")||new this(s)}constructor(...s){super();let u=s[0]||this;S(u).set("import::instance",this),Object.defineProperty(this,"el",{get:()=>u,configurable:!1});let c={};Object.defineProperty(this,"#",{get:()=>c,configurable:!1}),c.slottedElements=new Set,c.setAnchorNode=l=>(c.anchorNode=l,l),c.live=l=>{if(c.liveImportsRealtime)throw new Error("Import element already in live mode.");let f=this.el.isConnected?this.el.parentNode:c.anchorNode.parentNode;c.liveImportsRealtime=e.realtime(this.el).attr(r.HTML_IMPORTS.attr.ref,(d,{signal:p})=>{c.moduleRef=d.value;let h=c.moduleRef.includes("#")?c.moduleRef:`${c.moduleRef}#`,v={...ut.createRequest(h),live:p&&!0,signal:p,diff:!h.endsWith("#")};f[r.CONTEXT_API.api.contexts].request(v,O=>{l((O instanceof i.HTMLTemplateElement?[...O.content.children]:Array.isArray(O)?O:O&&[O])||[])})},{live:!0,timing:"sync",lifecycleSignals:!0}),c.autoDestroyRealtime=e.realtime(i.document).track(f,()=>{c.die()},{subtree:"cross-roots",timing:"sync",generation:"exits"})},c.die=()=>{c.autoDestroyRealtime?.disconnect(),c.liveImportsRealtime?.disconnect(),c.liveImportsRealtime=null},c.hydrate=(l,f)=>{l.replaceWith(c.setAnchorNode(this.createAnchorNode())),c.live(d=>{if(c.originalsRemapped)return this.fill(d);let p=d.map((h,v)=>({el:h,fragmentDef:h.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",tagName:h.tagName,i:v}));f.forEach((h,v)=>{let O=h.tagName,g=h.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",w=(v++,p.find(b=>b.tagName===O&&b.fragmentDef===g&&b.i===v));w&&S(h).set("original@imports",w.el),S(h).set("slot@imports",this.el),c.slottedElements.add(h)}),c.originalsRemapped=!0})},c.autoRestore=(l=null)=>{c.autoRestoreRealtime?.disconnect(),l&&l();let f=()=>{this.el.isConnected||(this.el.setAttribute("data-nodecount",0),c.internalMutation=!0,c.anchorNode.replaceWith(this.el),c.internalMutation=!1,c.setAnchorNode(null))};if(!c.slottedElements.size)return f();let d=e.realtime(c.anchorNode.parentNode).observe([...c.slottedElements],p=>{if(p.exits.forEach(h=>{S(h).delete("slot@imports"),c.slottedElements.delete(h)}),!c.slottedElements.size){if(d.disconnect(),!p.target.isConnected)return;f()}},{subtree:"cross-roots",timing:"sync",generation:"exits"});c.autoRestoreRealtime=d},c.connectedCallback=()=>{c.internalMutation||c.live(l=>this.fill(l))},c.disconnectedCallback=()=>{c.internalMutation||c.die()}}createAnchorNode(){if(i.webqit.env!=="server")return i.document.createTextNode("");let s=i.document.createElement("div");s.textContent=this.el.outerHTML;let u=i.document.createComment(s.innerHTML);return S(u).set("isAnchorNode",!0),u}fill(s,u){!this.el.isConnected&&(!this["#"].anchorNode||!this["#"].anchorNode.isConnected)||(Array.isArray(s)&&(s=new Set(s)),this.el.setAttribute("data-nodecount",s.size),this["#"].autoRestore(()=>{if(this["#"].slottedElements.forEach(c=>{let l=S(c).get("original@imports");s.has(l)?s.delete(l):(this["#"].slottedElements.delete(c),c.remove())}),s.size&&this.el.isConnected){let c=this["#"].setAnchorNode(this.createAnchorNode());this["#"].internalMutation=!0,this.el.replaceWith(c),this["#"].internalMutation=!1}s.forEach(c=>{let l=c.cloneNode(!0);l.hasAttribute(r.HTML_IMPORTS.attr.fragmentdef)||l.toggleAttribute(r.HTML_IMPORTS.attr.fragmentdef,!0),S(l).set("original@imports",c),S(l).set("slot@imports",this.el),this["#"].slottedElements.add(l),this["#"].anchorNode.before(l)})}))}empty(){this["#"].slottedElements.forEach(s=>s.remove())}get anchorNode(){return this["#"].anchorNode}get moduleRef(){return this["#"].moduleRef}get slottedElements(){return this["#"].slottedElements}}return r.HTML_IMPORTS.elements.import.includes("-")&&customElements.define(r.HTML_IMPORTS.elements.import,o),t.HTMLImportElement=o,o}function ar(i={}){let{config:t,window:e}=z.call(this,"html-imports",i,{elements:{import:"import"},attr:{def:"def",extends:"extends",inherits:"inherits",ref:"ref",importscontext:"importscontext"},api:{def:"def",defs:"defs",import:"import"}});t.attr.fragmentdef||(t.attr.fragmentdef=t.attr.def),t.templateSelector=`template[${e.CSS.escape(t.attr.def)}]`,t.importsContextSelector=`[${e.CSS.escape(t.attr.importscontext)}]`,t.slottedElementsSelector=`[${e.CSS.escape(t.attr.fragmentdef)}]:not(template)`;let r=(n,o)=>{let a=`starts-with(., "${n}")`,s=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${a} and ${s}`};t.anchorNodeSelector=`comment()[${r(`<${t.elements.import}`,`</${t.elements.import}>`)}]`,e.webqit.HTMLImportsContext=ut,e.webqit.HTMLImportElement=Xr(),Ki.call(e,t),tn.call(e,t)}function pt(i,t=!0){if(!S(i).has("defs")&&t){let e=Object.create(null);S(i).set("defs",e)}return S(i).get("defs")}function Ki(i){let t=this,{webqit:{oohtml:{configs:e}}}=t;if(i.api.def in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" prototype already has a "${i.api.def}" API!`);if(i.api.defs in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" prototype already has a "${i.api.defs}" API!`);Object.defineProperty(t.HTMLTemplateElement.prototype,i.api.def,{get:function(){return this.getAttribute(i.attr.def)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,i.api.defs,{get:function(){return pt(this)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(n){this.toggleAttribute("scoped",n)}}),[t.Document.prototype,t.Element.prototype,t.ShadowRoot.prototype].forEach(n=>{let o=n===t.Document.prototype?"Document":n===t.ShadowRoot.prototype?"ShadowRoot":"Element";if(i.api.import in n)throw new Error(`The ${o} prototype already has a "${i.api.import}" API!`);Object.defineProperty(n,i.api.import,{value:function(a,s=!1,u=null){return r(this,...arguments)}})});function r(n,o,a=!1,s=null){let u={};typeof a=="function"?(s=a,a=!1):typeof a=="object"&&a?u={...a,...u}:u={live:a};let c={...ut.createRequest(o),...u};return n[e.CONTEXT_API.api.contexts].request(c,s)}}function tn(i){let t=this,{webqit:{Observer:e,realdom:r,oohtml:{configs:n},HTMLImportElement:o,HTMLImportsContext:a}}=t,s=l=>{let f=l[n.CONTEXT_API.api.contexts];f.find(a.kind)||f.attach(new a)},u=l=>{let f=l[n.CONTEXT_API.api.contexts],d=f.find(a.kind);d&&(!l.isConnected||!l.matches?.(i.importsContextSelector)&&!Object.keys(d.localModules).length)&&f.detach(d)};r.realtime(t.document).query([i.templateSelector,i.importsContextSelector],l=>{l.entrants.forEach(f=>{if(f.matches(i.templateSelector)){let d=rt.instance(f);d.ownerContext=f.scoped?f.parentNode:f.getRootNode();let p=pt(d.ownerContext);d.defId&&e.set(p,d.defId,f),s(d.ownerContext)}else s(f)}),l.exits.forEach(f=>{if(f.matches(i.templateSelector)){let d=rt.instance(f),p=pt(d.ownerContext);d.defId&&d.ownerContext.isConnected&&e.deleteProperty(p,d.defId),u(d.ownerContext)}else u(f)})},{id:"imports:template/importscontext",live:!0,subtree:"cross-roots",timing:"sync",staticSensitivity:!0,eventDetails:!0}),r.realtime(t.document).query(i.elements.import,l=>{l.entrants.forEach(f=>c(f,!0,l)),l.exits.forEach(f=>c(f,!1,l))},{id:"imports:import",live:!0,subtree:"cross-roots",timing:"sync",deferred:!0});function c(l,f){let d=o.instance(l);f?d["#"].connectedCallback():d["#"].disconnectedCallback()}t.webqit.env!=="server"&&r.realtime(t.document).query(`(${i.anchorNodeSelector})`,l=>{l.entrants.forEach(f=>{if(S(f).get("isAnchorNode"))return;let d=t.document.createElement("div");d.innerHTML=f.nodeValue,d.innerHTML=d.firstChild.textContent;let p=d.firstChild,h=parseInt(p.getAttribute("data-nodecount")),v=new Set,O=f;for(;(O=O.previousElementSibling)&&O.matches(i.slottedElementsSelector)&&h--;)v.add(O);o.instance(p)["#"].hydrate(f,v)})},{id:"imports:hydration",live:!0,subtree:"cross-roots",timing:"sync"})}function cr(i={}){let{config:t,window:e}=z.call(this,"context-api",i,{elements:{roots:"root,webflo-embedded"},attr:{contextname:"contextname"},api:{contexts:"contexts"}}),r=new Map,n=e.EventTarget.prototype.dispatchEvent;Object.defineProperty(e.EventTarget.prototype,"dispatchEvent",{value:function(...o){let a=o[0],s=this?.closest?.(t.elements.roots)||this.getRootNode?.();if(["contextclaim","contextrequest"].includes(a.type)&&s){a.meta&&(a.meta.target=this);let u=l=>{if(l.stopImmediatePropagation(),l.meta&&(l.meta.target=l.target),!l.answered){if(r.get(s)||r.set(s,new Set),l.type==="contextrequest"&&l.live)r.get(s).add(l);else if(l.type==="contextclaim"){let f=new Set;return r.get(s).forEach(d=>{!l.target.contains(d.target)||!l.detail?.matchEvent?.(d)||(r.get(s).delete(d),f.add(d))}),r.get(s).size||r.delete(s),l.respondWith?.(f)}}};s.addEventListener(a.type,u);let c=n.call(this,...o);return s.removeEventListener(a.type,u),c}return n.call(this,...o)}}),e.webqit.DOMContexts=dt,e.webqit.DOMContext=U,e.webqit.DOMContextRequestEvent=ye(),e.webqit.DOMContextResponse=Et,e.webqit.DuplicateContextError=Pt,en.call(e,t)}function en(i){let t=this;[t.Document.prototype,t.Element.prototype,t.ShadowRoot.prototype].forEach(e=>{let r=e===t.Document.prototype?"Document":e===t.ShadowRoot.prototype?"ShadowRoot":"Element";if(i.api.contexts in e)throw new Error(`The ${r} prototype already has a "${i.api.contexts}" API!`);Object.defineProperty(e,i.api.contexts,{get:function(){return dt.instance(this)}})})}function ur({advanced:i={},...t}){let{config:e,window:r}=z.call(this,"scoped-css",t,{api:{styleSheets:"styleSheets"},style:{retention:"retain",mimeTypes:"text/css",strategy:null}});e.styleSelector=(Array.isArray(e.style.mimeTypes)?e.style.mimeTypes:e.style.mimeTypes.split("|")).concat("").reduce((n,o)=>{let a=o?`[type="${r.CSS.escape(o)}"]`:":not([type])";return n.concat(`style${a}`)},[]).join(","),r.webqit.oohtml.Style={compileCache:new Map},rn.call(r,e),nn.call(r,e)}function rn(i){let t=this,e=new Map;[t.Element.prototype].forEach(r=>{let n="Element";if(i.api.styleSheets in r)throw new Error(`The ${n} prototype already has a "${i.api.styleSheets}" API!`);Object.defineProperty(r,i.api.styleSheets,{get:function(){return e.has(this)||e.set(this,[]),e.get(this)}})}),Object.defineProperty(t.HTMLStyleElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(r){this.toggleAttribute("scoped",r)}})}function nn(i){let t=this,{webqit:{oohtml:e,realdom:r}}=t,n=Object.getOwnPropertyDescriptor(globalThis,"window")?.get?.toString().includes("[native code]")??!1;t.CSS.supports||(t.CSS.supports=()=>!1);let o=new WeakSet;r.realtime(t.document).query(i.styleSelector,a=>{a.entrants.forEach(s=>{if(o.has(s))return;o.add(s);let u=$t(s.textContent),c=CSS.supports("selector(:has(a,b))"),l=s.scoped&&(c?`:has(> style[rand-${u}])`:`[rand-${u}]`),f=s.scoped&&t.CSSScopeRule&&!1,d=s.scoped&&s.parentNode||s.getRootNode();if(d instanceof t.Element){if(d[i.api.styleSheets].push(s),!n)return;(c?s:d).toggleAttribute(`rand-${u}`,!0)}if(!!n)if(s.scoped&&s.hasAttribute("shared")){let p;(p=e.Style.compileCache.get(u))||(p=on.call(t,s,null,f,l),e.Style.compileCache.set(u,p)),Object.defineProperty(s,"sheet",{value:p,configurable:!0}),s.textContent=`
|
|
55
54
|
/*[ Shared style sheet ]*/
|
|
56
55
|
`}else{let p=()=>{let h=be(Lt.call(t,d));lr.call(this,s.sheet,h,!f&&l)};s.isConnected?p():setTimeout(()=>{p()},0)}})},{id:"scoped-css",live:!0,subtree:"cross-roots",timing:"intercept",generation:"entrants"})}function on(i,t,e,r){let n=this,o=i.textContent,a,s=e&&r?`@scope (${r}) {
|
|
57
56
|
${o.trim()}
|