@knighted/jsx 1.7.6 → 1.7.8

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.
@@ -135,7 +135,9 @@ const evaluateExpression = (expression, ctx, evaluateJsxNode) => {
135
135
  return evaluator(...args);
136
136
  }
137
137
  catch (error) {
138
- throw new Error(`Failed to evaluate expression ${source}: ${error.message}`);
138
+ throw new Error(`Failed to evaluate expression ${source}: ${error.message}`, {
139
+ cause: error,
140
+ });
139
141
  }
140
142
  };
141
143
  exports.evaluateExpression = evaluateExpression;
@@ -4,5 +4,5 @@ import {parseSync}from'oxc-parser';import {find,svg,html}from'property-informati
4
4
  --> ${e} template:${g.line}:${g.column}`,c.message&&(f+=`
5
5
  ${c.message}`),h&&(f+=`
6
6
  ${h}`),r.helpMessage&&(f+=`
7
- ${r.helpMessage}`),f};var Se=/<\s*$/,Te=/<\/\s*$/,G="__KX_EXPR__",K=new RegExp(`${G}\\d+_\\d+__`,"g"),we=0;var Z={lang:"jsx",sourceType:"module",range:true,preserveParens:true},q=e=>{for(let t of e.body)if(t.type==="ExpressionStatement"){let n=t.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},T=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${T(e.object)}.${e.property.name}`;default:return ""}},v=(e,t)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(t(n),Object.values(n).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>v(o,t));return}typeof r=="object"&&v(r,t);}}));},Q=(e,t)=>{let n=z(e);if(!n)return [];let r=[];K.lastIndex=0;let o=0,s;for(;s=K.exec(n);){let c=s.index,i=n.slice(o,c);i&&r.push(i);let p=s[0];t.has(p)?r.push(t.get(p)):r.push(p),o=c+p.length;}let a=n.slice(o);return a&&r.push(a),r},Je=(e,t)=>{let n=new Set;return v(e,r=>{r.type==="Identifier"&&t.placeholders.has(r.name)&&n.add(r.name);}),Array.from(n)},Y=(e,t,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=t.source.slice(r,o),a=Je(e,t);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>t.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`)}},Ce=e=>{let t=e.replace(/[^a-zA-Z0-9_$]/g,"");return t?/[A-Za-z_$]/.test(t[0])?t:`Component${t}`:"Component"},Ae=(e,t,n)=>{let r=n.get(e);if(r)return r;let o=e.displayName||e.name||`Component${t.length}`,s=Ce(o??""),a=s,c=1;for(;t.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return t.push(i),n.set(e,i),i},ee=(e,t)=>{let n=e.raw??e,r=new Map,o=[],s=new Map,a=n[0]??"",c=we++,i=0,p=[];for(let l=0;l<t.length;l++){let u=n[l]??"",d=n[l+1]??"",m=t[l],g=Se.test(u)||Te.test(u),x;if(g&&typeof m=="function")x=Ae(m,o,s).name;else if(g&&typeof m=="string")x=m;else {let y=`${G}${c}_${i++}__`;r.set(y,m),x=y;}let h=a.length;a+=x;let f=a.length;p.push({index:l,sourceStart:h,sourceEnd:f}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var Xe=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},Re=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Me=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",ne=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",$e={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},re=e=>{if(!(!e||e==="html"||e==="svg"))return $e[e]},Pe=e=>e==="svg"?svg:html,D=(e,t,n)=>{let r=re(t.space),o=String(n);if(r){e.setAttributeNS(r,t.attribute,o);return}e.setAttribute(t.attribute,o);},te=(e,t)=>{let n=re(t.space);if(n){e.removeAttributeNS(n,t.attribute);return}e.removeAttribute(t.attribute);},N=(e,t)=>Array.isArray(e)?e.filter(Boolean).join(t):e,je=(e,t,n)=>t==="svg"||!n.property||n.property.includes(":")?false:n.property in e,Ie=(e,t,n,r)=>{if(n==null)return;if(t==="dangerouslySetInnerHTML"&&typeof n=="object"&&n&&"__html"in n){e.innerHTML=String(n.__html??"");return}if(t==="ref"){if(typeof n=="function"){n(e);return}if(n&&typeof n=="object"){n.current=e;return}}if(t==="style"&&typeof n=="object"&&n!==null){let p=n,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=_(t);if(o){let p=F(t,n);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(Pe(r),t),a=e,c=je(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!n:n;a[s.property]=p;return}if(s.boolean){let p=!!n;c&&(a[s.property]=p),p?D(e,s,""):te(e,s);return}let i=n;if(s.spaceSeparated?i=N(n," "):s.commaSeparated?i=N(n,","):s.commaOrSpaceSeparated&&(i=N(n," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){te(e,s);return}if(i===true){D(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&D(e,s,i);},E=(e,t)=>{if(t!=null&&typeof t!="boolean"){if(ne(t))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(t)){t.forEach(n=>E(e,n));return}if(Me(t)){for(let n of t)E(e,n);return}if(Re(t)){e.appendChild(t);return}e.appendChild(document.createTextNode(String(t)));}},X=(e,t,n)=>Y(e,t,r=>M(r,t,n)),oe=P({getIdentifierName:T,evaluateExpressionWithNamespace:X}),Le=(e,t,n,r)=>{let o=oe(t,n,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){E(e,a);return}Ie(e,s,a,r);}});},R=(e,t,n)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{Q(o.value,t.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(X(o.expression,t,n));break}case "JSXSpreadChild":{let s=X(o.expression,t,n);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(M(o,t,n));break}}}),r},Oe=(e,t,n,r)=>{let o=oe(e.openingElement.attributes,t,r),s=R(e.children,t,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=n(o);if(ne(a))throw new Error("Async jsx components are not supported.");return a},_e=(e,t,n)=>{let r=e.openingElement,o=T(r.name),s=t.components.get(o);if(s)return Oe(e,t,s,n);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":n,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return Le(i,r.attributes,t,a),R(e.children,t,c).forEach(l=>E(i,l)),i},M=(e,t,n)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return R(e.children,t,n).forEach(s=>E(r,s)),r}return _e(e,t,n)},He=(e,...t)=>{Xe();let n=ee(e,t),r=parseSync("inline.jsx",n.source,Z);if(r.errors.length>0)throw new Error(k("jsx",e,n.diagnostics,r.errors[0]));let o=q(r.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return M(o,s,null)};V({mode:"always"});
7
+ ${r.helpMessage}`),f};var Se=/<\s*$/,Te=/<\/\s*$/,G="__KX_EXPR__",K=new RegExp(`${G}\\d+_\\d+__`,"g"),we=0;var Z={lang:"jsx",sourceType:"module",range:true,preserveParens:true},q=e=>{for(let t of e.body)if(t.type==="ExpressionStatement"){let n=t.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},T=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${T(e.object)}.${e.property.name}`;default:return ""}},v=(e,t)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(t(n),Object.values(n).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>v(o,t));return}typeof r=="object"&&v(r,t);}}));},Q=(e,t)=>{let n=z(e);if(!n)return [];let r=[];K.lastIndex=0;let o=0,s;for(;s=K.exec(n);){let c=s.index,i=n.slice(o,c);i&&r.push(i);let p=s[0];t.has(p)?r.push(t.get(p)):r.push(p),o=c+p.length;}let a=n.slice(o);return a&&r.push(a),r},Je=(e,t)=>{let n=new Set;return v(e,r=>{r.type==="Identifier"&&t.placeholders.has(r.name)&&n.add(r.name);}),Array.from(n)},Y=(e,t,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=t.source.slice(r,o),a=Je(e,t);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>t.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`,{cause:c})}},Ce=e=>{let t=e.replace(/[^a-zA-Z0-9_$]/g,"");return t?/[A-Za-z_$]/.test(t[0])?t:`Component${t}`:"Component"},Ae=(e,t,n)=>{let r=n.get(e);if(r)return r;let o=e.displayName||e.name||`Component${t.length}`,s=Ce(o??""),a=s,c=1;for(;t.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return t.push(i),n.set(e,i),i},ee=(e,t)=>{let n=e.raw??e,r=new Map,o=[],s=new Map,a=n[0]??"",c=we++,i=0,p=[];for(let l=0;l<t.length;l++){let u=n[l]??"",d=n[l+1]??"",m=t[l],g=Se.test(u)||Te.test(u),x;if(g&&typeof m=="function")x=Ae(m,o,s).name;else if(g&&typeof m=="string")x=m;else {let y=`${G}${c}_${i++}__`;r.set(y,m),x=y;}let h=a.length;a+=x;let f=a.length;p.push({index:l,sourceStart:h,sourceEnd:f}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var Xe=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},Re=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Me=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",ne=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",$e={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},re=e=>{if(!(!e||e==="html"||e==="svg"))return $e[e]},Pe=e=>e==="svg"?svg:html,D=(e,t,n)=>{let r=re(t.space),o=String(n);if(r){e.setAttributeNS(r,t.attribute,o);return}e.setAttribute(t.attribute,o);},te=(e,t)=>{let n=re(t.space);if(n){e.removeAttributeNS(n,t.attribute);return}e.removeAttribute(t.attribute);},N=(e,t)=>Array.isArray(e)?e.filter(Boolean).join(t):e,je=(e,t,n)=>t==="svg"||!n.property||n.property.includes(":")?false:n.property in e,Ie=(e,t,n,r)=>{if(n==null)return;if(t==="dangerouslySetInnerHTML"&&typeof n=="object"&&n&&"__html"in n){e.innerHTML=String(n.__html??"");return}if(t==="ref"){if(typeof n=="function"){n(e);return}if(n&&typeof n=="object"){n.current=e;return}}if(t==="style"&&typeof n=="object"&&n!==null){let p=n,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=_(t);if(o){let p=F(t,n);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(Pe(r),t),a=e,c=je(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!n:n;a[s.property]=p;return}if(s.boolean){let p=!!n;c&&(a[s.property]=p),p?D(e,s,""):te(e,s);return}let i=n;if(s.spaceSeparated?i=N(n," "):s.commaSeparated?i=N(n,","):s.commaOrSpaceSeparated&&(i=N(n," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){te(e,s);return}if(i===true){D(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&D(e,s,i);},E=(e,t)=>{if(t!=null&&typeof t!="boolean"){if(ne(t))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(t)){t.forEach(n=>E(e,n));return}if(Me(t)){for(let n of t)E(e,n);return}if(Re(t)){e.appendChild(t);return}e.appendChild(document.createTextNode(String(t)));}},X=(e,t,n)=>Y(e,t,r=>M(r,t,n)),oe=P({getIdentifierName:T,evaluateExpressionWithNamespace:X}),Le=(e,t,n,r)=>{let o=oe(t,n,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){E(e,a);return}Ie(e,s,a,r);}});},R=(e,t,n)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{Q(o.value,t.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(X(o.expression,t,n));break}case "JSXSpreadChild":{let s=X(o.expression,t,n);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(M(o,t,n));break}}}),r},Oe=(e,t,n,r)=>{let o=oe(e.openingElement.attributes,t,r),s=R(e.children,t,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=n(o);if(ne(a))throw new Error("Async jsx components are not supported.");return a},_e=(e,t,n)=>{let r=e.openingElement,o=T(r.name),s=t.components.get(o);if(s)return Oe(e,t,s,n);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":n,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return Le(i,r.attributes,t,a),R(e.children,t,c).forEach(l=>E(i,l)),i},M=(e,t,n)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return R(e.children,t,n).forEach(s=>E(r,s)),r}return _e(e,t,n)},He=(e,...t)=>{Xe();let n=ee(e,t),r=parseSync("inline.jsx",n.source,Z);if(r.errors.length>0)throw new Error(k("jsx",e,n.diagnostics,r.errors[0]));let o=q(r.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return M(o,s,null)};V({mode:"always"});
8
8
  export{He as jsx};
@@ -4,5 +4,5 @@ import {parseSync}from'oxc-parser';import {find,svg,html}from'property-informati
4
4
  --> ${e} template:${g.line}:${g.column}`,c.message&&(f+=`
5
5
  ${c.message}`),h&&(f+=`
6
6
  ${h}`),r.helpMessage&&(f+=`
7
- ${r.helpMessage}`),f};var te=/<\s*$/,ne=/<\/\s*$/,R="__KX_EXPR__",X=new RegExp(`${R}\\d+_\\d+__`,"g"),re=0;var P={lang:"jsx",sourceType:"module",range:true,preserveParens:true},M=e=>{for(let n of e.body)if(n.type==="ExpressionStatement"){let t=n.expression;if(t.type==="JSXElement"||t.type==="JSXFragment")return t}throw new Error("The jsx template must contain a single JSX element or fragment.")},b=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${b(e.object)}.${e.property.name}`;default:return ""}},T=(e,n)=>{if(!e||typeof e!="object")return;let t=e;typeof t.type=="string"&&(n(t),Object.values(t).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>T(o,n));return}typeof r=="object"&&T(r,n);}}));},D=(e,n)=>{let t=N(e);if(!t)return [];let r=[];X.lastIndex=0;let o=0,s;for(;s=X.exec(t);){let c=s.index,i=t.slice(o,c);i&&r.push(i);let p=s[0];n.has(p)?r.push(n.get(p)):r.push(p),o=c+p.length;}let a=t.slice(o);return a&&r.push(a),r},oe=(e,n)=>{let t=new Set;return T(e,r=>{r.type==="Identifier"&&n.placeholders.has(r.name)&&t.add(r.name);}),Array.from(t)},I=(e,n,t)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return t(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=n.source.slice(r,o),a=oe(e,n);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>n.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`)}},se=e=>{let n=e.replace(/[^a-zA-Z0-9_$]/g,"");return n?/[A-Za-z_$]/.test(n[0])?n:`Component${n}`:"Component"},ae=(e,n,t)=>{let r=t.get(e);if(r)return r;let o=e.displayName||e.name||`Component${n.length}`,s=se(o??""),a=s,c=1;for(;n.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return n.push(i),t.set(e,i),i},L=(e,n)=>{let t=e.raw??e,r=new Map,o=[],s=new Map,a=t[0]??"",c=re++,i=0,p=[];for(let l=0;l<n.length;l++){let u=t[l]??"",d=t[l+1]??"",m=n[l],g=te.test(u)||ne.test(u),x;if(g&&typeof m=="function")x=ae(m,o,s).name;else if(g&&typeof m=="string")x=m;else {let y=`${R}${c}_${i++}__`;r.set(y,m),x=y;}let h=a.length;a+=x;let f=a.length;p.push({index:l,sourceStart:h,sourceEnd:f}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var $=e=>{let{getIdentifierName:n,evaluateExpressionWithNamespace:t}=e;return (r,o,s)=>{let a={},c=(i,p)=>{a[i]=p;};return r.forEach(i=>{if(i.type==="JSXSpreadAttribute"){let l=t(i.argument,o,s);l&&typeof l=="object"&&!Array.isArray(l)&&Object.assign(a,l);return}let p=n(i.name);if(!i.value){c(p,true);return}if(i.value.type==="Literal"){c(p,i.value.value);return}if(i.value.type==="JSXExpressionContainer"){if(i.value.expression.type==="JSXEmptyExpression")return;c(p,t(i.value.expression,o,s));}}),a}};var O="Capture",F=e=>e.endsWith(O)?{eventName:e.slice(0,-O.length),capture:true}:{eventName:e,capture:false},_=e=>{if(!e.startsWith("on"))return null;if(e.startsWith("on:")){let r=e.slice(3);if(!r)return null;let o=F(r);return o.eventName?o:null}let n=e.slice(2);if(!n)return null;let t=F(n);return t.eventName?{eventName:t.eventName.toLowerCase(),capture:t.capture}:null},H=e=>!e||typeof e!="object"?false:"handleEvent"in e&&typeof e.handleEvent=="function",le=e=>{if(!e||typeof e!="object"||!("handler"in e))return false;let n=e.handler;return typeof n=="function"?true:H(n)},B=(e,n)=>{if(typeof n=="function"||H(n))return {listener:n};if(!le(n))return null;let t=n,r=t.options?{...t.options}:void 0,o=(s,a)=>{a!=null&&(r||(r={}),r[s]=a);};return o("capture",t.capture),o("once",t.once),o("passive",t.passive),o("signal",t.signal??void 0),{listener:t.handler,options:r}};var xe=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},ye=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Ee=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",V=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",he={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},z=e=>{if(!(!e||e==="html"||e==="svg"))return he[e]},be=e=>e==="svg"?svg:html,w=(e,n,t)=>{let r=z(n.space),o=String(t);if(r){e.setAttributeNS(r,n.attribute,o);return}e.setAttribute(n.attribute,o);},W=(e,n)=>{let t=z(n.space);if(t){e.removeAttributeNS(t,n.attribute);return}e.removeAttribute(n.attribute);},C=(e,n)=>Array.isArray(e)?e.filter(Boolean).join(n):e,Se=(e,n,t)=>n==="svg"||!t.property||t.property.includes(":")?false:t.property in e,Te=(e,n,t,r)=>{if(t==null)return;if(n==="dangerouslySetInnerHTML"&&typeof t=="object"&&t&&"__html"in t){e.innerHTML=String(t.__html??"");return}if(n==="ref"){if(typeof t=="function"){t(e);return}if(t&&typeof t=="object"){t.current=e;return}}if(n==="style"&&typeof t=="object"&&t!==null){let p=t,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=_(n);if(o){let p=B(n,t);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(be(r),n),a=e,c=Se(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!t:t;a[s.property]=p;return}if(s.boolean){let p=!!t;c&&(a[s.property]=p),p?w(e,s,""):W(e,s);return}let i=t;if(s.spaceSeparated?i=C(t," "):s.commaSeparated?i=C(t,","):s.commaOrSpaceSeparated&&(i=C(t," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){W(e,s);return}if(i===true){w(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&w(e,s,i);},E=(e,n)=>{if(n!=null&&typeof n!="boolean"){if(V(n))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(n)){n.forEach(t=>E(e,t));return}if(Ee(n)){for(let t of n)E(e,t);return}if(ye(n)){e.appendChild(n);return}e.appendChild(document.createTextNode(String(n)));}},J=(e,n,t)=>I(e,n,r=>k(r,n,t)),U=$({getIdentifierName:b,evaluateExpressionWithNamespace:J}),we=(e,n,t,r)=>{let o=U(n,t,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){E(e,a);return}Te(e,s,a,r);}});},A=(e,n,t)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{D(o.value,n.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(J(o.expression,n,t));break}case "JSXSpreadChild":{let s=J(o.expression,n,t);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(k(o,n,t));break}}}),r},Ce=(e,n,t,r)=>{let o=U(e.openingElement.attributes,n,r),s=A(e.children,n,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=t(o);if(V(a))throw new Error("Async jsx components are not supported.");return a},Je=(e,n,t)=>{let r=e.openingElement,o=b(r.name),s=n.components.get(o);if(s)return Ce(e,n,s,t);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":t,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return we(i,r.attributes,n,a),A(e.children,n,c).forEach(l=>E(i,l)),i},k=(e,n,t)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return A(e.children,n,t).forEach(s=>E(r,s)),r}return Je(e,n,t)},Ae=(e,...n)=>{xe();let t=L(e,n),r=parseSync("inline.jsx",t.source,P);if(r.errors.length>0)throw new Error(S("jsx",e,t.diagnostics,r.errors[0]));let o=M(r.program),s={source:t.source,placeholders:t.placeholders,components:new Map(t.bindings.map(a=>[a.name,a.value]))};return k(o,s,null)};
7
+ ${r.helpMessage}`),f};var te=/<\s*$/,ne=/<\/\s*$/,R="__KX_EXPR__",X=new RegExp(`${R}\\d+_\\d+__`,"g"),re=0;var P={lang:"jsx",sourceType:"module",range:true,preserveParens:true},M=e=>{for(let n of e.body)if(n.type==="ExpressionStatement"){let t=n.expression;if(t.type==="JSXElement"||t.type==="JSXFragment")return t}throw new Error("The jsx template must contain a single JSX element or fragment.")},b=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${b(e.object)}.${e.property.name}`;default:return ""}},T=(e,n)=>{if(!e||typeof e!="object")return;let t=e;typeof t.type=="string"&&(n(t),Object.values(t).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>T(o,n));return}typeof r=="object"&&T(r,n);}}));},D=(e,n)=>{let t=N(e);if(!t)return [];let r=[];X.lastIndex=0;let o=0,s;for(;s=X.exec(t);){let c=s.index,i=t.slice(o,c);i&&r.push(i);let p=s[0];n.has(p)?r.push(n.get(p)):r.push(p),o=c+p.length;}let a=t.slice(o);return a&&r.push(a),r},oe=(e,n)=>{let t=new Set;return T(e,r=>{r.type==="Identifier"&&n.placeholders.has(r.name)&&t.add(r.name);}),Array.from(t)},I=(e,n,t)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return t(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=n.source.slice(r,o),a=oe(e,n);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>n.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`,{cause:c})}},se=e=>{let n=e.replace(/[^a-zA-Z0-9_$]/g,"");return n?/[A-Za-z_$]/.test(n[0])?n:`Component${n}`:"Component"},ae=(e,n,t)=>{let r=t.get(e);if(r)return r;let o=e.displayName||e.name||`Component${n.length}`,s=se(o??""),a=s,c=1;for(;n.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return n.push(i),t.set(e,i),i},L=(e,n)=>{let t=e.raw??e,r=new Map,o=[],s=new Map,a=t[0]??"",c=re++,i=0,p=[];for(let l=0;l<n.length;l++){let u=t[l]??"",d=t[l+1]??"",m=n[l],g=te.test(u)||ne.test(u),x;if(g&&typeof m=="function")x=ae(m,o,s).name;else if(g&&typeof m=="string")x=m;else {let y=`${R}${c}_${i++}__`;r.set(y,m),x=y;}let h=a.length;a+=x;let f=a.length;p.push({index:l,sourceStart:h,sourceEnd:f}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var $=e=>{let{getIdentifierName:n,evaluateExpressionWithNamespace:t}=e;return (r,o,s)=>{let a={},c=(i,p)=>{a[i]=p;};return r.forEach(i=>{if(i.type==="JSXSpreadAttribute"){let l=t(i.argument,o,s);l&&typeof l=="object"&&!Array.isArray(l)&&Object.assign(a,l);return}let p=n(i.name);if(!i.value){c(p,true);return}if(i.value.type==="Literal"){c(p,i.value.value);return}if(i.value.type==="JSXExpressionContainer"){if(i.value.expression.type==="JSXEmptyExpression")return;c(p,t(i.value.expression,o,s));}}),a}};var O="Capture",F=e=>e.endsWith(O)?{eventName:e.slice(0,-O.length),capture:true}:{eventName:e,capture:false},_=e=>{if(!e.startsWith("on"))return null;if(e.startsWith("on:")){let r=e.slice(3);if(!r)return null;let o=F(r);return o.eventName?o:null}let n=e.slice(2);if(!n)return null;let t=F(n);return t.eventName?{eventName:t.eventName.toLowerCase(),capture:t.capture}:null},H=e=>!e||typeof e!="object"?false:"handleEvent"in e&&typeof e.handleEvent=="function",le=e=>{if(!e||typeof e!="object"||!("handler"in e))return false;let n=e.handler;return typeof n=="function"?true:H(n)},B=(e,n)=>{if(typeof n=="function"||H(n))return {listener:n};if(!le(n))return null;let t=n,r=t.options?{...t.options}:void 0,o=(s,a)=>{a!=null&&(r||(r={}),r[s]=a);};return o("capture",t.capture),o("once",t.once),o("passive",t.passive),o("signal",t.signal??void 0),{listener:t.handler,options:r}};var xe=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},ye=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Ee=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",V=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",he={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},z=e=>{if(!(!e||e==="html"||e==="svg"))return he[e]},be=e=>e==="svg"?svg:html,w=(e,n,t)=>{let r=z(n.space),o=String(t);if(r){e.setAttributeNS(r,n.attribute,o);return}e.setAttribute(n.attribute,o);},W=(e,n)=>{let t=z(n.space);if(t){e.removeAttributeNS(t,n.attribute);return}e.removeAttribute(n.attribute);},C=(e,n)=>Array.isArray(e)?e.filter(Boolean).join(n):e,Se=(e,n,t)=>n==="svg"||!t.property||t.property.includes(":")?false:t.property in e,Te=(e,n,t,r)=>{if(t==null)return;if(n==="dangerouslySetInnerHTML"&&typeof t=="object"&&t&&"__html"in t){e.innerHTML=String(t.__html??"");return}if(n==="ref"){if(typeof t=="function"){t(e);return}if(t&&typeof t=="object"){t.current=e;return}}if(n==="style"&&typeof t=="object"&&t!==null){let p=t,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=_(n);if(o){let p=B(n,t);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(be(r),n),a=e,c=Se(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!t:t;a[s.property]=p;return}if(s.boolean){let p=!!t;c&&(a[s.property]=p),p?w(e,s,""):W(e,s);return}let i=t;if(s.spaceSeparated?i=C(t," "):s.commaSeparated?i=C(t,","):s.commaOrSpaceSeparated&&(i=C(t," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){W(e,s);return}if(i===true){w(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&w(e,s,i);},E=(e,n)=>{if(n!=null&&typeof n!="boolean"){if(V(n))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(n)){n.forEach(t=>E(e,t));return}if(Ee(n)){for(let t of n)E(e,t);return}if(ye(n)){e.appendChild(n);return}e.appendChild(document.createTextNode(String(n)));}},J=(e,n,t)=>I(e,n,r=>k(r,n,t)),U=$({getIdentifierName:b,evaluateExpressionWithNamespace:J}),we=(e,n,t,r)=>{let o=U(n,t,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){E(e,a);return}Te(e,s,a,r);}});},A=(e,n,t)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{D(o.value,n.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(J(o.expression,n,t));break}case "JSXSpreadChild":{let s=J(o.expression,n,t);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(k(o,n,t));break}}}),r},Ce=(e,n,t,r)=>{let o=U(e.openingElement.attributes,n,r),s=A(e.children,n,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=t(o);if(V(a))throw new Error("Async jsx components are not supported.");return a},Je=(e,n,t)=>{let r=e.openingElement,o=b(r.name),s=n.components.get(o);if(s)return Ce(e,n,s,t);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":t,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return we(i,r.attributes,n,a),A(e.children,n,c).forEach(l=>E(i,l)),i},k=(e,n,t)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return A(e.children,n,t).forEach(s=>E(r,s)),r}return Je(e,n,t)},Ae=(e,...n)=>{xe();let t=L(e,n),r=parseSync("inline.jsx",t.source,P);if(r.errors.length>0)throw new Error(S("jsx",e,t.diagnostics,r.errors[0]));let o=M(r.program),s={source:t.source,placeholders:t.placeholders,components:new Map(t.bindings.map(a=>[a.name,a.value]))};return k(o,s,null)};
8
8
  export{Ae as jsx};
@@ -4,5 +4,5 @@ import {createRequire}from'module';import {parseSync}from'oxc-parser';import {fi
4
4
  --> ${e} template:${f.line}:${f.column}`,c.message&&(g+=`
5
5
  ${c.message}`),E&&(g+=`
6
6
  ${E}`),r.helpMessage&&(g+=`
7
- ${r.helpMessage}`),g};var Pe=/<\s*$/,$e=/<\/\s*$/,te="__KX_EXPR__",ee=new RegExp(`${te}\\d+_\\d+__`,"g"),Oe=0;var ne={lang:"jsx",sourceType:"module",range:true,preserveParens:true},re=e=>{for(let t of e.body)if(t.type==="ExpressionStatement"){let n=t.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},w=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${w(e.object)}.${e.property.name}`;default:return ""}},N=(e,t)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(t(n),Object.values(n).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>N(o,t));return}typeof r=="object"&&N(r,t);}}));},oe=(e,t)=>{let n=Y(e);if(!n)return [];let r=[];ee.lastIndex=0;let o=0,s;for(;s=ee.exec(n);){let c=s.index,i=n.slice(o,c);i&&r.push(i);let p=s[0];t.has(p)?r.push(t.get(p)):r.push(p),o=c+p.length;}let a=n.slice(o);return a&&r.push(a),r},_e=(e,t)=>{let n=new Set;return N(e,r=>{r.type==="Identifier"&&t.placeholders.has(r.name)&&n.add(r.name);}),Array.from(n)},se=(e,t,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=t.source.slice(r,o),a=_e(e,t);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>t.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`)}},He=e=>{let t=e.replace(/[^a-zA-Z0-9_$]/g,"");return t?/[A-Za-z_$]/.test(t[0])?t:`Component${t}`:"Component"},Fe=(e,t,n)=>{let r=n.get(e);if(r)return r;let o=e.displayName||e.name||`Component${t.length}`,s=He(o??""),a=s,c=1;for(;t.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return t.push(i),n.set(e,i),i},ae=(e,t)=>{let n=e.raw??e,r=new Map,o=[],s=new Map,a=n[0]??"",c=Oe++,i=0,p=[];for(let l=0;l<t.length;l++){let u=n[l]??"",d=n[l+1]??"",m=t[l],f=Pe.test(u)||$e.test(u),x;if(f&&typeof m=="function")x=Fe(m,o,s).name;else if(f&&typeof m=="string")x=m;else {let y=`${te}${c}_${i++}__`;r.set(y,m),x=y;}let E=a.length;a+=x;let g=a.length;p.push({index:l,sourceStart:E,sourceEnd:g}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var ze=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},Ge=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Ke=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",pe=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",qe={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ce=e=>{if(!(!e||e==="html"||e==="svg"))return qe[e]},Ze=e=>e==="svg"?svg:html,M=(e,t,n)=>{let r=ce(t.space),o=String(n);if(r){e.setAttributeNS(r,t.attribute,o);return}e.setAttribute(t.attribute,o);},ie=(e,t)=>{let n=ce(t.space);if(n){e.removeAttributeNS(n,t.attribute);return}e.removeAttribute(t.attribute);},R=(e,t)=>Array.isArray(e)?e.filter(Boolean).join(t):e,Ye=(e,t,n)=>t==="svg"||!n.property||n.property.includes(":")?false:n.property in e,Qe=(e,t,n,r)=>{if(n==null)return;if(t==="dangerouslySetInnerHTML"&&typeof n=="object"&&n&&"__html"in n){e.innerHTML=String(n.__html??"");return}if(t==="ref"){if(typeof n=="function"){n(e);return}if(n&&typeof n=="object"){n.current=e;return}}if(t==="style"&&typeof n=="object"&&n!==null){let p=n,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=F(t);if(o){let p=B(t,n);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(Ze(r),t),a=e,c=Ye(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!n:n;a[s.property]=p;return}if(s.boolean){let p=!!n;c&&(a[s.property]=p),p?M(e,s,""):ie(e,s);return}let i=n;if(s.spaceSeparated?i=R(n," "):s.commaSeparated?i=R(n,","):s.commaOrSpaceSeparated&&(i=R(n," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){ie(e,s);return}if(i===true){M(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&M(e,s,i);},h=(e,t)=>{if(t!=null&&typeof t!="boolean"){if(pe(t))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(t)){t.forEach(n=>h(e,n));return}if(Ke(t)){for(let n of t)h(e,n);return}if(Ge(t)){e.appendChild(t);return}e.appendChild(document.createTextNode(String(t)));}},X=(e,t,n)=>se(e,t,r=>j(r,t,n)),le=P({getIdentifierName:w,evaluateExpressionWithNamespace:X}),et=(e,t,n,r)=>{let o=le(t,n,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){h(e,a);return}Qe(e,s,a,r);}});},L=(e,t,n)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{oe(o.value,t.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(X(o.expression,t,n));break}case "JSXSpreadChild":{let s=X(o.expression,t,n);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(j(o,t,n));break}}}),r},tt=(e,t,n,r)=>{let o=le(e.openingElement.attributes,t,r),s=L(e.children,t,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=n(o);if(pe(a))throw new Error("Async jsx components are not supported.");return a},nt=(e,t,n)=>{let r=e.openingElement,o=w(r.name),s=t.components.get(o);if(s)return tt(e,t,s,n);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":n,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return et(i,r.attributes,t,a),L(e.children,t,c).forEach(l=>h(i,l)),i},j=(e,t,n)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return L(e.children,t,n).forEach(s=>h(r,s)),r}return nt(e,t,n)},me=(e,...t)=>{ze();let n=ae(e,t),r=parseSync("inline.jsx",n.source,ne);if(r.errors.length>0)throw new Error(v("jsx",e,n.diagnostics,r.errors[0]));let o=re(r.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return j(o,s,null)};z({mode:"always"});Z();var Dt=me;
7
+ ${r.helpMessage}`),g};var Pe=/<\s*$/,$e=/<\/\s*$/,te="__KX_EXPR__",ee=new RegExp(`${te}\\d+_\\d+__`,"g"),Oe=0;var ne={lang:"jsx",sourceType:"module",range:true,preserveParens:true},re=e=>{for(let t of e.body)if(t.type==="ExpressionStatement"){let n=t.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},w=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${w(e.object)}.${e.property.name}`;default:return ""}},N=(e,t)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(t(n),Object.values(n).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>N(o,t));return}typeof r=="object"&&N(r,t);}}));},oe=(e,t)=>{let n=Y(e);if(!n)return [];let r=[];ee.lastIndex=0;let o=0,s;for(;s=ee.exec(n);){let c=s.index,i=n.slice(o,c);i&&r.push(i);let p=s[0];t.has(p)?r.push(t.get(p)):r.push(p),o=c+p.length;}let a=n.slice(o);return a&&r.push(a),r},_e=(e,t)=>{let n=new Set;return N(e,r=>{r.type==="Identifier"&&t.placeholders.has(r.name)&&n.add(r.name);}),Array.from(n)},se=(e,t,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=t.source.slice(r,o),a=_e(e,t);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>t.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`,{cause:c})}},He=e=>{let t=e.replace(/[^a-zA-Z0-9_$]/g,"");return t?/[A-Za-z_$]/.test(t[0])?t:`Component${t}`:"Component"},Fe=(e,t,n)=>{let r=n.get(e);if(r)return r;let o=e.displayName||e.name||`Component${t.length}`,s=He(o??""),a=s,c=1;for(;t.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return t.push(i),n.set(e,i),i},ae=(e,t)=>{let n=e.raw??e,r=new Map,o=[],s=new Map,a=n[0]??"",c=Oe++,i=0,p=[];for(let l=0;l<t.length;l++){let u=n[l]??"",d=n[l+1]??"",m=t[l],f=Pe.test(u)||$e.test(u),x;if(f&&typeof m=="function")x=Fe(m,o,s).name;else if(f&&typeof m=="string")x=m;else {let y=`${te}${c}_${i++}__`;r.set(y,m),x=y;}let E=a.length;a+=x;let g=a.length;p.push({index:l,sourceStart:E,sourceEnd:g}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var ze=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},Ge=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Ke=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",pe=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",qe={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ce=e=>{if(!(!e||e==="html"||e==="svg"))return qe[e]},Ze=e=>e==="svg"?svg:html,M=(e,t,n)=>{let r=ce(t.space),o=String(n);if(r){e.setAttributeNS(r,t.attribute,o);return}e.setAttribute(t.attribute,o);},ie=(e,t)=>{let n=ce(t.space);if(n){e.removeAttributeNS(n,t.attribute);return}e.removeAttribute(t.attribute);},R=(e,t)=>Array.isArray(e)?e.filter(Boolean).join(t):e,Ye=(e,t,n)=>t==="svg"||!n.property||n.property.includes(":")?false:n.property in e,Qe=(e,t,n,r)=>{if(n==null)return;if(t==="dangerouslySetInnerHTML"&&typeof n=="object"&&n&&"__html"in n){e.innerHTML=String(n.__html??"");return}if(t==="ref"){if(typeof n=="function"){n(e);return}if(n&&typeof n=="object"){n.current=e;return}}if(t==="style"&&typeof n=="object"&&n!==null){let p=n,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=F(t);if(o){let p=B(t,n);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(Ze(r),t),a=e,c=Ye(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!n:n;a[s.property]=p;return}if(s.boolean){let p=!!n;c&&(a[s.property]=p),p?M(e,s,""):ie(e,s);return}let i=n;if(s.spaceSeparated?i=R(n," "):s.commaSeparated?i=R(n,","):s.commaOrSpaceSeparated&&(i=R(n," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){ie(e,s);return}if(i===true){M(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&M(e,s,i);},h=(e,t)=>{if(t!=null&&typeof t!="boolean"){if(pe(t))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(t)){t.forEach(n=>h(e,n));return}if(Ke(t)){for(let n of t)h(e,n);return}if(Ge(t)){e.appendChild(t);return}e.appendChild(document.createTextNode(String(t)));}},X=(e,t,n)=>se(e,t,r=>j(r,t,n)),le=P({getIdentifierName:w,evaluateExpressionWithNamespace:X}),et=(e,t,n,r)=>{let o=le(t,n,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){h(e,a);return}Qe(e,s,a,r);}});},L=(e,t,n)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{oe(o.value,t.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(X(o.expression,t,n));break}case "JSXSpreadChild":{let s=X(o.expression,t,n);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(j(o,t,n));break}}}),r},tt=(e,t,n,r)=>{let o=le(e.openingElement.attributes,t,r),s=L(e.children,t,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=n(o);if(pe(a))throw new Error("Async jsx components are not supported.");return a},nt=(e,t,n)=>{let r=e.openingElement,o=w(r.name),s=t.components.get(o);if(s)return tt(e,t,s,n);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":n,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return et(i,r.attributes,t,a),L(e.children,t,c).forEach(l=>h(i,l)),i},j=(e,t,n)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return L(e.children,t,n).forEach(s=>h(r,s)),r}return nt(e,t,n)},me=(e,...t)=>{ze();let n=ae(e,t),r=parseSync("inline.jsx",n.source,ne);if(r.errors.length>0)throw new Error(v("jsx",e,n.diagnostics,r.errors[0]));let o=re(r.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return j(o,s,null)};z({mode:"always"});Z();var Dt=me;
8
8
  export{Dt as jsx};
@@ -4,5 +4,5 @@ import {createRequire}from'module';import {parseSync}from'oxc-parser';import {fi
4
4
  --> ${e} template:${f.line}:${f.column}`,c.message&&(g+=`
5
5
  ${c.message}`),y&&(g+=`
6
6
  ${y}`),r.helpMessage&&(g+=`
7
- ${r.helpMessage}`),g};var he=/<\s*$/,Ee=/<\/\s*$/,j="__KX_EXPR__",I=new RegExp(`${j}\\d+_\\d+__`,"g"),ye=0;var O={lang:"jsx",sourceType:"module",range:true,preserveParens:true},$=e=>{for(let n of e.body)if(n.type==="ExpressionStatement"){let t=n.expression;if(t.type==="JSXElement"||t.type==="JSXFragment")return t}throw new Error("The jsx template must contain a single JSX element or fragment.")},b=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${b(e.object)}.${e.property.name}`;default:return ""}},J=(e,n)=>{if(!e||typeof e!="object")return;let t=e;typeof t.type=="string"&&(n(t),Object.values(t).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>J(o,n));return}typeof r=="object"&&J(r,n);}}));},_=(e,n)=>{let t=L(e);if(!t)return [];let r=[];I.lastIndex=0;let o=0,s;for(;s=I.exec(t);){let c=s.index,i=t.slice(o,c);i&&r.push(i);let p=s[0];n.has(p)?r.push(n.get(p)):r.push(p),o=c+p.length;}let a=t.slice(o);return a&&r.push(a),r},be=(e,n)=>{let t=new Set;return J(e,r=>{r.type==="Identifier"&&n.placeholders.has(r.name)&&t.add(r.name);}),Array.from(t)},F=(e,n,t)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return t(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=n.source.slice(r,o),a=be(e,n);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>n.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`)}},Se=e=>{let n=e.replace(/[^a-zA-Z0-9_$]/g,"");return n?/[A-Za-z_$]/.test(n[0])?n:`Component${n}`:"Component"},we=(e,n,t)=>{let r=t.get(e);if(r)return r;let o=e.displayName||e.name||`Component${n.length}`,s=Se(o??""),a=s,c=1;for(;n.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return n.push(i),t.set(e,i),i},H=(e,n)=>{let t=e.raw??e,r=new Map,o=[],s=new Map,a=t[0]??"",c=ye++,i=0,p=[];for(let l=0;l<n.length;l++){let u=t[l]??"",d=t[l+1]??"",m=n[l],f=he.test(u)||Ee.test(u),x;if(f&&typeof m=="function")x=we(m,o,s).name;else if(f&&typeof m=="string")x=m;else {let h=`${j}${c}_${i++}__`;r.set(h,m),x=h;}let y=a.length;a+=x;let g=a.length;p.push({index:l,sourceStart:y,sourceEnd:g}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var B=e=>{let{getIdentifierName:n,evaluateExpressionWithNamespace:t}=e;return (r,o,s)=>{let a={},c=(i,p)=>{a[i]=p;};return r.forEach(i=>{if(i.type==="JSXSpreadAttribute"){let l=t(i.argument,o,s);l&&typeof l=="object"&&!Array.isArray(l)&&Object.assign(a,l);return}let p=n(i.name);if(!i.value){c(p,true);return}if(i.value.type==="Literal"){c(p,i.value.value);return}if(i.value.type==="JSXExpressionContainer"){if(i.value.expression.type==="JSXEmptyExpression")return;c(p,t(i.value.expression,o,s));}}),a}};var V="Capture",z=e=>e.endsWith(V)?{eventName:e.slice(0,-V.length),capture:true}:{eventName:e,capture:false},U=e=>{if(!e.startsWith("on"))return null;if(e.startsWith("on:")){let r=e.slice(3);if(!r)return null;let o=z(r);return o.eventName?o:null}let n=e.slice(2);if(!n)return null;let t=z(n);return t.eventName?{eventName:t.eventName.toLowerCase(),capture:t.capture}:null},q=e=>!e||typeof e!="object"?false:"handleEvent"in e&&typeof e.handleEvent=="function",ke=e=>{if(!e||typeof e!="object"||!("handler"in e))return false;let n=e.handler;return typeof n=="function"?true:q(n)},K=(e,n)=>{if(typeof n=="function"||q(n))return {listener:n};if(!ke(n))return null;let t=n,r=t.options?{...t.options}:void 0,o=(s,a)=>{a!=null&&(r||(r={}),r[s]=a);};return o("capture",t.capture),o("once",t.once),o("passive",t.passive),o("signal",t.signal??void 0),{listener:t.handler,options:r}};var Me=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},De=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Le=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",Z=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",Pe={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Y=e=>{if(!(!e||e==="html"||e==="svg"))return Pe[e]},Ie=e=>e==="svg"?svg:html,C=(e,n,t)=>{let r=Y(n.space),o=String(t);if(r){e.setAttributeNS(r,n.attribute,o);return}e.setAttribute(n.attribute,o);},G=(e,n)=>{let t=Y(n.space);if(t){e.removeAttributeNS(t,n.attribute);return}e.removeAttribute(n.attribute);},k=(e,n)=>Array.isArray(e)?e.filter(Boolean).join(n):e,je=(e,n,t)=>n==="svg"||!t.property||t.property.includes(":")?false:t.property in e,Oe=(e,n,t,r)=>{if(t==null)return;if(n==="dangerouslySetInnerHTML"&&typeof t=="object"&&t&&"__html"in t){e.innerHTML=String(t.__html??"");return}if(n==="ref"){if(typeof t=="function"){t(e);return}if(t&&typeof t=="object"){t.current=e;return}}if(n==="style"&&typeof t=="object"&&t!==null){let p=t,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=U(n);if(o){let p=K(n,t);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(Ie(r),n),a=e,c=je(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!t:t;a[s.property]=p;return}if(s.boolean){let p=!!t;c&&(a[s.property]=p),p?C(e,s,""):G(e,s);return}let i=t;if(s.spaceSeparated?i=k(t," "):s.commaSeparated?i=k(t,","):s.commaOrSpaceSeparated&&(i=k(t," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){G(e,s);return}if(i===true){C(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&C(e,s,i);},E=(e,n)=>{if(n!=null&&typeof n!="boolean"){if(Z(n))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(n)){n.forEach(t=>E(e,t));return}if(Le(n)){for(let t of n)E(e,t);return}if(De(n)){e.appendChild(n);return}e.appendChild(document.createTextNode(String(n)));}},N=(e,n,t)=>F(e,n,r=>v(r,n,t)),Q=B({getIdentifierName:b,evaluateExpressionWithNamespace:N}),$e=(e,n,t,r)=>{let o=Q(n,t,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){E(e,a);return}Oe(e,s,a,r);}});},A=(e,n,t)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{_(o.value,n.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(N(o.expression,n,t));break}case "JSXSpreadChild":{let s=N(o.expression,n,t);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(v(o,n,t));break}}}),r},_e=(e,n,t,r)=>{let o=Q(e.openingElement.attributes,n,r),s=A(e.children,n,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=t(o);if(Z(a))throw new Error("Async jsx components are not supported.");return a},Fe=(e,n,t)=>{let r=e.openingElement,o=b(r.name),s=n.components.get(o);if(s)return _e(e,n,s,t);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":t,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return $e(i,r.attributes,n,a),A(e.children,n,c).forEach(l=>E(i,l)),i},v=(e,n,t)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return A(e.children,n,t).forEach(s=>E(r,s)),r}return Fe(e,n,t)},ee=(e,...n)=>{Me();let t=H(e,n),r=parseSync("inline.jsx",t.source,O);if(r.errors.length>0)throw new Error(T("jsx",e,t.diagnostics,r.errors[0]));let o=$(r.program),s={source:t.source,placeholders:t.placeholders,components:new Map(t.bindings.map(a=>[a.name,a.value]))};return v(o,s,null)};D();var at=ee;
7
+ ${r.helpMessage}`),g};var he=/<\s*$/,Ee=/<\/\s*$/,j="__KX_EXPR__",I=new RegExp(`${j}\\d+_\\d+__`,"g"),ye=0;var O={lang:"jsx",sourceType:"module",range:true,preserveParens:true},$=e=>{for(let n of e.body)if(n.type==="ExpressionStatement"){let t=n.expression;if(t.type==="JSXElement"||t.type==="JSXFragment")return t}throw new Error("The jsx template must contain a single JSX element or fragment.")},b=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${b(e.object)}.${e.property.name}`;default:return ""}},J=(e,n)=>{if(!e||typeof e!="object")return;let t=e;typeof t.type=="string"&&(n(t),Object.values(t).forEach(r=>{if(r){if(Array.isArray(r)){r.forEach(o=>J(o,n));return}typeof r=="object"&&J(r,n);}}));},_=(e,n)=>{let t=L(e);if(!t)return [];let r=[];I.lastIndex=0;let o=0,s;for(;s=I.exec(t);){let c=s.index,i=t.slice(o,c);i&&r.push(i);let p=s[0];n.has(p)?r.push(n.get(p)):r.push(p),o=c+p.length;}let a=t.slice(o);return a&&r.push(a),r},be=(e,n)=>{let t=new Set;return J(e,r=>{r.type==="Identifier"&&n.placeholders.has(r.name)&&t.add(r.name);}),Array.from(t)},F=(e,n,t)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return t(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[r,o]=e.range,s=n.source.slice(r,o),a=be(e,n);try{let c=new Function(...a,`"use strict"; return (${s});`),i=a.map(p=>n.placeholders.get(p));return c(...i)}catch(c){throw new Error(`Failed to evaluate expression ${s}: ${c.message}`,{cause:c})}},Se=e=>{let n=e.replace(/[^a-zA-Z0-9_$]/g,"");return n?/[A-Za-z_$]/.test(n[0])?n:`Component${n}`:"Component"},we=(e,n,t)=>{let r=t.get(e);if(r)return r;let o=e.displayName||e.name||`Component${n.length}`,s=Se(o??""),a=s,c=1;for(;n.some(p=>p.name===a);)a=`${s}${c++}`;let i={name:a,value:e};return n.push(i),t.set(e,i),i},H=(e,n)=>{let t=e.raw??e,r=new Map,o=[],s=new Map,a=t[0]??"",c=ye++,i=0,p=[];for(let l=0;l<n.length;l++){let u=t[l]??"",d=t[l+1]??"",m=n[l],f=he.test(u)||Ee.test(u),x;if(f&&typeof m=="function")x=we(m,o,s).name;else if(f&&typeof m=="string")x=m;else {let h=`${j}${c}_${i++}__`;r.set(h,m),x=h;}let y=a.length;a+=x;let g=a.length;p.push({index:l,sourceStart:y,sourceEnd:g}),a+=d;}return {source:a,placeholders:r,bindings:o,diagnostics:{expressionRanges:p}}};var B=e=>{let{getIdentifierName:n,evaluateExpressionWithNamespace:t}=e;return (r,o,s)=>{let a={},c=(i,p)=>{a[i]=p;};return r.forEach(i=>{if(i.type==="JSXSpreadAttribute"){let l=t(i.argument,o,s);l&&typeof l=="object"&&!Array.isArray(l)&&Object.assign(a,l);return}let p=n(i.name);if(!i.value){c(p,true);return}if(i.value.type==="Literal"){c(p,i.value.value);return}if(i.value.type==="JSXExpressionContainer"){if(i.value.expression.type==="JSXEmptyExpression")return;c(p,t(i.value.expression,o,s));}}),a}};var V="Capture",z=e=>e.endsWith(V)?{eventName:e.slice(0,-V.length),capture:true}:{eventName:e,capture:false},U=e=>{if(!e.startsWith("on"))return null;if(e.startsWith("on:")){let r=e.slice(3);if(!r)return null;let o=z(r);return o.eventName?o:null}let n=e.slice(2);if(!n)return null;let t=z(n);return t.eventName?{eventName:t.eventName.toLowerCase(),capture:t.capture}:null},q=e=>!e||typeof e!="object"?false:"handleEvent"in e&&typeof e.handleEvent=="function",ke=e=>{if(!e||typeof e!="object"||!("handler"in e))return false;let n=e.handler;return typeof n=="function"?true:q(n)},K=(e,n)=>{if(typeof n=="function"||q(n))return {listener:n};if(!ke(n))return null;let t=n,r=t.options?{...t.options}:void 0,o=(s,a)=>{a!=null&&(r||(r={}),r[s]=a);};return o("capture",t.capture),o("once",t.once),o("passive",t.passive),o("signal",t.signal??void 0),{listener:t.handler,options:r}};var Me=()=>{if(typeof document>"u"||typeof document.createElement!="function")throw new Error("The jsx template tag requires a DOM-like environment (document missing).")},De=e=>typeof Node>"u"?false:e instanceof Node||e instanceof DocumentFragment,Le=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",Z=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",Pe={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Y=e=>{if(!(!e||e==="html"||e==="svg"))return Pe[e]},Ie=e=>e==="svg"?svg:html,C=(e,n,t)=>{let r=Y(n.space),o=String(t);if(r){e.setAttributeNS(r,n.attribute,o);return}e.setAttribute(n.attribute,o);},G=(e,n)=>{let t=Y(n.space);if(t){e.removeAttributeNS(t,n.attribute);return}e.removeAttribute(n.attribute);},k=(e,n)=>Array.isArray(e)?e.filter(Boolean).join(n):e,je=(e,n,t)=>n==="svg"||!t.property||t.property.includes(":")?false:t.property in e,Oe=(e,n,t,r)=>{if(t==null)return;if(n==="dangerouslySetInnerHTML"&&typeof t=="object"&&t&&"__html"in t){e.innerHTML=String(t.__html??"");return}if(n==="ref"){if(typeof t=="function"){t(e);return}if(t&&typeof t=="object"){t.current=e;return}}if(n==="style"&&typeof t=="object"&&t!==null){let p=t,l=e.style;if(!l)return;let u=l;Object.entries(p).forEach(([d,m])=>{if(m!=null){if(d.startsWith("--")){l.setProperty(d,String(m));return}u[d]=m;}});return}let o=U(n);if(o){let p=K(n,t);if(p){let l=p.options?{...p.options}:void 0;o.capture&&(l?l.capture=true:l={capture:true}),e.addEventListener(o.eventName,p.listener,l);return}}let s=find(Ie(r),n),a=e,c=je(e,r,s);if(s.mustUseProperty){let p=s.boolean?!!t:t;a[s.property]=p;return}if(s.boolean){let p=!!t;c&&(a[s.property]=p),p?C(e,s,""):G(e,s);return}let i=t;if(s.spaceSeparated?i=k(t," "):s.commaSeparated?i=k(t,","):s.commaOrSpaceSeparated&&(i=k(t," ")),s.booleanish&&typeof i=="boolean"&&(i=i?"true":"false"),s.overloadedBoolean){if(i===false){G(e,s);return}if(i===true){C(e,s,"");return}}if(c){a[s.property]=i;return}i!==false&&C(e,s,i);},E=(e,n)=>{if(n!=null&&typeof n!="boolean"){if(Z(n))throw new Error("Async values are not supported inside jsx template results.");if(Array.isArray(n)){n.forEach(t=>E(e,t));return}if(Le(n)){for(let t of n)E(e,t);return}if(De(n)){e.appendChild(n);return}e.appendChild(document.createTextNode(String(n)));}},N=(e,n,t)=>F(e,n,r=>v(r,n,t)),Q=B({getIdentifierName:b,evaluateExpressionWithNamespace:N}),$e=(e,n,t,r)=>{let o=Q(n,t,r);Object.entries(o).forEach(([s,a])=>{if(s!=="key"){if(s==="children"){E(e,a);return}Oe(e,s,a,r);}});},A=(e,n,t)=>{let r=[];return e.forEach(o=>{switch(o.type){case "JSXText":{_(o.value,n.placeholders).forEach(a=>{r.push(a);});break}case "JSXExpressionContainer":{if(o.expression.type==="JSXEmptyExpression")break;r.push(N(o.expression,n,t));break}case "JSXSpreadChild":{let s=N(o.expression,n,t);s!=null&&r.push(s);break}case "JSXElement":case "JSXFragment":{r.push(v(o,n,t));break}}}),r},_e=(e,n,t,r)=>{let o=Q(e.openingElement.attributes,n,r),s=A(e.children,n,r);s.length===1?o.children=s[0]:s.length>1&&(o.children=s);let a=t(o);if(Z(a))throw new Error("Async jsx components are not supported.");return a},Fe=(e,n,t)=>{let r=e.openingElement,o=b(r.name),s=n.components.get(o);if(s)return _e(e,n,s,t);if(/[A-Z]/.test(o[0]??""))throw new Error(`Unknown component "${o}". Did you interpolate it with the template literal?`);let a=o==="svg"?"svg":t,c=o==="foreignObject"?null:a,i=a==="svg"?document.createElementNS("http://www.w3.org/2000/svg",o):document.createElement(o);return $e(i,r.attributes,n,a),A(e.children,n,c).forEach(l=>E(i,l)),i},v=(e,n,t)=>{if(e.type==="JSXFragment"){let r=document.createDocumentFragment();return A(e.children,n,t).forEach(s=>E(r,s)),r}return Fe(e,n,t)},ee=(e,...n)=>{Me();let t=H(e,n),r=parseSync("inline.jsx",t.source,O);if(r.errors.length>0)throw new Error(T("jsx",e,t.diagnostics,r.errors[0]));let o=$(r.program),s={source:t.source,placeholders:t.placeholders,components:new Map(t.bindings.map(a=>[a.name,a.value]))};return v(o,s,null)};D();var at=ee;
8
8
  export{at as jsx};
@@ -4,4 +4,4 @@ import {parseSync}from'oxc-parser';import {createElement,Fragment}from'react';va
4
4
  --> ${e} template:${d.line}:${d.column}`,p.message&&(x+=`
5
5
  ${p.message}`),h&&(x+=`
6
6
  ${h}`),t.helpMessage&&(x+=`
7
- ${t.helpMessage}`),x};var W=/<\s*$/,H=/<\/\s*$/,A="__KX_EXPR__",X=new RegExp(`${A}\\d+_\\d+__`,"g"),U=0;var k={lang:"jsx",sourceType:"module",range:true,preserveParens:true},$=e=>{for(let r of e.body)if(r.type==="ExpressionStatement"){let n=r.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},S=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${S(e.object)}.${e.property.name}`;default:return ""}},b=(e,r)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(r(n),Object.values(n).forEach(t=>{if(t){if(Array.isArray(t)){t.forEach(o=>b(o,r));return}typeof t=="object"&&b(t,r);}}));},M=(e,r)=>{let n=R(e);if(!n)return [];let t=[];X.lastIndex=0;let o=0,s;for(;s=X.exec(n);){let p=s.index,i=n.slice(o,p);i&&t.push(i);let c=s[0];r.has(c)?t.push(r.get(c)):t.push(c),o=p+c.length;}let a=n.slice(o);return a&&t.push(a),t},V=(e,r)=>{let n=new Set;return b(e,t=>{t.type==="Identifier"&&r.placeholders.has(t.name)&&n.add(t.name);}),Array.from(n)},N=(e,r,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[t,o]=e.range,s=r.source.slice(t,o),a=V(e,r);try{let p=new Function(...a,`"use strict"; return (${s});`),i=a.map(c=>r.placeholders.get(c));return p(...i)}catch(p){throw new Error(`Failed to evaluate expression ${s}: ${p.message}`)}},Z=e=>{let r=e.replace(/[^a-zA-Z0-9_$]/g,"");return r?/[A-Za-z_$]/.test(r[0])?r:`Component${r}`:"Component"},G=(e,r,n)=>{let t=n.get(e);if(t)return t;let o=e.displayName||e.name||`Component${r.length}`,s=Z(o??""),a=s,p=1;for(;r.some(c=>c.name===a);)a=`${s}${p++}`;let i={name:a,value:e};return r.push(i),n.set(e,i),i},F=(e,r)=>{let n=e.raw??e,t=new Map,o=[],s=new Map,a=n[0]??"",p=U++,i=0,c=[];for(let m=0;m<r.length;m++){let l=n[m]??"",g=n[m+1]??"",u=r[m],d=W.test(l)||H.test(l),f;if(d&&typeof u=="function")f=G(u,o,s).name;else if(d&&typeof u=="string")f=u;else {let y=`${A}${p}_${i++}__`;t.set(y,u),f=y;}let h=a.length;a+=f;let x=a.length;c.push({index:m,sourceStart:h,sourceEnd:x}),a+=g;}return {source:a,placeholders:t,bindings:o,diagnostics:{expressionRanges:c}}};var Q=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",Y=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",E=(e,r)=>{if(r!=null&&typeof r!="boolean"){if(Y(r))throw new Error("Async values are not supported inside reactJsx template results.");if(Array.isArray(r)){r.forEach(n=>E(e,n));return}if(Q(r)){for(let n of r)E(e,n);return}e.push(r);}},T=(e,r)=>N(e,r,n=>C(n,r)),ee=(e,r)=>{let n={};return e.forEach(t=>{if(t.type==="JSXSpreadAttribute"){let s=T(t.argument,r);s&&typeof s=="object"&&!Array.isArray(s)&&Object.assign(n,s);return}let o=S(t.name);if(!t.value){n[o]=true;return}if(t.value.type==="Literal"){n[o]=t.value.value;return}if(t.value.type==="JSXExpressionContainer"){if(t.value.expression.type==="JSXEmptyExpression")return;n[o]=T(t.value.expression,r);}}),n},O=(e,r)=>{let n=[];return e.forEach(t=>{switch(t.type){case "JSXText":{M(t.value,r.placeholders).forEach(s=>E(n,s));break}case "JSXExpressionContainer":{if(t.expression.type==="JSXEmptyExpression")break;E(n,T(t.expression,r));break}case "JSXSpreadChild":{let o=T(t.expression,r);o!=null&&E(n,o);break}case "JSXElement":case "JSXFragment":{n.push(C(t,r));break}}}),n},I=(e,r,n)=>createElement(e,r,...n),te=(e,r)=>{let n=e.openingElement,t=S(n.name),o=r.components.get(t),s=ee(n.attributes,r),a=O(e.children,r);if(o)return I(o,s,a);if(/[A-Z]/.test(t[0]??""))throw new Error(`Unknown component "${t}". Did you interpolate it with the template literal?`);return I(t,s,a)},C=(e,r)=>{if(e.type==="JSXFragment"){let n=O(e.children,r);return createElement(Fragment,null,...n)}return te(e,r)},ne=(e,...r)=>{let n=F(e,r),t=parseSync("inline.jsx",n.source,k);if(t.errors.length>0)throw new Error(J("reactJsx",e,n.diagnostics,t.errors[0]));let o=$(t.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return C(o,s)};export{ne as reactJsx};
7
+ ${t.helpMessage}`),x};var W=/<\s*$/,H=/<\/\s*$/,A="__KX_EXPR__",X=new RegExp(`${A}\\d+_\\d+__`,"g"),U=0;var k={lang:"jsx",sourceType:"module",range:true,preserveParens:true},$=e=>{for(let r of e.body)if(r.type==="ExpressionStatement"){let n=r.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},S=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${S(e.object)}.${e.property.name}`;default:return ""}},b=(e,r)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(r(n),Object.values(n).forEach(t=>{if(t){if(Array.isArray(t)){t.forEach(o=>b(o,r));return}typeof t=="object"&&b(t,r);}}));},M=(e,r)=>{let n=R(e);if(!n)return [];let t=[];X.lastIndex=0;let o=0,s;for(;s=X.exec(n);){let p=s.index,i=n.slice(o,p);i&&t.push(i);let c=s[0];r.has(c)?t.push(r.get(c)):t.push(c),o=p+c.length;}let a=n.slice(o);return a&&t.push(a),t},V=(e,r)=>{let n=new Set;return b(e,t=>{t.type==="Identifier"&&r.placeholders.has(t.name)&&n.add(t.name);}),Array.from(n)},N=(e,r,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[t,o]=e.range,s=r.source.slice(t,o),a=V(e,r);try{let p=new Function(...a,`"use strict"; return (${s});`),i=a.map(c=>r.placeholders.get(c));return p(...i)}catch(p){throw new Error(`Failed to evaluate expression ${s}: ${p.message}`,{cause:p})}},Z=e=>{let r=e.replace(/[^a-zA-Z0-9_$]/g,"");return r?/[A-Za-z_$]/.test(r[0])?r:`Component${r}`:"Component"},G=(e,r,n)=>{let t=n.get(e);if(t)return t;let o=e.displayName||e.name||`Component${r.length}`,s=Z(o??""),a=s,p=1;for(;r.some(c=>c.name===a);)a=`${s}${p++}`;let i={name:a,value:e};return r.push(i),n.set(e,i),i},F=(e,r)=>{let n=e.raw??e,t=new Map,o=[],s=new Map,a=n[0]??"",p=U++,i=0,c=[];for(let m=0;m<r.length;m++){let l=n[m]??"",g=n[m+1]??"",u=r[m],d=W.test(l)||H.test(l),f;if(d&&typeof u=="function")f=G(u,o,s).name;else if(d&&typeof u=="string")f=u;else {let y=`${A}${p}_${i++}__`;t.set(y,u),f=y;}let h=a.length;a+=f;let x=a.length;c.push({index:m,sourceStart:h,sourceEnd:x}),a+=g;}return {source:a,placeholders:t,bindings:o,diagnostics:{expressionRanges:c}}};var Q=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",Y=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",E=(e,r)=>{if(r!=null&&typeof r!="boolean"){if(Y(r))throw new Error("Async values are not supported inside reactJsx template results.");if(Array.isArray(r)){r.forEach(n=>E(e,n));return}if(Q(r)){for(let n of r)E(e,n);return}e.push(r);}},T=(e,r)=>N(e,r,n=>C(n,r)),ee=(e,r)=>{let n={};return e.forEach(t=>{if(t.type==="JSXSpreadAttribute"){let s=T(t.argument,r);s&&typeof s=="object"&&!Array.isArray(s)&&Object.assign(n,s);return}let o=S(t.name);if(!t.value){n[o]=true;return}if(t.value.type==="Literal"){n[o]=t.value.value;return}if(t.value.type==="JSXExpressionContainer"){if(t.value.expression.type==="JSXEmptyExpression")return;n[o]=T(t.value.expression,r);}}),n},O=(e,r)=>{let n=[];return e.forEach(t=>{switch(t.type){case "JSXText":{M(t.value,r.placeholders).forEach(s=>E(n,s));break}case "JSXExpressionContainer":{if(t.expression.type==="JSXEmptyExpression")break;E(n,T(t.expression,r));break}case "JSXSpreadChild":{let o=T(t.expression,r);o!=null&&E(n,o);break}case "JSXElement":case "JSXFragment":{n.push(C(t,r));break}}}),n},I=(e,r,n)=>createElement(e,r,...n),te=(e,r)=>{let n=e.openingElement,t=S(n.name),o=r.components.get(t),s=ee(n.attributes,r),a=O(e.children,r);if(o)return I(o,s,a);if(/[A-Z]/.test(t[0]??""))throw new Error(`Unknown component "${t}". Did you interpolate it with the template literal?`);return I(t,s,a)},C=(e,r)=>{if(e.type==="JSXFragment"){let n=O(e.children,r);return createElement(Fragment,null,...n)}return te(e,r)},ne=(e,...r)=>{let n=F(e,r),t=parseSync("inline.jsx",n.source,k);if(t.errors.length>0)throw new Error(J("reactJsx",e,n.diagnostics,t.errors[0]));let o=$(t.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return C(o,s)};export{ne as reactJsx};
@@ -4,4 +4,4 @@ import {parseSync}from'oxc-parser';import {createElement,Fragment}from'react';va
4
4
  --> ${e} template:${d.line}:${d.column}`,p.message&&(x+=`
5
5
  ${p.message}`),h&&(x+=`
6
6
  ${h}`),t.helpMessage&&(x+=`
7
- ${t.helpMessage}`),x};var W=/<\s*$/,H=/<\/\s*$/,A="__KX_EXPR__",X=new RegExp(`${A}\\d+_\\d+__`,"g"),U=0;var k={lang:"jsx",sourceType:"module",range:true,preserveParens:true},$=e=>{for(let r of e.body)if(r.type==="ExpressionStatement"){let n=r.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},S=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${S(e.object)}.${e.property.name}`;default:return ""}},b=(e,r)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(r(n),Object.values(n).forEach(t=>{if(t){if(Array.isArray(t)){t.forEach(o=>b(o,r));return}typeof t=="object"&&b(t,r);}}));},M=(e,r)=>{let n=R(e);if(!n)return [];let t=[];X.lastIndex=0;let o=0,s;for(;s=X.exec(n);){let p=s.index,i=n.slice(o,p);i&&t.push(i);let c=s[0];r.has(c)?t.push(r.get(c)):t.push(c),o=p+c.length;}let a=n.slice(o);return a&&t.push(a),t},V=(e,r)=>{let n=new Set;return b(e,t=>{t.type==="Identifier"&&r.placeholders.has(t.name)&&n.add(t.name);}),Array.from(n)},N=(e,r,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[t,o]=e.range,s=r.source.slice(t,o),a=V(e,r);try{let p=new Function(...a,`"use strict"; return (${s});`),i=a.map(c=>r.placeholders.get(c));return p(...i)}catch(p){throw new Error(`Failed to evaluate expression ${s}: ${p.message}`)}},Z=e=>{let r=e.replace(/[^a-zA-Z0-9_$]/g,"");return r?/[A-Za-z_$]/.test(r[0])?r:`Component${r}`:"Component"},G=(e,r,n)=>{let t=n.get(e);if(t)return t;let o=e.displayName||e.name||`Component${r.length}`,s=Z(o??""),a=s,p=1;for(;r.some(c=>c.name===a);)a=`${s}${p++}`;let i={name:a,value:e};return r.push(i),n.set(e,i),i},I=(e,r)=>{let n=e.raw??e,t=new Map,o=[],s=new Map,a=n[0]??"",p=U++,i=0,c=[];for(let m=0;m<r.length;m++){let l=n[m]??"",g=n[m+1]??"",u=r[m],d=W.test(l)||H.test(l),f;if(d&&typeof u=="function")f=G(u,o,s).name;else if(d&&typeof u=="string")f=u;else {let y=`${A}${p}_${i++}__`;t.set(y,u),f=y;}let h=a.length;a+=f;let x=a.length;c.push({index:m,sourceStart:h,sourceEnd:x}),a+=g;}return {source:a,placeholders:t,bindings:o,diagnostics:{expressionRanges:c}}};var Q=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",Y=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",E=(e,r)=>{if(r!=null&&typeof r!="boolean"){if(Y(r))throw new Error("Async values are not supported inside reactJsx template results.");if(Array.isArray(r)){r.forEach(n=>E(e,n));return}if(Q(r)){for(let n of r)E(e,n);return}e.push(r);}},T=(e,r)=>N(e,r,n=>C(n,r)),ee=(e,r)=>{let n={};return e.forEach(t=>{if(t.type==="JSXSpreadAttribute"){let s=T(t.argument,r);s&&typeof s=="object"&&!Array.isArray(s)&&Object.assign(n,s);return}let o=S(t.name);if(!t.value){n[o]=true;return}if(t.value.type==="Literal"){n[o]=t.value.value;return}if(t.value.type==="JSXExpressionContainer"){if(t.value.expression.type==="JSXEmptyExpression")return;n[o]=T(t.value.expression,r);}}),n},O=(e,r)=>{let n=[];return e.forEach(t=>{switch(t.type){case "JSXText":{M(t.value,r.placeholders).forEach(s=>E(n,s));break}case "JSXExpressionContainer":{if(t.expression.type==="JSXEmptyExpression")break;E(n,T(t.expression,r));break}case "JSXSpreadChild":{let o=T(t.expression,r);o!=null&&E(n,o);break}case "JSXElement":case "JSXFragment":{n.push(C(t,r));break}}}),n},F=(e,r,n)=>createElement(e,r,...n),te=(e,r)=>{let n=e.openingElement,t=S(n.name),o=r.components.get(t),s=ee(n.attributes,r),a=O(e.children,r);if(o)return F(o,s,a);if(/[A-Z]/.test(t[0]??""))throw new Error(`Unknown component "${t}". Did you interpolate it with the template literal?`);return F(t,s,a)},C=(e,r)=>{if(e.type==="JSXFragment"){let n=O(e.children,r);return createElement(Fragment,null,...n)}return te(e,r)},ne=(e,...r)=>{let n=I(e,r),t=parseSync("inline.jsx",n.source,k);if(t.errors.length>0)throw new Error(J("reactJsx",e,n.diagnostics,t.errors[0]));let o=$(t.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return C(o,s)};export{ne as reactJsx};
7
+ ${t.helpMessage}`),x};var W=/<\s*$/,H=/<\/\s*$/,A="__KX_EXPR__",X=new RegExp(`${A}\\d+_\\d+__`,"g"),U=0;var k={lang:"jsx",sourceType:"module",range:true,preserveParens:true},$=e=>{for(let r of e.body)if(r.type==="ExpressionStatement"){let n=r.expression;if(n.type==="JSXElement"||n.type==="JSXFragment")return n}throw new Error("The jsx template must contain a single JSX element or fragment.")},S=e=>{switch(e.type){case "JSXIdentifier":return e.name;case "JSXNamespacedName":return `${e.namespace.name}:${e.name.name}`;case "JSXMemberExpression":return `${S(e.object)}.${e.property.name}`;default:return ""}},b=(e,r)=>{if(!e||typeof e!="object")return;let n=e;typeof n.type=="string"&&(r(n),Object.values(n).forEach(t=>{if(t){if(Array.isArray(t)){t.forEach(o=>b(o,r));return}typeof t=="object"&&b(t,r);}}));},M=(e,r)=>{let n=R(e);if(!n)return [];let t=[];X.lastIndex=0;let o=0,s;for(;s=X.exec(n);){let p=s.index,i=n.slice(o,p);i&&t.push(i);let c=s[0];r.has(c)?t.push(r.get(c)):t.push(c),o=p+c.length;}let a=n.slice(o);return a&&t.push(a),t},V=(e,r)=>{let n=new Set;return b(e,t=>{t.type==="Identifier"&&r.placeholders.has(t.name)&&n.add(t.name);}),Array.from(n)},N=(e,r,n)=>{if(e.type==="JSXElement"||e.type==="JSXFragment")return n(e);if(!("range"in e)||!e.range)throw new Error("Unable to evaluate expression: missing source range information.");let[t,o]=e.range,s=r.source.slice(t,o),a=V(e,r);try{let p=new Function(...a,`"use strict"; return (${s});`),i=a.map(c=>r.placeholders.get(c));return p(...i)}catch(p){throw new Error(`Failed to evaluate expression ${s}: ${p.message}`,{cause:p})}},Z=e=>{let r=e.replace(/[^a-zA-Z0-9_$]/g,"");return r?/[A-Za-z_$]/.test(r[0])?r:`Component${r}`:"Component"},G=(e,r,n)=>{let t=n.get(e);if(t)return t;let o=e.displayName||e.name||`Component${r.length}`,s=Z(o??""),a=s,p=1;for(;r.some(c=>c.name===a);)a=`${s}${p++}`;let i={name:a,value:e};return r.push(i),n.set(e,i),i},I=(e,r)=>{let n=e.raw??e,t=new Map,o=[],s=new Map,a=n[0]??"",p=U++,i=0,c=[];for(let m=0;m<r.length;m++){let l=n[m]??"",g=n[m+1]??"",u=r[m],d=W.test(l)||H.test(l),f;if(d&&typeof u=="function")f=G(u,o,s).name;else if(d&&typeof u=="string")f=u;else {let y=`${A}${p}_${i++}__`;t.set(y,u),f=y;}let h=a.length;a+=f;let x=a.length;c.push({index:m,sourceStart:h,sourceEnd:x}),a+=g;}return {source:a,placeholders:t,bindings:o,diagnostics:{expressionRanges:c}}};var Q=e=>!e||typeof e=="string"?false:typeof e[Symbol.iterator]=="function",Y=e=>!e||typeof e!="object"&&typeof e!="function"?false:typeof e.then=="function",E=(e,r)=>{if(r!=null&&typeof r!="boolean"){if(Y(r))throw new Error("Async values are not supported inside reactJsx template results.");if(Array.isArray(r)){r.forEach(n=>E(e,n));return}if(Q(r)){for(let n of r)E(e,n);return}e.push(r);}},T=(e,r)=>N(e,r,n=>C(n,r)),ee=(e,r)=>{let n={};return e.forEach(t=>{if(t.type==="JSXSpreadAttribute"){let s=T(t.argument,r);s&&typeof s=="object"&&!Array.isArray(s)&&Object.assign(n,s);return}let o=S(t.name);if(!t.value){n[o]=true;return}if(t.value.type==="Literal"){n[o]=t.value.value;return}if(t.value.type==="JSXExpressionContainer"){if(t.value.expression.type==="JSXEmptyExpression")return;n[o]=T(t.value.expression,r);}}),n},O=(e,r)=>{let n=[];return e.forEach(t=>{switch(t.type){case "JSXText":{M(t.value,r.placeholders).forEach(s=>E(n,s));break}case "JSXExpressionContainer":{if(t.expression.type==="JSXEmptyExpression")break;E(n,T(t.expression,r));break}case "JSXSpreadChild":{let o=T(t.expression,r);o!=null&&E(n,o);break}case "JSXElement":case "JSXFragment":{n.push(C(t,r));break}}}),n},F=(e,r,n)=>createElement(e,r,...n),te=(e,r)=>{let n=e.openingElement,t=S(n.name),o=r.components.get(t),s=ee(n.attributes,r),a=O(e.children,r);if(o)return F(o,s,a);if(/[A-Z]/.test(t[0]??""))throw new Error(`Unknown component "${t}". Did you interpolate it with the template literal?`);return F(t,s,a)},C=(e,r)=>{if(e.type==="JSXFragment"){let n=O(e.children,r);return createElement(Fragment,null,...n)}return te(e,r)},ne=(e,...r)=>{let n=I(e,r),t=parseSync("inline.jsx",n.source,k);if(t.errors.length>0)throw new Error(J("reactJsx",e,n.diagnostics,t.errors[0]));let o=$(t.program),s={source:n.source,placeholders:n.placeholders,components:new Map(n.bindings.map(a=>[a.name,a.value]))};return C(o,s)};export{ne as reactJsx};
@@ -125,7 +125,9 @@ export const evaluateExpression = (expression, ctx, evaluateJsxNode) => {
125
125
  return evaluator(...args);
126
126
  }
