flexium 0.8.15 → 0.9.1

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 (125) hide show
  1. package/dist/{DrawText-CeXBL8Ev.d.ts → DrawText-Bvzl40Vi.d.ts} +1 -1
  2. package/dist/{DrawText-JB58mpQT.d.cts → DrawText-CJikXQjL.d.cts} +1 -1
  3. package/dist/advanced.d.cts +3 -1
  4. package/dist/advanced.d.ts +3 -1
  5. package/dist/advanced.js +1 -1
  6. package/dist/advanced.mjs +1 -1
  7. package/dist/advanced.mjs.map +1 -1
  8. package/dist/canvas.d.cts +5 -3
  9. package/dist/canvas.d.ts +5 -3
  10. package/dist/canvas.js +1 -1
  11. package/dist/canvas.mjs +1 -1
  12. package/dist/chunk-2ZHUQBNI.mjs +2 -0
  13. package/dist/chunk-2ZHUQBNI.mjs.map +1 -0
  14. package/dist/{chunk-CNY6FPKJ.js → chunk-DFG62GKW.js} +2 -2
  15. package/dist/{chunk-CZYIK6FD.mjs.map → chunk-DFG62GKW.js.map} +1 -1
  16. package/dist/{chunk-ZNPYN2TZ.mjs → chunk-HDCPA76O.mjs} +2 -2
  17. package/dist/{chunk-ZNPYN2TZ.mjs.map → chunk-HDCPA76O.mjs.map} +1 -1
  18. package/dist/chunk-J4CK5NRW.mjs +3 -0
  19. package/dist/chunk-J4CK5NRW.mjs.map +1 -0
  20. package/dist/chunk-JEDCNAAI.mjs +3 -0
  21. package/dist/chunk-JEDCNAAI.mjs.map +1 -0
  22. package/dist/{chunk-DOGIWSDA.js → chunk-JHJHIMWD.js} +2 -2
  23. package/dist/{chunk-DOGIWSDA.js.map → chunk-JHJHIMWD.js.map} +1 -1
  24. package/dist/{chunk-GDBJ322I.js → chunk-L4C5UBOX.js} +2 -2
  25. package/dist/{chunk-GDBJ322I.js.map → chunk-L4C5UBOX.js.map} +1 -1
  26. package/dist/chunk-M4ANLZ6P.js +3 -0
  27. package/dist/chunk-M4ANLZ6P.js.map +1 -0
  28. package/dist/chunk-RDA77IE6.js +2 -0
  29. package/dist/chunk-RDA77IE6.js.map +1 -0
  30. package/dist/{chunk-CZYIK6FD.mjs → chunk-RUXAK74B.mjs} +2 -2
  31. package/dist/chunk-RUXAK74B.mjs.map +1 -0
  32. package/dist/chunk-TRIEKNVZ.mjs +2 -0
  33. package/dist/{chunk-MLZTCKTH.mjs.map → chunk-TRIEKNVZ.mjs.map} +1 -1
  34. package/dist/chunk-VIVO4FHN.js +3 -0
  35. package/dist/chunk-VIVO4FHN.js.map +1 -0
  36. package/dist/chunk-XLE6SMWX.mjs +3 -0
  37. package/dist/chunk-XLE6SMWX.mjs.map +1 -0
  38. package/dist/chunk-YGMMJWAA.js +3 -0
  39. package/dist/chunk-YGMMJWAA.js.map +1 -0
  40. package/dist/components-D4WeooPi.d.ts +126 -0
  41. package/dist/components-DZy2r6m5.d.cts +126 -0
  42. package/dist/core.d.cts +159 -15
  43. package/dist/core.d.ts +159 -15
  44. package/dist/core.js +1 -1
  45. package/dist/core.mjs +1 -1
  46. package/dist/dom.d.cts +2 -3
  47. package/dist/dom.d.ts +2 -3
  48. package/dist/dom.js +1 -1
  49. package/dist/dom.js.map +1 -1
  50. package/dist/dom.mjs +1 -1
  51. package/dist/dom.mjs.map +1 -1
  52. package/dist/effect-BlnnM1t5.d.cts +20 -0
  53. package/dist/effect-BlnnM1t5.d.ts +20 -0
  54. package/dist/index.d.cts +2 -2
  55. package/dist/index.d.ts +2 -2
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/index.mjs +1 -1
  59. package/dist/index.mjs.map +1 -1
  60. package/dist/interactive.d.cts +1 -1
  61. package/dist/interactive.d.ts +1 -1
  62. package/dist/interactive.js +1 -1
  63. package/dist/interactive.mjs +1 -1
  64. package/dist/interactive.mjs.map +1 -1
  65. package/dist/metafile-cjs.json +1 -1
  66. package/dist/metafile-esm.json +1 -1
  67. package/dist/owner-QS9tPwPr.d.cts +27 -0
  68. package/dist/owner-QS9tPwPr.d.ts +27 -0
  69. package/dist/{portal-DBwz7gD0.d.ts → portal-C3ESJhlv.d.ts} +1 -1
  70. package/dist/{portal-BpcIlK9y.d.cts → portal-CAEbiMUZ.d.cts} +1 -1
  71. package/dist/primitives/motion.js +1 -1
  72. package/dist/primitives/motion.mjs +1 -1
  73. package/dist/primitives/ui.d.cts +1 -1
  74. package/dist/primitives/ui.d.ts +1 -1
  75. package/dist/primitives/ui.js +1 -1
  76. package/dist/primitives/ui.mjs +1 -1
  77. package/dist/primitives/ui.mjs.map +1 -1
  78. package/dist/primitives.d.cts +6 -4
  79. package/dist/primitives.d.ts +6 -4
  80. package/dist/primitives.js +1 -1
  81. package/dist/primitives.mjs +1 -1
  82. package/dist/router.d.cts +11 -120
  83. package/dist/router.d.ts +11 -120
  84. package/dist/router.js +1 -1
  85. package/dist/router.mjs +1 -1
  86. package/dist/server.js +1 -1
  87. package/dist/server.mjs +1 -1
  88. package/dist/server.mjs.map +1 -1
  89. package/dist/signal-3YZHUCLL.js +2 -0
  90. package/dist/{signal-XZXQ4VYQ.js.map → signal-3YZHUCLL.js.map} +1 -1
  91. package/dist/signal-Dxh9PsKr.d.cts +69 -0
  92. package/dist/signal-Dxh9PsKr.d.ts +69 -0
  93. package/dist/signal-F2HEYB6F.mjs +2 -0
  94. package/dist/{signal-PWBIM6JV.mjs.map → signal-F2HEYB6F.mjs.map} +1 -1
  95. package/dist/sync-Z4QqUDjF.d.cts +25 -0
  96. package/dist/sync-Z4QqUDjF.d.ts +25 -0
  97. package/dist/test-exports.d.cts +29 -8
  98. package/dist/test-exports.d.ts +29 -8
  99. package/dist/test-exports.js +1 -1
  100. package/dist/test-exports.mjs +1 -1
  101. package/package.json +1 -1
  102. package/dist/chunk-2MVKTSFR.mjs +0 -3
  103. package/dist/chunk-2MVKTSFR.mjs.map +0 -1
  104. package/dist/chunk-2U4DW375.mjs +0 -2
  105. package/dist/chunk-2U4DW375.mjs.map +0 -1
  106. package/dist/chunk-5S3ZQ2LB.mjs +0 -3
  107. package/dist/chunk-5S3ZQ2LB.mjs.map +0 -1
  108. package/dist/chunk-CNY6FPKJ.js.map +0 -1
  109. package/dist/chunk-EX2GURH5.mjs +0 -3
  110. package/dist/chunk-EX2GURH5.mjs.map +0 -1
  111. package/dist/chunk-I7UCVARB.js +0 -2
  112. package/dist/chunk-I7UCVARB.js.map +0 -1
  113. package/dist/chunk-MLZTCKTH.mjs +0 -2
  114. package/dist/chunk-REETNY2Z.js +0 -3
  115. package/dist/chunk-REETNY2Z.js.map +0 -1
  116. package/dist/chunk-ROYFUJN5.js +0 -3
  117. package/dist/chunk-ROYFUJN5.js.map +0 -1
  118. package/dist/chunk-V4K6WOXN.js +0 -3
  119. package/dist/chunk-V4K6WOXN.js.map +0 -1
  120. package/dist/signal-PWBIM6JV.mjs +0 -2
  121. package/dist/signal-XZXQ4VYQ.js +0 -2
  122. package/dist/signal-mNtlF8-v.d.cts +0 -158
  123. package/dist/signal-mNtlF8-v.d.ts +0 -158
  124. package/dist/state-kK9sQh9s.d.cts +0 -73
  125. package/dist/state-kK9sQh9s.d.ts +0 -73
package/dist/index.d.cts CHANGED
@@ -6,7 +6,7 @@
6
6
  * @example
7
7
  * ```tsx
8
8
  * // Core reactivity
9
- * import { state, effect, batch } from 'flexium/core'
9
+ * import { state, effect } from 'flexium/core'
10
10
  *
11
11
  * // DOM rendering
12
12
  * import { render, createRoot, Portal } from 'flexium/dom'
@@ -21,6 +21,6 @@
21
21
  * import { Router, Route, Link } from 'flexium/router'
22
22
  * ```
23
23
  */
24
- declare const VERSION = "0.8.15";
24
+ declare const VERSION = "0.9.1";
25
25
 
26
26
  export { VERSION };
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  * @example
7
7
  * ```tsx
8
8
  * // Core reactivity
9
- * import { state, effect, batch } from 'flexium/core'
9
+ * import { state, effect } from 'flexium/core'
10
10
  *
11
11
  * // DOM rendering
12
12
  * import { render, createRoot, Portal } from 'flexium/dom'
@@ -21,6 +21,6 @@
21
21
  * import { Router, Route, Link } from 'flexium/router'
22
22
  * ```
23
23
  */
24
- declare const VERSION = "0.8.15";
24
+ declare const VERSION = "0.9.1";
25
25
 
26
26
  export { VERSION };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var o="0.8.15";exports.VERSION=o;//# sourceMappingURL=index.js.map
