@caperjs/core 0.1.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 (600) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +62 -0
  3. package/cli/add.mjs +197 -0
  4. package/cli/audio/cc.mjs +128 -0
  5. package/cli/audio/index.mjs +42 -0
  6. package/cli/audio/utils.mjs +56 -0
  7. package/cli/create-caper.mjs +8 -0
  8. package/cli/create.mjs +351 -0
  9. package/cli/install-peerdeps.mjs +57 -0
  10. package/cli/update.mjs +9 -0
  11. package/cli/utils.mjs +81 -0
  12. package/cli/vite.mjs +55 -0
  13. package/cli/voiceover/generateVoiceoverCSV.mjs +158 -0
  14. package/cli/voiceover/index.mjs +1 -0
  15. package/cli.mjs +157 -0
  16. package/client.d.ts +7 -0
  17. package/config/assetpack.mjs +212 -0
  18. package/config/tsconfig.base.json +28 -0
  19. package/config/vite.mjs +2464 -0
  20. package/extras/css/accessibility.css +9 -0
  21. package/extras/css/fullscreen.css +28 -0
  22. package/extras/css/loader.css +67 -0
  23. package/extras/llms.txt +1602 -0
  24. package/lib/CaptionsPlugin-Dc8fIrjy.js +277 -0
  25. package/lib/CaptionsPlugin-Dc8fIrjy.js.map +1 -0
  26. package/lib/DataAdapter-BY2114sp.js +84 -0
  27. package/lib/DataAdapter-BY2114sp.js.map +1 -0
  28. package/lib/DebugRenderer-BJMLILqI.js +1385 -0
  29. package/lib/DebugRenderer-BJMLILqI.js.map +1 -0
  30. package/lib/DevToolsPlugin-wQ5rOkn0.js +31 -0
  31. package/lib/DevToolsPlugin-wQ5rOkn0.js.map +1 -0
  32. package/lib/GSAPPlugin-DHhSZKv8.js +350 -0
  33. package/lib/GSAPPlugin-DHhSZKv8.js.map +1 -0
  34. package/lib/LayoutPlugin-B-DF9SYM.js +1271 -0
  35. package/lib/LayoutPlugin-B-DF9SYM.js.map +1 -0
  36. package/lib/SpinePlugin-Dz_3dljz.js +6077 -0
  37. package/lib/SpinePlugin-Dz_3dljz.js.map +1 -0
  38. package/lib/StatsPlugin-Cg82JMBD.js +70 -0
  39. package/lib/StatsPlugin-Cg82JMBD.js.map +1 -0
  40. package/lib/VoiceOverPlugin-BR3ImT8C.js +114 -0
  41. package/lib/VoiceOverPlugin-BR3ImT8C.js.map +1 -0
  42. package/lib/caper.mjs +1233 -0
  43. package/lib/caper.mjs.map +1 -0
  44. package/lib/core/Application.d.ts +268 -0
  45. package/lib/core/Application.d.ts.map +1 -0
  46. package/lib/core/config.d.ts +39 -0
  47. package/lib/core/config.d.ts.map +1 -0
  48. package/lib/core/create.d.ts +41 -0
  49. package/lib/core/create.d.ts.map +1 -0
  50. package/lib/core/globals.d.ts +51 -0
  51. package/lib/core/globals.d.ts.map +1 -0
  52. package/lib/core/index.d.ts +7 -0
  53. package/lib/core/index.d.ts.map +1 -0
  54. package/lib/core/interfaces/IApplication.d.ts +566 -0
  55. package/lib/core/interfaces/IApplication.d.ts.map +1 -0
  56. package/lib/core/interfaces/IApplicationOptions.d.ts +65 -0
  57. package/lib/core/interfaces/IApplicationOptions.d.ts.map +1 -0
  58. package/lib/core/interfaces/ICoreFunctions.d.ts +49 -0
  59. package/lib/core/interfaces/ICoreFunctions.d.ts.map +1 -0
  60. package/lib/core/interfaces/ICoreSignals.d.ts +57 -0
  61. package/lib/core/interfaces/ICoreSignals.d.ts.map +1 -0
  62. package/lib/core/interfaces/IStorageCapability.d.ts +20 -0
  63. package/lib/core/interfaces/IStorageCapability.d.ts.map +1 -0
  64. package/lib/core/interfaces/IStorageCapability.test.d.ts +2 -0
  65. package/lib/core/interfaces/IStorageCapability.test.d.ts.map +1 -0
  66. package/lib/core/interfaces/index.d.ts +7 -0
  67. package/lib/core/interfaces/index.d.ts.map +1 -0
  68. package/lib/core/registries.d.ts +8 -0
  69. package/lib/core/registries.d.ts.map +1 -0
  70. package/lib/core/types.d.ts +12 -0
  71. package/lib/core/types.d.ts.map +1 -0
  72. package/lib/display/AnimatedSprite.d.ts +40 -0
  73. package/lib/display/AnimatedSprite.d.ts.map +1 -0
  74. package/lib/display/Camera.d.ts +102 -0
  75. package/lib/display/Camera.d.ts.map +1 -0
  76. package/lib/display/Container.d.ts +115 -0
  77. package/lib/display/Container.d.ts.map +1 -0
  78. package/lib/display/Entity.d.ts +46 -0
  79. package/lib/display/Entity.d.ts.map +1 -0
  80. package/lib/display/ParticleContainer.d.ts +58 -0
  81. package/lib/display/ParticleContainer.d.ts.map +1 -0
  82. package/lib/display/Scene.d.ts +250 -0
  83. package/lib/display/Scene.d.ts.map +1 -0
  84. package/lib/display/SceneTransition.d.ts +41 -0
  85. package/lib/display/SceneTransition.d.ts.map +1 -0
  86. package/lib/display/SpineAnimation.d.ts +76 -0
  87. package/lib/display/SpineAnimation.d.ts.map +1 -0
  88. package/lib/display/Svg.d.ts +5 -0
  89. package/lib/display/Svg.d.ts.map +1 -0
  90. package/lib/display/index.d.ts +10 -0
  91. package/lib/display/index.d.ts.map +1 -0
  92. package/lib/env.d.ts +6 -0
  93. package/lib/hello.d.ts +2 -0
  94. package/lib/hello.d.ts.map +1 -0
  95. package/lib/index.d.ts +15 -0
  96. package/lib/index.d.ts.map +1 -0
  97. package/lib/mixins/animated.d.ts +53 -0
  98. package/lib/mixins/animated.d.ts.map +1 -0
  99. package/lib/mixins/factory/Factory.d.ts +8 -0
  100. package/lib/mixins/factory/Factory.d.ts.map +1 -0
  101. package/lib/mixins/factory/const.d.ts +67 -0
  102. package/lib/mixins/factory/const.d.ts.map +1 -0
  103. package/lib/mixins/factory/index.d.ts +8 -0
  104. package/lib/mixins/factory/index.d.ts.map +1 -0
  105. package/lib/mixins/factory/methods.d.ts +3 -0
  106. package/lib/mixins/factory/methods.d.ts.map +1 -0
  107. package/lib/mixins/factory/props.d.ts +160 -0
  108. package/lib/mixins/factory/props.d.ts.map +1 -0
  109. package/lib/mixins/factory/registry.d.ts +27 -0
  110. package/lib/mixins/factory/registry.d.ts.map +1 -0
  111. package/lib/mixins/factory/registry.test.d.ts +2 -0
  112. package/lib/mixins/factory/registry.test.d.ts.map +1 -0
  113. package/lib/mixins/factory/schema.d.ts +71 -0
  114. package/lib/mixins/factory/schema.d.ts.map +1 -0
  115. package/lib/mixins/factory/ui-registry.d.ts +20 -0
  116. package/lib/mixins/factory/ui-registry.d.ts.map +1 -0
  117. package/lib/mixins/factory/utils.d.ts +11 -0
  118. package/lib/mixins/factory/utils.d.ts.map +1 -0
  119. package/lib/mixins/focus.d.ts +15 -0
  120. package/lib/mixins/focus.d.ts.map +1 -0
  121. package/lib/mixins/index.d.ts +6 -0
  122. package/lib/mixins/index.d.ts.map +1 -0
  123. package/lib/mixins/interaction.d.ts +20 -0
  124. package/lib/mixins/interaction.d.ts.map +1 -0
  125. package/lib/mixins/signals.d.ts +15 -0
  126. package/lib/mixins/signals.d.ts.map +1 -0
  127. package/lib/plugins/AssetsPlugin.d.ts +79 -0
  128. package/lib/plugins/AssetsPlugin.d.ts.map +1 -0
  129. package/lib/plugins/DataAdapter.d.ts +95 -0
  130. package/lib/plugins/DataAdapter.d.ts.map +1 -0
  131. package/lib/plugins/DevToolsPlugin.d.ts +97 -0
  132. package/lib/plugins/DevToolsPlugin.d.ts.map +1 -0
  133. package/lib/plugins/FullScreenPlugin.d.ts +240 -0
  134. package/lib/plugins/FullScreenPlugin.d.ts.map +1 -0
  135. package/lib/plugins/GSAPPlugin.d.ts +634 -0
  136. package/lib/plugins/GSAPPlugin.d.ts.map +1 -0
  137. package/lib/plugins/KeyboardPlugin.d.ts +53 -0
  138. package/lib/plugins/KeyboardPlugin.d.ts.map +1 -0
  139. package/lib/plugins/LayoutPlugin.d.ts +100 -0
  140. package/lib/plugins/LayoutPlugin.d.ts.map +1 -0
  141. package/lib/plugins/LookupPlugin.d.ts +223 -0
  142. package/lib/plugins/LookupPlugin.d.ts.map +1 -0
  143. package/lib/plugins/Plugin.d.ts +132 -0
  144. package/lib/plugins/Plugin.d.ts.map +1 -0
  145. package/lib/plugins/Plugin.test.d.ts +2 -0
  146. package/lib/plugins/Plugin.test.d.ts.map +1 -0
  147. package/lib/plugins/PopupManagerPlugin.d.ts +108 -0
  148. package/lib/plugins/PopupManagerPlugin.d.ts.map +1 -0
  149. package/lib/plugins/ResizerPlugin.d.ts +62 -0
  150. package/lib/plugins/ResizerPlugin.d.ts.map +1 -0
  151. package/lib/plugins/SceneManagerPlugin.d.ts +122 -0
  152. package/lib/plugins/SceneManagerPlugin.d.ts.map +1 -0
  153. package/lib/plugins/StatsPlugin.d.ts +8 -0
  154. package/lib/plugins/StatsPlugin.d.ts.map +1 -0
  155. package/lib/plugins/TimerPlugin.d.ts +401 -0
  156. package/lib/plugins/TimerPlugin.d.ts.map +1 -0
  157. package/lib/plugins/WebEventsPlugin.d.ts +60 -0
  158. package/lib/plugins/WebEventsPlugin.d.ts.map +1 -0
  159. package/lib/plugins/actions/ActionsPlugin.d.ts +39 -0
  160. package/lib/plugins/actions/ActionsPlugin.d.ts.map +1 -0
  161. package/lib/plugins/actions/constants.d.ts +52 -0
  162. package/lib/plugins/actions/constants.d.ts.map +1 -0
  163. package/lib/plugins/actions/index.d.ts +5 -0
  164. package/lib/plugins/actions/index.d.ts.map +1 -0
  165. package/lib/plugins/actions/methods.d.ts +11 -0
  166. package/lib/plugins/actions/methods.d.ts.map +1 -0
  167. package/lib/plugins/actions/types.d.ts +25 -0
  168. package/lib/plugins/actions/types.d.ts.map +1 -0
  169. package/lib/plugins/audio/AudioChannel.d.ts +46 -0
  170. package/lib/plugins/audio/AudioChannel.d.ts.map +1 -0
  171. package/lib/plugins/audio/AudioChannel.test.d.ts +2 -0
  172. package/lib/plugins/audio/AudioChannel.test.d.ts.map +1 -0
  173. package/lib/plugins/audio/AudioInstance.d.ts +79 -0
  174. package/lib/plugins/audio/AudioInstance.d.ts.map +1 -0
  175. package/lib/plugins/audio/AudioManagerPlugin.d.ts +323 -0
  176. package/lib/plugins/audio/AudioManagerPlugin.d.ts.map +1 -0
  177. package/lib/plugins/audio/VoiceOverPlugin.d.ts +69 -0
  178. package/lib/plugins/audio/VoiceOverPlugin.d.ts.map +1 -0
  179. package/lib/plugins/audio/index.d.ts +4 -0
  180. package/lib/plugins/audio/index.d.ts.map +1 -0
  181. package/lib/plugins/breakpoints/BreakpointPlugin.d.ts +109 -0
  182. package/lib/plugins/breakpoints/BreakpointPlugin.d.ts.map +1 -0
  183. package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts +2 -0
  184. package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts.map +1 -0
  185. package/lib/plugins/breakpoints/evaluate.d.ts +53 -0
  186. package/lib/plugins/breakpoints/evaluate.d.ts.map +1 -0
  187. package/lib/plugins/breakpoints/evaluate.test.d.ts +2 -0
  188. package/lib/plugins/breakpoints/evaluate.test.d.ts.map +1 -0
  189. package/lib/plugins/breakpoints/index.d.ts +4 -0
  190. package/lib/plugins/breakpoints/index.d.ts.map +1 -0
  191. package/lib/plugins/breakpoints/methods.d.ts +23 -0
  192. package/lib/plugins/breakpoints/methods.d.ts.map +1 -0
  193. package/lib/plugins/breakpoints/types.d.ts +70 -0
  194. package/lib/plugins/breakpoints/types.d.ts.map +1 -0
  195. package/lib/plugins/captions/CaptionsPlugin.d.ts +150 -0
  196. package/lib/plugins/captions/CaptionsPlugin.d.ts.map +1 -0
  197. package/lib/plugins/captions/CaptionsRenderer.d.ts +37 -0
  198. package/lib/plugins/captions/CaptionsRenderer.d.ts.map +1 -0
  199. package/lib/plugins/captions/index.d.ts +3 -0
  200. package/lib/plugins/captions/index.d.ts.map +1 -0
  201. package/lib/plugins/defaults.d.ts +4 -0
  202. package/lib/plugins/defaults.d.ts.map +1 -0
  203. package/lib/plugins/focus/FocusManagerPlugin.d.ts +148 -0
  204. package/lib/plugins/focus/FocusManagerPlugin.d.ts.map +1 -0
  205. package/lib/plugins/focus/FocusOutliner.d.ts +32 -0
  206. package/lib/plugins/focus/FocusOutliner.d.ts.map +1 -0
  207. package/lib/plugins/focus/index.d.ts +3 -0
  208. package/lib/plugins/focus/index.d.ts.map +1 -0
  209. package/lib/plugins/i18nPlugin.d.ts +128 -0
  210. package/lib/plugins/i18nPlugin.d.ts.map +1 -0
  211. package/lib/plugins/index.d.ts +18 -0
  212. package/lib/plugins/index.d.ts.map +1 -0
  213. package/lib/plugins/input/AbstractControls.d.ts +8 -0
  214. package/lib/plugins/input/AbstractControls.d.ts.map +1 -0
  215. package/lib/plugins/input/Controls.d.ts +16 -0
  216. package/lib/plugins/input/Controls.d.ts.map +1 -0
  217. package/lib/plugins/input/InputPlugin.d.ts +52 -0
  218. package/lib/plugins/input/InputPlugin.d.ts.map +1 -0
  219. package/lib/plugins/input/constants.d.ts +8 -0
  220. package/lib/plugins/input/constants.d.ts.map +1 -0
  221. package/lib/plugins/input/index.d.ts +10 -0
  222. package/lib/plugins/input/index.d.ts.map +1 -0
  223. package/lib/plugins/input/interfaces.d.ts +30 -0
  224. package/lib/plugins/input/interfaces.d.ts.map +1 -0
  225. package/lib/plugins/input/keyboard/KeyboardContols.d.ts +28 -0
  226. package/lib/plugins/input/keyboard/KeyboardContols.d.ts.map +1 -0
  227. package/lib/plugins/input/keyboard/index.d.ts +3 -0
  228. package/lib/plugins/input/keyboard/index.d.ts.map +1 -0
  229. package/lib/plugins/input/keyboard/interfaces.d.ts +18 -0
  230. package/lib/plugins/input/keyboard/interfaces.d.ts.map +1 -0
  231. package/lib/plugins/input/methods.d.ts +4 -0
  232. package/lib/plugins/input/methods.d.ts.map +1 -0
  233. package/lib/plugins/input/touch/TouchControls.d.ts +35 -0
  234. package/lib/plugins/input/touch/TouchControls.d.ts.map +1 -0
  235. package/lib/plugins/input/touch/constants.d.ts +14 -0
  236. package/lib/plugins/input/touch/constants.d.ts.map +1 -0
  237. package/lib/plugins/input/touch/index.d.ts +4 -0
  238. package/lib/plugins/input/touch/index.d.ts.map +1 -0
  239. package/lib/plugins/input/touch/interfaces.d.ts +15 -0
  240. package/lib/plugins/input/touch/interfaces.d.ts.map +1 -0
  241. package/lib/plugins/input/types.d.ts +32 -0
  242. package/lib/plugins/input/types.d.ts.map +1 -0
  243. package/lib/plugins/input/utils.d.ts +23 -0
  244. package/lib/plugins/input/utils.d.ts.map +1 -0
  245. package/lib/plugins/spine/SpinePlugin.d.ts +6 -0
  246. package/lib/plugins/spine/SpinePlugin.d.ts.map +1 -0
  247. package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts +31 -0
  248. package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts.map +1 -0
  249. package/lib/plugins/spine/pixi-spine/Spine.d.ts +211 -0
  250. package/lib/plugins/spine/pixi-spine/Spine.d.ts.map +1 -0
  251. package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts +81 -0
  252. package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts.map +1 -0
  253. package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts +21 -0
  254. package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts.map +1 -0
  255. package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts +16 -0
  256. package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts.map +1 -0
  257. package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts +10 -0
  258. package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts.map +1 -0
  259. package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts +6 -0
  260. package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts.map +1 -0
  261. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts +5 -0
  262. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
  263. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts +22 -0
  264. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts.map +1 -0
  265. package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts +5 -0
  266. package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts.map +1 -0
  267. package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts +51 -0
  268. package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts.map +1 -0
  269. package/lib/plugins/spine/pixi-spine/index.d.ts +9 -0
  270. package/lib/plugins/spine/pixi-spine/index.d.ts.map +1 -0
  271. package/lib/plugins/spine/pixi-spine/require-shim.d.ts +34 -0
  272. package/lib/plugins/spine/pixi-spine/require-shim.d.ts.map +1 -0
  273. package/lib/registries-CYCaYKZI.js +6885 -0
  274. package/lib/registries-CYCaYKZI.js.map +1 -0
  275. package/lib/signals/Signal.d.ts +16 -0
  276. package/lib/signals/Signal.d.ts.map +1 -0
  277. package/lib/signals/Signal.test.d.ts +2 -0
  278. package/lib/signals/Signal.test.d.ts.map +1 -0
  279. package/lib/signals/index.d.ts +3 -0
  280. package/lib/signals/index.d.ts.map +1 -0
  281. package/lib/store/Store.d.ts +56 -0
  282. package/lib/store/Store.d.ts.map +1 -0
  283. package/lib/store/Store.test.d.ts +2 -0
  284. package/lib/store/Store.test.d.ts.map +1 -0
  285. package/lib/store/index.d.ts +2 -0
  286. package/lib/store/index.d.ts.map +1 -0
  287. package/lib/types/framework.d.ts +46 -0
  288. package/lib/types/gsap.d.ts +23 -0
  289. package/lib/ui/Button.d.ts +162 -0
  290. package/lib/ui/Button.d.ts.map +1 -0
  291. package/lib/ui/FlexContainer.d.ts +109 -0
  292. package/lib/ui/FlexContainer.d.ts.map +1 -0
  293. package/lib/ui/Input.d.ts +384 -0
  294. package/lib/ui/Input.d.ts.map +1 -0
  295. package/lib/ui/Joystick.d.ts +61 -0
  296. package/lib/ui/Joystick.d.ts.map +1 -0
  297. package/lib/ui/Popup.d.ts +109 -0
  298. package/lib/ui/Popup.d.ts.map +1 -0
  299. package/lib/ui/Toast.d.ts +131 -0
  300. package/lib/ui/Toast.d.ts.map +1 -0
  301. package/lib/ui/Toaster.d.ts +188 -0
  302. package/lib/ui/Toaster.d.ts.map +1 -0
  303. package/lib/ui/UICanvas.d.ts +155 -0
  304. package/lib/ui/UICanvas.d.ts.map +1 -0
  305. package/lib/ui/index.d.ts +9 -0
  306. package/lib/ui/index.d.ts.map +1 -0
  307. package/lib/utils/array.d.ts +11 -0
  308. package/lib/utils/array.d.ts.map +1 -0
  309. package/lib/utils/bind.d.ts +21 -0
  310. package/lib/utils/bind.d.ts.map +1 -0
  311. package/lib/utils/canvas.d.ts +2 -0
  312. package/lib/utils/canvas.d.ts.map +1 -0
  313. package/lib/utils/color.d.ts +66 -0
  314. package/lib/utils/color.d.ts.map +1 -0
  315. package/lib/utils/console/Logger.d.ts +15 -0
  316. package/lib/utils/console/Logger.d.ts.map +1 -0
  317. package/lib/utils/console/index.d.ts +2 -0
  318. package/lib/utils/console/index.d.ts.map +1 -0
  319. package/lib/utils/debug.d.ts +34 -0
  320. package/lib/utils/debug.d.ts.map +1 -0
  321. package/lib/utils/define.d.ts +100 -0
  322. package/lib/utils/define.d.ts.map +1 -0
  323. package/lib/utils/env.d.ts +4 -0
  324. package/lib/utils/env.d.ts.map +1 -0
  325. package/lib/utils/events.d.ts +12 -0
  326. package/lib/utils/events.d.ts.map +1 -0
  327. package/lib/utils/framework.d.ts +12 -0
  328. package/lib/utils/framework.d.ts.map +1 -0
  329. package/lib/utils/index.d.ts +28 -0
  330. package/lib/utils/index.d.ts.map +1 -0
  331. package/lib/utils/map.d.ts +31 -0
  332. package/lib/utils/map.d.ts.map +1 -0
  333. package/lib/utils/math.d.ts +15 -0
  334. package/lib/utils/math.d.ts.map +1 -0
  335. package/lib/utils/misc.d.ts +13 -0
  336. package/lib/utils/misc.d.ts.map +1 -0
  337. package/lib/utils/number.d.ts +2 -0
  338. package/lib/utils/number.d.ts.map +1 -0
  339. package/lib/utils/object.d.ts +21 -0
  340. package/lib/utils/object.d.ts.map +1 -0
  341. package/lib/utils/padding.d.ts +4 -0
  342. package/lib/utils/padding.d.ts.map +1 -0
  343. package/lib/utils/pixi.d.ts +42 -0
  344. package/lib/utils/pixi.d.ts.map +1 -0
  345. package/lib/utils/platform.d.ts +20 -0
  346. package/lib/utils/platform.d.ts.map +1 -0
  347. package/lib/utils/point.d.ts +66 -0
  348. package/lib/utils/point.d.ts.map +1 -0
  349. package/lib/utils/promise/Queue.d.ts +60 -0
  350. package/lib/utils/promise/Queue.d.ts.map +1 -0
  351. package/lib/utils/promise/functions.d.ts +14 -0
  352. package/lib/utils/promise/functions.d.ts.map +1 -0
  353. package/lib/utils/promise/index.d.ts +3 -0
  354. package/lib/utils/promise/index.d.ts.map +1 -0
  355. package/lib/utils/random.d.ts +42 -0
  356. package/lib/utils/random.d.ts.map +1 -0
  357. package/lib/utils/rect.d.ts +26 -0
  358. package/lib/utils/rect.d.ts.map +1 -0
  359. package/lib/utils/set.d.ts +15 -0
  360. package/lib/utils/set.d.ts.map +1 -0
  361. package/lib/utils/string.d.ts +3 -0
  362. package/lib/utils/string.d.ts.map +1 -0
  363. package/lib/utils/text.d.ts +3 -0
  364. package/lib/utils/text.d.ts.map +1 -0
  365. package/lib/utils/typefilters.d.ts +4 -0
  366. package/lib/utils/typefilters.d.ts.map +1 -0
  367. package/lib/utils/types.d.ts +209 -0
  368. package/lib/utils/types.d.ts.map +1 -0
  369. package/lib/utils/vite.d.ts +25 -0
  370. package/lib/utils/vite.d.ts.map +1 -0
  371. package/lib/utils/web.d.ts +3 -0
  372. package/lib/utils/web.d.ts.map +1 -0
  373. package/lib/version.d.ts +3 -0
  374. package/lib/version.d.ts.map +1 -0
  375. package/lib/webgl-check.d.ts +2 -0
  376. package/lib/webgl-check.d.ts.map +1 -0
  377. package/package.json +138 -0
  378. package/src/core/Application.ts +1091 -0
  379. package/src/core/config.ts +168 -0
  380. package/src/core/create.ts +186 -0
  381. package/src/core/globals.ts +299 -0
  382. package/src/core/index.ts +6 -0
  383. package/src/core/interfaces/IApplication.ts +628 -0
  384. package/src/core/interfaces/IApplicationOptions.ts +81 -0
  385. package/src/core/interfaces/ICoreFunctions.ts +86 -0
  386. package/src/core/interfaces/ICoreSignals.ts +77 -0
  387. package/src/core/interfaces/IStorageCapability.test.ts +27 -0
  388. package/src/core/interfaces/IStorageCapability.ts +26 -0
  389. package/src/core/interfaces/index.ts +6 -0
  390. package/src/core/registries.ts +7 -0
  391. package/src/core/types.ts +13 -0
  392. package/src/display/AnimatedSprite.ts +227 -0
  393. package/src/display/Camera.ts +371 -0
  394. package/src/display/Container.ts +240 -0
  395. package/src/display/Entity.ts +50 -0
  396. package/src/display/ParticleContainer.ts +107 -0
  397. package/src/display/Scene.ts +305 -0
  398. package/src/display/SceneTransition.ts +108 -0
  399. package/src/display/SpineAnimation.ts +170 -0
  400. package/src/display/Svg.ts +9 -0
  401. package/src/display/index.ts +11 -0
  402. package/src/env.d.ts +6 -0
  403. package/src/hello.ts +20 -0
  404. package/src/index.ts +17 -0
  405. package/src/mixins/animated.ts +340 -0
  406. package/src/mixins/factory/Factory.ts +24 -0
  407. package/src/mixins/factory/const.ts +363 -0
  408. package/src/mixins/factory/index.ts +7 -0
  409. package/src/mixins/factory/methods.ts +21 -0
  410. package/src/mixins/factory/props.ts +207 -0
  411. package/src/mixins/factory/registry.test.ts +83 -0
  412. package/src/mixins/factory/registry.ts +61 -0
  413. package/src/mixins/factory/schema.ts +153 -0
  414. package/src/mixins/factory/ui-registry.ts +54 -0
  415. package/src/mixins/factory/utils.ts +130 -0
  416. package/src/mixins/focus.ts +124 -0
  417. package/src/mixins/index.ts +5 -0
  418. package/src/mixins/interaction.ts +74 -0
  419. package/src/mixins/signals.ts +49 -0
  420. package/src/plugins/AssetsPlugin.ts +407 -0
  421. package/src/plugins/DataAdapter.ts +259 -0
  422. package/src/plugins/DevToolsPlugin.ts +103 -0
  423. package/src/plugins/FullScreenPlugin.ts +359 -0
  424. package/src/plugins/GSAPPlugin.ts +811 -0
  425. package/src/plugins/KeyboardPlugin.ts +160 -0
  426. package/src/plugins/LayoutPlugin.ts +127 -0
  427. package/src/plugins/LookupPlugin.ts +308 -0
  428. package/src/plugins/Plugin.test.ts +73 -0
  429. package/src/plugins/Plugin.ts +200 -0
  430. package/src/plugins/PopupManagerPlugin.ts +263 -0
  431. package/src/plugins/ResizerPlugin.ts +220 -0
  432. package/src/plugins/SceneManagerPlugin.ts +669 -0
  433. package/src/plugins/StatsPlugin.ts +24 -0
  434. package/src/plugins/TimerPlugin.ts +841 -0
  435. package/src/plugins/WebEventsPlugin.ts +132 -0
  436. package/src/plugins/actions/ActionsPlugin.ts +113 -0
  437. package/src/plugins/actions/constants.ts +45 -0
  438. package/src/plugins/actions/index.ts +4 -0
  439. package/src/plugins/actions/methods.ts +28 -0
  440. package/src/plugins/actions/types.ts +47 -0
  441. package/src/plugins/audio/AudioChannel.test.ts +101 -0
  442. package/src/plugins/audio/AudioChannel.ts +164 -0
  443. package/src/plugins/audio/AudioInstance.ts +228 -0
  444. package/src/plugins/audio/AudioManagerPlugin.ts +903 -0
  445. package/src/plugins/audio/VoiceOverPlugin.ts +354 -0
  446. package/src/plugins/audio/index.ts +3 -0
  447. package/src/plugins/breakpoints/BreakpointPlugin.test.ts +228 -0
  448. package/src/plugins/breakpoints/BreakpointPlugin.ts +293 -0
  449. package/src/plugins/breakpoints/evaluate.test.ts +239 -0
  450. package/src/plugins/breakpoints/evaluate.ts +201 -0
  451. package/src/plugins/breakpoints/index.ts +3 -0
  452. package/src/plugins/breakpoints/methods.ts +22 -0
  453. package/src/plugins/breakpoints/types.ts +86 -0
  454. package/src/plugins/captions/CaptionsPlugin.ts +468 -0
  455. package/src/plugins/captions/CaptionsRenderer.ts +184 -0
  456. package/src/plugins/captions/font/Sans.fnt +116 -0
  457. package/src/plugins/captions/font/Sans.png +0 -0
  458. package/src/plugins/captions/index.ts +2 -0
  459. package/src/plugins/defaults.ts +95 -0
  460. package/src/plugins/focus/FocusManagerPlugin.ts +773 -0
  461. package/src/plugins/focus/FocusOutliner.ts +111 -0
  462. package/src/plugins/focus/index.ts +2 -0
  463. package/src/plugins/i18nPlugin.ts +284 -0
  464. package/src/plugins/index.ts +17 -0
  465. package/src/plugins/input/AbstractControls.ts +15 -0
  466. package/src/plugins/input/Controls.ts +55 -0
  467. package/src/plugins/input/InputPlugin.ts +168 -0
  468. package/src/plugins/input/constants.ts +12 -0
  469. package/src/plugins/input/index.ts +9 -0
  470. package/src/plugins/input/interfaces.ts +37 -0
  471. package/src/plugins/input/keyboard/KeyboardContols.ts +182 -0
  472. package/src/plugins/input/keyboard/index.ts +2 -0
  473. package/src/plugins/input/keyboard/interfaces.ts +21 -0
  474. package/src/plugins/input/methods.ts +9 -0
  475. package/src/plugins/input/touch/TouchControls.ts +237 -0
  476. package/src/plugins/input/touch/constants.ts +34 -0
  477. package/src/plugins/input/touch/index.ts +3 -0
  478. package/src/plugins/input/touch/interfaces.ts +15 -0
  479. package/src/plugins/input/types.ts +41 -0
  480. package/src/plugins/input/utils.ts +10 -0
  481. package/src/plugins/spine/SpinePlugin.ts +14 -0
  482. package/src/plugins/spine/pixi-spine/BatchableSpineSlot.ts +138 -0
  483. package/src/plugins/spine/pixi-spine/Spine.ts +897 -0
  484. package/src/plugins/spine/pixi-spine/SpineDebugRenderer.ts +615 -0
  485. package/src/plugins/spine/pixi-spine/SpinePipe.ts +197 -0
  486. package/src/plugins/spine/pixi-spine/SpineTexture.ts +143 -0
  487. package/src/plugins/spine/pixi-spine/assets/atlasLoader.ts +156 -0
  488. package/src/plugins/spine/pixi-spine/assets/skeletonLoader.ts +80 -0
  489. package/src/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.ts +92 -0
  490. package/src/plugins/spine/pixi-spine/darktint/DarkTintBatcher.ts +186 -0
  491. package/src/plugins/spine/pixi-spine/darktint/DarkTintShader.ts +74 -0
  492. package/src/plugins/spine/pixi-spine/darktint/darkTintBit.ts +77 -0
  493. package/src/plugins/spine/pixi-spine/index.ts +43 -0
  494. package/src/plugins/spine/pixi-spine/require-shim.ts +43 -0
  495. package/src/signals/Signal.test.ts +54 -0
  496. package/src/signals/Signal.ts +68 -0
  497. package/src/signals/index.ts +10 -0
  498. package/src/store/Store.test.ts +146 -0
  499. package/src/store/Store.ts +192 -0
  500. package/src/store/index.ts +1 -0
  501. package/src/types/framework.d.ts +47 -0
  502. package/src/types/gsap.d.ts +26 -0
  503. package/src/ui/Button.ts +454 -0
  504. package/src/ui/FlexContainer.ts +526 -0
  505. package/src/ui/Input.ts +1274 -0
  506. package/src/ui/Joystick.ts +288 -0
  507. package/src/ui/Popup.ts +242 -0
  508. package/src/ui/Toast.ts +399 -0
  509. package/src/ui/Toaster.ts +409 -0
  510. package/src/ui/UICanvas.ts +812 -0
  511. package/src/ui/index.ts +8 -0
  512. package/src/utils/array.ts +24 -0
  513. package/src/utils/bind.ts +79 -0
  514. package/src/utils/canvas.ts +26 -0
  515. package/src/utils/color.ts +126 -0
  516. package/src/utils/console/Logger.ts +86 -0
  517. package/src/utils/console/index.ts +1 -0
  518. package/src/utils/debug.ts +69 -0
  519. package/src/utils/define.ts +120 -0
  520. package/src/utils/env.ts +3 -0
  521. package/src/utils/events.ts +10 -0
  522. package/src/utils/framework.ts +45 -0
  523. package/src/utils/index.ts +27 -0
  524. package/src/utils/map.ts +59 -0
  525. package/src/utils/math.ts +19 -0
  526. package/src/utils/misc.ts +45 -0
  527. package/src/utils/number.ts +3 -0
  528. package/src/utils/object.ts +43 -0
  529. package/src/utils/padding.ts +43 -0
  530. package/src/utils/pixi.ts +116 -0
  531. package/src/utils/platform.ts +33 -0
  532. package/src/utils/point.ts +123 -0
  533. package/src/utils/promise/Queue.ts +125 -0
  534. package/src/utils/promise/functions.ts +16 -0
  535. package/src/utils/promise/index.ts +2 -0
  536. package/src/utils/random.ts +69 -0
  537. package/src/utils/rect.ts +50 -0
  538. package/src/utils/set.ts +32 -0
  539. package/src/utils/string.ts +9 -0
  540. package/src/utils/text.ts +30 -0
  541. package/src/utils/typefilters.ts +29 -0
  542. package/src/utils/types.ts +426 -0
  543. package/src/utils/vite.ts +41 -0
  544. package/src/utils/web.ts +7 -0
  545. package/src/version.ts +3 -0
  546. package/src/webgl-check.ts +12 -0
  547. package/templates/app/default/.eslintrc.json +21 -0
  548. package/templates/app/default/.meta.json +4 -0
  549. package/templates/app/default/.nvmrc +1 -0
  550. package/templates/app/default/.prettierrc.json +7 -0
  551. package/templates/app/default/README.md +8 -0
  552. package/templates/app/default/assets/audio{m}/music/Cheerful Annoyance.ogg +0 -0
  553. package/templates/app/default/assets/audio{m}/music/Drumming Sticks.ogg +0 -0
  554. package/templates/app/default/assets/audio{m}/music/Game Over.ogg +0 -0
  555. package/templates/app/default/assets/audio{m}/music/Mishief Stroll.ogg +0 -0
  556. package/templates/app/default/assets/audio{m}/music/Night at the Beach.ogg +0 -0
  557. package/templates/app/default/assets/audio{m}/sfx/click.ogg +0 -0
  558. package/templates/app/default/assets/audio{m}/sfx/hover.ogg +0 -0
  559. package/templates/app/default/assets/required{m}/caper.png +0 -0
  560. package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Bold{family=Space Grotesk}{wf}.ttf +0 -0
  561. package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Medium{family=Space Grotesk}{wf}.ttf +0 -0
  562. package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Regular{family=Space Grotesk}{wf}.ttf +0 -0
  563. package/templates/app/default/assets/required{m}/fonts{fix}/Syncopate-Bold{family=Syncopate}{wf}.ttf +0 -0
  564. package/templates/app/default/assets/required{m}/ui{tps}/btn/blue.png +0 -0
  565. package/templates/app/default/assets/required{m}/ui{tps}/btn/green.png +0 -0
  566. package/templates/app/default/assets/required{m}/ui{tps}/btn/grey.png +0 -0
  567. package/templates/app/default/assets/required{m}/ui{tps}/btn/orange.png +0 -0
  568. package/templates/app/default/assets/required{m}/ui{tps}/btn/purple.png +0 -0
  569. package/templates/app/default/assets/required{m}/ui{tps}/btn/red.png +0 -0
  570. package/templates/app/default/assets/required{m}/ui{tps}/btn/yellow.png +0 -0
  571. package/templates/app/default/assets/required{m}/ui{tps}/btn_a/down.png +0 -0
  572. package/templates/app/default/assets/required{m}/ui{tps}/btn_a/over.png +0 -0
  573. package/templates/app/default/assets/required{m}/ui{tps}/btn_a/up.png +0 -0
  574. package/templates/app/default/assets/required{m}/ui{tps}/btn_b/down.png +0 -0
  575. package/templates/app/default/assets/required{m}/ui{tps}/btn_b/over.png +0 -0
  576. package/templates/app/default/assets/required{m}/ui{tps}/btn_b/up.png +0 -0
  577. package/templates/app/default/assets/required{m}/ui{tps}/joystick/base.png +0 -0
  578. package/templates/app/default/assets/required{m}/ui{tps}/joystick/handle.png +0 -0
  579. package/templates/app/default/assets/required{m}/wordmark.svg +1 -0
  580. package/templates/app/default/assets/spine{m}/spineboy-pro.png +0 -0
  581. package/templates/app/default/assets/spine{m}/spineboy-pro.skel +0 -0
  582. package/templates/app/default/assets/spine{m}/spineboy-pro{fix}.atlas +94 -0
  583. package/templates/app/default/caper.config.ts +60 -0
  584. package/templates/app/default/index.html +23 -0
  585. package/templates/app/default/package.template.json +17 -0
  586. package/templates/app/default/public/favicon.ico +0 -0
  587. package/templates/app/default/src/__APPLICATION_NAME__.ts +3 -0
  588. package/templates/app/default/src/main.ts +9 -0
  589. package/templates/app/default/src/scenes/Base.ts +39 -0
  590. package/templates/app/default/src/scenes/Game.ts +34 -0
  591. package/templates/app/default/src/scenes/Splash.ts +70 -0
  592. package/templates/app/default/src/scenes/Start.ts +90 -0
  593. package/templates/app/default/src/utils/Constants.ts +3 -0
  594. package/templates/app/default/tsconfig.json +1 -0
  595. package/templates/plugin/package.template.json +33 -0
  596. package/templates/plugin/src/Plugin.template.ts +24 -0
  597. package/templates/plugin/src/index.template.ts +3 -0
  598. package/templates/plugin/tsconfig.template.json +43 -0
  599. package/templates/plugin/vite-env.template.d.ts +16 -0
  600. package/templates/plugin/vite.config.template.ts +19 -0
