sinwan 0.1.0 → 1.0.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.
Files changed (87) hide show
  1. package/README.md +66 -39
  2. package/dist/cjs/index.development.js +1624 -961
  3. package/dist/cjs/index.development.js.map +21 -18
  4. package/dist/cjs/index.production.min.js +2 -2
  5. package/dist/cjs/index.production.min.js.map +21 -18
  6. package/dist/cjs/jsx/jsx-dev-runtime.development.js +6 -16
  7. package/dist/cjs/jsx/jsx-dev-runtime.development.js.map +3 -3
  8. package/dist/cjs/jsx/jsx-dev-runtime.production.min.js +2 -2
  9. package/dist/cjs/jsx/jsx-dev-runtime.production.min.js.map +3 -3
  10. package/dist/cjs/jsx/jsx-runtime.development.js +6 -16
  11. package/dist/cjs/jsx/jsx-runtime.development.js.map +3 -3
  12. package/dist/cjs/jsx/jsx-runtime.production.min.js +2 -2
  13. package/dist/cjs/jsx/jsx-runtime.production.min.js.map +3 -3
  14. package/dist/cjs/renderer/index.development.js +1175 -0
  15. package/dist/cjs/renderer/index.development.js.map +24 -0
  16. package/dist/cjs/renderer/index.production.min.js +3 -0
  17. package/dist/cjs/renderer/index.production.min.js.map +24 -0
  18. package/dist/cjs/server/index.development.js +665 -329
  19. package/dist/cjs/server/index.development.js.map +11 -10
  20. package/dist/cjs/server/index.production.min.js +2 -2
  21. package/dist/cjs/server/index.production.min.js.map +11 -10
  22. package/dist/component/control-flow.d.ts +18 -0
  23. package/dist/component/control-flow.d.ts.map +1 -0
  24. package/dist/component/index.d.ts +3 -1
  25. package/dist/component/index.d.ts.map +1 -1
  26. package/dist/component/instance.d.ts +7 -1
  27. package/dist/component/instance.d.ts.map +1 -1
  28. package/dist/component/lifecycle.d.ts +2 -1
  29. package/dist/component/lifecycle.d.ts.map +1 -1
  30. package/dist/component/provide-inject.d.ts +11 -5
  31. package/dist/component/provide-inject.d.ts.map +1 -1
  32. package/dist/esm/index.development.js +1301 -660
  33. package/dist/esm/index.development.js.map +21 -18
  34. package/dist/esm/index.production.min.js +2 -2
  35. package/dist/esm/index.production.min.js.map +21 -18
  36. package/dist/esm/jsx/jsx-dev-runtime.development.js +6 -16
  37. package/dist/esm/jsx/jsx-dev-runtime.development.js.map +3 -3
  38. package/dist/esm/jsx/jsx-dev-runtime.production.min.js +2 -2
  39. package/dist/esm/jsx/jsx-dev-runtime.production.min.js.map +3 -3
  40. package/dist/esm/jsx/jsx-runtime.development.js +6 -16
  41. package/dist/esm/jsx/jsx-runtime.development.js.map +3 -3
  42. package/dist/esm/jsx/jsx-runtime.production.min.js +2 -2
  43. package/dist/esm/jsx/jsx-runtime.production.min.js.map +3 -3
  44. package/dist/esm/renderer/index.development.js +1124 -0
  45. package/dist/esm/renderer/index.development.js.map +24 -0
  46. package/dist/esm/renderer/index.production.min.js +4 -0
  47. package/dist/esm/renderer/index.production.min.js.map +24 -0
  48. package/dist/esm/server/index.development.js +665 -329
  49. package/dist/esm/server/index.development.js.map +11 -10
  50. package/dist/esm/server/index.production.min.js +2 -2
  51. package/dist/esm/server/index.production.min.js.map +11 -10
  52. package/dist/hydration/walk.d.ts.map +1 -1
  53. package/dist/index.d.ts +6 -6
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/jsx/jsx-runtime.d.ts +13 -0
  56. package/dist/jsx/jsx-runtime.d.ts.map +1 -1
  57. package/dist/jsx/jsx-types.d.ts +122 -57
  58. package/dist/jsx/jsx-types.d.ts.map +1 -1
  59. package/dist/renderer/attributes.d.ts.map +1 -1
  60. package/dist/renderer/dom-ops.d.ts +4 -1
  61. package/dist/renderer/dom-ops.d.ts.map +1 -1
  62. package/dist/renderer/index.d.ts +1 -1
  63. package/dist/renderer/index.d.ts.map +1 -1
  64. package/dist/renderer/mount.d.ts +2 -5
  65. package/dist/renderer/mount.d.ts.map +1 -1
  66. package/dist/renderer/render-children.d.ts +2 -2
  67. package/dist/renderer/render-children.d.ts.map +1 -1
  68. package/dist/renderer/render-control-flow.d.ts +13 -0
  69. package/dist/renderer/render-control-flow.d.ts.map +1 -0
  70. package/dist/renderer/render-element.d.ts +1 -1
  71. package/dist/renderer/render-element.d.ts.map +1 -1
  72. package/dist/renderer/types.d.ts +2 -0
  73. package/dist/renderer/types.d.ts.map +1 -1
  74. package/dist/renderer/unmount.d.ts +20 -0
  75. package/dist/renderer/unmount.d.ts.map +1 -0
  76. package/dist/renderer.d.ts +1 -0
  77. package/dist/renderer.js +7 -0
  78. package/dist/renderer.mjs +4 -0
  79. package/dist/server/hydration-markers.d.ts.map +1 -1
  80. package/dist/server/index.d.ts +1 -1
  81. package/dist/server/index.d.ts.map +1 -1
  82. package/dist/server/renderer.d.ts.map +1 -1
  83. package/dist/server/stream.d.ts +9 -1
  84. package/dist/server/stream.d.ts.map +1 -1
  85. package/dist/types.d.ts +8 -2
  86. package/dist/types.d.ts.map +1 -1
  87. package/package.json +15 -1
