@ryupold/vode 1.8.11 → 1.8.12

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.
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LINK=exports.LINEARGRADIENT=exports.LINE=exports.LI=exports.LEGEND=exports.LABEL=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.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.VIEW=exports.VIDEO=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=void 0,exports.WBR=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.mergeProps=mergeProps,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 _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 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 _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 _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 _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 _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)}// src/vode.ts
2
2
  var globals=exports.globals={currentViewTransition:void 0,requestAnimationFrame:"undefined"!=typeof window&&"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){return a()},startViewTransition:"undefined"!=typeof document&&"function"==typeof document.startViewTransition?document.startViewTransition.bind(document):null};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:"object"===_typeof(b)?[a,b].concat(d):[a].concat(d)}function app(a,b,c){function d(a,b){return e.apply(this,arguments)}function e(){return e=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:return m.stats.liveEffectCount++,c.p=1,c.n=2,a;case 2:return d=c.v,c.n=3,n.patch(d,b);case 3:return c.p=3,m.stats.liveEffectCount--,c.f(3);case 4:return c.a(2)}},c,null,[[1,,3,4]])})),e.apply(this,arguments)}function f(a,b){return g.apply(this,arguments)}function g(){return g=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d,e;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:return d=a,m.stats.liveEffectCount++,c.p=1,c.n=2,d.next();case 2:e=c.v;case 3:if(!1!==e.done){c.n=9;break}return m.stats.liveEffectCount++,c.p=4,c.n=5,n.patch(e.value,b);case 5:return c.n=6,d.next();case 6:e=c.v;case 7:return c.p=7,m.stats.liveEffectCount--,c.f(7);case 8:c.n=3;break;case 9:return c.n=10,n.patch(e.value,b);case 10:return c.p=10,m.stats.liveEffectCount--,c.f(10);case 11:return c.a(2)}},c,null,[[4,,7,8],[1,,10,11]])})),g.apply(this,arguments)}function h(b){var d=performance.now(),e=c(m.state);if(m.vode=render(m.state,a.parentElement,0,0,m.vode,e),a.tagName.toUpperCase()!==e[0].toUpperCase()&&(a=m.vode.node,a._vode=m),!b){m.stats.lastSyncRenderTime=performance.now()-d;var f=m.isRendering!==m.stats.syncRenderPatchCount;m.stats.syncRenderCount++,m.isRendering=0,f&&m.renderSync()}}for(var i,j=arguments.length,k=Array(3<j?j-3:0),l=3;l<j;l++)k[l-3]=arguments[l];if(!(null!==(i=a)&&void 0!==i&&i.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 m={syncRenderer:globals.requestAnimationFrame,asyncRenderer:globals.startViewTransition,isRendering:0,qAsync:null,stats:{lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0}},n=b;"patch"in b&&"function"==typeof b.patch&&Array.isArray(b.patch.initialPatches)&&(k=[].concat(_toConsumableArray(b.patch.initialPatches),_toConsumableArray(k))),Object.defineProperty(b,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function c(a,b){for(var e;"function"==typeof a;)a=a(m.state);if(a&&"object"===_typeof(a)){if(m.stats.patchCount++,null!==(e=a)&&void 0!==e&&e.next)return f(a,b);if(a.then)return d(a,b);if(!Array.isArray(a))b?(m.stats.asyncRenderPatchCount++,m.qAsync=mergeState(m.qAsync||{},a,!1),m.renderAsync()):(m.stats.syncRenderPatchCount++,mergeState(m.state,a,!0),m.renderSync());else if(0<a.length){var g,h=_createForOfIteratorHelper(a);try{for(h.s();!(g=h.n()).done;){var i=g.value;n.patch(i,!document.hidden&&!!m.asyncRenderer)}}catch(a){h.e(a)}finally{h.f()}}else{mergeState(m.state,m.qAsync,!0),m.qAsync=null;try{var j;null===(j=globals.currentViewTransition)||void 0===j||j.skipTransition()}catch(a){}m.stats.syncRenderPatchCount++,m.renderSync()}}}});var o=h.bind(null,!1),p=h.bind(null,!0);Object.defineProperty(m,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:function a(){m.isRendering||(m.isRendering=m.stats.syncRenderPatchCount,m.syncRenderer(o))}}),Object.defineProperty(m,"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(!m.isAnimating&&m.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(!(m.isAnimating||!m.qAsync||document.hidden)){a.n=3;break}return a.a(2);case 3:return m.isAnimating=!0,c=performance.now(),a.p=4,m.state=mergeState(m.state,m.qAsync,!0),m.qAsync=null,globals.currentViewTransition=m.asyncRenderer(p),a.n=5,null===(d=globals.currentViewTransition)||void 0===d?void 0:d.updateCallbackDone;case 5:return a.p=5,m.stats.lastAsyncRenderTime=performance.now()-c,m.stats.asyncRenderCount++,m.isAnimating=!1,a.f(5);case 6:m.qAsync&&m.renderAsync();case 7:return a.a(2)}},a,null,[[4,,5,6]])}));return a}()}),m.state=n;var q=a;q._vode=m;var r=Array.from(a.parentElement.children).indexOf(a),s=m.stats.syncRenderPatchCount;m.isRendering=m.stats.syncRenderPatchCount,m.vode=render(b,a.parentElement,r,r,hydrate(a,!0),c(b));var t=m.stats.syncRenderPatchCount!==s;m.isRendering=0,m.stats.syncRenderCount++,t&&m.renderSync();var u,v=_createForOfIteratorHelper(k);try{for(v.s();!(u=v.n()).done;){var w=u.value;n.patch(w)}}catch(a){v.e(a)}finally{v.f()}return function(a){return n.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.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 child vode");if(b.__memo){var c=b;b=function b(a){return c(a)}}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"patch"in a||Object.defineProperty(a,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function c(b){var d=a;Array.isArray(d.patch.initialPatches)||(d.patch.initialPatches=[]),d.patch.initialPatches.push(b)}}),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 unmountTree(a,e),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)unmountTree(a,e),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),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)unmountTree(a,e),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),y=!0;break}y||b.appendChild(w)}var A=childrenStart(f);if(0<A)for(var B=v?2:1,C=0,D=0;D<f.length-A;D++){var E=f[D+A],F=render(a,w,D,C,void 0,E,null!==g&&void 0!==g?g:null);f[D+B]=F,F&&C++}return f._unmountCount=(null!==v&&void 0!==v&&v.onUnmount?1:0)+sumChildUnmountCounts(f),"function"==typeof(null===v||void 0===v?void 0:v.onMount)&&a.patch(v.onMount(a,w)),f}if(!l&&o&&e[0]===f[0]){f.node=m;var G=props(f),H=props(e);void 0!==(null===G||void 0===G?void 0:G.xmlns)&&(g=G.xmlns),patchProperties(a,m,H,G,g),!(null!==G&&void 0!==G&&G["catch"])||(null===H||void 0===H?void 0:H["catch"])===G["catch"]||(f.node["catch"]=null,f.node.removeAttribute("catch"));var I=childrenStart(f),J=childrenStart(e);if(0<I)for(var K=0,L=0;L<f.length-I;L++){var M=f[L+I],N=0<J?e[L+J]:void 0,O=render(a,m,L,K,N,M,g);f[L+I]=O,O&&K++}if(0<J)for(var P=0<I?f.length-I:0,Q=e.length-1-J;Q>=P;Q--)render(a,m,Q,Q,e[Q+J],void 0,g);return f._unmountCount=(null!==G&&void 0!==G&&G.onUnmount?1:0)+sumChildUnmountCounts(f),f}}catch(h){var R,S=null===(R=props(f))||void 0===R?void 0:R["catch"];if(S){var T,U="function"==typeof S?S(a,h):S;return render(a,b,c,d,hydrate((null===(T=f)||void 0===T?void 0:T.node)||(null===e||void 0===e?void 0:e.node),!0),U,g)}throw h}}function unmountTree(a,b){if(b&&Array.isArray(b)&&0!=(0|b._unmountCount)){var c=children(b);if(c)for(var d=c.length-1;0<=d;d--)unmountTree(a,c[d]);var e=props(b);"function"==typeof(null===e||void 0===e?void 0:e.onUnmount)&&a.patch(e.onUnmount(a,b.node))}}function sumChildUnmountCounts(a){var b=children(a);if(!b)return 0;var c,d=0,e=_createForOfIteratorHelper(b);try{for(e.s();!(c=e.n()).done;){var f=c.value;f&&Array.isArray(f)&&(d+=0|f._unmountCount)}}catch(a){e.e(a)}finally{e.f()}return d}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){for(var d;"function"==typeof b&&!b.__memo;)b=b(a);if("function"!=typeof b)return b;var e=null===(d=b)||void 0===d?void 0:d.__memo,f=null===c||void 0===c?void 0:c.__memo;if(Array.isArray(e)&&Array.isArray(f)&&e.length===f.length){for(var g=!0,h=0;h<e.length;h++)if(e[h]!==f[h]){g=!1;break}if(g)return c}for(;"function"==typeof b;)b=b(a);return"object"===_typeof(b)&&(b.__memo=e),b}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
- 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
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)&&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 if("object"===_typeof(h)&&"object"===_typeof(i))f=_objectSpread(_objectSpread({},h),i);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;function mergeStyle(){tempDivForStyling||(tempDivForStyling=document.createElement("div"));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/merge-props.ts
6
6
  function mergeProps(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];if(0!==b.length){if(1===b.length)return b[0]||void 0;for(var d,e,f=0,g=b;f<(void 0).length;f++)if(e=(void 0)[f],"object"===_typeof(e)&&null!==e)for(var h in d||(d={}),e)"style"===h?d.style=mergeStyle(d.style,e.style):"class"===h?d["class"]=mergeClass(d["class"],e["class"]):d[h]=e[h];return d}}// src/state-context.ts
7
7
  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)&&null!==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,c){c?b.patch([e(a)]):b.patch(e(a))}return _classCallCheck(this,a),_defineProperty(this,"state",void 0),_defineProperty(this,"keys",void 0),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(){}},{key:"put",value:function b(a){}},{key:"patch",value:function b(a){}}])}();
