fraxel 0.1.0-alpha.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 (501) hide show
  1. package/dist/animation/easing.d.ts +29 -0
  2. package/dist/animation/easing.d.ts.map +1 -0
  3. package/dist/animation/easing.js +50 -0
  4. package/dist/animation/easing.js.map +1 -0
  5. package/dist/animation/index.d.ts +7 -0
  6. package/dist/animation/index.d.ts.map +1 -0
  7. package/dist/animation/index.js +7 -0
  8. package/dist/animation/index.js.map +1 -0
  9. package/dist/animation/multiple.d.ts +26 -0
  10. package/dist/animation/multiple.d.ts.map +1 -0
  11. package/dist/animation/multiple.js +27 -0
  12. package/dist/animation/multiple.js.map +1 -0
  13. package/dist/animation/properties.d.ts +30 -0
  14. package/dist/animation/properties.d.ts.map +1 -0
  15. package/dist/animation/properties.js +32 -0
  16. package/dist/animation/properties.js.map +1 -0
  17. package/dist/animation/sequences.d.ts +30 -0
  18. package/dist/animation/sequences.d.ts.map +1 -0
  19. package/dist/animation/sequences.js +50 -0
  20. package/dist/animation/sequences.js.map +1 -0
  21. package/dist/animation/sprite-sheet.d.ts +81 -0
  22. package/dist/animation/sprite-sheet.d.ts.map +1 -0
  23. package/dist/animation/sprite-sheet.js +103 -0
  24. package/dist/animation/sprite-sheet.js.map +1 -0
  25. package/dist/animation/tween.d.ts +78 -0
  26. package/dist/animation/tween.d.ts.map +1 -0
  27. package/dist/animation/tween.js +103 -0
  28. package/dist/animation/tween.js.map +1 -0
  29. package/dist/assets/index.d.ts +6 -0
  30. package/dist/assets/index.d.ts.map +1 -0
  31. package/dist/assets/index.js +5 -0
  32. package/dist/assets/index.js.map +1 -0
  33. package/dist/assets/load-sound.d.ts +17 -0
  34. package/dist/assets/load-sound.d.ts.map +1 -0
  35. package/dist/assets/load-sound.js +35 -0
  36. package/dist/assets/load-sound.js.map +1 -0
  37. package/dist/assets/load-texture.d.ts +12 -0
  38. package/dist/assets/load-texture.d.ts.map +1 -0
  39. package/dist/assets/load-texture.js +40 -0
  40. package/dist/assets/load-texture.js.map +1 -0
  41. package/dist/assets/loader.d.ts +59 -0
  42. package/dist/assets/loader.d.ts.map +1 -0
  43. package/dist/assets/loader.js +65 -0
  44. package/dist/assets/loader.js.map +1 -0
  45. package/dist/assets/texture.d.ts +36 -0
  46. package/dist/assets/texture.d.ts.map +1 -0
  47. package/dist/assets/texture.js +49 -0
  48. package/dist/assets/texture.js.map +1 -0
  49. package/dist/audio/audio-context.d.ts +14 -0
  50. package/dist/audio/audio-context.d.ts.map +1 -0
  51. package/dist/audio/audio-context.js +20 -0
  52. package/dist/audio/audio-context.js.map +1 -0
  53. package/dist/audio/index.d.ts +2 -0
  54. package/dist/audio/index.d.ts.map +1 -0
  55. package/dist/audio/index.js +2 -0
  56. package/dist/audio/index.js.map +1 -0
  57. package/dist/collision/broadphase/spatial-hash.d.ts +32 -0
  58. package/dist/collision/broadphase/spatial-hash.d.ts.map +1 -0
  59. package/dist/collision/broadphase/spatial-hash.js +87 -0
  60. package/dist/collision/broadphase/spatial-hash.js.map +1 -0
  61. package/dist/collision/collision-system.d.ts +52 -0
  62. package/dist/collision/collision-system.d.ts.map +1 -0
  63. package/dist/collision/collision-system.js +278 -0
  64. package/dist/collision/collision-system.js.map +1 -0
  65. package/dist/collision/events/collision-emitter.d.ts +38 -0
  66. package/dist/collision/events/collision-emitter.d.ts.map +1 -0
  67. package/dist/collision/events/collision-emitter.js +47 -0
  68. package/dist/collision/events/collision-emitter.js.map +1 -0
  69. package/dist/collision/index.d.ts +13 -0
  70. package/dist/collision/index.d.ts.map +1 -0
  71. package/dist/collision/index.js +11 -0
  72. package/dist/collision/index.js.map +1 -0
  73. package/dist/collision/narrowphase/detector.d.ts +26 -0
  74. package/dist/collision/narrowphase/detector.d.ts.map +1 -0
  75. package/dist/collision/narrowphase/detector.js +70 -0
  76. package/dist/collision/narrowphase/detector.js.map +1 -0
  77. package/dist/collision/narrowphase/shapes.d.ts +91 -0
  78. package/dist/collision/narrowphase/shapes.d.ts.map +1 -0
  79. package/dist/collision/narrowphase/shapes.js +52 -0
  80. package/dist/collision/narrowphase/shapes.js.map +1 -0
  81. package/dist/collision/physics/physics-body.d.ts +38 -0
  82. package/dist/collision/physics/physics-body.d.ts.map +1 -0
  83. package/dist/collision/physics/physics-body.js +53 -0
  84. package/dist/collision/physics/physics-body.js.map +1 -0
  85. package/dist/collision/physics/physics-system.d.ts +23 -0
  86. package/dist/collision/physics/physics-system.d.ts.map +1 -0
  87. package/dist/collision/physics/physics-system.js +86 -0
  88. package/dist/collision/physics/physics-system.js.map +1 -0
  89. package/dist/collision/physics/resolver.d.ts +16 -0
  90. package/dist/collision/physics/resolver.d.ts.map +1 -0
  91. package/dist/collision/physics/resolver.js +91 -0
  92. package/dist/collision/physics/resolver.js.map +1 -0
  93. package/dist/collision/types.d.ts +22 -0
  94. package/dist/collision/types.d.ts.map +1 -0
  95. package/dist/collision/types.js +2 -0
  96. package/dist/collision/types.js.map +1 -0
  97. package/dist/core/game-config.d.ts +34 -0
  98. package/dist/core/game-config.d.ts.map +1 -0
  99. package/dist/core/game-config.js +31 -0
  100. package/dist/core/game-config.js.map +1 -0
  101. package/dist/core/game.d.ts +86 -0
  102. package/dist/core/game.d.ts.map +1 -0
  103. package/dist/core/game.js +166 -0
  104. package/dist/core/game.js.map +1 -0
  105. package/dist/core/index.d.ts +6 -0
  106. package/dist/core/index.d.ts.map +1 -0
  107. package/dist/core/index.js +6 -0
  108. package/dist/core/index.js.map +1 -0
  109. package/dist/core/scene-manager.d.ts +28 -0
  110. package/dist/core/scene-manager.d.ts.map +1 -0
  111. package/dist/core/scene-manager.js +65 -0
  112. package/dist/core/scene-manager.js.map +1 -0
  113. package/dist/core/scene.d.ts +43 -0
  114. package/dist/core/scene.d.ts.map +1 -0
  115. package/dist/core/scene.js +48 -0
  116. package/dist/core/scene.js.map +1 -0
  117. package/dist/core/theme.d.ts +63 -0
  118. package/dist/core/theme.d.ts.map +1 -0
  119. package/dist/core/theme.js +59 -0
  120. package/dist/core/theme.js.map +1 -0
  121. package/dist/errors/animation.d.ts +24 -0
  122. package/dist/errors/animation.d.ts.map +1 -0
  123. package/dist/errors/animation.js +29 -0
  124. package/dist/errors/animation.js.map +1 -0
  125. package/dist/errors/assets.d.ts +34 -0
  126. package/dist/errors/assets.d.ts.map +1 -0
  127. package/dist/errors/assets.js +41 -0
  128. package/dist/errors/assets.js.map +1 -0
  129. package/dist/errors/base.d.ts +12 -0
  130. package/dist/errors/base.d.ts.map +1 -0
  131. package/dist/errors/base.js +15 -0
  132. package/dist/errors/base.js.map +1 -0
  133. package/dist/errors/env.d.ts +24 -0
  134. package/dist/errors/env.d.ts.map +1 -0
  135. package/dist/errors/env.js +29 -0
  136. package/dist/errors/env.js.map +1 -0
  137. package/dist/errors/hook.d.ts +46 -0
  138. package/dist/errors/hook.d.ts.map +1 -0
  139. package/dist/errors/hook.js +55 -0
  140. package/dist/errors/hook.js.map +1 -0
  141. package/dist/errors/index.d.ts +11 -0
  142. package/dist/errors/index.d.ts.map +1 -0
  143. package/dist/errors/index.js +11 -0
  144. package/dist/errors/index.js.map +1 -0
  145. package/dist/errors/jsx.d.ts +26 -0
  146. package/dist/errors/jsx.d.ts.map +1 -0
  147. package/dist/errors/jsx.js +45 -0
  148. package/dist/errors/jsx.js.map +1 -0
  149. package/dist/errors/lifecycle.d.ts +35 -0
  150. package/dist/errors/lifecycle.d.ts.map +1 -0
  151. package/dist/errors/lifecycle.js +42 -0
  152. package/dist/errors/lifecycle.js.map +1 -0
  153. package/dist/errors/math.d.ts +24 -0
  154. package/dist/errors/math.d.ts.map +1 -0
  155. package/dist/errors/math.js +34 -0
  156. package/dist/errors/math.js.map +1 -0
  157. package/dist/errors/node.d.ts +68 -0
  158. package/dist/errors/node.d.ts.map +1 -0
  159. package/dist/errors/node.js +87 -0
  160. package/dist/errors/node.js.map +1 -0
  161. package/dist/errors/scene.d.ts +35 -0
  162. package/dist/errors/scene.d.ts.map +1 -0
  163. package/dist/errors/scene.js +42 -0
  164. package/dist/errors/scene.js.map +1 -0
  165. package/dist/events/event.d.ts +106 -0
  166. package/dist/events/event.d.ts.map +1 -0
  167. package/dist/events/event.js +125 -0
  168. package/dist/events/event.js.map +1 -0
  169. package/dist/events/index.d.ts +2 -0
  170. package/dist/events/index.d.ts.map +1 -0
  171. package/dist/events/index.js +2 -0
  172. package/dist/events/index.js.map +1 -0
  173. package/dist/events/types.d.ts +20 -0
  174. package/dist/events/types.d.ts.map +1 -0
  175. package/dist/events/types.js +2 -0
  176. package/dist/events/types.js.map +1 -0
  177. package/dist/hooks/context.d.ts +15 -0
  178. package/dist/hooks/context.d.ts.map +1 -0
  179. package/dist/hooks/context.js +26 -0
  180. package/dist/hooks/context.js.map +1 -0
  181. package/dist/hooks/deriveds/by-nodes/index.d.ts +7 -0
  182. package/dist/hooks/deriveds/by-nodes/index.d.ts.map +1 -0
  183. package/dist/hooks/deriveds/by-nodes/index.js +7 -0
  184. package/dist/hooks/deriveds/by-nodes/index.js.map +1 -0
  185. package/dist/hooks/deriveds/by-nodes/use-animation.d.ts +44 -0
  186. package/dist/hooks/deriveds/by-nodes/use-animation.d.ts.map +1 -0
  187. package/dist/hooks/deriveds/by-nodes/use-animation.js +61 -0
  188. package/dist/hooks/deriveds/by-nodes/use-animation.js.map +1 -0
  189. package/dist/hooks/deriveds/by-nodes/use-audio.d.ts +33 -0
  190. package/dist/hooks/deriveds/by-nodes/use-audio.d.ts.map +1 -0
  191. package/dist/hooks/deriveds/by-nodes/use-audio.js +43 -0
  192. package/dist/hooks/deriveds/by-nodes/use-audio.js.map +1 -0
  193. package/dist/hooks/deriveds/by-nodes/use-clickable.d.ts +32 -0
  194. package/dist/hooks/deriveds/by-nodes/use-clickable.d.ts.map +1 -0
  195. package/dist/hooks/deriveds/by-nodes/use-clickable.js +43 -0
  196. package/dist/hooks/deriveds/by-nodes/use-clickable.js.map +1 -0
  197. package/dist/hooks/deriveds/by-nodes/use-collider.d.ts +35 -0
  198. package/dist/hooks/deriveds/by-nodes/use-collider.d.ts.map +1 -0
  199. package/dist/hooks/deriveds/by-nodes/use-collider.js +55 -0
  200. package/dist/hooks/deriveds/by-nodes/use-collider.js.map +1 -0
  201. package/dist/hooks/deriveds/by-nodes/use-ray-cast.d.ts +35 -0
  202. package/dist/hooks/deriveds/by-nodes/use-ray-cast.d.ts.map +1 -0
  203. package/dist/hooks/deriveds/by-nodes/use-ray-cast.js +47 -0
  204. package/dist/hooks/deriveds/by-nodes/use-ray-cast.js.map +1 -0
  205. package/dist/hooks/deriveds/by-nodes/use-timer.d.ts +34 -0
  206. package/dist/hooks/deriveds/by-nodes/use-timer.d.ts.map +1 -0
  207. package/dist/hooks/deriveds/by-nodes/use-timer.js +48 -0
  208. package/dist/hooks/deriveds/by-nodes/use-timer.js.map +1 -0
  209. package/dist/hooks/deriveds/index.d.ts +5 -0
  210. package/dist/hooks/deriveds/index.d.ts.map +1 -0
  211. package/dist/hooks/deriveds/index.js +5 -0
  212. package/dist/hooks/deriveds/index.js.map +1 -0
  213. package/dist/hooks/deriveds/use-condition.d.ts +37 -0
  214. package/dist/hooks/deriveds/use-condition.d.ts.map +1 -0
  215. package/dist/hooks/deriveds/use-condition.js +47 -0
  216. package/dist/hooks/deriveds/use-condition.js.map +1 -0
  217. package/dist/hooks/deriveds/use-match.d.ts +26 -0
  218. package/dist/hooks/deriveds/use-match.d.ts.map +1 -0
  219. package/dist/hooks/deriveds/use-match.js +38 -0
  220. package/dist/hooks/deriveds/use-match.js.map +1 -0
  221. package/dist/hooks/deriveds/use-partial-node.d.ts +22 -0
  222. package/dist/hooks/deriveds/use-partial-node.d.ts.map +1 -0
  223. package/dist/hooks/deriveds/use-partial-node.js +25 -0
  224. package/dist/hooks/deriveds/use-partial-node.js.map +1 -0
  225. package/dist/hooks/deriveds/use-when.d.ts +28 -0
  226. package/dist/hooks/deriveds/use-when.d.ts.map +1 -0
  227. package/dist/hooks/deriveds/use-when.js +35 -0
  228. package/dist/hooks/deriveds/use-when.js.map +1 -0
  229. package/dist/hooks/index.d.ts +16 -0
  230. package/dist/hooks/index.d.ts.map +1 -0
  231. package/dist/hooks/index.js +16 -0
  232. package/dist/hooks/index.js.map +1 -0
  233. package/dist/hooks/use-child.d.ts +24 -0
  234. package/dist/hooks/use-child.d.ts.map +1 -0
  235. package/dist/hooks/use-child.js +37 -0
  236. package/dist/hooks/use-child.js.map +1 -0
  237. package/dist/hooks/use-computed.d.ts +28 -0
  238. package/dist/hooks/use-computed.d.ts.map +1 -0
  239. package/dist/hooks/use-computed.js +41 -0
  240. package/dist/hooks/use-computed.js.map +1 -0
  241. package/dist/hooks/use-context.d.ts +58 -0
  242. package/dist/hooks/use-context.d.ts.map +1 -0
  243. package/dist/hooks/use-context.js +77 -0
  244. package/dist/hooks/use-context.js.map +1 -0
  245. package/dist/hooks/use-effect.d.ts +24 -0
  246. package/dist/hooks/use-effect.d.ts.map +1 -0
  247. package/dist/hooks/use-effect.js +63 -0
  248. package/dist/hooks/use-effect.js.map +1 -0
  249. package/dist/hooks/use-event.d.ts +29 -0
  250. package/dist/hooks/use-event.d.ts.map +1 -0
  251. package/dist/hooks/use-event.js +30 -0
  252. package/dist/hooks/use-event.js.map +1 -0
  253. package/dist/hooks/use-game.d.ts +17 -0
  254. package/dist/hooks/use-game.d.ts.map +1 -0
  255. package/dist/hooks/use-game.js +35 -0
  256. package/dist/hooks/use-game.js.map +1 -0
  257. package/dist/hooks/use-mount.d.ts +21 -0
  258. package/dist/hooks/use-mount.d.ts.map +1 -0
  259. package/dist/hooks/use-mount.js +33 -0
  260. package/dist/hooks/use-mount.js.map +1 -0
  261. package/dist/hooks/use-node.d.ts +42 -0
  262. package/dist/hooks/use-node.d.ts.map +1 -0
  263. package/dist/hooks/use-node.js +63 -0
  264. package/dist/hooks/use-node.js.map +1 -0
  265. package/dist/hooks/use-ref.d.ts +27 -0
  266. package/dist/hooks/use-ref.d.ts.map +1 -0
  267. package/dist/hooks/use-ref.js +33 -0
  268. package/dist/hooks/use-ref.js.map +1 -0
  269. package/dist/hooks/use-script.d.ts +33 -0
  270. package/dist/hooks/use-script.d.ts.map +1 -0
  271. package/dist/hooks/use-script.js +40 -0
  272. package/dist/hooks/use-script.js.map +1 -0
  273. package/dist/hooks/use-signal.d.ts +25 -0
  274. package/dist/hooks/use-signal.d.ts.map +1 -0
  275. package/dist/hooks/use-signal.js +36 -0
  276. package/dist/hooks/use-signal.js.map +1 -0
  277. package/dist/hooks/use-spawn.d.ts +27 -0
  278. package/dist/hooks/use-spawn.d.ts.map +1 -0
  279. package/dist/hooks/use-spawn.js +39 -0
  280. package/dist/hooks/use-spawn.js.map +1 -0
  281. package/dist/hooks/use-trigger.d.ts +51 -0
  282. package/dist/hooks/use-trigger.d.ts.map +1 -0
  283. package/dist/hooks/use-trigger.js +68 -0
  284. package/dist/hooks/use-trigger.js.map +1 -0
  285. package/dist/index.d.ts +11 -0
  286. package/dist/index.d.ts.map +1 -0
  287. package/dist/index.js +11 -0
  288. package/dist/index.js.map +1 -0
  289. package/dist/input/input.d.ts +46 -0
  290. package/dist/input/input.d.ts.map +1 -0
  291. package/dist/input/input.js +159 -0
  292. package/dist/input/input.js.map +1 -0
  293. package/dist/jsx/components/fragment.d.ts +3 -0
  294. package/dist/jsx/components/fragment.d.ts.map +1 -0
  295. package/dist/jsx/components/fragment.js +7 -0
  296. package/dist/jsx/components/fragment.js.map +1 -0
  297. package/dist/jsx/components/game.d.ts +21 -0
  298. package/dist/jsx/components/game.d.ts.map +1 -0
  299. package/dist/jsx/components/game.js +17 -0
  300. package/dist/jsx/components/game.js.map +1 -0
  301. package/dist/jsx/components/index.d.ts +5 -0
  302. package/dist/jsx/components/index.d.ts.map +1 -0
  303. package/dist/jsx/components/index.js +5 -0
  304. package/dist/jsx/components/index.js.map +1 -0
  305. package/dist/jsx/components/list.d.ts +88 -0
  306. package/dist/jsx/components/list.d.ts.map +1 -0
  307. package/dist/jsx/components/list.js +93 -0
  308. package/dist/jsx/components/list.js.map +1 -0
  309. package/dist/jsx/components/scene.d.ts +40 -0
  310. package/dist/jsx/components/scene.d.ts.map +1 -0
  311. package/dist/jsx/components/scene.js +20 -0
  312. package/dist/jsx/components/scene.js.map +1 -0
  313. package/dist/jsx/index.d.ts +5 -0
  314. package/dist/jsx/index.d.ts.map +1 -0
  315. package/dist/jsx/index.js +5 -0
  316. package/dist/jsx/index.js.map +1 -0
  317. package/dist/jsx/jsx.d.ts +3 -0
  318. package/dist/jsx/jsx.d.ts.map +1 -0
  319. package/dist/jsx/jsx.js +4 -0
  320. package/dist/jsx/jsx.js.map +1 -0
  321. package/dist/jsx/render/game.d.ts +41 -0
  322. package/dist/jsx/render/game.d.ts.map +1 -0
  323. package/dist/jsx/render/game.js +86 -0
  324. package/dist/jsx/render/game.js.map +1 -0
  325. package/dist/jsx/render/index.d.ts +3 -0
  326. package/dist/jsx/render/index.d.ts.map +1 -0
  327. package/dist/jsx/render/index.js +3 -0
  328. package/dist/jsx/render/index.js.map +1 -0
  329. package/dist/jsx/render/to-nodes.d.ts +10 -0
  330. package/dist/jsx/render/to-nodes.d.ts.map +1 -0
  331. package/dist/jsx/render/to-nodes.js +52 -0
  332. package/dist/jsx/render/to-nodes.js.map +1 -0
  333. package/dist/jsx/render/types/class-component.d.ts +4 -0
  334. package/dist/jsx/render/types/class-component.d.ts.map +1 -0
  335. package/dist/jsx/render/types/class-component.js +8 -0
  336. package/dist/jsx/render/types/class-component.js.map +1 -0
  337. package/dist/jsx/render/types/func-components.d.ts +4 -0
  338. package/dist/jsx/render/types/func-components.d.ts.map +1 -0
  339. package/dist/jsx/render/types/func-components.js +8 -0
  340. package/dist/jsx/render/types/func-components.js.map +1 -0
  341. package/dist/jsx/render/types/instrinsic-elements.d.ts +6 -0
  342. package/dist/jsx/render/types/instrinsic-elements.d.ts.map +1 -0
  343. package/dist/jsx/render/types/instrinsic-elements.js +41 -0
  344. package/dist/jsx/render/types/instrinsic-elements.js.map +1 -0
  345. package/dist/jsx/types.d.ts +41 -0
  346. package/dist/jsx/types.d.ts.map +1 -0
  347. package/dist/jsx/types.js +2 -0
  348. package/dist/jsx/types.js.map +1 -0
  349. package/dist/jsx/utils.d.ts +4 -0
  350. package/dist/jsx/utils.d.ts.map +1 -0
  351. package/dist/jsx/utils.js +15 -0
  352. package/dist/jsx/utils.js.map +1 -0
  353. package/dist/jsx-runtime.d.ts +6 -0
  354. package/dist/jsx-runtime.d.ts.map +1 -0
  355. package/dist/jsx-runtime.js +6 -0
  356. package/dist/jsx-runtime.js.map +1 -0
  357. package/dist/math/index.d.ts +3 -0
  358. package/dist/math/index.d.ts.map +1 -0
  359. package/dist/math/index.js +2 -0
  360. package/dist/math/index.js.map +1 -0
  361. package/dist/math/types.d.ts +13 -0
  362. package/dist/math/types.d.ts.map +1 -0
  363. package/dist/math/types.js +2 -0
  364. package/dist/math/types.js.map +1 -0
  365. package/dist/math/vector2.d.ts +145 -0
  366. package/dist/math/vector2.d.ts.map +1 -0
  367. package/dist/math/vector2.js +164 -0
  368. package/dist/math/vector2.js.map +1 -0
  369. package/dist/nodes/_node.d.ts +283 -0
  370. package/dist/nodes/_node.d.ts.map +1 -0
  371. package/dist/nodes/_node.js +371 -0
  372. package/dist/nodes/_node.js.map +1 -0
  373. package/dist/nodes/animation-player.d.ts +208 -0
  374. package/dist/nodes/animation-player.d.ts.map +1 -0
  375. package/dist/nodes/animation-player.js +249 -0
  376. package/dist/nodes/animation-player.js.map +1 -0
  377. package/dist/nodes/audio-player.d.ts +128 -0
  378. package/dist/nodes/audio-player.d.ts.map +1 -0
  379. package/dist/nodes/audio-player.js +173 -0
  380. package/dist/nodes/audio-player.js.map +1 -0
  381. package/dist/nodes/group.d.ts +55 -0
  382. package/dist/nodes/group.d.ts.map +1 -0
  383. package/dist/nodes/group.js +54 -0
  384. package/dist/nodes/group.js.map +1 -0
  385. package/dist/nodes/index.d.ts +8 -0
  386. package/dist/nodes/index.d.ts.map +1 -0
  387. package/dist/nodes/index.js +7 -0
  388. package/dist/nodes/index.js.map +1 -0
  389. package/dist/nodes/lib/enum.d.ts +42 -0
  390. package/dist/nodes/lib/enum.d.ts.map +1 -0
  391. package/dist/nodes/lib/enum.js +43 -0
  392. package/dist/nodes/lib/enum.js.map +1 -0
  393. package/dist/nodes/lib/index.d.ts +5 -0
  394. package/dist/nodes/lib/index.d.ts.map +1 -0
  395. package/dist/nodes/lib/index.js +5 -0
  396. package/dist/nodes/lib/index.js.map +1 -0
  397. package/dist/nodes/lib/registry.d.ts +43 -0
  398. package/dist/nodes/lib/registry.d.ts.map +1 -0
  399. package/dist/nodes/lib/registry.js +46 -0
  400. package/dist/nodes/lib/registry.js.map +1 -0
  401. package/dist/nodes/lib/types.d.ts +89 -0
  402. package/dist/nodes/lib/types.d.ts.map +1 -0
  403. package/dist/nodes/lib/types.js +2 -0
  404. package/dist/nodes/lib/types.js.map +1 -0
  405. package/dist/nodes/lib/utils.d.ts +35 -0
  406. package/dist/nodes/lib/utils.d.ts.map +1 -0
  407. package/dist/nodes/lib/utils.js +58 -0
  408. package/dist/nodes/lib/utils.js.map +1 -0
  409. package/dist/nodes/node2d/_node2d.d.ts +59 -0
  410. package/dist/nodes/node2d/_node2d.d.ts.map +1 -0
  411. package/dist/nodes/node2d/_node2d.js +57 -0
  412. package/dist/nodes/node2d/_node2d.js.map +1 -0
  413. package/dist/nodes/node2d/camera.d.ts +64 -0
  414. package/dist/nodes/node2d/camera.d.ts.map +1 -0
  415. package/dist/nodes/node2d/camera.js +72 -0
  416. package/dist/nodes/node2d/camera.js.map +1 -0
  417. package/dist/nodes/node2d/clickable.d.ts +96 -0
  418. package/dist/nodes/node2d/clickable.d.ts.map +1 -0
  419. package/dist/nodes/node2d/clickable.js +117 -0
  420. package/dist/nodes/node2d/clickable.js.map +1 -0
  421. package/dist/nodes/node2d/collider.d.ts +96 -0
  422. package/dist/nodes/node2d/collider.d.ts.map +1 -0
  423. package/dist/nodes/node2d/collider.js +116 -0
  424. package/dist/nodes/node2d/collider.js.map +1 -0
  425. package/dist/nodes/node2d/index.d.ts +12 -0
  426. package/dist/nodes/node2d/index.d.ts.map +1 -0
  427. package/dist/nodes/node2d/index.js +11 -0
  428. package/dist/nodes/node2d/index.js.map +1 -0
  429. package/dist/nodes/node2d/lib/index.d.ts +2 -0
  430. package/dist/nodes/node2d/lib/index.d.ts.map +1 -0
  431. package/dist/nodes/node2d/lib/index.js +2 -0
  432. package/dist/nodes/node2d/lib/index.js.map +1 -0
  433. package/dist/nodes/node2d/lib/utils.d.ts +4 -0
  434. package/dist/nodes/node2d/lib/utils.d.ts.map +1 -0
  435. package/dist/nodes/node2d/lib/utils.js +14 -0
  436. package/dist/nodes/node2d/lib/utils.js.map +1 -0
  437. package/dist/nodes/node2d/ray-cast.d.ts +115 -0
  438. package/dist/nodes/node2d/ray-cast.d.ts.map +1 -0
  439. package/dist/nodes/node2d/ray-cast.js +129 -0
  440. package/dist/nodes/node2d/ray-cast.js.map +1 -0
  441. package/dist/nodes/node2d/rectangle.d.ts +87 -0
  442. package/dist/nodes/node2d/rectangle.d.ts.map +1 -0
  443. package/dist/nodes/node2d/rectangle.js +60 -0
  444. package/dist/nodes/node2d/rectangle.js.map +1 -0
  445. package/dist/nodes/node2d/rigid-body.d.ts +65 -0
  446. package/dist/nodes/node2d/rigid-body.d.ts.map +1 -0
  447. package/dist/nodes/node2d/rigid-body.js +56 -0
  448. package/dist/nodes/node2d/rigid-body.js.map +1 -0
  449. package/dist/nodes/node2d/sprite.d.ts +285 -0
  450. package/dist/nodes/node2d/sprite.d.ts.map +1 -0
  451. package/dist/nodes/node2d/sprite.js +226 -0
  452. package/dist/nodes/node2d/sprite.js.map +1 -0
  453. package/dist/nodes/node2d/text.d.ts +62 -0
  454. package/dist/nodes/node2d/text.d.ts.map +1 -0
  455. package/dist/nodes/node2d/text.js +52 -0
  456. package/dist/nodes/node2d/text.js.map +1 -0
  457. package/dist/nodes/node2d/transform.d.ts +32 -0
  458. package/dist/nodes/node2d/transform.d.ts.map +1 -0
  459. package/dist/nodes/node2d/transform.js +30 -0
  460. package/dist/nodes/node2d/transform.js.map +1 -0
  461. package/dist/nodes/timer.d.ts +107 -0
  462. package/dist/nodes/timer.d.ts.map +1 -0
  463. package/dist/nodes/timer.js +108 -0
  464. package/dist/nodes/timer.js.map +1 -0
  465. package/dist/reactivity/index.d.ts +5 -0
  466. package/dist/reactivity/index.d.ts.map +1 -0
  467. package/dist/reactivity/index.js +5 -0
  468. package/dist/reactivity/index.js.map +1 -0
  469. package/dist/reactivity/reactive.d.ts +4 -0
  470. package/dist/reactivity/reactive.d.ts.map +1 -0
  471. package/dist/reactivity/reactive.js +50 -0
  472. package/dist/reactivity/reactive.js.map +1 -0
  473. package/dist/reactivity/register.d.ts +7 -0
  474. package/dist/reactivity/register.d.ts.map +1 -0
  475. package/dist/reactivity/register.js +18 -0
  476. package/dist/reactivity/register.js.map +1 -0
  477. package/dist/reactivity/signal.d.ts +126 -0
  478. package/dist/reactivity/signal.d.ts.map +1 -0
  479. package/dist/reactivity/signal.js +152 -0
  480. package/dist/reactivity/signal.js.map +1 -0
  481. package/dist/reactivity/types.d.ts +31 -0
  482. package/dist/reactivity/types.d.ts.map +1 -0
  483. package/dist/reactivity/types.js +2 -0
  484. package/dist/reactivity/types.js.map +1 -0
  485. package/dist/scripts/index.d.ts +2 -0
  486. package/dist/scripts/index.d.ts.map +1 -0
  487. package/dist/scripts/index.js +2 -0
  488. package/dist/scripts/index.js.map +1 -0
  489. package/dist/scripts/script.d.ts +80 -0
  490. package/dist/scripts/script.d.ts.map +1 -0
  491. package/dist/scripts/script.js +75 -0
  492. package/dist/scripts/script.js.map +1 -0
  493. package/dist/utils/dpr.d.ts +2 -0
  494. package/dist/utils/dpr.d.ts.map +1 -0
  495. package/dist/utils/dpr.js +14 -0
  496. package/dist/utils/dpr.js.map +1 -0
  497. package/dist/utils/ternaries.d.ts +6 -0
  498. package/dist/utils/ternaries.d.ts.map +1 -0
  499. package/dist/utils/ternaries.js +17 -0
  500. package/dist/utils/ternaries.js.map +1 -0
  501. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/jsx/components/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { Dinix } from '../types.js';