@@ -1,3 +1,3 @@
1
- var{defineProperty:XJ,getOwnPropertyNames:WX,getOwnPropertyDescriptor:GX}=Object,UX=Object.prototype.hasOwnProperty;function BX(J){return this[J]}var KJ=(J)=>{var X=(iJ??=new WeakMap).get(J),K;if(X)return X;if(X=XJ({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function"){for(var q of WX(J))if(!UX.call(X,q))XJ(X,q,{get:BX.bind(J,q),enumerable:!(K=GX(J,q))||K.enumerable})}return iJ.set(J,X),X},iJ;var zX=(J)=>J;function FX(J,X){this[J]=zX.bind(null,X)}var qJ=(J,X)=>{for(var K in X)XJ(J,K,{get:X[K],enumerable:!0,configurable:!0,set:FX.bind(X,K)})};var jX={};qJ(jX,{raw:()=>f,jsxs:()=>ZJ,jsxDEV:()=>$J,jsx:()=>YJ,HtmlEscapedString:()=>z,Fragment:()=>E});module.exports=KJ(jX);var E=Symbol("Fragment");class z extends String{value;constructor(J){super(J);this.value=J}toString(){return this.value}}var f=(J)=>new z(J);function C(J){if(J==null||typeof J==="boolean")return[];if(Array.isArray(J))return J.flat(1/0);return[J]}function QJ(J,X,K){if(J===E)return{tag:"",props:{},children:K};if(typeof J==="function"){if(J._SinwanComponent||J._SinwanPage){let Q=J(X);if(Q&&typeof Q==="object"&&"tag"in Q)return Q;return{tag:"",props:{},children:C(Q)}}let q=J(X);if(q&&typeof q==="object"&&"tag"in q)return q;return{tag:"",props:{},children:C(q)}}if(typeof J==="string")return{tag:J,props:X||{},children:K};return{tag:"",props:{},children:K}}function YJ(J,X,K){return QJ(J,X,C(X?.children))}function ZJ(J,X,K){let q=X?.children;return QJ(J,X,Array.isArray(q)?q.flat(1/0):C(q))}function $J(J,X,K,q,Q,Y){let Z=q?Array.isArray(X?.children)?X.children.flat(1/0):C(X?.children):C(X?.children),$=QJ(J,X,Z);if(Q)$.__source=Q;return $}var xX={};qJ(xX,{streamPage:()=>d,renderToString:()=>D,renderToHydratableString:()=>r,renderPage:()=>l,renderNodeToHydratableString:()=>t,registerPage:()=>i,isSlots:()=>sJ,hasPage:()=>p,getPage:()=>g});module.exports=KJ(xX);var WJ=globalThis.Bun,pJ=typeof WJ?.escapeHTML==="function"?WJ.escapeHTML.bind(WJ):void 0,GJ=/[&<>"']/g,wX={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function VX(J){if(GJ.lastIndex=0,!GJ.test(J))return J;return J.replace(GJ,(X)=>wX[X])}function j(J){if(J==null||typeof J==="boolean")return"";if(typeof J==="number")return String(J);if(J instanceof z)return J.value;let X=String(J);return pJ?pJ(X):VX(X)}function lJ(J){return f(J)}function dJ(J){return J instanceof z}var UJ=new Map;function i(J,X){UJ.set(J,X)}function g(J){return UJ.get(J)}function p(J){return UJ.has(J)}async function l(J,X){let K=g(J);if(!K)throw Error(`Page "${J}" not found in registry`);let q=await K(X);return D(q)}async function D(J){if(J==null||typeof J==="boolean")return"";if(typeof J==="string")return j(J);if(typeof J==="number")return String(J);if(J instanceof z)return J.value;if(Array.isArray(J))return(await Promise.all(J.map((K)=>D(K)))).join("");if(J instanceof Promise)return cJ(await J);return cJ(J)}async function cJ(J){let{tag:X,props:K,children:q}=J;if(typeof X==="function"){let Q=await X(K);return D(Q)}if(typeof X==="string")return AX(X,K,q);return D(q)}var LX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);async function AX(J,X,K){let q=PX(X);if(LX.has(J))return q?`<${J}${q}>`:`<${J}>`;let Q=await _X(K,X);return q?`<${J}${q}>${Q}</${J}>`:`<${J}>${Q}</${J}>`}function PX(J){let X="";for(let[K,q]of Object.entries(J)){if(K==="children")continue;if(q==null||q===!1)continue;if(q===!0){X+=` ${K}`;continue}if(K==="dangerouslySetInnerHTML")continue;let Q=K==="className"?"class":K,Y=Q==="htmlFor"?"for":Q,Z=j(String(q));X+=` ${Y}="${Z}"`}return X}async function _X(J,X){let K=X.dangerouslySetInnerHTML;if(K&&typeof K.__html==="string")return K.__html;return D(J)}function sJ(J){return J!=null&&typeof J==="object"&&!Array.isArray(J)&&!(J instanceof z)}var RX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function d(J,X){let K=new TextEncoder;return new ReadableStream({async start(q){try{let Q=await J(X);await v(Q,q,K),q.close()}catch(Q){q.error(Q)}}})}async function v(J,X,K){if(J==null||typeof J==="boolean")return;if(typeof J==="string"){X.enqueue(K.encode(j(J)));return}if(typeof J==="number"){X.enqueue(K.encode(String(J)));return}if(J instanceof z){X.enqueue(K.encode(J.value));return}if(Array.isArray(J)){for(let q of J)await v(q,X,K);return}if(J instanceof Promise){let q=await J;await aJ(q,X,K);return}await aJ(J,X,K)}async function aJ(J,X,K){let{tag:q,props:Q,children:Y}=J;if(typeof q==="function"){let Z=await q(Q);await v(Z,X,K);return}if(typeof q==="string"){await MX(q,Q,Y,X,K);return}await v(Y,X,K)}async function MX(J,X,K,q,Q){let Y=DX(X),Z=X.dangerouslySetInnerHTML;if(RX.has(J)){let B=Y?`<${J}${Y}>`:`<${J}>`;q.enqueue(Q.encode(B));return}let $=Y?`<${J}${Y}>`:`<${J}>`;if(q.enqueue(Q.encode($)),Z&&typeof Z.__html==="string")q.enqueue(Q.encode(Z.__html));else await v(K,q,Q);q.enqueue(Q.encode(`</${J}>`))}function DX(J){let X="";for(let[K,q]of Object.entries(J)){if(K==="children"||K==="dangerouslySetInnerHTML")continue;if(q==null||q===!1)continue;if(q===!0){X+=` ${K}`;continue}let Q=K==="className"?"class":K==="htmlFor"?"for":K,Y=j(String(q));X+=` ${Q}="${Y}"`}return X}var I=new Set,k=!1,BJ=!1,oJ=[];function rJ(J){if(!J.active)return;I.add(J),TX()}function tJ(J){I.delete(J)}function TX(){if(!k)k=!0,queueMicrotask(nJ)}function nJ(){BJ=!0;let J=[...I].sort((q,Q)=>q.id-Q.id);I.clear();for(let q of J)if(q.active)q.run();let X=10;while(I.size>0&&X-- >0){let q=[...I].sort((Q,Y)=>Q.id-Y.id);I.clear();for(let Q of q)if(Q.active)Q.run()}k=!1,BJ=!1;let K=oJ.splice(0);for(let q of K)q()}function zJ(J){return new Promise((X)=>{let K=()=>{J?.(),X()};if(k||BJ)oJ.push(K);else queueMicrotask(K)})}function eJ(){if(k)k=!1,nJ()}var y=null,FJ=[],bX=0;class c{id;active=!0;fn;cleanup=void 0;deps=new Set;constructor(J){this.id=bX++,this.fn=J}run(){if(!this.active)return;if(FJ.includes(this))return;if(this.cleanupDeps(),this.cleanup)this.cleanup(),this.cleanup=void 0;FJ.push(this);let J=y;y=this;try{let X=this.fn();if(typeof X==="function")this.cleanup=X}finally{y=J,FJ.pop()}}cleanupDeps(){for(let J of this.deps)J.subscribers.delete(this);this.deps.clear()}notify(){rJ(this)}dispose(){if(!this.active)return;if(this.active=!1,this.cleanup)this.cleanup(),this.cleanup=void 0;this.cleanupDeps(),tJ(this)}}function L(J){let X=new c(J);return X.run(),()=>X.dispose()}function s(J){if(y)J.subscribers.add(y),y.deps.add(J)}function a(J){let X=[...J.subscribers];for(let K of X)K.notify()}var JX=Symbol("Sinwan:signal");class XX{[JX]=!0;subscribers=new Set;_value;_manualSubs=new Set;constructor(J){this._value=J}get value(){return s(this),this._value}set value(J){if(Object.is(this._value,J))return;this._value=J,a(this);for(let X of this._manualSubs)X(J)}peek(){return this._value}subscribe(J){return this._manualSubs.add(J),()=>{this._manualSubs.delete(J)}}toString(){return String(this.value)}valueOf(){return this.value}}function jJ(J){return new XX(J)}function w(J){return J!=null&&typeof J==="object"&&JX in J}var KX=Symbol("Sinwan:computed");class qX{[KX]=!0;subscribers=new Set;_value;_dirty=!0;_effect;constructor(J){let X=this;this._effect=new c(()=>{X._value=J()}),this._effect.notify=function(){if(!X._dirty)X._dirty=!0,a(X)},this._effect.run(),this._dirty=!1}get value(){if(s(this),this._dirty)this._effect.run(),this._dirty=!1;return this._value}peek(){if(this._dirty)this._effect.run(),this._dirty=!1;return this._value}toString(){return String(this.value)}valueOf(){return this.value}}function wJ(J){return new qX(J)}function V(J){return J!=null&&typeof J==="object"&&KX in J}var m="data-sinwan-id";var VJ="data-sinwan-ev";function LJ(J){return`c${J}`}function AJ(J){return`<!--sinwan-t:${J}-->`}function PJ(){return"<!--/sinwan-t-->"}function _J(J){let X=J.data;if(X.startsWith("sinwan-t:")){let K=parseInt(X.slice(9),10);return Number.isNaN(K)?-1:K}return-1}function RJ(J){return J.data==="/sinwan-t"}var W={createElement(J){return document.createElement(J)},createTextNode(J){return document.createTextNode(J)},createComment(J){return document.createComment(J)},setAttribute(J,X,K){J.setAttribute(X,K)},removeAttribute(J,X){J.removeAttribute(X)},setProperty(J,X,K){J[X]=K},insertBefore(J,X,K){J.insertBefore(X,K)},appendChild(J,X){J.appendChild(X)},remove(J){J.parentNode?.removeChild(J)},setTextContent(J,X){J.data=X},addEventListener(J,X,K){J.addEventListener(X,K)},removeEventListener(J,X,K){J.removeEventListener(X,K)},parentNode(J){return J.parentNode},nextSibling(J){return J.nextSibling}};function H(J){return J.length>2&&J[0]==="o"&&J[1]==="n"&&J[2]>="A"&&J[2]<="Z"}function o(J){return J.slice(2).toLowerCase()}function QX(J,X,K){return W.addEventListener(J,X,K),()=>{W.removeEventListener(J,X,K)}}function h(J,X){let K=[];for(let q of Object.keys(X))if(H(q)){let Q=X[q];if(typeof Q==="function"){let Y=o(q);K.push(QX(J,Y,Q))}}return K}var HX=0;function A(J,X,K){return{uid:HX++,component:J,props:X,element:null,parent:K,children:[],effects:[],_mountedHooks:[],_unmountedHooks:[],_updatedHooks:[],_errorHooks:[],provides:K?Object.create(K.provides):Object.create(null),isMounted:!1,isUnmounted:!1}}var MJ=null;function F(){return MJ}function G(J){let X=MJ;return MJ=J,X}function O(J){for(let X of J.children)O(X);if(!J.isMounted){J.isMounted=!0;for(let X of J._mountedHooks)X()}}function x(J){for(let X of J.children)x(X);if(J.isMounted&&!J.isUnmounted){J.isUnmounted=!0,J.isMounted=!1;for(let X of J._unmountedHooks)X();for(let X of J.effects)X();J.effects.length=0}}function T(J,X){let K=J;while(K){if(K._errorHooks.length>0){for(let q of K._errorHooks)q(X);return}K=K.parent}console.error("[Sinwan] Unhandled component error:",X)}function YX(){return{componentIndex:0,textIndex:0,eventIndex:0}}async function r(J,X){let K=YX(),q=X??{},Q=A(J,q,null);G(Q);let Y=await J(q);if(G(null),Y&&typeof Y==="object"&&"tag"in Y)return DJ(Y,K,!0);return N(Y,K)}async function t(J){let X=YX();return N(J,X)}var SX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function N(J,X){if(J==null||typeof J==="boolean")return"";if(typeof J==="string")return j(J);if(typeof J==="number")return String(J);if(J instanceof z)return J.value;if(w(J)||V(J)){let K=J.value,q=X.textIndex++;return`${AJ(q)}${j(String(K))}${PJ()}`}if(Array.isArray(J))return J.map((K)=>N(K,X)).join("");if(J instanceof Promise)return"";if(typeof J==="object"&&"tag"in J)return DJ(J,X,!1);return j(String(J))}function DJ(J,X,K){let{tag:q,props:Q,children:Y}=J;if(q==="")return Y.map((Z)=>N(Z,X)).join("");if(typeof q==="function")return IX(q,Q,X);if(typeof q==="string")return OX(q,Q,Y,X,K);return Y.map((Z)=>N(Z,X)).join("")}function IX(J,X,K){let q=globalThis.__SinwanCurrentInstance,Q=A(J,X,null),Y=G(Q),Z=J(X);if(G(Y),Z&&typeof Z==="object"&&"tag"in Z)return DJ(Z,K,!0);return N(Z,K)}function OX(J,X,K,q,Q){let Y="";if(Q)Y+=` ${m}="${LJ(q.componentIndex++)}"`;let Z=[];for(let[U,M]of Object.entries(X)){if(U==="children"||U==="dangerouslySetInnerHTML")continue;if(H(U)){let uJ=o(U);Z.push(`${uJ}:${q.eventIndex++}`);continue}if(M==null||M===!1)continue;let JJ=M;if(w(M)||V(M))JJ=M.value;if(JJ===!0){Y+=` ${U==="className"?"class":U==="htmlFor"?"for":U}`;continue}Y+=` ${U==="className"?"class":U==="htmlFor"?"for":U}="${j(String(JJ))}"`}if(Z.length>0)Y+=` ${VJ}="${Z.join(",")}"`;if(SX.has(J))return`<${J}${Y}>`;let $=X.dangerouslySetInnerHTML;if($&&typeof $.__html==="string")return`<${J}${Y}>${$.__html}</${J}>`;let B=K.map((U)=>N(U,q)).join("");return`<${J}${Y}>${B}</${J}>`}var pX={};qJ(pX,{unmountNode:()=>_,streamPage:()=>d,signal:()=>jJ,safeHtml:()=>lJ,renderToString:()=>D,renderToHydratableString:()=>r,renderPage:()=>l,renderNodeToHydratableString:()=>t,renderNodeToDOM:()=>P,renderElementToDOM:()=>b,render:()=>vJ,registerPage:()=>i,raw:()=>f,provide:()=>CJ,onUpdated:()=>IJ,onUnmounted:()=>SJ,onMounted:()=>HJ,onError:()=>OJ,nextTick:()=>zJ,mount:()=>gJ,jsxs:()=>ZJ,jsxDEV:()=>$J,jsx:()=>YJ,isSignal:()=>w,isSafeHtml:()=>dJ,isComputed:()=>V,inject:()=>EJ,hydrate:()=>hJ,hasPage:()=>p,getPage:()=>g,getCurrentInstance:()=>F,escapeHtml:()=>j,effect:()=>L,createPage:()=>xJ,createLayout:()=>NJ,createComponent:()=>n,computed:()=>wJ,batch:()=>bJ,HtmlEscapedString:()=>z,Fragment:()=>E});module.exports=KJ(pX);var TJ=0;function bJ(J){TJ++;try{J()}finally{if(TJ--,TJ===0)eJ()}}function HJ(J){let X=F();if(!X)throw Error("onMounted() called outside of component setup.");X._mountedHooks.push(J)}function SJ(J){let X=F();if(!X)throw Error("onUnmounted() called outside of component setup.");X._unmountedHooks.push(J)}function IJ(J){let X=F();if(!X)throw Error("onUpdated() called outside of component setup.");X._updatedHooks.push(J)}function OJ(J){let X=F();if(!X)throw Error("onError() called outside of component setup.");X._errorHooks.push(J)}function n(J){let X=(K)=>J(K);return X._SinwanComponent=!0,X._displayName=J.name||"AnonymousComponent",X}function xJ(J){let X=(K)=>J(K);return X._SinwanPage=!0,X._displayName=J.name||"AnonymousPage",X}function NJ(J){return n(J)}function CJ(J,X){let K=F();if(!K)throw Error("provide() called outside of component setup.");K.provides[J]=X}function EJ(J,X){let K=F();if(!K)throw Error("inject() called outside of component setup.");if(J in K.provides)return K.provides[J];if(arguments.length>=2)return X;console.warn(`[Sinwan] inject() key "${String(J)}" not found and no default provided.`);return}var NX=new Set(["children","key","ref","dangerouslySetInnerHTML"]),kJ=new Set(["value","checked","selected","disabled","readOnly","multiple","indeterminate"]),CX={className:"class",htmlFor:"for",tabIndex:"tabindex",crossOrigin:"crossorigin"};function yJ(J,X){let K=[];for(let[q,Q]of Object.entries(X)){if(NX.has(q)||H(q))continue;if(w(Q)||V(Q)){let Y=L(()=>{ZX(J,q,Q.value)});K.push(Y)}else ZX(J,q,Q)}return K}function ZX(J,X,K){let q=CX[X]??X;if(q==="style"&&typeof K==="object"&&K!==null){EX(J,K);return}if(q==="class"&&typeof K==="object"&&K!==null){kX(J,K);return}if(K==null||K===!1){if(W.removeAttribute(J,q),kJ.has(q))W.setProperty(J,q,q==="value"?"":!1);return}if(K===!0){if(W.setAttribute(J,q,""),kJ.has(q))W.setProperty(J,q,!0);return}if(kJ.has(q)){W.setProperty(J,q,K);return}W.setAttribute(J,q,String(K))}function EX(J,X){for(let[K,q]of Object.entries(X))if(K.includes("-"))J.style.setProperty(K,q);else J.style[K]=q}function kX(J,X){let K;if(Array.isArray(X))K=X.filter(Boolean).join(" ");else if(typeof X==="object"&&X!==null)K=Object.entries(X).filter(([,q])=>Boolean(q)).map(([q])=>q).join(" ");else K=String(X);W.setAttribute(J,"class",K)}var yX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function b(J,X,K=null){let{tag:q,props:Q,children:Y}=J;if(q===""||q===E)return $X(Y,X,K);if(typeof q==="function")return gX(q,Q,X,K);if(typeof q==="string")return fX(q,Q,Y,X,K);return $X(Y,X,K)}function fX(J,X,K,q,Q){let Y=W.createElement(J),Z=yJ(Y,X),$=h(Y,X),B=[];if(!yX.has(J)){let U=X.dangerouslySetInnerHTML;if(U&&typeof U.__html==="string")Y.innerHTML=U.__html;else B=fJ(K,Y)}if(Q)W.insertBefore(q,Y,Q);else W.appendChild(q,Y);return{type:"element",node:Y,children:B,eventCleanups:$,attrDisposers:Z}}function gX(J,X,K,q){let Q=F(),Y=A(J,X,Q);if(Q)Q.children.push(Y);let Z=G(Y),$,B;try{if($=J(X),$&&typeof $==="object"&&"tag"in $)B=b($,K,q);else B=P($,K,q)}catch(U){G(Z),T(Y,U);let M=W.createTextNode("");if(q)W.insertBefore(K,M,q);else W.appendChild(K,M);return{type:"component",children:[{type:"text",node:M}],disposers:[],instance:Y}}return G(Z),Y.element=B,{type:"component",children:[B],disposers:Y.effects,instance:Y}}function $X(J,X,K){let q=W.createComment("Sinwan-f");if(K)W.insertBefore(X,q,K);else W.appendChild(X,q);let Q=[];for(let Y of J)Q.push(P(Y,X,K));return{type:"fragment",children:Q,anchor:q}}function P(J,X,K=null){if(J==null||typeof J==="boolean"){let Q=W.createTextNode("");return S(X,Q,K),{type:"text",node:Q}}if(typeof J==="string"){let Q=W.createTextNode(J);return S(X,Q,K),{type:"text",node:Q}}if(typeof J==="number"){let Q=W.createTextNode(String(J));return S(X,Q,K),{type:"text",node:Q}}if(J instanceof z){let Q=W.createTextNode(J.value);return S(X,Q,K),{type:"text",node:Q}}if(w(J)||V(J)){let Q=W.createTextNode(String(J.value));S(X,Q,K);let Y=L(()=>{W.setTextContent(Q,String(J.value))});return{type:"reactive-text",node:Q,dispose:Y}}if(Array.isArray(J))return vX(J,X,K);if(J instanceof Promise){let Q=W.createTextNode("");return S(X,Q,K),J.then((Y)=>{let Z=P(Y,X,Q);W.remove(Q)}),{type:"text",node:Q}}if(typeof J==="object"&&"tag"in J)return b(J,X,K);let q=W.createTextNode(String(J));return S(X,q,K),{type:"text",node:q}}function vX(J,X,K){let q=W.createComment("Sinwan-f");S(X,q,K);let Q=[];for(let Y of J)Q.push(P(Y,X,K));return{type:"fragment",children:Q,anchor:q}}function fJ(J,X){let K=[];for(let q of J)K.push(P(q,X));return K}function S(J,X,K){if(K)W.insertBefore(J,X,K);else W.appendChild(J,X)}function gJ(J,X,K){X.innerHTML="";let q=K??{},Q=A(J,q,null),Y,Z;G(Q);try{if(Y=J(q),Y instanceof Promise){let $=document.createTextNode("");X.appendChild($),Z={type:"text",node:$},Y.then((B)=>{X.innerHTML="",G(Q),Z=b(B,X),G(null),Q.element=Z,O(Q)})}else if(Y&&typeof Y==="object"&&"tag"in Y)Z=b(Y,X);else Z=P(Y,X)}catch($){return G(null),T(Q,$),{root:{type:"text",node:document.createTextNode("")},unmount(){}}}return G(null),Q.element=Z,O(Q),{root:Z,unmount(){x(Q),_(Z),X.innerHTML=""}}}function vJ(J,X){X.innerHTML="";let K=P(J,X);return{root:K,unmount(){_(K),X.innerHTML=""}}}function _(J){switch(J.type){case"text":break;case"reactive-text":J.dispose();break;case"element":for(let X of J.attrDisposers)X();for(let X of J.eventCleanups)X();for(let X of J.children)_(X);break;case"fragment":for(let X of J.children)_(X);break;case"reactive-block":J.dispose();for(let X of J.children)_(X);break;case"component":if(J.instance)x(J.instance);else for(let X of J.disposers)X();for(let X of J.children)_(X);break}}function R(J){let X=J.current;if(X)J.current=X.nextSibling;return X}function u(J,X){if(J==null||typeof J==="boolean")return{type:"text",node:R(X)??document.createTextNode("")};if(typeof J==="string")return{type:"text",node:R(X)};if(typeof J==="number")return{type:"text",node:R(X)};if(J instanceof z)return{type:"text",node:R(X)};if(w(J)||V(J))return mX(J,X);if(Array.isArray(J))return mJ(J,X);if(typeof J==="object"&&J!==null&&"tag"in J)return e(J,X);return{type:"text",node:R(X)}}function mX(J,X){let K=X.current;if(K&&K.nodeType===8&&_J(K)>=0){R(X);let Z=R(X),$=X.current;if($&&$.nodeType===8&&RJ($))R(X);let B=L(()=>{Z.data=String(J.value)});return{type:"reactive-text",node:Z,dispose:B}}let q=R(X);if(q){let Z=L(()=>{q.data=String(J.value)});return{type:"reactive-text",node:q,dispose:Z}}let Q=document.createTextNode(String(J.value)),Y=L(()=>{Q.data=String(J.value)});return{type:"reactive-text",node:Q,dispose:Y}}function e(J,X){let{tag:K,props:q,children:Q}=J;if(K==="")return mJ(Q,X);if(typeof K==="function")return iX(K,q,X);if(typeof K==="string")return hX(K,q,Q,X);return mJ(Q,X)}function hX(J,X,K,q){let Q=R(q);if(!Q||Q.nodeType!==1)return console.warn(`[Sinwan hydration] expected <${J}> but found`,Q),{type:"text",node:document.createTextNode("")};Q.removeAttribute(m),Q.removeAttribute("data-sinwan-ev");let Y=uX(Q,X),Z=h(Q,X),$={parent:Q,current:Q.firstChild},B=[];for(let U of K)B.push(u(U,$));return{type:"element",node:Q,children:B,eventCleanups:Z,attrDisposers:Y}}function uX(J,X){let K=[];for(let[q,Q]of Object.entries(X)){if(q==="children"||q==="key"||q==="ref"||H(q))continue;if(w(Q)||V(Q)){let Y=L(()=>{let Z=Q.value,$=q==="className"?"class":q==="htmlFor"?"for":q;if(Z==null||Z===!1)J.removeAttribute($);else if(Z===!0)J.setAttribute($,"");else J.setAttribute($,String(Z))});K.push(Y)}}return K}function iX(J,X,K){let q=F(),Q=A(J,X,q);if(q)q.children.push(Q);let Y=G(Q),Z,$;try{if(Z=J(X),Z&&typeof Z==="object"&&"tag"in Z)$=e(Z,K);else $=u(Z,K)}catch(B){return G(Y),T(Q,B),{type:"component",children:[{type:"text",node:R(K)??document.createTextNode("")}],disposers:[],instance:Q}}return G(Y),Q.element=$,{type:"component",children:[$],disposers:Q.effects,instance:Q}}function mJ(J,X){let K=[];for(let Q of J)K.push(u(Q,X));let q=document.createComment("Sinwan-f");return{type:"fragment",children:K,anchor:q}}function hJ(J,X,K){let q=K??{},Q=A(J,q,null),Y,Z;G(Q);try{Y=J(q);let $={parent:X,current:X.firstChild};if(Y&&typeof Y==="object"&&"tag"in Y)Z=e(Y,$);else Z=u(Y,$)}catch($){return G(null),T(Q,$),{root:{type:"text",node:document.createTextNode("")},unmount(){}}}return G(null),Q.element=Z,O(Q),{root:Z,unmount(){x(Q),_(Z),X.innerHTML=""}}}
1
+ var{defineProperty:fJ,getOwnPropertyNames:aX,getOwnPropertyDescriptor:rX}=Object,oX=Object.prototype.hasOwnProperty;function tX(J){return this[J]}var qJ=(J)=>{var X=(LX??=new WeakMap).get(J),Y;if(X)return X;if(X=fJ({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function"){for(var W of aX(J))if(!oX.call(X,W))fJ(X,W,{get:tX.bind(J,W),enumerable:!(Y=rX(J,W))||Y.enumerable})}return LX.set(J,X),X},LX;var nX=(J)=>J;function eX(J,X){this[J]=nX.bind(null,X)}var FJ=(J,X)=>{for(var Y in X)fJ(J,Y,{get:X[Y],enumerable:!0,configurable:!0,set:eX.bind(X,Y)})};var JY={};FJ(JY,{raw:()=>XJ,jsxs:()=>vJ,jsxDEV:()=>hJ,jsx:()=>gJ,HtmlEscapedString:()=>P,Fragment:()=>a});module.exports=qJ(JY);var a=Symbol("Fragment");class P extends String{value;constructor(J){super(J);this.value=J}toString(){return this.value}}var XJ=(J)=>new P(J);function LJ(J){if(J==null||typeof J==="boolean")return[];if(Array.isArray(J))return J.flat(1/0);return[J]}function yJ(J,X,Y){if(J===a)return{tag:"",props:{},children:Y};if(typeof J==="function"||typeof J==="string"){let W=X??{};if(Y.length>0&&W.children===void 0)W.children=Y.length===1?Y[0]:Y;return{tag:J,props:W,children:Y}}return{tag:"",props:{},children:Y}}function gJ(J,X,Y){return yJ(J,X,LJ(X?.children))}function vJ(J,X,Y){let W=X?.children;return yJ(J,X,Array.isArray(W)?W.flat(1/0):LJ(W))}function hJ(J,X,Y,W,Z,$){let Q=W?Array.isArray(X?.children)?X.children.flat(1/0):LJ(X?.children):LJ(X?.children),K=yJ(J,X,Q);if(Z)K.__source=Z;return K}var MY={};FJ(MY,{unmountNode:()=>M,toEventName:()=>i,setDOMOps:()=>UJ,resetDOMOps:()=>PJ,renderNodeToDOM:()=>A,renderElementToDOM:()=>N,renderChildrenToDOM:()=>DJ,render:()=>SJ,mount:()=>MJ,isEventProp:()=>S,domOps:()=>j,bindEvents:()=>t,bindEvent:()=>sJ,applyAttributes:()=>AJ});module.exports=qJ(MY);function XY(){return{createElement(J){return document.createElement(J)},createElementNS(J,X){return document.createElementNS(J,X)},createTextNode(J){return document.createTextNode(J)},createComment(J){return document.createComment(J)},setAttribute(J,X,Y){J.setAttribute(X,Y)},removeAttribute(J,X){J.removeAttribute(X)},setProperty(J,X,Y){J[X]=Y},insertBefore(J,X,Y){J.insertBefore(X,Y)},appendChild(J,X){J.appendChild(X)},remove(J){J.parentNode?.removeChild(J)},setTextContent(J,X){J.data=X},addEventListener(J,X,Y){J.addEventListener(X,Y)},removeEventListener(J,X,Y){J.removeEventListener(X,Y)},parentNode(J){return J.parentNode},nextSibling(J){return J.nextSibling}}}var UX=XY(),j={...UX};function UJ(J){Object.assign(j,J)}function PJ(){for(let J of Object.keys(j))delete j[J];Object.assign(j,UX)}var p=new Set,r=!1,uJ=!1,PX=[];function zX(J){if(!J.active)return;p.add(J),YY()}function _X(J){p.delete(J)}function YY(){if(!r)r=!0,queueMicrotask(VX)}function VX(){uJ=!0;let J=[...p].sort((W,Z)=>W.id-Z.id);p.clear();for(let W of J)if(W.active)W.run();let X=10;while(p.size>0&&X-- >0){let W=[...p].sort((Z,$)=>Z.id-$.id);p.clear();for(let Z of W)if(Z.active)Z.run()}r=!1,uJ=!1;let Y=PX.splice(0);for(let W of Y)W()}function YJ(J){return new Promise((X)=>{let Y=()=>{J?.(),X()};if(r||uJ)PX.push(Y);else queueMicrotask(Y)})}function AX(){if(r)r=!1,VX()}var o=null,mJ=[],WY=0;class zJ{id;active=!0;fn;cleanup=void 0;deps=new Set;constructor(J){this.id=WY++,this.fn=J}run(){if(!this.active)return;if(mJ.includes(this))return;if(this.cleanupDeps(),this.cleanup)this.cleanup(),this.cleanup=void 0;mJ.push(this);let J=o;o=this;try{let X=this.fn();if(typeof X==="function")this.cleanup=X}finally{o=J,mJ.pop()}}cleanupDeps(){for(let J of this.deps)J.subscribers.delete(this);this.deps.clear()}notify(){zX(this)}dispose(){if(!this.active)return;if(this.active=!1,this.cleanup)this.cleanup(),this.cleanup=void 0;this.cleanupDeps(),_X(this)}}function D(J){let X=new zJ(J);return X.run(),()=>X.dispose()}function _J(J){if(o)J.subscribers.add(o),o.deps.add(J)}function VJ(J){let X=[...J.subscribers];for(let Y of X)Y.notify()}var TX=Symbol("Sinwan:signal");class DX{[TX]=!0;subscribers=new Set;_value;_manualSubs=new Set;constructor(J){this._value=J}get value(){return _J(this),this._value}set value(J){if(Object.is(this._value,J))return;this._value=J,VJ(this);for(let X of this._manualSubs)X(J)}peek(){return this._value}subscribe(J){return this._manualSubs.add(J),()=>{this._manualSubs.delete(J)}}toString(){return String(this.value)}valueOf(){return this.value}}function pJ(J){return new DX(J)}function L(J){return J!=null&&typeof J==="object"&&TX in J}var MX=Symbol("Sinwan:computed");class SX{[MX]=!0;subscribers=new Set;_value;_dirty=!0;_effect;constructor(J){let X=this;this._effect=new zJ(()=>{X._value=J()}),this._effect.notify=function(){if(!X._dirty)X._dirty=!0,VJ(X)},this._effect.run(),this._dirty=!1}get value(){if(_J(this),this._dirty)this._effect.run(),this._dirty=!1;return this._value}peek(){if(this._dirty)this._effect.run(),this._dirty=!1;return this._value}toString(){return String(this.value)}valueOf(){return this.value}}function iJ(J){return new SX(J)}function U(J){return J!=null&&typeof J==="object"&&MX in J}function S(J){return J.length>2&&J[0]==="o"&&J[1]==="n"&&J[2]>="A"&&J[2]<="Z"}function i(J){return J.slice(2).toLowerCase()}function sJ(J,X,Y){return j.addEventListener(J,X,Y),()=>{j.removeEventListener(J,X,Y)}}function t(J,X){let Y=[];for(let W of Object.keys(X))if(S(W)){let Z=X[W];if(typeof Z==="function"){let $=i(W);Y.push(sJ(J,$,Z))}}return Y}var ZY=0;function b(J,X,Y){return{uid:ZY++,component:J,props:X,element:null,parent:Y,children:[],effects:[],_mountedHooks:[],_unmountedHooks:[],_updatedHooks:[],_errorHooks:[],provides:Y?Object.create(Y.provides):Object.create(null),isMounted:!1,isUnmounted:!1}}var lJ=null;function F(){return lJ}function q(J){let X=lJ;return lJ=J,X}function g(J,X){let Y=q(J);try{return X()}finally{q(Y)}}function C(J){if(J.isUnmounted)return;for(let X of J.children)C(X);if(!J.isMounted){J.isMounted=!0;for(let X of J._mountedHooks)X()}}function v(J){for(let X of J.children)v(X);if(J.isMounted&&!J.isUnmounted){J.isUnmounted=!0,J.isMounted=!1;for(let X of J._unmountedHooks)X();for(let X of J.effects)X();J.effects.length=0}}function bX(J){for(let X of J._updatedHooks)X()}var dJ=new Set;function H(J){if(!J||!J.isMounted||J.isUnmounted||J._updatedHooks.length===0||dJ.has(J))return;dJ.add(J),YJ(()=>{if(dJ.delete(J),J.isMounted&&!J.isUnmounted)bX(J)})}function f(J,X){let Y=J;while(Y){if(Y._errorHooks.length>0){for(let W of Y._errorHooks)W(X);return}Y=Y.parent}console.error("[Sinwan] Unhandled component error:",X)}var $Y=new Set(["children","key","ref","dangerouslySetInnerHTML"]),cJ=new Set(["value","checked","selected","disabled","readOnly","multiple","indeterminate"]),QY={className:"class",htmlFor:"for",tabIndex:"tabindex",crossOrigin:"crossorigin"};function AJ(J,X){let Y=[],W=F();for(let[Z,$]of Object.entries(X)){if($Y.has(Z)||S(Z))continue;if(L($)||U($)){let Q=!1,K=D(()=>{if(wX(J,Z,$.value),Q)H(W);Q=!0});Y.push(K)}else wX(J,Z,$)}return Y}function wX(J,X,Y){let W=QY[X]??X;if(W==="style"&&typeof Y==="object"&&Y!==null){KY(J,Y);return}if(W==="class"&&typeof Y==="object"&&Y!==null){GY(J,Y);return}if(Y==null||Y===!1){if(j.removeAttribute(J,W),cJ.has(W))j.setProperty(J,W,W==="value"?"":!1);return}if(Y===!0){if(j.setAttribute(J,W,""),cJ.has(W))j.setProperty(J,W,!0);return}if(cJ.has(W)){j.setProperty(J,W,Y);return}j.setAttribute(J,W,String(Y))}function KY(J,X){for(let[Y,W]of Object.entries(X))if(Y.includes("-"))J.style.setProperty(Y,W);else J.style[Y]=W}function GY(J,X){let Y;if(Array.isArray(X))Y=X.filter(Boolean).join(" ");else if(typeof X==="object"&&X!==null)Y=Object.entries(X).filter(([,W])=>Boolean(W)).map(([W])=>W).join(" ");else Y=String(X);j.setAttribute(J,"class",Y)}var RX=Symbol.for("Sinwan.Show"),HX=Symbol.for("Sinwan.For");function I(J){return{tag:RX,props:J,children:[]}}function O(J){return{tag:HX,props:J,children:[]}}function w(J){return J.tag===RX}function R(J){return J.tag===HX}function n(J){switch(J.type){case"text":case"reactive-text":return[J.node];case"element":return[J.node];case"fragment":return[J.anchor,...J.children.flatMap((X)=>n(X))];case"reactive-block":return[J.startAnchor,...J.children.flatMap((X)=>n(X)),J.endAnchor];case"component":return J.children.flatMap((X)=>n(X))}}function M(J){switch(J.type){case"text":break;case"reactive-text":J.dispose();break;case"element":for(let X of J.attrDisposers)X();for(let X of J.eventCleanups)X();J.refCleanup?.();for(let X of J.children)M(X);break;case"fragment":for(let X of J.children)M(X);break;case"reactive-block":J.dispose();for(let X of J.children)M(X);break;case"component":if(J.instance)v(J.instance);else for(let X of J.disposers)X();for(let X of J.children)M(X);break}}function TJ(J){let X=n(J);M(J);for(let Y of X)if(Y.parentNode)j.remove(Y)}function OX(J,X,Y,W){let Z=j.createComment("Sinwan-b"),$=j.createComment("/Sinwan-b");IX(X,Z,Y),IX(X,$,Y);let Q=F(),K=()=>{},G={type:"reactive-block",dispose:()=>K(),children:[],startAnchor:Z,endAnchor:$};if(w(J))K=jY(J,G,X,W,Q);else if(R(J))K=BY(J,G,X,W,Q);return G}function jY(J,X,Y,W,Z){let $=!1;return D(()=>{NX(X);let Q=xX(J.props.when),K=aJ(Z,()=>Q?qY(J,Q):J.props.fallback);if(X.children=FY(K,Y,X.endAnchor,W,Z),$)EX(Z);$=!0})}function BY(J,X,Y,W,Z){let $=!1,Q=[];return D(()=>{let K=J.props,G=xX(K.each),B=Array.isArray(G)?G:[],z=K.children;if(typeof z!=="function"){if(NX(X),Q=[],$)H(Z);$=!0;return}let V=new Map;for(let T of Q)V.set(T.key,T);let k=[];B.forEach((T,kJ)=>{let BJ=K.key?K.key(T,kJ):T,m=V.get(BJ);if(m&&m.item===T){m.index=kJ,LY(Y,m.mounted,X.endAnchor),k.push(m),V.delete(BJ);return}if(m)TJ(m.mounted),V.delete(BJ);let CJ={key:BJ,item:T,index:kJ,mounted:{type:"text",node:j.createTextNode("")}};CJ.mounted=aJ(Z,()=>A(z(T,()=>CJ.index),Y,X.endAnchor,W)),k.push(CJ)});for(let T of V.values())TJ(T.mounted);if(Q=k,X.children=k.map((T)=>T.mounted),$)EX(Z);$=!0})}function qY(J,X){let Y=J.props.children??J.children;if(typeof Y==="function")return Y(X);return Y}function FY(J,X,Y,W,Z){if(J==null||typeof J==="boolean")return[];return(Array.isArray(J)?J:[J]).map((Q)=>aJ(Z,()=>A(Q,X,Y,W)))}function NX(J){for(let X of J.children)TJ(X);J.children=[]}function LY(J,X,Y){for(let W of n(X))j.insertBefore(J,W,Y)}function EX(J){if(J)C(J);H(J)}function aJ(J,X){return J?g(J,X):X()}function xX(J){return L(J)||U(J)?J.value:J}function IX(J,X,Y){if(Y)j.insertBefore(J,X,Y);else j.appendChild(J,X)}var UY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),CX="http://www.w3.org/2000/svg",PY="http://www.w3.org/1998/Math/MathML";function N(J,X,Y=null,W=null){let{tag:Z,props:$,children:Q}=J;if(Z===""||Z===a)return kX(Q,X,Y,W);if(Z===I||Z===O)return N(Z($),X,Y,W);if(w(J)||R(J))return OX(J,X,Y,W);if(typeof Z==="function")return _Y(Z,$,X,Y,W);if(typeof Z==="string")return zY(Z,$,Q,X,Y,W);return kX(Q,X,Y,W)}function zY(J,X,Y,W,Z,$){let Q=VY(J,$),K=Q?j.createElementNS(Q,J):j.createElement(J),G=AJ(K,X),B=t(K,X),z=[];if(!UY.has(J)){let k=X.dangerouslySetInnerHTML;if(k&&typeof k.__html==="string")K.innerHTML=k.__html;else z=DJ(Y,K,AY(J,Q))}if(Z)j.insertBefore(W,K,Z);else j.appendChild(W,K);let V=TY(K,X.ref);return{type:"element",node:K,children:z,eventCleanups:B,attrDisposers:G,refCleanup:V}}function _Y(J,X,Y,W,Z){let $=F(),Q=b(J,X,$);if($)$.children.push(Q);let K=q(Q),G,B;try{if(G=J(X),G&&typeof G==="object"&&"tag"in G)B=N(G,Y,W,Z);else B=A(G,Y,W,Z)}catch(z){q(K),f(Q,z);let V=j.createTextNode("");if(W)j.insertBefore(Y,V,W);else j.appendChild(Y,V);return{type:"component",children:[{type:"text",node:V}],disposers:[],instance:Q}}return q(K),Q.element=B,{type:"component",children:[B],disposers:Q.effects,instance:Q}}function kX(J,X,Y,W){let Z=j.createComment("Sinwan-f");if(Y)j.insertBefore(X,Z,Y);else j.appendChild(X,Z);let $=[];for(let Q of J)$.push(A(Q,X,Y,W));return{type:"fragment",children:$,anchor:Z}}function VY(J,X){if(J==="svg")return CX;if(J==="math")return PY;return X}function AY(J,X){if(X===CX&&J==="foreignObject")return null;return X}function TY(J,X){let Y=X;if(!Y)return null;if(typeof Y==="function")return Y(J),()=>Y(null);if(typeof Y==="object"&&"current"in Y)return Y.current=J,()=>{Y.current=null};return null}function A(J,X,Y=null,W=null){if(J==null||typeof J==="boolean"){let $=j.createTextNode("");return h(X,$,Y),{type:"text",node:$}}if(typeof J==="string"){let $=j.createTextNode(J);return h(X,$,Y),{type:"text",node:$}}if(typeof J==="number"){let $=j.createTextNode(String(J));return h(X,$,Y),{type:"text",node:$}}if(J instanceof P){let $=j.createTextNode(J.value);return h(X,$,Y),{type:"text",node:$}}if(L(J)||U(J)){let $=j.createTextNode(String(J.value));h(X,$,Y);let Q=F(),K=!1,G=D(()=>{if(j.setTextContent($,String(J.value)),K)H(Q);K=!0});return{type:"reactive-text",node:$,dispose:G}}if(Array.isArray(J))return DY(J,X,Y,W);if(J instanceof Promise){let $=j.createTextNode("");return h(X,$,Y),J.then((Q)=>{let K=A(Q,X,$,W);j.remove($)}),{type:"text",node:$}}if(typeof J==="object"&&"tag"in J)return N(J,X,Y,W);let Z=j.createTextNode(String(J));return h(X,Z,Y),{type:"text",node:Z}}function DY(J,X,Y,W){let Z=j.createComment("Sinwan-f");h(X,Z,Y);let $=[];for(let Q of J)$.push(A(Q,X,Y,W));return{type:"fragment",children:$,anchor:Z}}function DJ(J,X,Y=null){let W=[];for(let Z of J)W.push(A(Z,X,null,Y));return W}function h(J,X,Y){if(Y)j.insertBefore(J,X,Y);else j.appendChild(J,X)}function MJ(J,X,Y){X.innerHTML="";let W=Y??{},Z=b(J,W,null),$,Q;q(Z);try{if($=J(W),$ instanceof Promise){let K=document.createTextNode("");X.appendChild(K),Q={type:"text",node:K},$.then((G)=>{X.innerHTML="",q(Z),Q=N(G,X),q(null),Z.element=Q,C(Z)})}else if($&&typeof $==="object"&&"tag"in $)Q=N($,X);else Q=A($,X)}catch(K){return q(null),f(Z,K),{root:{type:"text",node:document.createTextNode("")},unmount(){}}}return q(null),Z.element=Q,C(Z),{root:Q,unmount(){v(Z),M(Q),X.innerHTML=""}}}function SJ(J,X){X.innerHTML="";let Y=A(J,X);return{root:Y,unmount(){M(Y),X.innerHTML=""}}}var iY={};FJ(iY,{streamPage:()=>HJ,streamHydratablePage:()=>IJ,streamHydratableNode:()=>OJ,renderToString:()=>E,renderToHydratableString:()=>NJ,renderPage:()=>RJ,renderNodeToHydratableString:()=>EJ,registerPage:()=>bJ,isSlots:()=>hX,hasPage:()=>wJ,getPage:()=>WJ});module.exports=qJ(iY);var rJ=globalThis.Bun,fX=typeof rJ?.escapeHTML==="function"?rJ.escapeHTML.bind(rJ):void 0,oJ=/[&<>"']/g,SY={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function bY(J){if(oJ.lastIndex=0,!oJ.test(J))return J;return J.replace(oJ,(X)=>SY[X])}function _(J){if(J==null||typeof J==="boolean")return"";if(typeof J==="number")return String(J);if(J instanceof P)return J.value;let X=String(J);return fX?fX(X):bY(X)}function yX(J){return XJ(J)}function gX(J){return J instanceof P}var tJ=new Map;function bJ(J,X){tJ.set(J,X)}function WJ(J){return tJ.get(J)}function wJ(J){return tJ.has(J)}async function RJ(J,X){let Y=WJ(J);if(!Y)throw Error(`Page "${J}" not found in registry`);let W=await Y(X);return E(W)}async function E(J){if(J==null||typeof J==="boolean")return"";if(typeof J==="string")return _(J);if(typeof J==="number")return String(J);if(J instanceof P)return J.value;if(L(J)||U(J))return _(String(J.value));if(Array.isArray(J))return(await Promise.all(J.map((Y)=>E(Y)))).join("");if(J instanceof Promise)return vX(await J);return vX(J)}async function vX(J){let{tag:X,props:Y,children:W}=J;if(w(J)){let Z=nJ(Y.when);return E(Z?NY(J,Z):Y.fallback)}if(R(J))return OY(J);if(typeof X==="function"){let Z=await X(Y);return E(Z)}if(typeof X==="string")return RY(X,Y,W);return E(W)}var wY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);async function RY(J,X,Y){let W=HY(X);if(wY.has(J))return W?`<${J}${W}>`:`<${J}>`;let Z=await IY(Y,X);return W?`<${J}${W}>${Z}</${J}>`:`<${J}>${Z}</${J}>`}function HY(J){let X="";for(let[Y,W]of Object.entries(J)){if(Y==="children"||Y==="key"||Y==="ref"||Y==="dangerouslySetInnerHTML"||S(Y))continue;let Z=nJ(W);if(Z==null||Z===!1)continue;let $=Y==="className"?"class":Y,Q=$==="htmlFor"?"for":$;if(Z===!0){X+=` ${Q}`;continue}let K=_(String(Z));X+=` ${Q}="${K}"`}return X}async function IY(J,X){let Y=X.dangerouslySetInnerHTML;if(Y&&typeof Y.__html==="string")return Y.__html;return E(J)}function hX(J){return J!=null&&typeof J==="object"&&!Array.isArray(J)&&!(J instanceof P)}async function OY(J){let X=J.props,Y=nJ(X.each);if(!Array.isArray(Y)||typeof X.children!=="function")return"";return(await Promise.all(Y.map((Z,$)=>E(X.children(Z,()=>$))))).join("")}function NY(J,X){let Y=J.props.children??J.children;if(typeof Y==="function")return Y(X);return Y}function nJ(J){return L(J)||U(J)?J.value:J}var s="data-sinwan-id";var ZJ="data-sinwan-ev";function $J(J){return`c${J}`}function QJ(J){return`<!--sinwan-t:${J}-->`}function KJ(){return"<!--/sinwan-t-->"}function eJ(J){let X=J.data;if(X.startsWith("sinwan-t:")){let Y=parseInt(X.slice(9),10);return Number.isNaN(Y)?-1:Y}return-1}function JX(J){return J.data==="/sinwan-t"}function mX(){return{componentIndex:0,textIndex:0,eventIndex:0}}var pX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function HJ(J,X){let Y=new TextEncoder;return new ReadableStream({async start(W){try{let Z=await J(X);await l(Z,W,Y),W.close()}catch(Z){W.error(Z)}}})}function IJ(J,X){let Y=new TextEncoder,W=mX();return new ReadableStream({async start(Z){try{await iX(J,X??{},Z,Y,W,!0),Z.close()}catch($){Z.error($)}}})}function OJ(J){let X=new TextEncoder,Y=mX();return new ReadableStream({async start(W){try{await u(J,W,X,Y),W.close()}catch(Z){W.error(Z)}}})}async function l(J,X,Y){if(J==null||typeof J==="boolean")return;if(typeof J==="string"){X.enqueue(Y.encode(_(J)));return}if(typeof J==="number"){X.enqueue(Y.encode(String(J)));return}if(J instanceof P){X.enqueue(Y.encode(J.value));return}if(L(J)||U(J)){X.enqueue(Y.encode(_(String(J.value))));return}if(Array.isArray(J)){for(let W of J)await l(W,X,Y);return}if(J instanceof Promise){let W=await J;await uX(W,X,Y);return}await uX(J,X,Y)}async function uX(J,X,Y){let{tag:W,props:Z,children:$}=J;if(w(J)){let Q=e(Z.when);await l(Q?sX(J,Q):Z.fallback,X,Y);return}if(R(J)){await yY(J,X,Y);return}if(typeof W==="function"){let Q=await W(Z);await l(Q,X,Y);return}if(typeof W==="string"){await EY(W,Z,$,X,Y);return}await l($,X,Y)}async function EY(J,X,Y,W,Z){let $=xY(X),Q=X.dangerouslySetInnerHTML;if(pX.has(J)){let G=$?`<${J}${$}>`:`<${J}>`;W.enqueue(Z.encode(G));return}let K=$?`<${J}${$}>`:`<${J}>`;if(W.enqueue(Z.encode(K)),Q&&typeof Q.__html==="string")W.enqueue(Z.encode(Q.__html));else await l(Y,W,Z);W.enqueue(Z.encode(`</${J}>`))}function xY(J){let X="";for(let[Y,W]of Object.entries(J)){if(Y==="children"||Y==="key"||Y==="ref"||Y==="dangerouslySetInnerHTML"||S(Y))continue;let Z=e(W);if(Z==null||Z===!1)continue;let $=Y==="className"?"class":Y==="htmlFor"?"for":Y;if(Z===!0){X+=` ${$}`;continue}let Q=_(String(Z));X+=` ${$}="${Q}"`}return X}async function u(J,X,Y,W,Z=!1){if(J==null||typeof J==="boolean")return;if(typeof J==="string"){d(X,Y,_(J));return}if(typeof J==="number"){d(X,Y,String(J));return}if(J instanceof P){d(X,Y,J.value);return}if(L(J)||U(J)){let $=W.textIndex++;d(X,Y,`${QJ($)}${_(String(J.value))}${KJ()}`);return}if(Array.isArray(J)){for(let $ of J)await u($,X,Y,W);return}if(J instanceof Promise){await XX(await J,X,Y,W,Z);return}await XX(J,X,Y,W,Z)}async function XX(J,X,Y,W,Z){let{tag:$,props:Q,children:K}=J;if($===""){for(let G of K)await u(G,X,Y,W);return}if($===I||$===O){await XX($(Q),X,Y,W,Z);return}if(w(J)){let G=e(Q.when);await u(G?sX(J,G):Q.fallback,X,Y,W,Z);return}if(R(J)){await CY(J,X,Y,W);return}if(typeof $==="function"){await iX($,Q,X,Y,W,!0);return}if(typeof $==="string"){await kY($,Q,K,X,Y,W,Z);return}await u(K,X,Y,W)}async function iX(J,X,Y,W,Z,$){let Q=F(),K=b(J,X,Q);if(Q)Q.children.push(K);let G=q(K);try{let B=await J(X);await u(B,Y,W,Z,$)}finally{q(G)}}async function kY(J,X,Y,W,Z,$,Q){let K=fY(X,$,Q),G=X.dangerouslySetInnerHTML;if(d(W,Z,K?`<${J}${K}>`:`<${J}>`),pX.has(J))return;if(G&&typeof G.__html==="string")d(W,Z,G.__html);else for(let B of Y)await u(B,W,Z,$);d(W,Z,`</${J}>`)}async function CY(J,X,Y,W){let Z=J.props,$=e(Z.each);if(!Array.isArray($)||typeof Z.children!=="function")return;for(let Q=0;Q<$.length;Q++)await u(Z.children($[Q],()=>Q),X,Y,W)}function fY(J,X,Y){let W="";if(Y)W+=` ${s}="${$J(X.componentIndex++)}"`;let Z=[];for(let[$,Q]of Object.entries(J)){if($==="children"||$==="key"||$==="ref"||$==="dangerouslySetInnerHTML")continue;if(S($)){Z.push(`${i($)}:${X.eventIndex++}`);continue}let K=e(Q);if(K==null||K===!1)continue;let G=$==="className"?"class":$==="htmlFor"?"for":$;if(K===!0){W+=` ${G}`;continue}W+=` ${G}="${_(String(K))}"`}if(Z.length>0)W+=` ${ZJ}="${Z.join(",")}"`;return W}function d(J,X,Y){J.enqueue(X.encode(Y))}async function yY(J,X,Y){let W=J.props,Z=e(W.each);if(!Array.isArray(Z)||typeof W.children!=="function")return;for(let $=0;$<Z.length;$++)await l(W.children(Z[$],()=>$),X,Y)}function sX(J,X){let Y=J.props.children??J.children;if(typeof Y==="function")return Y(X);return Y}function e(J){return L(J)||U(J)?J.value:J}function dX(){return{componentIndex:0,textIndex:0,eventIndex:0}}async function NJ(J,X){let Y=dX(),W=X??{},Z=b(J,W,null),$=q(Z);try{let Q=await J(W);if(Q&&typeof Q==="object"&&"tag"in Q)return GJ(Q,Y,!0);return y(Q,Y)}finally{q($)}}async function EJ(J){let X=dX();return y(J,X)}var gY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function y(J,X){if(J==null||typeof J==="boolean")return"";if(typeof J==="string")return _(J);if(typeof J==="number")return String(J);if(J instanceof P)return J.value;if(L(J)||U(J)){let Y=J.value,W=X.textIndex++;return`${QJ(W)}${_(String(Y))}${KJ()}`}if(Array.isArray(J))return J.map((Y)=>y(Y,X)).join("");if(J instanceof Promise)return"";if(typeof J==="object"&&"tag"in J)return GJ(J,X,!1);return _(String(J))}function GJ(J,X,Y){let{tag:W,props:Z,children:$}=J;if(W==="")return $.map((Q)=>y(Q,X)).join("");if(W===I||W===O)return GJ(W(Z),X,Y);if(w(J)){let Q=lX(Z.when),K=Q?pY(J,Q):Z.fallback;return uY(K,X,Y)}if(R(J))return mY(J,X);if(typeof W==="function")return vY(W,Z,X);if(typeof W==="string")return hY(W,Z,$,X,Y);return $.map((Q)=>y(Q,X)).join("")}function vY(J,X,Y){let W=F(),Z=b(J,X,W);if(W)W.children.push(Z);let $=q(Z);try{let Q=J(X);if(Q&&typeof Q==="object"&&"tag"in Q)return GJ(Q,Y,!0);return y(Q,Y)}finally{q($)}}function hY(J,X,Y,W,Z){let $="";if(Z)$+=` ${s}="${$J(W.componentIndex++)}"`;let Q=[];for(let[B,z]of Object.entries(X)){if(B==="children"||B==="key"||B==="ref"||B==="dangerouslySetInnerHTML")continue;if(S(B)){let T=i(B);Q.push(`${T}:${W.eventIndex++}`);continue}if(z==null||z===!1)continue;let V=z;if(L(z)||U(z))V=z.value;if(V===!0){$+=` ${B==="className"?"class":B==="htmlFor"?"for":B}`;continue}$+=` ${B==="className"?"class":B==="htmlFor"?"for":B}="${_(String(V))}"`}if(Q.length>0)$+=` ${ZJ}="${Q.join(",")}"`;if(gY.has(J))return`<${J}${$}>`;let K=X.dangerouslySetInnerHTML;if(K&&typeof K.__html==="string")return`<${J}${$}>${K.__html}</${J}>`;let G=Y.map((B)=>y(B,W)).join("");return`<${J}${$}>${G}</${J}>`}function uY(J,X,Y){if(Y&&J&&typeof J==="object"&&!Array.isArray(J)&&"tag"in J)return GJ(J,X,!0);return y(J,X)}function mY(J,X){let Y=J.props,W=lX(Y.each);if(!Array.isArray(W)||typeof Y.children!=="function")return"";return W.map((Z,$)=>y(Y.children(Z,()=>$),X)).join("")}function pY(J,X){let Y=J.props.children??J.children;if(typeof Y==="function")return Y(X);return Y}function lX(J){return L(J)||U(J)?J.value:J}var nY={};FJ(nY,{unmountNode:()=>M,streamPage:()=>HJ,streamHydratablePage:()=>IJ,streamHydratableNode:()=>OJ,signal:()=>pJ,setDOMOps:()=>UJ,safeHtml:()=>yX,resetDOMOps:()=>PJ,renderToString:()=>E,renderToHydratableString:()=>NJ,renderPage:()=>RJ,renderNodeToHydratableString:()=>EJ,renderNodeToDOM:()=>A,renderElementToDOM:()=>N,render:()=>SJ,registerPage:()=>bJ,raw:()=>XJ,provide:()=>BX,onUpdated:()=>QX,onUnmounted:()=>$X,onMounted:()=>ZX,onError:()=>KX,nextTick:()=>YJ,mount:()=>MJ,jsxs:()=>vJ,jsxDEV:()=>hJ,jsx:()=>gJ,isSignal:()=>L,isSafeHtml:()=>gX,isComputed:()=>U,inject:()=>qX,hydrate:()=>FX,hasPage:()=>wJ,getPage:()=>WJ,getCurrentInstance:()=>F,escapeHtml:()=>_,effect:()=>D,domOps:()=>j,createPage:()=>GX,createLayout:()=>jX,createComponent:()=>xJ,computed:()=>iJ,batch:()=>WX,Show:()=>I,HtmlEscapedString:()=>P,Fragment:()=>a,For:()=>O});module.exports=qJ(nY);var YX=0;function WX(J){YX++;try{J()}finally{if(YX--,YX===0)AX()}}function ZX(J){let X=F();if(!X)throw Error("onMounted() called outside of component setup.");X._mountedHooks.push(()=>g(X,J))}function $X(J){let X=F();if(!X)throw Error("onUnmounted() called outside of component setup.");X._unmountedHooks.push(()=>g(X,J))}function QX(J){let X=F();if(!X)throw Error("onUpdated() called outside of component setup.");X._updatedHooks.push(()=>g(X,J))}function KX(J){let X=F();if(!X)throw Error("onError() called outside of component setup.");X._errorHooks.push((Y)=>g(X,()=>J(Y)))}function xJ(J){let X=(Y)=>J(Y);return X._SinwanComponent=!0,X._displayName=J.name||"AnonymousComponent",X}function GX(J){let X=(Y)=>J(Y);return X._SinwanPage=!0,X._displayName=J.name||"AnonymousPage",X}function jX(J){return xJ(J)}function BX(J,X){let Y=F();if(!Y)throw Error("provide() called outside of component setup.");Y.provides[J]=X}function qX(J,X){let Y=F();if(!Y)throw Error("inject() called outside of component setup.");if(J in Y.provides)return Y.provides[J];if(arguments.length>=2)return X;console.warn(`[Sinwan] inject() key "${String(J)}" not found and no default provided.`);return}function x(J){let X=J.current;if(X)J.current=X.nextSibling;return X}function JJ(J,X){if(J==null||typeof J==="boolean")return{type:"text",node:x(X)??document.createTextNode("")};if(typeof J==="string")return{type:"text",node:x(X)};if(typeof J==="number")return{type:"text",node:x(X)};if(J instanceof P)return{type:"text",node:x(X)};if(L(J)||U(J))return sY(J,X);if(Array.isArray(J))return c(J,X);if(typeof J==="object"&&J!==null&&"tag"in J)return jJ(J,X);return{type:"text",node:x(X)}}function sY(J,X){let Y=X.current,W=F();if(Y&&Y.nodeType===8&&eJ(Y)>=0){x(X);let G=x(X),B=X.current;if(B&&B.nodeType===8&&JX(B))x(X);let z=!1,V=D(()=>{if(G.data=String(J.value),z)H(W);z=!0});return{type:"reactive-text",node:G,dispose:V}}let Z=x(X);if(Z){let G=!1,B=D(()=>{if(Z.data=String(J.value),G)H(W);G=!0});return{type:"reactive-text",node:Z,dispose:B}}let $=document.createTextNode(String(J.value)),Q=!1,K=D(()=>{if($.data=String(J.value),Q)H(W);Q=!0});return{type:"reactive-text",node:$,dispose:K}}function jJ(J,X){let{tag:Y,props:W,children:Z}=J;if(Y==="")return c(Z,X);if(Y===I||Y===O)return jJ(Y(W),X);if(w(J)||R(J))return cY(J,X);if(typeof Y==="function")return tY(Y,W,X);if(typeof Y==="string")return dY(Y,W,Z,X);return c(Z,X)}function dY(J,X,Y,W){let Z=x(W);if(!Z||Z.nodeType!==1)return console.warn(`[Sinwan hydration] expected <${J}> but found`,Z),{type:"text",node:document.createTextNode("")};Z.removeAttribute(s),Z.removeAttribute("data-sinwan-ev");let $=lY(Z,X),Q=t(Z,X),K=oY(Z,X.ref),G={parent:Z,current:Z.firstChild},B=[];for(let z of Y)B.push(JJ(z,G));return{type:"element",node:Z,children:B,eventCleanups:Q,attrDisposers:$,refCleanup:K}}function lY(J,X){let Y=[],W=F();for(let[Z,$]of Object.entries(X)){if(Z==="children"||Z==="key"||Z==="ref"||S(Z))continue;if(L($)||U($)){let Q=!1,K=D(()=>{let G=$.value,B=Z==="className"?"class":Z==="htmlFor"?"for":Z;if(G==null||G===!1)J.removeAttribute(B);else if(G===!0)J.setAttribute(B,"");else J.setAttribute(B,String(G));if(Q)H(W);Q=!0});Y.push(K)}}return Y}function cY(J,X){if(w(J)){let Y=cX(J.props.when),W=Y?rY(J,Y):J.props.fallback;return aY(W,X)}if(R(J)){let Y=J.props,W=cX(Y.each),Z=Array.isArray(W)&&typeof Y.children==="function"?W.map(($,Q)=>Y.children($,()=>Q)):[];return c(Z,X)}return c(J.children,X)}function aY(J,X){if(J==null||typeof J==="boolean")return c([],X);return Array.isArray(J)?c(J,X):JJ(J,X)}function rY(J,X){let Y=J.props.children??J.children;if(typeof Y==="function")return Y(X);return Y}function cX(J){return L(J)||U(J)?J.value:J}function oY(J,X){let Y=X;if(!Y)return null;if(typeof Y==="function")return Y(J),()=>Y(null);if(typeof Y==="object"&&"current"in Y)return Y.current=J,()=>{Y.current=null};return null}function tY(J,X,Y){let W=F(),Z=b(J,X,W);if(W)W.children.push(Z);let $=q(Z),Q,K;try{if(Q=J(X),Q&&typeof Q==="object"&&"tag"in Q)K=jJ(Q,Y);else K=JJ(Q,Y)}catch(G){return q($),f(Z,G),{type:"component",children:[{type:"text",node:x(Y)??document.createTextNode("")}],disposers:[],instance:Z}}return q($),Z.element=K,{type:"component",children:[K],disposers:Z.effects,instance:Z}}function c(J,X){let Y=[];for(let Z of J)Y.push(JJ(Z,X));let W=document.createComment("Sinwan-f");return{type:"fragment",children:Y,anchor:W}}function FX(J,X,Y){let W=Y??{},Z=b(J,W,null),$,Q;q(Z);try{$=J(W);let K={parent:X,current:X.firstChild};if($&&typeof $==="object"&&"tag"in $)Q=jJ($,K);else Q=JJ($,K)}catch(K){return q(null),f(Z,K),{root:{type:"text",node:document.createTextNode("")},unmount(){}}}return q(null),Z.element=Q,C(Z),{root:Q,unmount(){v(Z),M(Q),X.innerHTML=""}}}
2
2
 
3
- //# debugId=C47467F6EEE976E864756E2164756E21
3
+ //# debugId=44DF36E6B0AEC23964756E2164756E21