@@ -0,0 +1,384 @@
1
+ import { Bounds, FederatedEvent, FederatedPointerEvent, Graphics, Container as PIXIContainer, Rectangle, Sprite, Text } from 'pixi.js';
2
+ import { TextProps } from '../mixins';
3
+ import { EaseString, Padding, PointLike } from '../utils';
4
+ import { Container } from '../display';
5
+ import { Signal } from '../signals';
6
+ /**
7
+ * Options for styling the input background
8
+ * @interface BgStyleOptions
9
+ */
10
+ export type BgStyleOptions = {
11
+ /** Border radius of the input background */
12
+ radius: number;
13
+ /** Fill style for the background */
14
+ fill: {
15
+ color?: number;
16
+ alpha?: number;
17
+ };
18
+ /** Stroke style for the background border */
19
+ stroke: {
20
+ width?: number;
21
+ color?: number;
22
+ alpha?: number;
23
+ };
24
+ };
25
+ /**
26
+ * Color configuration options
27
+ * @interface ColorOptions
28
+ */
29
+ export type ColorOptions = {
30
+ /** Color in hexadecimal format */
31
+ color: number;
32
+ /** Alpha transparency value (0-1) */
33
+ alpha: number;
34
+ };
35
+ /**
36
+ * Placeholder text configuration
37
+ * @interface PlaceholderOptions
38
+ */
39
+ export type PlaceholderOptions = {
40
+ /** Text to display as placeholder */
41
+ text: string;
42
+ };
43
+ /**
44
+ * Focus overlay configuration for mobile/touch interactions
45
+ * @interface FocusOverlayOptions
46
+ * @example
47
+ * ```typescript
48
+ * const overlaySettings = {
49
+ * activeFilter: ['mobile', 'touch'],
50
+ * marginTop: 60,
51
+ * scale: 2.5,
52
+ * backing: { active: true, color: 0x0 }
53
+ * };
54
+ * ```
55
+ */
56
+ export type FocusOverlayOptions = {
57
+ /** Enable overlay for specific platforms */
58
+ mobile: boolean;
59
+ touch: boolean;
60
+ desktop: boolean;
61
+ /** Custom filter for when to show overlay */
62
+ activeFilter?: boolean | (() => boolean) | ('mobile' | 'touch' | 'desktop')[];
63
+ /** Scale factor for the overlay */
64
+ scale: number;
65
+ /** Top margin for the overlay */
66
+ marginTop: number;
67
+ /** Backing configuration */
68
+ backing: {
69
+ active: boolean;
70
+ options: Partial<ColorOptions>;
71
+ };
72
+ };
73
+ /**
74
+ * Extended placeholder options with animation and positioning
75
+ * @interface ExtraPlaceholderOptions
76
+ * @example
77
+ * ```typescript
78
+ * const placeholderConfig = {
79
+ * positionOnType: 'top',
80
+ * offsetOnType: { x: 0, y: -20 },
81
+ * scaleOnType: { x: 0.8, y: 0.8 },
82
+ * animationOnType: {
83
+ * duration: 0.3,
84
+ * ease: 'sine.out',
85
+ * tint: 0x666666,
86
+ * alpha: 0.5
87
+ * }
88
+ * };
89
+ * ```
90
+ */
91
+ type ExtraPlaceholderOptions = {
92
+ /** Position of placeholder when typing */
93
+ positionOnType: 'top' | 'bottom';
94
+ /** Offset from original position when typing */
95
+ offsetOnType: PointLike;
96
+ /** Scale factor when typing */
97
+ scaleOnType: PointLike;
98
+ /** Animation configuration when typing */
99
+ animationOnType: {
100
+ duration: number;
101
+ ease: EaseString;
102
+ tint: number;
103
+ alpha: number;
104
+ };
105
+ };
106
+ /**
107
+ * Main configuration options for the Input component
108
+ * @interface InputOptions
109
+ * @example
110
+ * ```typescript
111
+ * const input = new Input({
112
+ * value: 'Initial value',
113
+ * type: 'text',
114
+ * minWidth: 400,
115
+ * padding: [12, 15],
116
+ * placeholder: {
117
+ * text: 'Enter text...',
118
+ * color: 0x666666
119
+ * },
120
+ * bg: {
121
+ * radius: 10,
122
+ * stroke: { width: 2, color: 0x000000 }
123
+ * },
124
+ * focusOverlay: {
125
+ * activeFilter: ['mobile', 'touch'],
126
+ * scale: 2.5
127
+ * }
128
+ * });
129
+ * ```
130
+ */
131
+ export interface InputOptions extends Partial<TextProps> {
132
+ /** Initial value of the input */
133
+ value: string;
134
+ /** Input type (text, password, number, etc.) */
135
+ type: 'text' | 'password' | 'number' | 'email' | 'tel' | 'url';
136
+ /** Whether the input width is fixed */
137
+ fixed: boolean;
138
+ /** Pattern for input validation */
139
+ pattern: string;
140
+ /** Enable debug mode */
141
+ debug: boolean;
142
+ /** Minimum width of the input */
143
+ minWidth: number;
144
+ /** Padding configuration */
145
+ padding: Padding;
146
+ /** Maximum length of input */
147
+ maxLength?: number;
148
+ /** Whether to blur on Enter key */
149
+ blurOnEnter: boolean;
150
+ /** Custom regex for validation */
151
+ regex?: RegExp;
152
+ /** Background style configuration */
153
+ bg: Partial<BgStyleOptions>;
154
+ /** Placeholder configuration */
155
+ placeholder: Partial<PlaceholderOptions & ColorOptions & ExtraPlaceholderOptions>;
156
+ /** Selection highlight configuration */
157
+ selection: Partial<ColorOptions>;
158
+ /** Caret configuration */
159
+ caret: Partial<ColorOptions>;
160
+ /** Error state styling */
161
+ error?: {
162
+ input?: {
163
+ fill?: number;
164
+ };
165
+ bg?: Partial<Omit<BgStyleOptions, 'stroke'>>;
166
+ };
167
+ /** Focus overlay configuration */
168
+ focusOverlay: Partial<FocusOverlayOptions>;
169
+ }
170
+ export interface InputProps extends Omit<InputOptions, 'padding'> {
171
+ padding: PointLike | Padding | number[] | number;
172
+ }
173
+ export type InputDetail = {
174
+ value: string;
175
+ input: Input;
176
+ domElement: HTMLInputElement;
177
+ };
178
+ declare const Input_base: typeof Container & import('..').Constructor<import('..').ISignalContainer> & import('..').Constructor<import('..').IInteractive> & import('..').Constructor<import('..').IFocusable>;
179
+ /**
180
+ * A highly customizable input component with mobile/touch support
181
+ * @class Input
182
+ * @extends Focusable(Interactive(WithSignals(Container)))
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * // Basic text input
187
+ * const basicInput = new Input({
188
+ * minWidth: 400,
189
+ * placeholder: { text: 'Enter text' },
190
+ * padding: [12, 15]
191
+ * });
192
+ *
193
+ * // Password input with validation
194
+ * const passwordInput = new Input({
195
+ * type: 'password',
196
+ * minWidth: 400,
197
+ * placeholder: { text: 'Enter password' },
198
+ * maxLength: 20,
199
+ * regex: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/
200
+ * });
201
+ *
202
+ * // Phone number input with validation
203
+ * const phoneInput = new Input({
204
+ * type: 'tel',
205
+ * regex: /^1?-?\(?([2-9][0-9]{2})\)?[-. ]?([2-9][0-9]{2})[-. ]?([0-9]{4})$/,
206
+ * error: {
207
+ * input: { fill: 0xff0000 },
208
+ * bg: { fill: 0xf5e0df }
209
+ * }
210
+ * });
211
+ * ```
212
+ */
213
+ export declare class Input extends Input_base {
214
+ isClone: boolean;
215
+ clone: Input | null;
216
+ /**
217
+ * Emitted when the Enter key is pressed
218
+ * @event onEnter
219
+ * @type {Signal<(detail: InputDetail) => void>}
220
+ */
221
+ onEnter: Signal<(detail: InputDetail) => void>;
222
+ /**
223
+ * Emitted when the input value changes
224
+ * @event onChange
225
+ * @type {Signal<(detail: InputDetail) => void>}
226
+ */
227
+ onChange: Signal<(detail: InputDetail) => void>;
228
+ /**
229
+ * Emitted when validation fails
230
+ * @event onError
231
+ * @type {Signal<(detail: InputDetail) => void>}
232
+ */
233
+ onError: Signal<(detail: InputDetail) => void>;
234
+ /**
235
+ * Input configuration options
236
+ * @type {InputOptions}
237
+ */
238
+ options: InputOptions;
239
+ /**
240
+ * Background graphics container
241
+ * @type {Graphics}
242
+ */
243
+ bg: Graphics;
244
+ /**
245
+ * Caret (cursor) container
246
+ * @type {PIXIContainer}
247
+ */
248
+ caret: PIXIContainer;
249
+ /**
250
+ * Text input container
251
+ * @type {Text}
252
+ */
253
+ input: Text;
254
+ /**
255
+ * Placeholder text container
256
+ * @type {Text}
257
+ */
258
+ placeholder: Text;
259
+ /**
260
+ * Current error state
261
+ * @type {boolean}
262
+ */
263
+ error: boolean;
264
+ protected cursorAnimation: gsap.core.Tween;
265
+ protected domElement: HTMLInputElement;
266
+ protected selectionGraphics: Graphics;
267
+ protected cloneOverlay: Input;
268
+ protected overlayBacking: Sprite;
269
+ private _focusTimer;
270
+ private _pointerDownTimer;
271
+ private _inner;
272
+ private _inputContainer;
273
+ private _placeholderContainer;
274
+ private _mask;
275
+ private _lastWidth;
276
+ private _lastHeight;
277
+ private _placeholderPositioned;
278
+ private _placeholderAnimating;
279
+ private _caretPosition;
280
+ private _selectionRect;
281
+ private _regex;
282
+ private _value;
283
+ constructor(options: Partial<InputProps>, isClone?: boolean, clone?: Input | null);
284
+ /**
285
+ * Gets the current caret (cursor) position
286
+ * @readonly
287
+ * @returns {number} The caret position in pixels from the left
288
+ */
289
+ get caretPosition(): number;
290
+ /**
291
+ * Gets the current selection rectangle
292
+ * @readonly
293
+ * @returns {Rectangle | null} The selection rectangle or null if no selection
294
+ */
295
+ get selectionRect(): Rectangle | null;
296
+ /**
297
+ * Sets the validation regex
298
+ * @param {RegExp} value - The regular expression to use for validation
299
+ */
300
+ set regex(value: RegExp);
301
+ /**
302
+ * Gets whether the current input value is valid
303
+ * @readonly
304
+ * @returns {boolean} True if the input is valid
305
+ */
306
+ get isValid(): boolean;
307
+ /**
308
+ * Gets the current input value
309
+ * @returns {string} The current value
310
+ */
311
+ get value(): string;
312
+ /**
313
+ * Sets the input value
314
+ * @param {string} value - The value to set
315
+ */
316
+ set value(value: string);
317
+ /**
318
+ * Resizes the input component
319
+ * Updates the clone overlay position if it exists
320
+ */
321
+ resize(): void;
322
+ /**
323
+ * Redraws the background graphics
324
+ */
325
+ resetBg(): void;
326
+ /**
327
+ * Called when the component is added to the display list
328
+ * Shows the cursor if this is a clone
329
+ */
330
+ added(): void;
331
+ /**
332
+ * Handles click/tap events on the input
333
+ * Creates the DOM element and positions the caret
334
+ * @param {FederatedEvent} [e] - The pointer event
335
+ */
336
+ handleClick(e?: FederatedEvent): void;
337
+ /**
338
+ * Focuses the input
339
+ * Creates the DOM element and shows the cursor
340
+ */
341
+ focusIn(): void;
342
+ _focusDomElement(selection?: number): void;
343
+ _triggerFocusAndSelection(selection?: number): void;
344
+ _checkPointerDownOutside(e: FederatedPointerEvent): void;
345
+ /**
346
+ * Blurs (unfocuses) the input
347
+ * Removes the DOM element and hides the cursor
348
+ */
349
+ focusOut(): void;
350
+ update(): void;
351
+ drawSelection(): void;
352
+ drawBg(width?: number, height?: number): void;
353
+ destroy(): void;
354
+ protected addBg(): void;
355
+ protected addSelection(): void;
356
+ protected addCaret(): void;
357
+ protected addInput(): void;
358
+ protected addPlaceholder(): void;
359
+ protected createDomElement(selection?: number): void;
360
+ protected destroyDomElement(): void;
361
+ protected showCursor(): void;
362
+ protected hideCursor(): void;
363
+ protected blinkCaret(): void;
364
+ protected validate(): void;
365
+ private _removeDomElementListeners;
366
+ private _addDomElementListeners;
367
+ private _handleFocus;
368
+ private _showCloneOverlay;
369
+ private _positionCloneOverlay;
370
+ private _removeCloneOverlay;
371
+ private _handleDomElementFocus;
372
+ private _handleDomElementBlur;
373
+ private _handleDomElementKeyup;
374
+ private _handleDomElementKeydown;
375
+ private _updateCaretAndSelection;
376
+ private _handleDomElementChange;
377
+ /**
378
+ * Gets the focusable area bounds
379
+ * @returns {Bounds} The bounds of the input container
380
+ */
381
+ getFocusArea(): Bounds;
382
+ }
383
+ export {};
384
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/ui/Input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { DestroyOptions, FederatedPointerEvent, Graphics, Point, Sprite } from 'pixi.js';
2
+ import { Container } from '../display';
3
+ import { JoystickDirection } from '../plugins';
4
+ import { Signal } from '../signals';
5
+ export interface IJoystick {
6
+ onChange: Signal<(detail: JoystickSignalDetail) => void>;
7
+ onStart: Signal<() => void>;
8
+ onEnd: Signal<() => void>;
9
+ onDestroy: Signal<() => void>;
10
+ settings: JoystickSettings;
11
+ outerRadius: number;
12
+ innerRadius: number;
13
+ outer: Sprite | Graphics;
14
+ inner: Sprite | Graphics;
15
+ dragging: boolean;
16
+ pointData: Point;
17
+ power: number;
18
+ startPosition: Point;
19
+ direction: JoystickDirection;
20
+ }
21
+ export interface JoystickSignalDetail {
22
+ angle: number;
23
+ direction: JoystickDirection;
24
+ power: number;
25
+ }
26
+ export interface JoystickSettings {
27
+ outer?: Sprite | Graphics;
28
+ inner?: Sprite | Graphics;
29
+ outerScale?: number;
30
+ innerScale?: number;
31
+ threshold?: number;
32
+ }
33
+ export declare class Joystick extends Container implements IJoystick {
34
+ onChange: Signal<(detail: JoystickSignalDetail) => void>;
35
+ onStart: Signal<() => void>;
36
+ onEnd: Signal<() => void>;
37
+ onDestroy: Signal<() => void>;
38
+ settings: JoystickSettings;
39
+ outerRadius: number;
40
+ innerRadius: number;
41
+ outer: Sprite | Graphics;
42
+ inner: Sprite | Graphics;
43
+ innerAlphaStandby: number;
44
+ dragging: boolean;
45
+ pointData: Point;
46
+ power: number;
47
+ startPosition: Point;
48
+ direction: JoystickDirection;
49
+ threshold: number;
50
+ private _pointerId?;
51
+ constructor(opts: Partial<JoystickSettings>);
52
+ initialize(): void;
53
+ handleDragMove(e: FederatedPointerEvent): void;
54
+ destroy(options?: DestroyOptions): void;
55
+ protected handleDragStart(e: FederatedPointerEvent): void;
56
+ protected handleDragEnd(e: FederatedPointerEvent | PointerEvent): void;
57
+ protected bindEvents(): void;
58
+ protected getPower(centerPoint: Point): number;
59
+ protected getDirection(center: Point): JoystickDirection.Left | JoystickDirection.Top | JoystickDirection.Bottom | JoystickDirection.Right | JoystickDirection.TopLeft | JoystickDirection.TopRight | JoystickDirection.BottomLeft | JoystickDirection.BottomRight;
60
+ }
61
+ //# sourceMappingURL=Joystick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Joystick.d.ts","sourceRoot":"","sources":["../../src/ui/Joystick.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,KAAK,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,QAAS,SAAQ,SAAU,YAAW,SAAS;IAC1D,QAAQ,kBAAuB,oBAAoB,KAAK,IAAI,EAAI;IAChE,OAAO,eAAoB,IAAI,EAAI;IACnC,KAAK,eAAoB,IAAI,EAAI;IACjC,SAAS,eAAoB,IAAI,EAAI;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,WAAW,EAAE,MAAM,CAAK;IAExB,KAAK,EAAG,MAAM,GAAG,QAAQ,CAAC;IAC1B,KAAK,EAAG,MAAM,GAAG,QAAQ,CAAC;IAE1B,iBAAiB,SAAO;IAExB,QAAQ,EAAE,OAAO,CAAS;IAC1B,SAAS,EAAE,KAAK,CAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,KAAK,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAA0B;IACtD,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC;IA8B3C,UAAU;IAwBV,cAAc,CAAC,CAAC,EAAE,qBAAqB;IAoGvC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc;IAUhC,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,qBAAqB;IAWlD,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,qBAAqB,GAAG,YAAY;IAY/D,SAAS,CAAC,UAAU;IAUpB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK;IAMrC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK;CAoBrC"}
@@ -0,0 +1,109 @@
1
+ import { ColorSource, DestroyOptions, Container as PIXIContainer, Sprite } from 'pixi.js';
2
+ import { IContainer, Container } from '../display/Container';
3
+ import { ActionContext, IFocusable } from '../plugins';
4
+ /**
5
+ * Interface for Popup
6
+ */
7
+ export interface IPopup<T = any> extends IContainer {
8
+ readonly id: string | number;
9
+ config: PopupConfig<T>;
10
+ view: Container;
11
+ backing?: PIXIContainer;
12
+ isShowing: boolean;
13
+ firstFocusableEntity?: IFocusable;
14
+ data: T;
15
+ readonly actionContext: ActionContext | undefined;
16
+ close(): void;
17
+ initialize(): void;
18
+ beforeShow(): void;
19
+ show(): void | Promise<any>;
20
+ afterShow(): void;
21
+ beforeHide(): void;
22
+ hide(): void | Promise<any>;
23
+ start(): void | Promise<any>;
24
+ end(): void;
25
+ restoreActionContext(): void;
26
+ }
27
+ export type PopupConstructor<T = any> = new (id: string | number, config?: Partial<PopupConfig<T>>) => IPopup<T>;
28
+ /**
29
+ * Configuration for the backing of the popup
30
+ */
31
+ export type BackingConfig = {
32
+ color: ColorSource;
33
+ alpha: number;
34
+ };
35
+ /**
36
+ * Configuration for the popup
37
+ */
38
+ export type PopupConfig<T = any> = {
39
+ id: string | number;
40
+ closeOnEscape: boolean;
41
+ closeOnPointerDownOutside: boolean;
42
+ backing: boolean | Partial<BackingConfig>;
43
+ data?: T;
44
+ actionContext?: ActionContext;
45
+ };
46
+ /**
47
+ * Class representing a Popup
48
+ */
49
+ export declare class Popup<T = any> extends Container implements IPopup<T> {
50
+ readonly id: string | number;
51
+ isShowing: boolean;
52
+ firstFocusableEntity: IFocusable;
53
+ view: Container;
54
+ backing?: Sprite;
55
+ config: PopupConfig<T>;
56
+ protected _storedActionContext: ActionContext | undefined;
57
+ get actionContext(): ActionContext | undefined;
58
+ /**
59
+ * Create a new Popup
60
+ * @param id - The unique identifier for the popup
61
+ * @param config - The configuration for the popup. The `data` field is
62
+ * narrowed to `T` when the subclass declares its generic parameter
63
+ * (e.g. `class MyPopup extends Popup<MyData>`), which flows through to
64
+ * the typed `app.popups.show('id', { data })` call site.
65
+ */
66
+ constructor(id: string | number, config?: Partial<PopupConfig<T>>);
67
+ get data(): T;
68
+ /**
69
+ * Create a backing for the popup
70
+ * @param config - The configuration for the backing
71
+ * @param size - The size of the backing
72
+ * @returns The backing container
73
+ */
74
+ private static makeBacking;
75
+ initialize(): void;
76
+ beforeShow(): void;
77
+ beforeHide(): void;
78
+ destroy(options?: boolean | DestroyOptions): void;
79
+ /**
80
+ * Hide the popup
81
+ * @returns A promise that resolves when the popup is hidden
82
+ */
83
+ hide(): void | any | Promise<any>;
84
+ /**
85
+ * Show the popup
86
+ * @returns A promise that resolves when the popup is shown
87
+ */
88
+ show(): void | Promise<any>;
89
+ /**
90
+ * Start the popup
91
+ */
92
+ start(): void | Promise<any>;
93
+ afterShow(): void;
94
+ /**
95
+ * End the popup
96
+ */
97
+ end(): void;
98
+ close(): void | Promise<void>;
99
+ resize(): void;
100
+ /**
101
+ * Initialize the popup
102
+ * @private
103
+ */
104
+ private _initialize;
105
+ protected setActionContext(): void;
106
+ protected storeActionContext(): void;
107
+ restoreActionContext(): void;
108
+ }
109
+ //# sourceMappingURL=Popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../src/ui/Popup.ts"],"names":[],"mappings":"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"}