127
127
  catch (error) {
128
- throw new Error(`Failed to evaluate expression ${source}: ${error.message}`);
128
+ throw new Error(`Failed to evaluate expression ${source}: ${error.message}`, {
129
+ cause: error,
130
+ });
129
131
  }
130
132
  };
131
133
  export const sanitizeIdentifier = (value) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knighted/jsx",
3
- "version": "1.7.6",
3
+ "version": "1.7.8",
4
4
  "description": "Runtime JSX tagged template that renders DOM or React trees anywhere with or without a build step.",
5
5
  "keywords": [
6
6
  "jsx runtime",
@@ -124,7 +124,7 @@
124
124
  "clean": "npm run clean:dist && npm run clean:deps",
125
125
  "lint": "eslint src test",
126
126
  "pretest": "npm run build",
127
- "cycles": "madge src --circular --extensions ts,tsx,js,jsx --ts-config tsconfig.json",
127
+ "cycles": "oxlint --import-plugin --tsconfig tsconfig.json -A all -D import/no-cycle src test",
128
128
  "prettier": "prettier -w .",
129
129
  "prettier:check": "prettier --check .",
130
130
  "test": "cross-env KNIGHTED_JSX_CLI_TEST=1 vitest run --coverage",
@@ -142,52 +142,56 @@
142
142
  "prepack": "npm run build"
143
143
  },
