jq79 0.7.1 → 0.7.2

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/dev/vite.ts CHANGED
@@ -12,11 +12,12 @@ import type { Plugin, ResolvedConfig } from "vite"
12
12
  // thing `await Component79.fetch(url)` resolves to, but bundled at build time
13
13
  // instead of fetched at runtime. The component source is inlined verbatim, so
14
14
  // a file keeps working unchanged if it's ever served from public/ and loaded
15
- // with fetch instead - with one deliberate exception, `lang`: <style lang="scss">
16
- // (or less/stylus/sass) is compiled to plain CSS here, and <script lang="ts"> to
17
- // plain JS. A component using `lang` therefore only works through the bundler;
18
- // loaded with fetch() it would reach the runtime uncompiled, which the runtime
19
- // warns about.
15
+ // with fetch instead - with one deliberate exception, a block that says it is
16
+ // written in something else: <style lang="scss"> (or less/stylus/sass) is
17
+ // compiled to plain CSS here, and a TypeScript script - <script lang="ts">, or
18
+ // the <script type="text/typescript"> editors read as one - to plain JS. Such a
19
+ // component only works through the bundler; loaded with fetch() it would reach
20
+ // the runtime uncompiled, which the runtime warns about.
20
21
  //
21
22
  // Only .html files imported from other modules are claimed; entry points
22
23
  // (index.html) have no importer and imports carrying an explicit query