2
+ type Component = () => Dinix.Node;
3
+ export type SceneComponent = (() => Promise<Component | {
4
+ default: Component;
5
+ }>) | Component;
6
+ export type SceneOptions = {
7
+ /** **`Name`** of the Scene */
8
+ name: string;
9
+ /** The **`component`** attribute is a function or a promise that returns a function that returns a `Node`.
10
+ * @example
11
+ * **Without lazy loading**
12
+ * ```jsx
13
+ * <Scene name='main' component={MainScene} />
14
+ * ```
15
+ * **With lazy loading**
16
+ * ```jsx
17
+ * <Scene name='main' component={() => import('./scenes/main.js')} />
18
+ * ```
19
+ */
20
+ component: SceneComponent;
21
+ };
22
+ /**
23
+ * The **`Scene`** component is used to define a scene in the game. A scene is a collection of nodes that are rendered together. The `Scene` component takes a `name` and a `component` as props. The `name` is used to identify the scene, and the `component` is a function or a promise that returns a function that returns a `Node`. The `Node` returned by the `component` will be rendered when the scene is active.
24
+ *
25
+ * @example
26
+ * **Without lazy loading**
27
+ * ```jsx
28
+ * <Scene name='main' component={MainScene} />
29
+ * ```
30
+ * **With lazy loading**
31
+ * ```jsx
32
+ * <Scene name='main' component={() => import('./scenes/main.js')} />
33
+ * ```
34
+ *
35
+ * @param options The options for the scene, including the `name` and the `component`.
36
+ * @returns A `Scene` element that can be used in the `Game` component to define a scene.
37
+ */
38
+ export declare function Scene(_options: SceneOptions): null;
39
+ export {};
40
+ //# sourceMappingURL=scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,KAAK,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAA;AAEjC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,GAAG,SAAS,CAAA;AAE5F,MAAM,MAAM,YAAY,GAAG;IACzB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;;;OAUG;IACH,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAElD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The **`Scene`** component is used to define a scene in the game. A scene is a collection of nodes that are rendered together. The `Scene` component takes a `name` and a `component` as props. The `name` is used to identify the scene, and the `component` is a function or a promise that returns a function that returns a `Node`. The `Node` returned by the `component` will be rendered when the scene is active.
3
+ *
4
+ * @example
5
+ * **Without lazy loading**
6
+ * ```jsx
7
+ * <Scene name='main' component={MainScene} />
8
+ * ```
9
+ * **With lazy loading**
10
+ * ```jsx
11
+ * <Scene name='main' component={() => import('./scenes/main.js')} />
12
+ * ```
13
+ *
14
+ * @param options The options for the scene, including the `name` and the `component`.
15
+ * @returns A `Scene` element that can be used in the `Game` component to define a scene.
16
+ */
17
+ export function Scene(_options) {
18
+ return null;
19
+ }
20
+ //# sourceMappingURL=scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../src/jsx/components/scene.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,KAAK,CAAC,QAAsB;IAC1C,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,5 @@
1
+ import '../nodes/index.js';
2
+ export * from './types.js';
3
+ export * from './render/index.js';
4
+ export * from './components/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import '../nodes/index.js';
2
+ export * from './types.js';
3
+ export * from './render/index.js';
4
+ export * from './components/index.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Dinix } from './types.js';
2
+ export declare function jsx<T extends Dinix.Type>(type: T, props: Dinix.PropsOf<T>): Dinix.Element;
3
+ //# sourceMappingURL=jsx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,wBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAEzF"}
@@ -0,0 +1,4 @@
1
+ export function jsx(type, props) {
2
+ return { type, props };
3
+ }
4
+ //# sourceMappingURL=jsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/jsx/jsx.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,CAAuB,IAAO,EAAE,KAAuB;IACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { Dinix } from '../types.js';
2
+ import { Vector2 } from '../../math/vector2.js';
3
+ /** The **`createGame`** function creates the game and returns an object with control methods that can be used to play, pause the game, change the scene, etc...
4
+ *
5
+ * @example
6
+ * ```js
7
+ * const game = createGame(
8
+ * <Game width={150} height={75} defaultScene='main'>
9
+ * <Scene name='main' component={() => import('./scenes/main.js')} />
10
+ * </Game>,
11
+ * document.querySelector('#root')
12
+ * )
13
+ * ```
14
+ *
15
+ * @param jsx The jsx to create the game
16
+ * @param root Where the canvas will create
17
+ */
18
+ export declare function createGame(jsx: Dinix.Node, root: HTMLElement): GameControls;
19
+ export interface GameControls {
20
+ /**
21
+ * The **`play`** method starts the game.
22
+ */
23
+ play: () => void;
24
+ /**
25
+ * The **`pause`** method pauses the game.
26
+ */
27
+ pause: () => void;
28
+ /**
29
+ * The **`changeScene`** method sets and loads the scene.
30
+ */
31
+ changeScene: (name: string) => Promise<void>;
32
+ /**
33
+ * The **`preloadScene`** method preloads the scene while the Game is running and returns a function to set this scene when it is loaded.
34
+ */
35
+ preloadScene: (name: string) => Promise<() => void>;
36
+ /**
37
+ * The **`getSize`** method returns the size of the game screen as Vector2.
38
+ */
39
+ getSize: () => Vector2;
40
+ }
41
+ //# sourceMappingURL=game.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/jsx/render/game.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAWxC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,CAkD3E;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB;;OAEG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;OAEG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACnD;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAA;CACvB"}
@@ -0,0 +1,86 @@
1
+ import { Game } from '../components/game.js';
2
+ import { Game as GameP } from '../../core/game.js';
3
+ import { Scene as SceneP } from '../../core/scene.js';
4
+ import { getDinixElementFromNode, getDinixNodesFromNode } from '../utils.js';
5
+ import { Scene } from '../components/scene.js';
6
+ import { renderToNodes } from './to-nodes.js';
7
+ import { Node } from '../../nodes/_node.js';
8
+ import { InvalidGameElementError, InvalidSceneComponentError, MissingGameRootError, MissingSceneError, } from '../../errors/jsx.js';
9
+ import { Vector2 } from '../../math/vector2.js';
10
+ import { GameConfig } from '../../core/game-config.js';
11
+ /** The **`createGame`** function creates the game and returns an object with control methods that can be used to play, pause the game, change the scene, etc...
12
+ *
13
+ * @example
14
+ * ```js
15
+ * const game = createGame(
16
+ * <Game width={150} height={75} defaultScene='main'>
17
+ * <Scene name='main' component={() => import('./scenes/main.js')} />
18
+ * </Game>,
19
+ * document.querySelector('#root')
20
+ * )
21
+ * ```
22
+ *
23
+ * @param jsx The jsx to create the game
24
+ * @param root Where the canvas will create
25
+ */
26
+ export function createGame(jsx, root) {
27
+ if (root == null) {
28
+ throw new MissingGameRootError();
29
+ }
30
+ const jsxEl = getDinixElementFromNode(jsx);
31
+ if (jsxEl == null || jsxEl.type !== Game) {
32
+ throw new InvalidGameElementError();
33
+ }
34
+ const { children, defaultScene, ...setupOptions } = jsxEl.props;
35
+ GameP.setup({
36
+ ...setupOptions,
37
+ root,
38
+ });
39
+ const scenes = getDinixNodesFromNode(children);
40
+ for (const scene of scenes) {
41
+ const sceneEl = getDinixElementFromNode(scene);
42
+ if (sceneEl?.type !== Scene) {
43
+ throw new MissingSceneError();
44
+ }
45
+ const { name, component } = sceneEl.props;
46
+ GameP.sceneManager.addScene(name, new SceneP(async () => {
47
+ return await SceneComponentToNode(component);
48
+ }));
49
+ }
50
+ GameP.sceneManager.setScene(defaultScene);
51
+ GameP.play();
52
+ return {
53
+ play: () => GameP.play(),
54
+ pause: () => GameP.pause(),
55
+ changeScene: (name) => {
56
+ return GameP.sceneManager.setScene(name);
57
+ },
58
+ preloadScene: (name) => {
59
+ return GameP.sceneManager.preloadScene(name);
60
+ },
61
+ getSize() {
62
+ return new Vector2(GameConfig.width, GameConfig.height);
63
+ },
64
+ };
65
+ }
66
+ async function SceneComponentToNode(component) {
67
+ const node = await component();
68
+ let nodesRendered;
69
+ if (node == null || typeof node === 'string' || typeof node === 'number' || 'type' in node) {
70
+ nodesRendered = renderToNodes(node);
71
+ }
72
+ else if (typeof node === 'function') {
73
+ nodesRendered = renderToNodes(node());
74
+ }
75
+ else if ('default' in node) {
76
+ nodesRendered = renderToNodes(node.default());
77
+ }
78
+ else {
79
+ nodesRendered = renderToNodes(node);
80
+ }
81
+ if (nodesRendered.length !== 1 || !(nodesRendered[0] instanceof Node)) {
82
+ throw new InvalidSceneComponentError();
83
+ }
84
+ return nodesRendered[0];
85
+ }
86
+ //# sourceMappingURL=game.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/jsx/render/game.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,KAAK,EAA0C,MAAM,wBAAwB,CAAA;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,GAAe,EAAE,IAAiB;IAC3D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,oBAAoB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,uBAAuB,EAAE,CAAA;IACrC,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,KAAoB,CAAA;IAE9E,KAAK,CAAC,KAAK,CAAC;QACV,GAAG,YAAY;QACf,IAAI;KACL,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,iBAAiB,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,KAAqB,CAAA;QACzD,KAAK,CAAC,YAAY,CAAC,QAAQ,CACzB,IAAI,EACJ,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAC9C,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAEzC,KAAK,CAAC,IAAI,EAAE,CAAA;IAEZ,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;QAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,OAAO,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO;YACL,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC;KACF,CAAA;AACH,CAAC;AAyBD,KAAK,UAAU,oBAAoB,CAAC,SAAyB;IAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAA;IAE9B,IAAI,aAAqB,CAAA;IAEzB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QAC3F,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;SAAM,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,0BAA0B,EAAE,CAAA;IACxC,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './game.js';
2
+ export * from './to-nodes.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jsx/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './game.js';
2
+ export * from './to-nodes.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/jsx/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { Dinix } from '../types';
2
+ import type { NodeInstances } from '../../nodes/lib/types.js';
3
+ import type { PrimaryNode } from '../../nodes/lib/enum.js';
4
+ /**
5
+ * The **`renderToNodes`** function takes a JSX element and converts it into an array of nodes that can be rendered in the game. It handles intrinsic elements (like 'node') and functional components, recursively processing any children elements as well.
6
+ * @param jsx The JSX element to be rendered into nodes. This can be a string, number, intrinsic element, functional component, or an array of JSX elements.
7
+ * @returns An array of nodes that have been rendered from the provided JSX element. If the input is null or undefined, it returns an empty array. If the input is a string or number, it also returns an empty array, as these types are not directly renderable as nodes.
8
+ */
9
+ export declare function renderToNodes(jsx: Dinix.Node): NodeInstances[PrimaryNode][];
10
+ //# sourceMappingURL=to-nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-nodes.d.ts","sourceRoot":"","sources":["../../../src/jsx/render/to-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,EAAE,CA4B3E"}
@@ -0,0 +1,52 @@
1
+ import { getNode } from '../../nodes/lib/registry.js';
2
+ import { Node } from '../../nodes/_node.js';
3
+ import { applyIntrinsicAttributesToNode, isIntrinsicElement } from './types/instrinsic-elements.js';
4
+ import { InvalidJSXElementTypeError, UnknownIntrinsicElementError } from '../../errors/jsx.js';
5
+ import { finishHooks, startHooks } from '../../hooks/context.js';
6
+ import { isClassComponent } from './types/class-component.js';
7
+ /**
8
+ * The **`renderToNodes`** function takes a JSX element and converts it into an array of nodes that can be rendered in the game. It handles intrinsic elements (like 'node') and functional components, recursively processing any children elements as well.
9
+ * @param jsx The JSX element to be rendered into nodes. This can be a string, number, intrinsic element, functional component, or an array of JSX elements.
10
+ * @returns An array of nodes that have been rendered from the provided JSX element. If the input is null or undefined, it returns an empty array. If the input is a string or number, it also returns an empty array, as these types are not directly renderable as nodes.
11
+ */
12
+ export function renderToNodes(jsx) {
13
+ if (jsx == null)
14
+ return [];
15
+ if (typeof jsx === 'string')
16
+ return [];
17
+ if (typeof jsx === 'number')
18
+ return [];
19
+ if ('type' in jsx) {
20
+ if (typeof jsx.type === 'string') {
21
+ if (jsx.type === '') {
22
+ return renderToNodes(jsx.props.children); // Fragment
23
+ }
24
+ if (!isIntrinsicElement(jsx.type))
25
+ throw new UnknownIntrinsicElementError(jsx.type);
26
+ return [renderIntrinsicElement(jsx.type, jsx.props)];
27
+ }
28
+ if (typeof jsx.type === 'function') {
29
+ if (isClassComponent(jsx.type)) {
30
+ return [new jsx.type(jsx.props)].filter((node) => node instanceof Node);
31
+ }
32
+ return renderFuncComponent(jsx.type, jsx.props);
33
+ }
34
+ throw new InvalidJSXElementTypeError(jsx.type);
35
+ }
36
+ const arr = Array.from(jsx);
37
+ return arr.map((jsx) => renderToNodes(jsx)).flat();
38
+ }
39
+ function renderIntrinsicElement(nodeName, options) {
40
+ const node = getNode(nodeName, {
41
+ ...options,
42
+ children: renderToNodes(options.children),
43
+ });
44
+ return applyIntrinsicAttributesToNode(node, options);
45
+ }
46
+ function renderFuncComponent(func, props) {
47
+ startHooks();
48
+ const node = renderToNodes(func(props));
49
+ finishHooks(node);
50
+ return node;
51
+ }
52
+ //# sourceMappingURL=to-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-nodes.js","sourceRoot":"","sources":["../../../src/jsx/render/to-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnG,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAE9F,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAG7D;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAe;IAC3C,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IAE1B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IAEtC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBACpB,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA,CAAC,WAAW;YACtD,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnF,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACrC,CAAC,IAAI,EAAgB,EAAE,CAAC,IAAI,YAAY,IAAI,CACb,CAAA;YACnC,CAAC;YACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;QACD,MAAM,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE3B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACpD,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAW,EACX,OAAmC;IAEnC,MAAM,IAAI,GAAG,OAAO,CAAwB,QAAiC,EAAE;QAC7E,GAAI,OAA0D;QAC9D,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC1C,CAAqB,CAAA;IAEtB,OAAO,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAkC,IAAO,EAAE,KAAuB;IAC5F,UAAU,EAAE,CAAA;IACZ,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,WAAW,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function isClassComponent(obj: any): obj is ClassComponent;
2
+ type ClassComponent = new (...args: any[]) => any;
3
+ export {};
4
+ //# sourceMappingURL=class-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-component.d.ts","sourceRoot":"","sources":["../../../../src/jsx/render/types/class-component.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAIhE;AAED,KAAK,cAAc,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA"}
@@ -0,0 +1,8 @@
1
+ export function isClassComponent(obj) {
2
+ if (typeof obj !== 'function')
3
+ return false;
4
+ if (Object.getOwnPropertyDescriptor(obj, 'prototype')?.writable !== false)
5
+ return false;
6
+ return true;
7
+ }
8
+ //# sourceMappingURL=class-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-component.js","sourceRoot":"","sources":["../../../../src/jsx/render/types/class-component.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IACvC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACvF,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function isFuncComponent(obj: any): obj is FuncComponent;
2
+ type FuncComponent = (...args: any[]) => any;
3
+ export {};
4
+ //# sourceMappingURL=func-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"func-components.d.ts","sourceRoot":"","sources":["../../../../src/jsx/render/types/func-components.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,aAAa,CAI9D;AAED,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA"}
@@ -0,0 +1,8 @@
1
+ export function isFuncComponent(obj) {
2
+ if (typeof obj !== 'function')
3
+ return false;
4
+ if (Object.getOwnPropertyDescriptor(obj, 'prototype')?.writable !== true)
5
+ return false;
6
+ return true;
7
+ }
8
+ //# sourceMappingURL=func-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"func-components.js","sourceRoot":"","sources":["../../../../src/jsx/render/types/func-components.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACtF,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type NodeInstances } from '../../../nodes/lib/types.js';
2
+ import type { IntrinsicElement } from '../../types.js';
3
+ import type { PrimaryNode } from '../../../nodes/lib/enum.js';
4
+ export declare function isIntrinsicElement(obj: any): obj is PrimaryNode;
5
+ export declare function applyIntrinsicAttributesToNode<T extends PrimaryNode>(node: NodeInstances[T], opts: IntrinsicElement<T>): NodeInstances[T];
6
+ //# sourceMappingURL=instrinsic-elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrinsic-elements.d.ts","sourceRoot":"","sources":["../../../../src/jsx/render/types/instrinsic-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,CAI/D;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,WAAW,EAClE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB,aAAa,CAAC,CAAC,CAAC,CAQlB"}
@@ -0,0 +1,41 @@
1
+ import {} from '../../../nodes/lib/types.js';
2
+ import { Nodes } from '../../../nodes/lib/registry.js';
3
+ import { Event, getEventName } from '../../../events/event.js';
4
+ export function isIntrinsicElement(obj) {
5
+ if (typeof obj !== 'string')
6
+ return false;
7
+ if (!(obj in Nodes))
8
+ return false;
9
+ return true;
10
+ }
11
+ export function applyIntrinsicAttributesToNode(node, opts) {
12
+ if (opts.ref) {
13
+ opts.ref.node = node;
14
+ }
15
+ applyEvents(node, opts);
16
+ return node;
17
+ }
18
+ function applyEvents(node, opts) {
19
+ const events = new Map();
20
+ for (const key in node) {
21
+ if (!Object.hasOwn(node, key))
22
+ continue;
23
+ const el = node[key];
24
+ if (el instanceof Event) {
25
+ const k = getEventName(el.baseName);
26
+ events.set(k, el);
27
+ }
28
+ }
29
+ for (const key in opts) {
30
+ if (!Object.hasOwn(opts, key))
31
+ continue;
32
+ const fn = opts[key];
33
+ if (typeof fn !== 'function')
34
+ continue;
35
+ const ev = events.get(key);
36
+ if (ev == null)
37
+ continue;
38
+ ev.on(fn);
39
+ }
40
+ }
41
+ //# sourceMappingURL=instrinsic-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrinsic-elements.js","sourceRoot":"","sources":["../../../../src/jsx/render/types/instrinsic-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAI9D,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,IAAsB,EACtB,IAAyB;IAEzB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAEvB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAwB,IAAsB,EAAE,IAAyB;IAC3F,MAAM,MAAM,GAAsC,IAAI,GAAG,EAAE,CAAA;IAE3D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAQ;QAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpB,IAAI,EAAE,YAAY,KAAK,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAQ;QAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAwB,CAAC,CAAA;QAEzC,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,SAAQ;QAEtC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,EAAE,IAAI,IAAI;YAAE,SAAQ;QAExB,EAAE,CAAC,EAAE,CAAC,EAA+B,CAAC,CAAA;IACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { Event } from '../events/event.js';
2
+ import type { NodeReference } from '../hooks/use-node.js';
3
+ import type { PrimaryNode } from '../nodes/lib/enum.js';
4
+ import type { NodeEvents, NodesOptions } from '../nodes/lib/types.js';
5
+ export declare namespace Dinix {
6
+ type Type = keyof JSX.IntrinsicElements | ((props: any) => any) | (new (props: any) => any);
7
+ interface Element<T extends Type = any> {
8
+ type: T;
9
+ props: PropsOf<T>;
10
+ }
11
+ type Node = Element<any> | string | number | null | undefined | Iterable<Node>;
12
+ type IntrinsicElements = {
13
+ [P in PrimaryNode]: IntrinsicElement<P>;
14
+ };
15
+ type WithChildren<T = {}> = Omit<T, 'children'> & {
16
+ children?: Node;
17
+ };
18
+ type PropsOf<T extends Type> = T extends keyof IntrinsicElements ? IntrinsicElements[T] : T extends (props: infer P) => Node ? P : never;
19
+ type Component<P = {}> = (props: P) => Node;
20
+ }
21
+ export type IntrinsicElement<T extends PrimaryNode> = {
22
+ /** The **`ref`** property can be used with the `useNode` hook.
23
+ * @example
24
+ * ```tsx
25
+ * const sprite = useNode(PrimaryNode.Sprite)
26
+ *
27
+ * return <sprite ref={sprite} />
28
+ * ```
29
+ */
30
+ ref?: NodeReference<T>;
31
+ } & {
32
+ [P in keyof NodeEvents[T]]?: NonNullable<NodeEvents[T][P] extends Event<infer U, infer V> ? Event<U, V>['exampleFun'] : never>;
33
+ } & Dinix.WithChildren<NodesOptions[T]>;
34
+ declare global {
35
+ namespace JSX {
36
+ type Element = Dinix.Element;
37
+ interface IntrinsicElements extends Dinix.IntrinsicElements {
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jsx/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAErE,yBAAiB,KAAK,CAAC;IACrB,KAAY,IAAI,GAAG,MAAM,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;IAElG,UAAiB,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG;QAC3C,IAAI,EAAE,CAAC,CAAA;QACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAElB;IAED,KAAY,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAErF,KAAY,iBAAiB,GAAG;SAC7B,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC;KACxC,CAAA;IAED,KAAY,YAAY,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;QACvD,QAAQ,CAAC,EAAE,IAAI,CAAA;KAChB,CAAA;IAED,KAAY,OAAO,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,MAAM,iBAAiB,GACnE,iBAAiB,CAAC,CAAC,CAAC,GACpB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAChC,CAAC,GACD,KAAK,CAAA;IAEX,KAAY,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CACnD;AAGD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,IAAI;IACpD;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CACvB,GAAG;KACD,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CACtC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CACrF;CACF,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAGvC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,KAAK,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAE5B,UAAU,iBAAkB,SAAQ,KAAK,CAAC,iBAAiB;SAAG;KAC/D;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/jsx/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { Dinix } from './types.js';
2
+ export declare function getDinixElementFromNode(jsx: Dinix.Node): Dinix.Element | undefined;
3
+ export declare function getDinixNodesFromNode(jsx: Dinix.Node): Dinix.Node[];
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/jsx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,SAAS,CAKlF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAMnE"}
@@ -0,0 +1,15 @@
1
+ export function getDinixElementFromNode(jsx) {
2
+ if (jsx == null || typeof jsx === 'string' || typeof jsx === 'number' || !('type' in jsx)) {
3
+ return;
4
+ }
5
+ return jsx;
6
+ }
7
+ export function getDinixNodesFromNode(jsx) {
8
+ if (jsx == null || typeof jsx === 'string' || typeof jsx === 'number' || 'type' in jsx) {
9
+ return [jsx];
10
+ }
11
+ if (Symbol.iterator in jsx)
12
+ return Array.from(jsx);
13
+ return getDinixNodesFromNode(jsx);
14
+ }
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/jsx/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,GAAe;IACrD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1F,OAAM;IACR,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAe;IACnD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Fragment as FragmentComponent } from './jsx/components/fragment.js';
2
+ import { jsx as jsxFunc } from './jsx/jsx.js';
3
+ export declare const jsx: typeof jsxFunc;
4
+ export declare const jsxs: typeof jsxFunc;
5
+ export declare const Fragment: typeof FragmentComponent;
6
+ //# sourceMappingURL=jsx-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,GAAG,gBAAU,CAAA;AAC1B,eAAO,MAAM,IAAI,gBAAU,CAAA;AAC3B,eAAO,MAAM,QAAQ,0BAAoB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Fragment as FragmentComponent } from './jsx/components/fragment.js';
2
+ import { jsx as jsxFunc } from './jsx/jsx.js';
3
+ export const jsx = jsxFunc;
4
+ export const jsxs = jsxFunc;
5
+ export const Fragment = FragmentComponent;
6
+ //# sourceMappingURL=jsx-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAA;AAC1B,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAA;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { Vector2, type Position, type VectorLike } from './vector2.js';
2
+ export type { Color } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACtE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { Vector2 } from './vector2.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkC,MAAM,cAAc,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The **`Color`** type represents an RGBA color as a tuple `[r, g, b, a]`.
3
+ * Each channel ranges from `0` (no intensity) to `1` (full intensity).
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * const red: Color = [1, 0, 0, 1]
8
+ * const orange: Color = [1, 0.5, 0, 1]
9
+ * const transparentBlue: Color = [0, 0, 1, 0.5]
10
+ * ```
11
+ */
12
+ export type Color = [number, number, number, number];
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/math/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/math/types.ts"],"names":[],"mappings":""}