144
144
  "devDependencies": {
145
- "@eslint/js": "^9.39.1",
146
- "@knighted/duel": "^4.0.0",
147
- "@oxc-project/types": "^0.105.0",
148
- "@playwright/test": "^1.57.0",
145
+ "@eslint/js": "^10.0.1",
146
+ "@knighted/duel": "^4.0.2",
147
+ "@oxc-project/types": "^0.116.0",
148
+ "@playwright/test": "^1.58.2",
149
149
  "@rspack/core": "^1.0.5",
150
150
  "@types/jsdom": "^27.0.0",
151
151
  "@types/node": "^22.10.1",
152
152
  "@types/react": "^19.2.7",
153
153
  "@types/react-dom": "^19.2.3",
154
- "@vitest/coverage-v8": "^4.0.14",
155
- "@vitest/eslint-plugin": "^1.6.4",
154
+ "@vitest/coverage-v8": "^4.0.18",
155
+ "@vitest/eslint-plugin": "^1.6.9",
156
156
  "cross-env": "^10.1.0",
157
- "eslint": "^9.39.1",
158
- "eslint-plugin-n": "^17.10.3",
159
- "eslint-plugin-playwright": "^2.4.0",
160
- "eslint-plugin-unicorn": "^62.0.0",
161
- "http-server": "^14.1.1",
157
+ "eslint": "^10.0.3",
158
+ "eslint-plugin-n": "^17.24.0",
159
+ "eslint-plugin-playwright": "^2.9.0",
160
+ "eslint-plugin-unicorn": "^63.0.0",
162
161
  "husky": "^9.1.7",
163
162
  "jsdom": "^27.2.0",
164
163
  "lint-staged": "^16.2.7",
165
164
  "lit": "^3.2.1",
166
- "madge": "^8.0.0",
167
165
  "next": "^16.1.6",
166
+ "oxlint": "^1.51.0",
168
167
  "prettier": "^3.7.3",
169
168
  "react": "^19.0.0",
170
169
  "react-dom": "^19.0.0",
171
170
  "rimraf": "^6.1.2",
171
+ "serve": "^14.2.6",
172
172
  "tsup": "^8.5.1",
173
173
  "typescript": "^5.9.3",
174
- "typescript-eslint": "^8.48.0",
174
+ "typescript-eslint": "^8.56.1",
175
175
  "vite": "^7.2.4",
176
176
  "vitest": "^4.0.14"
177
177
  },
