sibujs 3.0.0 → 3.2.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 +6 -0
- package/dist/browser.cjs +16 -8
- package/dist/browser.js +6 -5
- package/dist/build.cjs +276 -150
- package/dist/build.js +35 -24
- package/dist/cdn.global.js +7 -7
- package/dist/{chunk-RJIRT46U.js → chunk-2C4E3HBM.js} +5 -5
- package/dist/{chunk-XDKP4T7G.js → chunk-4JCAUOLN.js} +45 -23
- package/dist/{chunk-VSNLICTS.js → chunk-5N74TKLD.js} +1 -1
- package/dist/{chunk-XVYB3J6C.js → chunk-7XDYVJLE.js} +19 -9
- package/dist/{chunk-L52H775O.js → chunk-BGNLPNGV.js} +20 -12
- package/dist/{chunk-6QZO7MMG.js → chunk-C427DVQF.js} +1 -1
- package/dist/{chunk-5WD7BYTZ.js → chunk-FDY42FIU.js} +3 -2
- package/dist/{chunk-4YTVESDX.js → chunk-FOI23UJL.js} +11 -1
- package/dist/{chunk-2RA7SHDA.js → chunk-GOJMFRBL.js} +20 -4
- package/dist/{chunk-2KM2724A.js → chunk-GOUM4JCT.js} +6 -6
- package/dist/chunk-H3SRKIYX.js +17 -0
- package/dist/{chunk-NEWH4O5U.js → chunk-H6PCHJZQ.js} +2 -2
- package/dist/{chunk-UCS6AMJ7.js → chunk-HMJFCBRR.js} +26 -3
- package/dist/{chunk-JYD2PWXH.js → chunk-HXMS4SNP.js} +22 -15
- package/dist/{chunk-DF3GTP4Q.js → chunk-JYXOEYI4.js} +12 -18
- package/dist/{chunk-KZA7ANXP.js → chunk-NFYWLRUO.js} +11 -18
- package/dist/{chunk-KH4OE6WY.js → chunk-NPIEEKPT.js} +20 -11
- package/dist/{chunk-V65KTDZW.js → chunk-OYLPZO4N.js} +33 -15
- package/dist/{chunk-LYTCUZ7H.js → chunk-RDRSWYNP.js} +1 -1
- package/dist/{chunk-UKMXT5T6.js → chunk-RLUJL2MV.js} +7 -12
- package/dist/{chunk-INBOWHQ3.js → chunk-V2MTG5FT.js} +99 -36
- package/dist/{chunk-CNZ35WI2.js → chunk-VJE6DDYM.js} +2 -2
- package/dist/{chunk-2JQUV4Y3.js → chunk-VOCE4NNK.js} +157 -75
- package/dist/{chunk-STFTTMO2.js → chunk-X67UYC74.js} +31 -12
- package/dist/{chunk-YMOIAHWA.js → chunk-YFDGQWDA.js} +1 -1
- package/dist/{chunk-L4DAT4WU.js → chunk-Z2FWAE4B.js} +28 -1
- package/dist/data.cjs +211 -93
- package/dist/data.d.cts +7 -1
- package/dist/data.d.ts +7 -1
- package/dist/data.js +8 -8
- package/dist/devtools.cjs +38 -10
- package/dist/devtools.d.cts +1 -1
- package/dist/devtools.d.ts +1 -1
- package/dist/devtools.js +6 -6
- package/dist/ecosystem.cjs +163 -65
- package/dist/ecosystem.js +9 -9
- package/dist/extras.cjs +420 -198
- package/dist/extras.d.cts +2 -2
- package/dist/extras.d.ts +2 -2
- package/dist/extras.js +27 -24
- package/dist/index.cjs +255 -139
- package/dist/index.d.cts +15 -2
- package/dist/index.d.ts +15 -2
- package/dist/index.js +15 -13
- package/dist/{introspect-BZWKvQUZ.d.ts → introspect-DOZfmC-4.d.ts} +1 -1
- package/dist/{introspect-DsJlDD2T.d.cts → introspect-RjLfIFpL.d.cts} +1 -1
- package/dist/motion.cjs +10 -0
- package/dist/motion.js +3 -3
- package/dist/patterns.cjs +66 -39
- package/dist/patterns.js +8 -7
- package/dist/performance.cjs +101 -25
- package/dist/performance.d.cts +2 -2
- package/dist/performance.d.ts +2 -2
- package/dist/performance.js +8 -7
- package/dist/plugins.cjs +243 -138
- package/dist/plugins.d.cts +1 -1
- package/dist/plugins.d.ts +1 -1
- package/dist/plugins.js +96 -45
- package/dist/{ssr-FXD2PPMC.js → ssr-2QDQ27EV.js} +5 -3
- package/dist/{ssr-CrVNy6Pa.d.cts → ssr-D62yFwuw.d.cts} +8 -1
- package/dist/{ssr-CrVNy6Pa.d.ts → ssr-D62yFwuw.d.ts} +8 -1
- package/dist/ssr.cjs +185 -68
- package/dist/ssr.d.cts +1 -1
- package/dist/ssr.d.ts +1 -1
- package/dist/ssr.js +12 -10
- package/dist/testing.cjs +9 -4
- package/dist/testing.js +3 -3
- package/dist/ui.cjs +76 -39
- package/dist/ui.js +10 -9
- package/dist/widgets.cjs +61 -23
- package/dist/widgets.js +8 -8
- package/package.json +3 -1
package/dist/build.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
index_exports
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-V2MTG5FT.js";
|
|
4
4
|
import "./chunk-YT6HQ6AM.js";
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-5N74TKLD.js";
|
|
6
|
+
import "./chunk-H6PCHJZQ.js";
|
|
7
|
+
import "./chunk-HXMS4SNP.js";
|
|
8
|
+
import "./chunk-YFDGQWDA.js";
|
|
9
|
+
import "./chunk-X67UYC74.js";
|
|
10
|
+
import "./chunk-RLUJL2MV.js";
|
|
11
|
+
import "./chunk-JYXOEYI4.js";
|
|
12
12
|
import "./chunk-2UPRY23K.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-HMJFCBRR.js";
|
|
14
|
+
import "./chunk-FDY42FIU.js";
|
|
15
|
+
import "./chunk-GOJMFRBL.js";
|
|
16
|
+
import "./chunk-C427DVQF.js";
|
|
17
|
+
import "./chunk-Z2FWAE4B.js";
|
|
18
18
|
import "./chunk-LMLD24FC.js";
|
|
19
19
|
|
|
20
20
|
// src/build/compileTemplates.ts
|
|
@@ -352,14 +352,16 @@ function compileHtmlTemplates(code) {
|
|
|
352
352
|
const tmpl = templates[i];
|
|
353
353
|
const ast = parseTemplateToAST(tmpl.strings);
|
|
354
354
|
collectTags(ast, usedTags);
|
|
355
|
+
if (ast.length > 1) usedTags.add("div");
|
|
355
356
|
if (Array.from(usedTags).some((t) => SVG_TAGS.has(t))) usesSvg = true;
|
|
356
357
|
const valuesVar = "__v";
|
|
357
358
|
const childExprs = ast.map((c) => generateChild(c, valuesVar));
|
|
359
|
+
const rootExpr = childExprs.length === 1 ? childExprs[0] : `div([${childExprs.join(", ")}])`;
|
|
358
360
|
let compiled;
|
|
359
361
|
if (tmpl.exprCount === 0) {
|
|
360
|
-
compiled =
|
|
362
|
+
compiled = rootExpr;
|
|
361
363
|
} else {
|
|
362
|
-
const body =
|
|
364
|
+
const body = rootExpr;
|
|
363
365
|
const exprSource = extractExpressions(code, tmpl.start, tmpl.end, tmpl.exprCount);
|
|
364
366
|
compiled = `((${valuesVar}) => ${body})([${exprSource.join(", ")}])`;
|
|
365
367
|
}
|
|
@@ -1460,25 +1462,34 @@ var lintRules = {
|
|
|
1460
1462
|
let braceDepth = 0;
|
|
1461
1463
|
let insideConditionalOrLoop = false;
|
|
1462
1464
|
let insideNestedFunction = false;
|
|
1463
|
-
|
|
1465
|
+
const fnOpenDepths = [];
|
|
1464
1466
|
for (let i = 0; i <= lineIdx; i++) {
|
|
1465
|
-
const
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
if (i < lineIdx && /^\s*(if|else\s+if|else|for|while|do|switch)\s*[({]/.test(lines[i])) {
|
|
1467
|
+
const rawLine = lines[i];
|
|
1468
|
+
const scanLine = rawLine.trim();
|
|
1469
|
+
const opensFunction = i < lineIdx && /\b(function\s+\w+|function\s*\(|=>\s*\{)/.test(scanLine);
|
|
1470
|
+
if (i < lineIdx && /^\s*(if|else\s+if|else|for|while|do|switch)\s*[({]/.test(rawLine)) {
|
|
1470
1471
|
insideConditionalOrLoop = true;
|
|
1471
1472
|
}
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
if (ch === "
|
|
1473
|
+
let fnBracePending = opensFunction;
|
|
1474
|
+
for (const ch of rawLine) {
|
|
1475
|
+
if (ch === "{") {
|
|
1476
|
+
braceDepth++;
|
|
1477
|
+
if (fnBracePending) {
|
|
1478
|
+
fnOpenDepths.push(braceDepth);
|
|
1479
|
+
fnBracePending = false;
|
|
1480
|
+
}
|
|
1481
|
+
} else if (ch === "}") {
|
|
1475
1482
|
braceDepth--;
|
|
1483
|
+
while (fnOpenDepths.length > 0 && fnOpenDepths[fnOpenDepths.length - 1] > braceDepth) {
|
|
1484
|
+
fnOpenDepths.pop();
|
|
1485
|
+
}
|
|
1476
1486
|
if (braceDepth <= 1) {
|
|
1477
1487
|
insideConditionalOrLoop = false;
|
|
1478
1488
|
}
|
|
1479
1489
|
}
|
|
1480
1490
|
}
|
|
1481
1491
|
}
|
|
1492
|
+
const functionDepth = fnOpenDepths.length;
|
|
1482
1493
|
const beforeHook = line.substring(0, line.indexOf(hookMatch[0]));
|
|
1483
1494
|
const inlineConditional = /\b(if|else|for|while|switch)\s*\(/.test(beforeHook) || /\?\s*$/.test(beforeHook.trim());
|
|
1484
1495
|
if (insideConditionalOrLoop || inlineConditional) {
|
package/dist/cdn.global.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var Sibu=(()=>{var De=Object.defineProperty;var fi=Object.getOwnPropertyDescriptor;var pi=Object.getOwnPropertyNames;var mi=Object.prototype.hasOwnProperty;var xt=(e,n)=>{for(var t in n)De(e,t,{get:n[t],enumerable:!0})},bi=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of pi(n))!mi.call(e,o)&&o!==t&&De(e,o,{get:()=>n[o],enumerable:!(r=fi(n,o))||r.enumerable});return e};var gi=e=>bi(De({},"__esModule",{value:!0}),e);var ms={};xt(ms,{DynamicComponent:()=>lo,ErrorBoundary:()=>ii,ErrorDisplay:()=>Pe,Fragment:()=>io,KeepAlive:()=>bo,Loading:()=>ai,Portal:()=>so,SVG_NS:()=>w,Suspense:()=>ct,__resetIdCounter:()=>Co,a:()=>rn,abbr:()=>on,action:()=>go,address:()=>It,area:()=>Ln,array:()=>Fo,article:()=>Ot,aside:()=>zt,asyncDerived:()=>jo,audio:()=>Mn,autoResize:()=>vo,b:()=>sn,base:()=>kr,batch:()=>O,bdi:()=>an,bdo:()=>cn,bindDynamic:()=>qe,blockquote:()=>Ut,body:()=>Rt,br:()=>ln,button:()=>ie,canvas:()=>Vn,caption:()=>Zn,catchError:()=>So,catchErrorAsync:()=>Eo,center:()=>Jr,checkLeaks:()=>At,circle:()=>Ar,cite:()=>un,clickOutside:()=>ho,clipPath:()=>Br,code:()=>Re,col:()=>Xn,colgroup:()=>Qn,context:()=>Ko,copyOnClick:()=>xo,createId:()=>ko,customElement:()=>Xr,data:()=>dn,datalist:()=>sr,dd:()=>Jt,deepEqual:()=>le,deepSignal:()=>zo,defer:()=>Xo,defs:()=>Fr,del:()=>Jn,derived:()=>$e,details:()=>xr,dfn:()=>fn,dialog:()=>vr,disableSSR:()=>No,dispose:()=>M,div:()=>S,dl:()=>Gt,dt:()=>Zt,each:()=>ro,effect:()=>$,ellipse:()=>Nr,em:()=>pn,embed:()=>Pn,enableSSR:()=>Ao,enqueueBatchedSignal:()=>J,fieldset:()=>ar,figcaption:()=>Xt,figure:()=>Qt,font:()=>Gr,footer:()=>Dt,form:()=>cr,g:()=>Lr,getSSRStore:()=>ae,getSlot:()=>uo,h1:()=>jt,h2:()=>Wt,h3:()=>Le,h4:()=>qt,h5:()=>Vt,h6:()=>Kt,head:()=>Mt,header:()=>Pt,hr:()=>Yt,html:()=>Ue,i:()=>mn,iframe:()=>Dn,img:()=>Rn,input:()=>lr,ins:()=>Gn,isBatching:()=>_o,isSSR:()=>ce,kbd:()=>bn,label:()=>ur,lazy:()=>at,legend:()=>dr,li:()=>en,line:()=>Mr,linearGradient:()=>jr,link:()=>Cr,longPress:()=>yo,main:()=>Bt,map:()=>Hn,mark:()=>gn,marker:()=>Ur,marquee:()=>Zr,mask:()=>zr,match:()=>mo,math:()=>qn,menu:()=>Tr,meta:()=>_r,meter:()=>fr,mount:()=>eo,nav:()=>Ft,nextTick:()=>Go,noscript:()=>Kn,object:()=>Fn,ol:()=>tn,on:()=>$o,onCleanup:()=>Vo,onMount:()=>ge,onUnmount:()=>qo,optgroup:()=>pr,option:()=>mr,output:()=>br,p:()=>Ne,param:()=>Bn,path:()=>Rr,pattern:()=>Ir,picture:()=>zn,polygon:()=>Hr,polyline:()=>$r,portal:()=>In,pre:()=>Me,progress:()=>gr,q:()=>hn,radialGradient:()=>Wr,reactiveArray:()=>Bo,rect:()=>Or,ref:()=>Do,registerComponent:()=>ao,registerDisposer:()=>v,resolveComponent:()=>Ge,retrack:()=>F,rp:()=>yn,rt:()=>xn,ruby:()=>vn,runInSSRContext:()=>Lo,s:()=>Tn,samp:()=>Sn,script:()=>Un,section:()=>$t,select:()=>hr,setGlobalErrorHandler:()=>wo,setMaxDrainIterations:()=>je,show:()=>fo,signal:()=>_,slot:()=>Er,small:()=>En,source:()=>jn,span:()=>N,stop:()=>qr,store:()=>Po,strict:()=>Uo,strictEffect:()=>Jo,strong:()=>wn,style:()=>U,sub:()=>kn,summary:()=>Sr,sup:()=>Cn,svg:()=>Wn,symbol:()=>Kr,table:()=>Yn,tagFactory:()=>u,takePendingError:()=>he,tbody:()=>er,td:()=>tr,template:()=>wr,text:()=>Pr,textarea:()=>yr,tfoot:()=>nr,th:()=>rr,thead:()=>or,time:()=>_n,title:()=>Ht,tr:()=>ir,track:()=>$n,transition:()=>Qo,trapFocus:()=>To,trustHTML:()=>lt,tspan:()=>Dr,u:()=>An,ul:()=>nn,unregisterComponent:()=>co,untracked:()=>K,use:()=>Vr,var_:()=>Nn,video:()=>On,watch:()=>Oo,when:()=>po,withSSR:()=>Mo,writable:()=>Io});var dt={};xt(dt,{DynamicComponent:()=>lo,ErrorBoundary:()=>ii,ErrorDisplay:()=>Pe,Fragment:()=>io,KeepAlive:()=>bo,Loading:()=>ai,Portal:()=>so,SVG_NS:()=>w,Suspense:()=>ct,__resetIdCounter:()=>Co,a:()=>rn,abbr:()=>on,action:()=>go,address:()=>It,area:()=>Ln,array:()=>Fo,article:()=>Ot,aside:()=>zt,asyncDerived:()=>jo,audio:()=>Mn,autoResize:()=>vo,b:()=>sn,base:()=>kr,batch:()=>O,bdi:()=>an,bdo:()=>cn,bindDynamic:()=>qe,blockquote:()=>Ut,body:()=>Rt,br:()=>ln,button:()=>ie,canvas:()=>Vn,caption:()=>Zn,catchError:()=>So,catchErrorAsync:()=>Eo,center:()=>Jr,checkLeaks:()=>At,circle:()=>Ar,cite:()=>un,clickOutside:()=>ho,clipPath:()=>Br,code:()=>Re,col:()=>Xn,colgroup:()=>Qn,context:()=>Ko,copyOnClick:()=>xo,createId:()=>ko,customElement:()=>Xr,data:()=>dn,datalist:()=>sr,dd:()=>Jt,deepEqual:()=>le,deepSignal:()=>zo,defer:()=>Xo,defs:()=>Fr,del:()=>Jn,derived:()=>$e,details:()=>xr,dfn:()=>fn,dialog:()=>vr,disableSSR:()=>No,dispose:()=>M,div:()=>S,dl:()=>Gt,dt:()=>Zt,each:()=>ro,effect:()=>$,ellipse:()=>Nr,em:()=>pn,embed:()=>Pn,enableSSR:()=>Ao,enqueueBatchedSignal:()=>J,fieldset:()=>ar,figcaption:()=>Xt,figure:()=>Qt,font:()=>Gr,footer:()=>Dt,form:()=>cr,g:()=>Lr,getSSRStore:()=>ae,getSlot:()=>uo,h1:()=>jt,h2:()=>Wt,h3:()=>Le,h4:()=>qt,h5:()=>Vt,h6:()=>Kt,head:()=>Mt,header:()=>Pt,hr:()=>Yt,html:()=>Ue,i:()=>mn,iframe:()=>Dn,img:()=>Rn,input:()=>lr,ins:()=>Gn,isBatching:()=>_o,isSSR:()=>ce,kbd:()=>bn,label:()=>ur,lazy:()=>at,legend:()=>dr,li:()=>en,line:()=>Mr,linearGradient:()=>jr,link:()=>Cr,longPress:()=>yo,main:()=>Bt,map:()=>Hn,mark:()=>gn,marker:()=>Ur,marquee:()=>Zr,mask:()=>zr,match:()=>mo,math:()=>qn,menu:()=>Tr,meta:()=>_r,meter:()=>fr,mount:()=>eo,nav:()=>Ft,nextTick:()=>Go,noscript:()=>Kn,object:()=>Fn,ol:()=>tn,on:()=>$o,onCleanup:()=>Vo,onMount:()=>ge,onUnmount:()=>qo,optgroup:()=>pr,option:()=>mr,output:()=>br,p:()=>Ne,param:()=>Bn,path:()=>Rr,pattern:()=>Ir,picture:()=>zn,polygon:()=>Hr,polyline:()=>$r,portal:()=>In,pre:()=>Me,progress:()=>gr,q:()=>hn,radialGradient:()=>Wr,reactiveArray:()=>Bo,rect:()=>Or,ref:()=>Do,registerComponent:()=>ao,registerDisposer:()=>v,resolveComponent:()=>Ge,retrack:()=>F,rp:()=>yn,rt:()=>xn,ruby:()=>vn,runInSSRContext:()=>Lo,s:()=>Tn,samp:()=>Sn,script:()=>Un,section:()=>$t,select:()=>hr,setGlobalErrorHandler:()=>wo,setMaxDrainIterations:()=>je,show:()=>fo,signal:()=>_,slot:()=>Er,small:()=>En,source:()=>jn,span:()=>N,stop:()=>qr,store:()=>Po,strict:()=>Uo,strictEffect:()=>Jo,strong:()=>wn,style:()=>U,sub:()=>kn,summary:()=>Sr,sup:()=>Cn,svg:()=>Wn,symbol:()=>Kr,table:()=>Yn,tagFactory:()=>u,takePendingError:()=>he,tbody:()=>er,td:()=>tr,template:()=>wr,text:()=>Pr,textarea:()=>yr,tfoot:()=>nr,th:()=>rr,thead:()=>or,time:()=>_n,title:()=>Ht,tr:()=>ir,track:()=>$n,transition:()=>Qo,trapFocus:()=>To,trustHTML:()=>lt,tspan:()=>Dr,u:()=>An,ul:()=>nn,unregisterComponent:()=>co,untracked:()=>K,use:()=>Vr,var_:()=>Nn,video:()=>On,watch:()=>Oo,when:()=>po,withSSR:()=>Mo,writable:()=>Io});function k(){return typeof globalThis.__SIBU_DEV__<"u"?!!globalThis.__SIBU_DEV__:typeof __SIBU_DEV__<"u"?__SIBU_DEV__:typeof process<"u"&&process.env?.NODE_ENV!=="production"}var vt=k();function H(e,n){if(vt&&!e)throw new Error(`[SibuJS] ${n}`)}function E(e){vt&&console.warn(`[SibuJS] ${e}`)}var hi=["http:","https:","mailto:","tel:","ftp:"];function B(e){let n=e.replace(/[\x00-\x20\x7f-\x9f]+/g,"").trim();if(!n)return"";let t=n.toLowerCase(),r=-1;for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);if(s===58){r=i;break}if(s===47||s===63||s===35)break}if(r===-1)return n;let o=t.slice(0,r+1);return/^[a-z][a-z0-9+.-]*:$/.test(o)&&hi.indexOf(o)===-1?"":n}function me(e){let n=e.split(","),t=[];for(let r=0;r<n.length;r++){let o=n[r].trim();if(!o)continue;let i=o.match(/^(\S+)(\s+.+)?$/);if(!i)continue;let s=B(i[1]);s&&t.push(i[2]?`${s}${i[2]}`:s)}return t.join(", ")}function Fe(e){let t=e.replace(/\\([0-9a-fA-F]{1,6})\s?/g,(r,o)=>{let i=Number.parseInt(o,16);if(!Number.isFinite(i)||i<0||i>1114111)return"";try{return String.fromCodePoint(i)}catch{return""}}).toLowerCase().replace(/\s+/g,"");return t.includes("url(")||t.includes("expression(")||t.includes("javascript:")||t.includes("vbscript:")||t.includes("-moz-binding")||t.includes("behavior:")||t.includes("@import")||t.includes("image-set(")||t.includes("filter:progid")?"":e}var yi=new Set(["href","xlink:href","src","action","formaction","formtarget","cite","poster","background","srcset","ping","data"]);function W(e){return yi.has(e)}var xi=k(),vi=4096,Be=[];function Ti(){return{sig:null,sub:null,epoch:0,sigPrev:null,sigNext:null,subPrev:null,subNext:null,prevActive:null}}function Si(e,n,t){let r=Be.pop();if(r)return r.sig=e,r.sub=n,r.epoch=t,r;let o=Ti();return o.sig=e,o.sub=n,o.epoch=t,o}function Tt(e){e.sig=null,e.sub=null,e.sigPrev=null,e.sigNext=null,e.subPrev=null,e.subNext=null,e.prevActive=null,Be.length<vi&&Be.push(e)}function Ei(e,n){let t=e.subsHead??null;n.sigPrev=null,n.sigNext=t,t?t.sigPrev=n:e.subsTail=n,e.subsHead=n,e.__sc=(e.__sc??0)+1}function St(e){let n=e.sig;if(!n)return;let t=e.sigPrev,r=e.sigNext;t?t.sigNext=r:n.subsHead=r,r?r.sigPrev=t:n.subsTail=t,n.__sc=(n.__sc??1)-1,n.__activeNode===e&&(n.__activeNode=e.prevActive),n.__sc===0&&(n.subsHead=null,n.subsTail=null)}function wi(e,n){let t=e.depsTail??null;n.subPrev=t,n.subNext=null,t?t.subNext=n:e.depsHead=n,e.depsTail=n}function ki(e){let n=e.sub;if(!n)return;let t=e.subPrev,r=e.subNext;t?t.subNext=r:n.depsHead=r,r?r.subPrev=t:n.depsTail=t}var D=null,ze=null,q=0,V=[],P=new Set,Ci=[];function _i(e){try{e()}catch(n){xi&&E(`Subscriber threw during notification: ${n instanceof Error?n.message:String(n)}`)}}var Se=0,Ce=!1;function Ai(){Se===0&&(ze=D,D=null,Ce=!0),Se++}function Ni(){Se--,Se===0&&(D=ze,ze=null,Ce=!1)}function K(e){Ai();try{return e()}finally{Ni()}}var Li=0;function F(e,n){let t=D;D=n;let r=n,o=++Li;r._epoch=o,r._structDirty=!1;for(let i=r.depsHead??null;i!==null;i=i.subNext){let s=i.sig;i.prevActive=s.__activeNode??null,s.__activeNode=i}try{e()}finally{D=t;let i=r.depsHead??null;for(;i!==null;){let s=i.subNext,a=i.sig;a.__activeNode=i.prevActive,i.prevActive=null,i.epoch!==o&&(ki(i),St(i),Tt(i)),i=s}}}function C(e,n){n||(n=e),Ee(n);let t=D;D=n;try{e()}finally{D=t;let o=n;for(let i=o.depsHead??null;i!==null;i=i.subNext){let s=i.sig;s.__activeNode=i.prevActive,i.prevActive=null}}let r=n;return r._dispose??(r._dispose=()=>Ee(n))}function ee(e){if(!D)return;let n=D,t=e,r=n._epoch??0,o=t.__activeNode??null;if(o!==null&&o.sub===n){o.epoch=r;return}let i=Si(e,n,r);i.prevActive=o,t.__activeNode=i,wi(n,i),Ei(t,i),n._structDirty=!0}function Ee(e){let n=e,t=n.depsHead??null;for(n.depsHead=null,n.depsTail=null;t;){let r=t.subNext;St(t),Tt(t),t=r}}var Et=50,we=1e6,ke=0;function je(e){let n=we;return Number.isFinite(e)&&e>0&&(we=Math.floor(e)),n}function Mi(e){let n=e;return n._runEpoch!==ke?(n._runEpoch=ke,n._runs=1,!1):(n._runs=(n._runs??0)+1,n._runs>Et)}function Ri(e){if(typeof console<"u"){let n=e.__name??"<unnamed>";console.error(`[SibuJS] subscriber "${n}" fired more than ${Et} times \u2014 likely a write-reads-self cycle between effects/signals. Breaking to prevent infinite loop.`)}}function Hi(){typeof console<"u"&&console.error(`[SibuJS] Notification drain exceeded ${we} iterations \u2014 absolute safety net tripped. Breaking to prevent infinite loop.`)}function wt(){let e=0;for(;e<V.length;){if(e>=we){Hi();break}let n=V[e++];if(Mi(n)){Ri(n);break}P.delete(n),_i(n)}}function kt(){if(!(q>0)){q++,ke++;try{wt()}finally{q--,q===0&&(V.length=0,P.clear())}}}function Ie(e){e();let n=e._sig;if(!n)return;let t=Ci,r=t.length;for(t.push(n);t.length>r;){let i=t.pop().subsHead??null;for(;i;){let s=i.sub;if(s)if(s._c){let a=s._sig;a?a._d||(a._d=!0,t.push(a)):s()}else P.has(s)||(P.add(s),V.push(s));i=i.sigNext}}}function Ct(e){let t=e.subsHead??null;for(;t;){let r=t.sub;r&&(r._c?Ie(r):P.has(r)||(P.add(r),V.push(r))),t=t.sigNext}}function te(e){let t=e.subsHead;if(t){if(q>0){let r=t;for(;r;){let o=r.sub;o&&(o._c?Ie(o):P.has(o)||(P.add(o),V.push(o))),r=r.sigNext}return}q++,ke++;try{let r=t;for(;r;){let o=r.sub;o&&(o._c?Ie(o):P.has(o)||(P.add(o),V.push(o))),r=r.sigNext}wt()}finally{q--,q===0&&(V.length=0,P.clear())}}}var _e=k();function We(e,n,t){e[n]=t}function $i(e){if(e.length<3)return!1;let n=e.toLowerCase();return n[0]==="o"&&n[1]==="n"&&n.charCodeAt(2)>=97&&n.charCodeAt(2)<=122}function Ae(e,n,t){if($i(n))return _e&&E(`bindAttribute: refusing to bind event-handler attribute "${n}". Use on:{ ${n.slice(2)}: fn } instead.`),()=>{};function r(){let i;try{i=t()}catch(a){_e&&E(`bindAttribute: getter for "${n}" threw: ${a instanceof Error?a.message:String(a)}`);return}if(typeof i=="boolean"){n in e&&(n==="checked"||n==="disabled"||n==="selected")?We(e,n,i):i?e.setAttribute(n,""):e.removeAttribute(n);return}let s=String(i);(n==="value"||n==="checked")&&n in e?We(e,n,n==="checked"?!!i:s):e.setAttribute(n,W(n)?B(s):s)}return C(r)}function qe(e,n,t){let r=null;function o(){let s;try{s=typeof n=="function"?n():n}catch(c){_e&&E(`bindDynamic: name getter threw: ${c instanceof Error?c.message:String(c)}`);return}let a;try{a=typeof t=="function"?t():t}catch(c){_e&&E(`bindDynamic: value getter threw: ${c instanceof Error?c.message:String(c)}`);return}if((s[0]==="o"||s[0]==="O")&&(s[1]==="n"||s[1]==="N"))return;r!==null&&r!==s&&e.removeAttribute(r);let l=String(a);(s==="value"||s==="checked")&&s in e?We(e,s,s==="checked"?!!a:l):e.setAttribute(s,W(s)?B(l):l),r=s}let i=C(o);return()=>{i(),r!==null&&e.removeAttribute(r)}}var _t=k();function G(e,n){let t=[];function r(){let o;try{o=n()}catch(c){_t&&E(`bindChildNode: getter threw: ${c instanceof Error?c.message:String(c)}`);return}if(o==null||typeof o=="boolean"){for(let c=0;c<t.length;c++){let d=t[c];d.parentNode&&d.parentNode.removeChild(d)}t.length=0;return}let i=e.parentNode;if(!i){t.length=0;return}let s;if(Array.isArray(o)){s=[];let c=new Set;for(let d=0;d<o.length;d++){let p=o[d];if(p==null||typeof p=="boolean")continue;let g=p instanceof Node?p:document.createTextNode(String(p));if(c.has(g)){_t&&E("bindChildNode: duplicate node reference in array \u2014 only the first occurrence is rendered.");continue}c.add(g),s.push(g)}}else s=[o instanceof Node?o:document.createTextNode(String(o))];let a;if(t.length>0&&s.length>0){let c=new Set(t);a=new Set;for(let d=0;d<s.length;d++)c.has(s[d])&&a.add(s[d])}for(let c=0;c<t.length;c++){let d=t[c];a?.has(d)||d.parentNode&&d.parentNode.removeChild(d)}let l=e.nextSibling;for(let c=0;c<s.length;c++){let d=s[c];a?.has(d)&&d.parentNode===i?d.nextSibling!==l&&i.insertBefore(d,l):i.insertBefore(d,l)}t=s}return C(r)}var ne=new WeakMap,re=k(),oe=0;function v(e,n){let t=ne.get(e);t||(t=[],ne.set(e,t)),t.push(n),re&&oe++}function M(e){let n=[e],t=[];for(;n.length>0;){let r=n.pop();t.push(r);let o=Array.from(r.childNodes);for(let i=0;i<o.length;i++)n.push(o[i])}for(let r=t.length-1;r>=0;r--){let o=t[r],i=ne.get(o);if(i){let s=i.slice();ne.delete(o),re&&(oe-=s.length);for(let l of s)try{l()}catch(c){re&&typeof console<"u"&&console.warn("[SibuJS] Disposer threw during cleanup:",c)}let a=0;for(;a++<8;){let l=ne.get(o);if(!l||l.length===0)break;let c=l.slice();ne.delete(o),re&&(oe-=c.length);for(let d of c)try{d()}catch(p){re&&typeof console<"u"&&console.warn("[SibuJS] Disposer threw during cleanup:",p)}}}}}function At(e=0){return re?(e>0&&oe>e&&E(`checkLeaks: ${oe} active DOM bindings detected. Expected \u2264${e}. This may indicate a component was removed from the DOM without calling dispose().`),oe):0}var w="http://www.w3.org/2000/svg",Nt=k(),Oi=new Set(["script","iframe","object","embed","frame","frameset"]);function Pi(e){let n=e.toLowerCase();if(Oi.has(n))throw new Error(`tagFactory: refusing to create <${e}> \u2014 tag is blocked for security reasons.`)}var Di=new Set(["config","location","history","document","window","navigator","name","top","parent","self","frames"]);function Fi(e,n,t){e[n]=t}var Lt=new Map;function Bi(e){let n=Lt.get(e);return n!==void 0||(n=e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),Lt.set(e,n)),n}function zi(e,n){if(typeof n=="function"){let r=C(()=>{e.setAttribute("style",n())});v(e,r);return}if(typeof n=="string"){e.setAttribute("style",n);return}let t=e;for(let r in n){let o=n[r],i=Bi(r);if(typeof o=="function"){let s=o,a=C(()=>{t.style.setProperty(i,Fe(String(s())))});v(e,a)}else t.style.setProperty(i,Fe(String(o)))}}function Ii(e,n){if(typeof n=="string"){e.setAttribute("class",n);return}if(typeof n=="function"){let i=C(()=>{e.setAttribute("class",n())});v(e,i);return}let t=n,r=!1,o="";for(let i in t){let s=t[i];if(typeof s=="function"){r=!0;break}s&&(o=o?`${o} ${i}`:i)}if(r){let s=C(()=>{let a="";for(let l in t){let c=t[l];(typeof c=="function"?c():c)&&(a=a?`${a} ${l}`:l)}e.setAttribute("class",a)});v(e,s)}else e.setAttribute("class",o)}function Ve(e,n){if(typeof n=="string"){e.textContent=n;return}if(typeof n=="number"){e.textContent=String(n);return}if(!(typeof n=="boolean"||n==null)){if(typeof n=="function"){let t=document.createComment("");e.appendChild(t),v(e,G(t,n));return}if(n instanceof Node){e.appendChild(n);return}if(Array.isArray(n))for(let t=0;t<n.length;t++){let r=n[t];if(typeof r=="function"){let o=document.createComment("");e.appendChild(o),v(e,G(o,r))}else if(r instanceof Node)e.appendChild(r);else if(Array.isArray(r))for(let o=0;o<r.length;o++){let i=r[o];if(typeof i=="function"){let s=document.createComment("");e.appendChild(s),v(e,G(s,i))}else i instanceof Node?e.appendChild(i):i!=null&&typeof i!="boolean"&&e.appendChild(document.createTextNode(String(i)))}else r!=null&&typeof r!="boolean"&&e.appendChild(document.createTextNode(String(r)))}}}var u=(e,n)=>(t,r)=>{Pi(e);let o=n?document.createElementNS(n,e):document.createElement(e);if(t===void 0)return o;if(typeof t=="string")return r!==void 0?(o.setAttribute("class",t),Ve(o,r),o):(o.textContent=t,o);if(typeof t=="number")return o.textContent=String(t),o;if(Array.isArray(t)||t instanceof Node||typeof t=="function")return Ve(o,t),o;let i=t,s=i.class;s!=null&&Ii(o,s);let a=i.id;a!=null&&(Nt&&typeof a=="string"&&Di.has(a.toLowerCase())&&E(`tagFactory: element id="${a}" matches a common global and may cause DOM clobbering. Avoid setting ids from untrusted input.`),o.id=a);let l=r!==void 0?r:i.nodes;l!=null&&Ve(o,l);let c=i.on;if(c)for(let g in c){let f=c[g];typeof f=="function"?o.addEventListener(g,f):Nt&&E(`tagFactory: on.${g} handler is not a function (got ${typeof f}). Event listener was not attached.`)}let d=i.style;d!=null&&zi(o,d);let p=i.ref;p&&(p.current=o);for(let g in i)switch(g){case"class":case"id":case"nodes":case"on":case"style":case"ref":case"onElement":continue;default:{let f=i[g];if(f==null)continue;let b=g.toLowerCase();if(b[0]==="o"&&b[1]==="n")continue;if(typeof f=="function")v(o,Ae(o,g,f));else if(typeof f=="boolean")g in o&&(g==="checked"||g==="disabled"||g==="selected")?Fi(o,g,f):f?o.setAttribute(g,""):o.removeAttribute(g);else{let T=String(f);b==="srcset"?o.setAttribute(g,me(T)):W(b)?o.setAttribute(g,B(T)):o.setAttribute(g,T)}}}return i.onElement&&typeof i.onElement=="function"&&i.onElement(o),o};var Ds=u("html"),Mt=u("head"),Rt=u("body"),Ht=u("title"),S=u("div"),N=u("span"),$t=u("section"),Ot=u("article"),Pt=u("header"),Dt=u("footer"),Ft=u("nav"),Bt=u("main"),zt=u("aside"),It=u("address"),Ne=u("p"),jt=u("h1"),Wt=u("h2"),Le=u("h3"),qt=u("h4"),Vt=u("h5"),Kt=u("h6"),Ut=u("blockquote"),Jt=u("dd"),Gt=u("dl"),Zt=u("dt"),Xt=u("figcaption"),Qt=u("figure"),Yt=u("hr"),en=u("li"),tn=u("ol"),nn=u("ul"),Me=u("pre"),rn=u("a"),on=u("abbr"),sn=u("b"),an=u("bdi"),cn=u("bdo"),ln=u("br"),un=u("cite"),Re=u("code"),dn=u("data"),fn=u("dfn"),pn=u("em"),mn=u("i"),bn=u("kbd"),gn=u("mark"),hn=u("q"),yn=u("rp"),xn=u("rt"),vn=u("ruby"),Tn=u("s"),Sn=u("samp"),En=u("small"),wn=u("strong"),kn=u("sub"),Cn=u("sup"),_n=u("time"),An=u("u"),Nn=u("var"),Ln=u("area"),Mn=u("audio"),Rn=u("img"),Hn=u("map"),$n=u("track"),On=u("video"),Pn=u("embed"),Dn=u("iframe"),Fn=u("object"),Bn=u("param"),zn=u("picture"),In=u("portal"),jn=u("source"),Wn=u("svg",w),qn=u("math"),Vn=u("canvas"),Kn=u("noscript"),Un=u("script"),Jn=u("del"),Gn=u("ins"),Zn=u("caption"),Xn=u("col"),Qn=u("colgroup"),Yn=u("table"),er=u("tbody"),tr=u("td"),nr=u("tfoot"),rr=u("th"),or=u("thead"),ir=u("tr"),ie=u("button"),sr=u("datalist"),ar=u("fieldset"),cr=u("form"),lr=u("input"),ur=u("label"),dr=u("legend"),fr=u("meter"),pr=u("optgroup"),mr=u("option"),br=u("output"),gr=u("progress"),hr=u("select"),yr=u("textarea"),xr=u("details"),vr=u("dialog"),Tr=u("menu"),Sr=u("summary"),Er=u("slot"),wr=u("template"),kr=u("base"),Cr=u("link"),_r=u("meta"),U=u("style"),Ar=u("circle",w),Nr=u("ellipse",w),Lr=u("g",w),Mr=u("line",w),Rr=u("path",w),Hr=u("polygon",w),$r=u("polyline",w),Or=u("rect",w),Pr=u("text",w),Dr=u("tspan",w),Fr=u("defs",w),Br=u("clipPath",w),zr=u("mask",w),Ir=u("pattern",w),jr=u("linearGradient",w),Wr=u("radialGradient",w),qr=u("stop",w),Vr=u("use",w),Kr=u("symbol",w),Ur=u("marker",w),Jr=u("center"),Gr=u("font"),Zr=u("marquee"),Xr=e=>u(e);var ji=k(),Wi=new Set(["script","style"]),qi=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Qr=new Set(["svg","circle","ellipse","g","line","path","polygon","polyline","rect","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker"]),Yr=new WeakMap;function Vi(e){let n=e.length-1,t=e[0];for(let f=0;f<n;f++)t+=`\0${f}\0${e[f+1]}`;let r=0,o=t.length;function i(){for(;r<o&&(t[r]===" "||t[r]===" "||t[r]===`
|
|
2
|
-
`||t[r]==="\r");)r++}function s(){if(t.charCodeAt(r)!==0)return-1;let f=r;r++;let b=0;for(;r<o&&t.charCodeAt(r)!==0;)b=b*10+(t.charCodeAt(r)-48),r++;return r<o&&r++,b<0||b>=n?(r=f,-1):b}function a(){let f=r;for(;r<o;){let b=t.charCodeAt(r);if(b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===45)r++;else break}return t.slice(f,r)}function l(){if(i(),t[r]!=="=")return{kind:"bool"};r++,i();let f=s();if(f>=0)return{kind:"expr",idx:f};let b=t[r];if(b==='"'||b==="'"){r++;let m=[],x=[],A="";for(;r<o&&t[r]!==b;){let j=s();j>=0?(m.push(A),A="",x.push(j)):A+=t[r++]}return r<o&&r++,m.push(A),x.length===0?{kind:"static",value:m[0]}:{kind:"mixed",statics:m,exprs:x}}let T=r;for(;r<o;){let m=t.charCodeAt(r);if(m===32||m===9||m===10||m===13||m===62||m===47)break;r++}return{kind:"static",value:t.slice(T,r)}}function c(){let f=[];for(;r<o&&(i(),!(t[r]===">"||t[r]==="/"));){let b=r;for(;r<o;){let m=t.charCodeAt(r);if(m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===45||m===58||m===95||m===46)r++;else break}let T=t.slice(b,r);if(!T)break;let h=l();T.startsWith("on:")?h.kind==="expr"&&f.push({t:3,name:T.slice(3),idx:h.idx}):h.kind==="bool"?f.push({t:4,name:T}):h.kind==="static"?f.push({t:0,name:T,value:h.value}):h.kind==="expr"?f.push({t:1,name:T,idx:h.idx}):h.kind==="mixed"&&f.push({t:2,name:T,statics:h.statics,exprs:h.exprs})}return f}function d(f){return f.replace(/\s+/g," ")}function p(f){let b="";for(;r<o&&t[r]!=="<";){let h=s();if(h>=0){let m=d(b);m&&f.push({t:1,value:m}),b="",f.push({t:2,idx:h})}else b+=t[r++]}let T=d(b);T&&f.push({t:1,value:T})}function g(){let f=[];for(;r<o&&!(t[r]==="<"&&r+1<o&&t[r+1]==="/");)if(t[r]==="<"){r++;let b=a(),T=c();i();let h=qi.has(b),m=t[r]==="/";if(m&&r++,r<o&&r++,h||m)f.push({t:0,el:{tag:b,svg:Qr.has(b),attrs:T,children:[]}});else{let x=g();if(Wi.has(b.toLowerCase())){for(let A=0;A<x.length;A++)if(x[A].t===2)throw new Error(`html: dynamic \${...} expressions are not allowed inside <${b}> (raw-text context). Build the content separately and append it as a Node.`)}t[r]==="<"&&r+1<o&&t[r+1]==="/"&&(r+=2,a(),i(),r<o&&t[r]===">"&&r++),f.push({t:0,el:{tag:b,svg:Qr.has(b),attrs:T,children:x}})}}else p(f);return f}return g()}function Ke(e,n){let t=e.svg?document.createElementNS(w,e.tag):document.createElement(e.tag);for(let r=0;r<e.attrs.length;r++){let o=e.attrs[r];switch(o.t){case 0:t.setAttribute(o.name,o.value);break;case 1:{let i=o.name,s=i.toLowerCase();if(s[0]==="o"&&s[1]==="n")break;let a=n[o.idx];if(typeof a=="function")v(t,Ae(t,i,a));else if(a!=null){let l=String(a);s==="srcset"?t.setAttribute(i,me(l)):W(s)?t.setAttribute(i,B(l)):t.setAttribute(i,l)}break}case 2:{let i=o.statics[0];for(let a=0;a<o.exprs.length;a++){let l=n[o.exprs[a]];i+=(l==null?"":String(l))+o.statics[a+1]}let s=o.name.toLowerCase();s==="srcset"?t.setAttribute(o.name,me(i)):W(s)?t.setAttribute(o.name,B(i)):t.setAttribute(o.name,i);break}case 3:{let i=n[o.idx];typeof i=="function"?t.addEventListener(o.name,i):ji&&E(`html: on:${o.name} handler is not a function (got ${typeof i}). Event listener was not attached.`);break}case 4:t.setAttribute(o.name,"");break}}for(let r=0;r<e.children.length;r++){let o=e.children[r];switch(o.t){case 0:t.appendChild(Ke(o.el,n));break;case 1:t.appendChild(document.createTextNode(o.value));break;case 2:{let i=n[o.idx];if(typeof i=="function"){let s=document.createComment("");t.appendChild(s),v(t,G(s,i))}else if(i instanceof Node)t.appendChild(i);else if(Array.isArray(i))for(let s=0;s<i.length;s++){let a=i[s];a instanceof Node?t.appendChild(a):a!=null&&typeof a!="boolean"&&t.appendChild(document.createTextNode(String(a)))}else i!=null&&typeof i!="boolean"&&t.appendChild(document.createTextNode(String(i)));break}}}return t}function Ue(e,...n){let t=Yr.get(e);if(t||(t=Vi(e),Yr.set(e,t)),t.length===1&&t[0].t===0)return Ke(t[0].el,n);let r=document.createElement("div");for(let o=0;o<t.length;o++){let i=t[o];switch(i.t){case 0:r.appendChild(Ke(i.el,n));break;case 1:r.appendChild(document.createTextNode(i.value));break;case 2:{let s=n[i.idx];if(s instanceof Node)r.appendChild(s);else if(typeof s=="function"){let a=document.createComment("bind:htm");r.appendChild(a),v(r,G(a,s))}else if(Array.isArray(s))for(let a=0;a<s.length;a++){let l=s[a];l instanceof Node?r.appendChild(l):l!=null&&typeof l!="boolean"&&r.appendChild(document.createTextNode(String(l)))}else s!=null&&typeof s!="boolean"&&r.appendChild(document.createTextNode(String(s)));break}}}return r.childNodes.length===1&&r.firstChild instanceof Element?r.firstChild:r}function eo(e,n){if(!n)throw new Error("[SibuJS mount] container element not found. Make sure the DOM element exists before calling mount().");H(typeof e=="function"||e instanceof Node,"mount: first argument must be a component function or a DOM Node.");let t=typeof performance<"u"?performance.now():0,r=typeof e=="function"?e():e,o=typeof performance<"u"?performance.now()-t:0;n.appendChild(r);let i=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__;return i&&i.emit("app:init",{rootElement:r,container:n,duration:o}),{node:r,unmount(){i&&i.emit("app:unmount",{rootElement:r}),M(r),r.parentNode&&r.parentNode.removeChild(r)}}}var to=k();function no(e){return typeof e=="function"?no(e()):e instanceof Node?e:document.createTextNode(String(e))}function Ki(e,n){if(n===0)return[];let t=[],r=new Array(n);for(let a=0;a<n;a++){let l=e[a],c=0,d=t.length;for(;c<d;){let p=c+d>>1;e[t[p]]<l?c=p+1:d=p}t[c]=a,r[a]=c>0?t[c-1]:-1}let o=t.length,i=new Array(o),s=t[o-1];for(let a=o-1;a>=0;a--)i[a]=s,s=r[s];return i}function ro(e,n,t){H(typeof e=="function","each: first argument must be a function that returns an array."),H(typeof n=="function","each: second argument must be a render function."),H(t&&typeof t.key=="function","each: options.key must be a function that returns a unique key per item.");let r=document.createComment("each:anchor"),o=document.createComment("each:end"),i=[],s=[],a=i,l=0,c=new Map,d=new Map,p=[],g=[],f=new Uint8Array(0),b=new Map,T=[],h=[],m=new Map,x=!1,A=!1,j=t.key,ft=()=>{let pt=e(),L=pt.length,ye=r.parentNode;if(!ye)return;A||(ye.insertBefore(o,r.nextSibling),A=!0),g.length<L&&(g=new Array(L));for(let y=0;y<L;y++)g[y]=j(pt[y]);let fe=g;p.length<L&&(p=new Array(L)),d.clear(),m.clear();for(let y=0;y<L;y++)m.set(fe[y],y);for(let y=0;y<L;y++){let R=fe[y],bt=c.get(R),pe;if(bt!==void 0)pe=bt;else{let gt=R,ui=()=>K(()=>e()[m.get(gt)]),di=()=>m.get(gt);try{pe=no(n(ui,di))}catch(Y){to&&E(`each: render threw for item at index ${y} (key="${fe[y]}"): ${Y instanceof Error?Y.message:String(Y)}`),pe=document.createComment(`each:error:${y}`);let ht=Y instanceof Error?Y:new Error(String(Y));queueMicrotask(()=>{try{let yt=r.parentNode;yt?.dispatchEvent?yt.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:ht}})):to&&E(`each: error not surfaced \u2014 anchor detached: ${ht.message}`)}catch{}})}}d.set(R,pe),p[y]=pe}for(let[y,R]of c)d.has(y)||(M(R),R.parentNode&&ye.removeChild(R));if(L===0){l=0;let y=c;c=d,d=y;return}b.clear();for(let y=0;y<l;y++)b.set(a[y],y);T.length<L&&(T=new Array(L),h=new Array(L));let xe=0;for(let y=0;y<L;y++){let R=b.get(fe[y]);R!==void 0&&(T[xe]=y,h[xe]=R,xe++)}let mt=Ki(h,xe);f.length<L?f=new Uint8Array(L):f.fill(0,0,L);for(let y=0;y<mt.length;y++)f[T[mt[y]]]=1;let ve=o;for(let y=L-1;y>=0;y--){let R=p[y];f[y]||R.nextSibling!==ve&&ye.insertBefore(R,ve),ve=R}let Te=a===i?s:i;Te.length<L&&(Te.length=L);for(let y=0;y<L;y++)Te[y]=fe[y];a=Te,l=L;let li=c;c=d,d=li,x=!0},ci=C(ft);return v(r,ci),x||queueMicrotask(()=>{!x&&r.parentNode&&ft()}),r}function io(e){let n=document.createDocumentFragment();for(let t of e)if(!(t==null||typeof t=="boolean"))if(Array.isArray(t))for(let r of t)r==null||typeof r=="boolean"||n.appendChild(oo(r));else n.appendChild(oo(t));return n}function oo(e){if(e==null)return document.createTextNode("");if(e instanceof Node)return e;if(typeof e=="function"){let n=e();return n instanceof Node?n:document.createTextNode(String(n??""))}return document.createTextNode(String(e))}function so(e,n){let t=document.createComment("portal"),r=n||document.body,o=null,i=!1;return queueMicrotask(()=>{if(!i)try{o=e(),r.appendChild(o)}catch(s){typeof console<"u"&&console.error("[Portal] Render error:",s);let a=s instanceof Error?s:new Error(String(s));queueMicrotask(()=>{try{let l=t.parentNode;l?.dispatchEvent&&l.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:a}}))}catch{}})}}),v(t,()=>{i=!0,o&&(M(o),o.remove(),o=null)}),t}var Je=new Map;function ao(e,n){Je.set(e,n)}function co(e){Je.delete(e)}function Ge(e){let n=Je.get(e);return n?n():S({nodes:`[Component "${e}" not found]`})}function lo(e){let n=S({class:"sibu-dynamic"});function t(){let o=e(),i;typeof o=="function"?i=o():i=Ge(o);for(let s of Array.from(n.childNodes))M(s);n.replaceChildren(i)}let r=C(t);return v(n,r),n}function uo(e,n="default"){return e?.[n]}function fo(e,n){return C(()=>{n.style.display=e()?"":"none"}),n}function po(e,n,t){let r=document.createComment("when"),o=null,i,s=!1,a=()=>{let l=e(),c=r.parentNode;if(!c||s&&l===i)return;i=l,o?.parentNode&&(M(o),o.parentNode.removeChild(o),o=null);let d=l?n():t?t():null;if(d!=null){let p=d instanceof Node?d:document.createTextNode(String(d));c.insertBefore(p,r.nextSibling),o=p}s=!0};return C(a),s||queueMicrotask(()=>{!s&&r.parentNode&&a()}),r}function mo(e,n,t){let r=document.createComment("match"),o=null,i,s=!1,a=()=>{let l=String(e()),c=r.parentNode;if(!c||s&&l===i)return;i=l,o?.parentNode&&(M(o),o.parentNode.removeChild(o),o=null);let d=n[l]||t;if(d){let p=d();if(p!=null){let g=p instanceof Node?p:document.createTextNode(String(p));c.insertBefore(g,r.nextSibling),o=g}}s=!0};return C(a),s||queueMicrotask(()=>{!s&&r.parentNode&&a()}),r}function bo(e,n,t){let r=document.createComment("keep-alive"),o=new Map,i=[],s=t?.max??10;s===0&&k()&&E("KeepAlive: unbounded cache (max: 0). Cached subtrees will never be evicted \u2014 set `max` to bound memory.");let a,l=null,c=!1,d=!1,p=()=>{if(d)return;let f=e(),b=r.parentNode;if(!b||c&&f===a)return;l?.parentNode&&b.removeChild(l),a=f;let T=o.get(f);if(T){let h=i.indexOf(f);h!==-1&&(i.splice(h,1),i.push(f))}else{let h=n[f];if(!h){l=null,c=!0;return}if(T=h(),o.set(f,T),i.push(f),s>0&&i.length>s){let m=i.shift(),x=o.get(m);x&&(M(x),x.parentNode&&x.parentNode.removeChild(x),o.delete(m))}}b.insertBefore(T,r.nextSibling),l=T,c=!0},g=C(p);return c||queueMicrotask(()=>{!c&&r.parentNode&&p()}),v(r,()=>{d=!0,g();for(let f of o.values())M(f),f.parentNode&&f.parentNode.removeChild(f);o.clear(),i.length=0,l=null}),r}function go(e,n,t){let r=n(e,t);typeof r=="function"&&v(e,r)}var ho=(e,n)=>{let t=r=>{e.contains(r.target)||n()};return document.addEventListener("pointerdown",t,!0),()=>document.removeEventListener("pointerdown",t,!0)},yo=(e,n)=>{let t=n.duration??500,r=null,o=()=>{r=setTimeout(()=>{n.callback(),r=null},t)},i=()=>{r!==null&&(clearTimeout(r),r=null)};return e.addEventListener("pointerdown",o),e.addEventListener("pointerup",i),e.addEventListener("pointerleave",i),()=>{i(),e.removeEventListener("pointerdown",o),e.removeEventListener("pointerup",i),e.removeEventListener("pointerleave",i)}},xo=(e,n)=>{let t=()=>{let r=typeof n=="function"?n():e.textContent??"";navigator.clipboard.writeText(r)};return e.addEventListener("click",t),()=>e.removeEventListener("click",t)},vo=e=>{let n=()=>{e.style.overflow="hidden",e.style.height="auto",e.style.height=`${e.scrollHeight}px`};return n(),e.addEventListener("input",n),()=>e.removeEventListener("input",n)},To=e=>{let n='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])',t=r=>{if(r.key!=="Tab")return;let o=Array.from(e.querySelectorAll(n));if(o.length===0)return;let i=o[0],s=o[o.length-1];r.shiftKey&&document.activeElement===i?(r.preventDefault(),s.focus()):!r.shiftKey&&document.activeElement===s&&(r.preventDefault(),i.focus())};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)};var Z=null;function So(e,n){try{let t=e();return t&&typeof t.then=="function"&&t.catch(r=>{n?n(r,"async"):Z?Z(r,"async"):console.error("Unhandled async error in Sibu.catchError:",r)}),t}catch(t){return n?n(t,"sync"):Z?Z(t,"sync"):console.error("Unhandled error in Sibu.catchError:",t),null}}async function Eo(e,n){try{return await e()}catch(t){return n?n(t,"async"):Z?Z(t,"async"):console.error("Unhandled async error in Sibu.catchErrorAsync:",t),null}}function wo(e){Z=e}var Ze=0;function ko(e="sibu"){return Ze++,`${e}-${Ze}`}function Co(){Ze=0}var be=0,Xe=new Set;function O(e){be++;try{return e()}finally{be--,be===0&&Ui()}}function J(e){return be===0?!1:(Xe.add(e),!0)}function _o(){return be>0}function Ui(){try{for(let e of Xe)Ct(e)}finally{Xe.clear()}kt()}var Qe=globalThis,He=k();function _(e,n){let t={value:e,__v:0,__sc:0,subsHead:null,subsTail:null,__activeNode:null,__name:void 0},r=He?n?.name:void 0,o=n?.equals;r&&(t.__name=r);function i(){return ee(t),t.value}i.__signal=t,r&&(i.__name=r);let s;if(o?s=a=>{let l=t.value,c=typeof a=="function"?a(l):a;if(!o(l,c)){if(t.value=c,t.__v++,He){let d=Qe.__SIBU_DEVTOOLS_GLOBAL_HOOK__;d&&d.emit("signal:update",{signal:t,name:r,oldValue:l,newValue:c})}J(t)||te(t)}}:He?s=a=>{let l=t.value,c=typeof a=="function"?a(l):a;if(Object.is(c,l))return;t.value=c,t.__v++;let d=Qe.__SIBU_DEVTOOLS_GLOBAL_HOOK__;d&&d.emit("signal:update",{signal:t,name:r,oldValue:l,newValue:c}),J(t)||te(t)}:s=a=>{let l=t.value,c=typeof a=="function"?a(l):a;Object.is(c,l)||(t.value=c,t.__v++,J(t)||te(t))},He){let a=Qe.__SIBU_DEVTOOLS_GLOBAL_HOOK__;a&&a.emit("signal:create",{signal:t,name:r,getter:i,initial:e})}return[i,s]}var se=null;try{if(typeof process<"u"&&process.versions&&process.versions.node){let e=Function("return typeof require==='function'?require:null")();if(e){let n=e("node:async_hooks");se=new n.AsyncLocalStorage}}}catch{se=null}var X={ssr:!1,suspenseIdCounter:0};function ae(){if(se){let e=se.getStore();if(e)return e}return X}function ce(){return ae().ssr}function Ao(){ae().ssr=!0}function No(){ae().ssr=!1}function Lo(e){let n={ssr:!0,suspenseIdCounter:0};if(se)return se.run(n,e);let t=X.ssr,r=X.suspenseIdCounter;X.ssr=!0,X.suspenseIdCounter=0;try{return e()}finally{X.ssr=t,X.suspenseIdCounter=r}}function Mo(e){let n=ae(),t=n.ssr;n.ssr=!0;try{return e()}finally{t||(n.ssr=!1)}}var Ye=globalThis;function $o(e,n){let t,r=!0;return()=>{let o=e();if(r)r=!1,t=o,K(()=>n(o,void 0));else{let i=t;t=o,K(()=>n(o,i))}}}var Ro=100;function et(e){let n=e.userCleanups;if(n.length!==0){e.userCleanups=[];for(let t=n.length-1;t>=0;t--)try{n[t]()}catch(r){typeof console<"u"&&console.warn("[SibuJS effect] onCleanup threw:",r)}}}function Ho(e){let n=1;do e.rerunPending=!1,e.userCleanups.length>0&&et(e),F(e.bodyFn,e.subscriber);while(e.rerunPending&&++n<=Ro);e.rerunPending&&(e.rerunPending=!1,Ye.__SIBU_DEV_WARN__!==!1&&typeof console<"u"&&console.error(`[SibuJS] effect re-requested itself ${Ro}+ times \u2014 likely a write-reads-self cycle. Breaking to prevent infinite loop.`))}function Ji(e){if(e.disposed)return;e.disposed=!0;let n=Ye.__SIBU_DEVTOOLS_GLOBAL_HOOK__;if(n)try{n.emit("effect:destroy",{effectFn:e.fn})}catch{}try{e.userCleanups.length>0&&et(e)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] onCleanup threw during dispose:",t)}try{Ee(e.subscriber)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] dispose threw:",t)}}function $(e,n){if(H(typeof e=="function","effect: argument must be a function."),ce())return()=>{};let t={fn:e,onError:n?.onError,userCleanups:[],running:!1,rerunPending:!1,disposed:!1,onCleanup:null,subscriber:null,bodyFn:null};t.onCleanup=s=>{t.userCleanups.push(s)};let r=t.onError;t.bodyFn=r?()=>{try{t.fn(t.onCleanup)}catch(s){r(s)}}:()=>{t.fn(t.onCleanup)};let o=(()=>{if(t.running){t.rerunPending=!0;return}t.running=!0;try{t.rerunPending=!1,t.userCleanups.length>0&&et(t),F(t.bodyFn,o),t.rerunPending&&Ho(t)}finally{t.running=!1,t.rerunPending=!1}});o.depsHead=null,o.depsTail=null,o._epoch=0,o._structDirty=!1,o._runEpoch=0,o._runs=0,t.subscriber=o,t.running=!0;try{F(t.bodyFn,t.subscriber),t.rerunPending&&Ho(t)}finally{t.running=!1,t.rerunPending=!1}let i=Ye.__SIBU_DEVTOOLS_GLOBAL_HOOK__;return i&&i.emit("effect:create",{effectFn:e}),()=>Ji(t)}function $e(e,n){H(typeof e=="function","derived: argument must be a getter function.");let t=n?.name,r=n?.equals,o={};o._d=!1,o._g=e,o.__v=0;let i=()=>{o._d||(o._d=!0)};i._c=1,i._sig=o,C(()=>{let c=!0;try{o._v=e(),o._d=!1,c=!1}finally{c&&(o._d=!0)}},i);let s=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__,a=!1;function l(){if(a)throw new Error(`[SibuJS] Circular dependency detected in derived${t?` "${t}"`:""}. A derived signal cannot read itself (directly or through a chain).`);if(Ce){if(o._d){a=!0;let c=!0;try{let d=o._v;F(()=>{let p=e();o._v=r&&o._v!==void 0&&r(o._v,p)?o._v:p,o._d=!1,c=!1},i),Object.is(d,o._v)||o.__v++}finally{a=!1,c&&(o._d=!0)}}return o._v}if(ee(o),o._d){let c=o._v;a=!0;let d=!0;try{F(()=>{let p=e();o._v=r&&o._v!==void 0&&r(o._v,p)?o._v:p,o._d=!1,d=!1},i),Object.is(c,o._v)||o.__v++}finally{a=!1,d&&(o._d=!0)}s&&c!==o._v&&s.emit("computed:update",{signal:o,oldValue:c,newValue:o._v})}return o._v}return t&&(l.__name=t,o.__name=t),l.__signal=o,s&&s.emit("computed:create",{signal:o,name:t,getter:l}),l}function Oo(e,n){if(H(typeof e=="function","watch: first argument must be a getter function."),H(typeof n=="function","watch: second argument must be a callback function."),ce())return()=>{};let t,r=!0;return C(()=>{let s=e();if(r){t=s,r=!1;return}Object.is(s,t)||(n(s,t),t=s)})}function Po(e){H(e!==null&&typeof e=="object"&&!Array.isArray(e),"store: argument must be a plain object. For arrays, use array() instead.");let n={};Object.keys(e).forEach(l=>{let[c,d]=_(e[l]);n[l]=[c,d]});let t=new Proxy({},{get(l,c){if(c in n){let d=n[c][0];return d()}},set(){throw new Error("[SibuJS store] Direct mutation is not allowed. Use actions.setState() to update store properties.")}}),r=()=>{let l={};return Object.keys(n).forEach(c=>{l[c]=n[c][0]()}),l};return[t,{setState:l=>{let c=r(),d=typeof l=="function"?l(c):l;O(()=>{Object.entries(d).forEach(([p,g])=>{p in n&&n[p][1](g)})})},reset:()=>{O(()=>{Object.keys(e).forEach(l=>{let c=n[l][1];c(e[l])})})},subscribe:l=>{let c=!0;return $(()=>{let d=r();if(c){c=!1;return}l(d)})},subscribeKey:(l,c)=>{let d,p=!0;return $(()=>{let g=n[l][0]();if(p){d=g,p=!1;return}if(!Object.is(g,d)){let f=d;d=g,c(g,f)}})},getSnapshot:r}]}function Do(e){let[n,t]=_(e);return{get current(){return n()},set current(r){t(r)}}}function Fo(e=[]){let[n,t]=_([...e]);return[n,{push(...o){t(i=>[...i,...o])},pop(){let o;return t(i=>{let s=[...i];return o=s.pop(),s}),o},shift(){let o;return t(i=>{let s=[...i];return o=s.shift(),s}),o},unshift(...o){t(i=>[...o,...i])},splice(o,i=0,...s){let a=[];return t(l=>{let c=[...l];return a=c.splice(o,i,...s),c}),a},remove(o){t(i=>i.filter((s,a)=>a!==o))},removeWhere(o){t(i=>{let s=i.findIndex(o);return s===-1?i:i.filter((a,l)=>l!==s)})},set(o){t([...o])},update(o,i){t(s=>s.map((a,l)=>l===o?i:a))},updateWhere(o,i){t(s=>s.map(a=>o(a)?i(a):a))},sort(o){t(i=>[...i].sort(o))},reverse(){t(o=>[...o].reverse())},filter(o){t(i=>i.filter(o))},map(o){t(i=>i.map(o))},clear(){t([])}}]}function Bo(e=[]){let n=[...e],t=null,r={};function o(){t=null,J(r)||te(r)}function i(){if(ee(r),t===null){let a=n.slice();t=Object.freeze(a)}return t}return[i,{push(...a){a.length!==0&&(n.push(...a),o())},pop(){if(n.length===0)return;let a=n.pop();return o(),a},shift(){if(n.length===0)return;let a=n.shift();return o(),a},unshift(...a){a.length!==0&&(n.unshift(...a),o())},splice(a,l=0,...c){let d=n.splice(a,l,...c);return(d.length>0||c.length>0)&&o(),d},remove(a){a<0||a>=n.length||(n.splice(a,1),o())},removeWhere(a){let l=n.findIndex(a);l!==-1&&(n.splice(l,1),o())},set(a){n=[...a],o()},update(a,l){a<0||a>=n.length||Object.is(n[a],l)||(n[a]=l,o())},updateWhere(a,l){let c=!1;for(let d=0;d<n.length;d++)if(a(n[d])){let p=l(n[d]);Object.is(n[d],p)||(n[d]=p,c=!0)}c&&o()},sort(a){n.length<=1||(n.sort(a),o())},reverse(){n.length<=1||(n.reverse(),o())},filter(a){let l=n.filter(a);l.length!==n.length&&(n=l,o())},map(a){let l=!1;for(let c=0;c<n.length;c++){let d=a(n[c],c);Object.is(n[c],d)||(n[c]=d,l=!0)}l&&o()},clear(){n.length!==0&&(n=[],o())}}]}function le(e,n,t){if(Object.is(e,n))return!0;if(e==null||n==null||typeof e!=typeof n||typeof e!="object")return!1;let r=e,o=n;if(r.constructor!==o.constructor)return!1;if(e instanceof Date)return e.getTime()===n.getTime();if(e instanceof RegExp){let l=n;return e.source===l.source&&e.flags===l.flags}t||(t=new Map);let i=t.get(r);if(i?.has(o))return!0;if(i||(i=new Set,t.set(r,i)),i.add(o),e instanceof Map){let l=n;if(e.size!==l.size)return!1;for(let[c,d]of e)if(!l.has(c)||!le(d,l.get(c),t))return!1;return!0}if(e instanceof Set){let l=n;if(e.size!==l.size)return!1;for(let c of e)if(!l.has(c))return!1;return!0}if(e instanceof ArrayBuffer){let l=new Uint8Array(e),c=new Uint8Array(n);if(l.length!==c.length)return!1;for(let d=0;d<l.length;d++)if(l[d]!==c[d])return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){let l=e,c=n;if(l.length!==c.length)return!1;for(let d=0;d<l.length;d++)if(l[d]!==c[d])return!1;return!0}if(Array.isArray(e))return!Array.isArray(n)||e.length!==n.length?!1:e.every((l,c)=>le(l,n[c],t));let s=Object.keys(r),a=Object.keys(o);return s.length!==a.length?!1:s.every(l=>le(r[l],o[l],t))}function zo(e){return _(e,{equals:(n,t)=>le(n,t)})}function Io(e,n,t){return[$e(e,t),i=>{O(()=>n(i))}]}function jo(e,n){let[t,r]=_(n),[o,i]=_(!1),[s,a]=_(null),[l,c]=_(0),d=0;return $(()=>{l();let p=++d;O(()=>{i(!0),a(null)});let g;try{g=e()}catch(f){O(()=>{a(f),i(!1)});return}g.then(f=>{p===d&&O(()=>{r(f),i(!1)})},f=>{p===d&&O(()=>{a(f),i(!1)})})}),{value:t,loading:o,error:s,refresh:()=>c(p=>p+1)}}function ot(e,n){try{return e()}catch(t){E(`${n}: callback threw: ${t instanceof Error?t.message:String(t)}`);return}}function tt(e,n,t){let r=ot(e,n);typeof r=="function"&&t&&v(t,r)}var ue=new WeakMap,Q=new WeakMap,z=new Set,I=new Set,de=null,Oe=0,Gi=256;function nt(e){let n=ue.get(e);if(n){ue.delete(e),z.delete(e);for(let t of n)try{t()}catch{}}}function rt(e){Q.get(e)&&queueMicrotask(()=>{if(e.isConnected)return;let t=Q.get(e);if(t){Q.delete(e),I.delete(e);for(let r of t)try{r()}catch{}}})}function Zi(e){if(z.size===0||e.nodeType!==1)return;let n=e;if(z.has(n)&&n.isConnected&&nt(n),n.firstElementChild)for(let t of Array.from(z))t!==n&&t.isConnected&&n.contains(t)&&nt(t)}function Xi(e){if(I.size===0||e.nodeType!==1)return;let n=e;if(I.has(n)&&!n.isConnected&&rt(n),n.firstElementChild)for(let t of Array.from(I))t!==n&&!t.isConnected&&n.contains(t)&&rt(t)}function Qi(){if(z.size>0)for(let e of Array.from(z))e.isConnected&&nt(e);if(I.size>0)for(let e of Array.from(I))e.isConnected||rt(e)}function Wo(){de||typeof document>"u"||(de=new MutationObserver(e=>{for(let n of e)if(n.type==="childList"){if(n.addedNodes.length>0)for(let t=0;t<n.addedNodes.length;t++)Zi(n.addedNodes[t]);if(n.removedNodes.length>0)for(let t=0;t<n.removedNodes.length;t++)Xi(n.removedNodes[t])}Oe+=e.length,Oe>=Gi&&(Oe=0,Qi()),it()}),de.observe(document.body,{childList:!0,subtree:!0}))}function it(){de&&z.size===0&&I.size===0&&(de.disconnect(),de=null,Oe=0)}function Yi(e,n){let t=ue.get(e);return t||(t=[],ue.set(e,t)),t.push(n),z.add(e),Wo(),()=>{let r=ue.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(ue.delete(e),z.delete(e))}it()}}function es(e,n){let t=Q.get(e);return t||(t=[],Q.set(e,t)),t.push(n),I.add(e),Wo(),()=>{let r=Q.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(Q.delete(e),I.delete(e))}it()}}function ge(e,n){if(!(typeof document>"u"))if(n){let t=!1;if(v(n,()=>{t=!0}),n.isConnected){queueMicrotask(()=>{t||tt(e,"onMount",n)});return}queueMicrotask(()=>{if(t)return;if(n.isConnected){tt(e,"onMount",n);return}let r=Yi(n,()=>{t||tt(e,"onMount",n)});v(n,r)})}else queueMicrotask(()=>{ot(e,"onMount")})}function qo(e,n){if(typeof document>"u")return;let t=!1,r=()=>{t||(t=!0,ot(e,"onUnmount"))};v(n,r);let o=()=>{if(t)return;let i=es(n,r);v(n,i)};n.isConnected?o():ge(()=>{o()},n)}function Vo(e,n){v(n,e)}function Ko(e){let[n,t]=_(e);return{provide(o){let i=n();return t(o),()=>t(i)},use(){return n},get(){return n()},set(o){t(o)},withContext(o,i){let s=n();t(o);try{return i()}finally{t(s)}}}}function Uo(e){let n=e();return k()&&queueMicrotask(()=>{try{e()}catch(t){console.warn("[SibuJS strict] second run threw:",t)}}),n}function Jo(e){if(!k())return $(e);let n=$(e),t=null;return queueMicrotask(()=>{try{t=$(e)}catch(r){console.warn("[SibuJS strictEffect] second run threw:",r)}}),()=>{n(),t&&t()}}function Go(){return new Promise(e=>{queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>e()):e()})})}function Xo(e){let[n,t]=_(e()),r=!1,o=!1,i=n(),s=()=>{r=!1,!o&&t(i)},a=()=>{r||(r=!0,queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(s):s()}))},l=C(()=>{i=e(),a()}),c=(()=>n());return c.dispose=()=>{o||(o=!0,l())},c}var Zo=16;function ts(e){let n=globalThis;if(typeof n.requestIdleCallback=="function"){n.requestIdleCallback(e,{timeout:Zo*4});return}if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>e());return}setTimeout(e,Zo)}function Qo(){let[e,n]=_(!1);function t(r){n(!0),ts(()=>{let o;try{o=r()}catch{n(!1);return}o&&typeof o.then=="function"?o.then(()=>n(!1),()=>n(!1)):n(!1)})}return{pending:e,start:t}}var st="__sibuPendingError";function Yo(e,n){let t=()=>{try{return e.parentNode?(e.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:n}})),!0):!1}catch{return!1}};e.parentNode&&t()||queueMicrotask(()=>{t()||(e[st]=n)})}function he(e){let n=e,t=n[st];if(t instanceof Error)return delete n[st],t}function at(e){let n=null;return function(){if(n)return n();let r=S({class:"sibu-lazy"}),o=!1;return e().then(i=>{if(o)return;n=i.default;let s=n();r.replaceChildren(s)}).catch(i=>{if(o)return;let s=i instanceof Error?i:new Error(String(i));E(`[SibuJS] lazy() failed to load component: ${s.message}`),r.replaceChildren(S({class:"sibu-lazy-error"},`Failed to load component: ${s.message}`)),Yo(r,s)}),r.appendChild(N("sibu-lazy-loading","Loading...")),v(r,()=>{o=!0}),r}}function ct({nodes:e,fallback:n}){let t=S({class:"sibu-suspense"}),r=n();t.appendChild(r);let o=!1,i=null;return v(t,()=>{o=!0,i&&(i.disconnect(),i=null)}),queueMicrotask(()=>{if(!o)try{let s=e();if(s.classList.contains("sibu-lazy")){if(!s.querySelector(".sibu-lazy-loading")){t.replaceChildren(s);return}i=new MutationObserver(()=>{if(o)return;s.querySelector(".sibu-lazy-loading")||(i?.disconnect(),i=null,t.replaceChildren(s))}),i.observe(s,{childList:!0,subtree:!0})}else t.replaceChildren(s)}catch(s){let a=s instanceof Error?s:new Error(String(s));E(`[SibuJS] Suspense nodes() threw: ${a.message}`),Yo(t,a)}}),t}var xc=k();function lt(e){return e}var vc=1024*1024;var ns=k(),rs=`
|
|
1
|
+
"use strict";var Sibu=(()=>{var Be=Object.defineProperty;var gi=Object.getOwnPropertyDescriptor;var bi=Object.getOwnPropertyNames;var hi=Object.prototype.hasOwnProperty;var wt=(e,n)=>{for(var t in n)Be(e,t,{get:n[t],enumerable:!0})},yi=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of bi(n))!hi.call(e,o)&&o!==t&&Be(e,o,{get:()=>n[o],enumerable:!(r=gi(n,o))||r.enumerable});return e};var xi=e=>yi(Be({},"__esModule",{value:!0}),e);var ys={};wt(ys,{DynamicComponent:()=>fo,ErrorBoundary:()=>ci,ErrorDisplay:()=>Fe,Fragment:()=>ao,KeepAlive:()=>ho,Loading:()=>ui,Portal:()=>co,SVG_NS:()=>k,Suspense:()=>ft,__resetIdCounter:()=>Ao,a:()=>an,abbr:()=>cn,action:()=>yo,address:()=>qt,area:()=>Hn,array:()=>Io,article:()=>Ft,aside:()=>Wt,asyncDerived:()=>Vo,audio:()=>On,autoResize:()=>So,b:()=>ln,base:()=>Ar,batch:()=>$,bdi:()=>un,bdo:()=>dn,bindDynamic:()=>Ke,blockquote:()=>Zt,body:()=>$t,br:()=>fn,button:()=>ue,canvas:()=>Jn,caption:()=>Yn,catchError:()=>Eo,catchErrorAsync:()=>ko,center:()=>Xr,checkLeaks:()=>Mt,circle:()=>Mr,cite:()=>pn,clickOutside:()=>xo,clipPath:()=>jr,code:()=>Oe,col:()=>er,colgroup:()=>tr,context:()=>Go,copyOnClick:()=>To,createId:()=>_o,customElement:()=>eo,data:()=>mn,datalist:()=>lr,dd:()=>Xt,deepEqual:()=>fe,deepSignal:()=>Wo,defer:()=>ei,defs:()=>Ir,del:()=>Xn,derived:()=>Pe,details:()=>Sr,dfn:()=>gn,dialog:()=>wr,disableSSR:()=>Ro,dispose:()=>N,div:()=>w,dl:()=>Qt,dt:()=>Yt,each:()=>io,effect:()=>O,ellipse:()=>Rr,em:()=>bn,embed:()=>Bn,enableSSR:()=>Mo,enqueueBatchedSignal:()=>G,fieldset:()=>ur,figcaption:()=>en,figure:()=>tn,font:()=>Qr,footer:()=>zt,form:()=>dr,g:()=>Hr,getRequestScopedCache:()=>Lo,getSSRStore:()=>ee,getSlot:()=>po,h1:()=>Vt,h2:()=>Kt,h3:()=>Re,h4:()=>Ut,h5:()=>Jt,h6:()=>Gt,head:()=>Ot,header:()=>Bt,hr:()=>nn,html:()=>Ze,i:()=>hn,iframe:()=>zn,img:()=>$n,input:()=>fr,ins:()=>Qn,isBatching:()=>No,isSSR:()=>te,kbd:()=>yn,label:()=>pr,lazy:()=>dt,legend:()=>mr,li:()=>rn,line:()=>Or,linearGradient:()=>Vr,link:()=>Nr,longPress:()=>vo,main:()=>jt,map:()=>Pn,mark:()=>xn,marker:()=>Zr,marquee:()=>Yr,mask:()=>Wr,match:()=>bo,math:()=>Un,menu:()=>Er,meta:()=>Lr,meter:()=>gr,mount:()=>ro,nav:()=>It,nextTick:()=>Qo,noscript:()=>Gn,object:()=>In,ol:()=>on,on:()=>Do,onCleanup:()=>Jo,onMount:()=>xe,onUnmount:()=>Uo,optgroup:()=>br,option:()=>hr,output:()=>yr,p:()=>Me,param:()=>jn,path:()=>$r,pattern:()=>qr,picture:()=>Wn,polygon:()=>Pr,polyline:()=>Dr,portal:()=>qn,pre:()=>He,progress:()=>xr,q:()=>vn,radialGradient:()=>Kr,reactiveArray:()=>jo,rect:()=>Fr,ref:()=>zo,registerComponent:()=>lo,registerDisposer:()=>T,resolveComponent:()=>Ye,retrack:()=>F,rp:()=>Tn,rt:()=>Sn,ruby:()=>wn,runInSSRContext:()=>Ho,s:()=>En,samp:()=>kn,script:()=>Zn,section:()=>Dt,select:()=>vr,setGlobalErrorHandler:()=>Co,setMaxDrainIterations:()=>qe,show:()=>mo,signal:()=>_,slot:()=>Cr,small:()=>Cn,source:()=>Vn,span:()=>L,stop:()=>Ur,store:()=>Bo,strict:()=>Zo,strictEffect:()=>Xo,strong:()=>_n,style:()=>J,sub:()=>An,summary:()=>kr,sup:()=>Nn,svg:()=>Kn,symbol:()=>Gr,table:()=>nr,tagFactory:()=>u,takePendingError:()=>ve,tbody:()=>rr,td:()=>or,template:()=>_r,text:()=>Br,textarea:()=>Tr,tfoot:()=>ir,th:()=>sr,thead:()=>ar,time:()=>Ln,title:()=>Pt,tr:()=>cr,track:()=>Dn,transition:()=>ti,trapFocus:()=>wo,trustHTML:()=>pt,tspan:()=>zr,u:()=>Mn,ul:()=>sn,unregisterComponent:()=>uo,untracked:()=>U,use:()=>Jr,var_:()=>Rn,video:()=>Fn,watch:()=>Fo,when:()=>go,withSSR:()=>Oo,writable:()=>qo});var gt={};wt(gt,{DynamicComponent:()=>fo,ErrorBoundary:()=>ci,ErrorDisplay:()=>Fe,Fragment:()=>ao,KeepAlive:()=>ho,Loading:()=>ui,Portal:()=>co,SVG_NS:()=>k,Suspense:()=>ft,__resetIdCounter:()=>Ao,a:()=>an,abbr:()=>cn,action:()=>yo,address:()=>qt,area:()=>Hn,array:()=>Io,article:()=>Ft,aside:()=>Wt,asyncDerived:()=>Vo,audio:()=>On,autoResize:()=>So,b:()=>ln,base:()=>Ar,batch:()=>$,bdi:()=>un,bdo:()=>dn,bindDynamic:()=>Ke,blockquote:()=>Zt,body:()=>$t,br:()=>fn,button:()=>ue,canvas:()=>Jn,caption:()=>Yn,catchError:()=>Eo,catchErrorAsync:()=>ko,center:()=>Xr,checkLeaks:()=>Mt,circle:()=>Mr,cite:()=>pn,clickOutside:()=>xo,clipPath:()=>jr,code:()=>Oe,col:()=>er,colgroup:()=>tr,context:()=>Go,copyOnClick:()=>To,createId:()=>_o,customElement:()=>eo,data:()=>mn,datalist:()=>lr,dd:()=>Xt,deepEqual:()=>fe,deepSignal:()=>Wo,defer:()=>ei,defs:()=>Ir,del:()=>Xn,derived:()=>Pe,details:()=>Sr,dfn:()=>gn,dialog:()=>wr,disableSSR:()=>Ro,dispose:()=>N,div:()=>w,dl:()=>Qt,dt:()=>Yt,each:()=>io,effect:()=>O,ellipse:()=>Rr,em:()=>bn,embed:()=>Bn,enableSSR:()=>Mo,enqueueBatchedSignal:()=>G,fieldset:()=>ur,figcaption:()=>en,figure:()=>tn,font:()=>Qr,footer:()=>zt,form:()=>dr,g:()=>Hr,getRequestScopedCache:()=>Lo,getSSRStore:()=>ee,getSlot:()=>po,h1:()=>Vt,h2:()=>Kt,h3:()=>Re,h4:()=>Ut,h5:()=>Jt,h6:()=>Gt,head:()=>Ot,header:()=>Bt,hr:()=>nn,html:()=>Ze,i:()=>hn,iframe:()=>zn,img:()=>$n,input:()=>fr,ins:()=>Qn,isBatching:()=>No,isSSR:()=>te,kbd:()=>yn,label:()=>pr,lazy:()=>dt,legend:()=>mr,li:()=>rn,line:()=>Or,linearGradient:()=>Vr,link:()=>Nr,longPress:()=>vo,main:()=>jt,map:()=>Pn,mark:()=>xn,marker:()=>Zr,marquee:()=>Yr,mask:()=>Wr,match:()=>bo,math:()=>Un,menu:()=>Er,meta:()=>Lr,meter:()=>gr,mount:()=>ro,nav:()=>It,nextTick:()=>Qo,noscript:()=>Gn,object:()=>In,ol:()=>on,on:()=>Do,onCleanup:()=>Jo,onMount:()=>xe,onUnmount:()=>Uo,optgroup:()=>br,option:()=>hr,output:()=>yr,p:()=>Me,param:()=>jn,path:()=>$r,pattern:()=>qr,picture:()=>Wn,polygon:()=>Pr,polyline:()=>Dr,portal:()=>qn,pre:()=>He,progress:()=>xr,q:()=>vn,radialGradient:()=>Kr,reactiveArray:()=>jo,rect:()=>Fr,ref:()=>zo,registerComponent:()=>lo,registerDisposer:()=>T,resolveComponent:()=>Ye,retrack:()=>F,rp:()=>Tn,rt:()=>Sn,ruby:()=>wn,runInSSRContext:()=>Ho,s:()=>En,samp:()=>kn,script:()=>Zn,section:()=>Dt,select:()=>vr,setGlobalErrorHandler:()=>Co,setMaxDrainIterations:()=>qe,show:()=>mo,signal:()=>_,slot:()=>Cr,small:()=>Cn,source:()=>Vn,span:()=>L,stop:()=>Ur,store:()=>Bo,strict:()=>Zo,strictEffect:()=>Xo,strong:()=>_n,style:()=>J,sub:()=>An,summary:()=>kr,sup:()=>Nn,svg:()=>Kn,symbol:()=>Gr,table:()=>nr,tagFactory:()=>u,takePendingError:()=>ve,tbody:()=>rr,td:()=>or,template:()=>_r,text:()=>Br,textarea:()=>Tr,tfoot:()=>ir,th:()=>sr,thead:()=>ar,time:()=>Ln,title:()=>Pt,tr:()=>cr,track:()=>Dn,transition:()=>ti,trapFocus:()=>wo,trustHTML:()=>pt,tspan:()=>zr,u:()=>Mn,ul:()=>sn,unregisterComponent:()=>uo,untracked:()=>U,use:()=>Jr,var_:()=>Rn,video:()=>Fn,watch:()=>Fo,when:()=>go,withSSR:()=>Oo,writable:()=>qo});function C(){return typeof globalThis.__SIBU_DEV__<"u"?!!globalThis.__SIBU_DEV__:typeof __SIBU_DEV__<"u"?__SIBU_DEV__:typeof process<"u"&&process.env?.NODE_ENV!=="production"}var Et=C();function H(e,n){if(Et&&!e)throw new Error(`[SibuJS] ${n}`)}function E(e){Et&&console.warn(`[SibuJS] ${e}`)}function vi(e){return e.replace(/[\x00-\x20\x7f-\x9f]+/g,"")}function Z(e){if(e.length<3)return!1;let n=e.toLowerCase();return n[0]==="o"&&n[1]==="n"&&n.charCodeAt(2)>=97&&n.charCodeAt(2)<=122}var Ti=["http:","https:","mailto:","tel:","ftp:"];function z(e){let n=vi(e).trim();if(!n)return"";let t=n.toLowerCase(),r=-1;for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);if(s===58){r=i;break}if(s===47||s===63||s===35)break}if(r===-1)return n;let o=t.slice(0,r+1);return/^[a-z][a-z0-9+.-]*:$/.test(o)&&Ti.indexOf(o)===-1?"":n}function be(e){let n=e.split(","),t=[];for(let r=0;r<n.length;r++){let o=n[r].trim();if(!o)continue;let i=o.match(/^(\S+)(\s+.+)?$/);if(!i)continue;let s=z(i[1]);s&&t.push(i[2]?`${s}${i[2]}`:s)}return t.join(", ")}function ze(e){let t=e.replace(/\\([0-9a-fA-F]{1,6})\s?/g,(r,o)=>{let i=Number.parseInt(o,16);if(!Number.isFinite(i)||i<0||i>1114111)return"";try{return String.fromCodePoint(i)}catch{return""}}).toLowerCase().replace(/\s+/g,"");return t.includes("url(")||t.includes("expression(")||t.includes("javascript:")||t.includes("vbscript:")||t.includes("-moz-binding")||t.includes("behavior:")||t.includes("@import")||t.includes("image-set(")||t.includes("filter:progid")?"":e}var Si=new Set(["href","xlink:href","src","action","formaction","formtarget","cite","poster","background","srcset","ping","data"]);function q(e){return Si.has(e.toLowerCase())}var wi=C(),Ei=4096,Ie=[];function ki(){return{sig:null,sub:null,epoch:0,sigPrev:null,sigNext:null,subPrev:null,subNext:null,prevActive:null}}function Ci(e,n,t){let r=Ie.pop();if(r)return r.sig=e,r.sub=n,r.epoch=t,r;let o=ki();return o.sig=e,o.sub=n,o.epoch=t,o}function kt(e){e.sig=null,e.sub=null,e.sigPrev=null,e.sigNext=null,e.subPrev=null,e.subNext=null,e.prevActive=null,Ie.length<Ei&&Ie.push(e)}function _i(e,n){let t=e.subsHead??null;n.sigPrev=null,n.sigNext=t,t?t.sigPrev=n:e.subsTail=n,e.subsHead=n,e.__sc=(e.__sc??0)+1}function Ct(e){let n=e.sig;if(!n)return;let t=e.sigPrev,r=e.sigNext;t?t.sigNext=r:n.subsHead=r,r?r.sigPrev=t:n.subsTail=t,n.__sc=(n.__sc??1)-1,n.__activeNode===e&&(n.__activeNode=e.prevActive),n.__sc===0&&(n.subsHead=null,n.subsTail=null)}function Ai(e,n){let t=e.depsTail??null;n.subPrev=t,n.subNext=null,t?t.subNext=n:e.depsHead=n,e.depsTail=n}function Ni(e){let n=e.sub;if(!n)return;let t=e.subPrev,r=e.subNext;t?t.subNext=r:n.depsHead=r,r?r.subPrev=t:n.depsTail=t}var D=null,je=null,V=0,K=[],P=new Set,Li=[];function Mi(e){try{e()}catch(n){wi&&E(`Subscriber threw during notification: ${n instanceof Error?n.message:String(n)}`)}}var ke=0,Ae=!1;function Ri(){ke===0&&(je=D,D=null,Ae=!0),ke++}function Hi(){ke--,ke===0&&(D=je,je=null,Ae=!1)}function U(e){Ri();try{return e()}finally{Hi()}}var Oi=0;function F(e,n){let t=D;D=n;let r=n,o=++Oi;r._epoch=o,r._structDirty=!1;for(let i=r.depsHead??null;i!==null;i=i.subNext){let s=i.sig;i.prevActive=s.__activeNode??null,s.__activeNode=i}try{e()}finally{D=t;let i=r.depsHead??null;for(;i!==null;){let s=i.subNext,a=i.sig;a.__activeNode=i.prevActive,i.prevActive=null,i.epoch!==o&&(Ni(i),Ct(i),kt(i)),i=s}}}function A(e,n){if(!n)return oe(e);he(n);let t=D;D=n;try{e()}finally{D=t;let o=n;for(let i=o.depsHead??null;i!==null;i=i.subNext){let s=i.sig;s.__activeNode=i.prevActive,i.prevActive=null}}let r=n;return r._dispose??(r._dispose=()=>he(n))}function oe(e){let n=()=>{let r=t;if(!(r._disposed||r._reentrant)){r._reentrant=!0;try{F(e,t)}finally{r._reentrant=!1}}},t=n;return t.depsHead=null,t.depsTail=null,t._epoch=0,t._structDirty=!1,t._runEpoch=0,t._runs=0,t._reentrant=!1,t._disposed=!1,n(),t._dispose??(t._dispose=()=>{t._disposed=!0,he(t)})}function ie(e){if(!D)return;let n=D,t=e,r=n._epoch??0,o=t.__activeNode??null;if(o!==null&&o.sub===n){o.epoch=r;return}let i=Ci(e,n,r);i.prevActive=o,t.__activeNode=i,Ai(n,i),_i(t,i),n._structDirty=!0}function he(e){let n=e,t=n.depsHead??null;for(n.depsHead=null,n.depsTail=null;t;){let r=t.subNext;Ct(t),kt(t),t=r}}var _t=50,Ce=1e6,_e=0;function qe(e){let n=Ce;return Number.isFinite(e)&&e>0&&(Ce=Math.floor(e)),n}function $i(e){let n=e;return n._runEpoch!==_e?(n._runEpoch=_e,n._runs=1,!1):(n._runs=(n._runs??0)+1,n._runs>_t)}function Pi(e){if(typeof console<"u"){let n=e.__name??"<unnamed>";console.error(`[SibuJS] subscriber "${n}" fired more than ${_t} times \u2014 likely a write-reads-self cycle between effects/signals. Breaking to prevent infinite loop.`)}}function Di(){typeof console<"u"&&console.error(`[SibuJS] Notification drain exceeded ${Ce} iterations \u2014 absolute safety net tripped. Breaking to prevent infinite loop.`)}function At(){let e=0;for(;e<K.length;){if(e>=Ce){Di();break}let n=K[e++];if($i(n)){Pi(n);break}P.delete(n),Mi(n)}}function Nt(){if(!(V>0)){V++,_e++;try{At()}finally{V--,V===0&&(K.length=0,P.clear())}}}function We(e){e();let n=e._sig;if(!n)return;let t=Li,r=t.length;for(t.push(n);t.length>r;){let i=t.pop().subsHead??null;for(;i;){let s=i.sub;if(s)if(s._c){let a=s._sig;a?a._d||(a._d=!0,t.push(a)):s()}else P.has(s)||(P.add(s),K.push(s));i=i.sigNext}}}function Lt(e){let t=e.subsHead??null;for(;t;){let r=t.sub;r&&(r._c?We(r):P.has(r)||(P.add(r),K.push(r))),t=t.sigNext}}function se(e){let t=e.subsHead;if(t){if(V>0){let r=t;for(;r;){let o=r.sub;o&&(o._c?We(o):P.has(o)||(P.add(o),K.push(o))),r=r.sigNext}return}V++,_e++;try{let r=t;for(;r;){let o=r.sub;o&&(o._c?We(o):P.has(o)||(P.add(o),K.push(o))),r=r.sigNext}At()}finally{V--,V===0&&(K.length=0,P.clear())}}}var Ne=C();function Ve(e,n,t){e[n]=t}function Le(e,n,t){if(Z(n))return Ne&&E(`bindAttribute: refusing to bind event-handler attribute "${n}". Use on:{ ${n.slice(2)}: fn } instead.`),()=>{};function r(){let o;try{o=t()}catch(s){Ne&&E(`bindAttribute: getter for "${n}" threw: ${s instanceof Error?s.message:String(s)}`);return}if(typeof o=="boolean"){n in e&&(n==="checked"||n==="disabled"||n==="selected")?Ve(e,n,o):o?e.setAttribute(n,""):e.removeAttribute(n);return}let i=String(o);(n==="value"||n==="checked")&&n in e?Ve(e,n,n==="checked"?!!o:i):e.setAttribute(n,q(n)?z(i):i)}return oe(r)}function Ke(e,n,t){let r=null;function o(){let s;try{s=typeof n=="function"?n():n}catch(l){Ne&&E(`bindDynamic: name getter threw: ${l instanceof Error?l.message:String(l)}`);return}let a;try{a=typeof t=="function"?t():t}catch(l){Ne&&E(`bindDynamic: value getter threw: ${l instanceof Error?l.message:String(l)}`);return}if(Z(s))return;r!==null&&r!==s&&e.removeAttribute(r);let c=String(a);(s==="value"||s==="checked")&&s in e?Ve(e,s,s==="checked"?!!a:c):e.setAttribute(s,q(s)?z(c):c),r=s}let i=oe(o);return()=>{i(),r!==null&&e.removeAttribute(r)}}var ae=new WeakMap,ce=C(),le=0;function T(e,n){let t=ae.get(e);t||(t=[],ae.set(e,t)),t.push(n),ce&&le++}function N(e){let n=[e],t=[];for(;n.length>0;){let r=n.pop();t.push(r);let o=Array.from(r.childNodes);for(let i=0;i<o.length;i++)n.push(o[i])}for(let r=t.length-1;r>=0;r--){let o=t[r],i=ae.get(o);if(i){let s=i.slice();ae.delete(o),ce&&(le-=s.length);for(let c of s)try{c()}catch(l){ce&&typeof console<"u"&&console.warn("[SibuJS] Disposer threw during cleanup:",l)}let a=0;for(;a++<8;){let c=ae.get(o);if(!c||c.length===0)break;let l=c.slice();ae.delete(o),ce&&(le-=l.length);for(let d of l)try{d()}catch(m){ce&&typeof console<"u"&&console.warn("[SibuJS] Disposer threw during cleanup:",m)}}}}}function Mt(e=0){return ce?(e>0&&le>e&&E(`checkLeaks: ${le} active DOM bindings detected. Expected \u2264${e}. This may indicate a component was removed from the DOM without calling dispose().`),le):0}var Rt=C();function X(e,n){let t=[];function r(){let o;try{o=n()}catch(l){Rt&&E(`bindChildNode: getter threw: ${l instanceof Error?l.message:String(l)}`);return}if(o==null||typeof o=="boolean"){for(let l=0;l<t.length;l++){let d=t[l];N(d),d.parentNode&&d.parentNode.removeChild(d)}t.length=0;return}let i=e.parentNode;if(!i){t.length=0;return}let s;if(Array.isArray(o)){s=[];let l=new Set;for(let d=0;d<o.length;d++){let m=o[d];if(m==null||typeof m=="boolean")continue;let h=m instanceof Node?m:document.createTextNode(String(m));if(l.has(h)){Rt&&E("bindChildNode: duplicate node reference in array \u2014 only the first occurrence is rendered.");continue}l.add(h),s.push(h)}}else s=[o instanceof Node?o:document.createTextNode(String(o))];let a;if(t.length>0&&s.length>0){let l=new Set(t);a=new Set;for(let d=0;d<s.length;d++)l.has(s[d])&&a.add(s[d])}for(let l=0;l<t.length;l++){let d=t[l];a?.has(d)||(N(d),d.parentNode&&d.parentNode.removeChild(d))}let c=e;for(let l=0;l<s.length;l++){let d=s[l];c.nextSibling!==d&&i.insertBefore(d,c.nextSibling),c=d}t=s}return oe(r)}var k="http://www.w3.org/2000/svg",Ue=C(),Fi=new Set(["script","iframe","object","embed","frame","frameset"]);function Bi(e){let n=e.toLowerCase();if(Fi.has(n))throw new Error(`tagFactory: refusing to create <${e}> \u2014 tag is blocked for security reasons.`)}var zi=new Set(["config","location","history","document","window","navigator","name","top","parent","self","frames"]);function Ii(e,n,t){e[n]=t}function ji(e){let n=e.trim();if(!n)return!1;let t=n.split(/\s+/),r=!1;for(let o=0;o<t.length;o++){let i=t[o];if(!/^-?[A-Za-z_][A-Za-z0-9_:/.-]*$/.test(i))return!1;/[-:/0-9]/.test(i)&&(r=!0)}return r}var Ht=new Map;function Wi(e){let n=Ht.get(e);return n!==void 0||(n=e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),Ht.set(e,n)),n}function qi(e,n){if(typeof n=="function"){let r=A(()=>{e.setAttribute("style",n())});T(e,r);return}if(typeof n=="string"){e.setAttribute("style",n);return}let t=e;for(let r in n){let o=n[r],i=Wi(r);if(typeof o=="function"){let s=o,a=A(()=>{t.style.setProperty(i,ze(String(s())))});T(e,a)}else t.style.setProperty(i,ze(String(o)))}}function Vi(e,n){if(typeof n=="string"){e.setAttribute("class",n);return}if(typeof n=="function"){let i=A(()=>{e.setAttribute("class",n())});T(e,i);return}let t=n,r=!1,o="";for(let i in t){let s=t[i];if(typeof s=="function"){r=!0;break}s&&(o=o?`${o} ${i}`:i)}if(r){let s=A(()=>{let a="";for(let c in t){let l=t[c];(typeof l=="function"?l():l)&&(a=a?`${a} ${c}`:c)}e.setAttribute("class",a)});T(e,s)}else e.setAttribute("class",o)}function Je(e,n){if(typeof n=="string"){e.textContent=n;return}if(typeof n=="number"){e.textContent=String(n);return}if(!(typeof n=="boolean"||n==null)){if(typeof n=="function"){let t=document.createComment("");e.appendChild(t),T(e,X(t,n));return}if(n instanceof Node){e.appendChild(n);return}if(Array.isArray(n))for(let t=0;t<n.length;t++){let r=n[t];if(typeof r=="function"){let o=document.createComment("");e.appendChild(o),T(e,X(o,r))}else if(r instanceof Node)e.appendChild(r);else if(Array.isArray(r))for(let o=0;o<r.length;o++){let i=r[o];if(typeof i=="function"){let s=document.createComment("");e.appendChild(s),T(e,X(s,i))}else i instanceof Node?e.appendChild(i):i!=null&&typeof i!="boolean"&&e.appendChild(document.createTextNode(String(i)))}else r!=null&&typeof r!="boolean"&&e.appendChild(document.createTextNode(String(r)))}}}var u=(e,n)=>(t,r)=>{Bi(e);let o=n?document.createElementNS(n,e):document.createElement(e);if(t===void 0)return o;if(typeof t=="string")return r!==void 0?(o.setAttribute("class",t),Je(o,r),o):(Ue&&ji(t)&&E(`tagFactory: lone string "${t}" looks like a class list but is being rendered as TEXT. For a class, use ${e}({ class: "${t}" }) \u2014 or ${e}("${t}", children) to set the class AND add children.`),o.textContent=t,o);if(typeof t=="number")return o.textContent=String(t),o;if(Array.isArray(t)||t instanceof Node||typeof t=="function")return Je(o,t),o;let i=t,s=i.class;s!=null&&Vi(o,s);let a=i.id;a!=null&&(Ue&&typeof a=="string"&&zi.has(a.toLowerCase())&&E(`tagFactory: element id="${a}" matches a common global and may cause DOM clobbering. Avoid setting ids from untrusted input.`),o.id=a);let c=r!==void 0?r:i.nodes;c!=null&&Je(o,c);let l=i.on;if(l)for(let h in l){let f=l[h];typeof f=="function"?o.addEventListener(h,f):Ue&&E(`tagFactory: on.${h} handler is not a function (got ${typeof f}). Event listener was not attached.`)}let d=i.style;d!=null&&qi(o,d);let m=i.ref;m&&(m.current=o);for(let h in i)switch(h){case"class":case"id":case"nodes":case"on":case"style":case"ref":case"onElement":continue;default:{let f=i[h];if(f==null)continue;let b=h.toLowerCase();if(Z(h))continue;if(typeof f=="function")T(o,Le(o,h,f));else if(typeof f=="boolean")h in o&&(h==="checked"||h==="disabled"||h==="selected")?Ii(o,h,f):f?o.setAttribute(h,""):o.removeAttribute(h);else{let y=String(f);b==="srcset"?o.setAttribute(h,be(y)):q(b)?o.setAttribute(h,z(y)):o.setAttribute(h,y)}}}return i.onElement&&typeof i.onElement=="function"&&i.onElement(o),o};var js=u("html"),Ot=u("head"),$t=u("body"),Pt=u("title"),w=u("div"),L=u("span"),Dt=u("section"),Ft=u("article"),Bt=u("header"),zt=u("footer"),It=u("nav"),jt=u("main"),Wt=u("aside"),qt=u("address"),Me=u("p"),Vt=u("h1"),Kt=u("h2"),Re=u("h3"),Ut=u("h4"),Jt=u("h5"),Gt=u("h6"),Zt=u("blockquote"),Xt=u("dd"),Qt=u("dl"),Yt=u("dt"),en=u("figcaption"),tn=u("figure"),nn=u("hr"),rn=u("li"),on=u("ol"),sn=u("ul"),He=u("pre"),an=u("a"),cn=u("abbr"),ln=u("b"),un=u("bdi"),dn=u("bdo"),fn=u("br"),pn=u("cite"),Oe=u("code"),mn=u("data"),gn=u("dfn"),bn=u("em"),hn=u("i"),yn=u("kbd"),xn=u("mark"),vn=u("q"),Tn=u("rp"),Sn=u("rt"),wn=u("ruby"),En=u("s"),kn=u("samp"),Cn=u("small"),_n=u("strong"),An=u("sub"),Nn=u("sup"),Ln=u("time"),Mn=u("u"),Rn=u("var"),Hn=u("area"),On=u("audio"),$n=u("img"),Pn=u("map"),Dn=u("track"),Fn=u("video"),Bn=u("embed"),zn=u("iframe"),In=u("object"),jn=u("param"),Wn=u("picture"),qn=u("portal"),Vn=u("source"),Kn=u("svg",k),Un=u("math"),Jn=u("canvas"),Gn=u("noscript"),Zn=u("script"),Xn=u("del"),Qn=u("ins"),Yn=u("caption"),er=u("col"),tr=u("colgroup"),nr=u("table"),rr=u("tbody"),or=u("td"),ir=u("tfoot"),sr=u("th"),ar=u("thead"),cr=u("tr"),ue=u("button"),lr=u("datalist"),ur=u("fieldset"),dr=u("form"),fr=u("input"),pr=u("label"),mr=u("legend"),gr=u("meter"),br=u("optgroup"),hr=u("option"),yr=u("output"),xr=u("progress"),vr=u("select"),Tr=u("textarea"),Sr=u("details"),wr=u("dialog"),Er=u("menu"),kr=u("summary"),Cr=u("slot"),_r=u("template"),Ar=u("base"),Nr=u("link"),Lr=u("meta"),J=u("style"),Mr=u("circle",k),Rr=u("ellipse",k),Hr=u("g",k),Or=u("line",k),$r=u("path",k),Pr=u("polygon",k),Dr=u("polyline",k),Fr=u("rect",k),Br=u("text",k),zr=u("tspan",k),Ir=u("defs",k),jr=u("clipPath",k),Wr=u("mask",k),qr=u("pattern",k),Vr=u("linearGradient",k),Kr=u("radialGradient",k),Ur=u("stop",k),Jr=u("use",k),Gr=u("symbol",k),Zr=u("marker",k),Xr=u("center"),Qr=u("font"),Yr=u("marquee"),eo=e=>u(e);var Ki=C(),Ui=new Set(["script","style"]),Ji=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),to=new Set(["svg","circle","ellipse","g","line","path","polygon","polyline","rect","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker"]),no=new WeakMap;function Gi(e){let n=e.length-1,t=e[0];for(let f=0;f<n;f++)t+=`\0${f}\0${e[f+1]}`;let r=0,o=t.length;function i(){for(;r<o&&(t[r]===" "||t[r]===" "||t[r]===`
|
|
2
|
+
`||t[r]==="\r");)r++}function s(){if(t.charCodeAt(r)!==0)return-1;let f=r;r++;let b=0;for(;r<o&&t.charCodeAt(r)!==0;)b=b*10+(t.charCodeAt(r)-48),r++;return r<o&&r++,b<0||b>=n?(r=f,-1):b}function a(){let f=r;for(;r<o;){let b=t.charCodeAt(r);if(b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===45)r++;else break}return t.slice(f,r)}function c(){if(i(),t[r]!=="=")return{kind:"bool"};r++,i();let f=s();if(f>=0)return{kind:"expr",idx:f};let b=t[r];if(b==='"'||b==="'"){r++;let y=[],g=[],p="";for(;r<o&&t[r]!==b;){let v=s();v>=0?(y.push(p),p="",g.push(v)):p+=t[r++]}return r<o&&r++,y.push(p),g.length===0?{kind:"static",value:y[0]}:{kind:"mixed",statics:y,exprs:g}}{let y=[],g=[],p="";for(;r<o;){let v=t.charCodeAt(r);if(v===32||v===9||v===10||v===13||v===62)break;let S=s();S>=0?(y.push(p),p="",g.push(S)):p+=t[r++]}return y.push(p),g.length===0?{kind:"static",value:y[0]}:{kind:"mixed",statics:y,exprs:g}}}function l(){let f=[];for(;r<o&&(i(),!(t[r]===">"||t[r]==="/"));){let b=r;for(;r<o;){let p=t.charCodeAt(r);if(p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===45||p===58||p===95||p===46)r++;else break}let y=t.slice(b,r);if(!y)break;let g=c();y.startsWith("on:")?g.kind==="expr"&&f.push({t:3,name:y.slice(3),idx:g.idx}):g.kind==="bool"?f.push({t:4,name:y}):g.kind==="static"?f.push({t:0,name:y,value:g.value}):g.kind==="expr"?f.push({t:1,name:y,idx:g.idx}):g.kind==="mixed"&&f.push({t:2,name:y,statics:g.statics,exprs:g.exprs})}return f}function d(f){return f.replace(/\s+/g," ")}function m(f){let b="";for(;r<o&&t[r]!=="<";){let g=s();if(g>=0){let p=d(b);p&&f.push({t:1,value:p}),b="",f.push({t:2,idx:g})}else b+=t[r++]}let y=d(b);y&&f.push({t:1,value:y})}function h(){let f=[];for(;r<o&&!(t[r]==="<"&&r+1<o&&t[r+1]==="/");)if(t[r]==="<"){let b=t[r+1];if(b==="!"){if(t.startsWith("<!--",r)){let S=t.indexOf("-->",r+4);r=S===-1?o:S+3}else if(t.startsWith("<![CDATA[",r)){let S=t.indexOf("]]>",r+9);r=S===-1?o:S+3}else{let S=t.indexOf(">",r);r=S===-1?o:S+1}continue}if(b==="?"){let S=t.indexOf(">",r);r=S===-1?o:S+1;continue}if(!(b>="a"&&b<="z")&&!(b>="A"&&b<="Z")){f.push({t:1,value:"<"}),r++;continue}r++;let y=a(),g=l();i();let p=Ji.has(y),v=t[r]==="/";if(v&&r++,r<o&&r++,p||v)f.push({t:0,el:{tag:y,svg:to.has(y),attrs:g,children:[]}});else{let S=h();if(Ui.has(y.toLowerCase())){for(let B=0;B<S.length;B++)if(S[B].t===2)throw new Error(`html: dynamic \${...} expressions are not allowed inside <${y}> (raw-text context). Build the content separately and append it as a Node.`)}t[r]==="<"&&r+1<o&&t[r+1]==="/"&&(r+=2,a(),i(),r<o&&t[r]===">"&&r++),f.push({t:0,el:{tag:y,svg:to.has(y),attrs:g,children:S}})}}else m(f);return f}return h()}function Ge(e,n){let t=e.svg?document.createElementNS(k,e.tag):document.createElement(e.tag);for(let r=0;r<e.attrs.length;r++){let o=e.attrs[r];switch(o.t){case 0:t.setAttribute(o.name,o.value);break;case 1:{let i=o.name,s=i.toLowerCase();if(Z(i))break;let a=n[o.idx];if(typeof a=="function")T(t,Le(t,i,a));else if(a!=null){let c=String(a);s==="srcset"?t.setAttribute(i,be(c)):q(s)?t.setAttribute(i,z(c)):t.setAttribute(i,c)}break}case 2:{let i=o.statics[0];for(let a=0;a<o.exprs.length;a++){let c=n[o.exprs[a]];i+=(c==null?"":String(c))+o.statics[a+1]}let s=o.name.toLowerCase();s==="srcset"?t.setAttribute(o.name,be(i)):q(s)?t.setAttribute(o.name,z(i)):t.setAttribute(o.name,i);break}case 3:{let i=n[o.idx];typeof i=="function"?t.addEventListener(o.name,i):Ki&&E(`html: on:${o.name} handler is not a function (got ${typeof i}). Event listener was not attached.`);break}case 4:t.setAttribute(o.name,"");break}}for(let r=0;r<e.children.length;r++){let o=e.children[r];switch(o.t){case 0:t.appendChild(Ge(o.el,n));break;case 1:t.appendChild(document.createTextNode(o.value));break;case 2:{let i=n[o.idx];if(typeof i=="function"){let s=document.createComment("");t.appendChild(s),T(t,X(s,i))}else if(i instanceof Node)t.appendChild(i);else if(Array.isArray(i))for(let s=0;s<i.length;s++){let a=i[s];a instanceof Node?t.appendChild(a):a!=null&&typeof a!="boolean"&&t.appendChild(document.createTextNode(String(a)))}else i!=null&&typeof i!="boolean"&&t.appendChild(document.createTextNode(String(i)));break}}}return t}function Ze(e,...n){let t=no.get(e);if(t||(t=Gi(e),no.set(e,t)),t.length===1&&t[0].t===0)return Ge(t[0].el,n);let r=document.createElement("div");for(let o=0;o<t.length;o++){let i=t[o];switch(i.t){case 0:r.appendChild(Ge(i.el,n));break;case 1:r.appendChild(document.createTextNode(i.value));break;case 2:{let s=n[i.idx];if(s instanceof Node)r.appendChild(s);else if(typeof s=="function"){let a=document.createComment("bind:htm");r.appendChild(a),T(r,X(a,s))}else if(Array.isArray(s))for(let a=0;a<s.length;a++){let c=s[a];c instanceof Node?r.appendChild(c):c!=null&&typeof c!="boolean"&&r.appendChild(document.createTextNode(String(c)))}else s!=null&&typeof s!="boolean"&&r.appendChild(document.createTextNode(String(s)));break}}}return r.childNodes.length===1&&r.firstChild instanceof Element?r.firstChild:r}function ro(e,n){if(!n)throw new Error("[SibuJS mount] container element not found. Make sure the DOM element exists before calling mount().");H(typeof e=="function"||e instanceof Node,"mount: first argument must be a component function or a DOM Node.");let t=typeof performance<"u"?performance.now():0,r=typeof e=="function"?e():e,o=typeof performance<"u"?performance.now()-t:0;n.appendChild(r);let i=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__;return i&&i.emit("app:init",{rootElement:r,container:n,duration:o}),{node:r,unmount(){i&&i.emit("app:unmount",{rootElement:r}),N(r),r.parentNode&&r.parentNode.removeChild(r)}}}var Xe=C();function oo(e){return typeof e=="function"?oo(e()):e instanceof Node?e:document.createTextNode(String(e))}function Zi(e,n){if(n===0)return[];let t=[],r=new Array(n);for(let a=0;a<n;a++){let c=e[a],l=0,d=t.length;for(;l<d;){let m=l+d>>1;e[t[m]]<c?l=m+1:d=m}t[l]=a,r[a]=l>0?t[l-1]:-1}let o=t.length,i=new Array(o),s=t[o-1];for(let a=o-1;a>=0;a--)i[a]=s,s=r[s];return i}function io(e,n,t){H(typeof e=="function","each: first argument must be a function that returns an array."),H(typeof n=="function","each: second argument must be a render function."),H(t&&typeof t.key=="function","each: options.key must be a function that returns a unique key per item.");let r=document.createComment("each:anchor"),o=document.createComment("each:end"),i=[],s=[],a=i,c=0,l=new Map,d=new Map,m=[],h=[],f=new Uint8Array(0),b=new Map,y=[],g=[],p=new Map,v=!1,S=!1,B=t.key,bt=()=>{let ht=e(),M=ht.length,Te=r.parentNode;if(!Te)return;S||(Te.insertBefore(o,r.nextSibling),S=!0),h.length<M&&(h=new Array(M));for(let x=0;x<M;x++)h[x]=B(ht[x]);let W=h;m.length<M&&(m=new Array(M)),d.clear(),p.clear();for(let x=0;x<M;x++)Xe&&p.has(W[x])&&E(`each: duplicate key "${String(W[x])}" at index ${x} (first seen at ${p.get(W[x])}). Keys must be unique \u2014 duplicates cause rows to be dropped or mis-ordered.`),p.set(W[x],x);for(let x=0;x<M;x++){let R=W[x],xt=l.get(R),ge;if(xt!==void 0)ge=xt;else{let vt=R,pi=()=>U(()=>e()[p.get(vt)]),mi=()=>p.get(vt);try{ge=oo(n(pi,mi))}catch(re){Xe&&E(`each: render threw for item at index ${x} (key="${W[x]}"): ${re instanceof Error?re.message:String(re)}`),ge=document.createComment(`each:error:${x}`);let Tt=re instanceof Error?re:new Error(String(re));queueMicrotask(()=>{try{let St=r.parentNode;St?.dispatchEvent?St.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:Tt}})):Xe&&E(`each: error not surfaced \u2014 anchor detached: ${Tt.message}`)}catch{}})}}d.set(R,ge),m[x]=ge}for(let[x,R]of l)d.has(x)||(N(R),R.parentNode&&Te.removeChild(R));if(M===0){c=0;let x=l;l=d,d=x;return}b.clear();for(let x=0;x<c;x++)b.set(a[x],x);y.length<M&&(y=new Array(M),g=new Array(M));let Se=0;for(let x=0;x<M;x++){let R=b.get(W[x]);R!==void 0&&(y[Se]=x,g[Se]=R,Se++)}let yt=Zi(g,Se);f.length<M?f=new Uint8Array(M):f.fill(0,0,M);for(let x=0;x<yt.length;x++)f[y[yt[x]]]=1;let we=o;for(let x=M-1;x>=0;x--){let R=m[x];f[x]||R.nextSibling!==we&&Te.insertBefore(R,we),we=R}let Ee=a===i?s:i;Ee.length<M&&(Ee.length=M);for(let x=0;x<M;x++)Ee[x]=W[x];a=Ee,c=M;let fi=l;l=d,d=fi,v=!0},di=A(bt);return T(r,di),v||queueMicrotask(()=>{!v&&r.parentNode&&bt()}),r}function ao(e){let n=document.createDocumentFragment();for(let t of e)if(!(t==null||typeof t=="boolean"))if(Array.isArray(t))for(let r of t)r==null||typeof r=="boolean"||n.appendChild(so(r));else n.appendChild(so(t));return n}function so(e){if(e==null)return document.createTextNode("");if(e instanceof Node)return e;if(typeof e=="function"){let n=e();return n instanceof Node?n:document.createTextNode(String(n??""))}return document.createTextNode(String(e))}function co(e,n){let t=document.createComment("portal"),r=n||document.body,o=null,i=!1;return queueMicrotask(()=>{if(!i)try{o=e(),r.appendChild(o)}catch(s){typeof console<"u"&&console.error("[Portal] Render error:",s);let a=s instanceof Error?s:new Error(String(s));queueMicrotask(()=>{try{let c=t.parentNode;c?.dispatchEvent&&c.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:a}}))}catch{}})}}),T(t,()=>{i=!0,o&&(N(o),o.remove(),o=null)}),t}var Qe=new Map;function lo(e,n){Qe.set(e,n)}function uo(e){Qe.delete(e)}function Ye(e){let n=Qe.get(e);return n?n():w({nodes:`[Component "${e}" not found]`})}function fo(e){let n=w({class:"sibu-dynamic"});function t(){let o=e(),i;typeof o=="function"?i=o():i=Ye(o);for(let s of Array.from(n.childNodes))N(s);n.replaceChildren(i)}let r=A(t);return T(n,r),n}function po(e,n="default"){return e?.[n]}function mo(e,n){return T(n,A(()=>{n.style.display=e()?"":"none"})),n}function go(e,n,t){let r=document.createComment("when"),o=null,i,s=!1,a=()=>{let c=e(),l=r.parentNode;if(!l||s&&c===i)return;i=c,o?.parentNode&&(N(o),o.parentNode.removeChild(o),o=null);let d=c?n():t?t():null;if(d!=null){let m=d instanceof Node?d:document.createTextNode(String(d));l.insertBefore(m,r.nextSibling),o=m}s=!0};return T(r,A(a)),s||queueMicrotask(()=>{!s&&r.parentNode&&a()}),r}function bo(e,n,t){let r=document.createComment("match"),o=null,i,s=!1,a=()=>{let c=String(e()),l=r.parentNode;if(!l||s&&c===i)return;i=c,o?.parentNode&&(N(o),o.parentNode.removeChild(o),o=null);let d=n[c]||t;if(d){let m=d();if(m!=null){let h=m instanceof Node?m:document.createTextNode(String(m));l.insertBefore(h,r.nextSibling),o=h}}s=!0};return T(r,A(a)),s||queueMicrotask(()=>{!s&&r.parentNode&&a()}),r}function ho(e,n,t){let r=document.createComment("keep-alive"),o=new Map,i=[],s=t?.max??10;s===0&&C()&&E("KeepAlive: unbounded cache (max: 0). Cached subtrees will never be evicted \u2014 set `max` to bound memory.");let a,c=null,l=!1,d=!1,m=()=>{if(d)return;let f=e(),b=r.parentNode;if(!b||l&&f===a)return;c?.parentNode&&b.removeChild(c),a=f;let y=o.get(f);if(y){let g=i.indexOf(f);g!==-1&&(i.splice(g,1),i.push(f))}else{let g=n[f];if(!g){c=null,l=!0;return}if(y=g(),y instanceof DocumentFragment){let p=document.createElement("div");p.style.display="contents",p.appendChild(y),y=p}if(o.set(f,y),i.push(f),s>0&&i.length>s){let p=i.shift(),v=o.get(p);v&&(N(v),v.parentNode&&v.parentNode.removeChild(v),o.delete(p))}}b.insertBefore(y,r.nextSibling),c=y,l=!0},h=A(m);return l||queueMicrotask(()=>{!l&&r.parentNode&&m()}),T(r,()=>{d=!0,h();for(let f of o.values())N(f),f.parentNode&&f.parentNode.removeChild(f);o.clear(),i.length=0,c=null}),r}function yo(e,n,t){let r=n(e,t);typeof r=="function"&&T(e,r)}var xo=(e,n)=>{let t=r=>{e.contains(r.target)||n()};return document.addEventListener("pointerdown",t,!0),()=>document.removeEventListener("pointerdown",t,!0)},vo=(e,n)=>{let t=n.duration??500,r=null,o=()=>{r=setTimeout(()=>{n.callback(),r=null},t)},i=()=>{r!==null&&(clearTimeout(r),r=null)};return e.addEventListener("pointerdown",o),e.addEventListener("pointerup",i),e.addEventListener("pointerleave",i),()=>{i(),e.removeEventListener("pointerdown",o),e.removeEventListener("pointerup",i),e.removeEventListener("pointerleave",i)}},To=(e,n)=>{let t=()=>{let r=typeof n=="function"?n():e.textContent??"";navigator.clipboard.writeText(r)};return e.addEventListener("click",t),()=>e.removeEventListener("click",t)},So=e=>{let n=()=>{e.style.overflow="hidden",e.style.height="auto",e.style.height=`${e.scrollHeight}px`};return n(),e.addEventListener("input",n),()=>e.removeEventListener("input",n)},wo=e=>{let n='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])',t=r=>{if(r.key!=="Tab")return;let o=Array.from(e.querySelectorAll(n));if(o.length===0)return;let i=o[0],s=o[o.length-1];r.shiftKey&&document.activeElement===i?(r.preventDefault(),s.focus()):!r.shiftKey&&document.activeElement===s&&(r.preventDefault(),i.focus())};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)};var Q=null;function Eo(e,n){try{let t=e();return t&&typeof t.then=="function"&&t.catch(r=>{n?n(r,"async"):Q?Q(r,"async"):console.error("Unhandled async error in Sibu.catchError:",r)}),t}catch(t){return n?n(t,"sync"):Q?Q(t,"sync"):console.error("Unhandled error in Sibu.catchError:",t),null}}async function ko(e,n){try{return await e()}catch(t){return n?n(t,"async"):Q?Q(t,"async"):console.error("Unhandled async error in Sibu.catchErrorAsync:",t),null}}function Co(e){Q=e}var et=0;function _o(e="sibu"){return et++,`${e}-${et}`}function Ao(){et=0}var ye=0,tt=new Set;function $(e){ye++;try{return e()}finally{ye--,ye===0&&Xi()}}function G(e){return ye===0?!1:(tt.add(e),!0)}function No(){return ye>0}function Xi(){try{for(let e of tt)Lt(e)}finally{tt.clear()}Nt()}var nt=globalThis,$e=C();function _(e,n){let t={value:e,__v:0,__sc:0,subsHead:null,subsTail:null,__activeNode:null,__name:void 0},r=$e?n?.name:void 0,o=n?.equals;r&&(t.__name=r);function i(){return ie(t),t.value}i.__signal=t,r&&(i.__name=r);let s;if(o?s=a=>{let c=t.value,l=typeof a=="function"?a(c):a;if(!o(c,l)){if(t.value=l,t.__v++,$e){let d=nt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;d&&d.emit("signal:update",{signal:t,name:r,oldValue:c,newValue:l})}G(t)||se(t)}}:$e?s=a=>{let c=t.value,l=typeof a=="function"?a(c):a;if(Object.is(l,c))return;t.value=l,t.__v++;let d=nt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;d&&d.emit("signal:update",{signal:t,name:r,oldValue:c,newValue:l}),G(t)||se(t)}:s=a=>{let c=t.value,l=typeof a=="function"?a(c):a;Object.is(l,c)||(t.value=l,t.__v++,G(t)||se(t))},$e){let a=nt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;a&&a.emit("signal:create",{signal:t,name:r,getter:i,initial:e})}return[i,s]}var de=null;try{if(typeof process<"u"&&process.versions&&process.versions.node){let e=null,n=process.getBuiltinModule;if(typeof n=="function")e=n("node:async_hooks");else{let t=Function("return typeof require==='function'?require:null")();t&&(e=t("node:async_hooks"))}e&&(de=new e.AsyncLocalStorage)}}catch{de=null}var Y={ssr:!1,suspenseIdCounter:0};function ee(){if(de){let e=de.getStore();if(e)return e}return Y}function te(){return ee().ssr}function Lo(e){if(!te())return null;let n=ee(),t=n.caches??(n.caches=new Map),r=t.get(e);return r||(r=new Map,t.set(e,r)),r}function Mo(){ee().ssr=!0}function Ro(){ee().ssr=!1}function Ho(e){let n={ssr:!0,suspenseIdCounter:0};if(de)return de.run(n,e);let t=Y.ssr,r=Y.suspenseIdCounter;Y.ssr=!0,Y.suspenseIdCounter=0;try{return e()}finally{Y.ssr=t,Y.suspenseIdCounter=r}}function Oo(e){let n=ee(),t=n.ssr;n.ssr=!0;try{return e()}finally{t||(n.ssr=!1)}}var rt=globalThis;function Do(e,n){let t,r=!0;return()=>{let o=e();if(r)r=!1,t=o,U(()=>n(o,void 0));else{let i=t;t=o,U(()=>n(o,i))}}}var $o=100;function ot(e){let n=e.userCleanups;if(n.length!==0){e.userCleanups=[];for(let t=n.length-1;t>=0;t--)try{n[t]()}catch(r){typeof console<"u"&&console.warn("[SibuJS effect] onCleanup threw:",r)}}}function Po(e){let n=1;do e.rerunPending=!1,e.userCleanups.length>0&&ot(e),F(e.bodyFn,e.subscriber);while(e.rerunPending&&++n<=$o);e.rerunPending&&(e.rerunPending=!1,rt.__SIBU_DEV_WARN__!==!1&&typeof console<"u"&&console.error(`[SibuJS] effect re-requested itself ${$o}+ times \u2014 likely a write-reads-self cycle. Breaking to prevent infinite loop.`))}function Qi(e){if(e.disposed)return;e.disposed=!0;let n=rt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;if(n)try{n.emit("effect:destroy",{effectFn:e.fn})}catch{}try{e.userCleanups.length>0&&ot(e)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] onCleanup threw during dispose:",t)}try{he(e.subscriber)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] dispose threw:",t)}}function O(e,n){if(H(typeof e=="function","effect: argument must be a function."),te())return()=>{};let t={fn:e,onError:n?.onError,userCleanups:[],running:!1,rerunPending:!1,disposed:!1,onCleanup:null,subscriber:null,bodyFn:null};t.onCleanup=s=>{t.userCleanups.push(s)};let r=t.onError;t.bodyFn=r?()=>{try{t.fn(t.onCleanup)}catch(s){r(s)}}:()=>{t.fn(t.onCleanup)};let o=(()=>{if(!t.disposed){if(t.running){t.rerunPending=!0;return}t.running=!0;try{t.rerunPending=!1,t.userCleanups.length>0&&ot(t),F(t.bodyFn,o),t.rerunPending&&Po(t)}finally{t.running=!1,t.rerunPending=!1}}});o.depsHead=null,o.depsTail=null,o._epoch=0,o._structDirty=!1,o._runEpoch=0,o._runs=0,t.subscriber=o,t.running=!0;try{F(t.bodyFn,t.subscriber),t.rerunPending&&Po(t)}finally{t.running=!1,t.rerunPending=!1}let i=rt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;return i&&i.emit("effect:create",{effectFn:e}),()=>Qi(t)}function Pe(e,n){H(typeof e=="function","derived: argument must be a getter function.");let t=n?.name,r=n?.equals,o={};o._d=!1,o._init=!1,o._g=e,o.__v=0;let i=()=>{o._d||(o._d=!0)};i._c=1,i._sig=o;let s=()=>{let d=e();o._v=r&&o._init&&r(o._v,d)?o._v:d,o._d=!1,o._init=!0};A(()=>{let d=!0;try{o._v=e(),o._d=!1,o._init=!0,d=!1}finally{d&&(o._d=!0)}},i);let a=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__,c=!1;function l(){if(c)throw new Error(`[SibuJS] Circular dependency detected in derived${t?` "${t}"`:""}. A derived signal cannot read itself (directly or through a chain).`);if(Ae){if(o._d){let d=o._v;c=!0;try{F(s,i),Object.is(d,o._v)||o.__v++}finally{c=!1}}return o._v}if(ie(o),o._d){let d=o._v;c=!0;try{F(s,i),Object.is(d,o._v)||o.__v++}finally{c=!1}a&&d!==o._v&&a.emit("computed:update",{signal:o,oldValue:d,newValue:o._v})}return o._v}return t&&(l.__name=t,o.__name=t),l.__signal=o,a&&a.emit("computed:create",{signal:o,name:t,getter:l}),l}function Fo(e,n){if(H(typeof e=="function","watch: first argument must be a getter function."),H(typeof n=="function","watch: second argument must be a callback function."),te())return()=>{};let t,r=!0;return A(()=>{let s=e();if(r){t=s,r=!1;return}Object.is(s,t)||(n(s,t),t=s)})}function Bo(e){H(e!==null&&typeof e=="object"&&!Array.isArray(e),"store: argument must be a plain object. For arrays, use array() instead.");let n={};Object.keys(e).forEach(c=>{let[l,d]=_(e[c]);n[c]=[l,d]});let t=new Proxy({},{get(c,l){if(typeof l=="string"&&Object.hasOwn(n,l)){let d=n[l][0];return d()}return Reflect.get(c,l)},set(){throw new Error("[SibuJS store] Direct mutation is not allowed. Use actions.setState() to update store properties.")}}),r=()=>{let c={};return Object.keys(n).forEach(l=>{c[l]=n[l][0]()}),c};return[t,{setState:c=>{let l=r(),d=typeof c=="function"?c(l):c;$(()=>{Object.entries(d).forEach(([m,h])=>{Object.hasOwn(n,m)&&n[m][1](h)})})},reset:()=>{$(()=>{Object.keys(e).forEach(c=>{let l=n[c][1];l(e[c])})})},subscribe:c=>{let l=!0;return O(()=>{let d=r();if(l){l=!1;return}c(d)})},subscribeKey:(c,l)=>{let d,m=!0;return O(()=>{let h=n[c][0]();if(m){d=h,m=!1;return}if(!Object.is(h,d)){let f=d;d=h,l(h,f)}})},getSnapshot:r}]}function zo(e){let[n,t]=_(e);return{get current(){return n()},set current(r){t(r)}}}function Io(e=[]){let[n,t]=_([...e]);return[n,{push(...o){t(i=>[...i,...o])},pop(){let o;return t(i=>{let s=[...i];return o=s.pop(),s}),o},shift(){let o;return t(i=>{let s=[...i];return o=s.shift(),s}),o},unshift(...o){t(i=>[...o,...i])},splice(o,i=0,...s){let a=[];return t(c=>{let l=[...c];return a=l.splice(o,i,...s),l}),a},remove(o){t(i=>i.filter((s,a)=>a!==o))},removeWhere(o){t(i=>{let s=i.findIndex(o);return s===-1?i:i.filter((a,c)=>c!==s)})},set(o){t([...o])},update(o,i){t(s=>s.map((a,c)=>c===o?i:a))},updateWhere(o,i){t(s=>s.map(a=>o(a)?i(a):a))},sort(o){t(i=>[...i].sort(o))},reverse(){t(o=>[...o].reverse())},filter(o){t(i=>i.filter(o))},map(o){t(i=>i.map(o))},clear(){t([])}}]}function jo(e=[]){let n=[...e],t=null,r={};function o(){t=null,G(r)||se(r)}function i(){if(ie(r),t===null){let a=n.slice();t=Object.freeze(a)}return t}return[i,{push(...a){a.length!==0&&(n.push(...a),o())},pop(){if(n.length===0)return;let a=n.pop();return o(),a},shift(){if(n.length===0)return;let a=n.shift();return o(),a},unshift(...a){a.length!==0&&(n.unshift(...a),o())},splice(a,c=0,...l){let d=n.splice(a,c,...l);return(d.length>0||l.length>0)&&o(),d},remove(a){a<0||a>=n.length||(n.splice(a,1),o())},removeWhere(a){let c=n.findIndex(a);c!==-1&&(n.splice(c,1),o())},set(a){n=[...a],o()},update(a,c){a<0||a>=n.length||Object.is(n[a],c)||(n[a]=c,o())},updateWhere(a,c){let l=!1;for(let d=0;d<n.length;d++)if(a(n[d])){let m=c(n[d]);Object.is(n[d],m)||(n[d]=m,l=!0)}l&&o()},sort(a){n.length<=1||(n.sort(a),o())},reverse(){n.length<=1||(n.reverse(),o())},filter(a){let c=n.filter(a);c.length!==n.length&&(n=c,o())},map(a){let c=!1;for(let l=0;l<n.length;l++){let d=a(n[l],l);Object.is(n[l],d)||(n[l]=d,c=!0)}c&&o()},clear(){n.length!==0&&(n=[],o())}}]}function fe(e,n,t){if(Object.is(e,n))return!0;if(e==null||n==null||typeof e!=typeof n||typeof e!="object")return!1;let r=e,o=n;if(r.constructor!==o.constructor)return!1;if(e instanceof Date)return e.getTime()===n.getTime();if(e instanceof RegExp){let c=n;return e.source===c.source&&e.flags===c.flags}t||(t=new Map);let i=t.get(r);if(i?.has(o))return!0;if(i||(i=new Set,t.set(r,i)),i.add(o),e instanceof Map){let c=n;if(e.size!==c.size)return!1;for(let[l,d]of e)if(!c.has(l)||!fe(d,c.get(l),t))return!1;return!0}if(e instanceof Set){let c=n;if(e.size!==c.size)return!1;for(let l of e)if(!c.has(l))return!1;return!0}if(e instanceof ArrayBuffer){let c=new Uint8Array(e),l=new Uint8Array(n);if(c.length!==l.length)return!1;for(let d=0;d<c.length;d++)if(c[d]!==l[d])return!1;return!0}if(e instanceof DataView){if(!(n instanceof DataView)||e.byteLength!==n.byteLength)return!1;for(let c=0;c<e.byteLength;c++)if(e.getUint8(c)!==n.getUint8(c))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){let c=e,l=n;if(c.length!==l.length)return!1;for(let d=0;d<c.length;d++)if(c[d]!==l[d])return!1;return!0}if(Array.isArray(e))return!Array.isArray(n)||e.length!==n.length?!1:e.every((c,l)=>fe(c,n[l],t));let s=Object.keys(r),a=Object.keys(o);return s.length!==a.length?!1:s.every(c=>Object.hasOwn(o,c)&&fe(r[c],o[c],t))}function Wo(e){return _(e,{equals:(n,t)=>fe(n,t)})}function qo(e,n,t){return[Pe(e,t),i=>{$(()=>n(i))}]}function Vo(e,n){let[t,r]=_(n),[o,i]=_(!1),[s,a]=_(null),[c,l]=_(0),d=0;return O(()=>{c();let m=++d;$(()=>{i(!0),a(null)});let h;try{h=e()}catch(f){$(()=>{a(f),i(!1)});return}h.then(f=>{m===d&&$(()=>{r(f),i(!1)})},f=>{m===d&&$(()=>{a(f),i(!1)})})}),{value:t,loading:o,error:s,refresh:()=>l(m=>m+1)}}function ct(e,n){try{return e()}catch(t){E(`${n}: callback threw: ${t instanceof Error?t.message:String(t)}`);return}}function it(e,n,t){let r=ct(e,n);typeof r=="function"&&t&&T(t,r)}var pe=new WeakMap,ne=new WeakMap,I=new Set,j=new Set,me=null,De=0,Yi=256;function st(e){let n=pe.get(e);if(n){pe.delete(e),I.delete(e);for(let t of n)try{t()}catch{}}}function at(e){ne.get(e)&&queueMicrotask(()=>{if(e.isConnected)return;let t=ne.get(e);if(t){ne.delete(e),j.delete(e);for(let r of t)try{r()}catch{}}})}function es(e){if(I.size===0||e.nodeType!==1)return;let n=e;if(I.has(n)&&n.isConnected&&st(n),n.firstElementChild)for(let t of Array.from(I))t!==n&&t.isConnected&&n.contains(t)&&st(t)}function ts(e){if(j.size===0||e.nodeType!==1)return;let n=e;if(j.has(n)&&!n.isConnected&&at(n),n.firstElementChild)for(let t of Array.from(j))t!==n&&!t.isConnected&&n.contains(t)&&at(t)}function ns(){if(I.size>0)for(let e of Array.from(I))e.isConnected&&st(e);if(j.size>0)for(let e of Array.from(j))e.isConnected||at(e)}function Ko(){me||typeof document>"u"||(me=new MutationObserver(e=>{for(let n of e)if(n.type==="childList"){if(n.addedNodes.length>0)for(let t=0;t<n.addedNodes.length;t++)es(n.addedNodes[t]);if(n.removedNodes.length>0)for(let t=0;t<n.removedNodes.length;t++)ts(n.removedNodes[t])}De+=e.length,De>=Yi&&(De=0,ns()),lt()}),me.observe(document.body,{childList:!0,subtree:!0}))}function lt(){me&&I.size===0&&j.size===0&&(me.disconnect(),me=null,De=0)}function rs(e,n){let t=pe.get(e);return t||(t=[],pe.set(e,t)),t.push(n),I.add(e),Ko(),()=>{let r=pe.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(pe.delete(e),I.delete(e))}lt()}}function os(e,n){let t=ne.get(e);return t||(t=[],ne.set(e,t)),t.push(n),j.add(e),Ko(),()=>{let r=ne.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(ne.delete(e),j.delete(e))}lt()}}function xe(e,n){if(!(typeof document>"u"))if(n){let t=!1;if(T(n,()=>{t=!0}),n.isConnected){queueMicrotask(()=>{t||it(e,"onMount",n)});return}queueMicrotask(()=>{if(t)return;if(n.isConnected){it(e,"onMount",n);return}let r=rs(n,()=>{t||it(e,"onMount",n)});T(n,r)})}else queueMicrotask(()=>{ct(e,"onMount")})}function Uo(e,n){if(typeof document>"u")return;let t=!1,r=()=>{t||(t=!0,ct(e,"onUnmount"))};T(n,r);let o=()=>{if(t)return;let i=os(n,r);T(n,i)};n.isConnected?o():xe(()=>{o()},n)}function Jo(e,n){T(n,e)}function Go(e){let[n,t]=_(e);return{provide(o){let i=n();return t(o),()=>t(i)},use(){return n},get(){return n()},set(o){t(o)},withContext(o,i){let s=n();t(o);try{return i()}finally{t(s)}}}}function Zo(e){let n=e();return C()&&queueMicrotask(()=>{try{e()}catch(t){console.warn("[SibuJS strict] second run threw:",t)}}),n}function Xo(e){if(!C())return O(e);let n=O(e),t=null;return queueMicrotask(()=>{try{t=O(e)}catch(r){console.warn("[SibuJS strictEffect] second run threw:",r)}}),()=>{n(),t&&t()}}function Qo(){return new Promise(e=>{queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>e()):e()})})}function ei(e){let[n,t]=_(e()),r=!1,o=!1,i=n(),s=()=>{r=!1,!o&&t(i)},a=()=>{r||(r=!0,queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(s):s()}))},c=A(()=>{i=e(),a()}),l=(()=>n());return l.dispose=()=>{o||(o=!0,c())},l}var Yo=16;function is(e){let n=globalThis;if(typeof n.requestIdleCallback=="function"){n.requestIdleCallback(e,{timeout:Yo*4});return}if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>e());return}setTimeout(e,Yo)}function ti(){let[e,n]=_(!1);function t(r){n(!0),is(()=>{let o;try{o=r()}catch{n(!1);return}o&&typeof o.then=="function"?o.then(()=>n(!1),()=>n(!1)):n(!1)})}return{pending:e,start:t}}var ut="__sibuPendingError";function ni(e,n){let t=()=>{try{return e.parentNode?(e.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:n}})),!0):!1}catch{return!1}};e.parentNode&&t()||queueMicrotask(()=>{t()||(e[ut]=n)})}function ve(e){let n=e,t=n[ut];if(t instanceof Error)return delete n[ut],t}function dt(e){let n=null;return function(){if(n)return n();let r=w({class:"sibu-lazy"}),o=!1;return e().then(i=>{if(o)return;n=i.default;let s=n();r.replaceChildren(s)}).catch(i=>{if(o)return;let s=i instanceof Error?i:new Error(String(i));E(`[SibuJS] lazy() failed to load component: ${s.message}`),r.replaceChildren(w({class:"sibu-lazy-error"},`Failed to load component: ${s.message}`)),ni(r,s)}),r.appendChild(L("sibu-lazy-loading","Loading...")),T(r,()=>{o=!0}),r}}function ft({nodes:e,fallback:n}){let t=w({class:"sibu-suspense"}),r=n();t.appendChild(r);let o=!1,i=null,s=null;return T(t,()=>{o=!0,i&&(i.disconnect(),i=null),s&&!t.contains(s)&&N(s)}),queueMicrotask(()=>{if(!o)try{let a=e();if(s=a,a.classList.contains("sibu-lazy")){if(!a.querySelector(".sibu-lazy-loading")){t.replaceChildren(a);return}i=new MutationObserver(()=>{if(o)return;a.querySelector(".sibu-lazy-loading")||(i?.disconnect(),i=null,t.replaceChildren(a))}),i.observe(a,{childList:!0,subtree:!0})}else t.replaceChildren(a)}catch(a){let c=a instanceof Error?a:new Error(String(a));E(`[SibuJS] Suspense nodes() threw: ${c.message}`),ni(t,c)}}),t}var Ec=C();function pt(e){return e}var kc=1024*1024;var ss=C(),as=`
|
|
3
3
|
.sibu-error-display {
|
|
4
4
|
border: 1px solid var(--sibu-err-border, #e5484d);
|
|
5
5
|
border-radius: 10px;
|
|
@@ -180,11 +180,11 @@
|
|
|
180
180
|
border: 1px solid #3a3a4e;
|
|
181
181
|
}
|
|
182
182
|
.sibu-error-display .sibu-err-btn-reload:hover { background: #2a2b40; }
|
|
183
|
-
`,
|
|
184
|
-
`);for(let r of t){let o=r.trim(),i=o.match(/^at\s+(?:(.+?)\s+\((.+)\)|(.+))$/);if(i){n.push({fn:i[1]||"(anonymous)",loc:i[2]||i[3]||""});continue}let s=o.match(/^(.+?)@(.+)$/);s&&n.push({fn:s[1]||"(anonymous)",loc:s[2]||""})}return n}function
|
|
183
|
+
`,ri=!1;function cs(){if(ri||typeof document>"u")return;let e=J({nodes:as});document.head.appendChild(e),ri=!0}function ls(e){let n=[],t=e.split(`
|
|
184
|
+
`);for(let r of t){let o=r.trim(),i=o.match(/^at\s+(?:(.+?)\s+\((.+)\)|(.+))$/);if(i){n.push({fn:i[1]||"(anonymous)",loc:i[2]||i[3]||""});continue}let s=o.match(/^(.+?)@(.+)$/);s&&n.push({fn:s[1]||"(anonymous)",loc:s[2]||""})}return n}function oi(e){if(e instanceof Error){let n=e.code??e.name??"ERROR",t=e.message||"Unknown error",r=e.stack??"",o=ls(r),i=e.cause,s=i!=null?oi(i):null;return{code:n,message:t,stack:r,frames:o,cause:s}}return{code:"NON_ERROR",message:typeof e=="string"?e:JSON.stringify(e),stack:"",frames:[],cause:null}}function us(e,n,t){let r=[];r.push(t),r.push(`[${e.code}] ${e.message}`),e.stack&&(r.push(""),r.push("Stack Trace:"),r.push(e.stack));let o=e.cause;for(;o;){if(r.push(""),r.push("Caused by:"),r.push(` [${o.code}] ${o.message}`),o.stack){let i=o.stack.split(`
|
|
185
185
|
`).map(s=>` ${s}`).join(`
|
|
186
186
|
`);r.push(i)}o=o.cause}if(n&&Object.keys(n).length>0){r.push(""),r.push("Metadata:");for(let[i,s]of Object.entries(n))r.push(` ${i}: ${String(s)}`)}return r.push(""),r.push("Environment:"),r.push(` Timestamp: ${new Date().toISOString()}`),typeof location<"u"&&r.push(` URL: ${location.href}`),typeof navigator<"u"&&navigator.userAgent&&r.push(` User Agent: ${navigator.userAgent}`),r.join(`
|
|
187
|
-
`)}function
|
|
187
|
+
`)}function ii(e){let n=e.map((t,r)=>w({class:"sibu-err-frame",nodes:[L({class:"sibu-err-line",nodes:String(r+1)}),L({class:"sibu-err-fn",nodes:t.fn}),L({class:"sibu-err-loc",nodes:` \u2014 ${t.loc}`})]}));return He({class:"sibu-err-stack",nodes:n})}function si(e){return e?[w({class:"sibu-err-cause-label",nodes:"Caused by"}),w({class:"sibu-err-section",nodes:[w({class:"sibu-err-section-head",nodes:[L({nodes:`[${e.code}] ${e.message}`}),L({nodes:""})]}),e.frames.length>0?ii(e.frames):w({class:"sibu-err-stack",nodes:"(no stack)"})]}),...si(e.cause)]:[]}function ds(e){let n=[];for(let[r,o]of Object.entries(e)){n.push(document.createElement("dt")),n[n.length-1].textContent=r;let i=document.createElement("dd");i.textContent=o==null?"(null)":String(o),n.push(i)}let t=document.createElement("dl");t.className="sibu-err-meta";for(let r of n)t.appendChild(r);return t}function Fe(e){cs();let n=e.severity??"error",t=oi(e.error),r=e.alwaysShowDetails??ss,o=e.title??t.message,i=new Date().toISOString().replace("T"," ").slice(0,19),[s,a]=_("Copy"),c=ue({class:"sibu-err-copy-btn",nodes:()=>s(),on:{click:()=>{let f=us(t,e.metadata,o);typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText(f).then(()=>{a("Copied!"),setTimeout(()=>a("Copy"),1500)},()=>{a("Copy failed"),setTimeout(()=>a("Copy"),1500)})}}}),l=w({class:"sibu-err-header",nodes:[Oe({class:"sibu-err-icon",nodes:t.code}),Re({class:"sibu-err-title",nodes:o}),c,L({class:"sibu-err-timestamp",nodes:i})]}),d=[Me({class:"sibu-err-message",nodes:t.message})];r&&t.frames.length>0&&d.push(w({class:"sibu-err-section",nodes:[w({class:"sibu-err-section-head",nodes:[L({nodes:"Stack Trace"})]}),ii(t.frames)]})),r&&d.push(...si(t.cause)),r&&e.metadata&&Object.keys(e.metadata).length>0&&d.push(w({class:"sibu-err-section",nodes:[w({class:"sibu-err-section-head",nodes:[L({nodes:"Metadata"})]}),ds(e.metadata)]}));let m=[];e.onRetry&&m.push(ue({class:"sibu-err-btn sibu-err-btn-retry",nodes:e.retryLabel??"Retry",on:{click:e.onRetry}})),!e.hideReload&&typeof location<"u"&&m.push(ue({class:"sibu-err-btn sibu-err-btn-reload",nodes:"Reload Page",on:{click:()=>location.reload()}})),m.length>0&&d.push(w({class:"sibu-err-actions",nodes:m}));let h=w({class:"sibu-err-body",nodes:d});return w({class:"sibu-error-display","data-severity":n,nodes:[l,h]})}var fs=`
|
|
188
188
|
.sibu-error-boundary {
|
|
189
189
|
position: relative;
|
|
190
190
|
}
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
.sibu-error-fallback .sibu-error-btn-reload:hover {
|
|
339
339
|
background: #3a3a4e;
|
|
340
340
|
}
|
|
341
|
-
`,
|
|
341
|
+
`,ai=!1;function ps(){if(!ai&&typeof document<"u"){let e=J({nodes:fs});document.head.appendChild(e),ai=!0}}var ms=50,mt=new WeakMap;function gs(e,n,t){let r=mt.get(e);r||(r=new Map,mt.set(e,r));let o=n.message,i=r.get(o);if(i)r.delete(o),r.set(o,i);else if(i=()=>e(n,t),r.set(o,i),r.size>ms){let s=r.keys().next().value;s!==void 0&&r.delete(s)}return i()}function ci(e,n){let t=typeof e=="function"?e:n,r=typeof e=="function"?{}:e,{fallback:o,onError:i,resetKeys:s}=r;ps();let[a,c]=_(null),l=()=>{if(o){let g=a(),p=mt.get(o);g&&p&&p.delete(g.message)}c(null)},d=null;if(s&&s.length>0){let g=!1;d=O(()=>{for(let p of s)try{p()}catch(v){typeof console<"u"&&console.warn("[SibuJS ErrorBoundary] resetKeys getter threw:",v)}if(!g){g=!0;return}a()!==null&&l()})}let m=g=>{let p=g instanceof Error?g:new Error(String(g));if(c(p),i)try{i(p)}catch(v){typeof console<"u"&&console.error("[SibuJS ErrorBoundary] onError callback threw:",v)}return p},h=(g,p)=>Fe({error:g,severity:"error",onRetry:p}),f=g=>{let p=o||h;try{return gs(p,g,l)}catch(v){let S=v instanceof Error?v:new Error(String(v));return queueMicrotask(()=>{b.parentNode&&b.dispatchEvent(new CustomEvent("sibu:error-propagate",{bubbles:!0,detail:{error:S}}))}),document.createComment("error-boundary-failed")}},b=w({class:"sibu-error-boundary",nodes:()=>{let g=a();if(g)return f(g);try{let p=t();if(p&&typeof p.then=="function"){let v=w({class:"sibu-error-async"});return v.appendChild(L({class:"sibu-lazy-loading",nodes:"Loading..."})),p.then(S=>{v.replaceChildren(S)}).catch(S=>{let B=m(S);v.replaceChildren(f(B))}),v}return p}catch(p){let v=m(p);return f(v)}}}),y=g=>{if(a())return;g.stopPropagation();let v=g.detail?.error;v&&m(v)};return b.addEventListener("sibu:error-propagate",y),xe(()=>{let g=document.createTreeWalker(b,NodeFilter.SHOW_ELEMENT),p=[],v=g.currentNode;for(;v;){let S=ve(v);S&&p.push(S),v=g.nextNode()}if(p.length===1)m(p[0]);else if(p.length>1){let S=globalThis.AggregateError;m(S?new S(p,`${p.length} pre-mount errors caught by ErrorBoundary`):new Error(p.map(B=>B.message).join("; ")))}},b),T(b,()=>{d&&d(),b.removeEventListener("sibu:error-propagate",y)}),b}var bs=`
|
|
342
342
|
@keyframes sibu-spin {
|
|
343
343
|
to { transform: rotate(360deg); }
|
|
344
344
|
}
|
|
@@ -391,4 +391,4 @@
|
|
|
391
391
|
.sibu-loading-lg .sibu-loading-spinner { width: 40px; height: 40px; border-width: 4px; }
|
|
392
392
|
.sibu-loading-lg .sibu-loading-dot { width: 12px; height: 12px; }
|
|
393
393
|
.sibu-loading-lg .sibu-loading-dots { gap: 6px; }
|
|
394
|
-
`,
|
|
394
|
+
`,li=!1;function hs(){!li&&typeof document<"u"&&(document.head.appendChild(J({nodes:bs})),li=!0)}function ui(e={}){hs();let{text:n,variant:t="spinner",size:r="md"}=e,o=r!=="md"?` sibu-loading-${r}`:"";return t==="dots"?w({class:`sibu-loading${o}`,nodes:[w({class:"sibu-loading-dots",nodes:[L({class:"sibu-loading-dot"}),L({class:"sibu-loading-dot"}),L({class:"sibu-loading-dot"})]}),n?L({class:"sibu-loading-text",nodes:n}):null].filter(Boolean)}):w({class:`sibu-loading${o}`,nodes:[w({class:"sibu-loading-spinner"}),n?L({class:"sibu-loading-text",nodes:n}):null].filter(Boolean)})}typeof window<"u"&&(window.Sibu=gt);return xi(ys);})();
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
watch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H6PCHJZQ.js";
|
|
4
4
|
import {
|
|
5
5
|
derived
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JYXOEYI4.js";
|
|
7
7
|
import {
|
|
8
8
|
stripHtml
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HMJFCBRR.js";
|
|
10
10
|
import {
|
|
11
11
|
effect
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FDY42FIU.js";
|
|
13
13
|
import {
|
|
14
14
|
batch,
|
|
15
15
|
signal
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-C427DVQF.js";
|
|
17
17
|
|
|
18
18
|
// src/widgets/Combobox.ts
|
|
19
19
|
var comboboxIdCounter = 0;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
dispose
|
|
3
|
+
} from "./chunk-2UPRY23K.js";
|
|
1
4
|
import {
|
|
2
5
|
effect
|
|
3
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FDY42FIU.js";
|
|
4
7
|
import {
|
|
5
8
|
signal
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-C427DVQF.js";
|
|
7
10
|
import {
|
|
8
11
|
devWarn,
|
|
9
12
|
isDev
|
|
@@ -56,11 +59,26 @@ function processQueue() {
|
|
|
56
59
|
scheduleFrame();
|
|
57
60
|
}
|
|
58
61
|
}
|
|
62
|
+
var TIER_SPEED = { microtask: 0, frame: 1, timeout: 2, idle: 3 };
|
|
63
|
+
function cancelScheduled() {
|
|
64
|
+
if (scheduledHandle !== null) {
|
|
65
|
+
if (scheduledKind === "frame") cancelAnimationFrame(scheduledHandle);
|
|
66
|
+
else if (scheduledKind === "idle" && typeof cancelIdleCallback !== "undefined") cancelIdleCallback(scheduledHandle);
|
|
67
|
+
else if (scheduledKind === "timeout") clearTimeout(scheduledHandle);
|
|
68
|
+
}
|
|
69
|
+
scheduledHandle = null;
|
|
70
|
+
scheduledKind = null;
|
|
71
|
+
}
|
|
59
72
|
function scheduleFrame() {
|
|
60
|
-
if (scheduledKind !== null || microtaskScheduled) return;
|
|
61
73
|
const nextTask = taskQueue.find((t) => !t.cancelled);
|
|
62
74
|
if (!nextTask) return;
|
|
63
|
-
|
|
75
|
+
const desired = nextTask.priority <= Priority.USER_BLOCKING ? "microtask" : nextTask.priority === Priority.IDLE ? typeof requestIdleCallback !== "undefined" ? "idle" : "timeout" : "frame";
|
|
76
|
+
if (microtaskScheduled) return;
|
|
77
|
+
if (scheduledKind !== null) {
|
|
78
|
+
if (TIER_SPEED[scheduledKind] <= TIER_SPEED[desired]) return;
|
|
79
|
+
cancelScheduled();
|
|
80
|
+
}
|
|
81
|
+
if (desired === "microtask") {
|
|
64
82
|
microtaskScheduled = true;
|
|
65
83
|
scheduledKind = "microtask";
|
|
66
84
|
queueMicrotask(() => {
|
|
@@ -68,22 +86,20 @@ function scheduleFrame() {
|
|
|
68
86
|
scheduledKind = null;
|
|
69
87
|
processQueue();
|
|
70
88
|
});
|
|
71
|
-
} else if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}, 50);
|
|
86
|
-
}
|
|
89
|
+
} else if (desired === "idle") {
|
|
90
|
+
scheduledKind = "idle";
|
|
91
|
+
scheduledHandle = requestIdleCallback(() => {
|
|
92
|
+
scheduledKind = null;
|
|
93
|
+
scheduledHandle = null;
|
|
94
|
+
processQueue();
|
|
95
|
+
});
|
|
96
|
+
} else if (desired === "timeout") {
|
|
97
|
+
scheduledKind = "timeout";
|
|
98
|
+
scheduledHandle = setTimeout(() => {
|
|
99
|
+
scheduledKind = null;
|
|
100
|
+
scheduledHandle = null;
|
|
101
|
+
processQueue();
|
|
102
|
+
}, 50);
|
|
87
103
|
} else {
|
|
88
104
|
scheduledKind = "frame";
|
|
89
105
|
scheduledHandle = requestAnimationFrame(() => {
|
|
@@ -148,7 +164,7 @@ function yieldToMain() {
|
|
|
148
164
|
async function processInChunks(items, processor, chunkSize = 50) {
|
|
149
165
|
for (let i = 0; i < items.length; i++) {
|
|
150
166
|
processor(items[i], i);
|
|
151
|
-
if (i
|
|
167
|
+
if ((i + 1) % chunkSize === 0 && i + 1 < items.length) {
|
|
152
168
|
await yieldToMain();
|
|
153
169
|
}
|
|
154
170
|
}
|
|
@@ -480,6 +496,12 @@ function denormalize(id, entities, schema) {
|
|
|
480
496
|
}
|
|
481
497
|
|
|
482
498
|
// src/performance/chunkLoader.ts
|
|
499
|
+
function clearChildren(el) {
|
|
500
|
+
while (el.firstChild) {
|
|
501
|
+
dispose(el.firstChild);
|
|
502
|
+
el.removeChild(el.firstChild);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
483
505
|
function createChunkRegistry(config = {}) {
|
|
484
506
|
const {
|
|
485
507
|
maxCacheSize = 50,
|
|
@@ -644,10 +666,10 @@ function lazyChunk(id, loader, registry, fallback) {
|
|
|
644
666
|
const mod = await loader();
|
|
645
667
|
return typeof mod === "function" ? mod : mod.default;
|
|
646
668
|
}).then((component) => {
|
|
647
|
-
container
|
|
669
|
+
clearChildren(container);
|
|
648
670
|
container.appendChild(component());
|
|
649
671
|
}).catch((err) => {
|
|
650
|
-
container
|
|
672
|
+
clearChildren(container);
|
|
651
673
|
const errorEl = document.createElement("div");
|
|
652
674
|
errorEl.textContent = `Failed to load chunk '${id}': ${err.message}`;
|
|
653
675
|
container.appendChild(errorEl);
|