1
+ 'use strict';var o="0.9.1";exports.VERSION=o;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"aAwBO,IAAMA,CAAAA,CAAU","file":"index.js","sourcesContent":["/**\n * Flexium - Next-generation UI/UX library\n *\n * Please use explicit imports from submodules:\n *\n * @example\n * ```tsx\n * // Core reactivity\n * import { state, effect, batch } from 'flexium/core'\n *\n * // DOM rendering\n * import { render, createRoot, Portal } from 'flexium/dom'\n *\n * // Canvas rendering\n * import { Canvas, Rect, Circle } from 'flexium/canvas'\n *\n * // Cross-platform primitives\n * import { Row, Column, Text } from 'flexium/primitives'\n *\n * // Router\n * import { Router, Route, Link } from 'flexium/router'\n * ```\n */\n\nexport const VERSION = '0.8.15'\n\n// Intentionally empty - use explicit submodule imports\n// flexium/core, flexium/dom, flexium/canvas, flexium/primitives, flexium/router\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"aAwBO,IAAMA,CAAAA,CAAU","file":"index.js","sourcesContent":["/**\n * Flexium - Next-generation UI/UX library\n *\n * Please use explicit imports from submodules:\n *\n * @example\n * ```tsx\n * // Core reactivity\n * import { state, effect } from 'flexium/core'\n *\n * // DOM rendering\n * import { render, createRoot, Portal } from 'flexium/dom'\n *\n * // Canvas rendering\n * import { Canvas, Rect, Circle } from 'flexium/canvas'\n *\n * // Cross-platform primitives\n * import { Row, Column, Text } from 'flexium/primitives'\n *\n * // Router\n * import { Router, Route, Link } from 'flexium/router'\n * ```\n */\n\nexport const VERSION = '0.9.1'\n\n// Intentionally empty - use explicit submodule imports\n// flexium/core, flexium/dom, flexium/canvas, flexium/primitives, flexium/router\n"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var o="0.8.15";export{o as VERSION};//# sourceMappingURL=index.mjs.map
1
+ var o="0.9.1";export{o as VERSION};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"AAwBO,IAAMA,CAAAA,CAAU","file":"index.mjs","sourcesContent":["/**\n * Flexium - Next-generation UI/UX library\n *\n * Please use explicit imports from submodules:\n *\n * @example\n * ```tsx\n * // Core reactivity\n * import { state, effect, batch } from 'flexium/core'\n *\n * // DOM rendering\n * import { render, createRoot, Portal } from 'flexium/dom'\n *\n * // Canvas rendering\n * import { Canvas, Rect, Circle } from 'flexium/canvas'\n *\n * // Cross-platform primitives\n * import { Row, Column, Text } from 'flexium/primitives'\n *\n * // Router\n * import { Router, Route, Link } from 'flexium/router'\n * ```\n */\n\nexport const VERSION = '0.8.15'\n\n// Intentionally empty - use explicit submodule imports\n// flexium/core, flexium/dom, flexium/canvas, flexium/primitives, flexium/router\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"AAwBO,IAAMA,CAAAA,CAAU","file":"index.mjs","sourcesContent":["/**\n * Flexium - Next-generation UI/UX library\n *\n * Please use explicit imports from submodules:\n *\n * @example\n * ```tsx\n * // Core reactivity\n * import { state, effect } from 'flexium/core'\n *\n * // DOM rendering\n * import { render, createRoot, Portal } from 'flexium/dom'\n *\n * // Canvas rendering\n * import { Canvas, Rect, Circle } from 'flexium/canvas'\n *\n * // Cross-platform primitives\n * import { Row, Column, Text } from 'flexium/primitives'\n *\n * // Router\n * import { Router, Route, Link } from 'flexium/router'\n * ```\n */\n\nexport const VERSION = '0.9.1'\n\n// Intentionally empty - use explicit submodule imports\n// flexium/core, flexium/dom, flexium/canvas, flexium/primitives, flexium/router\n"]}
@@ -1,4 +1,4 @@
1
- import { S as Signal } from './signal-mNtlF8-v.cjs';
1
+ import { S as Signal } from './signal-Dxh9PsKr.cjs';
2
2
 
3
3
  /**
4
4
  * Loop - Core animation/game loop implementation with delta time and fixed timestep
@@ -1,4 +1,4 @@
1
- import { S as Signal } from './signal-mNtlF8-v.js';
1
+ import { S as Signal } from './signal-Dxh9PsKr.js';
2
2
 
3
3
  /**
4
4
  * Loop - Core animation/game loop implementation with delta time and fixed timestep
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkROYFUJN5_js=require('./chunk-ROYFUJN5.js');function M(d={}){let{fixedFps:n=60,onUpdate:s,onFixedUpdate:v,onRender:l}=d,c=1/n,e=false,f,t=0,p=0,i=0,r=0,E=0,w=true;function L(y){if(!e)return;f=requestAnimationFrame(L);let h=y/1e3;if(w){t=h,w=false;return}let b=Math.min(h-t,.25);if(t=h,r++,E+=b,E>=1&&(i=r,r=0,E-=1),s&&s(b),v)for(p+=b;p>=c;)v(c),p-=c;if(l){let x=v?p/c:1;l(x);}}return {start(){e||(e=true,w=true,p=0,f=requestAnimationFrame(L));},stop(){e=false,f!==void 0&&(cancelAnimationFrame(f),f=void 0);},isRunning(){return e},getFps(){return i}}}function D(d=window){let n=chunkROYFUJN5_js.h(new Set),s=new Set,v=new Set;function l(t){return t.toLowerCase()}function c(t){let i=l(t.code);if(!n.value.has(i)){s.add(i);let r=new Set(n.value);r.add(i),n.value=r;}}function e(t){let i=l(t.code);if(n.value.has(i)){v.add(i);let r=new Set(n.value);r.delete(i),n.value=r;}}function f(){n.value=new Set,s.clear(),v.clear();}return d.addEventListener("keydown",c),d.addEventListener("keyup",e),d===window&&d.addEventListener("blur",f),{isPressed(t){return n.value.has(l(t))},isJustPressed(t){return s.has(l(t))},isJustReleased(t){return v.has(l(t))},getPressedKeys(){return Array.from(n.value)},get keys(){return n},clearFrameState(){s.clear(),v.clear();},dispose(){d.removeEventListener("keydown",c),d.removeEventListener("keyup",e),d===window&&d.removeEventListener("blur",f);}}}var k={ArrowUp:"arrowup",ArrowDown:"arrowdown",ArrowLeft:"arrowleft",ArrowRight:"arrowright",KeyW:"keyw",KeyA:"keya",KeyS:"keys",KeyD:"keyd",Space:"space",Enter:"enter",Escape:"escape",ShiftLeft:"shiftleft",ShiftRight:"shiftright",ControlLeft:"controlleft",ControlRight:"controlright",AltLeft:"altleft",AltRight:"altright",Tab:"tab",Digit0:"digit0",Digit1:"digit1",Digit2:"digit2",Digit3:"digit3",Digit4:"digit4",Digit5:"digit5",Digit6:"digit6",Digit7:"digit7",Digit8:"digit8",Digit9:"digit9"};function K(d={}){let{target:n=window,canvas:s}=d,v=chunkROYFUJN5_js.h({x:0,y:0}),l=chunkROYFUJN5_js.h({x:0,y:0}),c=chunkROYFUJN5_js.h(0),e=chunkROYFUJN5_js.h(new Set),f=0,t=0,p=0,i=0,r=0;function E(o){if(s){let m=s.getBoundingClientRect(),a=s.width/m.width,S=s.height/m.height;return {x:(o.clientX-m.left)*a,y:(o.clientY-m.top)*S}}return {x:o.clientX,y:o.clientY}}function w(o){let a=E(o);p+=a.x-f,i+=a.y-t,f=a.x,t=a.y,v.value=a,l.value={x:p,y:i};}function L(o){let m=o,a=new Set(e.value);a.add(m.button),e.value=a;}function y(o){let m=o,a=new Set(e.value);a.delete(m.button),e.value=a;}function h(o){r+=Math.sign(o.deltaY),c.value=r;}function b(){e.value=new Set;}function x(o){}let u=s||n;return u.addEventListener("mousemove",w),u.addEventListener("mousedown",L),u.addEventListener("mouseup",y),u.addEventListener("wheel",h,{passive:true}),u.addEventListener("mouseleave",b),u.addEventListener("contextmenu",x),n!==window&&window.addEventListener("mouseup",y),{get position(){return v},get delta(){return l},get wheelDelta(){return c},isPressed(o){return e.value.has(o)},isLeftPressed(){return e.value.has(0)},isRightPressed(){return e.value.has(2)},isMiddlePressed(){return e.value.has(1)},clearFrameState(){p=0,i=0,r=0,l.value={x:0,y:0},c.value=0;},dispose(){u.removeEventListener("mousemove",w),u.removeEventListener("mousedown",L),u.removeEventListener("mouseup",y),u.removeEventListener("wheel",h),u.removeEventListener("mouseleave",b),u.removeEventListener("contextmenu",x),n!==window&&window.removeEventListener("mouseup",y);}}}var F={Left:0,Middle:1,Right:2};exports.Keys=k;exports.MouseButton=F;exports.createLoop=M;exports.keyboard=D;exports.mouse=K;//# sourceMappingURL=interactive.js.map
1
+ 'use strict';var chunkYGMMJWAA_js=require('./chunk-YGMMJWAA.js');function M(d={}){let{fixedFps:n=60,onUpdate:s,onFixedUpdate:v,onRender:l}=d,c=1/n,e=false,f,t=0,p=0,i=0,r=0,E=0,w=true;function L(y){if(!e)return;f=requestAnimationFrame(L);let h=y/1e3;if(w){t=h,w=false;return}let b=Math.min(h-t,.25);if(t=h,r++,E+=b,E>=1&&(i=r,r=0,E-=1),s&&s(b),v)for(p+=b;p>=c;)v(c),p-=c;if(l){let x=v?p/c:1;l(x);}}return {start(){e||(e=true,w=true,p=0,f=requestAnimationFrame(L));},stop(){e=false,f!==void 0&&(cancelAnimationFrame(f),f=void 0);},isRunning(){return e},getFps(){return i}}}function D(d=window){let n=chunkYGMMJWAA_js.j(new Set),s=new Set,v=new Set;function l(t){return t.toLowerCase()}function c(t){let i=l(t.code);if(!n.value.has(i)){s.add(i);let r=new Set(n.value);r.add(i),n.value=r;}}function e(t){let i=l(t.code);if(n.value.has(i)){v.add(i);let r=new Set(n.value);r.delete(i),n.value=r;}}function f(){n.value=new Set,s.clear(),v.clear();}return d.addEventListener("keydown",c),d.addEventListener("keyup",e),d===window&&d.addEventListener("blur",f),{isPressed(t){return n.value.has(l(t))},isJustPressed(t){return s.has(l(t))},isJustReleased(t){return v.has(l(t))},getPressedKeys(){return Array.from(n.value)},get keys(){return n},clearFrameState(){s.clear(),v.clear();},dispose(){d.removeEventListener("keydown",c),d.removeEventListener("keyup",e),d===window&&d.removeEventListener("blur",f);}}}var k={ArrowUp:"arrowup",ArrowDown:"arrowdown",ArrowLeft:"arrowleft",ArrowRight:"arrowright",KeyW:"keyw",KeyA:"keya",KeyS:"keys",KeyD:"keyd",Space:"space",Enter:"enter",Escape:"escape",ShiftLeft:"shiftleft",ShiftRight:"shiftright",ControlLeft:"controlleft",ControlRight:"controlright",AltLeft:"altleft",AltRight:"altright",Tab:"tab",Digit0:"digit0",Digit1:"digit1",Digit2:"digit2",Digit3:"digit3",Digit4:"digit4",Digit5:"digit5",Digit6:"digit6",Digit7:"digit7",Digit8:"digit8",Digit9:"digit9"};function K(d={}){let{target:n=window,canvas:s}=d,v=chunkYGMMJWAA_js.j({x:0,y:0}),l=chunkYGMMJWAA_js.j({x:0,y:0}),c=chunkYGMMJWAA_js.j(0),e=chunkYGMMJWAA_js.j(new Set),f=0,t=0,p=0,i=0,r=0;function E(o){if(s){let m=s.getBoundingClientRect(),a=s.width/m.width,S=s.height/m.height;return {x:(o.clientX-m.left)*a,y:(o.clientY-m.top)*S}}return {x:o.clientX,y:o.clientY}}function w(o){let a=E(o);p+=a.x-f,i+=a.y-t,f=a.x,t=a.y,v.value=a,l.value={x:p,y:i};}function L(o){let m=o,a=new Set(e.value);a.add(m.button),e.value=a;}function y(o){let m=o,a=new Set(e.value);a.delete(m.button),e.value=a;}function h(o){r+=Math.sign(o.deltaY),c.value=r;}function b(){e.value=new Set;}function x(o){}let u=s||n;return u.addEventListener("mousemove",w),u.addEventListener("mousedown",L),u.addEventListener("mouseup",y),u.addEventListener("wheel",h,{passive:true}),u.addEventListener("mouseleave",b),u.addEventListener("contextmenu",x),n!==window&&window.addEventListener("mouseup",y),{get position(){return v},get delta(){return l},get wheelDelta(){return c},isPressed(o){return e.value.has(o)},isLeftPressed(){return e.value.has(0)},isRightPressed(){return e.value.has(2)},isMiddlePressed(){return e.value.has(1)},clearFrameState(){p=0,i=0,r=0,l.value={x:0,y:0},c.value=0;},dispose(){u.removeEventListener("mousemove",w),u.removeEventListener("mousedown",L),u.removeEventListener("mouseup",y),u.removeEventListener("wheel",h),u.removeEventListener("mouseleave",b),u.removeEventListener("contextmenu",x),n!==window&&window.removeEventListener("mouseup",y);}}}var F={Left:0,Middle:1,Right:2};exports.Keys=k;exports.MouseButton=F;exports.createLoop=M;exports.keyboard=D;exports.mouse=K;//# sourceMappingURL=interactive.js.map
2
2
  //# sourceMappingURL=interactive.js.map
@@ -1,2 +1,2 @@
1
- import {h}from'./chunk-5S3ZQ2LB.mjs';function M(d={}){let{fixedFps:n=60,onUpdate:s,onFixedUpdate:v,onRender:l}=d,c=1/n,e=false,f,t=0,p=0,i=0,r=0,E=0,w=true;function L(y){if(!e)return;f=requestAnimationFrame(L);let h=y/1e3;if(w){t=h,w=false;return}let b=Math.min(h-t,.25);if(t=h,r++,E+=b,E>=1&&(i=r,r=0,E-=1),s&&s(b),v)for(p+=b;p>=c;)v(c),p-=c;if(l){let x=v?p/c:1;l(x);}}return {start(){e||(e=true,w=true,p=0,f=requestAnimationFrame(L));},stop(){e=false,f!==void 0&&(cancelAnimationFrame(f),f=void 0);},isRunning(){return e},getFps(){return i}}}function D(d=window){let n=h(new Set),s=new Set,v=new Set;function l(t){return t.toLowerCase()}function c(t){let i=l(t.code);if(!n.value.has(i)){s.add(i);let r=new Set(n.value);r.add(i),n.value=r;}}function e(t){let i=l(t.code);if(n.value.has(i)){v.add(i);let r=new Set(n.value);r.delete(i),n.value=r;}}function f(){n.value=new Set,s.clear(),v.clear();}return d.addEventListener("keydown",c),d.addEventListener("keyup",e),d===window&&d.addEventListener("blur",f),{isPressed(t){return n.value.has(l(t))},isJustPressed(t){return s.has(l(t))},isJustReleased(t){return v.has(l(t))},getPressedKeys(){return Array.from(n.value)},get keys(){return n},clearFrameState(){s.clear(),v.clear();},dispose(){d.removeEventListener("keydown",c),d.removeEventListener("keyup",e),d===window&&d.removeEventListener("blur",f);}}}var k={ArrowUp:"arrowup",ArrowDown:"arrowdown",ArrowLeft:"arrowleft",ArrowRight:"arrowright",KeyW:"keyw",KeyA:"keya",KeyS:"keys",KeyD:"keyd",Space:"space",Enter:"enter",Escape:"escape",ShiftLeft:"shiftleft",ShiftRight:"shiftright",ControlLeft:"controlleft",ControlRight:"controlright",AltLeft:"altleft",AltRight:"altright",Tab:"tab",Digit0:"digit0",Digit1:"digit1",Digit2:"digit2",Digit3:"digit3",Digit4:"digit4",Digit5:"digit5",Digit6:"digit6",Digit7:"digit7",Digit8:"digit8",Digit9:"digit9"};function K(d={}){let{target:n=window,canvas:s}=d,v=h({x:0,y:0}),l=h({x:0,y:0}),c=h(0),e=h(new Set),f=0,t=0,p=0,i=0,r=0;function E(o){if(s){let m=s.getBoundingClientRect(),a=s.width/m.width,S=s.height/m.height;return {x:(o.clientX-m.left)*a,y:(o.clientY-m.top)*S}}return {x:o.clientX,y:o.clientY}}function w(o){let a=E(o);p+=a.x-f,i+=a.y-t,f=a.x,t=a.y,v.value=a,l.value={x:p,y:i};}function L(o){let m=o,a=new Set(e.value);a.add(m.button),e.value=a;}function y(o){let m=o,a=new Set(e.value);a.delete(m.button),e.value=a;}function h$1(o){r+=Math.sign(o.deltaY),c.value=r;}function b(){e.value=new Set;}function x(o){}let u=s||n;return u.addEventListener("mousemove",w),u.addEventListener("mousedown",L),u.addEventListener("mouseup",y),u.addEventListener("wheel",h$1,{passive:true}),u.addEventListener("mouseleave",b),u.addEventListener("contextmenu",x),n!==window&&window.addEventListener("mouseup",y),{get position(){return v},get delta(){return l},get wheelDelta(){return c},isPressed(o){return e.value.has(o)},isLeftPressed(){return e.value.has(0)},isRightPressed(){return e.value.has(2)},isMiddlePressed(){return e.value.has(1)},clearFrameState(){p=0,i=0,r=0,l.value={x:0,y:0},c.value=0;},dispose(){u.removeEventListener("mousemove",w),u.removeEventListener("mousedown",L),u.removeEventListener("mouseup",y),u.removeEventListener("wheel",h$1),u.removeEventListener("mouseleave",b),u.removeEventListener("contextmenu",x),n!==window&&window.removeEventListener("mouseup",y);}}}var F={Left:0,Middle:1,Right:2};export{k as Keys,F as MouseButton,M as createLoop,D as keyboard,K as mouse};//# sourceMappingURL=interactive.mjs.map
1
+ import {j}from'./chunk-J4CK5NRW.mjs';function M(d={}){let{fixedFps:n=60,onUpdate:s,onFixedUpdate:v,onRender:l}=d,c=1/n,e=false,f,t=0,p=0,i=0,r=0,E=0,w=true;function L(y){if(!e)return;f=requestAnimationFrame(L);let h=y/1e3;if(w){t=h,w=false;return}let b=Math.min(h-t,.25);if(t=h,r++,E+=b,E>=1&&(i=r,r=0,E-=1),s&&s(b),v)for(p+=b;p>=c;)v(c),p-=c;if(l){let x=v?p/c:1;l(x);}}return {start(){e||(e=true,w=true,p=0,f=requestAnimationFrame(L));},stop(){e=false,f!==void 0&&(cancelAnimationFrame(f),f=void 0);},isRunning(){return e},getFps(){return i}}}function D(d=window){let n=j(new Set),s=new Set,v=new Set;function l(t){return t.toLowerCase()}function c(t){let i=l(t.code);if(!n.value.has(i)){s.add(i);let r=new Set(n.value);r.add(i),n.value=r;}}function e(t){let i=l(t.code);if(n.value.has(i)){v.add(i);let r=new Set(n.value);r.delete(i),n.value=r;}}function f(){n.value=new Set,s.clear(),v.clear();}return d.addEventListener("keydown",c),d.addEventListener("keyup",e),d===window&&d.addEventListener("blur",f),{isPressed(t){return n.value.has(l(t))},isJustPressed(t){return s.has(l(t))},isJustReleased(t){return v.has(l(t))},getPressedKeys(){return Array.from(n.value)},get keys(){return n},clearFrameState(){s.clear(),v.clear();},dispose(){d.removeEventListener("keydown",c),d.removeEventListener("keyup",e),d===window&&d.removeEventListener("blur",f);}}}var k={ArrowUp:"arrowup",ArrowDown:"arrowdown",ArrowLeft:"arrowleft",ArrowRight:"arrowright",KeyW:"keyw",KeyA:"keya",KeyS:"keys",KeyD:"keyd",Space:"space",Enter:"enter",Escape:"escape",ShiftLeft:"shiftleft",ShiftRight:"shiftright",ControlLeft:"controlleft",ControlRight:"controlright",AltLeft:"altleft",AltRight:"altright",Tab:"tab",Digit0:"digit0",Digit1:"digit1",Digit2:"digit2",Digit3:"digit3",Digit4:"digit4",Digit5:"digit5",Digit6:"digit6",Digit7:"digit7",Digit8:"digit8",Digit9:"digit9"};function K(d={}){let{target:n=window,canvas:s}=d,v=j({x:0,y:0}),l=j({x:0,y:0}),c=j(0),e=j(new Set),f=0,t=0,p=0,i=0,r=0;function E(o){if(s){let m=s.getBoundingClientRect(),a=s.width/m.width,S=s.height/m.height;return {x:(o.clientX-m.left)*a,y:(o.clientY-m.top)*S}}return {x:o.clientX,y:o.clientY}}function w(o){let a=E(o);p+=a.x-f,i+=a.y-t,f=a.x,t=a.y,v.value=a,l.value={x:p,y:i};}function L(o){let m=o,a=new Set(e.value);a.add(m.button),e.value=a;}function y(o){let m=o,a=new Set(e.value);a.delete(m.button),e.value=a;}function h(o){r+=Math.sign(o.deltaY),c.value=r;}function b(){e.value=new Set;}function x(o){}let u=s||n;return u.addEventListener("mousemove",w),u.addEventListener("mousedown",L),u.addEventListener("mouseup",y),u.addEventListener("wheel",h,{passive:true}),u.addEventListener("mouseleave",b),u.addEventListener("contextmenu",x),n!==window&&window.addEventListener("mouseup",y),{get position(){return v},get delta(){return l},get wheelDelta(){return c},isPressed(o){return e.value.has(o)},isLeftPressed(){return e.value.has(0)},isRightPressed(){return e.value.has(2)},isMiddlePressed(){return e.value.has(1)},clearFrameState(){p=0,i=0,r=0,l.value={x:0,y:0},c.value=0;},dispose(){u.removeEventListener("mousemove",w),u.removeEventListener("mousedown",L),u.removeEventListener("mouseup",y),u.removeEventListener("wheel",h),u.removeEventListener("mouseleave",b),u.removeEventListener("contextmenu",x),n!==window&&window.removeEventListener("mouseup",y);}}}var F={Left:0,Middle:1,Right:2};export{k as Keys,F as MouseButton,M as createLoop,D as keyboard,K as mouse};//# sourceMappingURL=interactive.mjs.map
2
2
  //# sourceMappingURL=interactive.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interactive/loop.ts","../src/interactive/keyboard.ts","../src/interactive/mouse.ts"],"names":["createLoop","options","fixedFps","onUpdate","onFixedUpdate","onRender","fixedDelta","running","rafId","lastTime","accumulator","fps","frameCount","fpsTime","isFirstFrame","loop","currentTime","time","delta","alpha","keyboard","target","keys","signal","justPressed","justReleased","normalizeKey","key","handleKeyDown","e","newKeys","handleKeyUp","handleBlur","Keys","mouse","canvas","position","wheelDelta","buttons","lastX","lastY","frameDeltaX","frameDeltaY","frameWheelDelta","getCanvasCoordinates","event","rect","scaleX","scaleY","handleMouseMove","coords","handleMouseDown","newButtons","handleMouseUp","handleWheel","handleMouseLeave","handleContextMenu","_e","eventTarget","button","MouseButton"],"mappings":"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","file":"interactive.mjs","sourcesContent":["/**\n * Loop - Core animation/game loop implementation with delta time and fixed timestep\n */\n\nexport interface LoopOptions {\n /** Target FPS for fixed update (default: 60) */\n fixedFps?: number\n /** Called every frame with delta time in seconds */\n onUpdate?: (delta: number) => void\n /** Called at fixed intervals (for physics) */\n onFixedUpdate?: (fixedDelta: number) => void\n /** Called every frame for rendering */\n onRender?: (alpha: number) => void\n}\n\nexport interface Loop {\n /** Start the loop */\n start(): void\n /** Stop the loop */\n stop(): void\n /** Check if loop is running */\n isRunning(): boolean\n /** Get current FPS */\n getFps(): number\n}\n\n/**\n * Create an animation loop with delta time and optional fixed timestep\n */\nexport function createLoop(options: LoopOptions = {}): Loop {\n const { fixedFps = 60, onUpdate, onFixedUpdate, onRender } = options\n\n const fixedDelta = 1 / fixedFps\n let running = false\n let rafId: number | undefined\n let lastTime = 0\n let accumulator = 0\n let fps = 0\n let frameCount = 0\n let fpsTime = 0\n let isFirstFrame = true\n\n function loop(currentTime: number): void {\n if (!running) return\n\n rafId = requestAnimationFrame(loop)\n\n // Convert to seconds\n const time = currentTime / 1000\n\n // Initialize lastTime on first frame and skip processing\n if (isFirstFrame) {\n lastTime = time\n isFirstFrame = false\n return\n }\n\n const delta = Math.min(time - lastTime, 0.25) // Cap at 250ms\n lastTime = time\n\n // FPS counter\n frameCount++\n fpsTime += delta\n if (fpsTime >= 1) {\n fps = frameCount\n frameCount = 0\n fpsTime -= 1\n }\n\n // Variable update\n if (onUpdate) {\n onUpdate(delta)\n }\n\n // Fixed update (for physics)\n if (onFixedUpdate) {\n accumulator += delta\n\n while (accumulator >= fixedDelta) {\n onFixedUpdate(fixedDelta)\n accumulator -= fixedDelta\n }\n }\n\n // Render with interpolation alpha\n if (onRender) {\n const alpha = onFixedUpdate ? accumulator / fixedDelta : 1\n onRender(alpha)\n }\n }\n\n return {\n start() {\n if (running) return\n running = true\n isFirstFrame = true\n accumulator = 0\n rafId = requestAnimationFrame(loop)\n },\n\n stop() {\n running = false\n if (rafId !== undefined) {\n cancelAnimationFrame(rafId)\n rafId = undefined\n }\n },\n\n isRunning() {\n return running\n },\n\n getFps() {\n return fps\n },\n }\n}\n","/**\n * keyboard - Reactive keyboard input handler\n *\n * Creates a keyboard input handler with reactive signals.\n * Philosophy: No hooks, just factory functions that return signal-based state.\n */\n\nimport { signal, type Signal } from '../core/signal'\n\nexport interface KeyboardState {\n /** Check if a key is currently pressed */\n isPressed(key: string): boolean\n /** Check if a key was just pressed this frame */\n isJustPressed(key: string): boolean\n /** Check if a key was just released this frame */\n isJustReleased(key: string): boolean\n /** Get all currently pressed keys */\n getPressedKeys(): string[]\n /** Signal that updates when any key state changes */\n readonly keys: Signal<Set<string>>\n /** Clear just pressed/released state (call at end of frame) */\n clearFrameState(): void\n /** Cleanup event listeners */\n dispose(): void\n}\n\n/**\n * Create a keyboard input handler with reactive state\n *\n * @example\n * ```tsx\n * const kb = keyboard()\n *\n * effect(() => {\n * if (kb.isPressed(Keys.ArrowUp)) {\n * player.y -= speed\n * }\n * })\n * ```\n */\nexport function keyboard(target: EventTarget = window): KeyboardState {\n const keys = signal<Set<string>>(new Set())\n const justPressed = new Set<string>()\n const justReleased = new Set<string>()\n\n function normalizeKey(key: string): string {\n return key.toLowerCase()\n }\n\n function handleKeyDown(e: Event): void {\n const event = e as KeyboardEvent\n const key = normalizeKey(event.code)\n\n if (!keys.value.has(key)) {\n justPressed.add(key)\n const newKeys = new Set(keys.value)\n newKeys.add(key)\n keys.value = newKeys\n }\n }\n\n function handleKeyUp(e: Event): void {\n const event = e as KeyboardEvent\n const key = normalizeKey(event.code)\n\n if (keys.value.has(key)) {\n justReleased.add(key)\n const newKeys = new Set(keys.value)\n newKeys.delete(key)\n keys.value = newKeys\n }\n }\n\n function handleBlur(): void {\n // Clear all keys when window loses focus\n keys.value = new Set()\n justPressed.clear()\n justReleased.clear()\n }\n\n // Add event listeners\n target.addEventListener('keydown', handleKeyDown)\n target.addEventListener('keyup', handleKeyUp)\n if (target === window) {\n target.addEventListener('blur', handleBlur)\n }\n\n return {\n isPressed(key: string): boolean {\n return keys.value.has(normalizeKey(key))\n },\n\n isJustPressed(key: string): boolean {\n return justPressed.has(normalizeKey(key))\n },\n\n isJustReleased(key: string): boolean {\n return justReleased.has(normalizeKey(key))\n },\n\n getPressedKeys(): string[] {\n return Array.from(keys.value)\n },\n\n get keys() {\n return keys\n },\n\n clearFrameState(): void {\n justPressed.clear()\n justReleased.clear()\n },\n\n dispose(): void {\n target.removeEventListener('keydown', handleKeyDown)\n target.removeEventListener('keyup', handleKeyUp)\n if (target === window) {\n target.removeEventListener('blur', handleBlur)\n }\n },\n }\n}\n\n/** Common key codes for convenience */\nexport const Keys = {\n // Arrow keys\n ArrowUp: 'arrowup',\n ArrowDown: 'arrowdown',\n ArrowLeft: 'arrowleft',\n ArrowRight: 'arrowright',\n\n // WASD\n KeyW: 'keyw',\n KeyA: 'keya',\n KeyS: 'keys',\n KeyD: 'keyd',\n\n // Common keys\n Space: 'space',\n Enter: 'enter',\n Escape: 'escape',\n ShiftLeft: 'shiftleft',\n ShiftRight: 'shiftright',\n ControlLeft: 'controlleft',\n ControlRight: 'controlright',\n AltLeft: 'altleft',\n AltRight: 'altright',\n Tab: 'tab',\n\n // Numbers\n Digit0: 'digit0',\n Digit1: 'digit1',\n Digit2: 'digit2',\n Digit3: 'digit3',\n Digit4: 'digit4',\n Digit5: 'digit5',\n Digit6: 'digit6',\n Digit7: 'digit7',\n Digit8: 'digit8',\n Digit9: 'digit9',\n} as const\n","/**\n * mouse - Reactive mouse input handler\n *\n * Creates a mouse input handler with reactive signals.\n * Philosophy: No hooks, just factory functions that return signal-based state.\n */\n\nimport { signal, type Signal } from '../core/signal'\n\nexport interface Vec2 {\n x: number\n y: number\n}\n\nexport interface MouseState {\n /** Current mouse position relative to target */\n readonly position: Signal<Vec2>\n /** Mouse position delta since last frame */\n readonly delta: Signal<Vec2>\n /** Check if a mouse button is pressed (0=left, 1=middle, 2=right) */\n isPressed(button: number): boolean\n /** Check if left mouse button is pressed */\n isLeftPressed(): boolean\n /** Check if right mouse button is pressed */\n isRightPressed(): boolean\n /** Check if middle mouse button is pressed */\n isMiddlePressed(): boolean\n /** Wheel delta (positive = scroll down) */\n readonly wheelDelta: Signal<number>\n /** Clear frame state (call at end of frame) */\n clearFrameState(): void\n /** Cleanup event listeners */\n dispose(): void\n}\n\nexport interface MouseOptions {\n /** Element to track mouse relative to (default: window) */\n target?: EventTarget\n /** Canvas element for coordinate calculation (if different from target) */\n canvas?: HTMLCanvasElement\n}\n\n/**\n * Create a mouse input handler with reactive state\n *\n * @example\n * ```tsx\n * const m = mouse()\n *\n * effect(() => {\n * console.log('Mouse at:', m.position.value)\n * if (m.isLeftPressed()) {\n * draw(m.position.value)\n * }\n * })\n * ```\n */\nexport function mouse(options: MouseOptions = {}): MouseState {\n const { target = window, canvas } = options\n\n const position = signal<Vec2>({ x: 0, y: 0 })\n const delta = signal<Vec2>({ x: 0, y: 0 })\n const wheelDelta = signal<number>(0)\n const buttons = signal<Set<number>>(new Set())\n\n let lastX = 0\n let lastY = 0\n let frameDeltaX = 0\n let frameDeltaY = 0\n let frameWheelDelta = 0\n\n function getCanvasCoordinates(event: MouseEvent): Vec2 {\n if (canvas) {\n const rect = canvas.getBoundingClientRect()\n const scaleX = canvas.width / rect.width\n const scaleY = canvas.height / rect.height\n return {\n x: (event.clientX - rect.left) * scaleX,\n y: (event.clientY - rect.top) * scaleY,\n }\n }\n return {\n x: event.clientX,\n y: event.clientY,\n }\n }\n\n function handleMouseMove(e: Event): void {\n const event = e as MouseEvent\n const coords = getCanvasCoordinates(event)\n\n frameDeltaX += coords.x - lastX\n frameDeltaY += coords.y - lastY\n lastX = coords.x\n lastY = coords.y\n\n position.value = coords\n delta.value = { x: frameDeltaX, y: frameDeltaY }\n }\n\n function handleMouseDown(e: Event): void {\n const event = e as MouseEvent\n const newButtons = new Set(buttons.value)\n newButtons.add(event.button)\n buttons.value = newButtons\n }\n\n function handleMouseUp(e: Event): void {\n const event = e as MouseEvent\n const newButtons = new Set(buttons.value)\n newButtons.delete(event.button)\n buttons.value = newButtons\n }\n\n function handleWheel(e: Event): void {\n const event = e as WheelEvent\n frameWheelDelta += Math.sign(event.deltaY)\n wheelDelta.value = frameWheelDelta\n }\n\n function handleMouseLeave(): void {\n buttons.value = new Set()\n }\n\n function handleContextMenu(_e: Event): void {\n // Prevent context menu in game contexts if needed\n // e.preventDefault()\n }\n\n // Add event listeners\n const eventTarget = canvas || target\n eventTarget.addEventListener('mousemove', handleMouseMove)\n eventTarget.addEventListener('mousedown', handleMouseDown)\n eventTarget.addEventListener('mouseup', handleMouseUp)\n eventTarget.addEventListener('wheel', handleWheel, { passive: true })\n eventTarget.addEventListener('mouseleave', handleMouseLeave)\n eventTarget.addEventListener('contextmenu', handleContextMenu)\n\n // Handle mouse up outside target\n if (target !== window) {\n window.addEventListener('mouseup', handleMouseUp)\n }\n\n return {\n get position() {\n return position\n },\n\n get delta() {\n return delta\n },\n\n get wheelDelta() {\n return wheelDelta\n },\n\n isPressed(button: number): boolean {\n return buttons.value.has(button)\n },\n\n isLeftPressed(): boolean {\n return buttons.value.has(0)\n },\n\n isRightPressed(): boolean {\n return buttons.value.has(2)\n },\n\n isMiddlePressed(): boolean {\n return buttons.value.has(1)\n },\n\n clearFrameState(): void {\n frameDeltaX = 0\n frameDeltaY = 0\n frameWheelDelta = 0\n delta.value = { x: 0, y: 0 }\n wheelDelta.value = 0\n },\n\n dispose(): void {\n eventTarget.removeEventListener('mousemove', handleMouseMove)\n eventTarget.removeEventListener('mousedown', handleMouseDown)\n eventTarget.removeEventListener('mouseup', handleMouseUp)\n eventTarget.removeEventListener('wheel', handleWheel)\n eventTarget.removeEventListener('mouseleave', handleMouseLeave)\n eventTarget.removeEventListener('contextmenu', handleContextMenu)\n\n if (target !== window) {\n window.removeEventListener('mouseup', handleMouseUp)\n }\n },\n }\n}\n\n/** Mouse button constants */\nexport const MouseButton = {\n Left: 0,\n Middle: 1,\n Right: 2,\n} as const\n"]}
1
+ {"version":3,"sources":["../src/interactive/loop.ts","../src/interactive/keyboard.ts","../src/interactive/mouse.ts"],"names":["createLoop","options","fixedFps","onUpdate","onFixedUpdate","onRender","fixedDelta","running","rafId","lastTime","accumulator","fps","frameCount","fpsTime","isFirstFrame","loop","currentTime","time","delta","alpha","keyboard","target","keys","signal","justPressed","justReleased","normalizeKey","key","handleKeyDown","e","newKeys","handleKeyUp","handleBlur","Keys","mouse","canvas","position","wheelDelta","buttons","lastX","lastY","frameDeltaX","frameDeltaY","frameWheelDelta","getCanvasCoordinates","event","rect","scaleX","scaleY","handleMouseMove","coords","handleMouseDown","newButtons","handleMouseUp","handleWheel","handleMouseLeave","handleContextMenu","_e","eventTarget","button","MouseButton"],"mappings":"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","file":"interactive.mjs","sourcesContent":["/**\n * Loop - Core animation/game loop implementation with delta time and fixed timestep\n */\n\nexport interface LoopOptions {\n /** Target FPS for fixed update (default: 60) */\n fixedFps?: number\n /** Called every frame with delta time in seconds */\n onUpdate?: (delta: number) => void\n /** Called at fixed intervals (for physics) */\n onFixedUpdate?: (fixedDelta: number) => void\n /** Called every frame for rendering */\n onRender?: (alpha: number) => void\n}\n\nexport interface Loop {\n /** Start the loop */\n start(): void\n /** Stop the loop */\n stop(): void\n /** Check if loop is running */\n isRunning(): boolean\n /** Get current FPS */\n getFps(): number\n}\n\n/**\n * Create an animation loop with delta time and optional fixed timestep\n */\nexport function createLoop(options: LoopOptions = {}): Loop {\n const { fixedFps = 60, onUpdate, onFixedUpdate, onRender } = options\n\n const fixedDelta = 1 / fixedFps\n let running = false\n let rafId: number | undefined\n let lastTime = 0\n let accumulator = 0\n let fps = 0\n let frameCount = 0\n let fpsTime = 0\n let isFirstFrame = true\n\n function loop(currentTime: number): void {\n if (!running) return\n\n rafId = requestAnimationFrame(loop)\n\n // Convert to seconds\n const time = currentTime / 1000\n\n // Initialize lastTime on first frame and skip processing\n if (isFirstFrame) {\n lastTime = time\n isFirstFrame = false\n return\n }\n\n const delta = Math.min(time - lastTime, 0.25) // Cap at 250ms\n lastTime = time\n\n // FPS counter\n frameCount++\n fpsTime += delta\n if (fpsTime >= 1) {\n fps = frameCount\n frameCount = 0\n fpsTime -= 1\n }\n\n // Variable update\n if (onUpdate) {\n onUpdate(delta)\n }\n\n // Fixed update (for physics)\n if (onFixedUpdate) {\n accumulator += delta\n\n while (accumulator >= fixedDelta) {\n onFixedUpdate(fixedDelta)\n accumulator -= fixedDelta\n }\n }\n\n // Render with interpolation alpha\n if (onRender) {\n const alpha = onFixedUpdate ? accumulator / fixedDelta : 1\n onRender(alpha)\n }\n }\n\n return {\n start() {\n if (running) return\n running = true\n isFirstFrame = true\n accumulator = 0\n rafId = requestAnimationFrame(loop)\n },\n\n stop() {\n running = false\n if (rafId !== undefined) {\n cancelAnimationFrame(rafId)\n rafId = undefined\n }\n },\n\n isRunning() {\n return running\n },\n\n getFps() {\n return fps\n },\n }\n}\n","/**\n * keyboard - Reactive keyboard input handler\n *\n * Creates a keyboard input handler with reactive signals.\n * Philosophy: No hooks, just factory functions that return signal-based state.\n */\n\nimport { signal, type Signal } from '../core/signal'\n\nexport interface KeyboardState {\n /** Check if a key is currently pressed */\n isPressed(key: string): boolean\n /** Check if a key was just pressed this frame */\n isJustPressed(key: string): boolean\n /** Check if a key was just released this frame */\n isJustReleased(key: string): boolean\n /** Get all currently pressed keys */\n getPressedKeys(): string[]\n /** Signal that updates when any key state changes */\n readonly keys: Signal<Set<string>>\n /** Clear just pressed/released state (call at end of frame) */\n clearFrameState(): void\n /** Cleanup event listeners */\n dispose(): void\n}\n\n/**\n * Create a keyboard input handler with reactive state\n *\n * @example\n * ```tsx\n * const kb = keyboard()\n *\n * effect(() => {\n * if (kb.isPressed(Keys.ArrowUp)) {\n * player.y -= speed\n * }\n * })\n * ```\n */\nexport function keyboard(target: EventTarget = window): KeyboardState {\n const keys = signal<Set<string>>(new Set())\n const justPressed = new Set<string>()\n const justReleased = new Set<string>()\n\n function normalizeKey(key: string): string {\n return key.toLowerCase()\n }\n\n function handleKeyDown(e: Event): void {\n const event = e as KeyboardEvent\n const key = normalizeKey(event.code)\n\n if (!keys.value.has(key)) {\n justPressed.add(key)\n const newKeys = new Set(keys.value)\n newKeys.add(key)\n keys.value = newKeys\n }\n }\n\n function handleKeyUp(e: Event): void {\n const event = e as KeyboardEvent\n const key = normalizeKey(event.code)\n\n if (keys.value.has(key)) {\n justReleased.add(key)\n const newKeys = new Set(keys.value)\n newKeys.delete(key)\n keys.value = newKeys\n }\n }\n\n function handleBlur(): void {\n // Clear all keys when window loses focus\n keys.value = new Set()\n justPressed.clear()\n justReleased.clear()\n }\n\n // Add event listeners\n target.addEventListener('keydown', handleKeyDown)\n target.addEventListener('keyup', handleKeyUp)\n if (target === window) {\n target.addEventListener('blur', handleBlur)\n }\n\n return {\n isPressed(key: string): boolean {\n return keys.value.has(normalizeKey(key))\n },\n\n isJustPressed(key: string): boolean {\n return justPressed.has(normalizeKey(key))\n },\n\n isJustReleased(key: string): boolean {\n return justReleased.has(normalizeKey(key))\n },\n\n getPressedKeys(): string[] {\n return Array.from(keys.value)\n },\n\n get keys() {\n return keys\n },\n\n clearFrameState(): void {\n justPressed.clear()\n justReleased.clear()\n },\n\n dispose(): void {\n target.removeEventListener('keydown', handleKeyDown)\n target.removeEventListener('keyup', handleKeyUp)\n if (target === window) {\n target.removeEventListener('blur', handleBlur)\n }\n },\n }\n}\n\n/** Common key codes for convenience */\nexport const Keys = {\n // Arrow keys\n ArrowUp: 'arrowup',\n ArrowDown: 'arrowdown',\n ArrowLeft: 'arrowleft',\n ArrowRight: 'arrowright',\n\n // WASD\n KeyW: 'keyw',\n KeyA: 'keya',\n KeyS: 'keys',\n KeyD: 'keyd',\n\n // Common keys\n Space: 'space',\n Enter: 'enter',\n Escape: 'escape',\n ShiftLeft: 'shiftleft',\n ShiftRight: 'shiftright',\n ControlLeft: 'controlleft',\n ControlRight: 'controlright',\n AltLeft: 'altleft',\n AltRight: 'altright',\n Tab: 'tab',\n\n // Numbers\n Digit0: 'digit0',\n Digit1: 'digit1',\n Digit2: 'digit2',\n Digit3: 'digit3',\n Digit4: 'digit4',\n Digit5: 'digit5',\n Digit6: 'digit6',\n Digit7: 'digit7',\n Digit8: 'digit8',\n Digit9: 'digit9',\n} as const\n","/**\n * mouse - Reactive mouse input handler\n *\n * Creates a mouse input handler with reactive signals.\n * Philosophy: No hooks, just factory functions that return signal-based state.\n */\n\nimport { signal, type Signal } from '../core/signal'\n\nexport interface Vec2 {\n x: number\n y: number\n}\n\nexport interface MouseState {\n /** Current mouse position relative to target */\n readonly position: Signal<Vec2>\n /** Mouse position delta since last frame */\n readonly delta: Signal<Vec2>\n /** Check if a mouse button is pressed (0=left, 1=middle, 2=right) */\n isPressed(button: number): boolean\n /** Check if left mouse button is pressed */\n isLeftPressed(): boolean\n /** Check if right mouse button is pressed */\n isRightPressed(): boolean\n /** Check if middle mouse button is pressed */\n isMiddlePressed(): boolean\n /** Wheel delta (positive = scroll down) */\n readonly wheelDelta: Signal<number>\n /** Clear frame state (call at end of frame) */\n clearFrameState(): void\n /** Cleanup event listeners */\n dispose(): void\n}\n\nexport interface MouseOptions {\n /** Element to track mouse relative to (default: window) */\n target?: EventTarget\n /** Canvas element for coordinate calculation (if different from target) */\n canvas?: HTMLCanvasElement\n}\n\n/**\n * Create a mouse input handler with reactive state\n *\n * @example\n * ```tsx\n * const m = mouse()\n *\n * effect(() => {\n * console.log('Mouse at:', m.position.value)\n * if (m.isLeftPressed()) {\n * draw(m.position.value)\n * }\n * })\n * ```\n */\nexport function mouse(options: MouseOptions = {}): MouseState {\n const { target = window, canvas } = options\n\n const position = signal<Vec2>({ x: 0, y: 0 })\n const delta = signal<Vec2>({ x: 0, y: 0 })\n const wheelDelta = signal<number>(0)\n const buttons = signal<Set<number>>(new Set())\n\n let lastX = 0\n let lastY = 0\n let frameDeltaX = 0\n let frameDeltaY = 0\n let frameWheelDelta = 0\n\n function getCanvasCoordinates(event: MouseEvent): Vec2 {\n if (canvas) {\n const rect = canvas.getBoundingClientRect()\n const scaleX = canvas.width / rect.width\n const scaleY = canvas.height / rect.height\n return {\n x: (event.clientX - rect.left) * scaleX,\n y: (event.clientY - rect.top) * scaleY,\n }\n }\n return {\n x: event.clientX,\n y: event.clientY,\n }\n }\n\n function handleMouseMove(e: Event): void {\n const event = e as MouseEvent\n const coords = getCanvasCoordinates(event)\n\n frameDeltaX += coords.x - lastX\n frameDeltaY += coords.y - lastY\n lastX = coords.x\n lastY = coords.y\n\n position.value = coords\n delta.value = { x: frameDeltaX, y: frameDeltaY }\n }\n\n function handleMouseDown(e: Event): void {\n const event = e as MouseEvent\n const newButtons = new Set(buttons.value)\n newButtons.add(event.button)\n buttons.value = newButtons\n }\n\n function handleMouseUp(e: Event): void {\n const event = e as MouseEvent\n const newButtons = new Set(buttons.value)\n newButtons.delete(event.button)\n buttons.value = newButtons\n }\n\n function handleWheel(e: Event): void {\n const event = e as WheelEvent\n frameWheelDelta += Math.sign(event.deltaY)\n wheelDelta.value = frameWheelDelta\n }\n\n function handleMouseLeave(): void {\n buttons.value = new Set()\n }\n\n function handleContextMenu(_e: Event): void {\n // Prevent context menu in game contexts if needed\n // e.preventDefault()\n }\n\n // Add event listeners\n const eventTarget = canvas || target\n eventTarget.addEventListener('mousemove', handleMouseMove)\n eventTarget.addEventListener('mousedown', handleMouseDown)\n eventTarget.addEventListener('mouseup', handleMouseUp)\n eventTarget.addEventListener('wheel', handleWheel, { passive: true })\n eventTarget.addEventListener('mouseleave', handleMouseLeave)\n eventTarget.addEventListener('contextmenu', handleContextMenu)\n\n // Handle mouse up outside target\n if (target !== window) {\n window.addEventListener('mouseup', handleMouseUp)\n }\n\n return {\n get position() {\n return position\n },\n\n get delta() {\n return delta\n },\n\n get wheelDelta() {\n return wheelDelta\n },\n\n isPressed(button: number): boolean {\n return buttons.value.has(button)\n },\n\n isLeftPressed(): boolean {\n return buttons.value.has(0)\n },\n\n isRightPressed(): boolean {\n return buttons.value.has(2)\n },\n\n isMiddlePressed(): boolean {\n return buttons.value.has(1)\n },\n\n clearFrameState(): void {\n frameDeltaX = 0\n frameDeltaY = 0\n frameWheelDelta = 0\n delta.value = { x: 0, y: 0 }\n wheelDelta.value = 0\n },\n\n dispose(): void {\n eventTarget.removeEventListener('mousemove', handleMouseMove)\n eventTarget.removeEventListener('mousedown', handleMouseDown)\n eventTarget.removeEventListener('mouseup', handleMouseUp)\n eventTarget.removeEventListener('wheel', handleWheel)\n eventTarget.removeEventListener('mouseleave', handleMouseLeave)\n eventTarget.removeEventListener('contextmenu', handleContextMenu)\n\n if (target !== window) {\n window.removeEventListener('mouseup', handleMouseUp)\n }\n },\n }\n}\n\n/** Mouse button constants */\nexport const MouseButton = {\n Left: 0,\n Middle: 1,\n Right: 2,\n} as const\n"]}
@@ -1 +1 @@
1
- {"inputs":{"src/index.ts":{"bytes":713,"imports":[],"format":"esm"},"src/core/errors.ts":{"bytes":9250,"imports":[],"format":"esm"},"src/core/signal.ts":{"bytes":17614,"imports":[{"path":"src/core/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/core/state.ts":{"bytes":20185,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./signal"}],"format":"esm"},"src/core/context.ts":{"bytes":2106,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./signal"}],"format":"esm"},"src/core.ts":{"bytes":628,"imports":[{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/context.ts","kind":"import-statement","original":"./core/context"}],"format":"esm"},"src/devtools/index.ts":{"bytes":6896,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"},{"path":"src/core/errors.ts","kind":"import-statement","original":"../core/errors"}],"format":"esm"},"src/advanced.ts":{"bytes":446,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/devtools/index.ts","kind":"import-statement","original":"./devtools"}],"format":"esm"},"src/renderers/dom/events.ts":{"bytes":3298,"imports":[{"path":"src/core/errors.ts","kind":"import-statement","original":"../../core/errors"}],"format":"esm"},"src/renderers/dom/index.ts":{"bytes":15303,"imports":[{"path":"src/renderers/dom/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/core/fnode.ts":{"bytes":431,"imports":[],"format":"esm"},"src/renderers/dom/f.ts":{"bytes":2385,"imports":[{"path":"src/core/fnode.ts","kind":"import-statement","original":"../../core/fnode"}],"format":"esm"},"src/renderers/dom/node-map.ts":{"bytes":885,"imports":[],"format":"esm"},"src/renderers/dom/reconcile.ts":{"bytes":4999,"imports":[{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/renderers/dom/node-map.ts","kind":"import-statement","original":"./node-map"}],"format":"esm"},"src/primitives/List/List.ts":{"bytes":11145,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/primitives/List/index.ts":{"bytes":239,"imports":[{"path":"src/primitives/List/List.ts","kind":"import-statement","original":"./List"}],"format":"esm"},"src/renderers/dom/reactive.ts":{"bytes":19408,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/core/context.ts","kind":"import-statement","original":"../../core/context"},{"path":"src/renderers/dom/reconcile.ts","kind":"import-statement","original":"./reconcile"},{"path":"src/core/state.ts","kind":"import-statement","original":"../../core/state"},{"path":"src/primitives/List/index.ts","kind":"import-statement","original":"../../primitives/List"},{"path":"src/core/errors.ts","kind":"import-statement","original":"../../core/errors"},{"path":"src/renderers/dom/node-map.ts","kind":"import-statement","original":"./node-map"}],"format":"esm"},"src/renderers/dom/render.ts":{"bytes":6855,"imports":[{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"}],"format":"esm"},"src/renderers/dom/portal.ts":{"bytes":1310,"imports":[{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/renderers/dom/hydrate.ts":{"bytes":7608,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/dom.ts":{"bytes":668,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./renderers/dom"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./renderers/dom/f"},{"path":"src/renderers/dom/render.ts","kind":"import-statement","original":"./renderers/dom/render"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./renderers/dom/reactive"},{"path":"src/renderers/dom/portal.ts","kind":"import-statement","original":"./renderers/dom/portal"},{"path":"src/renderers/dom/hydrate.ts","kind":"import-statement","original":"./renderers/dom/hydrate"}],"format":"esm"},"src/primitives/utils.ts":{"bytes":5385,"imports":[],"format":"esm"},"src/primitives/canvas/utils.ts":{"bytes":899,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/primitives/canvas/renderer.ts":{"bytes":5699,"imports":[{"path":"src/primitives/canvas/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/canvas/Canvas.ts":{"bytes":3136,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/primitives/canvas/renderer.ts","kind":"import-statement","original":"./renderer"},{"path":"src/core/signal.ts","kind":"dynamic-import","original":"../../core/signal"}],"format":"esm"},"src/primitives/canvas/DrawRect.ts":{"bytes":363,"imports":[],"format":"esm"},"src/primitives/canvas/DrawCircle.ts":{"bytes":361,"imports":[],"format":"esm"},"src/primitives/canvas/DrawArc.ts":{"bytes":376,"imports":[],"format":"esm"},"src/primitives/canvas/DrawLine.ts":{"bytes":373,"imports":[],"format":"esm"},"src/primitives/canvas/DrawPath.ts":{"bytes":361,"imports":[],"format":"esm"},"src/primitives/canvas/DrawText.ts":{"bytes":369,"imports":[],"format":"esm"},"src/canvas.ts":{"bytes":1435,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/primitives/canvas/Canvas.ts","kind":"import-statement","original":"./primitives/canvas/Canvas"},{"path":"src/primitives/canvas/DrawRect.ts","kind":"import-statement","original":"./primitives/canvas/DrawRect"},{"path":"src/primitives/canvas/DrawCircle.ts","kind":"import-statement","original":"./primitives/canvas/DrawCircle"},{"path":"src/primitives/canvas/DrawArc.ts","kind":"import-statement","original":"./primitives/canvas/DrawArc"},{"path":"src/primitives/canvas/DrawLine.ts","kind":"import-statement","original":"./primitives/canvas/DrawLine"},{"path":"src/primitives/canvas/DrawPath.ts","kind":"import-statement","original":"./primitives/canvas/DrawPath"},{"path":"src/primitives/canvas/DrawText.ts","kind":"import-statement","original":"./primitives/canvas/DrawText"},{"path":"src/primitives/canvas/renderer.ts","kind":"import-statement","original":"./primitives/canvas/renderer"},{"path":"src/primitives/canvas/utils.ts","kind":"import-statement","original":"./primitives/canvas/utils"}],"format":"esm"},"src/interactive/loop.ts":{"bytes":2512,"imports":[],"format":"esm"},"src/interactive/keyboard.ts":{"bytes":3772,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"}],"format":"esm"},"src/interactive/mouse.ts":{"bytes":5279,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"}],"format":"esm"},"src/interactive/index.ts":{"bytes":634,"imports":[{"path":"src/interactive/loop.ts","kind":"import-statement","original":"./loop"},{"path":"src/interactive/keyboard.ts","kind":"import-statement","original":"./keyboard"},{"path":"src/interactive/mouse.ts","kind":"import-statement","original":"./mouse"}],"format":"esm"},"src/interactive.ts":{"bytes":937,"imports":[{"path":"src/interactive/index.ts","kind":"import-statement","original":"./interactive/index"}],"format":"esm"},"src/primitives/layout/types.ts":{"bytes":9325,"imports":[],"format":"esm"},"src/primitives/layout/Row.ts":{"bytes":2890,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Column.ts":{"bytes":2919,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Spacer.ts":{"bytes":2213,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Grid.ts":{"bytes":2438,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Stack.ts":{"bytes":2923,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/index.ts":{"bytes":452,"imports":[{"path":"src/primitives/layout/Row.ts","kind":"import-statement","original":"./Row"},{"path":"src/primitives/layout/Column.ts","kind":"import-statement","original":"./Column"},{"path":"src/primitives/layout/Spacer.ts","kind":"import-statement","original":"./Spacer"},{"path":"src/primitives/layout/Grid.ts","kind":"import-statement","original":"./Grid"},{"path":"src/primitives/layout/Stack.ts","kind":"import-statement","original":"./Stack"},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/Text.ts":{"bytes":695,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/Image.ts":{"bytes":794,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/Pressable.ts":{"bytes":1214,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/ScrollView.ts":{"bytes":1246,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/canvas/index.ts":{"bytes":415,"imports":[{"path":"src/primitives/canvas/Canvas.ts","kind":"import-statement","original":"./Canvas"},{"path":"src/primitives/canvas/DrawRect.ts","kind":"import-statement","original":"./DrawRect"},{"path":"src/primitives/canvas/DrawCircle.ts","kind":"import-statement","original":"./DrawCircle"},{"path":"src/primitives/canvas/DrawPath.ts","kind":"import-statement","original":"./DrawPath"},{"path":"src/primitives/canvas/DrawText.ts","kind":"import-statement","original":"./DrawText"},{"path":"src/primitives/canvas/DrawLine.ts","kind":"import-statement","original":"./DrawLine"},{"path":"src/primitives/canvas/DrawArc.ts","kind":"import-statement","original":"./DrawArc"},{"path":"src/primitives/canvas/renderer.ts","kind":"import-statement","original":"./renderer"},{"path":"src/primitives/canvas/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives.ts":{"bytes":1382,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/primitives/layout/index.ts","kind":"import-statement","original":"./primitives/layout"},{"path":"src/primitives/Text.ts","kind":"import-statement","original":"./primitives/Text"},{"path":"src/primitives/Image.ts","kind":"import-statement","original":"./primitives/Image"},{"path":"src/primitives/Pressable.ts","kind":"import-statement","original":"./primitives/Pressable"},{"path":"src/primitives/ScrollView.ts","kind":"import-statement","original":"./primitives/ScrollView"},{"path":"src/primitives/canvas/index.ts","kind":"import-statement","original":"./primitives/canvas"},{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./primitives/utils"}],"format":"esm"},"src/primitives/motion/Motion.ts":{"bytes":9869,"imports":[],"format":"esm"},"src/primitives/motion/Transition.ts":{"bytes":8557,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"},{"path":"src/primitives/motion/Motion.ts","kind":"import-statement","original":"./Motion"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"}],"format":"esm"},"src/primitives/motion/index.ts":{"bytes":397,"imports":[{"path":"src/primitives/motion/Motion.ts","kind":"import-statement","original":"./Motion"},{"path":"src/primitives/motion/Transition.ts","kind":"import-statement","original":"./Transition"}],"format":"esm"},"src/primitives/ui/Button.ts":{"bytes":9465,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"},{"path":"src/core/errors.ts","kind":"import-statement","original":"../../core/errors"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"}],"format":"esm"},"src/primitives/ui/index.ts":{"bytes":197,"imports":[{"path":"src/primitives/ui/Button.ts","kind":"import-statement","original":"./Button"}],"format":"esm"},"src/jsx-runtime.ts":{"bytes":5281,"imports":[{"path":"src/core/fnode.ts","kind":"import-statement","original":"./core/fnode"}],"format":"esm"},"src/jsx-dev-runtime.ts":{"bytes":435,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"./jsx-runtime"}],"format":"esm"},"src/server/index.ts":{"bytes":2773,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"}],"format":"esm"},"src/router/types.ts":{"bytes":1298,"imports":[{"path":"../core/signal","kind":"import-statement","external":true}],"format":"esm"},"src/router/core.ts":{"bytes":5063,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"},{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/utils.ts":{"bytes":4139,"imports":[{"path":"./types","kind":"import-statement","external":true},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../renderers/dom/f"}],"format":"esm"},"src/router/context.ts":{"bytes":344,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/components.ts":{"bytes":4196,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"},{"path":"src/router/core.ts","kind":"import-statement","original":"./core"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"},{"path":"./types","kind":"import-statement","external":true},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../renderers/dom/f"},{"path":"src/router/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"}],"format":"esm"},"src/router/index.ts":{"bytes":76,"imports":[{"path":"src/router/types.ts","kind":"import-statement","original":"./types"},{"path":"src/router/core.ts","kind":"import-statement","original":"./core"},{"path":"src/router/components.ts","kind":"import-statement","original":"./components"}],"format":"esm"},"src/renderers/dom/exports.ts":{"bytes":585,"imports":[{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/render.ts","kind":"import-statement","original":"./render"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./f"}],"format":"esm"},"src/test-exports.ts":{"bytes":1003,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/core/context.ts","kind":"import-statement","original":"./core/context"},{"path":"src/router/core.ts","kind":"import-statement","original":"./router/core"},{"path":"src/router/components.ts","kind":"import-statement","original":"./router/components"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./renderers/dom/reactive"},{"path":"src/renderers/dom/exports.ts","kind":"import-statement","original":"./renderers/dom/exports"},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./renderers/dom/index"},{"path":"src/renderers/dom/portal.ts","kind":"import-statement","original":"./renderers/dom/portal"},{"path":"src/primitives/motion/index.ts","kind":"import-statement","original":"./primitives/motion"},{"path":"src/primitives/List/index.ts","kind":"import-statement","original":"./primitives/List"}],"format":"esm"}},"outputs":{"dist/primitives/ui.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":14044},"dist/primitives/ui.js":{"imports":[{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["Button","IconButton"],"entryPoint":"src/primitives/ui/index.ts","inputs":{"src/primitives/ui/Button.ts":{"bytesInOutput":2861},"src/primitives/ui/index.ts":{"bytesInOutput":0}},"bytes":3039},"dist/primitives/layout.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/primitives/layout.js":{"imports":[{"path":"dist/chunk-3P6DMEGB.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["Column","Grid","Row","Spacer","Stack","getBaseValue","mapAlignItems","mapJustifyContent","mergeStyles","stylePropsToCSS","toCSSValue"],"entryPoint":"src/primitives/layout/index.ts","inputs":{},"bytes":291},"dist/jsx-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-runtime.js":{"imports":[{"path":"dist/chunk-U6C6VDVZ.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["Fragment","jsx","jsxDEV","jsxs"],"entryPoint":"src/jsx-runtime.ts","inputs":{},"bytes":121},"dist/jsx-dev-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-dev-runtime.js":{"imports":[{"path":"dist/chunk-U6C6VDVZ.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["Fragment","jsx","jsxDEV","jsxs"],"entryPoint":"src/jsx-dev-runtime.ts","inputs":{"src/jsx-dev-runtime.ts":{"bytesInOutput":0}},"bytes":136},"dist/chunk-U6C6VDVZ.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":7052},"dist/chunk-U6C6VDVZ.js":{"imports":[{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/jsx-runtime.ts":{"bytesInOutput":679}},"bytes":749},"dist/server.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4791},"dist/server.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["renderToString"],"entryPoint":"src/server/index.ts","inputs":{"src/server/index.ts":{"bytesInOutput":1196}},"bytes":1265},"dist/router.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/router.js":{"imports":[{"path":"dist/chunk-V4K6WOXN.js","kind":"import-statement"},{"path":"dist/chunk-CNY6FPKJ.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["Link","Outlet","Route","Router","createLocation","isUnsafePath","matchPath","router","sanitizeQueryValue"],"entryPoint":"src/router/index.ts","inputs":{"src/router/index.ts":{"bytesInOutput":0}},"bytes":351},"dist/test-exports.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/test-exports.js":{"imports":[{"path":"dist/chunk-V4K6WOXN.js","kind":"import-statement"},{"path":"dist/chunk-REETNY2Z.js","kind":"import-statement"},{"path":"dist/chunk-CNY6FPKJ.js","kind":"import-statement"},{"path":"dist/chunk-I7UCVARB.js","kind":"import-statement"},{"path":"dist/chunk-DOGIWSDA.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["LIST_MARKER","Link","Outlet","Portal","Route","Router","batch","cleanupMotionState","computed","context","createContext","createLocation","createReactiveRoot","createResource","domRenderer","effect","f","isListComponent","isSignal","matchPath","onCleanup","onMount","render","root","router","signal","state","untrack"],"entryPoint":"src/test-exports.ts","inputs":{"src/test-exports.ts":{"bytesInOutput":0},"src/renderers/dom/exports.ts":{"bytesInOutput":0}},"bytes":867},"dist/chunk-V4K6WOXN.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":21304},"dist/chunk-V4K6WOXN.js":{"imports":[{"path":"dist/chunk-CNY6FPKJ.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i"],"inputs":{"src/router/core.ts":{"bytesInOutput":1260},"src/router/utils.ts":{"bytesInOutput":1056},"src/router/context.ts":{"bytesInOutput":21},"src/router/components.ts":{"bytesInOutput":1284}},"bytes":3834},"dist/signal-XZXQ4VYQ.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/signal-XZXQ4VYQ.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["batch","computed","createResource","effect","getOwner","isSignal","onCleanup","onMount","root","setDevToolsHooks","setOwner","signal","untrack"],"entryPoint":"src/core/signal.ts","inputs":{},"bytes":317},"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":878},"dist/index.js":{"imports":[],"exports":["VERSION"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":15}},"bytes":37},"dist/core.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/core.js":{"imports":[{"path":"dist/chunk-CNY6FPKJ.js","kind":"import-statement"},{"path":"dist/chunk-I7UCVARB.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["batch","context","createContext","effect","onCleanup","onMount","root","state","untrack"],"entryPoint":"src/core.ts","inputs":{"src/core.ts":{"bytesInOutput":0}},"bytes":288},"dist/advanced.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":10020},"dist/advanced.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["disableDevTools","enableDevTools","onCleanup","root","signal","untrack"],"entryPoint":"src/advanced.ts","inputs":{"src/advanced.ts":{"bytesInOutput":0},"src/devtools/index.ts":{"bytesInOutput":1551}},"bytes":1733},"dist/dom.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":11331},"dist/dom.js":{"imports":[{"path":"dist/chunk-REETNY2Z.js","kind":"import-statement"},{"path":"dist/chunk-CNY6FPKJ.js","kind":"import-statement"},{"path":"dist/chunk-I7UCVARB.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["DOMRenderer","Fragment","Portal","createReactiveRoot","createRoot","domRenderer","effect","f","hydrate","mountReactive","render","root","state"],"entryPoint":"src/dom.ts","inputs":{"src/dom.ts":{"bytesInOutput":0},"src/renderers/dom/hydrate.ts":{"bytesInOutput":2687}},"bytes":3159},"dist/chunk-REETNY2Z.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":90408},"dist/chunk-REETNY2Z.js":{"imports":[{"path":"dist/chunk-CNY6FPKJ.js","kind":"import-statement"},{"path":"dist/chunk-I7UCVARB.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i"],"inputs":{"src/renderers/dom/events.ts":{"bytesInOutput":740},"src/renderers/dom/index.ts":{"bytesInOutput":5807},"src/primitives/List/List.ts":{"bytesInOutput":3123},"src/primitives/List/index.ts":{"bytesInOutput":0},"src/renderers/dom/node-map.ts":{"bytesInOutput":78},"src/renderers/dom/reconcile.ts":{"bytesInOutput":1169},"src/renderers/dom/reactive.ts":{"bytesInOutput":4144},"src/renderers/dom/render.ts":{"bytesInOutput":74},"src/renderers/dom/portal.ts":{"bytesInOutput":202}},"bytes":15651},"dist/chunk-CNY6FPKJ.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2878},"dist/chunk-CNY6FPKJ.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/core/context.ts":{"bytesInOutput":289}},"bytes":359},"dist/canvas.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/canvas.js":{"imports":[{"path":"dist/chunk-GDBJ322I.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["Canvas","DrawArc","DrawCircle","DrawLine","DrawPath","DrawRect","DrawText","computed","effect","renderCanvasChildren","root","signal","unwrapSignal"],"entryPoint":"src/canvas.ts","inputs":{"src/canvas.ts":{"bytesInOutput":0}},"bytes":350},"dist/interactive.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17596},"dist/interactive.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["Keys","MouseButton","createLoop","keyboard","mouse"],"entryPoint":"src/interactive.ts","inputs":{"src/interactive/loop.ts":{"bytesInOutput":488},"src/interactive/index.ts":{"bytesInOutput":0},"src/interactive/keyboard.ts":{"bytesInOutput":1298},"src/interactive/mouse.ts":{"bytesInOutput":1491},"src/interactive.ts":{"bytesInOutput":0}},"bytes":3394},"dist/primitives.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":6383},"dist/primitives.js":{"imports":[{"path":"dist/chunk-3P6DMEGB.js","kind":"import-statement"},{"path":"dist/chunk-I7UCVARB.js","kind":"import-statement"},{"path":"dist/chunk-GDBJ322I.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["Canvas","Column","DrawArc","DrawCircle","DrawLine","DrawPath","DrawRect","DrawText","Grid","Image","Pressable","Row","ScrollView","Spacer","Stack","Text","effect","normalizeStyle","root","state"],"entryPoint":"src/primitives.ts","inputs":{"src/primitives.ts":{"bytesInOutput":0},"src/primitives/Text.ts":{"bytesInOutput":162},"src/primitives/Image.ts":{"bytesInOutput":219},"src/primitives/Pressable.ts":{"bytesInOutput":385},"src/primitives/ScrollView.ts":{"bytesInOutput":328},"src/primitives/canvas/index.ts":{"bytesInOutput":0}},"bytes":1654},"dist/chunk-3P6DMEGB.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":30564},"dist/chunk-3P6DMEGB.js":{"imports":[{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i","j","k"],"inputs":{"src/primitives/layout/types.ts":{"bytesInOutput":1384},"src/primitives/layout/Row.ts":{"bytesInOutput":529},"src/primitives/layout/index.ts":{"bytesInOutput":0},"src/primitives/layout/Column.ts":{"bytesInOutput":535},"src/primitives/layout/Spacer.ts":{"bytesInOutput":387},"src/primitives/layout/Grid.ts":{"bytesInOutput":479},"src/primitives/layout/Stack.ts":{"bytesInOutput":314}},"bytes":3754},"dist/chunk-I7UCVARB.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":26900},"dist/chunk-I7UCVARB.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f"],"inputs":{"src/core/state.ts":{"bytesInOutput":3235}},"bytes":3340},"dist/chunk-GDBJ322I.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27373},"dist/chunk-GDBJ322I.js":{"imports":[{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"},{"path":"dist/signal-XZXQ4VYQ.js","kind":"dynamic-import"}],"exports":["a","b","c","d","e","f","g","h","i","j"],"inputs":{"src/primitives/utils.ts":{"bytesInOutput":3403},"src/primitives/canvas/utils.ts":{"bytesInOutput":117},"src/primitives/canvas/renderer.ts":{"bytesInOutput":2032},"src/primitives/canvas/Canvas.ts":{"bytesInOutput":687},"src/primitives/canvas/DrawRect.ts":{"bytesInOutput":61},"src/primitives/canvas/DrawCircle.ts":{"bytesInOutput":63},"src/primitives/canvas/DrawArc.ts":{"bytesInOutput":60},"src/primitives/canvas/DrawLine.ts":{"bytesInOutput":61},"src/primitives/canvas/DrawPath.ts":{"bytesInOutput":61},"src/primitives/canvas/DrawText.ts":{"bytesInOutput":61}},"bytes":6725},"dist/primitives/motion.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/primitives/motion.js":{"imports":[{"path":"dist/chunk-DOGIWSDA.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["MotionController","Transition","TransitionGroup","cleanupMotionState","transitions"],"entryPoint":"src/primitives/motion/index.ts","inputs":{},"bytes":240},"dist/chunk-DOGIWSDA.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27516},"dist/chunk-DOGIWSDA.js":{"imports":[{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-ROYFUJN5.js","kind":"import-statement"}],"exports":["a","b","c","d","e"],"inputs":{"src/primitives/motion/Motion.ts":{"bytesInOutput":3286},"src/primitives/motion/index.ts":{"bytesInOutput":0},"src/primitives/motion/Transition.ts":{"bytesInOutput":2654}},"bytes":6064},"dist/chunk-Q7IWDVJ4.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":3354},"dist/chunk-Q7IWDVJ4.js":{"imports":[{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/renderers/dom/f.ts":{"bytesInOutput":356}},"bytes":426},"dist/chunk-WQFQO5LK.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":724},"dist/chunk-WQFQO5LK.js":{"imports":[],"exports":["a"],"inputs":{"src/core/fnode.ts":{"bytesInOutput":68}},"bytes":84},"dist/chunk-ROYFUJN5.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":37634},"dist/chunk-ROYFUJN5.js":{"imports":[],"exports":["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p"],"inputs":{"src/core/errors.ts":{"bytesInOutput":5167},"src/core/signal.ts":{"bytesInOutput":4344}},"bytes":9632}}}
1
+ {"inputs":{"src/index.ts":{"bytes":705,"imports":[],"format":"esm"},"src/core/errors.ts":{"bytes":9307,"imports":[],"format":"esm"},"src/core/graph.ts":{"bytes":6286,"imports":[],"format":"esm"},"src/core/owner.ts":{"bytes":2491,"imports":[],"format":"esm"},"src/core/sync.ts":{"bytes":2762,"imports":[{"path":"./graph","kind":"import-statement","external":true}],"format":"esm"},"src/core/effect.ts":{"bytes":4003,"imports":[{"path":"src/core/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/core/graph.ts","kind":"import-statement","original":"./graph"},{"path":"src/core/owner.ts","kind":"import-statement","original":"./owner"}],"format":"esm"},"src/core/signal.ts":{"bytes":18159,"imports":[{"path":"src/core/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/core/graph.ts","kind":"import-statement","original":"./graph"},{"path":"src/core/owner.ts","kind":"import-statement","original":"./owner"},{"path":"src/core/sync.ts","kind":"import-statement","original":"./sync"},{"path":"src/core/effect.ts","kind":"import-statement","original":"./effect"},{"path":"src/core/effect.ts","kind":"import-statement","original":"./effect"},{"path":"src/core/owner.ts","kind":"import-statement","original":"./owner"}],"format":"esm"},"src/core/state.ts":{"bytes":27323,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./signal"}],"format":"esm"},"src/core.ts":{"bytes":496,"imports":[{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"}],"format":"esm"},"src/devtools/index.ts":{"bytes":6896,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"},{"path":"src/core/errors.ts","kind":"import-statement","original":"../core/errors"}],"format":"esm"},"src/advanced.ts":{"bytes":563,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/owner.ts","kind":"import-statement","original":"./core/owner"},{"path":"src/core/sync.ts","kind":"import-statement","original":"./core/sync"},{"path":"src/devtools/index.ts","kind":"import-statement","original":"./devtools"}],"format":"esm"},"src/renderers/dom/events.ts":{"bytes":3298,"imports":[{"path":"src/core/errors.ts","kind":"import-statement","original":"../../core/errors"}],"format":"esm"},"src/renderers/dom/index.ts":{"bytes":15690,"imports":[{"path":"src/renderers/dom/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/core/fnode.ts":{"bytes":431,"imports":[],"format":"esm"},"src/renderers/dom/f.ts":{"bytes":2385,"imports":[{"path":"src/core/fnode.ts","kind":"import-statement","original":"../../core/fnode"}],"format":"esm"},"src/core/context.ts":{"bytes":2105,"imports":[{"path":"src/core/owner.ts","kind":"import-statement","original":"./owner"}],"format":"esm"},"src/renderers/dom/node-map.ts":{"bytes":885,"imports":[],"format":"esm"},"src/renderers/dom/reconcile.ts":{"bytes":9223,"imports":[{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/renderers/dom/node-map.ts","kind":"import-statement","original":"./node-map"}],"format":"esm"},"src/primitives/List/List.ts":{"bytes":11145,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/primitives/List/index.ts":{"bytes":239,"imports":[{"path":"src/primitives/List/List.ts","kind":"import-statement","original":"./List"}],"format":"esm"},"src/renderers/dom/reactive.ts":{"bytes":23677,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/core/context.ts","kind":"import-statement","original":"../../core/context"},{"path":"src/renderers/dom/reconcile.ts","kind":"import-statement","original":"./reconcile"},{"path":"src/core/state.ts","kind":"import-statement","original":"../../core/state"},{"path":"src/primitives/List/index.ts","kind":"import-statement","original":"../../primitives/List"},{"path":"src/core/errors.ts","kind":"import-statement","original":"../../core/errors"},{"path":"src/renderers/dom/node-map.ts","kind":"import-statement","original":"./node-map"}],"format":"esm"},"src/renderers/dom/render.ts":{"bytes":6855,"imports":[{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"}],"format":"esm"},"src/renderers/dom/portal.ts":{"bytes":1310,"imports":[{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/renderers/dom/hydrate.ts":{"bytes":7608,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/dom.ts":{"bytes":737,"imports":[{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./renderers/dom"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./renderers/dom/f"},{"path":"src/renderers/dom/render.ts","kind":"import-statement","original":"./renderers/dom/render"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./renderers/dom/reactive"},{"path":"src/renderers/dom/portal.ts","kind":"import-statement","original":"./renderers/dom/portal"},{"path":"src/renderers/dom/hydrate.ts","kind":"import-statement","original":"./renderers/dom/hydrate"}],"format":"esm"},"src/primitives/utils.ts":{"bytes":5385,"imports":[],"format":"esm"},"src/primitives/canvas/utils.ts":{"bytes":899,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"}],"format":"esm"},"src/primitives/canvas/renderer.ts":{"bytes":5699,"imports":[{"path":"src/primitives/canvas/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/canvas/Canvas.ts":{"bytes":3136,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/primitives/canvas/renderer.ts","kind":"import-statement","original":"./renderer"},{"path":"src/core/signal.ts","kind":"dynamic-import","original":"../../core/signal"}],"format":"esm"},"src/primitives/canvas/DrawRect.ts":{"bytes":363,"imports":[],"format":"esm"},"src/primitives/canvas/DrawCircle.ts":{"bytes":361,"imports":[],"format":"esm"},"src/primitives/canvas/DrawArc.ts":{"bytes":376,"imports":[],"format":"esm"},"src/primitives/canvas/DrawLine.ts":{"bytes":373,"imports":[],"format":"esm"},"src/primitives/canvas/DrawPath.ts":{"bytes":361,"imports":[],"format":"esm"},"src/primitives/canvas/DrawText.ts":{"bytes":369,"imports":[],"format":"esm"},"src/canvas.ts":{"bytes":1435,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/primitives/canvas/Canvas.ts","kind":"import-statement","original":"./primitives/canvas/Canvas"},{"path":"src/primitives/canvas/DrawRect.ts","kind":"import-statement","original":"./primitives/canvas/DrawRect"},{"path":"src/primitives/canvas/DrawCircle.ts","kind":"import-statement","original":"./primitives/canvas/DrawCircle"},{"path":"src/primitives/canvas/DrawArc.ts","kind":"import-statement","original":"./primitives/canvas/DrawArc"},{"path":"src/primitives/canvas/DrawLine.ts","kind":"import-statement","original":"./primitives/canvas/DrawLine"},{"path":"src/primitives/canvas/DrawPath.ts","kind":"import-statement","original":"./primitives/canvas/DrawPath"},{"path":"src/primitives/canvas/DrawText.ts","kind":"import-statement","original":"./primitives/canvas/DrawText"},{"path":"src/primitives/canvas/renderer.ts","kind":"import-statement","original":"./primitives/canvas/renderer"},{"path":"src/primitives/canvas/utils.ts","kind":"import-statement","original":"./primitives/canvas/utils"}],"format":"esm"},"src/interactive/loop.ts":{"bytes":2512,"imports":[],"format":"esm"},"src/interactive/keyboard.ts":{"bytes":3772,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"}],"format":"esm"},"src/interactive/mouse.ts":{"bytes":5279,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"}],"format":"esm"},"src/interactive/index.ts":{"bytes":634,"imports":[{"path":"src/interactive/loop.ts","kind":"import-statement","original":"./loop"},{"path":"src/interactive/keyboard.ts","kind":"import-statement","original":"./keyboard"},{"path":"src/interactive/mouse.ts","kind":"import-statement","original":"./mouse"}],"format":"esm"},"src/interactive.ts":{"bytes":937,"imports":[{"path":"src/interactive/index.ts","kind":"import-statement","original":"./interactive/index"}],"format":"esm"},"src/primitives/layout/types.ts":{"bytes":9325,"imports":[],"format":"esm"},"src/primitives/layout/Row.ts":{"bytes":2890,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Column.ts":{"bytes":2919,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Spacer.ts":{"bytes":2213,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Grid.ts":{"bytes":2438,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/Stack.ts":{"bytes":2923,"imports":[{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"},{"path":"../../core/renderer","kind":"import-statement","external":true},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/layout/index.ts":{"bytes":452,"imports":[{"path":"src/primitives/layout/Row.ts","kind":"import-statement","original":"./Row"},{"path":"src/primitives/layout/Column.ts","kind":"import-statement","original":"./Column"},{"path":"src/primitives/layout/Spacer.ts","kind":"import-statement","original":"./Spacer"},{"path":"src/primitives/layout/Grid.ts","kind":"import-statement","original":"./Grid"},{"path":"src/primitives/layout/Stack.ts","kind":"import-statement","original":"./Stack"},{"path":"src/primitives/layout/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/primitives/Text.ts":{"bytes":695,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/Image.ts":{"bytes":794,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/Pressable.ts":{"bytes":1214,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/ScrollView.ts":{"bytes":1246,"imports":[{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives/canvas/index.ts":{"bytes":415,"imports":[{"path":"src/primitives/canvas/Canvas.ts","kind":"import-statement","original":"./Canvas"},{"path":"src/primitives/canvas/DrawRect.ts","kind":"import-statement","original":"./DrawRect"},{"path":"src/primitives/canvas/DrawCircle.ts","kind":"import-statement","original":"./DrawCircle"},{"path":"src/primitives/canvas/DrawPath.ts","kind":"import-statement","original":"./DrawPath"},{"path":"src/primitives/canvas/DrawText.ts","kind":"import-statement","original":"./DrawText"},{"path":"src/primitives/canvas/DrawLine.ts","kind":"import-statement","original":"./DrawLine"},{"path":"src/primitives/canvas/DrawArc.ts","kind":"import-statement","original":"./DrawArc"},{"path":"src/primitives/canvas/renderer.ts","kind":"import-statement","original":"./renderer"},{"path":"src/primitives/canvas/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/primitives.ts":{"bytes":1382,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/primitives/layout/index.ts","kind":"import-statement","original":"./primitives/layout"},{"path":"src/primitives/Text.ts","kind":"import-statement","original":"./primitives/Text"},{"path":"src/primitives/Image.ts","kind":"import-statement","original":"./primitives/Image"},{"path":"src/primitives/Pressable.ts","kind":"import-statement","original":"./primitives/Pressable"},{"path":"src/primitives/ScrollView.ts","kind":"import-statement","original":"./primitives/ScrollView"},{"path":"src/primitives/canvas/index.ts","kind":"import-statement","original":"./primitives/canvas"},{"path":"src/primitives/utils.ts","kind":"import-statement","original":"./primitives/utils"}],"format":"esm"},"src/primitives/motion/Motion.ts":{"bytes":9869,"imports":[],"format":"esm"},"src/primitives/motion/Transition.ts":{"bytes":8557,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"},{"path":"src/primitives/motion/Motion.ts","kind":"import-statement","original":"./Motion"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"}],"format":"esm"},"src/primitives/motion/index.ts":{"bytes":397,"imports":[{"path":"src/primitives/motion/Motion.ts","kind":"import-statement","original":"./Motion"},{"path":"src/primitives/motion/Transition.ts","kind":"import-statement","original":"./Transition"}],"format":"esm"},"src/primitives/ui/Button.ts":{"bytes":9465,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../../core/signal"},{"path":"src/core/errors.ts","kind":"import-statement","original":"../../core/errors"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../../renderers/dom/f"}],"format":"esm"},"src/primitives/ui/index.ts":{"bytes":197,"imports":[{"path":"src/primitives/ui/Button.ts","kind":"import-statement","original":"./Button"}],"format":"esm"},"src/jsx-runtime.ts":{"bytes":5281,"imports":[{"path":"src/core/fnode.ts","kind":"import-statement","original":"./core/fnode"}],"format":"esm"},"src/jsx-dev-runtime.ts":{"bytes":435,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"./jsx-runtime"}],"format":"esm"},"src/server/index.ts":{"bytes":2773,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"}],"format":"esm"},"src/router/types.ts":{"bytes":1298,"imports":[{"path":"../core/signal","kind":"import-statement","external":true}],"format":"esm"},"src/router/core.ts":{"bytes":5063,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"},{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/utils.ts":{"bytes":4139,"imports":[{"path":"./types","kind":"import-statement","external":true},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../renderers/dom/f"}],"format":"esm"},"src/router/context.ts":{"bytes":344,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/components.ts":{"bytes":8646,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"../core/signal"},{"path":"src/router/core.ts","kind":"import-statement","original":"./core"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"},{"path":"./types","kind":"import-statement","external":true},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"../renderers/dom/f"},{"path":"src/router/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"}],"format":"esm"},"src/router/index.ts":{"bytes":175,"imports":[{"path":"src/router/types.ts","kind":"import-statement","original":"./types"},{"path":"src/router/core.ts","kind":"import-statement","original":"./core"},{"path":"src/router/components.ts","kind":"import-statement","original":"./components"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/router/core.ts","kind":"import-statement","original":"./core"}],"format":"esm"},"src/renderers/dom/exports.ts":{"bytes":585,"imports":[{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./index"},{"path":"src/renderers/dom/render.ts","kind":"import-statement","original":"./render"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/renderers/dom/f.ts","kind":"import-statement","original":"./f"}],"format":"esm"},"src/test-exports.ts":{"bytes":1018,"imports":[{"path":"src/core/signal.ts","kind":"import-statement","original":"./core/signal"},{"path":"src/core/sync.ts","kind":"import-statement","original":"./core/sync"},{"path":"src/core/state.ts","kind":"import-statement","original":"./core/state"},{"path":"src/core/context.ts","kind":"import-statement","original":"./core/context"},{"path":"src/router/core.ts","kind":"import-statement","original":"./router/core"},{"path":"src/router/components.ts","kind":"import-statement","original":"./router/components"},{"path":"src/renderers/dom/reactive.ts","kind":"import-statement","original":"./renderers/dom/reactive"},{"path":"src/renderers/dom/exports.ts","kind":"import-statement","original":"./renderers/dom/exports"},{"path":"src/renderers/dom/index.ts","kind":"import-statement","original":"./renderers/dom/index"},{"path":"src/renderers/dom/portal.ts","kind":"import-statement","original":"./renderers/dom/portal"},{"path":"src/primitives/motion/index.ts","kind":"import-statement","original":"./primitives/motion"},{"path":"src/primitives/List/index.ts","kind":"import-statement","original":"./primitives/List"}],"format":"esm"}},"outputs":{"dist/primitives/ui.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":14044},"dist/primitives/ui.js":{"imports":[{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["Button","IconButton"],"entryPoint":"src/primitives/ui/index.ts","inputs":{"src/primitives/ui/Button.ts":{"bytesInOutput":2861},"src/primitives/ui/index.ts":{"bytesInOutput":0}},"bytes":3039},"dist/primitives/layout.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/primitives/layout.js":{"imports":[{"path":"dist/chunk-3P6DMEGB.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["Column","Grid","Row","Spacer","Stack","getBaseValue","mapAlignItems","mapJustifyContent","mergeStyles","stylePropsToCSS","toCSSValue"],"entryPoint":"src/primitives/layout/index.ts","inputs":{},"bytes":291},"dist/jsx-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-runtime.js":{"imports":[{"path":"dist/chunk-U6C6VDVZ.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["Fragment","jsx","jsxDEV","jsxs"],"entryPoint":"src/jsx-runtime.ts","inputs":{},"bytes":121},"dist/jsx-dev-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-dev-runtime.js":{"imports":[{"path":"dist/chunk-U6C6VDVZ.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["Fragment","jsx","jsxDEV","jsxs"],"entryPoint":"src/jsx-dev-runtime.ts","inputs":{"src/jsx-dev-runtime.ts":{"bytesInOutput":0}},"bytes":136},"dist/chunk-U6C6VDVZ.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":7052},"dist/chunk-U6C6VDVZ.js":{"imports":[{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/jsx-runtime.ts":{"bytesInOutput":679}},"bytes":749},"dist/server.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4791},"dist/server.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["renderToString"],"entryPoint":"src/server/index.ts","inputs":{"src/server/index.ts":{"bytesInOutput":1196}},"bytes":1265},"dist/router.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/router.js":{"imports":[{"path":"dist/chunk-M4ANLZ6P.js","kind":"import-statement"},{"path":"dist/chunk-DFG62GKW.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["Link","Outlet","Route","Router","createLocation","createRoutesFromChildren","isUnsafePath","matchPath","matchRoutes","router","sanitizeQueryValue"],"entryPoint":"src/router/index.ts","inputs":{"src/router/index.ts":{"bytesInOutput":0}},"bytes":412},"dist/test-exports.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/test-exports.js":{"imports":[{"path":"dist/chunk-M4ANLZ6P.js","kind":"import-statement"},{"path":"dist/chunk-VIVO4FHN.js","kind":"import-statement"},{"path":"dist/chunk-DFG62GKW.js","kind":"import-statement"},{"path":"dist/chunk-RDA77IE6.js","kind":"import-statement"},{"path":"dist/chunk-JHJHIMWD.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["LIST_MARKER","Link","Outlet","Portal","Route","Router","cleanupMotionState","computed","context","createContext","createLocation","createReactiveRoot","createResource","domRenderer","effect","f","isListComponent","isSignal","matchPath","onCleanup","render","root","router","signal","state","sync","untrack"],"entryPoint":"src/test-exports.ts","inputs":{"src/test-exports.ts":{"bytesInOutput":0},"src/renderers/dom/exports.ts":{"bytesInOutput":0}},"bytes":846},"dist/chunk-M4ANLZ6P.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27078},"dist/chunk-M4ANLZ6P.js":{"imports":[{"path":"dist/chunk-DFG62GKW.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i","j","k"],"inputs":{"src/router/core.ts":{"bytesInOutput":1260},"src/router/utils.ts":{"bytesInOutput":1056},"src/router/context.ts":{"bytesInOutput":21},"src/router/components.ts":{"bytesInOutput":2098}},"bytes":4665},"dist/signal-3YZHUCLL.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/signal-3YZHUCLL.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["computed","createResource","effect","isSignal","onCleanup","root","setDevToolsHooks","signal","untrack"],"entryPoint":"src/core/signal.ts","inputs":{},"bytes":237},"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":870},"dist/index.js":{"imports":[],"exports":["VERSION"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":14}},"bytes":36},"dist/core.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/core.js":{"imports":[{"path":"dist/chunk-RDA77IE6.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["effect","equals","isStateValue","isTruthy","ref","state"],"entryPoint":"src/core.ts","inputs":{"src/core.ts":{"bytesInOutput":0}},"bytes":193},"dist/advanced.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":10020},"dist/advanced.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["computed","disableDevTools","enableDevTools","root","signal","sync","untrack"],"entryPoint":"src/advanced.ts","inputs":{"src/advanced.ts":{"bytesInOutput":0},"src/devtools/index.ts":{"bytesInOutput":1551}},"bytes":1744},"dist/dom.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":11331},"dist/dom.js":{"imports":[{"path":"dist/chunk-VIVO4FHN.js","kind":"import-statement"},{"path":"dist/chunk-DFG62GKW.js","kind":"import-statement"},{"path":"dist/chunk-RDA77IE6.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["DOMRenderer","Fragment","Portal","createReactiveRoot","createRoot","domRenderer","f","hydrate","mountReactive","render"],"entryPoint":"src/dom.ts","inputs":{"src/dom.ts":{"bytesInOutput":0},"src/renderers/dom/hydrate.ts":{"bytesInOutput":2687}},"bytes":3107},"dist/chunk-VIVO4FHN.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":103349},"dist/chunk-VIVO4FHN.js":{"imports":[{"path":"dist/chunk-DFG62GKW.js","kind":"import-statement"},{"path":"dist/chunk-RDA77IE6.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i"],"inputs":{"src/renderers/dom/events.ts":{"bytesInOutput":741},"src/renderers/dom/index.ts":{"bytesInOutput":5848},"src/primitives/List/List.ts":{"bytesInOutput":3119},"src/primitives/List/index.ts":{"bytesInOutput":0},"src/renderers/dom/node-map.ts":{"bytesInOutput":78},"src/renderers/dom/reconcile.ts":{"bytesInOutput":2218},"src/renderers/dom/reactive.ts":{"bytesInOutput":4909},"src/renderers/dom/render.ts":{"bytesInOutput":74},"src/renderers/dom/portal.ts":{"bytesInOutput":202}},"bytes":17506},"dist/chunk-DFG62GKW.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2877},"dist/chunk-DFG62GKW.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/core/context.ts":{"bytesInOutput":289}},"bytes":359},"dist/canvas.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/canvas.js":{"imports":[{"path":"dist/chunk-L4C5UBOX.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["Canvas","DrawArc","DrawCircle","DrawLine","DrawPath","DrawRect","DrawText","computed","effect","renderCanvasChildren","root","signal","unwrapSignal"],"entryPoint":"src/canvas.ts","inputs":{"src/canvas.ts":{"bytesInOutput":0}},"bytes":350},"dist/interactive.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17596},"dist/interactive.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["Keys","MouseButton","createLoop","keyboard","mouse"],"entryPoint":"src/interactive.ts","inputs":{"src/interactive/loop.ts":{"bytesInOutput":488},"src/interactive/index.ts":{"bytesInOutput":0},"src/interactive/keyboard.ts":{"bytesInOutput":1298},"src/interactive/mouse.ts":{"bytesInOutput":1491},"src/interactive.ts":{"bytesInOutput":0}},"bytes":3394},"dist/primitives.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":6383},"dist/primitives.js":{"imports":[{"path":"dist/chunk-3P6DMEGB.js","kind":"import-statement"},{"path":"dist/chunk-RDA77IE6.js","kind":"import-statement"},{"path":"dist/chunk-L4C5UBOX.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["Canvas","Column","DrawArc","DrawCircle","DrawLine","DrawPath","DrawRect","DrawText","Grid","Image","Pressable","Row","ScrollView","Spacer","Stack","Text","effect","normalizeStyle","root","state"],"entryPoint":"src/primitives.ts","inputs":{"src/primitives.ts":{"bytesInOutput":0},"src/primitives/Text.ts":{"bytesInOutput":162},"src/primitives/Image.ts":{"bytesInOutput":219},"src/primitives/Pressable.ts":{"bytesInOutput":385},"src/primitives/ScrollView.ts":{"bytesInOutput":328},"src/primitives/canvas/index.ts":{"bytesInOutput":0}},"bytes":1649},"dist/chunk-3P6DMEGB.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":30564},"dist/chunk-3P6DMEGB.js":{"imports":[{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i","j","k"],"inputs":{"src/primitives/layout/types.ts":{"bytesInOutput":1384},"src/primitives/layout/Row.ts":{"bytesInOutput":529},"src/primitives/layout/index.ts":{"bytesInOutput":0},"src/primitives/layout/Column.ts":{"bytesInOutput":535},"src/primitives/layout/Spacer.ts":{"bytesInOutput":387},"src/primitives/layout/Grid.ts":{"bytesInOutput":479},"src/primitives/layout/Stack.ts":{"bytesInOutput":314}},"bytes":3754},"dist/chunk-RDA77IE6.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":35624},"dist/chunk-RDA77IE6.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["a","b","c","d","e","f","g","h","i"],"inputs":{"src/core/state.ts":{"bytesInOutput":3875}},"bytes":4001},"dist/chunk-L4C5UBOX.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27373},"dist/chunk-L4C5UBOX.js":{"imports":[{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"},{"path":"dist/signal-3YZHUCLL.js","kind":"dynamic-import"}],"exports":["a","b","c","d","e","f","g","h","i","j"],"inputs":{"src/primitives/utils.ts":{"bytesInOutput":3403},"src/primitives/canvas/utils.ts":{"bytesInOutput":117},"src/primitives/canvas/renderer.ts":{"bytesInOutput":2032},"src/primitives/canvas/Canvas.ts":{"bytesInOutput":687},"src/primitives/canvas/DrawRect.ts":{"bytesInOutput":61},"src/primitives/canvas/DrawCircle.ts":{"bytesInOutput":63},"src/primitives/canvas/DrawArc.ts":{"bytesInOutput":60},"src/primitives/canvas/DrawLine.ts":{"bytesInOutput":61},"src/primitives/canvas/DrawPath.ts":{"bytesInOutput":61},"src/primitives/canvas/DrawText.ts":{"bytesInOutput":61}},"bytes":6720},"dist/primitives/motion.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/primitives/motion.js":{"imports":[{"path":"dist/chunk-JHJHIMWD.js","kind":"import-statement"},{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["MotionController","Transition","TransitionGroup","cleanupMotionState","transitions"],"entryPoint":"src/primitives/motion/index.ts","inputs":{},"bytes":240},"dist/chunk-JHJHIMWD.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27516},"dist/chunk-JHJHIMWD.js":{"imports":[{"path":"dist/chunk-Q7IWDVJ4.js","kind":"import-statement"},{"path":"dist/chunk-YGMMJWAA.js","kind":"import-statement"}],"exports":["a","b","c","d","e"],"inputs":{"src/primitives/motion/Motion.ts":{"bytesInOutput":3286},"src/primitives/motion/index.ts":{"bytesInOutput":0},"src/primitives/motion/Transition.ts":{"bytesInOutput":2654}},"bytes":6064},"dist/chunk-Q7IWDVJ4.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":3354},"dist/chunk-Q7IWDVJ4.js":{"imports":[{"path":"dist/chunk-WQFQO5LK.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/renderers/dom/f.ts":{"bytesInOutput":356}},"bytes":426},"dist/chunk-WQFQO5LK.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":724},"dist/chunk-WQFQO5LK.js":{"imports":[],"exports":["a"],"inputs":{"src/core/fnode.ts":{"bytesInOutput":68}},"bytes":84},"dist/chunk-YGMMJWAA.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":57547},"dist/chunk-YGMMJWAA.js":{"imports":[],"exports":["a","b","c","d","e","f","g","h","i","j","k","l","m","n"],"inputs":{"src/core/errors.ts":{"bytesInOutput":5188},"src/core/graph.ts":{"bytesInOutput":912},"src/core/owner.ts":{"bytesInOutput":359},"src/core/sync.ts":{"bytesInOutput":431},"src/core/effect.ts":{"bytesInOutput":910},"src/core/signal.ts":{"bytesInOutput":3052}},"bytes":10964}}}