@fluixi/compiler 1.0.0-alpha.76 → 1.0.0-alpha.77

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.
@@ -1,33 +1,34 @@
1
- "use strict";var Wn=Object.create;var he=Object.defineProperty;var Vn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Un=Object.getPrototypeOf,Gn=Object.prototype.hasOwnProperty;var b=(e,t)=>()=>(e&&(t=e(e=0)),t);var te=(e,t)=>{for(var n in t)he(e,n,{get:t[n],enumerable:!0})},St=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zn(t))!Gn.call(e,o)&&o!==n&&he(e,o,{get:()=>t[o],enumerable:!(r=Vn(t,o))||r.enumerable});return e};var A=(e,t,n)=>(n=e!=null?Wn(Un(e)):{},St(t||!e||!e.__esModule?he(n,"default",{value:e,enumerable:!0}):n,e)),qn=e=>St(he({},"__esModule",{value:!0}),e);function Rt(e,t){return e.replace(/\$(\d+)/g,(n,r)=>t[Number(r)]??n)}function Yn(e,t){return typeof t=="string"?{module:t,export:e}:t}function F(e=[]){let t=new Map,n=[],r=[];for(let i of e){if(!Kn(i)){r.push(i);continue}for(let[a,l]of Object.entries(i.components)){let c=Yn(a,l),p=t.get(a);if(p&&p.module!==c.module){let m=n.find(d=>d.name===a);m?m.modules.push(c.module):n.push({name:a,modules:[p.module,c.module]});continue}t.set(a,c)}}let o=new Map;return{resolve:i=>{if(o.has(i))return o.get(i);let a=t.get(i);if(!a)for(let l of r){let c=i.match(new RegExp(l.match.source,l.match.flags.replace("g","")));if(c){a={module:Rt(l.module,c),export:l.export?Rt(l.export,c):i};break}}return o.set(i,a),a},names:()=>[...t.keys()],conflicts:()=>n}}var Kn,ne=b(()=>{"use strict";Kn=e=>"components"in e});function ye(e={}){let{controlFlowModule:t="@fluixi/dom",coreModule:n="@fluixi/core",routerModule:r="@fluixi/core/router-next"}=e,o={};for(let s of re)o[s]=t;for(let s of U)o[s]=n;for(let s of J)o[s]=r;return o}var re,U,J,Do,Be,oe=b(()=>{"use strict";re=["Show","For","Index","Switch","Match","Portal","Dynamic","ErrorBoundary"],U=["Suspense","SuspenseList","Await"],J=["Router","Outlet","Redirect","Link"],Do=[...re,...U,...J],Be=new Set([...re,...U])});function wt(e){return Qn.test(e)}function kt(e){return Object.prototype.hasOwnProperty.call(P,e)}function It(e){return Zn.includes(e)}var G,P,Et,Zn,Qn,se=b(()=>{"use strict";G="@fluixi/reactive/signal",P={$signal:{export:"signal",module:G,returns:"signal-handle"},$memo:{export:"memo",module:G,returns:"memo-handle"},$effect:{export:"effect",module:G,returns:"effect"},$store:{export:"store",module:"@fluixi/reactive/store",returns:"store-handle"},$resource:{export:"resource",module:G,returns:"resource-handle"},$selector:{export:"createSelector",module:G,returns:"memo-accessor"},$deferred:{export:"createDeferred",module:G,returns:"memo-accessor"},$untrack:{export:"untrack",module:G,returns:"plain"},$untrackStore:{export:"untrackStore",module:"@fluixi/reactive/store",returns:"plain"}},Et={signal:"signal-handle",memo:"memo-handle",effect:"effect",store:"store-handle",createSignal:["signal-accessor","signal-setter"],createMemo:"memo-accessor",createEffect:"effect",createRenderEffect:"effect",createStore:"reactive-object",resource:"resource-handle",createResource:"reactive-object",createSelector:"memo-accessor",createDeferred:"memo-accessor"},Zn=["@fluixi/reactive","@fluixi/reactive/signal","@fluixi/reactive/signal-next","@fluixi/reactive/store","@fluixi/core","@fluixi/core/rx"],Qn=new RegExp(`\\$(?:${Object.keys(P).map(e=>e.slice(1)).join("|")})\\s*\\(`)});function We(e){return e.startsWith("load:")}function xe(e,t){let n=e.slice(5);if(!Ot.has(n))throw new X(`Unknown load strategy 'load:${n}'. Expected one of ${[...Ot].join(", ")}.`);switch(n){case"eager":return ve;case"idle":return{kind:"idle"};case"never":return{kind:"never"};case"visible":return t?{kind:"visible",rootMargin:t}:{kind:"visible"};case"interaction":return{kind:"interaction",events:t?lr(t):[...ar]};case"media":if(!t)throw new X(`'load:media' needs a query, e.g. load:media="(min-width: 1024px)".`);return{kind:"media",query:t};default:throw new X(`Unhandled load strategy '${n}'.`)}}function lr(e){let t=e.split(/[\s,]+/).map(n=>n.trim()).filter(Boolean);if(t.length===0)throw new X("'load:interaction' was given no event names.");return t}function Y(e){return e.kind!=="eager"&&e.kind!=="never"}var ve,ar,Ot,X,q=b(()=>{"use strict";ve={kind:"eager"},ar=["pointerdown","focusin","keydown"],Ot=new Set(["eager","idle","visible","interaction","media","never"]),X=class extends Error{}});function B(e,t={}){let{resolver:n,isBound:r,modules:o,strategyFor:s}=t,i=ye(o),a=new Map,l=new Set,c=m=>{let{name:d}=m;if(!d||d.includes(".")||r?.(d))return;let x=p(d);if(!x){l.add(d);return}let v=x.origin==="builtin"&&Be.has(d)?ve:s?.(m)??ve;m.source={...x,loading:v},a.set(d,m.source)},p=m=>{if(Be.has(m))return{module:i[m],export:m,origin:"builtin"};let d=n?.resolve(m);if(d)return{module:d.module,export:d.export,origin:"rule"};if(J.includes(m))return{module:i[m],export:m,origin:"builtin"}};return be(e,m=>{m.kind==="component"&&c(m)}),{resolved:a,unresolved:[...l]}}function be(e,t){let n=Array.isArray(e)?e:[e];for(let r of n){t(r);let o=r.children;o&&be(o,t)}}var ie=b(()=>{"use strict";oe();q()});function H(e){let t=[];be(e,s=>{s.kind==="component"&&s.source&&t.push(s)});let n=new Set,r=new Set;for(let s of t){let{module:i,loading:a}=s.source;a.kind==="eager"&&n.add(i),a.kind==="never"&&r.add(i)}let o=new Map;for(let s of t){let i=s.source;Y(i.loading)&&n.has(i.module)&&(i.loading={kind:"eager"},o.set(i.module,(o.get(i.module)??0)+1))}return{collapsed:o,conflicted:[...r].filter(s=>n.has(s))}}var Ne=b(()=>{"use strict";q();ie()});function Ve(e){return ur.has(e)}function jt(e){return Pt[e]??e}function ae(e){return e.kind!=="attr"||e.expr!==void 0||e.name.includes(":")?!1:!pr.has(e.name)}function ze(e){if(!e.static||Ve(e.tag))return!1;for(let t of e.props)if(!ae(t))return!1;for(let t of e.children)if(t.kind!=="text"&&!(t.kind==="element"&&ze(t)))return!1;return!0}function le(e){let t=e.props.map(mr).filter(Boolean).join(""),n=`<${e.tag}${t}>`;return cr.has(e.tag)?n:`${n}${e.children.map(dr).join("")}</${e.tag}>`}function dr(e){if(e.kind==="text")return gr(e.value);if(e.kind!=="element")throw new Error(`serializeStatic: unexpected ${e.kind}`);return le(e)}function mr(e){let t=Pt[e.name]??e.name,n=e.literal;return n===!0||n===void 0?` ${t}`:n===!1||n===null?"":` ${t}="${fr(String(n))}"`}function fr(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function gr(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var cr,Pt,pr,ur,Ue=b(()=>{"use strict";cr=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Pt={className:"class",htmlFor:"for"},pr=new Set(["innerHTML","outerHTML","innerText","textContent","value","checked","selected","muted","defaultValue","defaultChecked","children","ref"]),ur=new Set(["script","style","textarea","title"])});function Re(e){return e.kind==="expr"||e.kind==="component"||e.kind==="control"}function vr(e){return e.kind==="text"||e.kind==="element"&&Dt(e)}function Dt(e){return e.svg||Ve(e.tag)||!e.props.every(t=>ae(t))?!1:e.children.every(t=>vr(t)||Re(t))}function Se(e){if(Re(e))return!0;let t=e.children;return t?t.some(Se):!1}function Lt(e){for(let t=0;t<e.children.length;t++){let n=e.children[t];if(n.kind==="text"&&(n.value===""||e.children[t+1]?.kind==="text"))return!1}return e.children.every(t=>t.kind!=="element"||Lt(t))}function At(e){if(!Dt(e)||!Lt(e)||!e.children.some(Se))return null;let t=[],n=[],r=0,o=i=>{let a=`_n$${r++}`;return t.push({ref:a,expr:i}),a};return s(e,"_el$"),{html:xr(e),tag:e.tag,steps:t,holes:n};function s(i,a){let l=-1;i.children.forEach((p,m)=>{Se(p)&&(l=m)});let c=null;for(let p=0;p<=l;p++){let m=i.children[p],d=c?`${c}.nextSibling`:`${a}.firstChild`;if(Re(m)){let v=o(d),f=o(`holeEnd(${v})`);n.push({parentRef:a,startRef:v,endRef:f,node:m}),c=f;continue}let x=o(d);m.kind==="element"&&Se(m)&&s(m,x),c=x}}}function xr(e){return le(Ft(e)).split(Jt).join(hr+yr)}function Ft(e){return{...e,children:e.children.map(t=>Re(t)?{kind:"text",value:Jt}:t.kind==="element"?Ft(t):t)}}var hr,yr,Jt,_t=b(()=>{"use strict";Ue();hr="<!--fx-->",yr="<!--fx/-->";Jt="\0fx-hole\0"});var Ge,es,Xt=b(()=>{"use strict";Ge={version:1,module:"@fluixi/dom",symbols:["createNativeElement","insert","spread","setAttribute","delegateEvents","createComponent","createMemo","untrack","Show","For","Index","Switch","Match","Dynamic","ErrorBoundary"]},es={version:2,module:"@fluixi/dom",symbols:[...Ge.symbols,"template","cloneTemplate","walk"]}});function Nr(e){return/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(e)}function Ht(e){return Nr(e)?e:JSON.stringify(e)}function Sr(e){return e.expr!==void 0?e.reactive?`() => (${e.expr})`:`(${e.expr})`:JSON.stringify(e.literal??!0)}function Rr(e){return e.expr!==void 0?`(${e.expr})`:JSON.stringify(e.literal??!0)}function Er(e,t,n){let r=e.filter(a=>a.kind==="spread"),s=e.filter(a=>a.kind!=="spread").map(a=>`${Ht(a.name)}: ${Sr(a)}`);t!=null&&s.push(`children: ${t}`);let i=`{ ${s.join(", ")} }`;return r.length>0?(n.add("mergeProps"),`mergeProps(${r.map(a=>a.expr).join(", ")}, ${i})`):i}function Wt(e,t,n){return e.length===1?ce(e[0],t,n):`[${e.map(r=>ce(r,t,n)).join(", ")}]`}function Bt(e,t,n,r,o){r.add("createMemo"),r.add("createComponent");let s=t.filter(c=>c.kind==="spread"),a=t.filter(c=>c.kind!=="spread").map(c=>`get ${Ht(c.name)}() { return ${Rr(c)}; }`);n.length>0&&a.push(`get children() { return ${Wt(n,r,o)}; }`);let l=`{ ${a.join(", ")} }`;return s.length>0&&(r.add("mergeProps"),l=`mergeProps(${s.map(c=>c.expr).join(", ")}, ${l})`),`createMemo(() => createComponent(${e}, ${l}))`}function wr(e,t){let n=jt(t.name),r=t.literal;return r===!0||r===void 0?`${e}.setAttribute(${JSON.stringify(n)}, "");`:r===!1||r===null?"":`${e}.setAttribute(${JSON.stringify(n)}, ${JSON.stringify(String(r))});`}function ce(e,t,n){switch(e.kind){case"text":return JSON.stringify(e.value);case"expr":return e.reactive?`() => (${e.code})`:`(${e.code})`;case"fragment":return e.children.length===0?"null":Wt(e.children,t,n);case"component":return Bt(e.name,e.props,e.children,t,n);case"control":{let r=br[e.control]??e.control;return t.add(r),Bt(r,e.props,e.children,t,n)}case"element":{if(n&&e.static&&!e.svg&&ze(e)){t.add("templateNode");let a=`_tmpl$${n.length}`;return n.push({id:a,html:le(e),tag:e.tag,svg:!1}),`templateNode(${a}, ${JSON.stringify(e.tag)})`}if(n&&Vt){let a=At(e);if(a){t.add("templateNode"),t.add("insert"),t.add("holeEnd"),t.add("holeContent"),t.add("holeScope");let l=`_tmpl$${n.length}`;n.push({id:l,html:a.html,tag:a.tag,svg:!1});let c=[`const _el$ = templateNode(${l}, ${JSON.stringify(a.tag)}, true);`];for(let p of a.steps)c.push(`const ${p.ref} = ${p.expr};`);for(let p of a.holes)c.push(`insert(${p.parentRef}, holeScope(${p.startRef}, () => (${ce(p.node,t,n)})), ${p.endRef}, holeContent(${p.startRef}, ${p.endRef}));`);return c.push("return _el$;"),`(() => { ${c.join(" ")} })()`}}t.add("createNativeElement");let r=JSON.stringify(e.tag),o="_el$",s=[],i=e.svg?`${r}, true`:r;if(s.push(`const ${o} = createNativeElement(${i});`),e.props.length>0)if(!e.svg&&e.props.every(ae))for(let a of e.props)s.push(wr(o,a));else{t.add("spread");let a=e.svg?", isSVG: true":"";s.push(`spread({ element: ${o}, props: ${Er(e.props,null,t)}${a} });`)}for(let a of e.children){t.add("insert");let l=ce(a,t,n),c=a.kind==="expr"&&a.reactive||a.kind==="component"||a.kind==="control";s.push(c?`insert(${o}, ${l}, null);`:`insert(${o}, ${l});`)}return s.push(`return ${o};`),`(() => { ${s.join(" ")} })()`}}}function K(e,t){if(!t||t.length===0)return e;let n=new Map(t.map(r=>[r.id,JSON.stringify(r.html)]));return e.replace(/_tmpl\$\d+/g,r=>n.get(r)??r)}var br,Vt,$,Z=b(()=>{"use strict";_t();Ue();Xt();br={show:"Show",for:"For",index:"Index",switch:"Switch",match:"Match",dynamic:"Dynamic",errorBoundary:"ErrorBoundary",suspense:"Suspense"};Vt=!1;$={name:"imperative",contract:Ge,emit(e,t){let n=new Set,r=t?.templateClone!==!1?[]:void 0;return Vt=t?.partialTemplates===!0,{code:ce(e,n,r),imports:Array.from(n),templates:r}}}});function pe(e){let t=e.split(/\r\n|\n|\r/),n=0;for(let o=0;o<t.length;o++)/[^ \t]/.test(t[o])&&(n=o);let r="";for(let o=0;o<t.length;o++){let s=t[o].replace(/\t/g," ");o!==0&&(s=s.replace(/^ +/,"")),o!==t.length-1&&(s=s.replace(/ +$/,"")),s&&(o!==n&&(s+=" "),r+=s)}return r}var qe=b(()=>{"use strict"});function kr(e){return e.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}function Ut(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Ee(e,t,n,r={}){let{root:o}=(0,Gt.parseTemplate)(e,{svg:r.svg});return new Ke(t,n).lowerRoot(o.children)}var Gt,zt,Ke,Ye=b(()=>{"use strict";Gt=require("@fluixi/template-parser");q();Z();qe();zt=new Set(["click","dblclick","input","change","submit","focus","blur","keydown","keyup","keypress","mousedown","mouseup"]);Ke=class{constructor(t,n){this.holes=t;this.used=n}hole(t){return this.holes[t]??{code:"undefined",reactive:!1}}emit(t){let{code:n,imports:r,templates:o}=$.emit(t,{});for(let s of r)this.used.add(s);return K(n,o)}lowerRoot(t){let n=this.lowerChildren(t);return n.length===1?n[0]:{kind:"fragment",children:n}}lowerChildren(t){let n=[];for(let r=0;r<t.length;r++){let o=t[r];if(o.kind==="Element"||o.kind==="Component"){let i=o.attributes.find(a=>a.kind==="IfDirective");if(i&&i.kind==="IfDirective"){let a=r+1;a<t.length&&this.isBlankText(t[a])&&a++;let l=t[a],c=l&&(l.kind==="Element"||l.kind==="Component")&&l.attributes.some(p=>p.kind==="ElseDirective");n.push(this.lowerIf(o,i.hole,c?l:null)),c&&(r=a);continue}if(o.attributes.some(a=>a.kind==="EachDirective")){n.push(this.lowerEach(o));continue}}let s=this.lowerNode(o);s&&n.push(s)}return n}isBlankText(t){return t.kind==="Text"&&!t.raw&&pe(t.value)===""}lowerNode(t){switch(t.kind){case"Text":{if(t.raw)return{kind:"text",value:t.value};let n=pe(t.value);return n?{kind:"text",value:n}:null}case"Comment":return null;case"Expression":{let n=this.hole(t.hole);return{kind:"expr",code:n.code,reactive:n.reactive}}case"Fragment":return{kind:"fragment",children:this.lowerChildren(t.children)};case"Element":return this.lowerElement(t);case"Component":return this.lowerComponent(t);default:return null}}lowerElement(t){let n=t.attributes.find(r=>r.kind==="Attribute"&&r.name==="is");if(t.tag==="component"&&n&&n.value&&n.value.kind==="hole"){let r=t.attributes.filter(s=>s!==n),o=this.lowerComponent({...t,kind:"Component",tag:"Dynamic",tagHole:null,attributes:r});return o.props.unshift({name:"component",kind:"attr",expr:`() => (${this.hole(n.value.hole).code})`}),o}return{kind:"element",tag:t.tag,svg:t.namespace==="svg",props:this.lowerAttributes(t.attributes),children:this.lowerChildren(t.children),static:!1}}lowerComponent(t){let n=t.tagHole!=null?this.hole(t.tagHole).code:t.tag,r=this.lowerAttributes(t.attributes),{slots:o,rest:s}=this.partitionSlots(t.children);for(let[l,c]of o){let p=c.length===1?c[0]:{kind:"fragment",children:c},m={name:l,kind:"attr",expr:this.emit(p),jsxElement:!0},d=r.findIndex(x=>x.name===l);d>=0?r[d]=m:r.push(m)}let i=t.attributes.find(l=>l.kind==="LoadDirective"),a=i?xe(`load:${i.strategy}`,i.modifier):void 0;return{kind:"component",name:n,props:r,children:this.lowerChildren(s),...a?{load:a}:{}}}partitionSlots(t){let n=new Map,r=[];for(let o of t){if(o.kind==="Element"||o.kind==="Component"){let s=o.attributes.find(i=>i.kind==="Attribute"&&i.name==="slot");if(s&&s.value&&s.value.kind==="static"){let i={...o,attributes:o.attributes.filter(c=>c!==s)},a=i.kind==="Element"?this.lowerElement(i):this.lowerComponent(i),l=n.get(s.value.value)??[];l.push(a),n.set(s.value.value,l);continue}}r.push(o)}return{slots:n,rest:r}}lowerIf(t,n,r){let o=this.hole(n),s=[{name:"when",kind:"attr",expr:o.code,reactive:o.reactive}];if(r){let a=this.stripAndLower(r,l=>l.kind==="ElseDirective");s.push({name:"fallback",kind:"attr",expr:this.emit(a),jsxElement:!0})}let i=this.stripAndLower(t,a=>a.kind==="IfDirective");return{kind:"component",name:"Show",props:s,children:[i]}}lowerEach(t){let n=t.attributes.find(l=>l.kind==="EachDirective");if(!n||n.kind!=="EachDirective")return this.lowerNode(t);let r=this.hole(n.hole),o=[{name:"each",kind:"attr",expr:r.code,reactive:r.reactive}];if(n.key){let l="static"in n.key?`(item) => item[${JSON.stringify(n.key.static)}]`:this.hole(n.key.hole).code;o.push({name:"by",kind:"attr",expr:l})}let s=this.itemArrow(t),i;if(s){let l={kind:"expr",code:s.body,reactive:s.bodyReactive},c=this.rebuildWithChildren(t,[l]);i=`(${s.params.join(", ")}) => (${this.emit(c)})`}else{let l=this.stripAndLower(t,c=>c.kind==="EachDirective");i=`() => (${this.emit(l)})`}return{kind:"component",name:"For",props:o,children:[{kind:"expr",code:i,reactive:!1}]}}itemArrow(t){let n=t.children.filter(r=>!this.isBlankText(r));return n.length!==1||n[0].kind!=="Expression"?null:this.hole(n[0].hole).arrow??null}stripAndLower(t,n){let r={...t,attributes:t.attributes.filter(o=>!n(o))};return r.kind==="Element"?this.lowerElement(r):this.lowerComponent(r)}rebuildWithChildren(t,n){let r=this.lowerAttributes(t.attributes.filter(o=>o.kind!=="EachDirective"));return t.kind==="Element"?{kind:"element",tag:t.tag,svg:t.namespace==="svg",props:r,children:n,static:!1}:{kind:"component",name:t.tag,props:r,children:n}}lowerAttributes(t){let n=[],r=[],o=!1,s=[],i=!1,a=[];for(let l of t)switch(l.kind){case"IfDirective":case"EachDirective":case"ElseDirective":break;case"Attribute":n.push(this.plainAttr(l));break;case"PropertyBinding":n.push({name:l.name,kind:"prop",expr:this.hole(l.hole).code,reactive:this.hole(l.hole).reactive});break;case"EventBinding":n.push(this.eventProp(l));break;case"RefBinding":n.push({name:"ref",kind:"ref",expr:this.hole(l.hole).code,reactive:this.hole(l.hole).reactive});break;case"Spread":n.push({name:"",kind:"spread",expr:this.hole(l.hole).code});break;case"ClassDirective":{let c=this.hole(l.hole);r.push(`${JSON.stringify(l.name)}: ${c.code}`),o=o||c.reactive;break}case"StyleDirective":{let c=this.hole(l.hole);s.push(`${JSON.stringify(l.name)}: ${c.code}`),i=i||c.reactive;break}case"BindDirective":n.push(...this.bindProps(l.name,this.hole(l.hole).code));break;case"UseDirective":{let c=l.name??(l.hole!=null?this.hole(l.hole).code:null);if(!c)break;a.push(l.name!=null&&l.hole!=null?`[${c}, () => (${this.hole(l.hole).code})]`:`[${c}]`);break}}return r.length>0&&n.push({name:"classList",kind:"attr",expr:`{ ${r.join(", ")} }`,reactive:o}),s.length>0&&n.push({name:"style",kind:"attr",expr:`{ ${s.join(", ")} }`,reactive:i}),a.length>0&&n.push({name:"use",kind:"attr",expr:`[${a.join(", ")}]`}),n}eventProp(t){let n=t.name.toLowerCase(),r=this.hole(t.hole).code;if(!(t.syntax==="colon"||t.modifiers.length>0))return{name:"on"+Ut(t.name),kind:"event",event:{name:n,delegated:zt.has(n)},expr:r};let s=this.wrapHandler(r,t.modifiers),i=this.eventOptions(t.modifiers),a=i?`[${s}, ${i}]`:s;return{name:"on:"+n,kind:"attr",expr:a}}wrapHandler(t,n){let r=n.includes("self")?"if (e.target !== e.currentTarget) return; ":"",o=[];return n.includes("prevent")&&o.push("e.preventDefault();"),n.includes("stop")&&o.push("e.stopPropagation();"),!r&&o.length===0?t:`(e) => { ${r}${o.join(" ")} return (${t})(e); }`}eventOptions(t){let n=[];return t.includes("capture")&&n.push("capture: true"),t.includes("once")&&n.push("once: true"),t.includes("passive")&&n.push("passive: true"),n.length?`{ ${n.join(", ")} }`:null}bindProps(t,n){let r=t==="checked",o=r?"change":"input",s=r?"checked":"value";this.used.add("bindPair");let i=`bindPair(${n})`;return[{name:t,kind:"attr",expr:`${i}[0]()`,reactive:!0},{name:"on"+Ut(o),kind:"event",event:{name:o,delegated:zt.has(o)},expr:`(e) => ${i}[1](e.target.${s})`}]}plainAttr(t){let n=t.value,r=t.name;t.name==="class"?r=n&&n.kind==="hole"&&this.hole(n.hole).object?"classList":"className":t.name==="html"&&(r="innerHTML");let s={name:r,kind:"attr"};if(n==null)return s.literal=!0,s;if(n.kind==="static")return s.literal=n.value,s;if(n.kind==="hole"){let l=this.hole(n.hole);return s.expr=l.code,s.reactive=l.reactive,s}let i=!1,a=n.parts.map(l=>{if("text"in l)return kr(l.text);let c=this.hole(l.hole);return i=i||c.reactive,"${"+c.code+"}"}).join("");return s.expr="`"+a+"`",s.reactive=i,s}}});function Cr(e){return Ir(e,{concise:!0}).code}function Tr(e,t,n){let r={code:ke(e,t,n),reactive:Qe(e)};if(we.types.isArrowFunctionExpression(e)&&!we.types.isBlockStatement(e.body)){let o=e.body;r.arrow={params:e.params.map(s=>Cr(s)),body:ke(o,t,n),bodyReactive:Qe(o)}}return we.types.isObjectExpression(e)&&(r.object=!0),r}function qt(e,t,n={}){let r=e.quasi,o=r.expressions.map(s=>Tr(s,t,n.onNested));return Ee(Mr(r),o,t,n)}function Mr(e){let t=[];return e.quasis.forEach((n,r)=>{let o=n.value.cooked??n.value.raw;if(t.push({kind:"static",text:o,start:n.start??0}),r<e.expressions.length){let s=e.expressions[r];t.push({kind:"hole",index:r,start:s.start??0,end:s.end??0})}}),t}var we,Ze,Ir,Kt=b(()=>{"use strict";we=require("@babel/core"),Ze=A(require("@babel/generator"),1);Ye();et();Ir=Ze.default.default??Ze.default});function $r(e){switch(e.kind){case"event":return"event";case"ref":return"ref";case"spread":return"spread";case"class":case"style":return"class-or-style-directive";case"attr":case"prop":return e.reactive?"reactive-prop":e.expr!==void 0?"expression-prop":void 0;default:return"expression-prop"}}function W(e){let t=[],n=new Map,r=o=>{switch(o.kind){case"text":return!0;case"expr":return!1;case"component":case"control":for(let s of o.children)r(s);return!1;case"fragment":for(let s of o.children)r(s);return!1;case"element":{let s=!0;for(let a of o.children)r(a)||(s=!1);let i;for(let a of o.props)if(i=$r(a),i)break;return!i&&!s&&(i=Or(o)),o.static=!i,i?n.set(o,i):t.push(o),o.static}default:return!1}};for(let o of Array.isArray(e)?e:[e])r(o);return{staticElements:t,reasons:n}}function Or(e){for(let t of e.children){if(t.kind==="expr")return"expression-child";if(t.kind==="component")return"component-child";if(t.kind==="control")return"control-child";if(t.kind==="element"&&!t.static||t.kind==="fragment")return"expression-child"}return"expression-child"}var ue=b(()=>{"use strict"});function Ie(e,t=new Set,n={}){let r=qt(e,t,n);return W(r),r}var tt=b(()=>{"use strict";Kt();ue()});function V(e){switch(e.kind){case"call":return!0;case"member":return e.property!==Pr;case"compound":return e.parts.some(V);case"opaque":return!1}}var Pr,Ce=b(()=>{"use strict";Pr="children"});function j(e){if(!e)return{kind:"opaque"};if(jr.has(e.type))return{kind:"call"};if(Dr.has(e.type)){let t=e.property;return{kind:"member",property:!(e.computed===!0)&&t?.type==="Identifier"?t.name:null}}return e.type==="ConditionalExpression"?{kind:"compound",parts:[e.test,e.consequent,e.alternate].map(de)}:e.type==="LogicalExpression"||e.type==="BinaryExpression"?{kind:"compound",parts:[e.left,e.right].map(de)}:e.type==="TemplateLiteral"?{kind:"compound",parts:e.expressions.map(de)}:e.type==="ObjectExpression"?{kind:"compound",parts:e.properties.filter(n=>(n.type==="ObjectProperty"||n.type==="Property")&&n.computed!==!0).map(n=>de(n.value))}:e.type==="ArrayExpression"?{kind:"compound",parts:e.elements.filter(n=>n!=null&&n.type!=="SpreadElement").map(de)}:{kind:"opaque"}}var jr,Dr,de,me=b(()=>{"use strict";jr=new Set(["CallExpression","OptionalCallExpression"]),Dr=new Set(["MemberExpression","OptionalMemberExpression"]);de=e=>j(e)});function fe(e){if(e.type==="StringLiteral"||e.type==="NumericLiteral"||e.type==="BooleanLiteral"||e.type==="Literal"&&(typeof e.value=="string"||typeof e.value=="number"||typeof e.value=="boolean"))return e.value}function Jr(e,t){return e.type==="JSXIdentifier"?{tag:e.name,component:e.name[0]!==e.name[0].toLowerCase()}:e.type==="JSXMemberExpression"?{tag:t.code(e),component:!0}:e.type==="JSXNamespacedName"?{tag:`${e.namespace.name}:${e.name.name}`,component:!1}:{tag:"div",component:!1}}function rt(e){return e.type==="JSXIdentifier"?e.name==="class"?"className":e.name:e.type==="JSXNamespacedName"?`${e.namespace.name}:${e.name.name}`:"unknown"}function _r(e,t){let n=rt(e.name),r=Ar.test(n),o=r||n.startsWith("on:")||n==="ref",i={name:n,kind:r?"event":"attr"};if(r){let l=n.slice(2).toLowerCase();i.event={name:l,delegated:Fr.has(l)}}let a=e.value;if(a==null)return i.literal=!0,i;if(nt(a))return i.literal=fe(a),i;if(a.type==="JSXExpressionContainer"&&a.expression?.type!=="JSXEmptyExpression"){let l=a.expression,c=fe(l);return c!==void 0?(i.literal=c,i):(i.expr=t.code(l),i.reactive=o?!1:Qt(l),(l.type==="JSXElement"||l.type==="JSXFragment")&&(i.jsxElement=!0),i)}return i.literal=!0,i}function Yt(e,t){let n=e.value;return n==null?null:nt(n)?JSON.stringify(fe(n)):n.type==="JSXExpressionContainer"&&n.expression?.type!=="JSXEmptyExpression"?t.code(n.expression):null}function Xr(e,t){let n=[],r=[];for(let o of e){if(o.type==="JSXSpreadAttribute"){n.push({name:"",kind:"spread",expr:t.code(o.argument)});continue}if(o.type!=="JSXAttribute"||We(rt(o.name)))continue;let s=o.name.type==="JSXNamespacedName"?o.name.namespace.name:null;if(s==="use"){let i=o.name.name.name;t.used.add(i);let a=Yt(o,t);r.push(a!=null?`[${i}, () => (${a})]`:`[${i}]`);continue}if(s==="oncapture"){let i=o.name.name.name.toLowerCase(),a=Yt(o,t)??"undefined";n.push({name:"on:"+i,kind:"attr",expr:`[${a}, { capture: true }]`});continue}n.push(_r(o,t))}return r.length>0&&n.push({name:"use",kind:"attr",expr:`[${r.join(", ")}]`}),n}function Zt(e,t){let n=[];for(let r of e)if(r.type==="JSXText"){let o=pe(r.value);o&&n.push({kind:"text",value:o})}else if(r.type==="JSXExpressionContainer"){if(r.expression?.type!=="JSXEmptyExpression"){let o=r.expression;n.push({kind:"expr",code:t.code(o),reactive:Qt(o)})}}else r.type==="JSXElement"||r.type==="JSXFragment"?n.push(en(r,t)):r.type==="JSXSpreadChild"&&n.push({kind:"expr",code:t.code(r.expression),reactive:!1});return n}function Br(e){for(let t of e){if(t.type!=="JSXAttribute")continue;let n=rt(t.name);if(We(n)){if(t.value&&!nt(t.value))throw new X(`'${n}' needs a literal value, not an expression — the strategy is compile-time.`);return xe(n,t.value?fe(t.value):null)}}}function en(e,t){if(e.type==="JSXFragment")return{kind:"fragment",children:Zt(e.children,t)};let{tag:n,component:r}=Jr(e.openingElement.name,t),o=Xr(e.openingElement.attributes,t),s=Zt(e.children,t);if(r){let i=Br(e.openingElement.attributes);return{kind:"component",name:n,props:o,children:s,...i?{load:i}:{}}}return{kind:"element",tag:n,svg:Lr.has(n),props:o,children:s,static:!1}}function Te(e,t){let n=en(e,t);return W(n),n}var Lr,Ar,Fr,Qt,nt,ot=b(()=>{"use strict";q();Ce();me();ue();qe();Lr=new Set(["svg","path","circle","rect","line","polygon","polyline","ellipse","g","defs","clipPath","text"]),Ar=/^on[A-Z]/,Fr=new Set(["click","dblclick","input","change","submit","focus","blur","keydown","keyup","keypress","mousedown","mouseup"]),Qt=e=>V(j(e));nt=e=>!!e&&typeof fe(e)=="string"});function tn(e){return Hr(e,{concise:!0}).code}function Wr(e,t,n){let r=D.types.cloneNode(e,!0),o=D.types.file(D.types.program([D.types.expressionStatement(r)])),s=!1,i=(a,l,c)=>{for(let p of c)t.add(p);a.replaceWith(D.template.expression(l,{placeholderPattern:!1,plugins:["typescript"]})()),a.skip(),s=!0};return(0,D.traverse)(o,{"JSXElement|JSXFragment"(a){let l=a.node,c=it(l,t,n);n?.(c);let{code:p,imports:m,templates:d}=$.emit(c,{});i(a,K(p,d),m)},TaggedTemplateExpression(a){let l=a.node.tag;if(!D.types.isIdentifier(l)||l.name!=="html"&&l.name!=="svg")return;let c=Ie(a.node,t,{svg:l.name==="svg",onNested:n});n?.(c);let{code:p,imports:m,templates:d}=$.emit(c,{});i(a,K(p,d),m)}}),s?o.program.body[0].expression:e}function ke(e,t,n){return tn(Wr(e,t,n))}function Qe(e){return V(j(e))}function it(e,t=new Set,n){return Te(e,{code:o=>o.type==="JSXMemberExpression"?tn(o):ke(o,t,n),used:t})}var D,st,Hr,et=b(()=>{"use strict";D=require("@babel/core"),st=A(require("@babel/generator"),1);Z();tt();ot();Ce();me();Hr=st.default.default??st.default});function an(e){return t=>{B(t,{resolver:e.componentResolver,modules:{controlFlowModule:e.controlFlowModule,coreModule:e.libModule,routerModule:e.routerModule},strategyFor:n=>n.load}),H(t),Me(t,e)}}function Vr(e){let t=[u.types.objectProperty(u.types.identifier("kind"),u.types.stringLiteral(e.kind))];return e.kind==="visible"&&e.rootMargin&&t.push(u.types.objectProperty(u.types.identifier("rootMargin"),u.types.stringLiteral(e.rootMargin))),e.kind==="interaction"&&t.push(u.types.objectProperty(u.types.identifier("events"),u.types.arrayExpression(e.events.map(n=>u.types.stringLiteral(n))))),e.kind==="media"&&t.push(u.types.objectProperty(u.types.identifier("query"),u.types.stringLiteral(e.query))),u.types.objectExpression(t)}function ln(e,t,n){if(!t||t.length===0)return e;let r=new Map;for(let o of t){let s=`${o.svg?"svg:":""}${o.html}`,i=n.staticTemplates.get(s);i||(i=`_tmpl$${n.staticTemplates.size}`,n.staticTemplates.set(s,i)),r.set(o.id,i)}return e.replace(/_tmpl\$\d+/g,o=>r.get(o)??o)}function on(e,t){let n=new Set,r=it(e,n,an(t));B(r,{resolver:t.componentResolver,modules:{controlFlowModule:t.controlFlowModule,coreModule:t.libModule,routerModule:t.routerModule},strategyFor:l=>l.load}),H(r);let{code:o,imports:s,templates:i}=$.emit(r,{templateClone:t.templateClone,partialTemplates:t.partialTemplates});for(let l of s)n.add(l);for(let l of n)t.irImports.add(l);Me(r,t);let a=ln(o,i,t);return u.template.expression(a,{placeholderPattern:!1,plugins:["typescript"]})()}function zr(e){let t=new Map,n=[];for(let r of e){let o=r.source.value;if(!r.specifiers.every(a=>u.types.isImportSpecifier(a))){n.push(r);continue}let i=t.get(o);if(!i){let a=new Set(r.specifiers.map(l=>l.local.name));t.set(o,{decl:r,names:a}),n.push(r);continue}for(let a of r.specifiers)i.names.has(a.local.name)||(i.names.add(a.local.name),i.decl.specifiers.push(a))}return n}function Ur(e,t){let n=new Set,r=u.types.isIdentifier(e.tag)&&e.tag.name==="svg",o=Ie(e,n,{svg:r,onNested:an(t)});B(o,{resolver:t.componentResolver,modules:{controlFlowModule:t.controlFlowModule,coreModule:t.libModule,routerModule:t.routerModule},strategyFor:c=>c.load}),H(o);let{code:s,imports:i,templates:a}=$.emit(o,{templateClone:t.templateClone,partialTemplates:t.partialTemplates});for(let c of i)n.add(c);for(let c of n)t.irImports.add(c);Me(o,t),t.hasLitIR=!0;let l=u.template.expression(ln(s,a,t),{placeholderPattern:!1,plugins:["typescript"]})();return Gr(l,e),l}function Gr(e,t){if(!t.loc)return;let n=new Set,r=o=>{if(!n.has(o)){n.add(o),o.loc||(o.loc=t.loc,o.start=t.start,o.end=t.end);for(let s of u.types.VISITOR_KEYS[o.type]??[]){let i=o[s];if(Array.isArray(i))for(let a of i)a&&typeof a=="object"&&"type"in a&&r(a);else i&&typeof i=="object"&&"type"in i&&r(i)}}};r(e)}function Me(e,t){if(e.kind==="component"&&e.source&&(e.source.origin==="builtin"?(t.controlFlowComponents.add(e.name),t.needsControlFlowImport=!0):Y(e.source.loading)&&!t.resolvedComponents.has(e.name)?t.deferredComponents.set(e.name,{module:e.source.module,export:e.source.export,strategy:e.source.loading}):(t.deferredComponents.delete(e.name),t.resolvedComponents.set(e.name,{module:e.source.module,export:e.source.export}))),(e.kind==="element"||e.kind==="component"||e.kind==="control")&&"props"in e)for(let n of e.props)n.kind==="event"&&n.event?.delegated&&t.delegatedEvents.add(n.event.name);if("children"in e&&e.children)for(let n of e.children)Me(n,t)}var sn,u,nn,rn,Q,at=b(()=>{"use strict";sn=require("@babel/helper-plugin-utils");ne();ie();Ne();q();oe();u=require("@babel/core");et();tt();Z();nn=new Set(U),rn=new Set(J),Q=(0,sn.declare)((e,t={})=>{e.assertVersion(7);let{delegateEvents:n=!0,signalModule:r="@fluixi/dom",controlFlowModule:o="@fluixi/dom",routerModule:s="@fluixi/core/router-next",reactiveModule:i="@fluixi/reactive/signal",templateClone:a=!0,partialTemplates:l=!0,format:c="both",litTag:p="html",resolve:m=[]}=t,d=F(m),x=c==="lit"||c==="both",v={irImports:new Set,libModule:"@fluixi/core",controlFlowModule:o,routerModule:s,templateClone:a,partialTemplates:l,hasJSX:!1,hasLitHTML:!1,needsControlFlowImport:!1,needsCreateMemo:!1,controlFlowComponents:new Set,resolvedComponents:new Map,deferredComponents:new Map,componentResolver:d,delegatedEvents:new Set,staticTemplates:new Map,staticCounter:0};return{name:"@fluixi/babel-plugin-jsx",manipulateOptions(f,h){h.plugins.push("jsx","typescript")},pre(f){Object.assign(f,v)},visitor:{ImportDeclaration(f,h){f.node.source.value==="@fluixi/core/rx"&&(f.node.source=u.types.stringLiteral("@fluixi/reactive"))},Program:{enter(f,h){Object.assign(h,{hasJSX:!1,hasLitHTML:!1,hasLitIR:!1,needsControlFlowImport:!1,needsCreateMemo:!1,controlFlowComponents:new Set,resolvedComponents:new Map,deferredComponents:new Map,componentResolver:d,delegatedEvents:new Set,staticTemplates:new Map,staticCounter:0,libModule:"@fluixi/core",controlFlowModule:o,routerModule:s,templateClone:a,partialTemplates:l,irImports:new Set,needsCreateNativeElement:!1,needsInsert:!1,needsSpread:!1,needsCreateComponent:!1,needsMergeProps:!1})},exit(f,h){let R=[];if(h.hasJSX||h.hasLitIR){if(h.irImports.size>0){let S=new Set(["Show","For","Index","Switch","Match","Dynamic","ErrorBoundary","Portal","Suspense"]),N=new Set(["createMemo","createEffect","createRenderEffect","createRoot","createSignal","onCleanup","batch","untrack"]),k=Array.from(h.irImports),g=C=>u.types.importSpecifier(u.types.identifier(C),u.types.identifier(C)),y=C=>!f.scope.hasBinding(C),E=k.filter(C=>N.has(C)&&y(C)),w=k.filter(C=>!S.has(C)&&!N.has(C)&&y(C)),T=k.filter(C=>S.has(C)&&y(C));E.length>0&&R.push(u.types.importDeclaration(E.map(g),u.types.stringLiteral(i))),w.length>0&&R.push(u.types.importDeclaration(w.map(g),u.types.stringLiteral(r))),T.length>0&&R.push(u.types.importDeclaration(T.map(g),u.types.stringLiteral(o)))}if(h.needsCreateMemo&&!f.scope.hasBinding("createMemo")&&R.push(u.types.importDeclaration([u.types.importSpecifier(u.types.identifier("createMemo"),u.types.identifier("createMemo"))],u.types.stringLiteral(i))),h.needsControlFlowImport&&h.controlFlowComponents.size>0){let S=Array.from(h.controlFlowComponents).filter(w=>!f.scope.hasBinding(w)),N=h.libModule??"@fluixi/core",k=S.filter(w=>rn.has(w)),g=S.filter(w=>nn.has(w)),y=S.filter(w=>!nn.has(w)&&!rn.has(w)),E=(w,T)=>u.types.importDeclaration(w.map(C=>u.types.importSpecifier(u.types.identifier(C),u.types.identifier(C))),u.types.stringLiteral(T));y.length>0&&R.push(E(y,o)),g.length>0&&R.push(E(g,N)),k.length>0&&R.push(E(k,s))}let I=[];if(h.deferredComponents.size>0){for(let[S,N]of h.deferredComponents)f.scope.hasBinding(S)||I.push(u.types.variableDeclaration("const",[u.types.variableDeclarator(u.types.identifier(S),u.types.callExpression(u.types.identifier("deferred"),[u.types.arrowFunctionExpression([],u.types.callExpression(u.types.import(),[u.types.stringLiteral(N.module)])),u.types.objectExpression([u.types.objectProperty(u.types.identifier("strategy"),Vr(N.strategy)),u.types.objectProperty(u.types.identifier("export"),u.types.stringLiteral(N.export))])]))]));I.length>0&&!f.scope.hasBinding("deferred")&&R.push(u.types.importDeclaration([u.types.importSpecifier(u.types.identifier("deferred"),u.types.identifier("deferred"))],u.types.stringLiteral(h.libModule??"@fluixi/core")))}if(h.resolvedComponents.size>0){let S=new Map;for(let[N,k]of h.resolvedComponents){if(f.scope.hasBinding(N))continue;let g=S.get(k.module)??[];g.push({local:N,exported:k.export}),S.set(k.module,g)}for(let[N,k]of S)R.push(u.types.importDeclaration(k.map(({local:g,exported:y})=>y==="default"?u.types.importDefaultSpecifier(u.types.identifier(g)):u.types.importSpecifier(u.types.identifier(g),u.types.identifier(y))),u.types.stringLiteral(N)))}if(n&&h.delegatedEvents.size>0){R.push(u.types.importDeclaration([u.types.importSpecifier(u.types.identifier("delegateEvents"),u.types.identifier("delegateEvents"))],u.types.stringLiteral(r)));let S=u.types.arrayExpression(Array.from(h.delegatedEvents).map(k=>u.types.stringLiteral(k))),N=u.types.expressionStatement(u.types.callExpression(u.types.identifier("delegateEvents"),[S]));f.node.body.unshift(N)}if(I.length>0&&f.node.body.unshift(...I),h.staticTemplates.size>0){let S=[];for(let[N,k]of h.staticTemplates){let y=N.startsWith("svg:")?N.slice(4):N;S.push(u.types.variableDeclaration("const",[u.types.variableDeclarator(u.types.identifier(k),u.types.stringLiteral(y))]))}f.node.body.unshift(...S)}}R.length>0&&f.node.body.unshift(...zr(R))}},JSXElement(f,h){h.hasJSX=!0,f.replaceWith(on(f.node,h))},JSXFragment(f,h){h.hasJSX=!0,f.replaceWith(on(f.node,h))},TaggedTemplateExpression(f,h){x&&u.types.isIdentifier(f.node.tag)&&(f.node.tag.name===p||f.node.tag.name==="svg")&&f.replaceWith(Ur(f.node,h))}}}})});var cn=b(()=>{"use strict"});var pn={};te(pn,{babelPluginReactiveJSX:()=>qr,createPlugin:()=>Kr,createPreset:()=>$e,default:()=>Q,presets:()=>Yr});function Kr(e){return[Q,e]}function $e(e={}){return{plugins:[[Q,{runtime:"automatic",importSource:"@fluixi/jsx",development:!1,detectReactivity:!0,useLitHTML:!0,hoistStatics:!0,delegateEvents:!0,optimizeControlFlow:!0,sourceMaps:!0,...e}]]}}var qr,Yr,un=b(()=>{"use strict";at();cn();at();qr=Q;Yr={production:$e({development:!1,hoistStatics:!0,delegateEvents:!0,optimizeControlFlow:!0}),development:$e({development:!0,hoistStatics:!1,sourceMaps:!0}),minimal:$e({detectReactivity:!1,useLitHTML:!1,hoistStatics:!1,delegateEvents:!1,optimizeControlFlow:!1})}});function dn(e,t,n={}){let r=new Set,o=Ee(e,[...t],r,{svg:n.svg});W(o),B(o,{resolver:F(n.resolve??[]),modules:{controlFlowModule:n.controlFlowModule??"@fluixi/dom",coreModule:n.coreModule??"@fluixi/core",routerModule:n.routerModule??"@fluixi/core/router-next"},strategyFor:l=>l.load}),H(o);let{code:s,imports:i,templates:a}=$.emit(o,{templateClone:n.templateClone,partialTemplates:n.partialTemplates});for(let l of i)r.add(l);return n.hoistTemplates?{code:s,imports:[...r],ir:o,templates:a}:{code:K(s,a),imports:[...r],ir:o}}var mn=b(()=>{"use strict";ue();Ne();Z();ie();ne();Ye()});function z(e,t){if(e)switch(e.type){case"Identifier":t.add(e.name);return;case"ObjectPattern":for(let n of e.properties)n.type==="RestElement"?z(n.argument,t):z(n.value,t);return;case"ArrayPattern":for(let n of e.elements)z(n,t);return;case"AssignmentPattern":z(e.left,t);return;case"RestElement":z(e.argument,t);return}}function fn(e,t){switch(e.type){case"ImportDeclaration":for(let n of e.specifiers)z(n.local,t);return;case"VariableDeclaration":for(let n of e.declarations)z(n.id,t);return;case"FunctionDeclaration":case"ClassDeclaration":z(e.id,t);return;case"ExportNamedDeclaration":case"ExportDefaultDeclaration":e.declaration&&fn(e.declaration,t);return}}function ee(e){let t=new Set;for(let n of e.body)fn(n,t);return t}var Oe=b(()=>{"use strict"});function O(e,t){if(e)switch(e.type){case"Identifier":t.add(e.name);return;case"ObjectPattern":for(let n of e.properties)n.type==="RestElement"?O(n.argument,t):O(n.value,t);return;case"ArrayPattern":for(let n of e.elements)O(n,t);return;case"AssignmentPattern":O(e.left,t);return;case"RestElement":O(e.argument,t);return}}function lt(e){switch(e.type){case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":case"NullLiteral":case"BigIntLiteral":case"RegExpLiteral":case"Identifier":return!0;case"Literal":return!0;case"TemplateLiteral":return e.expressions.every(lt);case"UnaryExpression":return lt(e.argument);case"MemberExpression":return!1;default:return!1}}function Pe(e,t){if(!(!e||typeof e!="object")){t(e);for(let n of Object.keys(e)){if(n==="loc"||n==="range"||n==="leadingComments"||n==="trailingComments")continue;let r=e[n];if(Array.isArray(r))for(let o of r)o&&typeof o=="object"&&Pe(o,t);else r&&typeof r=="object"&&typeof r.type=="string"&&Pe(r,t)}}}function Zr(e){let t=new Set;return Pe(e,n=>{if(n.type==="AssignmentExpression")O(n.left,t);else if(n.type==="UpdateExpression"){let r=n.argument;r?.type==="Identifier"&&t.add(r.name)}}),t}function Qr(e,t){let n=new Set,r=o=>{let s=new Set;O(o,s);for(let i of s)t.has(i)&&n.add(i)};return Pe(e,o=>{switch(o.type){case"VariableDeclarator":r(o.id);return;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":r(o.id);for(let s of o.params??[])r(s);return;case"CatchClause":r(o.param);return;case"ClassDeclaration":case"ClassExpression":r(o.id);return}}),n}function gn(e,t,n){for(let r of e.properties??[]){if(r.type==="RestElement"){let p=r.argument;if(p?.type!=="Identifier"||t.length>0){let m=new Set;O(p,m);for(let d of m)n.bails.push({name:d,reason:"rest"});continue}n.rest={name:p.name,keys:[]};continue}if(r.computed){let p=new Set;O(r.value,p);for(let m of p)n.bails.push({name:m,reason:"computed"});continue}let o=r.key,s=o.type==="Identifier"?o.name:o.value,i=r.value,a;i.type==="AssignmentPattern"&&(a=i.right,i=i.left);let l=[...t,s];if(i.type==="Identifier"){if(a&&!lt(a)){n.bails.push({name:i.name,reason:"unsafe-default"});continue}n.reads.push({name:i.name,path:l,...a?{fallback:a}:{}});continue}if(i.type==="ObjectPattern"){if(a){let p=new Set;O(i,p);for(let m of p)n.bails.push({name:m,reason:"unsafe-default"});continue}gn(i,l,n);continue}let c=new Set;O(i,c);for(let p of c)n.bails.push({name:p,reason:"computed"})}}function je(e,t){let n={reads:[],bails:[]};if(e?.type!=="ObjectPattern"||(gn(e,[],n),n.rest&&(t?.type!=="BlockStatement"?(n.bails.push({name:n.rest.name,reason:"rest"}),delete n.rest):n.rest.keys=(e.properties??[]).filter(a=>a.type!=="RestElement"&&!a.computed).map(a=>{let l=a.key;return l.type==="Identifier"?l.name:l.value})),n.reads.length===0&&!n.rest))return n;let r=new Set(n.reads.map(a=>a.name));n.rest&&r.add(n.rest.name);let o=Zr(t),s=Qr(t,r),i=[];for(let a of n.reads)o.has(a.name)?n.bails.push({name:a.name,reason:"reassigned"}):s.has(a.name)?n.bails.push({name:a.name,reason:"shadowed"}):i.push(a);return n.reads=i,n.rest&&o.has(n.rest.name)?(n.bails.push({name:n.rest.name,reason:"reassigned"}),delete n.rest):n.rest&&s.has(n.rest.name)&&(n.bails.push({name:n.rest.name,reason:"shadowed"}),delete n.rest),n}function De(e){switch(e){case"rest":return"this rest element cannot be served by splitProps, and copying the props into a plain object would lose the getters";case"computed":return"the property is not known until it runs";case"reassigned":return"the binding is assigned to, and props are read-only";case"shadowed":return"an inner scope binds the same name";case"unsafe-default":return"the default would have to run again on every read"}}var ct=b(()=>{"use strict"});function ge(e,t,n=null){if(!(!e||typeof e!="object"||typeof e.type!="string")&&!e.type.startsWith("TS")&&t(e,n)!==!1)for(let r of Object.keys(e)){if(r==="loc"||r==="leadingComments"||r==="trailingComments")continue;let o=e[r];if(Array.isArray(o))for(let s of o)ge(s,t,e);else o&&typeof o=="object"&&ge(o,t,e)}}function hn(e){return!!e&&e[0]>="A"&&e[0]<="Z"}function eo(e){let t=[];return ge(e,n=>{if(n.type==="FunctionDeclaration"&&hn(n.id?.name)){t.push(n);return}if(n.type==="VariableDeclarator"&&hn(n.id?.name)){let r=n.init;r&&(r.type==="ArrowFunctionExpression"||r.type==="FunctionExpression")&&t.push(r)}}),t}function to(e){let t=new Set;return ge(e,n=>{n.type==="Identifier"&&t.add(n.name)}),t}function no(e,t){if(!t)return!0;switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return!(t.property===e&&!t.computed);case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":return!(t.key===e&&!t.computed);case"LabeledStatement":case"BreakStatement":case"ContinueStatement":return t.label!==e;case"ImportSpecifier":case"ExportSpecifier":return!1;default:return!0}}function pt(e,t,n={}){let r=[],o=[],s=new Set;for(let i of eo(e)){let a=i.params?.[0];if(a?.type!=="ObjectPattern")continue;let l=je(a,i.body);for(let v of l.bails)o.push({name:v.name,reason:v.reason,message:De(v.reason),start:a.start});if(l.bails.length>0||l.reads.length===0&&!l.rest)continue;let c=to(i),p=n.parameterName??"props";for(;c.has(p);)p=`_${p}`;let m=new Map;for(let v of l.reads){let f=`${p}.${v.path.join(".")}`,h=v.fallback;m.set(v.name,h?`(${f} === undefined ? ${t.slice(h.start,h.end)} : ${f})`:f)}let d=a.typeAnnotation;if(r.push({start:a.start,end:d?.start??a.end,code:p}),l.rest){let v=l.rest.keys.map(h=>JSON.stringify(h)).join(", "),f=i.body;r.push({start:f.start+1,end:f.start+1,code:`
2
- const [, ${l.rest.name}] = splitProps(${p}, [${v}]);`}),s.add("splitProps")}let x=[];ge(i.body,(v,f)=>{if(v.type!=="Identifier")return;let h=m.get(v.name);if(!h)return;let R=f?.type==="ObjectProperty"&&f.shorthand&&f.value===v;if(!R&&!no(v,f))return;let I=l.reads.find(S=>S.name===v.name).path;x.push({node:v,parent:R?f:null,text:h,property:I[I.length-1]})});for(let v of x)v.parent?r.push({start:v.parent.start,end:v.parent.end,code:`${v.node.name}: ${v.text}`}):r.push({start:v.node.start,end:v.node.end,code:v.text}),ro(v.node,p,v.property)}return{edits:r,diagnostics:o,used:s}}function ro(e,t,n){e.type="MemberExpression",e.computed=!1,e.optional=!1,e.object={type:"Identifier",name:t,start:e.start,end:e.start},e.property={type:"Identifier",name:n,start:e.end,end:e.end},delete e.name}function xn(e,t="module.tsx",n={}){let r=(0,yn.parse)(e,{sourceType:"module",plugins:["typescript","jsx"],errorRecovery:!0}),{edits:o,diagnostics:s,used:i}=pt(r.program,e,n),a=new vn.default(e);for(let l of o)l.start===l.end?a.appendLeft(l.start,l.code):a.overwrite(l.start,l.end,l.code);return i.has("splitProps")&&!ee(r.program).has("splitProps")&&a.prepend(`import { splitProps } from ${JSON.stringify(n.runtimeModule??"@fluixi/dom")};
3
- `),{code:a.toString(),map:a.generateMap({source:t,includeContent:!0,hires:!0}),diagnostics:s,rewritten:o.filter(l=>l.code!==(n.parameterName??"props")).length}}var yn,vn,ut=b(()=>{"use strict";yn=require("@babel/parser"),vn=A(require("magic-string"),1);ct();Oe()});function L(e,t){if(e)switch(e.type){case"Identifier":t.add(e.name);return;case"ObjectPattern":for(let n of e.properties??[])n.type==="RestElement"?L(n.argument,t):L(n.value,t);return;case"ArrayPattern":for(let n of e.elements??[])L(n,t);return;case"AssignmentPattern":L(e.left,t);return;case"RestElement":L(e.argument,t);return}}function Le(e,t){if(!(!e||typeof e!="object"||typeof e.type!="string")){t(e);for(let n of Object.keys(e)){if(n==="loc"||n==="leadingComments"||n==="trailingComments")continue;let r=e[n];if(Array.isArray(r))for(let o of r)Le(o,t);else r&&typeof r=="object"&&Le(r,t)}}}function oo(e,t){if(e.type!=="CallExpression")return;let n=e.callee;if(n?.type!=="Identifier")return;let r=n.name,o=t.primitives.get(r);if(o)return o;let s=P[r];if(s&&!t.shadowed.has(r))return s.returns}function so(e,t,n){if(Array.isArray(t)){e.type==="ArrayPattern"&&e.elements.forEach((r,o)=>{let s=t[o];r?.type==="Identifier"&&s&&n.set(r.name,s)});return}e.type==="Identifier"&&n.set(e.name,t)}function bn(e){let t={kinds:new Map,primitives:new Map,shadowed:new Set},n=e;Le(n,r=>{let o=new Set;if(r.type==="VariableDeclarator")L(r.id,o);else if(r.type==="FunctionDeclaration"||r.type==="ClassDeclaration")L(r.id,o);else if(r.type==="ImportDefaultSpecifier"||r.type==="ImportNamespaceSpecifier")L(r.local,o);else if(r.type==="ImportSpecifier")L(r.local,o);else if(r.type==="FunctionExpression"||r.type==="ArrowFunctionExpression"||r.type==="FunctionDeclaration")for(let s of r.params??[])L(s,o);for(let s of o)P[s]&&t.shadowed.add(s)});for(let r of n.body??[])if(r.type==="ImportDeclaration"&&It(r.source?.value))for(let o of r.specifiers??[]){if(o.type!=="ImportSpecifier")continue;let s=o.imported,i=s.type==="Identifier"?s.name:s.value,a=Et[i];a&&t.primitives.set(o.local.name,a)}return Le(n,r=>{if(r.type!=="VariableDeclarator"||!r.init)return;let o=oo(r.init,t);o&&so(r.id,o,t.kinds)}),t}var Nn=b(()=>{"use strict";se()});function dt(e,t){if(!(!e||typeof e!="object"||typeof e.type!="string")){t(e);for(let n of Object.keys(e)){if(n==="loc"||n==="leadingComments"||n==="trailingComments")continue;let r=e[n];if(Array.isArray(r))for(let o of r)dt(o,t);else r&&typeof r=="object"&&dt(r,t)}}}function Sn(e){let t=[],n=[],r=new Map,o=new Set,{shadowed:s}=bn(e);return dt(e,i=>{if(i.type!=="CallExpression")return;let a=i.callee;if(a?.type!=="Identifier")return;let l=a.name;if(!kt(l))return;if(s.has(l)){o.has(l)||(o.add(l),n.push({name:l,message:`${l} is reserved for the compiler, and this module binds it. The call keeps your binding's meaning; rename it to use the intrinsic.`,start:a.start}));return}let c=P[l];t.push({start:a.start,end:a.end,code:c.export});let p=r.get(c.module)??new Set;p.add(c.export),r.set(c.module,p)}),{edits:t,diagnostics:n,imports:r}}function Rn(e,t){let n=[];for(let[r,o]of[...e.imports].sort(([s],[i])=>s.localeCompare(i))){let s=[...o].filter(i=>!t.has(i)).sort();s.length&&n.push(`import { ${s.join(", ")} } from ${JSON.stringify(r)};`)}return n.length?`${n.join(`
1
+ "use strict";var Kn=Object.create;var Ne=Object.defineProperty;var Yn=Object.getOwnPropertyDescriptor;var Zn=Object.getOwnPropertyNames;var Qn=Object.getPrototypeOf,er=Object.prototype.hasOwnProperty;var b=(e,t)=>()=>(e&&(t=e(e=0)),t);var oe=(e,t)=>{for(var n in t)Ne(e,n,{get:t[n],enumerable:!0})},It=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zn(t))!er.call(e,o)&&o!==n&&Ne(e,o,{get:()=>t[o],enumerable:!(r=Yn(t,o))||r.enumerable});return e};var J=(e,t,n)=>(n=e!=null?Kn(Qn(e)):{},It(t||!e||!e.__esModule?Ne(n,"default",{value:e,enumerable:!0}):n,e)),tr=e=>It(Ne({},"__esModule",{value:!0}),e);function Ct(e,t){return e.replace(/\$(\d+)/g,(n,r)=>t[Number(r)]??n)}function rr(e,t){return typeof t=="string"?{module:t,export:e}:t}function X(e=[]){let t=new Map,n=[],r=[];for(let i of e){if(!nr(i)){r.push(i);continue}for(let[a,l]of Object.entries(i.components)){let c=rr(a,l),p=t.get(a);if(p&&p.module!==c.module){let d=n.find(f=>f.name===a);d?d.modules.push(c.module):n.push({name:a,modules:[p.module,c.module]});continue}t.set(a,c)}}let o=new Map;return{resolve:i=>{if(o.has(i))return o.get(i);let a=t.get(i);if(!a)for(let l of r){let c=i.match(new RegExp(l.match.source,l.match.flags.replace("g","")));if(c){a={module:Ct(l.module,c),export:l.export?Ct(l.export,c):i};break}}return o.set(i,a),a},names:()=>[...t.keys()],conflicts:()=>n}}var nr,se=b(()=>{"use strict";nr=e=>"components"in e});function Se(e={}){let{controlFlowModule:t="@fluixi/dom",coreModule:n="@fluixi/core",routerModule:r="@fluixi/core/router-next"}=e,o={};for(let s of ie)o[s]=t;for(let s of K)o[s]=n;for(let s of B)o[s]=r;return o}var ie,K,B,Wo,ze,ae=b(()=>{"use strict";ie=["Show","For","Index","Switch","Match","Portal","Dynamic","ErrorBoundary"],K=["Suspense","SuspenseList","Await"],B=["Router","Outlet","Redirect","Link"],Wo=[...ie,...K,...B],ze=new Set([...ie,...K])});function Mt(e){return sr.test(e)}function $t(e){return Object.prototype.hasOwnProperty.call(L,e)}function Ot(e){return or.includes(e)}var Y,L,Tt,or,sr,le=b(()=>{"use strict";Y="@fluixi/reactive/signal",L={$signal:{export:"signal",module:Y,returns:"signal-handle"},$memo:{export:"memo",module:Y,returns:"memo-handle"},$effect:{export:"effect",module:Y,returns:"effect"},$store:{export:"store",module:"@fluixi/reactive/store",returns:"store-handle"},$resource:{export:"resource",module:Y,returns:"resource-handle"},$selector:{export:"createSelector",module:Y,returns:"memo-accessor"},$deferred:{export:"createDeferred",module:Y,returns:"memo-accessor"},$untrack:{export:"untrack",module:Y,returns:"plain"},$untrackStore:{export:"untrackStore",module:"@fluixi/reactive/store",returns:"plain"}},Tt={signal:"signal-handle",memo:"memo-handle",effect:"effect",store:"store-handle",createSignal:["signal-accessor","signal-setter"],createMemo:"memo-accessor",createEffect:"effect",createRenderEffect:"effect",createStore:"reactive-object",resource:"resource-handle",createResource:"reactive-object",createSelector:"memo-accessor",createDeferred:"memo-accessor"},or=["@fluixi/reactive","@fluixi/reactive/signal","@fluixi/reactive/signal-next","@fluixi/reactive/store","@fluixi/core","@fluixi/core/rx"],sr=new RegExp(`\\$(?:${Object.keys(L).map(e=>e.slice(1)).join("|")})\\s*\\(`)});function qe(e){return e.startsWith("load:")}function Ee(e,t){let n=e.slice(5);if(!At.has(n))throw new V(`Unknown load strategy 'load:${n}'. Expected one of ${[...At].join(", ")}.`);switch(n){case"eager":return Re;case"idle":return{kind:"idle"};case"never":return{kind:"never"};case"visible":return t?{kind:"visible",rootMargin:t}:{kind:"visible"};case"interaction":return{kind:"interaction",events:t?mr(t):[...fr]};case"media":if(!t)throw new V(`'load:media' needs a query, e.g. load:media="(min-width: 1024px)".`);return{kind:"media",query:t};default:throw new V(`Unhandled load strategy '${n}'.`)}}function mr(e){let t=e.split(/[\s,]+/).map(n=>n.trim()).filter(Boolean);if(t.length===0)throw new V("'load:interaction' was given no event names.");return t}function Z(e){return e.kind!=="eager"&&e.kind!=="never"}var Re,fr,At,V,Q=b(()=>{"use strict";Re={kind:"eager"},fr=["pointerdown","focusin","keydown"],At=new Set(["eager","idle","visible","interaction","media","never"]),V=class extends Error{}});function W(e,t={}){let{resolver:n,isBound:r,modules:o,strategyFor:s}=t,i=Se(o),a=new Map,l=new Set,c=d=>{let{name:f}=d;if(!f||f.includes(".")||r?.(f))return;let x=p(f);if(!x){l.add(f);return}let y=x.origin==="builtin"&&ze.has(f)?Re:s?.(d)??Re;d.source={...x,loading:y},a.set(f,d.source)},p=d=>{if(ze.has(d))return{module:i[d],export:d,origin:"builtin"};let f=n?.resolve(d);if(f)return{module:f.module,export:f.export,origin:"rule"};if(B.includes(d))return{module:i[d],export:d,origin:"builtin"}};return we(e,d=>{d.kind==="component"&&c(d)}),{resolved:a,unresolved:[...l]}}function we(e,t){let n=Array.isArray(e)?e:[e];for(let r of n){t(r);let o=r.children;o&&we(o,t)}}var ce=b(()=>{"use strict";ae();Q()});function U(e){let t=[];we(e,s=>{s.kind==="component"&&s.source&&t.push(s)});let n=new Set,r=new Set;for(let s of t){let{module:i,loading:a}=s.source;a.kind==="eager"&&n.add(i),a.kind==="never"&&r.add(i)}let o=new Map;for(let s of t){let i=s.source;Z(i.loading)&&n.has(i.module)&&(i.loading={kind:"eager"},o.set(i.module,(o.get(i.module)??0)+1))}return{collapsed:o,conflicted:[...r].filter(s=>n.has(s))}}var ke=b(()=>{"use strict";Q();ce()});function Ke(e){return yr.has(e)}function Jt(e){return Ft[e]??e}function pe(e){return e.kind!=="attr"||e.expr!==void 0||e.name.includes(":")?!1:!hr.has(e.name)}function Ye(e){if(!e.static||Ke(e.tag))return!1;for(let t of e.props)if(!pe(t))return!1;for(let t of e.children)if(t.kind!=="text"&&!(t.kind==="element"&&Ye(t)))return!1;return!0}function ue(e){let t=e.props.map(xr).filter(Boolean).join(""),n=`<${e.tag}${t}>`;return gr.has(e.tag)?n:`${n}${e.children.map(vr).join("")}</${e.tag}>`}function vr(e){if(e.kind==="text")return Nr(e.value);if(e.kind!=="element")throw new Error(`serializeStatic: unexpected ${e.kind}`);return ue(e)}function xr(e){let t=Ft[e.name]??e.name,n=e.literal;return n===!0||n===void 0?` ${t}`:n===!1||n===null?"":` ${t}="${br(String(n))}"`}function br(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Nr(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var gr,Ft,hr,yr,Ze=b(()=>{"use strict";gr=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Ft={className:"class",htmlFor:"for"},hr=new Set(["innerHTML","outerHTML","innerText","textContent","value","checked","selected","muted","defaultValue","defaultChecked","children","ref"]),yr=new Set(["script","style","textarea","title"])});function Ce(e){return e.kind==="expr"||e.kind==="component"||e.kind==="control"}function Er(e){return e.kind==="text"||e.kind==="element"&&_t(e)}function _t(e){return e.svg||Ke(e.tag)||!e.props.every(t=>pe(t))?!1:e.children.every(t=>Er(t)||Ce(t))}function Ie(e){if(Ce(e))return!0;let t=e.children;return t?t.some(Ie):!1}function Xt(e){for(let t=0;t<e.children.length;t++){let n=e.children[t];if(n.kind==="text"&&(n.value===""||e.children[t+1]?.kind==="text"))return!1}return e.children.every(t=>t.kind!=="element"||Xt(t))}function Bt(e){if(!_t(e)||!Xt(e)||!e.children.some(Ie))return null;let t=[],n=[],r=0,o=i=>{let a=`_n$${r++}`;return t.push({ref:a,expr:i}),a};return s(e,"_el$"),{html:wr(e),tag:e.tag,steps:t,holes:n};function s(i,a){let l=-1;i.children.forEach((p,d)=>{Ie(p)&&(l=d)});let c=null;for(let p=0;p<=l;p++){let d=i.children[p],f=c?`${c}.nextSibling`:`${a}.firstChild`;if(Ce(d)){let y=o(f),g=o(`holeEnd(${y})`);n.push({parentRef:a,startRef:y,endRef:g,node:d}),c=g;continue}let x=o(f);d.kind==="element"&&Ie(d)&&s(d,x),c=x}}}function wr(e){return ue(Ht(e)).split(Vt).join(Sr+Rr)}function Ht(e){return{...e,children:e.children.map(t=>Ce(t)?{kind:"text",value:Vt}:t.kind==="element"?Ht(t):t)}}var Sr,Rr,Vt,Wt=b(()=>{"use strict";Ze();Sr="<!--fx-->",Rr="<!--fx/-->";Vt="\0fx-hole\0"});var Qe,ps,Ut=b(()=>{"use strict";Qe={version:1,module:"@fluixi/dom",symbols:["createNativeElement","insert","spread","setAttribute","delegateEvents","createComponent","createMemo","untrack","Show","For","Index","Switch","Match","Dynamic","ErrorBoundary"]},ps={version:2,module:"@fluixi/dom",symbols:[...Qe.symbols,"template","cloneTemplate","walk"]}});function Ir(e){return/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(e)}function Gt(e){return Ir(e)?e:JSON.stringify(e)}function Cr(e){return e.expr!==void 0?e.reactive?`() => (${e.expr})`:`(${e.expr})`:JSON.stringify(e.literal??!0)}function Tr(e){return e.expr!==void 0?`(${e.expr})`:JSON.stringify(e.literal??!0)}function Mr(e,t,n){let r=e.filter(a=>a.kind==="spread"),s=e.filter(a=>a.kind!=="spread").map(a=>`${Gt(a.name)}: ${Cr(a)}`);t!=null&&s.push(`children: ${t}`);let i=`{ ${s.join(", ")} }`;return r.length>0?(n.add("mergeProps"),`mergeProps(${r.map(a=>a.expr).join(", ")}, ${i})`):i}function qt(e,t,n){return e.length===1?de(e[0],t,n):`[${e.map(r=>de(r,t,n)).join(", ")}]`}function zt(e,t,n,r,o){r.add("createMemo"),r.add("createComponent");let s=t.filter(c=>c.kind==="spread"),a=t.filter(c=>c.kind!=="spread").map(c=>`get ${Gt(c.name)}() { return ${Tr(c)}; }`);n.length>0&&a.push(`get children() { return ${qt(n,r,o)}; }`);let l=`{ ${a.join(", ")} }`;return s.length>0&&(r.add("mergeProps"),l=`mergeProps(${s.map(c=>c.expr).join(", ")}, ${l})`),`createMemo(() => createComponent(${e}, ${l}))`}function $r(e,t){let n=Jt(t.name),r=t.literal;return r===!0||r===void 0?`${e}.setAttribute(${JSON.stringify(n)}, "");`:r===!1||r===null?"":`${e}.setAttribute(${JSON.stringify(n)}, ${JSON.stringify(String(r))});`}function de(e,t,n){switch(e.kind){case"text":return JSON.stringify(e.value);case"expr":return e.reactive?`() => (${e.code})`:`(${e.code})`;case"fragment":return e.children.length===0?"null":qt(e.children,t,n);case"component":return zt(e.name,e.props,e.children,t,n);case"control":{let r=kr[e.control]??e.control;return t.add(r),zt(r,e.props,e.children,t,n)}case"element":{if(n&&e.static&&!e.svg&&Ye(e)){t.add("templateNode");let a=`_tmpl$${n.length}`;return n.push({id:a,html:ue(e),tag:e.tag,svg:!1}),`templateNode(${a}, ${JSON.stringify(e.tag)})`}if(n&&Kt){let a=Bt(e);if(a){t.add("templateNode"),t.add("insert"),t.add("holeEnd"),t.add("holeContent"),t.add("holeScope");let l=`_tmpl$${n.length}`;n.push({id:l,html:a.html,tag:a.tag,svg:!1});let c=[`const _el$ = templateNode(${l}, ${JSON.stringify(a.tag)}, true);`];for(let p of a.steps)c.push(`const ${p.ref} = ${p.expr};`);for(let p of a.holes)c.push(`insert(${p.parentRef}, holeScope(${p.startRef}, () => (${de(p.node,t,n)})), ${p.endRef}, holeContent(${p.startRef}, ${p.endRef}));`);return c.push("return _el$;"),`(() => { ${c.join(" ")} })()`}}t.add("createNativeElement");let r=JSON.stringify(e.tag),o="_el$",s=[],i=e.svg?`${r}, true`:r;if(s.push(`const ${o} = createNativeElement(${i});`),e.props.length>0)if(!e.svg&&e.props.every(pe))for(let a of e.props)s.push($r(o,a));else{t.add("spread");let a=e.svg?", isSVG: true":"";s.push(`spread({ element: ${o}, props: ${Mr(e.props,null,t)}${a} });`)}for(let a of e.children){t.add("insert");let l=de(a,t,n),c=a.kind==="expr"&&a.reactive||a.kind==="component"||a.kind==="control";s.push(c?`insert(${o}, ${l}, null);`:`insert(${o}, ${l});`)}return s.push(`return ${o};`),`(() => { ${s.join(" ")} })()`}}}function ee(e,t){if(!t||t.length===0)return e;let n=new Map(t.map(r=>[r.id,JSON.stringify(r.html)]));return e.replace(/_tmpl\$\d+/g,r=>n.get(r)??r)}var kr,Kt,P,te=b(()=>{"use strict";Wt();Ze();Ut();kr={show:"Show",for:"For",index:"Index",switch:"Switch",match:"Match",dynamic:"Dynamic",errorBoundary:"ErrorBoundary",suspense:"Suspense"};Kt=!1;P={name:"imperative",contract:Qe,emit(e,t){let n=new Set,r=t?.templateClone!==!1?[]:void 0;return Kt=t?.partialTemplates===!0,{code:de(e,n,r),imports:Array.from(n),templates:r}}}});function fe(e){let t=e.split(/\r\n|\n|\r/),n=0;for(let o=0;o<t.length;o++)/[^ \t]/.test(t[o])&&(n=o);let r="";for(let o=0;o<t.length;o++){let s=t[o].replace(/\t/g," ");o!==0&&(s=s.replace(/^ +/,"")),o!==t.length-1&&(s=s.replace(/ +$/,"")),s&&(o!==n&&(s+=" "),r+=s)}return r}var et=b(()=>{"use strict"});function Or(e){return e.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}function Zt(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Te(e,t,n,r={}){let{root:o}=(0,Qt.parseTemplate)(e,{svg:r.svg});return new tt(t,n).lowerRoot(o.children)}var Qt,Yt,tt,nt=b(()=>{"use strict";Qt=require("@fluixi/template-parser");Q();te();et();Yt=new Set(["click","dblclick","input","change","submit","focus","blur","keydown","keyup","keypress","mousedown","mouseup"]);tt=class{constructor(t,n){this.holes=t;this.used=n}hole(t){return this.holes[t]??{code:"undefined",reactive:!1}}emit(t){let{code:n,imports:r,templates:o}=P.emit(t,{});for(let s of r)this.used.add(s);return ee(n,o)}lowerRoot(t){let n=this.lowerChildren(t);return n.length===1?n[0]:{kind:"fragment",children:n}}lowerChildren(t){let n=[];for(let r=0;r<t.length;r++){let o=t[r];if(o.kind==="Element"||o.kind==="Component"){let i=o.attributes.find(a=>a.kind==="IfDirective");if(i&&i.kind==="IfDirective"){let a=r+1;a<t.length&&this.isBlankText(t[a])&&a++;let l=t[a],c=l&&(l.kind==="Element"||l.kind==="Component")&&l.attributes.some(p=>p.kind==="ElseDirective");n.push(this.lowerIf(o,i.hole,c?l:null)),c&&(r=a);continue}if(o.attributes.some(a=>a.kind==="EachDirective")){n.push(this.lowerEach(o));continue}}let s=this.lowerNode(o);s&&n.push(s)}return n}isBlankText(t){return t.kind==="Text"&&!t.raw&&fe(t.value)===""}lowerNode(t){switch(t.kind){case"Text":{if(t.raw)return{kind:"text",value:t.value};let n=fe(t.value);return n?{kind:"text",value:n}:null}case"Comment":return null;case"Expression":{let n=this.hole(t.hole);return{kind:"expr",code:n.code,reactive:n.reactive}}case"Fragment":return{kind:"fragment",children:this.lowerChildren(t.children)};case"Element":return this.lowerElement(t);case"Component":return this.lowerComponent(t);default:return null}}lowerElement(t){let n=t.attributes.find(r=>r.kind==="Attribute"&&r.name==="is");if(t.tag==="component"&&n&&n.value&&n.value.kind==="hole"){let r=t.attributes.filter(s=>s!==n),o=this.lowerComponent({...t,kind:"Component",tag:"Dynamic",tagHole:null,attributes:r});return o.props.unshift({name:"component",kind:"attr",expr:`() => (${this.hole(n.value.hole).code})`}),o}return{kind:"element",tag:t.tag,svg:t.namespace==="svg",props:this.lowerAttributes(t.attributes),children:this.lowerChildren(t.children),static:!1}}lowerComponent(t){let n=t.tagHole!=null?this.hole(t.tagHole).code:t.tag,r=this.lowerAttributes(t.attributes),{slots:o,rest:s}=this.partitionSlots(t.children);for(let[l,c]of o){let p=c.length===1?c[0]:{kind:"fragment",children:c},d={name:l,kind:"attr",expr:this.emit(p),jsxElement:!0},f=r.findIndex(x=>x.name===l);f>=0?r[f]=d:r.push(d)}let i=t.attributes.find(l=>l.kind==="LoadDirective"),a=i?Ee(`load:${i.strategy}`,i.modifier):void 0;return{kind:"component",name:n,props:r,children:this.lowerChildren(s),...a?{load:a}:{}}}partitionSlots(t){let n=new Map,r=[];for(let o of t){if(o.kind==="Element"||o.kind==="Component"){let s=o.attributes.find(i=>i.kind==="Attribute"&&i.name==="slot");if(s&&s.value&&s.value.kind==="static"){let i={...o,attributes:o.attributes.filter(c=>c!==s)},a=i.kind==="Element"?this.lowerElement(i):this.lowerComponent(i),l=n.get(s.value.value)??[];l.push(a),n.set(s.value.value,l);continue}}r.push(o)}return{slots:n,rest:r}}lowerIf(t,n,r){let o=this.hole(n),s=[{name:"when",kind:"attr",expr:o.code,reactive:o.reactive}];if(r){let a=this.stripAndLower(r,l=>l.kind==="ElseDirective");s.push({name:"fallback",kind:"attr",expr:this.emit(a),jsxElement:!0})}let i=this.stripAndLower(t,a=>a.kind==="IfDirective");return{kind:"component",name:"Show",props:s,children:[i]}}lowerEach(t){let n=t.attributes.find(l=>l.kind==="EachDirective");if(!n||n.kind!=="EachDirective")return this.lowerNode(t);let r=this.hole(n.hole),o=[{name:"each",kind:"attr",expr:r.code,reactive:r.reactive}];if(n.key){let l="static"in n.key?`(item) => item[${JSON.stringify(n.key.static)}]`:this.hole(n.key.hole).code;o.push({name:"by",kind:"attr",expr:l})}let s=this.itemArrow(t),i;if(s){let l={kind:"expr",code:s.body,reactive:s.bodyReactive},c=this.rebuildWithChildren(t,[l]);i=`(${s.params.join(", ")}) => (${this.emit(c)})`}else{let l=this.stripAndLower(t,c=>c.kind==="EachDirective");i=`() => (${this.emit(l)})`}return{kind:"component",name:"For",props:o,children:[{kind:"expr",code:i,reactive:!1}]}}itemArrow(t){let n=t.children.filter(r=>!this.isBlankText(r));return n.length!==1||n[0].kind!=="Expression"?null:this.hole(n[0].hole).arrow??null}stripAndLower(t,n){let r={...t,attributes:t.attributes.filter(o=>!n(o))};return r.kind==="Element"?this.lowerElement(r):this.lowerComponent(r)}rebuildWithChildren(t,n){let r=this.lowerAttributes(t.attributes.filter(o=>o.kind!=="EachDirective"));return t.kind==="Element"?{kind:"element",tag:t.tag,svg:t.namespace==="svg",props:r,children:n,static:!1}:{kind:"component",name:t.tag,props:r,children:n}}lowerAttributes(t){let n=[],r=[],o=!1,s=[],i=!1,a=[];for(let l of t)switch(l.kind){case"IfDirective":case"EachDirective":case"ElseDirective":break;case"Attribute":n.push(this.plainAttr(l));break;case"PropertyBinding":n.push({name:l.name,kind:"prop",expr:this.hole(l.hole).code,reactive:this.hole(l.hole).reactive});break;case"EventBinding":n.push(this.eventProp(l));break;case"RefBinding":n.push({name:"ref",kind:"ref",expr:this.hole(l.hole).code,reactive:this.hole(l.hole).reactive});break;case"Spread":n.push({name:"",kind:"spread",expr:this.hole(l.hole).code});break;case"ClassDirective":{let c=this.hole(l.hole);r.push(`${JSON.stringify(l.name)}: ${c.code}`),o=o||c.reactive;break}case"StyleDirective":{let c=this.hole(l.hole);s.push(`${JSON.stringify(l.name)}: ${c.code}`),i=i||c.reactive;break}case"BindDirective":n.push(...this.bindProps(l.name,this.hole(l.hole).code));break;case"UseDirective":{let c=l.name??(l.hole!=null?this.hole(l.hole).code:null);if(!c)break;a.push(l.name!=null&&l.hole!=null?`[${c}, () => (${this.hole(l.hole).code})]`:`[${c}]`);break}}return r.length>0&&n.push({name:"classList",kind:"attr",expr:`{ ${r.join(", ")} }`,reactive:o}),s.length>0&&n.push({name:"style",kind:"attr",expr:`{ ${s.join(", ")} }`,reactive:i}),a.length>0&&n.push({name:"use",kind:"attr",expr:`[${a.join(", ")}]`}),n}eventProp(t){let n=t.name.toLowerCase(),r=this.hole(t.hole).code;if(!(t.syntax==="colon"||t.modifiers.length>0))return{name:"on"+Zt(t.name),kind:"event",event:{name:n,delegated:Yt.has(n)},expr:r};let s=this.wrapHandler(r,t.modifiers),i=this.eventOptions(t.modifiers),a=i?`[${s}, ${i}]`:s;return{name:"on:"+n,kind:"attr",expr:a}}wrapHandler(t,n){let r=n.includes("self")?"if (e.target !== e.currentTarget) return; ":"",o=[];return n.includes("prevent")&&o.push("e.preventDefault();"),n.includes("stop")&&o.push("e.stopPropagation();"),!r&&o.length===0?t:`(e) => { ${r}${o.join(" ")} return (${t})(e); }`}eventOptions(t){let n=[];return t.includes("capture")&&n.push("capture: true"),t.includes("once")&&n.push("once: true"),t.includes("passive")&&n.push("passive: true"),n.length?`{ ${n.join(", ")} }`:null}bindProps(t,n){let r=t==="checked",o=r?"change":"input",s=r?"checked":"value";this.used.add("bindPair");let i=`bindPair(${n})`;return[{name:t,kind:"attr",expr:`${i}[0]()`,reactive:!0},{name:"on"+Zt(o),kind:"event",event:{name:o,delegated:Yt.has(o)},expr:`(e) => ${i}[1](e.target.${s})`}]}plainAttr(t){let n=t.value,r=t.name;t.name==="class"?r=n&&n.kind==="hole"&&this.hole(n.hole).object?"classList":"className":t.name==="html"&&(r="innerHTML");let s={name:r,kind:"attr"};if(n==null)return s.literal=!0,s;if(n.kind==="static")return s.literal=n.value,s;if(n.kind==="hole"){let l=this.hole(n.hole);return s.expr=l.code,s.reactive=l.reactive,s}let i=!1,a=n.parts.map(l=>{if("text"in l)return Or(l.text);let c=this.hole(l.hole);return i=i||c.reactive,"${"+c.code+"}"}).join("");return s.expr="`"+a+"`",s.reactive=i,s}}});function Dr(e){return Pr(e,{concise:!0}).code}function jr(e,t,n){let r={code:$e(e,t,n),reactive:ot(e)};if(Me.types.isArrowFunctionExpression(e)&&!Me.types.isBlockStatement(e.body)){let o=e.body;r.arrow={params:e.params.map(s=>Dr(s)),body:$e(o,t,n),bodyReactive:ot(o)}}return Me.types.isObjectExpression(e)&&(r.object=!0),r}function en(e,t,n={}){let r=e.quasi,o=r.expressions.map(s=>jr(s,t,n.onNested));return Te(Lr(r),o,t,n)}function Lr(e){let t=[];return e.quasis.forEach((n,r)=>{let o=n.value.cooked??n.value.raw;if(t.push({kind:"static",text:o,start:n.start??0}),r<e.expressions.length){let s=e.expressions[r];t.push({kind:"hole",index:r,start:s.start??0,end:s.end??0})}}),t}var Me,rt,Pr,tn=b(()=>{"use strict";Me=require("@babel/core"),rt=J(require("@babel/generator"),1);nt();st();Pr=rt.default.default??rt.default});function Ar(e){switch(e.kind){case"event":return"event";case"ref":return"ref";case"spread":return"spread";case"class":case"style":return"class-or-style-directive";case"attr":case"prop":return e.reactive?"reactive-prop":e.expr!==void 0?"expression-prop":void 0;default:return"expression-prop"}}function z(e){let t=[],n=new Map,r=o=>{switch(o.kind){case"text":return!0;case"expr":return!1;case"component":case"control":for(let s of o.children)r(s);return!1;case"fragment":for(let s of o.children)r(s);return!1;case"element":{let s=!0;for(let a of o.children)r(a)||(s=!1);let i;for(let a of o.props)if(i=Ar(a),i)break;return!i&&!s&&(i=Fr(o)),o.static=!i,i?n.set(o,i):t.push(o),o.static}default:return!1}};for(let o of Array.isArray(e)?e:[e])r(o);return{staticElements:t,reasons:n}}function Fr(e){for(let t of e.children){if(t.kind==="expr")return"expression-child";if(t.kind==="component")return"component-child";if(t.kind==="control")return"control-child";if(t.kind==="element"&&!t.static||t.kind==="fragment")return"expression-child"}return"expression-child"}var me=b(()=>{"use strict"});function Oe(e,t=new Set,n={}){let r=en(e,t,n);return z(r),r}var it=b(()=>{"use strict";tn();me()});function G(e){switch(e.kind){case"call":return!0;case"member":return e.property!==Jr;case"compound":return e.parts.some(G);case"opaque":return!1}}var Jr,Pe=b(()=>{"use strict";Jr="children"});function A(e){if(!e)return{kind:"opaque"};if(_r.has(e.type))return{kind:"call"};if(Xr.has(e.type)){let t=e.property;return{kind:"member",property:!(e.computed===!0)&&t?.type==="Identifier"?t.name:null}}return e.type==="ConditionalExpression"?{kind:"compound",parts:[e.test,e.consequent,e.alternate].map(ge)}:e.type==="LogicalExpression"||e.type==="BinaryExpression"?{kind:"compound",parts:[e.left,e.right].map(ge)}:e.type==="TemplateLiteral"?{kind:"compound",parts:e.expressions.map(ge)}:e.type==="ObjectExpression"?{kind:"compound",parts:e.properties.filter(n=>(n.type==="ObjectProperty"||n.type==="Property")&&n.computed!==!0).map(n=>ge(n.value))}:e.type==="ArrayExpression"?{kind:"compound",parts:e.elements.filter(n=>n!=null&&n.type!=="SpreadElement").map(ge)}:{kind:"opaque"}}var _r,Xr,ge,he=b(()=>{"use strict";_r=new Set(["CallExpression","OptionalCallExpression"]),Xr=new Set(["MemberExpression","OptionalMemberExpression"]);ge=e=>A(e)});function ye(e){if(e.type==="StringLiteral"||e.type==="NumericLiteral"||e.type==="BooleanLiteral"||e.type==="Literal"&&(typeof e.value=="string"||typeof e.value=="number"||typeof e.value=="boolean"))return e.value}function Wr(e,t){return e.type==="JSXIdentifier"?{tag:e.name,component:e.name[0]!==e.name[0].toLowerCase()}:e.type==="JSXMemberExpression"?{tag:t.code(e),component:!0}:e.type==="JSXNamespacedName"?{tag:`${e.namespace.name}:${e.name.name}`,component:!1}:{tag:"div",component:!1}}function lt(e){return e.type==="JSXIdentifier"?e.name==="class"?"className":e.name:e.type==="JSXNamespacedName"?`${e.namespace.name}:${e.name.name}`:"unknown"}function Ur(e,t){let n=lt(e.name),r=Hr.test(n),o=r||n.startsWith("on:")||n==="ref",i={name:n,kind:r?"event":"attr"};if(r){let l=n.slice(2).toLowerCase();i.event={name:l,delegated:Vr.has(l)}}let a=e.value;if(a==null)return i.literal=!0,i;if(at(a))return i.literal=ye(a),i;if(a.type==="JSXExpressionContainer"&&a.expression?.type!=="JSXEmptyExpression"){let l=a.expression,c=ye(l);return c!==void 0?(i.literal=c,i):(i.expr=t.code(l),i.reactive=o?!1:on(l),(l.type==="JSXElement"||l.type==="JSXFragment")&&(i.jsxElement=!0),i)}return i.literal=!0,i}function nn(e,t){let n=e.value;return n==null?null:at(n)?JSON.stringify(ye(n)):n.type==="JSXExpressionContainer"&&n.expression?.type!=="JSXEmptyExpression"?t.code(n.expression):null}function zr(e,t){let n=[],r=[];for(let o of e){if(o.type==="JSXSpreadAttribute"){n.push({name:"",kind:"spread",expr:t.code(o.argument)});continue}if(o.type!=="JSXAttribute"||qe(lt(o.name)))continue;let s=o.name.type==="JSXNamespacedName"?o.name.namespace.name:null;if(s==="use"){let i=o.name.name.name;t.used.add(i);let a=nn(o,t);r.push(a!=null?`[${i}, () => (${a})]`:`[${i}]`);continue}if(s==="oncapture"){let i=o.name.name.name.toLowerCase(),a=nn(o,t)??"undefined";n.push({name:"on:"+i,kind:"attr",expr:`[${a}, { capture: true }]`});continue}n.push(Ur(o,t))}return r.length>0&&n.push({name:"use",kind:"attr",expr:`[${r.join(", ")}]`}),n}function rn(e,t){let n=[];for(let r of e)if(r.type==="JSXText"){let o=fe(r.value);o&&n.push({kind:"text",value:o})}else if(r.type==="JSXExpressionContainer"){if(r.expression?.type!=="JSXEmptyExpression"){let o=r.expression;n.push({kind:"expr",code:t.code(o),reactive:on(o)})}}else r.type==="JSXElement"||r.type==="JSXFragment"?n.push(sn(r,t)):r.type==="JSXSpreadChild"&&n.push({kind:"expr",code:t.code(r.expression),reactive:!1});return n}function Gr(e){for(let t of e){if(t.type!=="JSXAttribute")continue;let n=lt(t.name);if(qe(n)){if(t.value&&!at(t.value))throw new V(`'${n}' needs a literal value, not an expression — the strategy is compile-time.`);return Ee(n,t.value?ye(t.value):null)}}}function sn(e,t){if(e.type==="JSXFragment")return{kind:"fragment",children:rn(e.children,t)};let{tag:n,component:r}=Wr(e.openingElement.name,t),o=zr(e.openingElement.attributes,t),s=rn(e.children,t);if(r){let i=Gr(e.openingElement.attributes);return{kind:"component",name:n,props:o,children:s,...i?{load:i}:{}}}return{kind:"element",tag:n,svg:Br.has(n),props:o,children:s,static:!1}}function De(e,t){let n=sn(e,t);return z(n),n}var Br,Hr,Vr,on,at,ct=b(()=>{"use strict";Q();Pe();he();me();et();Br=new Set(["svg","path","circle","rect","line","polygon","polyline","ellipse","g","defs","clipPath","text"]),Hr=/^on[A-Z]/,Vr=new Set(["click","dblclick","input","change","submit","focus","blur","keydown","keyup","keypress","mousedown","mouseup"]),on=e=>G(A(e));at=e=>!!e&&typeof ye(e)=="string"});function an(e){return qr(e,{concise:!0}).code}function Kr(e,t,n){let r=F.types.cloneNode(e,!0),o=F.types.file(F.types.program([F.types.expressionStatement(r)])),s=!1,i=(a,l,c)=>{for(let p of c)t.add(p);a.replaceWith(F.template.expression(l,{placeholderPattern:!1,plugins:["typescript"]})()),a.skip(),s=!0};return(0,F.traverse)(o,{"JSXElement|JSXFragment"(a){let l=a.node,c=ut(l,t,n);n?.(c);let{code:p,imports:d,templates:f}=P.emit(c,{});i(a,ee(p,f),d)},TaggedTemplateExpression(a){let l=a.node.tag;if(!F.types.isIdentifier(l)||l.name!=="html"&&l.name!=="svg")return;let c=Oe(a.node,t,{svg:l.name==="svg",onNested:n});n?.(c);let{code:p,imports:d,templates:f}=P.emit(c,{});i(a,ee(p,f),d)}}),s?o.program.body[0].expression:e}function $e(e,t,n){return an(Kr(e,t,n))}function ot(e){return G(A(e))}function ut(e,t=new Set,n){return De(e,{code:o=>o.type==="JSXMemberExpression"?an(o):$e(o,t,n),used:t})}var F,pt,qr,st=b(()=>{"use strict";F=require("@babel/core"),pt=J(require("@babel/generator"),1);te();it();ct();Pe();he();qr=pt.default.default??pt.default});function dn(e){return t=>{W(t,{resolver:e.componentResolver,modules:{controlFlowModule:e.controlFlowModule,coreModule:e.libModule,routerModule:e.routerModule},strategyFor:n=>n.load}),U(t),je(t,e)}}function Yr(e){let t=[u.types.objectProperty(u.types.identifier("kind"),u.types.stringLiteral(e.kind))];return e.kind==="visible"&&e.rootMargin&&t.push(u.types.objectProperty(u.types.identifier("rootMargin"),u.types.stringLiteral(e.rootMargin))),e.kind==="interaction"&&t.push(u.types.objectProperty(u.types.identifier("events"),u.types.arrayExpression(e.events.map(n=>u.types.stringLiteral(n))))),e.kind==="media"&&t.push(u.types.objectProperty(u.types.identifier("query"),u.types.stringLiteral(e.query))),u.types.objectExpression(t)}function fn(e,t,n){if(!t||t.length===0)return e;let r=new Map;for(let o of t){let s=`${o.svg?"svg:":""}${o.html}`,i=n.staticTemplates.get(s);i||(i=`_tmpl$${n.staticTemplates.size}`,n.staticTemplates.set(s,i)),r.set(o.id,i)}return e.replace(/_tmpl\$\d+/g,o=>r.get(o)??o)}function pn(e,t){let n=new Set,r=ut(e,n,dn(t));W(r,{resolver:t.componentResolver,modules:{controlFlowModule:t.controlFlowModule,coreModule:t.libModule,routerModule:t.routerModule},strategyFor:l=>l.load}),U(r);let{code:o,imports:s,templates:i}=P.emit(r,{templateClone:t.templateClone,partialTemplates:t.partialTemplates});for(let l of s)n.add(l);for(let l of n)t.irImports.add(l);je(r,t);let a=fn(o,i,t);return u.template.expression(a,{placeholderPattern:!1,plugins:["typescript"]})()}function Zr(e){let t=new Map,n=[];for(let r of e){let o=r.source.value;if(!r.specifiers.every(a=>u.types.isImportSpecifier(a))){n.push(r);continue}let i=t.get(o);if(!i){let a=new Set(r.specifiers.map(l=>l.local.name));t.set(o,{decl:r,names:a}),n.push(r);continue}for(let a of r.specifiers)i.names.has(a.local.name)||(i.names.add(a.local.name),i.decl.specifiers.push(a))}return n}function Qr(e,t){let n=new Set,r=u.types.isIdentifier(e.tag)&&e.tag.name==="svg",o=Oe(e,n,{svg:r,onNested:dn(t)});W(o,{resolver:t.componentResolver,modules:{controlFlowModule:t.controlFlowModule,coreModule:t.libModule,routerModule:t.routerModule},strategyFor:c=>c.load}),U(o);let{code:s,imports:i,templates:a}=P.emit(o,{templateClone:t.templateClone,partialTemplates:t.partialTemplates});for(let c of i)n.add(c);for(let c of n)t.irImports.add(c);je(o,t),t.hasLitIR=!0;let l=u.template.expression(fn(s,a,t),{placeholderPattern:!1,plugins:["typescript"]})();return eo(l,e),l}function eo(e,t){if(!t.loc)return;let n=new Set,r=o=>{if(!n.has(o)){n.add(o),o.loc||(o.loc=t.loc,o.start=t.start,o.end=t.end);for(let s of u.types.VISITOR_KEYS[o.type]??[]){let i=o[s];if(Array.isArray(i))for(let a of i)a&&typeof a=="object"&&"type"in a&&r(a);else i&&typeof i=="object"&&"type"in i&&r(i)}}};r(e)}function je(e,t){if(e.kind==="component"&&e.source&&(e.source.origin==="builtin"?(t.controlFlowComponents.add(e.name),t.needsControlFlowImport=!0):Z(e.source.loading)&&!t.resolvedComponents.has(e.name)?t.deferredComponents.set(e.name,{module:e.source.module,export:e.source.export,strategy:e.source.loading}):(t.deferredComponents.delete(e.name),t.resolvedComponents.set(e.name,{module:e.source.module,export:e.source.export}))),(e.kind==="element"||e.kind==="component"||e.kind==="control")&&"props"in e)for(let n of e.props)n.kind==="event"&&n.event?.delegated&&t.delegatedEvents.add(n.event.name);if("children"in e&&e.children)for(let n of e.children)je(n,t)}var un,u,ln,cn,ne,dt=b(()=>{"use strict";un=require("@babel/helper-plugin-utils");se();ce();ke();Q();ae();u=require("@babel/core");st();it();te();ln=new Set(K),cn=new Set(B),ne=(0,un.declare)((e,t={})=>{e.assertVersion(7);let{delegateEvents:n=!0,signalModule:r="@fluixi/dom",controlFlowModule:o="@fluixi/dom",routerModule:s="@fluixi/core/router-next",reactiveModule:i="@fluixi/reactive/signal",templateClone:a=!0,partialTemplates:l=!0,format:c="both",litTag:p="html",resolve:d=[]}=t,f=X(d),x=c==="lit"||c==="both",y={irImports:new Set,libModule:"@fluixi/core",controlFlowModule:o,routerModule:s,templateClone:a,partialTemplates:l,hasJSX:!1,hasLitHTML:!1,needsControlFlowImport:!1,needsCreateMemo:!1,controlFlowComponents:new Set,resolvedComponents:new Map,deferredComponents:new Map,componentResolver:f,delegatedEvents:new Set,staticTemplates:new Map,staticCounter:0};return{name:"@fluixi/babel-plugin-jsx",manipulateOptions(g,h){h.plugins.push("jsx","typescript")},pre(g){Object.assign(g,y)},visitor:{ImportDeclaration(g,h){g.node.source.value==="@fluixi/core/rx"&&(g.node.source=u.types.stringLiteral("@fluixi/reactive"))},Program:{enter(g,h){Object.assign(h,{hasJSX:!1,hasLitHTML:!1,hasLitIR:!1,needsControlFlowImport:!1,needsCreateMemo:!1,controlFlowComponents:new Set,resolvedComponents:new Map,deferredComponents:new Map,componentResolver:f,delegatedEvents:new Set,staticTemplates:new Map,staticCounter:0,libModule:"@fluixi/core",controlFlowModule:o,routerModule:s,templateClone:a,partialTemplates:l,irImports:new Set,needsCreateNativeElement:!1,needsInsert:!1,needsSpread:!1,needsCreateComponent:!1,needsMergeProps:!1})},exit(g,h){let E=[];if(h.hasJSX||h.hasLitIR){if(h.irImports.size>0){let R=new Set(["Show","For","Index","Switch","Match","Dynamic","ErrorBoundary","Portal","Suspense"]),S=new Set(["createMemo","createEffect","createRenderEffect","createRoot","createSignal","onCleanup","batch","untrack"]),I=Array.from(h.irImports),T=N=>u.types.importSpecifier(u.types.identifier(N),u.types.identifier(N)),v=N=>!g.scope.hasBinding(N),w=I.filter(N=>S.has(N)&&v(N)),k=I.filter(N=>!R.has(N)&&!S.has(N)&&v(N)),m=I.filter(N=>R.has(N)&&v(N));w.length>0&&E.push(u.types.importDeclaration(w.map(T),u.types.stringLiteral(i))),k.length>0&&E.push(u.types.importDeclaration(k.map(T),u.types.stringLiteral(r))),m.length>0&&E.push(u.types.importDeclaration(m.map(T),u.types.stringLiteral(o)))}if(h.needsCreateMemo&&!g.scope.hasBinding("createMemo")&&E.push(u.types.importDeclaration([u.types.importSpecifier(u.types.identifier("createMemo"),u.types.identifier("createMemo"))],u.types.stringLiteral(i))),h.needsControlFlowImport&&h.controlFlowComponents.size>0){let R=Array.from(h.controlFlowComponents).filter(k=>!g.scope.hasBinding(k)),S=h.libModule??"@fluixi/core",I=R.filter(k=>cn.has(k)),T=R.filter(k=>ln.has(k)),v=R.filter(k=>!ln.has(k)&&!cn.has(k)),w=(k,m)=>u.types.importDeclaration(k.map(N=>u.types.importSpecifier(u.types.identifier(N),u.types.identifier(N))),u.types.stringLiteral(m));v.length>0&&E.push(w(v,o)),T.length>0&&E.push(w(T,S)),I.length>0&&E.push(w(I,s))}let C=[];if(h.deferredComponents.size>0){for(let[R,S]of h.deferredComponents)g.scope.hasBinding(R)||C.push(u.types.variableDeclaration("const",[u.types.variableDeclarator(u.types.identifier(R),u.types.callExpression(u.types.identifier("deferred"),[u.types.arrowFunctionExpression([],u.types.callExpression(u.types.import(),[u.types.stringLiteral(S.module)])),u.types.objectExpression([u.types.objectProperty(u.types.identifier("strategy"),Yr(S.strategy)),u.types.objectProperty(u.types.identifier("export"),u.types.stringLiteral(S.export))])]))]));C.length>0&&!g.scope.hasBinding("deferred")&&E.push(u.types.importDeclaration([u.types.importSpecifier(u.types.identifier("deferred"),u.types.identifier("deferred"))],u.types.stringLiteral(h.libModule??"@fluixi/core")))}if(h.resolvedComponents.size>0){let R=new Map;for(let[S,I]of h.resolvedComponents){if(g.scope.hasBinding(S))continue;let T=R.get(I.module)??[];T.push({local:S,exported:I.export}),R.set(I.module,T)}for(let[S,I]of R)E.push(u.types.importDeclaration(I.map(({local:T,exported:v})=>v==="default"?u.types.importDefaultSpecifier(u.types.identifier(T)):u.types.importSpecifier(u.types.identifier(T),u.types.identifier(v))),u.types.stringLiteral(S)))}if(n&&h.delegatedEvents.size>0){E.push(u.types.importDeclaration([u.types.importSpecifier(u.types.identifier("delegateEvents"),u.types.identifier("delegateEvents"))],u.types.stringLiteral(r)));let R=u.types.arrayExpression(Array.from(h.delegatedEvents).map(I=>u.types.stringLiteral(I))),S=u.types.expressionStatement(u.types.callExpression(u.types.identifier("delegateEvents"),[R]));g.node.body.unshift(S)}if(C.length>0&&g.node.body.unshift(...C),h.staticTemplates.size>0){let R=[];for(let[S,I]of h.staticTemplates){let v=S.startsWith("svg:")?S.slice(4):S;R.push(u.types.variableDeclaration("const",[u.types.variableDeclarator(u.types.identifier(I),u.types.stringLiteral(v))]))}g.node.body.unshift(...R)}}E.length>0&&g.node.body.unshift(...Zr(E))}},JSXElement(g,h){h.hasJSX=!0,g.replaceWith(pn(g.node,h))},JSXFragment(g,h){h.hasJSX=!0,g.replaceWith(pn(g.node,h))},TaggedTemplateExpression(g,h){x&&u.types.isIdentifier(g.node.tag)&&(g.node.tag.name===p||g.node.tag.name==="svg")&&g.replaceWith(Qr(g.node,h))}}}})});var mn=b(()=>{"use strict"});var gn={};oe(gn,{babelPluginReactiveJSX:()=>to,createPlugin:()=>no,createPreset:()=>Le,default:()=>ne,presets:()=>ro});function no(e){return[ne,e]}function Le(e={}){return{plugins:[[ne,{runtime:"automatic",importSource:"@fluixi/jsx",development:!1,detectReactivity:!0,useLitHTML:!0,hoistStatics:!0,delegateEvents:!0,optimizeControlFlow:!0,sourceMaps:!0,...e}]]}}var to,ro,hn=b(()=>{"use strict";dt();mn();dt();to=ne;ro={production:Le({development:!1,hoistStatics:!0,delegateEvents:!0,optimizeControlFlow:!0}),development:Le({development:!0,hoistStatics:!1,sourceMaps:!0}),minimal:Le({detectReactivity:!1,useLitHTML:!1,hoistStatics:!1,delegateEvents:!1,optimizeControlFlow:!1})}});function yn(e,t,n={}){let r=new Set,o=Te(e,[...t],r,{svg:n.svg});z(o),W(o,{resolver:X(n.resolve??[]),modules:{controlFlowModule:n.controlFlowModule??"@fluixi/dom",coreModule:n.coreModule??"@fluixi/core",routerModule:n.routerModule??"@fluixi/core/router-next"},strategyFor:l=>l.load}),U(o);let{code:s,imports:i,templates:a}=P.emit(o,{templateClone:n.templateClone,partialTemplates:n.partialTemplates});for(let l of i)r.add(l);return n.hoistTemplates?{code:s,imports:[...r],ir:o,templates:a}:{code:ee(s,a),imports:[...r],ir:o}}var vn=b(()=>{"use strict";me();ke();te();ce();se();nt()});function q(e,t){if(e)switch(e.type){case"Identifier":t.add(e.name);return;case"ObjectPattern":for(let n of e.properties)n.type==="RestElement"?q(n.argument,t):q(n.value,t);return;case"ArrayPattern":for(let n of e.elements)q(n,t);return;case"AssignmentPattern":q(e.left,t);return;case"RestElement":q(e.argument,t);return}}function xn(e,t){switch(e.type){case"ImportDeclaration":for(let n of e.specifiers)q(n.local,t);return;case"VariableDeclaration":for(let n of e.declarations)q(n.id,t);return;case"FunctionDeclaration":case"ClassDeclaration":q(e.id,t);return;case"ExportNamedDeclaration":case"ExportDefaultDeclaration":e.declaration&&xn(e.declaration,t);return}}function re(e){let t=new Set;for(let n of e.body)xn(n,t);return t}var Ae=b(()=>{"use strict"});function j(e,t){if(e)switch(e.type){case"Identifier":t.add(e.name);return;case"ObjectPattern":for(let n of e.properties)n.type==="RestElement"?j(n.argument,t):j(n.value,t);return;case"ArrayPattern":for(let n of e.elements)j(n,t);return;case"AssignmentPattern":j(e.left,t);return;case"RestElement":j(e.argument,t);return}}function ft(e){switch(e.type){case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":case"NullLiteral":case"BigIntLiteral":case"RegExpLiteral":case"Identifier":return!0;case"Literal":return!0;case"TemplateLiteral":return e.expressions.every(ft);case"UnaryExpression":return ft(e.argument);case"MemberExpression":return!1;default:return!1}}function Fe(e,t){if(!(!e||typeof e!="object")){t(e);for(let n of Object.keys(e)){if(n==="loc"||n==="range"||n==="leadingComments"||n==="trailingComments")continue;let r=e[n];if(Array.isArray(r))for(let o of r)o&&typeof o=="object"&&Fe(o,t);else r&&typeof r=="object"&&typeof r.type=="string"&&Fe(r,t)}}}function oo(e){let t=new Set;return Fe(e,n=>{if(n.type==="AssignmentExpression")j(n.left,t);else if(n.type==="UpdateExpression"){let r=n.argument;r?.type==="Identifier"&&t.add(r.name)}}),t}function so(e,t){let n=new Set,r=o=>{let s=new Set;j(o,s);for(let i of s)t.has(i)&&n.add(i)};return Fe(e,o=>{switch(o.type){case"VariableDeclarator":r(o.id);return;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":r(o.id);for(let s of o.params??[])r(s);return;case"CatchClause":r(o.param);return;case"ClassDeclaration":case"ClassExpression":r(o.id);return}}),n}function bn(e,t,n){for(let r of e.properties??[]){if(r.type==="RestElement"){let p=r.argument;if(p?.type!=="Identifier"||t.length>0){let d=new Set;j(p,d);for(let f of d)n.bails.push({name:f,reason:"rest"});continue}n.rest={name:p.name,keys:[]};continue}if(r.computed){let p=new Set;j(r.value,p);for(let d of p)n.bails.push({name:d,reason:"computed"});continue}let o=r.key,s=o.type==="Identifier"?o.name:o.value,i=r.value,a;i.type==="AssignmentPattern"&&(a=i.right,i=i.left);let l=[...t,s];if(i.type==="Identifier"){if(a&&!ft(a)){n.bails.push({name:i.name,reason:"unsafe-default"});continue}n.reads.push({name:i.name,path:l,...a?{fallback:a}:{}});continue}if(i.type==="ObjectPattern"){if(a){let p=new Set;j(i,p);for(let d of p)n.bails.push({name:d,reason:"unsafe-default"});continue}bn(i,l,n);continue}let c=new Set;j(i,c);for(let p of c)n.bails.push({name:p,reason:"computed"})}}function Je(e,t){let n={reads:[],bails:[]};if(e?.type!=="ObjectPattern"||(bn(e,[],n),n.rest&&(t?.type!=="BlockStatement"?(n.bails.push({name:n.rest.name,reason:"rest"}),delete n.rest):n.rest.keys=(e.properties??[]).filter(a=>a.type!=="RestElement"&&!a.computed).map(a=>{let l=a.key;return l.type==="Identifier"?l.name:l.value})),n.reads.length===0&&!n.rest))return n;let r=new Set(n.reads.map(a=>a.name));n.rest&&r.add(n.rest.name);let o=oo(t),s=so(t,r),i=[];for(let a of n.reads)o.has(a.name)?n.bails.push({name:a.name,reason:"reassigned"}):s.has(a.name)?n.bails.push({name:a.name,reason:"shadowed"}):i.push(a);return n.reads=i,n.rest&&o.has(n.rest.name)?(n.bails.push({name:n.rest.name,reason:"reassigned"}),delete n.rest):n.rest&&s.has(n.rest.name)&&(n.bails.push({name:n.rest.name,reason:"shadowed"}),delete n.rest),n}function _e(e){switch(e){case"rest":return"this rest element cannot be served by splitProps, and copying the props into a plain object would lose the getters";case"computed":return"the property is not known until it runs";case"reassigned":return"the binding is assigned to, and props are read-only";case"shadowed":return"an inner scope binds the same name";case"unsafe-default":return"the default would have to run again on every read"}}var mt=b(()=>{"use strict"});function ve(e,t,n=null){if(!(!e||typeof e!="object"||typeof e.type!="string")&&!e.type.startsWith("TS")&&t(e,n)!==!1)for(let r of Object.keys(e)){if(r==="loc"||r==="leadingComments"||r==="trailingComments")continue;let o=e[r];if(Array.isArray(o))for(let s of o)ve(s,t,e);else o&&typeof o=="object"&&ve(o,t,e)}}function Nn(e){return!!e&&e[0]>="A"&&e[0]<="Z"}function io(e){let t=[];return ve(e,n=>{if(n.type==="FunctionDeclaration"&&Nn(n.id?.name)){t.push(n);return}if(n.type==="VariableDeclarator"&&Nn(n.id?.name)){let r=n.init;r&&(r.type==="ArrowFunctionExpression"||r.type==="FunctionExpression")&&t.push(r)}}),t}function ao(e){let t=new Set;return ve(e,n=>{n.type==="Identifier"&&t.add(n.name)}),t}function lo(e,t){if(!t)return!0;switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return!(t.property===e&&!t.computed);case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":return!(t.key===e&&!t.computed);case"LabeledStatement":case"BreakStatement":case"ContinueStatement":return t.label!==e;case"ImportSpecifier":case"ExportSpecifier":return!1;default:return!0}}function gt(e,t,n={}){let r=[],o=[],s=new Set;for(let i of io(e)){let a=i.params?.[0];if(a?.type!=="ObjectPattern")continue;let l=Je(a,i.body);for(let y of l.bails)o.push({name:y.name,reason:y.reason,message:_e(y.reason),start:a.start});if(l.bails.length>0||l.reads.length===0&&!l.rest)continue;let c=ao(i),p=n.parameterName??"props";for(;c.has(p);)p=`_${p}`;let d=new Map;for(let y of l.reads){let g=`${p}.${y.path.join(".")}`,h=y.fallback;d.set(y.name,h?`(${g} === undefined ? ${t.slice(h.start,h.end)} : ${g})`:g)}let f=a.typeAnnotation;if(r.push({start:a.start,end:f?.start??a.end,code:p}),l.rest){let y=l.rest.keys.map(h=>JSON.stringify(h)).join(", "),g=i.body;r.push({start:g.start+1,end:g.start+1,code:`
2
+ const [, ${l.rest.name}] = splitProps(${p}, [${y}]);`}),s.add("splitProps")}let x=[];ve(i.body,(y,g)=>{if(y.type!=="Identifier")return;let h=d.get(y.name);if(!h)return;let E=g?.type==="ObjectProperty"&&g.shorthand&&g.value===y;if(!E&&!lo(y,g))return;let C=l.reads.find(R=>R.name===y.name).path;x.push({node:y,parent:E?g:null,text:h,property:C[C.length-1]})});for(let y of x)y.parent?r.push({start:y.parent.start,end:y.parent.end,code:`${y.node.name}: ${y.text}`}):r.push({start:y.node.start,end:y.node.end,code:y.text}),co(y.node,p,y.property)}return{edits:r,diagnostics:o,used:s}}function co(e,t,n){e.type="MemberExpression",e.computed=!1,e.optional=!1,e.object={type:"Identifier",name:t,start:e.start,end:e.start},e.property={type:"Identifier",name:n,start:e.end,end:e.end},delete e.name}function En(e,t="module.tsx",n={}){let r=(0,Sn.parse)(e,{sourceType:"module",plugins:["typescript","jsx"],errorRecovery:!0}),{edits:o,diagnostics:s,used:i}=gt(r.program,e,n),a=new Rn.default(e);for(let l of o)l.start===l.end?a.appendLeft(l.start,l.code):a.overwrite(l.start,l.end,l.code);return i.has("splitProps")&&!re(r.program).has("splitProps")&&a.prepend(`import { splitProps } from ${JSON.stringify(n.runtimeModule??"@fluixi/dom")};
3
+ `),{code:a.toString(),map:a.generateMap({source:t,includeContent:!0,hires:!0}),diagnostics:s,rewritten:o.filter(l=>l.code!==(n.parameterName??"props")).length}}var Sn,Rn,ht=b(()=>{"use strict";Sn=require("@babel/parser"),Rn=J(require("magic-string"),1);mt();Ae()});function M(e,t){if(e)switch(e.type){case"Identifier":t.add(e.name);return;case"ObjectPattern":for(let n of e.properties??[])n.type==="RestElement"?M(n.argument,t):M(n.value,t);return;case"ArrayPattern":for(let n of e.elements??[])M(n,t);return;case"AssignmentPattern":M(e.left,t);return;case"RestElement":M(e.argument,t);return}}function xe(e,t){if(!(!e||typeof e!="object"||typeof e.type!="string")){t(e);for(let n of Object.keys(e)){if(n==="loc"||n==="leadingComments"||n==="trailingComments")continue;let r=e[n];if(Array.isArray(r))for(let o of r)xe(o,t);else r&&typeof r=="object"&&xe(r,t)}}}function po(e,t){if(e.type!=="CallExpression")return;let n=e.callee;if(n?.type!=="Identifier")return;let r=n.name,o=t.primitives.get(r);if(o)return o;let s=L[r];if(s&&!t.shadowed.has(r))return s.returns}function uo(e,t,n){if(Array.isArray(t)){e.type==="ArrayPattern"&&e.elements.forEach((r,o)=>{let s=t[o];r?.type==="Identifier"&&s&&n.set(r.name,s)});return}e.type==="Identifier"&&n.set(e.name,t)}function wn(e){let t=new Set;return xe(e,n=>{switch(n.type){case"VariableDeclarator":M(n.id,t);return;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":M(n.id,t);for(let r of n.params??[])M(r,t);return;case"ClassDeclaration":case"ClassExpression":M(n.id,t);return;case"ImportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":M(n.local,t);return;case"CatchClause":M(n.param,t);return}}),t}function kn(e){let t={kinds:new Map,primitives:new Map,shadowed:new Set},n=e;xe(n,r=>{let o=new Set;if(r.type==="VariableDeclarator")M(r.id,o);else if(r.type==="FunctionDeclaration"||r.type==="ClassDeclaration")M(r.id,o);else if(r.type==="ImportDefaultSpecifier"||r.type==="ImportNamespaceSpecifier")M(r.local,o);else if(r.type==="ImportSpecifier")M(r.local,o);else if(r.type==="FunctionExpression"||r.type==="ArrowFunctionExpression"||r.type==="FunctionDeclaration")for(let s of r.params??[])M(s,o);for(let s of o)L[s]&&t.shadowed.add(s)});for(let r of n.body??[])if(r.type==="ImportDeclaration"&&Ot(r.source?.value))for(let o of r.specifiers??[]){if(o.type!=="ImportSpecifier")continue;let s=o.imported,i=s.type==="Identifier"?s.name:s.value,a=Tt[i];a&&t.primitives.set(o.local.name,a)}return xe(n,r=>{if(r.type!=="VariableDeclarator"||!r.init)return;let o=po(r.init,t);o&&uo(r.id,o,t.kinds)}),t}var yt=b(()=>{"use strict";le()});function vt(e,t){if(!(!e||typeof e!="object"||typeof e.type!="string")){t(e);for(let n of Object.keys(e)){if(n==="loc"||n==="leadingComments"||n==="trailingComments")continue;let r=e[n];if(Array.isArray(r))for(let o of r)vt(o,t);else r&&typeof r=="object"&&vt(r,t)}}}function In(e){let t=[],n=[],r=new Map,o=new Set,{shadowed:s}=kn(e);return vt(e,i=>{if(i.type!=="CallExpression")return;let a=i.callee;if(a?.type!=="Identifier")return;let l=a.name;if(!$t(l))return;if(s.has(l)){o.has(l)||(o.add(l),n.push({name:l,message:`${l} is reserved for the compiler, and this module binds it. The call keeps your binding's meaning; rename it to use the intrinsic.`,start:a.start}));return}let c=L[l];t.push({start:a.start,end:a.end,code:c.export});let p=r.get(c.module)??new Set;p.add(c.export),r.set(c.module,p)}),{edits:t,diagnostics:n,imports:r}}function Cn(e,t){let n=[];for(let[r,o]of[...e.imports].sort(([s],[i])=>s.localeCompare(i))){let s=[...o].filter(i=>!t.has(i)).sort();s.length&&n.push(`import { ${s.join(", ")} } from ${JSON.stringify(r)};`)}return n.length?`${n.join(`
4
4
  `)}
5
- `:""}var En=b(()=>{"use strict";se();Nn()});function mt(e,t,n=null,r=""){if(!(!e||typeof e!="object")){if(Array.isArray(e)){for(let o of e)mt(o,t,n,r);return}typeof e.type=="string"&&t(e,n,r);for(let o of Object.keys(e))o==="loc"||o==="leadingComments"||o==="trailingComments"||mt(e[o],t,typeof e.type=="string"?e:n,o)}}function po(e,t,n){return ft(e)?!(t&&ft(t)&&n==="children"):!1}function uo(e,t){return e.type==="TaggedTemplateExpression"&&e.tag?.type==="Identifier"&&(e.tag.name===t||e.tag.name==="svg")}function In(e){return e.filter(t=>!e.some(n=>n!==t&&n.start<=t.start&&n.end>=t.end&&n.end-n.start>t.end-t.start))}function Ae(e,t,n,r){let o=In(r.filter(i=>i.start>=t&&i.end<=n)).sort((i,a)=>a.start-i.start),s=e.slice(t,n);for(let i of o)s=s.slice(0,i.start-t)+i.code+s.slice(i.end-t);return s}function mo(e,t,n){let r={code:Ae(e,t.start,t.end,n),reactive:V(j(t))};return t.type==="ArrowFunctionExpression"&&t.body?.type!=="BlockStatement"&&(r.arrow={params:t.params.map(o=>Ae(e,o.start,o.end,n)),body:Ae(e,t.body.start,t.body.end,n),bodyReactive:V(j(t.body))}),t.type==="ObjectExpression"&&(r.object=!0),r}function Cn(e,t,n){if(!t||t.length===0)return e;let r=new Map;for(let o of t){let s=`${o.svg?"svg:":""}${o.html}`,i=n.get(s);i||(i=`_fxTmpl$${n.size}`,n.set(s,i)),r.set(o.id,i)}return e.replace(/_tmpl\$\d+/g,o=>r.get(o)??o)}function gt(e,t){if(e.kind==="component"&&e.source){let n=e.source;n.origin==="builtin"?t.builtins.add(e.name):Y(n.loading)&&!t.resolved.has(e.name)?t.deferred.set(e.name,n):(t.deferred.delete(e.name),t.resolved.set(e.name,n))}if("props"in e&&e.props)for(let n of e.props)n.kind==="event"&&n.event?.delegated&&t.delegatedEvents.add(n.event.name);if("children"in e&&e.children)for(let n of e.children)gt(n,t)}function fo(e){let t=[`kind: ${JSON.stringify(e.kind)}`];return e.kind==="visible"&&e.rootMargin&&t.push(`rootMargin: ${JSON.stringify(e.rootMargin)}`),e.kind==="interaction"&&t.push(`events: ${JSON.stringify(e.events)}`),e.kind==="media"&&t.push(`query: ${JSON.stringify(e.query)}`),`{ ${t.join(", ")} }`}function go(e){let t=[];return e.quasi.quasis.forEach((n,r)=>{if(t.push({kind:"static",text:n.value.cooked??n.value.raw,start:n.start}),r<e.quasi.expressions.length){let o=e.quasi.expressions[r];t.push({kind:"hole",index:r,start:o.start,end:o.end})}}),t}function Tn(e,t,n={}){let r=n.litTag??"html",o=n.format??"both",s=o!=="jsx",i=o!=="lit",a=s&&(e.includes(`${r}\``)||e.includes("svg`")),l=n.intrinsics!==!1&&wt(e);if(!a&&!(i&&e.includes("<"))&&!l)return null;let c=(0,wn.parse)(e,{sourceType:"module",plugins:["jsx","typescript"],errorRecovery:!0}),p=[];mt(c.program,(g,y,E)=>{(s&&uo(g,r)||i&&po(g,y,E))&&p.push(g)});let m=n.propsDestructure?pt(c.program,e,{runtimeModule:n.runtimeModule}):{edits:[],diagnostics:[],used:new Set},d=n.intrinsics===!1?{edits:[],diagnostics:[],imports:new Map}:Sn(c.program);if(p.length===0&&m.edits.length===0&&d.edits.length===0&&d.diagnostics.length===0&&m.diagnostics.length===0)return null;p.sort((g,y)=>y.start-g.start||g.end-y.end);let v=new Set(m.used),f={builtins:new Set,resolved:new Map,deferred:new Map,delegatedEvents:new Set},h=new Map,R=[...m.edits,...d.edits];for(let g of p){let y=p.some(T=>T!==g&&T.start<=g.start&&T.end>=g.end&&T.end-T.start>g.end-g.start);if(ft(g)){R.push({start:g.start,end:g.end,code:ho(e,g,R,y,v,f,h,n)});continue}let E=g.quasi.expressions.map(T=>mo(e,T,R)),w=dn(go(g),E,{...n,hoistTemplates:!0,templateClone:n.templateClone??!0,partialTemplates:y?!1:n.partialTemplates??!0,svg:g.tag.name==="svg"});for(let T of w.imports)v.add(T);gt(w.ir,f),R.push({start:g.start,end:g.end,code:Cn(w.code,w.templates,h)})}let I=new kn.default(e);for(let g of In(R))g.start===g.end?I.appendLeft(g.start,g.code):I.overwrite(g.start,g.end,g.code);let S=ee(c.program),N=yo(v,f,h,S,n);N&&I.prepend(N);let k=Rn(d,S);k&&I.prepend(k);for(let g of c.program.body)g.type==="ImportDeclaration"&&g.source?.value==="@fluixi/core/rx"&&I.overwrite(g.source.start,g.source.end,JSON.stringify("@fluixi/reactive"));return{code:I.toString(),map:I.generateMap({source:t,includeContent:!0,hires:!0}),...m.diagnostics.length?{propsDiagnostics:m.diagnostics}:{},...d.diagnostics.length?{intrinsicDiagnostics:d.diagnostics}:{}}}function ho(e,t,n,r,o,s,i,a){let l=Te(t,{code:p=>Ae(e,p.start,p.end,n),used:o});W(l),B(l,{resolver:F(a.resolve??[]),modules:{controlFlowModule:a.controlFlowModule??a.runtimeModule??"@fluixi/dom",coreModule:a.coreModule??"@fluixi/core",routerModule:a.routerModule??"@fluixi/core/router-next"},strategyFor:p=>p.load}),H(l);let c=$.emit(l,{templateClone:a.templateClone??!0,partialTemplates:r?!1:a.partialTemplates??!0});for(let p of c.imports)o.add(p);return gt(l,s),Cn(c.code,c.templates,i)}function yo(e,t,n,r,o){let s=o.runtimeModule??"@fluixi/dom",i=o.coreModule??"@fluixi/core",a=new Map,l=(d,x)=>a.set(d,[...a.get(d)??[],x]),c=new Set(e);for(let d of t.builtins)c.add(d);t.delegatedEvents.size>0&&c.add("delegateEvents");for(let d of[...c].sort())r.has(d)||(co.has(d)?l(o.reactiveModule??"@fluixi/reactive/signal",d):lo.has(d)?l(o.routerModule??"@fluixi/core/router-next",d):ao.has(d)?l(i,d):io.has(d)?l(o.controlFlowModule??s,d):l(s,d));for(let[d,x]of t.resolved)r.has(d)||l(x.module,x.export==="default"?`default as ${d}`:d===x.export?d:`${x.export} as ${d}`);let p=[];for(let[d,x]of a)p.push(`import { ${x.join(", ")} } from ${JSON.stringify(d)};`);let m=[...t.deferred].filter(([d])=>!r.has(d));if(m.length>0){r.has("deferred")||p.push(`import { deferred } from ${JSON.stringify(i)};`);for(let[d,x]of m)p.push(`const ${d} = deferred(() => import(${JSON.stringify(x.module)}), { strategy: ${fo(x.loading)}, export: ${JSON.stringify(x.export)} });`)}for(let[d,x]of n)p.push(`const ${x} = ${JSON.stringify(d.startsWith("svg:")?d.slice(4):d)};`);return t.delegatedEvents.size>0&&p.push(`delegateEvents(${JSON.stringify([...t.delegatedEvents])});`),p.length>0?p.join(`
5
+ `:""}var Tn=b(()=>{"use strict";le();yt()});function Be(e,t,n=null,r=""){if(!(!e||typeof e!="object")){if(Array.isArray(e)){for(let o of e)Be(o,t,n,r);return}typeof e.type=="string"&&t(e,n,r);for(let o of Object.keys(e))o==="loc"||o==="leadingComments"||o==="trailingComments"||Be(e[o],t,typeof e.type=="string"?e:n,o)}}function yo(e,t,n){return xt(e)?!(t&&xt(t)&&n==="children"):!1}function vo(e,t){return e.type==="TaggedTemplateExpression"&&e.tag?.type==="Identifier"&&(e.tag.name===t||e.tag.name==="svg")}function On(e){return e.filter(t=>!e.some(n=>n!==t&&n.start<=t.start&&n.end>=t.end&&n.end-n.start>t.end-t.start))}function Xe(e,t,n,r){let o=On(r.filter(i=>i.start>=t&&i.end<=n)).sort((i,a)=>a.start-i.start),s=e.slice(t,n);for(let i of o)s=s.slice(0,i.start-t)+i.code+s.slice(i.end-t);return s}function xo(e,t,n){let r={code:Xe(e,t.start,t.end,n),reactive:G(A(t))};return t.type==="ArrowFunctionExpression"&&t.body?.type!=="BlockStatement"&&(r.arrow={params:t.params.map(o=>Xe(e,o.start,o.end,n)),body:Xe(e,t.body.start,t.body.end,n),bodyReactive:G(A(t.body))}),t.type==="ObjectExpression"&&(r.object=!0),r}function Pn(e,t,n){if(!t||t.length===0)return e;let r=new Map;for(let o of t){let s=`${o.svg?"svg:":""}${o.html}`,i=n.get(s);i||(i=`_fxTmpl$${n.size}`,n.set(s,i)),r.set(o.id,i)}return e.replace(/_tmpl\$\d+/g,o=>r.get(o)??o)}function bt(e,t){if(e.kind==="component"&&e.load&&!e.source&&Z(e.load)&&(t.ignoredLoad.has(e.name)||t.ignoredLoad.set(e.name,e.load)),e.kind==="component"&&e.source){let n=e.source;n.origin==="builtin"?t.builtins.add(e.name):Z(n.loading)&&!t.resolved.has(e.name)?t.deferred.set(e.name,n):(t.deferred.delete(e.name),t.resolved.set(e.name,n))}if("props"in e&&e.props)for(let n of e.props)n.kind==="event"&&n.event?.delegated&&t.delegatedEvents.add(n.event.name);if("children"in e&&e.children)for(let n of e.children)bt(n,t)}function bo(e,t){for(let n of e.body??[])if(n.type==="ImportDeclaration")for(let r of n.specifiers??[]){if(r.local?.name!==t)continue;if(r.type==="ImportNamespaceSpecifier")return;let o=r.type==="ImportDefaultSpecifier"?"default":r.imported?.name??r.imported?.value;return{module:n.source.value,export:o,declaration:n,specifier:r}}}function No(e,t){for(let n of e.body??[])if(n.type==="ImportDeclaration"){for(let r of n.specifiers??[])if(r.type==="ImportNamespaceSpecifier"&&r.local?.name===t)return!0}return!1}function So(e,t,n){let r=!1;return Be(e,o=>{r||o.type!=="Identifier"||o.name!==t||o.start===n.local?.start&&o.end===n.local?.end||(r=!0)}),r}function Ro(e){let t=[`kind: ${JSON.stringify(e.kind)}`];return e.kind==="visible"&&e.rootMargin&&t.push(`rootMargin: ${JSON.stringify(e.rootMargin)}`),e.kind==="interaction"&&t.push(`events: ${JSON.stringify(e.events)}`),e.kind==="media"&&t.push(`query: ${JSON.stringify(e.query)}`),`{ ${t.join(", ")} }`}function Eo(e){let t=[];return e.quasi.quasis.forEach((n,r)=>{if(t.push({kind:"static",text:n.value.cooked??n.value.raw,start:n.start}),r<e.quasi.expressions.length){let o=e.quasi.expressions[r];t.push({kind:"hole",index:r,start:o.start,end:o.end})}}),t}function Dn(e,t,n={}){let r=n.litTag??"html",o=n.format??"both",s=o!=="jsx",i=o!=="lit",a=s&&(e.includes(`${r}\``)||e.includes("svg`")),l=n.intrinsics!==!1&&Mt(e);if(!a&&!(i&&e.includes("<"))&&!l)return null;let c=(0,Mn.parse)(e,{sourceType:"module",plugins:["jsx","typescript"],errorRecovery:!0}),p=[];Be(c.program,(m,N,$)=>{(s&&vo(m,r)||i&&yo(m,N,$))&&p.push(m)});let d=n.propsDestructure===!1?{edits:[],diagnostics:[],used:new Set}:gt(c.program,e,{runtimeModule:n.runtimeModule}),f=n.intrinsics===!1?{edits:[],diagnostics:[],imports:new Map}:In(c.program);if(p.length===0&&d.edits.length===0&&f.edits.length===0&&f.diagnostics.length===0&&d.diagnostics.length===0)return null;p.sort((m,N)=>N.start-m.start||m.end-N.end);let y=new Set(d.used),g={builtins:new Set,resolved:new Map,deferred:new Map,delegatedEvents:new Set,ignoredLoad:new Map,unresolved:new Set,declared:wn(c.program)},h=new Map,E=[...d.edits,...f.edits];for(let m of p){let N=p.some(D=>D!==m&&D.start<=m.start&&D.end>=m.end&&D.end-D.start>m.end-m.start);if(xt(m)){E.push({start:m.start,end:m.end,code:wo(e,m,E,N,y,g,h,n)});continue}let $=m.quasi.expressions.map(D=>xo(e,D,E)),_=yn(Eo(m),$,{...n,hoistTemplates:!0,templateClone:n.templateClone??!0,partialTemplates:N?!1:n.partialTemplates??!0,svg:m.tag.name==="svg"});for(let D of _.imports)y.add(D);bt(_.ir,g),E.push({start:m.start,end:m.end,code:Pn(_.code,_.templates,h)})}let C=new $n.default(e);for(let m of On(E))m.start===m.end?C.appendLeft(m.start,m.code):C.overwrite(m.start,m.end,m.code);let R=re(c.program),S=new Map;for(let[m]of g.ignoredLoad)R.has(m)||S.set(m,"unsupplied");for(let[m,N]of[...g.ignoredLoad]){if(!R.has(m))continue;let $=bo(c.program,m);if(!$){S.set(m,No(c.program,m)?"namespace":"local");continue}if(So(c.program,m,$.specifier)){S.set(m,"value");continue}let _=$.declaration.specifiers.filter(be=>be!==$.specifier),D=_.length===0&&e[$.declaration.end]===`
6
+ `?$.declaration.end+1:$.declaration.end;C.overwrite($.declaration.start,D,_.length===0?"":`import { ${_.map(be=>e.slice(be.start,be.end)).join(", ")} } from ${JSON.stringify($.declaration.source.value)};`),g.deferred.set(m,{module:$.module,export:$.export,origin:"rule",loading:N}),R.delete(m),g.ignoredLoad.delete(m)}let I=ko(y,g,h,R,n);I&&C.prepend(I);let T=Cn(f,R);T&&C.prepend(T);for(let m of c.program.body)m.type==="ImportDeclaration"&&m.source?.value==="@fluixi/core/rx"&&C.overwrite(m.source.start,m.source.end,JSON.stringify("@fluixi/reactive"));let v={value:m=>`${m} is used as a value here, not only as a tag, so its import has to stay — deferring would hand those references a lazy wrapper instead of the component. Defer it at the point it is rendered, or keep it eager.`,namespace:m=>`${m} came in through a namespace import, which has no single export to defer. Import ${m} by name.`,local:m=>`${m} is declared in this file, so there is no module to load separately. Move it to its own file and import it.`,unsupplied:m=>`nothing supplies ${m}, so there is no import to defer. Import it, or add a \`resolve\` rule for it.`},w=[...g.ignoredLoad].map(([m,N])=>({name:m,strategy:N,message:`load:${N.kind} has no effect on <${m}>: ${v[S.get(m)??"unsupplied"](m)}`})),k=[...g.unresolved].map(m=>({name:m,message:`<${m}> is not defined: nothing imports it and no \`resolve\` rule supplies it. This compiles to a reference to a name that does not exist, so the component renders nothing. Import ${m}, or add a \`resolve\` rule for it.`}));return{code:C.toString(),map:C.generateMap({source:t,includeContent:!0,hires:!0}),...w.length?{loadDiagnostics:w}:{},...k.length?{unresolvedDiagnostics:k}:{},...d.diagnostics.length?{propsDiagnostics:d.diagnostics}:{},...f.diagnostics.length?{intrinsicDiagnostics:f.diagnostics}:{}}}function wo(e,t,n,r,o,s,i,a){let l=De(t,{code:d=>Xe(e,d.start,d.end,n),used:o});z(l);let c=W(l,{resolver:X(a.resolve??[]),isBound:d=>s.declared.has(d),modules:{controlFlowModule:a.controlFlowModule??a.runtimeModule??"@fluixi/dom",coreModule:a.coreModule??"@fluixi/core",routerModule:a.routerModule??"@fluixi/core/router-next"},strategyFor:d=>d.load});for(let d of c.unresolved)s.unresolved.add(d);U(l);let p=P.emit(l,{templateClone:a.templateClone??!0,partialTemplates:r?!1:a.partialTemplates??!0});for(let d of p.imports)o.add(d);return bt(l,s),Pn(p.code,p.templates,i)}function ko(e,t,n,r,o){let s=o.runtimeModule??"@fluixi/dom",i=o.coreModule??"@fluixi/core",a=new Map,l=(f,x)=>a.set(f,[...a.get(f)??[],x]),c=new Set(e);for(let f of t.builtins)c.add(f);t.delegatedEvents.size>0&&c.add("delegateEvents");for(let f of[...c].sort())r.has(f)||(ho.has(f)?l(o.reactiveModule??"@fluixi/reactive/signal",f):go.has(f)?l(o.routerModule??"@fluixi/core/router-next",f):mo.has(f)?l(i,f):fo.has(f)?l(o.controlFlowModule??s,f):l(s,f));for(let[f,x]of t.resolved)r.has(f)||l(x.module,x.export==="default"?`default as ${f}`:f===x.export?f:`${x.export} as ${f}`);let p=[];for(let[f,x]of a)p.push(`import { ${x.join(", ")} } from ${JSON.stringify(f)};`);let d=[...t.deferred].filter(([f])=>!r.has(f));if(d.length>0){r.has("deferred")||p.push(`import { deferred } from ${JSON.stringify(i)};`);for(let[f,x]of d)p.push(`const ${f} = deferred(() => import(${JSON.stringify(x.module)}), { strategy: ${Ro(x.loading)}, export: ${JSON.stringify(x.export)} });`)}for(let[f,x]of n)p.push(`const ${x} = ${JSON.stringify(f.startsWith("svg:")?f.slice(4):f)};`);return t.delegatedEvents.size>0&&p.push(`delegateEvents(${JSON.stringify([...t.delegatedEvents])});`),p.length>0?p.join(`
6
7
  `)+`
7
- `:null}var wn,kn,io,ao,lo,co,ft,Mn=b(()=>{"use strict";wn=require("@babel/parser"),kn=A(require("magic-string"),1);mn();q();Ce();me();ot();ue();Ne();ie();ne();Z();Oe();ut();En();se();oe();io=new Set(re),ao=new Set(U),lo=new Set(J),co=new Set(["createMemo","createEffect","createRenderEffect","createRoot","createSignal","onCleanup","batch","untrack"]);ft=e=>e.type==="JSXElement"||e.type==="JSXFragment"});var ht={};te(ht,{explainBail:()=>De,moduleBindings:()=>ee,planPropsDestructure:()=>je,shapeOf:()=>j,transformProps:()=>xn,transformTemplates:()=>Tn});var yt=b(()=>{"use strict";Mn();Oe();me();ut();ct()});function vo(e){let t=5381;for(let n=0;n<e.length;n++)t=t*33^e.charCodeAt(n);return(t>>>0).toString(16)}function Fe(e,t,n){let r=(e||"unknown").replace(t?t+"/":"","");return`${vo(r)}:${n}`}var vt=b(()=>{"use strict"});var On={};te(On,{transformServerFunctions:()=>No});function bo({types:e}){return{name:"fluixi-server-functions",visitor:{Program:{enter(t,n){n.fxIndex=0,n.fxUsed=null},exit(t,n){n.fxUsed&&t.unshiftContainer("body",e.importDeclaration([e.importSpecifier(e.identifier(n.fxUsed),e.identifier(n.fxUsed))],e.stringLiteral(n.opts.runtimeModule||xo)))}},"FunctionDeclaration|FunctionExpression|ArrowFunctionExpression":(t,n)=>{let r=t.node.body;if(!e.isBlockStatement(r))return;let s=(r.directives||[]).findIndex(p=>p.value.value==="use server");if(s<0)return;r.directives.splice(s,1);let i=Fe(n.opts.filename||n.filename||"unknown",n.opts.root,n.fxIndex++),a=!!n.opts.ssr,l=a?"$$registerServerFn":"$$createServerReference";n.fxUsed=l;let c=a?e.callExpression(e.identifier(l),[e.stringLiteral(i),t.isFunctionDeclaration()?e.functionExpression(null,t.node.params,r,t.node.generator,t.node.async):t.node]):e.callExpression(e.identifier(l),[e.stringLiteral(i)]);t.isFunctionDeclaration()?t.replaceWith(e.variableDeclaration("const",[e.variableDeclarator(t.node.id,c)])):t.replaceWith(c),t.skip()}}}}function No(e,t){if(!e.includes("use server"))return null;let n=(0,$n.transformSync)(e,{filename:t.filename,configFile:!1,babelrc:!1,sourceMaps:!0,parserOpts:{plugins:["typescript","jsx"]},plugins:[[bo,t]]});return n?.code?{code:n.code,map:n.map}:null}var $n,xo,Pn=b(()=>{"use strict";$n=require("@babel/core");vt();xo="@fluixi/start/server-fn"});var Ln={};te(Ln,{transformServerFns:()=>wo});function Eo(e){if(!Ro.has(e.type))return null;let t=e.body;if(!t||t.type!=="BlockStatement")return null;for(let n of t.directives??[])if(n.value?.value==="use server")return n;return null}function xt(e,t){if(!(!e||typeof e!="object")){if(Array.isArray(e)){for(let n of e)xt(n,t);return}if(typeof e.type=="string"){let n=Eo(e);if(n){t.push({fn:e,directive:n});return}}for(let n of Object.keys(e))n==="loc"||n==="leadingComments"||n==="trailingComments"||xt(e[n],t)}}function wo(e,t){if(!e.includes("use server"))return null;let n=(0,jn.parse)(e,{sourceType:"module",plugins:["jsx","typescript"],errorRecovery:!0}),r=[];if(xt(n.program,r),r.length===0)return null;let o=t.ssr?"$$registerServerFn":"$$createServerReference",s=new Dn.default(e);return r.forEach(({fn:i,directive:a},l)=>{let c=Fe(t.filename,t.root,l),p=i.type==="FunctionDeclaration";if(!t.ssr){let m=`${o}(${JSON.stringify(c)})`;s.overwrite(i.start,i.end,p?`const ${i.id.name} = ${m};`:m);return}s.remove(a.start,a.end),s.appendLeft(i.start,p?`const ${i.id.name} = ${o}(${JSON.stringify(c)}, `:`${o}(${JSON.stringify(c)}, `),s.appendRight(i.end,p?");":")")}),s.prepend(`import { ${o} } from ${JSON.stringify(t.runtimeModule??So)};
8
- `),{code:s.toString(),map:s.generateMap({source:t.filename,includeContent:!0,hires:!0})}}var jn,Dn,So,Ro,An=b(()=>{"use strict";jn=require("@babel/parser"),Dn=A(require("magic-string"),1);vt();So="@fluixi/start/server-fn",Ro=new Set(["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"])});var Oo={};te(Oo,{createBabelPlugin:()=>Je,createESBuildPlugin:()=>Bn,createRollupPlugin:()=>Xn,createTypeScriptTransformer:()=>Fn,createVitePlugin:()=>Jn,createWebpackLoader:()=>_n,default:()=>$o,serverFunctionsVitePlugin:()=>Mo});module.exports=qn(Oo);var _=require("node:fs"),M=require("node:path");ne();oe();se();var er=new Set(["Text","Image","Option","Audio","Comment","Range","Selection","Notification","Event","Document","Element","Node","Screen","Window","Location","History","Storage","Response","Request","Headers"]);function tr(e){if(e.startsWith(".")||e.startsWith("/")||/^[~@]\//.test(e))return;let t=e.split("/");return e.startsWith("@")?t.slice(0,2).join("/"):t[0]}function He(e){return`_${e.replace(/[^A-Za-z0-9]/g,"_")}`}function Ct(e,t={}){let{available:n,builtins:r=!0,intrinsics:o=!0,generator:s="@fluixi/compiler",specifier:i=y=>y}=t,a=[...e];r&&a.push({components:ye()});let l=F(a),c=n?new Set(n):void 0,p=[],m=[],d=[],x=new Map;for(let y of[...l.names()].sort()){let E=l.resolve(y);if(!E)continue;let w=tr(E.module);er.has(y)?m.push(y):c&&w&&!c.has(w)?d.push(y):(p.push(y),x.set(y,E))}let v=o?[...new Set(Object.values(P).map(y=>y.module))]:[],h=[...new Set([...p.map(y=>x.get(y).module),...v])].sort().map(y=>`import * as ${He(y)} from '${i(y)}';`),R=p.map(y=>{let E=x.get(y),w=He(E.module);return E.export==="default"?` const ${y}: typeof ${w}.default;`:` export import ${y} = ${w}.${E.export};`}),I=m.length>0?`//
8
+ `:null}var Mn,$n,fo,mo,go,ho,xt,jn=b(()=>{"use strict";Mn=require("@babel/parser"),$n=J(require("magic-string"),1);vn();Q();Pe();he();ct();me();ke();ce();se();te();Ae();ht();Tn();le();yt();ae();fo=new Set(ie),mo=new Set(K),go=new Set(B),ho=new Set(["createMemo","createEffect","createRenderEffect","createRoot","createSignal","onCleanup","batch","untrack"]);xt=e=>e.type==="JSXElement"||e.type==="JSXFragment"});var Nt={};oe(Nt,{explainBail:()=>_e,moduleBindings:()=>re,planPropsDestructure:()=>Je,shapeOf:()=>A,transformProps:()=>En,transformTemplates:()=>Dn});var St=b(()=>{"use strict";jn();Ae();he();ht();mt()});function Io(e){let t=5381;for(let n=0;n<e.length;n++)t=t*33^e.charCodeAt(n);return(t>>>0).toString(16)}function He(e,t,n){let r=(e||"unknown").replace(t?t+"/":"","");return`${Io(r)}:${n}`}var Rt=b(()=>{"use strict"});var An={};oe(An,{transformServerFunctions:()=>Mo});function To({types:e}){return{name:"fluixi-server-functions",visitor:{Program:{enter(t,n){n.fxIndex=0,n.fxUsed=null},exit(t,n){n.fxUsed&&t.unshiftContainer("body",e.importDeclaration([e.importSpecifier(e.identifier(n.fxUsed),e.identifier(n.fxUsed))],e.stringLiteral(n.opts.runtimeModule||Co)))}},"FunctionDeclaration|FunctionExpression|ArrowFunctionExpression":(t,n)=>{let r=t.node.body;if(!e.isBlockStatement(r))return;let s=(r.directives||[]).findIndex(p=>p.value.value==="use server");if(s<0)return;r.directives.splice(s,1);let i=He(n.opts.filename||n.filename||"unknown",n.opts.root,n.fxIndex++),a=!!n.opts.ssr,l=a?"$$registerServerFn":"$$createServerReference";n.fxUsed=l;let c=a?e.callExpression(e.identifier(l),[e.stringLiteral(i),t.isFunctionDeclaration()?e.functionExpression(null,t.node.params,r,t.node.generator,t.node.async):t.node]):e.callExpression(e.identifier(l),[e.stringLiteral(i)]);t.isFunctionDeclaration()?t.replaceWith(e.variableDeclaration("const",[e.variableDeclarator(t.node.id,c)])):t.replaceWith(c),t.skip()}}}}function Mo(e,t){if(!e.includes("use server"))return null;let n=(0,Ln.transformSync)(e,{filename:t.filename,configFile:!1,babelrc:!1,sourceMaps:!0,parserOpts:{plugins:["typescript","jsx"]},plugins:[[To,t]]});return n?.code?{code:n.code,map:n.map}:null}var Ln,Co,Fn=b(()=>{"use strict";Ln=require("@babel/core");Rt();Co="@fluixi/start/server-fn"});var Xn={};oe(Xn,{transformServerFns:()=>Do});function Po(e){if(!Oo.has(e.type))return null;let t=e.body;if(!t||t.type!=="BlockStatement")return null;for(let n of t.directives??[])if(n.value?.value==="use server")return n;return null}function Et(e,t){if(!(!e||typeof e!="object")){if(Array.isArray(e)){for(let n of e)Et(n,t);return}if(typeof e.type=="string"){let n=Po(e);if(n){t.push({fn:e,directive:n});return}}for(let n of Object.keys(e))n==="loc"||n==="leadingComments"||n==="trailingComments"||Et(e[n],t)}}function Do(e,t){if(!e.includes("use server"))return null;let n=(0,Jn.parse)(e,{sourceType:"module",plugins:["jsx","typescript"],errorRecovery:!0}),r=[];if(Et(n.program,r),r.length===0)return null;let o=t.ssr?"$$registerServerFn":"$$createServerReference",s=new _n.default(e);return r.forEach(({fn:i,directive:a},l)=>{let c=He(t.filename,t.root,l),p=i.type==="FunctionDeclaration";if(!t.ssr){let d=`${o}(${JSON.stringify(c)})`;s.overwrite(i.start,i.end,p?`const ${i.id.name} = ${d};`:d);return}s.remove(a.start,a.end),s.appendLeft(i.start,p?`const ${i.id.name} = ${o}(${JSON.stringify(c)}, `:`${o}(${JSON.stringify(c)}, `),s.appendRight(i.end,p?");":")")}),s.prepend(`import { ${o} } from ${JSON.stringify(t.runtimeModule??$o)};
9
+ `),{code:s.toString(),map:s.generateMap({source:t.filename,includeContent:!0,hires:!0})}}var Jn,_n,$o,Oo,Bn=b(()=>{"use strict";Jn=require("@babel/parser"),_n=J(require("magic-string"),1);Rt();$o="@fluixi/start/server-fn",Oo=new Set(["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"])});var Bo={};oe(Bo,{createBabelPlugin:()=>Ve,createESBuildPlugin:()=>Gn,createRollupPlugin:()=>zn,createTypeScriptTransformer:()=>Vn,createVitePlugin:()=>Wn,createWebpackLoader:()=>Un,default:()=>Xo,serverFunctionsVitePlugin:()=>_o});module.exports=tr(Bo);var H=require("node:fs"),O=require("node:path");se();ae();le();var ir=new Set(["Text","Image","Option","Audio","Comment","Range","Selection","Notification","Event","Document","Element","Node","Screen","Window","Location","History","Storage","Response","Request","Headers"]);function ar(e){if(e.startsWith(".")||e.startsWith("/")||/^[~@]\//.test(e))return;let t=e.split("/");return e.startsWith("@")?t.slice(0,2).join("/"):t[0]}function Ge(e){return`_${e.replace(/[^A-Za-z0-9]/g,"_")}`}function Pt(e,t={}){let{available:n,builtins:r=!0,intrinsics:o=!0,generator:s="@fluixi/compiler",specifier:i=v=>v}=t,a=[...e];r&&a.push({components:Se()});let l=X(a),c=n?new Set(n):void 0,p=[],d=[],f=[],x=new Map;for(let v of[...l.names()].sort()){let w=l.resolve(v);if(!w)continue;let k=ar(w.module);ir.has(v)?d.push(v):c&&k&&!c.has(k)?f.push(v):(p.push(v),x.set(v,w))}let y=o?[...new Set(Object.values(L).map(v=>v.module))]:[],h=[...new Set([...p.map(v=>x.get(v).module),...y])].sort().map(v=>`import * as ${Ge(v)} from '${i(v)}';`),E=p.map(v=>{let w=x.get(v),k=Ge(w.module);return w.export==="default"?` const ${v}: typeof ${k}.default;`:` export import ${v} = ${k}.${w.export};`}),C=d.length>0?`//
9
10
  // Import these explicitly — lib.dom already declares the name, so an ambient
10
11
  // declaration cannot win:
11
- `+m.map(y=>{let E=l.resolve(y)?.module;return`// import { ${y} } from '${E?i(E):""}';
12
- `}).join(""):"",S=o?Object.entries(P).map(([y,E])=>` const ${y}: typeof ${He(E.module)}.${E.export};`):[],N=e.filter(y=>"match"in y).length,k=N>0?`//
13
- // ${N} pattern rule${N===1?"":"s"} cannot be declared:
12
+ `+d.map(v=>{let w=l.resolve(v)?.module;return`// import { ${v} } from '${w?i(w):""}';
13
+ `}).join(""):"",R=o?Object.entries(L).map(([v,w])=>` const ${v}: typeof ${Ge(w.module)}.${w.export};`):[],S=e.filter(v=>"match"in v).length,I=S>0?`//
14
+ // ${S} pattern rule${S===1?"":"s"} cannot be declared:
14
15
  // a pattern matches unboundedly many names, so there is no list to emit. Those
15
16
  // tags still resolve at build time; declare them by hand if the editor needs them.
16
17
  `:"";return{source:`// GENERATED by ${s} — do not edit.
17
18
  //
18
19
  // The components \`resolve\` supplies without an import. This describes what the
19
20
  // compiler already does; it does not enable it.
20
- `+I+k+(h.length>0?`
21
+ `+C+I+(h.length>0?`
21
22
  ${h.join(`
22
23
  `)}
23
24
  `:`
24
25
  `)+`
25
26
  declare global {
26
- ${[...R,...S].join(`
27
+ ${[...E,...R].join(`
27
28
  `)}
28
29
  }
29
- `,declared:p,shadowedByDom:m,unavailable:d,patternRules:N}}var nr="GENERATED by @fluixi/compiler",rr="fluixi.d.ts";function or(e,t){let n;try{let o=(0,_.readFileSync)((0,M.resolve)(e,"tsconfig.json"),"utf8");n=JSON.parse(o.replace(/^\s*\/\/.*$/gm,""))}catch{return}if(n.extends!==void 0)return;if(!Array.isArray(n.include))return!0;let r=Mt(e,t);return n.include.some(o=>{if(typeof o!="string")return!1;let s=o.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\//g,"(?:.*/)?").replace(/\*/g,"[^/]*");return new RegExp(`^${s}(?:/.*)?$`).test(r)})}function Mt(e,t){return(0,M.relative)(e,t).split(M.sep).join("/")}function sr(e,t,n){if(!e.startsWith("/"))return e;let r=(0,M.resolve)(n,e.slice(1)),o=(0,M.relative)(t,r).split(M.sep).join("/");return o.startsWith(".")||(o=`./${o}`),o.replace(/\.(tsx|ts|jsx|mts|cts)$/,".js")}function ir(e){try{let t=JSON.parse((0,_.readFileSync)((0,M.resolve)(e,"package.json"),"utf8"));return[...Object.keys(t.dependencies??{}),...Object.keys(t.devDependencies??{}),...Object.keys(t.peerDependencies??{})]}catch{return}}function $t(e,t){if(e.globals===!1)return{status:"skipped",reason:"disabled"};let n=e.resolve??[],r=(0,M.resolve)(t,e.globals??rr),o;try{o=(0,_.readFileSync)(r,"utf8")}catch{o=void 0}if(o!==void 0&&!o.includes(nr))return{status:"skipped",reason:"foreign-file",path:r};let{source:s,declared:i}=Ct(n,{available:ir(t),specifier:a=>sr(a,(0,M.dirname)(r),t)});return o===s?{status:"unchanged",path:r,declared:i.length,warning:Tt(t,r)}:((0,_.mkdirSync)((0,M.dirname)(r),{recursive:!0}),(0,_.writeFileSync)(r,s),{status:"written",path:r,declared:i.length,warning:Tt(t,r)})}function Tt(e,t){if(or(e,t)!==!1)return;let n=Mt(e,t);return`[fluixi] ${n} is not covered by "include" in tsconfig.json, so TypeScript will ignore it and every resolved component stays "Cannot find name". Add "${n}" to "include".`}var Xe=require("node:fs"),Nt=require("node:path");async function Je(e={}){let t=null;try{t=await Promise.resolve().then(()=>(un(),pn))}catch(n){console.warn("Could not load the babel front-end:",n)}return{name:"babel-fluixi-jsx",plugin:t?t.default||t:null,getOptions(){return{importSource:e.importSource||"@fluixi/jsx",development:e.development||!1,delegateEvents:e.delegateEvents!==!1,...e.format?{format:e.format}:{},...e.resolve?{resolve:e.resolve}:{},...e.templateClone!==void 0?{templateClone:e.templateClone}:{},...e.partialTemplates!==void 0?{partialTemplates:e.partialTemplates}:{},...e.litTag?{litTag:e.litTag}:{},...e.signalModule?{signalModule:e.signalModule}:{},...e.controlFlowModule?{controlFlowModule:e.controlFlowModule}:{},...e.routerModule?{routerModule:e.routerModule}:{},...e.reactiveModule?{reactiveModule:e.reactiveModule}:{}}}}}function Fn(e={}){let t=Io("typescript");return t?n=>{let r=o=>t.isJsxElement(o)||t.isJsxSelfClosingElement(o)?ko(o,e,t):t.visitEachChild(o,r,n);return o=>t.visitNode(o,r)}:(console.warn("TypeScript not found, transformer unavailable"),n=>r=>r)}function ko(e,t,n){return e}function Io(e){try{return require(e)}catch{return null}}function Jn(e={}){return{name:"vite-fluixi-jsx",enforce:"pre",config(){return{esbuild:{jsx:"automatic",jsxImportSource:e.importSource||"@fluixi/jsx"}}},configResolved(t){let n=$t(e,t?.root??process.cwd());n.warning&&console.warn(n.warning)},async transform(t,n){if(!/\.(jsx|tsx|ts)$/i.test(n))return null;if(!e.babel)return _e(t,n,e);let r=await Je(e);try{let o=await import("@babel/core").catch(()=>null);if(!o)throw new Error(`[fluixi] @babel/core is required to compile ${n} but could not be loaded. Install it alongside @fluixi/compiler.`);let s=/\.tsx$/.test(n),i=/\.ts$/.test(n),a=[],l=[];if(s||i){let p=await import("@babel/preset-typescript").then(m=>m.default||m).catch(()=>null);p&&a.push([p,{isTSX:s,allExtensions:!0,jsxPragma:"jsx",jsxPragmaFrag:"Fragment",onlyRemoveTypeImports:!0}])}r&&r.plugin?l.push([r.plugin,r.getOptions()]):console.warn("[createVitePlugin] custom babel plugin not found");let c=await o.transformAsync(t,{filename:n,configFile:!1,babelrc:!1,presets:a,plugins:l,sourceMaps:e.sourceMaps!==!1});return{code:c?.code||t,map:c?.map}}catch(o){throw o}}}}function Co(e){return{resolve:e.resolve,litTag:e.litTag,templateClone:e.templateClone,partialTemplates:e.partialTemplates,runtimeModule:e.signalModule,controlFlowModule:e.controlFlowModule,routerModule:e.routerModule,reactiveModule:e.reactiveModule,propsDestructure:e.propsDestructure}}async function To(e,t,n){if(!n.propsDestructure)return e;let{transformProps:r}=await Promise.resolve().then(()=>(yt(),ht)),o=r(e,t);return o.rewritten>0?o.code:e}async function _e(e,t,n){if(!n.babel){let{transformTemplates:a}=await Promise.resolve().then(()=>(yt(),ht));return a(e,t,Co(n))}let r=await To(e,t,n),o=await import("@babel/core").catch(()=>null),s=await Je(n);if(!o||!s.plugin)throw new Error(`[fluixi] babel: true needs @babel/core, which could not be loaded for ${t}. Install it, or drop the option to use the built-in compiler.`);let i=await o.transformAsync(r,{filename:t,configFile:!1,babelrc:!1,plugins:[[s.plugin,s.getOptions()]],sourceMaps:n.sourceMaps!==!1});return i?.code?{code:i.code,map:i.map}:null}function _n(e={}){return async function(t){let n=this.async();_e(t,this.resourcePath,e).then(r=>{n(null,r?.code,r?.map)}).catch(r=>{n(r)})}}function Xn(e={}){return{name:"rollup-fluixi-jsx",async transform(t,n){return/\.[jt]sx?$/.test(n)?_e(t,n,e):null}}}function Bn(e={}){return{name:"esbuild-fluixi-jsx",setup(t){t.onLoad({filter:/\.[jt]sx?$/},async n=>{let{readFileSync:r}=await import("node:fs"),o=r(n.path,"utf8");try{return{contents:(await _e(o,n.path,e))?.code??o,loader:n.path.endsWith("x")?"tsx":"ts"}}catch(s){return{errors:[{text:`Transform error: ${s}`}]}}})}}}var bt="virtual:fluixi-server-fns";function Hn(e,t=[]){let n;try{n=(0,Xe.readdirSync)(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.name==="node_modules"||r.name==="dist"||r.name.startsWith("."))continue;let o=(0,Nt.join)(e,r.name);if(r.isDirectory())Hn(o,t);else if(/\.[jt]sx?$/.test(r.name))try{(0,Xe.readFileSync)(o,"utf8").includes("use server")&&t.push(o)}catch{}}return t}function Mo(e={}){let t=process.cwd();return{name:"fluixi-server-functions",enforce:"pre",configResolved(n){t=n.root||t},resolveId(n){return n===bt||n==="@fluixi/start/server-fns"?"\0"+bt:null},load(n){if(n!=="\0"+bt)return null;let r=Hn((0,Nt.join)(t,"src")),o=`import '@fluixi/start/server-fn-setup';
30
+ `,declared:p,shadowedByDom:d,unavailable:f,patternRules:S}}var lr="GENERATED by @fluixi/compiler",cr="fluixi.d.ts";function pr(e,t){let n;try{let o=(0,H.readFileSync)((0,O.resolve)(e,"tsconfig.json"),"utf8");n=JSON.parse(o.replace(/^\s*\/\/.*$/gm,""))}catch{return}if(n.extends!==void 0)return;if(!Array.isArray(n.include))return!0;let r=jt(e,t);return n.include.some(o=>{if(typeof o!="string")return!1;let s=o.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\//g,"(?:.*/)?").replace(/\*/g,"[^/]*");return new RegExp(`^${s}(?:/.*)?$`).test(r)})}function jt(e,t){return(0,O.relative)(e,t).split(O.sep).join("/")}function ur(e,t,n){if(!e.startsWith("/"))return e;let r=(0,O.resolve)(n,e.slice(1)),o=(0,O.relative)(t,r).split(O.sep).join("/");return o.startsWith(".")||(o=`./${o}`),o.replace(/\.(tsx|ts|jsx|mts|cts)$/,".js")}function dr(e){try{let t=JSON.parse((0,H.readFileSync)((0,O.resolve)(e,"package.json"),"utf8"));return[...Object.keys(t.dependencies??{}),...Object.keys(t.devDependencies??{}),...Object.keys(t.peerDependencies??{})]}catch{return}}function Lt(e,t){if(e.globals===!1)return{status:"skipped",reason:"disabled"};let n=e.resolve??[],r=(0,O.resolve)(t,e.globals??cr),o;try{o=(0,H.readFileSync)(r,"utf8")}catch{o=void 0}if(o!==void 0&&!o.includes(lr))return{status:"skipped",reason:"foreign-file",path:r};let{source:s,declared:i}=Pt(n,{available:dr(t),specifier:a=>ur(a,(0,O.dirname)(r),t)});return o===s?{status:"unchanged",path:r,declared:i.length,warning:Dt(t,r)}:((0,H.mkdirSync)((0,O.dirname)(r),{recursive:!0}),(0,H.writeFileSync)(r,s),{status:"written",path:r,declared:i.length,warning:Dt(t,r)})}function Dt(e,t){if(pr(e,t)!==!1)return;let n=jt(e,t);return`[fluixi] ${n} is not covered by "include" in tsconfig.json, so TypeScript will ignore it and every resolved component stays "Cannot find name". Add "${n}" to "include".`}var Ue=require("node:fs"),kt=require("node:path");async function Ve(e={}){let t=null;try{t=await Promise.resolve().then(()=>(hn(),gn))}catch(n){console.warn("Could not load the babel front-end:",n)}return{name:"babel-fluixi-jsx",plugin:t?t.default||t:null,getOptions(){return{importSource:e.importSource||"@fluixi/jsx",development:e.development||!1,delegateEvents:e.delegateEvents!==!1,...e.format?{format:e.format}:{},...e.resolve?{resolve:e.resolve}:{},...e.templateClone!==void 0?{templateClone:e.templateClone}:{},...e.partialTemplates!==void 0?{partialTemplates:e.partialTemplates}:{},...e.litTag?{litTag:e.litTag}:{},...e.signalModule?{signalModule:e.signalModule}:{},...e.controlFlowModule?{controlFlowModule:e.controlFlowModule}:{},...e.routerModule?{routerModule:e.routerModule}:{},...e.reactiveModule?{reactiveModule:e.reactiveModule}:{}}}}}function Vn(e={}){let t=Lo("typescript");return t?n=>{let r=o=>t.isJsxElement(o)||t.isJsxSelfClosingElement(o)?jo(o,e,t):t.visitEachChild(o,r,n);return o=>t.visitNode(o,r)}:(console.warn("TypeScript not found, transformer unavailable"),n=>r=>r)}function jo(e,t,n){return e}function Lo(e){try{return require(e)}catch{return null}}function Wn(e={}){return{name:"vite-fluixi-jsx",enforce:"pre",config(){return{esbuild:{jsx:"automatic",jsxImportSource:e.importSource||"@fluixi/jsx"}}},configResolved(t){let n=Lt(e,t?.root??process.cwd());n.warning&&console.warn(n.warning)},async transform(t,n){if(!/\.(jsx|tsx|ts)$/i.test(n))return null;if(!e.babel)return We(t,n,e);let r=await Ve(e);try{let o=await import("@babel/core").catch(()=>null);if(!o)throw new Error(`[fluixi] @babel/core is required to compile ${n} but could not be loaded. Install it alongside @fluixi/compiler.`);let s=/\.tsx$/.test(n),i=/\.ts$/.test(n),a=[],l=[];if(s||i){let p=await import("@babel/preset-typescript").then(d=>d.default||d).catch(()=>null);p&&a.push([p,{isTSX:s,allExtensions:!0,jsxPragma:"jsx",jsxPragmaFrag:"Fragment",onlyRemoveTypeImports:!0}])}r&&r.plugin?l.push([r.plugin,r.getOptions()]):console.warn("[createVitePlugin] custom babel plugin not found");let c=await o.transformAsync(t,{filename:n,configFile:!1,babelrc:!1,presets:a,plugins:l,sourceMaps:e.sourceMaps!==!1});return{code:c?.code||t,map:c?.map}}catch(o){throw o}}}}function Ao(e){return{resolve:e.resolve,litTag:e.litTag,templateClone:e.templateClone,partialTemplates:e.partialTemplates,runtimeModule:e.signalModule,controlFlowModule:e.controlFlowModule,routerModule:e.routerModule,reactiveModule:e.reactiveModule,propsDestructure:e.propsDestructure}}async function Fo(e,t,n){if(n.propsDestructure===!1)return e;let{transformProps:r}=await Promise.resolve().then(()=>(St(),Nt)),o=r(e,t);return o.rewritten>0?o.code:e}var Hn=new Set;function Jo(e,t){let n=e,r=o=>{let s=`${t}\0${o}`;Hn.has(s)||(Hn.add(s),console.warn(`[fluixi] ${t}: ${o}`))};for(let o of n?.unresolvedDiagnostics??[])r(o.message);for(let o of n?.loadDiagnostics??[])r(o.message)}async function We(e,t,n){if(!n.babel){let{transformTemplates:a}=await Promise.resolve().then(()=>(St(),Nt)),l=a(e,t,Ao(n));return Jo(l,t),l}let r=await Fo(e,t,n),o=await import("@babel/core").catch(()=>null),s=await Ve(n);if(!o||!s.plugin)throw new Error(`[fluixi] babel: true needs @babel/core, which could not be loaded for ${t}. Install it, or drop the option to use the built-in compiler.`);let i=await o.transformAsync(r,{filename:t,configFile:!1,babelrc:!1,plugins:[[s.plugin,s.getOptions()]],sourceMaps:n.sourceMaps!==!1});return i?.code?{code:i.code,map:i.map}:null}function Un(e={}){return async function(t){let n=this.async();We(t,this.resourcePath,e).then(r=>{n(null,r?.code,r?.map)}).catch(r=>{n(r)})}}function zn(e={}){return{name:"rollup-fluixi-jsx",async transform(t,n){return/\.[jt]sx?$/.test(n)?We(t,n,e):null}}}function Gn(e={}){return{name:"esbuild-fluixi-jsx",setup(t){t.onLoad({filter:/\.[jt]sx?$/},async n=>{let{readFileSync:r}=await import("node:fs"),o=r(n.path,"utf8");try{return{contents:(await We(o,n.path,e))?.code??o,loader:n.path.endsWith("x")?"tsx":"ts"}}catch(s){return{errors:[{text:`Transform error: ${s}`}]}}})}}}var wt="virtual:fluixi-server-fns";function qn(e,t=[]){let n;try{n=(0,Ue.readdirSync)(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.name==="node_modules"||r.name==="dist"||r.name.startsWith("."))continue;let o=(0,kt.join)(e,r.name);if(r.isDirectory())qn(o,t);else if(/\.[jt]sx?$/.test(r.name))try{(0,Ue.readFileSync)(o,"utf8").includes("use server")&&t.push(o)}catch{}}return t}function _o(e={}){let t=process.cwd();return{name:"fluixi-server-functions",enforce:"pre",configResolved(n){t=n.root||t},resolveId(n){return n===wt||n==="@fluixi/start/server-fns"?"\0"+wt:null},load(n){if(n!=="\0"+wt)return null;let r=qn((0,kt.join)(t,"src")),o=`import '@fluixi/start/server-fn-setup';
30
31
  `,s=r.map(a=>`import ${JSON.stringify(a)};`).join(`
31
32
  `);return o+s+`
32
33
  export { isServerFnRequest, handleServerFn } from '@fluixi/start/server-fn';
33
- `},async transform(n,r,o){if(!/\.[jt]sx?$/.test(r)||!n.includes("use server"))return null;let s={ssr:!!o?.ssr,filename:r,root:t};if(e.babel){let{transformServerFunctions:a}=await Promise.resolve().then(()=>(Pn(),On));return a(n,s)}let{transformServerFns:i}=await Promise.resolve().then(()=>(An(),Ln));return i(n,s)}}}var $o={createBabelPlugin:Je,createTypeScriptTransformer:Fn,createVitePlugin:Jn,createWebpackLoader:_n,createRollupPlugin:Xn,createESBuildPlugin:Bn};
34
+ `},async transform(n,r,o){if(!/\.[jt]sx?$/.test(r)||!n.includes("use server"))return null;let s={ssr:!!o?.ssr,filename:r,root:t};if(e.babel){let{transformServerFunctions:a}=await Promise.resolve().then(()=>(Fn(),An));return a(n,s)}let{transformServerFns:i}=await Promise.resolve().then(()=>(Bn(),Xn));return i(n,s)}}}var Xo={createBabelPlugin:Ve,createTypeScriptTransformer:Vn,createVitePlugin:Wn,createWebpackLoader:Un,createRollupPlugin:zn,createESBuildPlugin:Gn};
@@ -90,11 +90,10 @@ export interface CompilerOptions {
90
90
  * compiled. A pattern it can't prove is left as written, so `splitProps` keeps
91
91
  * working wherever it's still needed.
92
92
  *
93
- * Off while we shake it out. Known gap before it can default on: when it rewrites a
94
- * file the emitted map points at the rewritten source, not the author's, because the
95
- * two passes each build their own map and nothing chains them yet.
93
+ * Turn it off for a package that ships its source to be compiled by the consumer
94
+ * rewriting there would bake property reads into what you publish.
96
95
  *
97
- * @default false
96
+ * @default true
98
97
  */
99
98
  propsDestructure?: boolean;
100
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../src/integrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,eAAoB;;;;;;;;;;;;;;;;;GAwCpE;AAMD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,eAAoB,aAIpD,GAAG,MAAM,YAAY,GAAG,SAkB5C;AA0BD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,CA2GpE;AA4DD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,eAAoB,IACxC,MAAM,GAAG,EAAE,QAAQ,MAAM,mBAUjD;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB;;oBAItC,MAAM,MAAM,MAAM;;;;;;;;;;;;EAK3C;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,eAAoB;;iBAIhD,GAAG;EAwBnB;AAWD,YAAY,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AA8B7E;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,CAAC,CAqCvF;;;;;;;;;AAED,wBAOE"}
1
+ {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../src/integrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,eAAoB;;;;;;;;;;;;;;;;;GAwCpE;AAMD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,eAAoB,aAIpD,GAAG,MAAM,YAAY,GAAG,SAkB5C;AA0BD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,CA2GpE;AAkGD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,eAAoB,IACxC,MAAM,GAAG,EAAE,QAAQ,MAAM,mBAUjD;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB;;oBAItC,MAAM,MAAM,MAAM;;;;;;;;;;;;EAK3C;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,eAAoB;;iBAIhD,GAAG;EAwBnB;AAWD,YAAY,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AA8B7E;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,CAAC,CAqCvF;;;;;;;;;AAED,wBAOE"}
@@ -226,18 +226,53 @@ function transformOptions(options) {
226
226
  * transform instead, which is why only this branch needs it.
227
227
  */
228
228
  async function rewriteProps(code, id, options) {
229
- if (!options.propsDestructure)
229
+ if (options.propsDestructure === false)
230
230
  return code;
231
231
  const { transformProps } = await import('./transform/index.js');
232
232
  const result = transformProps(code, id);
233
233
  // Untouched source comes back identical, so nothing pays for the option being on.
234
234
  return result.rewritten > 0 ? result.code : code;
235
235
  }
236
+ /**
237
+ * Warnings already printed, so a watch rebuild doesn't repeat them.
238
+ *
239
+ * A module is transformed again on every edit to it or its importers, and the same
240
+ * warning ten times reads as ten problems. Cleared when the message changes, which is
241
+ * the only thing worth re-printing.
242
+ */
243
+ const reported = new Set();
244
+ /**
245
+ * Say what the compiler refused to do.
246
+ *
247
+ * Both of these build cleanly and fail at runtime, which is why they are worth printing: an
248
+ * unresolved tag renders nothing, and a `load:` it cannot act on ships the chunk eagerly.
249
+ * Neither leaves a trace anywhere else.
250
+ *
251
+ * `console.warn`, deliberately, not a plugin's `this.warn`: that only exists in the
252
+ * rollup/vite context, and this runs for the esbuild and webpack adapters too. A
253
+ * diagnostic that only some bundlers get is worse than one that is plainly ours.
254
+ */
255
+ function reportDiagnostics(result, id) {
256
+ const r = result;
257
+ const say = (message) => {
258
+ const key = `${id}\u0000${message}`;
259
+ if (reported.has(key))
260
+ return;
261
+ reported.add(key);
262
+ console.warn(`[fluixi] ${id}: ${message}`);
263
+ };
264
+ for (const d of r?.unresolvedDiagnostics ?? [])
265
+ say(d.message);
266
+ for (const d of r?.loadDiagnostics ?? [])
267
+ say(d.message);
268
+ }
236
269
  /** Compile one module, through babel only when asked for it. */
237
270
  async function compileModule(code, id, options) {
238
271
  if (!options.babel) {
239
272
  const { transformTemplates } = await import('./transform/index.js');
240
- return transformTemplates(code, id, transformOptions(options));
273
+ const result = transformTemplates(code, id, transformOptions(options));
274
+ reportDiagnostics(result, id);
275
+ return result;
241
276
  }
242
277
  const source = await rewriteProps(code, id, options);
243
278
  const babel = await import('@babel/core').catch(() => null);