@rb-games/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 (388) hide show
  1. package/README.md +488 -0
  2. package/dist/devtools/DraggableController.d.ts +10 -0
  3. package/dist/devtools/DraggableController.d.ts.map +1 -0
  4. package/dist/devtools/ResizableController.d.ts +19 -0
  5. package/dist/devtools/ResizableController.d.ts.map +1 -0
  6. package/dist/devtools/index.d.ts +7 -0
  7. package/dist/devtools/index.d.ts.map +1 -0
  8. package/dist/devtools/index.js +884 -0
  9. package/dist/devtools/index.js.map +1 -0
  10. package/dist/devtools/overlayPlugin.d.ts +3 -0
  11. package/dist/devtools/overlayPlugin.d.ts.map +1 -0
  12. package/dist/devtools/spinePropertiesPlugin.d.ts +3 -0
  13. package/dist/devtools/spinePropertiesPlugin.d.ts.map +1 -0
  14. package/dist/devtools/spriteTextPropertiesPlugin.d.ts +3 -0
  15. package/dist/devtools/spriteTextPropertiesPlugin.d.ts.map +1 -0
  16. package/dist/devtools/treePlugin.d.ts +7 -0
  17. package/dist/devtools/treePlugin.d.ts.map +1 -0
  18. package/dist/engine/PixiEngine.d.ts +404 -0
  19. package/dist/engine/PixiEngine.d.ts.map +1 -0
  20. package/dist/engine/index.d.ts +2 -0
  21. package/dist/engine/index.d.ts.map +1 -0
  22. package/dist/engine/index.js +1818 -0
  23. package/dist/engine/index.js.map +1 -0
  24. package/dist/filters/ChromaKeyFilter.d.ts +64 -0
  25. package/dist/filters/ChromaKeyFilter.d.ts.map +1 -0
  26. package/dist/filters/index.d.ts +2 -0
  27. package/dist/filters/index.d.ts.map +1 -0
  28. package/dist/filters/index.js +248 -0
  29. package/dist/filters/index.js.map +1 -0
  30. package/dist/helpers/AssetHelper.d.ts +117 -0
  31. package/dist/helpers/AssetHelper.d.ts.map +1 -0
  32. package/dist/helpers/SVGAssetHelper.d.ts +397 -0
  33. package/dist/helpers/SVGAssetHelper.d.ts.map +1 -0
  34. package/dist/helpers/SVGLoader.d.ts +46 -0
  35. package/dist/helpers/SVGLoader.d.ts.map +1 -0
  36. package/dist/helpers/SVGParser.d.ts +121 -0
  37. package/dist/helpers/SVGParser.d.ts.map +1 -0
  38. package/dist/helpers/eventBridge.d.ts +150 -0
  39. package/dist/helpers/eventBridge.d.ts.map +1 -0
  40. package/dist/helpers/index.d.ts +8 -0
  41. package/dist/helpers/index.d.ts.map +1 -0
  42. package/dist/helpers/index.js +702 -0
  43. package/dist/helpers/index.js.map +1 -0
  44. package/dist/helpers/mergeUtils.d.ts +21 -0
  45. package/dist/helpers/mergeUtils.d.ts.map +1 -0
  46. package/dist/helpers/resolvePublicPath.d.ts +6 -0
  47. package/dist/helpers/resolvePublicPath.d.ts.map +1 -0
  48. package/dist/i18n/index.d.ts +2 -0
  49. package/dist/i18n/index.d.ts.map +1 -0
  50. package/dist/i18n/index.js +527 -0
  51. package/dist/i18n/index.js.map +1 -0
  52. package/dist/i18n/sharedI18n.d.ts +11 -0
  53. package/dist/i18n/sharedI18n.d.ts.map +1 -0
  54. package/dist/layout/Align.d.ts +126 -0
  55. package/dist/layout/Align.d.ts.map +1 -0
  56. package/dist/layout/Bounds.d.ts +120 -0
  57. package/dist/layout/Bounds.d.ts.map +1 -0
  58. package/dist/layout/Distribute.d.ts +103 -0
  59. package/dist/layout/Distribute.d.ts.map +1 -0
  60. package/dist/layout/Flow.d.ts +213 -0
  61. package/dist/layout/Flow.d.ts.map +1 -0
  62. package/dist/layout/PositionUtils.d.ts +57 -0
  63. package/dist/layout/PositionUtils.d.ts.map +1 -0
  64. package/dist/layout/index.d.ts +6 -0
  65. package/dist/layout/index.d.ts.map +1 -0
  66. package/dist/layout/index.js +673 -0
  67. package/dist/layout/index.js.map +1 -0
  68. package/dist/particle/Emitter.d.ts +290 -0
  69. package/dist/particle/Emitter.d.ts.map +1 -0
  70. package/dist/particle/EmitterConfig.d.ts +228 -0
  71. package/dist/particle/EmitterConfig.d.ts.map +1 -0
  72. package/dist/particle/LinkedListContainer.d.ts +7 -0
  73. package/dist/particle/LinkedListContainer.d.ts.map +1 -0
  74. package/dist/particle/Particle.d.ts +63 -0
  75. package/dist/particle/Particle.d.ts.map +1 -0
  76. package/dist/particle/ParticleUtils.d.ts +97 -0
  77. package/dist/particle/ParticleUtils.d.ts.map +1 -0
  78. package/dist/particle/PropertyList.d.ts +40 -0
  79. package/dist/particle/PropertyList.d.ts.map +1 -0
  80. package/dist/particle/PropertyNode.d.ts +74 -0
  81. package/dist/particle/PropertyNode.d.ts.map +1 -0
  82. package/dist/particle/SpineEmitter.d.ts +55 -0
  83. package/dist/particle/SpineEmitter.d.ts.map +1 -0
  84. package/dist/particle/SpineParticle.d.ts +74 -0
  85. package/dist/particle/SpineParticle.d.ts.map +1 -0
  86. package/dist/particle/behaviors/AccelerationMovement.d.ts +62 -0
  87. package/dist/particle/behaviors/AccelerationMovement.d.ts.map +1 -0
  88. package/dist/particle/behaviors/Alpha.d.ts +60 -0
  89. package/dist/particle/behaviors/Alpha.d.ts.map +1 -0
  90. package/dist/particle/behaviors/AnimatedTexture.d.ts +111 -0
  91. package/dist/particle/behaviors/AnimatedTexture.d.ts.map +1 -0
  92. package/dist/particle/behaviors/Behaviors.d.ts +71 -0
  93. package/dist/particle/behaviors/Behaviors.d.ts.map +1 -0
  94. package/dist/particle/behaviors/BlendMode.d.ts +31 -0
  95. package/dist/particle/behaviors/BlendMode.d.ts.map +1 -0
  96. package/dist/particle/behaviors/BurstSpawn.d.ts +43 -0
  97. package/dist/particle/behaviors/BurstSpawn.d.ts.map +1 -0
  98. package/dist/particle/behaviors/Color.d.ts +60 -0
  99. package/dist/particle/behaviors/Color.d.ts.map +1 -0
  100. package/dist/particle/behaviors/MultiStateAnimatedTexture.d.ts +99 -0
  101. package/dist/particle/behaviors/MultiStateAnimatedTexture.d.ts.map +1 -0
  102. package/dist/particle/behaviors/OrderedTexture.d.ts +33 -0
  103. package/dist/particle/behaviors/OrderedTexture.d.ts.map +1 -0
  104. package/dist/particle/behaviors/PathMovement.d.ts +68 -0
  105. package/dist/particle/behaviors/PathMovement.d.ts.map +1 -0
  106. package/dist/particle/behaviors/PointSpawn.d.ts +21 -0
  107. package/dist/particle/behaviors/PointSpawn.d.ts.map +1 -0
  108. package/dist/particle/behaviors/RandomColor.d.ts +17 -0
  109. package/dist/particle/behaviors/RandomColor.d.ts.map +1 -0
  110. package/dist/particle/behaviors/RandomTexture.d.ts +32 -0
  111. package/dist/particle/behaviors/RandomTexture.d.ts.map +1 -0
  112. package/dist/particle/behaviors/Rotation.d.ts +114 -0
  113. package/dist/particle/behaviors/Rotation.d.ts.map +1 -0
  114. package/dist/particle/behaviors/Scale.d.ts +74 -0
  115. package/dist/particle/behaviors/Scale.d.ts.map +1 -0
  116. package/dist/particle/behaviors/ShapeSpawn.d.ts +58 -0
  117. package/dist/particle/behaviors/ShapeSpawn.d.ts.map +1 -0
  118. package/dist/particle/behaviors/SingleTexture.d.ts +32 -0
  119. package/dist/particle/behaviors/SingleTexture.d.ts.map +1 -0
  120. package/dist/particle/behaviors/SpeedMovement.d.ts +76 -0
  121. package/dist/particle/behaviors/SpeedMovement.d.ts.map +1 -0
  122. package/dist/particle/behaviors/SpineTexture.d.ts +173 -0
  123. package/dist/particle/behaviors/SpineTexture.d.ts.map +1 -0
  124. package/dist/particle/behaviors/ZindexBehavior.d.ts +16 -0
  125. package/dist/particle/behaviors/ZindexBehavior.d.ts.map +1 -0
  126. package/dist/particle/behaviors/editor/Types.d.ts +104 -0
  127. package/dist/particle/behaviors/editor/Types.d.ts.map +1 -0
  128. package/dist/particle/behaviors/editor/behaviors/AccelerationMovement.d.ts +2 -0
  129. package/dist/particle/behaviors/editor/behaviors/AccelerationMovement.d.ts.map +1 -0
  130. package/dist/particle/behaviors/editor/behaviors/Alpha.d.ts +2 -0
  131. package/dist/particle/behaviors/editor/behaviors/Alpha.d.ts.map +1 -0
  132. package/dist/particle/behaviors/editor/behaviors/AnimatedTexture.d.ts +2 -0
  133. package/dist/particle/behaviors/editor/behaviors/AnimatedTexture.d.ts.map +1 -0
  134. package/dist/particle/behaviors/editor/behaviors/BlendMode.d.ts +2 -0
  135. package/dist/particle/behaviors/editor/behaviors/BlendMode.d.ts.map +1 -0
  136. package/dist/particle/behaviors/editor/behaviors/BurstSpawn.d.ts +2 -0
  137. package/dist/particle/behaviors/editor/behaviors/BurstSpawn.d.ts.map +1 -0
  138. package/dist/particle/behaviors/editor/behaviors/Color.d.ts +2 -0
  139. package/dist/particle/behaviors/editor/behaviors/Color.d.ts.map +1 -0
  140. package/dist/particle/behaviors/editor/behaviors/OrderedTexture.d.ts +2 -0
  141. package/dist/particle/behaviors/editor/behaviors/OrderedTexture.d.ts.map +1 -0
  142. package/dist/particle/behaviors/editor/behaviors/PathMovement.d.ts +2 -0
  143. package/dist/particle/behaviors/editor/behaviors/PathMovement.d.ts.map +1 -0
  144. package/dist/particle/behaviors/editor/behaviors/PointSpawn.d.ts +2 -0
  145. package/dist/particle/behaviors/editor/behaviors/PointSpawn.d.ts.map +1 -0
  146. package/dist/particle/behaviors/editor/behaviors/RandomTexture.d.ts +2 -0
  147. package/dist/particle/behaviors/editor/behaviors/RandomTexture.d.ts.map +1 -0
  148. package/dist/particle/behaviors/editor/behaviors/Rotation.d.ts +2 -0
  149. package/dist/particle/behaviors/editor/behaviors/Rotation.d.ts.map +1 -0
  150. package/dist/particle/behaviors/editor/behaviors/Scale.d.ts +2 -0
  151. package/dist/particle/behaviors/editor/behaviors/Scale.d.ts.map +1 -0
  152. package/dist/particle/behaviors/editor/behaviors/ShapeSpawn.d.ts +2 -0
  153. package/dist/particle/behaviors/editor/behaviors/ShapeSpawn.d.ts.map +1 -0
  154. package/dist/particle/behaviors/editor/behaviors/SingleTexture.d.ts +2 -0
  155. package/dist/particle/behaviors/editor/behaviors/SingleTexture.d.ts.map +1 -0
  156. package/dist/particle/behaviors/editor/behaviors/SpeedMovement.d.ts +2 -0
  157. package/dist/particle/behaviors/editor/behaviors/SpeedMovement.d.ts.map +1 -0
  158. package/dist/particle/behaviors/editor/behaviors/index.d.ts +15 -0
  159. package/dist/particle/behaviors/editor/behaviors/index.d.ts.map +1 -0
  160. package/dist/particle/behaviors/editor/index.d.ts +5 -0
  161. package/dist/particle/behaviors/editor/index.d.ts.map +1 -0
  162. package/dist/particle/behaviors/editor/shapes/PolygonalChain.d.ts +2 -0
  163. package/dist/particle/behaviors/editor/shapes/PolygonalChain.d.ts.map +1 -0
  164. package/dist/particle/behaviors/editor/shapes/Rectangle.d.ts +2 -0
  165. package/dist/particle/behaviors/editor/shapes/Rectangle.d.ts.map +1 -0
  166. package/dist/particle/behaviors/editor/shapes/Torus.d.ts +2 -0
  167. package/dist/particle/behaviors/editor/shapes/Torus.d.ts.map +1 -0
  168. package/dist/particle/behaviors/index.d.ts +25 -0
  169. package/dist/particle/behaviors/index.d.ts.map +1 -0
  170. package/dist/particle/behaviors/shapes/PolygonalChain.d.ts +57 -0
  171. package/dist/particle/behaviors/shapes/PolygonalChain.d.ts.map +1 -0
  172. package/dist/particle/behaviors/shapes/Rectangle.d.ts +59 -0
  173. package/dist/particle/behaviors/shapes/Rectangle.d.ts.map +1 -0
  174. package/dist/particle/behaviors/shapes/SpawnShape.d.ts +32 -0
  175. package/dist/particle/behaviors/shapes/SpawnShape.d.ts.map +1 -0
  176. package/dist/particle/behaviors/shapes/Torus.d.ts +71 -0
  177. package/dist/particle/behaviors/shapes/Torus.d.ts.map +1 -0
  178. package/dist/particle/behaviors/shapes/index.d.ts +5 -0
  179. package/dist/particle/behaviors/shapes/index.d.ts.map +1 -0
  180. package/dist/particle/index.d.ts +11 -0
  181. package/dist/particle/index.d.ts.map +1 -0
  182. package/dist/particle/index.js +2845 -0
  183. package/dist/particle/index.js.map +1 -0
  184. package/dist/plugins/Plugin.types.d.ts +80 -0
  185. package/dist/plugins/Plugin.types.d.ts.map +1 -0
  186. package/dist/plugins/device/DeviceOptimizerPlugin.d.ts +187 -0
  187. package/dist/plugins/device/DeviceOptimizerPlugin.d.ts.map +1 -0
  188. package/dist/plugins/device/DeviceOptimizerPlugin.types.d.ts +134 -0
  189. package/dist/plugins/device/DeviceOptimizerPlugin.types.d.ts.map +1 -0
  190. package/dist/plugins/device/index.d.ts +3 -0
  191. package/dist/plugins/device/index.d.ts.map +1 -0
  192. package/dist/plugins/display/DisplayPlugin.d.ts +208 -0
  193. package/dist/plugins/display/DisplayPlugin.d.ts.map +1 -0
  194. package/dist/plugins/display/DisplayPlugin.types.d.ts +174 -0
  195. package/dist/plugins/display/DisplayPlugin.types.d.ts.map +1 -0
  196. package/dist/plugins/display/displayViewport.d.ts +10 -0
  197. package/dist/plugins/display/displayViewport.d.ts.map +1 -0
  198. package/dist/plugins/display/index.d.ts +4 -0
  199. package/dist/plugins/display/index.d.ts.map +1 -0
  200. package/dist/plugins/eventbus/EventBusPlugin.d.ts +21 -0
  201. package/dist/plugins/eventbus/EventBusPlugin.d.ts.map +1 -0
  202. package/dist/plugins/eventbus/EventBusPlugin.types.d.ts +24 -0
  203. package/dist/plugins/eventbus/EventBusPlugin.types.d.ts.map +1 -0
  204. package/dist/plugins/eventbus/index.d.ts +3 -0
  205. package/dist/plugins/eventbus/index.d.ts.map +1 -0
  206. package/dist/plugins/gsap/GsapPlugin.d.ts +307 -0
  207. package/dist/plugins/gsap/GsapPlugin.d.ts.map +1 -0
  208. package/dist/plugins/gsap/index.d.ts +2 -0
  209. package/dist/plugins/gsap/index.d.ts.map +1 -0
  210. package/dist/plugins/index.d.ts +13 -0
  211. package/dist/plugins/index.d.ts.map +1 -0
  212. package/dist/plugins/index.js +12806 -0
  213. package/dist/plugins/index.js.map +1 -0
  214. package/dist/plugins/input/InputPlugin.const.d.ts +80 -0
  215. package/dist/plugins/input/InputPlugin.const.d.ts.map +1 -0
  216. package/dist/plugins/input/InputPlugin.d.ts +141 -0
  217. package/dist/plugins/input/InputPlugin.d.ts.map +1 -0
  218. package/dist/plugins/input/InputPlugin.types.d.ts +41 -0
  219. package/dist/plugins/input/InputPlugin.types.d.ts.map +1 -0
  220. package/dist/plugins/input/KeyboardManager.d.ts +139 -0
  221. package/dist/plugins/input/KeyboardManager.d.ts.map +1 -0
  222. package/dist/plugins/input/KeyboardManager.types.d.ts +27 -0
  223. package/dist/plugins/input/KeyboardManager.types.d.ts.map +1 -0
  224. package/dist/plugins/input/index.d.ts +4 -0
  225. package/dist/plugins/input/index.d.ts.map +1 -0
  226. package/dist/plugins/language/I18NextPlugin.d.ts +30 -0
  227. package/dist/plugins/language/I18NextPlugin.d.ts.map +1 -0
  228. package/dist/plugins/language/I18NextPlugin.types.d.ts +29 -0
  229. package/dist/plugins/language/I18NextPlugin.types.d.ts.map +1 -0
  230. package/dist/plugins/language/index.d.ts +3 -0
  231. package/dist/plugins/language/index.d.ts.map +1 -0
  232. package/dist/plugins/resource/ResourcePlugin.d.ts +189 -0
  233. package/dist/plugins/resource/ResourcePlugin.d.ts.map +1 -0
  234. package/dist/plugins/resource/ResourcePlugin.types.d.ts +153 -0
  235. package/dist/plugins/resource/ResourcePlugin.types.d.ts.map +1 -0
  236. package/dist/plugins/resource/index.d.ts +3 -0
  237. package/dist/plugins/resource/index.d.ts.map +1 -0
  238. package/dist/plugins/scene/Scene.d.ts +203 -0
  239. package/dist/plugins/scene/Scene.d.ts.map +1 -0
  240. package/dist/plugins/scene/ScenePlugin.d.ts +162 -0
  241. package/dist/plugins/scene/ScenePlugin.d.ts.map +1 -0
  242. package/dist/plugins/scene/ScenePlugin.types.d.ts +35 -0
  243. package/dist/plugins/scene/ScenePlugin.types.d.ts.map +1 -0
  244. package/dist/plugins/scene/index.d.ts +4 -0
  245. package/dist/plugins/scene/index.d.ts.map +1 -0
  246. package/dist/plugins/sentry/SentryPlugin.d.ts +66 -0
  247. package/dist/plugins/sentry/SentryPlugin.d.ts.map +1 -0
  248. package/dist/plugins/sentry/SentryPlugin.types.d.ts +8 -0
  249. package/dist/plugins/sentry/SentryPlugin.types.d.ts.map +1 -0
  250. package/dist/plugins/sentry/index.d.ts +3 -0
  251. package/dist/plugins/sentry/index.d.ts.map +1 -0
  252. package/dist/plugins/service/ServiceAdapter.d.ts +88 -0
  253. package/dist/plugins/service/ServiceAdapter.d.ts.map +1 -0
  254. package/dist/plugins/service/ServiceEventHelper.d.ts +6 -0
  255. package/dist/plugins/service/ServiceEventHelper.d.ts.map +1 -0
  256. package/dist/plugins/service/ServicePlugin.d.ts +135 -0
  257. package/dist/plugins/service/ServicePlugin.d.ts.map +1 -0
  258. package/dist/plugins/service/ServicePlugin.types.d.ts +14 -0
  259. package/dist/plugins/service/ServicePlugin.types.d.ts.map +1 -0
  260. package/dist/plugins/service/adapters/DevAuthAdapter.d.ts +56 -0
  261. package/dist/plugins/service/adapters/DevAuthAdapter.d.ts.map +1 -0
  262. package/dist/plugins/service/adapters/RGSAdapter.d.ts +82 -0
  263. package/dist/plugins/service/adapters/RGSAdapter.d.ts.map +1 -0
  264. package/dist/plugins/service/adapters/index.d.ts +7 -0
  265. package/dist/plugins/service/adapters/index.d.ts.map +1 -0
  266. package/dist/plugins/service/adapters/resolvePublicIp.d.ts +10 -0
  267. package/dist/plugins/service/adapters/resolvePublicIp.d.ts.map +1 -0
  268. package/dist/plugins/service/index.d.ts +10 -0
  269. package/dist/plugins/service/index.d.ts.map +1 -0
  270. package/dist/plugins/service/types/api.types.d.ts +299 -0
  271. package/dist/plugins/service/types/api.types.d.ts.map +1 -0
  272. package/dist/plugins/service/types/index.d.ts +6 -0
  273. package/dist/plugins/service/types/index.d.ts.map +1 -0
  274. package/dist/plugins/skin/ISkin.d.ts +62 -0
  275. package/dist/plugins/skin/ISkin.d.ts.map +1 -0
  276. package/dist/plugins/skin/Skin.d.ts +155 -0
  277. package/dist/plugins/skin/Skin.d.ts.map +1 -0
  278. package/dist/plugins/skin/SkinPlugin.d.ts +285 -0
  279. package/dist/plugins/skin/SkinPlugin.d.ts.map +1 -0
  280. package/dist/plugins/skin/SkinPlugin.types.d.ts +56 -0
  281. package/dist/plugins/skin/SkinPlugin.types.d.ts.map +1 -0
  282. package/dist/plugins/skin/index.d.ts +5 -0
  283. package/dist/plugins/skin/index.d.ts.map +1 -0
  284. package/dist/plugins/sound/SoundPlugin.d.ts +319 -0
  285. package/dist/plugins/sound/SoundPlugin.d.ts.map +1 -0
  286. package/dist/plugins/sound/SoundPlugin.types.d.ts +102 -0
  287. package/dist/plugins/sound/SoundPlugin.types.d.ts.map +1 -0
  288. package/dist/plugins/sound/SoundTestGUI.d.ts +42 -0
  289. package/dist/plugins/sound/SoundTestGUI.d.ts.map +1 -0
  290. package/dist/plugins/sound/index.d.ts +4 -0
  291. package/dist/plugins/sound/index.d.ts.map +1 -0
  292. package/dist/state-machine/ConfigBuilder.d.ts +239 -0
  293. package/dist/state-machine/ConfigBuilder.d.ts.map +1 -0
  294. package/dist/state-machine/StateMachine.d.ts +251 -0
  295. package/dist/state-machine/StateMachine.d.ts.map +1 -0
  296. package/dist/state-machine/guards.d.ts +151 -0
  297. package/dist/state-machine/guards.d.ts.map +1 -0
  298. package/dist/state-machine/index.d.ts +5 -0
  299. package/dist/state-machine/index.d.ts.map +1 -0
  300. package/dist/state-machine/index.js +954 -0
  301. package/dist/state-machine/index.js.map +1 -0
  302. package/dist/state-machine/types.d.ts +65 -0
  303. package/dist/state-machine/types.d.ts.map +1 -0
  304. package/dist/store/DataStore.d.ts +167 -0
  305. package/dist/store/DataStore.d.ts.map +1 -0
  306. package/dist/store/index.d.ts +3 -0
  307. package/dist/store/index.d.ts.map +1 -0
  308. package/dist/store/index.js +197 -0
  309. package/dist/store/index.js.map +1 -0
  310. package/dist/ui/behaviors/ButtonBehavior.d.ts +245 -0
  311. package/dist/ui/behaviors/ButtonBehavior.d.ts.map +1 -0
  312. package/dist/ui/behaviors/InputBehavior.d.ts +169 -0
  313. package/dist/ui/behaviors/InputBehavior.d.ts.map +1 -0
  314. package/dist/ui/behaviors/ScrollbarBehavior.d.ts +371 -0
  315. package/dist/ui/behaviors/ScrollbarBehavior.d.ts.map +1 -0
  316. package/dist/ui/behaviors/index.d.ts +4 -0
  317. package/dist/ui/behaviors/index.d.ts.map +1 -0
  318. package/dist/ui/components/ButtonComp.d.ts +138 -0
  319. package/dist/ui/components/ButtonComp.d.ts.map +1 -0
  320. package/dist/ui/components/Comp.utils.d.ts +390 -0
  321. package/dist/ui/components/Comp.utils.d.ts.map +1 -0
  322. package/dist/ui/components/Component.types.d.ts +41 -0
  323. package/dist/ui/components/Component.types.d.ts.map +1 -0
  324. package/dist/ui/components/InputComp.d.ts +43 -0
  325. package/dist/ui/components/InputComp.d.ts.map +1 -0
  326. package/dist/ui/components/LabelBox.d.ts +49 -0
  327. package/dist/ui/components/LabelBox.d.ts.map +1 -0
  328. package/dist/ui/components/ListTableComp.d.ts +106 -0
  329. package/dist/ui/components/ListTableComp.d.ts.map +1 -0
  330. package/dist/ui/components/Skinable.d.ts +261 -0
  331. package/dist/ui/components/Skinable.d.ts.map +1 -0
  332. package/dist/ui/components/SliderComp.d.ts +60 -0
  333. package/dist/ui/components/SliderComp.d.ts.map +1 -0
  334. package/dist/ui/components/SpriteTextBBCode.d.ts +16 -0
  335. package/dist/ui/components/SpriteTextBBCode.d.ts.map +1 -0
  336. package/dist/ui/components/StepperComp.d.ts +89 -0
  337. package/dist/ui/components/StepperComp.d.ts.map +1 -0
  338. package/dist/ui/components/index.d.ts +12 -0
  339. package/dist/ui/components/index.d.ts.map +1 -0
  340. package/dist/ui/components/spriteText/SpriteText.d.ts +114 -0
  341. package/dist/ui/components/spriteText/SpriteText.d.ts.map +1 -0
  342. package/dist/ui/components/spriteText/SpriteText.types.d.ts +109 -0
  343. package/dist/ui/components/spriteText/SpriteText.types.d.ts.map +1 -0
  344. package/dist/ui/components/spriteText/SpriteTextAlignment.d.ts +25 -0
  345. package/dist/ui/components/spriteText/SpriteTextAlignment.d.ts.map +1 -0
  346. package/dist/ui/components/spriteText/SpriteTextBezier.d.ts +20 -0
  347. package/dist/ui/components/spriteText/SpriteTextBezier.d.ts.map +1 -0
  348. package/dist/ui/components/spriteText/SpriteTextCurve.d.ts +4 -0
  349. package/dist/ui/components/spriteText/SpriteTextCurve.d.ts.map +1 -0
  350. package/dist/ui/components/spriteText/SpriteTextKerning.d.ts +7 -0
  351. package/dist/ui/components/spriteText/SpriteTextKerning.d.ts.map +1 -0
  352. package/dist/ui/components/spriteText/SpriteTextTexture.d.ts +16 -0
  353. package/dist/ui/components/spriteText/SpriteTextTexture.d.ts.map +1 -0
  354. package/dist/ui/components/spriteText/SpriteTextWrap.d.ts +19 -0
  355. package/dist/ui/components/spriteText/SpriteTextWrap.d.ts.map +1 -0
  356. package/dist/ui/components/spriteText/index.d.ts +3 -0
  357. package/dist/ui/components/spriteText/index.d.ts.map +1 -0
  358. package/dist/ui/index.d.ts +3 -0
  359. package/dist/ui/index.d.ts.map +1 -0
  360. package/dist/ui/index.js +4778 -0
  361. package/dist/ui/index.js.map +1 -0
  362. package/dist/utils/ArrayUtils.d.ts +24 -0
  363. package/dist/utils/ArrayUtils.d.ts.map +1 -0
  364. package/dist/utils/ColorUtils.d.ts +34 -0
  365. package/dist/utils/ColorUtils.d.ts.map +1 -0
  366. package/dist/utils/DataInjector.d.ts +67 -0
  367. package/dist/utils/DataInjector.d.ts.map +1 -0
  368. package/dist/utils/Logger.d.ts +332 -0
  369. package/dist/utils/Logger.d.ts.map +1 -0
  370. package/dist/utils/NumberFormatter.d.ts +126 -0
  371. package/dist/utils/NumberFormatter.d.ts.map +1 -0
  372. package/dist/utils/ObjectUtils.d.ts +64 -0
  373. package/dist/utils/ObjectUtils.d.ts.map +1 -0
  374. package/dist/utils/PixiUtils.d.ts +118 -0
  375. package/dist/utils/PixiUtils.d.ts.map +1 -0
  376. package/dist/utils/Throttle.d.ts +103 -0
  377. package/dist/utils/Throttle.d.ts.map +1 -0
  378. package/dist/utils/index.d.ts +9 -0
  379. package/dist/utils/index.d.ts.map +1 -0
  380. package/dist/utils/index.js +899 -0
  381. package/dist/utils/index.js.map +1 -0
  382. package/dist/vite/index.d.ts +3 -0
  383. package/dist/vite/index.d.ts.map +1 -0
  384. package/dist/vite/index.js +126 -0
  385. package/dist/vite/index.js.map +1 -0
  386. package/dist/vite/mergeLocalesPlugin.d.ts +22 -0
  387. package/dist/vite/mergeLocalesPlugin.d.ts.map +1 -0
  388. package/package.json +143 -0
