svelte-origin 0.0.0 → 1.0.0-next.49

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.
Files changed (49) hide show
  1. package/LLM.md +545 -0
  2. package/README.md +678 -1
  3. package/dist/aliases.d.ts +45 -0
  4. package/dist/cli.d.ts +20 -0
  5. package/dist/cli.js +163 -0
  6. package/dist/generate-dts.d.ts +31 -0
  7. package/dist/globals.d.ts +649 -0
  8. package/dist/index.d.ts +9 -0
  9. package/dist/index.js +108 -0
  10. package/dist/plugin.d.ts +176 -0
  11. package/dist/plugin.js +81 -0
  12. package/dist/post-process.d.ts +31 -0
  13. package/dist/post-process.js +99 -0
  14. package/dist/preprocess.d.ts +119 -0
  15. package/dist/preprocess.js +81 -0
  16. package/dist/runtime/attrs.d.ts +65 -0
  17. package/dist/runtime/index.d.ts +8 -0
  18. package/dist/runtime/index.js +28 -0
  19. package/dist/runtime/origin.d.ts +170 -0
  20. package/dist/runtime/types.d.ts +193 -0
  21. package/dist/runtime-inline.d.ts +117 -0
  22. package/dist/runtime-inline.min.js +1 -0
  23. package/dist/schema-resolver.d.ts +61 -0
  24. package/dist/shared-state.d.ts +47 -0
  25. package/dist/transform/ast-parser.d.ts +282 -0
  26. package/dist/transform/attrs-for-transform.d.ts +17 -0
  27. package/dist/transform/attrs-origin-transform.d.ts +38 -0
  28. package/dist/transform/attrs-schema.d.ts +63 -0
  29. package/dist/transform/codegen.d.ts +15 -0
  30. package/dist/transform/comments.d.ts +31 -0
  31. package/dist/transform/core.d.ts +37 -0
  32. package/dist/transform/declaration-parser.d.ts +77 -0
  33. package/dist/transform/element-types.d.ts +10 -0
  34. package/dist/transform/expression-utils.d.ts +59 -0
  35. package/dist/transform/origin-body-helpers.d.ts +143 -0
  36. package/dist/transform/origin-create-transform.d.ts +32 -0
  37. package/dist/transform/origin-destructure-transform.d.ts +62 -0
  38. package/dist/transform/origin-transform.d.ts +51 -0
  39. package/dist/transform/patterns.d.ts +86 -0
  40. package/dist/transform/reserved-keywords.d.ts +87 -0
  41. package/dist/transform/schema-codegen.d.ts +105 -0
  42. package/dist/transform/schema-parse.d.ts +50 -0
  43. package/dist/transform/schema-types.d.ts +40 -0
  44. package/dist/transform/schema.d.ts +11 -0
  45. package/dist/transform/standalone-attrs-transform.d.ts +36 -0
  46. package/dist/utils.d.ts +21 -0
  47. package/dist/vite-dts.d.ts +17 -0
  48. package/dist/vite-dts.js +24 -0
  49. package/package.json +79 -3
