@number10/jsx-phaser 5.0.0

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 (689) hide show
  1. package/LICENSE +667 -0
  2. package/README.md +44 -0
  3. package/dist/_virtual/_commonjsHelpers.cjs +7 -0
  4. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -0
  5. package/dist/_virtual/_commonjsHelpers.js +7 -0
  6. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  7. package/dist/_virtual/index.cjs +7 -0
  8. package/dist/_virtual/index.cjs.map +1 -0
  9. package/dist/_virtual/index.js +8 -0
  10. package/dist/_virtual/index.js.map +1 -0
  11. package/dist/animation/index.d.ts +7 -0
  12. package/dist/animation/index.d.ts.map +1 -0
  13. package/dist/camera/index.d.ts +5 -0
  14. package/dist/camera/index.d.ts.map +1 -0
  15. package/dist/camera/use-camera-fx.cjs +49 -0
  16. package/dist/camera/use-camera-fx.cjs.map +1 -0
  17. package/dist/camera/use-camera-fx.d.ts +25 -0
  18. package/dist/camera/use-camera-fx.d.ts.map +1 -0
  19. package/dist/camera/use-camera-fx.js +49 -0
  20. package/dist/camera/use-camera-fx.js.map +1 -0
  21. package/dist/clip/index.cjs +8 -0
  22. package/dist/clip/index.cjs.map +1 -0
  23. package/dist/clip/index.d.ts +3 -0
  24. package/dist/clip/index.d.ts.map +1 -0
  25. package/dist/clip/index.js +9 -0
  26. package/dist/clip/index.js.map +1 -0
  27. package/dist/clip/stencil-clip-depth.cjs +24 -0
  28. package/dist/clip/stencil-clip-depth.cjs.map +1 -0
  29. package/dist/clip/stencil-clip-depth.d.ts +10 -0
  30. package/dist/clip/stencil-clip-depth.d.ts.map +1 -0
  31. package/dist/clip/stencil-clip-depth.js +24 -0
  32. package/dist/clip/stencil-clip-depth.js.map +1 -0
  33. package/dist/clip/stencil-clip-extension.cjs +113 -0
  34. package/dist/clip/stencil-clip-extension.cjs.map +1 -0
  35. package/dist/clip/stencil-clip-extension.d.ts +18 -0
  36. package/dist/clip/stencil-clip-extension.d.ts.map +1 -0
  37. package/dist/clip/stencil-clip-extension.js +96 -0
  38. package/dist/clip/stencil-clip-extension.js.map +1 -0
  39. package/dist/clip/stencil-clip-fbo-bridge.cjs +46 -0
  40. package/dist/clip/stencil-clip-fbo-bridge.cjs.map +1 -0
  41. package/dist/clip/stencil-clip-fbo-bridge.d.ts +7 -0
  42. package/dist/clip/stencil-clip-fbo-bridge.d.ts.map +1 -0
  43. package/dist/clip/stencil-clip-fbo-bridge.js +46 -0
  44. package/dist/clip/stencil-clip-fbo-bridge.js.map +1 -0
  45. package/dist/clip/stencil-clip-renderer.cjs +300 -0
  46. package/dist/clip/stencil-clip-renderer.cjs.map +1 -0
  47. package/dist/clip/stencil-clip-renderer.d.ts +7 -0
  48. package/dist/clip/stencil-clip-renderer.d.ts.map +1 -0
  49. package/dist/clip/stencil-clip-renderer.js +300 -0
  50. package/dist/clip/stencil-clip-renderer.js.map +1 -0
  51. package/dist/clip/stencil-clip-state.cjs +84 -0
  52. package/dist/clip/stencil-clip-state.cjs.map +1 -0
  53. package/dist/clip/stencil-clip-state.d.ts +28 -0
  54. package/dist/clip/stencil-clip-state.d.ts.map +1 -0
  55. package/dist/clip/stencil-clip-state.js +84 -0
  56. package/dist/clip/stencil-clip-state.js.map +1 -0
  57. package/dist/clip/stencil-clip-types.d.ts +67 -0
  58. package/dist/clip/stencil-clip-types.d.ts.map +1 -0
  59. package/dist/clip/stencil-clip.cjs +138 -0
  60. package/dist/clip/stencil-clip.cjs.map +1 -0
  61. package/dist/clip/stencil-clip.d.ts +53 -0
  62. package/dist/clip/stencil-clip.d.ts.map +1 -0
  63. package/dist/clip/stencil-clip.js +122 -0
  64. package/dist/clip/stencil-clip.js.map +1 -0
  65. package/dist/colors/use-color-mode.cjs +28 -0
  66. package/dist/colors/use-color-mode.cjs.map +1 -0
  67. package/dist/colors/use-color-mode.d.ts +22 -0
  68. package/dist/colors/use-color-mode.d.ts.map +1 -0
  69. package/dist/colors/use-color-mode.js +28 -0
  70. package/dist/colors/use-color-mode.js.map +1 -0
  71. package/dist/colors/use-colors.cjs +45 -0
  72. package/dist/colors/use-colors.cjs.map +1 -0
  73. package/dist/colors/use-colors.d.ts +36 -0
  74. package/dist/colors/use-colors.d.ts.map +1 -0
  75. package/dist/colors/use-colors.js +45 -0
  76. package/dist/colors/use-colors.js.map +1 -0
  77. package/dist/components/DebugPanel.cjs +88 -0
  78. package/dist/components/DebugPanel.cjs.map +1 -0
  79. package/dist/components/DebugPanel.d.ts +45 -0
  80. package/dist/components/DebugPanel.d.ts.map +1 -0
  81. package/dist/components/DebugPanel.js +71 -0
  82. package/dist/components/DebugPanel.js.map +1 -0
  83. package/dist/components/appliers/applyBackground.cjs +89 -0
  84. package/dist/components/appliers/applyBackground.cjs.map +1 -0
  85. package/dist/components/appliers/applyBackground.d.ts +18 -0
  86. package/dist/components/appliers/applyBackground.d.ts.map +1 -0
  87. package/dist/components/appliers/applyBackground.js +89 -0
  88. package/dist/components/appliers/applyBackground.js.map +1 -0
  89. package/dist/components/appliers/applyGestures.cjs +85 -0
  90. package/dist/components/appliers/applyGestures.cjs.map +1 -0
  91. package/dist/components/appliers/applyGestures.d.ts +12 -0
  92. package/dist/components/appliers/applyGestures.d.ts.map +1 -0
  93. package/dist/components/appliers/applyGestures.js +68 -0
  94. package/dist/components/appliers/applyGestures.js.map +1 -0
  95. package/dist/components/appliers/applyGraphics.cjs +21 -0
  96. package/dist/components/appliers/applyGraphics.cjs.map +1 -0
  97. package/dist/components/appliers/applyGraphics.d.ts +13 -0
  98. package/dist/components/appliers/applyGraphics.d.ts.map +1 -0
  99. package/dist/components/appliers/applyGraphics.js +21 -0
  100. package/dist/components/appliers/applyGraphics.js.map +1 -0
  101. package/dist/components/appliers/applyGraphicsLayout.cjs +18 -0
  102. package/dist/components/appliers/applyGraphicsLayout.cjs.map +1 -0
  103. package/dist/components/appliers/applyGraphicsLayout.d.ts +13 -0
  104. package/dist/components/appliers/applyGraphicsLayout.d.ts.map +1 -0
  105. package/dist/components/appliers/applyGraphicsLayout.js +18 -0
  106. package/dist/components/appliers/applyGraphicsLayout.js.map +1 -0
  107. package/dist/components/appliers/applyImage.cjs +92 -0
  108. package/dist/components/appliers/applyImage.cjs.map +1 -0
  109. package/dist/components/appliers/applyImage.d.ts +47 -0
  110. package/dist/components/appliers/applyImage.d.ts.map +1 -0
  111. package/dist/components/appliers/applyImage.js +92 -0
  112. package/dist/components/appliers/applyImage.js.map +1 -0
  113. package/dist/components/appliers/applyImageLayout.cjs +18 -0
  114. package/dist/components/appliers/applyImageLayout.cjs.map +1 -0
  115. package/dist/components/appliers/applyImageLayout.d.ts +18 -0
  116. package/dist/components/appliers/applyImageLayout.d.ts.map +1 -0
  117. package/dist/components/appliers/applyImageLayout.js +18 -0
  118. package/dist/components/appliers/applyImageLayout.js.map +1 -0
  119. package/dist/components/appliers/applyLayout.cjs +108 -0
  120. package/dist/components/appliers/applyLayout.cjs.map +1 -0
  121. package/dist/components/appliers/applyLayout.d.ts +19 -0
  122. package/dist/components/appliers/applyLayout.d.ts.map +1 -0
  123. package/dist/components/appliers/applyLayout.js +91 -0
  124. package/dist/components/appliers/applyLayout.js.map +1 -0
  125. package/dist/components/appliers/applyNineSlice.cjs +37 -0
  126. package/dist/components/appliers/applyNineSlice.cjs.map +1 -0
  127. package/dist/components/appliers/applyNineSlice.d.ts +14 -0
  128. package/dist/components/appliers/applyNineSlice.d.ts.map +1 -0
  129. package/dist/components/appliers/applyNineSlice.js +37 -0
  130. package/dist/components/appliers/applyNineSlice.js.map +1 -0
  131. package/dist/components/appliers/applyNineSliceLayout.cjs +18 -0
  132. package/dist/components/appliers/applyNineSliceLayout.cjs.map +1 -0
  133. package/dist/components/appliers/applyNineSliceLayout.d.ts +18 -0
  134. package/dist/components/appliers/applyNineSliceLayout.d.ts.map +1 -0
  135. package/dist/components/appliers/applyNineSliceLayout.js +18 -0
  136. package/dist/components/appliers/applyNineSliceLayout.js.map +1 -0
  137. package/dist/components/appliers/applyParticles.cjs +46 -0
  138. package/dist/components/appliers/applyParticles.cjs.map +1 -0
  139. package/dist/components/appliers/applyParticles.d.ts +7 -0
  140. package/dist/components/appliers/applyParticles.d.ts.map +1 -0
  141. package/dist/components/appliers/applyParticles.js +46 -0
  142. package/dist/components/appliers/applyParticles.js.map +1 -0
  143. package/dist/components/appliers/applyParticlesLayout.cjs +7 -0
  144. package/dist/components/appliers/applyParticlesLayout.cjs.map +1 -0
  145. package/dist/components/appliers/applyParticlesLayout.d.ts +11 -0
  146. package/dist/components/appliers/applyParticlesLayout.d.ts.map +1 -0
  147. package/dist/components/appliers/applyParticlesLayout.js +7 -0
  148. package/dist/components/appliers/applyParticlesLayout.js.map +1 -0
  149. package/dist/components/appliers/applyPhaser.cjs +40 -0
  150. package/dist/components/appliers/applyPhaser.cjs.map +1 -0
  151. package/dist/components/appliers/applyPhaser.d.ts +24 -0
  152. package/dist/components/appliers/applyPhaser.d.ts.map +1 -0
  153. package/dist/components/appliers/applyPhaser.js +40 -0
  154. package/dist/components/appliers/applyPhaser.js.map +1 -0
  155. package/dist/components/appliers/applySprite.cjs +124 -0
  156. package/dist/components/appliers/applySprite.cjs.map +1 -0
  157. package/dist/components/appliers/applySprite.d.ts +13 -0
  158. package/dist/components/appliers/applySprite.d.ts.map +1 -0
  159. package/dist/components/appliers/applySprite.js +124 -0
  160. package/dist/components/appliers/applySprite.js.map +1 -0
  161. package/dist/components/appliers/applySpriteLayout.cjs +7 -0
  162. package/dist/components/appliers/applySpriteLayout.cjs.map +1 -0
  163. package/dist/components/appliers/applySpriteLayout.d.ts +17 -0
  164. package/dist/components/appliers/applySpriteLayout.d.ts.map +1 -0
  165. package/dist/components/appliers/applySpriteLayout.js +7 -0
  166. package/dist/components/appliers/applySpriteLayout.js.map +1 -0
  167. package/dist/components/appliers/applyText.cjs +142 -0
  168. package/dist/components/appliers/applyText.cjs.map +1 -0
  169. package/dist/components/appliers/applyText.d.ts +32 -0
  170. package/dist/components/appliers/applyText.d.ts.map +1 -0
  171. package/dist/components/appliers/applyText.js +142 -0
  172. package/dist/components/appliers/applyText.js.map +1 -0
  173. package/dist/components/appliers/applyTextLayout.cjs +16 -0
  174. package/dist/components/appliers/applyTextLayout.cjs.map +1 -0
  175. package/dist/components/appliers/applyTextLayout.d.ts +18 -0
  176. package/dist/components/appliers/applyTextLayout.d.ts.map +1 -0
  177. package/dist/components/appliers/applyTextLayout.js +16 -0
  178. package/dist/components/appliers/applyTextLayout.js.map +1 -0
  179. package/dist/components/appliers/applyTooltip.cjs +247 -0
  180. package/dist/components/appliers/applyTooltip.cjs.map +1 -0
  181. package/dist/components/appliers/applyTooltip.d.ts +16 -0
  182. package/dist/components/appliers/applyTooltip.d.ts.map +1 -0
  183. package/dist/components/appliers/applyTooltip.js +247 -0
  184. package/dist/components/appliers/applyTooltip.js.map +1 -0
  185. package/dist/components/appliers/applyTransform.cjs +61 -0
  186. package/dist/components/appliers/applyTransform.cjs.map +1 -0
  187. package/dist/components/appliers/applyTransform.d.ts +24 -0
  188. package/dist/components/appliers/applyTransform.d.ts.map +1 -0
  189. package/dist/components/appliers/applyTransform.js +61 -0
  190. package/dist/components/appliers/applyTransform.js.map +1 -0
  191. package/dist/components/backgroundImage.cjs +411 -0
  192. package/dist/components/backgroundImage.cjs.map +1 -0
  193. package/dist/components/backgroundImage.d.ts +14 -0
  194. package/dist/components/backgroundImage.d.ts.map +1 -0
  195. package/dist/components/backgroundImage.js +411 -0
  196. package/dist/components/backgroundImage.js.map +1 -0
  197. package/dist/components/creators/createBackground.cjs +18 -0
  198. package/dist/components/creators/createBackground.cjs.map +1 -0
  199. package/dist/components/creators/createBackground.d.ts +20 -0
  200. package/dist/components/creators/createBackground.d.ts.map +1 -0
  201. package/dist/components/creators/createBackground.js +18 -0
  202. package/dist/components/creators/createBackground.js.map +1 -0
  203. package/dist/components/creators/createGestures.cjs +51 -0
  204. package/dist/components/creators/createGestures.cjs.map +1 -0
  205. package/dist/components/creators/createGestures.d.ts +11 -0
  206. package/dist/components/creators/createGestures.d.ts.map +1 -0
  207. package/dist/components/creators/createGestures.js +34 -0
  208. package/dist/components/creators/createGestures.js.map +1 -0
  209. package/dist/components/creators/createGraphicsLayout.cjs +24 -0
  210. package/dist/components/creators/createGraphicsLayout.cjs.map +1 -0
  211. package/dist/components/creators/createGraphicsLayout.d.ts +12 -0
  212. package/dist/components/creators/createGraphicsLayout.d.ts.map +1 -0
  213. package/dist/components/creators/createGraphicsLayout.js +24 -0
  214. package/dist/components/creators/createGraphicsLayout.js.map +1 -0
  215. package/dist/components/creators/createImageLayout.cjs +16 -0
  216. package/dist/components/creators/createImageLayout.cjs.map +1 -0
  217. package/dist/components/creators/createImageLayout.d.ts +17 -0
  218. package/dist/components/creators/createImageLayout.d.ts.map +1 -0
  219. package/dist/components/creators/createImageLayout.js +16 -0
  220. package/dist/components/creators/createImageLayout.js.map +1 -0
  221. package/dist/components/creators/createLayout.cjs +61 -0
  222. package/dist/components/creators/createLayout.cjs.map +1 -0
  223. package/dist/components/creators/createLayout.d.ts +15 -0
  224. package/dist/components/creators/createLayout.d.ts.map +1 -0
  225. package/dist/components/creators/createLayout.js +61 -0
  226. package/dist/components/creators/createLayout.js.map +1 -0
  227. package/dist/components/creators/createNineSliceLayout.cjs +16 -0
  228. package/dist/components/creators/createNineSliceLayout.cjs.map +1 -0
  229. package/dist/components/creators/createNineSliceLayout.d.ts +17 -0
  230. package/dist/components/creators/createNineSliceLayout.d.ts.map +1 -0
  231. package/dist/components/creators/createNineSliceLayout.js +16 -0
  232. package/dist/components/creators/createNineSliceLayout.js.map +1 -0
  233. package/dist/components/creators/createParticlesLayout.cjs +8 -0
  234. package/dist/components/creators/createParticlesLayout.cjs.map +1 -0
  235. package/dist/components/creators/createParticlesLayout.d.ts +14 -0
  236. package/dist/components/creators/createParticlesLayout.d.ts.map +1 -0
  237. package/dist/components/creators/createParticlesLayout.js +8 -0
  238. package/dist/components/creators/createParticlesLayout.js.map +1 -0
  239. package/dist/components/creators/createPhaser.cjs +36 -0
  240. package/dist/components/creators/createPhaser.cjs.map +1 -0
  241. package/dist/components/creators/createPhaser.d.ts +14 -0
  242. package/dist/components/creators/createPhaser.d.ts.map +1 -0
  243. package/dist/components/creators/createPhaser.js +36 -0
  244. package/dist/components/creators/createPhaser.js.map +1 -0
  245. package/dist/components/creators/createSpriteLayout.cjs +10 -0
  246. package/dist/components/creators/createSpriteLayout.cjs.map +1 -0
  247. package/dist/components/creators/createSpriteLayout.d.ts +18 -0
  248. package/dist/components/creators/createSpriteLayout.d.ts.map +1 -0
  249. package/dist/components/creators/createSpriteLayout.js +10 -0
  250. package/dist/components/creators/createSpriteLayout.js.map +1 -0
  251. package/dist/components/creators/createTextLayout.cjs +16 -0
  252. package/dist/components/creators/createTextLayout.cjs.map +1 -0
  253. package/dist/components/creators/createTextLayout.d.ts +17 -0
  254. package/dist/components/creators/createTextLayout.d.ts.map +1 -0
  255. package/dist/components/creators/createTextLayout.js +16 -0
  256. package/dist/components/creators/createTextLayout.js.map +1 -0
  257. package/dist/components/creators/createTransform.cjs +83 -0
  258. package/dist/components/creators/createTransform.cjs.map +1 -0
  259. package/dist/components/creators/createTransform.d.ts +26 -0
  260. package/dist/components/creators/createTransform.d.ts.map +1 -0
  261. package/dist/components/creators/createTransform.js +83 -0
  262. package/dist/components/creators/createTransform.js.map +1 -0
  263. package/dist/components/custom/Graphics.cjs +13 -0
  264. package/dist/components/custom/Graphics.cjs.map +1 -0
  265. package/dist/components/custom/Graphics.d.ts +50 -0
  266. package/dist/components/custom/Graphics.d.ts.map +1 -0
  267. package/dist/components/custom/Graphics.js +13 -0
  268. package/dist/components/custom/Graphics.js.map +1 -0
  269. package/dist/components/custom/NineSlice.cjs +13 -0
  270. package/dist/components/custom/NineSlice.cjs.map +1 -0
  271. package/dist/components/custom/NineSlice.d.ts +87 -0
  272. package/dist/components/custom/NineSlice.d.ts.map +1 -0
  273. package/dist/components/custom/NineSlice.js +13 -0
  274. package/dist/components/custom/NineSlice.js.map +1 -0
  275. package/dist/components/custom/Particles.cjs +8 -0
  276. package/dist/components/custom/Particles.cjs.map +1 -0
  277. package/dist/components/custom/Particles.d.ts +28 -0
  278. package/dist/components/custom/Particles.d.ts.map +1 -0
  279. package/dist/components/custom/Particles.js +8 -0
  280. package/dist/components/custom/Particles.js.map +1 -0
  281. package/dist/components/custom/RefOriginView.cjs +67 -0
  282. package/dist/components/custom/RefOriginView.cjs.map +1 -0
  283. package/dist/components/custom/RefOriginView.d.ts +49 -0
  284. package/dist/components/custom/RefOriginView.d.ts.map +1 -0
  285. package/dist/components/custom/RefOriginView.js +67 -0
  286. package/dist/components/custom/RefOriginView.js.map +1 -0
  287. package/dist/components/custom/Sprite.cjs +13 -0
  288. package/dist/components/custom/Sprite.cjs.map +1 -0
  289. package/dist/components/custom/Sprite.d.ts +79 -0
  290. package/dist/components/custom/Sprite.d.ts.map +1 -0
  291. package/dist/components/custom/Sprite.js +13 -0
  292. package/dist/components/custom/Sprite.js.map +1 -0
  293. package/dist/components/custom/TileSprite.cjs +13 -0
  294. package/dist/components/custom/TileSprite.cjs.map +1 -0
  295. package/dist/components/custom/TileSprite.d.ts +65 -0
  296. package/dist/components/custom/TileSprite.d.ts.map +1 -0
  297. package/dist/components/custom/TileSprite.js +13 -0
  298. package/dist/components/custom/TileSprite.js.map +1 -0
  299. package/dist/components/custom/index.d.ts +15 -0
  300. package/dist/components/custom/index.d.ts.map +1 -0
  301. package/dist/components/index.cjs +33 -0
  302. package/dist/components/index.cjs.map +1 -0
  303. package/dist/components/index.d.ts +11 -0
  304. package/dist/components/index.d.ts.map +1 -0
  305. package/dist/components/index.js +33 -0
  306. package/dist/components/index.js.map +1 -0
  307. package/dist/components/internal/SceneWrapper.cjs +10 -0
  308. package/dist/components/internal/SceneWrapper.cjs.map +1 -0
  309. package/dist/components/internal/SceneWrapper.d.ts +20 -0
  310. package/dist/components/internal/SceneWrapper.d.ts.map +1 -0
  311. package/dist/components/internal/SceneWrapper.js +10 -0
  312. package/dist/components/internal/SceneWrapper.js.map +1 -0
  313. package/dist/components/primitives/graphics.cjs +29 -0
  314. package/dist/components/primitives/graphics.cjs.map +1 -0
  315. package/dist/components/primitives/graphics.d.ts +146 -0
  316. package/dist/components/primitives/graphics.d.ts.map +1 -0
  317. package/dist/components/primitives/graphics.js +29 -0
  318. package/dist/components/primitives/graphics.js.map +1 -0
  319. package/dist/components/primitives/image.cjs +110 -0
  320. package/dist/components/primitives/image.cjs.map +1 -0
  321. package/dist/components/primitives/image.d.ts +170 -0
  322. package/dist/components/primitives/image.d.ts.map +1 -0
  323. package/dist/components/primitives/image.js +110 -0
  324. package/dist/components/primitives/image.js.map +1 -0
  325. package/dist/components/primitives/nineslice.cjs +42 -0
  326. package/dist/components/primitives/nineslice.cjs.map +1 -0
  327. package/dist/components/primitives/nineslice.d.ts +271 -0
  328. package/dist/components/primitives/nineslice.d.ts.map +1 -0
  329. package/dist/components/primitives/nineslice.js +42 -0
  330. package/dist/components/primitives/nineslice.js.map +1 -0
  331. package/dist/components/primitives/particles.cjs +77 -0
  332. package/dist/components/primitives/particles.cjs.map +1 -0
  333. package/dist/components/primitives/particles.d.ts +47 -0
  334. package/dist/components/primitives/particles.d.ts.map +1 -0
  335. package/dist/components/primitives/particles.js +77 -0
  336. package/dist/components/primitives/particles.js.map +1 -0
  337. package/dist/components/primitives/sprite.cjs +100 -0
  338. package/dist/components/primitives/sprite.cjs.map +1 -0
  339. package/dist/components/primitives/sprite.d.ts +147 -0
  340. package/dist/components/primitives/sprite.d.ts.map +1 -0
  341. package/dist/components/primitives/sprite.js +100 -0
  342. package/dist/components/primitives/sprite.js.map +1 -0
  343. package/dist/components/primitives/text.cjs +73 -0
  344. package/dist/components/primitives/text.cjs.map +1 -0
  345. package/dist/components/primitives/text.d.ts +155 -0
  346. package/dist/components/primitives/text.d.ts.map +1 -0
  347. package/dist/components/primitives/text.js +73 -0
  348. package/dist/components/primitives/text.js.map +1 -0
  349. package/dist/components/primitives/tilesprite.cjs +77 -0
  350. package/dist/components/primitives/tilesprite.cjs.map +1 -0
  351. package/dist/components/primitives/tilesprite.d.ts +157 -0
  352. package/dist/components/primitives/tilesprite.d.ts.map +1 -0
  353. package/dist/components/primitives/tilesprite.js +77 -0
  354. package/dist/components/primitives/tilesprite.js.map +1 -0
  355. package/dist/components/primitives/vectorDraw.cjs +73 -0
  356. package/dist/components/primitives/vectorDraw.cjs.map +1 -0
  357. package/dist/components/primitives/vectorDraw.d.ts +4 -0
  358. package/dist/components/primitives/vectorDraw.d.ts.map +1 -0
  359. package/dist/components/primitives/vectorDraw.js +73 -0
  360. package/dist/components/primitives/vectorDraw.js.map +1 -0
  361. package/dist/components/primitives/view.cjs +105 -0
  362. package/dist/components/primitives/view.cjs.map +1 -0
  363. package/dist/components/primitives/view.d.ts +23 -0
  364. package/dist/components/primitives/view.d.ts.map +1 -0
  365. package/dist/components/primitives/view.js +105 -0
  366. package/dist/components/primitives/view.js.map +1 -0
  367. package/dist/core-props.d.ts +105 -0
  368. package/dist/core-props.d.ts.map +1 -0
  369. package/dist/core-types.d.ts +71 -0
  370. package/dist/core-types.d.ts.map +1 -0
  371. package/dist/design-tokens/resolve-theme-tokens.cjs +27 -0
  372. package/dist/design-tokens/resolve-theme-tokens.cjs.map +1 -0
  373. package/dist/design-tokens/resolve-theme-tokens.d.ts +9 -0
  374. package/dist/design-tokens/resolve-theme-tokens.d.ts.map +1 -0
  375. package/dist/design-tokens/resolve-theme-tokens.js +27 -0
  376. package/dist/design-tokens/resolve-theme-tokens.js.map +1 -0
  377. package/dist/design-tokens/use-theme-tokens.cjs +26 -0
  378. package/dist/design-tokens/use-theme-tokens.cjs.map +1 -0
  379. package/dist/design-tokens/use-theme-tokens.d.ts +28 -0
  380. package/dist/design-tokens/use-theme-tokens.d.ts.map +1 -0
  381. package/dist/design-tokens/use-theme-tokens.js +26 -0
  382. package/dist/design-tokens/use-theme-tokens.js.map +1 -0
  383. package/dist/effects/index.d.ts +2 -0
  384. package/dist/effects/index.d.ts.map +1 -0
  385. package/dist/effects/phaser-effects-bridge.cjs +48 -0
  386. package/dist/effects/phaser-effects-bridge.cjs.map +1 -0
  387. package/dist/effects/phaser-effects-bridge.d.ts +2 -0
  388. package/dist/effects/phaser-effects-bridge.d.ts.map +1 -0
  389. package/dist/effects/phaser-effects-bridge.js +30 -0
  390. package/dist/effects/phaser-effects-bridge.js.map +1 -0
  391. package/dist/effects/use-effect.cjs +155 -0
  392. package/dist/effects/use-effect.cjs.map +1 -0
  393. package/dist/effects/use-effect.d.ts +30 -0
  394. package/dist/effects/use-effect.d.ts.map +1 -0
  395. package/dist/effects/use-effect.js +155 -0
  396. package/dist/effects/use-effect.js.map +1 -0
  397. package/dist/fx/convenience-hooks/index.d.ts +7 -0
  398. package/dist/fx/convenience-hooks/index.d.ts.map +1 -0
  399. package/dist/fx/convenience-hooks/use-blur.cjs +18 -0
  400. package/dist/fx/convenience-hooks/use-blur.cjs.map +1 -0
  401. package/dist/fx/convenience-hooks/use-blur.d.ts +21 -0
  402. package/dist/fx/convenience-hooks/use-blur.d.ts.map +1 -0
  403. package/dist/fx/convenience-hooks/use-blur.js +18 -0
  404. package/dist/fx/convenience-hooks/use-blur.js.map +1 -0
  405. package/dist/fx/convenience-hooks/use-glow.cjs +18 -0
  406. package/dist/fx/convenience-hooks/use-glow.cjs.map +1 -0
  407. package/dist/fx/convenience-hooks/use-glow.d.ts +21 -0
  408. package/dist/fx/convenience-hooks/use-glow.d.ts.map +1 -0
  409. package/dist/fx/convenience-hooks/use-glow.js +18 -0
  410. package/dist/fx/convenience-hooks/use-glow.js.map +1 -0
  411. package/dist/fx/convenience-hooks/use-shadow.cjs +18 -0
  412. package/dist/fx/convenience-hooks/use-shadow.cjs.map +1 -0
  413. package/dist/fx/convenience-hooks/use-shadow.d.ts +21 -0
  414. package/dist/fx/convenience-hooks/use-shadow.d.ts.map +1 -0
  415. package/dist/fx/convenience-hooks/use-shadow.js +18 -0
  416. package/dist/fx/convenience-hooks/use-shadow.js.map +1 -0
  417. package/dist/fx/fx-creators/blur.cjs +20 -0
  418. package/dist/fx/fx-creators/blur.cjs.map +1 -0
  419. package/dist/fx/fx-creators/blur.d.ts +37 -0
  420. package/dist/fx/fx-creators/blur.d.ts.map +1 -0
  421. package/dist/fx/fx-creators/blur.js +20 -0
  422. package/dist/fx/fx-creators/blur.js.map +1 -0
  423. package/dist/fx/fx-creators/color-matrix.cjs +47 -0
  424. package/dist/fx/fx-creators/color-matrix.cjs.map +1 -0
  425. package/dist/fx/fx-creators/color-matrix.d.ts +31 -0
  426. package/dist/fx/fx-creators/color-matrix.d.ts.map +1 -0
  427. package/dist/fx/fx-creators/color-matrix.js +47 -0
  428. package/dist/fx/fx-creators/color-matrix.js.map +1 -0
  429. package/dist/fx/fx-creators/glow.cjs +27 -0
  430. package/dist/fx/fx-creators/glow.cjs.map +1 -0
  431. package/dist/fx/fx-creators/glow.d.ts +36 -0
  432. package/dist/fx/fx-creators/glow.d.ts.map +1 -0
  433. package/dist/fx/fx-creators/glow.js +27 -0
  434. package/dist/fx/fx-creators/glow.js.map +1 -0
  435. package/dist/fx/fx-creators/index.d.ts +10 -0
  436. package/dist/fx/fx-creators/index.d.ts.map +1 -0
  437. package/dist/fx/fx-creators/pixelate.cjs +20 -0
  438. package/dist/fx/fx-creators/pixelate.cjs.map +1 -0
  439. package/dist/fx/fx-creators/pixelate.d.ts +24 -0
  440. package/dist/fx/fx-creators/pixelate.d.ts.map +1 -0
  441. package/dist/fx/fx-creators/pixelate.js +20 -0
  442. package/dist/fx/fx-creators/pixelate.js.map +1 -0
  443. package/dist/fx/fx-creators/shadow.cjs +28 -0
  444. package/dist/fx/fx-creators/shadow.cjs.map +1 -0
  445. package/dist/fx/fx-creators/shadow.d.ts +43 -0
  446. package/dist/fx/fx-creators/shadow.d.ts.map +1 -0
  447. package/dist/fx/fx-creators/shadow.js +28 -0
  448. package/dist/fx/fx-creators/shadow.js.map +1 -0
  449. package/dist/fx/fx-creators/vignette.cjs +20 -0
  450. package/dist/fx/fx-creators/vignette.cjs.map +1 -0
  451. package/dist/fx/fx-creators/vignette.d.ts +33 -0
  452. package/dist/fx/fx-creators/vignette.d.ts.map +1 -0
  453. package/dist/fx/fx-creators/vignette.js +20 -0
  454. package/dist/fx/fx-creators/vignette.js.map +1 -0
  455. package/dist/fx/fx-registry.cjs +43 -0
  456. package/dist/fx/fx-registry.cjs.map +1 -0
  457. package/dist/fx/fx-registry.d.ts +59 -0
  458. package/dist/fx/fx-registry.d.ts.map +1 -0
  459. package/dist/fx/fx-registry.js +43 -0
  460. package/dist/fx/fx-registry.js.map +1 -0
  461. package/dist/fx/index.d.ts +51 -0
  462. package/dist/fx/index.d.ts.map +1 -0
  463. package/dist/fx/use-fx.cjs +54 -0
  464. package/dist/fx/use-fx.cjs.map +1 -0
  465. package/dist/fx/use-fx.d.ts +53 -0
  466. package/dist/fx/use-fx.d.ts.map +1 -0
  467. package/dist/fx/use-fx.js +54 -0
  468. package/dist/fx/use-fx.js.map +1 -0
  469. package/dist/gestures/gesture-manager.cjs +773 -0
  470. package/dist/gestures/gesture-manager.cjs.map +1 -0
  471. package/dist/gestures/gesture-manager.d.ts +158 -0
  472. package/dist/gestures/gesture-manager.d.ts.map +1 -0
  473. package/dist/gestures/gesture-manager.js +773 -0
  474. package/dist/gestures/gesture-manager.js.map +1 -0
  475. package/dist/gestures/gesture-types.cjs +9 -0
  476. package/dist/gestures/gesture-types.cjs.map +1 -0
  477. package/dist/gestures/gesture-types.d.ts +232 -0
  478. package/dist/gestures/gesture-types.d.ts.map +1 -0
  479. package/dist/gestures/gesture-types.js +9 -0
  480. package/dist/gestures/gesture-types.js.map +1 -0
  481. package/dist/hooks.cjs +193 -0
  482. package/dist/hooks.cjs.map +1 -0
  483. package/dist/hooks.d.ts +151 -0
  484. package/dist/hooks.d.ts.map +1 -0
  485. package/dist/hooks.js +146 -0
  486. package/dist/hooks.js.map +1 -0
  487. package/dist/host.cjs +85 -0
  488. package/dist/host.cjs.map +1 -0
  489. package/dist/host.d.ts +78 -0
  490. package/dist/host.d.ts.map +1 -0
  491. package/dist/host.js +85 -0
  492. package/dist/host.js.map +1 -0
  493. package/dist/index.cjs +614 -0
  494. package/dist/index.cjs.map +1 -0
  495. package/dist/index.d.ts +61 -0
  496. package/dist/index.d.ts.map +1 -0
  497. package/dist/index.js +273 -0
  498. package/dist/index.js.map +1 -0
  499. package/dist/jsx-dev-runtime.cjs +20 -0
  500. package/dist/jsx-dev-runtime.cjs.map +1 -0
  501. package/dist/jsx-dev-runtime.d.ts +8 -0
  502. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  503. package/dist/jsx-dev-runtime.js +8 -0
  504. package/dist/jsx-dev-runtime.js.map +1 -0
  505. package/dist/jsx-runtime.cjs +16 -0
  506. package/dist/jsx-runtime.cjs.map +1 -0
  507. package/dist/jsx-runtime.d.ts +9 -0
  508. package/dist/jsx-runtime.d.ts.map +1 -0
  509. package/dist/jsx-runtime.js +7 -0
  510. package/dist/jsx-runtime.js.map +1 -0
  511. package/dist/jsx-types.d.ts +40 -0
  512. package/dist/jsx-types.d.ts.map +1 -0
  513. package/dist/layout/appliers/background-applier.cjs +40 -0
  514. package/dist/layout/appliers/background-applier.cjs.map +1 -0
  515. package/dist/layout/appliers/background-applier.d.ts +16 -0
  516. package/dist/layout/appliers/background-applier.d.ts.map +1 -0
  517. package/dist/layout/appliers/background-applier.js +40 -0
  518. package/dist/layout/appliers/background-applier.js.map +1 -0
  519. package/dist/layout/index.d.ts +5 -0
  520. package/dist/layout/index.d.ts.map +1 -0
  521. package/dist/layout/layout-engine-test-utils.d.ts +24 -0
  522. package/dist/layout/layout-engine-test-utils.d.ts.map +1 -0
  523. package/dist/layout/phaser-layout-bridge.cjs +41 -0
  524. package/dist/layout/phaser-layout-bridge.cjs.map +1 -0
  525. package/dist/layout/phaser-layout-bridge.d.ts +9 -0
  526. package/dist/layout/phaser-layout-bridge.d.ts.map +1 -0
  527. package/dist/layout/phaser-layout-bridge.js +40 -0
  528. package/dist/layout/phaser-layout-bridge.js.map +1 -0
  529. package/dist/layout/types.d.ts +14 -0
  530. package/dist/layout/types.d.ts.map +1 -0
  531. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs +39 -0
  532. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs.map +1 -0
  533. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +39 -0
  534. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
  535. package/dist/particles/emit-zone.cjs +205 -0
  536. package/dist/particles/emit-zone.cjs.map +1 -0
  537. package/dist/particles/emit-zone.d.ts +88 -0
  538. package/dist/particles/emit-zone.d.ts.map +1 -0
  539. package/dist/particles/emit-zone.js +205 -0
  540. package/dist/particles/emit-zone.js.map +1 -0
  541. package/dist/particles/index.d.ts +8 -0
  542. package/dist/particles/index.d.ts.map +1 -0
  543. package/dist/particles/particle-types.d.ts +25 -0
  544. package/dist/particles/particle-types.d.ts.map +1 -0
  545. package/dist/particles/preset-registry.cjs +57 -0
  546. package/dist/particles/preset-registry.cjs.map +1 -0
  547. package/dist/particles/preset-registry.d.ts +49 -0
  548. package/dist/particles/preset-registry.d.ts.map +1 -0
  549. package/dist/particles/preset-registry.js +57 -0
  550. package/dist/particles/preset-registry.js.map +1 -0
  551. package/dist/particles/use-particles.cjs +67 -0
  552. package/dist/particles/use-particles.cjs.map +1 -0
  553. package/dist/particles/use-particles.d.ts +19 -0
  554. package/dist/particles/use-particles.d.ts.map +1 -0
  555. package/dist/particles/use-particles.js +67 -0
  556. package/dist/particles/use-particles.js.map +1 -0
  557. package/dist/particles/utils.cjs +82 -0
  558. package/dist/particles/utils.cjs.map +1 -0
  559. package/dist/particles/utils.d.ts +10 -0
  560. package/dist/particles/utils.d.ts.map +1 -0
  561. package/dist/particles/utils.js +82 -0
  562. package/dist/particles/utils.js.map +1 -0
  563. package/dist/phaser-bridges.cjs +148 -0
  564. package/dist/phaser-bridges.cjs.map +1 -0
  565. package/dist/phaser-bridges.d.ts +78 -0
  566. package/dist/phaser-bridges.d.ts.map +1 -0
  567. package/dist/phaser-bridges.js +131 -0
  568. package/dist/phaser-bridges.js.map +1 -0
  569. package/dist/phaser-host-adapter.cjs +148 -0
  570. package/dist/phaser-host-adapter.cjs.map +1 -0
  571. package/dist/phaser-host-adapter.d.ts +30 -0
  572. package/dist/phaser-host-adapter.d.ts.map +1 -0
  573. package/dist/phaser-host-adapter.js +148 -0
  574. package/dist/phaser-host-adapter.js.map +1 -0
  575. package/dist/phaser-runtime-types.d.ts +89 -0
  576. package/dist/phaser-runtime-types.d.ts.map +1 -0
  577. package/dist/phaser-surface-adapter.cjs +488 -0
  578. package/dist/phaser-surface-adapter.cjs.map +1 -0
  579. package/dist/phaser-surface-adapter.d.ts +74 -0
  580. package/dist/phaser-surface-adapter.d.ts.map +1 -0
  581. package/dist/phaser-surface-adapter.js +471 -0
  582. package/dist/phaser-surface-adapter.js.map +1 -0
  583. package/dist/phaser-vdom-runtime.cjs +63 -0
  584. package/dist/phaser-vdom-runtime.cjs.map +1 -0
  585. package/dist/phaser-vdom-runtime.d.ts +2 -0
  586. package/dist/phaser-vdom-runtime.d.ts.map +1 -0
  587. package/dist/phaser-vdom-runtime.js +63 -0
  588. package/dist/phaser-vdom-runtime.js.map +1 -0
  589. package/dist/plugin.cjs +182 -0
  590. package/dist/plugin.cjs.map +1 -0
  591. package/dist/plugin.d.ts +161 -0
  592. package/dist/plugin.d.ts.map +1 -0
  593. package/dist/plugin.js +165 -0
  594. package/dist/plugin.js.map +1 -0
  595. package/dist/render-context.cjs +106 -0
  596. package/dist/render-context.cjs.map +1 -0
  597. package/dist/render-context.d.ts +66 -0
  598. package/dist/render-context.d.ts.map +1 -0
  599. package/dist/render-context.js +106 -0
  600. package/dist/render-context.js.map +1 -0
  601. package/dist/scene-backgrounds.cjs +285 -0
  602. package/dist/scene-backgrounds.cjs.map +1 -0
  603. package/dist/scene-backgrounds.d.ts +69 -0
  604. package/dist/scene-backgrounds.d.ts.map +1 -0
  605. package/dist/scene-backgrounds.js +268 -0
  606. package/dist/scene-backgrounds.js.map +1 -0
  607. package/dist/theme-base.d.ts +133 -0
  608. package/dist/theme-base.d.ts.map +1 -0
  609. package/dist/theme-custom.d.ts +13 -0
  610. package/dist/theme-custom.d.ts.map +1 -0
  611. package/dist/theme-defaults.cjs +29 -0
  612. package/dist/theme-defaults.cjs.map +1 -0
  613. package/dist/theme-defaults.d.ts +1 -0
  614. package/dist/theme-defaults.d.ts.map +1 -0
  615. package/dist/theme-defaults.js +28 -0
  616. package/dist/theme-defaults.js.map +1 -0
  617. package/dist/theme.cjs +34 -0
  618. package/dist/theme.cjs.map +1 -0
  619. package/dist/theme.d.ts +36 -0
  620. package/dist/theme.d.ts.map +1 -0
  621. package/dist/theme.js +32 -0
  622. package/dist/theme.js.map +1 -0
  623. package/dist/tooltip/tooltip-types.d.ts +6 -0
  624. package/dist/tooltip/tooltip-types.d.ts.map +1 -0
  625. package/dist/types.d.ts +22 -0
  626. package/dist/types.d.ts.map +1 -0
  627. package/dist/utils/KeyboardInputManager.cjs +112 -0
  628. package/dist/utils/KeyboardInputManager.cjs.map +1 -0
  629. package/dist/utils/KeyboardInputManager.d.ts +48 -0
  630. package/dist/utils/KeyboardInputManager.d.ts.map +1 -0
  631. package/dist/utils/KeyboardInputManager.js +112 -0
  632. package/dist/utils/KeyboardInputManager.js.map +1 -0
  633. package/dist/utils/dom-input-manager.cjs +253 -0
  634. package/dist/utils/dom-input-manager.cjs.map +1 -0
  635. package/dist/utils/dom-input-manager.d.ts +113 -0
  636. package/dist/utils/dom-input-manager.d.ts.map +1 -0
  637. package/dist/utils/dom-input-manager.js +253 -0
  638. package/dist/utils/dom-input-manager.js.map +1 -0
  639. package/dist/utils/fast-deep-equal.cjs +7 -0
  640. package/dist/utils/fast-deep-equal.cjs.map +1 -0
  641. package/dist/utils/fast-deep-equal.d.ts +4 -0
  642. package/dist/utils/fast-deep-equal.d.ts.map +1 -0
  643. package/dist/utils/fast-deep-equal.js +7 -0
  644. package/dist/utils/fast-deep-equal.js.map +1 -0
  645. package/dist/utils/image-subtexture-registry.cjs +98 -0
  646. package/dist/utils/image-subtexture-registry.cjs.map +1 -0
  647. package/dist/utils/image-subtexture-registry.d.ts +17 -0
  648. package/dist/utils/image-subtexture-registry.d.ts.map +1 -0
  649. package/dist/utils/image-subtexture-registry.js +98 -0
  650. package/dist/utils/image-subtexture-registry.js.map +1 -0
  651. package/dist/utils/phaser-guards.cjs +15 -0
  652. package/dist/utils/phaser-guards.cjs.map +1 -0
  653. package/dist/utils/phaser-guards.d.ts +7 -0
  654. package/dist/utils/phaser-guards.d.ts.map +1 -0
  655. package/dist/utils/phaser-guards.js +15 -0
  656. package/dist/utils/phaser-guards.js.map +1 -0
  657. package/dist/utils/svg-texture.cjs +48 -0
  658. package/dist/utils/svg-texture.cjs.map +1 -0
  659. package/dist/utils/svg-texture.d.ts +34 -0
  660. package/dist/utils/svg-texture.d.ts.map +1 -0
  661. package/dist/utils/svg-texture.js +48 -0
  662. package/dist/utils/svg-texture.js.map +1 -0
  663. package/dist/utils/texture-registry.cjs +117 -0
  664. package/dist/utils/texture-registry.cjs.map +1 -0
  665. package/dist/utils/texture-registry.d.ts +53 -0
  666. package/dist/utils/texture-registry.d.ts.map +1 -0
  667. package/dist/utils/texture-registry.js +117 -0
  668. package/dist/utils/texture-registry.js.map +1 -0
  669. package/dist/vdom-host-types.d.ts +12 -0
  670. package/dist/vdom-host-types.d.ts.map +1 -0
  671. package/dist/vdom-registry.d.ts +27 -0
  672. package/dist/vdom-registry.d.ts.map +1 -0
  673. package/dist/vdom-utils.d.ts +16 -0
  674. package/dist/vdom-utils.d.ts.map +1 -0
  675. package/dist/vdom.cjs +36 -0
  676. package/dist/vdom.cjs.map +1 -0
  677. package/dist/vdom.d.ts +23 -0
  678. package/dist/vdom.d.ts.map +1 -0
  679. package/dist/vdom.js +36 -0
  680. package/dist/vdom.js.map +1 -0
  681. package/dist/vector/PhaserVectorDrawContext.cjs +97 -0
  682. package/dist/vector/PhaserVectorDrawContext.cjs.map +1 -0
  683. package/dist/vector/PhaserVectorDrawContext.d.ts +27 -0
  684. package/dist/vector/PhaserVectorDrawContext.d.ts.map +1 -0
  685. package/dist/vector/PhaserVectorDrawContext.js +97 -0
  686. package/dist/vector/PhaserVectorDrawContext.js.map +1 -0
  687. package/dist/vector/index.d.ts +2 -0
  688. package/dist/vector/index.d.ts.map +1 -0
  689. package/package.json +96 -0
