@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.
- package/README.md +488 -0
- package/dist/devtools/DraggableController.d.ts +10 -0
- package/dist/devtools/DraggableController.d.ts.map +1 -0
- package/dist/devtools/ResizableController.d.ts +19 -0
- package/dist/devtools/ResizableController.d.ts.map +1 -0
- package/dist/devtools/index.d.ts +7 -0
- package/dist/devtools/index.d.ts.map +1 -0
- package/dist/devtools/index.js +884 -0
- package/dist/devtools/index.js.map +1 -0
- package/dist/devtools/overlayPlugin.d.ts +3 -0
- package/dist/devtools/overlayPlugin.d.ts.map +1 -0
- package/dist/devtools/spinePropertiesPlugin.d.ts +3 -0
- package/dist/devtools/spinePropertiesPlugin.d.ts.map +1 -0
- package/dist/devtools/spriteTextPropertiesPlugin.d.ts +3 -0
- package/dist/devtools/spriteTextPropertiesPlugin.d.ts.map +1 -0
- package/dist/devtools/treePlugin.d.ts +7 -0
- package/dist/devtools/treePlugin.d.ts.map +1 -0
- package/dist/engine/PixiEngine.d.ts +404 -0
- package/dist/engine/PixiEngine.d.ts.map +1 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +1818 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/filters/ChromaKeyFilter.d.ts +64 -0
- package/dist/filters/ChromaKeyFilter.d.ts.map +1 -0
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.d.ts.map +1 -0
- package/dist/filters/index.js +248 -0
- package/dist/filters/index.js.map +1 -0
- package/dist/helpers/AssetHelper.d.ts +117 -0
- package/dist/helpers/AssetHelper.d.ts.map +1 -0
- package/dist/helpers/SVGAssetHelper.d.ts +397 -0
- package/dist/helpers/SVGAssetHelper.d.ts.map +1 -0
- package/dist/helpers/SVGLoader.d.ts +46 -0
- package/dist/helpers/SVGLoader.d.ts.map +1 -0
- package/dist/helpers/SVGParser.d.ts +121 -0
- package/dist/helpers/SVGParser.d.ts.map +1 -0
- package/dist/helpers/eventBridge.d.ts +150 -0
- package/dist/helpers/eventBridge.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +8 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +702 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/mergeUtils.d.ts +21 -0
- package/dist/helpers/mergeUtils.d.ts.map +1 -0
- package/dist/helpers/resolvePublicPath.d.ts +6 -0
- package/dist/helpers/resolvePublicPath.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +527 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/sharedI18n.d.ts +11 -0
- package/dist/i18n/sharedI18n.d.ts.map +1 -0
- package/dist/layout/Align.d.ts +126 -0
- package/dist/layout/Align.d.ts.map +1 -0
- package/dist/layout/Bounds.d.ts +120 -0
- package/dist/layout/Bounds.d.ts.map +1 -0
- package/dist/layout/Distribute.d.ts +103 -0
- package/dist/layout/Distribute.d.ts.map +1 -0
- package/dist/layout/Flow.d.ts +213 -0
- package/dist/layout/Flow.d.ts.map +1 -0
- package/dist/layout/PositionUtils.d.ts +57 -0
- package/dist/layout/PositionUtils.d.ts.map +1 -0
- package/dist/layout/index.d.ts +6 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +673 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/particle/Emitter.d.ts +290 -0
- package/dist/particle/Emitter.d.ts.map +1 -0
- package/dist/particle/EmitterConfig.d.ts +228 -0
- package/dist/particle/EmitterConfig.d.ts.map +1 -0
- package/dist/particle/LinkedListContainer.d.ts +7 -0
- package/dist/particle/LinkedListContainer.d.ts.map +1 -0
- package/dist/particle/Particle.d.ts +63 -0
- package/dist/particle/Particle.d.ts.map +1 -0
- package/dist/particle/ParticleUtils.d.ts +97 -0
- package/dist/particle/ParticleUtils.d.ts.map +1 -0
- package/dist/particle/PropertyList.d.ts +40 -0
- package/dist/particle/PropertyList.d.ts.map +1 -0
- package/dist/particle/PropertyNode.d.ts +74 -0
- package/dist/particle/PropertyNode.d.ts.map +1 -0
- package/dist/particle/SpineEmitter.d.ts +55 -0
- package/dist/particle/SpineEmitter.d.ts.map +1 -0
- package/dist/particle/SpineParticle.d.ts +74 -0
- package/dist/particle/SpineParticle.d.ts.map +1 -0
- package/dist/particle/behaviors/AccelerationMovement.d.ts +62 -0
- package/dist/particle/behaviors/AccelerationMovement.d.ts.map +1 -0
- package/dist/particle/behaviors/Alpha.d.ts +60 -0
- package/dist/particle/behaviors/Alpha.d.ts.map +1 -0
- package/dist/particle/behaviors/AnimatedTexture.d.ts +111 -0
- package/dist/particle/behaviors/AnimatedTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/Behaviors.d.ts +71 -0
- package/dist/particle/behaviors/Behaviors.d.ts.map +1 -0
- package/dist/particle/behaviors/BlendMode.d.ts +31 -0
- package/dist/particle/behaviors/BlendMode.d.ts.map +1 -0
- package/dist/particle/behaviors/BurstSpawn.d.ts +43 -0
- package/dist/particle/behaviors/BurstSpawn.d.ts.map +1 -0
- package/dist/particle/behaviors/Color.d.ts +60 -0
- package/dist/particle/behaviors/Color.d.ts.map +1 -0
- package/dist/particle/behaviors/MultiStateAnimatedTexture.d.ts +99 -0
- package/dist/particle/behaviors/MultiStateAnimatedTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/OrderedTexture.d.ts +33 -0
- package/dist/particle/behaviors/OrderedTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/PathMovement.d.ts +68 -0
- package/dist/particle/behaviors/PathMovement.d.ts.map +1 -0
- package/dist/particle/behaviors/PointSpawn.d.ts +21 -0
- package/dist/particle/behaviors/PointSpawn.d.ts.map +1 -0
- package/dist/particle/behaviors/RandomColor.d.ts +17 -0
- package/dist/particle/behaviors/RandomColor.d.ts.map +1 -0
- package/dist/particle/behaviors/RandomTexture.d.ts +32 -0
- package/dist/particle/behaviors/RandomTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/Rotation.d.ts +114 -0
- package/dist/particle/behaviors/Rotation.d.ts.map +1 -0
- package/dist/particle/behaviors/Scale.d.ts +74 -0
- package/dist/particle/behaviors/Scale.d.ts.map +1 -0
- package/dist/particle/behaviors/ShapeSpawn.d.ts +58 -0
- package/dist/particle/behaviors/ShapeSpawn.d.ts.map +1 -0
- package/dist/particle/behaviors/SingleTexture.d.ts +32 -0
- package/dist/particle/behaviors/SingleTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/SpeedMovement.d.ts +76 -0
- package/dist/particle/behaviors/SpeedMovement.d.ts.map +1 -0
- package/dist/particle/behaviors/SpineTexture.d.ts +173 -0
- package/dist/particle/behaviors/SpineTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/ZindexBehavior.d.ts +16 -0
- package/dist/particle/behaviors/ZindexBehavior.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/Types.d.ts +104 -0
- package/dist/particle/behaviors/editor/Types.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/AccelerationMovement.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/AccelerationMovement.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/Alpha.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/Alpha.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/AnimatedTexture.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/AnimatedTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/BlendMode.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/BlendMode.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/BurstSpawn.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/BurstSpawn.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/Color.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/Color.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/OrderedTexture.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/OrderedTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/PathMovement.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/PathMovement.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/PointSpawn.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/PointSpawn.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/RandomTexture.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/RandomTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/Rotation.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/Rotation.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/Scale.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/Scale.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/ShapeSpawn.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/ShapeSpawn.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/SingleTexture.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/SingleTexture.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/SpeedMovement.d.ts +2 -0
- package/dist/particle/behaviors/editor/behaviors/SpeedMovement.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/behaviors/index.d.ts +15 -0
- package/dist/particle/behaviors/editor/behaviors/index.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/index.d.ts +5 -0
- package/dist/particle/behaviors/editor/index.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/shapes/PolygonalChain.d.ts +2 -0
- package/dist/particle/behaviors/editor/shapes/PolygonalChain.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/shapes/Rectangle.d.ts +2 -0
- package/dist/particle/behaviors/editor/shapes/Rectangle.d.ts.map +1 -0
- package/dist/particle/behaviors/editor/shapes/Torus.d.ts +2 -0
- package/dist/particle/behaviors/editor/shapes/Torus.d.ts.map +1 -0
- package/dist/particle/behaviors/index.d.ts +25 -0
- package/dist/particle/behaviors/index.d.ts.map +1 -0
- package/dist/particle/behaviors/shapes/PolygonalChain.d.ts +57 -0
- package/dist/particle/behaviors/shapes/PolygonalChain.d.ts.map +1 -0
- package/dist/particle/behaviors/shapes/Rectangle.d.ts +59 -0
- package/dist/particle/behaviors/shapes/Rectangle.d.ts.map +1 -0
- package/dist/particle/behaviors/shapes/SpawnShape.d.ts +32 -0
- package/dist/particle/behaviors/shapes/SpawnShape.d.ts.map +1 -0
- package/dist/particle/behaviors/shapes/Torus.d.ts +71 -0
- package/dist/particle/behaviors/shapes/Torus.d.ts.map +1 -0
- package/dist/particle/behaviors/shapes/index.d.ts +5 -0
- package/dist/particle/behaviors/shapes/index.d.ts.map +1 -0
- package/dist/particle/index.d.ts +11 -0
- package/dist/particle/index.d.ts.map +1 -0
- package/dist/particle/index.js +2845 -0
- package/dist/particle/index.js.map +1 -0
- package/dist/plugins/Plugin.types.d.ts +80 -0
- package/dist/plugins/Plugin.types.d.ts.map +1 -0
- package/dist/plugins/device/DeviceOptimizerPlugin.d.ts +187 -0
- package/dist/plugins/device/DeviceOptimizerPlugin.d.ts.map +1 -0
- package/dist/plugins/device/DeviceOptimizerPlugin.types.d.ts +134 -0
- package/dist/plugins/device/DeviceOptimizerPlugin.types.d.ts.map +1 -0
- package/dist/plugins/device/index.d.ts +3 -0
- package/dist/plugins/device/index.d.ts.map +1 -0
- package/dist/plugins/display/DisplayPlugin.d.ts +208 -0
- package/dist/plugins/display/DisplayPlugin.d.ts.map +1 -0
- package/dist/plugins/display/DisplayPlugin.types.d.ts +174 -0
- package/dist/plugins/display/DisplayPlugin.types.d.ts.map +1 -0
- package/dist/plugins/display/displayViewport.d.ts +10 -0
- package/dist/plugins/display/displayViewport.d.ts.map +1 -0
- package/dist/plugins/display/index.d.ts +4 -0
- package/dist/plugins/display/index.d.ts.map +1 -0
- package/dist/plugins/eventbus/EventBusPlugin.d.ts +21 -0
- package/dist/plugins/eventbus/EventBusPlugin.d.ts.map +1 -0
- package/dist/plugins/eventbus/EventBusPlugin.types.d.ts +24 -0
- package/dist/plugins/eventbus/EventBusPlugin.types.d.ts.map +1 -0
- package/dist/plugins/eventbus/index.d.ts +3 -0
- package/dist/plugins/eventbus/index.d.ts.map +1 -0
- package/dist/plugins/gsap/GsapPlugin.d.ts +307 -0
- package/dist/plugins/gsap/GsapPlugin.d.ts.map +1 -0
- package/dist/plugins/gsap/index.d.ts +2 -0
- package/dist/plugins/gsap/index.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +13 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +12806 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/input/InputPlugin.const.d.ts +80 -0
- package/dist/plugins/input/InputPlugin.const.d.ts.map +1 -0
- package/dist/plugins/input/InputPlugin.d.ts +141 -0
- package/dist/plugins/input/InputPlugin.d.ts.map +1 -0
- package/dist/plugins/input/InputPlugin.types.d.ts +41 -0
- package/dist/plugins/input/InputPlugin.types.d.ts.map +1 -0
- package/dist/plugins/input/KeyboardManager.d.ts +139 -0
- package/dist/plugins/input/KeyboardManager.d.ts.map +1 -0
- package/dist/plugins/input/KeyboardManager.types.d.ts +27 -0
- package/dist/plugins/input/KeyboardManager.types.d.ts.map +1 -0
- package/dist/plugins/input/index.d.ts +4 -0
- package/dist/plugins/input/index.d.ts.map +1 -0
- package/dist/plugins/language/I18NextPlugin.d.ts +30 -0
- package/dist/plugins/language/I18NextPlugin.d.ts.map +1 -0
- package/dist/plugins/language/I18NextPlugin.types.d.ts +29 -0
- package/dist/plugins/language/I18NextPlugin.types.d.ts.map +1 -0
- package/dist/plugins/language/index.d.ts +3 -0
- package/dist/plugins/language/index.d.ts.map +1 -0
- package/dist/plugins/resource/ResourcePlugin.d.ts +189 -0
- package/dist/plugins/resource/ResourcePlugin.d.ts.map +1 -0
- package/dist/plugins/resource/ResourcePlugin.types.d.ts +153 -0
- package/dist/plugins/resource/ResourcePlugin.types.d.ts.map +1 -0
- package/dist/plugins/resource/index.d.ts +3 -0
- package/dist/plugins/resource/index.d.ts.map +1 -0
- package/dist/plugins/scene/Scene.d.ts +203 -0
- package/dist/plugins/scene/Scene.d.ts.map +1 -0
- package/dist/plugins/scene/ScenePlugin.d.ts +162 -0
- package/dist/plugins/scene/ScenePlugin.d.ts.map +1 -0
- package/dist/plugins/scene/ScenePlugin.types.d.ts +35 -0
- package/dist/plugins/scene/ScenePlugin.types.d.ts.map +1 -0
- package/dist/plugins/scene/index.d.ts +4 -0
- package/dist/plugins/scene/index.d.ts.map +1 -0
- package/dist/plugins/sentry/SentryPlugin.d.ts +66 -0
- package/dist/plugins/sentry/SentryPlugin.d.ts.map +1 -0
- package/dist/plugins/sentry/SentryPlugin.types.d.ts +8 -0
- package/dist/plugins/sentry/SentryPlugin.types.d.ts.map +1 -0
- package/dist/plugins/sentry/index.d.ts +3 -0
- package/dist/plugins/sentry/index.d.ts.map +1 -0
- package/dist/plugins/service/ServiceAdapter.d.ts +88 -0
- package/dist/plugins/service/ServiceAdapter.d.ts.map +1 -0
- package/dist/plugins/service/ServiceEventHelper.d.ts +6 -0
- package/dist/plugins/service/ServiceEventHelper.d.ts.map +1 -0
- package/dist/plugins/service/ServicePlugin.d.ts +135 -0
- package/dist/plugins/service/ServicePlugin.d.ts.map +1 -0
- package/dist/plugins/service/ServicePlugin.types.d.ts +14 -0
- package/dist/plugins/service/ServicePlugin.types.d.ts.map +1 -0
- package/dist/plugins/service/adapters/DevAuthAdapter.d.ts +56 -0
- package/dist/plugins/service/adapters/DevAuthAdapter.d.ts.map +1 -0
- package/dist/plugins/service/adapters/RGSAdapter.d.ts +82 -0
- package/dist/plugins/service/adapters/RGSAdapter.d.ts.map +1 -0
- package/dist/plugins/service/adapters/index.d.ts +7 -0
- package/dist/plugins/service/adapters/index.d.ts.map +1 -0
- package/dist/plugins/service/adapters/resolvePublicIp.d.ts +10 -0
- package/dist/plugins/service/adapters/resolvePublicIp.d.ts.map +1 -0
- package/dist/plugins/service/index.d.ts +10 -0
- package/dist/plugins/service/index.d.ts.map +1 -0
- package/dist/plugins/service/types/api.types.d.ts +299 -0
- package/dist/plugins/service/types/api.types.d.ts.map +1 -0
- package/dist/plugins/service/types/index.d.ts +6 -0
- package/dist/plugins/service/types/index.d.ts.map +1 -0
- package/dist/plugins/skin/ISkin.d.ts +62 -0
- package/dist/plugins/skin/ISkin.d.ts.map +1 -0
- package/dist/plugins/skin/Skin.d.ts +155 -0
- package/dist/plugins/skin/Skin.d.ts.map +1 -0
- package/dist/plugins/skin/SkinPlugin.d.ts +285 -0
- package/dist/plugins/skin/SkinPlugin.d.ts.map +1 -0
- package/dist/plugins/skin/SkinPlugin.types.d.ts +56 -0
- package/dist/plugins/skin/SkinPlugin.types.d.ts.map +1 -0
- package/dist/plugins/skin/index.d.ts +5 -0
- package/dist/plugins/skin/index.d.ts.map +1 -0
- package/dist/plugins/sound/SoundPlugin.d.ts +319 -0
- package/dist/plugins/sound/SoundPlugin.d.ts.map +1 -0
- package/dist/plugins/sound/SoundPlugin.types.d.ts +102 -0
- package/dist/plugins/sound/SoundPlugin.types.d.ts.map +1 -0
- package/dist/plugins/sound/SoundTestGUI.d.ts +42 -0
- package/dist/plugins/sound/SoundTestGUI.d.ts.map +1 -0
- package/dist/plugins/sound/index.d.ts +4 -0
- package/dist/plugins/sound/index.d.ts.map +1 -0
- package/dist/state-machine/ConfigBuilder.d.ts +239 -0
- package/dist/state-machine/ConfigBuilder.d.ts.map +1 -0
- package/dist/state-machine/StateMachine.d.ts +251 -0
- package/dist/state-machine/StateMachine.d.ts.map +1 -0
- package/dist/state-machine/guards.d.ts +151 -0
- package/dist/state-machine/guards.d.ts.map +1 -0
- package/dist/state-machine/index.d.ts +5 -0
- package/dist/state-machine/index.d.ts.map +1 -0
- package/dist/state-machine/index.js +954 -0
- package/dist/state-machine/index.js.map +1 -0
- package/dist/state-machine/types.d.ts +65 -0
- package/dist/state-machine/types.d.ts.map +1 -0
- package/dist/store/DataStore.d.ts +167 -0
- package/dist/store/DataStore.d.ts.map +1 -0
- package/dist/store/index.d.ts +3 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +197 -0
- package/dist/store/index.js.map +1 -0
- package/dist/ui/behaviors/ButtonBehavior.d.ts +245 -0
- package/dist/ui/behaviors/ButtonBehavior.d.ts.map +1 -0
- package/dist/ui/behaviors/InputBehavior.d.ts +169 -0
- package/dist/ui/behaviors/InputBehavior.d.ts.map +1 -0
- package/dist/ui/behaviors/ScrollbarBehavior.d.ts +371 -0
- package/dist/ui/behaviors/ScrollbarBehavior.d.ts.map +1 -0
- package/dist/ui/behaviors/index.d.ts +4 -0
- package/dist/ui/behaviors/index.d.ts.map +1 -0
- package/dist/ui/components/ButtonComp.d.ts +138 -0
- package/dist/ui/components/ButtonComp.d.ts.map +1 -0
- package/dist/ui/components/Comp.utils.d.ts +390 -0
- package/dist/ui/components/Comp.utils.d.ts.map +1 -0
- package/dist/ui/components/Component.types.d.ts +41 -0
- package/dist/ui/components/Component.types.d.ts.map +1 -0
- package/dist/ui/components/InputComp.d.ts +43 -0
- package/dist/ui/components/InputComp.d.ts.map +1 -0
- package/dist/ui/components/LabelBox.d.ts +49 -0
- package/dist/ui/components/LabelBox.d.ts.map +1 -0
- package/dist/ui/components/ListTableComp.d.ts +106 -0
- package/dist/ui/components/ListTableComp.d.ts.map +1 -0
- package/dist/ui/components/Skinable.d.ts +261 -0
- package/dist/ui/components/Skinable.d.ts.map +1 -0
- package/dist/ui/components/SliderComp.d.ts +60 -0
- package/dist/ui/components/SliderComp.d.ts.map +1 -0
- package/dist/ui/components/SpriteTextBBCode.d.ts +16 -0
- package/dist/ui/components/SpriteTextBBCode.d.ts.map +1 -0
- package/dist/ui/components/StepperComp.d.ts +89 -0
- package/dist/ui/components/StepperComp.d.ts.map +1 -0
- package/dist/ui/components/index.d.ts +12 -0
- package/dist/ui/components/index.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteText.d.ts +114 -0
- package/dist/ui/components/spriteText/SpriteText.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteText.types.d.ts +109 -0
- package/dist/ui/components/spriteText/SpriteText.types.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteTextAlignment.d.ts +25 -0
- package/dist/ui/components/spriteText/SpriteTextAlignment.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteTextBezier.d.ts +20 -0
- package/dist/ui/components/spriteText/SpriteTextBezier.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteTextCurve.d.ts +4 -0
- package/dist/ui/components/spriteText/SpriteTextCurve.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteTextKerning.d.ts +7 -0
- package/dist/ui/components/spriteText/SpriteTextKerning.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteTextTexture.d.ts +16 -0
- package/dist/ui/components/spriteText/SpriteTextTexture.d.ts.map +1 -0
- package/dist/ui/components/spriteText/SpriteTextWrap.d.ts +19 -0
- package/dist/ui/components/spriteText/SpriteTextWrap.d.ts.map +1 -0
- package/dist/ui/components/spriteText/index.d.ts +3 -0
- package/dist/ui/components/spriteText/index.d.ts.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +4778 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/utils/ArrayUtils.d.ts +24 -0
- package/dist/utils/ArrayUtils.d.ts.map +1 -0
- package/dist/utils/ColorUtils.d.ts +34 -0
- package/dist/utils/ColorUtils.d.ts.map +1 -0
- package/dist/utils/DataInjector.d.ts +67 -0
- package/dist/utils/DataInjector.d.ts.map +1 -0
- package/dist/utils/Logger.d.ts +332 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/NumberFormatter.d.ts +126 -0
- package/dist/utils/NumberFormatter.d.ts.map +1 -0
- package/dist/utils/ObjectUtils.d.ts +64 -0
- package/dist/utils/ObjectUtils.d.ts.map +1 -0
- package/dist/utils/PixiUtils.d.ts +118 -0
- package/dist/utils/PixiUtils.d.ts.map +1 -0
- package/dist/utils/Throttle.d.ts +103 -0
- package/dist/utils/Throttle.d.ts.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +899 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/vite/index.d.ts +3 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +126 -0
- package/dist/vite/index.js.map +1 -0
- package/dist/vite/mergeLocalesPlugin.d.ts +22 -0
- package/dist/vite/mergeLocalesPlugin.d.ts.map +1 -0
- package/package.json +143 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import type { Container, FederatedPointerEvent, FederatedWheelEvent } from 'pixi.js';
|
|
2
|
+
import { EventEmitter } from 'eventemitter3';
|
|
3
|
+
/**
|
|
4
|
+
* Events emitted by ButtonBehavior.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface ButtonEvents {
|
|
9
|
+
click: () => void;
|
|
10
|
+
down: (event: FederatedPointerEvent) => void;
|
|
11
|
+
up: (event: FederatedPointerEvent) => void;
|
|
12
|
+
over: (event: FederatedPointerEvent) => void;
|
|
13
|
+
out: (event: FederatedPointerEvent) => void;
|
|
14
|
+
wheel: (event: FederatedWheelEvent) => void;
|
|
15
|
+
hold: () => void;
|
|
16
|
+
holdStart: () => void;
|
|
17
|
+
holdEnd: () => void;
|
|
18
|
+
toggle: (selected: boolean) => void;
|
|
19
|
+
select: () => void;
|
|
20
|
+
deselect: () => void;
|
|
21
|
+
viewAttached: (view: Container) => void;
|
|
22
|
+
viewDetached: (view: Container) => void;
|
|
23
|
+
stateChanged: (state: ButtonState) => void;
|
|
24
|
+
}
|
|
25
|
+
export type ButtonVisualState = 'up' | 'down' | 'over' | 'disabled' | 'selected_up' | 'selected_down' | 'selected_over' | 'selected_disabled';
|
|
26
|
+
export interface ButtonState {
|
|
27
|
+
enabled: boolean;
|
|
28
|
+
pressed: boolean;
|
|
29
|
+
holding: boolean;
|
|
30
|
+
selected: boolean;
|
|
31
|
+
cursor: string;
|
|
32
|
+
over: boolean;
|
|
33
|
+
state: ButtonVisualState;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Hold detection mode for buttons.
|
|
37
|
+
* - `'none'`: No hold detection, only click events (default)
|
|
38
|
+
* - `'exclusive'`: Hold skips click — holdEnd emitted on release, click is NOT emitted
|
|
39
|
+
* - `'clickThrough'`: Hold + click — holdEnd AND click both emitted on release
|
|
40
|
+
*/
|
|
41
|
+
export type HoldMode = 'none' | 'exclusive' | 'clickThrough';
|
|
42
|
+
export interface ButtonOptions {
|
|
43
|
+
holdDelay?: number;
|
|
44
|
+
holdInterval?: number;
|
|
45
|
+
holdMode?: HoldMode;
|
|
46
|
+
cursor?: string;
|
|
47
|
+
isToggle?: boolean;
|
|
48
|
+
selected?: boolean;
|
|
49
|
+
allowHoldWhenToggle?: boolean;
|
|
50
|
+
view?: Container;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Button interaction behavior for PixiJS containers.
|
|
54
|
+
*
|
|
55
|
+
* This module provides ButtonBehavior for complete button functionality including
|
|
56
|
+
* click, hover, press states, hold/long-press detection, and toggle/checkbox mode.
|
|
57
|
+
*
|
|
58
|
+
* ## Features
|
|
59
|
+
*
|
|
60
|
+
* - **Multiple States**: up, down, over, disabled, selected variants
|
|
61
|
+
* - **Hold Detection**: Configurable hold delay and interval
|
|
62
|
+
* - **Toggle Mode**: Checkbox/radio button behavior
|
|
63
|
+
* - **View Management**: Attach/detach views dynamically
|
|
64
|
+
* - **Event-Driven**: Rich event system for all interactions
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* Basic button:
|
|
68
|
+
* ```typescript
|
|
69
|
+
* import { ButtonBehavior } from '@rb-games/core/ui/behaviors';
|
|
70
|
+
*
|
|
71
|
+
* const button = new ButtonBehavior();
|
|
72
|
+
* button.attachView(myContainer);
|
|
73
|
+
*
|
|
74
|
+
* button.on('click', () => {
|
|
75
|
+
* console.log('Button clicked!');
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* button.on('stateChanged', (state) => {
|
|
79
|
+
* if (state.state === 'down') {
|
|
80
|
+
* myContainer.tint = 0xCCCCCC;
|
|
81
|
+
* } else if (state.state === 'over') {
|
|
82
|
+
* myContainer.tint = 0xFFFFFF;
|
|
83
|
+
* }
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* Toggle button (checkbox):
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const checkbox = new ButtonBehavior({
|
|
91
|
+
* isToggle: true,
|
|
92
|
+
* selected: false
|
|
93
|
+
* });
|
|
94
|
+
* checkbox.attachView(checkboxContainer);
|
|
95
|
+
*
|
|
96
|
+
* checkbox.on('toggle', (selected) => {
|
|
97
|
+
* console.log('Checkbox is now:', selected ? 'checked' : 'unchecked');
|
|
98
|
+
* });
|
|
99
|
+
*
|
|
100
|
+
* checkbox.on('stateChanged', (state) => {
|
|
101
|
+
* if (state.selected) {
|
|
102
|
+
* checkboxContainer.texture = checkedTexture;
|
|
103
|
+
* } else {
|
|
104
|
+
* checkboxContainer.texture = uncheckedTexture;
|
|
105
|
+
* }
|
|
106
|
+
* });
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* Hold button (long press):
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const holdButton = new ButtonBehavior({
|
|
113
|
+
* holdDelay: 500, // Start hold after 500ms
|
|
114
|
+
* holdInterval: 100 // Emit hold event every 100ms
|
|
115
|
+
* });
|
|
116
|
+
* holdButton.attachView(buttonContainer);
|
|
117
|
+
*
|
|
118
|
+
* let count = 0;
|
|
119
|
+
* holdButton.on('hold', () => {
|
|
120
|
+
* count++;
|
|
121
|
+
* console.log('Hold count:', count);
|
|
122
|
+
* });
|
|
123
|
+
*
|
|
124
|
+
* holdButton.on('holdStart', () => {
|
|
125
|
+
* console.log('Hold started');
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* holdButton.on('holdEnd', () => {
|
|
129
|
+
* console.log('Hold ended, total:', count);
|
|
130
|
+
* count = 0;
|
|
131
|
+
* });
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* All button states:
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const button = new ButtonBehavior({ isToggle: true });
|
|
138
|
+
* button.attachView(container);
|
|
139
|
+
*
|
|
140
|
+
* button.on('stateChanged', (state) => {
|
|
141
|
+
* // state.state can be:
|
|
142
|
+
* // 'up', 'down', 'over', 'disabled'
|
|
143
|
+
* // 'selected_up', 'selected_down', 'selected_over', 'selected_disabled'
|
|
144
|
+
*
|
|
145
|
+
* switch (state.state) {
|
|
146
|
+
* case 'up':
|
|
147
|
+
* container.texture = textures.up;
|
|
148
|
+
* break;
|
|
149
|
+
* case 'over':
|
|
150
|
+
* container.texture = textures.over;
|
|
151
|
+
* break;
|
|
152
|
+
* case 'down':
|
|
153
|
+
* container.texture = textures.down;
|
|
154
|
+
* break;
|
|
155
|
+
* case 'selected_up':
|
|
156
|
+
* container.texture = textures.selected_up;
|
|
157
|
+
* break;
|
|
158
|
+
* }
|
|
159
|
+
* });
|
|
160
|
+
* ```
|
|
161
|
+
*
|
|
162
|
+
* @see {@link ButtonEvents} for available events
|
|
163
|
+
* @see {@link ButtonOptions} for configuration options
|
|
164
|
+
* @see {@link ButtonState} for state interface
|
|
165
|
+
* @see {@link ButtonVisualState} for visual state types
|
|
166
|
+
*
|
|
167
|
+
* @category UI
|
|
168
|
+
* @public
|
|
169
|
+
*/
|
|
170
|
+
export declare class ButtonBehavior extends EventEmitter<ButtonEvents> {
|
|
171
|
+
private _view;
|
|
172
|
+
private _enabled;
|
|
173
|
+
private _isPressed;
|
|
174
|
+
private _isHolding;
|
|
175
|
+
private _pointerDownOnThis;
|
|
176
|
+
private _isOver;
|
|
177
|
+
private _holdTimer;
|
|
178
|
+
private _holdInterval;
|
|
179
|
+
private _holdDelay;
|
|
180
|
+
private _holdIntervalTime;
|
|
181
|
+
private _cursor;
|
|
182
|
+
private _isToggle;
|
|
183
|
+
private _selected;
|
|
184
|
+
private _allowHoldWhenToggle;
|
|
185
|
+
private _holdMode;
|
|
186
|
+
private _eventsBound;
|
|
187
|
+
static withView(view: Container, options?: ButtonOptions): ButtonBehavior;
|
|
188
|
+
constructor(options?: ButtonOptions);
|
|
189
|
+
attachView(view: Container): void;
|
|
190
|
+
detachView(): void;
|
|
191
|
+
get view(): Container | null;
|
|
192
|
+
get hasView(): boolean;
|
|
193
|
+
private _setupInteractivity;
|
|
194
|
+
private _bindEvents;
|
|
195
|
+
private _unbindEvents;
|
|
196
|
+
private _setupDestroyListener;
|
|
197
|
+
private _emitStateChange;
|
|
198
|
+
private _onViewDestroyed;
|
|
199
|
+
private _onPointerDown;
|
|
200
|
+
private _onPointerUp;
|
|
201
|
+
private _handleToggle;
|
|
202
|
+
private _onPointerOver;
|
|
203
|
+
private _onPointerOut;
|
|
204
|
+
private _onWheel;
|
|
205
|
+
private _startHoldTimer;
|
|
206
|
+
private _stopHoldTimer;
|
|
207
|
+
get holdMode(): HoldMode;
|
|
208
|
+
set holdMode(value: HoldMode);
|
|
209
|
+
get isEnabled(): boolean;
|
|
210
|
+
set isEnabled(value: boolean);
|
|
211
|
+
get isPressed(): boolean;
|
|
212
|
+
get isHolding(): boolean;
|
|
213
|
+
get isToggle(): boolean;
|
|
214
|
+
set isToggle(value: boolean);
|
|
215
|
+
get isSelected(): boolean;
|
|
216
|
+
set isSelected(value: boolean);
|
|
217
|
+
get allowHoldWhenToggle(): boolean;
|
|
218
|
+
set allowHoldWhenToggle(value: boolean);
|
|
219
|
+
get holdDelay(): number;
|
|
220
|
+
set holdDelay(value: number);
|
|
221
|
+
get holdInterval(): number;
|
|
222
|
+
set holdInterval(value: number);
|
|
223
|
+
get cursor(): string;
|
|
224
|
+
set cursor(value: string);
|
|
225
|
+
toggle(): void;
|
|
226
|
+
select(): void;
|
|
227
|
+
deselect(): void;
|
|
228
|
+
/**
|
|
229
|
+
* Programmatically simulates a pointer down on this button.
|
|
230
|
+
* Triggers press state, hold timer, and visual feedback — same as a real pointer down.
|
|
231
|
+
* Does NOT emit the `down` event (which requires a FederatedPointerEvent).
|
|
232
|
+
* Use together with `simulateUp()` for full keyboard/gamepad/test bindings.
|
|
233
|
+
*/
|
|
234
|
+
simulateDown(): void;
|
|
235
|
+
/**
|
|
236
|
+
* Programmatically simulates a pointer up on this button.
|
|
237
|
+
* Triggers click (or holdEnd/toggle) and visual feedback — same as a real pointer up.
|
|
238
|
+
* Does NOT emit the `up` event (which requires a FederatedPointerEvent).
|
|
239
|
+
* Use together with `simulateDown()` for full keyboard/gamepad/test bindings.
|
|
240
|
+
*/
|
|
241
|
+
simulateUp(): void;
|
|
242
|
+
destroy(): void;
|
|
243
|
+
private _calculateStateString;
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=ButtonBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonBehavior.d.ts","sourceRoot":"","sources":["../../../ui/behaviors/ButtonBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import type { Container } from 'pixi.js';
|
|
2
|
+
import { EventEmitter } from 'eventemitter3';
|
|
3
|
+
/**
|
|
4
|
+
* Events emitted by InputBehavior.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface InputEvents {
|
|
9
|
+
focus: () => void;
|
|
10
|
+
blur: () => void;
|
|
11
|
+
input: (value: string) => void;
|
|
12
|
+
change: (value: string) => void;
|
|
13
|
+
enter: () => void;
|
|
14
|
+
esc: () => void;
|
|
15
|
+
stateChanged: (state: InputState) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Current state of the input field.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export interface InputState {
|
|
23
|
+
/** Current text value */
|
|
24
|
+
value: string;
|
|
25
|
+
/** Whether input is focused */
|
|
26
|
+
focused: boolean;
|
|
27
|
+
/** Whether input is enabled */
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
/** Current text selection range */
|
|
30
|
+
selection: {
|
|
31
|
+
start: number;
|
|
32
|
+
end: number;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Configuration options for InputBehavior.
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export interface InputBehaviorOptions {
|
|
41
|
+
type?: 'text' | 'password' | 'number';
|
|
42
|
+
multiline?: boolean;
|
|
43
|
+
placeholder?: string;
|
|
44
|
+
maxLength?: number;
|
|
45
|
+
enabled?: boolean;
|
|
46
|
+
restricted?: RegExp;
|
|
47
|
+
mask?: (val: string) => string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Text input behavior using DOM input elements.
|
|
51
|
+
*
|
|
52
|
+
* This module provides InputBehavior for text input functionality by creating hidden DOM input
|
|
53
|
+
* elements that sync with PixiJS containers. This allows native keyboard input,
|
|
54
|
+
* text selection, and mobile keyboard support.
|
|
55
|
+
*
|
|
56
|
+
* ## Features
|
|
57
|
+
*
|
|
58
|
+
* - **Native Input**: Uses real DOM input/textarea elements
|
|
59
|
+
* - **Text Types**: text, password, number
|
|
60
|
+
* - **Multiline**: Support for textarea
|
|
61
|
+
* - **Validation**: Restrict input with regex patterns
|
|
62
|
+
* - **Masking**: Transform input values (e.g., phone numbers)
|
|
63
|
+
* - **Mobile Support**: Native mobile keyboard
|
|
64
|
+
* - **Selection**: Text selection support
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* Basic text input:
|
|
68
|
+
* ```typescript
|
|
69
|
+
* import { InputBehavior } from '@rb-games/core/ui/behaviors';
|
|
70
|
+
*
|
|
71
|
+
* const input = new InputBehavior({
|
|
72
|
+
* placeholder: 'Enter your name',
|
|
73
|
+
* maxLength: 50
|
|
74
|
+
* });
|
|
75
|
+
*
|
|
76
|
+
* input.attachView(inputContainer);
|
|
77
|
+
*
|
|
78
|
+
* input.on('input', (value) => {
|
|
79
|
+
* textDisplay.text = value;
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* input.on('enter', () => {
|
|
83
|
+
* submitForm();
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* Password input:
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const passwordInput = new InputBehavior({
|
|
91
|
+
* type: 'password',
|
|
92
|
+
* placeholder: 'Enter password',
|
|
93
|
+
* maxLength: 32
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* passwordInput.attachView(passwordContainer);
|
|
97
|
+
*
|
|
98
|
+
* passwordInput.on('input', (value) => {
|
|
99
|
+
* passwordDisplay.text = '•'.repeat(value.length);
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* Input with masking (phone number):
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const phoneInput = new InputBehavior({
|
|
107
|
+
* placeholder: '(555) 123-4567',
|
|
108
|
+
* restricted: /[^0-9]/g,
|
|
109
|
+
* mask: (val) => {
|
|
110
|
+
* const digits = val.replace(/\D/g, '');
|
|
111
|
+
* if (digits.length <= 3) return digits;
|
|
112
|
+
* if (digits.length <= 6) return `(${digits.slice(0, 3)}) ${digits.slice(3)}`;
|
|
113
|
+
* return `(${digits.slice(0, 3)}) ${digits.slice(3, 6)}-${digits.slice(6, 10)}`;
|
|
114
|
+
* }
|
|
115
|
+
* });
|
|
116
|
+
* ```
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* Form validation:
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const emailInput = new InputBehavior({
|
|
122
|
+
* type: 'text',
|
|
123
|
+
* placeholder: 'email@example.com'
|
|
124
|
+
* });
|
|
125
|
+
*
|
|
126
|
+
* emailInput.attachView(emailContainer);
|
|
127
|
+
*
|
|
128
|
+
* let isValid = false;
|
|
129
|
+
* emailInput.on('input', (value) => {
|
|
130
|
+
* const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
131
|
+
* isValid = emailRegex.test(value);
|
|
132
|
+
* border.tint = isValid ? 0x00FF00 : 0xFF0000;
|
|
133
|
+
* });
|
|
134
|
+
*
|
|
135
|
+
* emailInput.on('enter', () => {
|
|
136
|
+
* if (isValid) submitEmail(emailInput.value);
|
|
137
|
+
* });
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @see {@link InputEvents} for available events
|
|
141
|
+
* @see {@link InputBehaviorOptions} for configuration options
|
|
142
|
+
* @see {@link InputState} for state interface
|
|
143
|
+
*
|
|
144
|
+
* @category UI
|
|
145
|
+
* @public
|
|
146
|
+
*/
|
|
147
|
+
export declare class InputBehavior extends EventEmitter<InputEvents> {
|
|
148
|
+
private _domInput;
|
|
149
|
+
private _state;
|
|
150
|
+
private _options;
|
|
151
|
+
private _view;
|
|
152
|
+
constructor(options?: InputBehaviorOptions);
|
|
153
|
+
attachView(view: Container): void;
|
|
154
|
+
private _onViewPointerDown;
|
|
155
|
+
detachView(): void;
|
|
156
|
+
get hasView(): boolean;
|
|
157
|
+
get view(): Container | null;
|
|
158
|
+
private focus;
|
|
159
|
+
private blur;
|
|
160
|
+
setValue(val: string): void;
|
|
161
|
+
get value(): string;
|
|
162
|
+
set enabled(val: boolean);
|
|
163
|
+
get enabled(): boolean;
|
|
164
|
+
setSelection(start: number, end: number): void;
|
|
165
|
+
updateDomPosition(): void;
|
|
166
|
+
activateView(): void;
|
|
167
|
+
destroy(): void;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=InputBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputBehavior.d.ts","sourceRoot":"","sources":["../../../ui/behaviors/InputBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,qBAAa,aAAc,SAAQ,YAAY,CAAC,WAAW,CAAC;IAC1D,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,KAAK,CAA0B;gBAE3B,OAAO,GAAE,oBAAyB;IA6DvC,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAUxC,OAAO,CAAC,kBAAkB,CAExB;IAEK,UAAU,IAAI,IAAI;IAOzB,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,IAAI,IAAI,SAAS,GAAG,IAAI,CAElC;IAED,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;IAIL,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IASlC,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,OAAO,CAAC,GAAG,EAAE,OAAO,EAI9B;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAO9C,iBAAiB,IAAI,IAAI;IASzB,YAAY,IAAI,IAAI;IAKpB,OAAO,IAAI,IAAI;CAIvB"}
|