@@ -0,0 +1,371 @@
1
+ import { type Container, type FederatedPointerEvent } from 'pixi.js';
2
+ import { EventEmitter } from 'eventemitter3';
3
+ export interface ScrollbarEvents {
4
+ /** Fired when scrollbar value changes */
5
+ scroll: (value: number, percentage: number) => void;
6
+ /** Fired when scrolling starts */
7
+ scrollStart: (value: number) => void;
8
+ /** Fired when scrolling ends */
9
+ scrollEnd: (value: number) => void;
10
+ /** Fired when track is clicked */
11
+ click: (clickPosition: {
12
+ x: number;
13
+ y: number;
14
+ }, percentage: number) => void;
15
+ /** Fired when views are attached */
16
+ viewAttached: (trackView: Container, knobView: Container) => void;
17
+ /** Fired when views are detached */
18
+ viewDetached: (trackView: Container, knobView: Container) => void;
19
+ /** Fired when state changes */
20
+ stateChanged: (state: ScrollbarState) => void;
21
+ /** Fired when pointer enters knob */
22
+ knobOver?: (event: FederatedPointerEvent) => void;
23
+ /** Fired when pointer leaves knob */
24
+ knobOut?: (event: FederatedPointerEvent) => void;
25
+ /** Fired when knob is pressed */
26
+ knobDown?: (event: FederatedPointerEvent) => void;
27
+ /** Fired when knob is released */
28
+ knobUp?: (event: FederatedPointerEvent) => void;
29
+ /** Fired when knob is clicked */
30
+ knobClick?: (event: FederatedPointerEvent) => void;
31
+ /** Fired when pointer enters track */
32
+ trackOver?: (event: FederatedPointerEvent) => void;
33
+ /** Fired when pointer leaves track */
34
+ trackOut?: (event: FederatedPointerEvent) => void;
35
+ /** Fired when track is pressed */
36
+ trackDown?: (event: FederatedPointerEvent) => void;
37
+ /** Fired when track is released */
38
+ trackUp?: (event: FederatedPointerEvent) => void;
39
+ /** Fired when track is clicked */
40
+ trackClick?: (event: FederatedPointerEvent) => void;
41
+ }
42
+ export interface ScrollbarMargin {
43
+ /** Left margin for horizontal, top margin for vertical */
44
+ start?: number;
45
+ /** Right margin for horizontal, bottom margin for vertical */
46
+ end?: number;
47
+ }
48
+ export interface ScrollbarOptions {
49
+ /** Scrollbar orientation */
50
+ orientation?: 'horizontal' | 'vertical';
51
+ /** Minimum value */
52
+ min?: number;
53
+ /** Maximum value */
54
+ max?: number;
55
+ /** Current value */
56
+ value?: number;
57
+ /** Step size for value changes */
58
+ step?: number;
59
+ /** Mouse wheel step size */
60
+ wheelStep?: number;
61
+ /** Enable/disable wheel scrolling */
62
+ enableWheel?: boolean;
63
+ /** Margin for knob movement area */
64
+ margin?: ScrollbarMargin;
65
+ /** Cursor style for track */
66
+ trackCursor?: string;
67
+ /** Cursor style for knob */
68
+ knobCursor?: string;
69
+ }
70
+ export interface ScrollbarState {
71
+ /** Whether scrollbar is enabled */
72
+ enabled: boolean;
73
+ /** Whether knob is being dragged */
74
+ dragging: boolean;
75
+ /** Current value */
76
+ value: number;
77
+ /** Current value as percentage (0-1) */
78
+ percentage: number;
79
+ /** Scrollbar orientation */
80
+ orientation: 'horizontal' | 'vertical';
81
+ /** Track size in pixels */
82
+ trackSize: number;
83
+ /** Track thickness in pixels */
84
+ trackThickness: number;
85
+ /** Knob size in pixels */
86
+ knobSize: number;
87
+ }
88
+ /**
89
+ * Scrollbar interaction behavior for PixiJS containers.
90
+ *
91
+ * This module provides ScrollbarBehavior for complete scrollbar functionality including
92
+ * drag scrolling with knob, track click to jump, mouse wheel support, and configurable
93
+ * horizontal/vertical orientation.
94
+ *
95
+ * ## Features
96
+ *
97
+ * - **Drag Scrolling**: Smooth knob dragging
98
+ * - **Track Click**: Click track to jump to position
99
+ * - **Mouse Wheel**: Scroll with mouse wheel
100
+ * - **Orientation**: Horizontal or vertical
101
+ * - **Margins**: Configurable start/end margins for knob movement
102
+ * - **Step Values**: Snap to step increments
103
+ * - **Event-Driven**: Rich event system for all interactions
104
+ *
105
+ * @example
106
+ * Basic horizontal scrollbar:
107
+ * ```typescript
108
+ * import { ScrollbarBehavior } from '@rb-games/core/ui/behaviors';
109
+ *
110
+ * const scrollbar = new ScrollbarBehavior({
111
+ * orientation: 'horizontal',
112
+ * min: 0,
113
+ * max: 100,
114
+ * value: 0,
115
+ * step: 1
116
+ * });
117
+ *
118
+ * scrollbar.attachViews(trackContainer, knobContainer);
119
+ *
120
+ * scrollbar.on('scroll', (value, percentage) => {
121
+ * console.log(`Scrolled to: ${value} (${percentage * 100}%)`);
122
+ * contentContainer.x = -value * contentWidth;
123
+ * });
124
+ * ```
125
+ *
126
+ * @example
127
+ * Vertical scrollbar with margins:
128
+ * ```typescript
129
+ * const scrollbar = new ScrollbarBehavior({
130
+ * orientation: 'vertical',
131
+ * min: 0,
132
+ * max: 1000,
133
+ * margin: { start: 10, end: 10 }, // 10px margin on top/bottom
134
+ * wheelStep: 50 // Scroll 50 units per wheel tick
135
+ * });
136
+ *
137
+ * scrollbar.attachViews(trackContainer, knobContainer);
138
+ *
139
+ * scrollbar.on('scroll', (value, percentage) => {
140
+ * contentContainer.y = -value;
141
+ * });
142
+ * ```
143
+ *
144
+ * @example
145
+ * Factory method with views:
146
+ * ```typescript
147
+ * const scrollbar = ScrollbarBehavior.withViews(
148
+ * trackContainer,
149
+ * knobContainer,
150
+ * {
151
+ * orientation: 'horizontal',
152
+ * min: 0,
153
+ * max: 500,
154
+ * trackCursor: 'pointer',
155
+ * knobCursor: 'grab'
156
+ * }
157
+ * );
158
+ * ```
159
+ *
160
+ * @example
161
+ * Listening to drag events:
162
+ * ```typescript
163
+ * scrollbar.on('scrollStart', (value) => {
164
+ * console.log('Started dragging at:', value);
165
+ * knobContainer.tint = 0xCCCCCC;
166
+ * });
167
+ *
168
+ * scrollbar.on('scroll', (value, percentage) => {
169
+ * updateContent(value);
170
+ * });
171
+ *
172
+ * scrollbar.on('scrollEnd', (value) => {
173
+ * console.log('Stopped dragging at:', value);
174
+ * knobContainer.tint = 0xFFFFFF;
175
+ * });
176
+ * ```
177
+ *
178
+ * @example
179
+ * Track click handling:
180
+ * ```typescript
181
+ * scrollbar.on('click', (clickPos, percentage) => {
182
+ * console.log(`Clicked at ${clickPos.x}, ${clickPos.y}`);
183
+ * console.log(`Jump to ${percentage * 100}%`);
184
+ * });
185
+ * ```
186
+ *
187
+ * @example
188
+ * State-based visual updates:
189
+ * ```typescript
190
+ * scrollbar.on('stateChanged', (state) => {
191
+ * if (state.dragging) {
192
+ * knobContainer.tint = 0xFFFF00;
193
+ * } else {
194
+ * knobContainer.tint = 0xFFFFFF;
195
+ * }
196
+ *
197
+ * console.log('Current value:', state.value);
198
+ * console.log('Percentage:', state.percentage);
199
+ * });
200
+ * ```
201
+ *
202
+ * @example
203
+ * Dynamic orientation change:
204
+ * ```typescript
205
+ * const scrollbar = new ScrollbarBehavior({
206
+ * orientation: 'horizontal'
207
+ * });
208
+ * scrollbar.attachViews(trackContainer, knobContainer);
209
+ *
210
+ * // Later, switch to vertical
211
+ * scrollbar.orientation = 'vertical';
212
+ * scrollbar.refreshSizes(); // Update sizes after orientation change
213
+ * ```
214
+ *
215
+ * @example
216
+ * Knob and track UI events:
217
+ * ```typescript
218
+ * // Knob events
219
+ * scrollbar.on('knobOver', () => {
220
+ * knobContainer.tint = 0xFFFFAA;
221
+ * });
222
+ *
223
+ * scrollbar.on('knobOut', () => {
224
+ * knobContainer.tint = 0xFFFFFF;
225
+ * });
226
+ *
227
+ * // Track events
228
+ * scrollbar.on('trackOver', () => {
229
+ * trackContainer.alpha = 1.0;
230
+ * });
231
+ *
232
+ * scrollbar.on('trackOut', () => {
233
+ * trackContainer.alpha = 0.8;
234
+ * });
235
+ * ```
236
+ *
237
+ * @example
238
+ * Content scrolling with scrollbar:
239
+ * ```typescript
240
+ * const contentHeight = 2000;
241
+ * const viewportHeight = 500;
242
+ * const maxScroll = contentHeight - viewportHeight;
243
+ *
244
+ * const scrollbar = new ScrollbarBehavior({
245
+ * orientation: 'vertical',
246
+ * min: 0,
247
+ * max: maxScroll,
248
+ * value: 0,
249
+ * wheelStep: 50
250
+ * });
251
+ *
252
+ * scrollbar.attachViews(trackContainer, knobContainer);
253
+ *
254
+ * scrollbar.on('scroll', (value) => {
255
+ * contentContainer.y = -value;
256
+ * });
257
+ *
258
+ * // Update scrollbar when content size changes
259
+ * function updateContentSize(newHeight: number) {
260
+ * const newMaxScroll = newHeight - viewportHeight;
261
+ * scrollbar.setRange(0, newMaxScroll);
262
+ * scrollbar.refreshSizes();
263
+ * }
264
+ * ```
265
+ *
266
+ * @see {@link ScrollbarEvents} for available events
267
+ * @see {@link ScrollbarOptions} for configuration options
268
+ * @see {@link ScrollbarState} for state interface
269
+ * @see {@link ScrollbarMargin} for margin configuration
270
+ *
271
+ * @category UI
272
+ * @public
273
+ */
274
+ export declare class ScrollbarBehavior extends EventEmitter<ScrollbarEvents> {
275
+ private _trackView;
276
+ private _knobView;
277
+ private _enabled;
278
+ private _isDragging;
279
+ private _dragStartPosition;
280
+ private _dragStartValue;
281
+ private _dragOffset;
282
+ private _orientation;
283
+ private _min;
284
+ private _max;
285
+ private _value;
286
+ private _step;
287
+ private _margin;
288
+ private _wheelStep;
289
+ private _enableWheel;
290
+ private _trackCursor;
291
+ private _knobCursor;
292
+ private _eventsBound;
293
+ private _onTrackPointerDown;
294
+ private _onKnobPointerDown;
295
+ private _onKnobPointerUp;
296
+ private _onKnobPointerUpOutside;
297
+ private _onGlobalPointerMove;
298
+ private _onTrackWheel;
299
+ private _onKnobWheel;
300
+ static withViews(trackView: Container, knobView: Container, options?: ScrollbarOptions): ScrollbarBehavior;
301
+ constructor(options?: ScrollbarOptions);
302
+ attachTrackView(trackView: Container): void;
303
+ attachKnobView(knobView: Container): void;
304
+ attachViews(trackView: Container, knobView: Container): void;
305
+ detachViews(): void;
306
+ get trackView(): Container | null;
307
+ get knobView(): Container | null;
308
+ get hasViews(): boolean;
309
+ private _setupTrackInteractivity;
310
+ private _setupKnobInteractivity;
311
+ private _bindTrackEvents;
312
+ private _unbindTrackEvents;
313
+ private _bindKnobEvents;
314
+ private _unbindKnobEvents;
315
+ private _unbindAllEvents;
316
+ private _updateEventsBoundState;
317
+ private _handleTrackPointerDown;
318
+ private _handleKnobPointerDown;
319
+ private _handleKnobPointerUp;
320
+ private _handleGlobalPointerMove;
321
+ private _handleWheel;
322
+ private _getTrackSize;
323
+ private _getTrackThickness;
324
+ private _getKnobSize;
325
+ private _getEffectiveTrackArea;
326
+ private _updateKnobPosition;
327
+ private _emitStateChange;
328
+ get enabled(): boolean;
329
+ set enabled(value: boolean);
330
+ get isDragging(): boolean;
331
+ get value(): number;
332
+ set value(newValue: number);
333
+ get percentage(): number;
334
+ get trackSize(): number;
335
+ get trackThickness(): number;
336
+ get knobSize(): number;
337
+ get orientation(): 'horizontal' | 'vertical';
338
+ set orientation(value: 'horizontal' | 'vertical');
339
+ get margin(): ScrollbarMargin;
340
+ set margin(value: ScrollbarMargin);
341
+ get wheelStep(): number;
342
+ set wheelStep(value: number);
343
+ get enableWheel(): boolean;
344
+ set enableWheel(value: boolean);
345
+ get step(): number;
346
+ set step(value: number);
347
+ get trackCursor(): string;
348
+ set trackCursor(value: string);
349
+ get knobCursor(): string;
350
+ set knobCursor(value: string);
351
+ get min(): number;
352
+ set min(value: number);
353
+ get max(): number;
354
+ set max(value: number);
355
+ getTrackBounds(): {
356
+ x: number;
357
+ y: number;
358
+ width: number;
359
+ height: number;
360
+ };
361
+ getEffectiveArea(): {
362
+ x: number;
363
+ y: number;
364
+ width: number;
365
+ height: number;
366
+ };
367
+ refreshSizes(): void;
368
+ setRange(min: number, max: number): void;
369
+ destroy(): void;
370
+ }
371
+ //# sourceMappingURL=ScrollbarBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollbarBehavior.d.ts","sourceRoot":"","sources":["../../../ui/behaviors/ScrollbarBehavior.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './ButtonBehavior';
2
+ export * from './ScrollbarBehavior';
3
+ export * from './InputBehavior';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ui/behaviors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,138 @@
1
+ import { Container, Graphics, Text, Sprite, TextStyleOptions, PointData } from 'pixi.js';
2
+ import type { DeepPartial, GraphicsConfig, SpriteConfig } from './Component.types';
3
+ import { SpriteText, type SpriteTextSkinData } from './spriteText';
4
+ import { ButtonBehavior, ButtonVisualState } from '../behaviors';
5
+ import type { LayoutStyles } from '@pixi/layout';
6
+ type PixiTextButtonConfig = {
7
+ type: 'text';
8
+ textStyle?: TextStyleOptions;
9
+ spriteData?: never;
10
+ layout?: boolean | LayoutStyles | null;
11
+ anchor?: PointData;
12
+ };
13
+ type SpriteTextButtonConfig = {
14
+ type: 'sprite';
15
+ textStyle?: never;
16
+ spriteData: SpriteTextSkinData;
17
+ layout?: boolean | LayoutStyles | null;
18
+ anchor?: never;
19
+ };
20
+ type ButtonTextConfig = PixiTextButtonConfig | SpriteTextButtonConfig;
21
+ export interface ButtonCompStateData {
22
+ base?: string;
23
+ background?: GraphicsConfig | SpriteConfig;
24
+ textConfig?: ButtonTextConfig;
25
+ icon?: GraphicsConfig | SpriteConfig;
26
+ layout?: boolean | LayoutStyles | null;
27
+ placeHolderLayout?: boolean | LayoutStyles | null;
28
+ zIndex?: number;
29
+ }
30
+ export type ButtonStateKey = ButtonVisualState;
31
+ export type IconTextureConfig = string | Partial<Record<ButtonStateKey, string>>;
32
+ export interface ButtonCompSkinData {
33
+ up: ButtonCompStateData;
34
+ down?: DeepPartial<ButtonCompStateData>;
35
+ over?: DeepPartial<ButtonCompStateData>;
36
+ disabled?: DeepPartial<ButtonCompStateData>;
37
+ selected_up?: DeepPartial<ButtonCompStateData>;
38
+ selected_down?: DeepPartial<ButtonCompStateData>;
39
+ selected_over?: DeepPartial<ButtonCompStateData>;
40
+ selected_disabled?: DeepPartial<ButtonCompStateData>;
41
+ }
42
+ export interface ButtonCompOptions {
43
+ text?: string;
44
+ label?: string;
45
+ icon?: string;
46
+ skinData?: ButtonCompSkinData;
47
+ enabled?: boolean;
48
+ }
49
+ /**
50
+ * Button effect instance that can be attached to buttons.
51
+ *
52
+ * Created by {@link createButtonEffect} function.
53
+ */
54
+ export interface ButtonEffect {
55
+ /**
56
+ * Unique name for the effect.
57
+ */
58
+ readonly name: string;
59
+ /**
60
+ * Internal attach handler.
61
+ * @internal
62
+ */
63
+ _onAttach(button: ButtonComp, state: ButtonStateKey): void;
64
+ /**
65
+ * Internal detach handler.
66
+ * @internal
67
+ */
68
+ _onDetach(): void;
69
+ /**
70
+ * Internal state change handler.
71
+ * @internal
72
+ */
73
+ _onStateChange(button: ButtonComp, state: ButtonStateKey, previousState?: ButtonStateKey): void;
74
+ /**
75
+ * Internal destroy handler.
76
+ * @internal
77
+ */
78
+ _onDestroy(): void;
79
+ }
80
+ declare const ButtonComp_base: new (options?: import("pixi.js").ContainerOptions<import("pixi.js").ContainerChild> | undefined) => Container<import("pixi.js").ContainerChild> & {
81
+ setSkinData: (data: ButtonCompSkinData | Partial<ButtonCompSkinData> | null, opts?: {
82
+ mergeWithExisting?: boolean;
83
+ } | undefined) => void;
84
+ getSkinData: () => ButtonCompSkinData | null;
85
+ };
86
+ export declare class ButtonComp extends ButtonComp_base {
87
+ private _buttonBehaviors;
88
+ private _background;
89
+ private _placeHolder;
90
+ private _icon?;
91
+ private _labelText;
92
+ private _buttonLabel;
93
+ private _iconTextures;
94
+ private _currentState;
95
+ private _enabled;
96
+ private _effects;
97
+ private _previousState?;
98
+ private _stateDataCache;
99
+ constructor(options?: ButtonCompOptions);
100
+ private setupEventListeners;
101
+ private setState;
102
+ private _lastLayout;
103
+ private _lastPlaceHolderLayout;
104
+ private _lastBackgroundConfig;
105
+ private _lastIconConfig;
106
+ private _lastTextConfig;
107
+ private _lastZIndex;
108
+ private updateVisualState;
109
+ protected skinApply(skinData: ButtonCompSkinData | null): void;
110
+ private precomputeAllStates;
111
+ private static readonly stateFallbackChain;
112
+ private getCurrentStateData;
113
+ private updateBackground;
114
+ private updateIcon;
115
+ private drawSprite;
116
+ private drawGraphic;
117
+ private updateText;
118
+ get enabled(): boolean;
119
+ set enabled(value: boolean);
120
+ get buttonLabel(): string;
121
+ set buttonLabel(value: string);
122
+ set iconTexture(iconTextures: IconTextureConfig | null);
123
+ get iconTexture(): IconTextureConfig | null;
124
+ get text(): Text | SpriteText | null;
125
+ get background(): Graphics | Sprite;
126
+ get icon(): Graphics | Sprite | undefined;
127
+ get placeHolder(): Container;
128
+ get currentState(): keyof ButtonCompSkinData;
129
+ addButtonEffect(...effects: ButtonEffect[]): this;
130
+ removeButtonEffect(name: string): boolean;
131
+ hasButtonEffect(name: string): boolean;
132
+ getButtonEffect(name: string): ButtonEffect | undefined;
133
+ private notifyEffectsStateChange;
134
+ destroy(): void;
135
+ get behavior(): ButtonBehavior;
136
+ }
137
+ export {};
138
+ //# sourceMappingURL=ButtonComp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonComp.d.ts","sourceRoot":"","sources":["../../../ui/components/ButtonComp.ts"],"names":[],"mappings":"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"}