@ryupold/vode 1.6.8 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -567,6 +567,7 @@ const CompMathML = (s) =>
567
567
  The state context utilities can help creating shareable type safe components.
568
568
 
569
569
  ```typescript
570
+ import { app, context, createState, SubStateContext, Vode, DIV, FORM, H1, OPTION, P, SELECT } from "@ryupold/vode";
570
571
 
571
572
  type Settings = { theme: string, lang: string };
572
573
  type StateType = {
@@ -578,13 +579,13 @@ type StateType = {
578
579
  const state = createState<StateType>({
579
580
  user: {
580
581
  profile: {
581
- settings: { theme: 'dark', lang: 'en' }
582
+ settings: { theme: 'dark', lang: 'es' }
582
583
  }
583
584
  }
584
585
  });
585
586
 
586
587
  // Create a context for the nested settings
587
- const settingsCtx = new KeyStateContext<typeof state, Settings>(state, 'user.profile.settings');
588
+ const settingsCtx = context(state).user.profile.settings;
588
589
 
589
590
  const element = document.getElementById('app')!;
590
591
  app(element, state,
@@ -602,20 +603,22 @@ function SettingsForm(ctx: SubStateContext<Settings>) {
602
603
  [SELECT,
603
604
  {
604
605
  class: 'theme-select',
605
- onchange: (s: PatchableState, e: Event) => ctx.patch({ theme: (<HTMLSelectElement>e.target).value }),
606
+ onchange: (s: unknown, e: Event) => ctx.patch({ theme: (<HTMLSelectElement>e.target).value }),
607
+ value: settings.theme,
606
608
  },
607
- [OPTION, { value: 'light', selected: settings.theme === 'light' ? '' : null }, 'light'],
608
- [OPTION, { value: 'dark', selected: settings.theme === 'dark' ? '' : null }, 'dark'],
609
+ [OPTION, { value: 'light', selected: settings.theme === 'light' }, 'light'],
610
+ [OPTION, { value: 'dark', selected: settings.theme === 'dark' }, 'dark'],
609
611
  ],
610
612
  [P, "current lang:", settings.lang],
611
613
  [SELECT, {
612
614
  class: 'lang-select',
613
- onchange: (s: PatchableState, e: Event) => ctx.patch({ lang: (<HTMLSelectElement>e.target).value }),
615
+ onchange: (s: unknown, e: Event) => ctx.patch({ lang: (<HTMLSelectElement>e.target).value }),
616
+ value: settings.lang,
614
617
  },
615
- [OPTION, { value: 'en', selected: settings.lang === 'en' ? '' : null }, 'en'],
616
- [OPTION, { value: 'de', selected: settings.lang === 'de' ? '' : null }, 'de'],
617
- [OPTION, { value: 'es', selected: settings.lang === 'es' ? '' : null }, 'es'],
618
- [OPTION, { value: 'fr', selected: settings.lang === 'fr' ? '' : null }, 'fr'],
618
+ [OPTION, { value: 'en', selected: settings.lang === 'en' }, 'en'],
619
+ [OPTION, { value: 'de', selected: settings.lang === 'de' }, 'de'],
620
+ [OPTION, { value: 'es', selected: settings.lang === 'es' }, 'es'],
621
+ [OPTION, { value: 'fr', selected: settings.lang === 'fr' }, 'fr'],
619
622
  ],
620
623
  ];
621
624
  }
@@ -1,9 +1,9 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LINE=exports.LI=exports.LEGEND=exports.LABEL=exports.KeyStateContext=exports.KBD=exports.INS=exports.INPUT=exports.IMG=exports.IMAGE=exports.IFRAME=exports.I=exports.HTML=exports.HR=exports.HGROUP=exports.HEADER=exports.HEAD=exports.H6=exports.H5=exports.H4=exports.H3=exports.H2=exports.H1=exports.G=exports.FORM=exports.FOREIGNOBJECT=exports.FOOTER=exports.FILTER=exports.FIGURE=exports.FIGCAPTION=exports.FIELDSET=exports.FETURBULENCE=exports.FETILE=exports.FESPOTLIGHT=exports.FESPECULARLIGHTING=exports.FEPOINTLIGHT=exports.FEOFFSET=exports.FEMORPHOLOGY=exports.FEMERGENODE=exports.FEMERGE=exports.FEIMAGE=exports.FEGAUSSIANBLUR=exports.FEFUNCR=exports.FEFUNCG=exports.FEFUNCB=exports.FEFUNCA=exports.FEFLOOD=exports.FEDROPSHADOW=exports.FEDISTANTLIGHT=exports.FEDISPLACEMENTMAP=exports.FEDIFFUSELIGHTING=exports.FECONVOLVEMATRIX=exports.FECOMPOSITE=exports.FECOMPONENTTRANSFER=exports.FECOLORMATRIX=exports.FEBLEND=exports.EMBED=exports.EM=exports.ELLIPSE=exports.DelegateStateContext=exports.DT=exports.DL=exports.DIV=exports.DIALOG=exports.DFN=exports.DETAILS=exports.DESC=exports.DEL=exports.DEFS=exports.DD=exports.DATALIST=exports.DATA=exports.COLGROUP=exports.COL=exports.CODE=exports.CLIPPATH=exports.CITE=exports.CIRCLE=exports.CAPTION=exports.CANVAS=exports.BUTTON=exports.BR=exports.BODY=exports.BLOCKQUOTE=exports.BDO=exports.BDI=exports.BASE=exports.B=exports.AUDIO=exports.ASIDE=exports.ARTICLE=exports.AREA=exports.ANNOTATION_XML=exports.ANNOTATION=exports.ANIMATETRANSFORM=exports.ANIMATEMOTION=exports.ANIMATE=exports.ADDRESS=exports.ABBR=exports.A=void 0,exports.VAR=exports.USE=exports.UL=exports.U=exports.TSPAN=exports.TRACK=exports.TR=exports.TITLE=exports.TIME=exports.THEAD=exports.TH=exports.TFOOT=exports.TEXTPATH=exports.TEXTAREA=exports.TEXT=exports.TEMPLATE=exports.TD=exports.TBODY=exports.TABLE=exports.SYMBOL=exports.SWITCH=exports.SVG=exports.SUP=exports.SUMMARY=exports.SUB=exports.STYLE=exports.STRONG=exports.STOP=exports.SPAN=exports.SOURCE=exports.SMALL=exports.SLOT=exports.SET=exports.SEMANTICS=exports.SELECT=exports.SECTION=exports.SEARCH=exports.SCRIPT=exports.SAMP=exports.S=exports.RUBY=exports.RT=exports.RP=exports.RECT=exports.RADIALGRADIENT=exports.Q=exports.PROGRESS=exports.PRE=exports.POLYLINE=exports.POLYGON=exports.PICTURE=exports.PATTERN=exports.PATH=exports.P=exports.OUTPUT=exports.OPTION=exports.OPTGROUP=exports.OL=exports.OBJECT=exports.NOSCRIPT=exports.NAV=exports.MUNDEROVER=exports.MUNDER=exports.MTR=exports.MTEXT=exports.MTD=exports.MTABLE=exports.MSUP=exports.MSUBSUP=exports.MSUB=exports.MSTYLE=exports.MSQRT=exports.MSPACE=exports.MS=exports.MROW=exports.MROOT=exports.MPRESCRIPTS=exports.MPHANTOM=exports.MPATH=exports.MPADDED=exports.MOVER=exports.MO=exports.MN=exports.MMULTISCRIPTS=exports.MI=exports.MFRAC=exports.METER=exports.METADATA=exports.META=exports.MERROR=exports.MENU=exports.MATH=exports.MASK=exports.MARKER=exports.MARK=exports.MAP=exports.MAIN=exports.MACTION=exports.LINK=exports.LINEARGRADIENT=void 0,exports.WBR=exports.VIEW=exports.VIDEO=void 0,exports.app=app,exports.child=child,exports.childCount=childCount,exports.children=children,exports.childrenStart=childrenStart,exports.createPatch=createPatch,exports.createState=createState,exports.defuse=defuse,exports.globals=void 0,exports.hydrate=hydrate,exports.memo=memo,exports.mergeClass=mergeClass,exports.mergeStyle=mergeStyle,exports.props=props,exports.tag=tag,exports.vode=vode;function _classCallCheck(b,a){if(!(b instanceof a))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _regenerator(){function b(a,b,f,g){var h=b&&b.prototype instanceof d?b:d,c=Object.create(h.prototype);return _regeneratorDefine2(c,"_invoke",function(a,b,g){function h(a,b){for(q=a,s=b,e=0;!w&&t&&!c&&e<v.length;e++){var c,f=v[e],g=p.p,h=f[2];3<a?(c=h===b)&&(s=f[(q=f[4])?5:(q=3,3)],f[4]=f[5]=j):f[0]<=g&&((c=2>a&&g<f[1])?(q=0,p.v=b,p.n=f[1]):g<h&&(c=3>a||f[0]>b||b>h)&&(f[4]=a,f[5]=b,p.n=h,q=0))}if(c||1<a)return m;throw w=!0,b}var k,q,s,t=0,v=g||[],w=!1,p={p:0,n:0,v:j,a:h,f:h.bind(j,4),d:function c(a,b){return k=a,q=0,s=j,p.n=b,m}};return function(c,d,f){if(1<t)throw TypeError("Generator is already running");for(w&&1===d&&h(d,f),q=d,s=f;(e=2>q?j:s)||!w;){k||(q?3>q?(1<q&&(p.n=-1),h(q,s)):p.n=s:p.v=s);try{if(t=2,k){if(q||(c="next"),e=k[c]){if(!(e=e.call(k,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,2>q&&(q=0)}else 1===q&&(e=k["return"])&&e.call(k),2>q&&(s=TypeError("The iterator does not provide a '"+c+"' method"),q=1);k=j}else if((e=(w=0>p.n)?s:a.call(b,p))!==m)break}catch(a){k=j,q=1,s=a}finally{t=1}}return{value:e,done:w}}}(a,f,g),!0),c}function d(){}function g(){}function h(){}function i(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,_regeneratorDefine2(a,l,"GeneratorFunction")),a.prototype=Object.create(c),a}/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var j,e,f="function"==typeof Symbol?Symbol:{},k=f.iterator||"@@iterator",l=f.toStringTag||"@@toStringTag",m={};e=Object.getPrototypeOf;var a=[][k]?e(e([][k]())):(_regeneratorDefine2(e={},k,function(){return this}),e),c=h.prototype=d.prototype=Object.create(a);return g.prototype=h,_regeneratorDefine2(c,"constructor",h),_regeneratorDefine2(h,"constructor",g),g.displayName="GeneratorFunction",_regeneratorDefine2(h,l,"GeneratorFunction"),_regeneratorDefine2(c),_regeneratorDefine2(c,l,"Generator"),_regeneratorDefine2(c,k,function(){return this}),_regeneratorDefine2(c,"toString",function(){return"[object Generator]"}),(_regenerator=function a(){return{w:b,m:i}})()}function _regeneratorDefine2(a,b,c,d){var f=Object.defineProperty;try{f({},"",{})}catch(a){f=0}_regeneratorDefine2=function e(a,b,c,d){function g(b,c){_regeneratorDefine2(a,b,function(a){return this._invoke(b,c,a)})}b?f?f(a,b,{value:c,enumerable:!d,configurable:!d,writable:!d}):a[b]=c:(g("next",0),g("throw",1),g("return",2))},_regeneratorDefine2(a,b,c,d)}function _createForOfIteratorHelper(b,c){var d="undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(!d){if(Array.isArray(b)||(d=_unsupportedIterableToArray(b))||c&&b&&"number"==typeof b.length){d&&(b=d);var e=0,f=function a(){};return{s:f,n:function a(){return e>=b.length?{done:!0}:{done:!1,value:b[e++]}},e:function b(a){throw a},f:f}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var g,h=!0,i=!1;return{s:function a(){d=d.call(b)},n:function a(){var b=d.next();return h=b.done,b},e:function b(a){i=!0,g=a},f:function a(){try{h||null==d["return"]||d["return"]()}finally{if(i)throw g}}}}function _unsupportedIterableToArray(b,c){if(b){if("string"==typeof b)return _arrayLikeToArray(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(b,c):void 0}}function _arrayLikeToArray(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function asyncGeneratorStep(b,d,f,e,g,h,a){try{var c=b[h](a),i=c.value}catch(a){return void f(a)}c.done?d(i):Promise.resolve(i).then(e,g)}function _asyncToGenerator(b){return function(){var c=this,d=arguments;return new Promise(function(e,f){function g(a){asyncGeneratorStep(i,e,f,g,h,"next",a)}function h(a){asyncGeneratorStep(i,e,f,g,h,"throw",a)}var i=b.apply(c,d);g(void 0)})}}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}// src/vode.ts
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LINE=exports.LI=exports.LEGEND=exports.LABEL=exports.KeyStateContext=exports.KBD=exports.INS=exports.INPUT=exports.IMG=exports.IMAGE=exports.IFRAME=exports.I=exports.HTML=exports.HR=exports.HGROUP=exports.HEADER=exports.HEAD=exports.H6=exports.H5=exports.H4=exports.H3=exports.H2=exports.H1=exports.G=exports.FORM=exports.FOREIGNOBJECT=exports.FOOTER=exports.FILTER=exports.FIGURE=exports.FIGCAPTION=exports.FIELDSET=exports.FETURBULENCE=exports.FETILE=exports.FESPOTLIGHT=exports.FESPECULARLIGHTING=exports.FEPOINTLIGHT=exports.FEOFFSET=exports.FEMORPHOLOGY=exports.FEMERGENODE=exports.FEMERGE=exports.FEIMAGE=exports.FEGAUSSIANBLUR=exports.FEFUNCR=exports.FEFUNCG=exports.FEFUNCB=exports.FEFUNCA=exports.FEFLOOD=exports.FEDROPSHADOW=exports.FEDISTANTLIGHT=exports.FEDISPLACEMENTMAP=exports.FEDIFFUSELIGHTING=exports.FECONVOLVEMATRIX=exports.FECOMPOSITE=exports.FECOMPONENTTRANSFER=exports.FECOLORMATRIX=exports.FEBLEND=exports.EMBED=exports.EM=exports.ELLIPSE=exports.DelegateStateContext=exports.DT=exports.DL=exports.DIV=exports.DIALOG=exports.DFN=exports.DETAILS=exports.DESC=exports.DEL=exports.DEFS=exports.DD=exports.DATALIST=exports.DATA=exports.COLGROUP=exports.COL=exports.CODE=exports.CLIPPATH=exports.CITE=exports.CIRCLE=exports.CAPTION=exports.CANVAS=exports.BUTTON=exports.BR=exports.BODY=exports.BLOCKQUOTE=exports.BDO=exports.BDI=exports.BASE=exports.B=exports.AUDIO=exports.ASIDE=exports.ARTICLE=exports.AREA=exports.ANNOTATION_XML=exports.ANNOTATION=exports.ANIMATETRANSFORM=exports.ANIMATEMOTION=exports.ANIMATE=exports.ADDRESS=exports.ABBR=exports.A=void 0,exports.VAR=exports.USE=exports.UL=exports.U=exports.TSPAN=exports.TRACK=exports.TR=exports.TITLE=exports.TIME=exports.THEAD=exports.TH=exports.TFOOT=exports.TEXTPATH=exports.TEXTAREA=exports.TEXT=exports.TEMPLATE=exports.TD=exports.TBODY=exports.TABLE=exports.SYMBOL=exports.SWITCH=exports.SVG=exports.SUP=exports.SUMMARY=exports.SUB=exports.STYLE=exports.STRONG=exports.STOP=exports.SPAN=exports.SOURCE=exports.SMALL=exports.SLOT=exports.SET=exports.SEMANTICS=exports.SELECT=exports.SECTION=exports.SEARCH=exports.SCRIPT=exports.SAMP=exports.S=exports.RUBY=exports.RT=exports.RP=exports.RECT=exports.RADIALGRADIENT=exports.Q=exports.PROGRESS=exports.PRE=exports.POLYLINE=exports.POLYGON=exports.PICTURE=exports.PATTERN=exports.PATH=exports.P=exports.OUTPUT=exports.OPTION=exports.OPTGROUP=exports.OL=exports.OBJECT=exports.NOSCRIPT=exports.NAV=exports.MUNDEROVER=exports.MUNDER=exports.MTR=exports.MTEXT=exports.MTD=exports.MTABLE=exports.MSUP=exports.MSUBSUP=exports.MSUB=exports.MSTYLE=exports.MSQRT=exports.MSPACE=exports.MS=exports.MROW=exports.MROOT=exports.MPRESCRIPTS=exports.MPHANTOM=exports.MPATH=exports.MPADDED=exports.MOVER=exports.MO=exports.MN=exports.MMULTISCRIPTS=exports.MI=exports.MFRAC=exports.METER=exports.METADATA=exports.META=exports.MERROR=exports.MENU=exports.MATH=exports.MASK=exports.MARKER=exports.MARK=exports.MAP=exports.MAIN=exports.MACTION=exports.LINK=exports.LINEARGRADIENT=void 0,exports.WBR=exports.VIEW=exports.VIDEO=void 0,exports.app=app,exports.child=child,exports.childCount=childCount,exports.children=children,exports.childrenStart=childrenStart,exports.context=context,exports.createPatch=createPatch,exports.createState=createState,exports.defuse=defuse,exports.globals=void 0,exports.hydrate=hydrate,exports.memo=memo,exports.mergeClass=mergeClass,exports.mergeStyle=mergeStyle,exports.props=props,exports.tag=tag,exports.vode=vode;function _classCallCheck(b,a){if(!(b instanceof a))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _regenerator(){function b(a,b,f,g){var h=b&&b.prototype instanceof d?b:d,c=Object.create(h.prototype);return _regeneratorDefine2(c,"_invoke",function(a,b,g){function h(a,b){for(q=a,s=b,e=0;!w&&t&&!c&&e<v.length;e++){var c,f=v[e],g=p.p,h=f[2];3<a?(c=h===b)&&(s=f[(q=f[4])?5:(q=3,3)],f[4]=f[5]=j):f[0]<=g&&((c=2>a&&g<f[1])?(q=0,p.v=b,p.n=f[1]):g<h&&(c=3>a||f[0]>b||b>h)&&(f[4]=a,f[5]=b,p.n=h,q=0))}if(c||1<a)return m;throw w=!0,b}var k,q,s,t=0,v=g||[],w=!1,p={p:0,n:0,v:j,a:h,f:h.bind(j,4),d:function c(a,b){return k=a,q=0,s=j,p.n=b,m}};return function(c,d,f){if(1<t)throw TypeError("Generator is already running");for(w&&1===d&&h(d,f),q=d,s=f;(e=2>q?j:s)||!w;){k||(q?3>q?(1<q&&(p.n=-1),h(q,s)):p.n=s:p.v=s);try{if(t=2,k){if(q||(c="next"),e=k[c]){if(!(e=e.call(k,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,2>q&&(q=0)}else 1===q&&(e=k["return"])&&e.call(k),2>q&&(s=TypeError("The iterator does not provide a '"+c+"' method"),q=1);k=j}else if((e=(w=0>p.n)?s:a.call(b,p))!==m)break}catch(a){k=j,q=1,s=a}finally{t=1}}return{value:e,done:w}}}(a,f,g),!0),c}function d(){}function g(){}function h(){}function i(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,_regeneratorDefine2(a,l,"GeneratorFunction")),a.prototype=Object.create(c),a}/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var j,e,f="function"==typeof Symbol?Symbol:{},k=f.iterator||"@@iterator",l=f.toStringTag||"@@toStringTag",m={};e=Object.getPrototypeOf;var a=[][k]?e(e([][k]())):(_regeneratorDefine2(e={},k,function(){return this}),e),c=h.prototype=d.prototype=Object.create(a);return g.prototype=h,_regeneratorDefine2(c,"constructor",h),_regeneratorDefine2(h,"constructor",g),g.displayName="GeneratorFunction",_regeneratorDefine2(h,l,"GeneratorFunction"),_regeneratorDefine2(c),_regeneratorDefine2(c,l,"Generator"),_regeneratorDefine2(c,k,function(){return this}),_regeneratorDefine2(c,"toString",function(){return"[object Generator]"}),(_regenerator=function a(){return{w:b,m:i}})()}function _regeneratorDefine2(a,b,c,d){var f=Object.defineProperty;try{f({},"",{})}catch(a){f=0}_regeneratorDefine2=function e(a,b,c,d){function g(b,c){_regeneratorDefine2(a,b,function(a){return this._invoke(b,c,a)})}b?f?f(a,b,{value:c,enumerable:!d,configurable:!d,writable:!d}):a[b]=c:(g("next",0),g("throw",1),g("return",2))},_regeneratorDefine2(a,b,c,d)}function _createForOfIteratorHelper(b,c){var d="undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(!d){if(Array.isArray(b)||(d=_unsupportedIterableToArray(b))||c&&b&&"number"==typeof b.length){d&&(b=d);var e=0,f=function a(){};return{s:f,n:function a(){return e>=b.length?{done:!0}:{done:!1,value:b[e++]}},e:function b(a){throw a},f:f}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var g,h=!0,i=!1;return{s:function a(){d=d.call(b)},n:function a(){var b=d.next();return h=b.done,b},e:function b(a){i=!0,g=a},f:function a(){try{h||null==d["return"]||d["return"]()}finally{if(i)throw g}}}}function _unsupportedIterableToArray(b,c){if(b){if("string"==typeof b)return _arrayLikeToArray(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(b,c):void 0}}function _arrayLikeToArray(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function asyncGeneratorStep(b,d,f,e,g,h,a){try{var c=b[h](a),i=c.value}catch(a){return void f(a)}c.done?d(i):Promise.resolve(i).then(e,g)}function _asyncToGenerator(b){return function(){var c=this,d=arguments;return new Promise(function(e,f){function g(a){asyncGeneratorStep(i,e,f,g,h,"next",a)}function h(a){asyncGeneratorStep(i,e,f,g,h,"throw",a)}var i=b.apply(c,d);g(void 0)})}}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}// src/vode.ts
2
2
  var globals=exports.globals={currentViewTransition:void 0,requestAnimationFrame:!window.requestAnimationFrame?function(a){return a()}:window.requestAnimationFrame.bind(window),startViewTransition:!document.startViewTransition?null:document.startViewTransition.bind(document)};function vode(a,b){if(!a)throw new Error("first argument to vode() must be a tag name or a vode");for(var c=arguments.length,d=Array(2<c?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];return Array.isArray(a)?a:b?[a,b].concat(d):[a].concat(d)}function app(a,b,c){var d;function e(b){var d=Date.now(),e=c(f.state);f.vode=render(f.state,a.parentElement,0,0,f.vode,e),a.tagName.toUpperCase()!==e[0].toUpperCase()&&(a=f.vode.node,a._vode=f),b||(f.stats.lastSyncRenderTime=Date.now()-d,f.stats.syncRenderCount++,f.isRendering=!1,f.qSync&&f.renderSync())}if(!(null!==(d=a)&&void 0!==d&&d.parentElement))throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!b||"object"!==_typeof(b))throw new Error("second argument to app() must be a state object");if("function"!=typeof c)throw new Error("third argument to app() must be a function that returns a vode");var f={syncRenderer:globals.requestAnimationFrame,asyncRenderer:globals.startViewTransition,qSync:null,qAsync:null,stats:{lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0}},g=b;Object.defineProperty(b,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d,e,h,i,j,k,l;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:if(a&&("function"==typeof a||"object"===_typeof(a))){c.n=1;break}return c.a(2);case 1:if(f.stats.patchCount++,!(null!==a&&void 0!==a&&a.next)){c.n=12;break}return d=a,f.stats.liveEffectCount++,c.p=2,c.n=3,d.next();case 3:e=c.v;case 4:if(!1!==e.done){c.n=9;break}return f.stats.liveEffectCount++,c.p=5,g.patch(e.value,b),c.n=6,d.next();case 6:e=c.v;case 7:return c.p=7,f.stats.liveEffectCount--,c.f(7);case 8:c.n=4;break;case 9:g.patch(e.value,b);case 10:return c.p=10,f.stats.liveEffectCount--,c.f(10);case 11:c.n=22;break;case 12:if(!a.then){c.n=17;break}return f.stats.liveEffectCount++,c.p=13,c.n=14,a;case 14:h=c.v,g.patch(h,b);case 15:return c.p=15,f.stats.liveEffectCount--,c.f(15);case 16:c.n=22;break;case 17:if(!Array.isArray(a)){c.n=18;break}if(0<a.length){i=_createForOfIteratorHelper(a);try{for(i.s();!(j=i.n()).done;)k=j.value,g.patch(k,!document.hidden&&!!f.asyncRenderer)}catch(a){i.e(a)}finally{i.f()}}else{f.qSync=mergeState(f.qSync||{},f.qAsync,!1),f.qAsync=null;try{null===(l=globals.currentViewTransition)||void 0===l||l.skipTransition()}catch(a){}f.stats.syncRenderPatchCount++,f.renderSync()}c.n=22;break;case 18:if("function"!=typeof a){c.n=19;break}g.patch(a(f.state),b),c.n=22;break;case 19:if(!b){c.n=21;break}return f.stats.asyncRenderPatchCount++,f.qAsync=mergeState(f.qAsync||{},a,!1),c.n=20,f.renderAsync();case 20:c.n=22;break;case 21:f.stats.syncRenderPatchCount++,f.qSync=mergeState(f.qSync||{},a,!1),f.renderSync();case 22:return c.a(2)}},c,null,[[13,,15,16],[5,,7,8],[2,,10,11]])}));return a}()});var h=e.bind(null,!1),i=e.bind(null,!0);Object.defineProperty(f,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:function a(){f.isRendering||!f.qSync||(f.isRendering=!0,f.state=mergeState(f.state,f.qSync,!0),f.qSync=null,f.syncRenderer(h))}}),Object.defineProperty(f,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function a(){var b,c,d;return _regenerator().w(function(a){for(;1;)switch(a.p=a.n){case 0:if(!f.isAnimating&&f.qAsync){a.n=1;break}return a.a(2);case 1:return a.n=2,null===(b=globals.currentViewTransition)||void 0===b?void 0:b.updateCallbackDone;case 2:if(!(f.isAnimating||!f.qAsync||document.hidden)){a.n=3;break}return a.a(2);case 3:return f.isAnimating=!0,c=Date.now(),a.p=4,f.state=mergeState(f.state,f.qAsync,!0),f.qAsync=null,globals.currentViewTransition=f.asyncRenderer(i),a.n=5,null===(d=globals.currentViewTransition)||void 0===d?void 0:d.updateCallbackDone;case 5:return a.p=5,f.stats.lastAsyncRenderTime=Date.now()-c,f.stats.asyncRenderCount++,f.isAnimating=!1,a.f(5);case 6:f.qAsync&&f.renderAsync();case 7:return a.a(2)}},a,null,[[4,,5,6]])}));return a}()}),f.state=g;var j=a;j._vode=f;var k=Array.from(a.parentElement.children).indexOf(a);f.vode=render(b,a.parentElement,k,k,hydrate(a,!0),c(b));for(var l=arguments.length,m=Array(3<l?l-3:0),n=3;n<l;n++)m[n-3]=arguments[n];for(var o,p=0,q=m;p<q.length;p++)o=q[p],g.patch(o);return function(a){return g.patch(a)}}function defuse(a){if(null!==a&&void 0!==a&&a._vode){var b=function c(a){if(null!==a&&void 0!==a&&a.node){var d=props(a);if(d){for(var e in d)"o"===e[0]&&"n"===e[1]&&(a.node[e]=null);a.node["catch"]=null}if(a.node._vode)defuse(a.node);else{var f=children(a);if(f){var g,h=_createForOfIteratorHelper(f);try{for(h.s();!(g=h.n()).done;){var i=g.value;b(i)}}catch(a){h.e(a)}finally{h.f()}}}}},c=b,d=a._vode;delete a._vode,Object.defineProperty(d.state,"patch",{value:void 0}),Object.defineProperty(d,"renderSync",{value:function a(){}}),Object.defineProperty(d,"renderAsync",{value:function a(){}}),b(d.vode)}else{var e,f=_createForOfIteratorHelper(a.children);try{for(f.s();!(e=f.n()).done;){var g=e.value;defuse(g)}}catch(a){f.e(a)}finally{f.f()}}}function hydrate(b,c){if((null===b||void 0===b?void 0:b.nodeType)===Node.TEXT_NODE){var d;return""===(null===(d=b.nodeValue)||void 0===d?void 0:d.trim())?void 0:c?b:b.nodeValue}if(b.nodeType!==Node.COMMENT_NODE&&b.nodeType===Node.ELEMENT_NODE){var e=b.tagName.toLowerCase(),f=[e];if(c&&(f.node=b),null!==b&&void 0!==b&&b.hasAttributes()){var g,h={},i=b.attributes,j=_createForOfIteratorHelper(i);try{for(j.s();!(g=j.n()).done;){var k=g.value;h[k.name]=k.value}}catch(a){j.e(a)}finally{j.f()}f.push(h)}if(b.hasChildNodes()){var l,m=[],n=_createForOfIteratorHelper(b.childNodes);try{for(n.s();!(l=n.n()).done;){var o=l.value,p=o&&hydrate(o,c);p?f.push(p):o&&c&&m.push(o)}}catch(a){n.e(a)}finally{n.f()}for(var q,r=0,s=m;r<s.length;r++)q=s[r],q.remove()}return f}}function memo(a,b){if(!a||!Array.isArray(a))throw new Error("first argument to memo() must be an array of values to compare");if("function"!=typeof b)throw new Error("second argument to memo() must be a function that returns a vode or props object");return b.__memo=a,b}function createState(a){if(!a||"object"!==_typeof(a))throw new Error("createState() must be called with a state object");return a}function createPatch(a){return a}function tag(a){return!a?void 0:Array.isArray(a)?a[0]:"string"==typeof a||a.nodeType===Node.TEXT_NODE?"#text":void 0}function props(a){return Array.isArray(a)&&1<a.length&&a[1]&&!Array.isArray(a[1])&&"object"===_typeof(a[1])&&a[1].nodeType!==Node.TEXT_NODE?a[1]:void 0}function children(a){var b=childrenStart(a);return 0<b?a.slice(b):null}function childCount(a){var b=childrenStart(a);return 0>b?0:a.length-b}function child(a,b){var c=childrenStart(a);return 0<c?a[b+c]:void 0}function childrenStart(a){return props(a)?2<a.length?2:-1:Array.isArray(a)&&1<a.length?1:-1}function mergeState(a,b,c){if(!b)return a;for(var d in b){var e=b[d];if(e&&"object"===_typeof(e)){var f=a[d];f?Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date&&f!==e?a[d]=new Date(e):Array.isArray(f)?a[d]=mergeState({},e,c):"object"===_typeof(f)?mergeState(a[d],e,c):a[d]=mergeState({},e,c):Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date?a[d]=new Date(e):a[d]=mergeState({},e,c)}else void 0===e&&c?delete a[d]:a[d]=e}return a}function render(a,b,c,d,e,f,g){try{var h,j;f=remember(a,f,e);var k=!f||"number"==typeof f||"boolean"==typeof f;if(f===e||!e&&k)return e;var l=(null===e||void 0===e?void 0:e.nodeType)===Node.TEXT_NODE,m=l?e:null===e||void 0===e?void 0:e.node;if(k)return(null===m||void 0===m?void 0:m.onUnmount)&&a.patch(m.onUnmount(m)),void(null===m||void 0===m||m.remove());var n=!k&&isTextVode(f),o=!k&&isNaturalVode(f),p=!!f&&"string"!=typeof f&&!!(null!==(h=f)&&void 0!==h&&h.node||(null===(j=f)||void 0===j?void 0:j.nodeType)===Node.TEXT_NODE);if(!n&&!o&&!p&&!e)throw new Error("Invalid vode: "+_typeof(f)+" "+JSON.stringify(f));else p&&n?f=f.wholeText:p&&o&&(f=_toConsumableArray(f));if(l&&n)return m.nodeValue!==f&&(m.nodeValue=f),e;if(n&&(!m||!l)){var q=document.createTextNode(f);if(m)m.onUnmount&&a.patch(m.onUnmount(m)),m.replaceWith(q);else{for(var r,s=!1,t=d;t<b.childNodes.length;t++)if(r=b.childNodes[t],r){r.before(q,r),s=!0;break}s||b.appendChild(q)}return q}if(o&&(!m||l||e[0]!==f[0])){var u=f;1 in u&&(u[1]=remember(a,u[1],void 0));var v=props(f);void 0!==(null===v||void 0===v?void 0:v.xmlns)&&(g=v.xmlns);var w=g?document.createElementNS(g,f[0]):document.createElement(f[0]);if(f.node=w,patchProperties(a,w,void 0,v,null!==g&&void 0!==g?g:null),!!v&&"catch"in v&&(f.node["catch"]=null,f.node.removeAttribute("catch")),m)m.onUnmount&&a.patch(m.onUnmount(m)),m.replaceWith(w);else{for(var x,y=!1,z=d;z<b.childNodes.length;z++)if(x=b.childNodes[z],x){x.before(w,x),y=!0;break}y||b.appendChild(w)}var A=children(f);if(A)for(var B=v?2:1,C=0,D=0;D<A.length;D++){var E=A[D],F=render(a,w,D,C,void 0,E,null!==g&&void 0!==g?g:null);f[D+B]=F,F&&C++}return w.onMount&&a.patch(w.onMount(w)),f}if(!l&&o&&e[0]===f[0]){var G;f.node=m;var H=f,I=e,J=props(f),K=props(e);if(void 0!==(null===J||void 0===J?void 0:J.xmlns)&&(g=J.xmlns),null!==(G=H[1])&&void 0!==G&&G.__memo){var L=H[1];H[1]=remember(a,H[1],I[1]),L!==H[1]&&patchProperties(a,m,K,J,g)}else patchProperties(a,m,K,J,g);!(null!==J&&void 0!==J&&J["catch"])||(null===K||void 0===K?void 0:K["catch"])===J["catch"]||(f.node["catch"]=null,f.node.removeAttribute("catch"));var M=children(f),N=children(e);if(M)for(var O=J?2:1,P=0,Q=0;Q<M.length;Q++){var R=M[Q],S=N&&N[Q],T=render(a,m,Q,P,S,R,g);f[Q+O]=T,T&&P++}if(N)for(var U=M?M.length:0,V=N.length-1;V>=U;V--)render(a,m,V,V,N[V],void 0,g);return f}}catch(h){var W,X=null===(W=props(f))||void 0===W?void 0:W["catch"];if(X){var Y,Z="function"==typeof X?X(a,h):X;return render(a,b,c,d,hydrate((null===(Y=f)||void 0===Y?void 0:Y.node)||(null===e||void 0===e?void 0:e.node),!0),Z,g)}throw h}}function isNaturalVode(a){return Array.isArray(a)&&0<a.length&&"string"==typeof a[0]}function isTextVode(a){return"string"==typeof a||(null===a||void 0===a?void 0:a.nodeType)===Node.TEXT_NODE}function remember(a,b,c){if("function"!=typeof b)return b;var d=null===b||void 0===b?void 0:b.__memo,e=null===c||void 0===c?void 0:c.__memo;if(Array.isArray(d)&&Array.isArray(e)&&d.length===e.length){for(var f=!0,g=0;g<d.length;g++)if(d[g]!==e[g]){f=!1;break}if(f)return c}var h=unwrap(b,a);return"object"===_typeof(h)&&(h.__memo=null===b||void 0===b?void 0:b.__memo),h}function unwrap(a,b){return"function"==typeof a?unwrap(a(b),b):a}function patchProperties(a,b,c,d,e){if(d||c){var f=void 0!==e;if(c)for(var g in c){var h=c[g],i=null===d||void 0===d?void 0:d[g];h!==i&&(d?d[g]=patchProperty(a,b,g,h,i,f):patchProperty(a,b,g,h,void 0,f))}if(d&&c){for(var j in d)if(!(j in c)){var k=d[j];d[j]=patchProperty(a,b,j,void 0,k,f)}}else if(d)for(var l in d){var m=d[l];d[l]=patchProperty(a,b,l,void 0,m,f)}}}function patchProperty(a,b,c,d,e,f){if("style"===c){if(!e)b.style.cssText="";else if("string"==typeof e)d!==e&&(b.style.cssText=e);else if(d&&"object"===_typeof(d)){for(var g in d){var h=e[g];h||(b.style[g]=null)}for(var i in e){var j=d[i],l=e[i];j!==l&&(b.style[i]=l)}}else for(var m in e)b.style[m]=e[m];}else if("class"===c)e?b.setAttribute("class",classString(e)):b.removeAttribute("class");else if(!("o"===c[0]&&"n"===c[1]))f||(b[c]=e),void 0===e||null===e||!1===e?b.removeAttribute(c):b.setAttribute(c,e);else if(e){var n=null;if("function"==typeof e){var o=e;n=function c(b){return a.patch(o(a,b))}}else"object"===_typeof(e)&&(n=function b(){return a.patch(e)});b[c]=n}else b[c]=null;return e}function classString(a){return"string"==typeof a?a:Array.isArray(a)?a.map(classString).join(" "):"object"===_typeof(a)?Object.keys(a).filter(function(b){return a[b]}).join(" "):""}// src/vode-tags.ts
3
3
  var A=exports.A="a",ABBR=exports.ABBR="abbr",ADDRESS=exports.ADDRESS="address",AREA=exports.AREA="area",ARTICLE=exports.ARTICLE="article",ASIDE=exports.ASIDE="aside",AUDIO=exports.AUDIO="audio",B=exports.B="b",BASE=exports.BASE="base",BDI=exports.BDI="bdi",BDO=exports.BDO="bdo",BLOCKQUOTE=exports.BLOCKQUOTE="blockquote",BODY=exports.BODY="body",BR=exports.BR="br",BUTTON=exports.BUTTON="button",CANVAS=exports.CANVAS="canvas",CAPTION=exports.CAPTION="caption",CITE=exports.CITE="cite",CODE=exports.CODE="code",COL=exports.COL="col",COLGROUP=exports.COLGROUP="colgroup",DATA=exports.DATA="data",DATALIST=exports.DATALIST="datalist",DD=exports.DD="dd",DEL=exports.DEL="del",DETAILS=exports.DETAILS="details",DFN=exports.DFN="dfn",DIALOG=exports.DIALOG="dialog",DIV=exports.DIV="div",DL=exports.DL="dl",DT=exports.DT="dt",EM=exports.EM="em",EMBED=exports.EMBED="embed",FIELDSET=exports.FIELDSET="fieldset",FIGCAPTION=exports.FIGCAPTION="figcaption",FIGURE=exports.FIGURE="figure",FOOTER=exports.FOOTER="footer",FORM=exports.FORM="form",H1=exports.H1="h1",H2=exports.H2="h2",H3=exports.H3="h3",H4=exports.H4="h4",H5=exports.H5="h5",H6=exports.H6="h6",HEAD=exports.HEAD="head",HEADER=exports.HEADER="header",HGROUP=exports.HGROUP="hgroup",HR=exports.HR="hr",HTML=exports.HTML="html",I=exports.I="i",IFRAME=exports.IFRAME="iframe",IMG=exports.IMG="img",INPUT=exports.INPUT="input",INS=exports.INS="ins",KBD=exports.KBD="kbd",LABEL=exports.LABEL="label",LEGEND=exports.LEGEND="legend",LI=exports.LI="li",LINK=exports.LINK="link",MAIN=exports.MAIN="main",MAP=exports.MAP="map",MARK=exports.MARK="mark",MENU=exports.MENU="menu",META=exports.META="meta",METER=exports.METER="meter",NAV=exports.NAV="nav",NOSCRIPT=exports.NOSCRIPT="noscript",OBJECT=exports.OBJECT="object",OL=exports.OL="ol",OPTGROUP=exports.OPTGROUP="optgroup",OPTION=exports.OPTION="option",OUTPUT=exports.OUTPUT="output",P=exports.P="p",PICTURE=exports.PICTURE="picture",PRE=exports.PRE="pre",PROGRESS=exports.PROGRESS="progress",Q=exports.Q="q",RP=exports.RP="rp",RT=exports.RT="rt",RUBY=exports.RUBY="ruby",S=exports.S="s",SAMP=exports.SAMP="samp",SCRIPT=exports.SCRIPT="script",SEARCH=exports.SEARCH="search",SECTION=exports.SECTION="section",SELECT=exports.SELECT="select",SLOT=exports.SLOT="slot",SMALL=exports.SMALL="small",SOURCE=exports.SOURCE="source",SPAN=exports.SPAN="span",STRONG=exports.STRONG="strong",STYLE=exports.STYLE="style",SUB=exports.SUB="sub",SUMMARY=exports.SUMMARY="summary",SUP=exports.SUP="sup",TABLE=exports.TABLE="table",TBODY=exports.TBODY="tbody",TD=exports.TD="td",TEMPLATE=exports.TEMPLATE="template",TEXTAREA=exports.TEXTAREA="textarea",TFOOT=exports.TFOOT="tfoot",TH=exports.TH="th",THEAD=exports.THEAD="thead",TIME=exports.TIME="time",TITLE=exports.TITLE="title",TR=exports.TR="tr",TRACK=exports.TRACK="track",U=exports.U="u",UL=exports.UL="ul",VAR=exports.VAR="var",VIDEO=exports.VIDEO="video",WBR=exports.WBR="wbr",ANIMATE=exports.ANIMATE="animate",ANIMATEMOTION=exports.ANIMATEMOTION="animateMotion",ANIMATETRANSFORM=exports.ANIMATETRANSFORM="animateTransform",CIRCLE=exports.CIRCLE="circle",CLIPPATH=exports.CLIPPATH="clipPath",DEFS=exports.DEFS="defs",DESC=exports.DESC="desc",ELLIPSE=exports.ELLIPSE="ellipse",FEBLEND=exports.FEBLEND="feBlend",FECOLORMATRIX=exports.FECOLORMATRIX="feColorMatrix",FECOMPONENTTRANSFER=exports.FECOMPONENTTRANSFER="feComponentTransfer",FECOMPOSITE=exports.FECOMPOSITE="feComposite",FECONVOLVEMATRIX=exports.FECONVOLVEMATRIX="feConvolveMatrix",FEDIFFUSELIGHTING=exports.FEDIFFUSELIGHTING="feDiffuseLighting",FEDISPLACEMENTMAP=exports.FEDISPLACEMENTMAP="feDisplacementMap",FEDISTANTLIGHT=exports.FEDISTANTLIGHT="feDistantLight",FEDROPSHADOW=exports.FEDROPSHADOW="feDropShadow",FEFLOOD=exports.FEFLOOD="feFlood",FEFUNCA=exports.FEFUNCA="feFuncA",FEFUNCB=exports.FEFUNCB="feFuncB",FEFUNCG=exports.FEFUNCG="feFuncG",FEFUNCR=exports.FEFUNCR="feFuncR",FEGAUSSIANBLUR=exports.FEGAUSSIANBLUR="feGaussianBlur",FEIMAGE=exports.FEIMAGE="feImage",FEMERGE=exports.FEMERGE="feMerge",FEMERGENODE=exports.FEMERGENODE="feMergeNode",FEMORPHOLOGY=exports.FEMORPHOLOGY="feMorphology",FEOFFSET=exports.FEOFFSET="feOffset",FEPOINTLIGHT=exports.FEPOINTLIGHT="fePointLight",FESPECULARLIGHTING=exports.FESPECULARLIGHTING="feSpecularLighting",FESPOTLIGHT=exports.FESPOTLIGHT="feSpotLight",FETILE=exports.FETILE="feTile",FETURBULENCE=exports.FETURBULENCE="feTurbulence",FILTER=exports.FILTER="filter",FOREIGNOBJECT=exports.FOREIGNOBJECT="foreignObject",G=exports.G="g",IMAGE=exports.IMAGE="image",LINE=exports.LINE="line",LINEARGRADIENT=exports.LINEARGRADIENT="linearGradient",MARKER=exports.MARKER="marker",MASK=exports.MASK="mask",METADATA=exports.METADATA="metadata",MPATH=exports.MPATH="mpath",PATH=exports.PATH="path",PATTERN=exports.PATTERN="pattern",POLYGON=exports.POLYGON="polygon",POLYLINE=exports.POLYLINE="polyline",RADIALGRADIENT=exports.RADIALGRADIENT="radialGradient",RECT=exports.RECT="rect",SET=exports.SET="set",STOP=exports.STOP="stop",SVG=exports.SVG="svg",SWITCH=exports.SWITCH="switch",SYMBOL=exports.SYMBOL="symbol",TEXT=exports.TEXT="text",TEXTPATH=exports.TEXTPATH="textPath",TSPAN=exports.TSPAN="tspan",USE=exports.USE="use",VIEW=exports.VIEW="view",ANNOTATION=exports.ANNOTATION="annotation",ANNOTATION_XML=exports.ANNOTATION_XML="annotation-xml",MACTION=exports.MACTION="maction",MATH=exports.MATH="math",MERROR=exports.MERROR="merror",MFRAC=exports.MFRAC="mfrac",MI=exports.MI="mi",MMULTISCRIPTS=exports.MMULTISCRIPTS="mmultiscripts",MN=exports.MN="mn",MO=exports.MO="mo",MOVER=exports.MOVER="mover",MPADDED=exports.MPADDED="mpadded",MPHANTOM=exports.MPHANTOM="mphantom",MPRESCRIPTS=exports.MPRESCRIPTS="mprescripts",MROOT=exports.MROOT="mroot",MROW=exports.MROW="mrow",MS=exports.MS="ms",MSPACE=exports.MSPACE="mspace",MSQRT=exports.MSQRT="msqrt",MSTYLE=exports.MSTYLE="mstyle",MSUB=exports.MSUB="msub",MSUBSUP=exports.MSUBSUP="msubsup",MSUP=exports.MSUP="msup",MTABLE=exports.MTABLE="mtable",MTD=exports.MTD="mtd",MTEXT=exports.MTEXT="mtext",MTR=exports.MTR="mtr",MUNDER=exports.MUNDER="munder",MUNDEROVER=exports.MUNDEROVER="munderover",SEMANTICS=exports.SEMANTICS="semantics";// src/merge-class.ts
4
4
  function mergeClass(){for(var c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];if(!d||0===d.length)return null;if(1===d.length)return d[0];for(var f=d[0],g=1;g<d.length;g++){var h=f,i=d[g];if(!h)f=i;else if(!i)continue;else if("string"==typeof h&&"string"==typeof i){var j=h.split(" "),k=i.split(" "),l=/* @__PURE__ */new Set([].concat(_toConsumableArray(j),_toConsumableArray(k)));f=Array.from(l).join(" ").trim()}else if("string"==typeof h&&Array.isArray(i)){var m=/* @__PURE__ */new Set([].concat(_toConsumableArray(i),_toConsumableArray(h.split(" "))));f=Array.from(m).join(" ").trim()}else if(Array.isArray(h)&&"string"==typeof i){var n=/* @__PURE__ */new Set([].concat(_toConsumableArray(h),_toConsumableArray(i.split(" "))));f=Array.from(n).join(" ").trim()}else if(Array.isArray(h)&&Array.isArray(i)){var o=/* @__PURE__ */new Set([].concat(_toConsumableArray(h),_toConsumableArray(i)));f=Array.from(o).join(" ").trim()}else if("string"==typeof h&&"object"===_typeof(i))f=_objectSpread(_defineProperty({},h,!0),i);else if("object"===_typeof(h)&&"string"==typeof i)f=_objectSpread(_objectSpread({},h),{},_defineProperty({},i,!0));else if("object"===_typeof(h)&&"object"===_typeof(i))f=_objectSpread(_objectSpread({},h),i);else if("object"===_typeof(h)&&Array.isArray(i)){var p,q=_objectSpread({},h),r=_createForOfIteratorHelper(i);try{for(r.s();!(p=r.n()).done;){var s=p.value;q[s]=!0}}catch(a){r.e(a)}finally{r.f()}f=q}else if(Array.isArray(h)&&"object"===_typeof(i)){var t,u={},v=_createForOfIteratorHelper(h);try{for(v.s();!(t=v.n()).done;){var w=t.value;u[w]=!0}}catch(a){v.e(a)}finally{v.f()}for(var x,y=0,z=Object.keys(i);y<z.length;y++)x=z[y],u[x]=i[x];f=u}else throw new Error("cannot merge classes of ".concat(h," (").concat(_typeof(h),") and ").concat(i," (").concat(_typeof(i),")"))}return f}// src/merge-style.ts
5
5
  var tempDivForStyling=document.createElement("div");function mergeStyle(){try{for(var a=tempDivForStyling.style,b=arguments.length,c=Array(b),d=0;d<b;d++)c[d]=arguments[d];for(var e,f=0,g=c;f<g.length;f++)if(e=g[f],"object"===_typeof(e)&&null!==e)for(var h in e)a[h]=e[h];else"string"==typeof e&&(a.cssText+=";"+e);return a.cssText}finally{tempDivForStyling.style.cssText=""}}// src/state-context.ts
6
- var KeyStateContext=exports.KeyStateContext=/*#__PURE__*/function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"keys",void 0),this.state=b,this.path=c,this.keys=c.split(".")}return _createClass(a,[{key:"get",value:function a(){for(var b=this.keys,c=this.state?this.state[b[0]]:void 0,d=1;d<b.length&&!!c;d++)c=c[b[d]];return c}},{key:"put",value:function b(a){this.putDeep(a,this.state)}},{key:"patch",value:function b(a){if(Array.isArray(a)){var c,d=[],e=_createForOfIteratorHelper(a);try{for(e.s();!(c=e.n()).done;){var f=c.value;d.push(this.createPatch(f))}}catch(a){e.e(a)}finally{e.f()}this.state.patch(d)}else this.state.patch(this.createPatch(a))}/**
6
+ function context(a){return new ProxyStateContextImpl(a,[])}var ProxyStateContextImpl=/*#__PURE__*/function(){function a(b,c){function d(a,b){if(1<c.length){var d=0,e=b[c[d]];for(("object"!==_typeof(e)||null===e)&&(b[c[d]]=e={}),d=1;d<c.length-1;d++){var f=e;e=e[c[d]],("object"!==_typeof(e)||null===e)&&(f[c[d]]=e={})}e[c[d]]=a}else 1===c.length?"object"===_typeof(b[c[0]])&&"object"===_typeof(a)?Object.assign(b[c[0]],a):b[c[0]]=a:Object.assign(b,a)}function e(a){var b={};return d(a,b),b}function f(){if(0===c.length)return b;for(var a=b?b[c[0]]:void 0,d=1;d<c.length&&!!a;d++)a=a[c[d]];return a}function g(a){d(a,b)}function h(a){if(Array.isArray(a)){var c,d=[],f=_createForOfIteratorHelper(a);try{for(f.s();!(c=f.n()).done;){var g=c.value;d.push(e(g))}}catch(a){f.e(a)}finally{f.f()}b.patch(d)}else b.patch(e(a))}return _classCallCheck(this,a),this.state=b,this.keys=c,new Proxy(this,{get:function i(c,d,e){if("state"===d)return b;if("get"===d)return f;if("put"===d)return g;if("patch"===d)return h;var j=[].concat(_toConsumableArray(c.keys),[d+""]);return new a(c.state,j)}})}return _createClass(a,[{key:"get",value:function a(){throw"implemented in ctor"}},{key:"put",value:function b(a){throw"implemented in ctor"}},{key:"patch",value:function b(a){throw"implemented in ctor"}}])}(),DelegateStateContext=exports.DelegateStateContext=/*#__PURE__*/_createClass(function e(a,b,c,d){_classCallCheck(this,e),this.state=a,this.get=b,this.put=c,this.patch=d}),KeyStateContext=exports.KeyStateContext=/*#__PURE__*/function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"keys",void 0),this.state=b,this.path=c,this.keys=c.split(".")}return _createClass(a,[{key:"get",value:function a(){for(var b=this.keys,c=this.state?this.state[b[0]]:void 0,d=1;d<b.length&&!!c;d++)c=c[b[d]];return c}},{key:"put",value:function b(a){this.putDeep(a,this.state)}},{key:"patch",value:function b(a){if(Array.isArray(a)){var c,d=[],e=_createForOfIteratorHelper(a);try{for(e.s();!(c=e.n()).done;){var f=c.value;d.push(this.createPatch(f))}}catch(a){e.e(a)}finally{e.f()}this.state.patch(d)}else this.state.patch(this.createPatch(a))}/**
7
7
  * Creates a render-patch for the parent state by setting a nested sub-state value while creating necessary structure.
8
8
  *
9
9
  * @example
@@ -15,4 +15,4 @@ var KeyStateContext=exports.KeyStateContext=/*#__PURE__*/function(){function a(b
15
15
  *
16
16
  * @param value
17
17
  * @returns {{key-path}:{...: value}} render-patch for the parent state
18
- */},{key:"createPatch",value:function b(a){var c={};return this.putDeep(a,c),c}},{key:"putDeep",value:function c(a,b){var d=this.keys;if(1<d.length){var e=0,f=b[d[e]];for(("object"!==_typeof(f)||null===f)&&(b[d[e]]=f={}),e=1;e<d.length-1;e++){var g=f;f=f[d[e]],("object"!==_typeof(f)||null===f)&&(g[d[e]]=f={})}f[d[e]]=a}else"object"===_typeof(b[d[0]])&&"object"===_typeof(a)?Object.assign(b[d[0]],a):b[d[0]]=a}}])}(),DelegateStateContext=exports.DelegateStateContext=/*#__PURE__*/_createClass(function e(a,b,c,d){_classCallCheck(this,e),this.state=a,this.get=b,this.put=c,this.patch=d});
18
+ */},{key:"createPatch",value:function b(a){var c={};return this.putDeep(a,c),c}},{key:"putDeep",value:function c(a,b){var d=this.keys;if(1<d.length){var e=0,f=b[d[e]];for(("object"!==_typeof(f)||null===f)&&(b[d[e]]=f={}),e=1;e<d.length-1;e++){var g=f;f=f[d[e]],("object"!==_typeof(f)||null===f)&&(g[d[e]]=f={})}f[d[e]]=a}else"object"===_typeof(b[d[0]])&&"object"===_typeof(a)?Object.assign(b[d[0]],a):b[d[0]]=a}}])}();
@@ -1,10 +1,10 @@
1
- "use strict";function _classCallCheck(b,a){if(!(b instanceof a))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _regenerator(){function b(a,b,f,g){var h=b&&b.prototype instanceof d?b:d,c=Object.create(h.prototype);return _regeneratorDefine2(c,"_invoke",function(a,b,g){function h(a,b){for(q=a,s=b,e=0;!w&&t&&!c&&e<v.length;e++){var c,f=v[e],g=p.p,h=f[2];3<a?(c=h===b)&&(s=f[(q=f[4])?5:(q=3,3)],f[4]=f[5]=j):f[0]<=g&&((c=2>a&&g<f[1])?(q=0,p.v=b,p.n=f[1]):g<h&&(c=3>a||f[0]>b||b>h)&&(f[4]=a,f[5]=b,p.n=h,q=0))}if(c||1<a)return m;throw w=!0,b}var k,q,s,t=0,v=g||[],w=!1,p={p:0,n:0,v:j,a:h,f:h.bind(j,4),d:function c(a,b){return k=a,q=0,s=j,p.n=b,m}};return function(c,d,f){if(1<t)throw TypeError("Generator is already running");for(w&&1===d&&h(d,f),q=d,s=f;(e=2>q?j:s)||!w;){k||(q?3>q?(1<q&&(p.n=-1),h(q,s)):p.n=s:p.v=s);try{if(t=2,k){if(q||(c="next"),e=k[c]){if(!(e=e.call(k,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,2>q&&(q=0)}else 1===q&&(e=k["return"])&&e.call(k),2>q&&(s=TypeError("The iterator does not provide a '"+c+"' method"),q=1);k=j}else if((e=(w=0>p.n)?s:a.call(b,p))!==m)break}catch(a){k=j,q=1,s=a}finally{t=1}}return{value:e,done:w}}}(a,f,g),!0),c}function d(){}function g(){}function h(){}function i(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,_regeneratorDefine2(a,l,"GeneratorFunction")),a.prototype=Object.create(c),a}/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var j,e,f="function"==typeof Symbol?Symbol:{},k=f.iterator||"@@iterator",l=f.toStringTag||"@@toStringTag",m={};e=Object.getPrototypeOf;var a=[][k]?e(e([][k]())):(_regeneratorDefine2(e={},k,function(){return this}),e),c=h.prototype=d.prototype=Object.create(a);return g.prototype=h,_regeneratorDefine2(c,"constructor",h),_regeneratorDefine2(h,"constructor",g),g.displayName="GeneratorFunction",_regeneratorDefine2(h,l,"GeneratorFunction"),_regeneratorDefine2(c),_regeneratorDefine2(c,l,"Generator"),_regeneratorDefine2(c,k,function(){return this}),_regeneratorDefine2(c,"toString",function(){return"[object Generator]"}),(_regenerator=function a(){return{w:b,m:i}})()}function _regeneratorDefine2(a,b,c,d){var f=Object.defineProperty;try{f({},"",{})}catch(a){f=0}_regeneratorDefine2=function e(a,b,c,d){function g(b,c){_regeneratorDefine2(a,b,function(a){return this._invoke(b,c,a)})}b?f?f(a,b,{value:c,enumerable:!d,configurable:!d,writable:!d}):a[b]=c:(g("next",0),g("throw",1),g("return",2))},_regeneratorDefine2(a,b,c,d)}function asyncGeneratorStep(b,d,f,e,g,h,a){try{var c=b[h](a),i=c.value}catch(a){return void f(a)}c.done?d(i):Promise.resolve(i).then(e,g)}function _asyncToGenerator(b){return function(){var c=this,d=arguments;return new Promise(function(e,f){function g(a){asyncGeneratorStep(i,e,f,g,h,"next",a)}function h(a){asyncGeneratorStep(i,e,f,g,h,"throw",a)}var i=b.apply(c,d);g(void 0)})}}function _createForOfIteratorHelper(b,c){var d="undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(!d){if(Array.isArray(b)||(d=_unsupportedIterableToArray(b))||c&&b&&"number"==typeof b.length){d&&(b=d);var e=0,f=function a(){};return{s:f,n:function a(){return e>=b.length?{done:!0}:{done:!1,value:b[e++]}},e:function b(a){throw a},f:f}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var g,h=!0,i=!1;return{s:function a(){d=d.call(b)},n:function a(){var b=d.next();return h=b.done,b},e:function b(a){i=!0,g=a},f:function a(){try{h||null==d["return"]||d["return"]()}finally{if(i)throw g}}}}function _unsupportedIterableToArray(b,c){if(b){if("string"==typeof b)return _arrayLikeToArray(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(b,c):void 0}}function _arrayLikeToArray(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}var V=function(){function a(a,b){if(!a)throw new Error("first argument to vode() must be a tag name or a vode");for(var c=arguments.length,d=Array(2<c?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];return Array.isArray(a)?a:b?[a,b].concat(d):[a].concat(d)}function b(a,b,c){var e;function f(b){var d=Date.now(),e=c(g.state);g.vode=o(g.state,a.parentElement,0,0,g.vode,e),a.tagName.toUpperCase()!==e[0].toUpperCase()&&(a=g.vode.node,a._vode=g),b||(g.stats.lastSyncRenderTime=Date.now()-d,g.stats.syncRenderCount++,g.isRendering=!1,g.qSync&&g.renderSync())}if(!(null!==(e=a)&&void 0!==e&&e.parentElement))throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!b||"object"!==_typeof(b))throw new Error("second argument to app() must be a state object");if("function"!=typeof c)throw new Error("third argument to app() must be a function that returns a vode");var g={syncRenderer:H.requestAnimationFrame,asyncRenderer:H.startViewTransition,qSync:null,qAsync:null,stats:{lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0}},h=b;Object.defineProperty(b,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d,e,f,i,j,k,l;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:if(a&&("function"==typeof a||"object"===_typeof(a))){c.n=1;break}return c.a(2);case 1:if(g.stats.patchCount++,!(null!==a&&void 0!==a&&a.next)){c.n=12;break}return d=a,g.stats.liveEffectCount++,c.p=2,c.n=3,d.next();case 3:e=c.v;case 4:if(!1!==e.done){c.n=9;break}return g.stats.liveEffectCount++,c.p=5,h.patch(e.value,b),c.n=6,d.next();case 6:e=c.v;case 7:return c.p=7,g.stats.liveEffectCount--,c.f(7);case 8:c.n=4;break;case 9:h.patch(e.value,b);case 10:return c.p=10,g.stats.liveEffectCount--,c.f(10);case 11:c.n=22;break;case 12:if(!a.then){c.n=17;break}return g.stats.liveEffectCount++,c.p=13,c.n=14,a;case 14:f=c.v,h.patch(f,b);case 15:return c.p=15,g.stats.liveEffectCount--,c.f(15);case 16:c.n=22;break;case 17:if(!Array.isArray(a)){c.n=18;break}if(0<a.length){i=_createForOfIteratorHelper(a);try{for(i.s();!(j=i.n()).done;)k=j.value,h.patch(k,!document.hidden&&!!g.asyncRenderer)}catch(a){i.e(a)}finally{i.f()}}else{g.qSync=n(g.qSync||{},g.qAsync,!1),g.qAsync=null;try{null===(l=H.currentViewTransition)||void 0===l||l.skipTransition()}catch(a){}g.stats.syncRenderPatchCount++,g.renderSync()}c.n=22;break;case 18:if("function"!=typeof a){c.n=19;break}h.patch(a(g.state),b),c.n=22;break;case 19:if(!b){c.n=21;break}return g.stats.asyncRenderPatchCount++,g.qAsync=n(g.qAsync||{},a,!1),c.n=20,g.renderAsync();case 20:c.n=22;break;case 21:g.stats.syncRenderPatchCount++,g.qSync=n(g.qSync||{},a,!1),g.renderSync();case 22:return c.a(2)}},c,null,[[13,,15,16],[5,,7,8],[2,,10,11]])}));return a}()});var i=f.bind(null,!1),j=f.bind(null,!0);Object.defineProperty(g,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:function a(){g.isRendering||!g.qSync||(g.isRendering=!0,g.state=n(g.state,g.qSync,!0),g.qSync=null,g.syncRenderer(i))}}),Object.defineProperty(g,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function a(){var b,c,d;return _regenerator().w(function(a){for(;1;)switch(a.p=a.n){case 0:if(!g.isAnimating&&g.qAsync){a.n=1;break}return a.a(2);case 1:return a.n=2,null===(b=H.currentViewTransition)||void 0===b?void 0:b.updateCallbackDone;case 2:if(!(g.isAnimating||!g.qAsync||document.hidden)){a.n=3;break}return a.a(2);case 3:return g.isAnimating=!0,c=Date.now(),a.p=4,g.state=n(g.state,g.qAsync,!0),g.qAsync=null,H.currentViewTransition=g.asyncRenderer(j),a.n=5,null===(d=H.currentViewTransition)||void 0===d?void 0:d.updateCallbackDone;case 5:return a.p=5,g.stats.lastAsyncRenderTime=Date.now()-c,g.stats.asyncRenderCount++,g.isAnimating=!1,a.f(5);case 6:g.qAsync&&g.renderAsync();case 7:return a.a(2)}},a,null,[[4,,5,6]])}));return a}()}),g.state=h;var k=a;k._vode=g;var l=Array.from(a.parentElement.children).indexOf(a);g.vode=o(b,a.parentElement,l,l,d(a,!0),c(b));for(var m=arguments.length,p=Array(3<m?m-3:0),q=3;q<m;q++)p[q-3]=arguments[q];for(var r,s=0,t=p;s<t.length;s++)r=t[s],h.patch(r);return function(a){return h.patch(a)}}function c(a){if(null!==a&&void 0!==a&&a._vode){var b=function d(a){if(null!==a&&void 0!==a&&a.node){var e=i(a);if(e){for(var f in e)"o"===f[0]&&"n"===f[1]&&(a.node[f]=null);a.node["catch"]=null}if(a.node._vode)c(a.node);else{var g=j(a);if(g){var h,k=_createForOfIteratorHelper(g);try{for(k.s();!(h=k.n()).done;){var l=h.value;b(l)}}catch(a){k.e(a)}finally{k.f()}}}}},d=b,e=a._vode;delete a._vode,Object.defineProperty(e.state,"patch",{value:void 0}),Object.defineProperty(e,"renderSync",{value:function a(){}}),Object.defineProperty(e,"renderAsync",{value:function a(){}}),b(e.vode)}else{var f,g=_createForOfIteratorHelper(a.children);try{for(g.s();!(f=g.n()).done;){var h=f.value;c(h)}}catch(a){g.e(a)}finally{g.f()}}}function d(b,c){if((null===b||void 0===b?void 0:b.nodeType)===Node.TEXT_NODE){var e;return""===(null===(e=b.nodeValue)||void 0===e?void 0:e.trim())?void 0:c?b:b.nodeValue}if(b.nodeType!==Node.COMMENT_NODE&&b.nodeType===Node.ELEMENT_NODE){var f=b.tagName.toLowerCase(),g=[f];if(c&&(g.node=b),null!==b&&void 0!==b&&b.hasAttributes()){var h,i={},j=b.attributes,k=_createForOfIteratorHelper(j);try{for(k.s();!(h=k.n()).done;){var l=h.value;i[l.name]=l.value}}catch(a){k.e(a)}finally{k.f()}g.push(i)}if(b.hasChildNodes()){var m,n=[],o=_createForOfIteratorHelper(b.childNodes);try{for(o.s();!(m=o.n()).done;){var p=m.value,q=p&&d(p,c);q?g.push(q):p&&c&&n.push(p)}}catch(a){o.e(a)}finally{o.f()}for(var r,s=0,t=n;s<t.length;s++)r=t[s],r.remove()}return g}}function e(a,b){if(!a||!Array.isArray(a))throw new Error("first argument to memo() must be an array of values to compare");if("function"!=typeof b)throw new Error("second argument to memo() must be a function that returns a vode or props object");return b.__memo=a,b}function f(a){if(!a||"object"!==_typeof(a))throw new Error("createState() must be called with a state object");return a}function g(a){return a}function h(a){return!a?void 0:Array.isArray(a)?a[0]:"string"==typeof a||a.nodeType===Node.TEXT_NODE?"#text":void 0}function i(a){return Array.isArray(a)&&1<a.length&&a[1]&&!Array.isArray(a[1])&&"object"===_typeof(a[1])&&a[1].nodeType!==Node.TEXT_NODE?a[1]:void 0}function j(a){var b=m(a);return 0<b?a.slice(b):null}function k(a){var b=m(a);return 0>b?0:a.length-b}function l(a,b){var c=m(a);return 0<c?a[b+c]:void 0}function m(a){return i(a)?2<a.length?2:-1:Array.isArray(a)&&1<a.length?1:-1}function n(a,b,c){if(!b)return a;for(var d in b){var e=b[d];if(e&&"object"===_typeof(e)){var f=a[d];f?Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date&&f!==e?a[d]=new Date(e):Array.isArray(f)?a[d]=n({},e,c):"object"===_typeof(f)?n(a[d],e,c):a[d]=n({},e,c):Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date?a[d]=new Date(e):a[d]=n({},e,c)}else void 0===e&&c?delete a[d]:a[d]=e}return a}function o(a,b,c,e,f,g,h){try{var k,l;g=r(a,g,f);var m=!g||"number"==typeof g||"boolean"==typeof g;if(g===f||!f&&m)return f;var n=(null===f||void 0===f?void 0:f.nodeType)===Node.TEXT_NODE,s=n?f:null===f||void 0===f?void 0:f.node;if(m)return(null===s||void 0===s?void 0:s.onUnmount)&&a.patch(s.onUnmount(s)),void(null===s||void 0===s||s.remove());var t=!m&&q(g),v=!m&&p(g),w=!!g&&"string"!=typeof g&&!!(null!==(k=g)&&void 0!==k&&k.node||(null===(l=g)||void 0===l?void 0:l.nodeType)===Node.TEXT_NODE);if(!t&&!v&&!w&&!f)throw new Error("Invalid vode: "+_typeof(g)+" "+JSON.stringify(g));else w&&t?g=g.wholeText:w&&v&&(g=_toConsumableArray(g));if(n&&t)return s.nodeValue!==g&&(s.nodeValue=g),f;if(t&&(!s||!n)){var x=document.createTextNode(g);if(s)s.onUnmount&&a.patch(s.onUnmount(s)),s.replaceWith(x);else{for(var y,z=!1,A=e;A<b.childNodes.length;A++)if(y=b.childNodes[A],y){y.before(x,y),z=!0;break}z||b.appendChild(x)}return x}if(v&&(!s||n||f[0]!==g[0])){var B=g;1 in B&&(B[1]=r(a,B[1],void 0));var C=i(g);void 0!==(null===C||void 0===C?void 0:C.xmlns)&&(h=C.xmlns);var D=h?document.createElementNS(h,g[0]):document.createElement(g[0]);if(g.node=D,u(a,D,void 0,C,null!==h&&void 0!==h?h:null),!!C&&"catch"in C&&(g.node["catch"]=null,g.node.removeAttribute("catch")),s)s.onUnmount&&a.patch(s.onUnmount(s)),s.replaceWith(D);else{for(var E,F=!1,G=e;G<b.childNodes.length;G++)if(E=b.childNodes[G],E){E.before(D,E),F=!0;break}F||b.appendChild(D)}var H=j(g);if(H)for(var I=C?2:1,J=0,K=0;K<H.length;K++){var L=H[K],M=o(a,D,K,J,void 0,L,null!==h&&void 0!==h?h:null);g[K+I]=M,M&&J++}return D.onMount&&a.patch(D.onMount(D)),g}if(!n&&v&&f[0]===g[0]){var N;g.node=s;var O=g,P=f,Q=i(g),R=i(f);if(void 0!==(null===Q||void 0===Q?void 0:Q.xmlns)&&(h=Q.xmlns),null!==(N=O[1])&&void 0!==N&&N.__memo){var S=O[1];O[1]=r(a,O[1],P[1]),S!==O[1]&&u(a,s,R,Q,h)}else u(a,s,R,Q,h);!(null!==Q&&void 0!==Q&&Q["catch"])||(null===R||void 0===R?void 0:R["catch"])===Q["catch"]||(g.node["catch"]=null,g.node.removeAttribute("catch"));var T=j(g),U=j(f);if(T)for(var V=Q?2:1,W=0,X=0;X<T.length;X++){var Y=T[X],Z=U&&U[X],$=o(a,s,X,W,Z,Y,h);g[X+V]=$,$&&W++}if(U)for(var _=T?T.length:0,aa=U.length-1;aa>=_;aa--)o(a,s,aa,aa,U[aa],void 0,h);return g}}catch(j){var ba,ca=null===(ba=i(g))||void 0===ba?void 0:ba["catch"];if(ca){var da,ea="function"==typeof ca?ca(a,j):ca;return o(a,b,c,e,d((null===(da=g)||void 0===da?void 0:da.node)||(null===f||void 0===f?void 0:f.node),!0),ea,h)}throw j}}function p(a){return Array.isArray(a)&&0<a.length&&"string"==typeof a[0]}function q(a){return"string"==typeof a||(null===a||void 0===a?void 0:a.nodeType)===Node.TEXT_NODE}function r(a,b,c){if("function"!=typeof b)return b;var d=null===b||void 0===b?void 0:b.__memo,e=null===c||void 0===c?void 0:c.__memo;if(Array.isArray(d)&&Array.isArray(e)&&d.length===e.length){for(var f=!0,g=0;g<d.length;g++)if(d[g]!==e[g]){f=!1;break}if(f)return c}var h=t(b,a);return"object"===_typeof(h)&&(h.__memo=null===b||void 0===b?void 0:b.__memo),h}function t(a,b){return"function"==typeof a?t(a(b),b):a}function u(a,b,c,d,e){if(d||c){var f=void 0!==e;if(c)for(var g in c){var h=c[g],i=null===d||void 0===d?void 0:d[g];h!==i&&(d?d[g]=v(a,b,g,h,i,f):v(a,b,g,h,void 0,f))}if(d&&c){for(var j in d)if(!(j in c)){var k=d[j];d[j]=v(a,b,j,void 0,k,f)}}else if(d)for(var l in d){var m=d[l];d[l]=v(a,b,l,void 0,m,f)}}}function v(a,b,c,d,e,f){if("style"===c){if(!e)b.style.cssText="";else if("string"==typeof e)d!==e&&(b.style.cssText=e);else if(d&&"object"===_typeof(d)){for(var g in d){var h=e[g];h||(b.style[g]=null)}for(var i in e){var j=d[i],l=e[i];j!==l&&(b.style[i]=l)}}else for(var m in e)b.style[m]=e[m];}else if("class"===c)e?b.setAttribute("class",w(e)):b.removeAttribute("class");else if(!("o"===c[0]&&"n"===c[1]))f||(b[c]=e),void 0===e||null===e||!1===e?b.removeAttribute(c):b.setAttribute(c,e);else if(e){var n=null;if("function"==typeof e){var o=e;n=function c(b){return a.patch(o(a,b))}}else"object"===_typeof(e)&&(n=function b(){return a.patch(e)});b[c]=n}else b[c]=null;return e}function w(a){return"string"==typeof a?a:Array.isArray(a)?a.map(w).join(" "):"object"===_typeof(a)?Object.keys(a).filter(function(b){return a[b]}).join(" "):""}// src/vode-tags.ts
1
+ "use strict";function _classCallCheck(b,a){if(!(b instanceof a))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _regenerator(){function b(a,b,f,g){var h=b&&b.prototype instanceof d?b:d,c=Object.create(h.prototype);return _regeneratorDefine2(c,"_invoke",function(a,b,g){function h(a,b){for(q=a,s=b,e=0;!w&&t&&!c&&e<v.length;e++){var c,f=v[e],g=p.p,h=f[2];3<a?(c=h===b)&&(s=f[(q=f[4])?5:(q=3,3)],f[4]=f[5]=j):f[0]<=g&&((c=2>a&&g<f[1])?(q=0,p.v=b,p.n=f[1]):g<h&&(c=3>a||f[0]>b||b>h)&&(f[4]=a,f[5]=b,p.n=h,q=0))}if(c||1<a)return m;throw w=!0,b}var k,q,s,t=0,v=g||[],w=!1,p={p:0,n:0,v:j,a:h,f:h.bind(j,4),d:function c(a,b){return k=a,q=0,s=j,p.n=b,m}};return function(c,d,f){if(1<t)throw TypeError("Generator is already running");for(w&&1===d&&h(d,f),q=d,s=f;(e=2>q?j:s)||!w;){k||(q?3>q?(1<q&&(p.n=-1),h(q,s)):p.n=s:p.v=s);try{if(t=2,k){if(q||(c="next"),e=k[c]){if(!(e=e.call(k,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,2>q&&(q=0)}else 1===q&&(e=k["return"])&&e.call(k),2>q&&(s=TypeError("The iterator does not provide a '"+c+"' method"),q=1);k=j}else if((e=(w=0>p.n)?s:a.call(b,p))!==m)break}catch(a){k=j,q=1,s=a}finally{t=1}}return{value:e,done:w}}}(a,f,g),!0),c}function d(){}function g(){}function h(){}function i(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,_regeneratorDefine2(a,l,"GeneratorFunction")),a.prototype=Object.create(c),a}/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var j,e,f="function"==typeof Symbol?Symbol:{},k=f.iterator||"@@iterator",l=f.toStringTag||"@@toStringTag",m={};e=Object.getPrototypeOf;var a=[][k]?e(e([][k]())):(_regeneratorDefine2(e={},k,function(){return this}),e),c=h.prototype=d.prototype=Object.create(a);return g.prototype=h,_regeneratorDefine2(c,"constructor",h),_regeneratorDefine2(h,"constructor",g),g.displayName="GeneratorFunction",_regeneratorDefine2(h,l,"GeneratorFunction"),_regeneratorDefine2(c),_regeneratorDefine2(c,l,"Generator"),_regeneratorDefine2(c,k,function(){return this}),_regeneratorDefine2(c,"toString",function(){return"[object Generator]"}),(_regenerator=function a(){return{w:b,m:i}})()}function _regeneratorDefine2(a,b,c,d){var f=Object.defineProperty;try{f({},"",{})}catch(a){f=0}_regeneratorDefine2=function e(a,b,c,d){function g(b,c){_regeneratorDefine2(a,b,function(a){return this._invoke(b,c,a)})}b?f?f(a,b,{value:c,enumerable:!d,configurable:!d,writable:!d}):a[b]=c:(g("next",0),g("throw",1),g("return",2))},_regeneratorDefine2(a,b,c,d)}function asyncGeneratorStep(b,d,f,e,g,h,a){try{var c=b[h](a),i=c.value}catch(a){return void f(a)}c.done?d(i):Promise.resolve(i).then(e,g)}function _asyncToGenerator(b){return function(){var c=this,d=arguments;return new Promise(function(e,f){function g(a){asyncGeneratorStep(i,e,f,g,h,"next",a)}function h(a){asyncGeneratorStep(i,e,f,g,h,"throw",a)}var i=b.apply(c,d);g(void 0)})}}function _createForOfIteratorHelper(b,c){var d="undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(!d){if(Array.isArray(b)||(d=_unsupportedIterableToArray(b))||c&&b&&"number"==typeof b.length){d&&(b=d);var e=0,f=function a(){};return{s:f,n:function a(){return e>=b.length?{done:!0}:{done:!1,value:b[e++]}},e:function b(a){throw a},f:f}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var g,h=!0,i=!1;return{s:function a(){d=d.call(b)},n:function a(){var b=d.next();return h=b.done,b},e:function b(a){i=!0,g=a},f:function a(){try{h||null==d["return"]||d["return"]()}finally{if(i)throw g}}}}function _unsupportedIterableToArray(b,c){if(b){if("string"==typeof b)return _arrayLikeToArray(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(b,c):void 0}}function _arrayLikeToArray(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}var V=function(){function a(a,b){if(!a)throw new Error("first argument to vode() must be a tag name or a vode");for(var c=arguments.length,d=Array(2<c?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];return Array.isArray(a)?a:b?[a,b].concat(d):[a].concat(d)}function b(a,b,c){var e;function f(b){var d=Date.now(),e=c(g.state);g.vode=o(g.state,a.parentElement,0,0,g.vode,e),a.tagName.toUpperCase()!==e[0].toUpperCase()&&(a=g.vode.node,a._vode=g),b||(g.stats.lastSyncRenderTime=Date.now()-d,g.stats.syncRenderCount++,g.isRendering=!1,g.qSync&&g.renderSync())}if(!(null!==(e=a)&&void 0!==e&&e.parentElement))throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!b||"object"!==_typeof(b))throw new Error("second argument to app() must be a state object");if("function"!=typeof c)throw new Error("third argument to app() must be a function that returns a vode");var g={syncRenderer:I.requestAnimationFrame,asyncRenderer:I.startViewTransition,qSync:null,qAsync:null,stats:{lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0}},h=b;Object.defineProperty(b,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d,e,f,i,j,k,l;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:if(a&&("function"==typeof a||"object"===_typeof(a))){c.n=1;break}return c.a(2);case 1:if(g.stats.patchCount++,!(null!==a&&void 0!==a&&a.next)){c.n=12;break}return d=a,g.stats.liveEffectCount++,c.p=2,c.n=3,d.next();case 3:e=c.v;case 4:if(!1!==e.done){c.n=9;break}return g.stats.liveEffectCount++,c.p=5,h.patch(e.value,b),c.n=6,d.next();case 6:e=c.v;case 7:return c.p=7,g.stats.liveEffectCount--,c.f(7);case 8:c.n=4;break;case 9:h.patch(e.value,b);case 10:return c.p=10,g.stats.liveEffectCount--,c.f(10);case 11:c.n=22;break;case 12:if(!a.then){c.n=17;break}return g.stats.liveEffectCount++,c.p=13,c.n=14,a;case 14:f=c.v,h.patch(f,b);case 15:return c.p=15,g.stats.liveEffectCount--,c.f(15);case 16:c.n=22;break;case 17:if(!Array.isArray(a)){c.n=18;break}if(0<a.length){i=_createForOfIteratorHelper(a);try{for(i.s();!(j=i.n()).done;)k=j.value,h.patch(k,!document.hidden&&!!g.asyncRenderer)}catch(a){i.e(a)}finally{i.f()}}else{g.qSync=n(g.qSync||{},g.qAsync,!1),g.qAsync=null;try{null===(l=I.currentViewTransition)||void 0===l||l.skipTransition()}catch(a){}g.stats.syncRenderPatchCount++,g.renderSync()}c.n=22;break;case 18:if("function"!=typeof a){c.n=19;break}h.patch(a(g.state),b),c.n=22;break;case 19:if(!b){c.n=21;break}return g.stats.asyncRenderPatchCount++,g.qAsync=n(g.qAsync||{},a,!1),c.n=20,g.renderAsync();case 20:c.n=22;break;case 21:g.stats.syncRenderPatchCount++,g.qSync=n(g.qSync||{},a,!1),g.renderSync();case 22:return c.a(2)}},c,null,[[13,,15,16],[5,,7,8],[2,,10,11]])}));return a}()});var i=f.bind(null,!1),j=f.bind(null,!0);Object.defineProperty(g,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:function a(){g.isRendering||!g.qSync||(g.isRendering=!0,g.state=n(g.state,g.qSync,!0),g.qSync=null,g.syncRenderer(i))}}),Object.defineProperty(g,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function a(){var b,c,d;return _regenerator().w(function(a){for(;1;)switch(a.p=a.n){case 0:if(!g.isAnimating&&g.qAsync){a.n=1;break}return a.a(2);case 1:return a.n=2,null===(b=I.currentViewTransition)||void 0===b?void 0:b.updateCallbackDone;case 2:if(!(g.isAnimating||!g.qAsync||document.hidden)){a.n=3;break}return a.a(2);case 3:return g.isAnimating=!0,c=Date.now(),a.p=4,g.state=n(g.state,g.qAsync,!0),g.qAsync=null,I.currentViewTransition=g.asyncRenderer(j),a.n=5,null===(d=I.currentViewTransition)||void 0===d?void 0:d.updateCallbackDone;case 5:return a.p=5,g.stats.lastAsyncRenderTime=Date.now()-c,g.stats.asyncRenderCount++,g.isAnimating=!1,a.f(5);case 6:g.qAsync&&g.renderAsync();case 7:return a.a(2)}},a,null,[[4,,5,6]])}));return a}()}),g.state=h;var k=a;k._vode=g;var l=Array.from(a.parentElement.children).indexOf(a);g.vode=o(b,a.parentElement,l,l,d(a,!0),c(b));for(var m=arguments.length,p=Array(3<m?m-3:0),q=3;q<m;q++)p[q-3]=arguments[q];for(var r,s=0,t=p;s<t.length;s++)r=t[s],h.patch(r);return function(a){return h.patch(a)}}function c(a){if(null!==a&&void 0!==a&&a._vode){var b=function d(a){if(null!==a&&void 0!==a&&a.node){var e=i(a);if(e){for(var f in e)"o"===f[0]&&"n"===f[1]&&(a.node[f]=null);a.node["catch"]=null}if(a.node._vode)c(a.node);else{var g=j(a);if(g){var h,k=_createForOfIteratorHelper(g);try{for(k.s();!(h=k.n()).done;){var l=h.value;b(l)}}catch(a){k.e(a)}finally{k.f()}}}}},d=b,e=a._vode;delete a._vode,Object.defineProperty(e.state,"patch",{value:void 0}),Object.defineProperty(e,"renderSync",{value:function a(){}}),Object.defineProperty(e,"renderAsync",{value:function a(){}}),b(e.vode)}else{var f,g=_createForOfIteratorHelper(a.children);try{for(g.s();!(f=g.n()).done;){var h=f.value;c(h)}}catch(a){g.e(a)}finally{g.f()}}}function d(b,c){if((null===b||void 0===b?void 0:b.nodeType)===Node.TEXT_NODE){var e;return""===(null===(e=b.nodeValue)||void 0===e?void 0:e.trim())?void 0:c?b:b.nodeValue}if(b.nodeType!==Node.COMMENT_NODE&&b.nodeType===Node.ELEMENT_NODE){var f=b.tagName.toLowerCase(),g=[f];if(c&&(g.node=b),null!==b&&void 0!==b&&b.hasAttributes()){var h,i={},j=b.attributes,k=_createForOfIteratorHelper(j);try{for(k.s();!(h=k.n()).done;){var l=h.value;i[l.name]=l.value}}catch(a){k.e(a)}finally{k.f()}g.push(i)}if(b.hasChildNodes()){var m,n=[],o=_createForOfIteratorHelper(b.childNodes);try{for(o.s();!(m=o.n()).done;){var p=m.value,q=p&&d(p,c);q?g.push(q):p&&c&&n.push(p)}}catch(a){o.e(a)}finally{o.f()}for(var r,s=0,t=n;s<t.length;s++)r=t[s],r.remove()}return g}}function e(a,b){if(!a||!Array.isArray(a))throw new Error("first argument to memo() must be an array of values to compare");if("function"!=typeof b)throw new Error("second argument to memo() must be a function that returns a vode or props object");return b.__memo=a,b}function f(a){if(!a||"object"!==_typeof(a))throw new Error("createState() must be called with a state object");return a}function g(a){return a}function h(a){return!a?void 0:Array.isArray(a)?a[0]:"string"==typeof a||a.nodeType===Node.TEXT_NODE?"#text":void 0}function i(a){return Array.isArray(a)&&1<a.length&&a[1]&&!Array.isArray(a[1])&&"object"===_typeof(a[1])&&a[1].nodeType!==Node.TEXT_NODE?a[1]:void 0}function j(a){var b=m(a);return 0<b?a.slice(b):null}function k(a){var b=m(a);return 0>b?0:a.length-b}function l(a,b){var c=m(a);return 0<c?a[b+c]:void 0}function m(a){return i(a)?2<a.length?2:-1:Array.isArray(a)&&1<a.length?1:-1}function n(a,b,c){if(!b)return a;for(var d in b){var e=b[d];if(e&&"object"===_typeof(e)){var f=a[d];f?Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date&&f!==e?a[d]=new Date(e):Array.isArray(f)?a[d]=n({},e,c):"object"===_typeof(f)?n(a[d],e,c):a[d]=n({},e,c):Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date?a[d]=new Date(e):a[d]=n({},e,c)}else void 0===e&&c?delete a[d]:a[d]=e}return a}function o(a,b,c,e,f,g,h){try{var k,l;g=r(a,g,f);var m=!g||"number"==typeof g||"boolean"==typeof g;if(g===f||!f&&m)return f;var n=(null===f||void 0===f?void 0:f.nodeType)===Node.TEXT_NODE,s=n?f:null===f||void 0===f?void 0:f.node;if(m)return(null===s||void 0===s?void 0:s.onUnmount)&&a.patch(s.onUnmount(s)),void(null===s||void 0===s||s.remove());var t=!m&&q(g),v=!m&&p(g),w=!!g&&"string"!=typeof g&&!!(null!==(k=g)&&void 0!==k&&k.node||(null===(l=g)||void 0===l?void 0:l.nodeType)===Node.TEXT_NODE);if(!t&&!v&&!w&&!f)throw new Error("Invalid vode: "+_typeof(g)+" "+JSON.stringify(g));else w&&t?g=g.wholeText:w&&v&&(g=_toConsumableArray(g));if(n&&t)return s.nodeValue!==g&&(s.nodeValue=g),f;if(t&&(!s||!n)){var x=document.createTextNode(g);if(s)s.onUnmount&&a.patch(s.onUnmount(s)),s.replaceWith(x);else{for(var y,z=!1,A=e;A<b.childNodes.length;A++)if(y=b.childNodes[A],y){y.before(x,y),z=!0;break}z||b.appendChild(x)}return x}if(v&&(!s||n||f[0]!==g[0])){var B=g;1 in B&&(B[1]=r(a,B[1],void 0));var C=i(g);void 0!==(null===C||void 0===C?void 0:C.xmlns)&&(h=C.xmlns);var D=h?document.createElementNS(h,g[0]):document.createElement(g[0]);if(g.node=D,u(a,D,void 0,C,null!==h&&void 0!==h?h:null),!!C&&"catch"in C&&(g.node["catch"]=null,g.node.removeAttribute("catch")),s)s.onUnmount&&a.patch(s.onUnmount(s)),s.replaceWith(D);else{for(var E,F=!1,G=e;G<b.childNodes.length;G++)if(E=b.childNodes[G],E){E.before(D,E),F=!0;break}F||b.appendChild(D)}var H=j(g);if(H)for(var I=C?2:1,J=0,K=0;K<H.length;K++){var L=H[K],M=o(a,D,K,J,void 0,L,null!==h&&void 0!==h?h:null);g[K+I]=M,M&&J++}return D.onMount&&a.patch(D.onMount(D)),g}if(!n&&v&&f[0]===g[0]){var N;g.node=s;var O=g,P=f,Q=i(g),R=i(f);if(void 0!==(null===Q||void 0===Q?void 0:Q.xmlns)&&(h=Q.xmlns),null!==(N=O[1])&&void 0!==N&&N.__memo){var S=O[1];O[1]=r(a,O[1],P[1]),S!==O[1]&&u(a,s,R,Q,h)}else u(a,s,R,Q,h);!(null!==Q&&void 0!==Q&&Q["catch"])||(null===R||void 0===R?void 0:R["catch"])===Q["catch"]||(g.node["catch"]=null,g.node.removeAttribute("catch"));var T=j(g),U=j(f);if(T)for(var V=Q?2:1,W=0,X=0;X<T.length;X++){var Y=T[X],Z=U&&U[X],$=o(a,s,X,W,Z,Y,h);g[X+V]=$,$&&W++}if(U)for(var _=T?T.length:0,aa=U.length-1;aa>=_;aa--)o(a,s,aa,aa,U[aa],void 0,h);return g}}catch(j){var ba,ca=null===(ba=i(g))||void 0===ba?void 0:ba["catch"];if(ca){var da,ea="function"==typeof ca?ca(a,j):ca;return o(a,b,c,e,d((null===(da=g)||void 0===da?void 0:da.node)||(null===f||void 0===f?void 0:f.node),!0),ea,h)}throw j}}function p(a){return Array.isArray(a)&&0<a.length&&"string"==typeof a[0]}function q(a){return"string"==typeof a||(null===a||void 0===a?void 0:a.nodeType)===Node.TEXT_NODE}function r(a,b,c){if("function"!=typeof b)return b;var d=null===b||void 0===b?void 0:b.__memo,e=null===c||void 0===c?void 0:c.__memo;if(Array.isArray(d)&&Array.isArray(e)&&d.length===e.length){for(var f=!0,g=0;g<d.length;g++)if(d[g]!==e[g]){f=!1;break}if(f)return c}var h=t(b,a);return"object"===_typeof(h)&&(h.__memo=null===b||void 0===b?void 0:b.__memo),h}function t(a,b){return"function"==typeof a?t(a(b),b):a}function u(a,b,c,d,e){if(d||c){var f=void 0!==e;if(c)for(var g in c){var h=c[g],i=null===d||void 0===d?void 0:d[g];h!==i&&(d?d[g]=v(a,b,g,h,i,f):v(a,b,g,h,void 0,f))}if(d&&c){for(var j in d)if(!(j in c)){var k=d[j];d[j]=v(a,b,j,void 0,k,f)}}else if(d)for(var l in d){var m=d[l];d[l]=v(a,b,l,void 0,m,f)}}}function v(a,b,c,d,e,f){if("style"===c){if(!e)b.style.cssText="";else if("string"==typeof e)d!==e&&(b.style.cssText=e);else if(d&&"object"===_typeof(d)){for(var g in d){var h=e[g];h||(b.style[g]=null)}for(var i in e){var j=d[i],l=e[i];j!==l&&(b.style[i]=l)}}else for(var m in e)b.style[m]=e[m];}else if("class"===c)e?b.setAttribute("class",w(e)):b.removeAttribute("class");else if(!("o"===c[0]&&"n"===c[1]))f||(b[c]=e),void 0===e||null===e||!1===e?b.removeAttribute(c):b.setAttribute(c,e);else if(e){var n=null;if("function"==typeof e){var o=e;n=function c(b){return a.patch(o(a,b))}}else"object"===_typeof(e)&&(n=function b(){return a.patch(e)});b[c]=n}else b[c]=null;return e}function w(a){return"string"==typeof a?a:Array.isArray(a)?a.map(w).join(" "):"object"===_typeof(a)?Object.keys(a).filter(function(b){return a[b]}).join(" "):""}// src/vode-tags.ts
2
2
  // src/merge-class.ts
3
3
  function x(){for(var c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];if(!d||0===d.length)return null;if(1===d.length)return d[0];for(var f=d[0],g=1;g<d.length;g++){var h=f,i=d[g];if(!h)f=i;else if(!i)continue;else if("string"==typeof h&&"string"==typeof i){var j=h.split(" "),k=i.split(" "),l=/* @__PURE__ */new Set([].concat(_toConsumableArray(j),_toConsumableArray(k)));f=Array.from(l).join(" ").trim()}else if("string"==typeof h&&Array.isArray(i)){var m=/* @__PURE__ */new Set([].concat(_toConsumableArray(i),_toConsumableArray(h.split(" "))));f=Array.from(m).join(" ").trim()}else if(Array.isArray(h)&&"string"==typeof i){var n=/* @__PURE__ */new Set([].concat(_toConsumableArray(h),_toConsumableArray(i.split(" "))));f=Array.from(n).join(" ").trim()}else if(Array.isArray(h)&&Array.isArray(i)){var o=/* @__PURE__ */new Set([].concat(_toConsumableArray(h),_toConsumableArray(i)));f=Array.from(o).join(" ").trim()}else if("string"==typeof h&&"object"===_typeof(i))f=_objectSpread(_defineProperty({},h,!0),i);else if("object"===_typeof(h)&&"string"==typeof i)f=_objectSpread(_objectSpread({},h),{},_defineProperty({},i,!0));else if("object"===_typeof(h)&&"object"===_typeof(i))f=_objectSpread(_objectSpread({},h),i);else if("object"===_typeof(h)&&Array.isArray(i)){var p,q=_objectSpread({},h),r=_createForOfIteratorHelper(i);try{for(r.s();!(p=r.n()).done;){var s=p.value;q[s]=!0}}catch(a){r.e(a)}finally{r.f()}f=q}else if(Array.isArray(h)&&"object"===_typeof(i)){var t,u={},v=_createForOfIteratorHelper(h);try{for(v.s();!(t=v.n()).done;){var w=t.value;u[w]=!0}}catch(a){v.e(a)}finally{v.f()}for(var x,y=0,z=Object.keys(i);y<z.length;y++)x=z[y],u[x]=i[x];f=u}else throw new Error("cannot merge classes of ".concat(h," (").concat(_typeof(h),") and ").concat(i," (").concat(_typeof(i),")"))}return f}// src/merge-style.ts
4
- function y(){try{for(var a=sd.style,b=arguments.length,c=Array(b),d=0;d<b;d++)c[d]=arguments[d];for(var e,f=0,g=c;f<g.length;f++)if(e=g[f],"object"===_typeof(e)&&null!==e)for(var h in e)a[h]=e[h];else"string"==typeof e&&(a.cssText+=";"+e);return a.cssText}finally{sd.style.cssText=""}}// src/state-context.ts
5
- var z=Object.defineProperty,A=Object.getOwnPropertyDescriptor,B=Object.getOwnPropertyNames,C=Object.prototype.hasOwnProperty,D=function c(a,b){for(var d in b)z(a,d,{get:b[d],enumerable:!0})},E=function e(a,b,c,d){if(b&&"object"===_typeof(b)||"function"==typeof b){var f,g=_createForOfIteratorHelper(B(b));try{var h=function e(){var g=f.value;C.call(a,g)||g===c||z(a,g,{get:function a(){return b[g]},enumerable:!(d=A(b,g))||d.enumerable})};for(g.s();!(f=g.n()).done;)h()}catch(a){g.e(a)}finally{g.f()}}return a},F=function b(a){return E(z({},"__esModule",{value:!0}),a)},G={};// index.ts
6
- D(G,{A:function a(){return I},ABBR:function a(){return s},ADDRESS:function a(){return J},ANIMATE:function a(){return Lb},ANIMATEMOTION:function a(){return Mb},ANIMATETRANSFORM:function a(){return Nb},ANNOTATION:function a(){return Qc},ANNOTATION_XML:function a(){return Rc},AREA:function a(){return K},ARTICLE:function a(){return L},ASIDE:function a(){return M},AUDIO:function a(){return N},B:function a(){return O},BASE:function a(){return P},BDI:function a(){return Q},BDO:function a(){return R},BLOCKQUOTE:function a(){return S},BODY:function a(){return T},BR:function a(){return U},BUTTON:function a(){return V},CANVAS:function a(){return W},CAPTION:function a(){return X},CIRCLE:function a(){return Ob},CITE:function a(){return Y},CLIPPATH:function a(){return Pb},CODE:function a(){return Z},COL:function a(){return $},COLGROUP:function a(){return _},DATA:function a(){return aa},DATALIST:function a(){return ba},DD:function a(){return ca},DEFS:function a(){return Qb},DEL:function a(){return da},DESC:function a(){return Rb},DETAILS:function a(){return ea},DFN:function a(){return fa},DIALOG:function a(){return ga},DIV:function a(){return ha},DL:function a(){return ia},DT:function a(){return ja},DelegateStateContext:function a(){return ud},ELLIPSE:function a(){return Sb},EM:function a(){return ka},EMBED:function a(){return la},FEBLEND:function a(){return Tb},FECOLORMATRIX:function a(){return Ub},FECOMPONENTTRANSFER:function a(){return Vb},FECOMPOSITE:function a(){return Wb},FECONVOLVEMATRIX:function a(){return Xb},FEDIFFUSELIGHTING:function a(){return Yb},FEDISPLACEMENTMAP:function a(){return Zb},FEDISTANTLIGHT:function a(){return $b},FEDROPSHADOW:function a(){return _b},FEFLOOD:function a(){return ac},FEFUNCA:function a(){return bc},FEFUNCB:function a(){return cc},FEFUNCG:function a(){return dc},FEFUNCR:function a(){return ec},FEGAUSSIANBLUR:function a(){return fc},FEIMAGE:function a(){return gc},FEMERGE:function a(){return hc},FEMERGENODE:function a(){return ic},FEMORPHOLOGY:function a(){return jc},FEOFFSET:function a(){return kc},FEPOINTLIGHT:function a(){return lc},FESPECULARLIGHTING:function a(){return mc},FESPOTLIGHT:function a(){return nc},FETILE:function a(){return oc},FETURBULENCE:function a(){return pc},FIELDSET:function a(){return ma},FIGCAPTION:function a(){return na},FIGURE:function a(){return oa},FILTER:function a(){return qc},FOOTER:function a(){return pa},FOREIGNOBJECT:function a(){return rc},FORM:function a(){return qa},G:function a(){return sc},H1:function a(){return ra},H2:function a(){return sa},H3:function a(){return ta},H4:function a(){return ua},H5:function a(){return va},H6:function a(){return wa},HEAD:function a(){return xa},HEADER:function a(){return ya},HGROUP:function a(){return za},HR:function a(){return Aa},HTML:function a(){return Ba},I:function a(){return Ca},IFRAME:function a(){return Da},IMAGE:function a(){return tc},IMG:function a(){return Ea},INPUT:function a(){return Fa},INS:function a(){return Ga},KBD:function a(){return Ha},KeyStateContext:function a(){return td},LABEL:function a(){return Ia},LEGEND:function a(){return Ja},LI:function a(){return Ka},LINE:function a(){return uc},LINEARGRADIENT:function a(){return vc},LINK:function a(){return La},MACTION:function a(){return Sc},MAIN:function a(){return Ma},MAP:function a(){return Na},MARK:function a(){return Oa},MARKER:function a(){return wc},MASK:function a(){return xc},MATH:function a(){return Tc},MENU:function a(){return Pa},MERROR:function a(){return Uc},META:function a(){return Qa},METADATA:function a(){return yc},METER:function a(){return Ra},MFRAC:function a(){return Vc},MI:function a(){return Wc},MMULTISCRIPTS:function a(){return Xc},MN:function a(){return Yc},MO:function a(){return Zc},MOVER:function a(){return $c},MPADDED:function a(){return _c},MPATH:function a(){return zc},MPHANTOM:function a(){return ad},MPRESCRIPTS:function a(){return bd},MROOT:function a(){return cd},MROW:function a(){return dd},MS:function a(){return ed},MSPACE:function a(){return fd},MSQRT:function a(){return gd},MSTYLE:function a(){return hd},MSUB:function a(){return id},MSUBSUP:function a(){return jd},MSUP:function a(){return kd},MTABLE:function a(){return ld},MTD:function a(){return md},MTEXT:function a(){return nd},MTR:function a(){return od},MUNDER:function a(){return pd},MUNDEROVER:function a(){return qd},NAV:function a(){return Sa},NOSCRIPT:function a(){return Ta},OBJECT:function a(){return Ua},OL:function a(){return Va},OPTGROUP:function a(){return Wa},OPTION:function a(){return Xa},OUTPUT:function a(){return Ya},P:function a(){return Za},PATH:function a(){return Ac},PATTERN:function a(){return Bc},PICTURE:function a(){return $a},POLYGON:function a(){return Cc},POLYLINE:function a(){return Dc},PRE:function a(){return _a},PROGRESS:function a(){return ab},Q:function a(){return bb},RADIALGRADIENT:function a(){return Ec},RECT:function a(){return Fc},RP:function a(){return cb},RT:function a(){return db},RUBY:function a(){return eb},S:function a(){return fb},SAMP:function a(){return gb},SCRIPT:function a(){return hb},SEARCH:function a(){return ib},SECTION:function a(){return jb},SELECT:function a(){return kb},SEMANTICS:function a(){return rd},SET:function a(){return Gc},SLOT:function a(){return lb},SMALL:function a(){return mb},SOURCE:function a(){return nb},SPAN:function a(){return ob},STOP:function a(){return Hc},STRONG:function a(){return pb},STYLE:function a(){return qb},SUB:function a(){return rb},SUMMARY:function a(){return sb},SUP:function a(){return tb},SVG:function a(){return Ic},SWITCH:function a(){return Jc},SYMBOL:function a(){return Kc},TABLE:function a(){return ub},TBODY:function a(){return vb},TD:function a(){return wb},TEMPLATE:function a(){return xb},TEXT:function a(){return Lc},TEXTAREA:function a(){return yb},TEXTPATH:function a(){return Mc},TFOOT:function a(){return zb},TH:function a(){return Ab},THEAD:function a(){return Bb},TIME:function a(){return Cb},TITLE:function a(){return Db},TR:function a(){return Eb},TRACK:function a(){return Fb},TSPAN:function a(){return Nc},U:function a(){return Gb},UL:function a(){return Hb},USE:function a(){return Oc},VAR:function a(){return Ib},VIDEO:function a(){return Jb},VIEW:function a(){return Pc},WBR:function a(){return Kb},app:function a(){return b},child:function a(){return l},childCount:function a(){return k},children:function a(){return j},childrenStart:function a(){return m},createPatch:function a(){return g},createState:function a(){return f},defuse:function a(){return c},globals:function a(){return H},hydrate:function a(){return d},memo:function a(){return e},mergeClass:function a(){return x},mergeStyle:function a(){return y},props:function a(){return i},tag:function a(){return h},vode:function b(){return a}});// src/vode.ts
7
- var H={currentViewTransition:void 0,requestAnimationFrame:!window.requestAnimationFrame?function(a){return a()}:window.requestAnimationFrame.bind(window),startViewTransition:!document.startViewTransition?null:document.startViewTransition.bind(document)},I="a",s="abbr",J="address",K="area",L="article",M="aside",N="audio",O="b",P="base",Q="bdi",R="bdo",S="blockquote",T="body",U="br",V="button",W="canvas",X="caption",Y="cite",Z="code",$="col",_="colgroup",aa="data",ba="datalist",ca="dd",da="del",ea="details",fa="dfn",ga="dialog",ha="div",ia="dl",ja="dt",ka="em",la="embed",ma="fieldset",na="figcaption",oa="figure",pa="footer",qa="form",ra="h1",sa="h2",ta="h3",ua="h4",va="h5",wa="h6",xa="head",ya="header",za="hgroup",Aa="hr",Ba="html",Ca="i",Da="iframe",Ea="img",Fa="input",Ga="ins",Ha="kbd",Ia="label",Ja="legend",Ka="li",La="link",Ma="main",Na="map",Oa="mark",Pa="menu",Qa="meta",Ra="meter",Sa="nav",Ta="noscript",Ua="object",Va="ol",Wa="optgroup",Xa="option",Ya="output",Za="p",$a="picture",_a="pre",ab="progress",bb="q",cb="rp",db="rt",eb="ruby",fb="s",gb="samp",hb="script",ib="search",jb="section",kb="select",lb="slot",mb="small",nb="source",ob="span",pb="strong",qb="style",rb="sub",sb="summary",tb="sup",ub="table",vb="tbody",wb="td",xb="template",yb="textarea",zb="tfoot",Ab="th",Bb="thead",Cb="time",Db="title",Eb="tr",Fb="track",Gb="u",Hb="ul",Ib="var",Jb="video",Kb="wbr",Lb="animate",Mb="animateMotion",Nb="animateTransform",Ob="circle",Pb="clipPath",Qb="defs",Rb="desc",Sb="ellipse",Tb="feBlend",Ub="feColorMatrix",Vb="feComponentTransfer",Wb="feComposite",Xb="feConvolveMatrix",Yb="feDiffuseLighting",Zb="feDisplacementMap",$b="feDistantLight",_b="feDropShadow",ac="feFlood",bc="feFuncA",cc="feFuncB",dc="feFuncG",ec="feFuncR",fc="feGaussianBlur",gc="feImage",hc="feMerge",ic="feMergeNode",jc="feMorphology",kc="feOffset",lc="fePointLight",mc="feSpecularLighting",nc="feSpotLight",oc="feTile",pc="feTurbulence",qc="filter",rc="foreignObject",sc="g",tc="image",uc="line",vc="linearGradient",wc="marker",xc="mask",yc="metadata",zc="mpath",Ac="path",Bc="pattern",Cc="polygon",Dc="polyline",Ec="radialGradient",Fc="rect",Gc="set",Hc="stop",Ic="svg",Jc="switch",Kc="symbol",Lc="text",Mc="textPath",Nc="tspan",Oc="use",Pc="view",Qc="annotation",Rc="annotation-xml",Sc="maction",Tc="math",Uc="merror",Vc="mfrac",Wc="mi",Xc="mmultiscripts",Yc="mn",Zc="mo",$c="mover",_c="mpadded",ad="mphantom",bd="mprescripts",cd="mroot",dd="mrow",ed="ms",fd="mspace",gd="msqrt",hd="mstyle",id="msub",jd="msubsup",kd="msup",ld="mtable",md="mtd",nd="mtext",od="mtr",pd="munder",qd="munderover",rd="semantics",sd=document.createElement("div"),td=/*#__PURE__*/function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"keys",void 0),this.state=b,this.path=c,this.keys=c.split(".")}return _createClass(a,[{key:"get",value:function a(){for(var b=this.keys,c=this.state?this.state[b[0]]:void 0,d=1;d<b.length&&!!c;d++)c=c[b[d]];return c}},{key:"put",value:function b(a){this.putDeep(a,this.state)}},{key:"patch",value:function b(a){if(Array.isArray(a)){var c,d=[],e=_createForOfIteratorHelper(a);try{for(e.s();!(c=e.n()).done;){var f=c.value;d.push(this.createPatch(f))}}catch(a){e.e(a)}finally{e.f()}this.state.patch(d)}else this.state.patch(this.createPatch(a))}/**
4
+ function y(){try{for(var a=td.style,b=arguments.length,c=Array(b),d=0;d<b;d++)c[d]=arguments[d];for(var e,f=0,g=c;f<g.length;f++)if(e=g[f],"object"===_typeof(e)&&null!==e)for(var h in e)a[h]=e[h];else"string"==typeof e&&(a.cssText+=";"+e);return a.cssText}finally{td.style.cssText=""}}// src/state-context.ts
5
+ function z(a){return new ud(a,[])}var A=Object.defineProperty,B=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,D=Object.prototype.hasOwnProperty,E=function c(a,b){for(var d in b)A(a,d,{get:b[d],enumerable:!0})},F=function e(a,b,c,d){if(b&&"object"===_typeof(b)||"function"==typeof b){var f,g=_createForOfIteratorHelper(C(b));try{var h=function e(){var g=f.value;D.call(a,g)||g===c||A(a,g,{get:function a(){return b[g]},enumerable:!(d=B(b,g))||d.enumerable})};for(g.s();!(f=g.n()).done;)h()}catch(a){g.e(a)}finally{g.f()}}return a},G=function b(a){return F(A({},"__esModule",{value:!0}),a)},H={};// index.ts
6
+ E(H,{A:function a(){return J},ABBR:function a(){return s},ADDRESS:function a(){return K},ANIMATE:function a(){return Mb},ANIMATEMOTION:function a(){return Nb},ANIMATETRANSFORM:function a(){return Ob},ANNOTATION:function a(){return Rc},ANNOTATION_XML:function a(){return Sc},AREA:function a(){return L},ARTICLE:function a(){return M},ASIDE:function a(){return N},AUDIO:function a(){return O},B:function a(){return P},BASE:function a(){return Q},BDI:function a(){return R},BDO:function a(){return S},BLOCKQUOTE:function a(){return T},BODY:function a(){return U},BR:function a(){return V},BUTTON:function a(){return W},CANVAS:function a(){return X},CAPTION:function a(){return Y},CIRCLE:function a(){return Pb},CITE:function a(){return Z},CLIPPATH:function a(){return Qb},CODE:function a(){return $},COL:function a(){return _},COLGROUP:function a(){return aa},DATA:function a(){return ba},DATALIST:function a(){return ca},DD:function a(){return da},DEFS:function a(){return Rb},DEL:function a(){return ea},DESC:function a(){return Sb},DETAILS:function a(){return fa},DFN:function a(){return ga},DIALOG:function a(){return ha},DIV:function a(){return ia},DL:function a(){return ja},DT:function a(){return ka},DelegateStateContext:function a(){return vd},ELLIPSE:function a(){return Tb},EM:function a(){return la},EMBED:function a(){return ma},FEBLEND:function a(){return Ub},FECOLORMATRIX:function a(){return Vb},FECOMPONENTTRANSFER:function a(){return Wb},FECOMPOSITE:function a(){return Xb},FECONVOLVEMATRIX:function a(){return Yb},FEDIFFUSELIGHTING:function a(){return Zb},FEDISPLACEMENTMAP:function a(){return $b},FEDISTANTLIGHT:function a(){return _b},FEDROPSHADOW:function a(){return ac},FEFLOOD:function a(){return bc},FEFUNCA:function a(){return cc},FEFUNCB:function a(){return dc},FEFUNCG:function a(){return ec},FEFUNCR:function a(){return fc},FEGAUSSIANBLUR:function a(){return gc},FEIMAGE:function a(){return hc},FEMERGE:function a(){return ic},FEMERGENODE:function a(){return jc},FEMORPHOLOGY:function a(){return kc},FEOFFSET:function a(){return lc},FEPOINTLIGHT:function a(){return mc},FESPECULARLIGHTING:function a(){return nc},FESPOTLIGHT:function a(){return oc},FETILE:function a(){return pc},FETURBULENCE:function a(){return qc},FIELDSET:function a(){return na},FIGCAPTION:function a(){return oa},FIGURE:function a(){return pa},FILTER:function a(){return rc},FOOTER:function a(){return qa},FOREIGNOBJECT:function a(){return sc},FORM:function a(){return ra},G:function a(){return tc},H1:function a(){return sa},H2:function a(){return ta},H3:function a(){return ua},H4:function a(){return va},H5:function a(){return wa},H6:function a(){return xa},HEAD:function a(){return ya},HEADER:function a(){return za},HGROUP:function a(){return Aa},HR:function a(){return Ba},HTML:function a(){return Ca},I:function a(){return Da},IFRAME:function a(){return Ea},IMAGE:function a(){return uc},IMG:function a(){return Fa},INPUT:function a(){return Ga},INS:function a(){return Ha},KBD:function a(){return Ia},KeyStateContext:function a(){return wd},LABEL:function a(){return Ja},LEGEND:function a(){return Ka},LI:function a(){return La},LINE:function a(){return vc},LINEARGRADIENT:function a(){return wc},LINK:function a(){return Ma},MACTION:function a(){return Tc},MAIN:function a(){return Na},MAP:function a(){return Oa},MARK:function a(){return Pa},MARKER:function a(){return xc},MASK:function a(){return yc},MATH:function a(){return Uc},MENU:function a(){return Qa},MERROR:function a(){return Vc},META:function a(){return Ra},METADATA:function a(){return zc},METER:function a(){return Sa},MFRAC:function a(){return Wc},MI:function a(){return Xc},MMULTISCRIPTS:function a(){return Yc},MN:function a(){return Zc},MO:function a(){return $c},MOVER:function a(){return _c},MPADDED:function a(){return ad},MPATH:function a(){return Ac},MPHANTOM:function a(){return bd},MPRESCRIPTS:function a(){return cd},MROOT:function a(){return dd},MROW:function a(){return ed},MS:function a(){return fd},MSPACE:function a(){return gd},MSQRT:function a(){return hd},MSTYLE:function a(){return id},MSUB:function a(){return jd},MSUBSUP:function a(){return kd},MSUP:function a(){return ld},MTABLE:function a(){return md},MTD:function a(){return nd},MTEXT:function a(){return od},MTR:function a(){return pd},MUNDER:function a(){return qd},MUNDEROVER:function a(){return rd},NAV:function a(){return Ta},NOSCRIPT:function a(){return Ua},OBJECT:function a(){return Va},OL:function a(){return Wa},OPTGROUP:function a(){return Xa},OPTION:function a(){return Ya},OUTPUT:function a(){return Za},P:function a(){return $a},PATH:function a(){return Bc},PATTERN:function a(){return Cc},PICTURE:function a(){return _a},POLYGON:function a(){return Dc},POLYLINE:function a(){return Ec},PRE:function a(){return ab},PROGRESS:function a(){return bb},Q:function a(){return cb},RADIALGRADIENT:function a(){return Fc},RECT:function a(){return Gc},RP:function a(){return db},RT:function a(){return eb},RUBY:function a(){return fb},S:function a(){return gb},SAMP:function a(){return hb},SCRIPT:function a(){return ib},SEARCH:function a(){return jb},SECTION:function a(){return kb},SELECT:function a(){return lb},SEMANTICS:function a(){return sd},SET:function a(){return Hc},SLOT:function a(){return mb},SMALL:function a(){return nb},SOURCE:function a(){return ob},SPAN:function a(){return pb},STOP:function a(){return Ic},STRONG:function a(){return qb},STYLE:function a(){return rb},SUB:function a(){return sb},SUMMARY:function a(){return tb},SUP:function a(){return ub},SVG:function a(){return Jc},SWITCH:function a(){return Kc},SYMBOL:function a(){return Lc},TABLE:function a(){return vb},TBODY:function a(){return wb},TD:function a(){return xb},TEMPLATE:function a(){return yb},TEXT:function a(){return Mc},TEXTAREA:function a(){return zb},TEXTPATH:function a(){return Nc},TFOOT:function a(){return Ab},TH:function a(){return Bb},THEAD:function a(){return Cb},TIME:function a(){return Db},TITLE:function a(){return Eb},TR:function a(){return Fb},TRACK:function a(){return Gb},TSPAN:function a(){return Oc},U:function a(){return Hb},UL:function a(){return Ib},USE:function a(){return Pc},VAR:function a(){return Jb},VIDEO:function a(){return Kb},VIEW:function a(){return Qc},WBR:function a(){return Lb},app:function a(){return b},child:function a(){return l},childCount:function a(){return k},children:function a(){return j},childrenStart:function a(){return m},context:function a(){return z},createPatch:function a(){return g},createState:function a(){return f},defuse:function a(){return c},globals:function a(){return I},hydrate:function a(){return d},memo:function a(){return e},mergeClass:function a(){return x},mergeStyle:function a(){return y},props:function a(){return i},tag:function a(){return h},vode:function b(){return a}});// src/vode.ts
7
+ var I={currentViewTransition:void 0,requestAnimationFrame:!window.requestAnimationFrame?function(a){return a()}:window.requestAnimationFrame.bind(window),startViewTransition:!document.startViewTransition?null:document.startViewTransition.bind(document)},J="a",s="abbr",K="address",L="area",M="article",N="aside",O="audio",P="b",Q="base",R="bdi",S="bdo",T="blockquote",U="body",V="br",W="button",X="canvas",Y="caption",Z="cite",$="code",_="col",aa="colgroup",ba="data",ca="datalist",da="dd",ea="del",fa="details",ga="dfn",ha="dialog",ia="div",ja="dl",ka="dt",la="em",ma="embed",na="fieldset",oa="figcaption",pa="figure",qa="footer",ra="form",sa="h1",ta="h2",ua="h3",va="h4",wa="h5",xa="h6",ya="head",za="header",Aa="hgroup",Ba="hr",Ca="html",Da="i",Ea="iframe",Fa="img",Ga="input",Ha="ins",Ia="kbd",Ja="label",Ka="legend",La="li",Ma="link",Na="main",Oa="map",Pa="mark",Qa="menu",Ra="meta",Sa="meter",Ta="nav",Ua="noscript",Va="object",Wa="ol",Xa="optgroup",Ya="option",Za="output",$a="p",_a="picture",ab="pre",bb="progress",cb="q",db="rp",eb="rt",fb="ruby",gb="s",hb="samp",ib="script",jb="search",kb="section",lb="select",mb="slot",nb="small",ob="source",pb="span",qb="strong",rb="style",sb="sub",tb="summary",ub="sup",vb="table",wb="tbody",xb="td",yb="template",zb="textarea",Ab="tfoot",Bb="th",Cb="thead",Db="time",Eb="title",Fb="tr",Gb="track",Hb="u",Ib="ul",Jb="var",Kb="video",Lb="wbr",Mb="animate",Nb="animateMotion",Ob="animateTransform",Pb="circle",Qb="clipPath",Rb="defs",Sb="desc",Tb="ellipse",Ub="feBlend",Vb="feColorMatrix",Wb="feComponentTransfer",Xb="feComposite",Yb="feConvolveMatrix",Zb="feDiffuseLighting",$b="feDisplacementMap",_b="feDistantLight",ac="feDropShadow",bc="feFlood",cc="feFuncA",dc="feFuncB",ec="feFuncG",fc="feFuncR",gc="feGaussianBlur",hc="feImage",ic="feMerge",jc="feMergeNode",kc="feMorphology",lc="feOffset",mc="fePointLight",nc="feSpecularLighting",oc="feSpotLight",pc="feTile",qc="feTurbulence",rc="filter",sc="foreignObject",tc="g",uc="image",vc="line",wc="linearGradient",xc="marker",yc="mask",zc="metadata",Ac="mpath",Bc="path",Cc="pattern",Dc="polygon",Ec="polyline",Fc="radialGradient",Gc="rect",Hc="set",Ic="stop",Jc="svg",Kc="switch",Lc="symbol",Mc="text",Nc="textPath",Oc="tspan",Pc="use",Qc="view",Rc="annotation",Sc="annotation-xml",Tc="maction",Uc="math",Vc="merror",Wc="mfrac",Xc="mi",Yc="mmultiscripts",Zc="mn",$c="mo",_c="mover",ad="mpadded",bd="mphantom",cd="mprescripts",dd="mroot",ed="mrow",fd="ms",gd="mspace",hd="msqrt",id="mstyle",jd="msub",kd="msubsup",ld="msup",md="mtable",nd="mtd",od="mtext",pd="mtr",qd="munder",rd="munderover",sd="semantics",td=document.createElement("div"),ud=/*#__PURE__*/function(){function a(b,c){function d(a,b){if(1<c.length){var d=0,e=b[c[d]];for(("object"!==_typeof(e)||null===e)&&(b[c[d]]=e={}),d=1;d<c.length-1;d++){var f=e;e=e[c[d]],("object"!==_typeof(e)||null===e)&&(f[c[d]]=e={})}e[c[d]]=a}else 1===c.length?"object"===_typeof(b[c[0]])&&"object"===_typeof(a)?Object.assign(b[c[0]],a):b[c[0]]=a:Object.assign(b,a)}function e(a){var b={};return d(a,b),b}function f(){if(0===c.length)return b;for(var a=b?b[c[0]]:void 0,d=1;d<c.length&&!!a;d++)a=a[c[d]];return a}function g(a){d(a,b)}function h(a){if(Array.isArray(a)){var c,d=[],f=_createForOfIteratorHelper(a);try{for(f.s();!(c=f.n()).done;){var g=c.value;d.push(e(g))}}catch(a){f.e(a)}finally{f.f()}b.patch(d)}else b.patch(e(a))}return _classCallCheck(this,a),this.state=b,this.keys=c,new Proxy(this,{get:function i(c,d,e){if("state"===d)return b;if("get"===d)return f;if("put"===d)return g;if("patch"===d)return h;var j=[].concat(_toConsumableArray(c.keys),[d+""]);return new a(c.state,j)}})}return _createClass(a,[{key:"get",value:function a(){throw"implemented in ctor"}},{key:"put",value:function b(a){throw"implemented in ctor"}},{key:"patch",value:function b(a){throw"implemented in ctor"}}])}(),vd=/*#__PURE__*/_createClass(function e(a,b,c,d){_classCallCheck(this,e),this.state=a,this.get=b,this.put=c,this.patch=d}),wd=/*#__PURE__*/function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"keys",void 0),this.state=b,this.path=c,this.keys=c.split(".")}return _createClass(a,[{key:"get",value:function a(){for(var b=this.keys,c=this.state?this.state[b[0]]:void 0,d=1;d<b.length&&!!c;d++)c=c[b[d]];return c}},{key:"put",value:function b(a){this.putDeep(a,this.state)}},{key:"patch",value:function b(a){if(Array.isArray(a)){var c,d=[],e=_createForOfIteratorHelper(a);try{for(e.s();!(c=e.n()).done;){var f=c.value;d.push(this.createPatch(f))}}catch(a){e.e(a)}finally{e.f()}this.state.patch(d)}else this.state.patch(this.createPatch(a))}/**
8
8
  * Creates a render-patch for the parent state by setting a nested sub-state value while creating necessary structure.
9
9
  *
10
10
  * @example
@@ -16,4 +16,4 @@ var H={currentViewTransition:void 0,requestAnimationFrame:!window.requestAnimati
16
16
  *
17
17
  * @param value
18
18
  * @returns {{key-path}:{...: value}} render-patch for the parent state
19
- */},{key:"createPatch",value:function b(a){var c={};return this.putDeep(a,c),c}},{key:"putDeep",value:function c(a,b){var d=this.keys;if(1<d.length){var e=0,f=b[d[e]];for(("object"!==_typeof(f)||null===f)&&(b[d[e]]=f={}),e=1;e<d.length-1;e++){var g=f;f=f[d[e]],("object"!==_typeof(f)||null===f)&&(g[d[e]]=f={})}f[d[e]]=a}else"object"===_typeof(b[d[0]])&&"object"===_typeof(a)?Object.assign(b[d[0]],a):b[d[0]]=a}}])}(),ud=/*#__PURE__*/_createClass(function e(a,b,c,d){_classCallCheck(this,e),this.state=a,this.get=b,this.put=c,this.patch=d});return F(G)}();
19
+ */},{key:"createPatch",value:function b(a){var c={};return this.putDeep(a,c),c}},{key:"putDeep",value:function c(a,b){var d=this.keys;if(1<d.length){var e=0,f=b[d[e]];for(("object"!==_typeof(f)||null===f)&&(b[d[e]]=f={}),e=1;e<d.length-1;e++){var g=f;f=f[d[e]],("object"!==_typeof(f)||null===f)&&(g[d[e]]=f={})}f[d[e]]=a}else"object"===_typeof(b[d[0]])&&"object"===_typeof(a)?Object.assign(b[d[0]],a):b[d[0]]=a}}])}();return G(H)}();
package/dist/vode.js CHANGED
@@ -229,6 +229,7 @@ var V = (() => {
229
229
  childCount: () => childCount,
230
230
  children: () => children,
231
231
  childrenStart: () => childrenStart,
232
+ context: () => context,
232
233
  createPatch: () => createPatch,
233
234
  createState: () => createState,
234
235
  defuse: () => defuse,
@@ -1104,6 +1105,98 @@ var V = (() => {
1104
1105
  }
1105
1106
 
1106
1107
  // src/state-context.ts
1108
+ function context(state) {
1109
+ return new ProxyStateContextImpl(state, []);
1110
+ }
1111
+ var ProxyStateContextImpl = class _ProxyStateContextImpl {
1112
+ constructor(state, keys) {
1113
+ this.state = state;
1114
+ this.keys = keys;
1115
+ function putDeep(value, target) {
1116
+ if (keys.length > 1) {
1117
+ let i = 0;
1118
+ let raw = target[keys[i]];
1119
+ if (typeof raw !== "object" || raw === null) {
1120
+ target[keys[i]] = raw = {};
1121
+ }
1122
+ for (i = 1; i < keys.length - 1; i++) {
1123
+ const p = raw;
1124
+ raw = raw[keys[i]];
1125
+ if (typeof raw !== "object" || raw === null) {
1126
+ p[keys[i]] = raw = {};
1127
+ }
1128
+ }
1129
+ raw[keys[i]] = value;
1130
+ } else if (keys.length === 1) {
1131
+ if (typeof target[keys[0]] === "object" && typeof value === "object")
1132
+ Object.assign(target[keys[0]], value);
1133
+ else
1134
+ target[keys[0]] = value;
1135
+ } else {
1136
+ Object.assign(target, value);
1137
+ }
1138
+ }
1139
+ function createPatch2(value) {
1140
+ const renderPatch = {};
1141
+ putDeep(value, renderPatch);
1142
+ return renderPatch;
1143
+ }
1144
+ function get() {
1145
+ if (keys.length === 0)
1146
+ return state;
1147
+ let raw = state ? state[keys[0]] : void 0;
1148
+ for (let i = 1; i < keys.length && !!raw; i++) {
1149
+ raw = raw[keys[i]];
1150
+ }
1151
+ return raw;
1152
+ }
1153
+ function put(value) {
1154
+ putDeep(value, state);
1155
+ }
1156
+ function patch(value) {
1157
+ if (Array.isArray(value)) {
1158
+ const animation = [];
1159
+ for (const v of value) {
1160
+ animation.push(createPatch2(v));
1161
+ }
1162
+ state.patch(animation);
1163
+ } else {
1164
+ state.patch(createPatch2(value));
1165
+ }
1166
+ }
1167
+ return new Proxy(this, {
1168
+ get: (target, prop, receiver) => {
1169
+ if (prop === "state")
1170
+ return state;
1171
+ if (prop === "get")
1172
+ return get;
1173
+ if (prop === "put")
1174
+ return put;
1175
+ if (prop === "patch")
1176
+ return patch;
1177
+ const newKeys = [...target.keys, String(prop)];
1178
+ return new _ProxyStateContextImpl(target.state, newKeys);
1179
+ }
1180
+ });
1181
+ }
1182
+ get() {
1183
+ throw "implemented in ctor";
1184
+ }
1185
+ put(value) {
1186
+ throw "implemented in ctor";
1187
+ }
1188
+ patch(value) {
1189
+ throw "implemented in ctor";
1190
+ }
1191
+ };
1192
+ var DelegateStateContext = class {
1193
+ constructor(state, get, put, patch) {
1194
+ this.state = state;
1195
+ this.get = get;
1196
+ this.put = put;
1197
+ this.patch = patch;
1198
+ }
1199
+ };
1107
1200
  var KeyStateContext = class {
1108
1201
  constructor(state, path) {
1109
1202
  this.state = state;
@@ -1175,13 +1268,5 @@ var V = (() => {
1175
1268
  }
1176
1269
  }
1177
1270
  };
1178
- var DelegateStateContext = class {
1179
- constructor(state, get, put, patch) {
1180
- this.state = state;
1181
- this.get = get;
1182
- this.put = put;
1183
- this.patch = patch;
1184
- }
1185
- };
1186
1271
  return __toCommonJS(index_exports);
1187
1272
  })();
package/dist/vode.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";var V=(()=>{var D=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var q=Object.prototype.hasOwnProperty;var X=(e,n)=>{for(var a in n)D(e,a,{get:n[a],enumerable:!0})},$=(e,n,a,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of _(n))!q.call(e,t)&&t!==a&&D(e,t,{get:()=>n[t],enumerable:!(s=B(n,t))||s.enumerable});return e};var w=e=>$(D({},"__esModule",{value:!0}),e);var wo={};X(wo,{A:()=>st,ABBR:()=>at,ADDRESS:()=>rt,ANIMATE:()=>ln,ANIMATEMOTION:()=>pn,ANIMATETRANSFORM:()=>dn,ANNOTATION:()=>To,ANNOTATION_XML:()=>yo,AREA:()=>ct,ARTICLE:()=>it,ASIDE:()=>lt,AUDIO:()=>pt,B:()=>dt,BASE:()=>ft,BDI:()=>St,BDO:()=>ut,BLOCKQUOTE:()=>Tt,BODY:()=>yt,BR:()=>gt,BUTTON:()=>xt,CANVAS:()=>ht,CAPTION:()=>mt,CIRCLE:()=>fn,CITE:()=>bt,CLIPPATH:()=>Sn,CODE:()=>Et,COL:()=>Pt,COLGROUP:()=>At,DATA:()=>Ct,DATALIST:()=>Nt,DD:()=>Mt,DEFS:()=>un,DEL:()=>Rt,DESC:()=>Tn,DETAILS:()=>Ot,DFN:()=>Dt,DIALOG:()=>vt,DIV:()=>Lt,DL:()=>It,DT:()=>Vt,DelegateStateContext:()=>F,ELLIPSE:()=>yn,EM:()=>Ft,EMBED:()=>kt,FEBLEND:()=>gn,FECOLORMATRIX:()=>xn,FECOMPONENTTRANSFER:()=>hn,FECOMPOSITE:()=>mn,FECONVOLVEMATRIX:()=>bn,FEDIFFUSELIGHTING:()=>En,FEDISPLACEMENTMAP:()=>Pn,FEDISTANTLIGHT:()=>An,FEDROPSHADOW:()=>Cn,FEFLOOD:()=>Nn,FEFUNCA:()=>Mn,FEFUNCB:()=>Rn,FEFUNCG:()=>On,FEFUNCR:()=>Dn,FEGAUSSIANBLUR:()=>vn,FEIMAGE:()=>Ln,FEMERGE:()=>In,FEMERGENODE:()=>Vn,FEMORPHOLOGY:()=>Fn,FEOFFSET:()=>kn,FEPOINTLIGHT:()=>jn,FESPECULARLIGHTING:()=>Hn,FESPOTLIGHT:()=>Un,FETILE:()=>Gn,FETURBULENCE:()=>Kn,FIELDSET:()=>jt,FIGCAPTION:()=>Ht,FIGURE:()=>Ut,FILTER:()=>Bn,FOOTER:()=>Gt,FOREIGNOBJECT:()=>_n,FORM:()=>Kt,G:()=>qn,H1:()=>Bt,H2:()=>_t,H3:()=>qt,H4:()=>Xt,H5:()=>$t,H6:()=>wt,HEAD:()=>Yt,HEADER:()=>Wt,HGROUP:()=>Jt,HR:()=>Qt,HTML:()=>zt,I:()=>Zt,IFRAME:()=>te,IMAGE:()=>Xn,IMG:()=>ee,INPUT:()=>ne,INS:()=>oe,KBD:()=>se,KeyStateContext:()=>V,LABEL:()=>ae,LEGEND:()=>re,LI:()=>ce,LINE:()=>$n,LINEARGRADIENT:()=>wn,LINK:()=>ie,MACTION:()=>go,MAIN:()=>le,MAP:()=>pe,MARK:()=>de,MARKER:()=>Yn,MASK:()=>Wn,MATH:()=>xo,MENU:()=>fe,MERROR:()=>ho,META:()=>Se,METADATA:()=>Jn,METER:()=>ue,MFRAC:()=>mo,MI:()=>bo,MMULTISCRIPTS:()=>Eo,MN:()=>Po,MO:()=>Ao,MOVER:()=>Co,MPADDED:()=>No,MPATH:()=>Qn,MPHANTOM:()=>Mo,MPRESCRIPTS:()=>Ro,MROOT:()=>Oo,MROW:()=>Do,MS:()=>vo,MSPACE:()=>Lo,MSQRT:()=>Io,MSTYLE:()=>Vo,MSUB:()=>Fo,MSUBSUP:()=>ko,MSUP:()=>jo,MTABLE:()=>Ho,MTD:()=>Uo,MTEXT:()=>Go,MTR:()=>Ko,MUNDER:()=>Bo,MUNDEROVER:()=>_o,NAV:()=>Te,NOSCRIPT:()=>ye,OBJECT:()=>ge,OL:()=>xe,OPTGROUP:()=>he,OPTION:()=>me,OUTPUT:()=>be,P:()=>Ee,PATH:()=>zn,PATTERN:()=>Zn,PICTURE:()=>Pe,POLYGON:()=>to,POLYLINE:()=>eo,PRE:()=>Ae,PROGRESS:()=>Ce,Q:()=>Ne,RADIALGRADIENT:()=>no,RECT:()=>oo,RP:()=>Me,RT:()=>Re,RUBY:()=>Oe,S:()=>De,SAMP:()=>ve,SCRIPT:()=>Le,SEARCH:()=>Ie,SECTION:()=>Ve,SELECT:()=>Fe,SEMANTICS:()=>qo,SET:()=>so,SLOT:()=>ke,SMALL:()=>je,SOURCE:()=>He,SPAN:()=>Ue,STOP:()=>ao,STRONG:()=>Ge,STYLE:()=>Ke,SUB:()=>Be,SUMMARY:()=>_e,SUP:()=>qe,SVG:()=>ro,SWITCH:()=>co,SYMBOL:()=>io,TABLE:()=>Xe,TBODY:()=>$e,TD:()=>we,TEMPLATE:()=>Ye,TEXT:()=>lo,TEXTAREA:()=>We,TEXTPATH:()=>po,TFOOT:()=>Je,TH:()=>Qe,THEAD:()=>ze,TIME:()=>Ze,TITLE:()=>tn,TR:()=>en,TRACK:()=>nn,TSPAN:()=>fo,U:()=>on,UL:()=>sn,USE:()=>So,VAR:()=>an,VIDEO:()=>rn,VIEW:()=>uo,WBR:()=>cn,app:()=>W,child:()=>et,childCount:()=>tt,children:()=>N,childrenStart:()=>O,createPatch:()=>z,createState:()=>Q,defuse:()=>I,globals:()=>P,hydrate:()=>R,memo:()=>J,mergeClass:()=>Xo,mergeStyle:()=>$o,props:()=>A,tag:()=>Z,vode:()=>Y});var P={currentViewTransition:void 0,requestAnimationFrame:window.requestAnimationFrame?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:document.startViewTransition?document.startViewTransition.bind(document):null};function Y(e,n,...a){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:n?[e,n,...a]:[e,...a]}function W(e,n,a,...s){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 a!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=P.requestAnimationFrame,t.asyncRenderer=P.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;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 p=l;t.stats.liveEffectCount++;try{let S=await p.next();for(;S.done===!1;){t.stats.liveEffectCount++;try{o.patch(S.value,y),S=await p.next()}finally{t.stats.liveEffectCount--}}o.patch(S.value,y)}finally{t.stats.liveEffectCount--}}else if(l.then){t.stats.liveEffectCount++;try{let p=await l;o.patch(p,y)}finally{t.stats.liveEffectCount--}}else if(Array.isArray(l))if(l.length>0)for(let p of l)o.patch(p,!document.hidden&&!!t.asyncRenderer);else{t.qSync=b(t.qSync||{},t.qAsync,!1),t.qAsync=null;try{P.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else typeof l=="function"?o.patch(l(t.state),y):y?(t.stats.asyncRenderPatchCount++,t.qAsync=b(t.qAsync||{},l,!1),await t.renderAsync()):(t.stats.syncRenderPatchCount++,t.qSync=b(t.qSync||{},l,!1),t.renderSync())}});function r(l){let y=Date.now(),p=a(t.state);t.vode=C(t.state,e.parentElement,0,0,t.vode,p),e.tagName.toUpperCase()!==p[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 c=r.bind(null,!1),f=r.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||!t.qSync||(t.isRendering=!0,t.state=b(t.state,t.qSync,!0),t.qSync=null,t.syncRenderer(c))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await P.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let l=Date.now();try{t.state=b(t.state,t.qAsync,!0),t.qAsync=null,P.currentViewTransition=t.asyncRenderer(f),await P.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 E=Array.from(e.parentElement.children).indexOf(e);t.vode=C(n,e.parentElement,E,E,R(e,!0),a(n));for(let l of s)o.patch(l);return l=>o.patch(l)}function I(e){if(e?._vode){let a=function(t){if(!t?.node)return;let o=A(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=N(t);if(r)for(let c of r)a(c)}};var n=a;let s=e._vode;delete e._vode,Object.defineProperty(s.state,"patch",{value:void 0}),Object.defineProperty(s,"renderSync",{value:()=>{}}),Object.defineProperty(s,"renderAsync",{value:()=>{}}),a(s.vode)}else for(let a of e.children)I(a)}function R(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.COMMENT_NODE)return;if(e.nodeType===Node.ELEMENT_NODE){let s=[e.tagName.toLowerCase()];if(n&&(s.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;s.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&R(o,n);r?s.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return s}else return}function J(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 Q(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return e}function z(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 A(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 N(e){let n=O(e);return n>0?e.slice(n):null}function tt(e){let n=O(e);return n<0?0:e.length-n}function et(e,n){let a=O(e);if(a>0)return e[n+a]}function O(e){return A(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function b(e,n,a){if(!n)return e;for(let s in n){let t=n[s];if(t&&typeof t=="object"){let o=e[s];o?Array.isArray(t)?e[s]=[...t]:t instanceof Date&&o!==t?e[s]=new Date(t):Array.isArray(o)?e[s]=b({},t,a):typeof o=="object"?b(e[s],t,a):e[s]=b({},t,a):Array.isArray(t)?e[s]=[...t]:t instanceof Date?e[s]=new Date(t):e[s]=b({},t,a)}else t===void 0&&a?delete e[s]:e[s]=t}return e}function C(e,n,a,s,t,o,r){try{o=v(e,o,t);let c=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&c)return t;let f=t?.nodeType===Node.TEXT_NODE,i=f?t:t?.node;if(c){i?.onUnmount&&e.patch(i.onUnmount(i)),i?.remove();return}let E=!c&&ot(o),l=!c&&nt(o),y=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!E&&!l&&!y&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(y&&E?o=o.wholeText:y&&l&&(o=[...o]),f&&E)return i.nodeValue!==o&&(i.nodeValue=o),t;if(E&&(!i||!f)){let p=document.createTextNode(o);if(i)i.onUnmount&&e.patch(i.onUnmount(i)),i.replaceWith(p);else{let S=!1;for(let d=s;d<n.childNodes.length;d++){let g=n.childNodes[d];if(g){g.before(p,g),S=!0;break}}S||n.appendChild(p)}return p}if(l&&(!i||f||t[0]!==o[0])){let p=o;1 in p&&(p[1]=v(e,p[1],void 0));let S=A(o);S?.xmlns!==void 0&&(r=S.xmlns);let d=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=d,L(e,d,void 0,S,r??null),S&&"catch"in S&&(o.node.catch=null,o.node.removeAttribute("catch")),i)i.onUnmount&&e.patch(i.onUnmount(i)),i.replaceWith(d);else{let x=!1;for(let T=s;T<n.childNodes.length;T++){let u=n.childNodes[T];if(u){u.before(d,u),x=!0;break}}x||n.appendChild(d)}let g=N(o);if(g){let x=S?2:1,T=0;for(let u=0;u<g.length;u++){let h=g[u],m=C(e,d,u,T,void 0,h,r??null);o[u+x]=m,m&&T++}}return d.onMount&&e.patch(d.onMount(d)),o}if(!f&&l&&t[0]===o[0]){o.node=i;let p=o,S=t,d=A(o),g=A(t);if(d?.xmlns!==void 0&&(r=d.xmlns),p[1]?.__memo){let u=p[1];p[1]=v(e,p[1],S[1]),u!==p[1]&&L(e,i,g,d,r)}else L(e,i,g,d,r);d?.catch&&g?.catch!==d.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let x=N(o),T=N(t);if(x){let u=d?2:1,h=0;for(let m=0;m<x.length;m++){let G=x[m],K=T&&T[m],k=C(e,i,m,h,K,G,r);o[m+u]=k,k&&h++}}if(T){let u=x?x.length:0;for(let h=T.length-1;h>=u;h--)C(e,i,h,h,T[h],void 0,r)}return o}}catch(c){let f=A(o)?.catch;if(f){let i=typeof f=="function"?f(e,c):f;return C(e,n,a,s,R(o?.node||t?.node,!0),i,r)}else throw c}}function nt(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function ot(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function v(e,n,a){if(typeof n!="function")return n;let s=n?.__memo,t=a?.__memo;if(Array.isArray(s)&&Array.isArray(t)&&s.length===t.length){let r=!0;for(let c=0;c<s.length;c++)if(s[c]!==t[c]){r=!1;break}if(r)return a}let o=j(n,e);return typeof o=="object"&&(o.__memo=n?.__memo),o}function j(e,n){return typeof e=="function"?j(e(n),n):e}function L(e,n,a,s,t){if(!s&&!a)return;let o=t!==void 0;if(a)for(let r in a){let c=a[r],f=s?.[r];c!==f&&(s?s[r]=M(e,n,r,c,f,o):M(e,n,r,c,void 0,o))}if(s&&a){for(let r in s)if(!(r in a)){let c=s[r];s[r]=M(e,n,r,void 0,c,o)}}else if(s)for(let r in s){let c=s[r];s[r]=M(e,n,r,void 0,c,o)}}function M(e,n,a,s,t,o){if(a==="style")if(!t)n.style.cssText="";else if(typeof t=="string")s!==t&&(n.style.cssText=t);else if(s&&typeof s=="object"){for(let r in s)t[r]||(n.style[r]=null);for(let r in t){let c=s[r],f=t[r];c!==f&&(n.style[r]=f)}}else for(let r in t)n.style[r]=t[r];else if(a==="class")t?n.setAttribute("class",H(t)):n.removeAttribute("class");else if(a[0]==="o"&&a[1]==="n")if(t){let r=null;if(typeof t=="function"){let c=t;r=f=>e.patch(c(e,f))}else typeof t=="object"&&(r=()=>e.patch(t));n[a]=r}else n[a]=null;else o||(n[a]=t),t==null||t===!1?n.removeAttribute(a):n.setAttribute(a,t);return t}function H(e){return typeof e=="string"?e:Array.isArray(e)?e.map(H).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var st="a",at="abbr",rt="address",ct="area",it="article",lt="aside",pt="audio",dt="b",ft="base",St="bdi",ut="bdo",Tt="blockquote",yt="body",gt="br",xt="button",ht="canvas",mt="caption",bt="cite",Et="code",Pt="col",At="colgroup",Ct="data",Nt="datalist",Mt="dd",Rt="del",Ot="details",Dt="dfn",vt="dialog",Lt="div",It="dl",Vt="dt",Ft="em",kt="embed",jt="fieldset",Ht="figcaption",Ut="figure",Gt="footer",Kt="form",Bt="h1",_t="h2",qt="h3",Xt="h4",$t="h5",wt="h6",Yt="head",Wt="header",Jt="hgroup",Qt="hr",zt="html",Zt="i",te="iframe",ee="img",ne="input",oe="ins",se="kbd",ae="label",re="legend",ce="li",ie="link",le="main",pe="map",de="mark",fe="menu",Se="meta",ue="meter",Te="nav",ye="noscript",ge="object",xe="ol",he="optgroup",me="option",be="output",Ee="p",Pe="picture",Ae="pre",Ce="progress",Ne="q",Me="rp",Re="rt",Oe="ruby",De="s",ve="samp",Le="script",Ie="search",Ve="section",Fe="select",ke="slot",je="small",He="source",Ue="span",Ge="strong",Ke="style",Be="sub",_e="summary",qe="sup",Xe="table",$e="tbody",we="td",Ye="template",We="textarea",Je="tfoot",Qe="th",ze="thead",Ze="time",tn="title",en="tr",nn="track",on="u",sn="ul",an="var",rn="video",cn="wbr",ln="animate",pn="animateMotion",dn="animateTransform",fn="circle",Sn="clipPath",un="defs",Tn="desc",yn="ellipse",gn="feBlend",xn="feColorMatrix",hn="feComponentTransfer",mn="feComposite",bn="feConvolveMatrix",En="feDiffuseLighting",Pn="feDisplacementMap",An="feDistantLight",Cn="feDropShadow",Nn="feFlood",Mn="feFuncA",Rn="feFuncB",On="feFuncG",Dn="feFuncR",vn="feGaussianBlur",Ln="feImage",In="feMerge",Vn="feMergeNode",Fn="feMorphology",kn="feOffset",jn="fePointLight",Hn="feSpecularLighting",Un="feSpotLight",Gn="feTile",Kn="feTurbulence",Bn="filter",_n="foreignObject",qn="g",Xn="image",$n="line",wn="linearGradient",Yn="marker",Wn="mask",Jn="metadata",Qn="mpath",zn="path",Zn="pattern",to="polygon",eo="polyline",no="radialGradient",oo="rect",so="set",ao="stop",ro="svg",co="switch",io="symbol",lo="text",po="textPath",fo="tspan",So="use",uo="view",To="annotation",yo="annotation-xml",go="maction",xo="math",ho="merror",mo="mfrac",bo="mi",Eo="mmultiscripts",Po="mn",Ao="mo",Co="mover",No="mpadded",Mo="mphantom",Ro="mprescripts",Oo="mroot",Do="mrow",vo="ms",Lo="mspace",Io="msqrt",Vo="mstyle",Fo="msub",ko="msubsup",jo="msup",Ho="mtable",Uo="mtd",Go="mtext",Ko="mtr",Bo="munder",_o="munderover",qo="semantics";function Xo(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let a=1;a<e.length;a++){let s=n,t=e[a];if(!s)n=t;else if(t)if(typeof s=="string"&&typeof t=="string"){let o=s.split(" "),r=t.split(" "),c=new Set([...o,...r]);n=Array.from(c).join(" ").trim()}else if(typeof s=="string"&&Array.isArray(t)){let o=new Set([...t,...s.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(s)&&typeof t=="string"){let o=new Set([...s,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(s)&&Array.isArray(t)){let o=new Set([...s,...t]);n=Array.from(o).join(" ").trim()}else if(typeof s=="string"&&typeof t=="object")n={[s]:!0,...t};else if(typeof s=="object"&&typeof t=="string")n={...s,[t]:!0};else if(typeof s=="object"&&typeof t=="object")n={...s,...t};else if(typeof s=="object"&&Array.isArray(t)){let o={...s};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(s)&&typeof t=="object"){let o={};for(let r of s)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${s} (${typeof s}) and ${t} (${typeof t})`);else continue}return n}var U=document.createElement("div");function $o(...e){try{let n=U.style;for(let a of e)if(typeof a=="object"&&a!==null)for(let s in a)n[s]=a[s];else typeof a=="string"&&(n.cssText+=";"+a);return n.cssText}finally{U.style.cssText=""}}var V=class{constructor(n,a){this.state=n;this.path=a;this.keys=a.split(".")}keys;get(){let n=this.keys,a=this.state?this.state[n[0]]:void 0;for(let s=1;s<n.length&&a;s++)a=a[n[s]];return a}put(n){this.putDeep(n,this.state)}patch(n){if(Array.isArray(n)){let a=[];for(let s of n)a.push(this.createPatch(s));this.state.patch(a)}else this.state.patch(this.createPatch(n))}createPatch(n){let a={};return this.putDeep(n,a),a}putDeep(n,a){let s=this.keys;if(s.length>1){let t=0,o=a[s[t]];for((typeof o!="object"||o===null)&&(a[s[t]]=o={}),t=1;t<s.length-1;t++){let r=o;o=o[s[t]],(typeof o!="object"||o===null)&&(r[s[t]]=o={})}o[s[t]]=n}else typeof a[s[0]]=="object"&&typeof n=="object"?Object.assign(a[s[0]],n):a[s[0]]=n}},F=class{constructor(n,a,s,t){this.state=n;this.get=a;this.put=s;this.patch=t}};return w(wo);})();
1
+ "use strict";var V=(()=>{var O=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var X=(e,n)=>{for(var s in n)O(e,s,{get:n[s],enumerable:!0})},$=(e,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of q(n))!w.call(e,t)&&t!==s&&O(e,t,{get:()=>n[t],enumerable:!(a=_(n,t))||a.enumerable});return e};var Y=e=>$(O({},"__esModule",{value:!0}),e);var Wo={};X(Wo,{A:()=>st,ABBR:()=>rt,ADDRESS:()=>ct,ANIMATE:()=>pn,ANIMATEMOTION:()=>Sn,ANIMATETRANSFORM:()=>dn,ANNOTATION:()=>yo,ANNOTATION_XML:()=>go,AREA:()=>it,ARTICLE:()=>lt,ASIDE:()=>pt,AUDIO:()=>St,B:()=>dt,BASE:()=>ft,BDI:()=>ut,BDO:()=>Tt,BLOCKQUOTE:()=>yt,BODY:()=>gt,BR:()=>xt,BUTTON:()=>ht,CANVAS:()=>bt,CAPTION:()=>mt,CIRCLE:()=>fn,CITE:()=>Pt,CLIPPATH:()=>un,CODE:()=>Et,COL:()=>At,COLGROUP:()=>Ct,DATA:()=>Nt,DATALIST:()=>Mt,DD:()=>Rt,DEFS:()=>Tn,DEL:()=>Dt,DESC:()=>yn,DETAILS:()=>Ot,DFN:()=>vt,DIALOG:()=>Lt,DIV:()=>It,DL:()=>Vt,DT:()=>Ft,DelegateStateContext:()=>F,ELLIPSE:()=>gn,EM:()=>jt,EMBED:()=>Ht,FEBLEND:()=>xn,FECOLORMATRIX:()=>hn,FECOMPONENTTRANSFER:()=>bn,FECOMPOSITE:()=>mn,FECONVOLVEMATRIX:()=>Pn,FEDIFFUSELIGHTING:()=>En,FEDISPLACEMENTMAP:()=>An,FEDISTANTLIGHT:()=>Cn,FEDROPSHADOW:()=>Nn,FEFLOOD:()=>Mn,FEFUNCA:()=>Rn,FEFUNCB:()=>Dn,FEFUNCG:()=>On,FEFUNCR:()=>vn,FEGAUSSIANBLUR:()=>Ln,FEIMAGE:()=>In,FEMERGE:()=>Vn,FEMERGENODE:()=>Fn,FEMORPHOLOGY:()=>jn,FEOFFSET:()=>Hn,FEPOINTLIGHT:()=>Kn,FESPECULARLIGHTING:()=>kn,FESPOTLIGHT:()=>Un,FETILE:()=>Gn,FETURBULENCE:()=>Bn,FIELDSET:()=>Kt,FIGCAPTION:()=>kt,FIGURE:()=>Ut,FILTER:()=>_n,FOOTER:()=>Gt,FOREIGNOBJECT:()=>qn,FORM:()=>Bt,G:()=>wn,H1:()=>_t,H2:()=>qt,H3:()=>wt,H4:()=>Xt,H5:()=>$t,H6:()=>Yt,HEAD:()=>Wt,HEADER:()=>Jt,HGROUP:()=>Qt,HR:()=>zt,HTML:()=>Zt,I:()=>te,IFRAME:()=>ee,IMAGE:()=>Xn,IMG:()=>ne,INPUT:()=>oe,INS:()=>ae,KBD:()=>se,KeyStateContext:()=>j,LABEL:()=>re,LEGEND:()=>ce,LI:()=>ie,LINE:()=>$n,LINEARGRADIENT:()=>Yn,LINK:()=>le,MACTION:()=>xo,MAIN:()=>pe,MAP:()=>Se,MARK:()=>de,MARKER:()=>Wn,MASK:()=>Jn,MATH:()=>ho,MENU:()=>fe,MERROR:()=>bo,META:()=>ue,METADATA:()=>Qn,METER:()=>Te,MFRAC:()=>mo,MI:()=>Po,MMULTISCRIPTS:()=>Eo,MN:()=>Ao,MO:()=>Co,MOVER:()=>No,MPADDED:()=>Mo,MPATH:()=>zn,MPHANTOM:()=>Ro,MPRESCRIPTS:()=>Do,MROOT:()=>Oo,MROW:()=>vo,MS:()=>Lo,MSPACE:()=>Io,MSQRT:()=>Vo,MSTYLE:()=>Fo,MSUB:()=>jo,MSUBSUP:()=>Ho,MSUP:()=>Ko,MTABLE:()=>ko,MTD:()=>Uo,MTEXT:()=>Go,MTR:()=>Bo,MUNDER:()=>_o,MUNDEROVER:()=>qo,NAV:()=>ye,NOSCRIPT:()=>ge,OBJECT:()=>xe,OL:()=>he,OPTGROUP:()=>be,OPTION:()=>me,OUTPUT:()=>Pe,P:()=>Ee,PATH:()=>Zn,PATTERN:()=>to,PICTURE:()=>Ae,POLYGON:()=>eo,POLYLINE:()=>no,PRE:()=>Ce,PROGRESS:()=>Ne,Q:()=>Me,RADIALGRADIENT:()=>oo,RECT:()=>ao,RP:()=>Re,RT:()=>De,RUBY:()=>Oe,S:()=>ve,SAMP:()=>Le,SCRIPT:()=>Ie,SEARCH:()=>Ve,SECTION:()=>Fe,SELECT:()=>je,SEMANTICS:()=>wo,SET:()=>so,SLOT:()=>He,SMALL:()=>Ke,SOURCE:()=>ke,SPAN:()=>Ue,STOP:()=>ro,STRONG:()=>Ge,STYLE:()=>Be,SUB:()=>_e,SUMMARY:()=>qe,SUP:()=>we,SVG:()=>co,SWITCH:()=>io,SYMBOL:()=>lo,TABLE:()=>Xe,TBODY:()=>$e,TD:()=>Ye,TEMPLATE:()=>We,TEXT:()=>po,TEXTAREA:()=>Je,TEXTPATH:()=>So,TFOOT:()=>Qe,TH:()=>ze,THEAD:()=>Ze,TIME:()=>tn,TITLE:()=>en,TR:()=>nn,TRACK:()=>on,TSPAN:()=>fo,U:()=>an,UL:()=>sn,USE:()=>uo,VAR:()=>rn,VIDEO:()=>cn,VIEW:()=>To,WBR:()=>ln,app:()=>J,child:()=>nt,childCount:()=>et,children:()=>N,childrenStart:()=>D,context:()=>Yo,createPatch:()=>Z,createState:()=>z,defuse:()=>I,globals:()=>E,hydrate:()=>R,memo:()=>Q,mergeClass:()=>Xo,mergeStyle:()=>$o,props:()=>A,tag:()=>tt,vode:()=>W});var E={currentViewTransition:void 0,requestAnimationFrame:window.requestAnimationFrame?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:document.startViewTransition?document.startViewTransition.bind(document):null};function W(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:n?[e,n,...s]:[e,...s]}function J(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.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;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 S=l;t.stats.liveEffectCount++;try{let u=await S.next();for(;u.done===!1;){t.stats.liveEffectCount++;try{o.patch(u.value,y),u=await S.next()}finally{t.stats.liveEffectCount--}}o.patch(u.value,y)}finally{t.stats.liveEffectCount--}}else if(l.then){t.stats.liveEffectCount++;try{let S=await l;o.patch(S,y)}finally{t.stats.liveEffectCount--}}else if(Array.isArray(l))if(l.length>0)for(let S of l)o.patch(S,!document.hidden&&!!t.asyncRenderer);else{t.qSync=P(t.qSync||{},t.qAsync,!1),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else typeof l=="function"?o.patch(l(t.state),y):y?(t.stats.asyncRenderPatchCount++,t.qAsync=P(t.qAsync||{},l,!1),await t.renderAsync()):(t.stats.syncRenderPatchCount++,t.qSync=P(t.qSync||{},l,!1),t.renderSync())}});function r(l){let y=Date.now(),S=s(t.state);t.vode=C(t.state,e.parentElement,0,0,t.vode,S),e.tagName.toUpperCase()!==S[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),i=r.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||!t.qSync||(t.isRendering=!0,t.state=P(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 E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let l=Date.now();try{t.state=P(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(i),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=Date.now()-l,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let c=e;c._vode=t;let f=Array.from(e.parentElement.children).indexOf(e);t.vode=C(n,e.parentElement,f,f,R(e,!0),s(n));for(let l of a)o.patch(l);return l=>o.patch(l)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=A(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=N(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)I(s)}function R(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.COMMENT_NODE)return;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&&R(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 vode or props object");return n.__memo=e,n}function z(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return e}function Z(e){return e}function tt(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function A(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 N(e){let n=D(e);return n>0?e.slice(n):null}function et(e){let n=D(e);return n<0?0:e.length-n}function nt(e,n){let s=D(e);if(s>0)return e[n+s]}function D(e){return A(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function P(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]=P({},t,s):typeof o=="object"?P(e[a],t,s):e[a]=P({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=P({},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=v(e,o,t);let p=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&p)return t;let i=t?.nodeType===Node.TEXT_NODE,c=i?t:t?.node;if(p){c?.onUnmount&&e.patch(c.onUnmount(c)),c?.remove();return}let f=!p&&at(o),l=!p&&ot(o),y=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!f&&!l&&!y&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(y&&f?o=o.wholeText:y&&l&&(o=[...o]),i&&f)return c.nodeValue!==o&&(c.nodeValue=o),t;if(f&&(!c||!i)){let S=document.createTextNode(o);if(c)c.onUnmount&&e.patch(c.onUnmount(c)),c.replaceWith(S);else{let u=!1;for(let d=a;d<n.childNodes.length;d++){let x=n.childNodes[d];if(x){x.before(S,x),u=!0;break}}u||n.appendChild(S)}return S}if(l&&(!c||i||t[0]!==o[0])){let S=o;1 in S&&(S[1]=v(e,S[1],void 0));let u=A(o);u?.xmlns!==void 0&&(r=u.xmlns);let d=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=d,L(e,d,void 0,u,r??null),u&&"catch"in u&&(o.node.catch=null,o.node.removeAttribute("catch")),c)c.onUnmount&&e.patch(c.onUnmount(c)),c.replaceWith(d);else{let h=!1;for(let g=a;g<n.childNodes.length;g++){let T=n.childNodes[g];if(T){T.before(d,T),h=!0;break}}h||n.appendChild(d)}let x=N(o);if(x){let h=u?2:1,g=0;for(let T=0;T<x.length;T++){let b=x[T],m=C(e,d,T,g,void 0,b,r??null);o[T+h]=m,m&&g++}}return d.onMount&&e.patch(d.onMount(d)),o}if(!i&&l&&t[0]===o[0]){o.node=c;let S=o,u=t,d=A(o),x=A(t);if(d?.xmlns!==void 0&&(r=d.xmlns),S[1]?.__memo){let T=S[1];S[1]=v(e,S[1],u[1]),T!==S[1]&&L(e,c,x,d,r)}else L(e,c,x,d,r);d?.catch&&x?.catch!==d.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let h=N(o),g=N(t);if(h){let T=d?2:1,b=0;for(let m=0;m<h.length;m++){let G=h[m],B=g&&g[m],H=C(e,c,m,b,B,G,r);o[m+T]=H,H&&b++}}if(g){let T=h?h.length:0;for(let b=g.length-1;b>=T;b--)C(e,c,b,b,g[b],void 0,r)}return o}}catch(p){let i=A(o)?.catch;if(i){let c=typeof i=="function"?i(e,p):i;return C(e,n,s,a,R(o?.node||t?.node,!0),c,r)}else throw p}}function ot(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function at(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function v(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 r=!0;for(let p=0;p<a.length;p++)if(a[p]!==t[p]){r=!1;break}if(r)return s}let o=K(n,e);return typeof o=="object"&&(o.__memo=n?.__memo),o}function K(e,n){return typeof e=="function"?K(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],i=a?.[r];p!==i&&(a?a[r]=M(e,n,r,p,i,o):M(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]=M(e,n,r,void 0,p,o)}}else if(a)for(let r in a){let p=a[r];a[r]=M(e,n,r,void 0,p,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 p=a[r],i=t[r];p!==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 p=t;r=i=>e.patch(p(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 st="a",rt="abbr",ct="address",it="area",lt="article",pt="aside",St="audio",dt="b",ft="base",ut="bdi",Tt="bdo",yt="blockquote",gt="body",xt="br",ht="button",bt="canvas",mt="caption",Pt="cite",Et="code",At="col",Ct="colgroup",Nt="data",Mt="datalist",Rt="dd",Dt="del",Ot="details",vt="dfn",Lt="dialog",It="div",Vt="dl",Ft="dt",jt="em",Ht="embed",Kt="fieldset",kt="figcaption",Ut="figure",Gt="footer",Bt="form",_t="h1",qt="h2",wt="h3",Xt="h4",$t="h5",Yt="h6",Wt="head",Jt="header",Qt="hgroup",zt="hr",Zt="html",te="i",ee="iframe",ne="img",oe="input",ae="ins",se="kbd",re="label",ce="legend",ie="li",le="link",pe="main",Se="map",de="mark",fe="menu",ue="meta",Te="meter",ye="nav",ge="noscript",xe="object",he="ol",be="optgroup",me="option",Pe="output",Ee="p",Ae="picture",Ce="pre",Ne="progress",Me="q",Re="rp",De="rt",Oe="ruby",ve="s",Le="samp",Ie="script",Ve="search",Fe="section",je="select",He="slot",Ke="small",ke="source",Ue="span",Ge="strong",Be="style",_e="sub",qe="summary",we="sup",Xe="table",$e="tbody",Ye="td",We="template",Je="textarea",Qe="tfoot",ze="th",Ze="thead",tn="time",en="title",nn="tr",on="track",an="u",sn="ul",rn="var",cn="video",ln="wbr",pn="animate",Sn="animateMotion",dn="animateTransform",fn="circle",un="clipPath",Tn="defs",yn="desc",gn="ellipse",xn="feBlend",hn="feColorMatrix",bn="feComponentTransfer",mn="feComposite",Pn="feConvolveMatrix",En="feDiffuseLighting",An="feDisplacementMap",Cn="feDistantLight",Nn="feDropShadow",Mn="feFlood",Rn="feFuncA",Dn="feFuncB",On="feFuncG",vn="feFuncR",Ln="feGaussianBlur",In="feImage",Vn="feMerge",Fn="feMergeNode",jn="feMorphology",Hn="feOffset",Kn="fePointLight",kn="feSpecularLighting",Un="feSpotLight",Gn="feTile",Bn="feTurbulence",_n="filter",qn="foreignObject",wn="g",Xn="image",$n="line",Yn="linearGradient",Wn="marker",Jn="mask",Qn="metadata",zn="mpath",Zn="path",to="pattern",eo="polygon",no="polyline",oo="radialGradient",ao="rect",so="set",ro="stop",co="svg",io="switch",lo="symbol",po="text",So="textPath",fo="tspan",uo="use",To="view",yo="annotation",go="annotation-xml",xo="maction",ho="math",bo="merror",mo="mfrac",Po="mi",Eo="mmultiscripts",Ao="mn",Co="mo",No="mover",Mo="mpadded",Ro="mphantom",Do="mprescripts",Oo="mroot",vo="mrow",Lo="ms",Io="mspace",Vo="msqrt",Fo="mstyle",jo="msub",Ho="msubsup",Ko="msup",ko="mtable",Uo="mtd",Go="mtext",Bo="mtr",_o="munder",qo="munderover",wo="semantics";function Xo(...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 U=document.createElement("div");function $o(...e){try{let n=U.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{U.style.cssText=""}}function Yo(e){return new V(e,[])}var V=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,c){if(s.length>1){let f=0,l=c[s[f]];for((typeof l!="object"||l===null)&&(c[s[f]]=l={}),f=1;f<s.length-1;f++){let y=l;l=l[s[f]],(typeof l!="object"||l===null)&&(y[s[f]]=l={})}l[s[f]]=i}else s.length===1?typeof c[s[0]]=="object"&&typeof i=="object"?Object.assign(c[s[0]],i):c[s[0]]=i:Object.assign(c,i)}function t(i){let c={};return a(i,c),c}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let c=1;c<s.length&&i;c++)i=i[s[c]];return i}function r(i){a(i,n)}function p(i){if(Array.isArray(i)){let c=[];for(let f of i)c.push(t(f));n.patch(c)}else n.patch(t(i))}return new Proxy(this,{get:(i,c,f)=>{if(c==="state")return n;if(c==="get")return o;if(c==="put")return r;if(c==="patch")return p;let l=[...i.keys,String(c)];return new e(i.state,l)}})}get(){throw"implemented in ctor"}put(n){throw"implemented in ctor"}patch(n){throw"implemented in ctor"}},F=class{constructor(n,s,a,t){this.state=n;this.get=s;this.put=a;this.patch=t}},j=class{constructor(n,s){this.state=n;this.path=s;this.keys=s.split(".")}keys;get(){let n=this.keys,s=this.state?this.state[n[0]]:void 0;for(let a=1;a<n.length&&s;a++)s=s[n[a]];return s}put(n){this.putDeep(n,this.state)}patch(n){if(Array.isArray(n)){let s=[];for(let a of n)s.push(this.createPatch(a));this.state.patch(s)}else this.state.patch(this.createPatch(n))}createPatch(n){let s={};return this.putDeep(n,s),s}putDeep(n,s){let a=this.keys;if(a.length>1){let t=0,o=s[a[t]];for((typeof o!="object"||o===null)&&(s[a[t]]=o={}),t=1;t<a.length-1;t++){let r=o;o=o[a[t]],(typeof o!="object"||o===null)&&(r[a[t]]=o={})}o[a[t]]=n}else typeof s[a[0]]=="object"&&typeof n=="object"?Object.assign(s[a[0]],n):s[a[0]]=n}};return Y(Wo);})();
package/dist/vode.min.mjs CHANGED
@@ -1 +1 @@
1
- var P={currentViewTransition:void 0,requestAnimationFrame:window.requestAnimationFrame?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:document.startViewTransition?document.startViewTransition.bind(document):null};function _(e,o,...a){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:o?[e,o,...a]:[e,...a]}function q(e,o,a,...s){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!o||typeof o!="object")throw new Error("second argument to app() must be a state object");if(typeof a!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=P.requestAnimationFrame,t.asyncRenderer=P.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 n=o;Object.defineProperty(o,"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 p=l;t.stats.liveEffectCount++;try{let S=await p.next();for(;S.done===!1;){t.stats.liveEffectCount++;try{n.patch(S.value,y),S=await p.next()}finally{t.stats.liveEffectCount--}}n.patch(S.value,y)}finally{t.stats.liveEffectCount--}}else if(l.then){t.stats.liveEffectCount++;try{let p=await l;n.patch(p,y)}finally{t.stats.liveEffectCount--}}else if(Array.isArray(l))if(l.length>0)for(let p of l)n.patch(p,!document.hidden&&!!t.asyncRenderer);else{t.qSync=b(t.qSync||{},t.qAsync,!1),t.qAsync=null;try{P.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else typeof l=="function"?n.patch(l(t.state),y):y?(t.stats.asyncRenderPatchCount++,t.qAsync=b(t.qAsync||{},l,!1),await t.renderAsync()):(t.stats.syncRenderPatchCount++,t.qSync=b(t.qSync||{},l,!1),t.renderSync())}});function r(l){let y=Date.now(),p=a(t.state);t.vode=C(t.state,e.parentElement,0,0,t.vode,p),e.tagName.toUpperCase()!==p[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 c=r.bind(null,!1),f=r.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||!t.qSync||(t.isRendering=!0,t.state=b(t.state,t.qSync,!0),t.qSync=null,t.syncRenderer(c))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await P.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let l=Date.now();try{t.state=b(t.state,t.qAsync,!0),t.qAsync=null,P.currentViewTransition=t.asyncRenderer(f),await P.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=Date.now()-l,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=n;let i=e;i._vode=t;let E=Array.from(e.parentElement.children).indexOf(e);t.vode=C(o,e.parentElement,E,E,D(e,!0),a(o));for(let l of s)n.patch(l);return l=>n.patch(l)}function I(e){if(e?._vode){let a=function(t){if(!t?.node)return;let n=A(t);if(n){for(let r in n)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=M(t);if(r)for(let c of r)a(c)}};var o=a;let s=e._vode;delete e._vode,Object.defineProperty(s.state,"patch",{value:void 0}),Object.defineProperty(s,"renderSync",{value:()=>{}}),Object.defineProperty(s,"renderAsync",{value:()=>{}}),a(s.vode)}else for(let a of e.children)I(a)}function D(e,o){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?o?e:e.nodeValue:void 0;if(e.nodeType===Node.COMMENT_NODE)return;if(e.nodeType===Node.ELEMENT_NODE){let s=[e.tagName.toLowerCase()];if(o&&(s.node=e),e?.hasAttributes()){let t={},n=e.attributes;for(let r of n)t[r.name]=r.value;s.push(t)}if(e.hasChildNodes()){let t=[];for(let n of e.childNodes){let r=n&&D(n,o);r?s.push(r):n&&o&&t.push(n)}for(let n of t)n.remove()}return s}else return}function X(e,o){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof o!="function")throw new Error("second argument to memo() must be a function that returns a vode or props object");return o.__memo=e,o}function $(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return e}function w(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 A(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 o=v(e);return o>0?e.slice(o):null}function W(e){let o=v(e);return o<0?0:e.length-o}function J(e,o){let a=v(e);if(a>0)return e[o+a]}function v(e){return A(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function b(e,o,a){if(!o)return e;for(let s in o){let t=o[s];if(t&&typeof t=="object"){let n=e[s];n?Array.isArray(t)?e[s]=[...t]:t instanceof Date&&n!==t?e[s]=new Date(t):Array.isArray(n)?e[s]=b({},t,a):typeof n=="object"?b(e[s],t,a):e[s]=b({},t,a):Array.isArray(t)?e[s]=[...t]:t instanceof Date?e[s]=new Date(t):e[s]=b({},t,a)}else t===void 0&&a?delete e[s]:e[s]=t}return e}function C(e,o,a,s,t,n,r){try{n=R(e,n,t);let c=!n||typeof n=="number"||typeof n=="boolean";if(n===t||!t&&c)return t;let f=t?.nodeType===Node.TEXT_NODE,i=f?t:t?.node;if(c){i?.onUnmount&&e.patch(i.onUnmount(i)),i?.remove();return}let E=!c&&B(n),l=!c&&K(n),y=!!n&&typeof n!="string"&&!!(n?.node||n?.nodeType===Node.TEXT_NODE);if(!E&&!l&&!y&&!t)throw new Error("Invalid vode: "+typeof n+" "+JSON.stringify(n));if(y&&E?n=n.wholeText:y&&l&&(n=[...n]),f&&E)return i.nodeValue!==n&&(i.nodeValue=n),t;if(E&&(!i||!f)){let p=document.createTextNode(n);if(i)i.onUnmount&&e.patch(i.onUnmount(i)),i.replaceWith(p);else{let S=!1;for(let d=s;d<o.childNodes.length;d++){let g=o.childNodes[d];if(g){g.before(p,g),S=!0;break}}S||o.appendChild(p)}return p}if(l&&(!i||f||t[0]!==n[0])){let p=n;1 in p&&(p[1]=R(e,p[1],void 0));let S=A(n);S?.xmlns!==void 0&&(r=S.xmlns);let d=r?document.createElementNS(r,n[0]):document.createElement(n[0]);if(n.node=d,O(e,d,void 0,S,r??null),S&&"catch"in S&&(n.node.catch=null,n.node.removeAttribute("catch")),i)i.onUnmount&&e.patch(i.onUnmount(i)),i.replaceWith(d);else{let x=!1;for(let T=s;T<o.childNodes.length;T++){let u=o.childNodes[T];if(u){u.before(d,u),x=!0;break}}x||o.appendChild(d)}let g=M(n);if(g){let x=S?2:1,T=0;for(let u=0;u<g.length;u++){let h=g[u],m=C(e,d,u,T,void 0,h,r??null);n[u+x]=m,m&&T++}}return d.onMount&&e.patch(d.onMount(d)),n}if(!f&&l&&t[0]===n[0]){n.node=i;let p=n,S=t,d=A(n),g=A(t);if(d?.xmlns!==void 0&&(r=d.xmlns),p[1]?.__memo){let u=p[1];p[1]=R(e,p[1],S[1]),u!==p[1]&&O(e,i,g,d,r)}else O(e,i,g,d,r);d?.catch&&g?.catch!==d.catch&&(n.node.catch=null,n.node.removeAttribute("catch"));let x=M(n),T=M(t);if(x){let u=d?2:1,h=0;for(let m=0;m<x.length;m++){let U=x[m],G=T&&T[m],L=C(e,i,m,h,G,U,r);n[m+u]=L,L&&h++}}if(T){let u=x?x.length:0;for(let h=T.length-1;h>=u;h--)C(e,i,h,h,T[h],void 0,r)}return n}}catch(c){let f=A(n)?.catch;if(f){let i=typeof f=="function"?f(e,c):f;return C(e,o,a,s,D(n?.node||t?.node,!0),i,r)}else throw c}}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 R(e,o,a){if(typeof o!="function")return o;let s=o?.__memo,t=a?.__memo;if(Array.isArray(s)&&Array.isArray(t)&&s.length===t.length){let r=!0;for(let c=0;c<s.length;c++)if(s[c]!==t[c]){r=!1;break}if(r)return a}let n=V(o,e);return typeof n=="object"&&(n.__memo=o?.__memo),n}function V(e,o){return typeof e=="function"?V(e(o),o):e}function O(e,o,a,s,t){if(!s&&!a)return;let n=t!==void 0;if(a)for(let r in a){let c=a[r],f=s?.[r];c!==f&&(s?s[r]=N(e,o,r,c,f,n):N(e,o,r,c,void 0,n))}if(s&&a){for(let r in s)if(!(r in a)){let c=s[r];s[r]=N(e,o,r,void 0,c,n)}}else if(s)for(let r in s){let c=s[r];s[r]=N(e,o,r,void 0,c,n)}}function N(e,o,a,s,t,n){if(a==="style")if(!t)o.style.cssText="";else if(typeof t=="string")s!==t&&(o.style.cssText=t);else if(s&&typeof s=="object"){for(let r in s)t[r]||(o.style[r]=null);for(let r in t){let c=s[r],f=t[r];c!==f&&(o.style[r]=f)}}else for(let r in t)o.style[r]=t[r];else if(a==="class")t?o.setAttribute("class",F(t)):o.removeAttribute("class");else if(a[0]==="o"&&a[1]==="n")if(t){let r=null;if(typeof t=="function"){let c=t;r=f=>e.patch(c(e,f))}else typeof t=="object"&&(r=()=>e.patch(t));o[a]=r}else o[a]=null;else n||(o[a]=t),t==null||t===!1?o.removeAttribute(a):o.setAttribute(a,t);return t}function F(e){return typeof e=="string"?e:Array.isArray(e)?e.map(F).join(" "):typeof e=="object"?Object.keys(e).filter(o=>e[o]).join(" "):""}var z="a",Z="abbr",tt="address",et="area",nt="article",ot="aside",st="audio",at="b",rt="base",ct="bdi",it="bdo",lt="blockquote",pt="body",dt="br",ft="button",St="canvas",ut="caption",Tt="cite",yt="code",gt="col",xt="colgroup",ht="data",mt="datalist",bt="dd",Et="del",Pt="details",At="dfn",Ct="dialog",Nt="div",Mt="dl",Rt="dt",Ot="em",Dt="embed",vt="fieldset",Lt="figcaption",It="figure",Vt="footer",Ft="form",kt="h1",jt="h2",Ht="h3",Ut="h4",Gt="h5",Kt="h6",Bt="head",_t="header",qt="hgroup",Xt="hr",$t="html",wt="i",Yt="iframe",Wt="img",Jt="input",Qt="ins",zt="kbd",Zt="label",te="legend",ee="li",ne="link",oe="main",se="map",ae="mark",re="menu",ce="meta",ie="meter",le="nav",pe="noscript",de="object",fe="ol",Se="optgroup",ue="option",Te="output",ye="p",ge="picture",xe="pre",he="progress",me="q",be="rp",Ee="rt",Pe="ruby",Ae="s",Ce="samp",Ne="script",Me="search",Re="section",Oe="select",De="slot",ve="small",Le="source",Ie="span",Ve="strong",Fe="style",ke="sub",je="summary",He="sup",Ue="table",Ge="tbody",Ke="td",Be="template",_e="textarea",qe="tfoot",Xe="th",$e="thead",we="time",Ye="title",We="tr",Je="track",Qe="u",ze="ul",Ze="var",tn="video",en="wbr",nn="animate",on="animateMotion",sn="animateTransform",an="circle",rn="clipPath",cn="defs",ln="desc",pn="ellipse",dn="feBlend",fn="feColorMatrix",Sn="feComponentTransfer",un="feComposite",Tn="feConvolveMatrix",yn="feDiffuseLighting",gn="feDisplacementMap",xn="feDistantLight",hn="feDropShadow",mn="feFlood",bn="feFuncA",En="feFuncB",Pn="feFuncG",An="feFuncR",Cn="feGaussianBlur",Nn="feImage",Mn="feMerge",Rn="feMergeNode",On="feMorphology",Dn="feOffset",vn="fePointLight",Ln="feSpecularLighting",In="feSpotLight",Vn="feTile",Fn="feTurbulence",kn="filter",jn="foreignObject",Hn="g",Un="image",Gn="line",Kn="linearGradient",Bn="marker",_n="mask",qn="metadata",Xn="mpath",$n="path",wn="pattern",Yn="polygon",Wn="polyline",Jn="radialGradient",Qn="rect",zn="set",Zn="stop",to="svg",eo="switch",no="symbol",oo="text",so="textPath",ao="tspan",ro="use",co="view",io="annotation",lo="annotation-xml",po="maction",fo="math",So="merror",uo="mfrac",To="mi",yo="mmultiscripts",go="mn",xo="mo",ho="mover",mo="mpadded",bo="mphantom",Eo="mprescripts",Po="mroot",Ao="mrow",Co="ms",No="mspace",Mo="msqrt",Ro="mstyle",Oo="msub",Do="msubsup",vo="msup",Lo="mtable",Io="mtd",Vo="mtext",Fo="mtr",ko="munder",jo="munderover",Ho="semantics";function Go(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let o=e[0];for(let a=1;a<e.length;a++){let s=o,t=e[a];if(!s)o=t;else if(t)if(typeof s=="string"&&typeof t=="string"){let n=s.split(" "),r=t.split(" "),c=new Set([...n,...r]);o=Array.from(c).join(" ").trim()}else if(typeof s=="string"&&Array.isArray(t)){let n=new Set([...t,...s.split(" ")]);o=Array.from(n).join(" ").trim()}else if(Array.isArray(s)&&typeof t=="string"){let n=new Set([...s,...t.split(" ")]);o=Array.from(n).join(" ").trim()}else if(Array.isArray(s)&&Array.isArray(t)){let n=new Set([...s,...t]);o=Array.from(n).join(" ").trim()}else if(typeof s=="string"&&typeof t=="object")o={[s]:!0,...t};else if(typeof s=="object"&&typeof t=="string")o={...s,[t]:!0};else if(typeof s=="object"&&typeof t=="object")o={...s,...t};else if(typeof s=="object"&&Array.isArray(t)){let n={...s};for(let r of t)n[r]=!0;o=n}else if(Array.isArray(s)&&typeof t=="object"){let n={};for(let r of s)n[r]=!0;for(let r of Object.keys(t))n[r]=t[r];o=n}else throw new Error(`cannot merge classes of ${s} (${typeof s}) and ${t} (${typeof t})`);else continue}return o}var k=document.createElement("div");function Bo(...e){try{let o=k.style;for(let a of e)if(typeof a=="object"&&a!==null)for(let s in a)o[s]=a[s];else typeof a=="string"&&(o.cssText+=";"+a);return o.cssText}finally{k.style.cssText=""}}var j=class{constructor(o,a){this.state=o;this.path=a;this.keys=a.split(".")}keys;get(){let o=this.keys,a=this.state?this.state[o[0]]:void 0;for(let s=1;s<o.length&&a;s++)a=a[o[s]];return a}put(o){this.putDeep(o,this.state)}patch(o){if(Array.isArray(o)){let a=[];for(let s of o)a.push(this.createPatch(s));this.state.patch(a)}else this.state.patch(this.createPatch(o))}createPatch(o){let a={};return this.putDeep(o,a),a}putDeep(o,a){let s=this.keys;if(s.length>1){let t=0,n=a[s[t]];for((typeof n!="object"||n===null)&&(a[s[t]]=n={}),t=1;t<s.length-1;t++){let r=n;n=n[s[t]],(typeof n!="object"||n===null)&&(r[s[t]]=n={})}n[s[t]]=o}else typeof a[s[0]]=="object"&&typeof o=="object"?Object.assign(a[s[0]],o):a[s[0]]=o}},H=class{constructor(o,a,s,t){this.state=o;this.get=a;this.put=s;this.patch=t}};export{z as A,Z as ABBR,tt as ADDRESS,nn as ANIMATE,on as ANIMATEMOTION,sn as ANIMATETRANSFORM,io as ANNOTATION,lo as ANNOTATION_XML,et as AREA,nt as ARTICLE,ot as ASIDE,st as AUDIO,at as B,rt as BASE,ct as BDI,it as BDO,lt as BLOCKQUOTE,pt as BODY,dt as BR,ft as BUTTON,St as CANVAS,ut as CAPTION,an as CIRCLE,Tt as CITE,rn as CLIPPATH,yt as CODE,gt as COL,xt as COLGROUP,ht as DATA,mt as DATALIST,bt as DD,cn as DEFS,Et as DEL,ln as DESC,Pt as DETAILS,At as DFN,Ct as DIALOG,Nt as DIV,Mt as DL,Rt as DT,H as DelegateStateContext,pn as ELLIPSE,Ot as EM,Dt as EMBED,dn as FEBLEND,fn as FECOLORMATRIX,Sn as FECOMPONENTTRANSFER,un as FECOMPOSITE,Tn as FECONVOLVEMATRIX,yn as FEDIFFUSELIGHTING,gn as FEDISPLACEMENTMAP,xn as FEDISTANTLIGHT,hn as FEDROPSHADOW,mn as FEFLOOD,bn as FEFUNCA,En as FEFUNCB,Pn as FEFUNCG,An as FEFUNCR,Cn as FEGAUSSIANBLUR,Nn as FEIMAGE,Mn as FEMERGE,Rn as FEMERGENODE,On as FEMORPHOLOGY,Dn as FEOFFSET,vn as FEPOINTLIGHT,Ln as FESPECULARLIGHTING,In as FESPOTLIGHT,Vn as FETILE,Fn as FETURBULENCE,vt as FIELDSET,Lt as FIGCAPTION,It as FIGURE,kn as FILTER,Vt as FOOTER,jn as FOREIGNOBJECT,Ft as FORM,Hn as G,kt as H1,jt as H2,Ht as H3,Ut as H4,Gt as H5,Kt as H6,Bt as HEAD,_t as HEADER,qt as HGROUP,Xt as HR,$t as HTML,wt as I,Yt as IFRAME,Un as IMAGE,Wt as IMG,Jt as INPUT,Qt as INS,zt as KBD,j as KeyStateContext,Zt as LABEL,te as LEGEND,ee as LI,Gn as LINE,Kn as LINEARGRADIENT,ne as LINK,po as MACTION,oe as MAIN,se as MAP,ae as MARK,Bn as MARKER,_n as MASK,fo as MATH,re as MENU,So as MERROR,ce as META,qn as METADATA,ie as METER,uo as MFRAC,To as MI,yo as MMULTISCRIPTS,go as MN,xo as MO,ho as MOVER,mo as MPADDED,Xn as MPATH,bo as MPHANTOM,Eo as MPRESCRIPTS,Po as MROOT,Ao as MROW,Co as MS,No as MSPACE,Mo as MSQRT,Ro as MSTYLE,Oo as MSUB,Do as MSUBSUP,vo as MSUP,Lo as MTABLE,Io as MTD,Vo as MTEXT,Fo as MTR,ko as MUNDER,jo as MUNDEROVER,le as NAV,pe as NOSCRIPT,de as OBJECT,fe as OL,Se as OPTGROUP,ue as OPTION,Te as OUTPUT,ye as P,$n as PATH,wn as PATTERN,ge as PICTURE,Yn as POLYGON,Wn as POLYLINE,xe as PRE,he as PROGRESS,me as Q,Jn as RADIALGRADIENT,Qn as RECT,be as RP,Ee as RT,Pe as RUBY,Ae as S,Ce as SAMP,Ne as SCRIPT,Me as SEARCH,Re as SECTION,Oe as SELECT,Ho as SEMANTICS,zn as SET,De as SLOT,ve as SMALL,Le as SOURCE,Ie as SPAN,Zn as STOP,Ve as STRONG,Fe as STYLE,ke as SUB,je as SUMMARY,He as SUP,to as SVG,eo as SWITCH,no as SYMBOL,Ue as TABLE,Ge as TBODY,Ke as TD,Be as TEMPLATE,oo as TEXT,_e as TEXTAREA,so as TEXTPATH,qe as TFOOT,Xe as TH,$e as THEAD,we as TIME,Ye as TITLE,We as TR,Je as TRACK,ao as TSPAN,Qe as U,ze as UL,ro as USE,Ze as VAR,tn as VIDEO,co as VIEW,en as WBR,q as app,J as child,W as childCount,M as children,v as childrenStart,w as createPatch,$ as createState,I as defuse,P as globals,D as hydrate,X as memo,Go as mergeClass,Bo as mergeStyle,A as props,Y as tag,_ as vode};
1
+ var E={currentViewTransition:void 0,requestAnimationFrame:window.requestAnimationFrame?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:document.startViewTransition?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:n?[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.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;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 S=l;t.stats.liveEffectCount++;try{let u=await S.next();for(;u.done===!1;){t.stats.liveEffectCount++;try{o.patch(u.value,y),u=await S.next()}finally{t.stats.liveEffectCount--}}o.patch(u.value,y)}finally{t.stats.liveEffectCount--}}else if(l.then){t.stats.liveEffectCount++;try{let S=await l;o.patch(S,y)}finally{t.stats.liveEffectCount--}}else if(Array.isArray(l))if(l.length>0)for(let S of l)o.patch(S,!document.hidden&&!!t.asyncRenderer);else{t.qSync=P(t.qSync||{},t.qAsync,!1),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else typeof l=="function"?o.patch(l(t.state),y):y?(t.stats.asyncRenderPatchCount++,t.qAsync=P(t.qAsync||{},l,!1),await t.renderAsync()):(t.stats.syncRenderPatchCount++,t.qSync=P(t.qSync||{},l,!1),t.renderSync())}});function r(l){let y=Date.now(),S=s(t.state);t.vode=C(t.state,e.parentElement,0,0,t.vode,S),e.tagName.toUpperCase()!==S[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),i=r.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||!t.qSync||(t.isRendering=!0,t.state=P(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 E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let l=Date.now();try{t.state=P(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(i),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=Date.now()-l,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let c=e;c._vode=t;let f=Array.from(e.parentElement.children).indexOf(e);t.vode=C(n,e.parentElement,f,f,O(e,!0),s(n));for(let l of a)o.patch(l);return l=>o.patch(l)}function V(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=A(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)V(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)V(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.COMMENT_NODE)return;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 X(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 e}function Y(e){return e}function W(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function A(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=v(e);return n>0?e.slice(n):null}function J(e){let n=v(e);return n<0?0:e.length-n}function Q(e,n){let s=v(e);if(s>0)return e[n+s]}function v(e){return A(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function P(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]=P({},t,s):typeof o=="object"?P(e[a],t,s):e[a]=P({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=P({},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=R(e,o,t);let p=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&p)return t;let i=t?.nodeType===Node.TEXT_NODE,c=i?t:t?.node;if(p){c?.onUnmount&&e.patch(c.onUnmount(c)),c?.remove();return}let f=!p&&_(o),l=!p&&B(o),y=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!f&&!l&&!y&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(y&&f?o=o.wholeText:y&&l&&(o=[...o]),i&&f)return c.nodeValue!==o&&(c.nodeValue=o),t;if(f&&(!c||!i)){let S=document.createTextNode(o);if(c)c.onUnmount&&e.patch(c.onUnmount(c)),c.replaceWith(S);else{let u=!1;for(let d=a;d<n.childNodes.length;d++){let x=n.childNodes[d];if(x){x.before(S,x),u=!0;break}}u||n.appendChild(S)}return S}if(l&&(!c||i||t[0]!==o[0])){let S=o;1 in S&&(S[1]=R(e,S[1],void 0));let u=A(o);u?.xmlns!==void 0&&(r=u.xmlns);let d=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=d,D(e,d,void 0,u,r??null),u&&"catch"in u&&(o.node.catch=null,o.node.removeAttribute("catch")),c)c.onUnmount&&e.patch(c.onUnmount(c)),c.replaceWith(d);else{let h=!1;for(let g=a;g<n.childNodes.length;g++){let T=n.childNodes[g];if(T){T.before(d,T),h=!0;break}}h||n.appendChild(d)}let x=M(o);if(x){let h=u?2:1,g=0;for(let T=0;T<x.length;T++){let b=x[T],m=C(e,d,T,g,void 0,b,r??null);o[T+h]=m,m&&g++}}return d.onMount&&e.patch(d.onMount(d)),o}if(!i&&l&&t[0]===o[0]){o.node=c;let S=o,u=t,d=A(o),x=A(t);if(d?.xmlns!==void 0&&(r=d.xmlns),S[1]?.__memo){let T=S[1];S[1]=R(e,S[1],u[1]),T!==S[1]&&D(e,c,x,d,r)}else D(e,c,x,d,r);d?.catch&&x?.catch!==d.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let h=M(o),g=M(t);if(h){let T=d?2:1,b=0;for(let m=0;m<h.length;m++){let U=h[m],G=g&&g[m],I=C(e,c,m,b,G,U,r);o[m+T]=I,I&&b++}}if(g){let T=h?h.length:0;for(let b=g.length-1;b>=T;b--)C(e,c,b,b,g[b],void 0,r)}return o}}catch(p){let i=A(o)?.catch;if(i){let c=typeof i=="function"?i(e,p):i;return C(e,n,s,a,O(o?.node||t?.node,!0),c,r)}else throw p}}function B(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function _(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function R(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 r=!0;for(let p=0;p<a.length;p++)if(a[p]!==t[p]){r=!1;break}if(r)return s}let o=F(n,e);return typeof o=="object"&&(o.__memo=n?.__memo),o}function F(e,n){return typeof e=="function"?F(e(n),n):e}function D(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],i=a?.[r];p!==i&&(a?a[r]=N(e,n,r,p,i,o):N(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]=N(e,n,r,void 0,p,o)}}else if(a)for(let r in a){let p=a[r];a[r]=N(e,n,r,void 0,p,o)}}function N(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],i=t[r];p!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",j(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=i=>e.patch(p(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 j(e){return typeof e=="string"?e:Array.isArray(e)?e.map(j).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var Z="a",tt="abbr",et="address",nt="area",ot="article",at="aside",st="audio",rt="b",ct="base",it="bdi",lt="bdo",pt="blockquote",St="body",dt="br",ft="button",ut="canvas",Tt="caption",yt="cite",gt="code",xt="col",ht="colgroup",bt="data",mt="datalist",Pt="dd",Et="del",At="details",Ct="dfn",Nt="dialog",Mt="div",Rt="dl",Dt="dt",Ot="em",vt="embed",Lt="fieldset",It="figcaption",Vt="figure",Ft="footer",jt="form",Ht="h1",Kt="h2",kt="h3",Ut="h4",Gt="h5",Bt="h6",_t="head",qt="header",wt="hgroup",Xt="hr",$t="html",Yt="i",Wt="iframe",Jt="img",Qt="input",zt="ins",Zt="kbd",te="label",ee="legend",ne="li",oe="link",ae="main",se="map",re="mark",ce="menu",ie="meta",le="meter",pe="nav",Se="noscript",de="object",fe="ol",ue="optgroup",Te="option",ye="output",ge="p",xe="picture",he="pre",be="progress",me="q",Pe="rp",Ee="rt",Ae="ruby",Ce="s",Ne="samp",Me="script",Re="search",De="section",Oe="select",ve="slot",Le="small",Ie="source",Ve="span",Fe="strong",je="style",He="sub",Ke="summary",ke="sup",Ue="table",Ge="tbody",Be="td",_e="template",qe="textarea",we="tfoot",Xe="th",$e="thead",Ye="time",We="title",Je="tr",Qe="track",ze="u",Ze="ul",tn="var",en="video",nn="wbr",on="animate",an="animateMotion",sn="animateTransform",rn="circle",cn="clipPath",ln="defs",pn="desc",Sn="ellipse",dn="feBlend",fn="feColorMatrix",un="feComponentTransfer",Tn="feComposite",yn="feConvolveMatrix",gn="feDiffuseLighting",xn="feDisplacementMap",hn="feDistantLight",bn="feDropShadow",mn="feFlood",Pn="feFuncA",En="feFuncB",An="feFuncG",Cn="feFuncR",Nn="feGaussianBlur",Mn="feImage",Rn="feMerge",Dn="feMergeNode",On="feMorphology",vn="feOffset",Ln="fePointLight",In="feSpecularLighting",Vn="feSpotLight",Fn="feTile",jn="feTurbulence",Hn="filter",Kn="foreignObject",kn="g",Un="image",Gn="line",Bn="linearGradient",_n="marker",qn="mask",wn="metadata",Xn="mpath",$n="path",Yn="pattern",Wn="polygon",Jn="polyline",Qn="radialGradient",zn="rect",Zn="set",to="stop",eo="svg",no="switch",oo="symbol",ao="text",so="textPath",ro="tspan",co="use",io="view",lo="annotation",po="annotation-xml",So="maction",fo="math",uo="merror",To="mfrac",yo="mi",go="mmultiscripts",xo="mn",ho="mo",bo="mover",mo="mpadded",Po="mphantom",Eo="mprescripts",Ao="mroot",Co="mrow",No="ms",Mo="mspace",Ro="msqrt",Do="mstyle",Oo="msub",vo="msubsup",Lo="msup",Io="mtable",Vo="mtd",Fo="mtext",jo="mtr",Ho="munder",Ko="munderover",ko="semantics";function Go(...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 H=document.createElement("div");function _o(...e){try{let n=H.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{H.style.cssText=""}}function wo(e){return new L(e,[])}var L=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,c){if(s.length>1){let f=0,l=c[s[f]];for((typeof l!="object"||l===null)&&(c[s[f]]=l={}),f=1;f<s.length-1;f++){let y=l;l=l[s[f]],(typeof l!="object"||l===null)&&(y[s[f]]=l={})}l[s[f]]=i}else s.length===1?typeof c[s[0]]=="object"&&typeof i=="object"?Object.assign(c[s[0]],i):c[s[0]]=i:Object.assign(c,i)}function t(i){let c={};return a(i,c),c}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let c=1;c<s.length&&i;c++)i=i[s[c]];return i}function r(i){a(i,n)}function p(i){if(Array.isArray(i)){let c=[];for(let f of i)c.push(t(f));n.patch(c)}else n.patch(t(i))}return new Proxy(this,{get:(i,c,f)=>{if(c==="state")return n;if(c==="get")return o;if(c==="put")return r;if(c==="patch")return p;let l=[...i.keys,String(c)];return new e(i.state,l)}})}get(){throw"implemented in ctor"}put(n){throw"implemented in ctor"}patch(n){throw"implemented in ctor"}},K=class{constructor(n,s,a,t){this.state=n;this.get=s;this.put=a;this.patch=t}},k=class{constructor(n,s){this.state=n;this.path=s;this.keys=s.split(".")}keys;get(){let n=this.keys,s=this.state?this.state[n[0]]:void 0;for(let a=1;a<n.length&&s;a++)s=s[n[a]];return s}put(n){this.putDeep(n,this.state)}patch(n){if(Array.isArray(n)){let s=[];for(let a of n)s.push(this.createPatch(a));this.state.patch(s)}else this.state.patch(this.createPatch(n))}createPatch(n){let s={};return this.putDeep(n,s),s}putDeep(n,s){let a=this.keys;if(a.length>1){let t=0,o=s[a[t]];for((typeof o!="object"||o===null)&&(s[a[t]]=o={}),t=1;t<a.length-1;t++){let r=o;o=o[a[t]],(typeof o!="object"||o===null)&&(r[a[t]]=o={})}o[a[t]]=n}else typeof s[a[0]]=="object"&&typeof n=="object"?Object.assign(s[a[0]],n):s[a[0]]=n}};export{Z as A,tt as ABBR,et as ADDRESS,on as ANIMATE,an as ANIMATEMOTION,sn as ANIMATETRANSFORM,lo as ANNOTATION,po as ANNOTATION_XML,nt as AREA,ot as ARTICLE,at as ASIDE,st as AUDIO,rt as B,ct as BASE,it as BDI,lt as BDO,pt as BLOCKQUOTE,St as BODY,dt as BR,ft as BUTTON,ut as CANVAS,Tt as CAPTION,rn as CIRCLE,yt as CITE,cn as CLIPPATH,gt as CODE,xt as COL,ht as COLGROUP,bt as DATA,mt as DATALIST,Pt as DD,ln as DEFS,Et as DEL,pn as DESC,At as DETAILS,Ct as DFN,Nt as DIALOG,Mt as DIV,Rt as DL,Dt as DT,K as DelegateStateContext,Sn as ELLIPSE,Ot as EM,vt as EMBED,dn as FEBLEND,fn as FECOLORMATRIX,un as FECOMPONENTTRANSFER,Tn as FECOMPOSITE,yn as FECONVOLVEMATRIX,gn as FEDIFFUSELIGHTING,xn as FEDISPLACEMENTMAP,hn as FEDISTANTLIGHT,bn as FEDROPSHADOW,mn as FEFLOOD,Pn as FEFUNCA,En as FEFUNCB,An as FEFUNCG,Cn as FEFUNCR,Nn as FEGAUSSIANBLUR,Mn as FEIMAGE,Rn as FEMERGE,Dn as FEMERGENODE,On as FEMORPHOLOGY,vn as FEOFFSET,Ln as FEPOINTLIGHT,In as FESPECULARLIGHTING,Vn as FESPOTLIGHT,Fn as FETILE,jn as FETURBULENCE,Lt as FIELDSET,It as FIGCAPTION,Vt as FIGURE,Hn as FILTER,Ft as FOOTER,Kn as FOREIGNOBJECT,jt as FORM,kn as G,Ht as H1,Kt as H2,kt as H3,Ut as H4,Gt as H5,Bt as H6,_t as HEAD,qt as HEADER,wt as HGROUP,Xt as HR,$t as HTML,Yt as I,Wt as IFRAME,Un as IMAGE,Jt as IMG,Qt as INPUT,zt as INS,Zt as KBD,k as KeyStateContext,te as LABEL,ee as LEGEND,ne as LI,Gn as LINE,Bn as LINEARGRADIENT,oe as LINK,So as MACTION,ae as MAIN,se as MAP,re as MARK,_n as MARKER,qn as MASK,fo as MATH,ce as MENU,uo as MERROR,ie as META,wn as METADATA,le as METER,To as MFRAC,yo as MI,go as MMULTISCRIPTS,xo as MN,ho as MO,bo as MOVER,mo as MPADDED,Xn as MPATH,Po as MPHANTOM,Eo as MPRESCRIPTS,Ao as MROOT,Co as MROW,No as MS,Mo as MSPACE,Ro as MSQRT,Do as MSTYLE,Oo as MSUB,vo as MSUBSUP,Lo as MSUP,Io as MTABLE,Vo as MTD,Fo as MTEXT,jo as MTR,Ho as MUNDER,Ko as MUNDEROVER,pe as NAV,Se as NOSCRIPT,de as OBJECT,fe as OL,ue as OPTGROUP,Te as OPTION,ye as OUTPUT,ge as P,$n as PATH,Yn as PATTERN,xe as PICTURE,Wn as POLYGON,Jn as POLYLINE,he as PRE,be as PROGRESS,me as Q,Qn as RADIALGRADIENT,zn as RECT,Pe as RP,Ee as RT,Ae as RUBY,Ce as S,Ne as SAMP,Me as SCRIPT,Re as SEARCH,De as SECTION,Oe as SELECT,ko as SEMANTICS,Zn as SET,ve as SLOT,Le as SMALL,Ie as SOURCE,Ve as SPAN,to as STOP,Fe as STRONG,je as STYLE,He as SUB,Ke as SUMMARY,ke as SUP,eo as SVG,no as SWITCH,oo as SYMBOL,Ue as TABLE,Ge as TBODY,Be as TD,_e as TEMPLATE,ao as TEXT,qe as TEXTAREA,so as TEXTPATH,we as TFOOT,Xe as TH,$e as THEAD,Ye as TIME,We as TITLE,Je as TR,Qe as TRACK,ro as TSPAN,ze as U,Ze as UL,co as USE,tn as VAR,en as VIDEO,io as VIEW,nn as WBR,w as app,Q as child,J as childCount,M as children,v as childrenStart,wo as context,Y as createPatch,$ as createState,V as defuse,E as globals,O as hydrate,X as memo,Go as mergeClass,_o as mergeStyle,A as props,W as tag,q as vode};
package/dist/vode.mjs CHANGED
@@ -860,6 +860,98 @@ function mergeStyle(...props2) {
860
860
  }
861
861
 
862
862
  // src/state-context.ts
863
+ function context(state) {
864
+ return new ProxyStateContextImpl(state, []);
865
+ }
866
+ var ProxyStateContextImpl = class _ProxyStateContextImpl {
867
+ constructor(state, keys) {
868
+ this.state = state;
869
+ this.keys = keys;
870
+ function putDeep(value, target) {
871
+ if (keys.length > 1) {
872
+ let i = 0;
873
+ let raw = target[keys[i]];
874
+ if (typeof raw !== "object" || raw === null) {
875
+ target[keys[i]] = raw = {};
876
+ }
877
+ for (i = 1; i < keys.length - 1; i++) {
878
+ const p = raw;
879
+ raw = raw[keys[i]];
880
+ if (typeof raw !== "object" || raw === null) {
881
+ p[keys[i]] = raw = {};
882
+ }
883
+ }
884
+ raw[keys[i]] = value;
885
+ } else if (keys.length === 1) {
886
+ if (typeof target[keys[0]] === "object" && typeof value === "object")
887
+ Object.assign(target[keys[0]], value);
888
+ else
889
+ target[keys[0]] = value;
890
+ } else {
891
+ Object.assign(target, value);
892
+ }
893
+ }
894
+ function createPatch2(value) {
895
+ const renderPatch = {};
896
+ putDeep(value, renderPatch);
897
+ return renderPatch;
898
+ }
899
+ function get() {
900
+ if (keys.length === 0)
901
+ return state;
902
+ let raw = state ? state[keys[0]] : void 0;
903
+ for (let i = 1; i < keys.length && !!raw; i++) {
904
+ raw = raw[keys[i]];
905
+ }
906
+ return raw;
907
+ }
908
+ function put(value) {
909
+ putDeep(value, state);
910
+ }
911
+ function patch(value) {
912
+ if (Array.isArray(value)) {
913
+ const animation = [];
914
+ for (const v of value) {
915
+ animation.push(createPatch2(v));
916
+ }
917
+ state.patch(animation);
918
+ } else {
919
+ state.patch(createPatch2(value));
920
+ }
921
+ }
922
+ return new Proxy(this, {
923
+ get: (target, prop, receiver) => {
924
+ if (prop === "state")
925
+ return state;
926
+ if (prop === "get")
927
+ return get;
928
+ if (prop === "put")
929
+ return put;
930
+ if (prop === "patch")
931
+ return patch;
932
+ const newKeys = [...target.keys, String(prop)];
933
+ return new _ProxyStateContextImpl(target.state, newKeys);
934
+ }
935
+ });
936
+ }
937
+ get() {
938
+ throw "implemented in ctor";
939
+ }
940
+ put(value) {
941
+ throw "implemented in ctor";
942
+ }
943
+ patch(value) {
944
+ throw "implemented in ctor";
945
+ }
946
+ };
947
+ var DelegateStateContext = class {
948
+ constructor(state, get, put, patch) {
949
+ this.state = state;
950
+ this.get = get;
951
+ this.put = put;
952
+ this.patch = patch;
953
+ }
954
+ };
863
955
  var KeyStateContext = class {
864
956
  constructor(state, path) {
865
957
  this.state = state;
@@ -931,14 +1023,6 @@ var KeyStateContext = class {
931
1023
  }
932
1024
  }
933
1025
  };
934
- var DelegateStateContext = class {
935
- constructor(state, get, put, patch) {
936
- this.state = state;
937
- this.get = get;
938
- this.put = put;
939
- this.patch = patch;
940
- }
941
- };
942
1026
  export {
943
1027
  A,
944
1028
  ABBR,
@@ -1148,6 +1232,7 @@ export {
1148
1232
  childCount,
1149
1233
  children,
1150
1234
  childrenStart,
1235
+ context,
1151
1236
  createPatch,
1152
1237
  createState,
1153
1238
  defuse,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryupold/vode",
3
- "version": "1.6.8",
3
+ "version": "1.7.0",
4
4
  "description": "a minimalist web framework",
5
5
  "author": "Michael Scherbakow (ryupold)",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "homepage": "https://github.com/ryupold/vode#readme",
27
27
  "module": "index.ts",
28
28
  "scripts": {
29
- "build": "esbuild index.ts --bundle --format=esm --outfile=dist/vode.mjs ",
29
+ "build": "esbuild index.ts --bundle --format=esm --outfile=dist/vode.mjs",
30
30
  "build-min": "esbuild index.ts --bundle --format=esm --minify --outfile=dist/vode.min.mjs",
31
31
  "build-classic": "esbuild index.ts --outfile=dist/vode.js --bundle --format=iife --global-name=V",
32
32
  "build-classic-min": "esbuild index.ts --outfile=dist/vode.min.js --bundle --format=iife --global-name=V --minify",
@@ -1,9 +1,203 @@
1
1
  import { AnimatedPatch, DeepPartial, PatchableState, RenderPatch } from "./vode.js";
2
2
 
3
- /** Helper to unwrap undefined/null from optional properties */
4
- type NonNullable<T> = T extends null | undefined ? never : T;
3
+ /**
4
+ * State context for type-safe access and manipulation of nested state paths
5
+ * while still be able to access the parent state.
6
+ */
7
+ export interface StateContext<S extends PatchableState, SubState> extends SubStateContext<SubState> {
8
+ /**
9
+ * parent state
10
+ * @see PatchableState<S>
11
+ */
12
+ get state(): S;
13
+ }
14
+
15
+ /**
16
+ * State context for type-safe access and manipulation of nested sub-state values without knowledge of the parent state.
17
+ */
18
+ export interface SubStateContext<SubState> {
19
+ /**
20
+ * Reads the current value of the substate if it exists.
21
+ *
22
+ * @returns The current value, or undefined if the path doesn't exist
23
+ */
24
+ get(): SubState | undefined;
25
+
26
+ /**
27
+ * Updates the nested sub-state value WITHOUT triggering a render.
28
+ * This performs a silent mutation of the parent state object.
29
+ *
30
+ * @param {DeepPartial<SubState>} value - The new value or partial update to apply
31
+ */
32
+ put(value: SubState | DeepPartial<SubState> | undefined | null): void;
33
+
34
+ /**
35
+ * Updates the nested sub-state value AND triggers a render.
36
+ * This is the recommended way to update nested state in most cases.
37
+ *
38
+ * @param value - The new value or partial update to apply
39
+ */
40
+ patch(value: SubState | DeepPartial<SubState> | Array<DeepPartial<SubState>> | undefined | null): void;
41
+ }
42
+
43
+ /**
44
+ * create a ProxyStateContext for type-safe dynamic access to nested state
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const state = createState({
49
+ * user: {
50
+ * profile: {
51
+ * settings: { theme: 'dark', lang: 'en' }
52
+ * }
53
+ * });
54
+ * app(element, state, (s) => [DIV]);
55
+ *
56
+ * // Create a proxy context for the state
57
+ * const ctx = context(state).user.profile.settings;
58
+ *
59
+ * // Access nested state dynamically
60
+ * const settings = ctx.get(); // { theme: 'dark', lang: 'en' }
61
+ *
62
+ * // Update and trigger render
63
+ * ctx.patch({ theme: 'light' });
64
+ *
65
+ * // Update without render (silent mutation)
66
+ * ctx.put({ lang: 'de' });
67
+ * state.patch({}); // trigger render manually later
68
+ * ```
69
+ *
70
+ * @param state
71
+ * @returns
72
+ */
73
+ export function context<S extends PatchableState>(state: S): ProxyStateContext<S, S> {
74
+ return new ProxyStateContextImpl<S, S>(state, []) as unknown as ProxyStateContext<S, S>;
75
+ }
76
+
77
+ class ProxyStateContextImpl<S extends PatchableState, SubState>
78
+ implements StateContext<S, SubState> {
79
+
80
+ constructor(
81
+ public readonly state: S,
82
+ private readonly keys: string[]
83
+ ) {
84
+ function putDeep(value: SubState | DeepPartial<SubState> | undefined | null, target: S | DeepPartial<S>) {
85
+ if (keys.length > 1) {
86
+ let i = 0;
87
+ let raw = (<any>target)[keys[i]];
88
+ if (typeof raw !== "object" || raw === null) {
89
+ (<any>target)[keys[i]] = raw = {};
90
+ }
91
+ for (i = 1; i < keys.length - 1; i++) {
92
+ const p = raw;
93
+ raw = raw[keys[i]];
94
+ if (typeof raw !== "object" || raw === null) {
95
+ p[keys[i]] = raw = {};
96
+ }
97
+ }
98
+ raw[keys[i]] = value;
99
+ } else if (keys.length === 1) {
100
+ if (typeof (<any>target)[keys[0]] === "object" && typeof value === "object")
101
+ Object.assign((<any>target)[keys[0]], value);
102
+ else
103
+ (<any>target)[keys[0]] = value;
104
+ } else {
105
+ Object.assign(target, value as DeepPartial<S>);
106
+ }
107
+ }
108
+
109
+ function createPatch(value: SubState | DeepPartial<SubState> | undefined | null): RenderPatch<S> {
110
+ const renderPatch: DeepPartial<S> = {};
111
+ putDeep(value, renderPatch);
112
+ return renderPatch;
113
+ }
114
+
115
+ function get(): SubState | undefined {
116
+ if (keys.length === 0)
117
+ return state as unknown as SubState;
118
+
119
+ let raw = state ? (<any>state)[keys[0]] : undefined;
120
+ for (let i = 1; i < keys.length && !!raw; i++) {
121
+ raw = raw[keys[i]];
122
+ }
123
+ return raw;
124
+ }
125
+
126
+ function put(value: SubState | DeepPartial<SubState> | undefined | null) {
127
+ putDeep(value, state);
128
+ }
129
+
130
+ function patch(value: SubState | DeepPartial<SubState> | Array<DeepPartial<SubState>> | undefined | null) {
131
+ if (Array.isArray(value)) {
132
+ const animation: AnimatedPatch<S> = [];
133
+ for (const v of value) {
134
+ animation.push(createPatch(v));
135
+ }
136
+ state.patch(animation);
137
+ }
138
+ else {
139
+ state.patch(createPatch(value as DeepPartial<SubState>));
140
+ }
141
+ }
142
+
143
+ return new Proxy(this, {
144
+ get: (target, prop, receiver) => {
145
+ if (prop === 'state')
146
+ return state;
147
+
148
+ if (prop === 'get')
149
+ return get;
150
+
151
+ if (prop === 'put')
152
+ return put;
153
+
154
+ if (prop === 'patch')
155
+ return patch;
156
+
157
+
158
+ // otherwise return a new ProxyStateContext for nested access
159
+ const newKeys = [...target.keys, String(prop)];
160
+ return new ProxyStateContextImpl<S, any>(target.state, newKeys);
161
+ }
162
+ });
163
+ }
164
+
165
+ get(): SubState | undefined { throw 'implemented in ctor' }
166
+ put(value: SubState | DeepPartial<SubState> | null | undefined): void { throw 'implemented in ctor' }
167
+ patch(value: SubState | DeepPartial<SubState> | DeepPartial<SubState>[] | null | undefined): void { throw 'implemented in ctor' }
168
+ }
169
+
170
+ /**
171
+ * Provides type-safe access to sub-state with fetch & store delegate functions.
172
+ * Implementer is responsible for reading/writing the sub-state correctly.
173
+ *
174
+ * **When to use:**
175
+ * - State structure is dynamic or complex
176
+ * - You need custom logic for accessing nested state
177
+ * - You want to encapsulate access logic outside of parent state
178
+ *
179
+ * **When to avoid:**
180
+ * - Simple, static state structures
181
+ * - You want automatic path-based access (use KeyStateContext instead)
182
+ * - Learning vode for the first time (start simpler)
183
+ */
184
+ export class DelegateStateContext<S extends PatchableState, SubState>
185
+ implements StateContext<S, SubState> {
186
+ constructor(
187
+ public readonly state: S,
188
+
189
+ public readonly get: () => SubState | undefined,
190
+
191
+ public readonly put: (value: SubState | DeepPartial<SubState> | undefined | null) => void,
192
+
193
+ public readonly patch: (value: SubState | DeepPartial<SubState> | Array<DeepPartial<SubState>> | undefined | null) => void,
194
+ ) {
195
+ }
196
+ }
197
+
5
198
 
6
199
  /**
200
+ * @deprecated use proxy state context instead
7
201
  * Generates dot-notation path strings for all nested properties in an object type.
8
202
  *
9
203
  * @example
@@ -18,6 +212,7 @@ export type KeyPath<ObjectType extends object> =
18
212
  }[keyof ObjectType & (string | number)];
19
213
 
20
214
  /**
215
+ * @deprecated use proxy state context instead
21
216
  * Extracts the value type at a given dot-notation path in an object type.
22
217
  *
23
218
  * @example
@@ -34,6 +229,7 @@ export type PathValue<T, P extends string> =
34
229
  : never;
35
230
 
36
231
  /**
232
+ * @deprecated use proxy state context instead
37
233
  * Maps valid paths in an object type to paths that resolve to a specific substate type.
38
234
  * Used for type-safe path constraints in StateContext.
39
235
  * Ensures exact type matching (not just compatibility).
@@ -52,48 +248,11 @@ export type KeyToSubState<S extends object, Sub, K = KeyPath<S>> =
52
248
  : never
53
249
  : never;
54
250
 
251
+ /** @deprecated Helper to unwrap undefined/null from optional properties */
252
+ type NonNullable<T> = T extends null | undefined ? never : T;
55
253
 
56
254
  /**
57
- * State context for type-safe access and manipulation of nested state paths
58
- * while still be able to access the parent state.
59
- */
60
- export interface StateContext<S extends PatchableState, SubState> extends SubStateContext<SubState> {
61
- /**
62
- * parent state
63
- * @see PatchableState<S>
64
- */
65
- get state(): S;
66
- }
67
-
68
- /**
69
- * State context for type-safe access and manipulation of nested sub-state values without knowledge of the parent state.
70
- */
71
- export interface SubStateContext<SubState> {
72
- /**
73
- * Reads the current value of the substate if it exists.
74
- *
75
- * @returns The current value, or undefined if the path doesn't exist
76
- */
77
- get(): SubState | undefined;
78
-
79
- /**
80
- * Updates the nested sub-state value WITHOUT triggering a render.
81
- * This performs a silent mutation of the parent state object.
82
- *
83
- * @param {DeepPartial<SubState>} value - The new value or partial update to apply
84
- */
85
- put(value: SubState | DeepPartial<SubState> | undefined | null): void;
86
-
87
- /**
88
- * Updates the nested sub-state value AND triggers a render.
89
- * This is the recommended way to update nested state in most cases.
90
- *
91
- * @param value - The new value or partial update to apply
92
- */
93
- patch(value: SubState | DeepPartial<SubState> | Array<DeepPartial<SubState>> | undefined | null): void;
94
- }
95
-
96
- /**
255
+ * @deprecated use {context()} instead
97
256
  * Provides type-safe access to deeply nested state with path-based operations.
98
257
  *
99
258
  * **When to use:**
@@ -106,6 +265,9 @@ export interface SubStateContext<SubState> {
106
265
  * - State structure changes frequently
107
266
  * - Learning vode for the first time (start simpler)
108
267
  *
268
+ * @template S - The root state type (must extend PatchableState)
269
+ * @template SubState - The type of the nested state being accessed
270
+ *
109
271
  * @example
110
272
  * ```typescript
111
273
  * const state = createState({
@@ -130,9 +292,6 @@ export interface SubStateContext<SubState> {
130
292
  * settingsCtx.put({ lang: 'de' });
131
293
  * state.patch({}); // trigger render manually later
132
294
  * ```
133
- *
134
- * @template S - The root state type (must extend PatchableState)
135
- * @template SubState - The type of the nested state being accessed
136
295
  */
137
296
  export class KeyStateContext<S extends PatchableState, SubState>
138
297
  implements StateContext<S, SubState> {
@@ -215,30 +374,8 @@ export class KeyStateContext<S extends PatchableState, SubState>
215
374
  }
216
375
  }
217
376
 
218
- /**
219
- * Provides type-safe access to sub-state with fetch & store delegate functions.
220
- * Implementer is responsible for reading/writing the sub-state correctly.
221
- *
222
- * **When to use:**
223
- * - State structure is dynamic or complex
224
- * - You need custom logic for accessing nested state
225
- * - You want to encapsulate access logic outside of parent state
226
- *
227
- * **When to avoid:**
228
- * - Simple, static state structures
229
- * - You want automatic path-based access (use KeyStateContext instead)
230
- * - Learning vode for the first time (start simpler)
231
- */
232
- export class DelegateStateContext<S extends PatchableState, SubState>
233
- implements StateContext<S, SubState> {
234
- constructor(
235
- public readonly state: S,
236
-
237
- public readonly get: () => SubState | undefined,
238
-
239
- public readonly put: (value: SubState | DeepPartial<SubState> | undefined | null) => void,
240
-
241
- public readonly patch: (value: SubState | DeepPartial<SubState> | Array<DeepPartial<SubState>> | undefined | null) => void,
242
- ) {
243
- }
244
- }
377
+ export type ProxyStateContext<S extends PatchableState, SubState> = StateContext<S, SubState> & {
378
+ [K in keyof SubState]-?: NonNullable<SubState[K]> extends object
379
+ ? ProxyStateContext<S, NonNullable<SubState[K]>>
380
+ : StateContext<S, SubState[K]>
381
+ };