sibujs 4.6.0 → 4.7.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 +1 -1
- package/dist/browser.cjs +18 -5
- package/dist/browser.js +4 -4
- package/dist/build.cjs +1956 -1007
- package/dist/build.d.cts +133 -44
- package/dist/build.d.ts +133 -44
- package/dist/build.js +1368 -569
- package/dist/cdn.dev.global.js +12 -12
- package/dist/cdn.full.dev.global.js +11 -11
- package/dist/cdn.full.global.js +10 -10
- package/dist/cdn.global.js +12 -12
- package/dist/{chunk-SXXVZMKZ.js → chunk-2BPG2XDA.js} +5 -5
- package/dist/{chunk-BAAG6ZTI.js → chunk-3QWBSL5R.js} +4 -4
- package/dist/{chunk-5MT6SJ3P.js → chunk-4AWA2PVD.js} +2 -2
- package/dist/{chunk-JSXPZCET.js → chunk-7LUJQAOJ.js} +1 -1
- package/dist/{chunk-3ISI6ACU.js → chunk-BC2SECJD.js} +1 -1
- package/dist/{chunk-DKGBBKOF.js → chunk-BSY63EM6.js} +2 -2
- package/dist/{chunk-7NCARGJW.js → chunk-DKXRACVN.js} +3 -3
- package/dist/{chunk-47M47FOM.js → chunk-FNJXNGYZ.js} +1 -1
- package/dist/{chunk-D33YTSX5.js → chunk-FQRUXCEE.js} +5 -4
- package/dist/{chunk-5Q4R7HCL.js → chunk-JWKYU5GV.js} +11 -2
- package/dist/{chunk-QE4TTDU3.js → chunk-RUSSKG6G.js} +12 -11
- package/dist/{chunk-UZQ6ALFS.js → chunk-SLM3IA34.js} +1 -1
- package/dist/{chunk-XRRZKZYX.js → chunk-UNWRJRKC.js} +1 -1
- package/dist/{chunk-VVWPJ543.js → chunk-UOL2ECCS.js} +40 -11
- package/dist/{chunk-ORMZXBKQ.js → chunk-VZSG24LS.js} +3 -3
- package/dist/{chunk-XC4MEKGA.js → chunk-WEQ3DMVL.js} +8 -2
- package/dist/{chunk-PK6FK2G2.js → chunk-WOLJZUFQ.js} +176 -27
- package/dist/{chunk-7GQCWFOE.js → chunk-XYV3EDB7.js} +143 -74
- package/dist/{chunk-AIF3Z2T7.js → chunk-XZR4PXRE.js} +3 -3
- package/dist/{chunk-HYXDKS4N.js → chunk-Z3OHK6QT.js} +4 -4
- package/dist/{chunk-OXUY2A6L.js → chunk-ZVL7TY4K.js} +2 -2
- package/dist/{contracts-DRIuclVT.d.ts → contracts-CLqzJnOV.d.ts} +28 -17
- package/dist/{contracts-DRIuclVT.d.cts → contracts-CTOJXu-x.d.cts} +28 -17
- package/dist/data.cjs +198 -39
- package/dist/data.d.cts +119 -3
- package/dist/data.d.ts +119 -3
- package/dist/data.js +5 -5
- package/dist/devtools.cjs +18 -5
- package/dist/devtools.js +4 -4
- package/dist/ecosystem.cjs +64 -23
- package/dist/ecosystem.d.cts +2 -1
- package/dist/ecosystem.d.ts +2 -1
- package/dist/ecosystem.js +7 -7
- package/dist/extras.cjs +236 -49
- package/dist/extras.d.cts +3 -2
- package/dist/extras.d.ts +3 -2
- package/dist/extras.js +20 -20
- package/dist/index.cjs +259 -108
- package/dist/index.d.cts +193 -168
- package/dist/index.d.ts +193 -168
- package/dist/index.js +10 -10
- package/dist/motion.cjs +12 -4
- package/dist/motion.js +3 -3
- package/dist/patterns.cjs +28 -15
- package/dist/patterns.d.cts +2 -1
- package/dist/patterns.d.ts +2 -1
- package/dist/patterns.js +5 -5
- package/dist/performance.cjs +18 -5
- package/dist/performance.js +4 -4
- package/dist/plugins.cjs +118 -34
- package/dist/plugins.d.cts +124 -11
- package/dist/plugins.d.ts +124 -11
- package/dist/plugins.js +68 -26
- package/dist/ssr.cjs +54 -13
- package/dist/ssr.js +7 -7
- package/dist/{tagFactory-DFstCLQV.d.cts → tagFactory-8qL9LCIx.d.cts} +58 -19
- package/dist/{tagFactory-DkaNVUNV.d.ts → tagFactory-BL2fymez.d.ts} +58 -19
- package/dist/testing.cjs +15 -2
- package/dist/testing.js +2 -2
- package/dist/types-CJFViL6Q.d.cts +26 -0
- package/dist/types-CJFViL6Q.d.ts +26 -0
- package/dist/ui.cjs +28 -15
- package/dist/ui.d.cts +2 -1
- package/dist/ui.d.ts +2 -1
- package/dist/ui.js +7 -7
- package/dist/widgets.cjs +22 -14
- package/dist/widgets.js +6 -6
- package/package.json +4 -2
package/dist/cdn.dev.global.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";(()=>{var
|
|
2
|
-
`||e==="\r"||e==="\f"}function
|
|
1
|
+
"use strict";(()=>{var Wr=Object.defineProperty;var lt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,t)=>(typeof require<"u"?require:n)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Kr=(e,n)=>{for(var t in n)Wr(e,t,{get:n[t],enumerable:!0})};var Wt={};Kr(Wt,{DynamicComponent:()=>Za,ErrorBoundary:()=>Ia,ErrorDisplay:()=>It,Fragment:()=>tc,KeepAlive:()=>ic,Loading:()=>Fa,MAX_DRAIN_TEARDOWNS:()=>re,Portal:()=>cc,SVG_NS:()=>L,Suspense:()=>qn,__resetIdCounter:()=>yr,a:()=>hi,abbr:()=>yi,action:()=>Va,address:()=>ti,area:()=>ji,array:()=>lc,article:()=>Go,aside:()=>ei,asyncDerived:()=>fc,audio:()=>qi,autoResize:()=>gr,b:()=>vi,base:()=>Ps,batch:()=>z,bdi:()=>Si,bdo:()=>xi,bindDynamic:()=>$n,blockquote:()=>ai,body:()=>Ko,br:()=>Ti,button:()=>ze,canvas:()=>os,caption:()=>us,catchError:()=>za,catchErrorAsync:()=>ja,center:()=>aa,checkLeaks:()=>on,circle:()=>Vs,cite:()=>Ei,clickOutside:()=>fr,clipPath:()=>Zs,code:()=>At,col:()=>ls,colgroup:()=>ds,context:()=>Wa,copyOnClick:()=>mr,createId:()=>hr,customElement:()=>la,data:()=>wi,datalist:()=>vs,dd:()=>ci,deepEqual:()=>$e,deepSignal:()=>pc,defer:()=>Rc,defs:()=>Xs,del:()=>as,derived:()=>zt,details:()=>Ms,dfn:()=>ki,dialog:()=>Ds,disableSSR:()=>Xn,dispose:()=>M,div:()=>_,dl:()=>ui,dt:()=>li,each:()=>ec,effect:()=>K,ellipse:()=>zs,em:()=>_i,embed:()=>Gi,enableSSR:()=>Yn,enhance:()=>at,enhanceAll:()=>Ec,enqueueBatchedSignal:()=>_e,external:()=>Ca,fieldset:()=>Ss,figcaption:()=>di,figure:()=>fi,font:()=>ca,footer:()=>Xo,form:()=>xs,g:()=>js,getAction:()=>dr,getRequestScopedCache:()=>Gn,getRuntimeErrorHandler:()=>Qt,getSSRStore:()=>ke,getSlot:()=>uc,h1:()=>ni,h2:()=>ri,h3:()=>kt,h4:()=>oi,h5:()=>ii,h6:()=>si,head:()=>Wo,header:()=>Yo,hr:()=>pi,html:()=>_r,i:()=>Ai,iframe:()=>Yi,img:()=>Wi,input:()=>Ts,ins:()=>cs,isBatching:()=>Aa,isSSR:()=>Z,kbd:()=>Ci,label:()=>Es,lazy:()=>jn,lazyIsland:()=>kc,legend:()=>ws,li:()=>mi,line:()=>qs,linearGradient:()=>ta,link:()=>Bs,longPress:()=>pr,main:()=>Qo,map:()=>Ki,mark:()=>Ni,marker:()=>sa,marquee:()=>ua,mask:()=>Qs,match:()=>Ja,math:()=>rs,menu:()=>Os,meta:()=>Fs,meter:()=>ks,mount:()=>sc,mountIslands:()=>Nc,nav:()=>Zo,nextTick:()=>Oc,noscript:()=>is,object:()=>Xi,ol:()=>gi,on:()=>Sa,onCleanup:()=>ha,onMount:()=>rt,onUnmount:()=>Kn,optgroup:()=>_s,option:()=>As,output:()=>Cs,p:()=>wt,param:()=>Zi,path:()=>Ws,pattern:()=>ea,picture:()=>Qi,polygon:()=>Ks,polyline:()=>Us,portal:()=>es,pre:()=>_t,progress:()=>Ns,q:()=>Li,radialGradient:()=>na,reactiveArray:()=>dc,rect:()=>Js,ref:()=>mc,registerAction:()=>He,registerComponent:()=>Ga,registerDisposer:()=>x,registerIsland:()=>_c,replaceChildrenSafely:()=>V,reportDrainRunaway:()=>le,reportError:()=>w,resolveComponent:()=>Xa,retrack:()=>pe,rp:()=>Ri,rt:()=>Mi,ruby:()=>Di,runInSSRContext:()=>Zn,s:()=>Oi,samp:()=>Hi,script:()=>ss,section:()=>Jo,select:()=>Ls,setGlobalErrorHandler:()=>qa,setMaxDrainIterations:()=>Dn,setRuntimeErrorHandler:()=>Zt,show:()=>Ka,signal:()=>A,slot:()=>$s,small:()=>$i,source:()=>ts,span:()=>H,stop:()=>ra,store:()=>gc,strict:()=>yc,strictEffect:()=>vc,strong:()=>Ii,style:()=>Te,sub:()=>Pi,summary:()=>Hs,sup:()=>Bi,svg:()=>ns,symbol:()=>ia,table:()=>fs,tagFactory:()=>u,takePendingError:()=>et,tbody:()=>ps,td:()=>ms,template:()=>Is,text:()=>Gs,textarea:()=>Rs,tfoot:()=>gs,th:()=>bs,thead:()=>hs,time:()=>Fi,title:()=>Uo,tr:()=>ys,track:()=>Ui,transition:()=>Dc,trapFocus:()=>br,trustHTML:()=>Hr,tspan:()=>Ys,u:()=>Vi,ul:()=>bi,unregisterComponent:()=>Ya,unregisterDisposer:()=>Pe,unregisterIsland:()=>Ac,untracked:()=>X,use:()=>oa,var_:()=>zi,video:()=>Ji,watch:()=>bc,when:()=>Ua,withSSR:()=>Qn,writable:()=>hc});var Xt=Symbol.for("sibujs.runtime-errors.v1");function dt(){let e=globalThis,n=e[Xt];if(n)return n;let t={handler:null,handlerDepth:0};return e[Xt]=t,t}function Zt(e){let n=dt(),t=n.handler;return n.handler=e,t}function Qt(){return dt().handler}function ft(e){if(e instanceof Error)return e;let n=typeof e=="string"?e:`Non-Error value thrown: ${Ur(e)}`;return new Error(n,{cause:e})}function Ur(e){if(typeof e=="symbol")return e.toString();try{return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}catch{return Object.prototype.toString.call(e)}}function Jr(e){return e.name?`${e.phase} "${e.name}"`:e.phase}var Gr=Symbol.for("sibujs.reactive.v1");function Yr(e){let n=globalThis[Gr];return n?.untracked?n.untracked(e):e()}var Xr="sibu:error-propagate";function Zr(e,n){let t=n.node;if(!t||typeof CustomEvent>"u")return!1;let r=Qr(t);if(!r)return!1;try{let o=new CustomEvent(Xr,{bubbles:!0,cancelable:!0,detail:{error:e,context:n}});return r.dispatchEvent(o)===!1}catch{return!1}}function Qr(e){let t=e;for(;t;){if(t.nodeType===1&&typeof t.dispatchEvent=="function")return t;t=t.parentNode}let r=e;return typeof r.dispatchEvent=="function"?r:null}function eo(e,n){typeof console>"u"||console.error(`[SibuJS] Uncaught error during ${Jr(n)}: ${e.message}`,e)}function w(e,n){let t=ft(e);Yr(()=>{if(Zr(t,n))return;let r=dt(),o=r.handler;if(o&&r.handlerDepth===0){r.handlerDepth++;try{o(e instanceof Error?e:t,n);return}catch(i){if(typeof console<"u"){let s=i instanceof Error?i.message:String(i);console.error(`[SibuJS] runtime error handler itself threw: ${s}`,i)}}finally{r.handlerDepth--}}eo(t,n)})}function ee(){return typeof globalThis.__SIBU_DEV__<"u"?!!globalThis.__SIBU_DEV__:!0}function R(e,n){if(!e)throw new Error(`[SibuJS] ${n}`)}function U(e){{let n=e();n&&console.warn(`[SibuJS] ${n}`)}}function D(e){console.warn(`[SibuJS] ${e}`)}var te=new WeakMap,re=1e4;function le(e,n,t){typeof console>"u"||console.error(`[SibuJS ${e}] runaway cleanup: stopped after running ${n} teardowns with ${t} still queued. Cleanup production did not stabilize before the teardown safety ceiling was reached \u2014 the remaining work was NOT run.`,{executed:n,remaining:t})}var be=0;function Ge(e){let n=e;for(;n?.closed;)n=n.forwardTo;return n??null}var j=[];function en(){return Ge(j[j.length-1])}function tn(e){return e===null&&j.length===0?!1:(j.push(Ge(e)),!0)}function nn(){j.pop()}function x(e,n){let t=te.get(e);t||(t=[],te.set(e,t)),t.push(n),be++;let r=Ge(j[j.length-1]);r&&r.entries.push([e,n])}function rn(e){let n={entries:[],closed:!1},t=n.entries;j.push(n);let r;try{r=e()}catch(i){let s=0;try{for(;t.length>0;){if(s>=re){le("rollback",s,t.length);break}let[a,c]=t.pop();if(Pe(a,c)){s++;try{c()}catch(l){w(l,{phase:"cleanup",name:"disposer"})}}}}finally{n.closed=!0,t.length=0,j.pop()}throw i}n.closed=!0,j.pop();let o=Ge(j[j.length-1]);if(o){for(let i of t)te.get(i[0])?.includes(i[1])&&o.entries.push(i);n.forwardTo=o}return t.length=0,r}function Pe(e,n){let t=te.get(e);if(!t)return!1;let r=t.indexOf(n);return r===-1?!1:(t.splice(r,1),be--,t.length===0&&te.delete(e),!0)}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--)to(t[r])}function to(e){if(!te.has(e))return;let n=0,t=!1;for(;!t;){let r=te.get(e);if(!r||r.length===0)break;let o=r.slice();te.delete(e),be-=o.length;for(let i=0;i<o.length;i++){if(n>=re){let s=o.slice(i),a=te.get(e);te.set(e,a?s.concat(a):s),be+=s.length,le("dispose",n,s.length+(a?.length??0)),t=!0;break}n++;try{o[i]()}catch(s){w(s,{phase:"cleanup",name:"disposer"})}}}}function V(e,...n){for(let r=0;r<n.length;r++){let o=n[r];o.parentNode?.removeChild(o)}let t=Array.from(e.childNodes);for(let r=0;r<t.length;r++)M(t[r]);e.replaceChildren(...n)}function on(e=0){return e>0&&be>e&&D(`checkLeaks: ${be} active DOM bindings detected. Expected \u2264${e}. This may indicate a component was removed from the DOM without calling dispose().`),be}function no(e){return e.replace(/[\x00-\x20\x7f-\x9f]+/g,"")}function Ne(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 ro=["http:","https:","mailto:","tel:","ftp:"],oo=/^[\x00-\x20\x7f-\x9f]+|[\x00-\x20\x7f-\x9f]+$/g;function ln(e){let n=no(e).trim();if(!n)return"";let t=e.replace(oo,""),r=n.toLowerCase(),o=-1;for(let s=0;s<r.length;s++){let a=r.charCodeAt(s);if(a===58){o=s;break}if(a===47||a===63||a===35)break}if(o===-1)return t;let i=r.slice(0,o+1);return/^[a-z][a-z0-9+.-]*:$/.test(i)&&ro.indexOf(i)===-1?"":t}var io=/^\s+\d+(\.\d+)?[wx]$/;function so(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||i[2]!==void 0&&!io.test(i[2]))continue;let s=ln(i[1]);s&&t.push(i[2]?`${s}${i[2]}`:s)}return t.join(", ")}var ao=/[(:@\\]/;function co(e){return e===" "||e===" "||e===`
|
|
2
|
+
`||e==="\r"||e==="\f"}function sn(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"}function uo(e){let n="";for(let t=0;t<e.length;t++){let r=e[t];if(r!=="\\"){n+=r;continue}if(t+1>=e.length)break;let o=e[t+1];if(o===`
|
|
3
3
|
`||o==="\f"){t+=1;continue}if(o==="\r"){t+=e[t+2]===`
|
|
4
|
-
`?2:1;continue}if(
|
|
5
|
-
`?2:1);let s=Number.parseInt(i,16),c=s===0||s>1114111||s>=55296&&s<=57343;n+=c?"\uFFFD":String.fromCodePoint(s),t=a-1;continue}n+=o,t+=1}return n}var rn=["url(","expression(","javascript:","vbscript:","-moz-binding","behavior:","@import","image-set(","filter:progid"];function io(e){if(!e)return"an element";let n=e.tagName.toLowerCase(),t=e.getAttribute("id");t&&(n+=`#${t}`);let r=e.getAttribute("class");return r&&(n+=`.${r.trim().split(/\s+/).slice(0,3).join(".")}`),`<${n}>`}var ct=new Set,on=100,sn=!1;function cn(e,n,t){W(()=>{let r=["url() in an inline style is an exfiltration channel: the browser fetches it immediately and the URL's path or query can carry page data off-origin","expression() executes arbitrary script in legacy engines","the javascript: scheme executes script","the vbscript: scheme executes script","-moz-binding loads and runs remote XBL","behavior: loads and runs a remote HTC script","@import pulls in a remote stylesheet","image-set() fetches remote images, the same exfiltration channel as url()","filter:progid activates legacy scriptable filters"],o=t?.property?`${t.property}: ${e}`:e,i=io(t?.element),a=`${i}|${o}`;return ct.has(a)?"":ct.size>=on?sn?"":(sn=!0,`${on} distinct dropped style declarations have been reported; suppressing further ones for the rest of this session so they cannot flood the console. The declarations are still dropped \u2014 only the reporting stops. Fix the reported ones and reload to see any that remain.`):(ct.add(a),`style declaration "${o}" was dropped by the style sanitizer on ${i} \u2014 ${r[n]}. The element renders without it, which usually looks like a missing image rather than an error. Sanctioned alternatives: for a content image use an <img> element (or a <picture>); for decoration, put the rule in a stylesheet and set a class instead \u2014 stylesheet CSS is not sanitized, only inline style attributes are. If this declaration is not yours, it came from untrusted data and the drop just prevented an exfiltration.`)})}function ut(e){if(!no.test(e))return-1;let t=(e.includes("\\")?oo(e):e).toLowerCase().replace(/\s+/g,"");for(let r=0;r<rn.length;r++)if(t.includes(rn[r]))return r;return-1}function We(e,n){let t=ut(e);return t===-1?e:(cn(e,t,n),"")}function Ue(e,n){let t=String(e);if(t.trim()==="")return"";if(typeof document>"u")return We(t,n)===""?"":t;let r=document.createElement("div");try{r.style.cssText=t}catch{return""}let o=[];for(let i=0;i<r.style.length;i++){let a=r.style[i],s=r.style.getPropertyValue(a),c=ut(s);if(c===-1&&(c=ut(`${a}:${s}`)),c!==-1){cn(s,c,{property:a,element:n?.element});continue}let l=r.style.getPropertyPriority(a);o.push(`${a}: ${s}${l?` !${l}`:""}`)}return o.join("; ")}var so=new Set(["href","xlink:href","src","action","formaction","formtarget","cite","poster","background","srcset","ping","data","manifest"]),ao=new Set(["srcdoc"]);function un(e){return ao.has(e.toLowerCase())}function ln(e,n,t){let r=e.toLowerCase();return r==="srcset"?to(n):so.has(r)?an(n):r==="style"?Ue(n,t):n}var co="http://www.w3.org/1999/xhtml",uo="http://www.w3.org/2000/svg",lo="http://www.w3.org/1999/xlink",fo="http://www.w3.org/XML/1998/namespace",po=new Set(["checked","disabled","selected"]);function mo(e){return e.namespaceURI===null||e.namespaceURI===co}function dn(e,n,t){e[n]=t}function go(e,n){if(e.namespaceURI!==uo)return null;let t=n.toLowerCase();return t.startsWith("xlink:")?lo:t.startsWith("xml:")?fo:null}function U(e,n,t,r={}){let o=go(e,n),i=o?n.slice(n.indexOf(":")+1):n;if(we(n))return M(`${r.label??"setSafeAttribute"}: refusing to set event-handler attribute "${n}". Its value would be evaluated as JavaScript. Use on:{ ${n.slice(2)}: fn } instead.`),o?e.removeAttributeNS(o,i):e.removeAttribute(n),!1;if(t==null)return o?e.removeAttributeNS(o,i):e.removeAttribute(n),!0;if(un(n))return M(`${r.label??"setSafeAttribute"}: refusing to set "${n}". The browser parses this attribute as a nested HTML document, so a generic string value cannot be made safe \u2014 attribute escaping is undone before the parse. Build the frame's content another way.`),o?e.removeAttributeNS(o,i):e.removeAttribute(n),!1;let a=mo(e),s=a?n.toLowerCase():n;if(typeof t=="boolean"){if(n.length>5&&n.slice(0,5).toLowerCase()==="aria-"){let g=t?"true":"false";return(o?e.getAttributeNS(o,i):e.getAttribute(n))!==g&&(o?e.setAttributeNS(o,n,g):e.setAttribute(n,g)),!0}return a&&po.has(s)&&s in e?dn(e,s,t):t?o?e.setAttributeNS(o,n,""):e.setAttribute(n,""):o?e.removeAttributeNS(o,i):e.removeAttribute(n),!0}let c=String(t);if(r.syncValueProperty!==!1&&a&&(s==="value"||s==="checked")&&s in e)return dn(e,s,s==="checked"?!!t:c),!0;let l=ln(n,c,{element:e});return(o?e.getAttributeNS(o,i):e.getAttribute(n))===l||(o?e.setAttributeNS(o,n,l):e.setAttribute(n,l)),!0}var bo=4096,lt=[];function ho(){return{sig:null,sub:null,epoch:0,depVersion:0,sigPrev:null,sigNext:null,subPrev:null,subNext:null,prevActive:null}}function yo(e,n,t){let r=lt.pop();if(r)return r.sig=e,r.sub=n,r.epoch=t,r;let o=ho();return o.sig=e,o.sub=n,o.epoch=t,o}function fn(e){e.sig=null,e.sub=null,e.sigPrev=null,e.sigNext=null,e.subPrev=null,e.subNext=null,e.prevActive=null,lt.length<bo&<.push(e)}function vo(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 pn(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 xo(e,n){let t=e.depsTail??null;n.subPrev=t,n.subNext=null,t?t.subNext=n:e.depsHead=n,e.depsTail=n}function So(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 J=null,ee=null,ie=0,se=[],K=new Set,To=[];function Eo(e){try{e()}catch(n){let t=e;w(n,{phase:t._errorPhase??"effect",name:t.__name,node:t._errorNode})}}function wo(e){let n=e.depsHead??null;if(n===null)return!0;for(;n!==null;){let t=n.sig;if(t===null)return!0;if(t._d===!0&&t._validate!==void 0)try{t._validate()}catch{return!0}if(n.depVersion!==t.__v)return!0;n=n.subNext}return!1}var X=0,te=!1;function ft(){X===0&&(ee=J,J=null,te=!0),X++}function pt(){X--,X===0&&(J=ee,ee=null,te=!1)}function mn(){return te}function gn(e){ft();try{return e()}finally{pt()}}var ko=0;function mt(e,n){let t=J,r=0,o=null;te&&(r=X,o=ee,X=0,ee=null,te=!1),J=n;let i=n;i._cap===void 0&&(i._cap=Xt());let a=++ko;i._epoch=a,i._structDirty=!1;for(let s=i.depsHead??null;s!==null;s=s.subNext){let c=s.sig;s.prevActive=c.__activeNode??null,c.__activeNode=s}try{e()}finally{J=t,r!==0&&(X=r,ee=o,te=!0);let s=i.depsHead??null;for(;s!==null;){let c=s.subNext,l=s.sig;l.__activeNode=s.prevActive,s.prevActive=null,s.epoch!==a&&(So(s),pn(s),fn(s)),s=c}}}function bn(e,n){if(!n)return gt(e);ke(n);let t=J,r=0,o=null;te&&(r=X,o=ee,X=0,ee=null,te=!1),J=n;try{e()}finally{J=t,r!==0&&(X=r,ee=o,te=!0);let a=n;for(let s=a.depsHead??null;s!==null;s=s.subNext){let c=s.sig;c.__activeNode=s.prevActive,s.prevActive=null}}let i=n;return i._dispose??(i._dispose=()=>ke(n))}function gt(e,n){let t=()=>{let o=r;if(!(o._disposed||o._reentrant)){o._reentrant=!0;try{mt(e,r)}finally{o._reentrant=!1}}},r=t;r.depsHead=null,r.depsTail=null,r._epoch=0,r._structDirty=!1,r._hasComputedDep=!1,r._runEpoch=0,r._runs=0,r._reentrant=!1,r._disposed=!1,r._errorPhase="binding",r._errorNode=n;try{t()}catch(o){throw r._disposed=!0,r._errorNode=void 0,ke(r),o}return r._dispose??(r._dispose=()=>{r._disposed=!0,r._errorNode=void 0,ke(r)})}function hn(e){if(!J)return;let n=J,t=e,r=n._epoch??0,o=t.__activeNode??null;if(o!==null&&o.sub===n){o.epoch=r,o.depVersion=t.__v??Number.NaN;return}t._validate!==void 0&&(n._hasComputedDep=!0);let i=yo(e,n,r);i.depVersion=t.__v??Number.NaN,i.prevActive=o,t.__activeNode=i,xo(n,i),vo(t,i),n._structDirty=!0}function ke(e){let n=e,t=n.depsHead??null;for(n.depsHead=null,n.depsTail=null;t;){let r=t.subNext;pn(t),fn(t),t=r}}var Ke=1e3,Je=1e6,Ge=0,fe=new Set;function yn(e){let n=Ke;return Number.isFinite(e)&&e>0&&(Ke=Math.floor(e)),n}function vn(e){let n=Je;return Number.isFinite(e)&&e>0&&(Je=Math.floor(e)),n}function _o(e){let n=e;return n._runEpoch!==Ge?(n._runEpoch=Ge,n._runs=1,!1):(n._runs=(n._runs??0)+1,n._runs>Ke)}function Ao(e){let n=e.__name??"<unnamed>";w(new Error(`subscriber "${n}" fired more than ${Ke} times \u2014 likely a write-reads-self cycle between effects/signals. This subscriber is quarantined for the rest of this update; other pending work still runs.`),{phase:"scheduler",name:n})}function Co(){w(new Error(`Notification drain exceeded ${Je} iterations \u2014 absolute safety net tripped. Breaking to prevent infinite loop.`),{phase:"scheduler"})}function xn(){let e=0;for(;e<se.length;){if(e>=Je){Co();break}let n=se[e++];if(K.delete(n),fe.size>0&&fe.has(n)||n._hasComputedDep===!0&&!wo(n))continue;if(_o(n)){Ao(n),fe.add(n);continue}let t=Qt(n._cap??null);try{Eo(n)}finally{t&&en()}}}function Sn(){if(!(ie>0)){ie++,Ge++;try{xn()}finally{ie--,ie===0&&(se.length=0,K.clear(),fe.size>0&&fe.clear())}}}function dt(e){e();let n=e._sig;if(!n)return;let t=To,r=t.length;for(t.push(n);t.length>r;){let i=t.pop().subsHead??null;for(;i;){let a=i.sub;if(a)if(a._c){let s=a._sig;s?(!s._d||s._f===!0)&&(s._d=!0,s._f=!1,t.push(s)):a()}else K.has(a)||(K.add(a),se.push(a));i=i.sigNext}}}function Tn(e){let t=e.subsHead??null;for(;t;){let r=t.sub;r&&(r._c?dt(r):K.has(r)||(K.add(r),se.push(r))),t=t.sigNext}}function En(e){let t=e.subsHead;if(t){if(ie>0){let r=t;for(;r;){let o=r.sub;o&&(o._c?dt(o):K.has(o)||(K.add(o),se.push(o))),r=r.sigNext}return}ie++,Ge++;try{let r=t;for(;r;){let o=r.sub;o&&(o._c?dt(o):K.has(o)||(K.add(o),se.push(o))),r=r.sigNext}xn()}finally{ie--,ie===0&&(se.length=0,K.clear(),fe.size>0&&fe.clear())}}}function wn(e){return e.__sc??0}function kn(e){let n=e,t=[],r=n.depsHead??null;for(;r;)r.sig&&t.push(r.sig),r=r.subNext;return t}function _n(e,n){let t=e.subsHead??null;for(;t;){let r=t.sub;r&&n(r),t=t.sigNext}}var An="4.6.0",Cn=Symbol.for("sibujs.reactive.v1");function Lo(){let e=globalThis,n=e[Cn];if(n)return!n.__dupWarned&&(n.__dupWarned=!0,M(`Multiple instances of the reactive runtime detected on this page (active: ${n.version}, duplicate: ${An}). Reactivity is NOT broken and no bundler configuration is required: every copy routes through the first one via a global registry, so signal writes still reach subscribers registered by any copy. This is only a SIZE issue \u2014 the duplicate copy's bytes are downloaded and parsed for nothing. If you want them back, de-duplicate sibujs in your bundler (Vite: resolve.dedupe: ['sibujs']). Mismatched VERSIONS above are worth fixing regardless, since only the first one loaded is used.`)),n;let t={suspendTracking:ft,resumeTracking:pt,isTrackingSuspended:mn,untracked:gn,retrack:mt,track:bn,reactiveBinding:gt,recordDependency:hn,cleanup:ke,setMaxSubscriberRepeats:yn,setMaxDrainIterations:vn,drainNotificationQueue:Sn,queueSignalNotification:Tn,notifySubscribers:En,getSubscriberCount:wn,getSubscriberDeps:kn,forEachSubscriber:_n,version:An};return e[Cn]=t,t}var $=Lo(),pe=$.suspendTracking,me=$.resumeTracking,Nn=$.isTrackingSuspended,Oe=$.untracked,ae=$.retrack,q=$.track,I=$.reactiveBinding,ge=$.recordDependency,$e=$.cleanup,Wc=$.setMaxSubscriberRepeats,Ln=$.setMaxDrainIterations,Rn=$.drainNotificationQueue,Mn=$.queueSignalNotification,_e=$.notifySubscribers,Uc=$.getSubscriberCount,Kc=$.getSubscriberDeps,Jc=$.forEachSubscriber;function Ye(e,n,t){if(we(n))return U(e,n,"",{label:`bindAttribute("${n}")`}),()=>{};function r(){let o;try{o=t()}catch(i){w(i,{phase:"binding",name:`bindAttribute("${n}")`,node:e});return}U(e,n,o,{label:`bindAttribute("${n}")`})}return I(r,e)}function Dn(e,n,t){let r=null;function o(){let a;try{a=typeof n=="function"?n():n}catch(c){w(c,{phase:"binding",name:"bindDynamic (name getter)",node:e});return}let s;try{s=typeof t=="function"?t():t}catch(c){w(c,{phase:"binding",name:"bindDynamic (value getter)",node:e});return}r!==null&&r!==a&&(e.removeAttribute(r),r=null),U(e,a,s,{label:"bindDynamic"})&&(r=a)}let i=I(o,e);return()=>{i(),r!==null&&e.removeAttribute(r)}}var bt=["data-focus-key","id","name"],Ro=new Set(["text","search","url","tel","password",""]);function Mo(e){let n=e.tagName;if(!(n==="TEXTAREA"||n==="INPUT"&&Ro.has(e.type.toLowerCase())))return{start:null,end:null,direction:null};let r=e;return{start:r.selectionStart,end:r.selectionEnd,direction:r.selectionDirection}}function Ie(e){if(e.length===0||typeof document>"u")return null;let n=document.activeElement;if(!n||n===document.body)return null;let t=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a===n||a.nodeType===1&&a.contains(n)){t=!0;break}}if(!t)return null;let r=null,o=null;for(let i=0;i<bt.length;i++){let a=n.getAttribute(bt[i]);if(a){r=bt[i],o=a;break}}return{el:n,attr:r,value:o,tag:n.tagName,...Mo(n)}}function Do(e){return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Ho(e,n){let t=null,r=0;for(let o=0;o<e.length;o++){let i=e[o];if(i.nodeType!==1)continue;let a=i;a.matches(n)&&(r++,t??(t=a));let s=a.querySelectorAll(n);for(let c=0;c<s.length;c++)r++,t??(t=s[c]);if(r>1)return{el:null,count:r}}return r===1?{el:t,count:r}:{el:null,count:r}}function Hn(e,n){if(e.focus(),n.start!==null&&typeof e.setSelectionRange=="function"){let t=e,r=t.value.length,o=Math.min(n.start,r),i=Math.min(n.end??o,r);t.setSelectionRange(o,i,n.direction??"none")}}function Ae(e,n,t){if(!e||typeof document>"u")return;let r=document.activeElement;if(r===e.el||r&&r!==document.body&&r!==document.documentElement)return;if(e.el.isConnected){Hn(e.el,e);return}let o=!1;if(e.attr&&e.value){let{el:i,count:a}=Ho(n,`[${e.attr}=${Do(e.value)}]`);if(i&&i.tagName===e.tag){Hn(i,e);return}o=a>1}W(()=>{let i=e.attr?` (${e.attr}="${e.value}")`:"",a=o?`several elements in the rebuilt subtree share ${e.attr}="${e.value}", so there is no way to tell which one the user was in \u2014 a shared name (a radio group) identifies a GROUP, not a control. Add a unique id or data-focus-key to each`:"no element in the rebuilt subtree carries the same identity. Give it a stable id, name, or data-focus-key that the rebuild reproduces";return`${t}: a reactive rebuild discarded the focused element <${e.tag.toLowerCase()}>${i} and could not re-establish it, so focus fell back to <body>. An in-progress edit ends here, and an in-progress IME composition is lost outright \u2014 a composition belongs to the DOM node, so it cannot survive the node being destroyed. ${a}, or stop the rebuild from happening: key the subtree with match(() => shapeKey(), { \u2026 }) so it is re-created only when the shape actually changes, and drive the rest with reactive attributes and text children, which mutate nodes in place instead of replacing them.`})}function be(e,n){let t=[];function r(){let o;try{o=n()}catch(p){w(p,{phase:"binding",name:"bindChildNode",node:e});return}let i=Ie(t);if(o==null||typeof o=="boolean"){for(let p=0;p<t.length;p++){let g=t[p];D(g),g.parentNode&&g.parentNode.removeChild(g)}t.length=0,Ae(i,t,"bindChildNode");return}let a=e.parentNode;if(!a){t.length=0;return}let s;if(Array.isArray(o)){s=[];let p=new Set;for(let g=0;g<o.length;g++){let m=o[g];if(m==null||typeof m=="boolean")continue;let d=m instanceof Node?m:document.createTextNode(String(m));if(p.has(d)){M("bindChildNode: duplicate node reference in array \u2014 only the first occurrence is rendered.");continue}p.add(d),s.push(d)}}else s=[o instanceof Node?o:document.createTextNode(String(o))];let c;if(t.length>0&&s.length>0){let p=new Set(t);c=new Set;for(let g=0;g<s.length;g++)p.has(s[g])&&c.add(s[g])}for(let p=0;p<t.length;p++){let g=t[p];c?.has(g)||(D(g),g.parentNode&&g.parentNode.removeChild(g))}let l=e;for(let p=0;p<s.length;p++){let g=s[p];l.nextSibling!==g&&a.insertBefore(g,l.nextSibling),l=g}t=s,Ae(i,s,"bindChildNode")}return I(r,e)}var L="http://www.w3.org/2000/svg",Oo=new Set(["script","iframe","object","embed","frame","frameset"]);function $o(e){return Oo.has(e.toLowerCase())}var Io=new Set(["config","location","history","document","window","navigator","name","top","parent","self","frames"]);var ht=new Set,On=100,$n=!1,In=new Map;function Po(e){let n=In.get(e);return n!==void 0||(n=e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),In.set(e,n)),n}function Bo(e,n){if(typeof n=="function"){let r=I(()=>{e.setAttribute("style",Ue(String(n()),{element:e}))},e);T(e,r);return}if(typeof n=="string"){e.setAttribute("style",Ue(n,{element:e}));return}let t=e;for(let r in n){let o=n[r],i=Po(r);if(typeof o=="function"){let a=o,s=I(()=>{t.style.setProperty(i,We(String(a()),{property:i,element:e}))},e);T(e,s)}else t.style.setProperty(i,We(String(o),{property:i,element:e}))}}function Fo(e,n){if(typeof n=="string"){e.setAttribute("class",n);return}if(typeof n=="function"){let i=I(()=>{e.setAttribute("class",n())},e);T(e,i);return}let t=n,r=!1,o="";for(let i in t){let a=t[i];if(typeof a=="function"){r=!0;break}a&&(o=o?`${o} ${i}`:i)}if(r){let a=I(()=>{let s="";for(let c in t){let l=t[c];(typeof l=="function"?l():l)&&(s=s?`${s} ${c}`:c)}e.setAttribute("class",s)},e);T(e,a)}else e.setAttribute("class",o)}function yt(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,be(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,be(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 a=document.createComment("");e.appendChild(a),T(e,be(a,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)=>{let t=$o(e);return(r,o)=>{if(t)throw new Error(`tagFactory: refusing to create <${e}> \u2014 tag is blocked for security reasons.`);let i=n?document.createElementNS(n,e):document.createElement(e);if(r===void 0)return i;if(typeof r=="string")return o!==void 0?(i.setAttribute("class",r),yt(i,o),i):(W(()=>{let d=r.trim().split(/\s+/);if(d.length<2)return"";let f=0;for(let h=0;h<d.length;h++){let y=d[h];if(!/^-?[A-Za-z_][A-Za-z0-9_:/.-]*$/.test(y))return"";/[-:/0-9]/.test(y)&&f++}if(f<2)return"";let b=`${e}|${r}`;return ht.has(b)?"":ht.size>=On?$n?"":($n=!0,`tagFactory: ${On} distinct lone-string class warnings have been reported; suppressing further ones for the rest of this session so they cannot flood the console. Fix the reported ones and reload to see any that remain.`):(ht.add(b),`tagFactory: lone string "${r}" looks like a class list but is being rendered as TEXT. For a class, use ${e}({ class: "${r}" }) \u2014 or ${e}("${r}", children) to set the class AND add children.`)}),i.textContent=r,i);if(typeof r=="number")return i.textContent=String(r),i;if(Array.isArray(r)||r instanceof Node||typeof r=="function")return yt(i,r),i;let a=r,s=a.class;s!=null&&Fo(i,s);let c=a.id;c!=null&&(typeof c=="string"&&Io.has(c.toLowerCase())&&M(`tagFactory: element id="${c}" matches a common global and may cause DOM clobbering. Avoid setting ids from untrusted input.`),i.id=c);let l=o!==void 0?o:a.nodes;l!=null&&yt(i,l);let p=a.on;if(p)for(let d in p){let f=p[d];typeof f=="function"?i.addEventListener(d,f):M(`tagFactory: on.${d} handler is not a function (got ${typeof f}). Event listener was not attached.`)}let g=a.style;g!=null&&Bo(i,g);let m=a.ref;m&&(m.current=i);for(let d in a)switch(d){case"class":case"id":case"nodes":case"on":case"style":case"ref":case"onElement":continue;default:{let f=a[d];if(f==null||we(d))continue;typeof f=="function"?T(i,Ye(i,d,f)):U(i,d,f,{syncValueProperty:!1,label:"tagFactory"})}}return a.onElement&&typeof a.onElement=="function"&&a.onElement(i),i}};var yu=u("html"),zo=u("head"),Vo=u("body"),qo=u("title"),_=u("div"),O=u("span"),jo=u("section"),Wo=u("article"),Uo=u("header"),Ko=u("footer"),Jo=u("nav"),Go=u("main"),Yo=u("aside"),Zo=u("address"),vt=u("p"),Xo=u("h1"),Qo=u("h2"),xt=u("h3"),ei=u("h4"),ti=u("h5"),ni=u("h6"),ri=u("blockquote"),oi=u("dd"),ii=u("dl"),si=u("dt"),ai=u("figcaption"),ci=u("figure"),ui=u("hr"),li=u("li"),di=u("ol"),fi=u("ul"),St=u("pre"),pi=u("a"),mi=u("abbr"),gi=u("b"),bi=u("bdi"),hi=u("bdo"),yi=u("br"),vi=u("cite"),Tt=u("code"),xi=u("data"),Si=u("dfn"),Ti=u("em"),Ei=u("i"),wi=u("kbd"),ki=u("mark"),_i=u("q"),Ai=u("rp"),Ci=u("rt"),Ni=u("ruby"),Li=u("s"),Ri=u("samp"),Mi=u("small"),Di=u("strong"),Hi=u("sub"),Oi=u("sup"),$i=u("time"),Ii=u("u"),Pi=u("var"),Bi=u("area"),Fi=u("audio"),zi=u("img"),Vi=u("map"),qi=u("track"),ji=u("video"),Wi=u("embed"),Ui=u("iframe"),Ki=u("object"),Ji=u("param"),Gi=u("picture"),Yi=u("portal"),Zi=u("source"),Xi=u("svg",L),Qi=u("math"),es=u("canvas"),ts=u("noscript"),ns=u("script"),rs=u("del"),os=u("ins"),is=u("caption"),ss=u("col"),as=u("colgroup"),cs=u("table"),us=u("tbody"),ls=u("td"),ds=u("tfoot"),fs=u("th"),ps=u("thead"),ms=u("tr"),Pe=u("button"),gs=u("datalist"),bs=u("fieldset"),hs=u("form"),ys=u("input"),vs=u("label"),xs=u("legend"),Ss=u("meter"),Ts=u("optgroup"),Es=u("option"),ws=u("output"),ks=u("progress"),_s=u("select"),As=u("textarea"),Cs=u("details"),Ns=u("dialog"),Ls=u("menu"),Rs=u("summary"),Ms=u("slot"),Ds=u("template"),Hs=u("base"),Os=u("link"),$s=u("meta"),he=u("style"),Is=u("circle",L),Ps=u("ellipse",L),Bs=u("g",L),Fs=u("line",L),zs=u("path",L),Vs=u("polygon",L),qs=u("polyline",L),js=u("rect",L),Ws=u("text",L),Us=u("tspan",L),Ks=u("defs",L),Js=u("clipPath",L),Gs=u("mask",L),Ys=u("pattern",L),Zs=u("linearGradient",L),Xs=u("radialGradient",L),Qs=u("stop",L),ea=u("use",L),ta=u("symbol",L),na=u("marker",L),ra=u("center"),oa=u("font"),ia=u("marquee"),sa=e=>u(e);var Et="__sibuPendingError";function Pn(e,n){let t=()=>e.parentNode?(w(n,{phase:"render",name:"lazy",node:e}),!0):!1;t()||queueMicrotask(()=>{t()||(e[Et]=n)})}function Ze(e){let n=e,t=n[Et];if(t instanceof Error)return delete n[Et],t}function Bn(e){let n=null;return function(){if(n)return n();let r=_({class:"sibu-lazy"}),o=!1;return e().then(i=>{if(o)return;n=i.default;let a=n();z(r,a)}).catch(i=>{if(o)return;let a=i instanceof Error?i:new Error(String(i));z(r,_({class:"sibu-lazy-error"},`Failed to load component: ${a.message}`)),Pn(r,a)}),r.appendChild(O("sibu-lazy-loading","Loading...")),T(r,()=>{o=!0}),r}}function Fn({nodes:e,fallback:n}){let t=_({class:"sibu-suspense"}),r=n();t.appendChild(r);let o=!1,i=null,a=null;return T(t,()=>{o=!0,i&&(i.disconnect(),i=null),a&&!t.contains(a)&&D(a)}),queueMicrotask(()=>{if(!o)try{let s=e();if(a=s,s.classList.contains("sibu-lazy")){if(!s.querySelector(".sibu-lazy-loading")){z(t,s);return}i=new MutationObserver(()=>{if(o)return;s.querySelector(".sibu-lazy-loading")||(i?.disconnect(),i=null,z(t,s))}),i.observe(s,{childList:!0,subtree:!0})}else z(t,s)}catch(s){let c=s instanceof Error?s:new Error(String(s));Pn(t,c)}}),t}function At(e,n){try{return e()}catch(t){let r=n.toLowerCase().includes("unmount")?"cleanup":"effect";w(t,{phase:r,name:n});return}}function wt(e,n,t){let r=At(e,n);typeof r=="function"&&t&&T(t,r)}var Ce=new WeakMap,ye=new WeakMap,ne=new Set,re=new Set,Ne=null,Xe=0,aa=256;function kt(e){let n=Ce.get(e);if(n){Ce.delete(e),ne.delete(e);for(let t of n)try{t()}catch{}}}function _t(e){ye.get(e)&&queueMicrotask(()=>{if(e.isConnected)return;let t=ye.get(e);if(t){ye.delete(e),re.delete(e);for(let r of t)try{r()}catch{}}})}function ca(e){if(ne.size===0||e.nodeType!==1)return;let n=e;if(ne.has(n)&&n.isConnected&&kt(n),n.firstElementChild)for(let t of Array.from(ne))t!==n&&t.isConnected&&n.contains(t)&&kt(t)}function ua(e){if(re.size===0||e.nodeType!==1)return;let n=e;if(re.has(n)&&!n.isConnected&&_t(n),n.firstElementChild)for(let t of Array.from(re))t!==n&&!t.isConnected&&n.contains(t)&&_t(t)}function la(){if(ne.size>0)for(let e of Array.from(ne))e.isConnected&&kt(e);if(re.size>0)for(let e of Array.from(re))e.isConnected||_t(e)}function zn(){Ne||typeof document>"u"||(Ne=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++)ca(n.addedNodes[t]);if(n.removedNodes.length>0)for(let t=0;t<n.removedNodes.length;t++)ua(n.removedNodes[t])}Xe+=e.length,Xe>=aa&&(Xe=0,la()),Ct()}),Ne.observe(document.body,{childList:!0,subtree:!0}))}function Ct(){Ne&&ne.size===0&&re.size===0&&(Ne.disconnect(),Ne=null,Xe=0)}function da(e,n){let t=Ce.get(e);return t||(t=[],Ce.set(e,t)),t.push(n),ne.add(e),zn(),()=>{let r=Ce.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(Ce.delete(e),ne.delete(e))}Ct()}}function fa(e,n){let t=ye.get(e);return t||(t=[],ye.set(e,t)),t.push(n),re.add(e),zn(),()=>{let r=ye.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(ye.delete(e),re.delete(e))}Ct()}}function Qe(e,n){if(!(typeof document>"u"))if(n){let t=!1;if(T(n,()=>{t=!0}),n.isConnected){queueMicrotask(()=>{t||wt(e,"onMount",n)});return}queueMicrotask(()=>{if(t)return;if(n.isConnected){wt(e,"onMount",n);return}let r=da(n,()=>{t||wt(e,"onMount",n)});T(n,r)})}else queueMicrotask(()=>{At(e,"onMount")})}function pa(e,n){if(typeof document>"u")return;let t=!1,r=()=>{t||(t=!0,At(e,"onUnmount"))};T(n,r);let o=()=>{if(t)return;let i=fa(n,r);T(n,i)};n.isConnected?o():Qe(()=>{o()},n)}function ma(e,n){T(n,e)}var Nt=Symbol.for("sibujs.ssr.v1");function ga(){let e=null;try{if(typeof process<"u"&&process.versions&&process.versions.node){let n=null,t=process.getBuiltinModule;typeof t=="function"?n=t("node:async_hooks"):typeof ot=="function"&&(n=ot("async_hooks")),n&&(e=new n.AsyncLocalStorage)}}catch{e=null}return{als:e,fallbackStore:{ssr:!1,suspenseIdCounter:0,locale:void 0},fallbackDepth:0}}var ce=globalThis[Nt]??(globalThis[Nt]=ga()),ve=ce.als,F=ce.fallbackStore;ce.fallbackDepth??(ce.fallbackDepth=0);var Vn=!1;function ba(){if(Vn||ve||!(typeof process<"u"&&!!process.versions?.node))return;Vn=!0;let n=process.versions.node;M(`SSR request isolation is UNAVAILABLE on this runtime (Node ${n}). AsyncLocalStorage could not be loaded, so concurrent requests share one SSR store: request state and the query cache can bleed between them. Node >= 22.3 is required for isolated SSR under ESM; the CommonJS build works on older versions. A fully synchronous render is unaffected.`)}function xe(){if(ve){let e=ve.getStore();if(e)return e}return F}function qn(){return ve?ve.getStore()??null:ce.fallbackDepth>0?F:null}function G(){return xe().ssr}function jn(e){if(!G())return null;let n=xe(),t=n.caches??(n.caches=new Map),r=t.get(e);return r||(r=new Map,t.set(e,r)),r}function Wn(){xe().ssr=!0}function Un(){xe().ssr=!1}function Kn(e){let n={ssr:!0,suspenseIdCounter:0,idCounter:0,locale:void 0};if(ve)return ve.run(n,e);ba();let t=F.ssr,r=F.suspenseIdCounter,o=F.idCounter,i=F.locale;F.ssr=!0,F.suspenseIdCounter=0,F.idCounter=0,F.locale=void 0,ce.fallbackDepth++;try{return e()}finally{ce.fallbackDepth--,F.ssr=t,F.suspenseIdCounter=r,F.idCounter=o,F.locale=i}}function Jn(e){let n=xe(),t=n.ssr;n.ssr=!0;try{return e()}finally{t||(n.ssr=!1)}}var Zn=globalThis;function ha(e,n){let t,r=!0;return()=>{let o=e();if(r)r=!1,t=o,Oe(()=>n(o,void 0));else{let i=t;t=o,Oe(()=>n(o,i))}}}var Gn=100;function Lt(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){w(r,{phase:"cleanup"})}}}function Yn(e){let n=1;do e.rerunPending=!1,e.userCleanups.length>0&&Lt(e),ae(e.bodyFn,e.subscriber);while(e.rerunPending&&++n<=Gn);e.rerunPending&&(e.rerunPending=!1,w(new Error(`effect re-requested itself ${Gn}+ times \u2014 likely a write-reads-self cycle. Breaking to prevent infinite loop.`),{phase:"effect"}))}function ya(e){if(e.disposed)return;e.disposed=!0;let n=Zn.__SIBU_DEVTOOLS_GLOBAL_HOOK__;if(n)try{n.emit("effect:destroy",{effectFn:e.fn})}catch{}try{e.userCleanups.length>0&&Lt(e)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] onCleanup threw during dispose:",t)}try{$e(e.subscriber)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] dispose threw:",t)}}function j(e,n){if(R(typeof e=="function","effect: argument must be a function."),G())return()=>{};let t={fn:e,onError:n?.onError,userCleanups:[],running:!1,rerunPending:!1,disposed:!1,onCleanup:null,subscriber:null,bodyFn:null};t.onCleanup=a=>{t.userCleanups.push(a)};let r=t.onError;t.bodyFn=r?()=>{try{t.fn(t.onCleanup)}catch(a){r(a)}}:()=>{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&&Lt(t),ae(t.bodyFn,o),t.rerunPending&&Yn(t)}finally{t.running=!1,t.rerunPending=!1}}});o.depsHead=null,o.depsTail=null,o._epoch=0,o._structDirty=!1,o._hasComputedDep=!1,o._errorPhase="effect",o._runEpoch=0,o._runs=0,t.subscriber=o,t.running=!0;try{ae(t.bodyFn,t.subscriber),t.rerunPending&&Yn(t)}finally{t.running=!1,t.rerunPending=!1}let i=Zn.__SIBU_DEVTOOLS_GLOBAL_HOOK__;return i&&i.emit("effect:create",{effectFn:e}),()=>ya(t)}var Be=0,Rt=new Set;function va(e){Be++;try{return e()}finally{Be--,Be===0&&Ta()}}function xa(e){return Be===0?!1:(Rt.add(e),!0)}function Sa(){return Be>0}function Ta(){try{for(let e of Rt)Mn(e)}finally{Rt.clear()}Rn()}var Xn=Symbol.for("sibujs.reactive.batch.v1");function Ea(){let e=globalThis,n=e[Xn];if(n)return n;let t={batch:va,enqueueBatchedSignal:xa,isBatching:Sa};return e[Xn]=t,t}var Mt=Ea(),V=Mt.batch,Se=Mt.enqueueBatchedSignal,wa=Mt.isBatching;var Dt=globalThis;function C(e,n){let t={value:e,__v:0,__sc:0,subsHead:null,subsTail:null,__activeNode:null,__name:void 0,_d:!1,_validate:void 0},r=n?.name,o=n?.equals;r&&(t.__name=r);function i(){return ge(t),t.value}i.__signal=t,r&&(i.__name=r);let a;if(o?a=s=>{let c=t.value,l=typeof s=="function"?s(c):s;if(!o(c,l)){if(t.value=l,t.__v++,!0){let p=Dt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;p&&p.emit("signal:update",{signal:t,name:r,oldValue:c,newValue:l})}Se(t)||_e(t)}}:a=s=>{let c=t.value,l=typeof s=="function"?s(c):s;if(Object.is(l,c))return;t.value=l,t.__v++;let p=Dt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;p&&p.emit("signal:update",{signal:t,name:r,oldValue:c,newValue:l}),Se(t)||_e(t)},!0){let s=Dt.__SIBU_DEVTOOLS_GLOBAL_HOOK__;s&&s.emit("signal:create",{signal:t,name:r,getter:i,initial:e})}return[i,a]}function ka(e){let[n,t]=C(0,e?.name?{name:e.name}:void 0);return{track(){n()},invalidate(){t(r=>r+1)}}}var _a=`
|
|
4
|
+
`?2:1;continue}if(sn(o)){let i="",s=t+1;for(;s<e.length&&i.length<6&&sn(e[s]);)i+=e[s],s++;s<e.length&&co(e[s])&&(s+=e[s]==="\r"&&e[s+1]===`
|
|
5
|
+
`?2:1);let a=Number.parseInt(i,16),c=a===0||a>1114111||a>=55296&&a<=57343;n+=c?"\uFFFD":String.fromCodePoint(a),t=s-1;continue}n+=o,t+=1}return n}var an=["url(","expression(","javascript:","vbscript:","-moz-binding","behavior:","@import","image-set(","filter:progid"];function lo(e){if(!e)return"an element";let n=e.tagName.toLowerCase(),t=e.getAttribute("id");t&&(n+=`#${t}`);let r=e.getAttribute("class");return r&&(n+=`.${r.trim().split(/\s+/).slice(0,3).join(".")}`),`<${n}>`}var pt=new Set,cn=100,un=!1;function dn(e,n,t){U(()=>{let r=["url() in an inline style is an exfiltration channel: the browser fetches it immediately and the URL's path or query can carry page data off-origin","expression() executes arbitrary script in legacy engines","the javascript: scheme executes script","the vbscript: scheme executes script","-moz-binding loads and runs remote XBL","behavior: loads and runs a remote HTC script","@import pulls in a remote stylesheet","image-set() fetches remote images, the same exfiltration channel as url()","filter:progid activates legacy scriptable filters"],o=t?.property?`${t.property}: ${e}`:e,i=lo(t?.element),s=`${i}|${o}`;return pt.has(s)?"":pt.size>=cn?un?"":(un=!0,`${cn} distinct dropped style declarations have been reported; suppressing further ones for the rest of this session so they cannot flood the console. The declarations are still dropped \u2014 only the reporting stops. Fix the reported ones and reload to see any that remain.`):(pt.add(s),`style declaration "${o}" was dropped by the style sanitizer on ${i} \u2014 ${r[n]}. The element renders without it, which usually looks like a missing image rather than an error. Sanctioned alternatives: for a content image use an <img> element (or a <picture>); for decoration, put the rule in a stylesheet and set a class instead \u2014 stylesheet CSS is not sanitized, only inline style attributes are. If this declaration is not yours, it came from untrusted data and the drop just prevented an exfiltration.`)})}function mt(e){if(!ao.test(e))return-1;let t=(e.includes("\\")?uo(e):e).toLowerCase().replace(/\s+/g,"");for(let r=0;r<an.length;r++)if(t.includes(an[r]))return r;return-1}function Be(e,n){let t=mt(e);return t===-1?e:(dn(e,t,n),"")}function Ye(e,n){let t=String(e);if(t.trim()==="")return"";if(typeof document>"u")return Be(t,n)===""?"":t;let r=document.createElement("div");try{r.style.cssText=t}catch{return""}let o=[];for(let i=0;i<r.style.length;i++){let s=r.style[i],a=r.style.getPropertyValue(s),c=mt(a);if(c===-1&&(c=mt(`${s}:${a}`)),c!==-1){dn(a,c,{property:s,element:n?.element});continue}let l=r.style.getPropertyPriority(s);o.push(`${s}: ${a}${l?` !${l}`:""}`)}return o.join("; ")}var fo=new Set(["href","xlink:href","src","action","formaction","formtarget","cite","poster","background","srcset","ping","data","manifest"]),po=new Set(["srcdoc"]);function fn(e){return po.has(e.toLowerCase())}function pn(e,n,t){let r=e.toLowerCase();return r==="srcset"?so(n):fo.has(r)?ln(n):r==="style"?Ye(n,t):n}var mo="http://www.w3.org/1999/xhtml",go="http://www.w3.org/2000/svg",bo="http://www.w3.org/1999/xlink",ho="http://www.w3.org/XML/1998/namespace",yo=new Set(["checked","disabled","selected"]);function vo(e){return e.namespaceURI===null||e.namespaceURI===mo}function mn(e,n,t){e[n]=t}function So(e,n){if(e.namespaceURI!==go)return null;let t=n.toLowerCase();return t.startsWith("xlink:")?bo:t.startsWith("xml:")?ho:null}function J(e,n,t,r={}){let o=So(e,n),i=o?n.slice(n.indexOf(":")+1):n;if(Ne(n))return D(`${r.label??"setSafeAttribute"}: refusing to set event-handler attribute "${n}". Its value would be evaluated as JavaScript. Use on:{ ${n.slice(2)}: fn } instead.`),o?e.removeAttributeNS(o,i):e.removeAttribute(n),!1;if(t==null)return o?e.removeAttributeNS(o,i):e.removeAttribute(n),!0;if(fn(n))return D(`${r.label??"setSafeAttribute"}: refusing to set "${n}". The browser parses this attribute as a nested HTML document, so a generic string value cannot be made safe \u2014 attribute escaping is undone before the parse. Build the frame's content another way.`),o?e.removeAttributeNS(o,i):e.removeAttribute(n),!1;let s=vo(e),a=s?n.toLowerCase():n;if(typeof t=="boolean"){if(n.length>5&&n.slice(0,5).toLowerCase()==="aria-"){let g=t?"true":"false";return(o?e.getAttributeNS(o,i):e.getAttribute(n))!==g&&(o?e.setAttributeNS(o,n,g):e.setAttribute(n,g)),!0}return s&&yo.has(a)&&a in e?mn(e,a,t):t?o?e.setAttributeNS(o,n,""):e.setAttribute(n,""):o?e.removeAttributeNS(o,i):e.removeAttribute(n),!0}let c=String(t);if(r.syncValueProperty!==!1&&s&&(a==="value"||a==="checked")&&a in e)return mn(e,a,a==="checked"?!!t:c),!0;let l=pn(n,c,{element:e});return(o?e.getAttributeNS(o,i):e.getAttribute(n))===l||(o?e.setAttributeNS(o,n,l):e.setAttribute(n,l)),!0}var xo=4096,gt=[];function To(){return{sig:null,sub:null,epoch:0,depVersion:0,sigPrev:null,sigNext:null,subPrev:null,subNext:null,prevActive:null}}function Eo(e,n,t){let r=gt.pop();if(r)return r.sig=e,r.sub=n,r.epoch=t,r;let o=To();return o.sig=e,o.sub=n,o.epoch=t,o}function gn(e){e.sig=null,e.sub=null,e.sigPrev=null,e.sigNext=null,e.subPrev=null,e.subNext=null,e.prevActive=null,gt.length<xo&>.push(e)}function wo(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 bn(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 ko(e,n){let t=e.depsTail??null;n.subPrev=t,n.subNext=null,t?t.subNext=n:e.depsHead=n,e.depsTail=n}function _o(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 Y=null,oe=null,de=0,fe=[],G=new Set,Ao=[];function Co(e){try{e()}catch(n){let t=e;w(n,{phase:t._errorPhase??"effect",name:t.__name,node:t._errorNode})}}function No(e){let n=e.depsHead??null;if(n===null)return!0;for(;n!==null;){let t=n.sig;if(t===null)return!0;if(t._d===!0&&t._validate!==void 0)try{t._validate()}catch{return!0}if(n.depVersion!==t.__v)return!0;n=n.subNext}return!1}var ne=0,ie=!1;function ht(){ne===0&&(oe=Y,Y=null,ie=!0),ne++}function yt(){ne--,ne===0&&(Y=oe,oe=null,ie=!1)}function hn(){return ie}function yn(e){ht();try{return e()}finally{yt()}}var Lo=0;function vt(e,n){let t=Y,r=0,o=null;ie&&(r=ne,o=oe,ne=0,oe=null,ie=!1),Y=n;let i=n;i._cap===void 0&&(i._cap=en());let s=++Lo;i._epoch=s,i._structDirty=!1;for(let a=i.depsHead??null;a!==null;a=a.subNext){let c=a.sig;a.prevActive=c.__activeNode??null,c.__activeNode=a}try{e()}finally{Y=t,r!==0&&(ne=r,oe=o,ie=!0);let a=i.depsHead??null;for(;a!==null;){let c=a.subNext,l=a.sig;l.__activeNode=a.prevActive,a.prevActive=null,a.epoch!==s&&(_o(a),bn(a),gn(a)),a=c}}}function vn(e,n){if(!n)return St(e);Le(n);let t=Y,r=0,o=null;ie&&(r=ne,o=oe,ne=0,oe=null,ie=!1),Y=n;try{e()}finally{Y=t,r!==0&&(ne=r,oe=o,ie=!0);let s=n;for(let a=s.depsHead??null;a!==null;a=a.subNext){let c=a.sig;c.__activeNode=a.prevActive,a.prevActive=null}}let i=n;return i._dispose??(i._dispose=()=>Le(n))}function St(e,n){let t=()=>{let o=r;if(!(o._disposed||o._reentrant)){o._reentrant=!0;try{vt(e,r)}finally{o._reentrant=!1}}},r=t;r.depsHead=null,r.depsTail=null,r._epoch=0,r._structDirty=!1,r._hasComputedDep=!1,r._runEpoch=0,r._runs=0,r._reentrant=!1,r._disposed=!1,r._errorPhase="binding",r._errorNode=n;try{t()}catch(o){throw r._disposed=!0,r._errorNode=void 0,Le(r),o}return r._dispose??(r._dispose=()=>{r._disposed=!0,r._errorNode=void 0,Le(r)})}function Sn(e){if(!Y)return;let n=Y,t=e,r=n._epoch??0,o=t.__activeNode??null;if(o!==null&&o.sub===n){o.epoch=r,o.depVersion=t.__v??Number.NaN;return}t._validate!==void 0&&(n._hasComputedDep=!0);let i=Eo(e,n,r);i.depVersion=t.__v??Number.NaN,i.prevActive=o,t.__activeNode=i,ko(n,i),wo(t,i),n._structDirty=!0}function Le(e){let n=e,t=n.depsHead??null;for(n.depsHead=null,n.depsTail=null;t;){let r=t.subNext;bn(t),gn(t),t=r}}var Xe=1e3,Ze=1e6,Qe=0,he=new Set;function xn(e){let n=Xe;return Number.isFinite(e)&&e>0&&(Xe=Math.floor(e)),n}function Tn(e){let n=Ze;return Number.isFinite(e)&&e>0&&(Ze=Math.floor(e)),n}function Ro(e){let n=e;return n._runEpoch!==Qe?(n._runEpoch=Qe,n._runs=1,!1):(n._runs=(n._runs??0)+1,n._runs>Xe)}function Mo(e){let n=e.__name??"<unnamed>";w(new Error(`subscriber "${n}" fired more than ${Xe} times \u2014 likely a write-reads-self cycle between effects/signals. This subscriber is quarantined for the rest of this update; other pending work still runs.`),{phase:"scheduler",name:n})}function Do(){w(new Error(`Notification drain exceeded ${Ze} iterations \u2014 absolute safety net tripped. Breaking to prevent infinite loop.`),{phase:"scheduler"})}function En(){let e=0;for(;e<fe.length;){if(e>=Ze){Do();break}let n=fe[e++];if(G.delete(n),he.size>0&&he.has(n)||n._hasComputedDep===!0&&!No(n))continue;if(Ro(n)){Mo(n),he.add(n);continue}let t=tn(n._cap??null);try{Co(n)}finally{t&&nn()}}}function wn(){if(!(de>0)){de++,Qe++;try{En()}finally{de--,de===0&&(fe.length=0,G.clear(),he.size>0&&he.clear())}}}function bt(e){e();let n=e._sig;if(!n)return;let t=Ao,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._f===!0)&&(a._d=!0,a._f=!1,t.push(a)):s()}else G.has(s)||(G.add(s),fe.push(s));i=i.sigNext}}}function kn(e){let t=e.subsHead??null;for(;t;){let r=t.sub;r&&(r._c?bt(r):G.has(r)||(G.add(r),fe.push(r))),t=t.sigNext}}function _n(e){let t=e.subsHead;if(t){if(de>0){let r=t;for(;r;){let o=r.sub;o&&(o._c?bt(o):G.has(o)||(G.add(o),fe.push(o))),r=r.sigNext}return}de++,Qe++;try{let r=t;for(;r;){let o=r.sub;o&&(o._c?bt(o):G.has(o)||(G.add(o),fe.push(o))),r=r.sigNext}En()}finally{de--,de===0&&(fe.length=0,G.clear(),he.size>0&&he.clear())}}}function An(e){return e.__sc??0}function Cn(e){let n=e,t=[],r=n.depsHead??null;for(;r;)r.sig&&t.push(r.sig),r=r.subNext;return t}function Nn(e,n){let t=e.subsHead??null;for(;t;){let r=t.sub;r&&n(r),t=t.sigNext}}var Ln="4.7.0",Rn=Symbol.for("sibujs.reactive.v1");function Ho(){let e=globalThis,n=e[Rn];if(n)return!n.__dupWarned&&(n.__dupWarned=!0,D(`Multiple instances of the reactive runtime detected on this page (active: ${n.version}, duplicate: ${Ln}). Reactivity is NOT broken and no bundler configuration is required: every copy routes through the first one via a global registry, so signal writes still reach subscribers registered by any copy. This is only a SIZE issue \u2014 the duplicate copy's bytes are downloaded and parsed for nothing. If you want them back, de-duplicate sibujs in your bundler (Vite: resolve.dedupe: ['sibujs']). Mismatched VERSIONS above are worth fixing regardless, since only the first one loaded is used.`)),n;let t={suspendTracking:ht,resumeTracking:yt,isTrackingSuspended:hn,untracked:yn,retrack:vt,track:vn,reactiveBinding:St,recordDependency:Sn,cleanup:Le,setMaxSubscriberRepeats:xn,setMaxDrainIterations:Tn,drainNotificationQueue:wn,queueSignalNotification:kn,notifySubscribers:_n,getSubscriberCount:An,getSubscriberDeps:Cn,forEachSubscriber:Nn,version:Ln};return e[Rn]=t,t}var $=Ho(),ye=$.suspendTracking,ve=$.resumeTracking,Mn=$.isTrackingSuspended,X=$.untracked,pe=$.retrack,q=$.track,I=$.reactiveBinding,Se=$.recordDependency,xe=$.cleanup,Yc=$.setMaxSubscriberRepeats,Dn=$.setMaxDrainIterations,On=$.drainNotificationQueue,Hn=$.queueSignalNotification,Re=$.notifySubscribers,Xc=$.getSubscriberCount,Zc=$.getSubscriberDeps,Qc=$.forEachSubscriber;function Fe(e,n,t){if(Ne(n))return J(e,n,"",{label:`bindAttribute("${n}")`}),()=>{};function r(){let o;try{o=t()}catch(i){w(i,{phase:"binding",name:`bindAttribute("${n}")`,node:e});return}J(e,n,o,{label:`bindAttribute("${n}")`})}return I(r,e)}function $n(e,n,t){let r=null;function o(){let s;try{s=typeof n=="function"?n():n}catch(c){w(c,{phase:"binding",name:"bindDynamic (name getter)",node:e});return}let a;try{a=typeof t=="function"?t():t}catch(c){w(c,{phase:"binding",name:"bindDynamic (value getter)",node:e});return}r!==null&&r!==s&&(e.removeAttribute(r),r=null),J(e,s,a,{label:"bindDynamic"})&&(r=s)}let i=I(o,e);return()=>{i(),r!==null&&e.removeAttribute(r)}}var xt=["data-focus-key","id","name"],$o=new Set(["text","search","url","tel","password",""]);function Io(e){let n=e.tagName;if(!(n==="TEXTAREA"||n==="INPUT"&&$o.has(e.type.toLowerCase())))return{start:null,end:null,direction:null};let r=e;return{start:r.selectionStart,end:r.selectionEnd,direction:r.selectionDirection}}function Ve(e){if(e.length===0||typeof document>"u")return null;let n=document.activeElement;if(!n||n===document.body)return null;let t=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s===n||s.nodeType===1&&s.contains(n)){t=!0;break}}if(!t)return null;let r=null,o=null;for(let i=0;i<xt.length;i++){let s=n.getAttribute(xt[i]);if(s){r=xt[i],o=s;break}}return{el:n,attr:r,value:o,tag:n.tagName,...Io(n)}}function Po(e){return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Bo(e,n){let t=null,r=0;for(let o=0;o<e.length;o++){let i=e[o];if(i.nodeType!==1)continue;let s=i;s.matches(n)&&(r++,t??(t=s));let a=s.querySelectorAll(n);for(let c=0;c<a.length;c++)r++,t??(t=a[c]);if(r>1)return{el:null,count:r}}return r===1?{el:t,count:r}:{el:null,count:r}}function In(e,n){if(e.focus(),n.start!==null&&typeof e.setSelectionRange=="function"){let t=e,r=t.value.length,o=Math.min(n.start,r),i=Math.min(n.end??o,r);t.setSelectionRange(o,i,n.direction??"none")}}function Me(e,n,t){if(!e||typeof document>"u")return;let r=document.activeElement;if(r===e.el||r&&r!==document.body&&r!==document.documentElement)return;if(e.el.isConnected){In(e.el,e);return}let o=!1;if(e.attr&&e.value){let{el:i,count:s}=Bo(n,`[${e.attr}=${Po(e.value)}]`);if(i&&i.tagName===e.tag){In(i,e);return}o=s>1}U(()=>{let i=e.attr?` (${e.attr}="${e.value}")`:"",s=o?`several elements in the rebuilt subtree share ${e.attr}="${e.value}", so there is no way to tell which one the user was in \u2014 a shared name (a radio group) identifies a GROUP, not a control. Add a unique id or data-focus-key to each`:"no element in the rebuilt subtree carries the same identity. Give it a stable id, name, or data-focus-key that the rebuild reproduces";return`${t}: a reactive rebuild discarded the focused element <${e.tag.toLowerCase()}>${i} and could not re-establish it, so focus fell back to <body>. An in-progress edit ends here, and an in-progress IME composition is lost outright \u2014 a composition belongs to the DOM node, so it cannot survive the node being destroyed. ${s}, or stop the rebuild from happening: key the subtree with match(() => shapeKey(), { \u2026 }) so it is re-created only when the shape actually changes, and drive the rest with reactive attributes and text children, which mutate nodes in place instead of replacing them.`})}function se(e,n){let t=[];function r(){let o;try{o=n()}catch(d){w(d,{phase:"binding",name:"bindChildNode",node:e});return}let i=Ve(t);if(o==null||typeof o=="boolean"){for(let d=0;d<t.length;d++){let g=t[d];M(g),g.parentNode&&g.parentNode.removeChild(g)}t.length=0,Me(i,t,"bindChildNode");return}let s=e.parentNode;if(!s){t.length=0;return}let a;if(Array.isArray(o)){a=[];let d=new Set;for(let g=0;g<o.length;g++){let m=o[g];if(m==null||typeof m=="boolean")continue;let f=m instanceof Node?m:document.createTextNode(String(m));if(d.has(f)){D("bindChildNode: duplicate node reference in array \u2014 only the first occurrence is rendered.");continue}d.add(f),a.push(f)}}else a=[o instanceof Node?o:document.createTextNode(String(o))];let c;if(t.length>0&&a.length>0){let d=new Set(t);c=new Set;for(let g=0;g<a.length;g++)d.has(a[g])&&c.add(a[g])}for(let d=0;d<t.length;d++){let g=t[d];c?.has(g)||(M(g),g.parentNode&&g.parentNode.removeChild(g))}let l=e;for(let d=0;d<a.length;d++){let g=a[d];l.nextSibling!==g&&s.insertBefore(g,l.nextSibling),l=g}t=a,Me(i,a,"bindChildNode")}return I(r,e)}var L="http://www.w3.org/2000/svg",Fo=new Set(["script","iframe","object","embed","frame","frameset"]);function Vo(e){return Fo.has(e.toLowerCase())}var zo=new Set(["config","location","history","document","window","navigator","name","top","parent","self","frames"]);var Tt=new Set,Pn=100,Bn=!1,Fn=new Map;function Vn(e){let n=Fn.get(e);return n!==void 0||(n=e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),Fn.set(e,n)),n}function jo(e,n){if(typeof n=="function"){let r=n,o=[],i=!1,s=I(()=>{let a=r();if(a===null||typeof a!="object"){o=[],i=!0,e.setAttribute("style",Ye(String(a),{element:e}));return}let c=e.style;i&&(e.removeAttribute("style"),i=!1);let l=[];for(let d in a){let g=a[d];if(g==null)continue;let m=Vn(d);l.push(m),c.setProperty(m,Be(String(g),{property:m,element:e}))}for(let d=0;d<o.length;d++)l.indexOf(o[d])===-1&&c.removeProperty(o[d]);o=l},e);x(e,s);return}if(typeof n=="string"){e.setAttribute("style",Ye(n,{element:e}));return}let t=e;for(let r in n){let o=n[r],i=Vn(r);if(typeof o=="function"){let s=o,a=I(()=>{t.style.setProperty(i,Be(String(s()),{property:i,element:e}))},e);x(e,a)}else t.style.setProperty(i,Be(String(o),{property:i,element:e}))}}function qo(e,n){if(typeof n=="string"){e.setAttribute("class",n);return}if(typeof n=="function"){let i=I(()=>{let s=n();s==null||s===!1?e.removeAttribute("class"):e.setAttribute("class",s)},e);x(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=I(()=>{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)},e);x(e,s)}else e.setAttribute("class",o)}function Et(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),x(e,se(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),x(e,se(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),x(e,se(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)))}}}function u(e,n){let t=Vo(e);return(r,o)=>{if(t)throw new Error(`tagFactory: refusing to create <${e}> \u2014 tag is blocked for security reasons.`);let i=n?document.createElementNS(n,e):document.createElement(e);if(r===void 0)return i;if(typeof r=="string")return o!==void 0?(i.setAttribute("class",r),Et(i,o),i):(U(()=>{let f=r.trim().split(/\s+/);if(f.length<2)return"";let p=0;for(let h=0;h<f.length;h++){let y=f[h];if(!/^-?[A-Za-z_][A-Za-z0-9_:/.-]*$/.test(y))return"";/[-:/0-9]/.test(y)&&p++}if(p<2)return"";let b=`${e}|${r}`;return Tt.has(b)?"":Tt.size>=Pn?Bn?"":(Bn=!0,`tagFactory: ${Pn} distinct lone-string class warnings have been reported; suppressing further ones for the rest of this session so they cannot flood the console. Fix the reported ones and reload to see any that remain.`):(Tt.add(b),`tagFactory: lone string "${r}" looks like a class list but is being rendered as TEXT. For a class, use ${e}({ class: "${r}" }) \u2014 or ${e}("${r}", children) to set the class AND add children.`)}),i.textContent=r,i);if(typeof r=="number")return i.textContent=String(r),i;if(Array.isArray(r)||r instanceof Node||typeof r=="function")return Et(i,r),i;let s=r,a=s.class;a!=null&&qo(i,a);let c=s.id;typeof c=="function"?x(i,Fe(i,"id",c)):c!=null&&(typeof c=="string"&&zo.has(c.toLowerCase())&&D(`tagFactory: element id="${c}" matches a common global and may cause DOM clobbering. Avoid setting ids from untrusted input.`),i.id=c);let l=o!==void 0?o:s.nodes;l!=null&&Et(i,l);let d=s.on;if(d)for(let f in d){let p=d[f];typeof p=="function"?i.addEventListener(f,p):D(`tagFactory: on.${f} handler is not a function (got ${typeof p}). Event listener was not attached.`)}let g=s.style;g!=null&&jo(i,g);let m=s.ref;m&&(m.current=i);for(let f in s)switch(f){case"class":case"id":case"nodes":case"on":case"style":case"ref":case"onElement":continue;default:{let p=s[f];if(p==null||Ne(f))continue;typeof p=="function"?x(i,Fe(i,f,p)):J(i,f,p,{syncValueProperty:!1,label:"tagFactory"})}}return typeof s.onElement=="function"&&s.onElement(i),i}}var Eu=u("html"),Wo=u("head"),Ko=u("body"),Uo=u("title"),_=u("div"),H=u("span"),Jo=u("section"),Go=u("article"),Yo=u("header"),Xo=u("footer"),Zo=u("nav"),Qo=u("main"),ei=u("aside"),ti=u("address"),wt=u("p"),ni=u("h1"),ri=u("h2"),kt=u("h3"),oi=u("h4"),ii=u("h5"),si=u("h6"),ai=u("blockquote"),ci=u("dd"),ui=u("dl"),li=u("dt"),di=u("figcaption"),fi=u("figure"),pi=u("hr"),mi=u("li"),gi=u("ol"),bi=u("ul"),_t=u("pre"),hi=u("a"),yi=u("abbr"),vi=u("b"),Si=u("bdi"),xi=u("bdo"),Ti=u("br"),Ei=u("cite"),At=u("code"),wi=u("data"),ki=u("dfn"),_i=u("em"),Ai=u("i"),Ci=u("kbd"),Ni=u("mark"),Li=u("q"),Ri=u("rp"),Mi=u("rt"),Di=u("ruby"),Oi=u("s"),Hi=u("samp"),$i=u("small"),Ii=u("strong"),Pi=u("sub"),Bi=u("sup"),Fi=u("time"),Vi=u("u"),zi=u("var"),ji=u("area"),qi=u("audio"),Wi=u("img"),Ki=u("map"),Ui=u("track"),Ji=u("video"),Gi=u("embed"),Yi=u("iframe"),Xi=u("object"),Zi=u("param"),Qi=u("picture"),es=u("portal"),ts=u("source"),ns=u("svg",L),rs=u("math"),os=u("canvas"),is=u("noscript"),ss=u("script"),as=u("del"),cs=u("ins"),us=u("caption"),ls=u("col"),ds=u("colgroup"),fs=u("table"),ps=u("tbody"),ms=u("td"),gs=u("tfoot"),bs=u("th"),hs=u("thead"),ys=u("tr"),ze=u("button"),vs=u("datalist"),Ss=u("fieldset"),xs=u("form"),Ts=u("input"),Es=u("label"),ws=u("legend"),ks=u("meter"),_s=u("optgroup"),As=u("option"),Cs=u("output"),Ns=u("progress"),Ls=u("select"),Rs=u("textarea"),Ms=u("details"),Ds=u("dialog"),Os=u("menu"),Hs=u("summary"),$s=u("slot"),Is=u("template"),Ps=u("base"),Bs=u("link"),Fs=u("meta"),Te=u("style"),Vs=u("circle",L),zs=u("ellipse",L),js=u("g",L),qs=u("line",L),Ws=u("path",L),Ks=u("polygon",L),Us=u("polyline",L),Js=u("rect",L),Gs=u("text",L),Ys=u("tspan",L),Xs=u("defs",L),Zs=u("clipPath",L),Qs=u("mask",L),ea=u("pattern",L),ta=u("linearGradient",L),na=u("radialGradient",L),ra=u("stop",L),oa=u("use",L),ia=u("symbol",L),sa=u("marker",L),aa=u("center"),ca=u("font"),ua=u("marquee"),la=e=>u(e);var Ct="__sibuPendingError";function zn(e,n){let t=()=>e.parentNode?(w(n,{phase:"render",name:"lazy",node:e}),!0):!1;t()||queueMicrotask(()=>{t()||(e[Ct]=n)})}function et(e){let n=e,t=n[Ct];if(t instanceof Error)return delete n[Ct],t}function jn(e){let n=null;return function(){if(n)return n();let r=_({class:"sibu-lazy"}),o=!1;return e().then(i=>{if(o)return;n=i.default;let s=n();V(r,s)}).catch(i=>{if(o)return;let s=i instanceof Error?i:new Error(String(i));V(r,_({class:"sibu-lazy-error"},`Failed to load component: ${s.message}`)),zn(r,s)}),r.appendChild(H("sibu-lazy-loading","Loading...")),x(r,()=>{o=!0}),r}}function qn({nodes:e,fallback:n}){let t=_({class:"sibu-suspense"}),r=n();t.appendChild(r);let o=!1,i=null,s=null;return x(t,()=>{o=!0,i&&(i.disconnect(),i=null),s&&!t.contains(s)&&M(s)}),queueMicrotask(()=>{if(!o)try{let a=e();if(s=a,a.classList.contains("sibu-lazy")){if(!a.querySelector(".sibu-lazy-loading")){V(t,a);return}i=new MutationObserver(()=>{if(o)return;a.querySelector(".sibu-lazy-loading")||(i?.disconnect(),i=null,V(t,a))}),i.observe(a,{childList:!0,subtree:!0})}else V(t,a)}catch(a){let c=a instanceof Error?a:new Error(String(a));zn(t,c)}}),t}function nt(e,n){try{return e()}catch(t){let r=n.toLowerCase().includes("unmount")?"cleanup":"effect";w(t,{phase:r,name:n});return}}function Nt(e,n,t,r){let o=nt(e,n);typeof o=="function"&&(r()||!t.isConnected?nt(o,"onUnmount"):Kn(o,t))}var De=new WeakMap,Ee=new WeakMap,ae=new Set,ce=new Set,Oe=null,tt=0,da=256;function Lt(e){let n=De.get(e);if(n){De.delete(e),ae.delete(e);for(let t of n)try{t()}catch{}}}function Rt(e){Ee.get(e)&&queueMicrotask(()=>{if(e.isConnected)return;let t=Ee.get(e);if(t){Ee.delete(e),ce.delete(e);for(let r of t)try{r()}catch{}}})}function fa(e){if(ae.size===0||e.nodeType!==1)return;let n=e;if(ae.has(n)&&n.isConnected&&Lt(n),n.firstElementChild)for(let t of Array.from(ae))t!==n&&t.isConnected&&n.contains(t)&&Lt(t)}function pa(e){if(ce.size===0||e.nodeType!==1)return;let n=e;if(ce.has(n)&&!n.isConnected&&Rt(n),n.firstElementChild)for(let t of Array.from(ce))t!==n&&!t.isConnected&&n.contains(t)&&Rt(t)}function ma(){if(ae.size>0)for(let e of Array.from(ae))e.isConnected&&Lt(e);if(ce.size>0)for(let e of Array.from(ce))e.isConnected||Rt(e)}function Wn(){Oe||typeof document>"u"||(Oe=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++)fa(n.addedNodes[t]);if(n.removedNodes.length>0)for(let t=0;t<n.removedNodes.length;t++)pa(n.removedNodes[t])}tt+=e.length,tt>=da&&(tt=0,ma()),Mt()}),Oe.observe(document.body,{childList:!0,subtree:!0}))}function Mt(){Oe&&ae.size===0&&ce.size===0&&(Oe.disconnect(),Oe=null,tt=0)}function ga(e,n){let t=De.get(e);return t||(t=[],De.set(e,t)),t.push(n),ae.add(e),Wn(),()=>{let r=De.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(De.delete(e),ae.delete(e))}Mt()}}function ba(e,n){let t=Ee.get(e);return t||(t=[],Ee.set(e,t)),t.push(n),ce.add(e),Wn(),()=>{let r=Ee.get(e);if(r){let o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&(Ee.delete(e),ce.delete(e))}Mt()}}function rt(e,n){if(!(typeof document>"u"))if(n){let t=!1,r=()=>t;if(x(n,()=>{t=!0}),n.isConnected){queueMicrotask(()=>{t||Nt(e,"onMount",n,r)});return}queueMicrotask(()=>{if(t)return;if(n.isConnected){Nt(e,"onMount",n,r);return}let o=ga(n,()=>{t||Nt(e,"onMount",n,r)});x(n,o)})}else queueMicrotask(()=>{nt(e,"onMount")})}function Kn(e,n){if(typeof document>"u")return;let t=!1,r=()=>{t||(t=!0,nt(e,"onUnmount"))};x(n,r);let o=()=>{if(t)return;let i=ba(n,r);x(n,i)};n.isConnected?o():rt(()=>{o()},n)}function ha(e,n){x(n,e)}function W(e,n,t){try{e.emit(n,t)}catch{}}var Dt=Symbol.for("sibujs.ssr.v1");function ya(){let e=null;try{if(typeof process<"u"&&process.versions&&process.versions.node){let n=null,t=process.getBuiltinModule;typeof t=="function"?n=t("node:async_hooks"):typeof lt=="function"&&(n=lt("async_hooks")),n&&(e=new n.AsyncLocalStorage)}}catch{e=null}return{als:e,fallbackStore:{ssr:!1,suspenseIdCounter:0,locale:void 0},fallbackDepth:0}}var me=globalThis[Dt]??(globalThis[Dt]=ya()),we=me.als,F=me.fallbackStore;me.fallbackDepth??(me.fallbackDepth=0);var Un=!1;function va(){if(Un||we||!(typeof process<"u"&&!!process.versions?.node))return;Un=!0;let n=process.versions.node;D(`SSR request isolation is UNAVAILABLE on this runtime (Node ${n}). AsyncLocalStorage could not be loaded, so concurrent requests share one SSR store: request state and the query cache can bleed between them. Node >= 22.3 is required for isolated SSR under ESM; the CommonJS build works on older versions. A fully synchronous render is unaffected.`)}function ke(){if(we){let e=we.getStore();if(e)return e}return F}function Jn(){return we?we.getStore()??null:me.fallbackDepth>0?F:null}function Z(){return ke().ssr}function Gn(e){if(!Z())return null;let n=ke(),t=n.caches??(n.caches=new Map),r=t.get(e);return r||(r=new Map,t.set(e,r)),r}function Yn(){ke().ssr=!0}function Xn(){ke().ssr=!1}function Zn(e){let n={ssr:!0,suspenseIdCounter:0,idCounter:0,locale:void 0};if(we)return we.run(n,e);va();let t=F.ssr,r=F.suspenseIdCounter,o=F.idCounter,i=F.locale;F.ssr=!0,F.suspenseIdCounter=0,F.idCounter=0,F.locale=void 0,me.fallbackDepth++;try{return e()}finally{me.fallbackDepth--,F.ssr=t,F.suspenseIdCounter=r,F.idCounter=o,F.locale=i}}function Qn(e){let n=ke(),t=n.ssr;n.ssr=!0;try{return e()}finally{t||(n.ssr=!1)}}var nr=globalThis;function Sa(e,n){let t,r=!0;return()=>{let o=e();if(r)r=!1,t=o,X(()=>n(o,void 0));else{let i=t;t=o,X(()=>n(o,i))}}}var er=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){w(r,{phase:"cleanup"})}}}function tr(e){let n=1;do e.rerunPending=!1,e.userCleanups.length>0&&ot(e),pe(e.bodyFn,e.subscriber);while(e.rerunPending&&++n<=er);e.rerunPending&&(e.rerunPending=!1,w(new Error(`effect re-requested itself ${er}+ times \u2014 likely a write-reads-self cycle. Breaking to prevent infinite loop.`),{phase:"effect"}))}function xa(e){if(e.disposed)return;e.disposed=!0;let n=nr.__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{xe(e.subscriber)}catch(t){typeof console<"u"&&console.warn("[SibuJS effect] dispose threw:",t)}}function K(e,n){if(R(typeof e=="function","effect: argument must be a function."),Z())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),pe(t.bodyFn,o),t.rerunPending&&tr(t)}finally{t.running=!1,t.rerunPending=!1}}});o.depsHead=null,o.depsTail=null,o._epoch=0,o._structDirty=!1,o._hasComputedDep=!1,o._errorPhase="effect",o._runEpoch=0,o._runs=0,t.subscriber=o,t.running=!0;try{pe(t.bodyFn,t.subscriber),t.rerunPending&&tr(t)}catch(s){throw t.disposed=!0,t.userCleanups.length>0&&ot(t),xe(t.subscriber),s}finally{t.running=!1,t.rerunPending=!1}let i=nr.__SIBU_DEVTOOLS_GLOBAL_HOOK__;return i&&W(i,"effect:create",{effectFn:e}),()=>xa(t)}var je=0,Ot=new Set;function Ta(e){je++;try{return e()}finally{je--,je===0&&ka()}}function Ea(e){return je===0?!1:(Ot.add(e),!0)}function wa(){return je>0}function ka(){try{for(let e of Ot)Hn(e)}finally{Ot.clear()}On()}var rr=Symbol.for("sibujs.reactive.batch.v1");function _a(){let e=globalThis,n=e[rr];if(n)return n;let t={batch:Ta,enqueueBatchedSignal:Ea,isBatching:wa};return e[rr]=t,t}var Ht=_a(),z=Ht.batch,_e=Ht.enqueueBatchedSignal,Aa=Ht.isBatching;var $t=globalThis;function A(e,n){let t={value:e,__v:0,__sc:0,subsHead:null,subsTail:null,__activeNode:null,__name:void 0,_d:!1,_validate:void 0},r=n?.name,o=n?.equals;r&&(t.__name=r);function i(){return Se(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++,!0){let d=$t.__SIBU_DEVTOOLS_GLOBAL_HOOK__;d&&W(d,"signal:update",{signal:t,name:r,oldValue:c,newValue:l})}_e(t)||Re(t)}}: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=$t.__SIBU_DEVTOOLS_GLOBAL_HOOK__;d&&W(d,"signal:update",{signal:t,name:r,oldValue:c,newValue:l}),_e(t)||Re(t)},!0){let a=$t.__SIBU_DEVTOOLS_GLOBAL_HOOK__;a&&W(a,"signal:create",{signal:t,name:r,getter:i,initial:e})}return[i,s]}function Ca(e){let[n,t]=A(0,e?.name?{name:e.name}:void 0);return{track(){n()},invalidate(){t(r=>r+1)}}}var Na=`
|
|
6
6
|
.sibu-error-display {
|
|
7
7
|
border: 1px solid var(--sibu-err-border, #e5484d);
|
|
8
8
|
border-radius: 10px;
|
|
@@ -183,11 +183,11 @@
|
|
|
183
183
|
border: 1px solid #3a3a4e;
|
|
184
184
|
}
|
|
185
185
|
.sibu-error-display .sibu-err-btn-reload:hover { background: #2a2b40; }
|
|
186
|
-
`,
|
|
187
|
-
`);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
|
|
188
|
-
`).map(
|
|
189
|
-
`);r.push(i)}o=o.cause}if(n&&Object.keys(n).length>0){r.push(""),r.push("Metadata:");for(let[i,
|
|
190
|
-
`)}function
|
|
186
|
+
`,or=!1;function La(){if(or||typeof document>"u")return;let e=Te({nodes:Na});document.head.appendChild(e),or=!0}function Ra(e){let n=[],t=e.split(`
|
|
187
|
+
`);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 ir(e){if(e instanceof Error){let n=e.code??e.name??"ERROR",t=e.message||"Unknown error",r=e.stack??"",o=Ra(r),i=e.cause,s=i!=null?ir(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 Ma(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(`
|
|
188
|
+
`).map(s=>` ${s}`).join(`
|
|
189
|
+
`);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(`
|
|
190
|
+
`)}function sr(e){let n=e.map((t,r)=>_({class:"sibu-err-frame",nodes:[H({class:"sibu-err-line",nodes:String(r+1)}),H({class:"sibu-err-fn",nodes:t.fn}),H({class:"sibu-err-loc",nodes:` \u2014 ${t.loc}`})]}));return _t({class:"sibu-err-stack",nodes:n})}function ar(e){return e?[_({class:"sibu-err-cause-label",nodes:"Caused by"}),_({class:"sibu-err-section",nodes:[_({class:"sibu-err-section-head",nodes:[H({nodes:`[${e.code}] ${e.message}`}),H({nodes:""})]}),e.frames.length>0?sr(e.frames):_({class:"sibu-err-stack",nodes:"(no stack)"})]}),...ar(e.cause)]:[]}function Da(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 It(e){La();let n=e.severity??"error",t=ir(e.error),r=e.alwaysShowDetails??ee(),o=e.title??t.message,i=new Date().toISOString().replace("T"," ").slice(0,19),[s,a]=A("Copy"),c=ze({class:"sibu-err-copy-btn",nodes:()=>s(),on:{click:()=>{let f=Ma(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=_({class:"sibu-err-header",nodes:[At({class:"sibu-err-icon",nodes:t.code}),kt({class:"sibu-err-title",nodes:o}),c,H({class:"sibu-err-timestamp",nodes:i})]}),d=[wt({class:"sibu-err-message",nodes:t.message})];r&&t.frames.length>0&&d.push(_({class:"sibu-err-section",nodes:[_({class:"sibu-err-section-head",nodes:[H({nodes:"Stack Trace"})]}),sr(t.frames)]})),r&&d.push(...ar(t.cause)),r&&e.metadata&&Object.keys(e.metadata).length>0&&d.push(_({class:"sibu-err-section",nodes:[_({class:"sibu-err-section-head",nodes:[H({nodes:"Metadata"})]}),Da(e.metadata)]}));let g=[];e.onRetry&&g.push(ze({class:"sibu-err-btn sibu-err-btn-retry",nodes:e.retryLabel??"Retry",on:{click:e.onRetry}})),!e.hideReload&&typeof location<"u"&&g.push(ze({class:"sibu-err-btn sibu-err-btn-reload",nodes:"Reload Page",on:{click:()=>location.reload()}})),g.length>0&&d.push(_({class:"sibu-err-actions",nodes:g}));let m=_({class:"sibu-err-body",nodes:d});return _({class:"sibu-error-display","data-severity":n,nodes:[l,m]})}var Oa=`
|
|
191
191
|
.sibu-error-boundary {
|
|
192
192
|
position: relative;
|
|
193
193
|
}
|
|
@@ -341,7 +341,7 @@
|
|
|
341
341
|
.sibu-error-fallback .sibu-error-btn-reload:hover {
|
|
342
342
|
background: #3a3a4e;
|
|
343
343
|
}
|
|
344
|
-
`,
|
|
344
|
+
`,Ha=Symbol("sibujs.ErrorBoundary.resetKeyThrew"),cr=!1;function $a(){if(!cr&&typeof document<"u"){let e=Te({nodes:Oa});document.head.appendChild(e),cr=!0}}function Ia(e,n){let t=typeof e=="function"?e:n,r=typeof e=="function"?{}:e,{fallback:o,onError:i,resetKeys:s}=r;$a();let[a,c]=A(null),l=()=>{g(),c(null)},d=null,g=()=>{if(!d)return;let v=d;d=null,v()},m=v=>{let T=new Array(v.length);for(let E=0;E<v.length;E++)try{T[E]=v[E]()}catch(O){w(O,{phase:"effect",name:"ErrorBoundary.resetKeys"}),T[E]=Ha}return T},f=()=>{let v=s;if(!v||v.length===0)return;g();let T=null;d=K(()=>{let E=m(v);if(T===null){T=E;return}let O=E.length!==T.length;if(!O){for(let P=0;P<E.length;P++)if(!Object.is(E[P],T[P])){O=!0;break}}T=E,O&&l()})},p=v=>{let T=ft(v);if(c(T),f(),i)try{i(T)}catch(E){w(E,{phase:"render",name:"ErrorBoundary onError callback"})}return T},b=(v,T)=>It({error:v,severity:"error",onRetry:T}),h=v=>{let T=o||b;try{return T(v,l)}catch(E){return queueMicrotask(()=>{w(E,{phase:"render",name:"ErrorBoundary fallback",node:y.parentNode?y:void 0})}),document.createComment("error-boundary-failed")}},y=_({class:"sibu-error-boundary",nodes:()=>{let v=a();if(v)return h(v);try{let T=t();if(T&&typeof T.then=="function"){let E=_({class:"sibu-error-async"});E.appendChild(H({class:"sibu-lazy-loading",nodes:"Loading..."}));let O=!1;return x(E,()=>{O=!0}),T.then(P=>{if(O){M(P);return}V(E,P)}).catch(P=>{if(O)return;let Ce=p(P);V(E,h(Ce))}),E}return T}catch(T){let E=p(T);return h(E)}}}),k=v=>{if(a())return;let E=v.detail?.error;E&&(v.preventDefault(),v.stopPropagation(),p(E))};return y.addEventListener("sibu:error-propagate",k),rt(()=>{let v=document.createTreeWalker(y,NodeFilter.SHOW_ELEMENT),T=[],E=v.currentNode;for(;E;){let O=et(E);O&&T.push(O),E=v.nextNode()}if(T.length===1)p(T[0]);else if(T.length>1){let O=globalThis.AggregateError;p(O?new O(T,`${T.length} pre-mount errors caught by ErrorBoundary`):new Error(T.map(P=>P.message).join("; ")))}},y),x(y,()=>{g(),y.removeEventListener("sibu:error-propagate",k)}),y}var Pa=`
|
|
345
345
|
@keyframes sibu-spin {
|
|
346
346
|
to { transform: rotate(360deg); }
|
|
347
347
|
}
|
|
@@ -394,5 +394,5 @@
|
|
|
394
394
|
.sibu-loading-lg .sibu-loading-spinner { width: 40px; height: 40px; border-width: 4px; }
|
|
395
395
|
.sibu-loading-lg .sibu-loading-dot { width: 12px; height: 12px; }
|
|
396
396
|
.sibu-loading-lg .sibu-loading-dots { gap: 6px; }
|
|
397
|
-
`,or=!1;function $a(){!or&&typeof document<"u"&&(document.head.appendChild(he({nodes:Oa})),or=!0)}function Ia(e={}){$a();let{text:n,variant:t="spinner",size:r="md"}=e,o=r!=="md"?` sibu-loading-${r}`:"";return t==="dots"?_({class:`sibu-loading${o}`,role:"status","aria-live":"polite","aria-label":n?void 0:"Loading",nodes:[_({class:"sibu-loading-dots",nodes:[O({class:"sibu-loading-dot"}),O({class:"sibu-loading-dot"}),O({class:"sibu-loading-dot"})]}),n?O({class:"sibu-loading-text",nodes:n}):null].filter(Boolean)}):_({class:`sibu-loading${o}`,role:"status","aria-live":"polite","aria-label":n?void 0:"Loading",nodes:[_({class:"sibu-loading-spinner"}),n?O({class:"sibu-loading-text",nodes:n}):null].filter(Boolean)})}var Ot=Symbol.for("sibujs.actions.v1"),ir=globalThis[Ot]??(globalThis[Ot]=new Map);function Le(e,n){ir.set(e,n)}function sr(e){return ir.get(e)}function Pa(e,n,t){let r=typeof n=="string"?sr(n):n;if(!r)throw new Error(`[SibuJS] No action registered under the name "${n}". Register it with registerAction() before applying it by name.`);let o=r(e,t);typeof o=="function"&&T(e,o)}var ar=(e,n)=>{let t=r=>{e.contains(r.target)||n()};return document.addEventListener("pointerdown",t,!0),()=>document.removeEventListener("pointerdown",t,!0)},cr=(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)}},ur=(e,n)=>{let t=o=>w(o,{phase:"async",name:"copyOnClick",node:e}),r=()=>{try{let o=typeof n=="function"?n():e.textContent??"";Promise.resolve(navigator.clipboard.writeText(o)).catch(t)}catch(o){t(o)}};return e.addEventListener("click",r),()=>e.removeEventListener("click",r)},lr=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)},dr=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],a=o[o.length-1];r.shiftKey&&document.activeElement===i?(r.preventDefault(),a.focus()):!r.shiftKey&&document.activeElement===a&&(r.preventDefault(),i.focus())};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)};Le("clickOutside",ar);Le("longPress",cr);Le("copyOnClick",ur);Le("autoResize",lr);Le("trapFocus",dr);var Te=null;function Ba(e,n){try{let t=e();return t&&typeof t.then=="function"&&t.catch(r=>{n?n(r,"async"):Te?Te(r,"async"):console.error("Unhandled async error in Sibu.catchError:",r)}),t}catch(t){return n?n(t,"sync"):Te?Te(t,"sync"):console.error("Unhandled error in Sibu.catchError:",t),null}}async function Fa(e,n){try{return await e()}catch(t){return n?n(t,"async"):Te?Te(t,"async"):console.error("Unhandled async error in Sibu.catchErrorAsync:",t),null}}function za(e){Te=e}function Va(e){let[n,t]=C(e),r=i=>{!!0||!G()||M(`context.${i}() called during SSR. SibuJS context() is application-global \u2014 it is NOT isolated per request, so a concurrent request can observe this value. Do not use context() for request-specific SSR data; pass it explicitly or use request-scoped storage instead.`)};return{provide(i){r("provide");let a=n();return t(i),()=>t(a)},use(){return n},get(){return n()},set(i){r("set"),t(i)},withContext(i,a){r("withContext");let s=n();t(i);try{let c=a();return c!==null&&typeof c?.then=="function"&&M("context.withContext() received an async callback. Scoping is synchronous only \u2014 the previous value is restored as soon as the callback returns its promise, so anything after an `await` runs outside the scope."),c}finally{t(s)}}}}var $t=Symbol.for("sibujs.createId.v1"),It=globalThis[$t]??(globalThis[$t]={n:0});function fr(e="sibu"){let n=qn();return n?(n.idCounter=(n.idCounter??0)+1,`${e}-${n.idCounter}`):(It.n++,`${e}-${It.n}`)}function pr(){It.n=0}function qa(e,n){let t=typeof n=="function"?n():n;return T(t,I(()=>{t.style.display=e()?"":"none"},t)),t}function mr(e,n,t,r,o){let i=typeof t=="function"?t():t;if(i==null||typeof i=="boolean")return{node:null,owned:!1};let a=i instanceof Node?i:document.createTextNode(String(i)),s=a===t,c=r.has(a),l=!s&&!c;return r.add(a),c&&W(()=>`${o}: ${s?"a branch was given as an element rather than a function":"a branch factory returned a node it had already returned"}, so the SAME node is being re-attached \u2014 any state it accumulated while detached (input value, scroll position, classes set imperatively) comes back with it. Its reactive bindings are left intact rather than disposed, because the node is not this directive's to tear down. Return a FRESH node per call (\`() => div(\u2026)\`) for rebuild semantics, or keep this form deliberately when the reuse is what you want.`),e.insertBefore(a,n.nextSibling),{node:a,owned:l}}function ja(e,n,t){let r=document.createComment("when"),o=null,i,a=!1,s=!1,c=new WeakSet,l=!1,p=()=>{if(s)return;let m=e(),d=r.parentNode;if(!d||a&&m===i)return;i=m;let f=o?Ie([o]):null;o?.parentNode&&(l&&D(o),o.parentNode.removeChild(o),o=null);let h=mr(d,r,m?n:t!==void 0?t:null,c,"when");o=h.node,l=h.owned,Ae(f,o?[o]:[],"when"),a=!0},g=I(p,r);return T(r,()=>{s=!0,g()}),a||queueMicrotask(()=>{!s&&!a&&r.parentNode&&p()}),r}function Wa(e,n,t){let r=document.createComment("match"),o=null,i,a=!1,s=!1,c=new WeakSet,l=!1,p=()=>{if(s)return;let m=String(e()),d=r.parentNode;if(!d||a&&m===i)return;i=m;let f=o?Ie([o]):null;o?.parentNode&&(l&&D(o),o.parentNode.removeChild(o),o=null);let b=Object.hasOwn(n,m)?n[m]:t,h=mr(d,r,b??null,c,"match");o=h.node,l=h.owned,Ae(f,o?[o]:[],"match"),a=!0},g=I(p,r);return T(r,()=>{s=!0,g()}),a||queueMicrotask(()=>{!s&&!a&&r.parentNode&&p()}),r}function et(e,n){let t=globalThis;return t[e]??(t[e]=n())}var Pt=et(Symbol.for("sibujs.components.registry.v1"),()=>new Map);function Ua(e,n){Pt.set(e,n)}function Ka(e){Pt.delete(e)}function gr(e){let n=Pt.get(e);return n?n():_(`[Component "${e}" not found]`)}function Ja(e){let n=_({class:"sibu-dynamic"});function t(){let o=e(),i;typeof o=="function"?i=o():i=gr(o),z(n,i)}let r=q(t);return T(n,r),n}function br(e){return typeof e=="function"?br(e()):e instanceof Node?e:document.createTextNode(String(e))}function Ga(e,n){if(n===0)return[];let t=[],r=new Array(n);for(let s=0;s<n;s++){let c=e[s],l=0,p=t.length;for(;l<p;){let g=l+p>>1;e[t[g]]<c?l=g+1:p=g}t[l]=s,r[s]=l>0?t[l-1]:-1}let o=t.length,i=new Array(o),a=t[o-1];for(let s=o-1;s>=0;s--)i[s]=a,a=r[a];return i}function Ya(e,n,t){R(typeof e=="function","each: first argument must be a function that returns an array."),R(typeof n=="function","each: second argument must be a render function."),R(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=[],a=[],s=i,c=0,l=new Map,p=new Map,g=[],m=[],d=[],f=0,b=[],h=[],y=new Uint8Array(0),k=new Map,v=[],S=[],E=new Map,H=!1,P=!1,Ee=!1,Mr=t.key,jt=()=>{if(Ee)return;let Y=e(),A=Y.length,ue=r.parentNode;if(!ue)return;P||(ue.insertBefore(o,r.nextSibling),P=!0),h.length<A&&(h=new Array(A));for(let x=0;x<A;x++)h[x]=Mr(Y[x]);let oe=h;b.length<A&&(b=new Array(A)),p.clear(),E.clear();for(let x=0;x<A;x++)E.has(oe[x])&&M(`each: duplicate key "${String(oe[x])}" at index ${x} (first seen at ${E.get(oe[x])}). Keys must be unique \u2014 duplicates cause rows to be dropped or mis-ordered.`),E.set(oe[x],x);f=0;for(let x=0;x<A;x++){let B=oe[x],Ut=l.get(B),Me;if(Ut!==void 0)Me=Ut,g[f]=Me,m[f]=Y[x],d[f]=x,f++;else{let[Kt,$r]=C(Y[x]),[Jt,Ir]=C(x),rt;try{pe();try{rt=br(n(Kt,Jt))}finally{me()}}catch(Pr){let Br=oe[x];rt=document.createComment(`each:error:${x}`),queueMicrotask(()=>{w(Pr,{phase:"render",name:`each row (key="${String(Br)}")`,node:r.parentNode?r:void 0})})}Me={node:rt,item:Kt,setItem:$r,index:Jt,setIndex:Ir}}p.set(B,Me),b[x]=Me.node}for(let[x,B]of l)p.has(x)||(D(B.node),B.node.parentNode&&ue.removeChild(B.node));if(A===0){c=0;let x=l;l=p,p=x,H=!0,f=0;return}k.clear();for(let x=0;x<c;x++)k.set(s[x],x);v.length<A&&(v=new Array(A),S=new Array(A));let ze=0;for(let x=0;x<A;x++){let B=k.get(oe[x]);B!==void 0&&(v[ze]=x,S[ze]=B,ze++)}let Wt=Ga(S,ze);y.length<A?y=new Uint8Array(A):y.fill(0,0,A);for(let x=0;x<Wt.length;x++)y[v[Wt[x]]]=1;let Ve=o;for(let x=A-1;x>=0;x--){let B=b[x];y[x]||B.nextSibling!==Ve&&ue.insertBefore(B,Ve),Ve=B}let qe=s===i?a:i;qe.length<A&&(qe.length=A);for(let x=0;x<A;x++)qe[x]=oe[x];s=qe,c=A;let Or=l;l=p,p=Or,H=!0,Dr()};function Dr(){if(f===0)return;let Y=f;f=0,V(()=>{for(let A=0;A<Y;A++){let ue=g[A];ue.setItem(m[A]),ue.setIndex(d[A]),g[A]=void 0,m[A]=void 0}})}let Hr=q(jt);return T(r,()=>{if(!Ee){Ee=!0,Hr();for(let Y of l.values())D(Y.node),Y.node.parentNode?.removeChild(Y.node);o.parentNode&&o.parentNode.removeChild(o),P=!1,l.clear(),p.clear(),E.clear(),k.clear(),c=0,g.length=0,m.length=0,d.length=0,f=0}}),H||queueMicrotask(()=>{!H&&!Ee&&r.parentNode&&jt()}),r}function Za(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(hr(r));else n.appendChild(hr(t));return n}function hr(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))}var Xa=new Set(["script","style"]),Qa=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),yr=new Set(["svg","circle","ellipse","g","line","path","polygon","polyline","rect","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker"]),vr=new WeakMap;function ec(e){let n=e.length-1,t=e[0];for(let d=0;d<n;d++)t+=`\0${d}\0${e[d+1]}`;let r=0,o=t.length;function i(){for(;r<o&&(t[r]===" "||t[r]===" "||t[r]===`
|
|
398
|
-
`||t[r]==="\r");)r++}function a(){if(t.charCodeAt(r)!==0)return-1;let d=r;r++;let f=0;for(;r<o&&t.charCodeAt(r)!==0;)f=f*10+(t.charCodeAt(r)-48),r++;return r<o&&r++,f<0||f>=n?(r=d,-1):f}function s(){let d=r;for(;r<o;){let f=t.charCodeAt(r);if(f>=97&&f<=122||f>=65&&f<=90||f>=48&&f<=57||f===45)r++;else break}return t.slice(d,r)}function c(){if(i(),t[r]!=="=")return{kind:"bool"};r++,i();let d=a();if(d>=0)return{kind:"expr",idx:d};let f=t[r];if(f==='"'||f==="'"){r++;let b=[],h=[],y="";for(;r<o&&t[r]!==f;){let k=a();k>=0?(b.push(y),y="",h.push(k)):y+=t[r++]}return r<o&&r++,b.push(y),h.length===0?{kind:"static",value:b[0]}:{kind:"mixed",statics:b,exprs:h}}{let b=[],h=[],y="";for(;r<o;){let k=t.charCodeAt(r);if(k===32||k===9||k===10||k===13||k===62)break;let v=a();v>=0?(b.push(y),y="",h.push(v)):y+=t[r++]}return b.push(y),h.length===0?{kind:"static",value:b[0]}:{kind:"mixed",statics:b,exprs:h}}}function l(){let d=[];for(;r<o&&(i(),!(t[r]===">"||t[r]==="/"));){let f=r;for(;r<o;){let y=t.charCodeAt(r);if(y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===45||y===58||y===95||y===46)r++;else break}let b=t.slice(f,r);if(!b)break;let h=c();b.startsWith("on:")?h.kind==="expr"&&d.push({t:3,name:b.slice(3),idx:h.idx}):h.kind==="bool"?d.push({t:4,name:b}):h.kind==="static"?d.push({t:0,name:b,value:h.value}):h.kind==="expr"?d.push({t:1,name:b,idx:h.idx}):h.kind==="mixed"&&d.push({t:2,name:b,statics:h.statics,exprs:h.exprs})}return d}function p(d){return d.replace(/\s+/g," ")}function g(d){let f="";for(;r<o&&t[r]!=="<";){let h=a();if(h>=0){let y=p(f);y&&d.push({t:1,value:y}),f="",d.push({t:2,idx:h})}else f+=t[r++]}let b=p(f);b&&d.push({t:1,value:b})}function m(){let d=[];for(;r<o&&!(t[r]==="<"&&r+1<o&&t[r+1]==="/");)if(t[r]==="<"){let f=t[r+1];if(f==="!"){if(t.startsWith("<!--",r)){let v=t.indexOf("-->",r+4);r=v===-1?o:v+3}else if(t.startsWith("<![CDATA[",r)){let v=t.indexOf("]]>",r+9);r=v===-1?o:v+3}else{let v=t.indexOf(">",r);r=v===-1?o:v+1}continue}if(f==="?"){let v=t.indexOf(">",r);r=v===-1?o:v+1;continue}if(!(f>="a"&&f<="z")&&!(f>="A"&&f<="Z")){d.push({t:1,value:"<"}),r++;continue}r++;let b=s(),h=l();i();let y=Qa.has(b),k=t[r]==="/";if(k&&r++,r<o&&r++,y||k)d.push({t:0,el:{tag:b,svg:yr.has(b),attrs:h,children:[]}});else{let v=m();if(Xa.has(b.toLowerCase())){for(let S=0;S<v.length;S++)if(v[S].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,s(),i(),r<o&&t[r]===">"&&r++),d.push({t:0,el:{tag:b,svg:yr.has(b),attrs:h,children:v}})}}else g(d);return d}return m()}function Bt(e,n){let t=e.svg?document.createElementNS(L,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,a=n[o.idx];typeof a=="function"?T(t,Ye(t,i,a)):U(t,i,a,{syncValueProperty:!1,label:"html"});break}case 2:{let i=o.statics[0];for(let a=0;a<o.exprs.length;a++){let s=n[o.exprs[a]];i+=(s==null?"":String(s))+o.statics[a+1]}U(t,o.name,i,{syncValueProperty:!1,label:"html"});break}case 3:{let i=n[o.idx];typeof i=="function"?t.addEventListener(o.name,i):M(`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(Bt(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 a=document.createComment("");t.appendChild(a),T(t,be(a,i))}else if(i instanceof Node)t.appendChild(i);else if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];s instanceof Node?t.appendChild(s):s!=null&&typeof s!="boolean"&&t.appendChild(document.createTextNode(String(s)))}else i!=null&&typeof i!="boolean"&&t.appendChild(document.createTextNode(String(i)));break}}}return t}function xr(e,...n){let t=vr.get(e);if(t||(t=ec(e),vr.set(e,t)),t.length===1&&t[0].t===0)return Bt(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(Bt(i.el,n));break;case 1:r.appendChild(document.createTextNode(i.value));break;case 2:{let a=n[i.idx];if(a instanceof Node)r.appendChild(a);else if(typeof a=="function"){let s=document.createComment("bind:htm");r.appendChild(s),T(r,be(s,a))}else if(Array.isArray(a))for(let s=0;s<a.length;s++){let c=a[s];c instanceof Node?r.appendChild(c):c!=null&&typeof c!="boolean"&&r.appendChild(document.createTextNode(String(c)))}else a!=null&&typeof a!="boolean"&&r.appendChild(document.createTextNode(String(a)));break}}}return r.childNodes.length===1&&r.firstChild instanceof Element?r.firstChild:r}function tc(e,n,t){let r=document.createComment("keep-alive"),o=new Map,i=[],a=t?.max??10;a===0&&Z()&&M("KeepAlive: unbounded cache (max: 0). Cached subtrees will never be evicted \u2014 set `max` to bound memory.");let s,c=null,l=!1,p=!1,g=()=>{if(p)return;let d=e(),f=r.parentNode;if(!f||l&&d===s)return;c?.parentNode&&f.removeChild(c),s=d;let b=o.get(d);if(b){let h=i.indexOf(d);h!==-1&&(i.splice(h,1),i.push(d))}else{let h=n[d];if(!h){c=null,l=!0;return}if(b=h(),b instanceof DocumentFragment){let y=document.createElement("div");y.style.display="contents",y.appendChild(b),b=y}if(o.set(d,b),i.push(d),a>0&&i.length>a){let y=i.shift(),k=o.get(y);k&&(D(k),k.parentNode&&k.parentNode.removeChild(k),o.delete(y))}}f.insertBefore(b,r.nextSibling),c=b,l=!0},m=q(g);return l||queueMicrotask(()=>{!l&&r.parentNode&&g()}),T(r,()=>{p=!0,m();for(let d of o.values())D(d),d.parentNode&&d.parentNode.removeChild(d);o.clear(),i.length=0,c=null}),r}function nc(e,n){if(!n)throw new Error("[SibuJS mount] container element not found. Make sure the DOM element exists before calling mount().");R(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}),D(r),r.parentNode&&r.parentNode.removeChild(r)}}}function rc(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(a){queueMicrotask(()=>{w(a,{phase:"render",name:"Portal",node:t.parentNode?t:void 0})})}}),T(t,()=>{i=!0,o&&(D(o),o.remove(),o=null)}),t}function oc(e,n="default"){if(e==null||!Object.hasOwn(e,n))return;let t=e[n];return typeof t=="function"?t:void 0}function Sr(e,n,t){return t.length===0?e.splice(n):e.splice(n,...t)}function ic(e=[]){let[n,t]=C([...e]);return[n,{push(...o){t(i=>[...i,...o])},pop(){let o;return t(i=>{let a=[...i];return o=a.pop(),a}),o},shift(){let o;return t(i=>{let a=[...i];return o=a.shift(),a}),o},unshift(...o){t(i=>[...o,...i])},splice(o,...i){let a=[];return t(s=>{let c=[...s];return a=Sr(c,o,i),a.length===0&&i.length<=1?s:c}),a},remove(o){t(i=>i.filter((a,s)=>s!==o))},removeWhere(o){t(i=>{let a=i.findIndex(o);return a===-1?i:i.filter((s,c)=>c!==a)})},set(o){t([...o])},update(o,i){t(a=>a.map((s,c)=>c===o?i:s))},updateWhere(o,i){t(a=>a.map(s=>o(s)?i(s):s))},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 sc(e=[]){let n=[...e],t=null,r={__v:0};function o(){t=null,r.__v++,Se(r)||_e(r)}function i(){if(ge(r),t===null){let s=n.slice();t=Object.freeze(s)}return t}return[i,{push(...s){s.length!==0&&(n.push(...s),o())},pop(){if(n.length===0)return;let s=n.pop();return o(),s},shift(){if(n.length===0)return;let s=n.shift();return o(),s},unshift(...s){s.length!==0&&(n.unshift(...s),o())},splice(s,...c){let l=Sr(n,s,c);return(l.length>0||c.length>1)&&o(),l},remove(s){s<0||s>=n.length||(n.splice(s,1),o())},removeWhere(s){let c=n.findIndex(s);c!==-1&&(n.splice(c,1),o())},set(s){n=[...s],o()},update(s,c){s<0||s>=n.length||Object.is(n[s],c)||(n[s]=c,o())},updateWhere(s,c){let l=!1;for(let p=0;p<n.length;p++)if(s(n[p])){let g=c(n[p]);Object.is(n[p],g)||(n[p]=g,l=!0)}l&&o()},sort(s){n.length<=1||(n.sort(s),o())},reverse(){n.length<=1||(n.reverse(),o())},filter(s){let c=n.filter(s);c.length!==n.length&&(n=c,o())},map(s){let c=!1;for(let l=0;l<n.length;l++){let p=s(n[l],l);Object.is(n[l],p)||(n[l]=p,c=!0)}c&&o()},clear(){n.length!==0&&(n=[],o())}}]}function ac(e,n){let[t,r]=C(n),[o,i]=C(!1),[a,s]=C(null),[c,l]=C(0),p=0,g=!1,m=null,d=()=>{if(m===null)return;let b=m;m=null;try{b.abort()}catch{}},f=j(()=>{if(c(),g)return;d();let b=++p,h=typeof AbortController<"u"?new AbortController:null;m=h,V(()=>{i(!0),s(null)});let y=()=>g||b!==p,k;try{k=e({signal:h?h.signal:void 0})}catch(v){if(y())return;V(()=>{s(v),i(!1)});return}k.then(v=>{y()||(m=null,V(()=>{r(v),i(!1)}))},v=>{y()||(m=null,V(()=>{s(v),i(!1)}))})});return{value:t,loading:o,error:a,refresh:()=>{g||l(b=>b+1)},dispose:()=>{g||(g=!0,f(),d())}}}function Re(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 s=n;return e.source===s.source&&e.flags===s.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 s=n;if(e.size!==s.size)return!1;for(let[c,l]of e)if(!s.has(c)||!Re(l,s.get(c),t))return!1;return!0}if(e instanceof Set){let s=n;if(e.size!==s.size)return!1;for(let c of e)if(!s.has(c))return!1;return!0}if(e instanceof ArrayBuffer){let s=new Uint8Array(e),c=new Uint8Array(n);if(s.length!==c.length)return!1;for(let l=0;l<s.length;l++)if(s[l]!==c[l])return!1;return!0}if(e instanceof DataView){if(!(n instanceof DataView)||e.byteLength!==n.byteLength)return!1;for(let s=0;s<e.byteLength;s++)if(e.getUint8(s)!==n.getUint8(s))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){let s=e,c=n;if(s.length!==c.length)return!1;for(let l=0;l<s.length;l++)if(s[l]!==c[l])return!1;return!0}if(Array.isArray(e))return!Array.isArray(n)||e.length!==n.length?!1:e.every((s,c)=>Re(s,n[c],t));if(e instanceof Number||e instanceof String||e instanceof Boolean)return Object.is(e.valueOf(),n.valueOf());if(typeof URL<"u"&&e instanceof URL)return e.href===n.href;if(e instanceof Error){let s=n;return e.name===s.name&&e.message===s.message&&Re(e.cause,s.cause,t)&&Tr(r,o,t)}let a=Object.getPrototypeOf(r);return a!==Object.prototype&&a!==null?!1:Tr(r,o,t)}function Tr(e,n,t){let r=Object.keys(e),o=Object.keys(n);return r.length!==o.length?!1:r.every(i=>Object.hasOwn(n,i)&&Re(e[i],n[i],t))}function cc(e){return C(e,{equals:(n,t)=>Re(n,t)})}function Ft(e,n){R(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._f=!1,o._g=e,o.__v=0;let i=!1,a=!1,s,c=()=>{o._d||a||(o._d=!0)};c._c=1,c._sig=o;let l=()=>{let f=e();o._v=r&&o._init&&r(o._v,f)?o._v:f,o._d=!1,o._init=!0};q(()=>{let f=!0;try{o._v=e(),o._d=!1,o._init=!0,f=!1}finally{f&&(o._d=!0)}},c);let p=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__,g=()=>{if(!o._d||a||s!==void 0)return;let f=o._v;i=!0;try{ae(l,c),Object.is(f,o._v)||o.__v++}catch(b){s={error:b},o.__v++,a?o._d=!0:o._f=!0}finally{i=!1,a&&$e(c)}p&&!a&&!Object.is(f,o._v)&&p.emit("computed:update",{signal:o,oldValue:f,newValue:o._v})};o._validate=g;let m=()=>{let{error:f}=s;throw s=void 0,a&&(o._d=!1),f};function d(){if(i)throw new Error(`[SibuJS] Circular dependency detected in derived${t?` "${t}"`:""}. A derived signal cannot read itself (directly or through a chain).`);return Nn()||a?(o._d&&(g(),s!==void 0&&m()),o._v):(o._d&&(g(),s!==void 0&&(ge(o),m())),ge(o),o._v)}return t&&(d.__name=t,o.__name=t),d.__signal=o,d.dispose=()=>{if(a)return;a=!0,o._d=s!==void 0,$e(c);let f=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__;if(f)try{f.emit("computed:destroy",{signal:o,getter:d})}catch{}},p&&p.emit("computed:create",{signal:o,name:t,getter:d}),d}function uc(e){let[n,t]=C(e);return{get current(){return n()},set current(r){t(r)}}}function Er(e,n,t){Object.defineProperty(e,n,{value:t,writable:!0,enumerable:!0,configurable:!0})}function lc(e){R(e!==null&&typeof e=="object"&&!Array.isArray(e),"store: argument must be a plain object. For arrays, use array() instead.");let n=Object.create(null);Object.keys(e).forEach(c=>{let[l,p]=C(e[c]);Er(n,c,[l,p])});let t=new Proxy({},{get(c,l){if(typeof l=="string"&&Object.hasOwn(n,l)){let p=n[l][0];return p()}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=>{Er(c,l,n[l][0]())}),c};return[t,{setState:c=>{let l=r(),p=typeof c=="function"?c(l):c;V(()=>{Object.entries(p).forEach(([g,m])=>{Object.hasOwn(n,g)&&n[g][1](m)})})},reset:()=>{V(()=>{Object.keys(e).forEach(c=>{let l=n[c][1];l(e[c])})})},subscribe:c=>{let l=!0;return j(()=>{let p=r();if(l){l=!1;return}pe();try{c(p)}finally{me()}})},subscribeKey:(c,l)=>{let p,g=!0;return j(()=>{let m=n[c][0]();if(g){p=m,g=!1;return}if(!Object.is(m,p)){let d=p;p=m,pe();try{l(m,d)}finally{me()}}})},getSnapshot:r}]}function dc(e,n){if(R(typeof e=="function","watch: first argument must be a getter function."),R(typeof n=="function","watch: second argument must be a callback function."),G())return()=>{};let t,r=!0;return q(()=>{let a=e();if(r){t=a,r=!1;return}if(!Object.is(a,t)){let s=t;t=a,pe();try{n(a,s)}finally{me()}}})}function fc(e,n,t){return[Ft(e,t),i=>{V(()=>n(i))}]}function pc(e){let n=e();return Z()&&queueMicrotask(()=>{try{e()}catch(t){console.warn("[SibuJS strict] second run threw:",t)}}),n}function mc(e){if(!Z())return j(e);let n=j(e),t=null;return queueMicrotask(()=>{try{t=j(e)}catch(r){console.warn("[SibuJS strictEffect] second run threw:",r)}}),()=>{n(),t&&t()}}function wr(e,n){return G()?()=>{}:I(e,n)}var zt="data-sibu-enhanced",Vt=new WeakMap;function kr(e,n){let t=0;for(;e.length>0;){let r=e.splice(0);for(let o=0;o<r.length;o++){if(t>=De){let i=r.length-o+e.length;e.length=0,He(n,t,i);return}t++;try{r[o]()}catch(i){typeof console<"u"&&console.error(`[SibuJS ${n}] teardown error:`,i)}}}}var _r=["text","attr","class","show","on","cleanup"];function Ar(e,n){if(n==null)return e;if(typeof n!="string")return n;let t=n.startsWith("@")?`[data-ref="${n.slice(1)}"]`:n;try{return e.querySelector(t)}catch{return null}}function Fe(e,n){return wr(n,e)}function gc(e){if(e instanceof HTMLInputElement){if(e.type==="checkbox")return e.checked;if(e.type==="number"||e.type==="range")return e.value===""?null:Number(e.value)}return e instanceof HTMLSelectElement&&e.multiple?Array.from(e.selectedOptions,n=>n.value):e.value}function bc(e,n){if(e instanceof HTMLInputElement&&e.type==="checkbox"){e.checked=!!n;return}if(e instanceof HTMLSelectElement&&e.multiple){let r=Array.isArray(n)?n.map(String):[];for(let o of Array.from(e.options))o.selected=r.includes(o.value);return}let t=n==null?"":String(n);e.value!==t&&(e.value=t)}function hc(e,n,t,r){let o=`ctx.each[${r}]`;if(Z())for(let i of Object.keys(t))R(_r.includes(i),`${o}: unknown binding "${i}". Expected one of: ${_r.join(", ")}.`);if(t.text!==void 0&&(R(typeof t.text=="function",`${o}: "text" must be a function returning the value.`),e.text(n,t.text)),t.attr!==void 0)for(let i of Object.keys(t.attr)){let a=t.attr[i];R(typeof a=="function",`${o}: attr["${i}"] must be a function returning the value.`),e.attr(n,i,a)}if(t.class!==void 0)for(let i of Object.keys(t.class)){let a=t.class[i];R(typeof a=="function",`${o}: class["${i}"] must be a function returning a boolean.`),e.classed(n,i,a)}if(t.show!==void 0&&(R(typeof t.show=="function",`${o}: "show" must be a function returning a boolean.`),e.show(n,t.show)),t.on!==void 0)for(let i of Object.keys(t.on)){let a=t.on[i];R(typeof a=="function",`${o}: on["${String(i)}"] must be a function.`),e.on(n,i,a)}t.cleanup!==void 0&&(R(typeof t.cleanup=="function",`${o}: "cleanup" must be a function.`),e.cleanup(t.cleanup))}function tt(e,n){let t=typeof e=="string"?typeof document<"u"?document.querySelector(e):null:e;if(!t)return typeof console<"u"&&console.warn(`[SibuJS enhance] no element matched ${JSON.stringify(e)} \u2014 nothing enhanced.`),()=>{};if(t.getAttribute(zt)==="true")return Z()&&typeof console<"u"&&console.warn("[SibuJS enhance] element is already enhanced; ignoring re-enhance.",t),()=>{};let r=[],o=Symbol("sibujs.enhance"),i=!1,a=!1,s=m=>a?(W(()=>`enhance: ctx.${m}() was called after this enhancement was rolled back or disposed, so it was ignored. The setup is still running past the point where its transaction ended \u2014 usually an async setup continuing after an await, or a callback it queued before it threw. Registrations made now would belong to nothing: the root carries no enhancement marker and the disposer has already run, so nothing could ever release them.`),!0):!1,c=(m,d,f)=>{if(s(m))return;let b=Ar(t,d);if(!b){typeof console<"u"&&console.warn(`[SibuJS enhance] target ${JSON.stringify(d)} not found under`,t);return}f(b)},l={root:t,ref:m=>Ar(t,m),refs:m=>{let d=m.startsWith("@")?`[data-ref="${m.slice(1)}"]`:m;try{return Array.from(t.querySelectorAll(d))}catch{return[]}},on:(m,d,f,b)=>{c("on",m,h=>{let y=k=>f(k,h);h.addEventListener(d,y,b),r.push(()=>h.removeEventListener(d,y,b))})},text:(m,d)=>{c("text",m,f=>{r.push(Fe(f,()=>{let b=d(),h=b==null?"":String(b);f.textContent!==h&&(f.textContent=h)}))})},attr:(m,d,f)=>{c("attr",m,b=>{r.push(Fe(b,()=>{let h=f(),y=h==null?null:String(h);U(b,d,y,{syncValueProperty:!1,label:"enhance attr()"})}))})},classed:(m,d,f)=>{c("classed",m,b=>{r.push(Fe(b,()=>{b.classList.toggle(d,!!f())}))})},show:(m,d)=>{c("show",m,f=>{let b=f.hidden;r.push(Fe(f,()=>{f.hidden=!d()})),r.push(()=>{f.hidden=b})})},model:(m,d,f)=>{c("model",m,b=>{let h=b,[y,k]=d,v=f?.event??(h instanceof HTMLSelectElement||h instanceof HTMLInputElement&&(h.type==="checkbox"||h.type==="radio")?"change":"input");r.push(Fe(b,()=>{bc(h,y())}));let S=()=>k(gc(h));h.addEventListener(v,S),r.push(()=>h.removeEventListener(v,S))})},each:(m,d)=>{if(s("each"))return;R(typeof d=="function","ctx.each: second argument must be a function.");let f=typeof m=="string"?l.refs(m):Array.from(m);for(let b=0;b<f.length;b++){let h=f[b],y=d(h,b);y!=null&&hc(l,h,y,b)}},cleanup:m=>{s("cleanup")||r.push(m)}},p;try{p=n(l);let m=p;if(m&&typeof m.then=="function")throw m.then(void 0,d=>{W(()=>`enhance: the promise returned by the setup also rejected: ${String(d)}`)}),new Error("[SibuJS enhance] the setup returned a promise, so its work did not complete inside the enhancement transaction. If it is a lazy import, register it as lazyIsland(() => import(\u2026)): an unwrapped loader is called as a setup, so its module is fetched but the setup it resolves to is discarded. If it is an async setup, make it synchronous \u2014 this enhancement has been rolled back, and ctx registrations made after this point are ignored.")}catch(m){throw kr(r,"enhance"),a=!0,m}typeof p=="function"&&r.push(p);let g=()=>{i||(i=!0,Vt.get(t)===o&&(Vt.delete(t),t.removeAttribute(zt)),je(t,g),kr(r,"enhance"),a=!0)};return T(t,g),Vt.set(t,o),t.setAttribute(zt,"true"),g}function yc(e,n){if(typeof document>"u")return()=>{};let t=[];try{for(let r of Array.from(document.querySelectorAll(e)))t.push(tt(r,n))}catch(r){for(let o=t.length-1;o>=0;o--)try{t[o]()}catch(i){typeof console<"u"&&console.error("[SibuJS enhanceAll] rollback error:",i)}throw t.length=0,r}return()=>{for(let r of t.splice(0))r()}}var vc=/^[A-Za-z0-9_-]+$/,Cr=Symbol.for("sibujs.islands.lazy"),nt=et(Symbol.for("sibujs.islands.registry.v1"),()=>new Map);function xc(e){return e[Cr]=!0,e}function Sc(e,n){if(!vc.test(e))throw new Error(`[SibuJS islands] name must match [A-Za-z0-9_-]+ (got: ${JSON.stringify(e.slice(0,32))})`);nt.set(e,n)}function Tc(e){nt.delete(e)}async function Ec(e){if(typeof e=="function"&&e[Cr]){let n=await e(),t=n.default??n;return typeof t=="function"?t:null}return e}function wc(e=typeof document<"u"?document:null,n={}){if(!e||typeof e.querySelectorAll!="function")return()=>{};let t=[],r=[],o=!1;for(let i of Array.from(e.querySelectorAll("[data-sibu-island]"))){if(i.getAttribute("data-sibu-enhanced")==="true")continue;let a=i.getAttribute("data-sibu-island")??"";if(!nt.has(a)){typeof console<"u"&&console.warn(`[SibuJS islands] no island registered for "${a}" \u2014 skipping. Call registerIsland("${a}", ...).`);continue}let s=!1,c=()=>{if(s||o)return;s=!0;let p=nt.get(a);p&&Ec(p).then(g=>{if(!o){if(!g){typeof console<"u"&&console.warn(`[SibuJS islands] "${a}" loader produced no setup.`);return}try{let m=tt(i,g);if(o){m();return}r.push(m),i.setAttribute("data-sibu-hydrated","true")}catch(m){typeof console<"u"&&console.error(`[SibuJS islands] "${a}" failed to mount:`,m)}}}).catch(g=>{typeof console<"u"&&console.error(`[SibuJS islands] "${a}" failed to load:`,g)})},l=i.getAttribute("data-sibu-load")||"load";t.push(kc(l,i,c,n))}return()=>{o=!0;for(let i of t.splice(0))i();for(let i of r.splice(0))i()}}function kc(e,n,t,r){switch(e){case"idle":{if(typeof requestIdleCallback<"u"){let i=requestIdleCallback(t);return()=>cancelIdleCallback(i)}let o=setTimeout(t,1);return()=>clearTimeout(o)}case"visible":{if(typeof IntersectionObserver>"u")return queueMicrotask(t),()=>{};let o=new IntersectionObserver(i=>{for(let a of i)a.isIntersecting&&(o.disconnect(),t())},{rootMargin:r.rootMargin,threshold:r.threshold});return o.observe(n),()=>o.disconnect()}case"interaction":{let o=["pointerdown","focusin","keydown","touchstart"],i=()=>{a(),t()},a=()=>{for(let s of o)n.removeEventListener(s,i)};for(let s of o)n.addEventListener(s,i,{passive:!0});return a}case"media":{let o=n.getAttribute("data-sibu-media")||"(min-width: 0px)";if(typeof matchMedia>"u")return queueMicrotask(t),()=>{};let i=matchMedia(o);if(i.matches)return queueMicrotask(t),()=>{};let a=()=>{i.matches&&(i.removeEventListener("change",a),t())};return i.addEventListener("change",a),()=>i.removeEventListener("change",a)}default:return queueMicrotask(t),()=>{}}}function Nr(e){return e}var Id=1024*1024;function Lr(e){if(e===null||typeof e!="object"&&typeof e!="function")return null;let n;try{n=e.then}catch(t){return Promise.reject(t)}return typeof n!="function"?null:new Promise((t,r)=>{queueMicrotask(()=>{try{Reflect.apply(n,e,[t,r])}catch(o){r(o)}})})}function _c(e){let[n,t]=C(e()),r=!1,o=!1,i=n(),a=()=>{r=!1,!o&&t(i)},s=()=>{r||(r=!0,queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(a):a()}))},c=q(()=>{i=e(),s()}),l=(()=>n());return l.dispose=()=>{o||(o=!0,c())},l}var Rr=16;function Ac(e){let n=globalThis;if(typeof n.requestIdleCallback=="function"){n.requestIdleCallback(e,{timeout:Rr*4});return}if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>e());return}setTimeout(e,Rr)}function Cc(){let[e,n]=C(!1),t=0;function r(o){t++,n(!0);let i=!1,a=()=>{i||(i=!0,t--,t===0&&n(!1))},s=c=>{a(),w(c,{phase:"async",name:"transition"})};Ac(()=>{try{let c=Lr(o());c?c.then(a,s):a()}catch(c){s(c)}})}return{pending:e,start:r}}function Nc(){return new Promise(e=>{queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>e()):e()})})}typeof globalThis<"u"&&(globalThis.Sibu={...qt});})();
|
|
397
|
+
`,ur=!1;function Ba(){!ur&&typeof document<"u"&&(document.head.appendChild(Te({nodes:Pa})),ur=!0)}function Fa(e={}){Ba();let{text:n,variant:t="spinner",size:r="md"}=e,o=r!=="md"?` sibu-loading-${r}`:"";return t==="dots"?_({class:`sibu-loading${o}`,role:"status","aria-live":"polite","aria-label":n?void 0:"Loading"},[_({class:"sibu-loading-dots"},[H({class:"sibu-loading-dot"}),H({class:"sibu-loading-dot"}),H({class:"sibu-loading-dot"})]),n?H({class:"sibu-loading-text"},n):null]):_({class:`sibu-loading${o}`,role:"status","aria-live":"polite","aria-label":n?void 0:"Loading"},[_({class:"sibu-loading-spinner"}),n?H({class:"sibu-loading-text"},n):null])}var Pt=Symbol.for("sibujs.actions.v1"),lr=globalThis[Pt]??(globalThis[Pt]=new Map);function He(e,n){lr.set(e,n)}function dr(e){return lr.get(e)}function Va(e,n,t){let r=typeof n=="string"?dr(n):n;if(!r)throw new Error(`[SibuJS] No action registered under the name "${n}". Register it with registerAction() before applying it by name.`);let o=r(e,t);typeof o=="function"&&x(e,o)}var fr=(e,n)=>{let t=r=>{e.contains(r.target)||n()};return document.addEventListener("pointerdown",t,!0),()=>document.removeEventListener("pointerdown",t,!0)},pr=(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)}},mr=(e,n)=>{let t=o=>w(o,{phase:"async",name:"copyOnClick",node:e}),r=()=>{try{let o=typeof n=="function"?n():e.textContent??"";Promise.resolve(navigator.clipboard.writeText(o)).catch(t)}catch(o){t(o)}};return e.addEventListener("click",r),()=>e.removeEventListener("click",r)},gr=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)},br=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)};He("clickOutside",fr);He("longPress",pr);He("copyOnClick",mr);He("autoResize",gr);He("trapFocus",br);function it(e){if(e===null||typeof e!="object"&&typeof e!="function")return null;let n;try{n=e.then}catch(t){return Promise.reject(t)}return typeof n!="function"?null:new Promise((t,r)=>{queueMicrotask(()=>{try{Reflect.apply(n,e,[t,r])}catch(o){r(o)}})})}var Ae=null;function za(e,n){try{let t=e(),r=it(t);return r&&r.then(void 0,o=>{n?n(o,"async"):Ae?Ae(o,"async"):console.error("Unhandled async error in Sibu.catchError:",o)}),t}catch(t){return n?n(t,"sync"):Ae?Ae(t,"sync"):console.error("Unhandled error in Sibu.catchError:",t),null}}async function ja(e,n){try{return await e()}catch(t){return n?n(t,"async"):Ae?Ae(t,"async"):console.error("Unhandled async error in Sibu.catchErrorAsync:",t),null}}function qa(e){Ae=e}function Wa(e){let[n,t]=A(e),r=i=>{!!0||!Z()||D(`context.${i}() called during SSR. SibuJS context() is application-global \u2014 it is NOT isolated per request, so a concurrent request can observe this value. Do not use context() for request-specific SSR data; pass it explicitly or use request-scoped storage instead.`)};return{provide(i){r("provide");let s=n();return t(i),()=>t(s)},use(){return n},get(){return n()},set(i){r("set"),t(i)},withContext(i,s){r("withContext");let a=n();t(i);try{let c=s();return c!==null&&typeof c?.then=="function"&&D("context.withContext() received an async callback. Scoping is synchronous only \u2014 the previous value is restored as soon as the callback returns its promise, so anything after an `await` runs outside the scope."),c}finally{t(a)}}}}var Bt=Symbol.for("sibujs.createId.v1"),Ft=globalThis[Bt]??(globalThis[Bt]={n:0});function hr(e="sibu"){let n=Jn();return n?(n.idCounter=(n.idCounter??0)+1,`${e}-${n.idCounter}`):(Ft.n++,`${e}-${Ft.n}`)}function yr(){Ft.n=0}function Ka(e,n){let t=typeof n=="function"?n():n;return x(t,I(()=>{t.style.display=e()?"":"none"},t)),t}function vr(e,n,t,r,o){let i=typeof t=="function"?t():t;if(i==null||typeof i=="boolean")return{node:null,owned:!1};let s=i instanceof Node?i:document.createTextNode(String(i)),a=s===t,c=r.has(s),l=!a&&!c;return r.add(s),c&&U(()=>`${o}: ${a?"a branch was given as an element rather than a function":"a branch factory returned a node it had already returned"}, so the SAME node is being re-attached \u2014 any state it accumulated while detached (input value, scroll position, classes set imperatively) comes back with it. Its reactive bindings are left intact rather than disposed, because the node is not this directive's to tear down. Return a FRESH node per call (\`() => div(\u2026)\`) for rebuild semantics, or keep this form deliberately when the reuse is what you want.`),e.insertBefore(s,n.nextSibling),{node:s,owned:l}}function Ua(e,n,t){let r=document.createComment("when"),o=null,i,s=!1,a=!1,c=new WeakSet,l=!1,d=()=>{if(a)return;let m=e(),f=r.parentNode;if(!f||s&&Object.is(m,i))return;i=m;let p=o?Ve([o]):null;o?.parentNode&&(l&&M(o),o.parentNode.removeChild(o),o=null);let b=m?n:t!==void 0?t:null,h=X(()=>vr(f,r,b,c,"when"));o=h.node,l=h.owned,Me(p,o?[o]:[],"when"),s=!0},g=I(d,r);return x(r,()=>{a=!0,g()}),s||queueMicrotask(()=>{!a&&!s&&r.parentNode&&d()}),r}function Ja(e,n,t){let r=document.createComment("match"),o=null,i,s=!1,a=!1,c=new WeakSet,l=!1,d=()=>{if(a)return;let m=String(e()),f=r.parentNode;if(!f||s&&m===i)return;i=m;let p=o?Ve([o]):null;o?.parentNode&&(l&&M(o),o.parentNode.removeChild(o),o=null);let b=Object.hasOwn(n,m)?n[m]:t,h=X(()=>vr(f,r,b??null,c,"match"));o=h.node,l=h.owned,Me(p,o?[o]:[],"match"),s=!0},g=I(d,r);return x(r,()=>{a=!0,g()}),s||queueMicrotask(()=>{!a&&!s&&r.parentNode&&d()}),r}function qe(e,n){let t=globalThis;return t[e]??(t[e]=n())}var st=qe(Symbol.for("sibujs.components.registry.v1"),()=>new Map),Sr=qe(Symbol.for("sibujs.components.registryVersion.v1"),()=>A(0));function xr(){let[e,n]=Sr;n(X(e)+1)}function Ga(e,n){st.set(e,n),xr()}function Ya(e){st.delete(e)&&xr()}function Xa(e){let n=st.get(e);return n?n():_(`[Component "${e}" not found]`)}function Za(e){let n=_({class:"sibu-dynamic"}),r={};function o(){let s=e(),a;typeof s=="function"?a=s:(Sr[0](),a=st.get(s));let c=a??`missing:${s}`;if(c===r)return;let l=X(()=>a?a():_(`[Component "${s}" not found]`));r=c,V(n,l)}let i=q(o);return x(n,i),n}function Tr(e){return typeof e=="function"?Tr(e()):e instanceof Node?e:document.createTextNode(String(e))}function Qa(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 g=l+d>>1;e[t[g]]<c?l=g+1:d=g}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 ec(e,n,t){R(typeof e=="function","each: first argument must be a function that returns an array."),R(typeof n=="function","each: second argument must be a render function."),R(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,g=[],m=[],f=[],p=0,b=[],h=[],y=new Uint8Array(0),k=new Map,v=[],T=[],E=new Map,O=!1,P=!1,Ce=!1,Ir=t.key,Kt=()=>{if(Ce)return;let Q=e(),C=Q.length,ge=r.parentNode;if(!ge)return;P||(ge.insertBefore(o,r.nextSibling),P=!0),h.length<C&&(h=new Array(C));for(let S=0;S<C;S++)h[S]=Ir(Q[S]);let ue=h;b.length<C&&(b=new Array(C)),d.clear(),E.clear();for(let S=0;S<C;S++)E.has(ue[S])&&D(`each: duplicate key "${String(ue[S])}" at index ${S} (first seen at ${E.get(ue[S])}). Keys must be unique \u2014 duplicates cause rows to be dropped or mis-ordered.`),E.set(ue[S],S);p=0;for(let S=0;S<C;S++){let B=ue[S],Jt=l.get(B),Ie;if(Jt!==void 0)Ie=Jt,g[p]=Ie,m[p]=Q[S],f[p]=S,p++;else{let[Gt,Vr]=A(Q[S]),[Yt,zr]=A(S),ut;try{ye();try{ut=Tr(n(Gt,Yt))}finally{ve()}}catch(jr){let qr=ue[S];ut=document.createComment(`each:error:${S}`),queueMicrotask(()=>{w(jr,{phase:"render",name:`each row (key="${String(qr)}")`,node:r.parentNode?r:void 0})})}Ie={node:ut,item:Gt,setItem:Vr,index:Yt,setIndex:zr}}d.set(B,Ie),b[S]=Ie.node}for(let[S,B]of l)d.has(S)||(M(B.node),B.node.parentNode&&ge.removeChild(B.node));if(C===0){c=0;let S=l;l=d,d=S,O=!0,p=0;return}k.clear();for(let S=0;S<c;S++)k.set(a[S],S);v.length<C&&(v=new Array(C),T=new Array(C));let Ke=0;for(let S=0;S<C;S++){let B=k.get(ue[S]);B!==void 0&&(v[Ke]=S,T[Ke]=B,Ke++)}let Ut=Qa(T,Ke);y.length<C?y=new Uint8Array(C):y.fill(0,0,C);for(let S=0;S<Ut.length;S++)y[v[Ut[S]]]=1;let Ue=o;for(let S=C-1;S>=0;S--){let B=b[S];y[S]||B.nextSibling!==Ue&&ge.insertBefore(B,Ue),Ue=B}let Je=a===i?s:i;Je.length<C&&(Je.length=C);for(let S=0;S<C;S++)Je[S]=ue[S];a=Je,c=C;let Fr=l;l=d,d=Fr,O=!0,Pr()};function Pr(){if(p===0)return;let Q=p;p=0,z(()=>{for(let C=0;C<Q;C++){let ge=g[C];ge.setItem(m[C]),ge.setIndex(f[C]),g[C]=void 0,m[C]=void 0}})}let Br=q(Kt);return x(r,()=>{if(!Ce){Ce=!0,Br();for(let Q of l.values())M(Q.node),Q.node.parentNode?.removeChild(Q.node);o.parentNode&&o.parentNode.removeChild(o),P=!1,l.clear(),d.clear(),E.clear(),k.clear(),c=0,g.length=0,m.length=0,f.length=0,p=0}}),O||queueMicrotask(()=>{!O&&!Ce&&r.parentNode&&Kt()}),r}function tc(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"||Er(n,r);else Er(n,t);return n}function Er(e,n){if(n instanceof Node){e.appendChild(n);return}if(typeof n=="function"){let t=document.createComment("");e.appendChild(t),x(t,se(t,n));return}e.appendChild(document.createTextNode(String(n)))}var nc=new Set(["script","style"]),rc=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),wr=new Set(["svg","circle","ellipse","g","line","path","polygon","polyline","rect","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker"]),kr=new WeakMap;function oc(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]===`
|
|
398
|
+
`||t[r]==="\r");)r++}function s(){if(t.charCodeAt(r)!==0)return-1;let f=r;r++;let p=0;for(;r<o&&t.charCodeAt(r)!==0;)p=p*10+(t.charCodeAt(r)-48),r++;return r<o&&r++,p<0||p>=n?(r=f,-1):p}function a(){let f=r;for(;r<o;){let p=t.charCodeAt(r);if(p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===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 p=t[r];if(p==='"'||p==="'"){r++;let b=[],h=[],y="";for(;r<o&&t[r]!==p;){let k=s();k>=0?(b.push(y),y="",h.push(k)):y+=t[r++]}return r<o&&r++,b.push(y),h.length===0?{kind:"static",value:b[0]}:{kind:"mixed",statics:b,exprs:h}}{let b=[],h=[],y="";for(;r<o;){let k=t.charCodeAt(r);if(k===32||k===9||k===10||k===13||k===62)break;let v=s();v>=0?(b.push(y),y="",h.push(v)):y+=t[r++]}return b.push(y),h.length===0?{kind:"static",value:b[0]}:{kind:"mixed",statics:b,exprs:h}}}function l(){let f=[];for(;r<o&&(i(),!(t[r]===">"||t[r]==="/"));){let p=r;for(;r<o;){let y=t.charCodeAt(r);if(y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===45||y===58||y===95||y===46)r++;else break}let b=t.slice(p,r);if(!b)break;let h=c();b.startsWith("on:")?h.kind==="expr"&&f.push({t:3,name:b.slice(3),idx:h.idx}):h.kind==="bool"?f.push({t:4,name:b}):h.kind==="static"?f.push({t:0,name:b,value:h.value}):h.kind==="expr"?f.push({t:1,name:b,idx:h.idx}):h.kind==="mixed"&&f.push({t:2,name:b,statics:h.statics,exprs:h.exprs})}return f}function d(f){return f.replace(/\s+/g," ")}function g(f){let p="";for(;r<o&&t[r]!=="<";){let h=s();if(h>=0){let y=d(p);y&&f.push({t:1,value:y}),p="",f.push({t:2,idx:h})}else p+=t[r++]}let b=d(p);b&&f.push({t:1,value:b})}function m(){let f=[];for(;r<o&&!(t[r]==="<"&&r+1<o&&t[r+1]==="/");)if(t[r]==="<"){let p=t[r+1];if(p==="!"){if(t.startsWith("<!--",r)){let v=t.indexOf("-->",r+4);r=v===-1?o:v+3}else if(t.startsWith("<![CDATA[",r)){let v=t.indexOf("]]>",r+9);r=v===-1?o:v+3}else{let v=t.indexOf(">",r);r=v===-1?o:v+1}continue}if(p==="?"){let v=t.indexOf(">",r);r=v===-1?o:v+1;continue}if(!(p>="a"&&p<="z")&&!(p>="A"&&p<="Z")){f.push({t:1,value:"<"}),r++;continue}r++;let b=a(),h=l();i();let y=rc.has(b),k=t[r]==="/";if(k&&r++,r<o&&r++,y||k)f.push({t:0,el:{tag:b,svg:wr.has(b),attrs:h,children:[]}});else{let v=m();if(nc.has(b.toLowerCase())){for(let T=0;T<v.length;T++)if(v[T].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:wr.has(b),attrs:h,children:v}})}}else g(f);return f}return m()}function Vt(e,n){let t=e.svg?document.createElementNS(L,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=n[o.idx];typeof s=="function"?x(t,Fe(t,i,s)):J(t,i,s,{syncValueProperty:!1,label:"html"});break}case 2:{let i=o.statics[0];for(let s=0;s<o.exprs.length;s++){let a=n[o.exprs[s]];i+=(a==null?"":String(a))+o.statics[s+1]}J(t,o.name,i,{syncValueProperty:!1,label:"html"});break}case 3:{let i=n[o.idx];typeof i=="function"?t.addEventListener(o.name,i):D(`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(Vt(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),x(t,se(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 _r(e,...n){let t=kr.get(e);if(t||(t=oc(e),kr.set(e,t)),t.length===1&&t[0].t===0)return Vt(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(Vt(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),x(r,se(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 ic(e,n,t){let r=document.createComment("keep-alive"),o=new Map,i=[],s=t?.max??10;s===0&&ee()&&D("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,g=()=>{if(d)return;let f=e(),p=r.parentNode;if(!p||l&&f===a)return;c?.parentNode&&p.removeChild(c),a=f;let b=o.get(f);if(b){let h=i.indexOf(f);h!==-1&&(i.splice(h,1),i.push(f))}else{let h=n[f];if(!h){c=null,l=!0;return}if(b=h(),b instanceof DocumentFragment){let y=document.createElement("div");y.style.display="contents",y.appendChild(b),b=y}if(o.set(f,b),i.push(f),s>0&&i.length>s){let y=i.shift(),k=o.get(y);k&&(M(k),k.parentNode&&k.parentNode.removeChild(k),o.delete(y))}}p.insertBefore(b,r.nextSibling),c=b,l=!0},m=q(g);return l||queueMicrotask(()=>{!l&&r.parentNode&&g()}),x(r,()=>{d=!0,m();for(let f of o.values())M(f),f.parentNode&&f.parentNode.removeChild(f);o.clear(),i.length=0,c=null}),r}function sc(e,n){if(!n)throw new Error("[SibuJS mount] container element not found. Make sure the DOM element exists before calling mount().");R(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=t(),o=null,i=d=>{if(d instanceof DocumentFragment){let g=document.createComment(""),m=document.createComment("");d.insertBefore(g,d.firstChild),d.appendChild(m),o={start:g,end:m}}n.appendChild(d)},s;typeof e=="function"?s=rn(()=>{let d=e();return i(d),d}):(s=e,i(s));let a=t()-r,c=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__;c&&W(c,"app:init",{rootElement:s,container:n,duration:a});let l=o;return{node:s,unmount(){if(c&&W(c,"app:unmount",{rootElement:s}),l){ac(l.start,l.end);return}M(s),s.parentNode?.removeChild(s)}}}function ac(e,n){let t=e.parentNode;if(!t&&!n.parentNode)return;let r=re;for(let a=e.nextSibling;a&&a!==n;a=a.nextSibling)r++;let o=e,i=null,s=!0;for(;;){e.parentNode!==t||n.parentNode!==t?s=!1:(e.previousSibling!==o||n.nextSibling!==i)&&(o=e.previousSibling,i=n.nextSibling,s=!!(e.compareDocumentPosition(n)&4));let a=e.nextSibling;if(!s||a===n)break;if(r--<=0){le("mount",re,1);return}M(a),a.parentNode===t&&t.removeChild(a)}s||w(new Error("[SibuJS mount] fragment markers lost"),{phase:"cleanup",name:"mount"}),e.parentNode?.removeChild(e),n.parentNode?.removeChild(n)}function cc(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){queueMicrotask(()=>{w(s,{phase:"render",name:"Portal",node:t.parentNode?t:void 0})})}}),x(t,()=>{i=!0,o&&(M(o),o.remove(),o=null)}),t}function uc(e,n="default"){if(e==null||!Object.hasOwn(e,n))return;let t=e[n];return typeof t=="function"?t:void 0}function Ar(e,n,t){return t.length===0?e.splice(n):e.splice(n,...t)}function lc(e=[]){let[n,t]=A([...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){let s=[];return t(a=>{let c=[...a];return s=Ar(c,o,i),s.length===0&&i.length<=1?a:c}),s},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 dc(e=[]){let n=[...e],t=null,r={__v:0};function o(){t=null,r.__v++,_e(r)||Re(r)}function i(){if(Se(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){let l=Ar(n,a,c);return(l.length>0||c.length>1)&&o(),l},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 g=c(n[d]);Object.is(n[d],g)||(n[d]=g,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 fc(e,n){let[t,r]=A(n),[o,i]=A(!1),[s,a]=A(null),[c,l]=A(0),d=0,g=!1,m=null,f=()=>{if(m===null)return;let b=m;m=null;try{b.abort()}catch{}},p=K(()=>{if(c(),g)return;f();let b=++d,h=typeof AbortController<"u"?new AbortController:null;m=h,z(()=>{i(!0),a(null)});let y=()=>g||b!==d,k;try{k=e({signal:h?h.signal:void 0})}catch(v){if(y())return;z(()=>{a(v),i(!1)});return}k.then(v=>{y()||(m=null,z(()=>{r(v),i(!1)}))},v=>{y()||(m=null,z(()=>{a(v),i(!1)}))})});return{value:t,loading:o,error:s,refresh:()=>{g||l(b=>b+1)},dispose:()=>{g||(g=!0,p(),f())}}}function $e(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 a=n;return e.source===a.source&&e.flags===a.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 a=n;if(e.size!==a.size)return!1;for(let[c,l]of e)if(!a.has(c)||!$e(l,a.get(c),t))return!1;return!0}if(e instanceof Set){let a=n;if(e.size!==a.size)return!1;for(let c of e)if(!a.has(c))return!1;return!0}if(e instanceof ArrayBuffer){let a=new Uint8Array(e),c=new Uint8Array(n);if(a.length!==c.length)return!1;for(let l=0;l<a.length;l++)if(a[l]!==c[l])return!1;return!0}if(e instanceof DataView){if(!(n instanceof DataView)||e.byteLength!==n.byteLength)return!1;for(let a=0;a<e.byteLength;a++)if(e.getUint8(a)!==n.getUint8(a))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){let a=e,c=n;if(a.length!==c.length)return!1;for(let l=0;l<a.length;l++)if(a[l]!==c[l])return!1;return!0}if(Array.isArray(e))return!Array.isArray(n)||e.length!==n.length?!1:e.every((a,c)=>$e(a,n[c],t));if(e instanceof Number||e instanceof String||e instanceof Boolean)return Object.is(e.valueOf(),n.valueOf());if(typeof URL<"u"&&e instanceof URL)return e.href===n.href;if(e instanceof Error){let a=n;return e.name===a.name&&e.message===a.message&&$e(e.cause,a.cause,t)&&Cr(r,o,t)}let s=Object.getPrototypeOf(r);return s!==Object.prototype&&s!==null?!1:Cr(r,o,t)}function Cr(e,n,t){let r=Object.keys(e),o=Object.keys(n);return r.length!==o.length?!1:r.every(i=>Object.hasOwn(n,i)&&$e(e[i],n[i],t))}function pc(e){return A(e,{equals:(n,t)=>$e(n,t)})}function zt(e,n){R(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._f=!1,o._g=e,o.__v=0;let i=!1,s=!1,a,c=()=>{o._d||s||(o._d=!0)};c._c=1,c._sig=o;let l=()=>{let p=e();o._v=r&&o._init&&r(o._v,p)?o._v:p,o._d=!1,o._init=!0};try{q(()=>{o._v=e(),o._d=!1,o._init=!0},c)}catch(p){throw s=!0,xe(c),p}let d=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__,g=()=>{if(!o._d||s||a!==void 0)return;let p=o._v;i=!0;try{pe(l,c),Object.is(p,o._v)||o.__v++}catch(b){a={error:b},o.__v++,s?o._d=!0:o._f=!0}finally{i=!1,s&&xe(c)}d&&!s&&!Object.is(p,o._v)&&W(d,"computed:update",{signal:o,oldValue:p,newValue:o._v})};o._validate=g;let m=()=>{let{error:p}=a;throw a=void 0,s&&(o._d=!1),p};function f(){if(i)throw new Error(`[SibuJS] Circular dependency detected in derived${t?` "${t}"`:""}. A derived signal cannot read itself (directly or through a chain).`);return Mn()||s?(o._d&&(g(),a!==void 0&&m()),o._v):(o._d&&(g(),a!==void 0&&(Se(o),m())),Se(o),o._v)}return t&&(f.__name=t,o.__name=t),f.__signal=o,f.dispose=()=>{if(s)return;s=!0,o._d=a!==void 0,xe(c);let p=globalThis.__SIBU_DEVTOOLS_GLOBAL_HOOK__;if(p)try{p.emit("computed:destroy",{signal:o,getter:f})}catch{}},d&&W(d,"computed:create",{signal:o,name:t,getter:f}),f}function mc(e){let[n,t]=A(e);return{get current(){return n()},set current(r){t(r)}}}function Nr(e,n,t){Object.defineProperty(e,n,{value:t,writable:!0,enumerable:!0,configurable:!0})}function gc(e){R(e!==null&&typeof e=="object"&&!Array.isArray(e),"store: argument must be a plain object. For arrays, use array() instead.");let n=Object.create(null);Object.keys(e).forEach(c=>{let[l,d]=A(e[c]);Nr(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=>{Nr(c,l,n[l][0]())}),c};return[t,{setState:c=>{let l=r(),d=typeof c=="function"?c(l):c;z(()=>{Object.entries(d).forEach(([g,m])=>{Object.hasOwn(n,g)&&n[g][1](m)})})},reset:()=>{z(()=>{Object.keys(e).forEach(c=>{let l=n[c][1];l(e[c])})})},subscribe:c=>{let l=!0;return K(()=>{let d=r();if(l){l=!1;return}ye();try{c(d)}finally{ve()}})},subscribeKey:(c,l)=>{let d,g=!0;return K(()=>{let m=n[c][0]();if(g){d=m,g=!1;return}if(!Object.is(m,d)){let f=d;d=m,ye();try{l(m,f)}finally{ve()}}})},getSnapshot:r}]}function bc(e,n){if(R(typeof e=="function","watch: first argument must be a getter function."),R(typeof n=="function","watch: second argument must be a callback function."),Z())return()=>{};let t,r=!0;return q(()=>{let s=e();if(r){t=s,r=!1;return}if(!Object.is(s,t)){let a=t;t=s,ye();try{n(s,a)}finally{ve()}}})}function hc(e,n,t){return[zt(e,t),i=>{z(()=>n(i))}]}function yc(e){let n=e();return ee()&&queueMicrotask(()=>{try{e()}catch(t){console.warn("[SibuJS strict] second run threw:",t)}}),n}function vc(e){if(!ee())return K(e);let n=K(e),t=null;return queueMicrotask(()=>{try{t=K(e)}catch(r){console.warn("[SibuJS strictEffect] second run threw:",r)}}),()=>{n(),t&&t()}}function Lr(e,n){return Z()?()=>{}:I(e,n)}var jt="data-sibu-enhanced",qt=new WeakMap;function Rr(e,n){let t=0;for(;e.length>0;){let r=e.splice(0);for(let o=0;o<r.length;o++){if(t>=re){let i=r.length-o+e.length;e.length=0,le(n,t,i);return}t++;try{r[o]()}catch(i){typeof console<"u"&&console.error(`[SibuJS ${n}] teardown error:`,i)}}}}var Mr=["text","attr","class","show","on","cleanup"];function Dr(e,n){if(n==null)return e;if(typeof n!="string")return n;let t=n.startsWith("@")?`[data-ref="${n.slice(1)}"]`:n;try{return e.querySelector(t)}catch{return null}}function We(e,n){return Lr(n,e)}function Sc(e){if(e instanceof HTMLInputElement){if(e.type==="checkbox")return e.checked;if(e.type==="number"||e.type==="range")return e.value===""?null:Number(e.value)}return e instanceof HTMLSelectElement&&e.multiple?Array.from(e.selectedOptions,n=>n.value):e.value}function xc(e,n){if(e instanceof HTMLInputElement&&e.type==="checkbox"){e.checked=!!n;return}if(e instanceof HTMLSelectElement&&e.multiple){let r=Array.isArray(n)?n.map(String):[];for(let o of Array.from(e.options))o.selected=r.includes(o.value);return}let t=n==null?"":String(n);e.value!==t&&(e.value=t)}function Tc(e,n,t,r){let o=`ctx.each[${r}]`;if(ee())for(let i of Object.keys(t))R(Mr.includes(i),`${o}: unknown binding "${i}". Expected one of: ${Mr.join(", ")}.`);if(t.text!==void 0&&(R(typeof t.text=="function",`${o}: "text" must be a function returning the value.`),e.text(n,t.text)),t.attr!==void 0)for(let i of Object.keys(t.attr)){let s=t.attr[i];R(typeof s=="function",`${o}: attr["${i}"] must be a function returning the value.`),e.attr(n,i,s)}if(t.class!==void 0)for(let i of Object.keys(t.class)){let s=t.class[i];R(typeof s=="function",`${o}: class["${i}"] must be a function returning a boolean.`),e.classed(n,i,s)}if(t.show!==void 0&&(R(typeof t.show=="function",`${o}: "show" must be a function returning a boolean.`),e.show(n,t.show)),t.on!==void 0)for(let i of Object.keys(t.on)){let s=t.on[i];R(typeof s=="function",`${o}: on["${String(i)}"] must be a function.`),e.on(n,i,s)}t.cleanup!==void 0&&(R(typeof t.cleanup=="function",`${o}: "cleanup" must be a function.`),e.cleanup(t.cleanup))}function at(e,n){let t=typeof e=="string"?typeof document<"u"?document.querySelector(e):null:e;if(!t)return typeof console<"u"&&console.warn(`[SibuJS enhance] no element matched ${JSON.stringify(e)} \u2014 nothing enhanced.`),()=>{};if(t.getAttribute(jt)==="true")return ee()&&typeof console<"u"&&console.warn("[SibuJS enhance] element is already enhanced; ignoring re-enhance.",t),()=>{};let r=[],o=Symbol("sibujs.enhance"),i=!1,s=!1,a=m=>s?(U(()=>`enhance: ctx.${m}() was called after this enhancement was rolled back or disposed, so it was ignored. The setup is still running past the point where its transaction ended \u2014 usually an async setup continuing after an await, or a callback it queued before it threw. Registrations made now would belong to nothing: the root carries no enhancement marker and the disposer has already run, so nothing could ever release them.`),!0):!1,c=(m,f,p)=>{if(a(m))return;let b=Dr(t,f);if(!b){typeof console<"u"&&console.warn(`[SibuJS enhance] target ${JSON.stringify(f)} not found under`,t);return}p(b)},l={root:t,ref:m=>Dr(t,m),refs:m=>{let f=m.startsWith("@")?`[data-ref="${m.slice(1)}"]`:m;try{return Array.from(t.querySelectorAll(f))}catch{return[]}},on:(m,f,p,b)=>{c("on",m,h=>{let y=k=>p(k,h);h.addEventListener(f,y,b),r.push(()=>h.removeEventListener(f,y,b))})},text:(m,f)=>{c("text",m,p=>{r.push(We(p,()=>{let b=f(),h=b==null?"":String(b);p.textContent!==h&&(p.textContent=h)}))})},attr:(m,f,p)=>{c("attr",m,b=>{r.push(We(b,()=>{let h=p(),y=h==null?null:String(h);J(b,f,y,{syncValueProperty:!1,label:"enhance attr()"})}))})},classed:(m,f,p)=>{c("classed",m,b=>{r.push(We(b,()=>{b.classList.toggle(f,!!p())}))})},show:(m,f)=>{c("show",m,p=>{let b=p.hidden;r.push(We(p,()=>{p.hidden=!f()})),r.push(()=>{p.hidden=b})})},model:(m,f,p)=>{c("model",m,b=>{let h=b,[y,k]=f,v=p?.event??(h instanceof HTMLSelectElement||h instanceof HTMLInputElement&&(h.type==="checkbox"||h.type==="radio")?"change":"input");r.push(We(b,()=>{xc(h,y())}));let T=()=>k(Sc(h));h.addEventListener(v,T),r.push(()=>h.removeEventListener(v,T))})},each:(m,f)=>{if(a("each"))return;R(typeof f=="function","ctx.each: second argument must be a function.");let p=typeof m=="string"?l.refs(m):Array.from(m);for(let b=0;b<p.length;b++){let h=p[b],y=f(h,b);y!=null&&Tc(l,h,y,b)}},cleanup:m=>{a("cleanup")||r.push(m)}},d;try{d=n(l);let m=d;if(m&&typeof m.then=="function")throw m.then(void 0,f=>{U(()=>`enhance: the promise returned by the setup also rejected: ${String(f)}`)}),new Error("[SibuJS enhance] the setup returned a promise, so its work did not complete inside the enhancement transaction. If it is a lazy import, register it as lazyIsland(() => import(\u2026)): an unwrapped loader is called as a setup, so its module is fetched but the setup it resolves to is discarded. If it is an async setup, make it synchronous \u2014 this enhancement has been rolled back, and ctx registrations made after this point are ignored.")}catch(m){throw Rr(r,"enhance"),s=!0,m}typeof d=="function"&&r.push(d);let g=()=>{i||(i=!0,qt.get(t)===o&&(qt.delete(t),t.removeAttribute(jt)),Pe(t,g),Rr(r,"enhance"),s=!0)};return x(t,g),qt.set(t,o),t.setAttribute(jt,"true"),g}function Ec(e,n){if(typeof document>"u")return()=>{};let t=[];try{for(let r of Array.from(document.querySelectorAll(e)))t.push(at(r,n))}catch(r){for(let o=t.length-1;o>=0;o--)try{t[o]()}catch(i){typeof console<"u"&&console.error("[SibuJS enhanceAll] rollback error:",i)}throw t.length=0,r}return()=>{for(let r of t.splice(0))r()}}var wc=/^[A-Za-z0-9_-]+$/,Or=Symbol.for("sibujs.islands.lazy"),ct=qe(Symbol.for("sibujs.islands.registry.v1"),()=>new Map);function kc(e){return e[Or]=!0,e}function _c(e,n){if(!wc.test(e))throw new Error(`[SibuJS islands] name must match [A-Za-z0-9_-]+ (got: ${JSON.stringify(e.slice(0,32))})`);ct.set(e,n)}function Ac(e){ct.delete(e)}async function Cc(e){if(typeof e=="function"&&e[Or]){let n=await e(),t=n.default??n;return typeof t=="function"?t:null}return e}function Nc(e=typeof document<"u"?document:null,n={}){if(!e||typeof e.querySelectorAll!="function")return()=>{};let t=[],r=[],o=!1;for(let i of Array.from(e.querySelectorAll("[data-sibu-island]"))){if(i.getAttribute("data-sibu-enhanced")==="true")continue;let s=i.getAttribute("data-sibu-island")??"";if(!ct.has(s)){typeof console<"u"&&console.warn(`[SibuJS islands] no island registered for "${s}" \u2014 skipping. Call registerIsland("${s}", ...).`);continue}let a=!1,c=()=>{if(a||o)return;a=!0;let d=ct.get(s);d&&Cc(d).then(g=>{if(!o){if(!g){typeof console<"u"&&console.warn(`[SibuJS islands] "${s}" loader produced no setup.`);return}try{let m=at(i,g);if(o){m();return}r.push(m),i.setAttribute("data-sibu-hydrated","true")}catch(m){typeof console<"u"&&console.error(`[SibuJS islands] "${s}" failed to mount:`,m)}}}).catch(g=>{typeof console<"u"&&console.error(`[SibuJS islands] "${s}" failed to load:`,g)})},l=i.getAttribute("data-sibu-load")||"load";t.push(Lc(l,i,c,n))}return()=>{o=!0;for(let i of t.splice(0))i();for(let i of r.splice(0))i()}}function Lc(e,n,t,r){switch(e){case"idle":{if(typeof requestIdleCallback<"u"){let i=requestIdleCallback(t);return()=>cancelIdleCallback(i)}let o=setTimeout(t,1);return()=>clearTimeout(o)}case"visible":{if(typeof IntersectionObserver>"u")return queueMicrotask(t),()=>{};let o=new IntersectionObserver(i=>{for(let s of i)s.isIntersecting&&(o.disconnect(),t())},{rootMargin:r.rootMargin,threshold:r.threshold});return o.observe(n),()=>o.disconnect()}case"interaction":{let o=["pointerdown","focusin","keydown","touchstart"],i=()=>{s(),t()},s=()=>{for(let a of o)n.removeEventListener(a,i)};for(let a of o)n.addEventListener(a,i,{passive:!0});return s}case"media":{let o=n.getAttribute("data-sibu-media")||"(min-width: 0px)";if(typeof matchMedia>"u")return queueMicrotask(t),()=>{};let i=matchMedia(o);if(i.matches)return queueMicrotask(t),()=>{};let s=()=>{i.matches&&(i.removeEventListener("change",s),t())};return i.addEventListener("change",s),()=>i.removeEventListener("change",s)}default:return queueMicrotask(t),()=>{}}}function Hr(e){return e}var Qd=1024*1024;function Rc(e){let[n,t]=A(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=q(()=>{i=e(),a()}),l=(()=>n());return l.dispose=()=>{o||(o=!0,c())},l}var $r=16;function Mc(e){let n=globalThis;if(typeof n.requestIdleCallback=="function"){n.requestIdleCallback(e,{timeout:$r*4});return}if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>e());return}setTimeout(e,$r)}function Dc(){let[e,n]=A(!1),t=0;function r(o){t++,n(!0);let i=!1,s=()=>{i||(i=!0,t--,t===0&&n(!1))},a=c=>{s(),w(c,{phase:"async",name:"transition"})};Mc(()=>{try{let c=it(o());c?c.then(s,a):s()}catch(c){a(c)}})}return{pending:e,start:r}}function Oc(){return new Promise(e=>{queueMicrotask(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>e()):e()})})}typeof globalThis<"u"&&(globalThis.Sibu={...Wt});})();
|