@@ -1,6 +1,6 @@
1
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 _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 _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 _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:"object"===_typeof(b)?[a,b].concat(d):[a].concat(d)}function b(a,b,c){function e(a,b){return f.apply(this,arguments)}function f(){return f=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:return n.stats.liveEffectCount++,c.p=1,c.n=2,a;case 2:return d=c.v,c.n=3,o.patch(d,b);case 3:return c.p=3,n.stats.liveEffectCount--,c.f(3);case 4:return c.a(2)}},c,null,[[1,,3,4]])})),f.apply(this,arguments)}function g(a,b){return h.apply(this,arguments)}function h(){return h=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function c(a,b){var d,e;return _regenerator().w(function(c){for(;1;)switch(c.p=c.n){case 0:return d=a,n.stats.liveEffectCount++,c.p=1,c.n=2,d.next();case 2:e=c.v;case 3:if(!1!==e.done){c.n=9;break}return n.stats.liveEffectCount++,c.p=4,c.n=5,o.patch(e.value,b);case 5:return c.n=6,d.next();case 6:e=c.v;case 7:return c.p=7,n.stats.liveEffectCount--,c.f(7);case 8:c.n=3;break;case 9:return c.n=10,o.patch(e.value,b);case 10:return c.p=10,n.stats.liveEffectCount--,c.f(10);case 11:return c.a(2)}},c,null,[[4,,7,8],[1,,10,11]])})),h.apply(this,arguments)}function i(b){var d=performance.now(),e=c(n.state);if(n.vode=r(n.state,a.parentElement,0,0,n.vode,e),a.tagName.toUpperCase()!==e[0].toUpperCase()&&(a=n.vode.node,a._vode=n),!b){n.stats.lastSyncRenderTime=performance.now()-d;var f=n.isRendering!==n.stats.syncRenderPatchCount;n.stats.syncRenderCount++,n.isRendering=0,f&&n.renderSync()}}for(var j,k=arguments.length,l=Array(3<k?k-3:0),m=3;m<k;m++)l[m-3]=arguments[m];if(!(null!==(j=a)&&void 0!==j&&j.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 n={syncRenderer:N.requestAnimationFrame,asyncRenderer:N.startViewTransition,isRendering:0,qAsync:null,stats:{lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0}},o=b;"patch"in b&&"function"==typeof b.patch&&Array.isArray(b.patch.initialPatches)&&(l=[].concat(_toConsumableArray(b.patch.initialPatches),_toConsumableArray(l))),Object.defineProperty(b,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function c(a,b){for(var d;"function"==typeof a;)a=a(n.state);if(a&&"object"===_typeof(a)){if(n.stats.patchCount++,null!==(d=a)&&void 0!==d&&d.next)return g(a,b);if(a.then)return e(a,b);if(!Array.isArray(a))b?(n.stats.asyncRenderPatchCount++,n.qAsync=q(n.qAsync||{},a,!1),n.renderAsync()):(n.stats.syncRenderPatchCount++,q(n.state,a,!0),n.renderSync());else if(0<a.length){var f,h=_createForOfIteratorHelper(a);try{for(h.s();!(f=h.n()).done;){var i=f.value;o.patch(i,!document.hidden&&!!n.asyncRenderer)}}catch(a){h.e(a)}finally{h.f()}}else{q(n.state,n.qAsync,!0),n.qAsync=null;try{var j;null===(j=N.currentViewTransition)||void 0===j||j.skipTransition()}catch(a){}n.stats.syncRenderPatchCount++,n.renderSync()}}}});var p=i.bind(null,!1),s=i.bind(null,!0);Object.defineProperty(n,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:function a(){n.isRendering||(n.isRendering=n.stats.syncRenderPatchCount,n.syncRenderer(p))}}),Object.defineProperty(n,"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(!n.isAnimating&&n.qAsync){a.n=1;break}return a.a(2);case 1:return a.n=2,null===(b=N.currentViewTransition)||void 0===b?void 0:b.updateCallbackDone;case 2:if(!(n.isAnimating||!n.qAsync||document.hidden)){a.n=3;break}return a.a(2);case 3:return n.isAnimating=!0,c=performance.now(),a.p=4,n.state=q(n.state,n.qAsync,!0),n.qAsync=null,N.currentViewTransition=n.asyncRenderer(s),a.n=5,null===(d=N.currentViewTransition)||void 0===d?void 0:d.updateCallbackDone;case 5:return a.p=5,n.stats.lastAsyncRenderTime=performance.now()-c,n.stats.asyncRenderCount++,n.isAnimating=!1,a.f(5);case 6:n.qAsync&&n.renderAsync();case 7:return a.a(2)}},a,null,[[4,,5,6]])}));return a}()}),n.state=o;var t=a;t._vode=n;var u=Array.from(a.parentElement.children).indexOf(a),v=n.stats.syncRenderPatchCount;n.isRendering=n.stats.syncRenderPatchCount,n.vode=r(b,a.parentElement,u,u,d(a,!0),c(b));var w=n.stats.syncRenderPatchCount!==v;n.isRendering=0,n.stats.syncRenderCount++,w&&n.renderSync();var x,y=_createForOfIteratorHelper(l);try{for(y.s();!(x=y.n()).done;){var z=x.value;o.patch(z)}}catch(a){y.e(a)}finally{y.f()}return function(a){return o.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=j(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=l(a);if(g){var h,i=_createForOfIteratorHelper(g);try{for(i.s();!(h=i.n()).done;){var k=h.value;b(k)}}catch(a){i.e(a)}finally{i.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.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 child vode");if(b.__memo){var c=b;b=function b(a){return c(a)}}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"patch"in a||Object.defineProperty(a,"patch",{enumerable:!1,configurable:!0,writable:!1,value:function c(b){var d=a;Array.isArray(d.patch.initialPatches)||(d.patch.initialPatches=[]),d.patch.initialPatches.push(b)}}),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 j(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 l(a){var b=o(a);return 0<b?a.slice(b):null}function m(a){var b=o(a);return 0>b?0:a.length-b}function n(a,b){var c=o(a);return 0<c?a[b+c]:void 0}function o(a){return j(a)?2<a.length?2:-1:Array.isArray(a)&&1<a.length?1:-1}function q(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]=q({},e,c):"object"===_typeof(f)?q(a[d],e,c):a[d]=q({},e,c):Array.isArray(e)?a[d]=_toConsumableArray(e):e instanceof Date?a[d]=new Date(e):a[d]=q({},e,c)}else void 0===e&&c?delete a[d]:a[d]=e}return a}function r(a,b,c,e,f,g,h){try{var k,l;g=w(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,p=n?f:null===f||void 0===f?void 0:f.node;if(m)return s(a,f),void(null===p||void 0===p||p.remove());var q=!m&&v(g),y=!m&&u(g),z=!!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(!q&&!y&&!z&&!f)throw new Error("Invalid vode: "+_typeof(g)+" "+JSON.stringify(g));else z&&q?g=g.wholeText:z&&y&&(g=_toConsumableArray(g));if(n&&q)return p.nodeValue!==g&&(p.nodeValue=g),f;if(q&&(!p||!n)){var A=document.createTextNode(g);if(p)s(a,f),p.replaceWith(A);else{for(var B,C=!1,D=e;D<b.childNodes.length;D++)if(B=b.childNodes[D],B){B.before(A),C=!0;break}C||b.appendChild(A)}return A}if(y&&(!p||n||f[0]!==g[0])){var E=g;1 in E&&(E[1]=w(a,E[1],void 0));var F=j(g);void 0!==(null===F||void 0===F?void 0:F.xmlns)&&(h=F.xmlns);var G=h?document.createElementNS(h,g[0]):document.createElement(g[0]);if(g.node=G,x(a,G,void 0,F,null!==h&&void 0!==h?h:null),!!F&&"catch"in F&&(g.node["catch"]=null,g.node.removeAttribute("catch")),p)s(a,f),p.replaceWith(G);else{for(var H,I=!1,J=e;J<b.childNodes.length;J++)if(H=b.childNodes[J],H){H.before(G),I=!0;break}I||b.appendChild(G)}var K=o(g);if(0<K)for(var L=F?2:1,M=0,N=0;N<g.length-K;N++){var O=g[N+K],P=r(a,G,N,M,void 0,O,null!==h&&void 0!==h?h:null);g[N+L]=P,P&&M++}return g._unmountCount=(null!==F&&void 0!==F&&F.onUnmount?1:0)+t(g),"function"==typeof(null===F||void 0===F?void 0:F.onMount)&&a.patch(F.onMount(a,G)),g}if(!n&&y&&f[0]===g[0]){g.node=p;var Q=j(g),R=j(f);void 0!==(null===Q||void 0===Q?void 0:Q.xmlns)&&(h=Q.xmlns),x(a,p,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 S=o(g),T=o(f);if(0<S)for(var U=0,V=0;V<g.length-S;V++){var W=g[V+S],X=0<T?f[V+T]:void 0,Y=r(a,p,V,U,X,W,h);g[V+S]=Y,Y&&U++}if(0<T)for(var Z=0<S?g.length-S:0,$=f.length-1-T;$>=Z;$--)r(a,p,$,$,f[$+T],void 0,h);return g._unmountCount=(null!==Q&&void 0!==Q&&Q.onUnmount?1:0)+t(g),g}}catch(i){var _,aa=null===(_=j(g))||void 0===_?void 0:_["catch"];if(aa){var ba,ca="function"==typeof aa?aa(a,i):aa;return r(a,b,c,e,d((null===(ba=g)||void 0===ba?void 0:ba.node)||(null===f||void 0===f?void 0:f.node),!0),ca,h)}throw i}}function s(a,b){if(b&&Array.isArray(b)&&0!=(0|b._unmountCount)){var c=l(b);if(c)for(var d=c.length-1;0<=d;d--)s(a,c[d]);var e=j(b);"function"==typeof(null===e||void 0===e?void 0:e.onUnmount)&&a.patch(e.onUnmount(a,b.node))}}function t(a){var b=l(a);if(!b)return 0;var c,d=0,e=_createForOfIteratorHelper(b);try{for(e.s();!(c=e.n()).done;){var f=c.value;f&&Array.isArray(f)&&(d+=0|f._unmountCount)}}catch(a){e.e(a)}finally{e.f()}return d}function u(a){return Array.isArray(a)&&0<a.length&&"string"==typeof a[0]}function v(a){return"string"==typeof a||(null===a||void 0===a?void 0:a.nodeType)===Node.TEXT_NODE}function w(a,b,c){for(var d;"function"==typeof b&&!b.__memo;)b=b(a);if("function"!=typeof b)return b;var e=null===(d=b)||void 0===d?void 0:d.__memo,f=null===c||void 0===c?void 0:c.__memo;if(Array.isArray(e)&&Array.isArray(f)&&e.length===f.length){for(var g=!0,h=0;h<e.length;h++)if(e[h]!==f[h]){g=!1;break}if(g)return c}for(;"function"==typeof b;)b=b(a);return"object"===_typeof(b)&&(b.__memo=e),b}function x(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]=y(a,b,g,h,i,f):y(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]=y(a,b,j,void 0,k,f)}}else if(d)for(var l in d){var m=d[l];d[l]=y(a,b,l,void 0,m,f)}}}function y(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",z(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 z(a){return"string"==typeof a?a:Array.isArray(a)?a.map(z).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
- function A(){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
3
+ function A(){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)&&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 if("object"===_typeof(h)&&"object"===_typeof(i))f=_objectSpread(_objectSpread({},h),i);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
4
  function B(){M||(M=document.createElement("div"));try{for(var a=M.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{M.style.cssText=""}}// src/merge-props.ts
5
5
  function C(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];if(0!==b.length){if(1===b.length)return b[0]||void 0;for(var d,e,f=0,g=b;f<(void 0).length;f++)if(e=(void 0)[f],"object"===_typeof(e)&&null!==e)for(var h in d||(d={}),e)"style"===h?d.style=B(d.style,e.style):"class"===h?d["class"]=A(d["class"],e["class"]):d[h]=e[h];return d}}// src/state-context.ts
6
6
  function D(a){return new wd(a,[])}var E=Object.defineProperty,F=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,H=Object.prototype.hasOwnProperty,I=function c(a,b){for(var d in b)E(a,d,{get:b[d],enumerable:!0})},J=function e(a,b,c,d){if(b&&"object"===_typeof(b)||"function"==typeof b){var f,g=_createForOfIteratorHelper(G(b));try{var h=function e(){var g=f.value;H.call(a,g)||g===c||E(a,g,{get:function a(){return b[g]},enumerable:!(d=F(b,g))||d.enumerable})};for(g.s();!(f=g.n()).done;)h()}catch(a){g.e(a)}finally{g.f()}}return a},K=function b(a){return J(E({},"__esModule",{value:!0}),a)},L={};// index.ts
package/dist/vode.js CHANGED
@@ -1110,8 +1110,6 @@ var V = (() => {
1110
1110
  finalClass = { [a]: true, ...b };
1111
1111
  } else if (typeof a === "object" && typeof b === "string") {
1112
1112
  finalClass = { ...a, [b]: true };
1113
- } else if (typeof a === "object" && typeof b === "object") {
1114
- finalClass = { ...a, ...b };
1115
1113
  } else if (typeof a === "object" && Array.isArray(b)) {
1116
1114
  const aa = { ...a };
1117
1115
  for (const item of b) {
@@ -1127,6 +1125,8 @@ var V = (() => {
1127
1125
  aa[bKey] = b[bKey];
1128
1126
  }
1129
1127
  finalClass = aa;
1128
+ } else if (typeof a === "object" && typeof b === "object") {
1129
+ finalClass = { ...a, ...b };
1130
1130
  } else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${b} (${typeof b})`);
1131
1131
  }
1132
1132
  return finalClass;
package/dist/vode.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";var V=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var q=(e,n)=>{for(var s in n)v(e,s,{get:n[s],enumerable:!0})},w=(e,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of _(n))!K.call(e,t)&&t!==s&&v(e,t,{get:()=>n[t],enumerable:!(a=B(n,t))||a.enumerable});return e};var X=e=>w(v({},"__esModule",{value:!0}),e);var Xo={};q(Xo,{A:()=>ot,ABBR:()=>at,ADDRESS:()=>st,ANIMATE:()=>cn,ANIMATEMOTION:()=>ln,ANIMATETRANSFORM:()=>fn,ANNOTATION:()=>uo,ANNOTATION_XML:()=>To,AREA:()=>rt,ARTICLE:()=>ct,ASIDE:()=>it,AUDIO:()=>lt,B:()=>ft,BASE:()=>pt,BDI:()=>St,BDO:()=>ut,BLOCKQUOTE:()=>dt,BODY:()=>Tt,BR:()=>yt,BUTTON:()=>gt,CANVAS:()=>ht,CAPTION:()=>xt,CIRCLE:()=>pn,CITE:()=>mt,CLIPPATH:()=>Sn,CODE:()=>bt,COL:()=>Et,COLGROUP:()=>Pt,DATA:()=>At,DATALIST:()=>Ct,DD:()=>Mt,DEFS:()=>un,DEL:()=>Rt,DESC:()=>dn,DETAILS:()=>Nt,DFN:()=>Ot,DIALOG:()=>Dt,DIV:()=>Lt,DL:()=>vt,DT:()=>It,ELLIPSE:()=>Tn,EM:()=>Vt,EMBED:()=>Ft,FEBLEND:()=>yn,FECOLORMATRIX:()=>gn,FECOMPONENTTRANSFER:()=>hn,FECOMPOSITE:()=>xn,FECONVOLVEMATRIX:()=>mn,FEDIFFUSELIGHTING:()=>bn,FEDISPLACEMENTMAP:()=>En,FEDISTANTLIGHT:()=>Pn,FEDROPSHADOW:()=>An,FEFLOOD:()=>Cn,FEFUNCA:()=>Mn,FEFUNCB:()=>Rn,FEFUNCG:()=>Nn,FEFUNCR:()=>On,FEGAUSSIANBLUR:()=>Dn,FEIMAGE:()=>Ln,FEMERGE:()=>vn,FEMERGENODE:()=>In,FEMORPHOLOGY:()=>Vn,FEOFFSET:()=>Fn,FEPOINTLIGHT:()=>Hn,FESPECULARLIGHTING:()=>Gn,FESPOTLIGHT:()=>jn,FETILE:()=>Un,FETURBULENCE:()=>kn,FIELDSET:()=>Ht,FIGCAPTION:()=>Gt,FIGURE:()=>jt,FILTER:()=>Bn,FOOTER:()=>Ut,FOREIGNOBJECT:()=>_n,FORM:()=>kt,G:()=>Kn,H1:()=>Bt,H2:()=>_t,H3:()=>Kt,H4:()=>qt,H5:()=>wt,H6:()=>Xt,HEAD:()=>Yt,HEADER:()=>Wt,HGROUP:()=>$t,HR:()=>Jt,HTML:()=>Qt,I:()=>zt,IFRAME:()=>Zt,IMAGE:()=>qn,IMG:()=>te,INPUT:()=>ee,INS:()=>ne,KBD:()=>oe,LABEL:()=>ae,LEGEND:()=>se,LI:()=>re,LINE:()=>wn,LINEARGRADIENT:()=>Xn,LINK:()=>ce,MACTION:()=>yo,MAIN:()=>ie,MAP:()=>le,MARK:()=>fe,MARKER:()=>Yn,MASK:()=>Wn,MATH:()=>go,MENU:()=>pe,MERROR:()=>ho,META:()=>Se,METADATA:()=>$n,METER:()=>ue,MFRAC:()=>xo,MI:()=>mo,MMULTISCRIPTS:()=>bo,MN:()=>Eo,MO:()=>Po,MOVER:()=>Ao,MPADDED:()=>Co,MPATH:()=>Jn,MPHANTOM:()=>Mo,MPRESCRIPTS:()=>Ro,MROOT:()=>No,MROW:()=>Oo,MS:()=>Do,MSPACE:()=>Lo,MSQRT:()=>vo,MSTYLE:()=>Io,MSUB:()=>Vo,MSUBSUP:()=>Fo,MSUP:()=>Ho,MTABLE:()=>Go,MTD:()=>jo,MTEXT:()=>Uo,MTR:()=>ko,MUNDER:()=>Bo,MUNDEROVER:()=>_o,NAV:()=>de,NOSCRIPT:()=>Te,OBJECT:()=>ye,OL:()=>ge,OPTGROUP:()=>he,OPTION:()=>xe,OUTPUT:()=>me,P:()=>be,PATH:()=>Qn,PATTERN:()=>zn,PICTURE:()=>Ee,POLYGON:()=>Zn,POLYLINE:()=>to,PRE:()=>Pe,PROGRESS:()=>Ae,Q:()=>Ce,RADIALGRADIENT:()=>eo,RECT:()=>no,RP:()=>Me,RT:()=>Re,RUBY:()=>Ne,S:()=>Oe,SAMP:()=>De,SCRIPT:()=>Le,SEARCH:()=>ve,SECTION:()=>Ie,SELECT:()=>Ve,SEMANTICS:()=>Ko,SET:()=>oo,SLOT:()=>Fe,SMALL:()=>He,SOURCE:()=>Ge,SPAN:()=>je,STOP:()=>ao,STRONG:()=>Ue,STYLE:()=>ke,SUB:()=>Be,SUMMARY:()=>_e,SUP:()=>Ke,SVG:()=>so,SWITCH:()=>ro,SYMBOL:()=>co,TABLE:()=>qe,TBODY:()=>we,TD:()=>Xe,TEMPLATE:()=>Ye,TEXT:()=>io,TEXTAREA:()=>We,TEXTPATH:()=>lo,TFOOT:()=>$e,TH:()=>Je,THEAD:()=>Qe,TIME:()=>ze,TITLE:()=>Ze,TR:()=>tn,TRACK:()=>en,TSPAN:()=>fo,U:()=>nn,UL:()=>on,USE:()=>po,VAR:()=>an,VIDEO:()=>sn,VIEW:()=>So,WBR:()=>rn,app:()=>W,child:()=>tt,childCount:()=>Z,children:()=>O,childrenStart:()=>P,context:()=>wo,createPatch:()=>Q,createState:()=>J,defuse:()=>I,globals:()=>E,hydrate:()=>N,memo:()=>$,mergeClass:()=>V,mergeProps:()=>qo,mergeStyle:()=>F,props:()=>m,tag:()=>z,vode:()=>Y});var E={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function Y(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function W(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=E.requestAnimationFrame,t.asyncRenderer=E.startViewTransition,t.isRendering=0,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]);async function r(c,S){t.stats.liveEffectCount++;try{let d=await c;await o.patch(d,S)}finally{t.stats.liveEffectCount--}}async function f(c,S){let d=c;t.stats.liveEffectCount++;try{let p=await d.next();for(;p.done===!1;){t.stats.liveEffectCount++;try{await o.patch(p.value,S),p=await d.next()}finally{t.stats.liveEffectCount--}}await o.patch(p.value,S)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,S)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object")){if(t.stats.patchCount++,c?.next)return f(c,S);if(c.then)return r(c,S);if(Array.isArray(c))if(c.length>0)for(let d of c)o.patch(d,!document.hidden&&!!t.asyncRenderer);else{b(t.state,t.qAsync,!0),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else S?(t.stats.asyncRenderPatchCount++,t.qAsync=b(t.qAsync||{},c,!1),t.renderAsync()):(t.stats.syncRenderPatchCount++,b(t.state,c,!0),t.renderSync())}}});function i(c){let S=performance.now(),d=s(t.state);if(t.vode=A(t.state,e.parentElement,0,0,t.vode,d),e.tagName.toUpperCase()!==d[0].toUpperCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-S;let p=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,p&&t.renderSync()}}let l=i.bind(null,!1),g=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(l))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=b(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(g),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let u=e;u._vode=t;let x=Array.from(e.parentElement.children).indexOf(e),T=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=A(n,e.parentElement,x,x,N(e,!0),s(n));let y=t.stats.syncRenderPatchCount!==T;t.isRendering=0,t.stats.syncRenderCount++,y&&t.renderSync();for(let c of a)o.patch(c);return c=>o.patch(c)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=m(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=O(t);if(r)for(let f of r)s(f)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)I(s)}function N(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&N(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function $(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=a=>s(a)}return n.__memo=e,n}function J(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function Q(e){return e}function z(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function m(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let n=P(e);return n>0?e.slice(n):null}function Z(e){let n=P(e);return n<0?0:e.length-n}function tt(e,n){let s=P(e);if(s>0)return e[n+s]}function P(e){return m(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function b(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=b({},t,s):typeof o=="object"?b(e[a],t,s):e[a]=b({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=b({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function A(e,n,s,a,t,o,r){try{o=j(e,o,t);let f=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&f)return t;let i=t?.nodeType===Node.TEXT_NODE,l=i?t:t?.node;if(f){R(e,t),l?.remove();return}let g=!f&&nt(o),u=!f&&et(o),x=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!g&&!u&&!x&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(x&&g?o=o.wholeText:x&&u&&(o=[...o]),i&&g)return l.nodeValue!==o&&(l.nodeValue=o),t;if(g&&(!l||!i)){let T=document.createTextNode(o);if(l)R(e,t),l.replaceWith(T);else{let y=!1;for(let c=a;c<n.childNodes.length;c++){let S=n.childNodes[c];if(S){S.before(T),y=!0;break}}y||n.appendChild(T)}return T}if(u&&(!l||i||t[0]!==o[0])){let T=o;1 in T&&(T[1]=j(e,T[1],void 0));let y=m(o);y?.xmlns!==void 0&&(r=y.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,U(e,c,void 0,y,r??null),y&&"catch"in y&&(o.node.catch=null,o.node.removeAttribute("catch")),l)R(e,t),l.replaceWith(c);else{let d=!1;for(let p=a;p<n.childNodes.length;p++){let h=n.childNodes[p];if(h){h.before(c),d=!0;break}}d||n.appendChild(c)}let S=P(o);if(S>0){let d=y?2:1,p=0;for(let h=0;h<o.length-S;h++){let L=o[h+S],C=A(e,c,h,p,void 0,L,r??null);o[h+d]=C,C&&p++}}return o._unmountCount=(y?.onUnmount?1:0)+G(o),typeof y?.onMount=="function"&&e.patch(y.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=l;let T=m(o),y=m(t);T?.xmlns!==void 0&&(r=T.xmlns),U(e,l,y,T,r),T?.catch&&y?.catch!==T.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=P(o),S=P(t);if(c>0){let d=0;for(let p=0;p<o.length-c;p++){let h=o[p+c],L=S>0?t[p+S]:void 0,C=A(e,l,p,d,L,h,r);o[p+c]=C,C&&d++}}if(S>0){let d=c>0?o.length-c:0;for(let p=t.length-1-S;p>=d;p--)A(e,l,p,p,t[p+S],void 0,r)}return o._unmountCount=(T?.onUnmount?1:0)+G(o),o}}catch(f){let i=m(o)?.catch;if(i){let l=typeof i=="function"?i(e,f):i;return A(e,n,s,a,N(o?.node||t?.node,!0),l,r)}else throw f}}function R(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=O(n);if(s)for(let t=s.length-1;t>=0;t--)R(e,s[t]);let a=m(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function G(e){let n=O(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function et(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function nt(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function j(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let o=!0;for(let r=0;r<a.length;r++)if(a[r]!==t[r]){o=!1;break}if(o)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=a),n}function U(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let f=s[r],i=a?.[r];f!==i&&(a?a[r]=M(e,n,r,f,i,o):M(e,n,r,f,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}else if(a)for(let r in a){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}function M(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let f=a[r],i=t[r];f!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",k(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let f=t;r=i=>e.patch(f(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function k(e){return typeof e=="string"?e:Array.isArray(e)?e.map(k).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var ot="a",at="abbr",st="address",rt="area",ct="article",it="aside",lt="audio",ft="b",pt="base",St="bdi",ut="bdo",dt="blockquote",Tt="body",yt="br",gt="button",ht="canvas",xt="caption",mt="cite",bt="code",Et="col",Pt="colgroup",At="data",Ct="datalist",Mt="dd",Rt="del",Nt="details",Ot="dfn",Dt="dialog",Lt="div",vt="dl",It="dt",Vt="em",Ft="embed",Ht="fieldset",Gt="figcaption",jt="figure",Ut="footer",kt="form",Bt="h1",_t="h2",Kt="h3",qt="h4",wt="h5",Xt="h6",Yt="head",Wt="header",$t="hgroup",Jt="hr",Qt="html",zt="i",Zt="iframe",te="img",ee="input",ne="ins",oe="kbd",ae="label",se="legend",re="li",ce="link",ie="main",le="map",fe="mark",pe="menu",Se="meta",ue="meter",de="nav",Te="noscript",ye="object",ge="ol",he="optgroup",xe="option",me="output",be="p",Ee="picture",Pe="pre",Ae="progress",Ce="q",Me="rp",Re="rt",Ne="ruby",Oe="s",De="samp",Le="script",ve="search",Ie="section",Ve="select",Fe="slot",He="small",Ge="source",je="span",Ue="strong",ke="style",Be="sub",_e="summary",Ke="sup",qe="table",we="tbody",Xe="td",Ye="template",We="textarea",$e="tfoot",Je="th",Qe="thead",ze="time",Ze="title",tn="tr",en="track",nn="u",on="ul",an="var",sn="video",rn="wbr",cn="animate",ln="animateMotion",fn="animateTransform",pn="circle",Sn="clipPath",un="defs",dn="desc",Tn="ellipse",yn="feBlend",gn="feColorMatrix",hn="feComponentTransfer",xn="feComposite",mn="feConvolveMatrix",bn="feDiffuseLighting",En="feDisplacementMap",Pn="feDistantLight",An="feDropShadow",Cn="feFlood",Mn="feFuncA",Rn="feFuncB",Nn="feFuncG",On="feFuncR",Dn="feGaussianBlur",Ln="feImage",vn="feMerge",In="feMergeNode",Vn="feMorphology",Fn="feOffset",Hn="fePointLight",Gn="feSpecularLighting",jn="feSpotLight",Un="feTile",kn="feTurbulence",Bn="filter",_n="foreignObject",Kn="g",qn="image",wn="line",Xn="linearGradient",Yn="marker",Wn="mask",$n="metadata",Jn="mpath",Qn="path",zn="pattern",Zn="polygon",to="polyline",eo="radialGradient",no="rect",oo="set",ao="stop",so="svg",ro="switch",co="symbol",io="text",lo="textPath",fo="tspan",po="use",So="view",uo="annotation",To="annotation-xml",yo="maction",go="math",ho="merror",xo="mfrac",mo="mi",bo="mmultiscripts",Eo="mn",Po="mo",Ao="mover",Co="mpadded",Mo="mphantom",Ro="mprescripts",No="mroot",Oo="mrow",Do="ms",Lo="mspace",vo="msqrt",Io="mstyle",Vo="msub",Fo="msubsup",Ho="msup",Go="mtable",jo="mtd",Uo="mtext",ko="mtr",Bo="munder",_o="munderover",Ko="semantics";function V(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),f=new Set([...o,...r]);n=Array.from(f).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&typeof t=="object")n={...a,...t};else if(typeof a=="object"&&Array.isArray(t)){let o={...a};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(a)&&typeof t=="object"){let o={};for(let r of a)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var D;function F(...e){D||(D=document.createElement("div"));try{let n=D.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{D.style.cssText=""}}function qo(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=F(n.style,s.style):a==="class"?n.class=V(n.class,s.class):n[a]=s[a]}return n}function wo(e){return new H(e,[])}var H=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,l){if(s.length>1){let g=0,u=l[s[g]];for((typeof u!="object"||u===null)&&(l[s[g]]=u={}),g=1;g<s.length-1;g++){let x=u;u=u[s[g]],(typeof u!="object"||u===null)&&(x[s[g]]=u={})}u[s[g]]=i}else s.length===1?typeof l[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(l[s[0]],i):l[s[0]]=i:Object.assign(l,i)}function t(i){let l={};return a(i,l),l}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let l=1;l<s.length&&i;l++)i=i[s[l]];return i}function r(i){a(i,n)}function f(i,l){l?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,l,g)=>{if(l==="state")return n;if(l==="get")return o;if(l==="put")return r;if(l==="patch")return f;let u=[...i.keys,String(l)];return new e(i.state,u)}})}state;keys;get(){}put(n){}patch(n){}};return X(Xo);})();
1
+ "use strict";var V=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var q=(e,n)=>{for(var s in n)v(e,s,{get:n[s],enumerable:!0})},w=(e,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of _(n))!K.call(e,t)&&t!==s&&v(e,t,{get:()=>n[t],enumerable:!(a=B(n,t))||a.enumerable});return e};var X=e=>w(v({},"__esModule",{value:!0}),e);var Xo={};q(Xo,{A:()=>ot,ABBR:()=>at,ADDRESS:()=>st,ANIMATE:()=>cn,ANIMATEMOTION:()=>ln,ANIMATETRANSFORM:()=>fn,ANNOTATION:()=>uo,ANNOTATION_XML:()=>To,AREA:()=>rt,ARTICLE:()=>ct,ASIDE:()=>it,AUDIO:()=>lt,B:()=>ft,BASE:()=>pt,BDI:()=>St,BDO:()=>ut,BLOCKQUOTE:()=>dt,BODY:()=>Tt,BR:()=>yt,BUTTON:()=>gt,CANVAS:()=>ht,CAPTION:()=>xt,CIRCLE:()=>pn,CITE:()=>mt,CLIPPATH:()=>Sn,CODE:()=>bt,COL:()=>Et,COLGROUP:()=>Pt,DATA:()=>At,DATALIST:()=>Ct,DD:()=>Mt,DEFS:()=>un,DEL:()=>Rt,DESC:()=>dn,DETAILS:()=>Nt,DFN:()=>Ot,DIALOG:()=>Dt,DIV:()=>Lt,DL:()=>vt,DT:()=>It,ELLIPSE:()=>Tn,EM:()=>Vt,EMBED:()=>Ft,FEBLEND:()=>yn,FECOLORMATRIX:()=>gn,FECOMPONENTTRANSFER:()=>hn,FECOMPOSITE:()=>xn,FECONVOLVEMATRIX:()=>mn,FEDIFFUSELIGHTING:()=>bn,FEDISPLACEMENTMAP:()=>En,FEDISTANTLIGHT:()=>Pn,FEDROPSHADOW:()=>An,FEFLOOD:()=>Cn,FEFUNCA:()=>Mn,FEFUNCB:()=>Rn,FEFUNCG:()=>Nn,FEFUNCR:()=>On,FEGAUSSIANBLUR:()=>Dn,FEIMAGE:()=>Ln,FEMERGE:()=>vn,FEMERGENODE:()=>In,FEMORPHOLOGY:()=>Vn,FEOFFSET:()=>Fn,FEPOINTLIGHT:()=>Hn,FESPECULARLIGHTING:()=>Gn,FESPOTLIGHT:()=>jn,FETILE:()=>Un,FETURBULENCE:()=>kn,FIELDSET:()=>Ht,FIGCAPTION:()=>Gt,FIGURE:()=>jt,FILTER:()=>Bn,FOOTER:()=>Ut,FOREIGNOBJECT:()=>_n,FORM:()=>kt,G:()=>Kn,H1:()=>Bt,H2:()=>_t,H3:()=>Kt,H4:()=>qt,H5:()=>wt,H6:()=>Xt,HEAD:()=>Yt,HEADER:()=>Wt,HGROUP:()=>$t,HR:()=>Jt,HTML:()=>Qt,I:()=>zt,IFRAME:()=>Zt,IMAGE:()=>qn,IMG:()=>te,INPUT:()=>ee,INS:()=>ne,KBD:()=>oe,LABEL:()=>ae,LEGEND:()=>se,LI:()=>re,LINE:()=>wn,LINEARGRADIENT:()=>Xn,LINK:()=>ce,MACTION:()=>yo,MAIN:()=>ie,MAP:()=>le,MARK:()=>fe,MARKER:()=>Yn,MASK:()=>Wn,MATH:()=>go,MENU:()=>pe,MERROR:()=>ho,META:()=>Se,METADATA:()=>$n,METER:()=>ue,MFRAC:()=>xo,MI:()=>mo,MMULTISCRIPTS:()=>bo,MN:()=>Eo,MO:()=>Po,MOVER:()=>Ao,MPADDED:()=>Co,MPATH:()=>Jn,MPHANTOM:()=>Mo,MPRESCRIPTS:()=>Ro,MROOT:()=>No,MROW:()=>Oo,MS:()=>Do,MSPACE:()=>Lo,MSQRT:()=>vo,MSTYLE:()=>Io,MSUB:()=>Vo,MSUBSUP:()=>Fo,MSUP:()=>Ho,MTABLE:()=>Go,MTD:()=>jo,MTEXT:()=>Uo,MTR:()=>ko,MUNDER:()=>Bo,MUNDEROVER:()=>_o,NAV:()=>de,NOSCRIPT:()=>Te,OBJECT:()=>ye,OL:()=>ge,OPTGROUP:()=>he,OPTION:()=>xe,OUTPUT:()=>me,P:()=>be,PATH:()=>Qn,PATTERN:()=>zn,PICTURE:()=>Ee,POLYGON:()=>Zn,POLYLINE:()=>to,PRE:()=>Pe,PROGRESS:()=>Ae,Q:()=>Ce,RADIALGRADIENT:()=>eo,RECT:()=>no,RP:()=>Me,RT:()=>Re,RUBY:()=>Ne,S:()=>Oe,SAMP:()=>De,SCRIPT:()=>Le,SEARCH:()=>ve,SECTION:()=>Ie,SELECT:()=>Ve,SEMANTICS:()=>Ko,SET:()=>oo,SLOT:()=>Fe,SMALL:()=>He,SOURCE:()=>Ge,SPAN:()=>je,STOP:()=>ao,STRONG:()=>Ue,STYLE:()=>ke,SUB:()=>Be,SUMMARY:()=>_e,SUP:()=>Ke,SVG:()=>so,SWITCH:()=>ro,SYMBOL:()=>co,TABLE:()=>qe,TBODY:()=>we,TD:()=>Xe,TEMPLATE:()=>Ye,TEXT:()=>io,TEXTAREA:()=>We,TEXTPATH:()=>lo,TFOOT:()=>$e,TH:()=>Je,THEAD:()=>Qe,TIME:()=>ze,TITLE:()=>Ze,TR:()=>tn,TRACK:()=>en,TSPAN:()=>fo,U:()=>nn,UL:()=>on,USE:()=>po,VAR:()=>an,VIDEO:()=>sn,VIEW:()=>So,WBR:()=>rn,app:()=>W,child:()=>tt,childCount:()=>Z,children:()=>O,childrenStart:()=>P,context:()=>wo,createPatch:()=>Q,createState:()=>J,defuse:()=>I,globals:()=>E,hydrate:()=>N,memo:()=>$,mergeClass:()=>V,mergeProps:()=>qo,mergeStyle:()=>F,props:()=>m,tag:()=>z,vode:()=>Y});var E={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function Y(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function W(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=E.requestAnimationFrame,t.asyncRenderer=E.startViewTransition,t.isRendering=0,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]);async function r(c,S){t.stats.liveEffectCount++;try{let d=await c;await o.patch(d,S)}finally{t.stats.liveEffectCount--}}async function f(c,S){let d=c;t.stats.liveEffectCount++;try{let p=await d.next();for(;p.done===!1;){t.stats.liveEffectCount++;try{await o.patch(p.value,S),p=await d.next()}finally{t.stats.liveEffectCount--}}await o.patch(p.value,S)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,S)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object")){if(t.stats.patchCount++,c?.next)return f(c,S);if(c.then)return r(c,S);if(Array.isArray(c))if(c.length>0)for(let d of c)o.patch(d,!document.hidden&&!!t.asyncRenderer);else{b(t.state,t.qAsync,!0),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else S?(t.stats.asyncRenderPatchCount++,t.qAsync=b(t.qAsync||{},c,!1),t.renderAsync()):(t.stats.syncRenderPatchCount++,b(t.state,c,!0),t.renderSync())}}});function i(c){let S=performance.now(),d=s(t.state);if(t.vode=A(t.state,e.parentElement,0,0,t.vode,d),e.tagName.toUpperCase()!==d[0].toUpperCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-S;let p=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,p&&t.renderSync()}}let l=i.bind(null,!1),g=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(l))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=b(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(g),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let u=e;u._vode=t;let x=Array.from(e.parentElement.children).indexOf(e),T=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=A(n,e.parentElement,x,x,N(e,!0),s(n));let y=t.stats.syncRenderPatchCount!==T;t.isRendering=0,t.stats.syncRenderCount++,y&&t.renderSync();for(let c of a)o.patch(c);return c=>o.patch(c)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=m(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=O(t);if(r)for(let f of r)s(f)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)I(s)}function N(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&N(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function $(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=a=>s(a)}return n.__memo=e,n}function J(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function Q(e){return e}function z(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function m(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let n=P(e);return n>0?e.slice(n):null}function Z(e){let n=P(e);return n<0?0:e.length-n}function tt(e,n){let s=P(e);if(s>0)return e[n+s]}function P(e){return m(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function b(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=b({},t,s):typeof o=="object"?b(e[a],t,s):e[a]=b({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=b({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function A(e,n,s,a,t,o,r){try{o=j(e,o,t);let f=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&f)return t;let i=t?.nodeType===Node.TEXT_NODE,l=i?t:t?.node;if(f){R(e,t),l?.remove();return}let g=!f&&nt(o),u=!f&&et(o),x=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!g&&!u&&!x&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(x&&g?o=o.wholeText:x&&u&&(o=[...o]),i&&g)return l.nodeValue!==o&&(l.nodeValue=o),t;if(g&&(!l||!i)){let T=document.createTextNode(o);if(l)R(e,t),l.replaceWith(T);else{let y=!1;for(let c=a;c<n.childNodes.length;c++){let S=n.childNodes[c];if(S){S.before(T),y=!0;break}}y||n.appendChild(T)}return T}if(u&&(!l||i||t[0]!==o[0])){let T=o;1 in T&&(T[1]=j(e,T[1],void 0));let y=m(o);y?.xmlns!==void 0&&(r=y.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,U(e,c,void 0,y,r??null),y&&"catch"in y&&(o.node.catch=null,o.node.removeAttribute("catch")),l)R(e,t),l.replaceWith(c);else{let d=!1;for(let p=a;p<n.childNodes.length;p++){let h=n.childNodes[p];if(h){h.before(c),d=!0;break}}d||n.appendChild(c)}let S=P(o);if(S>0){let d=y?2:1,p=0;for(let h=0;h<o.length-S;h++){let L=o[h+S],C=A(e,c,h,p,void 0,L,r??null);o[h+d]=C,C&&p++}}return o._unmountCount=(y?.onUnmount?1:0)+G(o),typeof y?.onMount=="function"&&e.patch(y.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=l;let T=m(o),y=m(t);T?.xmlns!==void 0&&(r=T.xmlns),U(e,l,y,T,r),T?.catch&&y?.catch!==T.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=P(o),S=P(t);if(c>0){let d=0;for(let p=0;p<o.length-c;p++){let h=o[p+c],L=S>0?t[p+S]:void 0,C=A(e,l,p,d,L,h,r);o[p+c]=C,C&&d++}}if(S>0){let d=c>0?o.length-c:0;for(let p=t.length-1-S;p>=d;p--)A(e,l,p,p,t[p+S],void 0,r)}return o._unmountCount=(T?.onUnmount?1:0)+G(o),o}}catch(f){let i=m(o)?.catch;if(i){let l=typeof i=="function"?i(e,f):i;return A(e,n,s,a,N(o?.node||t?.node,!0),l,r)}else throw f}}function R(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=O(n);if(s)for(let t=s.length-1;t>=0;t--)R(e,s[t]);let a=m(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function G(e){let n=O(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function et(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function nt(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function j(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let o=!0;for(let r=0;r<a.length;r++)if(a[r]!==t[r]){o=!1;break}if(o)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=a),n}function U(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let f=s[r],i=a?.[r];f!==i&&(a?a[r]=M(e,n,r,f,i,o):M(e,n,r,f,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}else if(a)for(let r in a){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}function M(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let f=a[r],i=t[r];f!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",k(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let f=t;r=i=>e.patch(f(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function k(e){return typeof e=="string"?e:Array.isArray(e)?e.map(k).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var ot="a",at="abbr",st="address",rt="area",ct="article",it="aside",lt="audio",ft="b",pt="base",St="bdi",ut="bdo",dt="blockquote",Tt="body",yt="br",gt="button",ht="canvas",xt="caption",mt="cite",bt="code",Et="col",Pt="colgroup",At="data",Ct="datalist",Mt="dd",Rt="del",Nt="details",Ot="dfn",Dt="dialog",Lt="div",vt="dl",It="dt",Vt="em",Ft="embed",Ht="fieldset",Gt="figcaption",jt="figure",Ut="footer",kt="form",Bt="h1",_t="h2",Kt="h3",qt="h4",wt="h5",Xt="h6",Yt="head",Wt="header",$t="hgroup",Jt="hr",Qt="html",zt="i",Zt="iframe",te="img",ee="input",ne="ins",oe="kbd",ae="label",se="legend",re="li",ce="link",ie="main",le="map",fe="mark",pe="menu",Se="meta",ue="meter",de="nav",Te="noscript",ye="object",ge="ol",he="optgroup",xe="option",me="output",be="p",Ee="picture",Pe="pre",Ae="progress",Ce="q",Me="rp",Re="rt",Ne="ruby",Oe="s",De="samp",Le="script",ve="search",Ie="section",Ve="select",Fe="slot",He="small",Ge="source",je="span",Ue="strong",ke="style",Be="sub",_e="summary",Ke="sup",qe="table",we="tbody",Xe="td",Ye="template",We="textarea",$e="tfoot",Je="th",Qe="thead",ze="time",Ze="title",tn="tr",en="track",nn="u",on="ul",an="var",sn="video",rn="wbr",cn="animate",ln="animateMotion",fn="animateTransform",pn="circle",Sn="clipPath",un="defs",dn="desc",Tn="ellipse",yn="feBlend",gn="feColorMatrix",hn="feComponentTransfer",xn="feComposite",mn="feConvolveMatrix",bn="feDiffuseLighting",En="feDisplacementMap",Pn="feDistantLight",An="feDropShadow",Cn="feFlood",Mn="feFuncA",Rn="feFuncB",Nn="feFuncG",On="feFuncR",Dn="feGaussianBlur",Ln="feImage",vn="feMerge",In="feMergeNode",Vn="feMorphology",Fn="feOffset",Hn="fePointLight",Gn="feSpecularLighting",jn="feSpotLight",Un="feTile",kn="feTurbulence",Bn="filter",_n="foreignObject",Kn="g",qn="image",wn="line",Xn="linearGradient",Yn="marker",Wn="mask",$n="metadata",Jn="mpath",Qn="path",zn="pattern",Zn="polygon",to="polyline",eo="radialGradient",no="rect",oo="set",ao="stop",so="svg",ro="switch",co="symbol",io="text",lo="textPath",fo="tspan",po="use",So="view",uo="annotation",To="annotation-xml",yo="maction",go="math",ho="merror",xo="mfrac",mo="mi",bo="mmultiscripts",Eo="mn",Po="mo",Ao="mover",Co="mpadded",Mo="mphantom",Ro="mprescripts",No="mroot",Oo="mrow",Do="ms",Lo="mspace",vo="msqrt",Io="mstyle",Vo="msub",Fo="msubsup",Ho="msup",Go="mtable",jo="mtd",Uo="mtext",ko="mtr",Bo="munder",_o="munderover",Ko="semantics";function V(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),f=new Set([...o,...r]);n=Array.from(f).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&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 if(typeof a=="object"&&typeof t=="object")n={...a,...t};else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var D;function F(...e){D||(D=document.createElement("div"));try{let n=D.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{D.style.cssText=""}}function qo(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=F(n.style,s.style):a==="class"?n.class=V(n.class,s.class):n[a]=s[a]}return n}function wo(e){return new H(e,[])}var H=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,l){if(s.length>1){let g=0,u=l[s[g]];for((typeof u!="object"||u===null)&&(l[s[g]]=u={}),g=1;g<s.length-1;g++){let x=u;u=u[s[g]],(typeof u!="object"||u===null)&&(x[s[g]]=u={})}u[s[g]]=i}else s.length===1?typeof l[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(l[s[0]],i):l[s[0]]=i:Object.assign(l,i)}function t(i){let l={};return a(i,l),l}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let l=1;l<s.length&&i;l++)i=i[s[l]];return i}function r(i){a(i,n)}function f(i,l){l?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,l,g)=>{if(l==="state")return n;if(l==="get")return o;if(l==="put")return r;if(l==="patch")return f;let u=[...i.keys,String(l)];return new e(i.state,u)}})}state;keys;get(){}put(n){}patch(n){}};return X(Xo);})();
package/dist/vode.min.mjs CHANGED
@@ -1 +1 @@
1
- var E={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function _(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function K(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=E.requestAnimationFrame,t.asyncRenderer=E.startViewTransition,t.isRendering=0,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]);async function r(c,S){t.stats.liveEffectCount++;try{let d=await c;await o.patch(d,S)}finally{t.stats.liveEffectCount--}}async function f(c,S){let d=c;t.stats.liveEffectCount++;try{let p=await d.next();for(;p.done===!1;){t.stats.liveEffectCount++;try{await o.patch(p.value,S),p=await d.next()}finally{t.stats.liveEffectCount--}}await o.patch(p.value,S)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,S)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object")){if(t.stats.patchCount++,c?.next)return f(c,S);if(c.then)return r(c,S);if(Array.isArray(c))if(c.length>0)for(let d of c)o.patch(d,!document.hidden&&!!t.asyncRenderer);else{m(t.state,t.qAsync,!0),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else S?(t.stats.asyncRenderPatchCount++,t.qAsync=m(t.qAsync||{},c,!1),t.renderAsync()):(t.stats.syncRenderPatchCount++,m(t.state,c,!0),t.renderSync())}}});function i(c){let S=performance.now(),d=s(t.state);if(t.vode=P(t.state,e.parentElement,0,0,t.vode,d),e.tagName.toUpperCase()!==d[0].toUpperCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-S;let p=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,p&&t.renderSync()}}let l=i.bind(null,!1),g=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(l))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=m(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(g),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let u=e;u._vode=t;let x=Array.from(e.parentElement.children).indexOf(e),T=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=P(n,e.parentElement,x,x,D(e,!0),s(n));let y=t.stats.syncRenderPatchCount!==T;t.isRendering=0,t.stats.syncRenderCount++,y&&t.renderSync();for(let c of a)o.patch(c);return c=>o.patch(c)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=b(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=L(t);if(r)for(let f of r)s(f)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)I(s)}function D(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&D(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function q(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=a=>s(a)}return n.__memo=e,n}function w(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function X(e){return e}function Y(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function b(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function L(e){let n=A(e);return n>0?e.slice(n):null}function W(e){let n=A(e);return n<0?0:e.length-n}function $(e,n){let s=A(e);if(s>0)return e[n+s]}function A(e){return b(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function m(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=m({},t,s):typeof o=="object"?m(e[a],t,s):e[a]=m({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=m({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function P(e,n,s,a,t,o,r){try{o=F(e,o,t);let f=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&f)return t;let i=t?.nodeType===Node.TEXT_NODE,l=i?t:t?.node;if(f){R(e,t),l?.remove();return}let g=!f&&B(o),u=!f&&k(o),x=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!g&&!u&&!x&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(x&&g?o=o.wholeText:x&&u&&(o=[...o]),i&&g)return l.nodeValue!==o&&(l.nodeValue=o),t;if(g&&(!l||!i)){let T=document.createTextNode(o);if(l)R(e,t),l.replaceWith(T);else{let y=!1;for(let c=a;c<n.childNodes.length;c++){let S=n.childNodes[c];if(S){S.before(T),y=!0;break}}y||n.appendChild(T)}return T}if(u&&(!l||i||t[0]!==o[0])){let T=o;1 in T&&(T[1]=F(e,T[1],void 0));let y=b(o);y?.xmlns!==void 0&&(r=y.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,H(e,c,void 0,y,r??null),y&&"catch"in y&&(o.node.catch=null,o.node.removeAttribute("catch")),l)R(e,t),l.replaceWith(c);else{let d=!1;for(let p=a;p<n.childNodes.length;p++){let h=n.childNodes[p];if(h){h.before(c),d=!0;break}}d||n.appendChild(c)}let S=A(o);if(S>0){let d=y?2:1,p=0;for(let h=0;h<o.length-S;h++){let O=o[h+S],C=P(e,c,h,p,void 0,O,r??null);o[h+d]=C,C&&p++}}return o._unmountCount=(y?.onUnmount?1:0)+V(o),typeof y?.onMount=="function"&&e.patch(y.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=l;let T=b(o),y=b(t);T?.xmlns!==void 0&&(r=T.xmlns),H(e,l,y,T,r),T?.catch&&y?.catch!==T.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=A(o),S=A(t);if(c>0){let d=0;for(let p=0;p<o.length-c;p++){let h=o[p+c],O=S>0?t[p+S]:void 0,C=P(e,l,p,d,O,h,r);o[p+c]=C,C&&d++}}if(S>0){let d=c>0?o.length-c:0;for(let p=t.length-1-S;p>=d;p--)P(e,l,p,p,t[p+S],void 0,r)}return o._unmountCount=(T?.onUnmount?1:0)+V(o),o}}catch(f){let i=b(o)?.catch;if(i){let l=typeof i=="function"?i(e,f):i;return P(e,n,s,a,D(o?.node||t?.node,!0),l,r)}else throw f}}function R(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=L(n);if(s)for(let t=s.length-1;t>=0;t--)R(e,s[t]);let a=b(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function V(e){let n=L(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function k(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function B(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function F(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let o=!0;for(let r=0;r<a.length;r++)if(a[r]!==t[r]){o=!1;break}if(o)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=a),n}function H(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let f=s[r],i=a?.[r];f!==i&&(a?a[r]=M(e,n,r,f,i,o):M(e,n,r,f,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}else if(a)for(let r in a){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}function M(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let f=a[r],i=t[r];f!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",G(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let f=t;r=i=>e.patch(f(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function G(e){return typeof e=="string"?e:Array.isArray(e)?e.map(G).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var Q="a",z="abbr",Z="address",tt="area",et="article",nt="aside",ot="audio",at="b",st="base",rt="bdi",ct="bdo",it="blockquote",lt="body",ft="br",pt="button",St="canvas",ut="caption",dt="cite",Tt="code",yt="col",gt="colgroup",ht="data",xt="datalist",mt="dd",bt="del",Et="details",Pt="dfn",At="dialog",Ct="div",Mt="dl",Rt="dt",Nt="em",Ot="embed",Dt="fieldset",Lt="figcaption",vt="figure",It="footer",Vt="form",Ft="h1",Ht="h2",Gt="h3",jt="h4",Ut="h5",kt="h6",Bt="head",_t="header",Kt="hgroup",qt="hr",wt="html",Xt="i",Yt="iframe",Wt="img",$t="input",Jt="ins",Qt="kbd",zt="label",Zt="legend",te="li",ee="link",ne="main",oe="map",ae="mark",se="menu",re="meta",ce="meter",ie="nav",le="noscript",fe="object",pe="ol",Se="optgroup",ue="option",de="output",Te="p",ye="picture",ge="pre",he="progress",xe="q",me="rp",be="rt",Ee="ruby",Pe="s",Ae="samp",Ce="script",Me="search",Re="section",Ne="select",Oe="slot",De="small",Le="source",ve="span",Ie="strong",Ve="style",Fe="sub",He="summary",Ge="sup",je="table",Ue="tbody",ke="td",Be="template",_e="textarea",Ke="tfoot",qe="th",we="thead",Xe="time",Ye="title",We="tr",$e="track",Je="u",Qe="ul",ze="var",Ze="video",tn="wbr",en="animate",nn="animateMotion",on="animateTransform",an="circle",sn="clipPath",rn="defs",cn="desc",ln="ellipse",fn="feBlend",pn="feColorMatrix",Sn="feComponentTransfer",un="feComposite",dn="feConvolveMatrix",Tn="feDiffuseLighting",yn="feDisplacementMap",gn="feDistantLight",hn="feDropShadow",xn="feFlood",mn="feFuncA",bn="feFuncB",En="feFuncG",Pn="feFuncR",An="feGaussianBlur",Cn="feImage",Mn="feMerge",Rn="feMergeNode",Nn="feMorphology",On="feOffset",Dn="fePointLight",Ln="feSpecularLighting",vn="feSpotLight",In="feTile",Vn="feTurbulence",Fn="filter",Hn="foreignObject",Gn="g",jn="image",Un="line",kn="linearGradient",Bn="marker",_n="mask",Kn="metadata",qn="mpath",wn="path",Xn="pattern",Yn="polygon",Wn="polyline",$n="radialGradient",Jn="rect",Qn="set",zn="stop",Zn="svg",to="switch",eo="symbol",no="text",oo="textPath",ao="tspan",so="use",ro="view",co="annotation",io="annotation-xml",lo="maction",fo="math",po="merror",So="mfrac",uo="mi",To="mmultiscripts",yo="mn",go="mo",ho="mover",xo="mpadded",mo="mphantom",bo="mprescripts",Eo="mroot",Po="mrow",Ao="ms",Co="mspace",Mo="msqrt",Ro="mstyle",No="msub",Oo="msubsup",Do="msup",Lo="mtable",vo="mtd",Io="mtext",Vo="mtr",Fo="munder",Ho="munderover",Go="semantics";function j(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),f=new Set([...o,...r]);n=Array.from(f).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&typeof t=="object")n={...a,...t};else if(typeof a=="object"&&Array.isArray(t)){let o={...a};for(let r of t)o[r]=!0;n=o}else if(Array.isArray(a)&&typeof t=="object"){let o={};for(let r of a)o[r]=!0;for(let r of Object.keys(t))o[r]=t[r];n=o}else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var N;function U(...e){N||(N=document.createElement("div"));try{let n=N.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{N.style.cssText=""}}function Ko(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=U(n.style,s.style):a==="class"?n.class=j(n.class,s.class):n[a]=s[a]}return n}function wo(e){return new v(e,[])}var v=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,l){if(s.length>1){let g=0,u=l[s[g]];for((typeof u!="object"||u===null)&&(l[s[g]]=u={}),g=1;g<s.length-1;g++){let x=u;u=u[s[g]],(typeof u!="object"||u===null)&&(x[s[g]]=u={})}u[s[g]]=i}else s.length===1?typeof l[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(l[s[0]],i):l[s[0]]=i:Object.assign(l,i)}function t(i){let l={};return a(i,l),l}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let l=1;l<s.length&&i;l++)i=i[s[l]];return i}function r(i){a(i,n)}function f(i,l){l?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,l,g)=>{if(l==="state")return n;if(l==="get")return o;if(l==="put")return r;if(l==="patch")return f;let u=[...i.keys,String(l)];return new e(i.state,u)}})}state;keys;get(){}put(n){}patch(n){}};export{Q as A,z as ABBR,Z as ADDRESS,en as ANIMATE,nn as ANIMATEMOTION,on as ANIMATETRANSFORM,co as ANNOTATION,io as ANNOTATION_XML,tt as AREA,et as ARTICLE,nt as ASIDE,ot as AUDIO,at as B,st as BASE,rt as BDI,ct as BDO,it as BLOCKQUOTE,lt as BODY,ft as BR,pt as BUTTON,St as CANVAS,ut as CAPTION,an as CIRCLE,dt as CITE,sn as CLIPPATH,Tt as CODE,yt as COL,gt as COLGROUP,ht as DATA,xt as DATALIST,mt as DD,rn as DEFS,bt as DEL,cn as DESC,Et as DETAILS,Pt as DFN,At as DIALOG,Ct as DIV,Mt as DL,Rt as DT,ln as ELLIPSE,Nt as EM,Ot as EMBED,fn as FEBLEND,pn as FECOLORMATRIX,Sn as FECOMPONENTTRANSFER,un as FECOMPOSITE,dn as FECONVOLVEMATRIX,Tn as FEDIFFUSELIGHTING,yn as FEDISPLACEMENTMAP,gn as FEDISTANTLIGHT,hn as FEDROPSHADOW,xn as FEFLOOD,mn as FEFUNCA,bn as FEFUNCB,En as FEFUNCG,Pn as FEFUNCR,An as FEGAUSSIANBLUR,Cn as FEIMAGE,Mn as FEMERGE,Rn as FEMERGENODE,Nn as FEMORPHOLOGY,On as FEOFFSET,Dn as FEPOINTLIGHT,Ln as FESPECULARLIGHTING,vn as FESPOTLIGHT,In as FETILE,Vn as FETURBULENCE,Dt as FIELDSET,Lt as FIGCAPTION,vt as FIGURE,Fn as FILTER,It as FOOTER,Hn as FOREIGNOBJECT,Vt as FORM,Gn as G,Ft as H1,Ht as H2,Gt as H3,jt as H4,Ut as H5,kt as H6,Bt as HEAD,_t as HEADER,Kt as HGROUP,qt as HR,wt as HTML,Xt as I,Yt as IFRAME,jn as IMAGE,Wt as IMG,$t as INPUT,Jt as INS,Qt as KBD,zt as LABEL,Zt as LEGEND,te as LI,Un as LINE,kn as LINEARGRADIENT,ee as LINK,lo as MACTION,ne as MAIN,oe as MAP,ae as MARK,Bn as MARKER,_n as MASK,fo as MATH,se as MENU,po as MERROR,re as META,Kn as METADATA,ce as METER,So as MFRAC,uo as MI,To as MMULTISCRIPTS,yo as MN,go as MO,ho as MOVER,xo as MPADDED,qn as MPATH,mo as MPHANTOM,bo as MPRESCRIPTS,Eo as MROOT,Po as MROW,Ao as MS,Co as MSPACE,Mo as MSQRT,Ro as MSTYLE,No as MSUB,Oo as MSUBSUP,Do as MSUP,Lo as MTABLE,vo as MTD,Io as MTEXT,Vo as MTR,Fo as MUNDER,Ho as MUNDEROVER,ie as NAV,le as NOSCRIPT,fe as OBJECT,pe as OL,Se as OPTGROUP,ue as OPTION,de as OUTPUT,Te as P,wn as PATH,Xn as PATTERN,ye as PICTURE,Yn as POLYGON,Wn as POLYLINE,ge as PRE,he as PROGRESS,xe as Q,$n as RADIALGRADIENT,Jn as RECT,me as RP,be as RT,Ee as RUBY,Pe as S,Ae as SAMP,Ce as SCRIPT,Me as SEARCH,Re as SECTION,Ne as SELECT,Go as SEMANTICS,Qn as SET,Oe as SLOT,De as SMALL,Le as SOURCE,ve as SPAN,zn as STOP,Ie as STRONG,Ve as STYLE,Fe as SUB,He as SUMMARY,Ge as SUP,Zn as SVG,to as SWITCH,eo as SYMBOL,je as TABLE,Ue as TBODY,ke as TD,Be as TEMPLATE,no as TEXT,_e as TEXTAREA,oo as TEXTPATH,Ke as TFOOT,qe as TH,we as THEAD,Xe as TIME,Ye as TITLE,We as TR,$e as TRACK,ao as TSPAN,Je as U,Qe as UL,so as USE,ze as VAR,Ze as VIDEO,ro as VIEW,tn as WBR,K as app,$ as child,W as childCount,L as children,A as childrenStart,wo as context,X as createPatch,w as createState,I as defuse,E as globals,D as hydrate,q as memo,j as mergeClass,Ko as mergeProps,U as mergeStyle,b as props,Y as tag,_ as vode};
1
+ var E={currentViewTransition:void 0,requestAnimationFrame:typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):(e=>e()),startViewTransition:typeof document<"u"&&typeof document.startViewTransition=="function"?document.startViewTransition.bind(document):null};function _(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function K(e,n,s,...a){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!n||typeof n!="object")throw new Error("second argument to app() must be a state object");if(typeof s!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.syncRenderer=E.requestAnimationFrame,t.asyncRenderer=E.startViewTransition,t.isRendering=0,t.qAsync=null,t.stats={lastSyncRenderTime:0,lastAsyncRenderTime:0,syncRenderCount:0,asyncRenderCount:0,liveEffectCount:0,patchCount:0,syncRenderPatchCount:0,asyncRenderPatchCount:0};let o=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(a=[...n.patch.initialPatches,...a]);async function r(c,S){t.stats.liveEffectCount++;try{let d=await c;await o.patch(d,S)}finally{t.stats.liveEffectCount--}}async function f(c,S){let d=c;t.stats.liveEffectCount++;try{let p=await d.next();for(;p.done===!1;){t.stats.liveEffectCount++;try{await o.patch(p.value,S),p=await d.next()}finally{t.stats.liveEffectCount--}}await o.patch(p.value,S)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,S)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object")){if(t.stats.patchCount++,c?.next)return f(c,S);if(c.then)return r(c,S);if(Array.isArray(c))if(c.length>0)for(let d of c)o.patch(d,!document.hidden&&!!t.asyncRenderer);else{m(t.state,t.qAsync,!0),t.qAsync=null;try{E.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else S?(t.stats.asyncRenderPatchCount++,t.qAsync=m(t.qAsync||{},c,!1),t.renderAsync()):(t.stats.syncRenderPatchCount++,m(t.state,c,!0),t.renderSync())}}});function i(c){let S=performance.now(),d=s(t.state);if(t.vode=P(t.state,e.parentElement,0,0,t.vode,d),e.tagName.toUpperCase()!==d[0].toUpperCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-S;let p=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,p&&t.renderSync()}}let l=i.bind(null,!1),g=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(l))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await E.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=m(t.state,t.qAsync,!0),t.qAsync=null,E.currentViewTransition=t.asyncRenderer(g),await E.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=o;let u=e;u._vode=t;let x=Array.from(e.parentElement.children).indexOf(e),T=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=P(n,e.parentElement,x,x,D(e,!0),s(n));let y=t.stats.syncRenderPatchCount!==T;t.isRendering=0,t.stats.syncRenderCount++,y&&t.renderSync();for(let c of a)o.patch(c);return c=>o.patch(c)}function I(e){if(e?._vode){let s=function(t){if(!t?.node)return;let o=b(t);if(o){for(let r in o)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)I(t.node);else{let r=L(t);if(r)for(let f of r)s(f)}};var n=s;let a=e._vode;delete e._vode,Object.defineProperty(a.state,"patch",{value:void 0}),Object.defineProperty(a,"renderSync",{value:()=>{}}),Object.defineProperty(a,"renderAsync",{value:()=>{}}),s(a.vode)}else for(let s of e.children)I(s)}function D(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&D(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function q(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=a=>s(a)}return n.__memo=e,n}function w(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"patch"in e||Object.defineProperty(e,"patch",{enumerable:!1,configurable:!0,writable:!1,value:n=>{let s=e;Array.isArray(s.patch.initialPatches)||(s.patch.initialPatches=[]),s.patch.initialPatches.push(n)}}),e}function X(e){return e}function Y(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function b(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function L(e){let n=A(e);return n>0?e.slice(n):null}function W(e){let n=A(e);return n<0?0:e.length-n}function $(e,n){let s=A(e);if(s>0)return e[n+s]}function A(e){return b(e)?e.length>2?2:-1:Array.isArray(e)&&e.length>1?1:-1}function m(e,n,s){if(!n)return e;for(let a in n){let t=n[a];if(t&&typeof t=="object"){let o=e[a];o?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&o!==t?e[a]=new Date(t):Array.isArray(o)?e[a]=m({},t,s):typeof o=="object"?m(e[a],t,s):e[a]=m({},t,s):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=m({},t,s)}else t===void 0&&s?delete e[a]:e[a]=t}return e}function P(e,n,s,a,t,o,r){try{o=F(e,o,t);let f=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&f)return t;let i=t?.nodeType===Node.TEXT_NODE,l=i?t:t?.node;if(f){R(e,t),l?.remove();return}let g=!f&&B(o),u=!f&&k(o),x=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!g&&!u&&!x&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(x&&g?o=o.wholeText:x&&u&&(o=[...o]),i&&g)return l.nodeValue!==o&&(l.nodeValue=o),t;if(g&&(!l||!i)){let T=document.createTextNode(o);if(l)R(e,t),l.replaceWith(T);else{let y=!1;for(let c=a;c<n.childNodes.length;c++){let S=n.childNodes[c];if(S){S.before(T),y=!0;break}}y||n.appendChild(T)}return T}if(u&&(!l||i||t[0]!==o[0])){let T=o;1 in T&&(T[1]=F(e,T[1],void 0));let y=b(o);y?.xmlns!==void 0&&(r=y.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,H(e,c,void 0,y,r??null),y&&"catch"in y&&(o.node.catch=null,o.node.removeAttribute("catch")),l)R(e,t),l.replaceWith(c);else{let d=!1;for(let p=a;p<n.childNodes.length;p++){let h=n.childNodes[p];if(h){h.before(c),d=!0;break}}d||n.appendChild(c)}let S=A(o);if(S>0){let d=y?2:1,p=0;for(let h=0;h<o.length-S;h++){let O=o[h+S],C=P(e,c,h,p,void 0,O,r??null);o[h+d]=C,C&&p++}}return o._unmountCount=(y?.onUnmount?1:0)+V(o),typeof y?.onMount=="function"&&e.patch(y.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=l;let T=b(o),y=b(t);T?.xmlns!==void 0&&(r=T.xmlns),H(e,l,y,T,r),T?.catch&&y?.catch!==T.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=A(o),S=A(t);if(c>0){let d=0;for(let p=0;p<o.length-c;p++){let h=o[p+c],O=S>0?t[p+S]:void 0,C=P(e,l,p,d,O,h,r);o[p+c]=C,C&&d++}}if(S>0){let d=c>0?o.length-c:0;for(let p=t.length-1-S;p>=d;p--)P(e,l,p,p,t[p+S],void 0,r)}return o._unmountCount=(T?.onUnmount?1:0)+V(o),o}}catch(f){let i=b(o)?.catch;if(i){let l=typeof i=="function"?i(e,f):i;return P(e,n,s,a,D(o?.node||t?.node,!0),l,r)}else throw f}}function R(e,n){if(!n||!Array.isArray(n)||(n._unmountCount|0)===0)return;let s=L(n);if(s)for(let t=s.length-1;t>=0;t--)R(e,s[t]);let a=b(n);typeof a?.onUnmount=="function"&&e.patch(a.onUnmount(e,n.node))}function V(e){let n=L(e);if(!n)return 0;let s=0;for(let a of n)a&&Array.isArray(a)&&(s+=a._unmountCount|0);return s}function k(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function B(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function F(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let a=n?.__memo,t=s?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let o=!0;for(let r=0;r<a.length;r++)if(a[r]!==t[r]){o=!1;break}if(o)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=a),n}function H(e,n,s,a,t){if(!a&&!s)return;let o=t!==void 0;if(s)for(let r in s){let f=s[r],i=a?.[r];f!==i&&(a?a[r]=M(e,n,r,f,i,o):M(e,n,r,f,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}else if(a)for(let r in a){let f=a[r];a[r]=M(e,n,r,void 0,f,o)}}function M(e,n,s,a,t,o){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")a!==t&&(n.style.cssText=t);else if(a&&typeof a=="object"){for(let r in a)t[r]||(n.style[r]=null);for(let r in t){let f=a[r],i=t[r];f!==i&&(n.style[r]=i)}}else for(let r in t)n.style[r]=t[r];else if(s==="class")t?n.setAttribute("class",G(t)):n.removeAttribute("class");else if(s[0]==="o"&&s[1]==="n")if(t){let r=null;if(typeof t=="function"){let f=t;r=i=>e.patch(f(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else o||(n[s]=t),t==null||t===!1?n.removeAttribute(s):n.setAttribute(s,t);return t}function G(e){return typeof e=="string"?e:Array.isArray(e)?e.map(G).join(" "):typeof e=="object"?Object.keys(e).filter(n=>e[n]).join(" "):""}var Q="a",z="abbr",Z="address",tt="area",et="article",nt="aside",ot="audio",at="b",st="base",rt="bdi",ct="bdo",it="blockquote",lt="body",ft="br",pt="button",St="canvas",ut="caption",dt="cite",Tt="code",yt="col",gt="colgroup",ht="data",xt="datalist",mt="dd",bt="del",Et="details",Pt="dfn",At="dialog",Ct="div",Mt="dl",Rt="dt",Nt="em",Ot="embed",Dt="fieldset",Lt="figcaption",vt="figure",It="footer",Vt="form",Ft="h1",Ht="h2",Gt="h3",jt="h4",Ut="h5",kt="h6",Bt="head",_t="header",Kt="hgroup",qt="hr",wt="html",Xt="i",Yt="iframe",Wt="img",$t="input",Jt="ins",Qt="kbd",zt="label",Zt="legend",te="li",ee="link",ne="main",oe="map",ae="mark",se="menu",re="meta",ce="meter",ie="nav",le="noscript",fe="object",pe="ol",Se="optgroup",ue="option",de="output",Te="p",ye="picture",ge="pre",he="progress",xe="q",me="rp",be="rt",Ee="ruby",Pe="s",Ae="samp",Ce="script",Me="search",Re="section",Ne="select",Oe="slot",De="small",Le="source",ve="span",Ie="strong",Ve="style",Fe="sub",He="summary",Ge="sup",je="table",Ue="tbody",ke="td",Be="template",_e="textarea",Ke="tfoot",qe="th",we="thead",Xe="time",Ye="title",We="tr",$e="track",Je="u",Qe="ul",ze="var",Ze="video",tn="wbr",en="animate",nn="animateMotion",on="animateTransform",an="circle",sn="clipPath",rn="defs",cn="desc",ln="ellipse",fn="feBlend",pn="feColorMatrix",Sn="feComponentTransfer",un="feComposite",dn="feConvolveMatrix",Tn="feDiffuseLighting",yn="feDisplacementMap",gn="feDistantLight",hn="feDropShadow",xn="feFlood",mn="feFuncA",bn="feFuncB",En="feFuncG",Pn="feFuncR",An="feGaussianBlur",Cn="feImage",Mn="feMerge",Rn="feMergeNode",Nn="feMorphology",On="feOffset",Dn="fePointLight",Ln="feSpecularLighting",vn="feSpotLight",In="feTile",Vn="feTurbulence",Fn="filter",Hn="foreignObject",Gn="g",jn="image",Un="line",kn="linearGradient",Bn="marker",_n="mask",Kn="metadata",qn="mpath",wn="path",Xn="pattern",Yn="polygon",Wn="polyline",$n="radialGradient",Jn="rect",Qn="set",zn="stop",Zn="svg",to="switch",eo="symbol",no="text",oo="textPath",ao="tspan",so="use",ro="view",co="annotation",io="annotation-xml",lo="maction",fo="math",po="merror",So="mfrac",uo="mi",To="mmultiscripts",yo="mn",go="mo",ho="mover",xo="mpadded",mo="mphantom",bo="mprescripts",Eo="mroot",Po="mrow",Ao="ms",Co="mspace",Mo="msqrt",Ro="mstyle",No="msub",Oo="msubsup",Do="msup",Lo="mtable",vo="mtd",Io="mtext",Vo="mtr",Fo="munder",Ho="munderover",Go="semantics";function j(...e){if(!e||e.length===0)return null;if(e.length===1)return e[0];let n=e[0];for(let s=1;s<e.length;s++){let a=n,t=e[s];if(!a)n=t;else if(t)if(typeof a=="string"&&typeof t=="string"){let o=a.split(" "),r=t.split(" "),f=new Set([...o,...r]);n=Array.from(f).join(" ").trim()}else if(typeof a=="string"&&Array.isArray(t)){let o=new Set([...t,...a.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&typeof t=="string"){let o=new Set([...a,...t.split(" ")]);n=Array.from(o).join(" ").trim()}else if(Array.isArray(a)&&Array.isArray(t)){let o=new Set([...a,...t]);n=Array.from(o).join(" ").trim()}else if(typeof a=="string"&&typeof t=="object")n={[a]:!0,...t};else if(typeof a=="object"&&typeof t=="string")n={...a,[t]:!0};else if(typeof a=="object"&&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 if(typeof a=="object"&&typeof t=="object")n={...a,...t};else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${t} (${typeof t})`);else continue}return n}var N;function U(...e){N||(N=document.createElement("div"));try{let n=N.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let a in s)n[a]=s[a];else typeof s=="string"&&(n.cssText+=";"+s);return n.cssText}finally{N.style.cssText=""}}function Ko(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=U(n.style,s.style):a==="class"?n.class=j(n.class,s.class):n[a]=s[a]}return n}function wo(e){return new v(e,[])}var v=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,l){if(s.length>1){let g=0,u=l[s[g]];for((typeof u!="object"||u===null)&&(l[s[g]]=u={}),g=1;g<s.length-1;g++){let x=u;u=u[s[g]],(typeof u!="object"||u===null)&&(x[s[g]]=u={})}u[s[g]]=i}else s.length===1?typeof l[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(l[s[0]],i):l[s[0]]=i:Object.assign(l,i)}function t(i){let l={};return a(i,l),l}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let l=1;l<s.length&&i;l++)i=i[s[l]];return i}function r(i){a(i,n)}function f(i,l){l?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,l,g)=>{if(l==="state")return n;if(l==="get")return o;if(l==="put")return r;if(l==="patch")return f;let u=[...i.keys,String(l)];return new e(i.state,u)}})}state;keys;get(){}put(n){}patch(n){}};export{Q as A,z as ABBR,Z as ADDRESS,en as ANIMATE,nn as ANIMATEMOTION,on as ANIMATETRANSFORM,co as ANNOTATION,io as ANNOTATION_XML,tt as AREA,et as ARTICLE,nt as ASIDE,ot as AUDIO,at as B,st as BASE,rt as BDI,ct as BDO,it as BLOCKQUOTE,lt as BODY,ft as BR,pt as BUTTON,St as CANVAS,ut as CAPTION,an as CIRCLE,dt as CITE,sn as CLIPPATH,Tt as CODE,yt as COL,gt as COLGROUP,ht as DATA,xt as DATALIST,mt as DD,rn as DEFS,bt as DEL,cn as DESC,Et as DETAILS,Pt as DFN,At as DIALOG,Ct as DIV,Mt as DL,Rt as DT,ln as ELLIPSE,Nt as EM,Ot as EMBED,fn as FEBLEND,pn as FECOLORMATRIX,Sn as FECOMPONENTTRANSFER,un as FECOMPOSITE,dn as FECONVOLVEMATRIX,Tn as FEDIFFUSELIGHTING,yn as FEDISPLACEMENTMAP,gn as FEDISTANTLIGHT,hn as FEDROPSHADOW,xn as FEFLOOD,mn as FEFUNCA,bn as FEFUNCB,En as FEFUNCG,Pn as FEFUNCR,An as FEGAUSSIANBLUR,Cn as FEIMAGE,Mn as FEMERGE,Rn as FEMERGENODE,Nn as FEMORPHOLOGY,On as FEOFFSET,Dn as FEPOINTLIGHT,Ln as FESPECULARLIGHTING,vn as FESPOTLIGHT,In as FETILE,Vn as FETURBULENCE,Dt as FIELDSET,Lt as FIGCAPTION,vt as FIGURE,Fn as FILTER,It as FOOTER,Hn as FOREIGNOBJECT,Vt as FORM,Gn as G,Ft as H1,Ht as H2,Gt as H3,jt as H4,Ut as H5,kt as H6,Bt as HEAD,_t as HEADER,Kt as HGROUP,qt as HR,wt as HTML,Xt as I,Yt as IFRAME,jn as IMAGE,Wt as IMG,$t as INPUT,Jt as INS,Qt as KBD,zt as LABEL,Zt as LEGEND,te as LI,Un as LINE,kn as LINEARGRADIENT,ee as LINK,lo as MACTION,ne as MAIN,oe as MAP,ae as MARK,Bn as MARKER,_n as MASK,fo as MATH,se as MENU,po as MERROR,re as META,Kn as METADATA,ce as METER,So as MFRAC,uo as MI,To as MMULTISCRIPTS,yo as MN,go as MO,ho as MOVER,xo as MPADDED,qn as MPATH,mo as MPHANTOM,bo as MPRESCRIPTS,Eo as MROOT,Po as MROW,Ao as MS,Co as MSPACE,Mo as MSQRT,Ro as MSTYLE,No as MSUB,Oo as MSUBSUP,Do as MSUP,Lo as MTABLE,vo as MTD,Io as MTEXT,Vo as MTR,Fo as MUNDER,Ho as MUNDEROVER,ie as NAV,le as NOSCRIPT,fe as OBJECT,pe as OL,Se as OPTGROUP,ue as OPTION,de as OUTPUT,Te as P,wn as PATH,Xn as PATTERN,ye as PICTURE,Yn as POLYGON,Wn as POLYLINE,ge as PRE,he as PROGRESS,xe as Q,$n as RADIALGRADIENT,Jn as RECT,me as RP,be as RT,Ee as RUBY,Pe as S,Ae as SAMP,Ce as SCRIPT,Me as SEARCH,Re as SECTION,Ne as SELECT,Go as SEMANTICS,Qn as SET,Oe as SLOT,De as SMALL,Le as SOURCE,ve as SPAN,zn as STOP,Ie as STRONG,Ve as STYLE,Fe as SUB,He as SUMMARY,Ge as SUP,Zn as SVG,to as SWITCH,eo as SYMBOL,je as TABLE,Ue as TBODY,ke as TD,Be as TEMPLATE,no as TEXT,_e as TEXTAREA,oo as TEXTPATH,Ke as TFOOT,qe as TH,we as THEAD,Xe as TIME,Ye as TITLE,We as TR,$e as TRACK,ao as TSPAN,Je as U,Qe as UL,so as USE,ze as VAR,Ze as VIDEO,ro as VIEW,tn as WBR,K as app,$ as child,W as childCount,L as children,A as childrenStart,wo as context,X as createPatch,w as createState,I as defuse,E as globals,D as hydrate,q as memo,j as mergeClass,Ko as mergeProps,U as mergeStyle,b as props,Y as tag,_ as vode};
package/dist/vode.mjs CHANGED
@@ -866,8 +866,6 @@ function mergeClass(...classes) {
866
866
  finalClass = { [a]: true, ...b };
867
867
  } else if (typeof a === "object" && typeof b === "string") {
868
868
  finalClass = { ...a, [b]: true };
869
- } else if (typeof a === "object" && typeof b === "object") {
870
- finalClass = { ...a, ...b };
871
869
  } else if (typeof a === "object" && Array.isArray(b)) {
872
870
  const aa = { ...a };
873
871
  for (const item of b) {
@@ -883,6 +881,8 @@ function mergeClass(...classes) {
883
881
  aa[bKey] = b[bKey];
884
882
  }
885
883
  finalClass = aa;
884
+ } else if (typeof a === "object" && typeof b === "object") {
885
+ finalClass = { ...a, ...b };
886
886
  } else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${b} (${typeof b})`);
887
887
  }
888
888
  return finalClass;
@@ -688,8 +688,6 @@ function mergeClass(...classes) {
688
688
  finalClass = { [a]: true, ...b };
689
689
  } else if (typeof a === "object" && typeof b === "string") {
690
690
  finalClass = { ...a, [b]: true };
691
- } else if (typeof a === "object" && typeof b === "object") {
692
- finalClass = { ...a, ...b };
693
691
  } else if (typeof a === "object" && Array.isArray(b)) {
694
692
  const aa = { ...a };
695
693
  for (const item of b) {
@@ -705,6 +703,8 @@ function mergeClass(...classes) {
705
703
  aa[bKey] = b[bKey];
706
704
  }
707
705
  finalClass = aa;
706
+ } else if (typeof a === "object" && typeof b === "object") {
707
+ finalClass = { ...a, ...b };
708
708
  } else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${b} (${typeof b})`);
