@ryupold/vode 1.8.11 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vode.cjs.min.js +3 -3
- package/dist/vode.d.ts +23 -25
- package/dist/vode.es5.min.js +6 -6
- package/dist/vode.js +32 -9
- package/dist/vode.min.js +1 -1
- package/dist/vode.min.mjs +1 -1
- package/dist/vode.mjs +32 -9
- package/dist/vode.tests.mjs +281 -45
- package/package.json +4 -4
- package/src/merge-class.ts +3 -3
- package/src/state-context.ts +65 -38
- package/src/vode.ts +10 -3
- package/test/helper.ts +1 -1
- package/test/tests-app.ts +42 -2
- package/test/tests-catch.ts +61 -1
- package/test/tests-examples.ts +3 -3
- package/test/tests-mergeClass.ts +11 -4
- package/test/tests-mergeProps.ts +5 -0
- package/test/tests-patch-advanced.ts +20 -21
- package/test/tests-state-context.ts +181 -21
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 I=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var q=(e,n)=>{for(var s in n)I(e,s,{get:n[s],enumerable:!0})},X=(e,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of B(n))!w.call(e,t)&&t!==s&&I(e,t,{get:()=>n[t],enumerable:!(o=K(n,t))||o.enumerable});return e};var Y=e=>X(I({},"__esModule",{value:!0}),e);var Yo={};q(Yo,{A:()=>at,ABBR:()=>st,ADDRESS:()=>rt,ANIMATE:()=>Sn,ANIMATEMOTION:()=>ln,ANIMATETRANSFORM:()=>fn,ANNOTATION:()=>To,ANNOTATION_XML:()=>yo,AREA:()=>ct,ARTICLE:()=>it,ASIDE:()=>St,AUDIO:()=>lt,B:()=>ft,BASE:()=>pt,BDI:()=>ut,BDO:()=>dt,BLOCKQUOTE:()=>Tt,BODY:()=>yt,BR:()=>xt,BUTTON:()=>gt,CANVAS:()=>ht,CAPTION:()=>mt,CIRCLE:()=>pn,CITE:()=>bt,CLIPPATH:()=>un,CODE:()=>Pt,COL:()=>Et,COLGROUP:()=>At,DATA:()=>Ct,DATALIST:()=>Mt,DD:()=>Rt,DEFS:()=>dn,DEL:()=>Nt,DESC:()=>Tn,DETAILS:()=>Ot,DFN:()=>Dt,DIALOG:()=>vt,DIV:()=>Lt,DL:()=>It,DT:()=>Vt,ELLIPSE:()=>yn,EM:()=>Ft,EMBED:()=>Ht,FEBLEND:()=>xn,FECOLORMATRIX:()=>gn,FECOMPONENTTRANSFER:()=>hn,FECOMPOSITE:()=>mn,FECONVOLVEMATRIX:()=>bn,FEDIFFUSELIGHTING:()=>Pn,FEDISPLACEMENTMAP:()=>En,FEDISTANTLIGHT:()=>An,FEDROPSHADOW:()=>Cn,FEFLOOD:()=>Mn,FEFUNCA:()=>Rn,FEFUNCB:()=>Nn,FEFUNCG:()=>On,FEFUNCR:()=>Dn,FEGAUSSIANBLUR:()=>vn,FEIMAGE:()=>Ln,FEMERGE:()=>In,FEMERGENODE:()=>Vn,FEMORPHOLOGY:()=>Fn,FEOFFSET:()=>Hn,FEPOINTLIGHT:()=>Gn,FESPECULARLIGHTING:()=>jn,FESPOTLIGHT:()=>_n,FETILE:()=>kn,FETURBULENCE:()=>Un,FIELDSET:()=>Gt,FIGCAPTION:()=>jt,FIGURE:()=>_t,FILTER:()=>Kn,FOOTER:()=>kt,FOREIGNOBJECT:()=>Bn,FORM:()=>Ut,G:()=>wn,H1:()=>Kt,H2:()=>Bt,H3:()=>wt,H4:()=>qt,H5:()=>Xt,H6:()=>Yt,HEAD:()=>Wt,HEADER:()=>$t,HGROUP:()=>Jt,HR:()=>Qt,HTML:()=>zt,I:()=>Zt,IFRAME:()=>te,IMAGE:()=>qn,IMG:()=>ee,INPUT:()=>ne,INS:()=>oe,KBD:()=>ae,LABEL:()=>se,LEGEND:()=>re,LI:()=>ce,LINE:()=>Xn,LINEARGRADIENT:()=>Yn,LINK:()=>ie,MACTION:()=>xo,MAIN:()=>Se,MAP:()=>le,MARK:()=>fe,MARKER:()=>Wn,MASK:()=>$n,MATH:()=>go,MENU:()=>pe,MERROR:()=>ho,META:()=>ue,METADATA:()=>Jn,METER:()=>de,MFRAC:()=>mo,MI:()=>bo,MMULTISCRIPTS:()=>Po,MN:()=>Eo,MO:()=>Ao,MOVER:()=>Co,MPADDED:()=>Mo,MPATH:()=>Qn,MPHANTOM:()=>Ro,MPRESCRIPTS:()=>No,MROOT:()=>Oo,MROW:()=>Do,MS:()=>vo,MSPACE:()=>Lo,MSQRT:()=>Io,MSTYLE:()=>Vo,MSUB:()=>Fo,MSUBSUP:()=>Ho,MSUP:()=>Go,MTABLE:()=>jo,MTD:()=>_o,MTEXT:()=>ko,MTR:()=>Uo,MUNDER:()=>Ko,MUNDEROVER:()=>Bo,NAV:()=>Te,NOSCRIPT:()=>ye,OBJECT:()=>xe,OL:()=>ge,OPTGROUP:()=>he,OPTION:()=>me,OUTPUT:()=>be,P:()=>Pe,PATH:()=>zn,PATTERN:()=>Zn,PICTURE:()=>Ee,POLYGON:()=>to,POLYLINE:()=>eo,PRE:()=>Ae,PROGRESS:()=>Ce,Q:()=>Me,RADIALGRADIENT:()=>no,RECT:()=>oo,RP:()=>Re,RT:()=>Ne,RUBY:()=>Oe,S:()=>De,SAMP:()=>ve,SCRIPT:()=>Le,SEARCH:()=>Ie,SECTION:()=>Ve,SELECT:()=>Fe,SEMANTICS:()=>wo,SET:()=>ao,SLOT:()=>He,SMALL:()=>Ge,SOURCE:()=>je,SPAN:()=>_e,STOP:()=>so,STRONG:()=>ke,STYLE:()=>Ue,SUB:()=>Ke,SUMMARY:()=>Be,SUP:()=>we,SVG:()=>ro,SWITCH:()=>co,SYMBOL:()=>io,TABLE:()=>qe,TBODY:()=>Xe,TD:()=>Ye,TEMPLATE:()=>We,TEXT:()=>So,TEXTAREA:()=>$e,TEXTPATH:()=>lo,TFOOT:()=>Je,TH:()=>Qe,THEAD:()=>ze,TIME:()=>Ze,TITLE:()=>tn,TR:()=>en,TRACK:()=>nn,TSPAN:()=>fo,U:()=>on,UL:()=>an,USE:()=>po,VAR:()=>sn,VIDEO:()=>rn,VIEW:()=>uo,WBR:()=>cn,app:()=>$,child:()=>et,childCount:()=>tt,children:()=>O,childrenStart:()=>E,context:()=>Xo,createPatch:()=>z,createState:()=>Q,defuse:()=>V,globals:()=>P,hydrate:()=>N,memo:()=>J,mergeClass:()=>F,mergeProps:()=>qo,mergeStyle:()=>H,props:()=>m,tag:()=>Z,vode:()=>W});var P={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 W(e,n,...s){if(!e)throw new Error("first argument to vode() must be a tag name or a vode");return Array.isArray(e)?e:typeof n=="object"?[e,n,...s]:[e,...s]}function $(e,n,s,...o){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=P.requestAnimationFrame,t.asyncRenderer=P.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 a=n;"patch"in n&&typeof n.patch=="function"&&Array.isArray(n.patch.initialPatches)&&(o=[...n.patch.initialPatches,...o]);async function r(c,p){t.stats.liveEffectCount++;try{let d=await c;await a.patch(d,p)}finally{t.stats.liveEffectCount--}}async function l(c,p){let d=c;t.stats.liveEffectCount++;try{let f=await d.next();for(;f.done===!1;){t.stats.liveEffectCount++;try{await a.patch(f.value,p),f=await d.next()}finally{t.stats.liveEffectCount--}}await a.patch(f.value,p)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,p)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object")){if(t.stats.patchCount++,c?.next)return l(c,p);if(c.then)return r(c,p);if(Array.isArray(c))if(c.length>0)for(let d of c)a.patch(d,!document.hidden&&!!t.asyncRenderer);else{b(t.state,t.qAsync,!0),t.qAsync=null;try{P.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else p?(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 p=performance.now();if(t.vode=A(t.state,e.parentElement,0,0,t.vode,s(t.state)),e.tagName.toLowerCase()!==t.vode[0].toLowerCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-p;let d=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,d&&t.renderSync()}}let S=i.bind(null,!1),T=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(S))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await P.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=b(t.state,t.qAsync,!0),t.qAsync=null,P.currentViewTransition=t.asyncRenderer(T),await P.currentViewTransition?.updateCallbackDone}finally{t.stats.lastAsyncRenderTime=performance.now()-c,t.stats.asyncRenderCount++,t.isAnimating=!1}t.qAsync&&t.renderAsync()}}),t.state=a;let u=e;u._vode=t;let h=Array.from(e.parentElement.children).indexOf(e),y=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=A(n,e.parentElement,h,h,N(e,!0),s(n)),e.tagName.toLowerCase()!==t.vode[0].toLowerCase()&&(e=t.vode.node,e._vode=t);let x=t.stats.syncRenderPatchCount!==y;t.isRendering=0,t.stats.syncRenderCount++,x&&t.renderSync();for(let c of o)a.patch(c);return c=>a.patch(c)}function V(e){if(e?._vode){let s=function(t){if(!t?.node)return;let a=m(t);if(a){for(let r in a)r[0]==="o"&&r[1]==="n"&&(t.node[r]=null);t.node.catch=null}if(t.node._vode)V(t.node);else{let r=O(t);if(r)for(let l of r)s(l)}};var n=s;let o=e._vode;delete e._vode,Object.defineProperty(o.state,"patch",{value:void 0}),Object.defineProperty(o,"renderSync",{value:()=>{}}),Object.defineProperty(o,"renderAsync",{value:()=>{}}),s(o.vode)}else for(let s of e.children)V(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 o=[e.tagName.toLowerCase()];if(n&&(o.node=e),e?.hasAttributes()){let t={},a=e.attributes;for(let r of a)t[r.name]=r.value;o.push(t)}if(e.hasChildNodes()){let t=[];for(let a of e.childNodes){let r=a&&N(a,n);r?o.push(r):a&&n&&t.push(a)}for(let a of t)a.remove()}return o}else return}function J(e,n){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof n!="function")throw new Error("second argument to memo() must be a function that returns a child vode");if(n.__memo){let s=n;n=o=>s(o)}return n.__memo=e,n}function Q(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return"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 z(e){return e}function Z(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function 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=E(e);return n>0?e.slice(n):null}function tt(e){let n=E(e);return n<0?0:e.length-n}function et(e,n){let s=E(e);if(s>0)return e[n+s]}function E(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 o in n){let t=n[o];if(t&&typeof t=="object"){let a=e[o];a?Array.isArray(t)?e[o]=[...t]:t instanceof Date&&a!==t?e[o]=new Date(t):Array.isArray(a)?e[o]=b({},t,s):typeof a=="object"?b(e[o],t,s):e[o]=b({},t,s):Array.isArray(t)?e[o]=[...t]:t instanceof Date?e[o]=new Date(t):e[o]=b({},t,s)}else t===void 0&&s?delete e[o]:e[o]=t}return e}function A(e,n,s,o,t,a,r){try{a=j(e,a,t);let l=!a||typeof a=="number"||typeof a=="boolean";if(a===t||!t&&l)return t;let i=t?.nodeType===Node.TEXT_NODE,S=i?t:t?.node;if(l){R(e,t),S?.remove();return}let T=!l&&ot(a),u=!l&&nt(a),h=!!a&&typeof a!="string"&&!!(a?.node||a?.nodeType===Node.TEXT_NODE);if(!T&&!u&&!h&&!t)throw new Error("Invalid vode: "+typeof a+" "+JSON.stringify(a));if(h&&T?a=a.wholeText:h&&u&&(a=[...a]),i&&T)return S.nodeValue!==a&&(S.nodeValue=a),t;if(T&&(!S||!i)){let y=document.createTextNode(a);if(S)R(e,t),S.replaceWith(y);else{let x=!1;for(let c=o;c<n.childNodes.length;c++){let p=n.childNodes[c];if(p){p.before(y),x=!0;break}}x||n.appendChild(y)}return y}if(u&&(!S||i||t[0]!==a[0])){let y=a;1 in y&&(y[1]=j(e,y[1],void 0));let x=m(a);x?.xmlns!==void 0&&(r=x.xmlns);let c=r?document.createElementNS(r,a[0]):document.createElement(a[0]);if(a.node=c,_(e,c,void 0,x,r??null),x&&"catch"in x&&(a.node.catch=null,a.node.removeAttribute("catch")),S)R(e,t),S.replaceWith(c);else{let d=!1;for(let f=o;f<n.childNodes.length;f++){let g=n.childNodes[f];if(g){g.before(c),d=!0;break}}d||n.appendChild(c)}let p=E(a);if(p>0){let d=x?2:1,f=0;for(let g=0;g<a.length-p;g++){let L=a[g+p],C=A(e,c,g,f,void 0,L,r??null);a[g+d]=C,C&&f++}}return a._unmountCount=(x?.onUnmount?1:0)+G(a),typeof x?.onMount=="function"&&e.patch(x.onMount(e,c)),a}if(!i&&u&&t[0]===a[0]){a.node=S;let y=m(a),x=m(t);y?.xmlns!==void 0&&(r=y.xmlns),_(e,S,x,y,r),y?.catch&&x?.catch!==y.catch&&(a.node.catch=null,a.node.removeAttribute("catch"));let c=E(a),p=E(t);if(c>0){let d=0;for(let f=0;f<a.length-c;f++){let g=a[f+c],L=p>0?t[f+p]:void 0,C=A(e,S,f,d,L,g,r);a[f+c]=C,C&&d++}}if(p>0){let d=c>0?a.length-c:0;for(let f=t.length-1-p;f>=d;f--)A(e,S,f,f,t[f+p],void 0,r)}return a._unmountCount=(y?.onUnmount?1:0)+G(a),a}}catch(l){let i=m(a)?.catch;if(i){let S=typeof i=="function"?i(e,l):i;return A(e,n,s,o,N(a?.node||t?.node,!0),S,r)}else throw l}}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 o=m(n);typeof o?.onUnmount=="function"&&e.patch(o.onUnmount(e,n.node))}function G(e){let n=O(e);if(!n)return 0;let s=0;for(let o of n)o&&Array.isArray(o)&&(s+=o._unmountCount|0);return s}function nt(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function ot(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function j(e,n,s){for(;typeof n=="function"&&!n.__memo;)n=n(e);if(typeof n!="function")return n;let o=n?.__memo,t=s?.__memo;if(Array.isArray(o)&&Array.isArray(t)&&o.length===t.length){let a=!0;for(let r=0;r<o.length;r++)if(o[r]!==t[r]){a=!1;break}if(a)return s}for(;typeof n=="function";)n=n(e);return typeof n=="object"&&(n.__memo=o),n}function _(e,n,s,o,t){if(!o&&!s)return;let a=t!==void 0;if(s)for(let r in s){let l=s[r],i=o?.[r];l!==i&&(o?o[r]=M(e,n,r,l,i,a):M(e,n,r,l,void 0,a))}if(o&&s){for(let r in o)if(!(r in s)){let l=o[r];o[r]=M(e,n,r,void 0,l,a)}}else if(o)for(let r in o){let l=o[r];o[r]=M(e,n,r,void 0,l,a)}}function M(e,n,s,o,t,a){if(s==="style")if(!t)n.style.cssText="";else if(typeof t=="string")o!==t&&(n.style.cssText=t);else if(o&&typeof o=="object"){for(let r in o)t[r]||(n.style[r]=null);for(let r in t){let l=o[r],i=t[r];l!==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 l=t;r=i=>e.patch(l(e,i))}else typeof t=="object"&&(r=()=>e.patch(t));n[s]=r}else n[s]=null;else a||(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 at="a",st="abbr",rt="address",ct="area",it="article",St="aside",lt="audio",ft="b",pt="base",ut="bdi",dt="bdo",Tt="blockquote",yt="body",xt="br",gt="button",ht="canvas",mt="caption",bt="cite",Pt="code",Et="col",At="colgroup",Ct="data",Mt="datalist",Rt="dd",Nt="del",Ot="details",Dt="dfn",vt="dialog",Lt="div",It="dl",Vt="dt",Ft="em",Ht="embed",Gt="fieldset",jt="figcaption",_t="figure",kt="footer",Ut="form",Kt="h1",Bt="h2",wt="h3",qt="h4",Xt="h5",Yt="h6",Wt="head",$t="header",Jt="hgroup",Qt="hr",zt="html",Zt="i",te="iframe",ee="img",ne="input",oe="ins",ae="kbd",se="label",re="legend",ce="li",ie="link",Se="main",le="map",fe="mark",pe="menu",ue="meta",de="meter",Te="nav",ye="noscript",xe="object",ge="ol",he="optgroup",me="option",be="output",Pe="p",Ee="picture",Ae="pre",Ce="progress",Me="q",Re="rp",Ne="rt",Oe="ruby",De="s",ve="samp",Le="script",Ie="search",Ve="section",Fe="select",He="slot",Ge="small",je="source",_e="span",ke="strong",Ue="style",Ke="sub",Be="summary",we="sup",qe="table",Xe="tbody",Ye="td",We="template",$e="textarea",Je="tfoot",Qe="th",ze="thead",Ze="time",tn="title",en="tr",nn="track",on="u",an="ul",sn="var",rn="video",cn="wbr",Sn="animate",ln="animateMotion",fn="animateTransform",pn="circle",un="clipPath",dn="defs",Tn="desc",yn="ellipse",xn="feBlend",gn="feColorMatrix",hn="feComponentTransfer",mn="feComposite",bn="feConvolveMatrix",Pn="feDiffuseLighting",En="feDisplacementMap",An="feDistantLight",Cn="feDropShadow",Mn="feFlood",Rn="feFuncA",Nn="feFuncB",On="feFuncG",Dn="feFuncR",vn="feGaussianBlur",Ln="feImage",In="feMerge",Vn="feMergeNode",Fn="feMorphology",Hn="feOffset",Gn="fePointLight",jn="feSpecularLighting",_n="feSpotLight",kn="feTile",Un="feTurbulence",Kn="filter",Bn="foreignObject",wn="g",qn="image",Xn="line",Yn="linearGradient",Wn="marker",$n="mask",Jn="metadata",Qn="mpath",zn="path",Zn="pattern",to="polygon",eo="polyline",no="radialGradient",oo="rect",ao="set",so="stop",ro="svg",co="switch",io="symbol",So="text",lo="textPath",fo="tspan",po="use",uo="view",To="annotation",yo="annotation-xml",xo="maction",go="math",ho="merror",mo="mfrac",bo="mi",Po="mmultiscripts",Eo="mn",Ao="mo",Co="mover",Mo="mpadded",Ro="mphantom",No="mprescripts",Oo="mroot",Do="mrow",vo="ms",Lo="mspace",Io="msqrt",Vo="mstyle",Fo="msub",Ho="msubsup",Go="msup",jo="mtable",_o="mtd",ko="mtext",Uo="mtr",Ko="munder",Bo="munderover",wo="semantics";function F(...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 o=n,t=e[s];if(!o)n=t;else if(t)if(typeof o=="string"&&typeof t=="string"){let a=o.split(" "),r=t.split(" "),l=new Set([...a,...r]);n=Array.from(l).join(" ").trim()}else if(typeof o=="string"&&Array.isArray(t)){let a=new Set([...t,...o.split(" ")]);n=Array.from(a).join(" ").trim()}else if(Array.isArray(o)&&typeof t=="string"){let a=new Set([...o,...t.split(" ")]);n=Array.from(a).join(" ").trim()}else if(Array.isArray(o)&&Array.isArray(t)){let a=new Set([...o,...t]);n=Array.from(a).join(" ").trim()}else if(typeof o=="string"&&typeof t=="object")n={[o]:!0,...t};else if(typeof o=="object"&&typeof t=="string")n={...o,[t]:!0};else if(typeof o=="object"&&Array.isArray(t)){let a={...o};for(let r of t)a[r]=!0;n=a}else if(Array.isArray(o)&&typeof t=="object"){let a={};for(let r of o)a[r]=!0;for(let r of Object.keys(t))a[r]=t[r];n=a}else if(typeof o=="object"&&typeof t=="object")n={...o,...t};else throw new Error(`cannot merge classes of ${o} (${typeof o}) and ${t} (${typeof t})`);else continue}return n}var D;function H(...e){D||(D=document.createElement("div"));try{let n=D.style;for(let s of e)if(typeof s=="object"&&s!==null)for(let o in s)n[o]=s[o];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 o in s)o==="style"?n.style=H(n.style,s.style):o==="class"?n.class=F(n.class,s.class):n[o]=s[o]}return n}function Xo(e,n){if(n){let o=n(U(e,[])).___KeYs___;return new v(e,o)}return new v(e,[])}var v=class e{constructor(n,s){this.state=n;this.keys=s;function o(i,S){if(s.length>1){let T=0,u=S[s[T]];for((typeof u!="object"||u===null)&&(S[s[T]]=u={}),T=1;T<s.length-1;T++){let h=u;u=u[s[T]],(typeof u!="object"||u===null)&&(h[s[T]]=u={})}u[s[T]]=i}else s.length===1?typeof S[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(S[s[0]],i):S[s[0]]=i:Object.assign(S,i)}function t(i){let S={};return o(i,S),S}function a(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let S=1;S<s.length&&i;S++)i=i[s[S]];return i}function r(i){o(i,n)}function l(i,S){S?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,S,T)=>{if(S==="get")return a;if(S==="put")return r;if(S==="patch")return l;let u=[...s,String(S)];return new e(i.state,u)},set:(i,S,T,u)=>{throw new Error("ProxyStateContext is not meant to be directly mutated. Use put() or patch() methods on the StateContext instead")}})}state;keys;get(){}put(n){}patch(n){}};function U(e,n){return new Proxy(e,{get:(s,o,t)=>{if(o==="___KeYs___")return n;let a=[...n,String(o)];return U(e,a)},set:(s,o,t,a)=>{throw new Error("ProxyState is not meant to be directly mutated")}})}return Y(Yo);})();
|
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 P={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 B(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=P.requestAnimationFrame,t.asyncRenderer=P.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,p){t.stats.liveEffectCount++;try{let d=await c;await o.patch(d,p)}finally{t.stats.liveEffectCount--}}async function l(c,p){let d=c;t.stats.liveEffectCount++;try{let f=await d.next();for(;f.done===!1;){t.stats.liveEffectCount++;try{await o.patch(f.value,p),f=await d.next()}finally{t.stats.liveEffectCount--}}await o.patch(f.value,p)}finally{t.stats.liveEffectCount--}}Object.defineProperty(n,"patch",{enumerable:!1,configurable:!0,writable:!1,value:(c,p)=>{for(;typeof c=="function";)c=c(t.state);if(!(!c||typeof c!="object")){if(t.stats.patchCount++,c?.next)return l(c,p);if(c.then)return r(c,p);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{P.currentViewTransition?.skipTransition()}catch{}t.stats.syncRenderPatchCount++,t.renderSync()}else p?(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 p=performance.now();if(t.vode=E(t.state,e.parentElement,0,0,t.vode,s(t.state)),e.tagName.toLowerCase()!==t.vode[0].toLowerCase()&&(e=t.vode.node,e._vode=t),!c){t.stats.lastSyncRenderTime=performance.now()-p;let d=t.isRendering!==t.stats.syncRenderPatchCount;t.stats.syncRenderCount++,t.isRendering=0,d&&t.renderSync()}}let S=i.bind(null,!1),T=i.bind(null,!0);Object.defineProperty(t,"renderSync",{enumerable:!1,configurable:!0,writable:!1,value:()=>{t.isRendering||(t.isRendering=t.stats.syncRenderPatchCount,t.syncRenderer(S))}}),Object.defineProperty(t,"renderAsync",{enumerable:!1,configurable:!0,writable:!1,value:async()=>{if(t.isAnimating||!t.qAsync||(await P.currentViewTransition?.updateCallbackDone,t.isAnimating||!t.qAsync||document.hidden))return;t.isAnimating=!0;let c=performance.now();try{t.state=m(t.state,t.qAsync,!0),t.qAsync=null,P.currentViewTransition=t.asyncRenderer(T),await P.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 h=Array.from(e.parentElement.children).indexOf(e),y=t.stats.syncRenderPatchCount;t.isRendering=t.stats.syncRenderPatchCount,t.vode=E(n,e.parentElement,h,h,v(e,!0),s(n)),e.tagName.toLowerCase()!==t.vode[0].toLowerCase()&&(e=t.vode.node,e._vode=t);let x=t.stats.syncRenderPatchCount!==y;t.isRendering=0,t.stats.syncRenderCount++,x&&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 l of r)s(l)}};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 v(e,n){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?n?e:e.nodeValue:void 0;if(e.nodeType===Node.ELEMENT_NODE){let a=[e.tagName.toLowerCase()];if(n&&(a.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;a.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&v(o,n);r?a.push(r):o&&n&&t.push(o)}for(let o of t)o.remove()}return a}else return}function 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 X(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 Y(e){return e}function W(e){return e?Array.isArray(e)?e[0]:typeof e=="string"||e.nodeType===Node.TEXT_NODE?"#text":void 0:void 0}function 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 $(e){let n=A(e);return n<0?0:e.length-n}function J(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 E(e,n,s,a,t,o,r){try{o=F(e,o,t);let l=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&l)return t;let i=t?.nodeType===Node.TEXT_NODE,S=i?t:t?.node;if(l){R(e,t),S?.remove();return}let T=!l&&K(o),u=!l&&U(o),h=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!T&&!u&&!h&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(h&&T?o=o.wholeText:h&&u&&(o=[...o]),i&&T)return S.nodeValue!==o&&(S.nodeValue=o),t;if(T&&(!S||!i)){let y=document.createTextNode(o);if(S)R(e,t),S.replaceWith(y);else{let x=!1;for(let c=a;c<n.childNodes.length;c++){let p=n.childNodes[c];if(p){p.before(y),x=!0;break}}x||n.appendChild(y)}return y}if(u&&(!S||i||t[0]!==o[0])){let y=o;1 in y&&(y[1]=F(e,y[1],void 0));let x=b(o);x?.xmlns!==void 0&&(r=x.xmlns);let c=r?document.createElementNS(r,o[0]):document.createElement(o[0]);if(o.node=c,H(e,c,void 0,x,r??null),x&&"catch"in x&&(o.node.catch=null,o.node.removeAttribute("catch")),S)R(e,t),S.replaceWith(c);else{let d=!1;for(let f=a;f<n.childNodes.length;f++){let g=n.childNodes[f];if(g){g.before(c),d=!0;break}}d||n.appendChild(c)}let p=A(o);if(p>0){let d=x?2:1,f=0;for(let g=0;g<o.length-p;g++){let D=o[g+p],C=E(e,c,g,f,void 0,D,r??null);o[g+d]=C,C&&f++}}return o._unmountCount=(x?.onUnmount?1:0)+V(o),typeof x?.onMount=="function"&&e.patch(x.onMount(e,c)),o}if(!i&&u&&t[0]===o[0]){o.node=S;let y=b(o),x=b(t);y?.xmlns!==void 0&&(r=y.xmlns),H(e,S,x,y,r),y?.catch&&x?.catch!==y.catch&&(o.node.catch=null,o.node.removeAttribute("catch"));let c=A(o),p=A(t);if(c>0){let d=0;for(let f=0;f<o.length-c;f++){let g=o[f+c],D=p>0?t[f+p]:void 0,C=E(e,S,f,d,D,g,r);o[f+c]=C,C&&d++}}if(p>0){let d=c>0?o.length-c:0;for(let f=t.length-1-p;f>=d;f--)E(e,S,f,f,t[f+p],void 0,r)}return o._unmountCount=(y?.onUnmount?1:0)+V(o),o}}catch(l){let i=b(o)?.catch;if(i){let S=typeof i=="function"?i(e,l):i;return E(e,n,s,a,v(o?.node||t?.node,!0),S,r)}else throw l}}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 U(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function K(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 l=s[r],i=a?.[r];l!==i&&(a?a[r]=M(e,n,r,l,i,o):M(e,n,r,l,void 0,o))}if(a&&s){for(let r in a)if(!(r in s)){let l=a[r];a[r]=M(e,n,r,void 0,l,o)}}else if(a)for(let r in a){let l=a[r];a[r]=M(e,n,r,void 0,l,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 l=a[r],i=t[r];l!==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 l=t;r=i=>e.patch(l(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 z="a",Z="abbr",tt="address",et="area",nt="article",ot="aside",at="audio",st="b",rt="base",ct="bdi",it="bdo",St="blockquote",lt="body",ft="br",pt="button",ut="canvas",dt="caption",Tt="cite",yt="code",xt="col",gt="colgroup",ht="data",mt="datalist",bt="dd",Pt="del",Et="details",At="dfn",Ct="dialog",Mt="div",Rt="dl",Nt="dt",Ot="em",Dt="embed",vt="fieldset",Lt="figcaption",It="figure",Vt="footer",Ft="form",Ht="h1",Gt="h2",jt="h3",_t="h4",kt="h5",Ut="h6",Kt="head",Bt="header",wt="hgroup",qt="hr",Xt="html",Yt="i",Wt="iframe",$t="img",Jt="input",Qt="ins",zt="kbd",Zt="label",te="legend",ee="li",ne="link",oe="main",ae="map",se="mark",re="menu",ce="meta",ie="meter",Se="nav",le="noscript",fe="object",pe="ol",ue="optgroup",de="option",Te="output",ye="p",xe="picture",ge="pre",he="progress",me="q",be="rp",Pe="rt",Ee="ruby",Ae="s",Ce="samp",Me="script",Re="search",Ne="section",Oe="select",De="slot",ve="small",Le="source",Ie="span",Ve="strong",Fe="style",He="sub",Ge="summary",je="sup",_e="table",ke="tbody",Ue="td",Ke="template",Be="textarea",we="tfoot",qe="th",Xe="thead",Ye="time",We="title",$e="tr",Je="track",Qe="u",ze="ul",Ze="var",tn="video",en="wbr",nn="animate",on="animateMotion",an="animateTransform",sn="circle",rn="clipPath",cn="defs",Sn="desc",ln="ellipse",fn="feBlend",pn="feColorMatrix",un="feComponentTransfer",dn="feComposite",Tn="feConvolveMatrix",yn="feDiffuseLighting",xn="feDisplacementMap",gn="feDistantLight",hn="feDropShadow",mn="feFlood",bn="feFuncA",Pn="feFuncB",En="feFuncG",An="feFuncR",Cn="feGaussianBlur",Mn="feImage",Rn="feMerge",Nn="feMergeNode",On="feMorphology",Dn="feOffset",vn="fePointLight",Ln="feSpecularLighting",In="feSpotLight",Vn="feTile",Fn="feTurbulence",Hn="filter",Gn="foreignObject",jn="g",_n="image",kn="line",Un="linearGradient",Kn="marker",Bn="mask",wn="metadata",qn="mpath",Xn="path",Yn="pattern",Wn="polygon",$n="polyline",Jn="radialGradient",Qn="rect",zn="set",Zn="stop",to="svg",eo="switch",no="symbol",oo="text",ao="textPath",so="tspan",ro="use",co="view",io="annotation",So="annotation-xml",lo="maction",fo="math",po="merror",uo="mfrac",To="mi",yo="mmultiscripts",xo="mn",go="mo",ho="mover",mo="mpadded",bo="mphantom",Po="mprescripts",Eo="mroot",Ao="mrow",Co="ms",Mo="mspace",Ro="msqrt",No="mstyle",Oo="msub",Do="msubsup",vo="msup",Lo="mtable",Io="mtd",Vo="mtext",Fo="mtr",Ho="munder",Go="munderover",jo="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(" "),l=new Set([...o,...r]);n=Array.from(l).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 _(...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 wo(...e){if(e.length===0)return;if(e.length===1)return e[0]||void 0;let n;for(let s of e)if(!(typeof s!="object"||s===null)){n||(n={});for(let a in s)a==="style"?n.style=_(n.style,s.style):a==="class"?n.class=j(n.class,s.class):n[a]=s[a]}return n}function Xo(e,n){if(n){let a=n(k(e,[])).___KeYs___;return new O(e,a)}return new O(e,[])}var O=class e{constructor(n,s){this.state=n;this.keys=s;function a(i,S){if(s.length>1){let T=0,u=S[s[T]];for((typeof u!="object"||u===null)&&(S[s[T]]=u={}),T=1;T<s.length-1;T++){let h=u;u=u[s[T]],(typeof u!="object"||u===null)&&(h[s[T]]=u={})}u[s[T]]=i}else s.length===1?typeof S[s[0]]=="object"&&typeof i=="object"&&i!==null?Object.assign(S[s[0]],i):S[s[0]]=i:Object.assign(S,i)}function t(i){let S={};return a(i,S),S}function o(){if(s.length===0)return n;let i=n?n[s[0]]:void 0;for(let S=1;S<s.length&&i;S++)i=i[s[S]];return i}function r(i){a(i,n)}function l(i,S){S?n.patch([t(i)]):n.patch(t(i))}return new Proxy(this,{get:(i,S,T)=>{if(S==="get")return o;if(S==="put")return r;if(S==="patch")return l;let u=[...s,String(S)];return new e(i.state,u)},set:(i,S,T,u)=>{throw new Error("ProxyStateContext is not meant to be directly mutated. Use put() or patch() methods on the StateContext instead")}})}state;keys;get(){}put(n){}patch(n){}};function k(e,n){return new Proxy(e,{get:(s,a,t)=>{if(a==="___KeYs___")return n;let o=[...n,String(a)];return k(e,o)},set:(s,a,t,o)=>{throw new Error("ProxyState is not meant to be directly mutated")}})}export{z as A,Z as ABBR,tt as ADDRESS,nn as ANIMATE,on as ANIMATEMOTION,an as ANIMATETRANSFORM,io as ANNOTATION,So as ANNOTATION_XML,et as AREA,nt as ARTICLE,ot as ASIDE,at as AUDIO,st as B,rt as BASE,ct as BDI,it as BDO,St as BLOCKQUOTE,lt as BODY,ft as BR,pt as BUTTON,ut as CANVAS,dt as CAPTION,sn as CIRCLE,Tt as CITE,rn as CLIPPATH,yt as CODE,xt as COL,gt as COLGROUP,ht as DATA,mt as DATALIST,bt as DD,cn as DEFS,Pt as DEL,Sn as DESC,Et as DETAILS,At as DFN,Ct as DIALOG,Mt as DIV,Rt as DL,Nt as DT,ln as ELLIPSE,Ot as EM,Dt as EMBED,fn as FEBLEND,pn as FECOLORMATRIX,un as FECOMPONENTTRANSFER,dn as FECOMPOSITE,Tn as FECONVOLVEMATRIX,yn as FEDIFFUSELIGHTING,xn as FEDISPLACEMENTMAP,gn as FEDISTANTLIGHT,hn as FEDROPSHADOW,mn as FEFLOOD,bn as FEFUNCA,Pn as FEFUNCB,En as FEFUNCG,An as FEFUNCR,Cn as FEGAUSSIANBLUR,Mn as FEIMAGE,Rn as FEMERGE,Nn as FEMERGENODE,On as FEMORPHOLOGY,Dn as FEOFFSET,vn as FEPOINTLIGHT,Ln as FESPECULARLIGHTING,In as FESPOTLIGHT,Vn as FETILE,Fn as FETURBULENCE,vt as FIELDSET,Lt as FIGCAPTION,It as FIGURE,Hn as FILTER,Vt as FOOTER,Gn as FOREIGNOBJECT,Ft as FORM,jn as G,Ht as H1,Gt as H2,jt as H3,_t as H4,kt as H5,Ut as H6,Kt as HEAD,Bt as HEADER,wt as HGROUP,qt as HR,Xt as HTML,Yt as I,Wt as IFRAME,_n as IMAGE,$t as IMG,Jt as INPUT,Qt as INS,zt as KBD,Zt as LABEL,te as LEGEND,ee as LI,kn as LINE,Un as LINEARGRADIENT,ne as LINK,lo as MACTION,oe as MAIN,ae as MAP,se as MARK,Kn as MARKER,Bn as MASK,fo as MATH,re as MENU,po as MERROR,ce as META,wn as METADATA,ie as METER,uo as MFRAC,To as MI,yo as MMULTISCRIPTS,xo as MN,go as MO,ho as MOVER,mo as MPADDED,qn as MPATH,bo as MPHANTOM,Po as MPRESCRIPTS,Eo as MROOT,Ao as MROW,Co as MS,Mo as MSPACE,Ro as MSQRT,No as MSTYLE,Oo as MSUB,Do as MSUBSUP,vo as MSUP,Lo as MTABLE,Io as MTD,Vo as MTEXT,Fo as MTR,Ho as MUNDER,Go as MUNDEROVER,Se as NAV,le as NOSCRIPT,fe as OBJECT,pe as OL,ue as OPTGROUP,de as OPTION,Te as OUTPUT,ye as P,Xn as PATH,Yn as PATTERN,xe as PICTURE,Wn as POLYGON,$n as POLYLINE,ge as PRE,he as PROGRESS,me as Q,Jn as RADIALGRADIENT,Qn as RECT,be as RP,Pe as RT,Ee as RUBY,Ae as S,Ce as SAMP,Me as SCRIPT,Re as SEARCH,Ne as SECTION,Oe as SELECT,jo as SEMANTICS,zn as SET,De as SLOT,ve as SMALL,Le as SOURCE,Ie as SPAN,Zn as STOP,Ve as STRONG,Fe as STYLE,He as SUB,Ge as SUMMARY,je as SUP,to as SVG,eo as SWITCH,no as SYMBOL,_e as TABLE,ke as TBODY,Ue as TD,Ke as TEMPLATE,oo as TEXT,Be as TEXTAREA,ao as TEXTPATH,we as TFOOT,qe as TH,Xe as THEAD,Ye as TIME,We as TITLE,$e as TR,Je as TRACK,so as TSPAN,Qe as U,ze as UL,ro as USE,Ze as VAR,tn as VIDEO,co as VIEW,en as WBR,w as app,J as child,$ as childCount,L as children,A as childrenStart,Xo as context,Y as createPatch,X as createState,I as defuse,P as globals,v as hydrate,q as memo,j as mergeClass,wo as mergeProps,_ as mergeStyle,b as props,W as tag,B as vode};
|
package/dist/vode.mjs
CHANGED
|
@@ -96,9 +96,8 @@ function app(container, state, dom, ...initialPatches) {
|
|
|
96
96
|
});
|
|
97
97
|
function renderDom(isAnimated) {
|
|
98
98
|
const sw = performance.now();
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (container.tagName.toUpperCase() !== vom[0].toUpperCase()) {
|
|
99
|
+
_vode.vode = render(_vode.state, container.parentElement, 0, 0, _vode.vode, dom(_vode.state));
|
|
100
|
+
if (container.tagName.toLowerCase() !== _vode.vode[0].toLowerCase()) {
|
|
102
101
|
container = _vode.vode.node;
|
|
103
102
|
container._vode = _vode;
|
|
104
103
|
}
|
|
@@ -160,6 +159,10 @@ function app(container, state, dom, ...initialPatches) {
|
|
|
160
159
|
hydrate(container, true),
|
|
161
160
|
dom(state)
|
|
162
161
|
);
|
|
162
|
+
if (container.tagName.toLowerCase() !== _vode.vode[0].toLowerCase()) {
|
|
163
|
+
container = _vode.vode.node;
|
|
164
|
+
container._vode = _vode;
|
|
165
|
+
}
|
|
163
166
|
const continueRendering = _vode.stats.syncRenderPatchCount !== patchCountBefore;
|
|
164
167
|
_vode.isRendering = 0;
|
|
165
168
|
_vode.stats.syncRenderCount++;
|
|
@@ -866,8 +869,6 @@ function mergeClass(...classes) {
|
|
|
866
869
|
finalClass = { [a]: true, ...b };
|
|
867
870
|
} else if (typeof a === "object" && typeof b === "string") {
|
|
868
871
|
finalClass = { ...a, [b]: true };
|
|
869
|
-
} else if (typeof a === "object" && typeof b === "object") {
|
|
870
|
-
finalClass = { ...a, ...b };
|
|
871
872
|
} else if (typeof a === "object" && Array.isArray(b)) {
|
|
872
873
|
const aa = { ...a };
|
|
873
874
|
for (const item of b) {
|
|
@@ -883,6 +884,8 @@ function mergeClass(...classes) {
|
|
|
883
884
|
aa[bKey] = b[bKey];
|
|
884
885
|
}
|
|
885
886
|
finalClass = aa;
|
|
887
|
+
} else if (typeof a === "object" && typeof b === "object") {
|
|
888
|
+
finalClass = { ...a, ...b };
|
|
886
889
|
} else throw new Error(`cannot merge classes of ${a} (${typeof a}) and ${b} (${typeof b})`);
|
|
887
890
|
}
|
|
888
891
|
return finalClass;
|
|
@@ -933,7 +936,12 @@ function mergeProps(...props2) {
|
|
|
933
936
|
}
|
|
934
937
|
|
|
935
938
|
// src/state-context.ts
|
|
936
|
-
function context(state) {
|
|
939
|
+
function context(state, producePath) {
|
|
940
|
+
if (producePath) {
|
|
941
|
+
const proxy = producePath(proxyState(state, []));
|
|
942
|
+
const keys = proxy["___KeYs___"];
|
|
943
|
+
return new ProxyStateContextImpl(state, keys);
|
|
944
|
+
}
|
|
937
945
|
return new ProxyStateContextImpl(state, []);
|
|
938
946
|
}
|
|
939
947
|
var ProxyStateContextImpl = class _ProxyStateContextImpl {
|
|
@@ -991,16 +999,17 @@ var ProxyStateContextImpl = class _ProxyStateContextImpl {
|
|
|
991
999
|
}
|
|
992
1000
|
return new Proxy(this, {
|
|
993
1001
|
get: (target, prop, receiver) => {
|
|
994
|
-
if (prop === "state")
|
|
995
|
-
return state;
|
|
996
1002
|
if (prop === "get")
|
|
997
1003
|
return get;
|
|
998
1004
|
if (prop === "put")
|
|
999
1005
|
return put;
|
|
1000
1006
|
if (prop === "patch")
|
|
1001
1007
|
return patch;
|
|
1002
|
-
const newKeys = [...
|
|
1008
|
+
const newKeys = [...keys, String(prop)];
|
|
1003
1009
|
return new _ProxyStateContextImpl(target.state, newKeys);
|
|
1010
|
+
},
|
|
1011
|
+
set: (target, p, newValue, receiver) => {
|
|
1012
|
+
throw new Error("ProxyStateContext is not meant to be directly mutated. Use put() or patch() methods on the StateContext instead");
|
|
1004
1013
|
}
|
|
1005
1014
|
});
|
|
1006
1015
|
}
|
|
@@ -1014,6 +1023,20 @@ var ProxyStateContextImpl = class _ProxyStateContextImpl {
|
|
|
1014
1023
|
patch(value) {
|
|
1015
1024
|
}
|
|
1016
1025
|
};
|
|
1026
|
+
function proxyState(state, keys) {
|
|
1027
|
+
return new Proxy(state, {
|
|
1028
|
+
get: (target, prop, receiver) => {
|
|
1029
|
+
if (prop === "___KeYs___") {
|
|
1030
|
+
return keys;
|
|
1031
|
+
}
|
|
1032
|
+
const newKeys = [...keys, String(prop)];
|
|
1033
|
+
return proxyState(state, newKeys);
|
|
1034
|
+
},
|
|
1035
|
+
set: (target, p, newValue, receiver) => {
|
|
1036
|
+
throw new Error("ProxyState is not meant to be directly mutated");
|
|
1037
|
+
}
|
|
1038
|
+
});
|
|
1039
|
+
}
|
|
1017
1040
|
export {
|
|
1018
1041
|
A,
|
|
1019
1042
|
ABBR,
|