178
178
  "dependencies": {
179
- "@napi-rs/wasm-runtime": "^1.1.0",
179
+ "@napi-rs/wasm-runtime": "^1.1.1",
180
180
  "magic-string": "^0.30.21",
181
- "oxc-parser": "^0.105.0",
181
+ "oxc-parser": "^0.116.0",
182
182
  "property-information": "^7.1.0",
183
- "tar": "^7.5.7"
183
+ "tar": "^7.5.10"
184
184
  },
185
185
  "peerDependencies": {
186
+ "@types/react": ">=18",
186
187
  "jsdom": "*",
187
188
  "linkedom": "*",
188
189
  "react": ">=18"
189
190
  },
190
191
  "peerDependenciesMeta": {
192
+ "@types/react": {
193
+ "optional": true
194
+ },
191
195
  "react": {
192
196
  "optional": true
193
197
  },
@@ -199,14 +203,9 @@
199
203
  }
200
204
  },
201
205
  "optionalDependencies": {
202
- "@oxc-parser/binding-darwin-arm64": "^0.105.0",
203
- "@oxc-parser/binding-linux-x64-gnu": "^0.105.0",
204
- "@oxc-parser/binding-wasm32-wasi": "^0.105.0"
205
- },
206
- "overrides": {
207
- "module-lookup-amd": {
208
- "glob": "^9.0.0"
209
- }
206
+ "@oxc-parser/binding-darwin-arm64": "^0.116.0",
207
+ "@oxc-parser/binding-linux-x64-gnu": "^0.116.0",
208
+ "@oxc-parser/binding-wasm32-wasi": "^0.116.0"
210
209
  },
211
210
  "files": [
212
211
  "dist"