709
709
  }
710
710
  return finalClass;
@@ -1345,7 +1345,7 @@ but got <${tagName.toUpperCase()}>${failSuffix}`);
1345
1345
  } else {
1346
1346
  attributeValue = e.getAttribute(k);
1347
1347
  }
1348
- if (!attributeValue) {
1348
+ if (attributeValue === null) {
1349
1349
  throw new ExpectationError(that, `expected at
1350
1350
  ${path.join(" > ")}
1351
1351
 
@@ -1814,6 +1814,42 @@ var tests_app_default = {
1814
1814
  );
1815
1815
  const el = container._vode.vode.node;
1816
1816
  expect(el.onclick).toBeA("function");
1817
+ },
1818
+ "app(): class as array renders correctly": async () => {
1819
+ const root = document.createElement("div");
1820
+ const container = document.createElement("div");
1821
+ root.appendChild(container);
1822
+ app(
1823
+ container,
1824
+ {},
1825
+ () => [DIV, { class: ["foo", "bar", "baz"] }, "text"]
1826
+ );
1827
+ await expect(container).toMatch([DIV, { class: "foo bar baz" }, "text"]);
1828
+ },
1829
+ "app(): class as number becomes empty string": async () => {
1830
+ const root = document.createElement("div");
1831
+ const container = document.createElement("div");
1832
+ root.appendChild(container);
1833
+ app(
1834
+ container,
1835
+ {},
1836
+ () => [DIV, { class: 123 }, "text"]
1837
+ );
1838
+ await expect(container).toMatch([DIV, { class: "" }, "text"]);
1839
+ },
1840
+ "app(): style object to string transition": async () => {
1841
+ const root = document.createElement("div");
1842
+ const container = document.createElement("div");
1843
+ root.appendChild(container);
1844
+ const state = { useObject: true };
1845
+ app(
1846
+ container,
1847
+ state,
1848
+ (s) => [DIV, { style: s.useObject ? { color: "red" } : "color: blue" }, "text"]
1849
+ );
1850
+ await expect(container).toMatch([DIV, "text"]);
1851
+ state.patch({ useObject: false });
1852
+ await expect(container).toMatch([DIV, "text"]);
1817
1853
  }