@@ -152,6 +153,14 @@ const declaredComponents = (source: string): string[] => {
152
153
  // inside one doesn't end the tag early
153
154
  const STYLE_BLOCK_RE = /<style((?:"[^"]*"|'[^']*'|[^>"'])*)>([\s\S]*?)<\/style\s*>/gi
154
155
  const LANG_ATTR_RE = /\blang\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i
156
+ const TYPE_ATTR_RE = /\btype\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i
157
+
158
+ // one attribute's value out of a tag's attribute string, whichever way it was
159
+ // quoted - null when the attribute isn't there at all
160
+ const attrValue = (attrs: string, re: RegExp): string | null => {
161
+ const found = attrs.match(re)
162
+ return found ? found[1] ?? found[2] ?? found[3] : null
163
+ }
155
164
 
156
165
  // compiles <style lang="scss|less|styl|sass"> blocks to plain CSS with Vite's
157
166
  // own preprocessing (the same call @vitejs/plugin-vue makes), so the runtime
@@ -170,9 +179,8 @@ const compileStyleBlocks = async (
170
179
  const blocks = [...source.matchAll(STYLE_BLOCK_RE)]
171
180
  const compiled = await Promise.all(
172
181
  blocks.map(async ([, attrs, content]) => {
173
- const lang = attrs.match(LANG_ATTR_RE)
174
- if (!lang) return null
175
- const extension = lang[1] ?? lang[2] ?? lang[3]
182
+ const extension = attrValue(attrs, LANG_ATTR_RE)
183
+ if (extension === null) return null
176
184
  const result = await preprocessCSS(content, `${file}.${extension}`, config)
177
185
  result.deps?.forEach(addWatchFile)
178
186
  return { attrs: attrs.replace(LANG_ATTR_RE, "").trimEnd(), css: result.code }
@@ -193,6 +201,24 @@ const compileStyleBlocks = async (
193
201
  // languages a <script lang> is compiled from. Anything else is left as written
194
202
  // for the runtime to warn about, rather than guessed at
195
203
  const TS_LANGS = new Set(["ts", "typescript"])
204
+ // the other spelling of the same mark, and the one editors read: a component is
205
+ // a plain .html file, not an SFC, so nothing in an IDE knows what `lang` means
206
+ // there - embedded-script tooling picks a language from `type`, and a typed
207
+ // block without one is linted as JavaScript. The `x-` forms are the historical
208
+ // spelling of the same two media types
209
+ const TS_TYPE_RE = /^(?:text|application)\/(?:x-)?typescript$/
210
+
211
+ // what marks a script block as TypeScript, given back as the attribute to drop
212
+ // from the emitted tag - the block is compiled to JS, so the mark goes with the
213
+ // types whichever one carried it. A `lang` answers on its own: `lang="coffee"`
214
+ // is a language this plugin doesn't compile, and reading `type` past it would
215
+ // compile a block the author said was something else
216
+ const typescriptAttr = (attrs: string): RegExp | null => {
217
+ const lang = attrValue(attrs, LANG_ATTR_RE)
218
+ if (lang !== null) return TS_LANGS.has(lang.trim().toLowerCase()) ? LANG_ATTR_RE : null
219
+ const type = attrValue(attrs, TYPE_ATTR_RE)
220
+ return type !== null && TS_TYPE_RE.test(type.trim().toLowerCase()) ? TYPE_ATTR_RE : null
221
+ }
196
222
 
197
223
  type ViteTransform = (code: string, id: string, options?: unknown) => Promise<{ code: string }>
198
224
 
@@ -231,10 +257,10 @@ const SETUP_ATTR_RE = /(:setup\s*=\s*)(?:"([^"]*)"|'([^']*)')/i
231
257
  const SIGNATURE_MARKER = "__jq79_signature__"
232
258
 
233
259
  // a component's props signature lives in the `:setup` *attribute*, not in the
234
- // script body, so the body's transform never sees it - and `lang="ts"` has to
235
- // mean the same thing on both halves of the block, or a typed signature either
236
- // survives into a component the plugin just promised was JS or, for `_: Props`,
237
- // stops reading as a signature at all.
260
+ // script body, so the body's transform never sees it - and the TypeScript mark
261
+ // has to mean the same thing on both halves of the block, or a typed signature
262
+ // either survives into a component the plugin just promised was JS or, for
263
+ // `_: Props`, stops reading as a signature at all.
238
264
  //
239
265
  // It goes through the same transform as everything else, wrapped as a
240
266
  // parameter list, rather than being cut with a scanner of its own: the
@@ -259,12 +285,13 @@ const stripSignatureTypes = async (value: string, file: string): Promise<string>
259
285
  // already wrote `&quot;`
260
286
  const quoteAttrValue = (value: string) => value.replace(/"/g, "&quot;")
261
287
 
262
- // compiles <script lang="ts"> blocks to plain JS, so the runtime only ever sees
288
+ // compiles TypeScript script blocks to plain JS, so the runtime only ever sees
263
289
  // JS - the same deal <style lang="scss"> gets, for a sharper reason. The setup
264
290
  // scanner is not a parser: `let count: number = 0` reaching it is not a syntax
265
291
  // error but a labeled statement that assigns to `number`, so it runs and leaves
266
- // `count` undeclared. `lang` is dropped from the emitted tag and every other
267
- // attribute (`:setup`, `:mounted`) is left as written.
292
+ // `count` undeclared. Whichever attribute marked the block (`lang="ts"` or
293
+ // `type="text/typescript"`) is dropped from the emitted tag and every other one
294
+ // (`:setup`, `:mounted`) is left as written.
268
295
  //
269
296
  // This runs before hoistableImports reads the source, so an `import type`
270
297
  // specifier is already gone by the time the plugin decides what to bundle
@@ -272,11 +299,10 @@ const compileScriptBlocks = async (source: string, file: string): Promise<string
272
299
  const blocks = [...source.matchAll(SCRIPT_BLOCK_RE)]
273
300
  const compiled = await Promise.all(
274
301
  blocks.map(async ([, attrs, content]) => {
275
- const lang = attrs.match(LANG_ATTR_RE)
276
- const name = (lang?.[1] ?? lang?.[2] ?? lang?.[3])?.toLowerCase()
277
- if (!name || !TS_LANGS.has(name)) return null
302
+ const marker = typescriptAttr(attrs)
303
+ if (!marker) return null
278
304
 
279
- let rest = attrs.replace(LANG_ATTR_RE, "").trimEnd()
305
+ let rest = attrs.replace(marker, "").trimEnd()
280
306
  const setup = rest.match(SETUP_ATTR_RE)
281
307
  if (setup) {
282
308
  const signature = await stripSignatureTypes(setup[2] ?? setup[3], `${file}.signature.ts`)
package/dist/jq79.cjs CHANGED
@@ -1,16 +1,16 @@
1
- var Ne=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Gn=Object.prototype.hasOwnProperty;var Zn=(e,t,n)=>t in e?Ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Kn=(e,t)=>{for(var n in t)Ne(e,n,{get:t[n],enumerable:!0})},Vn=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of zn(t))!Gn.call(e,r)&&r!==n&&Ne(e,r,{get:()=>t[r],enumerable:!(s=Hn(t,r))||s.enumerable});return e};var Xn=e=>Vn(Ne({},"__esModule",{value:!0}),e);var k=(e,t,n)=>Zn(e,typeof t!="symbol"?t+"":t,n);var Eo={};Kn(Eo,{$:()=>me,$$:()=>xe,$create:()=>Ce,$reactive:()=>$e,$toRaw:()=>H,C79:()=>re,Component79:()=>re,PendingComponent79:()=>He,enableHotReload:()=>Un,hotUpdate:()=>Fn,parseComponent:()=>yo,renderComponent:()=>Cr});module.exports=Xn(Eo);function me(e,t){return typeof e=="string"?document.querySelector(e):e.querySelector(t)}function xe(e,t){return Array.from(typeof e=="string"?document.querySelectorAll(e):e.querySelectorAll(t))}var Ce=(e,t={})=>{let n=document.createElement(e);for(let[s,r]of Object.entries(t))if(s==="className")n.className=Array.isArray(r)?r.join(" "):r;else if(s==="textContent")n.textContent=r;else if(s==="children")for(let i of r)n.appendChild(i);else n.setAttribute(s,r);return n},Jn=new Set(["a","b","i","em","strong","p","br","ul","ol","li","blockquote","code","pre","span","div","h1","h2","h3","h4","h5","h6","img"]),wt={a:new Set(["href","title"]),img:new Set(["src","alt"]),"*":new Set(["class"])},Yn=new Set(["http:","https:","mailto:"]);function Qn(e){try{let t=new URL(e,"https://example.com");return Yn.has(t.protocol)}catch{return!1}}var es={"https:":"443","http:":"80"};function ts(e){let t=e.trim().toLowerCase().match(/^([a-z\d*][a-z\d.*-]*?)(?::(\d{1,5}|\*))?$/);if(!t)return null;let[,n,s]=t,r=n.split(".");return r.some(o=>o!=="*"&&!/^[a-z\d-]+$/.test(o))?null:{host:new RegExp(`^${r.map(o=>o==="*"?"[^.]+":o).join("\\.")}$`),port:!s||s==="*"?null:s}}var Rt=e=>{let t=(Array.isArray(e)?e:e.split(",")).map(ts).filter(n=>n!==null);return n=>{let s=n.hostname.toLowerCase(),r=n.port||es[n.protocol]||"";return t.some(i=>i.host.test(s)&&(i.port===null||i.port===r))}};function ns(e,t,n,s){try{return!!e(new URL(t,document.baseURI),n,s)}catch{return!1}}var St=512;function $t(e,t,n,s){if(n>St)throw new RangeError(`jq79: sanitizeHTML input nests deeper than ${St} elements`);for(let r of Array.from(e.childNodes))if(r.nodeType===Node.ELEMENT_NODE){let i=ss(r,n,s);i&&t.appendChild(i)}else r.nodeType===Node.TEXT_NODE&&t.appendChild(r.cloneNode())}function ss(e,t,n){let s=e.tagName.toLowerCase();if(!Jn.has(s))return null;let r=document.createElement(s);for(let i of Array.from(e.attributes)){let o=i.name.toLowerCase(),l=wt[s]?.has(o),a=wt["*"]?.has(o);!l&&!a||(o==="href"||o==="src")&&(!Qn(i.value)||n&&!ns(n,i.value,s,o))||r.setAttribute(o,i.value)}return s==="a"&&r.setAttribute("rel","noopener noreferrer"),$t(e,r,t+1,n),r}function Ke(e,t){let n=document.createElement("template");n.innerHTML=e;let s=document.createElement("div");return $t(n.content,s,0,t?.allowUrl),s.innerHTML}var rs=(e,t)=>t.split(".").reduce((n,s)=>n?.[s],e),_e=e=>{if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},_t=(e,t,n)=>{Object.entries(e).forEach(([s,r])=>{let i=t?`${t}.${s}`:s;r&&typeof r=="object"&&_e(r)?_t(r,i,n):n(i,r)})},os=(e,t)=>{e.own===null?e.own=t:e.own!==t&&(e.ownMany??(e.ownMany=new Set)).add(t)},is=(e,t)=>{e.deep===null?e.deep=t:e.deep!==t&&(e.deepMany??(e.deepMany=new Set)).add(t)},ls=(e,t)=>{e.own===t?e.own=null:e.ownMany?.delete(t)&&e.ownMany.size===0&&(e.ownMany=null)},as=(e,t)=>{e.deep===t?e.deep=null:e.deepMany?.delete(t)&&e.deepMany.size===0&&(e.deepMany=null)},ye=(e,t)=>{e.own!==null&&t(e.own),e.ownMany?.forEach(t)},Se=(e,t)=>{e.deep!==null&&t(e.deep),e.deepMany?.forEach(t)},Tt=" keys",Ve=e=>e?`${e}.${Tt}`:Tt,Nt=".length",xt=(e,t)=>({children:null,own:null,ownMany:null,deep:null,deepMany:null,parent:e,segment:t}),cs=e=>e.own===null&&e.deep===null&&!e.ownMany?.size&&!e.deepMany?.size&&!e.children?.size,Je=Symbol("jq79.raw"),H=e=>{let t=e;for(;t!==null&&typeof t=="object"&&t[Je];)t=t[Je];return t},At=Symbol("jq79.store"),ue=e=>e!==null&&typeof e=="object"&&e[At]===!0,le=[],Re=e=>{le.push(new Set);try{return e()}finally{le.pop()}},us=0,Xe=new Set,Ct="$__attach",Ae=Symbol("jq79.alsoWakenBy"),$e=e=>{let t=new Map,n=new Set,s=new Set,r=new WeakMap,i=Object.create(null),o=xt(null,""),l=(f,d)=>{let g=o;return f.split(".").forEach(h=>{let b=g.children??(g.children=new Map),y=b.get(h);y||(y=xt(g,h),b.set(h,y)),g=y}),d.deep?is(g,d):os(g,d),g},a=(f,d)=>{d.deep?as(f,d):ls(f,d);let g=f;for(;g?.parent&&cs(g);)g.parent.children.delete(g.segment),g=g.parent},u=f=>{let d=o;for(let g of f.split("."))if(d=d.children?.get(g),!d)return;return d},c=f=>{let d=new Set,g=E=>{let $=E.children?[...E.children.values()]:[];for(;$.length;){let N=$.pop();ye(N,O=>d.add(O)),Se(N,O=>d.add(O)),N.children?.forEach(O=>$.push(O))}},h=o,b=f.split("."),y="";for(let E=0;E<b.length-1;E++){if(h=h.children?.get(b[E]),!h)return d;y=y?`${y}.${b[E]}`:b[E],Se(h,$=>d.add($)),C.has(y)&&ye(h,$=>d.add($)),E===b.length-2&&b[E+1]==="length"&&(ye(h,$=>d.add($)),g(h))}return h=h.children?.get(b[b.length-1]),h&&(ye(h,E=>d.add(E)),Se(h,E=>d.add(E)),g(h)),d},p=(f,d,g)=>{if(d===g)return!1;for(let h=d;h<g;h++){let b=f.charCodeAt(h);if(b<48||b>57)return!1}return!0},w=(f,d)=>{if(f.deep||d.size<2)return d;let g=new Set;d.forEach(y=>{y.endsWith(Nt)&&g.add(y.slice(0,-Nt.length))});let h=new Set;if(d.forEach(y=>{let E=0,$="";for(let N=y.indexOf(".");N!==-1;N=y.indexOf(".",N+1)){let O=y.slice(0,N);(!(E>0&&p(y,E,N))||g.has($))&&h.add(O),$=O,E=N+1}}),!h.size)return d;let b=new Set;return d.forEach(y=>{h.has(y)||b.add(y)}),b},v=f=>{let d=null,g=null,h=null,b=Xe,y=x=>h?h.has(x):d===x,E=x=>{let B=l(x,f);h?h.set(x,B):d===null?(d=x,g=B):(h=new Map([[d,g],[x,B]]),d=g=null)},$=x=>{if(h){h.forEach((B,W)=>{x.has(W)||(a(B,f),h.delete(W))});return}d!==null&&!x.has(d)&&(a(g,f),d=g=null)},N=()=>{h?h.forEach(x=>a(x,f)):g&&a(g,f),h=null,d=g=null},O=x=>{if(x.size===b.size){let W=!0;if(x.forEach(ce=>{W&&(W=b.has(ce))}),W)return}b=x;let B=w(f,x);$(B),B.forEach(W=>{y(W)||E(W)})};return f.reindex.add(O),O(f.deps),()=>{f.reindex.delete(O),N(),b=Xe}},I=f=>{let d=u(f);if(d){let g=new Set;ye(d,h=>g.add(h)),Se(d,h=>g.add(h)),M(g)}},U=f=>I(Ve(f)),M=f=>{let d=Array.from(f),g=!0;for(let h=1;g&&h<d.length;h++)g=d[h-1].order<d[h].order;g||d.sort((h,b)=>h.order-b.order),d.forEach(h=>{s.has(h)&&h.run()})},S=(f,d,g=!1)=>{t.get(f)?.forEach(h=>h(d,f)),n.forEach(h=>h(f,d)),g?s.forEach(h=>h.run()):M(c(f))},F=(f,d)=>f!==d&&f!==null&&d!==null&&typeof f=="object"&&typeof d=="object"&&!ue(f)&&!ue(d)&&_e(f)&&_e(d)&&Array.isArray(f)===Array.isArray(d),L=null,D=-1,z=(f,d)=>{let g=d.length>f.length,h=g?f:d,b=g?d:f,y=0;for(;y<h.length&&Object.is(H(h[y]),H(b[y]));)y++;for(let E=y;E<h.length;E++)if(!Object.is(H(h[E]),H(b[E+1])))return D;return y},J=(f,d)=>{if(Array.isArray(d)){let $=f.length,N=d.length,O=$!==N;if(!$||!N)return L;let x=Math.max($,N);if(Math.abs($-N)===1){let W=z(f,d);if(W!==D){let ce=[];for(let Ze=W;Ze<x;Ze++)ce.push(String(Ze));return{keys:ce,exact:!0,keysChanged:O}}}let B=[];for(let W=0;W<x;W++)if(!Object.is(H(f[W]),H(d[W]))&&(B.push(String(W)),B.length*2>=x))return L;return{keys:B,exact:!1,keysChanged:O}}let g=Object.keys(f),h=Object.keys(d),b=new Set([...g,...h]);if(!b.size)return L;let y=[];b.forEach($=>{Object.is(H(f[$]),H(d[$]))||y.push($)});let E=g.length!==h.length||g.some(($,N)=>$!==h[N]);return y.length*2>=b.size?L:{keys:y,exact:!1,keysChanged:E}},Y=(f,d,g,h)=>{let b=new Set,y=$=>{let N=u($);N&&(ye(N,O=>b.add(O)),Se(N,O=>b.add(O)))},E=J(d,g);if(!E)return S(f,h);if(t.get(f)?.forEach($=>$(h,f)),n.forEach($=>$(f,h)),y(f),E.keys.forEach($=>{let N=`${f}.${$}`,O=t.get(N);if(O){let x=H(g[$]),B=R(x)?A(x,N):x;O.forEach(W=>W(B,N))}E.exact?y(N):c(N).forEach(x=>b.add(x))}),E.keysChanged&&y(Ve(f)),Array.isArray(g)&&d.length!==g.length){let $=`${f}.length`;t.get($)?.forEach(N=>N(g.length,$)),y($)}M(b)},R=f=>f!==null&&typeof f=="object"&&_e(f),C=new Map,m=(f,d)=>{let g=C.get(d);g?.store!==f&&(g?.unsubscribe(),C.set(d,{store:f,unsubscribe:f.$onAny((h,b)=>S(`${d}.${h}`,b))}))},_=f=>{C.get(f)?.unsubscribe(),C.delete(f)},A=(f,d)=>{let g=r.get(f);if(g)return g;let h=null,b=new Proxy(f,{has(y,E){return Reflect.has(y,E)||typeof E=="string"&&h?.has(E)===!0},ownKeys(y){return le[le.length-1]?.add(Ve(d)),Reflect.ownKeys(y)},get(y,E,$){if(E===Je)return y;if(E===At)return d==="";if(typeof E!="string")return Reflect.get(y,E,$);if(d===""&&E in i)return i[E];let N=d?`${d}.${E}`:E;le[le.length-1]?.add(N);let O=Reflect.get(y,E,$);if(ue(O))return m(O,N),O;let x=H(O);return R(x)?A(x,N):x},set(y,E,$,N){if(N!==b&&!Object.prototype.hasOwnProperty.call(y,E))return Reflect.set(y,E,$,N);let O=d?`${d}.${E}`:E,x=ue($)?$:H($),B=!Object.prototype.hasOwnProperty.call(y,E);if(!B&&Object.is(y[E],x)&&(x===null||typeof x!="object"))return!0;let W=y[E];y[E]=x,h?.delete(E),ue(x)?m(x,O):_(O);let ce=ue(x)||!R(x)?x:A(x,O);return!B&&F(W,x)?Y(O,W,x,ce):S(O,ce,B),!0},deleteProperty(y,E){if(typeof E!="string")return Reflect.deleteProperty(y,E);let $=Object.prototype.hasOwnProperty.call(y,E),N=Reflect.deleteProperty(y,E);if(N&&$){let O=d?`${d}.${E}`:E;(h??(h=new Set)).add(E),_(O),S(O,void 0),U(d)}return N}});return r.set(f,b),b},G=A(H(e),"");Object.entries(H(e)).forEach(([f,d])=>{ue(d)&&m(d,f)});let V=(f,d,{immediate:g=!1}={})=>(t.has(f)||t.set(f,new Set),t.get(f).add(d),g&&d(rs(G,f),f),()=>t.get(f)?.delete(d)),K=(f,{immediate:d=!1}={})=>(n.add(f),d&&_t(G,"",(g,h)=>f(g,h)),()=>n.delete(f)),T=(f,{deep:d=!1,alsoWakenBy:g}={})=>{let h=!1,b=!1,y={deps:Xe,reindex:new Set,deep:d,order:us++,run:()=>{if(h){b=!0;return}h=!0;try{let N=0;do{b=!1;let O=new Set;le.push(O);try{f()}finally{le.pop(),y.deps=O}}while(b&&++N<100);b&&console.error("jq79: an effect re-woke itself 100 times in a row (it writes what it reads); giving up on it settling")}finally{h=!1,y.reindex.forEach(N=>N(y.deps))}}};s.add(y);let E=v(y),$=()=>{s.delete(y),E()};return g?.length?q(y,g,$):(y.run(),$)},q=(f,d,g)=>{let h=d.map(b=>b?.[Ct]?.(f)).filter(Boolean);return f.run(),()=>{g(),h.forEach(b=>b())}},P=f=>{s.add(f);let d=v(f);return()=>{s.delete(f),d()}},Z=()=>{C.forEach(({unsubscribe:f})=>f()),C.clear()};return i.$on=V,i.$onAny=K,i.$effect=T,i.$dispose=Z,i[Ct]=P,G},Ye=class{constructor(t,n){k(this,"scope",t);k(this,"disposers",null);k(this,"runs",null);k(this,"options");let s=t[Ae];this.options=n||s?{deep:n,alsoWakenBy:s}:void 0}effect(t){(this.disposers??(this.disposers=[])).push(this.scope.$effect(t,this.options)),(this.runs??(this.runs=[])).push(t)}onDispose(t){(this.disposers??(this.disposers=[])).push(t)}refresh(){this.runs?.forEach(t=>t())}dispose(){let t=this.disposers;if(this.disposers=null,this.runs=null,t)for(let n=0;n<t.length;n++)t[n]()}},de=(e,t=!1)=>new Ye(e,t);var Ot=/(?:let|var|const)(?:\s+(?=[A-Za-z_$])|\s*(?=[{[]))/y,vt=/\$:\s*/y,ve=/import(?=\s*\()/y,jt=/\$:\s*([A-Za-z_$][\w$]*)\s*=(?!=)/y,te=(e,t)=>{let n=e[t],s=t+1;for(;s<e.length;){if(e[s]==="\\"){s+=2;continue}if(e[s]===n)return s+1;s++}return e.length},Q=(e,t)=>{let n=e.indexOf(`
1
+ var Ne=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Gn=Object.prototype.hasOwnProperty;var Zn=(e,t,n)=>t in e?Ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Kn=(e,t)=>{for(var n in t)Ne(e,n,{get:t[n],enumerable:!0})},Vn=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of zn(t))!Gn.call(e,r)&&r!==n&&Ne(e,r,{get:()=>t[r],enumerable:!(s=Hn(t,r))||s.enumerable});return e};var Xn=e=>Vn(Ne({},"__esModule",{value:!0}),e);var k=(e,t,n)=>Zn(e,typeof t!="symbol"?t+"":t,n);var wo={};Kn(wo,{$:()=>me,$$:()=>xe,$create:()=>Ce,$reactive:()=>$e,$toRaw:()=>H,C79:()=>re,Component79:()=>re,PendingComponent79:()=>He,enableHotReload:()=>Un,hotUpdate:()=>Fn,parseComponent:()=>bo,renderComponent:()=>Cr});module.exports=Xn(wo);function me(e,t){return typeof e=="string"?document.querySelector(e):e.querySelector(t)}function xe(e,t){return Array.from(typeof e=="string"?document.querySelectorAll(e):e.querySelectorAll(t))}var Ce=(e,t={})=>{let n=document.createElement(e);for(let[s,r]of Object.entries(t))if(s==="className")n.className=Array.isArray(r)?r.join(" "):r;else if(s==="textContent")n.textContent=r;else if(s==="children")for(let i of r)n.appendChild(i);else n.setAttribute(s,r);return n},Yn=new Set(["a","b","i","em","strong","p","br","ul","ol","li","blockquote","code","pre","span","div","h1","h2","h3","h4","h5","h6","img"]),wt={a:new Set(["href","title"]),img:new Set(["src","alt"]),"*":new Set(["class"])},Jn=new Set(["http:","https:","mailto:"]);function Qn(e){try{let t=new URL(e,"https://example.com");return Jn.has(t.protocol)}catch{return!1}}var es={"https:":"443","http:":"80"};function ts(e){let t=e.trim().toLowerCase().match(/^([a-z\d*][a-z\d.*-]*?)(?::(\d{1,5}|\*))?$/);if(!t)return null;let[,n,s]=t,r=n.split(".");return r.some(o=>o!=="*"&&!/^[a-z\d-]+$/.test(o))?null:{host:new RegExp(`^${r.map(o=>o==="*"?"[^.]+":o).join("\\.")}$`),port:!s||s==="*"?null:s}}var Rt=e=>{let t=(Array.isArray(e)?e:e.split(",")).map(ts).filter(n=>n!==null);return n=>{let s=n.hostname.toLowerCase(),r=n.port||es[n.protocol]||"";return t.some(i=>i.host.test(s)&&(i.port===null||i.port===r))}};function ns(e,t,n,s){try{return!!e(new URL(t,document.baseURI),n,s)}catch{return!1}}var St=512;function $t(e,t,n,s){if(n>St)throw new RangeError(`jq79: sanitizeHTML input nests deeper than ${St} elements`);for(let r of Array.from(e.childNodes))if(r.nodeType===Node.ELEMENT_NODE){let i=ss(r,n,s);i&&t.appendChild(i)}else r.nodeType===Node.TEXT_NODE&&t.appendChild(r.cloneNode())}function ss(e,t,n){let s=e.tagName.toLowerCase();if(!Yn.has(s))return null;let r=document.createElement(s);for(let i of Array.from(e.attributes)){let o=i.name.toLowerCase(),l=wt[s]?.has(o),a=wt["*"]?.has(o);!l&&!a||(o==="href"||o==="src")&&(!Qn(i.value)||n&&!ns(n,i.value,s,o))||r.setAttribute(o,i.value)}return s==="a"&&r.setAttribute("rel","noopener noreferrer"),$t(e,r,t+1,n),r}function Ke(e,t){let n=document.createElement("template");n.innerHTML=e;let s=document.createElement("div");return $t(n.content,s,0,t?.allowUrl),s.innerHTML}var rs=(e,t)=>t.split(".").reduce((n,s)=>n?.[s],e),_e=e=>{if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},_t=(e,t,n)=>{Object.entries(e).forEach(([s,r])=>{let i=t?`${t}.${s}`:s;r&&typeof r=="object"&&_e(r)?_t(r,i,n):n(i,r)})},os=(e,t)=>{e.own===null?e.own=t:e.own!==t&&(e.ownMany??(e.ownMany=new Set)).add(t)},is=(e,t)=>{e.deep===null?e.deep=t:e.deep!==t&&(e.deepMany??(e.deepMany=new Set)).add(t)},ls=(e,t)=>{e.own===t?e.own=null:e.ownMany?.delete(t)&&e.ownMany.size===0&&(e.ownMany=null)},as=(e,t)=>{e.deep===t?e.deep=null:e.deepMany?.delete(t)&&e.deepMany.size===0&&(e.deepMany=null)},ye=(e,t)=>{e.own!==null&&t(e.own),e.ownMany?.forEach(t)},Se=(e,t)=>{e.deep!==null&&t(e.deep),e.deepMany?.forEach(t)},Tt=" keys",Ve=e=>e?`${e}.${Tt}`:Tt,Nt=".length",xt=(e,t)=>({children:null,own:null,ownMany:null,deep:null,deepMany:null,parent:e,segment:t}),cs=e=>e.own===null&&e.deep===null&&!e.ownMany?.size&&!e.deepMany?.size&&!e.children?.size,Ye=Symbol("jq79.raw"),H=e=>{let t=e;for(;t!==null&&typeof t=="object"&&t[Ye];)t=t[Ye];return t},At=Symbol("jq79.store"),ue=e=>e!==null&&typeof e=="object"&&e[At]===!0,le=[],Re=e=>{le.push(new Set);try{return e()}finally{le.pop()}},us=0,Xe=new Set,Ct="$__attach",Ae=Symbol("jq79.alsoWakenBy"),$e=e=>{let t=new Map,n=new Set,s=new Set,r=new WeakMap,i=Object.create(null),o=xt(null,""),l=(f,d)=>{let g=o;return f.split(".").forEach(h=>{let b=g.children??(g.children=new Map),y=b.get(h);y||(y=xt(g,h),b.set(h,y)),g=y}),d.deep?is(g,d):os(g,d),g},a=(f,d)=>{d.deep?as(f,d):ls(f,d);let g=f;for(;g?.parent&&cs(g);)g.parent.children.delete(g.segment),g=g.parent},u=f=>{let d=o;for(let g of f.split("."))if(d=d.children?.get(g),!d)return;return d},c=f=>{let d=new Set,g=E=>{let $=E.children?[...E.children.values()]:[];for(;$.length;){let N=$.pop();ye(N,O=>d.add(O)),Se(N,O=>d.add(O)),N.children?.forEach(O=>$.push(O))}},h=o,b=f.split("."),y="";for(let E=0;E<b.length-1;E++){if(h=h.children?.get(b[E]),!h)return d;y=y?`${y}.${b[E]}`:b[E],Se(h,$=>d.add($)),C.has(y)&&ye(h,$=>d.add($)),E===b.length-2&&b[E+1]==="length"&&(ye(h,$=>d.add($)),g(h))}return h=h.children?.get(b[b.length-1]),h&&(ye(h,E=>d.add(E)),Se(h,E=>d.add(E)),g(h)),d},p=(f,d,g)=>{if(d===g)return!1;for(let h=d;h<g;h++){let b=f.charCodeAt(h);if(b<48||b>57)return!1}return!0},w=(f,d)=>{if(f.deep||d.size<2)return d;let g=new Set;d.forEach(y=>{y.endsWith(Nt)&&g.add(y.slice(0,-Nt.length))});let h=new Set;if(d.forEach(y=>{let E=0,$="";for(let N=y.indexOf(".");N!==-1;N=y.indexOf(".",N+1)){let O=y.slice(0,N);(!(E>0&&p(y,E,N))||g.has($))&&h.add(O),$=O,E=N+1}}),!h.size)return d;let b=new Set;return d.forEach(y=>{h.has(y)||b.add(y)}),b},v=f=>{let d=null,g=null,h=null,b=Xe,y=x=>h?h.has(x):d===x,E=x=>{let B=l(x,f);h?h.set(x,B):d===null?(d=x,g=B):(h=new Map([[d,g],[x,B]]),d=g=null)},$=x=>{if(h){h.forEach((B,W)=>{x.has(W)||(a(B,f),h.delete(W))});return}d!==null&&!x.has(d)&&(a(g,f),d=g=null)},N=()=>{h?h.forEach(x=>a(x,f)):g&&a(g,f),h=null,d=g=null},O=x=>{if(x.size===b.size){let W=!0;if(x.forEach(ce=>{W&&(W=b.has(ce))}),W)return}b=x;let B=w(f,x);$(B),B.forEach(W=>{y(W)||E(W)})};return f.reindex.add(O),O(f.deps),()=>{f.reindex.delete(O),N(),b=Xe}},I=f=>{let d=u(f);if(d){let g=new Set;ye(d,h=>g.add(h)),Se(d,h=>g.add(h)),M(g)}},U=f=>I(Ve(f)),M=f=>{let d=Array.from(f),g=!0;for(let h=1;g&&h<d.length;h++)g=d[h-1].order<d[h].order;g||d.sort((h,b)=>h.order-b.order),d.forEach(h=>{s.has(h)&&h.run()})},S=(f,d,g=!1)=>{t.get(f)?.forEach(h=>h(d,f)),n.forEach(h=>h(f,d)),g?s.forEach(h=>h.run()):M(c(f))},F=(f,d)=>f!==d&&f!==null&&d!==null&&typeof f=="object"&&typeof d=="object"&&!ue(f)&&!ue(d)&&_e(f)&&_e(d)&&Array.isArray(f)===Array.isArray(d),L=null,D=-1,z=(f,d)=>{let g=d.length>f.length,h=g?f:d,b=g?d:f,y=0;for(;y<h.length&&Object.is(H(h[y]),H(b[y]));)y++;for(let E=y;E<h.length;E++)if(!Object.is(H(h[E]),H(b[E+1])))return D;return y},Y=(f,d)=>{if(Array.isArray(d)){let $=f.length,N=d.length,O=$!==N;if(!$||!N)return L;let x=Math.max($,N);if(Math.abs($-N)===1){let W=z(f,d);if(W!==D){let ce=[];for(let Ze=W;Ze<x;Ze++)ce.push(String(Ze));return{keys:ce,exact:!0,keysChanged:O}}}let B=[];for(let W=0;W<x;W++)if(!Object.is(H(f[W]),H(d[W]))&&(B.push(String(W)),B.length*2>=x))return L;return{keys:B,exact:!1,keysChanged:O}}let g=Object.keys(f),h=Object.keys(d),b=new Set([...g,...h]);if(!b.size)return L;let y=[];b.forEach($=>{Object.is(H(f[$]),H(d[$]))||y.push($)});let E=g.length!==h.length||g.some(($,N)=>$!==h[N]);return y.length*2>=b.size?L:{keys:y,exact:!1,keysChanged:E}},J=(f,d,g,h)=>{let b=new Set,y=$=>{let N=u($);N&&(ye(N,O=>b.add(O)),Se(N,O=>b.add(O)))},E=Y(d,g);if(!E)return S(f,h);if(t.get(f)?.forEach($=>$(h,f)),n.forEach($=>$(f,h)),y(f),E.keys.forEach($=>{let N=`${f}.${$}`,O=t.get(N);if(O){let x=H(g[$]),B=R(x)?A(x,N):x;O.forEach(W=>W(B,N))}E.exact?y(N):c(N).forEach(x=>b.add(x))}),E.keysChanged&&y(Ve(f)),Array.isArray(g)&&d.length!==g.length){let $=`${f}.length`;t.get($)?.forEach(N=>N(g.length,$)),y($)}M(b)},R=f=>f!==null&&typeof f=="object"&&_e(f),C=new Map,m=(f,d)=>{let g=C.get(d);g?.store!==f&&(g?.unsubscribe(),C.set(d,{store:f,unsubscribe:f.$onAny((h,b)=>S(`${d}.${h}`,b))}))},_=f=>{C.get(f)?.unsubscribe(),C.delete(f)},A=(f,d)=>{let g=r.get(f);if(g)return g;let h=null,b=new Proxy(f,{has(y,E){return Reflect.has(y,E)||typeof E=="string"&&h?.has(E)===!0},ownKeys(y){return le[le.length-1]?.add(Ve(d)),Reflect.ownKeys(y)},get(y,E,$){if(E===Ye)return y;if(E===At)return d==="";if(typeof E!="string")return Reflect.get(y,E,$);if(d===""&&E in i)return i[E];let N=d?`${d}.${E}`:E;le[le.length-1]?.add(N);let O=Reflect.get(y,E,$);if(ue(O))return m(O,N),O;let x=H(O);return R(x)?A(x,N):x},set(y,E,$,N){if(N!==b&&!Object.prototype.hasOwnProperty.call(y,E))return Reflect.set(y,E,$,N);let O=d?`${d}.${E}`:E,x=ue($)?$:H($),B=!Object.prototype.hasOwnProperty.call(y,E);if(!B&&Object.is(y[E],x)&&(x===null||typeof x!="object"))return!0;let W=y[E];y[E]=x,h?.delete(E),ue(x)?m(x,O):_(O);let ce=ue(x)||!R(x)?x:A(x,O);return!B&&F(W,x)?J(O,W,x,ce):S(O,ce,B),!0},deleteProperty(y,E){if(typeof E!="string")return Reflect.deleteProperty(y,E);let $=Object.prototype.hasOwnProperty.call(y,E),N=Reflect.deleteProperty(y,E);if(N&&$){let O=d?`${d}.${E}`:E;(h??(h=new Set)).add(E),_(O),S(O,void 0),U(d)}return N}});return r.set(f,b),b},G=A(H(e),"");Object.entries(H(e)).forEach(([f,d])=>{ue(d)&&m(d,f)});let V=(f,d,{immediate:g=!1}={})=>(t.has(f)||t.set(f,new Set),t.get(f).add(d),g&&d(rs(G,f),f),()=>t.get(f)?.delete(d)),K=(f,{immediate:d=!1}={})=>(n.add(f),d&&_t(G,"",(g,h)=>f(g,h)),()=>n.delete(f)),T=(f,{deep:d=!1,alsoWakenBy:g}={})=>{let h=!1,b=!1,y={deps:Xe,reindex:new Set,deep:d,order:us++,run:()=>{if(h){b=!0;return}h=!0;try{let N=0;do{b=!1;let O=new Set;le.push(O);try{f()}finally{le.pop(),y.deps=O}}while(b&&++N<100);b&&console.error("jq79: an effect re-woke itself 100 times in a row (it writes what it reads); giving up on it settling")}finally{h=!1,y.reindex.forEach(N=>N(y.deps))}}};s.add(y);let E=v(y),$=()=>{s.delete(y),E()};return g?.length?q(y,g,$):(y.run(),$)},q=(f,d,g)=>{let h=d.map(b=>b?.[Ct]?.(f)).filter(Boolean);return f.run(),()=>{g(),h.forEach(b=>b())}},P=f=>{s.add(f);let d=v(f);return()=>{s.delete(f),d()}},Z=()=>{C.forEach(({unsubscribe:f})=>f()),C.clear()};return i.$on=V,i.$onAny=K,i.$effect=T,i.$dispose=Z,i[Ct]=P,G},Je=class{constructor(t,n){k(this,"scope",t);k(this,"disposers",null);k(this,"runs",null);k(this,"options");let s=t[Ae];this.options=n||s?{deep:n,alsoWakenBy:s}:void 0}effect(t){(this.disposers??(this.disposers=[])).push(this.scope.$effect(t,this.options)),(this.runs??(this.runs=[])).push(t)}onDispose(t){(this.disposers??(this.disposers=[])).push(t)}refresh(){this.runs?.forEach(t=>t())}dispose(){let t=this.disposers;if(this.disposers=null,this.runs=null,t)for(let n=0;n<t.length;n++)t[n]()}},de=(e,t=!1)=>new Je(e,t);var Ot=/(?:let|var|const)(?:\s+(?=[A-Za-z_$])|\s*(?=[{[]))/y,vt=/\$:\s*/y,ve=/import(?=\s*\()/y,jt=/\$:\s*([A-Za-z_$][\w$]*)\s*=(?!=)/y,te=(e,t)=>{let n=e[t],s=t+1;for(;s<e.length;){if(e[s]==="\\"){s+=2;continue}if(e[s]===n)return s+1;s++}return e.length},Q=(e,t)=>{let n=e.indexOf(`
2
2
  `,t);return n===-1?e.length:n},ee=(e,t)=>{let n=e.indexOf("*/",t+2);return n===-1?e.length:n+2},Oe=(e,t)=>{let n=t;for(;n<e.length;){if(/\s/.test(e[n])){n++;continue}if(e[n]==="/"&&e[n+1]==="/"){n=Q(e,n);continue}if(e[n]==="/"&&e[n+1]==="*"){n=ee(e,n);continue}break}return n},ds=new Set(["return","typeof","case","in","instanceof","new","delete","void","do","else","yield","await"]),ne=(e,t)=>{let n=t-1;for(;n>=0;){let r=e[n];if(/\s/.test(r)){n--;continue}if(r==="/"&&e[n-1]==="*"){let i=e.lastIndexOf("/*",n-2);if(i===-1)return!0;n=i-1;continue}break}if(n<0)return!0;let s=e[n];if(/[\w$]/.test(s)){let r=n;for(;r>0&&/[\w$]/.test(e[r-1]);)r--;return ds.has(e.slice(r,n+1))}return(s==="+"||s==="-")&&e[n-1]===s?!1:!")]}\"'`.".includes(s)},se=(e,t)=>{let n=t+1,s=!1;for(;n<e.length;){let r=e[n];if(r==="\\"){n+=2;continue}if(r===`
3
3
  `)return n;if(r==="[")s=!0;else if(r==="]")s=!1;else if(r==="/"&&!s){for(n++;n<e.length&&/[a-z]/i.test(e[n]);)n++;return n}n++}return e.length},fs=/^(\?\.|\?\?|&&|\|\||\*\*|[.,+\-*/%&|^<>=?:([])/,ps=(e,t)=>{let n=t-1;for(;n>=0;){let s=e[n];if(/\s/.test(s)){n--;continue}if(s==="/"&&e[n-1]==="*"){let r=e.lastIndexOf("/*",n-2);if(r===-1)return"";n=r-1;continue}return s}return""},Pt=(e,t)=>{let n=0,s=t;for(;s<e.length;){let r=e[s];if(r==="'"||r==='"'||r==="`"){s=te(e,s);continue}if(r==="/"&&e[s+1]==="/"){s=Q(e,s);continue}if(r==="/"&&e[s+1]==="*"){s=ee(e,s);continue}if(r==="/"&&ne(e,s)){s=se(e,s);continue}if("([{".includes(r))n++;else if(")]}".includes(r))n--;else{if(n<=0&&r===";")return s;if(n<=0&&r===`
4
4
  `){let i=Oe(e,s+1);if(!(i<e.length&&(fs.test(e.slice(i,i+2))||[",","="].includes(ps(e,s)))))return s;s=i;continue}}s++}return e.length},hs=e=>{let t=[],n=0,s=0,r=0,i=l=>{t.push({raw:e.slice(s,l),codeEnd:Math.max(0,r-s)}),s=l+1,r=s},o=0;for(;o<e.length;){let l=e[o];if(l==="'"||l==='"'||l==="`"){o=te(e,o),r=o;continue}if(l==="/"&&e[o+1]==="/"){o=Q(e,o);continue}if(l==="/"&&e[o+1]==="*"){o=ee(e,o);continue}if(l==="/"&&ne(e,o)){o=se(e,o),r=o;continue}if("([{".includes(l))n++;else if(")]}".includes(l))n--;else if(l===","&&n<=0){i(o),o++;continue}/\s/.test(l)||(r=o+1),o++}return i(e.length),t},Qe=e=>{let t=e.trim();if(!t.startsWith("{")&&!t.startsWith("["))return Pe.test(t)?[t]:[];let n=[];for(let s of tt(t.slice(1,Mt(t)))){s.startsWith("...")&&(s=s.slice(3).trim());let r=nt(s);if(r!==-1&&(s=s.slice(0,r).trim()),t.startsWith("{")){let i=et(s,":");if(i!==-1){n.push(...Qe(s.slice(i+1)));continue}}n.push(...Qe(s))}return n},gs=e=>{let t=[],n=hs(e).map(({raw:i,codeEnd:o})=>{let l=i.match(/^\s*/)[0];if(o<=l.length)return{text:i,empty:!0};let a=i.slice(l.length,o),u=i.slice(o),c=nt(a),p=(c===-1?a:a.slice(0,c)).trim(),w=a[0]==="{"||a[0]==="[";w?t.push(...Qe(p)):Pe.test(p)&&t.push(p);let v=ke(a).code;return{text:`${l}${w?`(${v})`:v}${u}`,empty:!1}}),s=[];for(;n.length&&n[n.length-1].empty;)s.unshift(n.pop().text);let r=n.map(i=>i.text).join(",")+s.join("");return r.trimStart().startsWith("(")&&(r=`;${r}`),{vars:t,code:r}},ke=e=>{let t=[],n="",s=0,r=0,i=!0;for(;s<e.length;){let o=e[s],l=e[s+1];if(o==="'"||o==='"'||o==="`"){let a=te(e,s);n+=e.slice(s,a),s=a,i=!1;continue}if(o==="/"&&(l==="/"||l==="*")){let a=l==="/"?Q(e,s):ee(e,s);n+=e.slice(s,a),s=a;continue}if(o==="/"&&ne(e,s)){let a=se(e,s);n+=e.slice(s,a),s=a,i=!1;continue}if(o==="i"&&(s===0||!/[\w$.]/.test(e[s-1]))&&(ve.lastIndex=s,ve.test(e))){n+="$__import",s+=6,i=!1;continue}if(r===0&&i){Ot.lastIndex=s;let a=Ot.exec(e);if(a){let c=s+a[0].length,p=Pt(e,c),{vars:w,code:v}=gs(e.slice(c,p));t.push(...w),n+=v,s=p,i=!1;continue}vt.lastIndex=s;let u=vt.exec(e);if(u){jt.lastIndex=s;let c=jt.exec(e);c&&t.push(c[1]);let p=s+u[0].length,w=Pt(e,p);n+=`$__effect(() => { ${ke(e.slice(p,w)).code} });`,s=w;continue}}"([{".includes(o)?r++:")]}".includes(o)&&(r=Math.max(0,r-1)),o===`
5
5
  `||o===";"||o==="}"?i=!0:/\s/.test(o)||(i=!1),n+=o,s++}return{vars:t,code:n}},je=/export\s+default(?![\w$])/y,kt=/import\s*(?:([\w$\s,{}*]+?)\s*from\s*)?(["'])([^"'\n]+)\2/y,ms=e=>{let t=[],n=0,s=0;for(let r=0;r<=e.length;r++){let i=e[r];if(i==="{")n++;else if(i==="}")n--;else if(r===e.length||i===","&&n===0){let o=e.slice(s,r).trim();o&&t.push(o),s=r+1}}return t},ys=(e,t,n)=>{let s=`await $__import(${JSON.stringify(t)})`;if(e===void 0)return s;let r=ms(e),i=[],o=s;if(r.length>1){let l=`$__mod${n}`;i.push(`${l} = ${s}`),o=l}for(let l of r)l.startsWith("{")?i.push(`${l.replace(/\s+as\s+/g,": ")} = ${o}`):l.startsWith("*")?i.push(`${l.replace(/^\*\s*as\s+/,"")} = ${o}`):i.push(`${l} = $__default(${o})`);return`const ${i.join(", ")}`},Pe=/^[A-Za-z_$][\w$]*$/,Mt=e=>{let t=0,n=0;for(;n<e.length;){let s=e[n];if(s==="'"||s==='"'||s==="`"){n=te(e,n);continue}if(s==="/"&&e[n+1]==="/"){n=Q(e,n);continue}if(s==="/"&&e[n+1]==="*"){n=ee(e,n);continue}if(s==="/"&&ne(e,n)){n=se(e,n);continue}if("([{".includes(s))t++;else if(")]}".includes(s)&&--t===0)return n;n++}return e.length},et=(e,t)=>{let n=0,s=0;for(;s<e.length;){let r=e[s];if(r==="'"||r==='"'||r==="`"){s=te(e,s);continue}if(r==="/"&&e[s+1]==="/"){s=Q(e,s);continue}if(r==="/"&&e[s+1]==="*"){s=ee(e,s);continue}if(r==="/"&&r!==t&&ne(e,s)){s=se(e,s);continue}if("([{".includes(r))n++;else if(")]}".includes(r))n--;else if(n===0&&r===t)return s;s++}return-1},tt=e=>{let t=[],n=0,s=0,r=0;for(;r<=e.length;){let i=e[r];if(i==="'"||i==='"'||i==="`"){r=te(e,r);continue}if(i==="/"&&e[r+1]==="/"){r=Q(e,r);continue}if(i==="/"&&e[r+1]==="*"){r=ee(e,r);continue}if(i==="/"&&ne(e,r)){r=se(e,r);continue}if(i!==void 0&&"([{".includes(i))n++;else if(i!==void 0&&")]}".includes(i))n--;else if(r===e.length||i===","&&n===0){let o=e.slice(s,r).trim();o&&t.push(o),s=r+1}r++}return t},nt=e=>{let t=0;for(;t<e.length;){let n=et(e.slice(t),"=");if(n===-1)return-1;let s=t+n;if(e[s+1]!=="="&&e[s+1]!==">"&&e[s-1]!=="="&&e[s-1]!=="!")return s;t=s+1}return-1},Me=e=>{let t=(e??"").trim();if(!t.startsWith("{"))return null;let n=Mt(t);if(n>=t.length)return null;let s=[];for(let r of tt(t.slice(1,n))){if(r.startsWith("..."))continue;let i=nt(r),o=i===-1?r:r.slice(0,i),l=i===-1?void 0:r.slice(i+1).trim(),a=et(o,":"),u=(a===-1?o:o.slice(0,a)).trim();if(!Pe.test(u))continue;let c={name:u};l!==void 0&&(c.default=l);let p=a===-1?"":o.slice(a+1).trim();Pe.test(p)&&(c.as=p),s.push(c)}return s},Es=e=>{let t=0,n=0,s=!0;for(;t<e.length;){let r=e[t];if(r==="'"||r==='"'||r==="`"){t=te(e,t),s=!1;continue}if(r==="/"&&e[t+1]==="/"){t=Q(e,t);continue}if(r==="/"&&e[t+1]==="*"){t=ee(e,t);continue}if(r==="/"&&ne(e,t)){t=se(e,t),s=!1;continue}if(r==="e"&&n===0&&s&&(t===0||!/[\w$.]/.test(e[t-1]))){je.lastIndex=t;let i=je.exec(e);if(i)return t+i[0].length}"([{".includes(r)?n++:")]}".includes(r)&&(n=Math.max(0,n-1)),r===`
6
6
  `||r===";"||r==="}"?s=!0:/\s/.test(r)||(s=!1),t++}return-1},bs=/^async(?![\w$])/,ws=/^function(?![\w$])\s*\*?\s*[A-Za-z_$][\w$]*|^function(?![\w$])\s*\*?/,Ss=e=>{let t=Es(e);if(t===-1)return null;let n=Oe(e,t),s=e.slice(n);bs.test(s)&&(n=Oe(e,n+5));let r=ws.exec(e.slice(n));if(r&&(n=Oe(e,n+r[0].length)),e[n]!=="(")return null;let i=0,o=n;for(;o<e.length;){let l=e[o];if(l==="'"||l==='"'||l==="`"){o=te(e,o);continue}if(l==="/"&&e[o+1]==="/"){o=Q(e,o);continue}if(l==="/"&&e[o+1]==="*"){o=ee(e,o);continue}if(l==="/"&&ne(e,o)){o=se(e,o);continue}if("([{".includes(l))i++;else if(")]}".includes(l)&&--i===0)break;o++}return tt(e.slice(n+1,o))[0]??""},Le=e=>{let t=Ss(e);if(t===null)return null;let n=Me(t),s=n?.find(r=>r.name.startsWith("$"))?.name;if(s)throw new Error(`jq79: the factory signature is (props, ctx), so \`${s}\` can't be destructured from the first parameter. Write \`export default (props, { ${s} }) => \u2026\`, or \`_\` in place of props if the component takes none.`);return n},Lt=e=>{let t="",n=0,s=0,r=!0,i=!1,o=0;for(;n<e.length;){let l=e[n],a=e[n+1],u=n===0||!/[\w$.]/.test(e[n-1]);if(l==="'"||l==='"'||l==="`"){let c=te(e,n);t+=e.slice(n,c),n=c,r=!1;continue}if(l==="/"&&(a==="/"||a==="*")){let c=a==="/"?Q(e,n):ee(e,n);t+=e.slice(n,c),n=c;continue}if(l==="/"&&ne(e,n)){let c=se(e,n);t+=e.slice(n,c),n=c,r=!1;continue}if(l==="i"&&u){if(ve.lastIndex=n,ve.test(e)){t+="$__import",n+=6,r=!1;continue}if(s===0&&r){kt.lastIndex=n;let c=kt.exec(e);if(c){t+=ys(c[1],c[3],o++),n+=c[0].length,r=!1;continue}}}if(l==="e"&&u&&s===0&&r){je.lastIndex=n;let c=je.exec(e);if(c){i=!0,t+="$__exports.default =",n+=c[0].length,r=!1;continue}}"([{".includes(l)?s++:")]}".includes(l)&&(s=Math.max(0,s-1)),l===`
7
- `||l===";"||l==="}"?r=!0:/\s/.test(l)||(r=!1),t+=l,n++}return i?t:null},Rs=new Set(["true","false","null","undefined","this","typeof","instanceof","in","new","void","delete","of","await","yield","NaN","Infinity","arguments","case","do","else","return"]),$s=new Set(["function","class","let","const","var","eval","with"]),Ts=new Set(["$scope","$r","$t"]),Ns=/^(?:\+\+|--|=>|\*\*=|<<=|>>>=|>>=|&&=|\|\|=|\?\?=|[+\-*/%&|^]=(?!=))/,xs=/^(?:>>>|===|!==|\*\*|<<|>>|==|!=|<=|>=|&&|\|\||\?\?|\?\.)/,Cs=e=>/[A-Za-z_$]/.test(e),_s=/^(?:0[xXbBoO][\da-fA-F_]+|\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?\d+)?)n?/,st=e=>{let t=new Set,n=[0],s=[],r=!1,i="",o=0;for(;o<e.length;){let l=e[o];if(/\s/.test(l)){o++;continue}if(l==="/"&&e[o+1]==="/"){o=Q(e,o);continue}if(l==="/"&&e[o+1]==="*"){o=ee(e,o);continue}if(l==="/"&&ne(e,o)){o=se(e,o),i="value";continue}if(l==='"'||l==="'"){o=te(e,o),i="value";continue}if(l==="`"){let c=o+1;for(;c<e.length;){if(e[c]==="\\"){c+=2;continue}if(e[c]==="`"){c++;break}if(e[c]==="$"&&e[c+1]==="{"){let p=1,w=c+=2;for(;c<e.length&&p>0;)e[c]==="{"?p++:e[c]==="}"&&p--,c++;let v=st(e.slice(w,c-1));if(v===null)return null;v.forEach(I=>t.add(I));continue}c++}o=c,i="value";continue}if(/\d/.test(l)&&i!=="."&&i!=="?."){let c=_s.exec(e.slice(o));o+=c?c[0].length:1,i="value";continue}if(Cs(l)){let c=o;for(;c<e.length&&/[\w$]/.test(e[c]);)c++;let p=e.slice(o,c);if(o=c,$s.has(p))return null;if(i==="."||i==="?."){i="value";continue}if(Rs.has(p)){i=p==="this"?"value":"op";continue}if(Ts.has(p))return null;let w=o;for(;w<e.length&&/\s/.test(e[w]);)w++;if(e[w]==="(")return null;e[w]===":"&&e[w+1]!==":"&&s[s.length-1]==="{"&&n[n.length-1]===0||t.add(p),i="value";continue}let a=e.slice(o);if(Ns.test(a))return null;let u=xs.exec(a);if(u){(u[0]==="&&"||u[0]==="||"||u[0]==="??")&&(r=!0),i=u[0]==="?."?"?.":"op",o+=u[0].length;continue}if(l==="=")return null;l==="("||l==="["||l==="{"?(s.push(l),n.push(0)):l===")"||l==="]"||l==="}"?(s.pop(),n.length>1&&n.pop()):l==="?"?(n[n.length-1]++,r=!0):l===":"&&n[n.length-1]>0&&n[n.length-1]--,i=l,o++}return r&&t.size>1?null:[...t]};var As="0.7.1",rn=e=>Object.fromEntries(Array.from(e.attributes).map(t=>[t.name,t.value])),on="http://www.w3.org/1999/xhtml",ln=e=>{let t=rn(e),n=e.namespaceURI,s=t[Ue];delete t[Ue];let r=n!==null&&n!==on;return{tag:r?e.tagName:e.tagName.toLowerCase(),attrs:t,...s===void 0?{}:{component:s},...r?{ns:n}:{},children:Array.from((e instanceof HTMLTemplateElement?e.content:e).childNodes).flatMap(i=>{if(i.nodeType===Node.TEXT_NODE){let o=i.textContent??"";return o?[o]:[]}return i.nodeType===Node.ELEMENT_NODE?[ln(i)]:[]})}},Ie=new Map,rt=(e,t)=>{if(!(t in e)){if(t in globalThis)return globalThis[t];throw new ReferenceError(`${t} is not defined`)}},an=(e,t)=>{try{return new Function("$scope","$r",...t,`with ($scope) { return (${e}
7
+ `||l===";"||l==="}"?r=!0:/\s/.test(l)||(r=!1),t+=l,n++}return i?t:null},Rs=new Set(["true","false","null","undefined","this","typeof","instanceof","in","new","void","delete","of","await","yield","NaN","Infinity","arguments","case","do","else","return"]),$s=new Set(["function","class","let","const","var","eval","with"]),Ts=new Set(["$scope","$r","$t"]),Ns=/^(?:\+\+|--|=>|\*\*=|<<=|>>>=|>>=|&&=|\|\|=|\?\?=|[+\-*/%&|^]=(?!=))/,xs=/^(?:>>>|===|!==|\*\*|<<|>>|==|!=|<=|>=|&&|\|\||\?\?|\?\.)/,Cs=e=>/[A-Za-z_$]/.test(e),_s=/^(?:0[xXbBoO][\da-fA-F_]+|\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?\d+)?)n?/,st=e=>{let t=new Set,n=[0],s=[],r=!1,i="",o=0;for(;o<e.length;){let l=e[o];if(/\s/.test(l)){o++;continue}if(l==="/"&&e[o+1]==="/"){o=Q(e,o);continue}if(l==="/"&&e[o+1]==="*"){o=ee(e,o);continue}if(l==="/"&&ne(e,o)){o=se(e,o),i="value";continue}if(l==='"'||l==="'"){o=te(e,o),i="value";continue}if(l==="`"){let c=o+1;for(;c<e.length;){if(e[c]==="\\"){c+=2;continue}if(e[c]==="`"){c++;break}if(e[c]==="$"&&e[c+1]==="{"){let p=1,w=c+=2;for(;c<e.length&&p>0;)e[c]==="{"?p++:e[c]==="}"&&p--,c++;let v=st(e.slice(w,c-1));if(v===null)return null;v.forEach(I=>t.add(I));continue}c++}o=c,i="value";continue}if(/\d/.test(l)&&i!=="."&&i!=="?."){let c=_s.exec(e.slice(o));o+=c?c[0].length:1,i="value";continue}if(Cs(l)){let c=o;for(;c<e.length&&/[\w$]/.test(e[c]);)c++;let p=e.slice(o,c);if(o=c,$s.has(p))return null;if(i==="."||i==="?."){i="value";continue}if(Rs.has(p)){i=p==="this"?"value":"op";continue}if(Ts.has(p))return null;let w=o;for(;w<e.length&&/\s/.test(e[w]);)w++;if(e[w]==="(")return null;e[w]===":"&&e[w+1]!==":"&&s[s.length-1]==="{"&&n[n.length-1]===0||t.add(p),i="value";continue}let a=e.slice(o);if(Ns.test(a))return null;let u=xs.exec(a);if(u){(u[0]==="&&"||u[0]==="||"||u[0]==="??")&&(r=!0),i=u[0]==="?."?"?.":"op",o+=u[0].length;continue}if(l==="=")return null;l==="("||l==="["||l==="{"?(s.push(l),n.push(0)):l===")"||l==="]"||l==="}"?(s.pop(),n.length>1&&n.pop()):l==="?"?(n[n.length-1]++,r=!0):l===":"&&n[n.length-1]>0&&n[n.length-1]--,i=l,o++}return r&&t.size>1?null:[...t]};var As="0.7.2",rn=e=>Object.fromEntries(Array.from(e.attributes).map(t=>[t.name,t.value])),on="http://www.w3.org/1999/xhtml",ln=e=>{let t=rn(e),n=e.namespaceURI,s=t[Ue];delete t[Ue];let r=n!==null&&n!==on;return{tag:r?e.tagName:e.tagName.toLowerCase(),attrs:t,...s===void 0?{}:{component:s},...r?{ns:n}:{},children:Array.from((e instanceof HTMLTemplateElement?e.content:e).childNodes).flatMap(i=>{if(i.nodeType===Node.TEXT_NODE){let o=i.textContent??"";return o?[o]:[]}return i.nodeType===Node.ELEMENT_NODE?[ln(i)]:[]})}},Ie=new Map,rt=(e,t)=>{if(!(t in e)){if(t in globalThis)return globalThis[t];throw new ReferenceError(`${t} is not defined`)}},an=(e,t)=>{try{return new Function("$scope","$r",...t,`with ($scope) { return (${e}
8
8
  ); }`)}catch{return null}},Os=(e,t)=>{if(!oe.scopedNames)return null;let n=st(e);if(n===null)return null;let s=n.filter(i=>!t.includes(i)),r=s.length===0?"":`let $t; ${s.map(i=>`const ${i} = ($t = $scope.${i}) !== undefined ? $t : $r($scope, ${JSON.stringify(i)});`).join(" ")}`;try{return new Function("$scope","$r",...t,`${r} return (${e}
9
- );`)}catch{return null}},cn=(e,t,n)=>{let s=Ie.get(e);if(s===void 0){let r=Os(t,n);s=r?{fn:r,scoped:!0}:{fn:an(t,n),scoped:!1},Ie.set(e,s)}return s},un=(e,t)=>`${t.join(",")}|${e}`,vs=(e,t)=>cn(un(e,t),e,t).fn,js=(e,t,n)=>{let s=an(t,n);return Ie.set(e,{fn:s,scoped:!1}),s},Ps=/^(?:([\w$]+) is not defined|Can't find variable: ([\w$]+))/,ks=100,pe=new Map,ht=new Set,qe=0,ct=!1,ut=new Set,Ms=()=>{ct=!1,!(qe>0)&&(pe.forEach(({name:e,expr:t,scope:n},s)=>{e in n||(ht.add(s),console.warn(`jq79: ${e} is not defined - evaluating "${t}". Template expressions resolve against the component store: a top-level let/var/const in a :setup script, a declared prop, or a global. Note a "function name() {}" declaration is not on the store - write "const name = () => {}".`))}),pe.clear())},dn=()=>{ct||qe>0||!pe.size||(ct=!0,queueMicrotask(Ms))},fn=e=>{qe++;let t=()=>{qe--,dn()};e.then(t,t)},Ls=(e,t)=>{if(ut.has(e))return;ut.add(e);let n=t?.message||String(t);console.error(`jq79: ${n} - evaluating "${e}". The expression rendered as nothing. If the value arrives later, guard it - "a?.b", or :if on the element.`)},pn=(e,t,n)=>{if(!(n instanceof ReferenceError))return Ls(e,n);let s=Ps.exec(n.message),r=s?.[1]??s?.[2];if(!r)return;let i=`${r}|${e}`;ht.has(i)||pe.has(i)||pe.size>=ks||(pe.set(i,{name:r,expr:e,scope:t}),dn())},hn=(e,t,n)=>{let s=n?Object.keys(n):[],r=un(e,s),{fn:i,scoped:o}=cn(r,e,s);if(!i)return;let l=n?Object.values(n):[];if(!o)return i(t,rt,...l);try{return i(t,rt,...l)}catch(a){if(!(a instanceof ReferenceError))throw a;let u=js(r,e,s);if(!u)throw a;return u(t,rt,...l)}},j=(e,t,n)=>{try{return hn(e,t,n)}catch(s){pn(e,t,s);return}},gn=(e,t,n)=>{try{return hn(e,t,n)}catch(s){if(!(s instanceof ReferenceError))throw s;pn(e,t,s);return}},ot=/{{\s*([\s\S]+?)\s*}}/g,Dt=new Map,mn=e=>{let t=Dt.get(e);if(t)return t;let n=[],s=0;ot.lastIndex=0;for(let r=ot.exec(e);r;r=ot.exec(e))r.index>s&&n.push(e.slice(s,r.index)),n.push({expr:r[1]}),s=r.index+r[0].length;return s<e.length&&n.push(e.slice(s)),Dt.set(e,n),n},yn=(e,t)=>{if(e.length===1){let s=e[0];return typeof s=="string"?s:String(j(s.expr,t)??"")}let n="";for(let s of e)n+=typeof s=="string"?s:String(j(s.expr,t)??"");return n},En=new Set([":class",":value",":checked",":selected",":if",":elseif",":else",":each",":key",":with",":text",":html",":html.allowed",":props"]),we=e=>En.has(e)||e.startsWith(":class.")||e.startsWith(":props.")||e===":slot"||e.startsWith(":slot."),Ds=/^\s*\(?\s*(\w+)\s*(?:,\s*(\w+))?\s*\)?\s+in\s+([\s\S]+)$/,bn=(e,t,n,s)=>{let[r,...i]=t.slice(1).split("."),o=new Set(i);e.addEventListener(r,l=>{if(o.has("self")&&l.target!==e)return;o.has("prevent")&&l.preventDefault(),o.has("stop")&&l.stopPropagation();let a=gn(n,s,{$event:l});typeof a=="function"&&a.call(e,l)},{once:o.has("once"),capture:o.has("capture")})},Is=(e,t,n,s)=>{let[r,...i]=t.slice(1).split("."),o=new Set(i),l=a=>{o.has("prevent")&&a.preventDefault(),o.has("stop")&&a.stopPropagation(),o.has("once")&&e.off(r,l),Re(()=>{let u=gn(n,s,{$event:a});typeof u=="function"&&u(a)})};e.on(r,l)},ie=e=>e.replace(/-(\w)/g,(t,n)=>n.toUpperCase()),We=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),gt=e=>e instanceof DocumentFragment?{first:e.firstChild,last:e.lastChild}:{first:e,last:e},ze=({first:e,last:t})=>{for(let n=e;n;){let s=n===t?null:n.nextSibling;n.parentNode?.removeChild(n),n=s}},qs=e=>{e.forEach(t=>{if(t.first===t.last)return ze(t);if(!t.first.parentNode)return;let s=document.createRange();s.setStartBefore(t.first),s.setEndAfter(t.last),s.deleteContents()})},Ws=(e,t)=>{let n=[],s=null;return e.forEach(r=>{if(!t(r)){s=null;return}s&&s.last.nextSibling===r.range.first?s.last=r.range.last:n.push(s={first:r.range.first,last:r.range.last})}),n},Fs=({first:e,last:t},n)=>{let s=n.nextSibling;for(let r=e;r;){let i=r===t?null:r.nextSibling;n.parentNode.insertBefore(r,s),r=i}},It=(e,t)=>{let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s))for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r;return null},fe=null,Fe=null,wn=new WeakSet,Us=e=>{let t={memo:fe,base:Fe};return fe=new Map,Fe=e,t},Bs=e=>{fe=e.memo,Fe=e.base},qt=(e,t)=>e.component!==void 0?Wt(t,e.component):e.tag.includes("-")?Wt(t,e.tag):null,X=e=>e.component??e.tag,Wt=(e,t)=>{if(!fe)return It(e,t);let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s)){if(s===Fe){if(fe.has(t))return fe.get(t);let r=It(s,t);return fe.set(t,r),r}if(!wn.has(s)){for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r}}return null},Hs=e=>{let t=new Set;for(let n=e;n&&n!==Object.prototype;n=Object.getPrototypeOf(n))for(let s of Object.keys(n))/^[A-Z]/.test(s)&&t.add(s);return[...t].sort()},zs=(e,t)=>{let n=Hs(t);return new Error(`jq79: <${e}> is not defined - no component of that name is in scope, and nothing renders here. Import it in a :setup script, declare it as a prop, or add a <template name="${e}"> to this file. In scope: ${n.length?n.join(", "):"(none)"}.`)},Ft=200,it=0,Sn=Symbol("jq79.slots"),Rn=e=>e==="slot"||e.startsWith("slot."),$n=e=>e?ie(e):"default",Te=e=>Object.keys(e.attrs).find(t=>t===":slot"||t.startsWith(":slot.")),Gs=e=>e==="default"?":slot":`:slot.${e}`,Zs=e=>typeof e!="string"||e.trim()!=="",Ks=e=>{let t={},n=[];e.children.forEach(r=>{let i=typeof r=="object"&&r.tag==="template"?Te(r):void 0;if(typeof r=="string"||i===void 0){n.push(r);return}let o=$n(i.slice(6));if(o in t){console.warn(`jq79: two <template ${Gs(o)}> in <${X(e)}>; the second was ignored`);return}t[o]={nodes:r.children,binder:r.attrs[i]||void 0}});let s=n.some(Zs);return s&&"default"in t?console.warn(`jq79: <${X(e)}> has both a <template :slot> and content outside it - the <template> is the default slot's content, and the rest was ignored`):s&&(t.default={nodes:n,binder:e.attrs[":slot"]||void 0}),t},Vs=(e,t,n)=>{Me(t)?.forEach(({name:s,as:r,default:i})=>{let o=r??s;Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>{let l=n[s]?.();return l===void 0&&i!==void 0?j(i,e):l},set:()=>console.warn(`jq79: "${o}" is a slot prop - it comes from the component, so assigning to it does nothing`)})})},Xs=e=>{let t=Te(e);return console.warn(`jq79: <template ${t}> fills a slot only as a direct child of a component tag; here it rendered nothing`),document.createComment(`misplaced ${t}`)},Js=(e,t)=>{let n=Object.entries(Ks(e));if(!n.length)return null;let s={};return n.forEach(([r,i])=>{s[r]=Ys(i,t)}),s},Ys=(e,t)=>(n,s,r,i)=>{let o=Object.create(t);Vs(o,e.binder,n);let l=o[Ae]??[];Object.defineProperty(o,Ae,{value:[...l,s]});let a=de(o);return r.onDispose(()=>a.dispose()),ge(e.nodes,o,a,i)},Qs=(e,t,n,s)=>{let r=$n(e.tag.slice(5)),i=document.createDocumentFragment(),o=document.createComment(e.tag),l=document.createComment(`/${e.tag}`);i.append(o,l);let a=t[Sn]?.[r];if(!a)return i.insertBefore(ge(e.children,t,n,s),l),i;let u={};return Object.entries(e.attrs).forEach(([c,p])=>{if(!(c===be||we(c)||c.startsWith("@")))if(c.startsWith(":")){let w=p||c.slice(1);u[ie(c.slice(1))]=()=>j(w,t)}else u[ie(c)]=()=>p}),i.insertBefore(a(u,t,n,s),l),i},Tn="data-c79-box",er=(e,t,n)=>{if(t.ns!==void 0)return document.createDocumentFragment();let s=document.createElement(Ge(e));s.setAttribute(Tn,"");let r=t.attrs[be];return r!==void 0&&s.setAttribute(be,r),n||to(),s},Ut=new WeakSet,tr=(e,t)=>{if(e.ns===void 0||Ut.has(e))return;let n=t.template.find(r=>typeof r=="object");if(n===void 0||n.ns!==void 0)return;Ut.add(e);let s=e.ns==="http://www.w3.org/1998/Math/MathML"?"<math>":"<svg>";console.warn(`jq79: <${X(e)}> is used inside ${s} and its template starts with <${n.tag.toLowerCase()}>, which is parsed as HTML - it renders and never draws. A component's template decides its own namespace, so root it at ${s}`)},Bt=(e,t,n,s,r)=>{let i=er(e,t,r),o=!(i instanceof DocumentFragment),l=o?null:document.createComment(`/${e}`);o||i.append(document.createComment(e),l);let a=Js(t,n),u={},c={},p=[],w=[],v=!1;Object.entries(t.attrs).forEach(([R,C])=>{if(R!==be){if(R===":props"||R.startsWith(":props.")){v=!0,w.push({expr:C});return}if(!we(R))if(R.startsWith("@"))p.push([R,C]);else if(R===":model"||R.startsWith(":model.")){let m=R===":model"?"default":ie(R.slice(7));c[m]=C||(R===":model"?"model":m)}else if(R.startsWith(":")){let m=ie(R.slice(1));u[m]=C||m,w.push({name:m,expr:C||m})}else{let m=ie(R),_=JSON.stringify(C);u[m]=_,w.push({name:m,expr:_})}}});let I=R=>R==="default"?":model":`:model.${R}`,U=R=>R==="default"?"model":R,M=R=>`${R}
10
- = $value`,S=new Set;Object.entries(c).forEach(([R,C])=>{let m=U(R);u[m]!==void 0&&console.warn(`jq79: <${X(t)}> binds prop "${m}" through both :${m} and ${I(R)} - ${I(R)} wins`),u[m]=C,vs(M(C),["$value"])===null&&(S.add(R),console.warn(`jq79: ${I(R)}="${C}" is not assignable - updates from <${X(t)}> will be dropped`))});let F=()=>{let R={};return w.forEach(({name:C,expr:m})=>{if(C!==void 0)R[C]=j(m,n);else{let _=j(m,n);_!==null&&typeof _=="object"&&Object.assign(R,_)}}),Object.entries(c).forEach(([C,m])=>{R[U(C)]=j(m,n)}),R},L=null,D=null,z=null,J=new Set,Y=R=>{if(R==null){if(!n[Wn]?.has(e)||J.has("unfilled"))return;J.add("unfilled"),console.error(`jq79: <${X(t)}> is declared as a prop and the parent passed nothing - nothing renders here. Pass it (:${e}="\u2026"), or drop it from the signature to use the one declared in this file.`);return}J.has("type")||(J.add("type"),console.error(`jq79: <${X(t)}> is ${typeof R}, not a component - nothing renders here`))};return s.effect(()=>{let R=j(e,n),C=R instanceof re?R:null;if(C||Y(R),C===D||(z?.dispose(),z=null,L?.destroy(),L=null,D=C,!C))return;tr(t,C);let m=new re({template:C.template,scripts:C.scripts,styles:C.styles,modules:C.modules,filename:C.filename,siblings:C.siblings,name:C.name});if(a&&(m.slots=a),Object.keys(c).length){let K=new Set;m.modelWriteback=(T,q)=>{let P=T==null?"default":ie(String(T)),Z=c[P];return Z===void 0?(K.has(P)||(K.add(P),console.warn(`jq79: <${X(t)}> has no ${I(P)} - bound: ${Object.keys(c).map(I).join(", ")}`)),!1):S.has(P)?!1:(Re(()=>j(M(Z),n,{$value:q})),!0)}}p.forEach(([K,T])=>Is(m,K,T,n));let _=lo(m.scripts);ao(t,e,Object.keys(u),_);let A=en(Re(F),_),G=document.createDocumentFragment();if(it>=Ft){console.error(`jq79: <${X(t)}> is ${Ft} levels deep inside itself; giving up here. A component that renders itself stops when its data stops - is there a cycle in it?`);return}it++;try{(r?m.renderShadow(A):m.render(A)).mount(G)}finally{it--}l?l.parentNode.insertBefore(G,l):i.appendChild(G);let V=de(n,!0);if(v){let K=[];V.effect(()=>{let T=en(F(),_),q=Object.keys(T);K.forEach(P=>{P in T||(m.data[P]=void 0)}),q.forEach(P=>{m.data[P]=T[P]}),K=q})}else Object.entries(u).forEach(([K,T])=>{_!==null&&!_.has(K)||V.effect(()=>{m.data[K]=j(T,n)})});z=V,L=m}),s.onDispose(()=>{z?.dispose(),L?.destroy()}),i},nr=(e,t)=>{let n=()=>{let s=j(e,t);return s!==null&&typeof s=="object"?s:null};return new Proxy(t,{has(s,r){let i=n();return i!==null&&Reflect.has(i,r)||Reflect.has(s,r)},get(s,r){let i=n();return i!==null&&Reflect.has(i,r)?i[r]:Reflect.get(s,r)},set(s,r,i){let o=n();return o!==null&&Reflect.has(o,r)?(o[r]=i,!0):Reflect.set(s,r,i)}})},ae=e=>typeof e=="string"?e.split(/\s+/).filter(Boolean):Array.isArray(e)?e.flatMap(ae):e!==null&&typeof e=="object"?Object.entries(e).flatMap(([t,n])=>n?ae(t):[]):[],sr=e=>typeof e=="function"?(t,n,s)=>{try{return!!e(t,n,s)}catch{return!1}}:typeof e=="string"||Array.isArray(e)?Rt(e):()=>!1,rr=new Set(["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]),Nn=e=>e.ns===void 0?document.createElement(e.tag):document.createElementNS(e.ns,e.tag),or={"http://www.w3.org/2000/svg":["svg","feGaussianBlur"],"http://www.w3.org/1998/Math/MathML":["math","mi"]},Ht=new Map,ir=(e,t)=>{let n=`${e} ${t}`,s=Ht.get(n);if(s!==void 0)return s;let r=or[e],i=t;if(r!==void 0&&typeof DOMParser<"u"&&/^[a-z][a-z0-9]*$/.test(t)){let[o,l]=r;i=new DOMParser().parseFromString(`<${o}><${l} ${t}="x"/></${o}>`,"text/html").querySelector(l)?.getAttributeNames().find(u=>u.toLowerCase()===t)??t}return Ht.set(n,i),i},xn=(e,t)=>{let n=e.namespaceURI;if(n===null||n===on)return t;let s=t.replace(/-/g,"").toLowerCase(),r=ir(n,s);return r===s?t:r},Cn=(e,t,n)=>{let s=rr.has(t);(s?!n:n==null)?e.removeAttribute(t):e.setAttribute(t,s?"":String(n))},oe={cloneSkeletons:!0,scopedNames:!0},lr=new Set([":text",":html",":value",":checked",":selected"]),ar=e=>e.startsWith("@")||e===":class"||e.startsWith(":class.")||lr.has(e)?!0:e.startsWith(":")?e===":model"?!1:!we(e)&&!e.includes("."):e!==Ue,_n=e=>{if(e.component||e.tag.includes("-")||Rn(e.tag)||e.tag==="template"||e.ns===void 0&&document.createElement(e.tag)instanceof HTMLUnknownElement)return!1;for(let t in e.attrs)if(!ar(t))return!1;return e.attrs[":text"]!==void 0||e.attrs[":html"]!==void 0?!0:e.children.every(t=>typeof t=="string"||_n(t))},An=(e,t,n)=>{let s=Nn(e),r,i=null;for(let p in e.attrs){let w=e.attrs[p];if(p.startsWith("@"))n.push({kind:"event",path:t,attr:p,expr:w});else if(p===":class")r=w;else if(p.startsWith(":class."))(i??(i=[])).push([p.slice(7),w]);else if(!we(p))if(p.startsWith(":")){let v=p.slice(1);n.push({kind:"attr",path:t,name:xn(s,v),expr:w||ie(v)})}else s.setAttribute(p,w)}(r!==void 0||i)&&n.push({kind:"class",path:t,classExpr:r,toggles:i,staticClasses:new Set(ae(e.attrs.class??""))});let o=e.attrs[":text"],l=e.attrs[":html"];o!==void 0?n.push({kind:"textContent",path:t,expr:o}):l!==void 0?n.push({kind:"html",path:t,expr:l}):e.children.forEach((p,w)=>{if(typeof p=="string"){p.includes("{{")?(n.push({kind:"text",path:[...t,w],parts:mn(p)}),s.appendChild(document.createTextNode(""))):s.appendChild(document.createTextNode(p));return}s.appendChild(An(p,[...t,w],n))});let a=e.attrs[":value"];a!==void 0&&n.push({kind:"value",path:t,expr:a});let u=e.attrs[":checked"];u!==void 0&&n.push({kind:"checked",path:t,expr:u});let c=e.attrs[":selected"];return c!==void 0&&n.push({kind:"selected",path:t,expr:c}),s},cr=3,On=e=>e.attrs[":text"]!==void 0||e.attrs[":html"]!==void 0?1:1+e.children.reduce((t,n)=>t+(typeof n=="string"?0:On(n)),0),zt=new WeakMap,Gt=new WeakSet,ur=e=>{let t=zt.get(e);if(t!==void 0)return t;if(!Gt.has(e))return Gt.add(e),null;let n=null;if(_n(e)&&On(e)>=cr){let s=[];n={skeleton:An(e,[],s),ops:s}}return zt.set(e,n),n},dr=(e,t)=>{let n=e;for(let s=0;s<t.length;s++)n=n.childNodes[t[s]];return n},fr=(e,t,n)=>{let s=e.skeleton.cloneNode(!0);for(let r of e.ops){let i=r.path.length===0?s:dr(s,r.path);if(r.kind==="text"){let o=i,l=r.parts;n.effect(()=>{let a=yn(l,t);o.textContent!==a&&(o.textContent=a)})}else if(r.kind==="event")bn(i,r.attr,r.expr,t);else if(r.kind==="attr"){let o=i,{name:l,expr:a}=r;n.effect(()=>Cn(o,l,j(a,t)))}else if(r.kind==="class"){let o=i,{classExpr:l,toggles:a,staticClasses:u}=r,c=[];n.effect(()=>{let p=l!==void 0?ae(j(l,t)):[];a?.forEach(([w,v])=>{j(v,t)&&p.push(...ae(w))}),c.forEach(w=>{!p.includes(w)&&!u.has(w)&&o.classList.remove(w)}),o.classList.add(...p),c=p})}else if(r.kind==="textContent"){let o=i,{expr:l}=r;n.effect(()=>{let a=String(j(l,t)??"");o.textContent!==a&&(o.textContent=a)})}else if(r.kind==="html"){let o=i,{expr:l}=r;n.effect(()=>{o.innerHTML=Ke(String(j(l,t)??""))})}else if(r.kind==="value"){let o=i,{expr:l}=r;n.effect(()=>{let a=String(j(l,t)??"");o.value!==a&&(o.value=a)})}else if(r.kind==="checked"){let o=i,{expr:l}=r;n.effect(()=>{let a=!!j(l,t);o.checked!==a&&(o.checked=a)})}else if(r.kind==="selected"){let o=i,{expr:l}=r;n.effect(()=>{let a=!!j(l,t);o.selected!==a&&(o.selected=a)})}else{let o=r}}return s},mt=(e,t,n,s)=>{let r=e.attrs[":with"],i=r!==void 0?nr(r,t):t;if(Rn(e.tag))return Qs(e,i,n,s);if(e.tag==="template"&&Te(e)!==void 0)return Xs(e);let o=qt(e,i);if(o)return Bt(o,e,i,n,s);if(oe.cloneSkeletons){let S=ur(e);if(S)return fr(S,i,n)}let l=Nn(e);if(e.component!==void 0&&i[ft]?.count===0)throw zs(e.component,i);let a=e.ns===void 0&&(e.component!==void 0||e.tag.includes("-"));if(a){let S=!1;n.effect(()=>{if(S)return;let F=qt(e,i);if(!F)return;S=!0;let L=Bt(F,e,i,n,s),D=gt(L);n.onDispose(()=>ze(D)),l.replaceWith(L)})}for(let S in e.attrs){let F=e.attrs[S];if(S.startsWith("@"))bn(l,S,F,i);else if(S===":model"||S.startsWith(":model."))a||console.warn(`jq79: ${S} on <${X(e)}> does nothing - :model binds component tags only (for now)`);else if(!we(S))if(S.startsWith(":"))if(a)l.setAttribute(S,F);else{let L=S.slice(1),D=F||ie(L),z=xn(l,L);n.effect(()=>Cn(l,z,j(D,i)))}else l.setAttribute(S,F)}let u=e.attrs[":class"],c=null;for(let S in e.attrs)S.startsWith(":class.")&&(c??(c=[])).push([S.slice(7),e.attrs[S]]);if(u!==void 0||c){let S=new Set(ae(e.attrs.class??"")),F=[];n.effect(()=>{let L=u!==void 0?ae(j(u,i)):[];c?.forEach(([D,z])=>{j(z,i)&&L.push(...ae(D))}),F.forEach(D=>{!L.includes(D)&&!S.has(D)&&l.classList.remove(D)}),l.classList.add(...L),F=L})}let p=e.attrs[":text"],w=e.attrs[":html"],v=e.attrs[":html.allowed"];v!==void 0&&w===void 0&&console.warn("jq79: :html.allowed without :html on the same element does nothing"),p!==void 0?n.effect(()=>{let S=String(j(p,i)??"");l.textContent!==S&&(l.textContent=S)}):w!==void 0?n.effect(()=>{let S=v!==void 0?{allowUrl:sr(j(v,i))}:void 0;l.innerHTML=Ke(String(j(w,i)??""),S)}):l instanceof HTMLTemplateElement?ge(e.children,i,n,s,l.content):ge(e.children,i,n,s,l);let I=e.attrs[":value"];I!==void 0&&n.effect(()=>{let S=String(j(I,i)??"");l.value!==S&&(l.value=S)});let U=e.attrs[":checked"];U!==void 0&&n.effect(()=>{let S=!!j(U,i);l.checked!==S&&(l.checked=S)});let M=e.attrs[":selected"];return M!==void 0&&n.effect(()=>{let S=!!j(M,i);l.selected!==S&&(l.selected=S)}),l},pr=(e,t,n,s)=>{let r=document.createComment("if"),i=document.createDocumentFragment();i.appendChild(r);let o=null,l=null,a=null;return n.effect(()=>{let u=e.find(p=>p.expr===void 0||j(p.expr,t))??null;if(u===l||(a?.dispose(),o&&ze(o),o=null,l=u,!u))return;a=de(t);let c=mt(u.node,t,a,s);o=gt(c),r.parentNode.insertBefore(c,r.nextSibling)}),i},Ee=(e,t,n)=>{Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})},hr=e=>{let t=new Uint8Array(e.length),n=[],s=new Int32Array(e.length).fill(-1);for(let r=0;r<e.length;r++){let i=e[r];if(i<0)continue;let o=0,l=n.length;for(;o<l;){let a=o+l>>1;e[n[a]]<i?o=a+1:l=a}o>0&&(s[r]=n[o-1]),n[o]=r}for(let r=n.length?n[n.length-1]:-1;r!==-1;r=s[r])t[r]=1;return t},gr=e=>{if(e===null||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},vn=(e,t)=>typeof e=="string"?t.some(n=>Kt(e,n)):Object.values(e.attrs).some(n=>t.some(s=>Kt(n,s)))||e.children.some(n=>vn(n,t)),Zt=/[A-Za-z0-9_$]/,mr=/^[A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*$/,Kt=(e,t)=>{for(let n=e.indexOf(t);n!==-1;n=e.indexOf(t,n+1)){let s=n===0?"":e[n-1],r=e[n+t.length]??"";if(!Zt.test(s)&&!Zt.test(r))return!0}return!1},lt=new WeakMap,yr=e=>{let t=lt.get(e);if(t!==void 0)return t;let n=e.attrs[":each"].match(Ds);if(!n)return lt.set(e,null),null;let[,s,r,i]=n,o=e.attrs[":key"],l=o===s,a=o!==void 0&&!l&&mr.test(o)&&o.startsWith(`${s}.`)?o.slice(s.length+1):void 0,{[":each"]:u,[":key"]:c,...p}=e.attrs,w={...e,attrs:p},v=["$index",...r?[r]:[]],I=vn(w,v),U=/^[A-Z]/.test(s)||r!==void 0&&/^[A-Z]/.test(r),M={itemName:s,atName:r,listExpr:i,keyExpr:o,keyIsItem:l,keyProp:a,itemNode:w,readsPosition:I,namesComponent:U};return lt.set(e,M),M},Er=(e,t,n,s)=>{let r=yr(e);if(!r)return document.createComment(`invalid :each expression "${e.attrs[":each"]}"`);let{itemName:i,atName:o,listExpr:l,keyExpr:a,keyIsItem:u,keyProp:c,itemNode:p,readsPosition:w,namesComponent:v}=r,I=document.createComment("each"),U=document.createDocumentFragment();U.appendChild(I),(":if"in e.attrs||":elseif"in e.attrs||":else"in e.attrs)&&console.warn("jq79: :if/:elseif/:else on a :each element is ignored; filter the list expression instead");let M=[],S=!1;return n.effect(()=>{let F=Us(t);try{let L=j(l,t),D=Array.isArray(L),z=D?null:gr(L)?Object.keys(L):[],J=D?L.length:z.length,Y=new Map;M.forEach((T,q)=>{T.pos=q;let P=Y.get(T.key);P?P.push(T):Y.set(T.key,[T])});let R=new Set,C=[],m=[],_=[],A;for(let T=0;T<J;T++){let q=D?T:z[T],P=D?L[T]:L[q],Z=q;u?Z=P:c!==void 0&&P!==null&&typeof P=="object"?Z=P[c]:a!==void 0&&(A===void 0?(A=Object.create(t),Ee(A,i,P),o&&Ee(A,o,q),Ee(A,"$index",T)):(A[i]=P,o&&(A[o]=q),A.$index=T),Z=j(a,A)),R.has(Z)&&!S&&(S=!0,console.warn(`jq79: duplicate :key in :each "${e.attrs[":each"]}"; duplicates pair up by position`)),R.add(Z);let f=Y.get(Z)?.shift();if(f&&Object.is(f.item,P)){let b=f.scope;b.$index!==T&&(w&&C.push(f),b.$index=T),o&&b[o]!==q&&(b[o]=q),m.push(f),_.push(f.pos);continue}f&&(f.fx.dispose(),ze(f.range));let d=Object.create(t);Ee(d,i,P),o&&Ee(d,o,q),Ee(d,"$index",T),v||wn.add(d);let g=de(t),h=gt(mt(p,d,g,s));m.push({key:Z,item:P,scope:d,fx:g,range:h,pos:T}),_.push(-1)}let G=new Set;Y.forEach(T=>T.forEach(q=>G.add(q))),G.size&&(G.forEach(T=>{T.dead=!0,T.fx.dispose()}),qs(Ws(M,T=>T.dead===!0)));let V=I,K=hr(_);m.forEach((T,q)=>{!K[q]&&V.nextSibling!==T.range.first&&Fs(T.range,V),V=T.range.last}),C.forEach(T=>Re(()=>T.fx.refresh())),M=m}finally{Bs(F)}}),U},jn=(e,t)=>{let n=t;for(;n<e.length&&typeof e[n]=="string"&&!e[n].trim();)n++;return n},at=e=>{let t=":if"in e.attrs,n=":elseif"in e.attrs,s=":else"in e.attrs;if((t?1:0)+(n?1:0)+(s?1:0)<2)return;let r=[t?":if":null,n?":elseif":null,s?":else":null].filter(Boolean);console.warn(`jq79: ${r.join(" and ")} on the same <${X(e)}> - only ${r[0]} applies; the branches of a chain are sibling elements, one directive each`)},br=(e,t)=>{let n=":elseif"in e.attrs?":elseif":":else";console.warn(t?`jq79: a second ${n} on <${X(e)}> - the chain before it already ended with :else, which closes it. One :if, any number of :elseif, at most one :else`:`jq79: ${n} on <${X(e)}> continues no :if - it renders unconditionally. A chain is :if, then :elseif, then :else, on adjacent siblings: anything but whitespace between them breaks it`)},wr=[":if",":elseif",":else",":each"],Sr=(e,t)=>{if(e.tag!=="template"||e.ns!==void 0)return;let n=wr.find(s=>s in e.attrs);if(n!==void 0){if(Te(e)!==void 0){if(t?.component===void 0)return;console.warn(`jq79: ${n} on <template ${Te(e)}> is ignored - a slot is filled with its children as written. Put ${n} on the elements inside it, or on the component's tag`);return}console.warn(`jq79: ${n} on a nested <template> shows nothing - a <template>'s children live in its .content and never reach the page. Put ${n} on the elements themselves`)}},Rr=[...En,":model",":slot"].map(e=>e.slice(1)),$r={":attrs":':attrs was removed in 0.7 - it now binds an attribute called "attrs". Bind them one at a time (:disabled="x", :title="y"), or :class for classes'},Tr=e=>{for(let t in e.attrs){let n=$r[t];n!==void 0&&console.warn(`jq79: ${n}`)}},Nr=e=>{if(!(e.component!==void 0||e.tag.includes("-")))for(let t in e.attrs){if(!t.startsWith(":")||we(t)||t===":model"||t.startsWith(":model."))continue;let n=t.slice(1);if(n.includes(".")){console.warn(`jq79: ${t} is not a directive - it bound an attribute named "${n}". Dotted modifiers belong to an event: if you meant @${n}, that is the spelling`);continue}let s=Rr.find(r=>n!==r&&n.startsWith(r));s!==void 0&&console.warn(`jq79: ${t} is not a directive - it bound an attribute named "${n}". A ":name" jq79 does not recognize binds that attribute (which is what :src and :disabled are). If you meant :${s}, that is the spelling`)}},Pn=(e,t)=>{e.forEach(s=>{typeof s!="string"&&(Sr(s,t),Tr(s),Nr(s),Pn(s.children,s))});let n=!1;for(let s=0;s<e.length;){let r=e[s];if(typeof r=="string"){r.trim()&&(n=!1),s++;continue}if(":each"in r.attrs){n=!1,s++;continue}if(at(r),":if"in r.attrs){s++;let i=l=>{let a=jn(e,s),u=e[a];if(typeof u=="object"&&l in u.attrs)return s=a+1,u};for(let l=i(":elseif");l;l=i(":elseif"))at(l);let o=i(":else");o&&at(o),n=o!==void 0;continue}(":elseif"in r.attrs||":else"in r.attrs)&&br(r,n),n=!1,s++}},Vt=new WeakMap,xr=(e,t,n)=>{let s=Vt.get(t);if(s)return s;let r=[{expr:t.attrs[":if"],node:t}],i=n+1,o=u=>{let c=jn(e,i),p=e[c];if(typeof p=="object"&&u in p.attrs)return i=c+1,p};for(let u=o(":elseif");u;u=o(":elseif"))r.push({expr:u.attrs[":elseif"],node:u});let l=o(":else");l&&r.push({node:l});let a={branches:r,next:i};return Vt.set(t,a),a},ge=(e,t,n,s=!1,r)=>{let i=r??document.createDocumentFragment(),o=0;for(;o<e.length;){let l=e[o];if(typeof l=="string"){let a=document.createTextNode(l);if(l.includes("{{")){let u=mn(l);n.effect(()=>{let c=yn(u,t);a.textContent!==c&&(a.textContent=c)})}i.appendChild(a),o++;continue}if(":each"in l.attrs){i.appendChild(Er(l,t,n,s)),o++;continue}if(":if"in l.attrs){let a=xr(e,l,o);i.appendChild(pr(a.branches,t,n,s)),o=a.next;continue}i.appendChild(mt(l,t,n,s)),o++}return i},Cr=(e,t,n=!1)=>ge(e.template,t,de(t),n),_r=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Ar=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*?)\/>/g,yt=/(<script[\s\S]*?<\/script\s*>|<style[\s\S]*?<\/style\s*>)/gi,Or=e=>e.split(yt).map((t,n)=>n%2===1?t:t.replace(Ar,(s,r,i)=>_r.has(r.toLowerCase())?s:`<${r}${i}></${r}>`)).join(""),kn=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,vr=/"[^"]*"|'[^']*'|(^|\s)\.\.\.([A-Za-z_$][\w$.]*)/g,jr=e=>e.split(yt).map((t,n)=>n%2===1?t:t.replace(kn,(s,r,i)=>{let o=0,l=i.replace(vr,(a,u,c)=>c===void 0?a:`${u}:props.${o++}="${c}"`);return`<${r}${l}>`})).join(""),Pr=/"[^"]*"|'[^']*'|(^|\s)(:[\w.$-]+)/g,kr=/<\/slot\.([\w.$-]+)(\s*)>/gi,Mr=/^slot\./i,Lr=e=>Mr.test(e)?`slot.${We(e.slice(5))}`:e,Ue=":jq79-component",Mn=/^[A-Z]/,Dr="c79-",Ge=e=>`${Dr}${We(e[0].toLowerCase()+e.slice(1))}`,Ir=e=>Mn.test(e)?Ge(e):Lr(e),qr=/<\/([A-Z][\w.-]*)(\s*)>/g,Wr=/\/\s*$/,Fr=(e,t)=>{if(!Mn.test(e))return t;let n=` ${Ue}="${e}"`,s=Wr.exec(t);return s?`${t.slice(0,s.index)}${n}${s[0]}`:`${t}${n}`},Ur=e=>e.split(yt).map((t,n)=>n%2===1?t:t.replace(kn,(s,r,i)=>{let o=i.replace(Pr,(l,a,u)=>u===void 0?l:`${a}${We(u)}`);return`<${Ir(r)}${Fr(r,o)}>`}).replace(kr,(s,r,i)=>`</slot.${We(r)}${i}>`).replace(qr,(s,r,i)=>`</${Ge(r)}${i}>`)).join(""),be="data-jq79",Br=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0).toString(36)},Ln=(e,t)=>{e.forEach(n=>{typeof n!="string"&&(n.attrs[be]=t,Ln(n.children,t))})},Hr=(e,t)=>e.split(",").map(n=>{let s=n.trim(),r=s.indexOf("::"),i=r===-1?s:s.slice(0,r),o=r===-1?"":s.slice(r);return`${i}[${be}="${t}"]${o}`}).join(", "),Dn=(e,t)=>{Array.from(e).forEach(n=>{n instanceof CSSStyleRule?n.selectorText=Hr(n.selectorText,t):n instanceof CSSGroupingRule&&Dn(n.cssRules,t)})},zr=/(^|[\s>+~,(])([A-Z][A-Za-z0-9]*)(?![\w-])/g,Gr=/[a-z]/,Zr=e=>e.replace(zr,(t,n,s)=>Gr.test(s)?`${n}${Ge(s)}`:t),Kr=/^\s*@(media|supports|container|layer|scope|document)\b/i,Vr=/^\s*@/,Xr=e=>{let t="",n="",s="",r=[],i=()=>r.length===0||r[r.length-1],o=()=>{t+=i()&&!Vr.test(s)?Zr(n):n,n=""},l=u=>{o(),t+=u,s+=u},a=(u,c)=>{o(),t+=u,s="",c!==void 0?r.push(c):u==="}"&&r.pop()};for(let u=0;u<e.length;){let c=e[u];if(c==="/"&&e[u+1]==="*"){let p=e.indexOf("*/",u+2),w=p===-1?e.length:p+2;l(e.slice(u,w)),u=w}else if(c==='"'||c==="'"){let p=u+1;for(;p<e.length&&e[p]!==c;)p+=e[p]==="\\"?2:1;l(e.slice(u,Math.min(p+1,e.length))),u=p+1}else c==="{"?(a("{",Kr.test(s)),u++):c==="}"||c===";"?(a(c),u++):(n+=c,s+=c,u++)}return o(),t},Jr=(e,t)=>{/:deep\(|::v-deep|>>>/.test(e)&&console.warn("jq79: :deep()/::v-deep/>>> are not supported in <style scoped>; the rule will be dropped by the browser");let n=new CSSStyleSheet;return n.replaceSync(e),Dn(n.cssRules,t),Array.from(n.cssRules).map(s=>s.cssText).join(`
11
- `)},Yr=/^[A-Z][A-Za-z0-9]*$/,dt=e=>{let t=Or(jr(Ur(e))),s=new DOMParser().parseFromString(`<template>${t}</template>`,"text/html").querySelector("template"),r=[],i=[];Array.from(s.content.children).forEach(a=>{a.tagName==="TEMPLATE"?i.push(a):r.push(a)});let o=Xt(r,e),l={};return i.forEach(a=>{let u=a.getAttribute("name");if(u===null){console.warn("jq79: a top-level <template> without a name declares nothing and was ignored");return}if(!Yr.test(u)){console.warn(`jq79: <template name="${u}"> was ignored - a component name has to be PascalCase, or no tag could ever reference it (only capitalized names resolve as components)`);return}if(u in l){console.warn(`jq79: two <template name="${u}"> in one file; the second was ignored`);return}l[u]=new re({...Xt(Array.from(a.content.children),a.innerHTML),siblings:l,name:u})}),Object.keys(l).length&&(o.siblings=l),o},Xt=(e,t)=>{let n=[],s=[],r=[];e.forEach(o=>{let l={attrs:rn(o),content:o.textContent??""};o.tagName==="SCRIPT"?n.push(l):o.tagName==="STYLE"?s.push(l):r.push(ln(o))}),n.forEach(o=>{"lang"in o.attrs&&console.warn(`jq79: <script lang="${o.attrs.lang}"> needs the jq79/vite plugin to compile it. This component didn't go through the bundler, so its types were never stripped: the script will throw, or - for a plain \`let x: T = ...\` - silently fail to declare x.`)}),s.forEach(o=>{"lang"in o.attrs&&console.warn(`jq79: <style lang="${o.attrs.lang}"> needs the jq79/vite plugin to compile it. This component didn't go through the bundler, so its styles were left uncompiled and the browser will ignore them.`)}),s.forEach(o=>{"lang"in o.attrs||(o.content=Xr(o.content))});let i=o=>"scoped"in o.attrs&&!("lang"in o.attrs);if(s.some(i)){let o=Br(t);Ln(r,o),s.forEach(l=>{i(l)&&(l.scoped=Jr(l.content,o))})}return Pn(r),{template:r,scripts:n,styles:s}},Et=e=>/\.html?([?#]|$)/.test(e)?pt(e):import(e),Qr=/^(?:\.\.?\/|\/|[a-z][a-z0-9+.-]*:)/i,eo=(e,t)=>{if(!Qr.test(e))return e;try{return new URL(e,new URL(t??"",document.baseURI)).href}catch{return e}},In=(e,t)=>e?`
12
- //# sourceURL=${e}?jq79-script=${t}`:"",Jt=e=>e.scoped??e.content,qn=`:where([${Tn}]) { display: contents }`,De=null,to=()=>{De?.isConnected||(De=document.createElement("style"),De.textContent=qn,document.head.appendChild(De))},Be=new Map,no=e=>{let t=Be.get(e);if(!t){let n=document.createElement("style");n.textContent=e,document.head.appendChild(n),t={el:n,count:0},Be.set(e,t)}t.count++},so=e=>{let t=Be.get(e);t&&--t.count<=0&&(t.el.remove(),Be.delete(e))},ro=(e,t,n,s={},r=Et,i={})=>{let o={...Bn,...s},l=new Proxy(t,{has:(c,p)=>p!=="$__effect"&&p!=="$__import"&&p!=="$__state"&&(Reflect.has(c,p)||!(p in globalThis)&&!(p in o))}),a={},u=new Function("$scope","$__effect","$__import","$__state",...Object.keys(o),`return (async () => { with ($scope) { ${e} }
13
- ;$__state.done = true })()${In(i.filename,i.index??0)}`)(l,n,r,a,...Object.values(o));return u.catch(c=>console.error("jq79: error in :setup script",c)),fn(u),{settled:u,sync:a.done===!0}},Yt=(e,t)=>{t?.forEach(({name:n,default:s})=>{e[n]===void 0&&(e[n]=s===void 0?void 0:j(s,e))})},bt=e=>{let t=e.attrs[":setup"];if(t===void 0)return null;if(t.trim()==="")return[];let n=Me(t);return n||oo(e,t),n},Qt=new WeakSet,oo=(e,t)=>{t.trim()==="_"||Qt.has(e)||(Qt.add(e),console.warn(`jq79: :setup="${t}" is not a props pattern, so this component declares no signature and takes whatever a parent passes - write the props it takes ("{ a, b }"), a bare :setup for none, or "_" to stay open on purpose`))},io=e=>{let t=new Set;return e.forEach(n=>{(Le(n.content)??bt(n))?.forEach(({name:r})=>t.add(r))}),t},lo=e=>{let t=null;return e.forEach(n=>{let s=Le(n.content)??bt(n);if(!s)return;let r=t??(t=new Set);s.forEach(({name:i})=>r.add(i))}),t},en=(e,t)=>{if(t===null)return e;let n={};return Object.keys(e).forEach(s=>{t.has(s)&&(n[s]=e[s])}),n},tn=new WeakMap,ao=(e,t,n,s)=>{if(s===null)return;let r=tn.get(e)??new Set;tn.set(e,r),n.forEach(i=>{s.has(i)||r.has(i)||(r.add(i),console.warn(`jq79: :${i} is not declared by <${t}> - add it to the :setup signature, or drop it`))})},co=(e,t)=>{if(!e)return null;let n=Object.create(null),s=!1;return Object.entries(e).forEach(([r,i])=>{t.has(r)||(n[r]=i,s=!0)}),s?n:null},Wn=Symbol("jq79.unfilledProps"),ft=Symbol("jq79.pendingScripts"),uo=e=>e&&e.default!==void 0?e.default:e,fo=(e,t,n,s={},r=Et,i={})=>{let o={...Bn,...s},l={},a=new Function("$__exports","$__default","$__import",...Object.keys(o),`return (async () => { "use strict";
9
+ );`)}catch{return null}},cn=(e,t,n)=>{let s=Ie.get(e);if(s===void 0){let r=Os(t,n);s=r?{fn:r,scoped:!0}:{fn:an(t,n),scoped:!1},Ie.set(e,s)}return s},un=(e,t)=>`${t.join(",")}|${e}`,vs=(e,t)=>cn(un(e,t),e,t).fn,js=(e,t,n)=>{let s=an(t,n);return Ie.set(e,{fn:s,scoped:!1}),s},Ps=/^(?:([\w$]+) is not defined|Can't find variable: ([\w$]+))/,ks=100,pe=new Map,ht=new Set,qe=0,ct=!1,ut=new Set,Ms=()=>{ct=!1,!(qe>0)&&(pe.forEach(({name:e,expr:t,scope:n},s)=>{e in n||(ht.add(s),console.warn(`jq79: ${e} is not defined - evaluating "${t}". Template expressions resolve against the component store: a top-level let/var/const in a :setup script, a declared prop, or a global. Note a "function name() {}" declaration is not on the store - write "const name = () => {}".`))}),pe.clear())},dn=()=>{ct||qe>0||!pe.size||(ct=!0,queueMicrotask(Ms))},fn=e=>{qe++;let t=()=>{qe--,dn()};e.then(t,t)},Ls=(e,t)=>{if(ut.has(e))return;ut.add(e);let n=t?.message||String(t);console.error(`jq79: ${n} - evaluating "${e}". The expression rendered as nothing. If the value arrives later, guard it - "a?.b", or :if on the element.`)},pn=(e,t,n)=>{if(!(n instanceof ReferenceError))return Ls(e,n);let s=Ps.exec(n.message),r=s?.[1]??s?.[2];if(!r)return;let i=`${r}|${e}`;ht.has(i)||pe.has(i)||pe.size>=ks||(pe.set(i,{name:r,expr:e,scope:t}),dn())},hn=(e,t,n)=>{let s=n?Object.keys(n):[],r=un(e,s),{fn:i,scoped:o}=cn(r,e,s);if(!i)return;let l=n?Object.values(n):[];if(!o)return i(t,rt,...l);try{return i(t,rt,...l)}catch(a){if(!(a instanceof ReferenceError))throw a;let u=js(r,e,s);if(!u)throw a;return u(t,rt,...l)}},j=(e,t,n)=>{try{return hn(e,t,n)}catch(s){pn(e,t,s);return}},gn=(e,t,n)=>{try{return hn(e,t,n)}catch(s){if(!(s instanceof ReferenceError))throw s;pn(e,t,s);return}},ot=/{{\s*([\s\S]+?)\s*}}/g,Dt=new Map,mn=e=>{let t=Dt.get(e);if(t)return t;let n=[],s=0;ot.lastIndex=0;for(let r=ot.exec(e);r;r=ot.exec(e))r.index>s&&n.push(e.slice(s,r.index)),n.push({expr:r[1]}),s=r.index+r[0].length;return s<e.length&&n.push(e.slice(s)),Dt.set(e,n),n},yn=(e,t)=>{if(e.length===1){let s=e[0];return typeof s=="string"?s:String(j(s.expr,t)??"")}let n="";for(let s of e)n+=typeof s=="string"?s:String(j(s.expr,t)??"");return n},En=new Set([":class",":value",":checked",":selected",":if",":elseif",":else",":each",":key",":with",":text",":html",":html.allowed",":props"]),we=e=>En.has(e)||e.startsWith(":class.")||e.startsWith(":props.")||e===":slot"||e.startsWith(":slot."),Ds=/^\s*\(?\s*(\w+)\s*(?:,\s*(\w+))?\s*\)?\s+in\s+([\s\S]+)$/,bn=(e,t,n,s)=>{let[r,...i]=t.slice(1).split("."),o=new Set(i);e.addEventListener(r,l=>{if(o.has("self")&&l.target!==e)return;o.has("prevent")&&l.preventDefault(),o.has("stop")&&l.stopPropagation();let a=gn(n,s,{$event:l});typeof a=="function"&&a.call(e,l)},{once:o.has("once"),capture:o.has("capture")})},Is=(e,t,n,s)=>{let[r,...i]=t.slice(1).split("."),o=new Set(i),l=a=>{o.has("prevent")&&a.preventDefault(),o.has("stop")&&a.stopPropagation(),o.has("once")&&e.off(r,l),Re(()=>{let u=gn(n,s,{$event:a});typeof u=="function"&&u(a)})};e.on(r,l)},ie=e=>e.replace(/-(\w)/g,(t,n)=>n.toUpperCase()),We=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),gt=e=>e instanceof DocumentFragment?{first:e.firstChild,last:e.lastChild}:{first:e,last:e},ze=({first:e,last:t})=>{for(let n=e;n;){let s=n===t?null:n.nextSibling;n.parentNode?.removeChild(n),n=s}},qs=e=>{e.forEach(t=>{if(t.first===t.last)return ze(t);if(!t.first.parentNode)return;let s=document.createRange();s.setStartBefore(t.first),s.setEndAfter(t.last),s.deleteContents()})},Ws=(e,t)=>{let n=[],s=null;return e.forEach(r=>{if(!t(r)){s=null;return}s&&s.last.nextSibling===r.range.first?s.last=r.range.last:n.push(s={first:r.range.first,last:r.range.last})}),n},Fs=({first:e,last:t},n)=>{let s=n.nextSibling;for(let r=e;r;){let i=r===t?null:r.nextSibling;n.parentNode.insertBefore(r,s),r=i}},It=(e,t)=>{let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s))for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r;return null},fe=null,Fe=null,wn=new WeakSet,Us=e=>{let t={memo:fe,base:Fe};return fe=new Map,Fe=e,t},Bs=e=>{fe=e.memo,Fe=e.base},qt=(e,t)=>e.component!==void 0?Wt(t,e.component):e.tag.includes("-")?Wt(t,e.tag):null,X=e=>e.component??e.tag,Wt=(e,t)=>{if(!fe)return It(e,t);let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s)){if(s===Fe){if(fe.has(t))return fe.get(t);let r=It(s,t);return fe.set(t,r),r}if(!wn.has(s)){for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r}}return null},Hs=e=>{let t=new Set;for(let n=e;n&&n!==Object.prototype;n=Object.getPrototypeOf(n))for(let s of Object.keys(n))/^[A-Z]/.test(s)&&t.add(s);return[...t].sort()},zs=(e,t)=>{let n=Hs(t);return new Error(`jq79: <${e}> is not defined - no component of that name is in scope, and nothing renders here. Import it in a :setup script, declare it as a prop, or add a <template name="${e}"> to this file. In scope: ${n.length?n.join(", "):"(none)"}.`)},Ft=100,it=0,Sn=Symbol("jq79.slots"),Rn=e=>e==="slot"||e.startsWith("slot."),$n=e=>e?ie(e):"default",Te=e=>Object.keys(e.attrs).find(t=>t===":slot"||t.startsWith(":slot.")),Gs=e=>e==="default"?":slot":`:slot.${e}`,Zs=e=>typeof e!="string"||e.trim()!=="",Ks=e=>{let t={},n=[];e.children.forEach(r=>{let i=typeof r=="object"&&r.tag==="template"?Te(r):void 0;if(typeof r=="string"||i===void 0){n.push(r);return}let o=$n(i.slice(6));if(o in t){console.warn(`jq79: two <template ${Gs(o)}> in <${X(e)}>; the second was ignored`);return}t[o]={nodes:r.children,binder:r.attrs[i]||void 0}});let s=n.some(Zs);return s&&"default"in t?console.warn(`jq79: <${X(e)}> has both a <template :slot> and content outside it - the <template> is the default slot's content, and the rest was ignored`):s&&(t.default={nodes:n,binder:e.attrs[":slot"]||void 0}),t},Vs=(e,t,n)=>{Me(t)?.forEach(({name:s,as:r,default:i})=>{let o=r??s;Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>{let l=n[s]?.();return l===void 0&&i!==void 0?j(i,e):l},set:()=>console.warn(`jq79: "${o}" is a slot prop - it comes from the component, so assigning to it does nothing`)})})},Xs=e=>{let t=Te(e);return console.warn(`jq79: <template ${t}> fills a slot only as a direct child of a component tag; here it rendered nothing`),document.createComment(`misplaced ${t}`)},Ys=(e,t)=>{let n=Object.entries(Ks(e));if(!n.length)return null;let s={};return n.forEach(([r,i])=>{s[r]=Js(i,t)}),s},Js=(e,t)=>(n,s,r,i)=>{let o=Object.create(t);Vs(o,e.binder,n);let l=o[Ae]??[];Object.defineProperty(o,Ae,{value:[...l,s]});let a=de(o);return r.onDispose(()=>a.dispose()),ge(e.nodes,o,a,i)},Qs=(e,t,n,s)=>{let r=$n(e.tag.slice(5)),i=document.createDocumentFragment(),o=document.createComment(e.tag),l=document.createComment(`/${e.tag}`);i.append(o,l);let a=t[Sn]?.[r];if(!a)return i.insertBefore(ge(e.children,t,n,s),l),i;let u={};return Object.entries(e.attrs).forEach(([c,p])=>{if(!(c===be||we(c)||c.startsWith("@")))if(c.startsWith(":")){let w=p||c.slice(1);u[ie(c.slice(1))]=()=>j(w,t)}else u[ie(c)]=()=>p}),i.insertBefore(a(u,t,n,s),l),i},Tn="data-c79-box",er=(e,t,n)=>{if(t.ns!==void 0)return document.createDocumentFragment();let s=document.createElement(Ge(e));s.setAttribute(Tn,"");let r=t.attrs[be];return r!==void 0&&s.setAttribute(be,r),n||so(),s},Ut=new WeakSet,tr=(e,t)=>{if(e.ns===void 0||Ut.has(e))return;let n=t.template.find(r=>typeof r=="object");if(n===void 0||n.ns!==void 0)return;Ut.add(e);let s=e.ns==="http://www.w3.org/1998/Math/MathML"?"<math>":"<svg>";console.warn(`jq79: <${X(e)}> is used inside ${s} and its template starts with <${n.tag.toLowerCase()}>, which is parsed as HTML - it renders and never draws. A component's template decides its own namespace, so root it at ${s}`)},Bt=(e,t,n,s,r)=>{let i=er(e,t,r),o=!(i instanceof DocumentFragment),l=o?null:document.createComment(`/${e}`);o||i.append(document.createComment(e),l);let a=Ys(t,n),u={},c={},p=[],w=[],v=!1;Object.entries(t.attrs).forEach(([R,C])=>{if(R!==be){if(R===":props"||R.startsWith(":props.")){v=!0,w.push({expr:C});return}if(!we(R))if(R.startsWith("@"))p.push([R,C]);else if(R===":model"||R.startsWith(":model.")){let m=R===":model"?"default":ie(R.slice(7));c[m]=C||(R===":model"?"model":m)}else if(R.startsWith(":")){let m=ie(R.slice(1));u[m]=C||m,w.push({name:m,expr:C||m})}else{let m=ie(R),_=JSON.stringify(C);u[m]=_,w.push({name:m,expr:_})}}});let I=R=>R==="default"?":model":`:model.${R}`,U=R=>R==="default"?"model":R,M=R=>`${R}
10
+ = $value`,S=new Set;Object.entries(c).forEach(([R,C])=>{let m=U(R);u[m]!==void 0&&console.warn(`jq79: <${X(t)}> binds prop "${m}" through both :${m} and ${I(R)} - ${I(R)} wins`),u[m]=C,vs(M(C),["$value"])===null&&(S.add(R),console.warn(`jq79: ${I(R)}="${C}" is not assignable - updates from <${X(t)}> will be dropped`))});let F=()=>{let R={};return w.forEach(({name:C,expr:m})=>{if(C!==void 0)R[C]=j(m,n);else{let _=j(m,n);_!==null&&typeof _=="object"&&Object.assign(R,_)}}),Object.entries(c).forEach(([C,m])=>{R[U(C)]=j(m,n)}),R},L=null,D=null,z=null,Y=new Set,J=R=>{if(R==null){if(!n[Wn]?.has(e)||Y.has("unfilled"))return;Y.add("unfilled"),console.error(`jq79: <${X(t)}> is declared as a prop and the parent passed nothing - nothing renders here. Pass it (:${e}="\u2026"), or drop it from the signature to use the one declared in this file.`);return}Y.has("type")||(Y.add("type"),console.error(`jq79: <${X(t)}> is ${typeof R}, not a component - nothing renders here`))};return s.effect(()=>{let R=j(e,n),C=R instanceof re?R:null;if(C||J(R),C===D||(z?.dispose(),z=null,L?.destroy(),L=null,D=C,!C))return;tr(t,C);let m=new re({template:C.template,scripts:C.scripts,styles:C.styles,modules:C.modules,filename:C.filename,siblings:C.siblings,name:C.name});if(a&&(m.slots=a),Object.keys(c).length){let K=new Set;m.modelWriteback=(T,q)=>{let P=T==null?"default":ie(String(T)),Z=c[P];return Z===void 0?(K.has(P)||(K.add(P),console.warn(`jq79: <${X(t)}> has no ${I(P)} - bound: ${Object.keys(c).map(I).join(", ")}`)),!1):S.has(P)?!1:(Re(()=>j(M(Z),n,{$value:q})),!0)}}p.forEach(([K,T])=>Is(m,K,T,n));let _=co(m.scripts);uo(t,e,Object.keys(u),_);let A=en(Re(F),_),G=document.createDocumentFragment();if(it>=Ft){console.error(`jq79: <${X(t)}> is ${Ft} levels deep inside itself; giving up here. A component that renders itself stops when its data stops - is there a cycle in it?`);return}it++;try{(r?m.renderShadow(A):m.render(A)).mount(G)}finally{it--}l?l.parentNode.insertBefore(G,l):i.appendChild(G);let V=de(n,!0);if(v){let K=[];V.effect(()=>{let T=en(F(),_),q=Object.keys(T);K.forEach(P=>{P in T||(m.data[P]=void 0)}),q.forEach(P=>{m.data[P]=T[P]}),K=q})}else Object.entries(u).forEach(([K,T])=>{_!==null&&!_.has(K)||V.effect(()=>{m.data[K]=j(T,n)})});z=V,L=m}),s.onDispose(()=>{z?.dispose(),L?.destroy()}),i},nr=(e,t)=>{let n=()=>{let s=j(e,t);return s!==null&&typeof s=="object"?s:null};return new Proxy(t,{has(s,r){let i=n();return i!==null&&Reflect.has(i,r)||Reflect.has(s,r)},get(s,r){let i=n();return i!==null&&Reflect.has(i,r)?i[r]:Reflect.get(s,r)},set(s,r,i){let o=n();return o!==null&&Reflect.has(o,r)?(o[r]=i,!0):Reflect.set(s,r,i)}})},ae=e=>typeof e=="string"?e.split(/\s+/).filter(Boolean):Array.isArray(e)?e.flatMap(ae):e!==null&&typeof e=="object"?Object.entries(e).flatMap(([t,n])=>n?ae(t):[]):[],sr=e=>typeof e=="function"?(t,n,s)=>{try{return!!e(t,n,s)}catch{return!1}}:typeof e=="string"||Array.isArray(e)?Rt(e):()=>!1,rr=new Set(["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]),Nn=e=>e.ns===void 0?document.createElement(e.tag):document.createElementNS(e.ns,e.tag),or={"http://www.w3.org/2000/svg":["svg","feGaussianBlur"],"http://www.w3.org/1998/Math/MathML":["math","mi"]},Ht=new Map,ir=(e,t)=>{let n=`${e} ${t}`,s=Ht.get(n);if(s!==void 0)return s;let r=or[e],i=t;if(r!==void 0&&typeof DOMParser<"u"&&/^[a-z][a-z0-9]*$/.test(t)){let[o,l]=r;i=new DOMParser().parseFromString(`<${o}><${l} ${t}="x"/></${o}>`,"text/html").querySelector(l)?.getAttributeNames().find(u=>u.toLowerCase()===t)??t}return Ht.set(n,i),i},xn=(e,t)=>{let n=e.namespaceURI;if(n===null||n===on)return t;let s=t.replace(/-/g,"").toLowerCase(),r=ir(n,s);return r===s?t:r},Cn=(e,t,n)=>{let s=rr.has(t);(s?!n:n==null)?e.removeAttribute(t):e.setAttribute(t,s?"":String(n))},oe={cloneSkeletons:!0,scopedNames:!0},lr=new Set([":text",":html",":value",":checked",":selected"]),ar=e=>e.startsWith("@")||e===":class"||e.startsWith(":class.")||lr.has(e)?!0:e.startsWith(":")?e===":model"?!1:!we(e)&&!e.includes("."):e!==Ue,_n=e=>{if(e.component||e.tag.includes("-")||Rn(e.tag)||e.tag==="template"||e.ns===void 0&&document.createElement(e.tag)instanceof HTMLUnknownElement)return!1;for(let t in e.attrs)if(!ar(t))return!1;return e.attrs[":text"]!==void 0||e.attrs[":html"]!==void 0?!0:e.children.every(t=>typeof t=="string"||_n(t))},An=(e,t,n)=>{let s=Nn(e),r,i=null;for(let p in e.attrs){let w=e.attrs[p];if(p.startsWith("@"))n.push({kind:"event",path:t,attr:p,expr:w});else if(p===":class")r=w;else if(p.startsWith(":class."))(i??(i=[])).push([p.slice(7),w]);else if(!we(p))if(p.startsWith(":")){let v=p.slice(1);n.push({kind:"attr",path:t,name:xn(s,v),expr:w||ie(v)})}else s.setAttribute(p,w)}(r!==void 0||i)&&n.push({kind:"class",path:t,classExpr:r,toggles:i,staticClasses:new Set(ae(e.attrs.class??""))});let o=e.attrs[":text"],l=e.attrs[":html"];o!==void 0?n.push({kind:"textContent",path:t,expr:o}):l!==void 0?n.push({kind:"html",path:t,expr:l}):e.children.forEach((p,w)=>{if(typeof p=="string"){p.includes("{{")?(n.push({kind:"text",path:[...t,w],parts:mn(p)}),s.appendChild(document.createTextNode(""))):s.appendChild(document.createTextNode(p));return}s.appendChild(An(p,[...t,w],n))});let a=e.attrs[":value"];a!==void 0&&n.push({kind:"value",path:t,expr:a});let u=e.attrs[":checked"];u!==void 0&&n.push({kind:"checked",path:t,expr:u});let c=e.attrs[":selected"];return c!==void 0&&n.push({kind:"selected",path:t,expr:c}),s},cr=3,On=e=>e.attrs[":text"]!==void 0||e.attrs[":html"]!==void 0?1:1+e.children.reduce((t,n)=>t+(typeof n=="string"?0:On(n)),0),zt=new WeakMap,Gt=new WeakSet,ur=e=>{let t=zt.get(e);if(t!==void 0)return t;if(!Gt.has(e))return Gt.add(e),null;let n=null;if(_n(e)&&On(e)>=cr){let s=[];n={skeleton:An(e,[],s),ops:s}}return zt.set(e,n),n},dr=(e,t)=>{let n=e;for(let s=0;s<t.length;s++)n=n.childNodes[t[s]];return n},fr=(e,t,n)=>{let s=e.skeleton.cloneNode(!0);for(let r of e.ops){let i=r.path.length===0?s:dr(s,r.path);if(r.kind==="text"){let o=i,l=r.parts;n.effect(()=>{let a=yn(l,t);o.textContent!==a&&(o.textContent=a)})}else if(r.kind==="event")bn(i,r.attr,r.expr,t);else if(r.kind==="attr"){let o=i,{name:l,expr:a}=r;n.effect(()=>Cn(o,l,j(a,t)))}else if(r.kind==="class"){let o=i,{classExpr:l,toggles:a,staticClasses:u}=r,c=[];n.effect(()=>{let p=l!==void 0?ae(j(l,t)):[];a?.forEach(([w,v])=>{j(v,t)&&p.push(...ae(w))}),c.forEach(w=>{!p.includes(w)&&!u.has(w)&&o.classList.remove(w)}),o.classList.add(...p),c=p})}else if(r.kind==="textContent"){let o=i,{expr:l}=r;n.effect(()=>{let a=String(j(l,t)??"");o.textContent!==a&&(o.textContent=a)})}else if(r.kind==="html"){let o=i,{expr:l}=r;n.effect(()=>{o.innerHTML=Ke(String(j(l,t)??""))})}else if(r.kind==="value"){let o=i,{expr:l}=r;n.effect(()=>{let a=String(j(l,t)??"");o.value!==a&&(o.value=a)})}else if(r.kind==="checked"){let o=i,{expr:l}=r;n.effect(()=>{let a=!!j(l,t);o.checked!==a&&(o.checked=a)})}else if(r.kind==="selected"){let o=i,{expr:l}=r;n.effect(()=>{let a=!!j(l,t);o.selected!==a&&(o.selected=a)})}else{let o=r}}return s},mt=(e,t,n,s)=>{let r=e.attrs[":with"],i=r!==void 0?nr(r,t):t;if(Rn(e.tag))return Qs(e,i,n,s);if(e.tag==="template"&&Te(e)!==void 0)return Xs(e);let o=qt(e,i);if(o)return Bt(o,e,i,n,s);if(oe.cloneSkeletons){let S=ur(e);if(S)return fr(S,i,n)}let l=Nn(e);if(e.component!==void 0&&i[ft]?.count===0)throw zs(e.component,i);let a=e.ns===void 0&&(e.component!==void 0||e.tag.includes("-"));if(a){let S=!1;n.effect(()=>{if(S)return;let F=qt(e,i);if(!F)return;S=!0;let L=Bt(F,e,i,n,s),D=gt(L);n.onDispose(()=>ze(D)),l.replaceWith(L)})}for(let S in e.attrs){let F=e.attrs[S];if(S.startsWith("@"))bn(l,S,F,i);else if(S===":model"||S.startsWith(":model."))a||console.warn(`jq79: ${S} on <${X(e)}> does nothing - :model binds component tags only (for now)`);else if(!we(S))if(S.startsWith(":"))if(a)l.setAttribute(S,F);else{let L=S.slice(1),D=F||ie(L),z=xn(l,L);n.effect(()=>Cn(l,z,j(D,i)))}else l.setAttribute(S,F)}let u=e.attrs[":class"],c=null;for(let S in e.attrs)S.startsWith(":class.")&&(c??(c=[])).push([S.slice(7),e.attrs[S]]);if(u!==void 0||c){let S=new Set(ae(e.attrs.class??"")),F=[];n.effect(()=>{let L=u!==void 0?ae(j(u,i)):[];c?.forEach(([D,z])=>{j(z,i)&&L.push(...ae(D))}),F.forEach(D=>{!L.includes(D)&&!S.has(D)&&l.classList.remove(D)}),l.classList.add(...L),F=L})}let p=e.attrs[":text"],w=e.attrs[":html"],v=e.attrs[":html.allowed"];v!==void 0&&w===void 0&&console.warn("jq79: :html.allowed without :html on the same element does nothing"),p!==void 0?n.effect(()=>{let S=String(j(p,i)??"");l.textContent!==S&&(l.textContent=S)}):w!==void 0?n.effect(()=>{let S=v!==void 0?{allowUrl:sr(j(v,i))}:void 0;l.innerHTML=Ke(String(j(w,i)??""),S)}):l instanceof HTMLTemplateElement?ge(e.children,i,n,s,l.content):ge(e.children,i,n,s,l);let I=e.attrs[":value"];I!==void 0&&n.effect(()=>{let S=String(j(I,i)??"");l.value!==S&&(l.value=S)});let U=e.attrs[":checked"];U!==void 0&&n.effect(()=>{let S=!!j(U,i);l.checked!==S&&(l.checked=S)});let M=e.attrs[":selected"];return M!==void 0&&n.effect(()=>{let S=!!j(M,i);l.selected!==S&&(l.selected=S)}),l},pr=(e,t,n,s)=>{let r=document.createComment("if"),i=document.createDocumentFragment();i.appendChild(r);let o=null,l=null,a=null;return n.effect(()=>{let u=e.find(p=>p.expr===void 0||j(p.expr,t))??null;if(u===l||(a?.dispose(),o&&ze(o),o=null,l=u,!u))return;a=de(t);let c=mt(u.node,t,a,s);o=gt(c),r.parentNode.insertBefore(c,r.nextSibling)}),i},Ee=(e,t,n)=>{Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})},hr=e=>{let t=new Uint8Array(e.length),n=[],s=new Int32Array(e.length).fill(-1);for(let r=0;r<e.length;r++){let i=e[r];if(i<0)continue;let o=0,l=n.length;for(;o<l;){let a=o+l>>1;e[n[a]]<i?o=a+1:l=a}o>0&&(s[r]=n[o-1]),n[o]=r}for(let r=n.length?n[n.length-1]:-1;r!==-1;r=s[r])t[r]=1;return t},gr=e=>{if(e===null||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},vn=(e,t)=>typeof e=="string"?t.some(n=>Kt(e,n)):Object.values(e.attrs).some(n=>t.some(s=>Kt(n,s)))||e.children.some(n=>vn(n,t)),Zt=/[A-Za-z0-9_$]/,mr=/^[A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*$/,Kt=(e,t)=>{for(let n=e.indexOf(t);n!==-1;n=e.indexOf(t,n+1)){let s=n===0?"":e[n-1],r=e[n+t.length]??"";if(!Zt.test(s)&&!Zt.test(r))return!0}return!1},lt=new WeakMap,yr=e=>{let t=lt.get(e);if(t!==void 0)return t;let n=e.attrs[":each"].match(Ds);if(!n)return lt.set(e,null),null;let[,s,r,i]=n,o=e.attrs[":key"],l=o===s,a=o!==void 0&&!l&&mr.test(o)&&o.startsWith(`${s}.`)?o.slice(s.length+1):void 0,{[":each"]:u,[":key"]:c,...p}=e.attrs,w={...e,attrs:p},v=["$index",...r?[r]:[]],I=vn(w,v),U=/^[A-Z]/.test(s)||r!==void 0&&/^[A-Z]/.test(r),M={itemName:s,atName:r,listExpr:i,keyExpr:o,keyIsItem:l,keyProp:a,itemNode:w,readsPosition:I,namesComponent:U};return lt.set(e,M),M},Er=(e,t,n,s)=>{let r=yr(e);if(!r)return document.createComment(`invalid :each expression "${e.attrs[":each"]}"`);let{itemName:i,atName:o,listExpr:l,keyExpr:a,keyIsItem:u,keyProp:c,itemNode:p,readsPosition:w,namesComponent:v}=r,I=document.createComment("each"),U=document.createDocumentFragment();U.appendChild(I),(":if"in e.attrs||":elseif"in e.attrs||":else"in e.attrs)&&console.warn("jq79: :if/:elseif/:else on a :each element is ignored; filter the list expression instead");let M=[],S=!1;return n.effect(()=>{let F=Us(t);try{let L=j(l,t),D=Array.isArray(L),z=D?null:gr(L)?Object.keys(L):[],Y=D?L.length:z.length,J=new Map;M.forEach((T,q)=>{T.pos=q;let P=J.get(T.key);P?P.push(T):J.set(T.key,[T])});let R=new Set,C=[],m=[],_=[],A;for(let T=0;T<Y;T++){let q=D?T:z[T],P=D?L[T]:L[q],Z=q;u?Z=P:c!==void 0&&P!==null&&typeof P=="object"?Z=P[c]:a!==void 0&&(A===void 0?(A=Object.create(t),Ee(A,i,P),o&&Ee(A,o,q),Ee(A,"$index",T)):(A[i]=P,o&&(A[o]=q),A.$index=T),Z=j(a,A)),R.has(Z)&&!S&&(S=!0,console.warn(`jq79: duplicate :key in :each "${e.attrs[":each"]}"; duplicates pair up by position`)),R.add(Z);let f=J.get(Z)?.shift();if(f&&Object.is(f.item,P)){let b=f.scope;b.$index!==T&&(w&&C.push(f),b.$index=T),o&&b[o]!==q&&(b[o]=q),m.push(f),_.push(f.pos);continue}f&&(f.fx.dispose(),ze(f.range));let d=Object.create(t);Ee(d,i,P),o&&Ee(d,o,q),Ee(d,"$index",T),v||wn.add(d);let g=de(t),h=gt(mt(p,d,g,s));m.push({key:Z,item:P,scope:d,fx:g,range:h,pos:T}),_.push(-1)}let G=new Set;J.forEach(T=>T.forEach(q=>G.add(q))),G.size&&(G.forEach(T=>{T.dead=!0,T.fx.dispose()}),qs(Ws(M,T=>T.dead===!0)));let V=I,K=hr(_);m.forEach((T,q)=>{!K[q]&&V.nextSibling!==T.range.first&&Fs(T.range,V),V=T.range.last}),C.forEach(T=>Re(()=>T.fx.refresh())),M=m}finally{Bs(F)}}),U},jn=(e,t)=>{let n=t;for(;n<e.length&&typeof e[n]=="string"&&!e[n].trim();)n++;return n},at=e=>{let t=":if"in e.attrs,n=":elseif"in e.attrs,s=":else"in e.attrs;if((t?1:0)+(n?1:0)+(s?1:0)<2)return;let r=[t?":if":null,n?":elseif":null,s?":else":null].filter(Boolean);console.warn(`jq79: ${r.join(" and ")} on the same <${X(e)}> - only ${r[0]} applies; the branches of a chain are sibling elements, one directive each`)},br=(e,t)=>{let n=":elseif"in e.attrs?":elseif":":else";console.warn(t?`jq79: a second ${n} on <${X(e)}> - the chain before it already ended with :else, which closes it. One :if, any number of :elseif, at most one :else`:`jq79: ${n} on <${X(e)}> continues no :if - it renders unconditionally. A chain is :if, then :elseif, then :else, on adjacent siblings: anything but whitespace between them breaks it`)},wr=[":if",":elseif",":else",":each"],Sr=(e,t)=>{if(e.tag!=="template"||e.ns!==void 0)return;let n=wr.find(s=>s in e.attrs);if(n!==void 0){if(Te(e)!==void 0){if(t?.component===void 0)return;console.warn(`jq79: ${n} on <template ${Te(e)}> is ignored - a slot is filled with its children as written. Put ${n} on the elements inside it, or on the component's tag`);return}console.warn(`jq79: ${n} on a nested <template> shows nothing - a <template>'s children live in its .content and never reach the page. Put ${n} on the elements themselves`)}},Rr=[...En,":model",":slot"].map(e=>e.slice(1)),$r={":attrs":':attrs was removed in 0.7 - it now binds an attribute called "attrs". Bind them one at a time (:disabled="x", :title="y"), or :class for classes'},Tr=e=>{for(let t in e.attrs){let n=$r[t];n!==void 0&&console.warn(`jq79: ${n}`)}},Nr=e=>{if(!(e.component!==void 0||e.tag.includes("-")))for(let t in e.attrs){if(!t.startsWith(":")||we(t)||t===":model"||t.startsWith(":model."))continue;let n=t.slice(1);if(n.includes(".")){console.warn(`jq79: ${t} is not a directive - it bound an attribute named "${n}". Dotted modifiers belong to an event: if you meant @${n}, that is the spelling`);continue}let s=Rr.find(r=>n!==r&&n.startsWith(r));s!==void 0&&console.warn(`jq79: ${t} is not a directive - it bound an attribute named "${n}". A ":name" jq79 does not recognize binds that attribute (which is what :src and :disabled are). If you meant :${s}, that is the spelling`)}},Pn=(e,t)=>{e.forEach(s=>{typeof s!="string"&&(Sr(s,t),Tr(s),Nr(s),Pn(s.children,s))});let n=!1;for(let s=0;s<e.length;){let r=e[s];if(typeof r=="string"){r.trim()&&(n=!1),s++;continue}if(":each"in r.attrs){n=!1,s++;continue}if(at(r),":if"in r.attrs){s++;let i=l=>{let a=jn(e,s),u=e[a];if(typeof u=="object"&&l in u.attrs)return s=a+1,u};for(let l=i(":elseif");l;l=i(":elseif"))at(l);let o=i(":else");o&&at(o),n=o!==void 0;continue}(":elseif"in r.attrs||":else"in r.attrs)&&br(r,n),n=!1,s++}},Vt=new WeakMap,xr=(e,t,n)=>{let s=Vt.get(t);if(s)return s;let r=[{expr:t.attrs[":if"],node:t}],i=n+1,o=u=>{let c=jn(e,i),p=e[c];if(typeof p=="object"&&u in p.attrs)return i=c+1,p};for(let u=o(":elseif");u;u=o(":elseif"))r.push({expr:u.attrs[":elseif"],node:u});let l=o(":else");l&&r.push({node:l});let a={branches:r,next:i};return Vt.set(t,a),a},ge=(e,t,n,s=!1,r)=>{let i=r??document.createDocumentFragment(),o=0;for(;o<e.length;){let l=e[o];if(typeof l=="string"){let a=document.createTextNode(l);if(l.includes("{{")){let u=mn(l);n.effect(()=>{let c=yn(u,t);a.textContent!==c&&(a.textContent=c)})}i.appendChild(a),o++;continue}if(":each"in l.attrs){i.appendChild(Er(l,t,n,s)),o++;continue}if(":if"in l.attrs){let a=xr(e,l,o);i.appendChild(pr(a.branches,t,n,s)),o=a.next;continue}i.appendChild(mt(l,t,n,s)),o++}return i},Cr=(e,t,n=!1)=>ge(e.template,t,de(t),n),_r=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Ar=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*?)\/>/g,yt=/(<script[\s\S]*?<\/script\s*>|<style[\s\S]*?<\/style\s*>)/gi,Or=e=>e.split(yt).map((t,n)=>n%2===1?t:t.replace(Ar,(s,r,i)=>_r.has(r.toLowerCase())?s:`<${r}${i}></${r}>`)).join(""),kn=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,vr=/"[^"]*"|'[^']*'|(^|\s)\.\.\.([A-Za-z_$][\w$.]*)/g,jr=e=>e.split(yt).map((t,n)=>n%2===1?t:t.replace(kn,(s,r,i)=>{let o=0,l=i.replace(vr,(a,u,c)=>c===void 0?a:`${u}:props.${o++}="${c}"`);return`<${r}${l}>`})).join(""),Pr=/"[^"]*"|'[^']*'|(^|\s)(:[\w.$-]+)/g,kr=/<\/slot\.([\w.$-]+)(\s*)>/gi,Mr=/^slot\./i,Lr=e=>Mr.test(e)?`slot.${We(e.slice(5))}`:e,Ue=":jq79-component",Mn=/^[A-Z]/,Dr="c79-",Ge=e=>`${Dr}${We(e[0].toLowerCase()+e.slice(1))}`,Ir=e=>Mn.test(e)?Ge(e):Lr(e),qr=/<\/([A-Z][\w.-]*)(\s*)>/g,Wr=/\/\s*$/,Fr=(e,t)=>{if(!Mn.test(e))return t;let n=` ${Ue}="${e}"`,s=Wr.exec(t);return s?`${t.slice(0,s.index)}${n}${s[0]}`:`${t}${n}`},Ur=e=>e.split(yt).map((t,n)=>n%2===1?t:t.replace(kn,(s,r,i)=>{let o=i.replace(Pr,(l,a,u)=>u===void 0?l:`${a}${We(u)}`);return`<${Ir(r)}${Fr(r,o)}>`}).replace(kr,(s,r,i)=>`</slot.${We(r)}${i}>`).replace(qr,(s,r,i)=>`</${Ge(r)}${i}>`)).join(""),be="data-jq79",Br=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0).toString(36)},Ln=(e,t)=>{e.forEach(n=>{typeof n!="string"&&(n.attrs[be]=t,Ln(n.children,t))})},Hr=(e,t)=>e.split(",").map(n=>{let s=n.trim(),r=s.indexOf("::"),i=r===-1?s:s.slice(0,r),o=r===-1?"":s.slice(r);return`${i}[${be}="${t}"]${o}`}).join(", "),Dn=(e,t)=>{Array.from(e).forEach(n=>{n instanceof CSSStyleRule?n.selectorText=Hr(n.selectorText,t):n instanceof CSSGroupingRule&&Dn(n.cssRules,t)})},zr=/(^|[\s>+~,(])([A-Z][A-Za-z0-9]*)(?![\w-])/g,Gr=/[a-z]/,Zr=e=>e.replace(zr,(t,n,s)=>Gr.test(s)?`${n}${Ge(s)}`:t),Kr=/^\s*@(media|supports|container|layer|scope|document)\b/i,Vr=/^\s*@/,Xr=e=>{let t="",n="",s="",r=[],i=()=>r.length===0||r[r.length-1],o=()=>{t+=i()&&!Vr.test(s)?Zr(n):n,n=""},l=u=>{o(),t+=u,s+=u},a=(u,c)=>{o(),t+=u,s="",c!==void 0?r.push(c):u==="}"&&r.pop()};for(let u=0;u<e.length;){let c=e[u];if(c==="/"&&e[u+1]==="*"){let p=e.indexOf("*/",u+2),w=p===-1?e.length:p+2;l(e.slice(u,w)),u=w}else if(c==='"'||c==="'"){let p=u+1;for(;p<e.length&&e[p]!==c;)p+=e[p]==="\\"?2:1;l(e.slice(u,Math.min(p+1,e.length))),u=p+1}else c==="{"?(a("{",Kr.test(s)),u++):c==="}"||c===";"?(a(c),u++):(n+=c,s+=c,u++)}return o(),t},Yr=(e,t)=>{/:deep\(|::v-deep|>>>/.test(e)&&console.warn("jq79: :deep()/::v-deep/>>> are not supported in <style scoped>; the rule will be dropped by the browser");let n=new CSSStyleSheet;return n.replaceSync(e),Dn(n.cssRules,t),Array.from(n.cssRules).map(s=>s.cssText).join(`
11
+ `)},Jr=/^[A-Z][A-Za-z0-9]*$/,dt=e=>{let t=Or(jr(Ur(e))),s=new DOMParser().parseFromString(`<template>${t}</template>`,"text/html").querySelector("template"),r=[],i=[];Array.from(s.content.children).forEach(a=>{a.tagName==="TEMPLATE"?i.push(a):r.push(a)});let o=Xt(r,e),l={};return i.forEach(a=>{let u=a.getAttribute("name");if(u===null){console.warn("jq79: a top-level <template> without a name declares nothing and was ignored");return}if(!Jr.test(u)){console.warn(`jq79: <template name="${u}"> was ignored - a component name has to be PascalCase, or no tag could ever reference it (only capitalized names resolve as components)`);return}if(u in l){console.warn(`jq79: two <template name="${u}"> in one file; the second was ignored`);return}l[u]=new re({...Xt(Array.from(a.content.children),a.innerHTML),siblings:l,name:u})}),Object.keys(l).length&&(o.siblings=l),o},Qr=/^(?:text|application)\/(?:x-)?typescript$/i,eo=e=>"lang"in e?`lang="${e.lang}"`:Qr.test(e.type?.trim()??"")?`type="${e.type}"`:null,Xt=(e,t)=>{let n=[],s=[],r=[];e.forEach(o=>{let l={attrs:rn(o),content:o.textContent??""};o.tagName==="SCRIPT"?n.push(l):o.tagName==="STYLE"?s.push(l):r.push(ln(o))}),n.forEach(o=>{let l=eo(o.attrs);l&&console.warn(`jq79: <script ${l}> needs the jq79/vite plugin to compile it. This component didn't go through the bundler, so its types were never stripped: the script will throw, or - for a plain \`let x: T = ...\` - silently fail to declare x.`)}),s.forEach(o=>{"lang"in o.attrs&&console.warn(`jq79: <style lang="${o.attrs.lang}"> needs the jq79/vite plugin to compile it. This component didn't go through the bundler, so its styles were left uncompiled and the browser will ignore them.`)}),s.forEach(o=>{"lang"in o.attrs||(o.content=Xr(o.content))});let i=o=>"scoped"in o.attrs&&!("lang"in o.attrs);if(s.some(i)){let o=Br(t);Ln(r,o),s.forEach(l=>{i(l)&&(l.scoped=Yr(l.content,o))})}return Pn(r),{template:r,scripts:n,styles:s}},Et=e=>/\.html?([?#]|$)/.test(e)?pt(e):import(e),to=/^(?:\.\.?\/|\/|[a-z][a-z0-9+.-]*:)/i,no=(e,t)=>{if(!to.test(e))return e;try{return new URL(e,new URL(t??"",document.baseURI)).href}catch{return e}},In=(e,t)=>e?`
12
+ //# sourceURL=${e}?jq79-script=${t}`:"",Yt=e=>e.scoped??e.content,qn=`:where([${Tn}]) { display: contents }`,De=null,so=()=>{De?.isConnected||(De=document.createElement("style"),De.textContent=qn,document.head.appendChild(De))},Be=new Map,ro=e=>{let t=Be.get(e);if(!t){let n=document.createElement("style");n.textContent=e,document.head.appendChild(n),t={el:n,count:0},Be.set(e,t)}t.count++},oo=e=>{let t=Be.get(e);t&&--t.count<=0&&(t.el.remove(),Be.delete(e))},io=(e,t,n,s={},r=Et,i={})=>{let o={...Bn,...s},l=new Proxy(t,{has:(c,p)=>p!=="$__effect"&&p!=="$__import"&&p!=="$__state"&&(Reflect.has(c,p)||!(p in globalThis)&&!(p in o))}),a={},u=new Function("$scope","$__effect","$__import","$__state",...Object.keys(o),`return (async () => { with ($scope) { ${e} }
13
+ ;$__state.done = true })()${In(i.filename,i.index??0)}`)(l,n,r,a,...Object.values(o));return u.catch(c=>console.error("jq79: error in :setup script",c)),fn(u),{settled:u,sync:a.done===!0}},Jt=(e,t)=>{t?.forEach(({name:n,default:s})=>{e[n]===void 0&&(e[n]=s===void 0?void 0:j(s,e))})},bt=e=>{let t=e.attrs[":setup"];if(t===void 0)return null;if(t.trim()==="")return[];let n=Me(t);return n||lo(e,t),n},Qt=new WeakSet,lo=(e,t)=>{t.trim()==="_"||Qt.has(e)||(Qt.add(e),console.warn(`jq79: :setup="${t}" is not a props pattern, so this component declares no signature and takes whatever a parent passes - write the props it takes ("{ a, b }"), a bare :setup for none, or "_" to stay open on purpose`))},ao=e=>{let t=new Set;return e.forEach(n=>{(Le(n.content)??bt(n))?.forEach(({name:r})=>t.add(r))}),t},co=e=>{let t=null;return e.forEach(n=>{let s=Le(n.content)??bt(n);if(!s)return;let r=t??(t=new Set);s.forEach(({name:i})=>r.add(i))}),t},en=(e,t)=>{if(t===null)return e;let n={};return Object.keys(e).forEach(s=>{t.has(s)&&(n[s]=e[s])}),n},tn=new WeakMap,uo=(e,t,n,s)=>{if(s===null)return;let r=tn.get(e)??new Set;tn.set(e,r),n.forEach(i=>{s.has(i)||r.has(i)||(r.add(i),console.warn(`jq79: :${i} is not declared by <${t}> - add it to the :setup signature, or drop it`))})},fo=(e,t)=>{if(!e)return null;let n=Object.create(null),s=!1;return Object.entries(e).forEach(([r,i])=>{t.has(r)||(n[r]=i,s=!0)}),s?n:null},Wn=Symbol("jq79.unfilledProps"),ft=Symbol("jq79.pendingScripts"),po=e=>e&&e.default!==void 0?e.default:e,ho=(e,t,n,s={},r=Et,i={})=>{let o={...Bn,...s},l={},a=new Function("$__exports","$__default","$__import",...Object.keys(o),`return (async () => { "use strict";
14
14
  ${e}
15
- ;$__exports.done = true })()${In(i.filename,i.index??0)}`)(l,uo,r,...Object.values(o)),u=I=>console.error("jq79: error in factory script",I),c=!1,p,w=()=>{if(c)return p;c=!0;let I=l.default;if(typeof I!="function")return;let U=M=>{M&&typeof M=="object"&&Object.assign(t,M)};try{let M=I(t,{$data:t,$props:t,$effect:n,...s});M instanceof Promise?p=M.then(U).catch(u):U(M)}catch(M){u(M)}return p},v=a.then(w,u);return fn(v),l.done&&w(),{settled:v,sync:l.done===!0&&p===void 0}},po="__JQ79_HMR_ENABLED__",ho="__JQ79_HMR__",he=null,go=e=>{if(!he||!e.filename)return;let t=he.get(e.filename);t||he.set(e.filename,t=new Set),t.add(new WeakRef(e))},nn=e=>{try{return new URL(e,document.baseURI).pathname}catch{return e}},Fn=(e,t)=>{if(!he)return 0;let n=nn(e),s=dt(t),r=!1,i=l=>l.name===void 0?s:s.siblings?.[l.name]??null,o=0;for(let[l,a]of he)if(nn(l)===n){for(let u of a){let c=u.deref();if(!c){a.delete(u);continue}let p=i(c);if(!p){r=!0;continue}c.hotReplace(p)&&o++}a.size||he.delete(l)}return r?0:o},Un=()=>{he??(he=new Map),globalThis[ho]={update:Fn}},sn=3e3,mo=(e,t)=>{let n=setTimeout(()=>{console.warn(`jq79: ${e.name?`<${e.name}>`:"a component"}${e.filename?` (${e.filename})`:""} has been waiting ${sn/1e3}s for a :setup script and has rendered nothing. The template waits until every script returns or calls $mounted() - add an await $mounted() above the slow part to render first and fill in after.`)},sn);n?.unref?.(),Promise.all(t).then(()=>clearTimeout(n))},pt=async e=>{let t=await fetch(e);if(!t.ok)throw new Error(`failed to fetch component from ${e}: ${t.status}`);return new re(await t.text(),{filename:e})},re=class{constructor(t,n={}){k(this,"template");k(this,"scripts");k(this,"styles");k(this,"modules");k(this,"filename");k(this,"siblings");k(this,"name");k(this,"slots");k(this,"modelWriteback");k(this,"data",null);k(this,"fx",null);k(this,"content",null);k(this,"startMarker",null);k(this,"endMarker",null);k(this,"styleEls",[]);k(this,"ownsSharedStyles",!1);k(this,"useShadow",!1);k(this,"mountRoot",null);k(this,"resolveMounted",null);k(this,"renderDone",!1);k(this,"emitListeners",new Map);let s=typeof t=="string"?dt(t):t;this.template=s.template,this.scripts=s.scripts,this.styles=s.styles,this.modules=n.modules??(typeof t=="string"?void 0:t.modules),this.filename=n.filename??(typeof t=="string"?void 0:t.filename),this.siblings=s.siblings,this.name=s.name,this.adoptSiblings(),go(this)}adoptSiblings(){this.siblings&&Object.entries(this.siblings).forEach(([t,n])=>{n.filename??(n.filename=this.filename),n.modules??(n.modules=this.modules),this.name||(this[t]=n)})}hotReplace(t){let n=typeof t=="string"?dt(t):t;ht.clear(),pe.clear(),ut.clear();let s=this.startMarker,r=!!(s&&this.content),i=r&&s.isConnected,o=i?s.parentNode:null,l=i?this.endMarker.nextSibling:null,a={...this.data},u=this.useShadow;return r&&this.destroy(),this.template=n.template,this.scripts=n.scripts,this.styles=n.styles,this.siblings=n.siblings,this.adoptSiblings(),!r||(this.renderWith(a,u),!o)?!1:(u&&this.styleEls.forEach(c=>o.insertBefore(c,l)),o.insertBefore(this.content,l),this.mountRoot=o,this.settleMounted(),!0)}static debug(t){if(t){let n=oe.scopedNames;for(let s in t){let r=t[s];Object.prototype.hasOwnProperty.call(oe,s)?typeof r=="boolean"?oe[s]=r:console.warn(`jq79: Component79.debug ignored "${s}" - the flags are booleans, and the ones it knows are: ${Object.keys(oe).join(", ")}`):console.warn(`jq79: Component79.debug does not know "${s}" - the flags it has are: ${Object.keys(oe).join(", ")}`)}oe.scopedNames!==n&&Ie.clear()}return{...oe}}static fetch(t){if(Array.isArray(t))throw new TypeError("Component79.fetch takes one URL; use fetchAll for an array");return new He(pt(t))}static fetchAll(t){return Promise.all(t.map(pt))}on(t,n){return this.emitListeners.has(t)||this.emitListeners.set(t,new Set),this.emitListeners.get(t).add(n),this}off(t,n){return this.emitListeners.get(t)?.delete(n),this}render(t={}){return this.renderWith(t,!1)}renderShadow(t={}){return this.renderWith(t,!0)}renderWith(t,n){this.destroy();let s=io(this.scripts),r=co(this.siblings,s),i=r?Object.assign(Object.create(r),t):{...t},o=new Set([...s].filter(m=>!(m in t)));o.size&&Object.defineProperty(i,Wn,{value:o}),this.slots&&Object.defineProperty(i,Sn,{value:this.slots}),Object.defineProperty(i,ft,{value:{count:0}});let l=$e(i),a=de(l);this.data=l,this.fx=a,this.useShadow=n,this.startMarker=document.createComment("jq79"),this.endMarker=document.createComment("/jq79");let u=this.startMarker,c=!1,p=(m,_)=>{m==="model:update"&&!c&&(c=!0,console.warn("jq79: $emit('model:update', \u2026) no longer feeds :model - call $updateModel(value) or $updateModel(name, value) instead"));let A=new CustomEvent(m,{detail:_,bubbles:!0,composed:!0,cancelable:!0});return u===this.startMarker&&this.emitListeners.get(m)?.forEach(G=>G(A,_)),A.cancelBubble||u.dispatchEvent(A),!A.defaultPrevented},w,v=new Promise(m=>{w=m});this.resolveMounted=w,this.renderDone=!1;let I=this.endMarker,U=m=>{let _=[];for(let A=u.nextSibling;A&&A!==I;A=A.nextSibling)A instanceof Element&&(A.matches(m)&&_.push(A),_.push(...Array.from(A.querySelectorAll(m))));return _},M=m=>U(m)[0]??null,S=this.modules,F=m=>S&&m in S?Promise.resolve(S[m]):Et(eo(m,this.filename)),D=Object.assign(Object.create(null),{$emit:p,$updateModel:(...m)=>{let[_,A]=m.length>1?m:[void 0,m[0]];return u!==this.startMarker?!1:this.modelWriteback?.(_,A)??!1},$slots:Object.fromEntries(Object.keys(this.slots??{}).map(m=>[m,!0]))}),z=m=>`await $mounted();${m}`,J=[],Y=!0;this.scripts.forEach((m,_)=>{let A;J.push(new Promise(d=>{A=d}));let G=!1,V=()=>{G=!0,A()},T={$mounted:()=>(V(),v),$self:M,$$self:U,...D,...r},q={filename:this.filename,index:_},P=":mounted"in m.attrs,Z=Lt(m.content),f=(()=>{if(Z!==null){P&&console.warn("jq79: :mounted on a factory script renders the template before the factory has returned, so none of its bindings exist yet - await $mounted() inside the factory instead."),Yt(l,Le(m.content));let b=P?z(Z):Z;return fo(b,l,y=>a.effect(y),T,F,q)}let{vars:d,code:g}=ke(m.content);Yt(l,bt(m)),d.forEach(b=>{b in l||(l[b]=void 0)});let h=P?z(g):g;return ro(h,l,b=>a.effect(b),T,F,q)})();if(f.sync)f.settled.then(V,V);else{let d=i[ft];d.count++;let g=()=>{d.count--,V()};f.settled.then(g,g)}!f.sync&&!G&&(Y=!1)});let R=document.createDocumentFragment(),C=new Proxy(l,{has:(m,_)=>typeof _=="string"&&_ in D||Reflect.has(m,_),get:(m,_,A)=>typeof _=="string"&&_ in D&&!Reflect.has(m,_)?D[_]:Reflect.get(m,_,A)});if(R.append(this.startMarker,this.endMarker),this.content=R,Y?(this.endMarker.parentNode.insertBefore(ge(this.template,C,a,n),this.endMarker),this.renderDone=!0,this.settleMounted()):(Promise.all(J).then(()=>{u===this.startMarker&&(this.endMarker.parentNode.insertBefore(ge(this.template,C,a,n),this.endMarker),this.renderDone=!0,this.settleMounted())}),mo(this,J)),n){let m=document.createElement("style");m.textContent=qn,this.styleEls=[...this.styles.map(_=>{let A=document.createElement("style");return A.textContent=_.content,A}),m]}else this.styles.forEach(m=>no(Jt(m))),this.ownsSharedStyles=!0;return this}mount(t,n){let s=typeof t=="string"?me(t):t;if(!s)throw new Error(`mount target not found: ${t}`);return(!this.content||n!==void 0)&&this.renderWith(n??{},this.useShadow),this.attach(s)}mountShadow(t,n){let s=typeof t=="string"?me(t):t;if(!s)throw new Error(`mount target not found: ${t}`);return(!this.content||n!==void 0||!this.useShadow)&&this.renderWith(n??{},!0),this.attach(s)}attach(t){this.mountRoot&&this.detach();let n=this.useShadow&&t instanceof Element?t.shadowRoot??t.attachShadow({mode:"open"}):t;return this.useShadow&&this.styleEls.forEach(s=>n.appendChild(s)),n.appendChild(this.content),this.mountRoot=n,this.settleMounted(),this}settleMounted(){this.renderDone&&this.mountRoot&&this.resolveMounted?.()}detach(){if(!this.mountRoot||!this.content||!this.startMarker||!this.endMarker)return this;let t=this.startMarker;for(;t;){let n=t.nextSibling;if(this.content.appendChild(t),t===this.endMarker)break;t=n}return this.mountRoot=null,this}destroy(){return this.detach(),this.fx?.dispose(),this.fx=null,this.data?.$dispose(),this.styleEls.forEach(t=>t.parentNode?.removeChild(t)),this.styleEls=[],this.ownsSharedStyles&&(this.styles.forEach(t=>so(Jt(t))),this.ownsSharedStyles=!1),this.content=null,this.startMarker=null,this.endMarker=null,this.renderDone=!1,this.data=null,this.resolveMounted=null,this}};k(re,"version",As);var He=class{constructor(t){k(this,"chain");this.chain=t}queue(t){return this.chain=this.chain.then(n=>(t(n),n)),this}then(t,n){return this.chain.then(t,n)}catch(t){return this.chain.catch(t)}finally(t){return this.chain.finally(t)}mount(t,n){return this.queue(s=>s.mount(t,n))}mountShadow(t,n){return this.queue(s=>s.mountShadow(t,n))}render(t={}){return this.queue(n=>n.render(t))}renderShadow(t={}){return this.queue(n=>n.renderShadow(t))}on(t,n){return this.queue(s=>s.on(t,n))}off(t,n){return this.queue(s=>s.off(t,n))}detach(){return this.queue(t=>t.detach())}destroy(){return this.queue(t=>t.destroy())}};var yo=e=>new re(e),Bn={$:me,$$:xe,$create:Ce,$reactive:$e,$toRaw:H,Component79:re};typeof globalThis<"u"&&globalThis[po]&&Un();0&&(module.exports={$,$$,$create,$reactive,$toRaw,C79,Component79,PendingComponent79,enableHotReload,hotUpdate,parseComponent,renderComponent});
15
+ ;$__exports.done = true })()${In(i.filename,i.index??0)}`)(l,po,r,...Object.values(o)),u=I=>console.error("jq79: error in factory script",I),c=!1,p,w=()=>{if(c)return p;c=!0;let I=l.default;if(typeof I!="function")return;let U=M=>{M&&typeof M=="object"&&Object.assign(t,M)};try{let M=I(t,{$data:t,$props:t,$effect:n,...s});M instanceof Promise?p=M.then(U).catch(u):U(M)}catch(M){u(M)}return p},v=a.then(w,u);return fn(v),l.done&&w(),{settled:v,sync:l.done===!0&&p===void 0}},go="__JQ79_HMR_ENABLED__",mo="__JQ79_HMR__",he=null,yo=e=>{if(!he||!e.filename)return;let t=he.get(e.filename);t||he.set(e.filename,t=new Set),t.add(new WeakRef(e))},nn=e=>{try{return new URL(e,document.baseURI).pathname}catch{return e}},Fn=(e,t)=>{if(!he)return 0;let n=nn(e),s=dt(t),r=!1,i=l=>l.name===void 0?s:s.siblings?.[l.name]??null,o=0;for(let[l,a]of he)if(nn(l)===n){for(let u of a){let c=u.deref();if(!c){a.delete(u);continue}let p=i(c);if(!p){r=!0;continue}c.hotReplace(p)&&o++}a.size||he.delete(l)}return r?0:o},Un=()=>{he??(he=new Map),globalThis[mo]={update:Fn}},sn=3e3,Eo=(e,t)=>{let n=setTimeout(()=>{console.warn(`jq79: ${e.name?`<${e.name}>`:"a component"}${e.filename?` (${e.filename})`:""} has been waiting ${sn/1e3}s for a :setup script and has rendered nothing. The template waits until every script returns or calls $mounted() - add an await $mounted() above the slow part to render first and fill in after.`)},sn);n?.unref?.(),Promise.all(t).then(()=>clearTimeout(n))},pt=async e=>{let t=await fetch(e);if(!t.ok)throw new Error(`failed to fetch component from ${e}: ${t.status}`);return new re(await t.text(),{filename:e})},re=class{constructor(t,n={}){k(this,"template");k(this,"scripts");k(this,"styles");k(this,"modules");k(this,"filename");k(this,"siblings");k(this,"name");k(this,"slots");k(this,"modelWriteback");k(this,"data",null);k(this,"fx",null);k(this,"content",null);k(this,"startMarker",null);k(this,"endMarker",null);k(this,"styleEls",[]);k(this,"ownsSharedStyles",!1);k(this,"useShadow",!1);k(this,"mountRoot",null);k(this,"resolveMounted",null);k(this,"renderDone",!1);k(this,"emitListeners",new Map);let s=typeof t=="string"?dt(t):t;this.template=s.template,this.scripts=s.scripts,this.styles=s.styles,this.modules=n.modules??(typeof t=="string"?void 0:t.modules),this.filename=n.filename??(typeof t=="string"?void 0:t.filename),this.siblings=s.siblings,this.name=s.name,this.adoptSiblings(),yo(this)}adoptSiblings(){this.siblings&&Object.entries(this.siblings).forEach(([t,n])=>{n.filename??(n.filename=this.filename),n.modules??(n.modules=this.modules),this.name||(this[t]=n)})}hotReplace(t){let n=typeof t=="string"?dt(t):t;ht.clear(),pe.clear(),ut.clear();let s=this.startMarker,r=!!(s&&this.content),i=r&&s.isConnected,o=i?s.parentNode:null,l=i?this.endMarker.nextSibling:null,a={...this.data},u=this.useShadow;return r&&this.destroy(),this.template=n.template,this.scripts=n.scripts,this.styles=n.styles,this.siblings=n.siblings,this.adoptSiblings(),!r||(this.renderWith(a,u),!o)?!1:(u&&this.styleEls.forEach(c=>o.insertBefore(c,l)),o.insertBefore(this.content,l),this.mountRoot=o,this.settleMounted(),!0)}static debug(t){if(t){let n=oe.scopedNames;for(let s in t){let r=t[s];Object.prototype.hasOwnProperty.call(oe,s)?typeof r=="boolean"?oe[s]=r:console.warn(`jq79: Component79.debug ignored "${s}" - the flags are booleans, and the ones it knows are: ${Object.keys(oe).join(", ")}`):console.warn(`jq79: Component79.debug does not know "${s}" - the flags it has are: ${Object.keys(oe).join(", ")}`)}oe.scopedNames!==n&&Ie.clear()}return{...oe}}static fetch(t){if(Array.isArray(t))throw new TypeError("Component79.fetch takes one URL; use fetchAll for an array");return new He(pt(t))}static fetchAll(t){return Promise.all(t.map(pt))}on(t,n){return this.emitListeners.has(t)||this.emitListeners.set(t,new Set),this.emitListeners.get(t).add(n),this}off(t,n){return this.emitListeners.get(t)?.delete(n),this}render(t={}){return this.renderWith(t,!1)}renderShadow(t={}){return this.renderWith(t,!0)}renderWith(t,n){this.destroy();let s=ao(this.scripts),r=fo(this.siblings,s),i=r?Object.assign(Object.create(r),t):{...t},o=new Set([...s].filter(m=>!(m in t)));o.size&&Object.defineProperty(i,Wn,{value:o}),this.slots&&Object.defineProperty(i,Sn,{value:this.slots}),Object.defineProperty(i,ft,{value:{count:0}});let l=$e(i),a=de(l);this.data=l,this.fx=a,this.useShadow=n,this.startMarker=document.createComment("jq79"),this.endMarker=document.createComment("/jq79");let u=this.startMarker,c=!1,p=(m,_)=>{m==="model:update"&&!c&&(c=!0,console.warn("jq79: $emit('model:update', \u2026) no longer feeds :model - call $updateModel(value) or $updateModel(name, value) instead"));let A=new CustomEvent(m,{detail:_,bubbles:!0,composed:!0,cancelable:!0});return u===this.startMarker&&this.emitListeners.get(m)?.forEach(G=>G(A,_)),A.cancelBubble||u.dispatchEvent(A),!A.defaultPrevented},w,v=new Promise(m=>{w=m});this.resolveMounted=w,this.renderDone=!1;let I=this.endMarker,U=m=>{let _=[];for(let A=u.nextSibling;A&&A!==I;A=A.nextSibling)A instanceof Element&&(A.matches(m)&&_.push(A),_.push(...Array.from(A.querySelectorAll(m))));return _},M=m=>U(m)[0]??null,S=this.modules,F=m=>S&&m in S?Promise.resolve(S[m]):Et(no(m,this.filename)),D=Object.assign(Object.create(null),{$emit:p,$updateModel:(...m)=>{let[_,A]=m.length>1?m:[void 0,m[0]];return u!==this.startMarker?!1:this.modelWriteback?.(_,A)??!1},$slots:Object.fromEntries(Object.keys(this.slots??{}).map(m=>[m,!0]))}),z=m=>`await $mounted();${m}`,Y=[],J=!0;this.scripts.forEach((m,_)=>{let A;Y.push(new Promise(d=>{A=d}));let G=!1,V=()=>{G=!0,A()},T={$mounted:()=>(V(),v),$self:M,$$self:U,...D,...r},q={filename:this.filename,index:_},P=":mounted"in m.attrs,Z=Lt(m.content),f=(()=>{if(Z!==null){P&&console.warn("jq79: :mounted on a factory script renders the template before the factory has returned, so none of its bindings exist yet - await $mounted() inside the factory instead."),Jt(l,Le(m.content));let b=P?z(Z):Z;return ho(b,l,y=>a.effect(y),T,F,q)}let{vars:d,code:g}=ke(m.content);Jt(l,bt(m)),d.forEach(b=>{b in l||(l[b]=void 0)});let h=P?z(g):g;return io(h,l,b=>a.effect(b),T,F,q)})();if(f.sync)f.settled.then(V,V);else{let d=i[ft];d.count++;let g=()=>{d.count--,V()};f.settled.then(g,g)}!f.sync&&!G&&(J=!1)});let R=document.createDocumentFragment(),C=new Proxy(l,{has:(m,_)=>typeof _=="string"&&_ in D||Reflect.has(m,_),get:(m,_,A)=>typeof _=="string"&&_ in D&&!Reflect.has(m,_)?D[_]:Reflect.get(m,_,A)});if(R.append(this.startMarker,this.endMarker),this.content=R,J?(this.endMarker.parentNode.insertBefore(ge(this.template,C,a,n),this.endMarker),this.renderDone=!0,this.settleMounted()):(Promise.all(Y).then(()=>{u===this.startMarker&&(this.endMarker.parentNode.insertBefore(ge(this.template,C,a,n),this.endMarker),this.renderDone=!0,this.settleMounted())}),Eo(this,Y)),n){let m=document.createElement("style");m.textContent=qn,this.styleEls=[...this.styles.map(_=>{let A=document.createElement("style");return A.textContent=_.content,A}),m]}else this.styles.forEach(m=>ro(Yt(m))),this.ownsSharedStyles=!0;return this}mount(t,n){let s=typeof t=="string"?me(t):t;if(!s)throw new Error(`mount target not found: ${t}`);return(!this.content||n!==void 0)&&this.renderWith(n??{},this.useShadow),this.attach(s)}mountShadow(t,n){let s=typeof t=="string"?me(t):t;if(!s)throw new Error(`mount target not found: ${t}`);return(!this.content||n!==void 0||!this.useShadow)&&this.renderWith(n??{},!0),this.attach(s)}attach(t){this.mountRoot&&this.detach();let n=this.useShadow&&t instanceof Element?t.shadowRoot??t.attachShadow({mode:"open"}):t;return this.useShadow&&this.styleEls.forEach(s=>n.appendChild(s)),n.appendChild(this.content),this.mountRoot=n,this.settleMounted(),this}settleMounted(){this.renderDone&&this.mountRoot&&this.resolveMounted?.()}detach(){if(!this.mountRoot||!this.content||!this.startMarker||!this.endMarker)return this;let t=this.startMarker;for(;t;){let n=t.nextSibling;if(this.content.appendChild(t),t===this.endMarker)break;t=n}return this.mountRoot=null,this}destroy(){return this.detach(),this.fx?.dispose(),this.fx=null,this.data?.$dispose(),this.styleEls.forEach(t=>t.parentNode?.removeChild(t)),this.styleEls=[],this.ownsSharedStyles&&(this.styles.forEach(t=>oo(Yt(t))),this.ownsSharedStyles=!1),this.content=null,this.startMarker=null,this.endMarker=null,this.renderDone=!1,this.data=null,this.resolveMounted=null,this}};k(re,"version",As);var He=class{constructor(t){k(this,"chain");this.chain=t}queue(t){return this.chain=this.chain.then(n=>(t(n),n)),this}then(t,n){return this.chain.then(t,n)}catch(t){return this.chain.catch(t)}finally(t){return this.chain.finally(t)}mount(t,n){return this.queue(s=>s.mount(t,n))}mountShadow(t,n){return this.queue(s=>s.mountShadow(t,n))}render(t={}){return this.queue(n=>n.render(t))}renderShadow(t={}){return this.queue(n=>n.renderShadow(t))}on(t,n){return this.queue(s=>s.on(t,n))}off(t,n){return this.queue(s=>s.off(t,n))}detach(){return this.queue(t=>t.detach())}destroy(){return this.queue(t=>t.destroy())}};var bo=e=>new re(e),Bn={$:me,$$:xe,$create:Ce,$reactive:$e,$toRaw:H,Component79:re};typeof globalThis<"u"&&globalThis[go]&&Un();0&&(module.exports={$,$$,$create,$reactive,$toRaw,C79,Component79,PendingComponent79,enableHotReload,hotUpdate,parseComponent,renderComponent});
16
16
  //# sourceMappingURL=jq79.cjs.map