@@ -0,0 +1,81 @@
1
+ import qZ from"magic-string";var SX={hasMacros:/\$origin\s*[.(]/,origin:/\$origin\s*\(/g,originWithParents:/\$origin\s*\(\s*\[/,originPropsInOrigin:/\$origin\s*\.\s*props\s*\(\s*\{/g,standaloneOriginProps:/(?:let|const|export\s+const|export\s+let)\s+\w+\s*=\s*\$origin\s*\.\s*props\s*\(/g,bindableInAttrs:/\$bindable\s*\(/g,originComponent:/\$origin\s*\.\s*component\s*\(\s*(\w+)\s*\)/g,originCreate:/\$origin\s*\.\s*create\s*\(\s*(\w+)\s*(?:,\s*(\{[^}]*\}))?\s*\)/g,originBind:/\$origin\s*\.\s*bind\s*\(\s*([^)]+)\s*\)/g,originForOrigin:/\$origin\s*\.\s*for\s*\(\s*(\w+)\s*\)/g,originForElement:/\$origin\s*\.\s*for\s*\(\s*['"]([\w-]+)['"]\s*\)/g};function h(Q){return SX.hasMacros.test(Q)}function k(Q,Z){let X=0;while(X<Z){let Y=Q[X];if(Y==="/"&&Q[X+1]==="/"){let $=Q.indexOf(`
2
+ `,X+2);if($===-1)return Z>X;if(Z>X&&Z<=$)return!0;X=$+1;continue}if(Y==="/"&&Q[X+1]==="*"){let $=Q.indexOf("*/",X+2);if($===-1)return Z>X;if(Z>X&&Z<$+2)return!0;X=$+2;continue}if(Y==='"'||Y==="'"||Y==="`"){let $=Y,_=X;X++;while(X<Q.length){if(Q[X]==="\\"){X+=2;continue}if(Q[X]===$){if(Z>_&&Z<=X)return!0;X++;break}if($==="`"&&Q[X]==="$"&&Q[X+1]==="{"){let J=X;X+=2;let U=1;while(X<Q.length&&U>0){if(Q[X]==="{")U++;else if(Q[X]==="}")U--;else if(Q[X]==="\\")X++;X++}if(Z>_&&Z<J)return!0;continue}X++}continue}X++}return!1}function i(Q){if(!Q.startsWith("$bindable"))return{isBindable:!1};let Z=9;if(Q[Z]==="<"){let _=1;Z++;while(Z<Q.length&&_>0){let J=Q[Z];if(J==="="&&Q[Z+1]===">"){Z+=2;continue}if(J==="<")_++;else if(J===">")_--;Z++}}while(Z<Q.length&&/\s/.test(Q[Z]))Z++;if(Q[Z]!=="(")return{isBindable:!1};let X=Z,Y=F(Q,X);if(Y===-1)return{isBindable:!1};return{isBindable:!0,innerValue:Q.slice(X+1,Y).trim()||"undefined"}}function n(Q){let Z=0,X=0;for(let Y=0;Y<Q.length-4;Y++){let $=Q[Y];if($==='"'||$==="'"||$==="`"){let _=$;Y++;while(Y<Q.length&&Q[Y]!==_){if(Q[Y]==="\\")Y++;Y++}continue}if($==="{"||$==="("||$==="[")Z++;else if($==="}"||$===")"||$==="]")Z--;else if($==="<"){let _=Y>0?Q[Y-1]:"";if(/[\w$)]/.test(_))X++}else if($===">"){if(Y>0&&Q[Y-1]==="=")continue;if(X>0)X--}else if(Z===0&&X===0&&Q.slice(Y,Y+4)===" as ")return Y}return-1}function F(Q,Z,X="(",Y=")"){let $=0;for(let _=Z;_<Q.length;_++){let J=Q[_];if(J==="/"&&Q[_+1]==="/"){let U=Q.indexOf(`
3
+ `,_+2);if(U!==-1)_=U;else _=Q.length;continue}if(J==="/"&&Q[_+1]==="*"){let U=Q.indexOf("*/",_+2);if(U!==-1)_=U+1;else _=Q.length;continue}if(J==='"'||J==="'"||J==="`"){let U=J;_++;while(_<Q.length&&Q[_]!==U){if(Q[_]==="\\")_++;_++}continue}if(J===X)$++;else if(J===Y){if($--,$===0)return _}}return-1}function c(Q){return`import { ${Q.join(", ")} } from 'svelte-origin/runtime'`}function f(Q,Z){let X=[],_=Z.split(".").map((H)=>H.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("\\s*\\.\\s*"),J=new RegExp(_+"\\s*\\(","g"),U;while((U=J.exec(Q))!==null){let H=U.index,W=H+U[0].length-1;if(k(Q,H))continue;let q=kX(Q,H);if(q)X.push({...q,macroOpenParen:W})}return X}function kX(Q,Z){let X=Z-1;while(X>=0&&/\s/.test(Q[X]))X--;if(Q[X]!=="=")return null;let Y=X;X--;while(X>=0&&/\s/.test(Q[X]))X--;let $=null,_=-1,J=X+1,U=0,H=-1,W=X;while(W>=0){let L=Q[W];if(L==='"'||L==="'"||L==="`"){W--;while(W>=0&&Q[W]!==L){if(Q[W-1]==="\\")W--;W--}W--;continue}if(L===">"||L===")"||L==="]"||L==="}")U++;else if(L==="<"||L==="("||L==="["||L==="{")U--;else if(L===":"&&U===0){H=W;break}else if(U===0&&/[;\n{]/.test(L))break;W--}if(H!==-1){_=J,$=Q.slice(H+1,_).trim(),X=H-1;while(X>=0&&/\s/.test(Q[X]))X--}if(!/[\w$]/.test(Q[X]))return null;let q=X+1;while(X>=0&&/[\w$]/.test(Q[X]))X--;let z=X+1,K=Q.slice(z,q);if(!K)return null;while(X>=0&&/\s/.test(Q[X]))X--;let w=-1;if(Q.slice(X-4,X+1)==="const")w=X-4,X-=5;else if(Q.slice(X-2,X+1)==="let")w=X-2,X-=3;else if(Q.slice(X-2,X+1)==="var")w=X-2,X-=3;else return null;let G=w;while(X>=0&&/\s/.test(Q[X]))X--;let j=!1;if(Q.slice(X-5,X+1)==="export"){j=!0,G=X-5,X-=6;while(X>=0&&/\s/.test(Q[X]))X--}let T=Y+1;return{varName:K,startIndex:G,valueStartIndex:T,hasExport:j,typeAnnotation:$}}function zQ(Q){return/\b(type|interface)\s+\$\$Props\b/.test(Q)}function qQ(Q){let Z=0,X=0,Y=Q.match(/^<script[^>]*>/);if(Y)X=Y[0].length,Z=X;while(X<Q.length){while(X<Q.length&&/\s/.test(Q[X]))X++;if(Q.slice(X,X+6)==="import"){X+=6;while(X<Q.length&&/\s/.test(Q[X]))X++;if(Q.slice(X,X+4)==="type"&&/\s/.test(Q[X+4])){X+=4;while(X<Q.length&&/\s/.test(Q[X]))X++}let _=!1;while(X<Q.length){let J=Q[X];if(J==="{"){let U=F(Q,X,"{","}");if(U!==-1){X=U+1;continue}}if(J==='"'||J==="'"||J==="`"){let U=J;X++;while(X<Q.length&&Q[X]!==U){if(Q[X]==="\\")X++;X++}X++;while(X<Q.length&&Q[X]!==`
4
+ `&&Q[X]!==";")X++;if(Q[X]===";")X++;if(Q[X]===`
5
+ `)X++;Z=X,_=!0;break}if(Q.slice(X,X+4)==="from"&&/\s/.test(Q[X+4])){X+=4;while(X<Q.length&&/\s/.test(Q[X]))X++;continue}X++}if(!_)break;continue}if(Q[X]==="<")break;if(/[a-zA-Z_$]/.test(Q[X])){if(Q.slice(X,X+6)==="export"){let _=Q.slice(X+6,X+20);if(!/\s*(const|let|var|function|class|default|type|interface|\{)/.test(_))break}break}X++}if(Z>0)return Z;let $=Q.match(/<script[^>]*>/);if($)return $.index+$[0].length;return 0}function o(Q){let Z=Q.trim();while(!0){if(Z.startsWith("/*")){let Y=Z.indexOf("*/");if(Y!==-1){Z=Z.slice(Y+2).trim();continue}break}if(Z.startsWith("//")){let Y=Z.indexOf(`
6
+ `);if(Y!==-1){Z=Z.slice(Y+1).trim();continue}Z="";break}break}let X=Z.indexOf("*/");if(X!==-1){let Y=Z.slice(X+2).trim();if(Y.match(/^(\w+)\s*:/))Z=Y}return Z}function IX(Q){let Z=0,X=0;while(Z<Q.length){let Y=Q[Z];if(Y==='"'||Y==="'"||Y==="`"){let _=Y;Z++;while(Z<Q.length&&Q[Z]!==_){if(Q[Z]==="\\")Z++;Z++}Z++;continue}if(Y==="/"&&Q[Z+1]==="*"){X++,Z+=2;continue}if(Y==="*"&&Q[Z+1]==="/")if(X>0){X--,Z+=2;continue}else return NX(Q,Z);Z++}return-1}function NX(Q,Z){let X=Z-1;while(X>=0&&/\s/.test(Q[X]))X--;let Y=Q.slice(0,X+1),$=0,_=0;while(_<Y.length){let J=Y[_];if(J==='"'||J==="'"||J==="`"){let K=J;_++;while(_<Y.length&&Y[_]!==K){if(Y[_]==="\\")_++;_++}if(_<Y.length)$=_+1,_++;continue}if(J==="{"||J==="("||J==="["){let K=J,w=J==="{"?"}":J==="("?")":"]",G=1;_++;while(_<Y.length&&G>0){let j=Y[_];if(j===K)G++;else if(j===w){if(G--,G===0)$=_+1}else if(j==='"'||j==="'"||j==="`"){let T=j;_++;while(_<Y.length&&Y[_]!==T){if(Y[_]==="\\")_++;_++}}_++}continue}let H=Y.slice(_),W=H.match(/^(true|false|null|undefined)\b/);if(W){_+=W[0].length;let K=Y.slice(_);if(/^\s+[\w$]/.test(K)){$=_;break}$=_;continue}let q=H.match(/^-?\d+(\.\d+)?/);if(q){_+=q[0].length;let K=Y.slice(_);if(/^\s+[\w$]/.test(K)){$=_;break}$=_;continue}let z=H.match(/^[\w$]+/);if(z){_+=z[0].length;let K=Y.slice(_);if(/^\s+[\w$]/.test(K)){$=_;break}$=_;continue}_++}return $>0?$:Z}function s(Q){let Z=Q.trim(),X=IX(Z);if(X!==-1)Z=Z.slice(0,X).trim();let Y=0;while(Y<Z.length){let $=Z[Y];if($==='"'||$==="'"||$==="`"){let J=$;Y++;while(Y<Z.length&&Z[Y]!==J){if(Z[Y]==="\\")Y++;Y++}Y++;continue}if($==="{"||$==="("||$==="["){let J=1;Y++;while(Y<Z.length&&J>0){let U=Z[Y];if(U==="{"||U==="("||U==="[")J++;else if(U==="}"||U===")"||U==="]")J--;else if(U==='"'||U==="'"||U==="`"){let H=U;Y++;while(Y<Z.length&&Z[Y]!==H){if(Z[Y]==="\\")Y++;Y++}}Y++}continue}if($==="/"&&Z[Y+1]==="*"){Z=Z.slice(0,Y).trim();break}if($==="/"&&Z[Y+1]==="/"){Z=Z.slice(0,Y).trim();break}Y++}return Z}function C(Q){let Z=[],X="",Y=0,$=0,_=0;while(_<Q.length){let J=Q[_];if(J==="/"&&Q[_+1]==="/"){let H=Q.indexOf(`
7
+ `,_+2);if(H!==-1)X+=Q.slice(_,H+1),_=H+1;else X+=Q.slice(_),_=Q.length;continue}if(J==="/"&&Q[_+1]==="*"){let H=Q.indexOf("*/",_+2);if(H!==-1)X+=Q.slice(_,H+2),_=H+2;else X+=Q.slice(_),_=Q.length;continue}if(J==='"'||J==="'"||J==="`"){let H=J;X+=J,_++;while(_<Q.length&&Q[_]!==H){if(Q[_]==="\\")X+=Q[_],_++;if(_<Q.length)X+=Q[_],_++}if(_<Q.length)X+=Q[_],_++;continue}if(J==="<"){let H=X.length>0?X[X.length-1]:"";if(/[\w$)]/.test(H))$++;X+=J,_++;continue}if(J===">"){if(_>0&&Q[_-1]==="="){X+=J,_++;continue}if($>0)$--;X+=J,_++;continue}if(J==="{"||J==="("||J==="[")Y++,X+=J;else if(J==="}"||J===")"||J==="]")Y--,X+=J;else if(J===","&&Y===0&&$===0)Z.push(X),X="";else X+=J;_++}if(X.trim())Z.push(X);return Z}function a(Q){return`{ ${KQ(Q).map(({key:Y,defaultValue:$,bindable:_,hasDefault:J})=>`${Y}: { default: ${$}, bindable: ${_}, hasDefault: ${J} }`).join(", ")} }`}function KQ(Q){let Z=[],X=C(Q);for(let Y of X){let $=Y.trim();if(!$)continue;if($=o($),!$)continue;let _=$.indexOf(":");if(_===-1)continue;let J=$.slice(0,_).trim(),U=$.slice(_+1).trim();U=s(U);let H=n(U);if(H!==-1)U=U.slice(0,H).trim();let W=i(U);if(W.isBindable){let q=W.innerValue,z=q!==""&&q!=="undefined";Z.push({key:J,defaultValue:q,bindable:!0,hasDefault:z})}else{let q=U!=="undefined";Z.push({key:J,defaultValue:U,bindable:!1,hasDefault:q})}}return Z}function kQ(Q){let Z=[],X=0;while(X<Q.length){while(X<Q.length&&/[\s,]/.test(Q[X]))X++;if(X>=Q.length)break;if(Q.slice(X,X+2)==="/*"){let W=Q.indexOf("*/",X+2);if(W!==-1){X=W+2;continue}}if(Q.slice(X,X+2)==="//"){let W=Q.indexOf(`
8
+ `,X+2);if(W!==-1){X=W+1;continue}else break}let Y=!1,$=!1,_=!1,J=!1;if(Q.slice(X).match(/^get\s+/))Y=!0,X+=Q.slice(X).match(/^get\s+/)[0].length;else if(Q.slice(X).match(/^set\s+/))$=!0,X+=Q.slice(X).match(/^set\s+/)[0].length;else if(Q.slice(X).match(/^async\s+\*/)){_=!0,J=!0,X+=Q.slice(X).match(/^async\s+\*/)[0].length;while(X<Q.length&&/\s/.test(Q[X]))X++}else if(Q.slice(X).match(/^async\s+/))_=!0,X+=Q.slice(X).match(/^async\s+/)[0].length;else if(Q[X]==="*"){J=!0,X++;while(X<Q.length&&/\s/.test(Q[X]))X++}let U=!1,H="";if(Q[X]==="["){U=!0;let W=X,q=1;X++;while(X<Q.length&&q>0){if(Q[X]==="[")q++;else if(Q[X]==="]")q--;X++}H=Q.slice(W,X)}else{let W=Q.slice(X).match(/^(\$?\w+)/);if(!W)break;H=W[1],X+=H.length}while(X<Q.length&&/\s/.test(Q[X]))X++;if(Q[X]===":"){X++;let W=X,q=0,z=0;while(X<Q.length){let w=Q[X];if(w==="/"&&Q[X+1]==="/"){let G=Q.indexOf(`
9
+ `,X+2);if(G!==-1){X=G+1;continue}else break}if(w==="/"&&Q[X+1]==="*"){let G=Q.indexOf("*/",X+2);if(G!==-1){X=G+2;continue}else break}if(w==='"'||w==="'"||w==="`"){let G=w;X++;while(X<Q.length&&Q[X]!==G){if(Q[X]==="\\")X++;X++}X++;continue}if((w===","||w==="}")&&q===0&&z===0)break;if(w==="{"||w==="("||w==="[")q++;if(w==="}"||w===")"||w==="]")q--;if(w==="<"&&X>0&&/\w/.test(Q[X-1]))z++;if(w===">"&&z>0)z--;X++}let K=Q.slice(W,X).trim();Z.push({key:H,value:K,isGetter:Y,isSetter:$,isMethod:!1,isAsync:_,isGenerator:J,isComputed:U})}else if(Q[X]==="("){let W=X,q=1;X++;while(X<Q.length&&q>0){if(Q[X]==="(")q++;if(Q[X]===")")q--;X++}while(X<Q.length&&/\s/.test(Q[X]))X++;if(Q[X]===":"){X++;let z=0;while(X<Q.length){let K=Q[X];if(K==="<"||K==="("||K==="[")z++;if(K===">"||K===")"||K==="]")z--;if(K==="{"&&z===0)break;X++}}if(Q[X]==="{"){let z=X;q=1,X++;while(X<Q.length&&q>0){if(Q[X]==="{")q++;if(Q[X]==="}")q--;X++}let K=X;if(Y){let w=Q.slice(z,K);Z.push({key:H,value:w,isGetter:Y,isSetter:$,isMethod:!1,isAsync:_,isGenerator:J,isComputed:U})}else if($){let w=Q.slice(W,K);Z.push({key:H,value:w,isGetter:Y,isSetter:$,isMethod:!1,isAsync:_,isGenerator:J,isComputed:U})}else{let w=Q.slice(W,K);Z.push({key:H,value:w,isGetter:!1,isSetter:!1,isMethod:!0,isAsync:_,isGenerator:J,isComputed:U})}}else{let z=Q.slice(W,X);Z.push({key:H,value:z,isGetter:Y,isSetter:$,isMethod:!Y&&!$,isAsync:_,isGenerator:J,isComputed:U})}}else if(Q[X]==="{"){let W=X,q=1;X++;while(X<Q.length&&q>0){if(Q[X]==="{")q++;if(Q[X]==="}")q--;X++}let z=Q.slice(W,X);Z.push({key:H,value:z,isGetter:Y,isSetter:$,isMethod:!1,isAsync:_,isGenerator:J,isComputed:U})}else break}return Z}function GQ(Q){let Z=Q.trim();if(!Z.endsWith(")"))return!1;let X=0;for(let Y=Z.length-1;Y>=0;Y--)if(Z[Y]===")")X++;else if(Z[Y]==="("){if(X--,X===0)return!0}return!1}function r(Q){let Z=Q.trim(),X=0;for(let Y=Z.length-1;Y>=0;Y--)if(Z[Y]===")")X++;else if(Z[Y]==="("){if(X--,X===0)return Z.slice(0,Y)}return Z}function t(Q){let Z=Q.trim(),X=0;for(let Y=0;Y<Z.length;Y++){let $=Z[Y];if($==="(")X++;else if($===")")X--;else if($==="<"&&X===0)return!0}return!1}function IQ(Q){let Z=Q.trim(),X=Z.indexOf("<");if(X!==-1)return Z.slice(0,X);let Y=Z.indexOf("(");return Y===-1?Z:Z.slice(0,Y)}function y(Q){let Z=Q.trim();if(t(Z)&&!GQ(Z))return`${Z}()`;return Z}function wQ(Q){let Z=/\$origin\s*\.\s*create\s*\(/g,X=[],Y;while((Y=Z.exec(Q))!==null){let $=Y.index;if(k(Q,$))continue;let _=$+Y[0].length-1,J=F(Q,_);if(J===-1)continue;let U=Q.slice(_+1,J).trim(),H=U,W=null,q=0;for(let z=0;z<U.length;z++){let K=U[z];if(K==="("||K==="{"||K==="["||K==="<")q++;else if(K===")"||K==="}"||K==="]"||K===">")q--;else if(K===","&&q===0){H=U.slice(0,z).trim(),W=U.slice(z+1).trim();break}}X.push({callStart:$,callEnd:J+1,factoryExpr:y(H),propsExpr:W})}return X}function vX(Q){let Z=/\$origin\s*\.\s*bind\s*\(/g,X=!1,Y=Q,$;while(($=Z.exec(Q))!==null){let _=$.index;if(k(Q,_))continue;let J=_+$[0].length-1,U=F(Q,J);if(U===-1)continue;let H=Q.slice(J+1,U).trim(),W=Q.slice(_,U+1),q=`__bindable(() => ${H}, (v) => { ${H} = v })`;Y=Y.replace(W,q),X=!0}return{code:Y,hasBindable:X}}function TQ(Q,Z){if(Z){let{code:X,hasBindable:Y}=vX(Z);return{replacement:`__createOriginInstance(${Q}, ${X})`,needsHelper:!0,needsBindable:Y}}return{replacement:`${Q}({})`,needsHelper:!1,needsBindable:!1}}function jQ(Q){let Z=wQ(Q);if(Z.length===0)return{result:Q,needsHelper:!1,needsBindable:!1};let X=Q,Y=0,$=!1,_=!1;for(let J of Z){let{replacement:U,needsHelper:H,needsBindable:W}=TQ(J.factoryExpr,J.propsExpr);if(H)$=!0;if(W)_=!0;let q=J.callStart+Y,z=J.callEnd+Y;X=X.slice(0,q)+U+X.slice(z),Y+=U.length-(J.callEnd-J.callStart)}return{result:X,needsHelper:$,needsBindable:_}}function NQ(Q,Z){let X={derivedNames:new Set,stateNames:new Set,valueNames:new Set,methodNames:new Set,getterNames:new Set,superDelegatingGetters:new Set,superDelegatingMethods:new Set};for(let Y of Q){let{key:$,value:_,isGetter:J,isMethod:U,isSetter:H}=Y;if(!J&&!U&&!H&&_.startsWith("$state"))X.stateNames.add($);else if(!J&&!U&&!H)X.valueNames.add($);if(U)X.methodNames.add($);if(J)X.getterNames.add($);if(J&&Z){let W=_.trim();if(new RegExp(`^\\{\\s*return\\s+this\\.super\\.${$}\\s*\\}$`).test(W))X.superDelegatingGetters.add($)}if(U&&Z){let W=_.trim();if(new RegExp(`^\\([^)]*\\)\\s*\\{\\s*return\\s+this\\.super\\.${$}\\([^)]*\\)\\s*\\}$`).test(W))X.superDelegatingMethods.add($)}if(J&&/return\s+\$derived(\.by)?\s*\(/.test(_))X.derivedNames.add($)}return X}function e(Q,Z){let{propName:X,hasParents:Y,metadata:$}=Z,{derivedNames:_,stateNames:J,valueNames:U,methodNames:H,getterNames:W,superDelegatingGetters:q,superDelegatingMethods:z}=$,K=Q;K=K.replace(/this\.super\./g,"__super."),K=K.replace(/this\.super\b/g,"__super");let w=new RegExp(`this\\.${X}\\.`,"g");K=K.replace(w,"__props.");let G=new RegExp(`this\\.${X}\\b`,"g");return K=K.replace(G,"__props"),K=K.replace(/this\.(\w+)/g,(j,T)=>{if(T==="super")return j;if(_.has(T))return`__${T}`;if(J.has(T))return T;if(U.has(T))return T;if(q.has(T)||z.has(T))return`__super.${T}`;if(H.has(T)||W.has(T))return Y?`__super.${T}`:`__self.${T}`;return Y?`__super.${T}`:`__self.${T}`}),K}function QQ(Q,Z){let{propName:X,metadata:Y}=Z,{derivedNames:$,stateNames:_,valueNames:J}=Y,U=Q,H=/\$derived(\.by)?\s*\(/g,W=[],q;while((q=H.exec(Q))!==null){let w=q.index+q[0].length-1,G=F(Q,w);if(G!==-1){let j=Q.slice(w+1,G),T=e(j,Z);W.push({start:w+1,end:G,replacement:T})}}for(let w of W.reverse())U=U.slice(0,w.start)+w.replacement+U.slice(w.end);U=U.replace(/this\.super\./g,"__super."),U=U.replace(/this\.super\b/g,"__super");let z=new RegExp(`this\\.${X}\\.`,"g");U=U.replace(z,`__self.${X}.`);let K=new RegExp(`this\\.${X}\\b`,"g");return U=U.replace(K,`__self.${X}`),U=U.replace(/this\.(\w+)/g,(w,G)=>{if(G==="super")return w;if($.has(G))return`__${G}`;if(_.has(G))return G;if(J.has(G))return G;return`__self.${G}`}),U=U.replace(/\bthis\b(?!\.)/g,"__self"),U}function vQ(Q){if(Q.length===0)return"\t\tconst __props = __inputAttrs";let Z=[];for(let X of Q){let Y=X.hasDefault?` ?? ${X.defaultValue}`:"";Z.push(`get ${X.key}() { return __inputAttrs.${X.key}${Y} }`),Z.push(`set ${X.key}(v) { const __d = Object.getOwnPropertyDescriptor(__inputAttrs, '${X.key}'); if (__d?.set) __inputAttrs.${X.key} = v }`)}return` const __props = { ${Z.join(", ")} }`}function CQ(Q,Z){let X=Z.match(/^\$state(?:\.(\w+))?(?:<([^>]+(?:<[^>]+>)*)>)?\s*\(/);if(!X)return null;let Y=X[1],$=X[2],_=Z.indexOf("("),J=F(Z,_);if(J===-1)return null;let U=Z.slice(_+1,J).trim(),H=Y?`.${Y}`:"",W=$?`<${$}>`:"";return{declaration:` let ${Q} = $state${H}${W}(${U})`,getter:`get ${Q}() { return ${Q} }`,setter:`set ${Q}(v) { ${Q} = v }`}}function yQ(Q,Z,X){let Y=Z.match(/return\s+\$derived(\.by)?\s*\(/);if(!Y)return null;let $=Y[1]?"$derived.by":"$derived",J=Z.indexOf($+"(")+$.length,U=F(Z,J);if(U===-1)return null;let H=Z.slice(J+1,U).trim(),W=e(H,X);return{declaration:` let __${Q} = ${$}(${W})`,getter:`get ${Q}() { return __${Q} }`}}function XQ(Q,Z){let X=Q.split(`
10
+ `);if(X.length<=1)return Q;let Y=1/0;for(let _=1;_<X.length-1;_++){let J=X[_];if(!J.trim())continue;let H=J.search(/\S/);if(H>=0&&H<Y)Y=H}if(Y===1/0)Y=0;let $=[];for(let _=0;_<X.length;_++){let J=X[_],U=J.trim();if(_===0){$.push(U);continue}if(_===X.length-1){$.push(Z+U);continue}if(!U){$.push("");continue}let H=J.search(/\S/),W=Math.max(0,H-Y);$.push(Z+"\t"+"\t".repeat(W)+U)}return $.join(`
11
+ `)}function PQ(Q,Z,X,Y){let $=/\$origin\s*\(/g,_,J=!1;while((_=$.exec(Z))!==null){let U=_.index;if(k(Z,U))continue;let H=U+_[0].length-1,W=F(Z,H);if(W===-1){console.warn(`[svelte-origin] Could not find matching ) for $origin( at index ${U}`);continue}let q=Z.slice(H+1,W),z=CX(q,Y,X);Q.overwrite(U,W+1,`__createOrigin(${z})`),X.add("__createOrigin"),J=!0}return J}function CX(Q,Z,X){let Y=[],$=Q.trim(),_=null;if($.startsWith("[")){let L=F($,0,"[","]");if(L!==-1){Y=$.slice(1,L).split(",").map((O)=>O.trim()).filter((O)=>O);let B=L+1;while(B<$.length&&/[\s,]/.test($[B]))B++;$=$.slice(B)}}if($.startsWith("{")){let L=F($,0,"{","}");if(L!==-1){let V=$.slice(L+1).trim();if(V.startsWith(",")){if(V=V.slice(1).trim(),V)_=V}$=$.slice(1,L)}}let J=$.match(/(\w+)\s*:\s*\$origin\s*\.\s*props\s*\(/),U="{}",H="",W=$,q="props",z=null;if(J){q=J[1];let L=J.index,V=L+J[0].length-1,B=F($,V);if(B!==-1){let O=$.slice(V+1,B).trim();if(O.startsWith("[")){let S=F(O,0,"[","]");if(S!==-1){let I=S+1;while(I<O.length&&/[\s,]/.test(O[I]))I++;O=O.slice(I)}}if(O.startsWith("{")){let S=F(O,0,"{","}");if(S!==-1)H=O.slice(1,S)}U=a(H);let R=B+1;while(R<$.length&&($[R]===","||$[R]===" "||$[R]===`
12
+ `||$[R]==="\t"))R++;W=$.slice(0,L)+$.slice(R)}}else{let L=$.match(/(\w+)\s*:\s*(\w+)\s*,/);if(L){let V=L[1],B=L[2];if((V==="props"||V==="attrs")&&/^[A-Z]/.test(B)&&!["$state","$derived","$effect","$bindable"].includes(B)){q=V,z=B;let O=L.index,R=O+L[0].length;W=$.slice(0,O)+$.slice(R)}}}let K=KQ(H),{body:w,attachments:G}=yX(W.trim(),Y,K,q,Z,X),j=Y.length>0?`[${Y.join(", ")}]`:"undefined",T=`{
13
+ __attrSchema: ${U},
14
+ __parents: ${j},`;if(z)T+=`
15
+ __propsRef: ${z},`;if(T+=`
16
+ __create: (__inputAttrs${Y.length>0?", __super":""}) => {
17
+ ${w}
18
+ }`,G.length>0)T+=`,
19
+ __attachments: { ${G.join(", ")} }`;if(_){let{result:L,needsHelper:V,needsBindable:B}=jQ(_);if(V&&X)X.add("__createOriginInstance");if(B&&X)X.add("__bindable");T+=`,
20
+ __onInit: ${L}`}return T+=`
21
+ }`,T}function yX(Q,Z=[],X=[],Y="props",$,_){let{result:J,needsHelper:U,needsBindable:H}=jQ(Q);if(U&&_)_.add("__createOriginInstance");if(H&&_)_.add("__bindable");let W=J.trim(),q=Z.length>0,z=vQ(X);if(!W){let B=[`get ${Y}() { return __props }`];if(q)B.push("get super() { return __super }");return{body:`${z}
22
+ return { ${B.join(", ")} }`,attachments:[]}}let K=kQ(W),w=NQ(K,q),G={hasParents:q,propName:Y,metadata:w},j=[],T=[`get ${Y}() { return __props }`],L=[];if(q)T.push("get super() { return __super }");for(let B of K){let{key:O,value:R,isGetter:S,isMethod:I,isSetter:x,isAsync:d,isGenerator:HQ,isComputed:WQ}=B;if(O===Y)continue;if(I&&O.startsWith("$")){let A=O.slice(1),g=d?"async ":"";L.push(`${A}: ${g}function${R}`);continue}if(!S&&!I&&!x&&R.startsWith("$state")){let A=CQ(O,R);if(A){j.push(A.declaration),T.push(A.getter),T.push(A.setter);continue}}let DX=d?"async ":"",EX=HQ?"*":"",MX=WQ?O:O;if(S){let A=yQ(O,R,G);if(A){j.push(A.declaration),T.push(A.getter);continue}let g=QQ(R,G);if(g.includes(`
23
+ `))g=XQ(g,"\t\t\t");T.push(`get ${O}() ${g}`)}else if(x){let A=QQ(R,G);if(A.includes(`
24
+ `))A=XQ(A,"\t\t\t");T.push(`set ${O}${A}`)}else if(I){let A=QQ(R,G);if(A.includes(`
25
+ `))A=XQ(A,"\t\t\t");T.push(`${DX}${EX}${MX}${A}`)}else{let A=e(R,G);j.push(` let ${O} = ${A}`),T.push(`get ${O}() { return ${O} }`),T.push(`set ${O}(v) { ${O} = v }`)}}let V=j.length>0?j.join(`
26
+ `)+`
27
+ `:"";return{body:`${z}
28
+ ${V} const __self = {
29
+ ${T.join(`,
30
+ `)}
31
+ }
32
+ return __self`,attachments:L}}function bQ(Q,Z,X){return PX(Q,Z,X)}function PX(Q,Z,X){let _="$origin.props".replace(/\./g,"\\s*\\.\\s*").replace(/\$/g,"\\$"),J=new RegExp(_+"\\s*\\(","g"),U,H=!1;while((U=J.exec(Z))!==null){let W=U.index;if(k(Z,W))continue;let q=Z.slice(Math.max(0,W-20),W);if(/:\s*$/.test(q))continue;let z=W+U[0].length-1,K=F(Z,z);if(K===-1){console.warn(`[svelte-origin] Could not find matching ) for $origin.props( at index ${W}`);continue}let w=Z.slice(z+1,K).trim(),G=bX(w);Q.overwrite(W,K+1,`__createAttrs(${G})`),X.add("__createAttrs"),H=!0}return H}function bX(Q){let Z=[],X=Q.trim();if(X.startsWith("[")){let J=F(X,0,"[","]");if(J!==-1){Z=X.slice(1,J).split(",").map((W)=>W.trim()).filter((W)=>W);let H=J+1;while(H<X.length&&/[\s,]/.test(X[H]))H++;X=X.slice(H)}}let Y="";if(X.startsWith("{")){let J=F(X,0,"{","}");if(J!==-1)Y=X.slice(1,J)}let $=a(Y),_=Z.length>0?`[${Z.join(", ")}]`:"undefined";return`{
33
+ __attrSchema: ${$},
34
+ __parents: ${_}
35
+ }`}function gX(Q){let Z=f(Q,"$origin.create"),X=[];for(let Y of Z){let{varName:$,startIndex:_,macroOpenParen:J}=Y,U=F(Q,J);if(U===-1){console.warn(`[svelte-origin] Could not find matching ) for $origin.create( at index ${J}`);continue}let H=Q.slice(J+1,U).trim(),W=H,q=null,z=0,K=-1;for(let w=0;w<H.length;w++){let G=H[w];if(G==="("||G==="{"||G==="["||G==="<")z++;else if(G===")"||G==="}"||G==="]"||G===">")z--;else if(G===","&&z===0){K=w;break}}if(K!==-1)W=H.slice(0,K).trim(),q=H.slice(K+1).trim();X.push({varName:$,factoryExpr:W,propsExpr:q,startIndex:_,endIndex:U+1})}return X}function fX(Q){let Z=/\$origin\s*\.\s*bind\s*\(\s*([^)]+)\s*\)/g,X=!1;return{code:Q.replace(Z,($,_)=>{return X=!0,`__BIND__${_.trim()}__BIND__`}),hasBind:X}}function xX(Q,Z,X){let Y=y(Z),$=[];if(!X)return $.push(`let ${Q} = ${Y}({})`),$;let{code:_,hasBind:J}=fX(X),U=X.match(/^\{([\s\S]*)\}$/);if(!U)return $.push(`let __${Q}_props = $state(${X})`),$.push(`let ${Q} = ${Y}(__${Q}_props)`),$;let H=U[1],W=hX(J?_.slice(1,-1):H);if(W.length===0)return $.push(`let ${Q} = ${Y}({})`),$;let q=[],z=[];for(let{key:K,value:w}of W){let G=J?w.match(/^__BIND__(.+)__BIND__$/):null;if(G){let j=G[1];q.push(` get ${K}() { return ${j} },`),q.push(` set ${K}(v) { ${j} = v },`)}else q.push(` get ${K}() { return ${w} },`)}return $.push(...z),$.push(`let __${Q}_attrs = {`),$.push(...q),$.push("}"),$.push(`let ${Q} = ${Y}(__${Q}_attrs)`),$}function hX(Q){let Z=[],X=0;while(X<Q.length){while(X<Q.length&&/\s/.test(Q[X]))X++;if(X>=Q.length)break;let Y="",$="";if(Q[X]==='"'||Q[X]==="'"){let _=Q[X];X++;let J=X;while(X<Q.length&&Q[X]!==_){if(Q[X]==="\\")X++;X++}Y=Q.slice(J,X),X++}else if(/[\w$]/.test(Q[X])){let _=X;while(X<Q.length&&/[\w$]/.test(Q[X]))X++;Y=Q.slice(_,X)}else{X++;continue}while(X<Q.length&&/\s/.test(Q[X]))X++;if(Q[X]===":"){X++;while(X<Q.length&&/\s/.test(Q[X]))X++;let _=X,J=0;while(X<Q.length){let U=Q[X];if(U==='"'||U==="'"){let H=U;X++;while(X<Q.length&&Q[X]!==H){if(Q[X]==="\\")X++;X++}X++;continue}if(U==="`"){X++;while(X<Q.length&&Q[X]!=="`"){if(Q[X]==="\\")X++;else if(Q[X]==="$"&&Q[X+1]==="{"){X+=2;let H=1;while(X<Q.length&&H>0){if(Q[X]==="{")H++;else if(Q[X]==="}")H--;else if(Q[X]==='"'||Q[X]==="'"){let W=Q[X];X++;while(X<Q.length&&Q[X]!==W){if(Q[X]==="\\")X++;X++}}X++}continue}X++}X++;continue}if(U==="("||U==="{"||U==="[")J++;else if(U===")"||U==="}"||U==="]"){if(J--,J<0)break}else if(U===","&&J===0)break;X++}$=Q.slice(_,X).trim()}else $=Y;if(Y&&$)Z.push({key:Y,value:$});if(Q[X]===",")X++}return Z}function gQ(Q,Z,X){let Y=gX(Z);if(Y.length===0)return!1;let $=!1;for(let{varName:_,factoryExpr:J,propsExpr:U,startIndex:H,endIndex:W}of Y){let q=xX(_,J,U);Q.overwrite(H,W,q.join(`
36
+ `)),$=!0}return $}function fQ(Q,Z,X){let Y=wQ(Z),$=!1;for(let _ of Y){let J=Z.slice(Math.max(0,_.callStart-100),_.callStart);if(/(?:let|const|var)\s+\w+\s*=\s*$/.test(J))continue;let{replacement:U,needsHelper:H,needsBindable:W}=TQ(_.factoryExpr,_.propsExpr);if(H)X.add("__createOriginInstance");if(W)X.add("__bindable");Q.overwrite(_.callStart,_.callEnd,U),$=!0}return $}function LQ(Q,Z){let X=mX(Q,Z);if(X)return X;let Y=nX(Q,Z);if(Y)return Y;return null}function ZQ(Q,Z){let X=lX(Q,Z);if(X)return X;let Y=uX(Q,Z);if(Y)return Y;return null}function N(Q,Z){let X=[new RegExp(`import\\s*\\{[^}]*\\b${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s+type\\s*\\{[^}]*\\b${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s*\\{[^}]*\\bas\\s+${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s+type\\s*\\{[^}]*\\bas\\s+${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s+${Z}\\s+from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s*\\*\\s*as\\s+${Z}\\s+from\\s*['"]([^'"]+)['"]`),new RegExp(`export\\s*\\{[^}]*\\b${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`export\\s*\\{[^}]*\\bas\\s+${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`)];for(let Y of X){let $=Y.exec(Q);if($)return $[1]}return null}function lX(Q,Z){let Y=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*\\$origin\\s*\\.\\s*props\\s*\\(`,"s").exec(Q);if(!Y)return null;let $=Y.index+Y[0].length-1,_=F(Q,$);if(_===-1)return null;let J=Q.slice($+1,_).trim(),U=[];if(J.startsWith("[")){let z=F(J,0,"[","]");if(z!==-1){U=J.slice(1,z).split(",").map((G)=>G.trim()).map((G)=>{let j=G.match(/^(\w+)\s*\(/);if(j)return j[1];return G}).filter((G)=>G&&/^\w+$/.test(G));let w=z+1;while(w<J.length&&/[\s,]/.test(J[w]))w++;J=J.slice(w)}}if(!J.startsWith("{"))return{attrs:[],parentNames:U};let H=F(J,0,"{","}");if(H===-1)return{attrs:[],parentNames:U};let W=J.slice(1,H);return{attrs:lQ(W),parentNames:U}}function uX(Q,Z){let Y=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*__createAttrs\\s*\\(\\s*\\{`,"s").exec(Q);if(!Y)return null;let $=Y.index+Y[0].length-1,_=F(Q,$,"{","}");if(_===-1)return null;let J=Q.slice($+1,_),U=J.match(/__attrSchema\s*:\s*\{/);if(!U)return{attrs:[],parentNames:[]};let H=U.index+U[0].length-1,W=F(J,H,"{","}");if(W===-1)return{attrs:[],parentNames:[]};let q=J.slice(H+1,W),z=hQ(q),K=J.match(/__parents\s*:\s*\[([^\]]*)\]/),w=[];if(K&&K[1].trim())w=K[1].split(",").map((G)=>G.trim()).filter((G)=>G&&/^\w+$/.test(G));return{attrs:z,parentNames:w}}function mX(Q,Z){let X=pX(Q,Z);if(X)return X;let Y=dX(Q,Z);if(Y)return Y;let $=iX(Q,Z);if($)return $;return null}function pX(Q,Z){let Y=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*\\$origin\\s*\\(`,"s").exec(Q);if(!Y)return null;let $=Y.index+Y[0].length-1,_=F(Q,$);if(_===-1)return null;let J=Q.slice($+1,_);return OQ(J)}function dX(Q,Z){let Y=new RegExp(`export\\s+function\\s+${Z}\\s*(?:<[^>]*>)?\\s*\\([^)]*\\)\\s*(?::\\s*[^{]+)?\\s*\\{`,"s").exec(Q);if(!Y)return null;let $=Y.index+Y[0].length-1,_=F(Q,$,"{","}");if(_===-1)return null;let J=Q.slice($+1,_);return xQ(J)}function iX(Q,Z){let Y=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*(?:<[^>]*>)?\\s*\\([^)]*\\)\\s*(?::\\s*[^=]+)?\\s*=>\\s*`,"s").exec(Q);if(!Y)return null;let $=Q.slice(Y.index+Y[0].length).trim();if($.startsWith("$origin(")){let _=Y.index+Y[0].length+$.indexOf("$origin(")+8,J=F(Q,_-1);if(J===-1)return null;let U=Q.slice(_,J);return OQ(U)}if($.startsWith("{")){let _=Y.index+Y[0].length,J=F(Q,_,"{","}");if(J===-1)return null;let U=Q.slice(_+1,J);return xQ(U)}return null}function xQ(Q){let Z=Q.match(/(?:return\s+)?\$origin\s*\(/);if(!Z)return null;let X=Z.index+Z[0].length-1,Y=F(Q,X);if(Y===-1)return null;let $=Q.slice(X+1,Y);return OQ($)}function OQ(Q){let Z=[],X=Q.trim();if(X.startsWith("[")){let W=F(X,0,"[","]");if(W!==-1){Z=X.slice(1,W).split(",").map((K)=>K.trim()).map((K)=>{let w=K.match(/^(\w+)\s*\(/);if(w)return w[1];return K}).filter((K)=>K&&/^\w+$/.test(K));let z=W+1;while(z<X.length&&/[\s,]/.test(X[z]))z++;X=X.slice(z)}}let Y=X.match(/(\w+)\s*:\s*\$origin\s*\.\s*props\s*\(\s*\{/);if(!Y){let W=X.match(/(?:props|attrs)\s*:\s*([A-Z]\w*)\b/);if(W){let q=W[1];if(!["Object","Array","String","Number","Boolean"].includes(q))return{attrs:[],parentNames:Z,propsRef:q}}return{attrs:[],parentNames:Z}}let $=Y.index,_=X.indexOf("{",$+Y[0].length-1),J=F(X,_,"{","}");if(J===-1)return{attrs:[],parentNames:Z};let U=X.slice(_+1,J);return{attrs:lQ(U),parentNames:Z}}function nX(Q,Z){let Y=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*__createOrigin\\s*\\(\\s*\\{`,"s").exec(Q);if(!Y)return null;let $=Y.index+Y[0].length-1,_=F(Q,$,"{","}");if(_===-1)return null;let J=Q.slice($+1,_),U=J.match(/__attrSchema\s*:\s*\{/);if(!U)return{attrs:[],parentNames:[]};let H=U.index+U[0].length-1,W=F(J,H,"{","}");if(W===-1)return{attrs:[],parentNames:[]};let q=J.slice(H+1,W),z=hQ(q),K=J.match(/__parents\s*:\s*\[([^\]]*)\]/),w=[];if(K&&K[1].trim())w=K[1].split(",").map((T)=>T.trim()).filter((T)=>T&&/^\w+$/.test(T));let G=J.match(/__propsRef\s*:\s*(\w+)/),j=G?G[1]:void 0;return{attrs:z,parentNames:w,propsRef:j}}function hQ(Q){let Z=[],X=0;while(X<Q.length){while(X<Q.length&&/[\s,]/.test(Q[X]))X++;if(X>=Q.length)break;if(Q.slice(X,X+2)==="/*"){let G=Q.indexOf("*/",X+2);if(G!==-1){X=G+2;continue}}let Y=Q.slice(X).match(/^(\w+)\s*:/);if(!Y)break;let $=Y[1];X+=Y[0].length;while(X<Q.length&&/\s/.test(Q[X]))X++;if(Q[X]!=="{")break;let _=X,J=F(Q,_,"{","}");if(J===-1)break;let U=Q.slice(_+1,J),H="undefined",W=!1,q=!1,z=U.match(/\bdefault\s*:\s*/);if(z){let G=z.index+z[0].length,j=0,T=G;while(T<U.length){let L=U[T];if(L==="{"||L==="("||L==="[")j++;else if(L==="}"||L===")"||L==="]")j--;else if(L===","&&j===0)break;T++}H=U.slice(G,T).trim()}let K=U.match(/\bbindable\s*:\s*(true|false)/);if(K)W=K[1]==="true";let w=U.match(/\bhasDefault\s*:\s*(true|false)/);if(w)q=w[1]==="true";Z.push({key:$,defaultValue:H,bindable:W,hasDefault:q}),X=J+1}return Z}function lQ(Q){let Z=[],X=C(Q);for(let Y of X){let $=Y.trim();if(!$)continue;if($=o($),!$)continue;let _=$.indexOf(":");if(_===-1)continue;let J=$.slice(0,_).trim(),U=$.slice(_+1).trim();U=s(U);let H=n(U);if(H!==-1)U=U.slice(0,H).trim();let W=i(U);if(W.isBindable){let q=W.innerValue,z=q!==""&&q!=="undefined";Z.push({key:J,defaultValue:q,bindable:!0,hasDefault:z})}else{let q=U!=="undefined";Z.push({key:J,defaultValue:U,bindable:!1,hasDefault:q})}}return Z}function YQ(Q){return`___${Q}`}function P(Q,Z){let X=YQ(Q);return`${Q}: ${X} = ${Z}`}function $Q(Q){let Z=YQ(Q);return`${Q}: ${Z}`}function _Q(Q){let Z=YQ(Q);return`get ${Q}() { return ${Z} }`}function JQ(Q){let Z=YQ(Q);return`set ${Q}(v) { ${Z} = v }`}function cX(Q){if(GQ(Q))return`ReturnType<typeof ${r(Q)}>`;return`typeof ${Q}`}function l(Q,Z,X={}){let{useNewApi:Y=!0,useUserPropsType:$=!1}=X,_=[];for(let H of Q)if(H.bindable)if(H.hasDefault)_.push(P(H.key,`$bindable(${H.defaultValue})`));else _.push(P(H.key,"$bindable()"));else if(H.hasDefault)_.push(P(H.key,H.defaultValue));else _.push($Q(H.key));if($)return`let { ${_.join(", ")} }: $$Props = $props()`;let J=cX(Z),U=Y?"$origin.Props":"$origin.Props";return`let { ${_.join(", ")} }: ${U}<${J}> = $props()`}function FQ(Q,Z){let X=[];for(let Y of Z)if(X.push(_Q(Y.key)),Y.bindable)X.push(JQ(Y.key));return`${Q}({ ${X.join(", ")} })`}function oX(Q){let Z=[],X=[];for(let $ of Q.attrs){let _=BQ($.defaultValue),J=$.hasDefault?"?":"";if(Z.push(`${$.key}${J}: ${_}`),$.bindable)X.push($.key)}return{interfaceContent:Z.length>0?`{ ${Z.join("; ")} }`:"{}",bindings:X}}function BQ(Q){if(Q==="undefined")return"unknown";if(Q==="true"||Q==="false")return"boolean";if(/^-?\d+$/.test(Q))return"number";if(/^-?\d+\.\d+$/.test(Q))return"number";if(/^['"]/.test(Q))return"string";if(Q.startsWith("["))return"unknown[]";if(Q.startsWith("{"))return"Record<string, unknown>";if(Q==="null")return"null";return"unknown"}function sX(Q,Z,X,Y="regenerated on save"){let $=[],_=[];for(let H of X.attrs){let W=BQ(H.defaultValue),q=H.hasDefault?"?":"";if($.push(` ${H.key}${q}: ${W};`),H.bindable)_.push(`"${H.key}"`)}let J=$.length>0?`{
37
+ ${$.join(`
38
+ `)}
39
+ }`:"{}",U=_.length>0?_.join(" | "):"never";return`// Auto-generated by svelte-origin
40
+ // Do not edit manually - ${Y}
41
+
42
+ import type { Component } from 'svelte';
43
+ import type { ${Q} } from '${Z}';
44
+
45
+ /**
46
+ * Props derived from ${Q} origin factory.
47
+ *
48
+ * Bindable props: ${_.length>0?_.join(", "):"none"}
49
+ */
50
+ type Props = ${J};
51
+
52
+ declare const __component: Component<Props, {}, ${U}>;
53
+ export default __component;
54
+ `}function uQ(Q){let Z=[],X=f(Q,"$origin.component");for(let Y of X){let{varName:$,startIndex:_,macroOpenParen:J}=Y,U=F(Q,J);if(U===-1){console.warn(`[svelte-origin] Could not find matching ) for $origin.component( at index ${J}`);continue}let H=Q.slice(J+1,U).trim();Z.push({varName:$,factoryExpr:H,startIndex:_,endIndex:U+1,isGeneric:t(H)})}return Z.sort((Y,$)=>Y.startIndex-$.startIndex),Z}function aX(Q){let Z=y(Q);return t(Q)?`$origin.Props<ReturnType<typeof ${r(Z)}>>`:`$origin.Props<typeof ${Q}>`}function rX(Q,Z,X,Y,$,_,J,U,H){let W=[],q=y(Z),z=J;if($&&_){let K=aX(Z);W.push(`type $$Props = ${K}`)}if(X&&Y){let K=Y[1];if(!/\.\.\.\s*(\w+)\s*$/.test(K)&&!z){let j=K.trimEnd()?`${K.trimEnd()}, ...___originAttrs`:"...___originAttrs",T=H.indexOf("}",Y.index+5);if(T!==-1)U.overwrite(Y.index+5,T,` ${j} `),z=!0;W.push(`let ${Q} = ${q}(__attrsFor(${q}, ___originAttrs))`)}else{let G=K.match(/\.\.\.\s*(\w+)\s*$/),j=G?G[1]:"___originAttrs";W.push(`let ${Q} = ${q}(__attrsFor(${q}, ${j}))`)}}else W.push("let ___attrs: $$Props = $props()",`let ${Q} = ${q}(__attrsFor(${q}, ___attrs))`);return{lines:W,restVarInjected:z}}function mQ(Q,Z,X){let{varName:Y,factoryExpr:$,startIndex:_,endIndex:J}=Q,U=rX(Y,$,Z.hasExistingProps,Z.existingPropsMatch,Z.isFirstDeclaration,Z.needsPropsInjection,Z.restVarInjected,Z.s,Z.source);if(Z.neededImports.add("__attrsFor"),Z.isFirstDeclaration&&Z.needsPropsInjection)Z.propsTypeDeclaration="";return Z.s.overwrite(_,J,U.lines.join(`
55
+ `)),X.set(Y,{varName:Y,factoryExpr:$,startPos:_,endPos:J}),{...Z,restVarInjected:U.restVarInjected,isFirstDeclaration:!1}}function tX(Q,Z,X,Y){let{varName:$,factoryExpr:_,startIndex:J,endIndex:U}=Q,H=y(_),W=zQ(X.source),q=l(Z.attrs,H,{useNewApi:!0,useUserPropsType:W}),z=FQ(H,Z.attrs),K=[q,`let ${$} = ${z}`];X.s.overwrite(J,U,K.join(`
56
+ `)),Y.set($,{varName:$,factoryExpr:_,startPos:J,endPos:U})}function pQ(Q,Z,X){let Y=Z.match(/let\s*\{([^}]*)\}\s*(?::\s*[^=]+)?\s*=\s*\$props\s*\(\s*\)/),$=!!Y,_=!zQ(Z)&&!$;return{s:Q,source:Z,neededImports:X,existingPropsMatch:Y,hasExistingProps:$,needsPropsInjection:_,isFirstDeclaration:!0,restVarInjected:!1,propsTypeDeclaration:null}}async function eX(Q,Z,X,Y){let $=uQ(Z);if($.length===0)return{changed:!1,propsTypeDeclaration:null,originInstances:new Map};let _=pQ(Q,Z,X),J=new Map;for(let U of $){let H=!0;if(Y){let W=IQ(U.factoryExpr),q=N(Z,W),z=await Y(U.factoryExpr,W,q);if(z&&z.attrs.length>0)tX(U,z,_,J),_={..._,isFirstDeclaration:!1},H=!1}if(H)_=mQ(U,_,J)}return{changed:!0,propsTypeDeclaration:_.propsTypeDeclaration,originInstances:J}}function QZ(Q,Z,X){let Y=uQ(Z);if(Y.length===0)return{changed:!1,propsTypeDeclaration:null,originInstances:new Map};let $=pQ(Q,Z,X),_=new Map;for(let J of Y)$=mQ(J,$,_);return{changed:!0,propsTypeDeclaration:$.propsTypeDeclaration,originInstances:_}}function VQ(Q,Z,X){return QZ(Q,Z,X)}async function dQ(Q,Z,X,Y){return eX(Q,Z,X,Y?async(_,J,U)=>{return Y.resolve(U,J)}:void 0)}function iQ(Q){return`svelteHTML.IntrinsicElements['${Q}']`}function nQ(Q){let Z=[];for(let X of Q)if(Z.push(_Q(X.key)),X.bindable)Z.push(JQ(X.key));return`{ ${Z.join(", ")} }`}function XZ(Q){let Z=[];for(let X of Q)if(X.bindable)Z.push(X.hasDefault?P(X.key,`$bindable(${X.defaultValue})`):P(X.key,"$bindable()"));else if(X.hasDefault)Z.push(P(X.key,X.defaultValue));else Z.push($Q(X.key));return Z.join(", ")}function cQ(Q){let Z=[],X=f(Q,"$origin.for");for(let Y of X){let{varName:$,startIndex:_,macroOpenParen:J}=Y,U=F(Q,J);if(U===-1)continue;let H=Q.slice(J+1,U).trim(),W=H.match(/^['"](\w+)['"]$/);Z.push({varName:$,arg:H,startIndex:_,endIndex:U+1,isElement:!!W,elementName:W?W[1]:void 0,factoryName:W?void 0:H})}return Z.sort((Y,$)=>Y.startIndex-$.startIndex),Z}function ZZ(Q){let Z=Q.match(/let\s*\{([^}]*)\}\s*(?::\s*[^=]+)?\s*=\s*\$props\s*\(\s*\)/);if(!Z)return null;let X=Z[1],Y=X.match(/\.\.\.\s*(\w+)\s*$/);return{match:Z,content:X,restVarName:Y?Y[1]:null}}function oQ(Q,Z,X,Y){let $=X.content.trimEnd()?`${X.content.trimEnd()}, ...${Y}`:`...${Y}`,_=Z.indexOf("}",X.match.index+5);if(_!==-1)Q.overwrite(X.match.index+5,_,` ${$} `)}function sQ(Q,Z,X){let Y=ZZ(Z);return{s:Q,source:Z,neededImports:X,existingProps:Y,restVarName:Y?.restVarName??null,restVarInjected:!1}}function aQ(Q,Z){let X=iQ(Q.elementName);if(Z.existingProps){if(!Z.restVarName&&!Z.restVarInjected)Z.restVarName="___restAttrs",oQ(Z.s,Z.source,Z.existingProps,Z.restVarName),Z.restVarInjected=!0;Z.s.overwrite(Q.startIndex,Q.endIndex,`let ${Q.varName} = ${Z.restVarName} as ${X}`)}else Z.s.overwrite(Q.startIndex,Q.endIndex,`let { ...${Q.varName} } = $props<${X}>()`);return Z}function rQ(Q,Z){if(Z.existingProps){if(!Z.restVarName&&!Z.restVarInjected)Z.restVarName="___restAttrs",oQ(Z.s,Z.source,Z.existingProps,Z.restVarName),Z.restVarInjected=!0;Z.s.overwrite(Q.startIndex,Q.endIndex,`let ${Q.varName} = __attrsFor(${Q.factoryName}, ${Z.restVarName})`)}else Z.s.overwrite(Q.startIndex,Q.endIndex,[`let ___attrs: $origin.Props<typeof ${Q.factoryName}> = $props()`,`let ${Q.varName} = __attrsFor(${Q.factoryName}, ___attrs)`].join(`
57
+ `));return Z.neededImports.add("__attrsFor"),Z}function YZ(Q,Z,X){if(X.existingProps){let Y=XZ(Z.attrs),$=X.existingProps.content.match(/,?\s*\.\.\.\s*(\w+)\s*$/),_=X.existingProps.content,J="";if($)J=$[0],_=X.existingProps.content.slice(0,$.index);let U=_.trimEnd()?`${_.trimEnd()}, ${Y}${J}`:`${Y}${J}`,H=X.source.indexOf("}",X.existingProps.match.index+5);if(H!==-1)X.s.overwrite(X.existingProps.match.index+5,H,` ${U} `);let W=nQ(Z.attrs);X.s.overwrite(Q.startIndex,Q.endIndex,`let ${Q.varName} = __attrsFor(${Q.factoryName}, ${W})`)}else{let Y=l(Z.attrs,Q.factoryName,{useNewApi:!0}),$=nQ(Z.attrs);X.s.overwrite(Q.startIndex,Q.endIndex,[Y,`let ${Q.varName} = __attrsFor(${Q.factoryName}, ${$})`].join(`
58
+ `))}X.neededImports.add("__attrsFor")}function $Z(Q,Z,X){let Y=cQ(Z);if(Y.length===0)return!1;let $=sQ(Q,Z,X);for(let _ of Y)if(_.isElement&&_.elementName)$=aQ(_,$);else if(_.factoryName)$=rQ(_,$);return!0}async function _Z(Q,Z,X,Y){let $=cQ(Z);if($.length===0)return!1;let _=sQ(Q,Z,X);for(let J of $)if(J.isElement&&J.elementName)_=aQ(J,_);else if(J.factoryName){let U=!0;if(Y){let H=N(Z,J.factoryName),W=await Y(J.factoryName,H);if(W&&W.attrs.length>0)YZ(J,W,_),U=!1}if(U)_=rQ(J,_)}return!0}function RQ(Q,Z,X){return $Z(Q,Z,X)}async function tQ(Q,Z,X,Y){return _Z(Q,Z,X,Y?async(_,J)=>{if(!J)return null;return Y.resolve(J,_)}:void 0)}function ZX(Q,Z,X){let Y=!1,$=JZ(Z,X);for(let _ of $.reverse()){let J=HZ(_,X);if(J)Q.overwrite(_.startPos,_.endPos,J),Y=!0}return Y}function JZ(Q,Z){let X=[],Y=/\b(let|const|var)\s*\{/g,$;while(($=Y.exec(Q))!==null){if(k(Q,$.index))continue;let _=$[1],J=$.index+$[0].length-1,U=F(Q,J,"{","}");if(U===-1)continue;let H=U+1;while(H<Q.length&&/\s/.test(Q[H]))H++;if(Q[H]!=="=")continue;H++;while(H<Q.length&&/\s/.test(Q[H]))H++;let W="";while(H<Q.length&&/[\w$]/.test(Q[H]))W+=Q[H],H++;if(!W)continue;if(!Z.has(W))continue;let q=!1;while(H<Q.length&&/\s/.test(Q[H]))H++;if(Q[H]==="."){H++;while(H<Q.length&&/\s/.test(Q[H]))H++;let G=zZ(Q,H);if(G==="props")q=!0,H+=G.length;else continue}let z=H;while(z<Q.length&&/\s/.test(Q[z])&&Q[z]!==`
59
+ `)z++;if(Q[z]===";")z++;if(Q[z]===`
60
+ `)z++;let K=Q.slice(J+1,U),w=UZ(K,q);X.push({startPos:$.index,endPos:z,sourceVar:W,isPropsAccess:q,methods:w.methods,props:w.props,nestedPropsPattern:w.nestedProps})}return X}function UZ(Q,Z){let X=[],Y=[],$=null,_=C(Q);for(let J of _){let U=J.trim();if(!U)continue;if(U.match(/^props\s*:\s*\{/)){let W=U.indexOf("{"),q=F(U,W,"{","}");if(q!==-1){let z=U.slice(W+1,q),K=C(z),w=[];for(let G of K){let j=eQ(G.trim());if(j)w.push(j)}$={startPos:0,endPos:0,props:w}}continue}if(Z){let W=eQ(U);if(W)Y.push(W)}else{let W=YX(U);if(W)X.push(W)}}return{methods:X,props:Y,nestedProps:$}}function YX(Q){let Z=Q.trim();if(!Z)return null;let X=WZ(Z),Y,$=null,_=Z;if(X!==-1){Y=Z.slice(0,X).trim(),_=Z.slice(X+1).trim();let U=XX(_);if(U!==-1)return $=_.slice(0,U).trim(),{key:Y,alias:$,defaultValue:_.slice(U+1).trim()};else return $=_,{key:Y,alias:$,defaultValue:null}}let J=XX(Z);if(J!==-1)return Y=Z.slice(0,J).trim(),{key:Y,alias:null,defaultValue:Z.slice(J+1).trim()};return{key:Z,alias:null,defaultValue:null}}function eQ(Q){let Z=YX(Q);if(!Z)return null;let X=!1,Y=null;if(Z.defaultValue){if(Z.defaultValue.match(/^\$bindable\s*\(/)){X=!0;let _=Z.defaultValue.indexOf("("),J=F(Z.defaultValue,_,"(",")");if(J!==-1)Y=Z.defaultValue.slice(_+1,J).trim()||null}}return{...Z,isBindable:X,bindableDefault:Y}}function HZ(Q,Z){let X=[];if(!Z.get(Q.sourceVar))return null;for(let $ of Q.methods){let _=$.alias||$.key;if($.defaultValue)X.push(`let ${_} = ${Q.sourceVar}.${$.key}?.bind(${Q.sourceVar}) ?? ${$.defaultValue}`);else X.push(`let ${_} = ${Q.sourceVar}.${$.key}.bind(${Q.sourceVar})`)}if(Q.nestedPropsPattern)for(let $ of Q.nestedPropsPattern.props)X.push(...QX($,Q.sourceVar));if(Q.isPropsAccess)for(let $ of Q.props)X.push(...QX($,Q.sourceVar));return X.join(`
61
+ `)+`
62
+ `}function QX(Q,Z){let X=[],Y=Q.alias||Q.key;if(Q.isBindable){let $=Q.bindableDefault||"undefined";X.push(`let ${Y} = $derived(${Z}.props.${Q.key} ?? ${$})`)}else if(Q.defaultValue)X.push(`let ${Y} = $derived(${Z}.props.${Q.key} ?? ${Q.defaultValue})`);else X.push(`let ${Y} = $derived(${Z}.props.${Q.key})`);return X}function WZ(Q){let Z=0;for(let X=0;X<Q.length;X++){let Y=Q[X];if(Y==="{"||Y==="("||Y==="["||Y==="<")Z++;else if(Y==="}"||Y===")"||Y==="]"||Y===">")Z--;else if(Y===":"&&Z===0)return X}return-1}function XX(Q){let Z=0;for(let X=0;X<Q.length;X++){let Y=Q[X];if(Y==="{"||Y==="("||Y==="["||Y==="<")Z++;else if(Y==="}"||Y===")"||Y==="]"||Y===">")Z--;else if(Y==="="&&Z===0){if(Q[X+1]!=="="&&Q[X+1]!==">")return X}}return-1}function zZ(Q,Z){let X="",Y=Z;while(Y<Q.length&&/[\w$]/.test(Q[Y]))X+=Q[Y],Y++;return X}function KZ(Q){let Z="",X=0;while(X<Q.length){if(Q[X]==="/"&&Q[X+1]==="/"){let Y=Q.indexOf(`
63
+ `,X+2);X=Y===-1?Q.length:Y+1;continue}if(Q[X]==="/"&&Q[X+1]==="*"){let Y=Q.indexOf("*/",X+2);X=Y===-1?Q.length:Y+2;continue}if(Q[X]==='"'||Q[X]==="'"||Q[X]==="`"){let Y=Q[X];Z+=Q[X],X++;while(X<Q.length&&Q[X]!==Y){if(Q[X]==="\\")Z+=Q[X],X++;if(X<Q.length)Z+=Q[X],X++}if(X<Q.length)Z+=Q[X],X++;continue}Z+=Q[X],X++}return Z}function $X(Q,Z,X){if(Z)return;let Y=KZ(Q),$=/\$origin\s*\.\s*component\s*\(/,_=/\$origin\s*\.\s*for\s*\(\s*\w+\s*\)/,J=/\$origin\s*\.\s*for\s*\(\s*['"]/;if($.test(Y)){let U=X?` in "${X}"`:"";throw Error(`[svelte-origin] $origin.component()${U} can only be used inside .svelte components.
64
+
65
+ Use $origin.create() instead for programmatic origin creation in .svelte.ts/.svelte.js files.
66
+
67
+ Example:
68
+ // Instead of:
69
+ let counter = $origin.component(Counter)
70
+
71
+ // Use:
72
+ let counter = $origin.create(Counter, { count: 0 })`)}if(_.test(Y)||J.test(Y)){let U=X?` in "${X}"`:"";throw Error(`[svelte-origin] $origin.for()${U} can only be used inside .svelte components.
73
+
74
+ This macro is for forwarding props to child components in templates.`)}}function _X(Q,Z){return{s:new qZ(Q),source:Q,isComponent:Z,neededImports:new Set,svelteImports:new Set,changed:!1,propsTypeDeclaration:null}}function JX(Q){if(!Q.isComponent)Q.changed=PQ(Q.s,Q.source,Q.neededImports,Q.svelteImports)||Q.changed,Q.changed=bQ(Q.s,Q.source,Q.neededImports)||Q.changed;Q.changed=gQ(Q.s,Q.source,Q.neededImports)||Q.changed,Q.changed=fQ(Q.s,Q.s.toString(),Q.neededImports)||Q.changed}function UX(Q,Z){if(Q.changed=Z.changed||Q.changed,Q.propsTypeDeclaration=Z.propsTypeDeclaration,Z.originInstances.size>0)Q.changed=ZX(Q.s,Q.source,Z.originInstances)||Q.changed}function GZ(Q){let Z=/<script[^>]*>/.test(Q.source),X=Q.propsTypeDeclaration&&Q.propsTypeDeclaration.length>0;if(Q.isComponent&&(Q.neededImports.size>0||X))if(Z){let Y=Q.source.match(/<script[^>]*>/);if(Y){let $=Y.index+Y[0].length,_=qQ(Q.source);if(Q.neededImports.size>0)Q.s.appendLeft($,`
75
+ `+c([...Q.neededImports]));if(X){let J=_>$?_:$;Q.s.appendLeft(J,`
76
+ `+Q.propsTypeDeclaration)}}}else{let Y=qQ(Q.source);if(Q.neededImports.size>0)Q.s.prepend(c([...Q.neededImports])+`
77
+ `);if(X)Q.s.appendLeft(Y,Q.propsTypeDeclaration+`
78
+ `)}else if(Q.neededImports.size>0||Q.svelteImports.size>0){if(Q.neededImports.size>0)Q.s.prepend(c([...Q.neededImports])+`
79
+ `);if(Q.svelteImports.size>0)Q.s.prepend(`import { ${[...Q.svelteImports].join(", ")} } from 'svelte'
80
+ `)}}function HX(Q){if(GZ(Q),!Q.changed)return{code:Q.source,changed:!1};return{code:Q.s.toString(),changed:!0,map:Q.s.generateMap({hires:!0})}}async function WX(Q,Z){if(!h(Q))return{code:Q,changed:!1};let{isComponent:X=!1,schemaResolver:Y,filename:$}=Z;$X(Q,X,$);let _=_X(Q,X);if(JX(_),X){let J=Y?await dQ(_.s,Q,_.neededImports,Y):VQ(_.s,Q,_.neededImports);UX(_,J)}if(X){let J=Y?await tQ(_.s,Q,_.neededImports,Y):RQ(_.s,Q,_.neededImports);_.changed=J||_.changed}return HX(_)}function wZ(Q,Z){if(!h(Q))return{code:Q,changed:!1};let{isComponent:X=!1,filename:Y}=Z;$X(Q,X,Y);let $=_X(Q,X);if(JX($),X){let _=VQ($.s,Q,$.neededImports);UX($,_)}if(X){let _=RQ($.s,Q,$.neededImports);$.changed=_||$.changed}return HX($)}function zX(Q,Z={}){if(Z.schemaResolver)return WX(Q,Z);return wZ(Q,Z)}async function qX(Q,Z){return WX(Q,Z)}import{existsSync as D,readFileSync as AQ,statSync as TZ}from"node:fs";import{dirname as b,join as E,resolve as M,isAbsolute as v}from"node:path";function jZ(Q){let Z="",X=!1,Y=!1,$=!1,_=0;while(_<Q.length){let J=Q[_],U=Q[_+1];if(Y){if(J===`
81
+ `)Y=!1,Z+=J;_++;continue}if($){if(J==="*"&&U==="/"){$=!1,_+=2;continue}_++;continue}if(X){if(Z+=J,J==="\\"&&U){Z+=U,_+=2;continue}if(J==='"')X=!1;_++;continue}if(J==='"'){X=!0,Z+=J,_++;continue}if(J==="/"&&U==="/"){Y=!0,_+=2;continue}if(J==="/"&&U==="*"){$=!0,_+=2;continue}Z+=J,_++}return Z}function KX(Q,Z=new Set){let X=M(Q);if(Z.has(X))return null;if(Z.add(X),!D(X))return null;try{let Y=AQ(X,"utf-8"),$=jZ(Y),_=JSON.parse($),J=b(X),U={},H=_.compilerOptions?.baseUrl,W=_.extends;if(W){let q=Array.isArray(W)?W:[W];for(let z of q){let K;if(z.startsWith("."))K=M(J,z);else if(z.startsWith("/")||/^[a-zA-Z]:/.test(z))K=z;else{let G=LZ(z,J);if(G)K=G;else continue}if(!K.endsWith(".json")){if(D(K+".json"))K=K+".json";else if(D(E(K,"tsconfig.json")))K=E(K,"tsconfig.json")}let w=KX(K,Z);if(w){if(w.paths)U={...w.paths,...U};if(w.baseUrl&&!H){let G=b(K);H=M(G,w.baseUrl)}}}}if(_.compilerOptions?.paths)U={...U,..._.compilerOptions.paths};if(H&&!v(H))H=M(J,H);return{paths:Object.keys(U).length>0?U:void 0,baseUrl:H}}catch{return null}}function LZ(Q,Z){let X=Z,Y=v(Z)?(Z.match(/^[a-zA-Z]:[/\\]/)||["/"])[0]:"/";while(X!==Y&&X!==b(X)){let $=E(X,"node_modules",Q);if(D($)){if($.endsWith(".json"))return $;let _=E($,"tsconfig.json");if(D(_))return _;if(D($+".json"))return $+".json"}X=b(X)}return null}function OZ(Q,Z){let X={};for(let[Y,$]of Object.entries(Q)){if(!$||$.length===0)continue;let _=$[0],J=Y.endsWith("/*"),U=J?Y.slice(0,-2):Y;if(J&&_.endsWith("/*"))_=_.slice(0,-2);let H=v(_)?_:M(Z,_);X[U]=H}return X}function FZ(Q,Z){if(!D(Q))return{};try{let X=AQ(Q,"utf-8"),Y={},$=X.match(/alias\s*:\s*\{([^}]+)\}/s);if(!$)return{};let _=$[1],J=/['"]?(\$[\w-]+)['"]?\s*:\s*['"]([^'"]+)['"]/g,U;while((U=J.exec(_))!==null){let[,H,W]=U,q=v(W)?W:M(Z,W);Y[H]=q}return Y}catch{return{}}}function BZ(Q){let Z=[],X=["tsconfig.json","jsconfig.json",".svelte-kit/tsconfig.json"];for(let Y of X){let $=M(Q,Y);if(D($))Z.push($)}return Z}function GX(Q={}){let{aliases:Z={},root:X=process.cwd(),autoDetect:Y=!0,tsconfig:$,svelteConfig:_}=Q,J=v(X)?X:M(process.cwd(),X),U={};if(Y){let H=$?[v($)?$:M(J,$)]:BZ(J);for(let z of H){let K=KX(z);if(K?.paths){let w=K.baseUrl||b(z);U={...OZ(K.paths,w),...U}}}let W=_?v(_)?_:M(J,_):M(J,"svelte.config.js"),q=FZ(W,J);U={...U,...q}}for(let[H,W]of Object.entries(Z))U[H]=v(W)?W:M(J,W);return{aliases:U,root:J}}function wX(Q,Z,X){if(Q.startsWith("."))return M(X,Q);let Y=Object.entries(Z).sort((_,J)=>J[0].length-_[0].length);for(let[_,J]of Y){if(Q===_)return J;if(Q.startsWith(_+"/")){let U=Q.slice(_.length+1);return E(J,U)}}let $=VZ(Q,X);if($)return $;return null}function VZ(Q,Z){if(Q.startsWith(".")||Q.startsWith("/")||/^[a-zA-Z]:/.test(Q))return null;let X,Y;if(Q.startsWith("@")){let J=Q.split("/");if(J.length<2)return null;X=`${J[0]}/${J[1]}`,Y=J.slice(2).join("/")}else{let J=Q.indexOf("/");if(J===-1)X=Q,Y="";else X=Q.slice(0,J),Y=Q.slice(J+1)}let $=Z,_=v(Z)?(Z.match(/^[a-zA-Z]:[/\\]/)||["/"])[0]:"/";while($!==_&&$!==b($)){let J=E($,"node_modules"),U=E(J,X);if(D(U)){let H=E(U,"package.json"),W=Y?`./${Y}`:".";if(D(H))try{let q=JSON.parse(AQ(H,"utf-8"));if(q.exports){let z=RZ(q.exports,W);if(z)return E(U,z)}if(!Y){let z=q.module||q.main||"index.js";return E(U,z)}}catch{}if(Y)return E(U,Y);return E(U,"index.js")}$=b($)}return null}function RZ(Q,Z){if(typeof Q==="string")return Z==="."?Q:null;if(typeof Q!=="object"||Q===null)return null;let X=Q[Z];if(X)return UQ(X);if(Z==="."&&Q["."])return UQ(Q["."]);if(Z==="."){let Y=UQ(Q);if(Y)return Y}return null}function UQ(Q){if(typeof Q==="string")return Q;if(typeof Q!=="object"||Q===null)return null;let Z=Q,X=["svelte","import","module","default","require"];for(let Y of X)if(Y in Z){let $=Z[Y];if(typeof $==="string")return $;let _=UQ($);if(_)return _}return null}function TX(Q){if(D(Q))try{let Y=TZ(Q);if(Y.isFile())return Q;if(Y.isDirectory()){let $=["index.ts","index.js"];for(let _ of $){let J=E(Q,_);if(D(J))return J}}}catch{}let Z=[".ts",".js",".svelte.ts",".svelte.js"];if(Q.endsWith(".svelte")){let Y=Q+".ts";if(D(Y))return Y}if(Q.endsWith(".svelte.js")){let Y=Q.slice(0,-3)+".ts";if(D(Y))return Y}for(let Y of Z){let $=Q+Y;if(D($))return $}let X=["/index.ts","/index.js"];for(let Y of X){let $=Q+Y;if(D($))return $}return null}import{readFileSync as AZ,statSync as OX}from"node:fs";import{basename as jX,dirname as DZ}from"node:path";var p=new Map;function EZ(Q,Z){let X=p.get(Q);if(!X)return!1;try{for(let Y=0;Y<X.filePaths.length;Y++)if(OX(X.filePaths[Y]).mtimeMs!==X.mtimes[Y]){if(Z)console.log(`[svelte-origin] Cache stale for ${Q}: ${X.filePaths[Y]} changed`);return!1}return!0}catch{return!1}}function LX(Q,Z){let X=[],Y=[];for(let $ of Z)try{let _=OX($).mtimeMs;X.push($),Y.push(_)}catch{}if(X.length>0)p.set(Q,{filePaths:X,mtimes:Y})}function a0(Q,Z){let X=jX(Q);for(let[Y,$]of p.entries())if($.filePaths.some((J)=>J===Q||jX(J)===X))Z.delete(Y),p.delete(Y)}function u(Q,Z,X=!1){for(let Y of Z){let $=Q.findIndex((_)=>_.key===Y.key);if($===-1)Q.push(Y);else if(X)Q[$]=Y}}function MZ(Q,Z,X,Y){let $=wX(Q,X,Z);if(!$){if(Y)console.log(`[svelte-origin] No alias match for ${Q}, skipping`);return null}if(Y)console.log(`[svelte-origin] Resolved path: ${$}`);let _=TX($);if(!_){if(Y)console.log(`[svelte-origin] Could not find file for ${$}`);return null}if(Y)console.log(`[svelte-origin] Found file: ${_}`);let J=AZ(_,"utf-8");return{filePath:_,source:J}}async function m(Q,Z,X,Y,$,_={},J=null){let{debug:U=!1,aliases:H={}}=_,W=J===null,q=J??new Set,z=Q==="attrs"?`attrs::${Z}::${X}`:`${Z}::${X}`;if($.has(z)&&EZ(z,U)){if(U)console.log(`[svelte-origin] Cache hit for ${z}`);return $.get(z)||null}if($.has(z))$.delete(z),p.delete(z);try{let K=DZ(Y);if(U)console.log(`[svelte-origin] Resolving ${Q}: ${X} from ${Z}`);let w=MZ(Z,K,H,U);if(!w)return $.set(z,null),null;let{filePath:G,source:j}=w;q.add(G);let T=Q==="attrs"?ZQ(j,X):LQ(j,X);if(!T){if($.set(z,null),W)LX(z,q);return null}let L=[];for(let B of T.parentNames){let O=N(j,B),R=null;if(O)R=Q==="attrs"?await m("attrs",O,B,G,$,_,q):await m("origin",O,B,G,$,_,q);else if(Q==="attrs")R=await EQ(j,B,G,$,_,q);if(R)u(L,R.attrs)}if(Q==="origin"&&T.propsRef){let B=N(j,T.propsRef),O=null;if(B){if(U)console.log(`[svelte-origin] Resolving propsRef: ${T.propsRef} from import ${B}`);O=await m("attrs",B,T.propsRef,G,$,_,q)}else{if(U)console.log(`[svelte-origin] Resolving propsRef: ${T.propsRef} from same file`);O=await EQ(j,T.propsRef,G,$,_,q)}if(O)u(L,O.attrs,!0)}u(L,T.attrs,!0);let V={attrs:L,parentNames:T.parentNames};if(U)console.log(`[svelte-origin] Resolved ${Q} schema for ${X}:`,V.attrs.map((B)=>B.key));if($.set(z,V),W)LX(z,q);return V}catch(K){if(U)console.error(`[svelte-origin] Error resolving ${Q} schema for ${Z}:`,K);return $.set(z,null),null}}async function DQ(Q,Z,X,Y,$={}){return m("origin",Q,Z,X,Y,$)}async function EQ(Q,Z,X,Y,$={},_=null){let{debug:J=!1}=$;if(_)_.add(X);let U=ZQ(Q,Z);if(!U)return null;if(U.parentNames.length===0)return U;let H=[];for(let W of U.parentNames){let q=N(Q,W),z=null;if(q)z=await m("attrs",q,W,X,Y,$,_);else z=await EQ(Q,W,X,Y,$,_);if(z)u(H,z.attrs)}if(u(H,U.attrs,!0),J)console.log(`[svelte-origin] Resolved same-file attrs for ${Z}:`,H.map((W)=>W.key));return{attrs:H,parentNames:U.parentNames}}function FX(Q,Z,X={}){let{debug:Y=!1,moduleImports:$}=X;return{resolve:async(_,J)=>{if(_!==null)return DQ(_,J,Q,Z,X);if($?.has(J)){let H=$.get(J);if(Y)console.log(`[svelte-origin] Found ${J} in module imports: ${H}`);return DQ(H,J,Q,Z,X)}if(Y)console.log(`[svelte-origin] No import path for ${J}, attempting sibling file resolution`);let U=SZ(J,Q);for(let H of U){if(Y)console.log(`[svelte-origin] Trying sibling path: ${H}`);let W=await DQ(H,J,Q,Z,X);if(W){if(Y)console.log(`[svelte-origin] Found schema in sibling file: ${H}`);return W}}if(Y)console.log(`[svelte-origin] Could not find schema for ${J} in sibling files`);return null}}}function SZ(Q,Z){let X=new Set,Y=[],$=(z)=>{if(!X.has(z))X.add(z),Y.push(z)},_=[".svelte.ts",".svelte.js",".svelte"],J=Q.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),U=Q.charAt(0).toLowerCase()+Q.slice(1),H=Q,W=Q.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase();for(let z of _)$(`./${J}${z}`),$(`./${U}${z}`),$(`./${H}${z}`),$(`./${W}${z}`);let q=Q.match(/^[A-Z][a-z]+(?=[A-Z])/);if(q){let z=Q.slice(q[0].length);if(z){let K=z.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),w=z.charAt(0).toLowerCase()+z.slice(1),G=z,j=z.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase();for(let T of _)$(`./${K}${T}`),$(`./${w}${T}`),$(`./${G}${T}`),$(`./${j}${T}`)}}for(let z of _)$(`./state${z}`),$(`./factory${z}`),$(`./schema${z}`),$(`./origin${z}`);return Y}var BX=!1,MQ={outputTransformed:!1,outputDir:void 0,debug:!1};function VX(){BX=!0}function t0(){return BX}function e0(Q){MQ={...MQ,...Q}}function RX(){return MQ}import{writeFileSync as kZ,mkdirSync as IZ,existsSync as NZ,readdirSync as vZ}from"node:fs";import{dirname as CZ,join as AX,basename as yZ}from"node:path";function SQ(Q,Z,X){if(!X.enabled||!Q)return;try{let Y=X.outputDir??CZ(Q);if(!NZ(Y))IZ(Y,{recursive:!0});let $=yZ(Q),_=AX(Y,`${$}.transformed.txt`);if(kZ(_,Z,"utf-8"),X.debug)console.log(`[svelte-origin] Wrote transformed output to ${_}`)}catch(Y){console.warn("[svelte-origin] Failed to write transformed output:",Y)}}function Y1(Q,Z){let X=[];function Y($){let _=vZ($,{withFileTypes:!0});for(let J of _){if(J.name.startsWith(".")||J.name==="node_modules")continue;let U=AX($,J.name);if(J.isDirectory())Y(U);else if(J.isFile()){if(Z.some((W)=>J.name.endsWith(W)))X.push(U)}}}return Y(Q),X}function PZ(Q={}){let{debug:Z=!1,aliases:X={},root:Y,autoDetectAliases:$=!0,tsconfig:_,svelteConfig:J}=Q;VX();let{aliases:U,root:H}=GX({aliases:X,root:Y,autoDetect:$,tsconfig:_,svelteConfig:J});if(Z)console.log("[svelte-origin-preprocess] Resolved aliases:",U),console.log("[svelte-origin-preprocess] Project root:",H);let W=new Map,q=new Map;function z(){let w=RX();return{enabled:w.outputTransformed,outputDir:w.outputDir,debug:Z||w.debug}}function K(w,G){let j=new Map,T=/import\s+(?:type\s+)?(?:(\*\s+as\s+(\w+))|(\w+)|{([^}]+)})\s+from\s+['"]([^'"]+)['"]/g,L;while((L=T.exec(G))!==null){let[,V,B,O,R,S]=L;if(B)j.set(B,S);else if(O)j.set(O,S);else if(R){let I=/(\w+)(?:\s+as\s+(\w+))?/g,x;while((x=I.exec(R))!==null){let[,d,HQ]=x,WQ=HQ||d;j.set(WQ,S)}}}if(j.size>0){if(q.set(w,{imports:j,content:G}),Z){console.log(`[svelte-origin-preprocess] Cached ${j.size} imports for ${w}:`);for(let[V,B]of j)console.log(` ${V} -> ${B}`)}}}return{name:"svelte-origin",async script(w){let{content:G,filename:j,attributes:T={}}=w;if(Z)console.log(`[svelte-origin-preprocess] Processing script: ${j}`),console.log("[svelte-origin-preprocess] Attributes:",T);let L=T.context==="module"||"module"in T||T.module===!0||T.module==="true";if(L&&j)K(j,G);if(!h(G)){if(Z)console.log("[svelte-origin-preprocess] No macros found, skipping");return}if(Z)console.log(`[svelte-origin-preprocess] Is module script: ${L}`);if(L){let V=zX(G,{filename:j,isComponent:!1});if(!V.changed){if(Z)console.log("[svelte-origin-preprocess] No changes made to module script");return}if(Z)console.log(`[svelte-origin-preprocess] Transformed module script: ${j}`);return SQ(j,V.code,z()),{code:V.code,map:V.map}}else{let V=j?q.get(j):void 0,B=j?FX(j,W,{debug:Z,aliases:U,moduleImports:V?.imports}):{resolve:async()=>null},O=await qX(G,{filename:j,isComponent:!0,schemaResolver:B});if(!O.changed){if(Z)console.log("[svelte-origin-preprocess] No changes made to component script");return}if(Z)console.log(`[svelte-origin-preprocess] Transformed component script: ${j}`);return SQ(j,O.code,z()),{code:O.code,map:O.map}}}}}var K1=PZ;export{PZ as svelteOriginPreprocess,K1 as default};
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Attr schema utilities for svelte-origin
3
+ */
4
+ import type { Bindable, AttrSchema } from './types';
5
+ /**
6
+ * Symbol used to mark attrs as already having defaults applied.
7
+ * When inheritance creates parent instances, we pass the same attrs object
8
+ * to ensure mutations propagate correctly through the inheritance chain.
9
+ */
10
+ export declare const ATTRS_SHARED: unique symbol;
11
+ /**
12
+ * Create a bindable attr marker.
13
+ * Used in origin definitions to mark attrs that support two-way binding.
14
+ *
15
+ * This is what $bindable(...) inside $origin({ props: $origin.props({...}) }) compiles to.
16
+ *
17
+ * @example
18
+ * // User writes:
19
+ * $origin({
20
+ * props: $origin.props({
21
+ * count: $bindable(0)
22
+ * })
23
+ * })
24
+ *
25
+ * // Transforms to:
26
+ * __createOrigin({
27
+ * __attrSchema: { count: { default: 0, bindable: true, hasDefault: true } },
28
+ * ...
29
+ * })
30
+ */
31
+ export declare function bindable<T>(defaultValue: T): Bindable<T>;
32
+ export declare function bindable<T = unknown>(): Bindable<T | undefined>;
33
+ /**
34
+ * Check if a value is a Bindable marker
35
+ */
36
+ export declare function isBindable(value: unknown): value is Bindable;
37
+ /**
38
+ * Extract an AttrSchema from an attrs definition object.
39
+ * Handles Bindable markers and default values.
40
+ *
41
+ * @example
42
+ * extractAttrSchema({
43
+ * label: 'Hello', // default 'Hello', not bindable
44
+ * count: bindable(0), // default 0, bindable
45
+ * step: undefined, // no default
46
+ * })
47
+ */
48
+ export declare function extractAttrSchema(attrsDefinition: Record<string, any>): AttrSchema;
49
+ /**
50
+ * Apply defaults from schema to input attrs.
51
+ * Creates a proxy that wraps the input attrs and provides defaults.
52
+ * This preserves the original getters/setters for reactive binding.
53
+ *
54
+ * Handles readonly $props() proxies (Svelte 5 fallback pattern) by
55
+ * storing values locally when writes fail.
56
+ *
57
+ * The returned proxy is marked with ATTRS_SHARED symbol to indicate
58
+ * that defaults have been applied. This allows inheritance to pass
59
+ * the same attrs object to parent instances for shared reactivity.
60
+ */
61
+ export declare function applyDefaults(schema: AttrSchema, inputAttrs: Record<string, any>): Record<string, any>;
62
+ /**
63
+ * Generate attr keys list from schema
64
+ */
65
+ export declare function generateAttrKeys(schema: AttrSchema): string[];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Runtime exports for svelte-origin
3
+ *
4
+ * This module provides the runtime functions that macro syntax compiles to.
5
+ */
6
+ export { __createOrigin, __createOriginInstance, __bindable, __createAttrs, bindable, isBindable, isAttrsFactory, extractAttrSchema, applyDefaults, __attrsFor, getMergedAttrSchemaFromAttrs } from './origin';
7
+ export type { Bindable, AttrSchema, AttrSchemaEntry, OriginFactory, OriginInstance, ReactiveAttrs, UnwrapBindable, ComponentAttrs, InstanceOf, MergedOrigin, AttrsFor, AttrMapping, HTMLElementName, ElementAttrs, AttrsFactory } from './types';
8
+ export { generateAttrKeys } from './attrs';
@@ -0,0 +1,28 @@
1
+ var s7=Symbol.for("svelte-origin:attrs-shared");function a7(Q){return{__bindable:!0,default:Q}}function z7(Q){return Q!==null&&typeof Q==="object"&&"__bindable"in Q&&Q.__bindable===!0}function r7(Q){let J={};for(let[X,Z]of Object.entries(Q))if(z7(Z))J[X]={default:Z.default,bindable:!0,hasDefault:Z.default!==void 0};else J[X]={default:Z,bindable:!1,hasDefault:Z!==void 0};return J}function h0(Q,J){if(J&&J[s7])return J;let X=J&&typeof J==="object"?J:{},Z={},z=new Set;return new Proxy(X,{get(W,K){if(K===s7)return!0;if(z.has(K))return Z[K];if(typeof K==="symbol")return W[K];let G=W[K];if(G===void 0&&K in Q&&Q[K].hasDefault)return Q[K].default;return G},set(W,K,G){Z[K]=G;try{W[K]=G}catch{z.add(K)}return!0},has(W,K){if(typeof K==="symbol")return K in W;return K in W||K in Q},ownKeys(W){let K=Reflect.ownKeys(W),G=Object.keys(Q);return[...new Set([...K,...G])]},getOwnPropertyDescriptor(W,K){if(typeof K==="symbol")return Object.getOwnPropertyDescriptor(W,K);if(K in W)return Object.getOwnPropertyDescriptor(W,K);if(K in Q)return{configurable:!0,enumerable:!0,value:Q[K].hasDefault?Q[K].default:void 0};return}})}function zJ(Q){return Object.keys(Q)}var O0="[",uQ="[!",U0="]",sQ={};var A=Symbol(),YQ=Symbol("filename"),n7=Symbol("hmr");var W7="@attach";var H=!0;function t7(){if(H){let Q=Error(`derived_references_self
2
+ A derived value cannot reference itself recursively
3
+ https://svelte.dev/e/derived_references_self`);throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/derived_references_self")}function e7(){if(H){let Q=Error(`effect_update_depth_exceeded
4
+ Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state
5
+ https://svelte.dev/e/effect_update_depth_exceeded`);throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Q9(){if(H){let Q=Error(`hydration_failed
6
+ Failed to hydrate the application
7
+ https://svelte.dev/e/hydration_failed`);throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/hydration_failed")}function J9(Q){if(H){let J=Error(`rune_outside_svelte
8
+ The \`${Q}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files
9
+ https://svelte.dev/e/rune_outside_svelte`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/rune_outside_svelte")}function X9(){if(H){let Q=Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/state_descriptors_fixed")}function Z9(){if(H){let Q=Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/state_prototype_fixed")}function z9(){if(H){let Q=Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/state_unsafe_mutation")}function W9(){if(H){let Q=Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw Q.name="Svelte error",Q}else throw Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var hQ=Array.isArray,K9=Array.prototype.indexOf,K7=Array.from,G7=Object.keys,_=Object.defineProperty,JQ=Object.getOwnPropertyDescriptor;var $7=Object.prototype,G9=Array.prototype,C0=Object.getPrototypeOf,H7=Object.isExtensible;function y0(Q){for(var J=0;J<Q.length;J++)Q[J]()}function U7(){var Q,J,X=new Promise((Z,z)=>{Q=Z,J=z});return{promise:X,resolve:Q,reject:J}}var D=2,g0=4,v0=8,S0=16777216,r=16,XQ=32,MQ=64,aQ=128,l=512,j=1024,k=2048,f=4096,ZQ=8192,zQ=16384,NQ=32768,WQ=65536,rQ=131072,I0=262144,dQ=524288,$9=1048576;var LQ=32768,m0=2097152,nQ=4194304,yQ=8388608,n=Symbol("$state"),f0=Symbol("legacy props"),GJ=Symbol(""),u0=Symbol("proxy path"),q0=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};var VQ=8;var w0="font-weight: bold",N0="font-weight: normal";function R0(Q){if(H)console.warn(`%c[svelte] hydration_mismatch
10
+ %c${Q?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${Q}`:"Hydration failed because the initial UI does not match what was rendered on the server"}
11
+ https://svelte.dev/e/hydration_mismatch`,w0,N0);else console.warn("https://svelte.dev/e/hydration_mismatch")}function H9(){if(H)console.warn(`%c[svelte] lifecycle_double_unmount
12
+ %cTried to unmount a component that was not mounted
13
+ https://svelte.dev/e/lifecycle_double_unmount`,w0,N0);else console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function d0(Q){if(H)console.warn(`%c[svelte] state_proxy_equality_mismatch
14
+ %cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${Q}\` will produce unexpected results
15
+ https://svelte.dev/e/state_proxy_equality_mismatch`,w0,N0);else console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function U9(){if(H)console.warn(`%c[svelte] state_proxy_unmount
16
+ %cTried to unmount a state proxy, rather than a component
17
+ https://svelte.dev/e/state_proxy_unmount`,w0,N0);else console.warn("https://svelte.dev/e/state_proxy_unmount")}function q9(){if(H)console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",w0,N0);else console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var F=!1;function FQ(Q){F=Q}var w;function g(Q){if(Q===null)throw R0(),sQ;return w=Q}function c(){return g(KQ(w))}function q7(Q=1){if(F){var J=Q,X=w;while(J--)X=KQ(X);w=X}}function tQ(Q=!0){var J=0,X=w;while(!0){if(X.nodeType===VQ){var Z=X.data;if(Z===U0){if(J===0)return X;J-=1}else if(Z===O0||Z===uQ)J+=1}var z=KQ(X);if(Q)X.remove();X=z}}function P7(Q){return Q===this.v}function B7(Q,J){return Q!=Q?J==J:Q!==J||Q!==null&&typeof Q==="object"||typeof Q==="function"}function Y7(Q){return!B7(Q,this.v)}var GQ=!1,eQ=!1,RQ=!1;var D0=null;function t(Q,J){return Q.label=J,p0(Q.v,J),Q}function p0(Q,J){return Q?.[u0]?.(J),Q}function gQ(Q){let J=Error(),X=$J();if(X.length===0)return null;return X.unshift(`
18
+ `),_(J,"stack",{value:X.join(`
19
+ `)}),_(J,"name",{value:Q}),J}function $J(){let Q=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let J=Error().stack;if(Error.stackTraceLimit=Q,!J)return[];let X=J.split(`
20
+ `),Z=[];for(let z=0;z<X.length;z++){let W=X[z],K=W.replaceAll("\\","/");if(W.trim()==="Error")continue;if(W.includes("validate_each_keys"))return[];if(K.includes("svelte/src/internal")||K.includes("node_modules/.vite"))continue;Z.push(W)}return Z}var Q0=[];function B9(){var Q=Q0;Q0=[],y0(Q)}function e(Q){if(Q0.length===0&&!J0){var J=Q0;queueMicrotask(()=>{if(J===Q0)B9()})}Q0.push(Q)}function Y9(){while(Q0.length>0)B9()}var L7=new WeakMap;function _0(Q){var J=L;if(J===null)return V.f|=yQ,Q;if(H&&Q instanceof Error&&!L7.has(Q))L7.set(Q,HJ(Q,J));if((J.f&NQ)===0){if((J.f&aQ)===0){if(H&&!J.parent&&Q instanceof Error)M9(Q);throw Q}J.b.error(Q)}else pQ(Q,J)}function pQ(Q,J){while(J!==null){if((J.f&aQ)!==0)try{J.b.error(Q);return}catch(X){Q=X}J=J.parent}if(H&&Q instanceof Error)M9(Q);throw Q}function HJ(Q,J){let X=JQ(Q,"message");if(X&&!X.configurable)return;var Z=l0?" ":"\t",z=`
21
+ ${Z}in ${J.fn?.name||"<unknown>"}`,W=J.ctx;while(W!==null)z+=`
22
+ ${Z}in ${W.function?.[YQ].split("/").pop()}`,W=W.p;return{message:Q.message+`
23
+ ${z}
24
+ `,stack:Q.stack?.split(`
25
+ `).filter((K)=>!K.includes("svelte/src/internal")).join(`
26
+ `)}}function M9(Q){let J=L7.get(Q);if(J)_(Q,"message",{value:J.message}),_(Q,"stack",{value:J.stack})}var P0=new Set,C=null,A0=null,v=null,OQ=[],c0=null,V7=!1,J0=!1;class h{committed=!1;current=new Map;previous=new Map;#J=new Set;#Q=new Set;#X=0;#Z=0;#$=null;#W=new Set;#z=new Set;skipped_effects=new Set;is_fork=!1;is_deferred(){return this.is_fork||this.#Z>0}process(Q){OQ=[],A0=null,this.apply();var J={parent:null,effect:null,effects:[],render_effects:[]};for(let X of Q)this.#K(X,J);if(!this.is_fork)this.#U();if(this.is_deferred())this.#G(J.effects),this.#G(J.render_effects);else A0=this,C=null,L9(J.render_effects),L9(J.effects),A0=null,this.#$?.resolve();v=null}#K(Q,J){Q.f^=j;var X=Q.first;while(X!==null){var Z=X.f,z=(Z&(XQ|MQ))!==0,W=z&&(Z&j)!==0,K=W||(Z&ZQ)!==0||this.skipped_effects.has(X);if((X.f&aQ)!==0&&X.b?.is_pending())J={parent:J,effect:X,effects:[],render_effects:[]};if(!K&&X.fn!==null){if(z)X.f^=j;else if((Z&g0)!==0)J.effects.push(X);else if(GQ&&(Z&(v0|S0))!==0)J.render_effects.push(X);else if(lQ(X)){if((X.f&r)!==0)this.#W.add(X);_Q(X)}var G=X.first;if(G!==null){X=G;continue}}var P=X.parent;X=X.next;while(X===null&&P!==null){if(P===J.effect)this.#G(J.effects),this.#G(J.render_effects),J=J.parent;X=P.next,P=P.parent}}}#G(Q){for(let J of Q){if((J.f&k)!==0)this.#W.add(J);else if((J.f&f)!==0)this.#z.add(J);this.#H(J.deps),b(J,j)}}#H(Q){if(Q===null)return;for(let J of Q){if((J.f&D)===0||(J.f&LQ)===0)continue;J.f^=LQ,this.#H(J.deps)}}capture(Q,J){if(!this.previous.has(Q))this.previous.set(Q,J);if((Q.f&yQ)===0)this.current.set(Q,Q.v),v?.set(Q,Q.v)}activate(){C=this,this.apply()}deactivate(){if(C!==this)return;C=null,v=null}flush(){if(this.activate(),OQ.length>0){if(F7(),C!==null&&C!==this)return}else if(this.#X===0)this.process([]);this.deactivate()}discard(){for(let Q of this.#Q)Q(this);this.#Q.clear()}#U(){if(this.#Z===0){for(let Q of this.#J)Q();this.#J.clear()}if(this.#X===0)this.#q()}#q(){if(P0.size>1){this.previous.clear();var Q=v,J=!0,X={parent:null,effect:null,effects:[],render_effects:[]};for(let z of P0){if(z===this){J=!1;continue}let W=[];for(let[G,P]of this.current){if(z.current.has(G))if(J&&P!==z.current.get(G))z.current.set(G,P);else continue;W.push(G)}if(W.length===0)continue;let K=[...z.current.keys()].filter((G)=>!this.current.has(G));if(K.length>0){var Z=OQ;OQ=[];let G=new Set,P=new Map;for(let q of W)V9(q,K,G,P);if(OQ.length>0){C=z,z.apply();for(let q of OQ)z.#K(q,X);z.deactivate()}OQ=Z}}C=null,v=Q}this.committed=!0,P0.delete(this)}increment(Q){if(this.#X+=1,Q)this.#Z+=1}decrement(Q){if(this.#X-=1,Q)this.#Z-=1;this.revive()}revive(){for(let Q of this.#W)this.#z.delete(Q),b(Q,k),AQ(Q);for(let Q of this.#z)b(Q,f),AQ(Q);this.flush()}oncommit(Q){this.#J.add(Q)}ondiscard(Q){this.#Q.add(Q)}settled(){return(this.#$??=U7()).promise}static ensure(){if(C===null){let Q=C=new h;if(P0.add(C),!J0)h.enqueue(()=>{if(C!==Q)return;Q.flush()})}return C}static enqueue(Q){e(Q)}apply(){if(!GQ||!this.is_fork&&P0.size===1)return;v=new Map(this.current);for(let Q of P0){if(Q===this)continue;for(let[J,X]of Q.previous)if(!v.has(J))v.set(J,X)}}}function Y0(Q){var J=J0;J0=!0;try{var X;if(Q){if(C!==null)F7();X=Q()}while(!0){if(Y9(),OQ.length===0){if(C?.flush(),OQ.length===0)return c0=null,X}F7()}}finally{J0=J}}function F7(){var Q=vQ;V7=!0;var J=H?new Set:null;try{var X=0;B0(!0);while(OQ.length>0){var Z=h.ensure();if(X++>1000){if(H){var z=new Map;for(let K of Z.current.keys())for(let[G,P]of K.updated??[]){var W=z.get(G);if(!W)W={error:P.error,count:0},z.set(G,W);W.count+=P.count}for(let K of z.values())if(K.error)console.error(K.error)}qJ()}if(Z.process(OQ),jQ.clear(),H)for(let K of Z.current.keys())J.add(K)}}finally{if(V7=!1,B0(Q),c0=null,H)for(let K of J)K.updated=null}}function qJ(){try{e7()}catch(Q){if(H)_(Q,"stack",{value:""});pQ(Q,c0)}}var CQ=null;function L9(Q){var J=Q.length;if(J===0)return;var X=0;while(X<J){var Z=Q[X++];if((Z.f&(zQ|ZQ))===0&&lQ(Z)){if(CQ=new Set,_Q(Z),Z.deps===null&&Z.first===null&&Z.nodes===null)if(Z.teardown===null&&Z.ac===null)O7(Z);else Z.fn=null;if(CQ?.size>0){jQ.clear();for(let z of CQ){if((z.f&(zQ|ZQ))!==0)continue;let W=[z],K=z.parent;while(K!==null){if(CQ.has(K))CQ.delete(K),W.push(K);K=K.parent}for(let G=W.length-1;G>=0;G--){let P=W[G];if((P.f&(zQ|ZQ))!==0)continue;_Q(P)}}CQ.clear()}}}CQ=null}function V9(Q,J,X,Z){if(X.has(Q))return;if(X.add(Q),Q.reactions!==null)for(let z of Q.reactions){let W=z.f;if((W&D)!==0)V9(z,J,X,Z);else if((W&(nQ|r))!==0&&(W&k)===0&&F9(z,J,Z))b(z,k),AQ(z)}}function F9(Q,J,X){let Z=X.get(Q);if(Z!==void 0)return Z;if(Q.deps!==null)for(let z of Q.deps){if(J.includes(z))return!0;if((z.f&D)!==0&&F9(z,J,X))return X.set(z,!0),!0}return X.set(Q,!1),!1}function AQ(Q){var J=c0=Q;while(J.parent!==null){J=J.parent;var X=J.f;if(V7&&J===L&&(X&r)!==0&&(X&I0)===0)return;if((X&(MQ|XQ))!==0){if((X&j)===0)return;J.f^=j}}OQ.push(J)}function C9(Q){let J=0,X=$Q(0),Z;if(H)t(X,"createSubscriber version");return()=>{if(DQ())R(X),i(()=>{if(J===0)Z=T(()=>Q(()=>X0(X)));return J+=1,()=>{e(()=>{if(J-=1,J===0)Z?.(),Z=void 0,X0(X)})}})}}var BJ=WQ|dQ|aQ;function S7(Q,J,X){new I7(Q,J,X)}class I7{parent;#J=!1;#Q;#X=F?w:null;#Z;#$;#W;#z=null;#K=null;#G=null;#H=null;#U=null;#q=0;#B=0;#Y=!1;#P=null;#O=C9(()=>{if(this.#P=$Q(this.#q),H)t(this.#P,"$effect.pending()");return()=>{this.#P=null}});constructor(Q,J,X){if(this.#Q=Q,this.#Z=J,this.#$=X,this.parent=L.b,this.#J=!!this.#Z.pending,this.#W=IQ(()=>{if(L.b=this,F){let z=this.#X;if(c(),z.nodeType===VQ&&z.data===uQ)this.#S();else this.#C()}else{var Z=this.#V();try{this.#z=o(()=>X(Z))}catch(z){this.error(z)}if(this.#B>0)this.#L();else this.#J=!1}return()=>{this.#U?.remove()}},BJ),F)this.#Q=w}#C(){try{this.#z=o(()=>this.#$(this.#Q))}catch(Q){this.error(Q)}this.#J=!1}#S(){let Q=this.#Z.pending;if(!Q)return;this.#K=o(()=>Q(this.#Q)),h.enqueue(()=>{var J=this.#V();if(this.#z=this.#M(()=>{return h.ensure(),o(()=>this.#$(J))}),this.#B>0)this.#L();else cQ(this.#K,()=>{this.#K=null}),this.#J=!1})}#V(){var Q=this.#Q;if(this.#J)this.#U=SQ(),this.#Q.before(this.#U),Q=this.#U;return Q}is_pending(){return this.#J||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#Z.pending}#M(Q){var J=L,X=V,Z=S;d(this.#W),y(this.#W),Z0(this.#W.ctx);try{return Q()}catch(z){return _0(z),null}finally{d(J),y(X),Z0(Z)}}#L(){let Q=this.#Z.pending;if(this.#z!==null)this.#H=document.createDocumentFragment(),this.#H.append(this.#U),s0(this.#z,this.#H);if(this.#K===null)this.#K=o(()=>Q(this.#Q))}#F(Q){if(!this.has_pending_snippet()){if(this.parent)this.parent.#F(Q);return}if(this.#B+=Q,this.#B===0){if(this.#J=!1,this.#K)cQ(this.#K,()=>{this.#K=null});if(this.#H)this.#Q.before(this.#H),this.#H=null}}update_pending_count(Q){if(this.#F(Q),this.#q+=Q,this.#P)z0(this.#P,this.#q)}get_effect_pending(){return this.#O(),R(this.#P)}error(Q){var J=this.#Z.onerror;let X=this.#Z.failed;if(this.#Y||!J&&!X)throw Q;if(this.#z)x(this.#z),this.#z=null;if(this.#K)x(this.#K),this.#K=null;if(this.#G)x(this.#G),this.#G=null;if(F)g(this.#X),q7(),g(tQ());var Z=!1,z=!1;let W=()=>{if(Z){q9();return}if(Z=!0,z)W9();if(h.ensure(),this.#q=0,this.#G!==null)cQ(this.#G,()=>{this.#G=null});if(this.#J=this.has_pending_snippet(),this.#z=this.#M(()=>{return this.#Y=!1,o(()=>this.#$(this.#Q))}),this.#B>0)this.#L();else this.#J=!1};var K=V;try{y(null),z=!0,J?.(Q,W),z=!1}catch(G){pQ(G,this.#W&&this.#W.parent)}finally{y(K)}if(X)e(()=>{this.#G=this.#M(()=>{h.ensure(),this.#Y=!0;try{return o(()=>{X(this.#Q,()=>Q,()=>W)})}catch(G){return pQ(G,this.#W.parent),null}finally{this.#Y=!1}})})}}var I9=new Set;function r0(Q){var J=Q.effects;if(J!==null){Q.effects=null;for(var X=0;X<J.length;X+=1)x(J[X])}}var N7=[];function OJ(Q){var J=Q.parent;while(J!==null){if((J.f&D)===0)return(J.f&zQ)===0?J:null;J=J.parent}return null}function j0(Q){var J,X=L;if(d(OJ(Q)),H){let Z=W0;i0(new Set);try{if(N7.includes(Q))t7();N7.push(Q),Q.f&=~LQ,r0(Q),J=n0(Q)}finally{d(X),i0(Z),N7.pop()}}else try{Q.f&=~LQ,r0(Q),J=n0(Q)}finally{d(X)}return J}function R7(Q){var J=j0(Q);if(!Q.equals(J)){if(!C?.is_fork)Q.v=J;Q.wv=T0()}if(fQ)return;if(v!==null){if(DQ()||C?.is_fork)v.set(Q,J)}else{var X=(Q.f&l)===0?f:j;b(Q,X)}}var W0=new Set,jQ=new Map;function i0(Q){W0=Q}var A7=!1;function w9(){A7=!0}function $Q(Q,J){var X={f:0,v:Q,reactions:null,equals:P7,rv:0,wv:0};if(H&&RQ)X.created=J??gQ("created at"),X.updated=null,X.set_during_effect=!1,X.trace=null;return X}function xQ(Q,J){let X=$Q(Q,J);return D7(X),X}function M0(Q,J=!1,X=!0){let Z=$Q(Q);if(!J)Z.equals=Y7;if(eQ&&X&&S!==null&&S.l!==null)(S.l.s??=[]).push(Z);return Z}function QQ(Q,J,X=!1){if(V!==null&&(!qQ||(V.f&rQ)!==0)&&TQ()&&(V.f&(D|r|nQ|rQ))!==0&&!EQ?.includes(Q))z9();let Z=X?iQ(J):J;if(H)p0(Z,Q.label);return z0(Q,Z)}function z0(Q,J){if(!Q.equals(J)){var X=Q.v;if(fQ)jQ.set(Q,J);else jQ.set(Q,X);Q.v=J;var Z=h.ensure();if(Z.capture(Q,X),H){if(RQ||L!==null){Q.updated??=new Map;let z=(Q.updated.get("")?.count??0)+1;if(Q.updated.set("",{error:null,count:z}),RQ||z>5){let W=gQ("updated at");if(W!==null){let K=Q.updated.get(W.stack);if(!K)K={error:W,count:0},Q.updated.set(W.stack,K);K.count++}}}if(L!==null)Q.set_during_effect=!0}if((Q.f&D)!==0){if((Q.f&k)!==0)j0(Q);b(Q,(Q.f&l)!==0?j:f)}if(Q.wv=T0(),N9(Q,k),TQ()&&L!==null&&(L.f&j)!==0&&(L.f&(XQ|MQ))===0)if(UQ===null)R9([Q]);else UQ.push(Q);if(!Z.is_fork&&W0.size>0&&!A7)o0()}return J}function o0(){A7=!1;var Q=vQ;B0(!0);let J=Array.from(W0);try{for(let X of J){if((X.f&j)!==0)b(X,f);if(lQ(X))_Q(X)}}finally{B0(Q)}W0.clear()}function X0(Q){QQ(Q,Q.v+1)}function N9(Q,J){var X=Q.reactions;if(X===null)return;var Z=TQ(),z=X.length;for(var W=0;W<z;W++){var K=X[W],G=K.f;if(!Z&&K===L)continue;if(H&&(G&rQ)!==0){W0.add(K);continue}var P=(G&k)===0;if(P)b(K,J);if((G&D)!==0){var q=K;if(v?.delete(q),(G&LQ)===0){if(G&l)K.f|=LQ;N9(q,f)}}else if(P){if((G&r)!==0&&CQ!==null)CQ.add(K);AQ(K)}}}var CJ=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function iQ(Q){if(typeof Q!=="object"||Q===null||n in Q)return Q;let J=C0(Q);if(J!==$7&&J!==G9)return Q;var X=new Map,Z=hQ(Q),z=xQ(0),W=H&&RQ?gQ("created at"):null,K=oQ,G=(Y)=>{if(oQ===K)return Y();var $=V,U=oQ;y(null),j7(K);var M=Y();return y($),j7(U),M};if(Z){if(X.set("length",xQ(Q.length,W)),H)Q=IJ(Q)}var P="";let q=!1;function B(Y){if(q)return;q=!0,P=Y,t(z,`${P} version`);for(let[$,U]of X)t(U,K0(P,$));q=!1}return new Proxy(Q,{defineProperty(Y,$,U){if(!("value"in U)||U.configurable===!1||U.enumerable===!1||U.writable===!1)X9();var M=X.get($);if(M===void 0)M=G(()=>{var O=xQ(U.value,W);if(X.set($,O),H&&typeof $==="string")t(O,K0(P,$));return O});else QQ(M,U.value,!0);return!0},deleteProperty(Y,$){var U=X.get($);if(U===void 0){if($ in Y){let M=G(()=>xQ(A,W));if(X.set($,M),X0(z),H)t(M,K0(P,$))}}else QQ(U,A),X0(z);return!0},get(Y,$,U){if($===n)return Q;if(H&&$===u0)return B;var M=X.get($),O=$ in Y;if(M===void 0&&(!O||JQ(Y,$)?.writable))M=G(()=>{var a=iQ(O?Y[$]:A),I=xQ(a,W);if(H)t(I,K0(P,$));return I}),X.set($,M);if(M!==void 0){var N=R(M);return N===A?void 0:N}return Reflect.get(Y,$,U)},getOwnPropertyDescriptor(Y,$){var U=Reflect.getOwnPropertyDescriptor(Y,$);if(U&&"value"in U){var M=X.get($);if(M)U.value=R(M)}else if(U===void 0){var O=X.get($),N=O?.v;if(O!==void 0&&N!==A)return{enumerable:!0,configurable:!0,value:N,writable:!0}}return U},has(Y,$){if($===n)return!0;var U=X.get($),M=U!==void 0&&U.v!==A||Reflect.has(Y,$);if(U!==void 0||L!==null&&(!M||JQ(Y,$)?.writable)){if(U===void 0)U=G(()=>{var N=M?iQ(Y[$]):A,a=xQ(N,W);if(H)t(a,K0(P,$));return a}),X.set($,U);var O=R(U);if(O===A)return!1}return M},set(Y,$,U,M){var O=X.get($),N=$ in Y;if(Z&&$==="length")for(var a=U;a<O.v;a+=1){var I=X.get(a+"");if(I!==void 0)QQ(I,A);else if(a in Y){if(I=G(()=>xQ(A,W)),X.set(a+"",I),H)t(I,K0(P,a))}}if(O===void 0){if(!N||JQ(Y,$)?.writable){if(O=G(()=>xQ(void 0,W)),H)t(O,K0(P,$));QQ(O,iQ(U)),X.set($,O)}}else{N=O.v!==A;var E=G(()=>iQ(U));QQ(O,E)}var p=Reflect.getOwnPropertyDescriptor(Y,$);if(p?.set)p.set.call(M,U);if(!N){if(Z&&typeof $==="string"){var BQ=X.get("length"),F0=Number($);if(Number.isInteger(F0)&&F0>=BQ.v)QQ(BQ,F0+1)}X0(z)}return!0},ownKeys(Y){R(z);var $=Reflect.ownKeys(Y).filter((O)=>{var N=X.get(O);return N===void 0||N.v!==A});for(var[U,M]of X)if(M.v!==A&&!(U in Y))$.push(U);return $},setPrototypeOf(){Z9()}})}function K0(Q,J){if(typeof J==="symbol")return`${Q}[Symbol(${J.description??""})]`;if(CJ.test(J))return`${Q}.${J}`;return/^\d+$/.test(J)?`${Q}[${J}]`:`${Q}['${J}']`}function t0(Q){try{if(Q!==null&&typeof Q==="object"&&n in Q)return Q[n]}catch{}return Q}var SJ=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function IJ(Q){return new Proxy(Q,{get(J,X,Z){var z=Reflect.get(J,X,Z);if(!SJ.has(X))return z;return function(...W){w9();var K=z.apply(this,W);return o0(),K}}})}function D9(){let{prototype:Q,__svelte_cleanup:J}=Array;if(J)J();let{indexOf:X,lastIndexOf:Z,includes:z}=Q;Q.indexOf=function(W,K){let G=X.call(this,W,K);if(G===-1){for(let P=K??0;P<this.length;P+=1)if(t0(this[P])===W){d0("array.indexOf(...)");break}}return G},Q.lastIndexOf=function(W,K){let G=Z.call(this,W,K??this.length-1);if(G===-1){for(let P=0;P<=(K??this.length-1);P+=1)if(t0(this[P])===W){d0("array.lastIndexOf(...)");break}}return G},Q.includes=function(W,K){let G=z.call(this,W,K);if(!G){for(let P=0;P<this.length;P+=1)if(t0(this[P])===W){d0("array.includes(...)");break}}return G},Array.__svelte_cleanup=()=>{Q.indexOf=X,Q.lastIndexOf=Z,Q.includes=z}}var T7,A9,l0,j9,T9;function e0(){if(T7!==void 0)return;T7=window,A9=document,l0=/Firefox/.test(navigator.userAgent);var Q=Element.prototype,J=Node.prototype,X=Text.prototype;if(j9=JQ(J,"firstChild").get,T9=JQ(J,"nextSibling").get,H7(Q))Q.__click=void 0,Q.__className=void 0,Q.__attributes=null,Q.__style=void 0,Q.__e=void 0;if(H7(X))X.__t=void 0;if(H)Q.__svelte_meta=null,D9()}function SQ(Q=""){return document.createTextNode(Q)}function kQ(Q){return j9.call(Q)}function KQ(Q){return T9.call(Q)}function Q7(Q){Q.textContent=""}function x7(){if(!GQ)return!1;if(CQ!==null)return!1;var Q=L.f;return(Q&NQ)!==0}function G0(Q){var J=V,X=L;y(null),d(null);try{return Q()}finally{y(J),d(X)}}function RJ(Q,J){var X=J.last;if(X===null)J.last=J.first=Q;else X.next=Q,Q.prev=X,J.last=Q}function L0(Q,J,X){var Z=L;if(H)while(Z!==null&&(Z.f&rQ)!==0)Z=Z.parent;if(Z!==null&&(Z.f&ZQ)!==0)Q|=ZQ;var z={ctx:S,deps:null,nodes:null,f:Q|k|l,first:null,fn:J,last:null,next:null,parent:Z,b:Z&&Z.b,prev:null,teardown:null,wv:0,ac:null};if(H)z.component_function=wQ;if(X)try{_Q(z),z.f|=NQ}catch(G){throw x(z),G}else if(J!==null)AQ(z);var W=z;if(X&&W.deps===null&&W.teardown===null&&W.nodes===null&&W.first===W.last&&(W.f&dQ)===0){if(W=W.first,(Q&r)!==0&&(Q&WQ)!==0&&W!==null)W.f|=WQ}if(W!==null){if(W.parent=Z,Z!==null)RJ(W,Z);if(V!==null&&(V.f&D)!==0&&(Q&MQ)===0){var K=V;(K.effects??=[]).push(W)}}return z}function DQ(){return V!==null&&!qQ}function E9(Q){return L0(g0|$9,Q,!1)}function k7(Q){h.ensure();let J=L0(MQ|dQ,Q,!0);return()=>{x(J)}}function k9(Q){h.ensure();let J=L0(MQ|dQ,Q,!0);return(X={})=>{return new Promise((Z)=>{if(X.outro)cQ(J,()=>{x(J),Z(void 0)});else x(J),Z(void 0)})}}function i(Q,J=0){return L0(v0|J,Q,!0)}function IQ(Q,J=0){var X=L0(r|J,Q,!0);if(H)X.dev_stack=mQ;return X}function o(Q){return L0(XQ|dQ,Q,!0)}function b7(Q){var J=Q.teardown;if(J!==null){let X=fQ,Z=V;E7(!0),y(null);try{J.call(null)}finally{E7(X),y(Z)}}}function h7(Q,J=!1){var X=Q.first;Q.first=Q.last=null;while(X!==null){let z=X.ac;if(z!==null)G0(()=>{z.abort(q0)});var Z=X.next;if((X.f&MQ)!==0)X.parent=null;else x(X,J);X=Z}}function b9(Q){var J=Q.first;while(J!==null){var X=J.next;if((J.f&XQ)===0)x(J);J=X}}function x(Q,J=!0){var X=!1;if((J||(Q.f&I0)!==0)&&Q.nodes!==null&&Q.nodes.end!==null)h9(Q.nodes.start,Q.nodes.end),X=!0;h7(Q,J&&!X),x0(Q,0),b(Q,zQ);var Z=Q.nodes&&Q.nodes.t;if(Z!==null)for(let W of Z)W.stop();b7(Q);var z=Q.parent;if(z!==null&&z.first!==null)O7(Q);if(H)Q.component_function=null;Q.next=Q.prev=Q.teardown=Q.ctx=Q.deps=Q.fn=Q.nodes=Q.ac=null}function h9(Q,J){while(Q!==null){var X=Q===J?null:KQ(Q);Q.remove(),Q=X}}function O7(Q){var{parent:J,prev:X,next:Z}=Q;if(X!==null)X.next=Z;if(Z!==null)Z.prev=X;if(J!==null){if(J.first===Q)J.first=Z;if(J.last===Q)J.last=X}}function cQ(Q,J,X=!0){var Z=[];y9(Q,Z,!0);var z=()=>{if(X)x(Q);if(J)J()},W=Z.length;if(W>0){var K=()=>--W||z();for(var G of Z)G.out(K)}else z()}function y9(Q,J,X){if((Q.f&ZQ)!==0)return;Q.f^=ZQ;var Z=Q.nodes&&Q.nodes.t;if(Z!==null){for(let G of Z)if(G.is_global||X)J.push(G)}var z=Q.first;while(z!==null){var W=z.next,K=(z.f&WQ)!==0||(z.f&XQ)!==0&&(Q.f&r)!==0;y9(z,J,K?X:!1),z=W}}function y7(Q){g9(Q,!0)}function g9(Q,J){if((Q.f&ZQ)===0)return;if(Q.f^=ZQ,(Q.f&j)===0)b(Q,k),AQ(Q);var X=Q.first;while(X!==null){var Z=X.next,z=(X.f&WQ)!==0||(X.f&XQ)!==0;g9(X,z?J:!1),X=Z}var W=Q.nodes&&Q.nodes.t;if(W!==null){for(let K of W)if(K.is_global||J)K.in()}}function s0(Q,J){if(!Q.nodes)return;var X=Q.nodes.start,Z=Q.nodes.end;while(X!==null){var z=X===Z?null:KQ(X);J.append(X),X=z}}var v9=null;var vQ=!1;function B0(Q){vQ=Q}var fQ=!1;function E7(Q){fQ=Q}var V=null,qQ=!1;function y(Q){V=Q}var L=null;function d(Q){L=Q}var EQ=null;function D7(Q){if(V!==null&&(!GQ||(V.f&D)!==0))if(EQ===null)EQ=[Q];else EQ.push(Q)}var s=null,PQ=0,UQ=null;function R9(Q){UQ=Q}var m9=1,E0=0,oQ=E0;function j7(Q){oQ=Q}function T0(){return++m9}function lQ(Q){var J=Q.f;if((J&k)!==0)return!0;if(J&D)Q.f&=~LQ;if((J&f)!==0){var X=Q.deps;if(X!==null){var Z=X.length;for(var z=0;z<Z;z++){var W=X[z];if(lQ(W))R7(W);if(W.wv>Q.wv)return!0}}if((J&l)!==0&&v===null)b(Q,j)}return!1}function f9(Q,J,X=!0){var Z=Q.reactions;if(Z===null)return;if(!GQ&&EQ?.includes(Q))return;for(var z=0;z<Z.length;z++){var W=Z[z];if((W.f&D)!==0)f9(W,J,!1);else if(J===W){if(X)b(W,k);else if((W.f&j)!==0)b(W,f);AQ(W)}}}function n0(Q){var J=s,X=PQ,Z=UQ,z=V,W=EQ,K=S,G=qQ,P=oQ,q=Q.f;if(s=null,PQ=0,UQ=null,V=(q&(XQ|MQ))===0?Q:null,EQ=null,Z0(Q.ctx),qQ=!1,oQ=++E0,Q.ac!==null)G0(()=>{Q.ac.abort(q0)}),Q.ac=null;try{Q.f|=m0;var B=Q.fn,Y=B(),$=Q.deps;if(s!==null){var U;if(x0(Q,PQ),$!==null&&PQ>0){$.length=PQ+s.length;for(U=0;U<s.length;U++)$[PQ+U]=s[U]}else Q.deps=$=s;if(DQ()&&(Q.f&l)!==0)for(U=PQ;U<$.length;U++)($[U].reactions??=[]).push(Q)}else if($!==null&&PQ<$.length)x0(Q,PQ),$.length=PQ;if(TQ()&&UQ!==null&&!qQ&&$!==null&&(Q.f&(D|f|k))===0)for(U=0;U<UQ.length;U++)f9(UQ[U],Q);if(z!==null&&z!==Q){if(E0++,UQ!==null)if(Z===null)Z=UQ;else Z.push(...UQ)}if((Q.f&yQ)!==0)Q.f^=yQ;return Y}catch(M){return _0(M)}finally{Q.f^=m0,s=J,PQ=X,UQ=Z,V=z,EQ=W,Z0(K),qQ=G,oQ=P}}function AJ(Q,J){let X=J.reactions;if(X!==null){var Z=K9.call(X,Q);if(Z!==-1){var z=X.length-1;if(z===0)X=J.reactions=null;else X[Z]=X[z],X.pop()}}if(X===null&&(J.f&D)!==0&&(s===null||!s.includes(J))){if(b(J,f),(J.f&l)!==0)J.f^=l,J.f&=~LQ;r0(J),x0(J,0)}}function x0(Q,J){var X=Q.deps;if(X===null)return;for(var Z=J;Z<X.length;Z++)AJ(Q,X[Z])}function _Q(Q){var J=Q.f;if((J&zQ)!==0)return;b(Q,j);var X=L,Z=vQ;if(L=Q,vQ=!0,H){var z=wQ;J7(Q.component_function);var W=mQ;a0(Q.dev_stack??mQ)}try{if((J&(r|S0))!==0)b9(Q);else h7(Q);b7(Q);var K=n0(Q);if(Q.teardown=typeof K==="function"?K:null,Q.wv=m9,H&&RQ&&(Q.f&k)!==0&&Q.deps!==null){for(var G of Q.deps)if(G.set_during_effect)G.wv=T0(),G.set_during_effect=!1}}finally{if(vQ=Z,L=X,H)J7(z),a0(W)}}function R(Q){var J=Q.f,X=(J&D)!==0;if(v9?.add(Q),V!==null&&!qQ){var Z=L!==null&&(L.f&zQ)!==0;if(!Z&&!EQ?.includes(Q)){var z=V.deps;if((V.f&m0)!==0){if(Q.rv<E0){if(Q.rv=E0,s===null&&z!==null&&z[PQ]===Q)PQ++;else if(s===null)s=[Q];else if(!s.includes(Q))s.push(Q)}}else{(V.deps??=[]).push(Q);var W=Q.reactions;if(W===null)Q.reactions=[V];else if(!W.includes(V))W.push(V)}}}if(H){if(I9.delete(Q),RQ&&!qQ&&D0!==null&&V!==null&&D0.reaction===V)if(Q.trace)Q.trace();else{var K=gQ("traced at");if(K){var G=D0.entries.get(Q);if(G===void 0)G={traces:[]},D0.entries.set(Q,G);var P=G.traces[G.traces.length-1];if(K.stack!==P?.stack)G.traces.push(K)}}}if(fQ){if(jQ.has(Q))return jQ.get(Q);if(X){var q=Q,B=q.v;if((q.f&j)===0&&q.reactions!==null||d9(q))B=j0(q);return jQ.set(q,B),B}}else if(X&&(!v?.has(Q)||C?.is_fork&&!DQ())){if(q=Q,lQ(q))R7(q);if(vQ&&DQ()&&(q.f&l)===0)u9(q)}if(v?.has(Q))return v.get(Q);if((Q.f&yQ)!==0)throw Q.v;return Q.v}function u9(Q){if(Q.deps===null)return;Q.f^=l;for(let J of Q.deps)if((J.reactions??=[]).push(Q),(J.f&D)!==0&&(J.f&l)===0)u9(J)}function d9(Q){if(Q.v===A)return!0;if(Q.deps===null)return!1;for(let J of Q.deps){if(jQ.has(J))return!0;if((J.f&D)!==0&&d9(J))return!0}return!1}function T(Q){var J=qQ;try{return qQ=!0,Q()}finally{qQ=J}}var jJ=~(k|f|j);function b(Q,J){Q.f=Q.f&jJ|J}var S=null;function Z0(Q){S=Q}var mQ=null;function a0(Q){mQ=Q}var wQ=null;function J7(Q){wQ=Q}function g7(Q,J=!1,X){if(S={p:S,i:!1,c:null,e:null,s:Q,x:null,l:eQ&&!J?{s:null,u:null,$:[]}:null},H)S.function=X,wQ=X}function v7(Q){var J=S,X=J.e;if(X!==null){J.e=null;for(var Z of X)E9(Z)}if(Q!==void 0)J.x=Q;if(J.i=!0,S=J.p,H)wQ=S?.function??null;return Q??{}}function TQ(){return!eQ||S!==null&&S.l===null}var TJ=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var i2=[...TJ,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var xJ=["touchstart","touchmove"];function _9(Q){return xJ.includes(Q)}var EJ=["$state","$state.raw","$derived","$derived.by"],o2=[...EJ,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];var o9=new Set,m7=new Set;var i9=null;function k0(Q){var J=this,X=J.ownerDocument,Z=Q.type,z=Q.composedPath?.()||[],W=z[0]||Q.target;i9=Q;var K=0,G=i9===Q&&Q.__root;if(G){var P=z.indexOf(G);if(P!==-1&&(J===document||J===window)){Q.__root=J;return}var q=z.indexOf(J);if(q===-1)return;if(P<=q)K=P}if(W=z[K]||Q.target,W===J)return;_(Q,"currentTarget",{configurable:!0,get(){return W||X}});var B=V,Y=L;y(null),d(null);try{var $,U=[];while(W!==null){var M=W.assignedSlot||W.parentNode||W.host||null;try{var O=W["__"+Z];if(O!=null&&(!W.disabled||Q.target===W))O.call(W,Q)}catch(N){if($)U.push(N);else $=N}if(Q.cancelBubble||M===J||M===null)break;W=M}if($){for(let N of U)queueMicrotask(()=>{throw N});throw $}}finally{Q.__root=J,delete Q.currentTarget,y(B),d(Y)}}function b0(Q,J){var X=L;if(X.nodes===null)X.nodes={start:Q,end:J,a:null,t:null}}function f7(Q,J){if(F){var X=L;if((X.f&NQ)===0||X.nodes.end===null)X.nodes.end=w;c();return}if(Q===null)return;Q.before(J)}var u7=!0;function X7(Q,J){return r9(Q,J)}function p7(Q,J){e0(),J.intro=J.intro??!1;let X=J.target,Z=F,z=w;try{var W=kQ(X);while(W&&(W.nodeType!==VQ||W.data!==O0))W=KQ(W);if(!W)throw sQ;FQ(!0),g(W);let K=r9(Q,{...J,anchor:W});return FQ(!1),K}catch(K){if(K instanceof Error&&K.message.split(`
27
+ `).some((G)=>G.startsWith("https://svelte.dev/e/")))throw K;if(K!==sQ)console.warn("Failed to hydrate: ",K);if(J.recover===!1)Q9();return e0(),Q7(X),FQ(!1),X7(Q,J)}finally{FQ(Z),g(z)}}var V0=new Map;function r9(Q,{target:J,anchor:X,props:Z={},events:z,context:W,intro:K=!0}){e0();var G=new Set,P=(Y)=>{for(var $=0;$<Y.length;$++){var U=Y[$];if(G.has(U))continue;G.add(U);var M=_9(U);J.addEventListener(U,k0,{passive:M});var O=V0.get(U);if(O===void 0)document.addEventListener(U,k0,{passive:M}),V0.set(U,1);else V0.set(U,O+1)}};P(K7(o9)),m7.add(P);var q=void 0,B=k9(()=>{var Y=X??J.appendChild(SQ());return S7(Y,{pending:()=>{}},($)=>{if(W){g7({});var U=S;U.c=W}if(z)Z.$$events=z;if(F)b0($,null);if(u7=K,q=Q($,Z)||{},u7=!0,F){if(L.nodes.end=w,w===null||w.nodeType!==VQ||w.data!==U0)throw R0(),sQ}if(W)v7()}),()=>{for(var $ of G){J.removeEventListener($,k0);var U=V0.get($);if(--U===0)document.removeEventListener($,k0),V0.delete($);else V0.set($,U)}if(m7.delete(P),Y!==X)Y.parentNode?.removeChild(Y)}});return d7.set(q,B),q}var d7=new WeakMap;function _7(Q,J){let X=d7.get(Q);if(X)return d7.delete(Q),X(J);if(H)if(n in Q)U9();else H9();return Promise.resolve()}class $0{anchor;#J=new Map;#Q=new Map;#X=new Map;#Z=new Set;#$=!0;constructor(Q,J=!0){this.anchor=Q,this.#$=J}#W=()=>{var Q=C;if(!this.#J.has(Q))return;var J=this.#J.get(Q),X=this.#Q.get(J);if(X)y7(X),this.#Z.delete(J);else{var Z=this.#X.get(J);if(Z)this.#Q.set(J,Z.effect),this.#X.delete(J),Z.fragment.lastChild.remove(),this.anchor.before(Z.fragment),X=Z.effect}for(let[z,W]of this.#J){if(this.#J.delete(z),z===Q)break;let K=this.#X.get(W);if(K)x(K.effect),this.#X.delete(W)}for(let[z,W]of this.#Q){if(z===J||this.#Z.has(z))continue;let K=()=>{if(Array.from(this.#J.values()).includes(z)){var P=document.createDocumentFragment();s0(W,P),P.append(SQ()),this.#X.set(z,{effect:W,fragment:P})}else x(W);this.#Z.delete(z),this.#Q.delete(z)};if(this.#$||!X)this.#Z.add(z),cQ(W,K,!1);else K()}};#z=(Q)=>{this.#J.delete(Q);let J=Array.from(this.#J.values());for(let[X,Z]of this.#X)if(!J.includes(X))x(Z.effect),this.#X.delete(X)};ensure(Q,J){var X=C,Z=x7();if(J&&!this.#Q.has(Q)&&!this.#X.has(Q))if(Z){var z=document.createDocumentFragment(),W=SQ();z.append(W),this.#X.set(Q,{effect:o(()=>J(W)),fragment:z})}else this.#Q.set(Q,o(()=>J(this.anchor)));if(this.#J.set(X,Q),Z){for(let[K,G]of this.#Q)if(K===Q)X.skipped_effects.delete(G);else X.skipped_effects.add(G);for(let[K,G]of this.#X)if(K===Q)X.skipped_effects.delete(G.effect);else X.skipped_effects.add(G.effect);X.oncommit(this.#W),X.ondiscard(this.#z)}else{if(F)this.anchor=w;this.#W()}}}var L3=[...`
28
+ \r\f \v\uFEFF`];var nJ=Symbol("class"),tJ=Symbol("style"),Xz=Symbol("is custom element"),Zz=Symbol("is html");class t9{#J=new WeakMap;#Q;#X;static entries=new WeakMap;constructor(Q){this.#X=Q}observe(Q,J){var X=this.#J.get(Q)||new Set;return X.add(J),this.#J.set(Q,X),this.#Z().observe(Q,this.#X),()=>{var Z=this.#J.get(Q);if(Z.delete(J),Z.size===0)this.#J.delete(Q),this.#Q.unobserve(Q)}}#Z(){return this.#Q??(this.#Q=new ResizeObserver((Q)=>{for(var J of Q){t9.entries.set(J.target,J);for(var X of this.#J.get(J.target)||[])X(J)}}))}}if(H){let Q=function(J){if(!(J in globalThis)){let X;Object.defineProperty(globalThis,J,{configurable:!0,get:()=>{if(X!==void 0)return X;J9(J)},set:(Z)=>{X=Z}})}};Q("$state"),Q("$effect"),Q("$derived"),Q("$inspect"),Q("$props"),Q("$bindable")}var oW=Symbol();function QJ(Q){return new JJ(Q)}class JJ{#J;#Q;constructor(Q){var J=new Map,X=(z,W)=>{var K=M0(W,!1,!1);return J.set(z,K),K};let Z=new Proxy({...Q.props||{},$$events:{}},{get(z,W){return R(J.get(W)??X(W,Reflect.get(z,W)))},has(z,W){if(W===f0)return!0;return R(J.get(W)??X(W,Reflect.get(z,W))),Reflect.has(z,W)},set(z,W,K){return QQ(J.get(W)??X(W,K),K),Reflect.set(z,W,K)}});if(this.#Q=(Q.hydrate?p7:X7)(Q.component,{target:Q.target,anchor:Q.anchor,props:Z,context:Q.context,intro:Q.intro??!1,recover:Q.recover}),!GQ&&(!Q?.props?.$$host||Q.sync===!1))Y0();this.#J=Z.$$events;for(let z of Object.keys(this.#Q)){if(z==="$set"||z==="$destroy"||z==="$on")continue;_(this,z,{get(){return this.#Q[z]},set(W){this.#Q[z]=W},enumerable:!0})}this.#Q.$set=(z)=>{Object.assign(Z,z)},this.#Q.$destroy=()=>{_7(this.#Q)}}$set(Q){this.#Q.$set(Q)}$on(Q,J){this.#J[Q]=this.#J[Q]||[];let X=(...Z)=>J.call(this,...Z);return this.#J[Q].push(X),()=>{this.#J[Q]=this.#J[Q].filter((Z)=>Z!==X)}}$destroy(){this.#Q.$destroy()}}var $4;if(typeof HTMLElement==="function")$4=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(Q,J,X){super();if(this.$$ctor=Q,this.$$s=J,X)this.attachShadow({mode:"open"})}addEventListener(Q,J,X){if(this.$$l[Q]=this.$$l[Q]||[],this.$$l[Q].push(J),this.$$c){let Z=this.$$c.$on(Q,J);this.$$l_u.set(J,Z)}super.addEventListener(Q,J,X)}removeEventListener(Q,J,X){if(super.removeEventListener(Q,J,X),this.$$c){let Z=this.$$l_u.get(J);if(Z)Z(),this.$$l_u.delete(J)}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let Q=function(Z){return(z)=>{let W=document.createElement("slot");if(Z!=="default")W.name=Z;f7(z,W)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let J={},X=H4(this);for(let Z of this.$$s)if(Z in X)if(Z==="default"&&!this.$$d.children)this.$$d.children=Q(Z),J.default=!0;else J[Z]=Q(Z);for(let Z of this.attributes){let z=this.$$g_p(Z.name);if(!(z in this.$$d))this.$$d[z]=c7(z,Z.value,this.$$p_d,"toProp")}for(let Z in this.$$p_d)if(!(Z in this.$$d)&&this[Z]!==void 0)this.$$d[Z]=this[Z],delete this[Z];this.$$c=QJ({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:J,$$host:this}}),this.$$me=k7(()=>{i(()=>{this.$$r=!0;for(let Z of G7(this.$$c)){if(!this.$$p_d[Z]?.reflect)continue;this.$$d[Z]=this.$$c[Z];let z=c7(Z,this.$$d[Z],this.$$p_d,"toAttribute");if(z==null)this.removeAttribute(this.$$p_d[Z].attribute||Z);else this.setAttribute(this.$$p_d[Z].attribute||Z,z)}this.$$r=!1})});for(let Z in this.$$l)for(let z of this.$$l[Z]){let W=this.$$c.$on(Z,z);this.$$l_u.set(z,W)}this.$$l={}}}attributeChangedCallback(Q,J,X){if(this.$$r)return;Q=this.$$g_p(Q),this.$$d[Q]=c7(Q,X,this.$$p_d,"toProp"),this.$$c?.$set({[Q]:this.$$d[Q]})}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{if(!this.$$cn&&this.$$c)this.$$c.$destroy(),this.$$me(),this.$$c=void 0})}$$g_p(Q){return G7(this.$$p_d).find((J)=>this.$$p_d[J].attribute===Q||!this.$$p_d[J].attribute&&J.toLowerCase()===Q)||Q}};function c7(Q,J,X,Z){let z=X[Q]?.type;if(J=z==="Boolean"&&typeof J!=="boolean"?J!=null:J,!Z||!X[Q])return J;else if(Z==="toAttribute")switch(z){case"Object":case"Array":return J==null?null:JSON.stringify(J);case"Boolean":return J?"":null;case"Number":return J==null?null:J;default:return J}else switch(z){case"Object":case"Array":return J&&JSON.parse(J);case"Boolean":return J;case"Number":return J!=null?+J:J;default:return J}}function H4(Q){let J={};return Q.childNodes.forEach((X)=>{J[X.slot||"default"]=!0}),J}function i7(){return Symbol(W7)}function U4(Q){let{__attrSchema:J,__parents:X=[],__create:Z,__onInit:z,__attachments:W={}}=Q;function K(G,...P){let q,B;if(G===null||G===void 0)q={},B=P;else if(typeof G!=="object"||Array.isArray(G))q={},B=[G,...P];else q=G,B=P;let Y=q4(J,X),$=h0(Y,q),U=X.map((I)=>{return I($)}),M=U.length===1?U[0]:U.length>1?U:void 0,O=Z($,M);if(O===null||O===void 0)throw Error("[svelte-origin] __create function returned null/undefined - must return an object");if(typeof O!=="object")throw Error(`[svelte-origin] __create function returned ${typeof O} - must return an object`);let N=M?new Proxy(O,{get(I,E,p){if(E in I){let BQ=Reflect.get(I,E,p);if(typeof BQ==="function")return BQ.bind(p);return BQ}if(M&&E in M){let BQ=Reflect.get(M,E,M);if(typeof BQ==="function")return BQ.bind(M);return BQ}return},has(I,E){return E in I||M&&E in M},ownKeys(I){let E=Reflect.ownKeys(I);if(!M)return E;let p=Reflect.ownKeys(M);return[...new Set([...E,...p])]},getOwnPropertyDescriptor(I,E){let p=Reflect.getOwnPropertyDescriptor(I,E);if(p)return p;if(M)return Reflect.getOwnPropertyDescriptor(M,E);return}}):O;if(z){let I=z.call(N,...B);if(typeof I==="function")Object.defineProperty(N,"__cleanup",{value:I,writable:!0,enumerable:!0,configurable:!0})}let a=new Map;for(let I of Object.keys(W))a.set(I,i7());return Object.defineProperty(N,"$attachments",{get(){let I={};for(let[E,p]of Object.entries(W)){let BQ=a.get(E);I[BQ]=(F0)=>p.call(N,F0)}for(let E of Object.getOwnPropertySymbols(q)){let p=q[E];if(typeof p==="function")I[E]=p}return I},enumerable:!0,configurable:!0}),N}if(Object.defineProperty(K,"__origin",{value:!0,writable:!1,enumerable:!0}),Object.defineProperty(K,"__attrSchema",{value:J,writable:!1,enumerable:!0}),Object.defineProperty(K,"__parents",{value:X,writable:!1,enumerable:!0}),Object.defineProperty(K,"__create",{value:Z,writable:!1,enumerable:!0}),z)Object.defineProperty(K,"__onInit",{value:z,writable:!1,enumerable:!0});return K}function q4(Q,J,X=new Set){let Z={};for(let z of J){if(X.has(z)){console.warn("[svelte-origin] Circular inheritance detected - skipping parent to prevent infinite loop");continue}let W=o7(z,new Set(X));Object.assign(Z,W)}return Object.assign(Z,Q),Z}function P4(Q,J){let Z=o7(Q),z={},W=new Set,K=(q,B)=>{z[q]=B;try{return J[q]=B,!0}catch{return W.add(q),!1}},G={},P=(q,B)=>{if(Object.prototype.hasOwnProperty.call(G,q))return;let Y={get(){if(W.has(q))return z[q];return J[q]},enumerable:!0,configurable:!0};if(B.bindable)Y.set=function($){K(q,$)};Object.defineProperty(G,q,Y)};for(let[q,B]of Object.entries(Z)){let Y=J[q];if(!B.bindable||!B.hasDefault||Y!==void 0)P(q,B)}for(let q of Object.getOwnPropertySymbols(J))Object.defineProperty(G,q,{get(){return J[q]},enumerable:!1,configurable:!0});return new Proxy(G,{get(q,B){if(typeof B==="string"){if(W.has(B))return z[B];if(B in Z)return J[B]}if(B in q)return q[B];return J[B]},set(q,B,Y){if(typeof B==="string"&&B in Z){if(!Object.prototype.hasOwnProperty.call(G,B))P(B,Z[B]);if(Z[B].bindable)K(B,Y);return!0}if(B in q){try{q[B]=Y}catch{}return!0}try{J[B]=Y}catch{if(typeof B==="string")z[B]=Y,W.add(B)}return!0},has(q,B){return B in q||B in J},ownKeys(){return[...Object.keys(G),...Object.getOwnPropertySymbols(J)]},getOwnPropertyDescriptor(q,B){if(B in q)return Object.getOwnPropertyDescriptor(q,B);return Object.getOwnPropertyDescriptor(J,B)}})}function o7(Q,J=new Set){if(J.has(Q))return console.warn("[svelte-origin] Circular inheritance detected - skipping to prevent infinite loop"),{};J.add(Q);let X=Q.__parents||[],Z={};for(let z of X){let W=o7(z,J);Object.assign(Z,W)}return Object.assign(Z,Q.__attrSchema),Z}function B4(Q){let{__attrSchema:J,__parents:X=[]}=Q;return{__attrs:!0,__attrSchema:J,__parents:X}}function Y4(Q){return Q!==null&&typeof Q==="object"&&"__attrs"in Q&&Q.__attrs===!0}function XJ(Q,J=new Set){if(J.has(Q))return console.warn("[svelte-origin] Circular inheritance detected in AttrsFactory - skipping to prevent infinite loop"),{};J.add(Q);let X=Q.__parents||[],Z={};for(let z of X){let W=XJ(z,J);Object.assign(Z,W)}return Object.assign(Z,Q.__attrSchema),Z}var ZJ=Symbol.for("svelte-origin:bindable");function M4(Q,J){return{[ZJ]:!0,get:Q,set:J}}function L4(Q){return Q!==null&&typeof Q==="object"&&ZJ in Q}function V4(Q,J){let X={};for(let[Z,z]of Object.entries(J))if(L4(z))Object.defineProperty(X,Z,{get(){return z.get()},set(W){z.set(W)},enumerable:!0,configurable:!0});else Object.defineProperty(X,Z,{get(){return z},enumerable:!0,configurable:!0});return Q(X)}export{z7 as isBindable,Y4 as isAttrsFactory,XJ as getMergedAttrSchemaFromAttrs,zJ as generateAttrKeys,r7 as extractAttrSchema,a7 as bindable,h0 as applyDefaults,V4 as __createOriginInstance,U4 as __createOrigin,B4 as __createAttrs,M4 as __bindable,P4 as __attrsFor};
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Core origin factory for svelte-origin
3
+ *
4
+ * This module provides the runtime functions that macros expand to.
5
+ *
6
+ * Key design:
7
+ * - Origins are defined with $origin({...}) using `this` context and real runes
8
+ * - The macro transforms this into __createOrigin with __attrSchema and __create
9
+ * - Components use $origin.component(Counter) which expands to $props() + factory call
10
+ */
11
+ import type { OriginFactory, AttrSchema, AttrsFactory, AttachmentFn } from './types';
12
+ export { bindable, isBindable, extractAttrSchema, applyDefaults } from './attrs';
13
+ export type * from './types';
14
+ /**
15
+ * Create an origin factory.
16
+ *
17
+ * This is what the $origin({...}) macro compiles to.
18
+ *
19
+ * The transformation converts the user's object-with-this-context into:
20
+ * - __attrSchema: extracted attr metadata
21
+ * - __create: a function that receives reactive attrs and returns the instance
22
+ *
23
+ * @example
24
+ * // User writes:
25
+ * const Counter = $origin({
26
+ * props: $origin.props({ count: $bindable(0) }),
27
+ * _internal: $state(0),
28
+ * increment() { this.attrs.count++ }
29
+ * })
30
+ *
31
+ * // Transforms to:
32
+ * const Counter = __createOrigin({
33
+ * __attrSchema: { count: { default: 0, bindable: true, hasDefault: true } },
34
+ * __create: (attrs) => {
35
+ * let _internal = $state(0)
36
+ * return {
37
+ * get attrs() { return attrs },
38
+ * get _internal() { return _internal },
39
+ * set _internal(v) { _internal = v },
40
+ * increment() { attrs.count++ }
41
+ * }
42
+ * }
43
+ * })
44
+ */
45
+ export declare function __createOrigin<TInstance, TAttrs extends Record<string, any>>(config: {
46
+ __attrSchema: AttrSchema;
47
+ __parents?: OriginFactory<any, any>[];
48
+ __create: (attrs: TAttrs, superInstances?: any[]) => TInstance;
49
+ __onInit?: (this: TInstance, ...args: any[]) => void | (() => void);
50
+ __attachments?: Record<string, AttachmentFn>;
51
+ }): OriginFactory<TInstance, TAttrs>;
52
+ /**
53
+ * Helper to get attrs for an origin factory from a raw attrs object.
54
+ * Used when $origin.component can't do full static analysis.
55
+ *
56
+ * Creates a writable wrapper around the potentially readonly $props() object.
57
+ * This is necessary because Svelte 5's $props() returns a readonly proxy
58
+ * when used without destructuring (the fallback pattern).
59
+ *
60
+ * The wrapper:
61
+ * - Reads from the original $props() object (maintaining reactivity) when possible
62
+ * - Writes to a local cache for bindable props, attempting to sync back to $props()
63
+ * - Falls back to local storage when $props() is readonly (Svelte 5 fallback pattern)
64
+ *
65
+ * For inherited origins, this ensures parent attrs are recognized.
66
+ *
67
+ * @example
68
+ * // If preprocessor can't resolve the origin's schema statically:
69
+ * let __rawAttrs = $props()
70
+ * let counter = Counter(__attrsFor(Counter, __rawAttrs))
71
+ */
72
+ export declare function __attrsFor<T extends {
73
+ __origin: true;
74
+ }>(factory: T, rawAttrs: Record<string, any>): Record<string, any>;
75
+ /**
76
+ * Get merged attr schema including all parent schemas.
77
+ * Parent schemas are merged first, then child's schema on top (child wins conflicts).
78
+ * Detects circular inheritance to prevent infinite loops.
79
+ */
80
+ export declare function getMergedAttrSchema(factory: OriginFactory<any, any>, visited?: Set<OriginFactory<any, any>>): AttrSchema;
81
+ /**
82
+ * Create a standalone attrs factory.
83
+ *
84
+ * This is what standalone $origin.props({...}) compiles to.
85
+ * Allows defining reusable attr schemas that can be imported and extended.
86
+ *
87
+ * @example
88
+ * // User writes:
89
+ * export const BaseAttrs = $origin.props({
90
+ * label: 'Default',
91
+ * disabled: false
92
+ * })
93
+ *
94
+ * // Transforms to:
95
+ * export const BaseAttrs = __createAttrs({
96
+ * __attrSchema: { label: {...}, disabled: {...} }
97
+ * })
98
+ *
99
+ * // Extended attrs:
100
+ * export const WidgetAttrs = $origin.props([BaseAttrs], { value: $bindable(0) })
101
+ *
102
+ * // Transforms to:
103
+ * export const WidgetAttrs = __createAttrs({
104
+ * __parents: [BaseAttrs],
105
+ * __attrSchema: { value: {...} }
106
+ * })
107
+ */
108
+ export declare function __createAttrs<TAttrs extends Record<string, any>>(config: {
109
+ __attrSchema: AttrSchema;
110
+ __parents?: AttrsFactory<any>[];
111
+ }): AttrsFactory<TAttrs>;
112
+ /**
113
+ * Check if a value is an AttrsFactory
114
+ */
115
+ export declare function isAttrsFactory(value: unknown): value is AttrsFactory<any>;
116
+ /**
117
+ * Get merged attr schema from an AttrsFactory including all parent schemas.
118
+ * Detects circular inheritance to prevent infinite loops.
119
+ */
120
+ export declare function getMergedAttrSchemaFromAttrs(factory: AttrsFactory<any>, visited?: Set<AttrsFactory<any>>): AttrSchema;
121
+ /**
122
+ * Symbol to mark bindable props in __createOriginInstance.
123
+ */
124
+ declare const BINDABLE_MARKER: unique symbol;
125
+ /**
126
+ * Marker interface for bindable props.
127
+ */
128
+ interface BindableMarker<T> {
129
+ [BINDABLE_MARKER]: true;
130
+ get: () => T;
131
+ set: (value: T) => void;
132
+ }
133
+ /**
134
+ * Create a bindable prop marker for use in $origin.create() props.
135
+ *
136
+ * Used when `$origin.bind(expr)` is called inside $origin.create() props.
137
+ * The transformer converts `$origin.bind(expr)` to `__bindable(() => expr, (v) => { expr = v })`.
138
+ *
139
+ * @example
140
+ * // Source:
141
+ * this.child = $origin.create(Counter, { count: $origin.bind(myCount) })
142
+ *
143
+ * // Transforms to:
144
+ * this.child = __createOriginInstance(Counter, { count: __bindable(() => myCount, (v) => { myCount = v }) })
145
+ */
146
+ export declare function __bindable<T>(get: () => T, set: (value: T) => void): BindableMarker<T>;
147
+ /**
148
+ * Create an origin instance with reactive props (runtime helper).
149
+ *
150
+ * Used when `$origin.create(Factory, props)` is called inline (not as a variable declaration).
151
+ * The transform cannot expand to multiple lines in these contexts, so we wrap props reactively at runtime.
152
+ *
153
+ * Props can be:
154
+ * - Regular values: getter-only (one-directional data flow)
155
+ * - __bindable markers: getter+setter (two-way binding via $origin.bind())
156
+ *
157
+ * @example
158
+ * // Source:
159
+ * this.child = $origin.create(Counter, { count: 0 })
160
+ *
161
+ * // Transforms to:
162
+ * this.child = __createOriginInstance(Counter, { count: 0 })
163
+ *
164
+ * // With $origin.bind():
165
+ * this.child = $origin.create(Counter, { count: $origin.bind(myCount) })
166
+ *
167
+ * // Transforms to:
168
+ * this.child = __createOriginInstance(Counter, { count: __bindable(() => myCount, (v) => { myCount = v }) })
169
+ */
170
+ export declare function __createOriginInstance<T extends OriginFactory<any, any>>(factory: T, props: Record<string, any>): ReturnType<T>;