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