@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,33 @@
1
+ import { FXConfig, FXCreatorFn } from '../use-fx';
2
+ /**
3
+ * Vignette FX configuration
4
+ */
5
+ export interface VignetteFXConfig extends FXConfig {
6
+ /** The horizontal offset of the vignette effect. This value is normalized to the range 0 to 1 */
7
+ x?: number;
8
+ /** The vertical offset of the vignette effect. This value is normalized to the range 0 to 1 */
9
+ y?: number;
10
+ /** The radius of the vignette effect. This value is normalized to the range 0 to 1 */
11
+ radius?: number;
12
+ /** The strength of the vignette effect */
13
+ strength?: number;
14
+ }
15
+ /**
16
+ * Create vignette FX
17
+ * @param obj - GameObject
18
+ * @param config - Vignette configuration
19
+ * @param type - 'post' or 'pre' FX
20
+ * @returns Vignette controller
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * applyFX(createVignetteFX, {
25
+ * x: 0.5,
26
+ * y: 0.5,
27
+ * radius: 0.5,
28
+ * strength: 0.7
29
+ * })
30
+ * ```
31
+ */
32
+ export declare const createVignetteFX: FXCreatorFn<VignetteFXConfig>;
33
+ //# sourceMappingURL=vignette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vignette.d.ts","sourceRoot":"","sources":["../../../src/fx/fx-creators/vignette.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,iGAAiG;IACjG,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,+FAA+F;IAC/F,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAoB1D,CAAA"}
@@ -0,0 +1,20 @@
1
+ const createVignetteFX = (obj, config, type = "internal") => {
2
+ const { strength = 0.5, radius = 0.5, x = 0.5, y = 0.5 } = config;
3
+ obj.enableFilters();
4
+ const filters = obj.filters;
5
+ if (!filters) {
6
+ console.warn("[createVignetteFX] Filters not available on this GameObject");
7
+ return null;
8
+ }
9
+ const pipeline = type === "internal" ? filters.internal : filters.external;
10
+ if (!pipeline) {
11
+ console.warn("[createVignetteFX] FX pipeline not available on this GameObject");
12
+ return null;
13
+ }
14
+ const vignette = pipeline.addVignette(x, y, radius, strength);
15
+ return vignette;
16
+ };
17
+ export {
18
+ createVignetteFX
19
+ };
20
+ //# sourceMappingURL=vignette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vignette.js","sources":["../../../src/fx/fx-creators/vignette.ts"],"sourcesContent":["/**\n * Vignette FX creator\n */\nimport type { FXConfig, FXCreatorFn } from '../use-fx'\n\n/**\n * Vignette FX configuration\n */\nexport interface VignetteFXConfig extends FXConfig {\n /** The horizontal offset of the vignette effect. This value is normalized to the range 0 to 1 */\n x?: number\n /** The vertical offset of the vignette effect. This value is normalized to the range 0 to 1 */\n y?: number\n /** The radius of the vignette effect. This value is normalized to the range 0 to 1 */\n radius?: number\n /** The strength of the vignette effect */\n strength?: number\n}\n\n/**\n * Create vignette FX\n * @param obj - GameObject\n * @param config - Vignette configuration\n * @param type - 'post' or 'pre' FX\n * @returns Vignette controller\n *\n * @example\n * ```tsx\n * applyFX(createVignetteFX, {\n * x: 0.5,\n * y: 0.5,\n * radius: 0.5,\n * strength: 0.7\n * })\n * ```\n */\nexport const createVignetteFX: FXCreatorFn<VignetteFXConfig> = (obj, config, type = 'internal') => {\n const { strength = 0.5, radius = 0.5, x = 0.5, y = 0.5 } = config\n\n obj.enableFilters()\n const filters = obj.filters\n if (!filters) {\n console.warn('[createVignetteFX] Filters not available on this GameObject')\n return null\n }\n\n const pipeline = type === 'internal' ? filters.internal : filters.external\n if (!pipeline) {\n console.warn('[createVignetteFX] FX pipeline not available on this GameObject')\n return null\n }\n\n // Phaser Vignette: addVignette(x, y, radius, strength)\n const vignette = pipeline.addVignette(x, y, radius, strength)\n\n return vignette\n}\n"],"names":[],"mappings":"AAoCO,MAAM,mBAAkD,CAAC,KAAK,QAAQ,OAAO,eAAe;AACjG,QAAM,EAAE,WAAW,KAAK,SAAS,KAAK,IAAI,KAAK,IAAI,IAAA,IAAQ;AAE3D,MAAI,cAAA;AACJ,QAAM,UAAU,IAAI;AACpB,MAAI,CAAC,SAAS;AACZ,YAAQ,KAAK,6DAA6D;AAC1E,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,SAAS,aAAa,QAAQ,WAAW,QAAQ;AAClE,MAAI,CAAC,UAAU;AACb,YAAQ,KAAK,iEAAiE;AAC9E,WAAO;AAAA,EACT;AAGA,QAAM,WAAW,SAAS,YAAY,GAAG,GAAG,QAAQ,QAAQ;AAE5D,SAAO;AACT;"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const blur = require("./fx-creators/blur.cjs");
4
+ const colorMatrix = require("./fx-creators/color-matrix.cjs");
5
+ const glow = require("./fx-creators/glow.cjs");
6
+ const pixelate = require("./fx-creators/pixelate.cjs");
7
+ const shadow = require("./fx-creators/shadow.cjs");
8
+ const vignette = require("./fx-creators/vignette.cjs");
9
+ const FX_REGISTRY = {
10
+ shadow: shadow.createShadowFX,
11
+ glow: glow.createGlowFX,
12
+ blur: blur.createBlurFX,
13
+ pixelate: pixelate.createPixelateFX,
14
+ vignette: vignette.createVignetteFX,
15
+ grayscale: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "grayscale" }, type),
16
+ sepia: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "sepia" }, type),
17
+ negative: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "negative" }, type),
18
+ blackWhite: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "blackWhite" }, type),
19
+ brown: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "brown" }, type),
20
+ kodachrome: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "kodachrome" }, type),
21
+ technicolor: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "technicolor" }, type),
22
+ polaroid: (obj, config, type) => colorMatrix.createColorMatrixFX(obj, { ...config, effect: "polaroid" }, type)
23
+ };
24
+ const DEFAULT_FX = "grayscale";
25
+ function resolveFX(fxOrName) {
26
+ if (typeof fxOrName === "function") {
27
+ return fxOrName;
28
+ }
29
+ return FX_REGISTRY[fxOrName] ?? null;
30
+ }
31
+ function applyFXByName(applyFXFn, fxName, config = {}) {
32
+ const creator = resolveFX(fxName);
33
+ if (creator) {
34
+ applyFXFn(creator, config);
35
+ } else {
36
+ console.warn(`[applyFXByName] FX "${fxName}" not found in registry`);
37
+ }
38
+ }
39
+ exports.DEFAULT_FX = DEFAULT_FX;
40
+ exports.FX_REGISTRY = FX_REGISTRY;
41
+ exports.applyFXByName = applyFXByName;
42
+ exports.resolveFX = resolveFX;
43
+ //# sourceMappingURL=fx-registry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fx-registry.cjs","sources":["../../src/fx/fx-registry.ts"],"sourcesContent":["/**\n * FX Registry - string-based FX lookup\n * Similar to effect-registry.ts for animation effects\n */\nimport {\n createBlurFX,\n createColorMatrixFX,\n createGlowFX,\n createPixelateFX,\n createShadowFX,\n createVignetteFX,\n type BlurFXConfig,\n type ColorMatrixFXConfig,\n type GlowFXConfig,\n type PixelateFXConfig,\n type ShadowFXConfig,\n type VignetteFXConfig,\n} from './fx-creators'\nimport type { FXConfig, FXCreatorFn } from './use-fx'\n\n/**\n * Built-in FX names\n */\nexport type BuiltInFXName =\n | 'shadow'\n | 'glow'\n | 'blur'\n | 'pixelate'\n | 'vignette'\n | 'grayscale'\n | 'sepia'\n | 'negative'\n | 'blackWhite'\n | 'brown'\n | 'kodachrome'\n | 'technicolor'\n | 'polaroid'\n\n/**\n * Extension point for custom FX (declaration merging)\n * @example\n * ```typescript\n * declare module '@number10/phaserjsx/fx' {\n * interface FXNameExtensions {\n * myCustomFX: 'myCustomFX'\n * }\n * }\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface FXNameExtensions {}\n\n/**\n * All available FX names (built-in + extensions)\n */\nexport type FXName =\n | BuiltInFXName\n | (keyof FXNameExtensions extends never ? never : keyof FXNameExtensions)\n\n/**\n * FX definition with name and config\n */\nexport interface FXDefinition {\n name: FXName\n config?: FXConfig\n}\n\n/**\n * FX Registry mapping names to creator functions\n */\nexport const FX_REGISTRY: Record<BuiltInFXName, FXCreatorFn> = {\n shadow: createShadowFX,\n glow: createGlowFX,\n blur: createBlurFX,\n pixelate: createPixelateFX,\n vignette: createVignetteFX,\n grayscale: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'grayscale' }, type),\n sepia: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: 'sepia' }, type),\n negative: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'negative' }, type),\n blackWhite: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'blackWhite' }, type),\n brown: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: 'brown' }, type),\n kodachrome: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'kodachrome' }, type),\n technicolor: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'technicolor' }, type),\n polaroid: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'polaroid' }, type),\n}\n\n/**\n * Default FX (none)\n */\nexport const DEFAULT_FX: FXName = 'grayscale'\n\n/**\n * Resolve FX by name or function\n * @param fxOrName - FX name string or creator function\n * @returns FX creator function or null\n */\nexport function resolveFX(fxOrName: FXName | FXCreatorFn): FXCreatorFn | null {\n if (typeof fxOrName === 'function') {\n return fxOrName\n }\n return FX_REGISTRY[fxOrName as BuiltInFXName] ?? null\n}\n\n/**\n * Apply FX by name (helper function)\n * @param applyFXFn - applyFX function from useFX hook\n * @param fxName - FX name\n * @param config - FX config\n *\n * @example\n * ```tsx\n * const { applyFX } = useFX(ref)\n * applyFXByName(applyFX, 'shadow', { offsetX: 4, offsetY: 4, blur: 8 })\n * ```\n */\nexport function applyFXByName(\n applyFXFn: ReturnType<typeof import('./use-fx').useFX>['applyFX'],\n fxName: FXName,\n config: FXConfig = {}\n) {\n const creator = resolveFX(fxName)\n if (creator) {\n applyFXFn(creator, config)\n } else {\n console.warn(`[applyFXByName] FX \"${fxName}\" not found in registry`)\n }\n}\n\n// Re-export config types for convenience\nexport type {\n BlurFXConfig,\n ColorMatrixFXConfig,\n GlowFXConfig,\n PixelateFXConfig,\n ShadowFXConfig,\n VignetteFXConfig,\n}\n"],"names":["createShadowFX","createGlowFX","createBlurFX","createPixelateFX","createVignetteFX","createColorMatrixFX"],"mappings":";;;;;;;;AAsEO,MAAM,cAAkD;AAAA,EAC7D,QAAQA,OAAAA;AAAAA,EACR,MAAMC,KAAAA;AAAAA,EACN,MAAMC,KAAAA;AAAAA,EACN,UAAUC,SAAAA;AAAAA,EACV,UAAUC,SAAAA;AAAAA,EACV,WAAW,CAAC,KAAK,QAAQ,SACvBC,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,YAAA,GAAe,IAAI;AAAA,EACnE,OAAO,CAAC,KAAK,QAAQ,SAASA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,QAAA,GAAW,IAAI;AAAA,EAC3F,UAAU,CAAC,KAAK,QAAQ,SACtBA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,WAAA,GAAc,IAAI;AAAA,EAClE,YAAY,CAAC,KAAK,QAAQ,SACxBA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,aAAA,GAAgB,IAAI;AAAA,EACpE,OAAO,CAAC,KAAK,QAAQ,SAASA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,QAAA,GAAW,IAAI;AAAA,EAC3F,YAAY,CAAC,KAAK,QAAQ,SACxBA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,aAAA,GAAgB,IAAI;AAAA,EACpE,aAAa,CAAC,KAAK,QAAQ,SACzBA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,cAAA,GAAiB,IAAI;AAAA,EACrE,UAAU,CAAC,KAAK,QAAQ,SACtBA,YAAAA,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,WAAA,GAAc,IAAI;AACpE;AAKO,MAAM,aAAqB;AAO3B,SAAS,UAAU,UAAoD;AAC5E,MAAI,OAAO,aAAa,YAAY;AAClC,WAAO;AAAA,EACT;AACA,SAAO,YAAY,QAAyB,KAAK;AACnD;AAcO,SAAS,cACd,WACA,QACA,SAAmB,CAAA,GACnB;AACA,QAAM,UAAU,UAAU,MAAM;AAChC,MAAI,SAAS;AACX,cAAU,SAAS,MAAM;AAAA,EAC3B,OAAO;AACL,YAAQ,KAAK,uBAAuB,MAAM,yBAAyB;AAAA,EACrE;AACF;;;;;"}
@@ -0,0 +1,59 @@
1
+ import { BlurFXConfig, ColorMatrixFXConfig, GlowFXConfig, PixelateFXConfig, ShadowFXConfig, VignetteFXConfig } from './fx-creators';
2
+ import { FXConfig, FXCreatorFn } from './use-fx';
3
+ /**
4
+ * Built-in FX names
5
+ */
6
+ export type BuiltInFXName = 'shadow' | 'glow' | 'blur' | 'pixelate' | 'vignette' | 'grayscale' | 'sepia' | 'negative' | 'blackWhite' | 'brown' | 'kodachrome' | 'technicolor' | 'polaroid';
7
+ /**
8
+ * Extension point for custom FX (declaration merging)
9
+ * @example
10
+ * ```typescript
11
+ * declare module '@number10/phaserjsx/fx' {
12
+ * interface FXNameExtensions {
13
+ * myCustomFX: 'myCustomFX'
14
+ * }
15
+ * }
16
+ * ```
17
+ */
18
+ export interface FXNameExtensions {
19
+ }
20
+ /**
21
+ * All available FX names (built-in + extensions)
22
+ */
23
+ export type FXName = BuiltInFXName | (keyof FXNameExtensions extends never ? never : keyof FXNameExtensions);
24
+ /**
25
+ * FX definition with name and config
26
+ */
27
+ export interface FXDefinition {
28
+ name: FXName;
29
+ config?: FXConfig;
30
+ }
31
+ /**
32
+ * FX Registry mapping names to creator functions
33
+ */
34
+ export declare const FX_REGISTRY: Record<BuiltInFXName, FXCreatorFn>;
35
+ /**
36
+ * Default FX (none)
37
+ */
38
+ export declare const DEFAULT_FX: FXName;
39
+ /**
40
+ * Resolve FX by name or function
41
+ * @param fxOrName - FX name string or creator function
42
+ * @returns FX creator function or null
43
+ */
44
+ export declare function resolveFX(fxOrName: FXName | FXCreatorFn): FXCreatorFn | null;
45
+ /**
46
+ * Apply FX by name (helper function)
47
+ * @param applyFXFn - applyFX function from useFX hook
48
+ * @param fxName - FX name
49
+ * @param config - FX config
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * const { applyFX } = useFX(ref)
54
+ * applyFXByName(applyFX, 'shadow', { offsetX: 4, offsetY: 4, blur: 8 })
55
+ * ```
56
+ */
57
+ export declare function applyFXByName(applyFXFn: ReturnType<typeof import('./use-fx').useFX>['applyFX'], fxName: FXName, config?: FXConfig): void;
58
+ export type { BlurFXConfig, ColorMatrixFXConfig, GlowFXConfig, PixelateFXConfig, ShadowFXConfig, VignetteFXConfig, };
59
+ //# sourceMappingURL=fx-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fx-registry.d.ts","sourceRoot":"","sources":["../../src/fx/fx-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,GACP,UAAU,GACV,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,aAAa,GACb,UAAU,CAAA;AAEd;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;CAAG;AAEpC;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,aAAa,GACb,CAAC,MAAM,gBAAgB,SAAS,KAAK,GAAG,KAAK,GAAG,MAAM,gBAAgB,CAAC,CAAA;AAE3E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,QAAQ,CAAA;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,WAAW,CAoB1D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAoB,CAAA;AAE7C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,IAAI,CAK5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,UAAU,CAAC,cAAc,UAAU,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,EACjE,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,QAAa,QAQtB;AAGD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { createBlurFX } from "./fx-creators/blur.js";
2
+ import { createColorMatrixFX } from "./fx-creators/color-matrix.js";
3
+ import { createGlowFX } from "./fx-creators/glow.js";
4
+ import { createPixelateFX } from "./fx-creators/pixelate.js";
5
+ import { createShadowFX } from "./fx-creators/shadow.js";
6
+ import { createVignetteFX } from "./fx-creators/vignette.js";
7
+ const FX_REGISTRY = {
8
+ shadow: createShadowFX,
9
+ glow: createGlowFX,
10
+ blur: createBlurFX,
11
+ pixelate: createPixelateFX,
12
+ vignette: createVignetteFX,
13
+ grayscale: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "grayscale" }, type),
14
+ sepia: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "sepia" }, type),
15
+ negative: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "negative" }, type),
16
+ blackWhite: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "blackWhite" }, type),
17
+ brown: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "brown" }, type),
18
+ kodachrome: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "kodachrome" }, type),
19
+ technicolor: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "technicolor" }, type),
20
+ polaroid: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: "polaroid" }, type)
21
+ };
22
+ const DEFAULT_FX = "grayscale";
23
+ function resolveFX(fxOrName) {
24
+ if (typeof fxOrName === "function") {
25
+ return fxOrName;
26
+ }
27
+ return FX_REGISTRY[fxOrName] ?? null;
28
+ }
29
+ function applyFXByName(applyFXFn, fxName, config = {}) {
30
+ const creator = resolveFX(fxName);
31
+ if (creator) {
32
+ applyFXFn(creator, config);
33
+ } else {
34
+ console.warn(`[applyFXByName] FX "${fxName}" not found in registry`);
35
+ }
36
+ }
37
+ export {
38
+ DEFAULT_FX,
39
+ FX_REGISTRY,
40
+ applyFXByName,
41
+ resolveFX
42
+ };
43
+ //# sourceMappingURL=fx-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fx-registry.js","sources":["../../src/fx/fx-registry.ts"],"sourcesContent":["/**\n * FX Registry - string-based FX lookup\n * Similar to effect-registry.ts for animation effects\n */\nimport {\n createBlurFX,\n createColorMatrixFX,\n createGlowFX,\n createPixelateFX,\n createShadowFX,\n createVignetteFX,\n type BlurFXConfig,\n type ColorMatrixFXConfig,\n type GlowFXConfig,\n type PixelateFXConfig,\n type ShadowFXConfig,\n type VignetteFXConfig,\n} from './fx-creators'\nimport type { FXConfig, FXCreatorFn } from './use-fx'\n\n/**\n * Built-in FX names\n */\nexport type BuiltInFXName =\n | 'shadow'\n | 'glow'\n | 'blur'\n | 'pixelate'\n | 'vignette'\n | 'grayscale'\n | 'sepia'\n | 'negative'\n | 'blackWhite'\n | 'brown'\n | 'kodachrome'\n | 'technicolor'\n | 'polaroid'\n\n/**\n * Extension point for custom FX (declaration merging)\n * @example\n * ```typescript\n * declare module '@number10/phaserjsx/fx' {\n * interface FXNameExtensions {\n * myCustomFX: 'myCustomFX'\n * }\n * }\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface FXNameExtensions {}\n\n/**\n * All available FX names (built-in + extensions)\n */\nexport type FXName =\n | BuiltInFXName\n | (keyof FXNameExtensions extends never ? never : keyof FXNameExtensions)\n\n/**\n * FX definition with name and config\n */\nexport interface FXDefinition {\n name: FXName\n config?: FXConfig\n}\n\n/**\n * FX Registry mapping names to creator functions\n */\nexport const FX_REGISTRY: Record<BuiltInFXName, FXCreatorFn> = {\n shadow: createShadowFX,\n glow: createGlowFX,\n blur: createBlurFX,\n pixelate: createPixelateFX,\n vignette: createVignetteFX,\n grayscale: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'grayscale' }, type),\n sepia: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: 'sepia' }, type),\n negative: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'negative' }, type),\n blackWhite: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'blackWhite' }, type),\n brown: (obj, config, type) => createColorMatrixFX(obj, { ...config, effect: 'brown' }, type),\n kodachrome: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'kodachrome' }, type),\n technicolor: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'technicolor' }, type),\n polaroid: (obj, config, type) =>\n createColorMatrixFX(obj, { ...config, effect: 'polaroid' }, type),\n}\n\n/**\n * Default FX (none)\n */\nexport const DEFAULT_FX: FXName = 'grayscale'\n\n/**\n * Resolve FX by name or function\n * @param fxOrName - FX name string or creator function\n * @returns FX creator function or null\n */\nexport function resolveFX(fxOrName: FXName | FXCreatorFn): FXCreatorFn | null {\n if (typeof fxOrName === 'function') {\n return fxOrName\n }\n return FX_REGISTRY[fxOrName as BuiltInFXName] ?? null\n}\n\n/**\n * Apply FX by name (helper function)\n * @param applyFXFn - applyFX function from useFX hook\n * @param fxName - FX name\n * @param config - FX config\n *\n * @example\n * ```tsx\n * const { applyFX } = useFX(ref)\n * applyFXByName(applyFX, 'shadow', { offsetX: 4, offsetY: 4, blur: 8 })\n * ```\n */\nexport function applyFXByName(\n applyFXFn: ReturnType<typeof import('./use-fx').useFX>['applyFX'],\n fxName: FXName,\n config: FXConfig = {}\n) {\n const creator = resolveFX(fxName)\n if (creator) {\n applyFXFn(creator, config)\n } else {\n console.warn(`[applyFXByName] FX \"${fxName}\" not found in registry`)\n }\n}\n\n// Re-export config types for convenience\nexport type {\n BlurFXConfig,\n ColorMatrixFXConfig,\n GlowFXConfig,\n PixelateFXConfig,\n ShadowFXConfig,\n VignetteFXConfig,\n}\n"],"names":[],"mappings":";;;;;;AAsEO,MAAM,cAAkD;AAAA,EAC7D,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW,CAAC,KAAK,QAAQ,SACvB,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,YAAA,GAAe,IAAI;AAAA,EACnE,OAAO,CAAC,KAAK,QAAQ,SAAS,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,QAAA,GAAW,IAAI;AAAA,EAC3F,UAAU,CAAC,KAAK,QAAQ,SACtB,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,WAAA,GAAc,IAAI;AAAA,EAClE,YAAY,CAAC,KAAK,QAAQ,SACxB,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,aAAA,GAAgB,IAAI;AAAA,EACpE,OAAO,CAAC,KAAK,QAAQ,SAAS,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,QAAA,GAAW,IAAI;AAAA,EAC3F,YAAY,CAAC,KAAK,QAAQ,SACxB,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,aAAA,GAAgB,IAAI;AAAA,EACpE,aAAa,CAAC,KAAK,QAAQ,SACzB,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,cAAA,GAAiB,IAAI;AAAA,EACrE,UAAU,CAAC,KAAK,QAAQ,SACtB,oBAAoB,KAAK,EAAE,GAAG,QAAQ,QAAQ,WAAA,GAAc,IAAI;AACpE;AAKO,MAAM,aAAqB;AAO3B,SAAS,UAAU,UAAoD;AAC5E,MAAI,OAAO,aAAa,YAAY;AAClC,WAAO;AAAA,EACT;AACA,SAAO,YAAY,QAAyB,KAAK;AACnD;AAcO,SAAS,cACd,WACA,QACA,SAAmB,CAAA,GACnB;AACA,QAAM,UAAU,UAAU,MAAM;AAChC,MAAI,SAAS;AACX,cAAU,SAAS,MAAM;AAAA,EAC3B,OAAO;AACL,YAAQ,KAAK,uBAAuB,MAAM,yBAAyB;AAAA,EACrE;AACF;"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * FX System for PhaserJSX
3
+ * GPU-accelerated Phaser PostFX/PreFX pipeline effects
4
+ *
5
+ * @example Basic usage:
6
+ * ```tsx
7
+ * import { useFX, createShadowFX } from '@number10/phaserjsx/fx'
8
+ *
9
+ * function MyComponent() {
10
+ * const ref = useRef(null)
11
+ * const { applyFX } = useFX(ref)
12
+ *
13
+ * const handleHover = () => {
14
+ * applyFX(createShadowFX, { offsetX: 4, offsetY: 4, blur: 8 })
15
+ * }
16
+ *
17
+ * return <Image ref={ref} onHoverStart={handleHover} />
18
+ * }
19
+ * ```
20
+ *
21
+ * @example Convenience hooks:
22
+ * ```tsx
23
+ * import { useShadow } from '@number10/phaserjsx/fx'
24
+ *
25
+ * function MyComponent() {
26
+ * const ref = useRef(null)
27
+ * useShadow(ref, { offsetX: 4, offsetY: 4, blur: 8 })
28
+ *
29
+ * return <View ref={ref}>Content</View>
30
+ * }
31
+ * ```
32
+ *
33
+ * @example Registry-based FX:
34
+ * ```tsx
35
+ * import { useFX, applyFXByName } from '@number10/phaserjsx/fx'
36
+ *
37
+ * function MyComponent() {
38
+ * const ref = useRef(null)
39
+ * const { applyFX } = useFX(ref)
40
+ *
41
+ * const handleClick = () => {
42
+ * applyFXByName(applyFX, 'glow', { color: 0xff6600, distance: 10 })
43
+ * }
44
+ * }
45
+ * ```
46
+ */
47
+ export { useFX, type FXCapableGameObject, type FXConfig, type FXCreatorFn, type FXType, } from './use-fx';
48
+ export { DEFAULT_FX, FX_REGISTRY, applyFXByName, resolveFX, type BuiltInFXName, type FXDefinition, type FXName, type FXNameExtensions, } from './fx-registry';
49
+ export { createBlurFX, createColorMatrixFX, createGlowFX, createPixelateFX, createShadowFX, createVignetteFX, type BlurFXConfig, type ColorMatrixEffect, type ColorMatrixFXConfig, type GlowFXConfig, type PixelateFXConfig, type ShadowFXConfig, type VignetteFXConfig, } from './fx-creators';
50
+ export { useBlur, useGlow, useShadow } from './convenience-hooks';
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fx/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAGH,OAAO,EACL,KAAK,EACL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,GACZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../hooks.cjs");
4
+ const jsxCore = require("@number10/jsx-core");
5
+ function useFX(ref) {
6
+ const activeEffectsRef = jsxCore.useRef(/* @__PURE__ */ new Set());
7
+ jsxCore.useEffect(() => {
8
+ const obj = ref.current;
9
+ if (obj && typeof obj.enableFilters === "function") {
10
+ obj.enableFilters();
11
+ }
12
+ }, []);
13
+ jsxCore.useEffect(() => {
14
+ return () => {
15
+ activeEffectsRef.current.forEach((cleanup) => {
16
+ if (typeof cleanup === "function") {
17
+ cleanup();
18
+ } else if (cleanup?.destroy) {
19
+ cleanup.destroy();
20
+ }
21
+ });
22
+ activeEffectsRef.current.clear();
23
+ };
24
+ }, []);
25
+ const applyFX = (fxCreator, config, type = "internal") => {
26
+ const obj = ref.current;
27
+ if (!obj) {
28
+ console.warn("[useFX] No object found in ref");
29
+ return;
30
+ }
31
+ const cleanupOrController = fxCreator(obj, config, type);
32
+ if (cleanupOrController) {
33
+ activeEffectsRef.current.add(cleanupOrController);
34
+ }
35
+ };
36
+ const clearFX = () => {
37
+ activeEffectsRef.current.forEach((cleanup) => {
38
+ if (typeof cleanup === "function") {
39
+ cleanup();
40
+ } else if (cleanup?.destroy) {
41
+ cleanup.destroy();
42
+ }
43
+ });
44
+ activeEffectsRef.current.clear();
45
+ const obj = ref.current;
46
+ if (obj?.filters) {
47
+ obj.filters.internal.clear();
48
+ obj.filters.external.clear();
49
+ }
50
+ };
51
+ return { applyFX, clearFX };
52
+ }
53
+ exports.useFX = useFX;
54
+ //# sourceMappingURL=use-fx.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fx.cjs","sources":["../../src/fx/use-fx.ts"],"sourcesContent":["/**\n * Hook for applying Phaser PostFX/PreFX pipeline effects\n * Manages FX lifecycle with proper cleanup\n */\nimport { useEffect, useRef } from '../hooks'\n\n/**\n * Ref object type\n */\ntype RefObject<T> = { current: T | null }\n\n/**\n * FX configuration base type\n */\nexport interface FXConfig {\n intensity?: number\n quality?: number\n onComplete?: () => void\n}\n\n/**\n * FX type discriminator (internal vs external filter context)\n */\nexport type FXType = 'internal' | 'external'\n\n/**\n * GameObject with FX pipeline support\n */\nexport type FXCapableGameObject =\n | Phaser.GameObjects.Image\n | Phaser.GameObjects.Sprite\n | Phaser.GameObjects.Container\n | Phaser.GameObjects.Text\n | Phaser.GameObjects.TileSprite\n | Phaser.GameObjects.NineSlice\n | Phaser.GameObjects.RenderTexture\n | Phaser.GameObjects.Video\n\n/**\n * FX creator function signature\n * @param obj - GameObject with FX pipeline\n * @param config - Effect-specific configuration\n * @param type - 'post' or 'pre' FX pipeline\n * @returns Cleanup function or FX controller (or any Phaser.FX effect)\n */\nexport type FXCreatorFn<TConfig extends FXConfig = FXConfig> = (\n obj: FXCapableGameObject,\n config: TConfig,\n type?: FXType\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => (() => void) | Phaser.Filters.Controller | any | null\n\n/**\n * Hook for applying FX to GameObject\n * @param ref - Ref to GameObject\n * @returns Object with applyFX and clearFX methods\n *\n * @example\n * ```tsx\n * const ref = useRef(null)\n * const { applyFX, clearFX } = useFX(ref)\n *\n * const handleClick = () => {\n * applyFX(createShadowFX, { offsetX: 4, offsetY: 4, blur: 8 })\n * }\n *\n * return <View ref={ref} onClick={handleClick}>Click me</View>\n * ```\n */\nexport function useFX<T extends FXCapableGameObject>(ref: RefObject<T>) {\n const activeEffectsRef = useRef<Set<(() => void) | Phaser.Filters.Controller>>(new Set())\n\n // Pre-initialize the Phaser 4 filter pipeline at mount time.\n // Calling enableFilters() lazily (on first FX application) causes the game object\n // to resize to 1/4 of its original size. Initializing it eagerly during mount\n // (before layout settles) prevents this resize behavior.\n useEffect(() => {\n const obj = ref.current\n if (obj && typeof (obj as { enableFilters?: () => void }).enableFilters === 'function') {\n ;(obj as { enableFilters: () => void }).enableFilters()\n }\n }, [])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n activeEffectsRef.current.forEach((cleanup) => {\n if (typeof cleanup === 'function') {\n cleanup()\n } else if (cleanup?.destroy) {\n cleanup.destroy()\n }\n })\n activeEffectsRef.current.clear()\n }\n }, [])\n\n const applyFX = <TConfig extends FXConfig>(\n fxCreator: FXCreatorFn<TConfig>,\n config: TConfig,\n type: FXType = 'internal'\n ) => {\n const obj = ref.current\n if (!obj) {\n console.warn('[useFX] No object found in ref')\n return\n }\n\n const cleanupOrController = fxCreator(obj, config, type)\n if (cleanupOrController) {\n activeEffectsRef.current.add(cleanupOrController)\n }\n }\n\n const clearFX = () => {\n activeEffectsRef.current.forEach((cleanup) => {\n if (typeof cleanup === 'function') {\n cleanup()\n } else if (cleanup?.destroy) {\n cleanup.destroy()\n }\n })\n activeEffectsRef.current.clear()\n\n // Clear filters\n const obj = ref.current\n if (obj?.filters) {\n obj.filters.internal.clear()\n obj.filters.external.clear()\n }\n }\n\n return { applyFX, clearFX }\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;AAqEO,SAAS,MAAqC,KAAmB;AACtE,QAAM,mBAAmBA,QAAAA,OAAsD,oBAAI,KAAK;AAMxFC,UAAAA,UAAU,MAAM;AACd,UAAM,MAAM,IAAI;AAChB,QAAI,OAAO,OAAQ,IAAuC,kBAAkB,YAAY;AACpF,UAAsC,cAAA;AAAA,IAC1C;AAAA,EACF,GAAG,CAAA,CAAE;AAGLA,UAAAA,UAAU,MAAM;AACd,WAAO,MAAM;AACX,uBAAiB,QAAQ,QAAQ,CAAC,YAAY;AAC5C,YAAI,OAAO,YAAY,YAAY;AACjC,kBAAA;AAAA,QACF,WAAW,SAAS,SAAS;AAC3B,kBAAQ,QAAA;AAAA,QACV;AAAA,MACF,CAAC;AACD,uBAAiB,QAAQ,MAAA;AAAA,IAC3B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,UAAU,CACd,WACA,QACA,OAAe,eACZ;AACH,UAAM,MAAM,IAAI;AAChB,QAAI,CAAC,KAAK;AACR,cAAQ,KAAK,gCAAgC;AAC7C;AAAA,IACF;AAEA,UAAM,sBAAsB,UAAU,KAAK,QAAQ,IAAI;AACvD,QAAI,qBAAqB;AACvB,uBAAiB,QAAQ,IAAI,mBAAmB;AAAA,IAClD;AAAA,EACF;AAEA,QAAM,UAAU,MAAM;AACpB,qBAAiB,QAAQ,QAAQ,CAAC,YAAY;AAC5C,UAAI,OAAO,YAAY,YAAY;AACjC,gBAAA;AAAA,MACF,WAAW,SAAS,SAAS;AAC3B,gBAAQ,QAAA;AAAA,MACV;AAAA,IACF,CAAC;AACD,qBAAiB,QAAQ,MAAA;AAGzB,UAAM,MAAM,IAAI;AAChB,QAAI,KAAK,SAAS;AAChB,UAAI,QAAQ,SAAS,MAAA;AACrB,UAAI,QAAQ,SAAS,MAAA;AAAA,IACvB;AAAA,EACF;AAEA,SAAO,EAAE,SAAS,QAAA;AACpB;;"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Ref object type
3
+ */
4
+ type RefObject<T> = {
5
+ current: T | null;
6
+ };
7
+ /**
8
+ * FX configuration base type
9
+ */
10
+ export interface FXConfig {
11
+ intensity?: number;
12
+ quality?: number;
13
+ onComplete?: () => void;
14
+ }
15
+ /**
16
+ * FX type discriminator (internal vs external filter context)
17
+ */
18
+ export type FXType = 'internal' | 'external';
19
+ /**
20
+ * GameObject with FX pipeline support
21
+ */
22
+ export type FXCapableGameObject = Phaser.GameObjects.Image | Phaser.GameObjects.Sprite | Phaser.GameObjects.Container | Phaser.GameObjects.Text | Phaser.GameObjects.TileSprite | Phaser.GameObjects.NineSlice | Phaser.GameObjects.RenderTexture | Phaser.GameObjects.Video;
23
+ /**
24
+ * FX creator function signature
25
+ * @param obj - GameObject with FX pipeline
26
+ * @param config - Effect-specific configuration
27
+ * @param type - 'post' or 'pre' FX pipeline
28
+ * @returns Cleanup function or FX controller (or any Phaser.FX effect)
29
+ */
30
+ export type FXCreatorFn<TConfig extends FXConfig = FXConfig> = (obj: FXCapableGameObject, config: TConfig, type?: FXType) => (() => void) | Phaser.Filters.Controller | any | null;
31
+ /**
32
+ * Hook for applying FX to GameObject
33
+ * @param ref - Ref to GameObject
34
+ * @returns Object with applyFX and clearFX methods
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * const ref = useRef(null)
39
+ * const { applyFX, clearFX } = useFX(ref)
40
+ *
41
+ * const handleClick = () => {
42
+ * applyFX(createShadowFX, { offsetX: 4, offsetY: 4, blur: 8 })
43
+ * }
44
+ *
45
+ * return <View ref={ref} onClick={handleClick}>Click me</View>
46
+ * ```
47
+ */
48
+ export declare function useFX<T extends FXCapableGameObject>(ref: RefObject<T>): {
49
+ applyFX: <TConfig extends FXConfig>(fxCreator: FXCreatorFn<TConfig>, config: TConfig, type?: FXType) => void;
50
+ clearFX: () => void;
51
+ };
52
+ export {};
53
+ //# sourceMappingURL=use-fx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fx.d.ts","sourceRoot":"","sources":["../../src/fx/use-fx.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,KAAK,SAAS,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,CAAA;AAEzC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;AAE5C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,CAAC,WAAW,CAAC,KAAK,GACxB,MAAM,CAAC,WAAW,CAAC,MAAM,GACzB,MAAM,CAAC,WAAW,CAAC,SAAS,GAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,GACvB,MAAM,CAAC,WAAW,CAAC,UAAU,GAC7B,MAAM,CAAC,WAAW,CAAC,SAAS,GAC5B,MAAM,CAAC,WAAW,CAAC,aAAa,GAChC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,QAAQ,GAAG,QAAQ,IAAI,CAC7D,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,KAEV,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAA;AAE1D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;cA4BnD,OAAO,SAAS,QAAQ,aAC5B,WAAW,CAAC,OAAO,CAAC,UACvB,OAAO,SACT,MAAM;;EAiCf"}
@@ -0,0 +1,54 @@
1
+ import "../hooks.js";
2
+ import { useRef, useEffect } from "@number10/jsx-core";
3
+ function useFX(ref) {
4
+ const activeEffectsRef = useRef(/* @__PURE__ */ new Set());
5
+ useEffect(() => {
6
+ const obj = ref.current;
7
+ if (obj && typeof obj.enableFilters === "function") {
8
+ obj.enableFilters();
9
+ }
10
+ }, []);
11
+ useEffect(() => {
12
+ return () => {
13
+ activeEffectsRef.current.forEach((cleanup) => {
14
+ if (typeof cleanup === "function") {
15
+ cleanup();
16
+ } else if (cleanup?.destroy) {
17
+ cleanup.destroy();
18
+ }
19
+ });
20
+ activeEffectsRef.current.clear();
21
+ };
22
+ }, []);
23
+ const applyFX = (fxCreator, config, type = "internal") => {
24
+ const obj = ref.current;
25
+ if (!obj) {
26
+ console.warn("[useFX] No object found in ref");
27
+ return;
28
+ }
29
+ const cleanupOrController = fxCreator(obj, config, type);
30
+ if (cleanupOrController) {
31
+ activeEffectsRef.current.add(cleanupOrController);
32
+ }
33
+ };
34
+ const clearFX = () => {
35
+ activeEffectsRef.current.forEach((cleanup) => {
36
+ if (typeof cleanup === "function") {
37
+ cleanup();
38
+ } else if (cleanup?.destroy) {
39
+ cleanup.destroy();
40
+ }
41
+ });
42
+ activeEffectsRef.current.clear();
43
+ const obj = ref.current;
44
+ if (obj?.filters) {
45
+ obj.filters.internal.clear();
46
+ obj.filters.external.clear();
47
+ }
48
+ };
49
+ return { applyFX, clearFX };
50
+ }
51
+ export {
52
+ useFX
53
+ };
54
+ //# sourceMappingURL=use-fx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fx.js","sources":["../../src/fx/use-fx.ts"],"sourcesContent":["/**\n * Hook for applying Phaser PostFX/PreFX pipeline effects\n * Manages FX lifecycle with proper cleanup\n */\nimport { useEffect, useRef } from '../hooks'\n\n/**\n * Ref object type\n */\ntype RefObject<T> = { current: T | null }\n\n/**\n * FX configuration base type\n */\nexport interface FXConfig {\n intensity?: number\n quality?: number\n onComplete?: () => void\n}\n\n/**\n * FX type discriminator (internal vs external filter context)\n */\nexport type FXType = 'internal' | 'external'\n\n/**\n * GameObject with FX pipeline support\n */\nexport type FXCapableGameObject =\n | Phaser.GameObjects.Image\n | Phaser.GameObjects.Sprite\n | Phaser.GameObjects.Container\n | Phaser.GameObjects.Text\n | Phaser.GameObjects.TileSprite\n | Phaser.GameObjects.NineSlice\n | Phaser.GameObjects.RenderTexture\n | Phaser.GameObjects.Video\n\n/**\n * FX creator function signature\n * @param obj - GameObject with FX pipeline\n * @param config - Effect-specific configuration\n * @param type - 'post' or 'pre' FX pipeline\n * @returns Cleanup function or FX controller (or any Phaser.FX effect)\n */\nexport type FXCreatorFn<TConfig extends FXConfig = FXConfig> = (\n obj: FXCapableGameObject,\n config: TConfig,\n type?: FXType\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => (() => void) | Phaser.Filters.Controller | any | null\n\n/**\n * Hook for applying FX to GameObject\n * @param ref - Ref to GameObject\n * @returns Object with applyFX and clearFX methods\n *\n * @example\n * ```tsx\n * const ref = useRef(null)\n * const { applyFX, clearFX } = useFX(ref)\n *\n * const handleClick = () => {\n * applyFX(createShadowFX, { offsetX: 4, offsetY: 4, blur: 8 })\n * }\n *\n * return <View ref={ref} onClick={handleClick}>Click me</View>\n * ```\n */\nexport function useFX<T extends FXCapableGameObject>(ref: RefObject<T>) {\n const activeEffectsRef = useRef<Set<(() => void) | Phaser.Filters.Controller>>(new Set())\n\n // Pre-initialize the Phaser 4 filter pipeline at mount time.\n // Calling enableFilters() lazily (on first FX application) causes the game object\n // to resize to 1/4 of its original size. Initializing it eagerly during mount\n // (before layout settles) prevents this resize behavior.\n useEffect(() => {\n const obj = ref.current\n if (obj && typeof (obj as { enableFilters?: () => void }).enableFilters === 'function') {\n ;(obj as { enableFilters: () => void }).enableFilters()\n }\n }, [])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n activeEffectsRef.current.forEach((cleanup) => {\n if (typeof cleanup === 'function') {\n cleanup()\n } else if (cleanup?.destroy) {\n cleanup.destroy()\n }\n })\n activeEffectsRef.current.clear()\n }\n }, [])\n\n const applyFX = <TConfig extends FXConfig>(\n fxCreator: FXCreatorFn<TConfig>,\n config: TConfig,\n type: FXType = 'internal'\n ) => {\n const obj = ref.current\n if (!obj) {\n console.warn('[useFX] No object found in ref')\n return\n }\n\n const cleanupOrController = fxCreator(obj, config, type)\n if (cleanupOrController) {\n activeEffectsRef.current.add(cleanupOrController)\n }\n }\n\n const clearFX = () => {\n activeEffectsRef.current.forEach((cleanup) => {\n if (typeof cleanup === 'function') {\n cleanup()\n } else if (cleanup?.destroy) {\n cleanup.destroy()\n }\n })\n activeEffectsRef.current.clear()\n\n // Clear filters\n const obj = ref.current\n if (obj?.filters) {\n obj.filters.internal.clear()\n obj.filters.external.clear()\n }\n }\n\n return { applyFX, clearFX }\n}\n"],"names":[],"mappings":";;AAqEO,SAAS,MAAqC,KAAmB;AACtE,QAAM,mBAAmB,OAAsD,oBAAI,KAAK;AAMxF,YAAU,MAAM;AACd,UAAM,MAAM,IAAI;AAChB,QAAI,OAAO,OAAQ,IAAuC,kBAAkB,YAAY;AACpF,UAAsC,cAAA;AAAA,IAC1C;AAAA,EACF,GAAG,CAAA,CAAE;AAGL,YAAU,MAAM;AACd,WAAO,MAAM;AACX,uBAAiB,QAAQ,QAAQ,CAAC,YAAY;AAC5C,YAAI,OAAO,YAAY,YAAY;AACjC,kBAAA;AAAA,QACF,WAAW,SAAS,SAAS;AAC3B,kBAAQ,QAAA;AAAA,QACV;AAAA,MACF,CAAC;AACD,uBAAiB,QAAQ,MAAA;AAAA,IAC3B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,UAAU,CACd,WACA,QACA,OAAe,eACZ;AACH,UAAM,MAAM,IAAI;AAChB,QAAI,CAAC,KAAK;AACR,cAAQ,KAAK,gCAAgC;AAC7C;AAAA,IACF;AAEA,UAAM,sBAAsB,UAAU,KAAK,QAAQ,IAAI;AACvD,QAAI,qBAAqB;AACvB,uBAAiB,QAAQ,IAAI,mBAAmB;AAAA,IAClD;AAAA,EACF;AAEA,QAAM,UAAU,MAAM;AACpB,qBAAiB,QAAQ,QAAQ,CAAC,YAAY;AAC5C,UAAI,OAAO,YAAY,YAAY;AACjC,gBAAA;AAAA,MACF,WAAW,SAAS,SAAS;AAC3B,gBAAQ,QAAA;AAAA,MACV;AAAA,IACF,CAAC;AACD,qBAAiB,QAAQ,MAAA;AAGzB,UAAM,MAAM,IAAI;AAChB,QAAI,KAAK,SAAS;AAChB,UAAI,QAAQ,SAAS,MAAA;AACrB,UAAI,QAAQ,SAAS,MAAA;AAAA,IACvB;AAAA,EACF;AAEA,SAAO,EAAE,SAAS,QAAA;AACpB;"}