@ryupold/vode 1.8.7 → 1.8.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vode.js CHANGED
@@ -261,53 +261,62 @@ var V = (() => {
261
261
  const _vode = {};
262
262
  _vode.syncRenderer = globals.requestAnimationFrame;
263
263
  _vode.asyncRenderer = globals.startViewTransition;
264
- _vode.qSync = null;
264
+ _vode.isRendering = 0;
265
265
  _vode.qAsync = null;
266
266
  _vode.stats = { lastSyncRenderTime: 0, lastAsyncRenderTime: 0, syncRenderCount: 0, asyncRenderCount: 0, liveEffectCount: 0, patchCount: 0, syncRenderPatchCount: 0, asyncRenderPatchCount: 0 };
267
267
  const patchableState = state;
268
268
  if ("patch" in state && typeof state.patch === "function" && Array.isArray(state.patch.initialPatches)) {
269
269
  initialPatches = [...state.patch.initialPatches, ...initialPatches];
270
270
  }
271
+ async function promisePatch(action, isAnimated) {
272
+ _vode.stats.liveEffectCount++;
273
+ try {
274
+ const resolvedPatch = await action;
275
+ patchableState.patch(resolvedPatch, isAnimated);
276
+ } finally {
277
+ _vode.stats.liveEffectCount--;
278
+ }
279
+ }
280
+ async function generatorPatch(action, isAnimated) {
281
+ const generator = action;
282
+ _vode.stats.liveEffectCount++;
283
+ try {
284
+ let v = await generator.next();
285
+ while (v.done === false) {
286
+ _vode.stats.liveEffectCount++;
287
+ try {
288
+ patchableState.patch(v.value, isAnimated);
289
+ v = await generator.next();
290
+ } finally {
291
+ _vode.stats.liveEffectCount--;
292
+ }
293
+ }
294
+ patchableState.patch(v.value, isAnimated);
295
+ } finally {
296
+ _vode.stats.liveEffectCount--;
297
+ }
298
+ }
271
299
  Object.defineProperty(state, "patch", {
272
300
  enumerable: false,
273
301
  configurable: true,
274
302
  writable: false,
275
- value: async (action, isAsync) => {
276
- if (!action || typeof action !== "function" && typeof action !== "object") return;
303
+ value: (action, isAnimated) => {
304
+ while (typeof action === "function") {
305
+ action = action(_vode.state);
306
+ }
307
+ if (!action || typeof action !== "object") return;
277
308
  _vode.stats.patchCount++;
278
309
  if (action?.next) {
279
- const generator = action;
280
- _vode.stats.liveEffectCount++;
281
- try {
282
- let v = await generator.next();
283
- while (v.done === false) {
284
- _vode.stats.liveEffectCount++;
285
- try {
286
- patchableState.patch(v.value, isAsync);
287
- v = await generator.next();
288
- } finally {
289
- _vode.stats.liveEffectCount--;
290
- }
291
- }
292
- patchableState.patch(v.value, isAsync);
293
- } finally {
294
- _vode.stats.liveEffectCount--;
295
- }
310
+ generatorPatch(action, isAnimated);
296
311
  } else if (action.then) {
297
- _vode.stats.liveEffectCount++;
298
- try {
299
- const resolvedPatch = await action;
300
- patchableState.patch(resolvedPatch, isAsync);
301
- } finally {
302
- _vode.stats.liveEffectCount--;
303
- }
312
+ promisePatch(action, isAnimated);
304
313
  } else if (Array.isArray(action)) {
305
314
  if (action.length > 0) {
306
315
  for (const p of action) {
307
316
  patchableState.patch(p, !document.hidden && !!_vode.asyncRenderer);
308
317
  }
309
318
  } else {
310
- _vode.qSync = mergeState(_vode.qSync || {}, _vode.qAsync, false);
319
+ mergeState(_vode.state, _vode.qAsync, true);
311
320
  _vode.qAsync = null;
312
321
  try {
313
322
  globals.currentViewTransition?.skipTransition();
@@ -316,34 +325,34 @@ var V = (() => {
316
325
  _vode.stats.syncRenderPatchCount++;
317
326
  _vode.renderSync();
318
327
  }
319
- } else if (typeof action === "function") {
320
- patchableState.patch(action(_vode.state), isAsync);
321
328
  } else {
322
- if (isAsync) {
329
+ if (isAnimated) {
323
330
  _vode.stats.asyncRenderPatchCount++;
324
331
  _vode.qAsync = mergeState(_vode.qAsync || {}, action, false);
325
- await _vode.renderAsync();
332
+ _vode.renderAsync();
326
333
  } else {
327
334
  _vode.stats.syncRenderPatchCount++;
328
- _vode.qSync = mergeState(_vode.qSync || {}, action, false);
335
+ mergeState(_vode.state, action, true);
329
336
  _vode.renderSync();
330
337
  }
331
338
  }
332
339
  }
333
340
  });
334
- function renderDom(isAsync) {
335
- const sw = Date.now();
341
+ function renderDom(isAnimated) {
342
+ const sw = performance.now();
336
343
  const vom = dom(_vode.state);
337
344
  _vode.vode = render(_vode.state, container.parentElement, 0, 0, _vode.vode, vom);
338
345
  if (container.tagName.toUpperCase() !== vom[0].toUpperCase()) {
339
346
  container = _vode.vode.node;
340
347
  container._vode = _vode;
341
348
  }
342
- if (!isAsync) {
343
- _vode.stats.lastSyncRenderTime = Date.now() - sw;
349
+ if (!isAnimated) {
350
+ _vode.stats.lastSyncRenderTime = performance.now() - sw;
351
+ const changesSinceRender = _vode.isRendering !== _vode.stats.syncRenderPatchCount;
344
352
  _vode.stats.syncRenderCount++;
345
- _vode.isRendering = false;
346
- if (_vode.qSync) _vode.renderSync();
353
+ _vode.isRendering = 0;
354
+ if (changesSinceRender)
355
+ _vode.renderSync();
347
356
  }
348
357
  }
349
358
  const sr = renderDom.bind(null, false);
@@ -353,10 +362,8 @@ var V = (() => {
353
362
  configurable: true,
354
363
  writable: false,
355
364
  value: () => {
356
- if (_vode.isRendering || !_vode.qSync) return;
357
- _vode.isRendering = true;
358
- _vode.state = mergeState(_vode.state, _vode.qSync, true);
359
- _vode.qSync = null;
365
+ if (_vode.isRendering) return;
366
+ _vode.isRendering = _vode.stats.syncRenderPatchCount;
360
367
  _vode.syncRenderer(sr);
361
368
  }
362
369
  });
@@ -369,14 +376,14 @@ var V = (() => {
369
376
  await globals.currentViewTransition?.updateCallbackDone;
370
377
  if (_vode.isAnimating || !_vode.qAsync || document.hidden) return;
371
378
  _vode.isAnimating = true;
372
- const sw = Date.now();
379
+ const sw = performance.now();
373
380
  try {
374
381
  _vode.state = mergeState(_vode.state, _vode.qAsync, true);
375
382
  _vode.qAsync = null;
376
383
  globals.currentViewTransition = _vode.asyncRenderer(ar);
377
384
  await globals.currentViewTransition?.updateCallbackDone;
378
385
  } finally {
379
- _vode.stats.lastAsyncRenderTime = Date.now() - sw;
386
+ _vode.stats.lastAsyncRenderTime = performance.now() - sw;
380
387
  _vode.stats.asyncRenderCount++;
381
388
  _vode.isAnimating = false;
382
389
  }
@@ -387,7 +394,8 @@ var V = (() => {
387
394
  const root = container;
388
395
  root._vode = _vode;
389
396
  const indexInParent = Array.from(container.parentElement.children).indexOf(container);
390
- _vode.isRendering = true;
397
+ const patchCountBefore = _vode.stats.syncRenderPatchCount;
398
+ _vode.isRendering = _vode.stats.syncRenderPatchCount;
391
399
  _vode.vode = render(
392
400
  state,
393
401
  container.parentElement,
@@ -396,8 +404,10 @@ var V = (() => {
396
404
  hydrate(container, true),
397
405
  dom(state)
398
406
  );
399
- _vode.isRendering = false;
400
- if (_vode.qSync) _vode.renderSync();
407
+ const continueRendering = _vode.stats.syncRenderPatchCount !== patchCountBefore;
408
+ _vode.isRendering = 0;
409
+ _vode.stats.syncRenderCount++;
410
+ if (continueRendering) _vode.renderSync();
401
411
  for (const effect of initialPatches) {
402
412
  patchableState.patch(effect);
403
413
  }
@@ -475,11 +485,15 @@ var V = (() => {
475
485
  return void 0;
476
486
  }
477
487
  }
478
- function memo(compare, componentOrProps) {
488
+ function memo(compare, component) {
479
489
  if (!compare || !Array.isArray(compare)) throw new Error("first argument to memo() must be an array of values to compare");
480
- if (typeof componentOrProps !== "function") throw new Error("second argument to memo() must be a function that returns a vode or props object");
481
- componentOrProps.__memo = compare;
482
- return componentOrProps;
490
+ if (typeof component !== "function") throw new Error("second argument to memo() must be a function that returns a child vode");
491
+ if (component.__memo) {
492
+ const comp = component;
493
+ component = (s) => comp(s);
494
+ }
495
+ component.__memo = compare;
496
+ return component;
483
497
  }
484
498
  function createState(state) {
485
499
  if (!state || typeof state !== "object") throw new Error("createState() must be called with a state object");
@@ -604,7 +618,7 @@ var V = (() => {
604
618
  for (let i = indexInParent; i < parent.childNodes.length; i++) {
605
619
  const nextSibling = parent.childNodes[i];
606
620
  if (nextSibling) {
607
- nextSibling.before(text, nextSibling);
621
+ nextSibling.before(text);
608
622
  inserted = true;
609
623
  break;
610
624
  }
@@ -637,7 +651,7 @@ var V = (() => {
637
651
  for (let i = indexInParent; i < parent.childNodes.length; i++) {
638
652
  const nextSibling = parent.childNodes[i];
639
653
  if (nextSibling) {
640
- nextSibling.before(newNode, nextSibling);
654
+ nextSibling.before(newNode);
641
655
  inserted = true;
642
656
  break;
643
657
  }
@@ -646,12 +660,12 @@ var V = (() => {
646
660
  parent.appendChild(newNode);
647
661
  }
648
662
  }
649
- const newKids = children(newVode);
650
- if (newKids) {
663
+ const newStart = childrenStart(newVode);
664
+ if (newStart > 0) {
651
665
  const childOffset = !!properties ? 2 : 1;
652
666
  let indexP = 0;
653
- for (let i = 0; i < newKids.length; i++) {
654
- const child2 = newKids[i];
667
+ for (let i = 0; i < newVode.length - newStart; i++) {
668
+ const child2 = newVode[i + newStart];
655
669
  const attached = render(state, newNode, i, indexP, void 0, child2, xmlns ?? null);
656
670
  newVode[i + childOffset] = attached;
657
671
  if (attached) indexP++;
@@ -665,41 +679,31 @@ var V = (() => {
665
679
  }
666
680
  if (!oldIsText && isNode && oldVode[0] === newVode[0]) {
667
681
  newVode.node = oldNode;
668
- const newvode = newVode;
669
- const oldvode = oldVode;
670
682
  const properties = props(newVode);
671
683
  const oldProps = props(oldVode);
672
- if (properties?.xmlns !== void 0) xmlns = properties.xmlns;
673
- if (newvode[1]?.__memo) {
674
- const prev = newvode[1];
675
- newvode[1] = remember(state, newvode[1], oldvode[1]);
676
- if (prev !== newvode[1]) {
677
- patchProperties(state, oldNode, oldProps, properties, xmlns);
678
- }
679
- } else {
680
- patchProperties(state, oldNode, oldProps, properties, xmlns);
681
- }
684
+ if (properties?.xmlns !== void 0)
685
+ xmlns = properties.xmlns;
686
+ patchProperties(state, oldNode, oldProps, properties, xmlns);
682
687
  if (!!properties?.catch && oldProps?.catch !== properties.catch) {
683
688
  newVode.node["catch"] = null;
684
689
  newVode.node.removeAttribute("catch");
685
690
  }
686
- const newKids = children(newVode);
687
- const oldKids = children(oldVode);
688
- if (newKids) {
689
- const childOffset = !!properties ? 2 : 1;
691
+ const newStart = childrenStart(newVode);
692
+ const oldStart = childrenStart(oldVode);
693
+ if (newStart > 0) {
690
694
  let indexP = 0;
691
- for (let i = 0; i < newKids.length; i++) {
692
- const child2 = newKids[i];
693
- const oldChild = oldKids && oldKids[i];
695
+ for (let i = 0; i < newVode.length - newStart; i++) {
696
+ const child2 = newVode[i + newStart];
697
+ const oldChild = oldStart > 0 ? oldVode[i + oldStart] : void 0;
694
698
  const attached = render(state, oldNode, i, indexP, oldChild, child2, xmlns);
695
- newVode[i + childOffset] = attached;
699
+ newVode[i + newStart] = attached;
696
700
  if (attached) indexP++;
697
701
  }
698
702
  }
699
- if (oldKids) {
700
- const newKidsCount = newKids ? newKids.length : 0;
701
- for (let i = oldKids.length - 1; i >= newKidsCount; i--) {
702
- render(state, oldNode, i, i, oldKids[i], void 0, xmlns);
703
+ if (oldStart > 0) {
704
+ const newKidsCount = newStart > 0 ? newVode.length - newStart : 0;
705
+ for (let i = oldVode.length - 1 - oldStart; i >= newKidsCount; i--) {
706
+ render(state, oldNode, i, i, oldVode[i + oldStart], void 0, xmlns);
703
707
  }
704
708
  }
705
709
  newVode._unmountCount = (properties?.onUnmount ? 1 : 0) + sumChildUnmountCounts(newVode);
@@ -756,6 +760,9 @@ var V = (() => {
756
760
  return typeof x === "string" || x?.nodeType === Node.TEXT_NODE;
757
761
  }
758
762
  function remember(state, present, past) {
763
+ while (typeof present === "function" && !present.__memo) {
764
+ present = present(state);
765
+ }
759
766
  if (typeof present !== "function")
760
767
  return present;
761
768
  const presentMemo = present?.__memo;
@@ -770,37 +777,13 @@ var V = (() => {
770
777
  }
771
778
  if (same) return past;
772
779
  }
773
- const result = present(state);
774
- if (typeof result === "function" && result?.__memo) {
775
- const resultMemo = result.__memo;
776
- if (Array.isArray(resultMemo) && Array.isArray(pastMemo) && resultMemo.length === pastMemo.length) {
777
- let same = true;
778
- for (let i = 0; i < resultMemo.length; i++) {
779
- if (resultMemo[i] !== pastMemo[i]) {
780
- same = false;
781
- break;
782
- }
783
- }
784
- if (same) return past;
785
- }
786
- const innerRender = result(state);
787
- if (typeof innerRender === "object") {
788
- innerRender.__memo = resultMemo;
789
- }
790
- return innerRender;
791
- }
792
- const newRender = typeof result === "function" ? unwrap(result, state) : result;
793
- if (typeof newRender === "object") {
794
- newRender.__memo = result?.__memo || present?.__memo;
780
+ while (typeof present === "function") {
781
+ present = present(state);
795
782
  }
796
- return newRender;
797
- }
798
- function unwrap(c, s) {
799
- if (typeof c === "function") {
800
- return unwrap(c(s), s);
801
- } else {
802
- return c;
783
+ if (typeof present === "object") {
784
+ present.__memo = presentMemo;
803
785
  }
786
+ return present;
804
787
  }
805
788
  function patchProperties(s, node, oldProps, newProps, xmlns) {
806
789
  if (!newProps && !oldProps) return;
@@ -1217,10 +1200,11 @@ var V = (() => {
1217
1200
  }
1218
1201
  raw[keys[i]] = value;
1219
1202
  } else if (keys.length === 1) {
1220
- if (typeof target[keys[0]] === "object" && typeof value === "object")
1203
+ if (typeof target[keys[0]] === "object" && typeof value === "object" && value !== null) {
1221
1204
  Object.assign(target[keys[0]], value);
1222
- else
1205
+ } else {
1223
1206
  target[keys[0]] = value;
1207
+ }
1224
1208
  } else {
1225
1209
  Object.assign(target, value);
1226
1210
  }
package/dist/vode.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";var V=(()=>{var v=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var W=(e,n)=>{for(var s in n)v(e,s,{get:n[s],enumerable:!0})},$=(e,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of X(n))!Y.call(e,t)&&t!==s&&v(e,t,{get:()=>n[t],enumerable:!(a=w(n,t))||a.enumerable});return e};var J=e=>$(v({},"__esModule",{value:!0}),e);var Jo={};W(Jo,{A:()=>ct,ABBR:()=>it,ADDRESS:()=>lt,ANIMATE:()=>Sn,ANIMATEMOTION:()=>un,ANIMATETRANSFORM:()=>dn,ANNOTATION:()=>xo,ANNOTATION_XML:()=>ho,AREA:()=>pt,ARTICLE:()=>ft,ASIDE:()=>St,AUDIO:()=>ut,B:()=>dt,BASE:()=>Tt,BDI:()=>yt,BDO:()=>gt,BLOCKQUOTE:()=>xt,BODY:()=>ht,BR:()=>mt,BUTTON:()=>bt,CANVAS:()=>Et,CAPTION:()=>Pt,CIRCLE:()=>Tn,CITE:()=>At,CLIPPATH:()=>yn,CODE:()=>Ct,COL:()=>Mt,COLGROUP:()=>Rt,DATA:()=>Nt,DATALIST:()=>Ot,DD:()=>Dt,DEFS:()=>gn,DEL:()=>Lt,DESC:()=>xn,DETAILS:()=>vt,DFN:()=>It,DIALOG:()=>Vt,DIV:()=>Ft,DL:()=>Ht,DT:()=>jt,ELLIPSE:()=>hn,EM:()=>Gt,EMBED:()=>Ut,FEBLEND:()=>mn,FECOLORMATRIX:()=>bn,FECOMPONENTTRANSFER:()=>En,FECOMPOSITE:()=>Pn,FECONVOLVEMATRIX:()=>An,FEDIFFUSELIGHTING:()=>Cn,FEDISPLACEMENTMAP:()=>Mn,FEDISTANTLIGHT:()=>Rn,FEDROPSHADOW:()=>Nn,FEFLOOD:()=>On,FEFUNCA:()=>Dn,FEFUNCB:()=>Ln,FEFUNCG:()=>vn,FEFUNCR:()=>In,FEGAUSSIANBLUR:()=>Vn,FEIMAGE:()=>Fn,FEMERGE:()=>Hn,FEMERGENODE:()=>jn,FEMORPHOLOGY:()=>Gn,FEOFFSET:()=>Un,FEPOINTLIGHT:()=>kn,FESPECULARLIGHTING:()=>_n,FESPOTLIGHT:()=>Bn,FETILE:()=>Kn,FETURBULENCE:()=>qn,FIELDSET:()=>kt,FIGCAPTION:()=>_t,FIGURE:()=>Bt,FILTER:()=>wn,FOOTER:()=>Kt,FOREIGNOBJECT:()=>Xn,FORM:()=>qt,G:()=>Yn,H1:()=>wt,H2:()=>Xt,H3:()=>Yt,H4:()=>Wt,H5:()=>$t,H6:()=>Jt,HEAD:()=>Qt,HEADER:()=>zt,HGROUP:()=>Zt,HR:()=>te,HTML:()=>ee,I:()=>ne,IFRAME:()=>oe,IMAGE:()=>Wn,IMG:()=>ae,INPUT:()=>se,INS:()=>re,KBD:()=>ce,LABEL:()=>ie,LEGEND:()=>le,LI:()=>pe,LINE:()=>$n,LINEARGRADIENT:()=>Jn,LINK:()=>fe,MACTION:()=>mo,MAIN:()=>Se,MAP:()=>ue,MARK:()=>de,MARKER:()=>Qn,MASK:()=>zn,MATH:()=>bo,MENU:()=>Te,MERROR:()=>Eo,META:()=>ye,METADATA:()=>Zn,METER:()=>ge,MFRAC:()=>Po,MI:()=>Ao,MMULTISCRIPTS:()=>Co,MN:()=>Mo,MO:()=>Ro,MOVER:()=>No,MPADDED:()=>Oo,MPATH:()=>to,MPHANTOM:()=>Do,MPRESCRIPTS:()=>Lo,MROOT:()=>vo,MROW:()=>Io,MS:()=>Vo,MSPACE:()=>Fo,MSQRT:()=>Ho,MSTYLE:()=>jo,MSUB:()=>Go,MSUBSUP:()=>Uo,MSUP:()=>ko,MTABLE:()=>_o,MTD:()=>Bo,MTEXT:()=>Ko,MTR:()=>qo,MUNDER:()=>wo,MUNDEROVER:()=>Xo,NAV:()=>xe,NOSCRIPT:()=>he,OBJECT:()=>me,OL:()=>be,OPTGROUP:()=>Ee,OPTION:()=>Pe,OUTPUT:()=>Ae,P:()=>Ce,PATH:()=>eo,PATTERN:()=>no,PICTURE:()=>Me,POLYGON:()=>oo,POLYLINE:()=>ao,PRE:()=>Re,PROGRESS:()=>Ne,Q:()=>Oe,RADIALGRADIENT:()=>so,RECT:()=>ro,RP:()=>De,RT:()=>Le,RUBY:()=>ve,S:()=>Ie,SAMP:()=>Ve,SCRIPT:()=>Fe,SEARCH:()=>He,SECTION:()=>je,SELECT:()=>Ge,SEMANTICS:()=>Yo,SET:()=>co,SLOT:()=>Ue,SMALL:()=>ke,SOURCE:()=>_e,SPAN:()=>Be,STOP:()=>io,STRONG:()=>Ke,STYLE:()=>qe,SUB:()=>we,SUMMARY:()=>Xe,SUP:()=>Ye,SVG:()=>lo,SWITCH:()=>po,SYMBOL:()=>fo,TABLE:()=>We,TBODY:()=>$e,TD:()=>Je,TEMPLATE:()=>Qe,TEXT:()=>So,TEXTAREA:()=>ze,TEXTPATH:()=>uo,TFOOT:()=>Ze,TH:()=>tn,THEAD:()=>en,TIME:()=>nn,TITLE:()=>on,TR:()=>an,TRACK:()=>sn,TSPAN:()=>To,U:()=>rn,UL:()=>cn,USE:()=>yo,VAR:()=>ln,VIDEO:()=>pn,VIEW:()=>go,WBR:()=>fn,app:()=>z,child:()=>at,childCount:()=>ot,children:()=>C,childrenStart:()=>D,context:()=>$o,createPatch:()=>et,createState:()=>tt,defuse:()=>F,globals:()=>A,hydrate:()=>O,memo:()=>Z,mergeClass:()=>H,mergeProps:()=>Wo,mergeStyle:()=>j,props:()=>P,tag:()=>nt,vode:()=>Q});var A={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function Q(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function z(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=A.requestAnimationFrame,t.asyncRenderer=A.startViewTransition,t.qSync=null,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]),Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:async(l,y)=>{if(!(!l||typeof l!="function"&&typeof l!="object"))if(t.stats.patchCount++,l?.next){let f=l;t.stats.liveEffectCount++;try{let d=await f.next();for(;d.done===!1;){t.stats.liveEffectCount++;try{o.patch(d.value,y),d=await f.next()}finally{t.stats.liveEffectCount--}}o.patch(d.value,y)}finally{t.stats.liveEffectCount--}}else if(l.then){t.stats.liveEffectCount++;try{let f=await l;o.patch(f,y)}finally{t.stats.liveEffectCount--}}else if(Array.isArray(l))if(l.length>0)for(let f of l)o.patch(f,!document.hidden&&!!t.asyncRenderer);else{t.qSync=E(t.qSync||{},t.qAsync,!1),t.qAsync=null;try{A.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else typeof l=="function"?o.patch(l(t.state),y):y?(t.stats.asyncRenderPatchCount++,t.qAsync=E(t.qAsync||{},l,!1),await t.renderAsync()):(t.stats.syncRenderPatchCount++,t.qSync=E(t.qSync||{},l,!1),t.renderSync())}});function r(l){let y=Date.now(),f=s(t.state);t.vode=M(t.state,e.parentElement,0,0,t.vode,f),e.tagName.toUpperCase()!==f[0].toUpperCase()&&(e=t.vode.node,e._vode=t),l||(t.stats.lastSyncRenderTime=Date.now()-y,t.stats.syncRenderCount++,t.isRendering=!1,t.qSync&&t.renderSync())}let p=r.bind(null,!1),c=r.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||!t.qSync||(t.isRendering=!0,t.state=E(t.state,t.qSync,!0),t.qSync=null,t.syncRenderer(p))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await A.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let l=Date.now();try{t.state=E(t.state,t.qAsync,!0),t.qAsync=null,A.currentViewTransition=t.asyncRenderer(c),await A.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=Date.now()-l,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let i=e;i._vode=t;let S=Array.from(e.parentElement.children).indexOf(e);t.isRendering=!0,t.vode=M(n,e.parentElement,S,S,O(e,!0),s(n)),t.isRendering=!1,t.qSync&&t.renderSync();for(let l of a)o.patch(l);return l=>o.patch(l)}function F(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=P(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)F(t.node);else{let r=C(t);if(r)for(let p of r)s(p)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)F(s)}function O(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&O(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function Z(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a vode or props object");return n.__memo=e,n}function tt(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function et(e){return e}function nt(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function P(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function C(e){let n=D(e);return n>0?e.slice(n):null}function ot(e){let n=D(e);return n<0?0:e.length-n}function at(e,n){let s=D(e);if(s>0)return e[n+s]}function D(e){return P(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function E(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=E({},t,s):typeof o=="object"?E(e[a],t,s):e[a]=E({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=E({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function M(e,n,s,a,t,o,r){try{o=I(e,o,t);let p=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&p)return t;let c=t?.nodeType===Node.TEXT_NODE,i=c?t:t?.node;if(p){N(e,t),i?.remove();return}let S=!p&&rt(o),l=!p&&st(o),y=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!S&&!l&&!y&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(y&&S?o=o.wholeText:y&&l&&(o=[...o]),c&&S)return i.nodeValue!==o&&(i.nodeValue=o),t;if(S&&(!i||!c)){let f=document.createTextNode(o);if(i)N(e,t),i.replaceWith(f);else{let d=!1;for(let u=a;u<n.childNodes.length;u++){let x=n.childNodes[u];if(x){x.before(f,x),d=!0;break}}d||n.appendChild(f)}return f}if(l&&(!i||c||t[0]!==o[0])){let f=o;1 in f&&(f[1]=I(e,f[1],void 0));let d=P(o);d?.xmlns!==void 0&&(r=d.xmlns);let u=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=u,V(e,u,void 0,d,r??null),d&&"catch"in d&&(o.node.catch=null,o.node.removeAttribute("catch")),i)N(e,t),i.replaceWith(u);else{let h=!1;for(let g=a;g<n.childNodes.length;g++){let T=n.childNodes[g];if(T){T.before(u,T),h=!0;break}}h||n.appendChild(u)}let x=C(o);if(x){let h=d?2:1,g=0;for(let T=0;T<x.length;T++){let m=x[T],b=M(e,u,T,g,void 0,m,r??null);o[T+h]=b,b&&g++}}return o._unmountCount=(d?.onUnmount?1:0)+k(o),typeof d?.onMount=="function"&&e.patch(d.onMount(e,u)),o}if(!c&&l&&t[0]===o[0]){o.node=i;let f=o,d=t,u=P(o),x=P(t);if(u?.xmlns!==void 0&&(r=u.xmlns),f[1]?.__memo){let T=f[1];f[1]=I(e,f[1],d[1]),T!==f[1]&&V(e,i,x,u,r)}else V(e,i,x,u,r);u?.catch&&x?.catch!==u.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let h=C(o),g=C(t);if(h){let T=u?2:1,m=0;for(let b=0;b<h.length;b++){let K=h[b],q=g&&g[b],U=M(e,i,b,m,q,K,r);o[b+T]=U,U&&m++}}if(g){let T=h?h.length:0;for(let m=g.length-1;m>=T;m--)M(e,i,m,m,g[m],void 0,r)}return o._unmountCount=(u?.onUnmount?1:0)+k(o),o}}catch(p){let c=P(o)?.catch;if(c){let i=typeof c=="function"?c(e,p):c;return M(e,n,s,a,O(o?.node||t?.node,!0),i,r)}else throw p}}function N(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=C(n);if(s)for(let t=s.length-1;t>=0;t--)N(e,s[t]);let a=P(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function k(e){let n=C(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function st(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function rt(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function I(e,n,s){if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let p=!0;for(let c=0;c<a.length;c++)if(a[c]!==t[c]){p=!1;break}if(p)return s}let o=n(e);if(typeof o=="function"&&o?.__memo){let p=o.__memo;if(Array.isArray(p)&&Array.isArray(t)&&p.length===t.length){let i=!0;for(let S=0;S<p.length;S++)if(p[S]!==t[S]){i=!1;break}if(i)return s}let c=o(e);return typeof c=="object"&&(c.__memo=p),c}let r=typeof o=="function"?_(o,e):o;return typeof r=="object"&&(r.__memo=o?.__memo||n?.__memo),r}function _(e,n){return typeof e=="function"?_(e(n),n):e}function V(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let p=s[r],c=a?.[r];p!==c&&(a?a[r]=R(e,n,r,p,c,o):R(e,n,r,p,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let p=a[r];a[r]=R(e,n,r,void 0,p,o)}}else if(a)for(let r in a){let p=a[r];a[r]=R(e,n,r,void 0,p,o)}}function R(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let p=a[r],c=t[r];p!==c&&(n.style[r]=c)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",B(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let p=t;r=c=>e.patch(p(e,c))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function B(e){return typeof e=="string"?e:Array.isArray(e)?e.map(B).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var ct="a",it="abbr",lt="address",pt="area",ft="article",St="aside",ut="audio",dt="b",Tt="base",yt="bdi",gt="bdo",xt="blockquote",ht="body",mt="br",bt="button",Et="canvas",Pt="caption",At="cite",Ct="code",Mt="col",Rt="colgroup",Nt="data",Ot="datalist",Dt="dd",Lt="del",vt="details",It="dfn",Vt="dialog",Ft="div",Ht="dl",jt="dt",Gt="em",Ut="embed",kt="fieldset",_t="figcaption",Bt="figure",Kt="footer",qt="form",wt="h1",Xt="h2",Yt="h3",Wt="h4",$t="h5",Jt="h6",Qt="head",zt="header",Zt="hgroup",te="hr",ee="html",ne="i",oe="iframe",ae="img",se="input",re="ins",ce="kbd",ie="label",le="legend",pe="li",fe="link",Se="main",ue="map",de="mark",Te="menu",ye="meta",ge="meter",xe="nav",he="noscript",me="object",be="ol",Ee="optgroup",Pe="option",Ae="output",Ce="p",Me="picture",Re="pre",Ne="progress",Oe="q",De="rp",Le="rt",ve="ruby",Ie="s",Ve="samp",Fe="script",He="search",je="section",Ge="select",Ue="slot",ke="small",_e="source",Be="span",Ke="strong",qe="style",we="sub",Xe="summary",Ye="sup",We="table",$e="tbody",Je="td",Qe="template",ze="textarea",Ze="tfoot",tn="th",en="thead",nn="time",on="title",an="tr",sn="track",rn="u",cn="ul",ln="var",pn="video",fn="wbr",Sn="animate",un="animateMotion",dn="animateTransform",Tn="circle",yn="clipPath",gn="defs",xn="desc",hn="ellipse",mn="feBlend",bn="feColorMatrix",En="feComponentTransfer",Pn="feComposite",An="feConvolveMatrix",Cn="feDiffuseLighting",Mn="feDisplacementMap",Rn="feDistantLight",Nn="feDropShadow",On="feFlood",Dn="feFuncA",Ln="feFuncB",vn="feFuncG",In="feFuncR",Vn="feGaussianBlur",Fn="feImage",Hn="feMerge",jn="feMergeNode",Gn="feMorphology",Un="feOffset",kn="fePointLight",_n="feSpecularLighting",Bn="feSpotLight",Kn="feTile",qn="feTurbulence",wn="filter",Xn="foreignObject",Yn="g",Wn="image",$n="line",Jn="linearGradient",Qn="marker",zn="mask",Zn="metadata",to="mpath",eo="path",no="pattern",oo="polygon",ao="polyline",so="radialGradient",ro="rect",co="set",io="stop",lo="svg",po="switch",fo="symbol",So="text",uo="textPath",To="tspan",yo="use",go="view",xo="annotation",ho="annotation-xml",mo="maction",bo="math",Eo="merror",Po="mfrac",Ao="mi",Co="mmultiscripts",Mo="mn",Ro="mo",No="mover",Oo="mpadded",Do="mphantom",Lo="mprescripts",vo="mroot",Io="mrow",Vo="ms",Fo="mspace",Ho="msqrt",jo="mstyle",Go="msub",Uo="msubsup",ko="msup",_o="mtable",Bo="mtd",Ko="mtext",qo="mtr",wo="munder",Xo="munderover",Yo="semantics";function H(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),p=new Set([...o,...r]);n=Array.from(p).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&typeof t=="object")n={...a,...t};else if(typeof a=="object"&&Array.isArray(t)){let o={...a};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(a)&&typeof t=="object"){let o={};for(let r of a)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var L;function j(...e){L||(L=document.createElement("div"));try{let n=L.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{L.style.cssText=""}}function Wo(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=j(n.style,s.style):a==="class"?n.class=H(n.class,s.class):n[a]=s[a]}return n}function $o(e){return new G(e,[])}var G=class e{constructor(n,s){this.state=n;this.keys=s;function a(c,i){if(s.length>1){let S=0,l=i[s[S]];for((typeof l!="object"||l===null)&&(i[s[S]]=l={}),S=1;S<s.length-1;S++){let y=l;l=l[s[S]],(typeof l!="object"||l===null)&&(y[s[S]]=l={})}l[s[S]]=c}else s.length===1?typeof i[s[0]]=="object"&&typeof c=="object"?Object.assign(i[s[0]],c):i[s[0]]=c:Object.assign(i,c)}function t(c){let i={};return a(c,i),i}function o(){if(s.length===0)return n;let c=n?n[s[0]]:void 0;for(let i=1;i<s.length&&c;i++)c=c[s[i]];return c}function r(c){a(c,n)}function p(c,i){i?n.patch([t(c)]):n.patch(t(c))}return new Proxy(this,{get:(c,i,S)=>{if(i==="state")return n;if(i==="get")return o;if(i==="put")return r;if(i==="patch")return p;let l=[...c.keys,String(i)];return new e(c.state,l)}})}state;keys;get(){}put(n){}patch(n){}};return J(Jo);})();
1
+ "use strict";var V=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var q=(e,n)=>{for(var s in n)v(e,s,{get:n[s],enumerable:!0})},w=(e,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of _(n))!K.call(e,t)&&t!==s&&v(e,t,{get:()=>n[t],enumerable:!(a=B(n,t))||a.enumerable});return e};var X=e=>w(v({},"__esModule",{value:!0}),e);var Xo={};q(Xo,{A:()=>ot,ABBR:()=>at,ADDRESS:()=>st,ANIMATE:()=>cn,ANIMATEMOTION:()=>ln,ANIMATETRANSFORM:()=>fn,ANNOTATION:()=>uo,ANNOTATION_XML:()=>To,AREA:()=>rt,ARTICLE:()=>ct,ASIDE:()=>it,AUDIO:()=>lt,B:()=>ft,BASE:()=>pt,BDI:()=>St,BDO:()=>ut,BLOCKQUOTE:()=>dt,BODY:()=>Tt,BR:()=>yt,BUTTON:()=>gt,CANVAS:()=>ht,CAPTION:()=>xt,CIRCLE:()=>pn,CITE:()=>mt,CLIPPATH:()=>Sn,CODE:()=>bt,COL:()=>Et,COLGROUP:()=>Pt,DATA:()=>At,DATALIST:()=>Ct,DD:()=>Mt,DEFS:()=>un,DEL:()=>Rt,DESC:()=>dn,DETAILS:()=>Nt,DFN:()=>Ot,DIALOG:()=>Dt,DIV:()=>Lt,DL:()=>vt,DT:()=>It,ELLIPSE:()=>Tn,EM:()=>Vt,EMBED:()=>Ft,FEBLEND:()=>yn,FECOLORMATRIX:()=>gn,FECOMPONENTTRANSFER:()=>hn,FECOMPOSITE:()=>xn,FECONVOLVEMATRIX:()=>mn,FEDIFFUSELIGHTING:()=>bn,FEDISPLACEMENTMAP:()=>En,FEDISTANTLIGHT:()=>Pn,FEDROPSHADOW:()=>An,FEFLOOD:()=>Cn,FEFUNCA:()=>Mn,FEFUNCB:()=>Rn,FEFUNCG:()=>Nn,FEFUNCR:()=>On,FEGAUSSIANBLUR:()=>Dn,FEIMAGE:()=>Ln,FEMERGE:()=>vn,FEMERGENODE:()=>In,FEMORPHOLOGY:()=>Vn,FEOFFSET:()=>Fn,FEPOINTLIGHT:()=>Hn,FESPECULARLIGHTING:()=>Gn,FESPOTLIGHT:()=>jn,FETILE:()=>Un,FETURBULENCE:()=>kn,FIELDSET:()=>Ht,FIGCAPTION:()=>Gt,FIGURE:()=>jt,FILTER:()=>Bn,FOOTER:()=>Ut,FOREIGNOBJECT:()=>_n,FORM:()=>kt,G:()=>Kn,H1:()=>Bt,H2:()=>_t,H3:()=>Kt,H4:()=>qt,H5:()=>wt,H6:()=>Xt,HEAD:()=>Yt,HEADER:()=>Wt,HGROUP:()=>$t,HR:()=>Jt,HTML:()=>Qt,I:()=>zt,IFRAME:()=>Zt,IMAGE:()=>qn,IMG:()=>te,INPUT:()=>ee,INS:()=>ne,KBD:()=>oe,LABEL:()=>ae,LEGEND:()=>se,LI:()=>re,LINE:()=>wn,LINEARGRADIENT:()=>Xn,LINK:()=>ce,MACTION:()=>yo,MAIN:()=>ie,MAP:()=>le,MARK:()=>fe,MARKER:()=>Yn,MASK:()=>Wn,MATH:()=>go,MENU:()=>pe,MERROR:()=>ho,META:()=>Se,METADATA:()=>$n,METER:()=>ue,MFRAC:()=>xo,MI:()=>mo,MMULTISCRIPTS:()=>bo,MN:()=>Eo,MO:()=>Po,MOVER:()=>Ao,MPADDED:()=>Co,MPATH:()=>Jn,MPHANTOM:()=>Mo,MPRESCRIPTS:()=>Ro,MROOT:()=>No,MROW:()=>Oo,MS:()=>Do,MSPACE:()=>Lo,MSQRT:()=>vo,MSTYLE:()=>Io,MSUB:()=>Vo,MSUBSUP:()=>Fo,MSUP:()=>Ho,MTABLE:()=>Go,MTD:()=>jo,MTEXT:()=>Uo,MTR:()=>ko,MUNDER:()=>Bo,MUNDEROVER:()=>_o,NAV:()=>de,NOSCRIPT:()=>Te,OBJECT:()=>ye,OL:()=>ge,OPTGROUP:()=>he,OPTION:()=>xe,OUTPUT:()=>me,P:()=>be,PATH:()=>Qn,PATTERN:()=>zn,PICTURE:()=>Ee,POLYGON:()=>Zn,POLYLINE:()=>to,PRE:()=>Pe,PROGRESS:()=>Ae,Q:()=>Ce,RADIALGRADIENT:()=>eo,RECT:()=>no,RP:()=>Me,RT:()=>Re,RUBY:()=>Ne,S:()=>Oe,SAMP:()=>De,SCRIPT:()=>Le,SEARCH:()=>ve,SECTION:()=>Ie,SELECT:()=>Ve,SEMANTICS:()=>Ko,SET:()=>oo,SLOT:()=>Fe,SMALL:()=>He,SOURCE:()=>Ge,SPAN:()=>je,STOP:()=>ao,STRONG:()=>Ue,STYLE:()=>ke,SUB:()=>Be,SUMMARY:()=>_e,SUP:()=>Ke,SVG:()=>so,SWITCH:()=>ro,SYMBOL:()=>co,TABLE:()=>qe,TBODY:()=>we,TD:()=>Xe,TEMPLATE:()=>Ye,TEXT:()=>io,TEXTAREA:()=>We,TEXTPATH:()=>lo,TFOOT:()=>$e,TH:()=>Je,THEAD:()=>Qe,TIME:()=>ze,TITLE:()=>Ze,TR:()=>tn,TRACK:()=>en,TSPAN:()=>fo,U:()=>nn,UL:()=>on,USE:()=>po,VAR:()=>an,VIDEO:()=>sn,VIEW:()=>So,WBR:()=>rn,app:()=>W,child:()=>tt,childCount:()=>Z,children:()=>O,childrenStart:()=>P,context:()=>wo,createPatch:()=>Q,createState:()=>J,defuse:()=>I,globals:()=>E,hydrate:()=>N,memo:()=>$,mergeClass:()=>V,mergeProps:()=>qo,mergeStyle:()=>F,props:()=>m,tag:()=>z,vode:()=>Y});var E={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function Y(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function W(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=E.requestAnimationFrame,t.asyncRenderer=E.startViewTransition,t.isRendering=0,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]);async function r(c,S){t.stats.liveEffectCount++;try{let d=await c;o.patch(d,S)}finally{t.stats.liveEffectCount--}}async function f(c,S){let d=c;t.stats.liveEffectCount++;try{let p=await d.next();for(;p.done===!1;){t.stats.liveEffectCount++;try{o.patch(p.value,S),p=await d.next()}finally{t.stats.liveEffectCount--}}o.patch(p.value,S)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,S)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object"))if(t.stats.patchCount++,c?.next)f(c,S);else if(c.then)r(c,S);else if(Array.isArray(c))if(c.length>0)for(let d of c)o.patch(d,!document.hidden&&!!t.asyncRenderer);else{b(t.state,t.qAsync,!0),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else S?(t.stats.asyncRenderPatchCount++,t.qAsync=b(t.qAsync||{},c,!1),t.renderAsync()):(t.stats.syncRenderPatchCount++,b(t.state,c,!0),t.renderSync())}});function i(c){let S=performance.now(),d=s(t.state);if(t.vode=A(t.state,e.parentElement,0,0,t.vode,d),e.tagName.toUpperCase()!==d[0].toUpperCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-S;let p=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,p&&t.renderSync()}}let l=i.bind(null,!1),g=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(l))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=b(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(g),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let u=e;u._vode=t;let x=Array.from(e.parentElement.children).indexOf(e),T=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=A(n,e.parentElement,x,x,N(e,!0),s(n));let y=t.stats.syncRenderPatchCount!==T;t.isRendering=0,t.stats.syncRenderCount++,y&&t.renderSync();for(let c of a)o.patch(c);return c=>o.patch(c)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=m(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=O(t);if(r)for(let f of r)s(f)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)I(s)}function N(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&N(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function $(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=a=>s(a)}return n.__memo=e,n}function J(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function Q(e){return e}function z(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function m(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let n=P(e);return n>0?e.slice(n):null}function Z(e){let n=P(e);return n<0?0:e.length-n}function tt(e,n){let s=P(e);if(s>0)return e[n+s]}function P(e){return m(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function b(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=b({},t,s):typeof o=="object"?b(e[a],t,s):e[a]=b({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=b({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function A(e,n,s,a,t,o,r){try{o=j(e,o,t);let f=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&f)return t;let i=t?.nodeType===Node.TEXT_NODE,l=i?t:t?.node;if(f){R(e,t),l?.remove();return}let g=!f&&nt(o),u=!f&&et(o),x=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!g&&!u&&!x&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(x&&g?o=o.wholeText:x&&u&&(o=[...o]),i&&g)return l.nodeValue!==o&&(l.nodeValue=o),t;if(g&&(!l||!i)){let T=document.createTextNode(o);if(l)R(e,t),l.replaceWith(T);else{let y=!1;for(let c=a;c<n.childNodes.length;c++){let S=n.childNodes[c];if(S){S.before(T),y=!0;break}}y||n.appendChild(T)}return T}if(u&&(!l||i||t[0]!==o[0])){let T=o;1 in T&&(T[1]=j(e,T[1],void 0));let y=m(o);y?.xmlns!==void 0&&(r=y.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,U(e,c,void 0,y,r??null),y&&"catch"in y&&(o.node.catch=null,o.node.removeAttribute("catch")),l)R(e,t),l.replaceWith(c);else{let d=!1;for(let p=a;p<n.childNodes.length;p++){let h=n.childNodes[p];if(h){h.before(c),d=!0;break}}d||n.appendChild(c)}let S=P(o);if(S>0){let d=y?2:1,p=0;for(let h=0;h<o.length-S;h++){let L=o[h+S],C=A(e,c,h,p,void 0,L,r??null);o[h+d]=C,C&&p++}}return o._unmountCount=(y?.onUnmount?1:0)+G(o),typeof y?.onMount=="function"&&e.patch(y.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=l;let T=m(o),y=m(t);T?.xmlns!==void 0&&(r=T.xmlns),U(e,l,y,T,r),T?.catch&&y?.catch!==T.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=P(o),S=P(t);if(c>0){let d=0;for(let p=0;p<o.length-c;p++){let h=o[p+c],L=S>0?t[p+S]:void 0,C=A(e,l,p,d,L,h,r);o[p+c]=C,C&&d++}}if(S>0){let d=c>0?o.length-c:0;for(let p=t.length-1-S;p>=d;p--)A(e,l,p,p,t[p+S],void 0,r)}return o._unmountCount=(T?.onUnmount?1:0)+G(o),o}}catch(f){let i=m(o)?.catch;if(i){let l=typeof i=="function"?i(e,f):i;return A(e,n,s,a,N(o?.node||t?.node,!0),l,r)}else throw f}}function R(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=O(n);if(s)for(let t=s.length-1;t>=0;t--)R(e,s[t]);let a=m(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function G(e){let n=O(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function et(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function nt(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function j(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let o=!0;for(let r=0;r<a.length;r++)if(a[r]!==t[r]){o=!1;break}if(o)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=a),n}function U(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let f=s[r],i=a?.[r];f!==i&&(a?a[r]=M(e,n,r,f,i,o):M(e,n,r,f,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}else if(a)for(let r in a){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}function M(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let f=a[r],i=t[r];f!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",k(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let f=t;r=i=>e.patch(f(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function k(e){return typeof e=="string"?e:Array.isArray(e)?e.map(k).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var ot="a",at="abbr",st="address",rt="area",ct="article",it="aside",lt="audio",ft="b",pt="base",St="bdi",ut="bdo",dt="blockquote",Tt="body",yt="br",gt="button",ht="canvas",xt="caption",mt="cite",bt="code",Et="col",Pt="colgroup",At="data",Ct="datalist",Mt="dd",Rt="del",Nt="details",Ot="dfn",Dt="dialog",Lt="div",vt="dl",It="dt",Vt="em",Ft="embed",Ht="fieldset",Gt="figcaption",jt="figure",Ut="footer",kt="form",Bt="h1",_t="h2",Kt="h3",qt="h4",wt="h5",Xt="h6",Yt="head",Wt="header",$t="hgroup",Jt="hr",Qt="html",zt="i",Zt="iframe",te="img",ee="input",ne="ins",oe="kbd",ae="label",se="legend",re="li",ce="link",ie="main",le="map",fe="mark",pe="menu",Se="meta",ue="meter",de="nav",Te="noscript",ye="object",ge="ol",he="optgroup",xe="option",me="output",be="p",Ee="picture",Pe="pre",Ae="progress",Ce="q",Me="rp",Re="rt",Ne="ruby",Oe="s",De="samp",Le="script",ve="search",Ie="section",Ve="select",Fe="slot",He="small",Ge="source",je="span",Ue="strong",ke="style",Be="sub",_e="summary",Ke="sup",qe="table",we="tbody",Xe="td",Ye="template",We="textarea",$e="tfoot",Je="th",Qe="thead",ze="time",Ze="title",tn="tr",en="track",nn="u",on="ul",an="var",sn="video",rn="wbr",cn="animate",ln="animateMotion",fn="animateTransform",pn="circle",Sn="clipPath",un="defs",dn="desc",Tn="ellipse",yn="feBlend",gn="feColorMatrix",hn="feComponentTransfer",xn="feComposite",mn="feConvolveMatrix",bn="feDiffuseLighting",En="feDisplacementMap",Pn="feDistantLight",An="feDropShadow",Cn="feFlood",Mn="feFuncA",Rn="feFuncB",Nn="feFuncG",On="feFuncR",Dn="feGaussianBlur",Ln="feImage",vn="feMerge",In="feMergeNode",Vn="feMorphology",Fn="feOffset",Hn="fePointLight",Gn="feSpecularLighting",jn="feSpotLight",Un="feTile",kn="feTurbulence",Bn="filter",_n="foreignObject",Kn="g",qn="image",wn="line",Xn="linearGradient",Yn="marker",Wn="mask",$n="metadata",Jn="mpath",Qn="path",zn="pattern",Zn="polygon",to="polyline",eo="radialGradient",no="rect",oo="set",ao="stop",so="svg",ro="switch",co="symbol",io="text",lo="textPath",fo="tspan",po="use",So="view",uo="annotation",To="annotation-xml",yo="maction",go="math",ho="merror",xo="mfrac",mo="mi",bo="mmultiscripts",Eo="mn",Po="mo",Ao="mover",Co="mpadded",Mo="mphantom",Ro="mprescripts",No="mroot",Oo="mrow",Do="ms",Lo="mspace",vo="msqrt",Io="mstyle",Vo="msub",Fo="msubsup",Ho="msup",Go="mtable",jo="mtd",Uo="mtext",ko="mtr",Bo="munder",_o="munderover",Ko="semantics";function V(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),f=new Set([...o,...r]);n=Array.from(f).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&typeof t=="object")n={...a,...t};else if(typeof a=="object"&&Array.isArray(t)){let o={...a};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(a)&&typeof t=="object"){let o={};for(let r of a)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var D;function F(...e){D||(D=document.createElement("div"));try{let n=D.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{D.style.cssText=""}}function qo(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=F(n.style,s.style):a==="class"?n.class=V(n.class,s.class):n[a]=s[a]}return n}function wo(e){return new H(e,[])}var H=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,l){if(s.length>1){let g=0,u=l[s[g]];for((typeof u!="object"||u===null)&&(l[s[g]]=u={}),g=1;g<s.length-1;g++){let x=u;u=u[s[g]],(typeof u!="object"||u===null)&&(x[s[g]]=u={})}u[s[g]]=i}else s.length===1?typeof l[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(l[s[0]],i):l[s[0]]=i:Object.assign(l,i)}function t(i){let l={};return a(i,l),l}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let l=1;l<s.length&&i;l++)i=i[s[l]];return i}function r(i){a(i,n)}function f(i,l){l?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,l,g)=>{if(l==="state")return n;if(l==="get")return o;if(l==="put")return r;if(l==="patch")return f;let u=[...i.keys,String(l)];return new e(i.state,u)}})}state;keys;get(){}put(n){}patch(n){}};return X(Xo);})();
package/dist/vode.min.mjs CHANGED
@@ -1 +1 @@
1
- var A={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function X(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function Y(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=A.requestAnimationFrame,t.asyncRenderer=A.startViewTransition,t.qSync=null,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]),Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:async(l,y)=>{if(!(!l||typeof l!="function"&&typeof l!="object"))if(t.stats.patchCount++,l?.next){let f=l;t.stats.liveEffectCount++;try{let d=await f.next();for(;d.done===!1;){t.stats.liveEffectCount++;try{o.patch(d.value,y),d=await f.next()}finally{t.stats.liveEffectCount--}}o.patch(d.value,y)}finally{t.stats.liveEffectCount--}}else if(l.then){t.stats.liveEffectCount++;try{let f=await l;o.patch(f,y)}finally{t.stats.liveEffectCount--}}else if(Array.isArray(l))if(l.length>0)for(let f of l)o.patch(f,!document.hidden&&!!t.asyncRenderer);else{t.qSync=E(t.qSync||{},t.qAsync,!1),t.qAsync=null;try{A.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else typeof l=="function"?o.patch(l(t.state),y):y?(t.stats.asyncRenderPatchCount++,t.qAsync=E(t.qAsync||{},l,!1),await t.renderAsync()):(t.stats.syncRenderPatchCount++,t.qSync=E(t.qSync||{},l,!1),t.renderSync())}});function r(l){let y=Date.now(),f=s(t.state);t.vode=C(t.state,e.parentElement,0,0,t.vode,f),e.tagName.toUpperCase()!==f[0].toUpperCase()&&(e=t.vode.node,e._vode=t),l||(t.stats.lastSyncRenderTime=Date.now()-y,t.stats.syncRenderCount++,t.isRendering=!1,t.qSync&&t.renderSync())}let p=r.bind(null,!1),c=r.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||!t.qSync||(t.isRendering=!0,t.state=E(t.state,t.qSync,!0),t.qSync=null,t.syncRenderer(p))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await A.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let l=Date.now();try{t.state=E(t.state,t.qAsync,!0),t.qAsync=null,A.currentViewTransition=t.asyncRenderer(c),await A.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=Date.now()-l,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let i=e;i._vode=t;let S=Array.from(e.parentElement.children).indexOf(e);t.isRendering=!0,t.vode=C(n,e.parentElement,S,S,v(e,!0),s(n)),t.isRendering=!1,t.qSync&&t.renderSync();for(let l of a)o.patch(l);return l=>o.patch(l)}function H(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=P(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)H(t.node);else{let r=M(t);if(r)for(let p of r)s(p)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)H(s)}function v(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&v(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function W(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a vode or props object");return n.__memo=e,n}function $(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function J(e){return e}function Q(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function P(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function M(e){let n=I(e);return n>0?e.slice(n):null}function z(e){let n=I(e);return n<0?0:e.length-n}function Z(e,n){let s=I(e);if(s>0)return e[n+s]}function I(e){return P(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function E(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=E({},t,s):typeof o=="object"?E(e[a],t,s):e[a]=E({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=E({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function C(e,n,s,a,t,o,r){try{o=D(e,o,t);let p=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&p)return t;let c=t?.nodeType===Node.TEXT_NODE,i=c?t:t?.node;if(p){N(e,t),i?.remove();return}let S=!p&&w(o),l=!p&&q(o),y=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!S&&!l&&!y&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(y&&S?o=o.wholeText:y&&l&&(o=[...o]),c&&S)return i.nodeValue!==o&&(i.nodeValue=o),t;if(S&&(!i||!c)){let f=document.createTextNode(o);if(i)N(e,t),i.replaceWith(f);else{let d=!1;for(let u=a;u<n.childNodes.length;u++){let x=n.childNodes[u];if(x){x.before(f,x),d=!0;break}}d||n.appendChild(f)}return f}if(l&&(!i||c||t[0]!==o[0])){let f=o;1 in f&&(f[1]=D(e,f[1],void 0));let d=P(o);d?.xmlns!==void 0&&(r=d.xmlns);let u=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=u,L(e,u,void 0,d,r??null),d&&"catch"in d&&(o.node.catch=null,o.node.removeAttribute("catch")),i)N(e,t),i.replaceWith(u);else{let h=!1;for(let g=a;g<n.childNodes.length;g++){let T=n.childNodes[g];if(T){T.before(u,T),h=!0;break}}h||n.appendChild(u)}let x=M(o);if(x){let h=d?2:1,g=0;for(let T=0;T<x.length;T++){let m=x[T],b=C(e,u,T,g,void 0,m,r??null);o[T+h]=b,b&&g++}}return o._unmountCount=(d?.onUnmount?1:0)+j(o),typeof d?.onMount=="function"&&e.patch(d.onMount(e,u)),o}if(!c&&l&&t[0]===o[0]){o.node=i;let f=o,d=t,u=P(o),x=P(t);if(u?.xmlns!==void 0&&(r=u.xmlns),f[1]?.__memo){let T=f[1];f[1]=D(e,f[1],d[1]),T!==f[1]&&L(e,i,x,u,r)}else L(e,i,x,u,r);u?.catch&&x?.catch!==u.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let h=M(o),g=M(t);if(h){let T=u?2:1,m=0;for(let b=0;b<h.length;b++){let B=h[b],K=g&&g[b],F=C(e,i,b,m,K,B,r);o[b+T]=F,F&&m++}}if(g){let T=h?h.length:0;for(let m=g.length-1;m>=T;m--)C(e,i,m,m,g[m],void 0,r)}return o._unmountCount=(u?.onUnmount?1:0)+j(o),o}}catch(p){let c=P(o)?.catch;if(c){let i=typeof c=="function"?c(e,p):c;return C(e,n,s,a,v(o?.node||t?.node,!0),i,r)}else throw p}}function N(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=M(n);if(s)for(let t=s.length-1;t>=0;t--)N(e,s[t]);let a=P(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function j(e){let n=M(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function q(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function w(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function D(e,n,s){if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let p=!0;for(let c=0;c<a.length;c++)if(a[c]!==t[c]){p=!1;break}if(p)return s}let o=n(e);if(typeof o=="function"&&o?.__memo){let p=o.__memo;if(Array.isArray(p)&&Array.isArray(t)&&p.length===t.length){let i=!0;for(let S=0;S<p.length;S++)if(p[S]!==t[S]){i=!1;break}if(i)return s}let c=o(e);return typeof c=="object"&&(c.__memo=p),c}let r=typeof o=="function"?G(o,e):o;return typeof r=="object"&&(r.__memo=o?.__memo||n?.__memo),r}function G(e,n){return typeof e=="function"?G(e(n),n):e}function L(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let p=s[r],c=a?.[r];p!==c&&(a?a[r]=R(e,n,r,p,c,o):R(e,n,r,p,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let p=a[r];a[r]=R(e,n,r,void 0,p,o)}}else if(a)for(let r in a){let p=a[r];a[r]=R(e,n,r,void 0,p,o)}}function R(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let p=a[r],c=t[r];p!==c&&(n.style[r]=c)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",U(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let p=t;r=c=>e.patch(p(e,c))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function U(e){return typeof e=="string"?e:Array.isArray(e)?e.map(U).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var et="a",nt="abbr",ot="address",at="area",st="article",rt="aside",ct="audio",it="b",lt="base",pt="bdi",ft="bdo",St="blockquote",ut="body",dt="br",Tt="button",yt="canvas",gt="caption",xt="cite",ht="code",mt="col",bt="colgroup",Et="data",Pt="datalist",At="dd",Ct="del",Mt="details",Rt="dfn",Nt="dialog",Ot="div",Dt="dl",Lt="dt",vt="em",It="embed",Vt="fieldset",Ft="figcaption",Ht="figure",jt="footer",Gt="form",Ut="h1",kt="h2",_t="h3",Bt="h4",Kt="h5",qt="h6",wt="head",Xt="header",Yt="hgroup",Wt="hr",$t="html",Jt="i",Qt="iframe",zt="img",Zt="input",te="ins",ee="kbd",ne="label",oe="legend",ae="li",se="link",re="main",ce="map",ie="mark",le="menu",pe="meta",fe="meter",Se="nav",ue="noscript",de="object",Te="ol",ye="optgroup",ge="option",xe="output",he="p",me="picture",be="pre",Ee="progress",Pe="q",Ae="rp",Ce="rt",Me="ruby",Re="s",Ne="samp",Oe="script",De="search",Le="section",ve="select",Ie="slot",Ve="small",Fe="source",He="span",je="strong",Ge="style",Ue="sub",ke="summary",_e="sup",Be="table",Ke="tbody",qe="td",we="template",Xe="textarea",Ye="tfoot",We="th",$e="thead",Je="time",Qe="title",ze="tr",Ze="track",tn="u",en="ul",nn="var",on="video",an="wbr",sn="animate",rn="animateMotion",cn="animateTransform",ln="circle",pn="clipPath",fn="defs",Sn="desc",un="ellipse",dn="feBlend",Tn="feColorMatrix",yn="feComponentTransfer",gn="feComposite",xn="feConvolveMatrix",hn="feDiffuseLighting",mn="feDisplacementMap",bn="feDistantLight",En="feDropShadow",Pn="feFlood",An="feFuncA",Cn="feFuncB",Mn="feFuncG",Rn="feFuncR",Nn="feGaussianBlur",On="feImage",Dn="feMerge",Ln="feMergeNode",vn="feMorphology",In="feOffset",Vn="fePointLight",Fn="feSpecularLighting",Hn="feSpotLight",jn="feTile",Gn="feTurbulence",Un="filter",kn="foreignObject",_n="g",Bn="image",Kn="line",qn="linearGradient",wn="marker",Xn="mask",Yn="metadata",Wn="mpath",$n="path",Jn="pattern",Qn="polygon",zn="polyline",Zn="radialGradient",to="rect",eo="set",no="stop",oo="svg",ao="switch",so="symbol",ro="text",co="textPath",io="tspan",lo="use",po="view",fo="annotation",So="annotation-xml",uo="maction",To="math",yo="merror",go="mfrac",xo="mi",ho="mmultiscripts",mo="mn",bo="mo",Eo="mover",Po="mpadded",Ao="mphantom",Co="mprescripts",Mo="mroot",Ro="mrow",No="ms",Oo="mspace",Do="msqrt",Lo="mstyle",vo="msub",Io="msubsup",Vo="msup",Fo="mtable",Ho="mtd",jo="mtext",Go="mtr",Uo="munder",ko="munderover",_o="semantics";function k(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),p=new Set([...o,...r]);n=Array.from(p).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&typeof t=="object")n={...a,...t};else if(typeof a=="object"&&Array.isArray(t)){let o={...a};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(a)&&typeof t=="object"){let o={};for(let r of a)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var O;function _(...e){O||(O=document.createElement("div"));try{let n=O.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{O.style.cssText=""}}function Yo(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=_(n.style,s.style):a==="class"?n.class=k(n.class,s.class):n[a]=s[a]}return n}function $o(e){return new V(e,[])}var V=class e{constructor(n,s){this.state=n;this.keys=s;function a(c,i){if(s.length>1){let S=0,l=i[s[S]];for((typeof l!="object"||l===null)&&(i[s[S]]=l={}),S=1;S<s.length-1;S++){let y=l;l=l[s[S]],(typeof l!="object"||l===null)&&(y[s[S]]=l={})}l[s[S]]=c}else s.length===1?typeof i[s[0]]=="object"&&typeof c=="object"?Object.assign(i[s[0]],c):i[s[0]]=c:Object.assign(i,c)}function t(c){let i={};return a(c,i),i}function o(){if(s.length===0)return n;let c=n?n[s[0]]:void 0;for(let i=1;i<s.length&&c;i++)c=c[s[i]];return c}function r(c){a(c,n)}function p(c,i){i?n.patch([t(c)]):n.patch(t(c))}return new Proxy(this,{get:(c,i,S)=>{if(i==="state")return n;if(i==="get")return o;if(i==="put")return r;if(i==="patch")return p;let l=[...c.keys,String(i)];return new e(c.state,l)}})}state;keys;get(){}put(n){}patch(n){}};export{et as A,nt as ABBR,ot as ADDRESS,sn as ANIMATE,rn as ANIMATEMOTION,cn as ANIMATETRANSFORM,fo as ANNOTATION,So as ANNOTATION_XML,at as AREA,st as ARTICLE,rt as ASIDE,ct as AUDIO,it as B,lt as BASE,pt as BDI,ft as BDO,St as BLOCKQUOTE,ut as BODY,dt as BR,Tt as BUTTON,yt as CANVAS,gt as CAPTION,ln as CIRCLE,xt as CITE,pn as CLIPPATH,ht as CODE,mt as COL,bt as COLGROUP,Et as DATA,Pt as DATALIST,At as DD,fn as DEFS,Ct as DEL,Sn as DESC,Mt as DETAILS,Rt as DFN,Nt as DIALOG,Ot as DIV,Dt as DL,Lt as DT,un as ELLIPSE,vt as EM,It as EMBED,dn as FEBLEND,Tn as FECOLORMATRIX,yn as FECOMPONENTTRANSFER,gn as FECOMPOSITE,xn as FECONVOLVEMATRIX,hn as FEDIFFUSELIGHTING,mn as FEDISPLACEMENTMAP,bn as FEDISTANTLIGHT,En as FEDROPSHADOW,Pn as FEFLOOD,An as FEFUNCA,Cn as FEFUNCB,Mn as FEFUNCG,Rn as FEFUNCR,Nn as FEGAUSSIANBLUR,On as FEIMAGE,Dn as FEMERGE,Ln as FEMERGENODE,vn as FEMORPHOLOGY,In as FEOFFSET,Vn as FEPOINTLIGHT,Fn as FESPECULARLIGHTING,Hn as FESPOTLIGHT,jn as FETILE,Gn as FETURBULENCE,Vt as FIELDSET,Ft as FIGCAPTION,Ht as FIGURE,Un as FILTER,jt as FOOTER,kn as FOREIGNOBJECT,Gt as FORM,_n as G,Ut as H1,kt as H2,_t as H3,Bt as H4,Kt as H5,qt as H6,wt as HEAD,Xt as HEADER,Yt as HGROUP,Wt as HR,$t as HTML,Jt as I,Qt as IFRAME,Bn as IMAGE,zt as IMG,Zt as INPUT,te as INS,ee as KBD,ne as LABEL,oe as LEGEND,ae as LI,Kn as LINE,qn as LINEARGRADIENT,se as LINK,uo as MACTION,re as MAIN,ce as MAP,ie as MARK,wn as MARKER,Xn as MASK,To as MATH,le as MENU,yo as MERROR,pe as META,Yn as METADATA,fe as METER,go as MFRAC,xo as MI,ho as MMULTISCRIPTS,mo as MN,bo as MO,Eo as MOVER,Po as MPADDED,Wn as MPATH,Ao as MPHANTOM,Co as MPRESCRIPTS,Mo as MROOT,Ro as MROW,No as MS,Oo as MSPACE,Do as MSQRT,Lo as MSTYLE,vo as MSUB,Io as MSUBSUP,Vo as MSUP,Fo as MTABLE,Ho as MTD,jo as MTEXT,Go as MTR,Uo as MUNDER,ko as MUNDEROVER,Se as NAV,ue as NOSCRIPT,de as OBJECT,Te as OL,ye as OPTGROUP,ge as OPTION,xe as OUTPUT,he as P,$n as PATH,Jn as PATTERN,me as PICTURE,Qn as POLYGON,zn as POLYLINE,be as PRE,Ee as PROGRESS,Pe as Q,Zn as RADIALGRADIENT,to as RECT,Ae as RP,Ce as RT,Me as RUBY,Re as S,Ne as SAMP,Oe as SCRIPT,De as SEARCH,Le as SECTION,ve as SELECT,_o as SEMANTICS,eo as SET,Ie as SLOT,Ve as SMALL,Fe as SOURCE,He as SPAN,no as STOP,je as STRONG,Ge as STYLE,Ue as SUB,ke as SUMMARY,_e as SUP,oo as SVG,ao as SWITCH,so as SYMBOL,Be as TABLE,Ke as TBODY,qe as TD,we as TEMPLATE,ro as TEXT,Xe as TEXTAREA,co as TEXTPATH,Ye as TFOOT,We as TH,$e as THEAD,Je as TIME,Qe as TITLE,ze as TR,Ze as TRACK,io as TSPAN,tn as U,en as UL,lo as USE,nn as VAR,on as VIDEO,po as VIEW,an as WBR,Y as app,Z as child,z as childCount,M as children,I as childrenStart,$o as context,J as createPatch,$ as createState,H as defuse,A as globals,v as hydrate,W as memo,k as mergeClass,Yo as mergeProps,_ as mergeStyle,P as props,Q as tag,X as vode};
1
+ var E={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function _(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function K(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=E.requestAnimationFrame,t.asyncRenderer=E.startViewTransition,t.isRendering=0,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]);async function r(c,S){t.stats.liveEffectCount++;try{let d=await c;o.patch(d,S)}finally{t.stats.liveEffectCount--}}async function f(c,S){let d=c;t.stats.liveEffectCount++;try{let p=await d.next();for(;p.done===!1;){t.stats.liveEffectCount++;try{o.patch(p.value,S),p=await d.next()}finally{t.stats.liveEffectCount--}}o.patch(p.value,S)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,S)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object"))if(t.stats.patchCount++,c?.next)f(c,S);else if(c.then)r(c,S);else if(Array.isArray(c))if(c.length>0)for(let d of c)o.patch(d,!document.hidden&&!!t.asyncRenderer);else{m(t.state,t.qAsync,!0),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else S?(t.stats.asyncRenderPatchCount++,t.qAsync=m(t.qAsync||{},c,!1),t.renderAsync()):(t.stats.syncRenderPatchCount++,m(t.state,c,!0),t.renderSync())}});function i(c){let S=performance.now(),d=s(t.state);if(t.vode=P(t.state,e.parentElement,0,0,t.vode,d),e.tagName.toUpperCase()!==d[0].toUpperCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-S;let p=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,p&&t.renderSync()}}let l=i.bind(null,!1),g=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(l))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=m(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(g),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let u=e;u._vode=t;let x=Array.from(e.parentElement.children).indexOf(e),T=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=P(n,e.parentElement,x,x,D(e,!0),s(n));let y=t.stats.syncRenderPatchCount!==T;t.isRendering=0,t.stats.syncRenderCount++,y&&t.renderSync();for(let c of a)o.patch(c);return c=>o.patch(c)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=b(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=L(t);if(r)for(let f of r)s(f)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)I(s)}function D(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&D(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function q(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=a=>s(a)}return n.__memo=e,n}function w(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function X(e){return e}function Y(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function b(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function L(e){let n=A(e);return n>0?e.slice(n):null}function W(e){let n=A(e);return n<0?0:e.length-n}function $(e,n){let s=A(e);if(s>0)return e[n+s]}function A(e){return b(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function m(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=m({},t,s):typeof o=="object"?m(e[a],t,s):e[a]=m({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=m({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function P(e,n,s,a,t,o,r){try{o=F(e,o,t);let f=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&f)return t;let i=t?.nodeType===Node.TEXT_NODE,l=i?t:t?.node;if(f){R(e,t),l?.remove();return}let g=!f&&B(o),u=!f&&k(o),x=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!g&&!u&&!x&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(x&&g?o=o.wholeText:x&&u&&(o=[...o]),i&&g)return l.nodeValue!==o&&(l.nodeValue=o),t;if(g&&(!l||!i)){let T=document.createTextNode(o);if(l)R(e,t),l.replaceWith(T);else{let y=!1;for(let c=a;c<n.childNodes.length;c++){let S=n.childNodes[c];if(S){S.before(T),y=!0;break}}y||n.appendChild(T)}return T}if(u&&(!l||i||t[0]!==o[0])){let T=o;1 in T&&(T[1]=F(e,T[1],void 0));let y=b(o);y?.xmlns!==void 0&&(r=y.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,H(e,c,void 0,y,r??null),y&&"catch"in y&&(o.node.catch=null,o.node.removeAttribute("catch")),l)R(e,t),l.replaceWith(c);else{let d=!1;for(let p=a;p<n.childNodes.length;p++){let h=n.childNodes[p];if(h){h.before(c),d=!0;break}}d||n.appendChild(c)}let S=A(o);if(S>0){let d=y?2:1,p=0;for(let h=0;h<o.length-S;h++){let O=o[h+S],C=P(e,c,h,p,void 0,O,r??null);o[h+d]=C,C&&p++}}return o._unmountCount=(y?.onUnmount?1:0)+V(o),typeof y?.onMount=="function"&&e.patch(y.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=l;let T=b(o),y=b(t);T?.xmlns!==void 0&&(r=T.xmlns),H(e,l,y,T,r),T?.catch&&y?.catch!==T.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=A(o),S=A(t);if(c>0){let d=0;for(let p=0;p<o.length-c;p++){let h=o[p+c],O=S>0?t[p+S]:void 0,C=P(e,l,p,d,O,h,r);o[p+c]=C,C&&d++}}if(S>0){let d=c>0?o.length-c:0;for(let p=t.length-1-S;p>=d;p--)P(e,l,p,p,t[p+S],void 0,r)}return o._unmountCount=(T?.onUnmount?1:0)+V(o),o}}catch(f){let i=b(o)?.catch;if(i){let l=typeof i=="function"?i(e,f):i;return P(e,n,s,a,D(o?.node||t?.node,!0),l,r)}else throw f}}function R(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=L(n);if(s)for(let t=s.length-1;t>=0;t--)R(e,s[t]);let a=b(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function V(e){let n=L(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function k(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function B(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function F(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let o=!0;for(let r=0;r<a.length;r++)if(a[r]!==t[r]){o=!1;break}if(o)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=a),n}function H(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let f=s[r],i=a?.[r];f!==i&&(a?a[r]=M(e,n,r,f,i,o):M(e,n,r,f,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}else if(a)for(let r in a){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}function M(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let f=a[r],i=t[r];f!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",G(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let f=t;r=i=>e.patch(f(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function G(e){return typeof e=="string"?e:Array.isArray(e)?e.map(G).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var Q="a",z="abbr",Z="address",tt="area",et="article",nt="aside",ot="audio",at="b",st="base",rt="bdi",ct="bdo",it="blockquote",lt="body",ft="br",pt="button",St="canvas",ut="caption",dt="cite",Tt="code",yt="col",gt="colgroup",ht="data",xt="datalist",mt="dd",bt="del",Et="details",Pt="dfn",At="dialog",Ct="div",Mt="dl",Rt="dt",Nt="em",Ot="embed",Dt="fieldset",Lt="figcaption",vt="figure",It="footer",Vt="form",Ft="h1",Ht="h2",Gt="h3",jt="h4",Ut="h5",kt="h6",Bt="head",_t="header",Kt="hgroup",qt="hr",wt="html",Xt="i",Yt="iframe",Wt="img",$t="input",Jt="ins",Qt="kbd",zt="label",Zt="legend",te="li",ee="link",ne="main",oe="map",ae="mark",se="menu",re="meta",ce="meter",ie="nav",le="noscript",fe="object",pe="ol",Se="optgroup",ue="option",de="output",Te="p",ye="picture",ge="pre",he="progress",xe="q",me="rp",be="rt",Ee="ruby",Pe="s",Ae="samp",Ce="script",Me="search",Re="section",Ne="select",Oe="slot",De="small",Le="source",ve="span",Ie="strong",Ve="style",Fe="sub",He="summary",Ge="sup",je="table",Ue="tbody",ke="td",Be="template",_e="textarea",Ke="tfoot",qe="th",we="thead",Xe="time",Ye="title",We="tr",$e="track",Je="u",Qe="ul",ze="var",Ze="video",tn="wbr",en="animate",nn="animateMotion",on="animateTransform",an="circle",sn="clipPath",rn="defs",cn="desc",ln="ellipse",fn="feBlend",pn="feColorMatrix",Sn="feComponentTransfer",un="feComposite",dn="feConvolveMatrix",Tn="feDiffuseLighting",yn="feDisplacementMap",gn="feDistantLight",hn="feDropShadow",xn="feFlood",mn="feFuncA",bn="feFuncB",En="feFuncG",Pn="feFuncR",An="feGaussianBlur",Cn="feImage",Mn="feMerge",Rn="feMergeNode",Nn="feMorphology",On="feOffset",Dn="fePointLight",Ln="feSpecularLighting",vn="feSpotLight",In="feTile",Vn="feTurbulence",Fn="filter",Hn="foreignObject",Gn="g",jn="image",Un="line",kn="linearGradient",Bn="marker",_n="mask",Kn="metadata",qn="mpath",wn="path",Xn="pattern",Yn="polygon",Wn="polyline",$n="radialGradient",Jn="rect",Qn="set",zn="stop",Zn="svg",to="switch",eo="symbol",no="text",oo="textPath",ao="tspan",so="use",ro="view",co="annotation",io="annotation-xml",lo="maction",fo="math",po="merror",So="mfrac",uo="mi",To="mmultiscripts",yo="mn",go="mo",ho="mover",xo="mpadded",mo="mphantom",bo="mprescripts",Eo="mroot",Po="mrow",Ao="ms",Co="mspace",Mo="msqrt",Ro="mstyle",No="msub",Oo="msubsup",Do="msup",Lo="mtable",vo="mtd",Io="mtext",Vo="mtr",Fo="munder",Ho="munderover",Go="semantics";function j(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),f=new Set([...o,...r]);n=Array.from(f).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&typeof t=="object")n={...a,...t};else if(typeof a=="object"&&Array.isArray(t)){let o={...a};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(a)&&typeof t=="object"){let o={};for(let r of a)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var N;function U(...e){N||(N=document.createElement("div"));try{let n=N.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{N.style.cssText=""}}function Ko(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=U(n.style,s.style):a==="class"?n.class=j(n.class,s.class):n[a]=s[a]}return n}function wo(e){return new v(e,[])}var v=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,l){if(s.length>1){let g=0,u=l[s[g]];for((typeof u!="object"||u===null)&&(l[s[g]]=u={}),g=1;g<s.length-1;g++){let x=u;u=u[s[g]],(typeof u!="object"||u===null)&&(x[s[g]]=u={})}u[s[g]]=i}else s.length===1?typeof l[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(l[s[0]],i):l[s[0]]=i:Object.assign(l,i)}function t(i){let l={};return a(i,l),l}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let l=1;l<s.length&&i;l++)i=i[s[l]];return i}function r(i){a(i,n)}function f(i,l){l?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,l,g)=>{if(l==="state")return n;if(l==="get")return o;if(l==="put")return r;if(l==="patch")return f;let u=[...i.keys,String(l)];return new e(i.state,u)}})}state;keys;get(){}put(n){}patch(n){}};export{Q as A,z as ABBR,Z as ADDRESS,en as ANIMATE,nn as ANIMATEMOTION,on as ANIMATETRANSFORM,co as ANNOTATION,io as ANNOTATION_XML,tt as AREA,et as ARTICLE,nt as ASIDE,ot as AUDIO,at as B,st as BASE,rt as BDI,ct as BDO,it as BLOCKQUOTE,lt as BODY,ft as BR,pt as BUTTON,St as CANVAS,ut as CAPTION,an as CIRCLE,dt as CITE,sn as CLIPPATH,Tt as CODE,yt as COL,gt as COLGROUP,ht as DATA,xt as DATALIST,mt as DD,rn as DEFS,bt as DEL,cn as DESC,Et as DETAILS,Pt as DFN,At as DIALOG,Ct as DIV,Mt as DL,Rt as DT,ln as ELLIPSE,Nt as EM,Ot as EMBED,fn as FEBLEND,pn as FECOLORMATRIX,Sn as FECOMPONENTTRANSFER,un as FECOMPOSITE,dn as FECONVOLVEMATRIX,Tn as FEDIFFUSELIGHTING,yn as FEDISPLACEMENTMAP,gn as FEDISTANTLIGHT,hn as FEDROPSHADOW,xn as FEFLOOD,mn as FEFUNCA,bn as FEFUNCB,En as FEFUNCG,Pn as FEFUNCR,An as FEGAUSSIANBLUR,Cn as FEIMAGE,Mn as FEMERGE,Rn as FEMERGENODE,Nn as FEMORPHOLOGY,On as FEOFFSET,Dn as FEPOINTLIGHT,Ln as FESPECULARLIGHTING,vn as FESPOTLIGHT,In as FETILE,Vn as FETURBULENCE,Dt as FIELDSET,Lt as FIGCAPTION,vt as FIGURE,Fn as FILTER,It as FOOTER,Hn as FOREIGNOBJECT,Vt as FORM,Gn as G,Ft as H1,Ht as H2,Gt as H3,jt as H4,Ut as H5,kt as H6,Bt as HEAD,_t as HEADER,Kt as HGROUP,qt as HR,wt as HTML,Xt as I,Yt as IFRAME,jn as IMAGE,Wt as IMG,$t as INPUT,Jt as INS,Qt as KBD,zt as LABEL,Zt as LEGEND,te as LI,Un as LINE,kn as LINEARGRADIENT,ee as LINK,lo as MACTION,ne as MAIN,oe as MAP,ae as MARK,Bn as MARKER,_n as MASK,fo as MATH,se as MENU,po as MERROR,re as META,Kn as METADATA,ce as METER,So as MFRAC,uo as MI,To as MMULTISCRIPTS,yo as MN,go as MO,ho as MOVER,xo as MPADDED,qn as MPATH,mo as MPHANTOM,bo as MPRESCRIPTS,Eo as MROOT,Po as MROW,Ao as MS,Co as MSPACE,Mo as MSQRT,Ro as MSTYLE,No as MSUB,Oo as MSUBSUP,Do as MSUP,Lo as MTABLE,vo as MTD,Io as MTEXT,Vo as MTR,Fo as MUNDER,Ho as MUNDEROVER,ie as NAV,le as NOSCRIPT,fe as OBJECT,pe as OL,Se as OPTGROUP,ue as OPTION,de as OUTPUT,Te as P,wn as PATH,Xn as PATTERN,ye as PICTURE,Yn as POLYGON,Wn as POLYLINE,ge as PRE,he as PROGRESS,xe as Q,$n as RADIALGRADIENT,Jn as RECT,me as RP,be as RT,Ee as RUBY,Pe as S,Ae as SAMP,Ce as SCRIPT,Me as SEARCH,Re as SECTION,Ne as SELECT,Go as SEMANTICS,Qn as SET,Oe as SLOT,De as SMALL,Le as SOURCE,ve as SPAN,zn as STOP,Ie as STRONG,Ve as STYLE,Fe as SUB,He as SUMMARY,Ge as SUP,Zn as SVG,to as SWITCH,eo as SYMBOL,je as TABLE,Ue as TBODY,ke as TD,Be as TEMPLATE,no as TEXT,_e as TEXTAREA,oo as TEXTPATH,Ke as TFOOT,qe as TH,we as THEAD,Xe as TIME,Ye as TITLE,We as TR,$e as TRACK,ao as TSPAN,Je as U,Qe as UL,so as USE,ze as VAR,Ze as VIDEO,ro as VIEW,tn as WBR,K as app,$ as child,W as childCount,L as children,A as childrenStart,wo as context,X as createPatch,w as createState,I as defuse,E as globals,D as hydrate,q as memo,j as mergeClass,Ko as mergeProps,U as mergeStyle,b as props,Y as tag,_ as vode};