1818
1854
  };
1819
1855
 
@@ -2288,11 +2324,13 @@ var tests_mergeClass_default = {
2288
2324
  "mergeClass(): two objects": async () => {
2289
2325
  await expect(mergeClass({ foo: true, bar: true }, { bar: false, baz: true })).toEqual({ foo: true, bar: false, baz: true });
2290
2326
  },
2291
- "mergeClass(): object and array": async () => {
2292
- await expect(mergeClass({ foo: true }, ["bar", "baz"])).toEqual({ foo: true, 0: "bar", 1: "baz" });
2327
+ "mergeClass(): object and array (array items become class names with true)": async () => {
2328
+ await expect(mergeClass({ foo: true }, ["bar", "baz"])).toEqual({ foo: true, bar: true, baz: true });
2329
+ await expect(mergeClass({ active: true }, ["btn", "primary"])).toEqual({ active: true, btn: true, primary: true });
2293
2330
  },
2294
- "mergeClass(): array and object": async () => {
2295
- await expect(mergeClass(["foo", "bar"], { baz: true, qux: false })).toEqual({ 0: "foo", 1: "bar", baz: true, qux: false });
2331
+ "mergeClass(): array and object (object keys become class names)": async () => {
2332
+ await expect(mergeClass(["foo", "bar"], { baz: true, qux: false })).toEqual({ foo: true, bar: true, baz: true, qux: false });
2333
+ await expect(mergeClass(["a", "b"], { c: true, d: false })).toEqual({ a: true, b: true, c: true, d: false });
2296
2334
  },
2297
2335
  "mergeClass(): falsy entries are skipped": async () => {
2298
2336
  await expect(mergeClass("foo", null, "bar")).toEqual("foo bar");
@@ -2301,6 +2339,10 @@ var tests_mergeClass_default = {
2301
2339
  "mergeClass(): multiple args (3+)": async () => {
2302
2340
  await expect(mergeClass("a", "b", "c")).toEqual("a b c");
2303
2341
  await expect(mergeClass("x", null, ["y", "z"], "w")).toEqual("y z x w");
2342
+ },
2343
+ "mergeClass(): incompatible types throw": async () => {
2344
+ await expect(() => mergeClass(123, "foo")).toFail();
2345
+ await expect(() => mergeClass("foo", 456)).toFail();
2304
2346
  }
2305
2347
  };
2306
2348
 
@@ -2356,6 +2398,10 @@ var tests_mergeProps_default = {
2356
2398
  const p = { class: "foo" };
2357
2399
  await expect(mergeProps(p) === p).toEqual(true);
2358
2400
  },
2401
+ "mergeProps(): single falsy arg returns undefined": async () => {
2402
+ await expect(mergeProps(null)).toEqual(void 0);
2403
+ await expect(mergeProps(void 0)).toEqual(void 0);
2404
+ },
2359
2405
  "mergeProps(): two plain objects merged": async () => {
2360
2406
  await expect(mergeProps({ a: 1 }, { b: 2 })).toEqual({ a: 1, b: 2 });
2361
2407
  },
@@ -2467,6 +2513,12 @@ var tests_state_context_default = {
2467
2513
  ctx.a.x.z.put("deep");
2468
2514
  await expect(state.a.x?.z).toEqual("deep");
2469
2515
  await expect(state.a.y).toEqual(1);
2516
+ },
2517
+ "StateContext.put() merges into existing object properties via Object.assign": async () => {
2518
+ const state = createState({ items: { count: 0, name: "test", hidden: false } });
2519
+ const ctx = context(state);
2520
+ ctx.items.put({ count: 5 });
2521
+ await expect(state.items).toEqual({ count: 5, name: "test", hidden: false });
2470
2522
  }
2471
2523
  };
2472
2524
 
@@ -4176,7 +4228,7 @@ var tests_examples_default = {
4176
4228
  [BUTTON, "Add"],
4177
4229
  [
4178
4230
  NAV,
4179
- [BUTTON, "All"],
4231
+ [BUTTON, { class: "active" }, "All"],
4180
4232
  [BUTTON, "Active"],
4181
4233
  [BUTTON, "Done"]
4182
4234
  ],
@@ -4200,7 +4252,7 @@ var tests_examples_default = {
4200
4252
  [
4201
4253
  NAV,
4202
4254
  [BUTTON, "All"],
4203
- [BUTTON, "Active"],
4255
+ [BUTTON, { class: "active" }, "Active"],
4204
4256
  [BUTTON, "Done"]
4205
4257
  ],
4206
4258
  [
@@ -4221,7 +4273,7 @@ var tests_examples_default = {
4221
4273
  NAV,
4222
4274
  [BUTTON, "All"],
4223
4275
  [BUTTON, "Active"],
4224
- [BUTTON, "Done"]
4276
+ [BUTTON, { class: "active" }, "Done"]
4225
4277
  ],
4226
4278
  [
4227
4279
  UL,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryupold/vode",
3
- "version": "1.8.11",
3
+ "version": "1.8.12",
4
4
  "description": "a minimalist web framework",
5
5
  "author": "Michael Scherbakow (ryupold)",
6
6
  "license": "MIT",
@@ -38,9 +38,7 @@ export function mergeClass(...classes: ClassProp[]): ClassProp {
38
38
  else if (typeof a === "object" && typeof b === "string") {
39
39
  finalClass = { ...a, [b]: true };
40
40
  }
41
- else if (typeof a === "object" && typeof b === "object") {
42
- finalClass = { ...a, ...b };
43
- } else if (typeof a === "object" && Array.isArray(b)) {
41
+ else if (typeof a === "object" && Array.isArray(b)) {
44
42
  const aa = { ...a };
45
43
  for (const item of b as string[]) {
46
44
  (<Record<string, boolean | null | undefined>>aa)[item] = true;
@@ -55,6 +53,8 @@ export function mergeClass(...classes: ClassProp[]): ClassProp {
55
53
  aa[bKey] = (<Record<string, boolean | null | undefined>>b)[bKey];
56
54
  }
57
55
  finalClass = aa;
56
+ } else if (typeof a === "object" && typeof b === "object") {
57
+ finalClass = { ...a, ...b };
58
58
  }
59
59
  else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${b} (${typeof b})`);
60
60
  }
package/test/helper.ts CHANGED
@@ -255,7 +255,7 @@ export class Expectation {
255
255
  } else {
256
256
  attributeValue = (e as HTMLElement).getAttribute(k);
257
257
  }
258
- if (!attributeValue) {
258
+ if (attributeValue === null) {
259
259
  throw new ExpectationError(that, `expected at\n${path.join(" > ")}\n\nan element <${tag(cv)?.toUpperCase()}>\n\nwith attribute [${k}="${val}"]\n\nbut it was not found${failSuffix}`);
260
260
  }
261
261
  if (attributeValue !== val) {
package/test/tests-app.ts CHANGED
@@ -339,4 +339,45 @@ export default {
339
339
  const el = (container as any)._vode.vode.node;
340
340
  expect(el.onclick).toBeA("function");
341
341
  },
342
+
343
+ "app(): class as array renders correctly": async () => {
344
+ const root = document.createElement("div");
345
+ const container = document.createElement("div");
346
+ root.appendChild(container);
347
+
348
+ app(container, {}, () =>
349
+ [DIV, { class: ["foo", "bar", "baz"] }, "text"]
350
+ );
351
+
352
+ await expect(container).toMatch([DIV, { class: "foo bar baz" }, "text"]);
353
+ },
354
+
355
+ "app(): class as number becomes empty string": async () => {
356
+ const root = document.createElement("div");
357
+ const container = document.createElement("div");
358
+ root.appendChild(container);
359
+
360
+ app(container, {}, () =>
361
+ [DIV, { class: 123 as any }, "text"]
362
+ );
363
+
364
+ await expect(container).toMatch([DIV, { class: "" }, "text"]);
365
+ },
366
+
367
+ "app(): style object to string transition": async () => {
368
+ const root = document.createElement("div");
369
+ const container = document.createElement("div");
370
+ root.appendChild(container);
371
+ const state: any = { useObject: true };
372
+
373
+ app(container, state, (s: any) =>
374
+ [DIV, { style: s.useObject ? { color: "red" } : "color: blue" }, "text"]
375
+ );
376
+
377
+ await expect(container).toMatch([DIV, "text"]);
378
+
379
+ state.patch({ useObject: false });
380
+
381
+ await expect(container).toMatch([DIV, "text"]);
382
+ },
342
383
  };
@@ -91,7 +91,7 @@ export default {
91
91
  [INPUT],
92
92
  [BUTTON, "Add"],
93
93
  [NAV,
94
- [BUTTON, "All"],
94
+ [BUTTON, { class: 'active' }, "All"],
95
95
  [BUTTON, "Active"],
96
96
  [BUTTON, "Done"],
97
97
  ],
@@ -115,7 +115,7 @@ export default {
115
115
  [BUTTON, "Add"],
116
116
  [NAV,
117
117
  [BUTTON, "All"],
118
- [BUTTON, "Active"],
118
+ [BUTTON, { class: 'active' }, "Active"],
119
119
  [BUTTON, "Done"],
120
120
  ],
121
121
  [UL,
@@ -135,7 +135,7 @@ export default {
135
135
  [NAV,
136
136
  [BUTTON, "All"],
137
137
  [BUTTON, "Active"],
138
- [BUTTON, "Done"],
138
+ [BUTTON, { class: 'active' }, "Done"],
139
139
  ],
140
140
  [UL,
141
141
  [LI, "[X] Walk dog"],
@@ -43,12 +43,14 @@ export default {
43
43
  await expect(mergeClass({ foo: true, bar: true }, { bar: false, baz: true })).toEqual({ foo: true, bar: false, baz: true });
44
44
  },
45
45
 
46
- "mergeClass(): object and array": async () => {
47
- await expect(mergeClass({ foo: true }, ["bar", "baz"])).toEqual({ foo: true, 0: "bar", 1: "baz" });
46
+ "mergeClass(): object and array (array items become class names with true)": async () => {
47
+ await expect(mergeClass({ foo: true }, ["bar", "baz"])).toEqual({ foo: true, bar: true, baz: true });
48
+ await expect(mergeClass({ active: true }, ["btn", "primary"])).toEqual({ active: true, btn: true, primary: true });
48
49
  },
49
50
 
50
- "mergeClass(): array and object": async () => {
51
- await expect(mergeClass(["foo", "bar"], { baz: true, qux: false })).toEqual({ 0: "foo", 1: "bar", baz: true, qux: false });
51
+ "mergeClass(): array and object (object keys become class names)": async () => {
52
+ await expect(mergeClass(["foo", "bar"], { baz: true, qux: false })).toEqual({ foo: true, bar: true, baz: true, qux: false });
53
+ await expect(mergeClass(["a", "b"], { c: true, d: false })).toEqual({ a: true, b: true, c: true, d: false });
52
54
  },
53
55
 
54
56
  "mergeClass(): falsy entries are skipped": async () => {
@@ -59,5 +61,10 @@ export default {
59
61
  "mergeClass(): multiple args (3+)": async () => {
60
62
  await expect(mergeClass("a", "b", "c")).toEqual("a b c");
61
63
  await expect(mergeClass("x", null, ["y", "z"], "w")).toEqual("y z x w");
64
+ },
65
+
66
+ "mergeClass(): incompatible types throw": async () => {
67
+ await expect(() => (mergeClass as any)(123 as any, "foo")).toFail();
68
+ await expect(() => (mergeClass as any)("foo", 456 as any)).toFail();
62
69
  }
63
70
  };
@@ -11,6 +11,11 @@ export default {
11
11
  await expect(mergeProps(p) === p).toEqual(true);
12
12
  },
13
13
 
14
+ "mergeProps(): single falsy arg returns undefined": async () => {
15
+ await expect(mergeProps(null)).toEqual(undefined);
16
+ await expect(mergeProps(undefined)).toEqual(undefined);
17
+ },
18
+
14
19
  "mergeProps(): two plain objects merged": async () => {
15
20
  await expect(mergeProps({ a: 1 }, { b: 2 })).toEqual({ a: 1, b: 2 });
16
21
  },
@@ -134,4 +134,12 @@ export default {
134
134
  await expect(state.a.x?.z).toEqual("deep");
135
135
  await expect(state.a.y).toEqual(1);
136
136
  },
137
+
138
+ "StateContext.put() merges into existing object properties via Object.assign": async () => {
139
+ const state = createState({ items: { count: 0, name: "test", hidden: false } });
140
+ const ctx = context(state);
141
+ // Line 110-111: when existing value is object and new value is object, Object.assign merges
142
+ ctx.items.put({ count: 5 });
143
+ await expect(state.items).toEqual({ count: 5, name: "test", hidden: false });
144
+ },
137
145
  };