@@ -0,0 +1,69 @@
1
+ import * as Phaser from 'phaser';
2
+ /**
3
+ * Built-in decorative background variants that can be attached to a Phaser scene.
4
+ */
5
+ export type SceneBackgroundType = 'grid' | 'logo' | 'gradient' | 'particles' | 'none';
6
+ /**
7
+ * Optional animation applied to a scene background after it is created.
8
+ */
9
+ export type BackgroundAnimation = 'lemniscate' | 'wave' | 'pulse' | 'rotate' | 'static';
10
+ /**
11
+ * Configuration for {@link addSceneBackground}.
12
+ */
13
+ export interface BackgroundConfig {
14
+ /** Background variant to create. Use `'none'` to disable background creation. */
15
+ type: SceneBackgroundType;
16
+ /** Animation preset applied to the created background. Defaults depend on caller config. */
17
+ animation?: BackgroundAnimation;
18
+ /** Background opacity, usually between `0` and `1`. */
19
+ opacity?: number;
20
+ /** Primary color as a Phaser numeric color, for example `0x4a9eff`. */
21
+ color?: number;
22
+ /** Secondary color used by gradient backgrounds. */
23
+ colorSecondary?: number;
24
+ /** Texture key used by the logo background. Defaults to the built-in logo key. */
25
+ logoKey?: string;
26
+ }
27
+ /**
28
+ * Handle returned by {@link addSceneBackground}.
29
+ */
30
+ export interface SceneBackgroundHandle {
31
+ /** Root game object created for the background. */
32
+ background: BackgroundTarget;
33
+ /** Stops animations, destroys game objects, removes generated textures, and detaches listeners. */
34
+ destroy: () => void;
35
+ /** Manually resize the background to match an external viewport size. */
36
+ resize: (width: number, height: number) => void;
37
+ }
38
+ /**
39
+ * Default scene background used when no explicit config is provided.
40
+ */
41
+ export declare const DEFAULT_BACKGROUND: BackgroundConfig;
42
+ type BackgroundTarget = Phaser.GameObjects.Container | Phaser.GameObjects.Image | Phaser.GameObjects.TileSprite;
43
+ /**
44
+ * Adds a decorative background object to a Phaser scene.
45
+ *
46
+ * The helper owns all game objects, tweens, resize listeners, and generated textures it creates.
47
+ * It automatically cleans up on scene shutdown or destroy. Call `handle.destroy()` when removing
48
+ * the background earlier.
49
+ *
50
+ * @param scene - Phaser scene that receives the background.
51
+ * @param config - Background type, colors, opacity, animation, and optional logo texture key.
52
+ * @returns A handle for manual resize and cleanup, or `null` when `config.type` is `'none'`.
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const handle = addSceneBackground(scene, {
57
+ * type: 'grid',
58
+ * animation: 'wave',
59
+ * color: 0x4a9eff,
60
+ * opacity: 0.12,
61
+ * })
62
+ *
63
+ * // Later, if the background should be removed before scene shutdown:
64
+ * handle?.destroy()
65
+ * ```
66
+ */
67
+ export declare function addSceneBackground(scene: Phaser.Scene, config?: BackgroundConfig): SceneBackgroundHandle | null;
68
+ export {};
69
+ //# sourceMappingURL=scene-backgrounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-backgrounds.d.ts","sourceRoot":"","sources":["../src/scene-backgrounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAA;AAErF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEvF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,IAAI,EAAE,mBAAmB,CAAA;IAEzB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAE/B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,UAAU,EAAE,gBAAgB,CAAA;IAE5B,mGAAmG;IACnG,OAAO,EAAE,MAAM,IAAI,CAAA;IAEnB,yEAAyE;IACzE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD;AAID;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAKhC,CAAA;AAED,KAAK,gBAAgB,GACjB,MAAM,CAAC,WAAW,CAAC,SAAS,GAC5B,MAAM,CAAC,WAAW,CAAC,KAAK,GACxB,MAAM,CAAC,WAAW,CAAC,UAAU,CAAA;AA4CjC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,MAAM,GAAE,gBAAqC,GAC5C,qBAAqB,GAAG,IAAI,CA6L9B"}
@@ -0,0 +1,268 @@
1
+ import * as Phaser from "phaser";
2
+ const DEFAULT_LOGO_KEY = "phaser-jsx-logo";
3
+ const DEFAULT_BACKGROUND = {
4
+ type: "grid",
5
+ animation: "lemniscate",
6
+ opacity: 0.15,
7
+ color: 4890367
8
+ };
9
+ let sceneBackgroundTextureId = 0;
10
+ function colorToCss(color) {
11
+ return `#${color.toString(16).padStart(6, "0")}`;
12
+ }
13
+ function createCanvasTexture(scene, width, height, draw) {
14
+ const textureKey = `__phaserjsx_scene_bg_${sceneBackgroundTextureId++}`;
15
+ const textureWidth = Math.max(1, Math.ceil(width));
16
+ const textureHeight = Math.max(1, Math.ceil(height));
17
+ const texture = scene.textures.createCanvas(textureKey, textureWidth, textureHeight);
18
+ if (!texture) {
19
+ throw new Error("Unable to create scene background texture");
20
+ }
21
+ const canvas = texture.getSourceImage();
22
+ const ctx = canvas.getContext("2d");
23
+ if (!ctx) {
24
+ throw new Error("Unable to create scene background canvas texture");
25
+ }
26
+ ctx.clearRect(0, 0, textureWidth, textureHeight);
27
+ draw(ctx, textureWidth, textureHeight);
28
+ texture.refresh();
29
+ return textureKey;
30
+ }
31
+ function removeTexture(scene, textureKey) {
32
+ if (textureKey && scene.textures.exists(textureKey)) {
33
+ scene.textures.remove(textureKey);
34
+ }
35
+ }
36
+ function addSceneBackground(scene, config = DEFAULT_BACKGROUND) {
37
+ const bgConfig = config ?? DEFAULT_BACKGROUND;
38
+ if (bgConfig.type === "none") return null;
39
+ let background;
40
+ let backgroundTween;
41
+ const particleTweens = [];
42
+ const textureKeys = /* @__PURE__ */ new Set();
43
+ let resizeFn;
44
+ let destroyed = false;
45
+ const createGridBackground = () => {
46
+ const gridSize = 40;
47
+ const color = bgConfig.color ?? 4890367;
48
+ const opacity = bgConfig.opacity ?? 0.15;
49
+ const textureKey = createCanvasTexture(scene, gridSize, gridSize, (ctx, width, height) => {
50
+ ctx.globalAlpha = opacity;
51
+ ctx.strokeStyle = colorToCss(color);
52
+ ctx.lineWidth = 1;
53
+ ctx.beginPath();
54
+ ctx.moveTo(0.5, 0);
55
+ ctx.lineTo(0.5, height);
56
+ ctx.moveTo(0, 0.5);
57
+ ctx.lineTo(width, 0.5);
58
+ ctx.stroke();
59
+ });
60
+ textureKeys.add(textureKey);
61
+ const tile = scene.add.tileSprite(0, 0, scene.scale.width, scene.scale.height, textureKey);
62
+ tile.setOrigin(0, 0);
63
+ const moveGrid = (offsetX, offsetY) => {
64
+ tile.tilePositionX = -offsetX;
65
+ tile.tilePositionY = -offsetY;
66
+ };
67
+ tile.__redrawFn = moveGrid;
68
+ background = tile;
69
+ resizeFn = (width, height) => {
70
+ tile.setSize(width, height);
71
+ };
72
+ };
73
+ const createLogoBackground = () => {
74
+ const container = scene.add.container(scene.scale.width / 2, scene.scale.height / 2);
75
+ const opacity = bgConfig.opacity ?? 0.1;
76
+ const logoKey = bgConfig.logoKey ?? DEFAULT_LOGO_KEY;
77
+ const logo = scene.add.image(0, 0, logoKey);
78
+ logo.setAlpha(opacity);
79
+ logo.setScale(0.5);
80
+ container.add(logo);
81
+ background = container;
82
+ resizeFn = (width, height) => {
83
+ container.setPosition(width / 2, height / 2);
84
+ };
85
+ };
86
+ const createGradientBackground = () => {
87
+ const color1 = bgConfig.color ?? 4890367;
88
+ const color2 = bgConfig.colorSecondary ?? 7031551;
89
+ const opacity = bgConfig.opacity ?? 0.2;
90
+ const createGradientTexture = (width, height) => createCanvasTexture(scene, width, height, (ctx, textureWidth, textureHeight) => {
91
+ const gradient = ctx.createLinearGradient(0, 0, 0, textureHeight);
92
+ gradient.addColorStop(0, colorToCss(color1));
93
+ gradient.addColorStop(1, colorToCss(color2));
94
+ ctx.globalAlpha = opacity;
95
+ ctx.fillStyle = gradient;
96
+ ctx.fillRect(0, 0, textureWidth, textureHeight);
97
+ });
98
+ let textureKey = createGradientTexture(scene.scale.width, scene.scale.height);
99
+ textureKeys.add(textureKey);
100
+ const image = scene.add.image(0, 0, textureKey);
101
+ image.setOrigin(0, 0);
102
+ resizeFn = (width, height) => {
103
+ const previousTextureKey = textureKey;
104
+ textureKey = createGradientTexture(width, height);
105
+ textureKeys.add(textureKey);
106
+ image.setTexture(textureKey);
107
+ image.setDisplaySize(width, height);
108
+ textureKeys.delete(previousTextureKey);
109
+ removeTexture(scene, previousTextureKey);
110
+ };
111
+ background = image;
112
+ };
113
+ const createParticlesBackground = () => {
114
+ const container = scene.add.container(0, 0);
115
+ const particleCount = 20;
116
+ const color = bgConfig.color ?? 4890367;
117
+ const opacity = bgConfig.opacity ?? 0.1;
118
+ const particles = [];
119
+ for (let i = 0; i < particleCount; i += 1) {
120
+ const size = Phaser.Math.Between(2, 6);
121
+ const x = Phaser.Math.Between(0, scene.scale.width);
122
+ const y = Phaser.Math.Between(0, scene.scale.height);
123
+ const particle = scene.add.circle(x, y, size, color, opacity);
124
+ container.add(particle);
125
+ particles.push(particle);
126
+ particleTweens.push(
127
+ scene.tweens.add({
128
+ targets: particle,
129
+ y: particle.y + Phaser.Math.Between(-50, 50),
130
+ x: particle.x + Phaser.Math.Between(-50, 50),
131
+ alpha: opacity * 1.5,
132
+ duration: Phaser.Math.Between(2e3, 4e3),
133
+ yoyo: true,
134
+ repeat: -1,
135
+ ease: "Sine.easeInOut"
136
+ })
137
+ );
138
+ }
139
+ background = container;
140
+ resizeFn = (width, height) => {
141
+ for (const particle of particles) {
142
+ particle.setPosition(Phaser.Math.Between(0, width), Phaser.Math.Between(0, height));
143
+ }
144
+ };
145
+ };
146
+ switch (bgConfig.type) {
147
+ case "grid":
148
+ createGridBackground();
149
+ break;
150
+ case "logo":
151
+ createLogoBackground();
152
+ break;
153
+ case "gradient":
154
+ createGradientBackground();
155
+ break;
156
+ case "particles":
157
+ createParticlesBackground();
158
+ break;
159
+ }
160
+ if (!background) return null;
161
+ if (bgConfig.animation && bgConfig.animation !== "static") {
162
+ backgroundTween = applyAnimation(scene, background, bgConfig.animation);
163
+ }
164
+ const onResize = () => {
165
+ if (resizeFn) resizeFn(scene.scale.width, scene.scale.height);
166
+ };
167
+ const cleanup = () => {
168
+ if (destroyed) return;
169
+ destroyed = true;
170
+ backgroundTween?.stop();
171
+ for (const tween of particleTweens) {
172
+ tween.stop();
173
+ }
174
+ background?.destroy();
175
+ background = void 0;
176
+ for (const textureKey of textureKeys) {
177
+ removeTexture(scene, textureKey);
178
+ }
179
+ textureKeys.clear();
180
+ scene.scale.off(Phaser.Scale.Events.RESIZE, onResize);
181
+ scene.events.off(Phaser.Scenes.Events.SHUTDOWN, cleanup);
182
+ scene.events.off(Phaser.Scenes.Events.DESTROY, cleanup);
183
+ };
184
+ scene.scale.on(Phaser.Scale.Events.RESIZE, onResize);
185
+ scene.events.once(Phaser.Scenes.Events.SHUTDOWN, cleanup);
186
+ scene.events.once(Phaser.Scenes.Events.DESTROY, cleanup);
187
+ return {
188
+ background,
189
+ destroy: cleanup,
190
+ resize: (width, height) => {
191
+ if (resizeFn) resizeFn(width, height);
192
+ }
193
+ };
194
+ }
195
+ function applyAnimation(scene, target, animation) {
196
+ const redrawFn = target.__redrawFn;
197
+ switch (animation) {
198
+ case "lemniscate":
199
+ return redrawFn ? animateLemniscate(scene, redrawFn) : animatePulse(scene, target);
200
+ case "wave":
201
+ return redrawFn ? animateWave(scene, redrawFn) : animatePulse(scene, target);
202
+ case "pulse":
203
+ return animatePulse(scene, target);
204
+ case "rotate":
205
+ return animateRotate(scene, target);
206
+ case "static":
207
+ default:
208
+ return void 0;
209
+ }
210
+ }
211
+ function animateLemniscate(scene, drawFn) {
212
+ const amplitude = 30;
213
+ const duration = 8e3;
214
+ return scene.tweens.addCounter({
215
+ from: 0,
216
+ to: Math.PI * 2,
217
+ duration,
218
+ repeat: -1,
219
+ onUpdate: (tween) => {
220
+ const t = tween.getValue();
221
+ if (t !== null) {
222
+ const offsetX = amplitude * Math.cos(t);
223
+ const offsetY = amplitude * Math.sin(2 * t) / 2;
224
+ drawFn(offsetX, offsetY);
225
+ }
226
+ }
227
+ });
228
+ }
229
+ function animateWave(scene, drawFn) {
230
+ return scene.tweens.addCounter({
231
+ from: 0,
232
+ to: 40,
233
+ duration: 3e3,
234
+ yoyo: true,
235
+ repeat: -1,
236
+ onUpdate: (tween) => {
237
+ const offset = tween.getValue();
238
+ if (offset !== null) {
239
+ drawFn(offset, 0);
240
+ }
241
+ }
242
+ });
243
+ }
244
+ function animatePulse(scene, target) {
245
+ return scene.tweens.add({
246
+ targets: target,
247
+ scaleX: 1.1,
248
+ scaleY: 1.1,
249
+ duration: 2e3,
250
+ yoyo: true,
251
+ repeat: -1,
252
+ ease: "Sine.easeInOut"
253
+ });
254
+ }
255
+ function animateRotate(scene, target) {
256
+ return scene.tweens.add({
257
+ targets: target,
258
+ angle: 360,
259
+ duration: 2e4,
260
+ repeat: -1,
261
+ ease: "Linear"
262
+ });
263
+ }
264
+ export {
265
+ DEFAULT_BACKGROUND,
266
+ addSceneBackground
267
+ };
268
+ //# sourceMappingURL=scene-backgrounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-backgrounds.js","sources":["../src/scene-backgrounds.ts"],"sourcesContent":["import * as Phaser from 'phaser'\n\n/**\n * Built-in decorative background variants that can be attached to a Phaser scene.\n */\nexport type SceneBackgroundType = 'grid' | 'logo' | 'gradient' | 'particles' | 'none'\n\n/**\n * Optional animation applied to a scene background after it is created.\n */\nexport type BackgroundAnimation = 'lemniscate' | 'wave' | 'pulse' | 'rotate' | 'static'\n\n/**\n * Configuration for {@link addSceneBackground}.\n */\nexport interface BackgroundConfig {\n /** Background variant to create. Use `'none'` to disable background creation. */\n type: SceneBackgroundType\n\n /** Animation preset applied to the created background. Defaults depend on caller config. */\n animation?: BackgroundAnimation\n\n /** Background opacity, usually between `0` and `1`. */\n opacity?: number\n\n /** Primary color as a Phaser numeric color, for example `0x4a9eff`. */\n color?: number\n\n /** Secondary color used by gradient backgrounds. */\n colorSecondary?: number\n\n /** Texture key used by the logo background. Defaults to the built-in logo key. */\n logoKey?: string\n}\n\n/**\n * Handle returned by {@link addSceneBackground}.\n */\nexport interface SceneBackgroundHandle {\n /** Root game object created for the background. */\n background: BackgroundTarget\n\n /** Stops animations, destroys game objects, removes generated textures, and detaches listeners. */\n destroy: () => void\n\n /** Manually resize the background to match an external viewport size. */\n resize: (width: number, height: number) => void\n}\n\nconst DEFAULT_LOGO_KEY = 'phaser-jsx-logo'\n\n/**\n * Default scene background used when no explicit config is provided.\n */\nexport const DEFAULT_BACKGROUND: BackgroundConfig = {\n type: 'grid',\n animation: 'lemniscate',\n opacity: 0.15,\n color: 0x4a9eff,\n}\n\ntype BackgroundTarget =\n | Phaser.GameObjects.Container\n | Phaser.GameObjects.Image\n | Phaser.GameObjects.TileSprite\ntype RedrawableTarget = BackgroundTarget & { __redrawFn?: (x: number, y: number) => void }\n\nlet sceneBackgroundTextureId = 0\n\nfunction colorToCss(color: number): string {\n return `#${color.toString(16).padStart(6, '0')}`\n}\n\nfunction createCanvasTexture(\n scene: Phaser.Scene,\n width: number,\n height: number,\n draw: (ctx: CanvasRenderingContext2D, width: number, height: number) => void\n): string {\n const textureKey = `__phaserjsx_scene_bg_${sceneBackgroundTextureId++}`\n const textureWidth = Math.max(1, Math.ceil(width))\n const textureHeight = Math.max(1, Math.ceil(height))\n const texture = scene.textures.createCanvas(textureKey, textureWidth, textureHeight)\n\n if (!texture) {\n throw new Error('Unable to create scene background texture')\n }\n\n const canvas = texture.getSourceImage() as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n\n if (!ctx) {\n throw new Error('Unable to create scene background canvas texture')\n }\n\n ctx.clearRect(0, 0, textureWidth, textureHeight)\n draw(ctx, textureWidth, textureHeight)\n texture.refresh()\n\n return textureKey\n}\n\nfunction removeTexture(scene: Phaser.Scene, textureKey: string | undefined): void {\n if (textureKey && scene.textures.exists(textureKey)) {\n scene.textures.remove(textureKey)\n }\n}\n\n/**\n * Adds a decorative background object to a Phaser scene.\n *\n * The helper owns all game objects, tweens, resize listeners, and generated textures it creates.\n * It automatically cleans up on scene shutdown or destroy. Call `handle.destroy()` when removing\n * the background earlier.\n *\n * @param scene - Phaser scene that receives the background.\n * @param config - Background type, colors, opacity, animation, and optional logo texture key.\n * @returns A handle for manual resize and cleanup, or `null` when `config.type` is `'none'`.\n *\n * @example\n * ```ts\n * const handle = addSceneBackground(scene, {\n * type: 'grid',\n * animation: 'wave',\n * color: 0x4a9eff,\n * opacity: 0.12,\n * })\n *\n * // Later, if the background should be removed before scene shutdown:\n * handle?.destroy()\n * ```\n */\nexport function addSceneBackground(\n scene: Phaser.Scene,\n config: BackgroundConfig = DEFAULT_BACKGROUND\n): SceneBackgroundHandle | null {\n const bgConfig = config ?? DEFAULT_BACKGROUND\n if (bgConfig.type === 'none') return null\n\n let background: BackgroundTarget | undefined\n let backgroundTween: Phaser.Tweens.Tween | undefined\n const particleTweens: Phaser.Tweens.Tween[] = []\n const textureKeys = new Set<string>()\n let resizeFn: ((width: number, height: number) => void) | undefined\n let destroyed = false\n\n const createGridBackground = () => {\n const gridSize = 40\n const color = bgConfig.color ?? 0x4a9eff\n const opacity = bgConfig.opacity ?? 0.15\n const textureKey = createCanvasTexture(scene, gridSize, gridSize, (ctx, width, height) => {\n ctx.globalAlpha = opacity\n ctx.strokeStyle = colorToCss(color)\n ctx.lineWidth = 1\n ctx.beginPath()\n ctx.moveTo(0.5, 0)\n ctx.lineTo(0.5, height)\n ctx.moveTo(0, 0.5)\n ctx.lineTo(width, 0.5)\n ctx.stroke()\n })\n textureKeys.add(textureKey)\n\n const tile = scene.add.tileSprite(0, 0, scene.scale.width, scene.scale.height, textureKey)\n tile.setOrigin(0, 0)\n\n const moveGrid = (offsetX: number, offsetY: number) => {\n tile.tilePositionX = -offsetX\n tile.tilePositionY = -offsetY\n }\n\n ;(tile as RedrawableTarget).__redrawFn = moveGrid\n background = tile\n resizeFn = (width, height) => {\n tile.setSize(width, height)\n }\n }\n\n const createLogoBackground = () => {\n const container = scene.add.container(scene.scale.width / 2, scene.scale.height / 2)\n const opacity = bgConfig.opacity ?? 0.1\n const logoKey = bgConfig.logoKey ?? DEFAULT_LOGO_KEY\n\n const logo = scene.add.image(0, 0, logoKey)\n logo.setAlpha(opacity)\n logo.setScale(0.5)\n\n container.add(logo)\n background = container\n resizeFn = (width, height) => {\n container.setPosition(width / 2, height / 2)\n }\n }\n\n const createGradientBackground = () => {\n const color1 = bgConfig.color ?? 0x4a9eff\n const color2 = bgConfig.colorSecondary ?? 0x6b4aff\n const opacity = bgConfig.opacity ?? 0.2\n\n const createGradientTexture = (width: number, height: number) =>\n createCanvasTexture(scene, width, height, (ctx, textureWidth, textureHeight) => {\n const gradient = ctx.createLinearGradient(0, 0, 0, textureHeight)\n gradient.addColorStop(0, colorToCss(color1))\n gradient.addColorStop(1, colorToCss(color2))\n\n ctx.globalAlpha = opacity\n ctx.fillStyle = gradient\n ctx.fillRect(0, 0, textureWidth, textureHeight)\n })\n\n let textureKey = createGradientTexture(scene.scale.width, scene.scale.height)\n textureKeys.add(textureKey)\n\n const image = scene.add.image(0, 0, textureKey)\n image.setOrigin(0, 0)\n\n resizeFn = (width, height) => {\n const previousTextureKey = textureKey\n textureKey = createGradientTexture(width, height)\n textureKeys.add(textureKey)\n image.setTexture(textureKey)\n image.setDisplaySize(width, height)\n textureKeys.delete(previousTextureKey)\n removeTexture(scene, previousTextureKey)\n }\n\n background = image\n }\n\n const createParticlesBackground = () => {\n const container = scene.add.container(0, 0)\n const particleCount = 20\n const color = bgConfig.color ?? 0x4a9eff\n const opacity = bgConfig.opacity ?? 0.1\n const particles: Phaser.GameObjects.Arc[] = []\n\n for (let i = 0; i < particleCount; i += 1) {\n const size = Phaser.Math.Between(2, 6)\n const x = Phaser.Math.Between(0, scene.scale.width)\n const y = Phaser.Math.Between(0, scene.scale.height)\n\n const particle = scene.add.circle(x, y, size, color, opacity)\n container.add(particle)\n particles.push(particle)\n\n particleTweens.push(\n scene.tweens.add({\n targets: particle,\n y: particle.y + Phaser.Math.Between(-50, 50),\n x: particle.x + Phaser.Math.Between(-50, 50),\n alpha: opacity * 1.5,\n duration: Phaser.Math.Between(2000, 4000),\n yoyo: true,\n repeat: -1,\n ease: 'Sine.easeInOut',\n })\n )\n }\n\n background = container\n resizeFn = (width, height) => {\n for (const particle of particles) {\n particle.setPosition(Phaser.Math.Between(0, width), Phaser.Math.Between(0, height))\n }\n }\n }\n\n switch (bgConfig.type) {\n case 'grid':\n createGridBackground()\n break\n case 'logo':\n createLogoBackground()\n break\n case 'gradient':\n createGradientBackground()\n break\n case 'particles':\n createParticlesBackground()\n break\n }\n\n if (!background) return null\n\n if (bgConfig.animation && bgConfig.animation !== 'static') {\n backgroundTween = applyAnimation(scene, background, bgConfig.animation)\n }\n\n const onResize = () => {\n if (resizeFn) resizeFn(scene.scale.width, scene.scale.height)\n }\n\n const cleanup = () => {\n if (destroyed) return\n destroyed = true\n\n backgroundTween?.stop()\n for (const tween of particleTweens) {\n tween.stop()\n }\n\n background?.destroy()\n background = undefined\n for (const textureKey of textureKeys) {\n removeTexture(scene, textureKey)\n }\n textureKeys.clear()\n\n scene.scale.off(Phaser.Scale.Events.RESIZE, onResize)\n scene.events.off(Phaser.Scenes.Events.SHUTDOWN, cleanup)\n scene.events.off(Phaser.Scenes.Events.DESTROY, cleanup)\n }\n\n scene.scale.on(Phaser.Scale.Events.RESIZE, onResize)\n scene.events.once(Phaser.Scenes.Events.SHUTDOWN, cleanup)\n scene.events.once(Phaser.Scenes.Events.DESTROY, cleanup)\n\n return {\n background,\n destroy: cleanup,\n resize: (width, height) => {\n if (resizeFn) resizeFn(width, height)\n },\n }\n}\n\nfunction applyAnimation(\n scene: Phaser.Scene,\n target: BackgroundTarget,\n animation: BackgroundAnimation\n): Phaser.Tweens.Tween | undefined {\n const redrawFn = (target as RedrawableTarget).__redrawFn\n\n switch (animation) {\n case 'lemniscate':\n return redrawFn ? animateLemniscate(scene, redrawFn) : animatePulse(scene, target)\n case 'wave':\n return redrawFn ? animateWave(scene, redrawFn) : animatePulse(scene, target)\n case 'pulse':\n return animatePulse(scene, target)\n case 'rotate':\n return animateRotate(scene, target)\n case 'static':\n default:\n return undefined\n }\n}\n\nfunction animateLemniscate(\n scene: Phaser.Scene,\n drawFn: (x: number, y: number) => void\n): Phaser.Tweens.Tween {\n const amplitude = 30\n const duration = 8000\n\n return scene.tweens.addCounter({\n from: 0,\n to: Math.PI * 2,\n duration,\n repeat: -1,\n onUpdate: (tween) => {\n const t = tween.getValue()\n if (t !== null) {\n const offsetX = amplitude * Math.cos(t)\n const offsetY = (amplitude * Math.sin(2 * t)) / 2\n drawFn(offsetX, offsetY)\n }\n },\n })\n}\n\nfunction animateWave(\n scene: Phaser.Scene,\n drawFn: (x: number, y: number) => void\n): Phaser.Tweens.Tween {\n return scene.tweens.addCounter({\n from: 0,\n to: 40,\n duration: 3000,\n yoyo: true,\n repeat: -1,\n onUpdate: (tween) => {\n const offset = tween.getValue()\n if (offset !== null) {\n drawFn(offset, 0)\n }\n },\n })\n}\n\nfunction animatePulse(scene: Phaser.Scene, target: BackgroundTarget): Phaser.Tweens.Tween {\n return scene.tweens.add({\n targets: target,\n scaleX: 1.1,\n scaleY: 1.1,\n duration: 2000,\n yoyo: true,\n repeat: -1,\n ease: 'Sine.easeInOut',\n })\n}\n\nfunction animateRotate(scene: Phaser.Scene, target: BackgroundTarget): Phaser.Tweens.Tween {\n return scene.tweens.add({\n targets: target,\n angle: 360,\n duration: 20000,\n repeat: -1,\n ease: 'Linear',\n })\n}\n"],"names":[],"mappings":";AAiDA,MAAM,mBAAmB;AAKlB,MAAM,qBAAuC;AAAA,EAClD,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AACT;AAQA,IAAI,2BAA2B;AAE/B,SAAS,WAAW,OAAuB;AACzC,SAAO,IAAI,MAAM,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AAChD;AAEA,SAAS,oBACP,OACA,OACA,QACA,MACQ;AACR,QAAM,aAAa,wBAAwB,0BAA0B;AACrE,QAAM,eAAe,KAAK,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC;AACjD,QAAM,gBAAgB,KAAK,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC;AACnD,QAAM,UAAU,MAAM,SAAS,aAAa,YAAY,cAAc,aAAa;AAEnF,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,2CAA2C;AAAA,EAC7D;AAEA,QAAM,SAAS,QAAQ,eAAA;AACvB,QAAM,MAAM,OAAO,WAAW,IAAI;AAElC,MAAI,CAAC,KAAK;AACR,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AAEA,MAAI,UAAU,GAAG,GAAG,cAAc,aAAa;AAC/C,OAAK,KAAK,cAAc,aAAa;AACrC,UAAQ,QAAA;AAER,SAAO;AACT;AAEA,SAAS,cAAc,OAAqB,YAAsC;AAChF,MAAI,cAAc,MAAM,SAAS,OAAO,UAAU,GAAG;AACnD,UAAM,SAAS,OAAO,UAAU;AAAA,EAClC;AACF;AA0BO,SAAS,mBACd,OACA,SAA2B,oBACG;AAC9B,QAAM,WAAW,UAAU;AAC3B,MAAI,SAAS,SAAS,OAAQ,QAAO;AAErC,MAAI;AACJ,MAAI;AACJ,QAAM,iBAAwC,CAAA;AAC9C,QAAM,kCAAkB,IAAA;AACxB,MAAI;AACJ,MAAI,YAAY;AAEhB,QAAM,uBAAuB,MAAM;AACjC,UAAM,WAAW;AACjB,UAAM,QAAQ,SAAS,SAAS;AAChC,UAAM,UAAU,SAAS,WAAW;AACpC,UAAM,aAAa,oBAAoB,OAAO,UAAU,UAAU,CAAC,KAAK,OAAO,WAAW;AACxF,UAAI,cAAc;AAClB,UAAI,cAAc,WAAW,KAAK;AAClC,UAAI,YAAY;AAChB,UAAI,UAAA;AACJ,UAAI,OAAO,KAAK,CAAC;AACjB,UAAI,OAAO,KAAK,MAAM;AACtB,UAAI,OAAO,GAAG,GAAG;AACjB,UAAI,OAAO,OAAO,GAAG;AACrB,UAAI,OAAA;AAAA,IACN,CAAC;AACD,gBAAY,IAAI,UAAU;AAE1B,UAAM,OAAO,MAAM,IAAI,WAAW,GAAG,GAAG,MAAM,MAAM,OAAO,MAAM,MAAM,QAAQ,UAAU;AACzF,SAAK,UAAU,GAAG,CAAC;AAEnB,UAAM,WAAW,CAAC,SAAiB,YAAoB;AACrD,WAAK,gBAAgB,CAAC;AACtB,WAAK,gBAAgB,CAAC;AAAA,IACxB;AAEE,SAA0B,aAAa;AACzC,iBAAa;AACb,eAAW,CAAC,OAAO,WAAW;AAC5B,WAAK,QAAQ,OAAO,MAAM;AAAA,IAC5B;AAAA,EACF;AAEA,QAAM,uBAAuB,MAAM;AACjC,UAAM,YAAY,MAAM,IAAI,UAAU,MAAM,MAAM,QAAQ,GAAG,MAAM,MAAM,SAAS,CAAC;AACnF,UAAM,UAAU,SAAS,WAAW;AACpC,UAAM,UAAU,SAAS,WAAW;AAEpC,UAAM,OAAO,MAAM,IAAI,MAAM,GAAG,GAAG,OAAO;AAC1C,SAAK,SAAS,OAAO;AACrB,SAAK,SAAS,GAAG;AAEjB,cAAU,IAAI,IAAI;AAClB,iBAAa;AACb,eAAW,CAAC,OAAO,WAAW;AAC5B,gBAAU,YAAY,QAAQ,GAAG,SAAS,CAAC;AAAA,IAC7C;AAAA,EACF;AAEA,QAAM,2BAA2B,MAAM;AACrC,UAAM,SAAS,SAAS,SAAS;AACjC,UAAM,SAAS,SAAS,kBAAkB;AAC1C,UAAM,UAAU,SAAS,WAAW;AAEpC,UAAM,wBAAwB,CAAC,OAAe,WAC5C,oBAAoB,OAAO,OAAO,QAAQ,CAAC,KAAK,cAAc,kBAAkB;AAC9E,YAAM,WAAW,IAAI,qBAAqB,GAAG,GAAG,GAAG,aAAa;AAChE,eAAS,aAAa,GAAG,WAAW,MAAM,CAAC;AAC3C,eAAS,aAAa,GAAG,WAAW,MAAM,CAAC;AAE3C,UAAI,cAAc;AAClB,UAAI,YAAY;AAChB,UAAI,SAAS,GAAG,GAAG,cAAc,aAAa;AAAA,IAChD,CAAC;AAEH,QAAI,aAAa,sBAAsB,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM;AAC5E,gBAAY,IAAI,UAAU;AAE1B,UAAM,QAAQ,MAAM,IAAI,MAAM,GAAG,GAAG,UAAU;AAC9C,UAAM,UAAU,GAAG,CAAC;AAEpB,eAAW,CAAC,OAAO,WAAW;AAC5B,YAAM,qBAAqB;AAC3B,mBAAa,sBAAsB,OAAO,MAAM;AAChD,kBAAY,IAAI,UAAU;AAC1B,YAAM,WAAW,UAAU;AAC3B,YAAM,eAAe,OAAO,MAAM;AAClC,kBAAY,OAAO,kBAAkB;AACrC,oBAAc,OAAO,kBAAkB;AAAA,IACzC;AAEA,iBAAa;AAAA,EACf;AAEA,QAAM,4BAA4B,MAAM;AACtC,UAAM,YAAY,MAAM,IAAI,UAAU,GAAG,CAAC;AAC1C,UAAM,gBAAgB;AACtB,UAAM,QAAQ,SAAS,SAAS;AAChC,UAAM,UAAU,SAAS,WAAW;AACpC,UAAM,YAAsC,CAAA;AAE5C,aAAS,IAAI,GAAG,IAAI,eAAe,KAAK,GAAG;AACzC,YAAM,OAAO,OAAO,KAAK,QAAQ,GAAG,CAAC;AACrC,YAAM,IAAI,OAAO,KAAK,QAAQ,GAAG,MAAM,MAAM,KAAK;AAClD,YAAM,IAAI,OAAO,KAAK,QAAQ,GAAG,MAAM,MAAM,MAAM;AAEnD,YAAM,WAAW,MAAM,IAAI,OAAO,GAAG,GAAG,MAAM,OAAO,OAAO;AAC5D,gBAAU,IAAI,QAAQ;AACtB,gBAAU,KAAK,QAAQ;AAEvB,qBAAe;AAAA,QACb,MAAM,OAAO,IAAI;AAAA,UACf,SAAS;AAAA,UACT,GAAG,SAAS,IAAI,OAAO,KAAK,QAAQ,KAAK,EAAE;AAAA,UAC3C,GAAG,SAAS,IAAI,OAAO,KAAK,QAAQ,KAAK,EAAE;AAAA,UAC3C,OAAO,UAAU;AAAA,UACjB,UAAU,OAAO,KAAK,QAAQ,KAAM,GAAI;AAAA,UACxC,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,MAAM;AAAA,QAAA,CACP;AAAA,MAAA;AAAA,IAEL;AAEA,iBAAa;AACb,eAAW,CAAC,OAAO,WAAW;AAC5B,iBAAW,YAAY,WAAW;AAChC,iBAAS,YAAY,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,KAAK,QAAQ,GAAG,MAAM,CAAC;AAAA,MACpF;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,SAAS,MAAA;AAAA,IACf,KAAK;AACH,2BAAA;AACA;AAAA,IACF,KAAK;AACH,2BAAA;AACA;AAAA,IACF,KAAK;AACH,+BAAA;AACA;AAAA,IACF,KAAK;AACH,gCAAA;AACA;AAAA,EAAA;AAGJ,MAAI,CAAC,WAAY,QAAO;AAExB,MAAI,SAAS,aAAa,SAAS,cAAc,UAAU;AACzD,sBAAkB,eAAe,OAAO,YAAY,SAAS,SAAS;AAAA,EACxE;AAEA,QAAM,WAAW,MAAM;AACrB,QAAI,SAAU,UAAS,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM;AAAA,EAC9D;AAEA,QAAM,UAAU,MAAM;AACpB,QAAI,UAAW;AACf,gBAAY;AAEZ,qBAAiB,KAAA;AACjB,eAAW,SAAS,gBAAgB;AAClC,YAAM,KAAA;AAAA,IACR;AAEA,gBAAY,QAAA;AACZ,iBAAa;AACb,eAAW,cAAc,aAAa;AACpC,oBAAc,OAAO,UAAU;AAAA,IACjC;AACA,gBAAY,MAAA;AAEZ,UAAM,MAAM,IAAI,OAAO,MAAM,OAAO,QAAQ,QAAQ;AACpD,UAAM,OAAO,IAAI,OAAO,OAAO,OAAO,UAAU,OAAO;AACvD,UAAM,OAAO,IAAI,OAAO,OAAO,OAAO,SAAS,OAAO;AAAA,EACxD;AAEA,QAAM,MAAM,GAAG,OAAO,MAAM,OAAO,QAAQ,QAAQ;AACnD,QAAM,OAAO,KAAK,OAAO,OAAO,OAAO,UAAU,OAAO;AACxD,QAAM,OAAO,KAAK,OAAO,OAAO,OAAO,SAAS,OAAO;AAEvD,SAAO;AAAA,IACL;AAAA,IACA,SAAS;AAAA,IACT,QAAQ,CAAC,OAAO,WAAW;AACzB,UAAI,SAAU,UAAS,OAAO,MAAM;AAAA,IACtC;AAAA,EAAA;AAEJ;AAEA,SAAS,eACP,OACA,QACA,WACiC;AACjC,QAAM,WAAY,OAA4B;AAE9C,UAAQ,WAAA;AAAA,IACN,KAAK;AACH,aAAO,WAAW,kBAAkB,OAAO,QAAQ,IAAI,aAAa,OAAO,MAAM;AAAA,IACnF,KAAK;AACH,aAAO,WAAW,YAAY,OAAO,QAAQ,IAAI,aAAa,OAAO,MAAM;AAAA,IAC7E,KAAK;AACH,aAAO,aAAa,OAAO,MAAM;AAAA,IACnC,KAAK;AACH,aAAO,cAAc,OAAO,MAAM;AAAA,IACpC,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EAAA;AAEb;AAEA,SAAS,kBACP,OACA,QACqB;AACrB,QAAM,YAAY;AAClB,QAAM,WAAW;AAEjB,SAAO,MAAM,OAAO,WAAW;AAAA,IAC7B,MAAM;AAAA,IACN,IAAI,KAAK,KAAK;AAAA,IACd;AAAA,IACA,QAAQ;AAAA,IACR,UAAU,CAAC,UAAU;AACnB,YAAM,IAAI,MAAM,SAAA;AAChB,UAAI,MAAM,MAAM;AACd,cAAM,UAAU,YAAY,KAAK,IAAI,CAAC;AACtC,cAAM,UAAW,YAAY,KAAK,IAAI,IAAI,CAAC,IAAK;AAChD,eAAO,SAAS,OAAO;AAAA,MACzB;AAAA,IACF;AAAA,EAAA,CACD;AACH;AAEA,SAAS,YACP,OACA,QACqB;AACrB,SAAO,MAAM,OAAO,WAAW;AAAA,IAC7B,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU,CAAC,UAAU;AACnB,YAAM,SAAS,MAAM,SAAA;AACrB,UAAI,WAAW,MAAM;AACnB,eAAO,QAAQ,CAAC;AAAA,MAClB;AAAA,IACF;AAAA,EAAA,CACD;AACH;AAEA,SAAS,aAAa,OAAqB,QAA+C;AACxF,SAAO,MAAM,OAAO,IAAI;AAAA,IACtB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,EAAA,CACP;AACH;AAEA,SAAS,cAAc,OAAqB,QAA+C;AACzF,SAAO,MAAM,OAAO,IAAI;AAAA,IACtB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,EAAA,CACP;AACH;"}
@@ -0,0 +1,133 @@
1
+ import { IconProps } from './components/custom';
2
+ import { BackgroundProps, LayoutProps, PhaserProps, TextSpecificProps, TransformProps } from './core-props';
3
+ import { CustomComponentThemes } from './theme-custom';
4
+ import { PartialTheme as CorePartialTheme, PortableTextStyle } from '@number10/jsx-core';
5
+ /**
6
+ * Type helper for nested component themes
7
+ * Allows a component theme to include nested themes for child components
8
+ * Excludes lowercase primitives to avoid conflicts with prop names
9
+ */
10
+ export type NestedComponentThemes = {
11
+ [K in Exclude<keyof ComponentThemes, 'view' | 'text' | 'nineslice' | 'sprite' | 'image' | 'graphics' | 'vectorDraw' | 'tilesprite' | 'particles'>]?: Partial<ComponentThemes[K]>;
12
+ };
13
+ /**
14
+ * Theme definition for View component
15
+ * Includes all visual props that can be themed, plus nested component themes
16
+ */
17
+ export interface ViewTheme extends Partial<TransformProps>, Partial<PhaserProps>, Partial<LayoutProps>, Partial<BackgroundProps>, NestedComponentThemes {
18
+ }
19
+ /**
20
+ * Theme definition for Text component
21
+ * Includes all text-specific visual props that can be themed, plus nested component themes
22
+ */
23
+ export interface TextTheme extends Partial<TransformProps>, Partial<PhaserProps>, Partial<TextSpecificProps>, NestedComponentThemes {
24
+ visible?: boolean | import('./core-props').Display;
25
+ style?: PortableTextStyle;
26
+ }
27
+ /**
28
+ * Theme definition for NineSlice component
29
+ */
30
+ export interface NineSliceTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
31
+ visible?: boolean | import('./core-props').Display;
32
+ texture?: string;
33
+ leftWidth?: number;
34
+ rightWidth?: number;
35
+ topHeight?: number;
36
+ bottomHeight?: number;
37
+ }
38
+ /**
39
+ * Theme definition for Sprite component (dummy - minimal theme support)
40
+ */
41
+ export interface SpriteTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
42
+ visible?: boolean | import('./core-props').Display;
43
+ texture?: string;
44
+ tint?: number;
45
+ }
46
+ /**
47
+ * Theme definition for Image component (dummy - minimal theme support)
48
+ */
49
+ export interface ImageTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
50
+ visible?: boolean | import('./core-props').Display;
51
+ texture?: string;
52
+ tint?: number;
53
+ }
54
+ /**
55
+ * Theme definition for Graphics component (dummy - minimal theme support)
56
+ */
57
+ export interface GraphicsTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
58
+ visible?: boolean | import('./core-props').Display;
59
+ }
60
+ /**
61
+ * Theme definition for portable vector drawing content.
62
+ */
63
+ export interface VectorDrawTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
64
+ visible?: boolean | import('./core-props').Display;
65
+ }
66
+ /**
67
+ * Theme definition for TileSprite component (dummy - minimal theme support)
68
+ */
69
+ export interface TileSpriteTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
70
+ visible?: boolean | import('./core-props').Display;
71
+ texture?: string;
72
+ tint?: number;
73
+ }
74
+ /**
75
+ * Theme definition for Particles component (minimal support)
76
+ */
77
+ export interface ParticlesTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
78
+ visible?: boolean | import('./core-props').Display;
79
+ texture?: string;
80
+ }
81
+ export interface IconTheme extends Partial<IconProps> {
82
+ }
83
+ /**
84
+ * Built-in component theme definitions
85
+ */
86
+ export interface BuiltInComponentThemes {
87
+ view: ViewTheme;
88
+ text: TextTheme;
89
+ nineslice: NineSliceTheme;
90
+ sprite: SpriteTheme;
91
+ image: ImageTheme;
92
+ graphics: GraphicsTheme;
93
+ vectorDraw: VectorDrawTheme;
94
+ tilesprite: TileSpriteTheme;
95
+ particles: ParticlesTheme;
96
+ View: ViewTheme;
97
+ Text: TextTheme;
98
+ NineSlice: NineSliceTheme;
99
+ Sprite: SpriteTheme;
100
+ Image: ImageTheme;
101
+ Graphics: GraphicsTheme;
102
+ TileSprite: TileSpriteTheme;
103
+ Particles: ParticlesTheme;
104
+ Icon: IconTheme;
105
+ }
106
+ /**
107
+ * Complete theme definition combining built-in and custom components
108
+ */
109
+ export interface ComponentThemes extends BuiltInComponentThemes, CustomComponentThemes {
110
+ }
111
+ export type { CustomComponentThemes };
112
+ /**
113
+ * Phaser-specific theme override map.
114
+ *
115
+ * When a component moves from Phaser to core, its theme interface moves into
116
+ * core's ComponentThemes generic and is removed from this instantiation.
117
+ *
118
+ * A hypothetical Pixi renderer would define:
119
+ * type PixiPartialTheme = CorePartialTheme<PixiComponentThemes>
120
+ */
121
+ export type PhaserPartialTheme = CorePartialTheme<ComponentThemes>;
122
+ /** @deprecated Prefer PhaserPartialTheme for renderer-specific theme overrides. */
123
+ export type PartialTheme = PhaserPartialTheme;
124
+ /**
125
+ * Complete theme with all component styles defined
126
+ * Built-in components are required, custom components are optional
127
+ */
128
+ export type Theme = {
129
+ [K in keyof BuiltInComponentThemes]: BuiltInComponentThemes[K];
130
+ } & {
131
+ [K in keyof Omit<ComponentThemes, keyof BuiltInComponentThemes>]?: ComponentThemes[K];
132
+ };
133
+ //# sourceMappingURL=theme-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-base.d.ts","sourceRoot":"","sources":["../src/theme-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { PortableComponentThemes } from '@number10/jsx-components';
2
+ import { EffectName } from '@number10/jsx-core';
3
+ import { NestedComponentThemes, ViewTheme } from './theme-base';
4
+ type PortablePrimitiveThemeKeys = 'View' | 'Text' | 'Image' | 'Sprite' | 'Icon';
5
+ type PortableCustomComponentThemes = Omit<PortableComponentThemes, PortablePrimitiveThemeKeys>;
6
+ export interface CustomComponentThemes extends PortableCustomComponentThemes {
7
+ NineSliceButton: ViewTheme & {
8
+ effect?: EffectName;
9
+ effectConfig?: Record<string, unknown>;
10
+ } & NestedComponentThemes;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=theme-custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-custom.d.ts","sourceRoot":"","sources":["../src/theme-custom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEpE,KAAK,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAC/E,KAAK,6BAA6B,GAAG,IAAI,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAA;AAE9F,MAAM,WAAW,qBAAsB,SAAQ,6BAA6B;IAC1E,eAAe,EAAE,SAAS,GAAG;QAC3B,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACvC,GAAG,qBAAqB,CAAA;CAC1B"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ const jsxCore = require("@number10/jsx-core");
3
+ function registerPrimitiveDefaults(name) {
4
+ jsxCore.registerComponentThemeDefaults(name, () => ({ alpha: 1, visible: true }));
5
+ }
6
+ function registerTextDefaults(name) {
7
+ jsxCore.registerComponentThemeDefaults(name, (colors) => ({
8
+ text: "",
9
+ alpha: 1,
10
+ visible: true,
11
+ style: jsxCore.createTextStyleTokens(colors.text.DEFAULT.toString()).DEFAULT
12
+ }));
13
+ }
14
+ function registerPhaserThemeDefaults() {
15
+ registerPrimitiveDefaults("view");
16
+ registerTextDefaults("text");
17
+ registerPrimitiveDefaults("nineslice");
18
+ registerPrimitiveDefaults("NineSlice");
19
+ registerPrimitiveDefaults("graphics");
20
+ registerPrimitiveDefaults("Graphics");
21
+ registerPrimitiveDefaults("vectorDraw");
22
+ registerPrimitiveDefaults("tilesprite");
23
+ registerPrimitiveDefaults("TileSprite");
24
+ registerPrimitiveDefaults("particles");
25
+ registerPrimitiveDefaults("Particles");
26
+ jsxCore.registerComponentThemeDefaults("NineSliceButton", () => ({}));
27
+ }
28
+ registerPhaserThemeDefaults();
29
+ //# sourceMappingURL=theme-defaults.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-defaults.cjs","sources":["../src/theme-defaults.ts"],"sourcesContent":["/**\n * Phaser-specific theme default registration.\n *\n * Portable component defaults live in @number10/jsx-components. This module only\n * contributes Phaser host primitives and Phaser-only custom component themes.\n */\nimport {\n createTextStyleTokens,\n registerComponentThemeDefaults,\n type ColorTokens,\n} from '@number10/jsx-core'\nimport './theme-custom' // Import to activate declaration merging\n\nfunction registerPrimitiveDefaults(name: string): void {\n registerComponentThemeDefaults(name, () => ({ alpha: 1, visible: true }))\n}\n\nfunction registerTextDefaults(name: string): void {\n registerComponentThemeDefaults(name, (colors: ColorTokens) => ({\n text: '',\n alpha: 1,\n visible: true,\n style: createTextStyleTokens(colors.text.DEFAULT.toString()).DEFAULT,\n }))\n}\n\nfunction registerPhaserThemeDefaults(): void {\n registerPrimitiveDefaults('view')\n registerTextDefaults('text')\n registerPrimitiveDefaults('nineslice')\n registerPrimitiveDefaults('NineSlice')\n registerPrimitiveDefaults('graphics')\n registerPrimitiveDefaults('Graphics')\n registerPrimitiveDefaults('vectorDraw')\n registerPrimitiveDefaults('tilesprite')\n registerPrimitiveDefaults('TileSprite')\n registerPrimitiveDefaults('particles')\n registerPrimitiveDefaults('Particles')\n\n registerComponentThemeDefaults('NineSliceButton', () => ({}))\n}\n\nregisterPhaserThemeDefaults()\n"],"names":["registerComponentThemeDefaults","createTextStyleTokens"],"mappings":";;AAaA,SAAS,0BAA0B,MAAoB;AACrDA,UAAAA,+BAA+B,MAAM,OAAO,EAAE,OAAO,GAAG,SAAS,OAAO;AAC1E;AAEA,SAAS,qBAAqB,MAAoB;AAChDA,yCAA+B,MAAM,CAAC,YAAyB;AAAA,IAC7D,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAOC,QAAAA,sBAAsB,OAAO,KAAK,QAAQ,SAAA,CAAU,EAAE;AAAA,EAAA,EAC7D;AACJ;AAEA,SAAS,8BAAoC;AAC3C,4BAA0B,MAAM;AAChC,uBAAqB,MAAM;AAC3B,4BAA0B,WAAW;AACrC,4BAA0B,WAAW;AACrC,4BAA0B,UAAU;AACpC,4BAA0B,UAAU;AACpC,4BAA0B,YAAY;AACtC,4BAA0B,YAAY;AACtC,4BAA0B,YAAY;AACtC,4BAA0B,WAAW;AACrC,4BAA0B,WAAW;AAErCD,yCAA+B,mBAAmB,OAAO,CAAA,EAAG;AAC9D;AAEA,4BAAA;"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=theme-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-defaults.d.ts","sourceRoot":"","sources":["../src/theme-defaults.ts"],"names":[],"mappings":"AAWA,OAAO,gBAAgB,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { registerComponentThemeDefaults, createTextStyleTokens } from "@number10/jsx-core";
2
+ function registerPrimitiveDefaults(name) {
3
+ registerComponentThemeDefaults(name, () => ({ alpha: 1, visible: true }));
4
+ }
5
+ function registerTextDefaults(name) {
6
+ registerComponentThemeDefaults(name, (colors) => ({
7
+ text: "",
8
+ alpha: 1,
9
+ visible: true,
10
+ style: createTextStyleTokens(colors.text.DEFAULT.toString()).DEFAULT
11
+ }));
12
+ }
13
+ function registerPhaserThemeDefaults() {
14
+ registerPrimitiveDefaults("view");
15
+ registerTextDefaults("text");
16
+ registerPrimitiveDefaults("nineslice");
17
+ registerPrimitiveDefaults("NineSlice");
18
+ registerPrimitiveDefaults("graphics");
19
+ registerPrimitiveDefaults("Graphics");
20
+ registerPrimitiveDefaults("vectorDraw");
21
+ registerPrimitiveDefaults("tilesprite");
22
+ registerPrimitiveDefaults("TileSprite");
23
+ registerPrimitiveDefaults("particles");
24
+ registerPrimitiveDefaults("Particles");
25
+ registerComponentThemeDefaults("NineSliceButton", () => ({}));
26
+ }
27
+ registerPhaserThemeDefaults();
28
+ //# sourceMappingURL=theme-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-defaults.js","sources":["../src/theme-defaults.ts"],"sourcesContent":["/**\n * Phaser-specific theme default registration.\n *\n * Portable component defaults live in @number10/jsx-components. This module only\n * contributes Phaser host primitives and Phaser-only custom component themes.\n */\nimport {\n createTextStyleTokens,\n registerComponentThemeDefaults,\n type ColorTokens,\n} from '@number10/jsx-core'\nimport './theme-custom' // Import to activate declaration merging\n\nfunction registerPrimitiveDefaults(name: string): void {\n registerComponentThemeDefaults(name, () => ({ alpha: 1, visible: true }))\n}\n\nfunction registerTextDefaults(name: string): void {\n registerComponentThemeDefaults(name, (colors: ColorTokens) => ({\n text: '',\n alpha: 1,\n visible: true,\n style: createTextStyleTokens(colors.text.DEFAULT.toString()).DEFAULT,\n }))\n}\n\nfunction registerPhaserThemeDefaults(): void {\n registerPrimitiveDefaults('view')\n registerTextDefaults('text')\n registerPrimitiveDefaults('nineslice')\n registerPrimitiveDefaults('NineSlice')\n registerPrimitiveDefaults('graphics')\n registerPrimitiveDefaults('Graphics')\n registerPrimitiveDefaults('vectorDraw')\n registerPrimitiveDefaults('tilesprite')\n registerPrimitiveDefaults('TileSprite')\n registerPrimitiveDefaults('particles')\n registerPrimitiveDefaults('Particles')\n\n registerComponentThemeDefaults('NineSliceButton', () => ({}))\n}\n\nregisterPhaserThemeDefaults()\n"],"names":[],"mappings":";AAaA,SAAS,0BAA0B,MAAoB;AACrD,iCAA+B,MAAM,OAAO,EAAE,OAAO,GAAG,SAAS,OAAO;AAC1E;AAEA,SAAS,qBAAqB,MAAoB;AAChD,iCAA+B,MAAM,CAAC,YAAyB;AAAA,IAC7D,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO,sBAAsB,OAAO,KAAK,QAAQ,SAAA,CAAU,EAAE;AAAA,EAAA,EAC7D;AACJ;AAEA,SAAS,8BAAoC;AAC3C,4BAA0B,MAAM;AAChC,uBAAqB,MAAM;AAC3B,4BAA0B,WAAW;AACrC,4BAA0B,WAAW;AACrC,4BAA0B,UAAU;AACpC,4BAA0B,UAAU;AACpC,4BAA0B,YAAY;AACtC,4BAA0B,YAAY;AACtC,4BAA0B,YAAY;AACtC,4BAA0B,WAAW;AACrC,4BAA0B,WAAW;AAErC,iCAA+B,mBAAmB,OAAO,CAAA,EAAG;AAC9D;AAEA,4BAAA;"}
package/dist/theme.cjs ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxCore = require("@number10/jsx-core");
4
+ require("@number10/jsx-components");
5
+ require("./theme-defaults.cjs");
6
+ const themeRegistry = jsxCore.themeRegistry;
7
+ const defaultTheme = jsxCore.defaultTheme;
8
+ function createDefaultTheme(presetName = "oceanBlue", mode = "light") {
9
+ return jsxCore.createDefaultTheme(presetName, mode);
10
+ }
11
+ function mergeThemes(base, override) {
12
+ return jsxCore.mergeThemes(base, override);
13
+ }
14
+ function createTheme(theme, colorPreset) {
15
+ return jsxCore.createTheme(theme, colorPreset);
16
+ }
17
+ function getThemedProps(componentName, localTheme, explicitProps) {
18
+ return jsxCore.getThemedProps(
19
+ componentName,
20
+ localTheme,
21
+ explicitProps
22
+ );
23
+ }
24
+ Object.defineProperty(exports, "setThemeRemountHandler", {
25
+ enumerable: true,
26
+ get: () => jsxCore.setThemeRemountHandler
27
+ });
28
+ exports.createDefaultTheme = createDefaultTheme;
29
+ exports.createTheme = createTheme;
30
+ exports.defaultTheme = defaultTheme;
31
+ exports.getThemedProps = getThemedProps;
32
+ exports.mergeThemes = mergeThemes;
33
+ exports.themeRegistry = themeRegistry;
34
+ //# sourceMappingURL=theme.cjs.map