fraxel 0.1.0-alpha.1
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/dist/animation/easing.d.ts +29 -0
- package/dist/animation/easing.d.ts.map +1 -0
- package/dist/animation/easing.js +50 -0
- package/dist/animation/easing.js.map +1 -0
- package/dist/animation/index.d.ts +7 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/index.js +7 -0
- package/dist/animation/index.js.map +1 -0
- package/dist/animation/multiple.d.ts +26 -0
- package/dist/animation/multiple.d.ts.map +1 -0
- package/dist/animation/multiple.js +27 -0
- package/dist/animation/multiple.js.map +1 -0
- package/dist/animation/properties.d.ts +30 -0
- package/dist/animation/properties.d.ts.map +1 -0
- package/dist/animation/properties.js +32 -0
- package/dist/animation/properties.js.map +1 -0
- package/dist/animation/sequences.d.ts +30 -0
- package/dist/animation/sequences.d.ts.map +1 -0
- package/dist/animation/sequences.js +50 -0
- package/dist/animation/sequences.js.map +1 -0
- package/dist/animation/sprite-sheet.d.ts +81 -0
- package/dist/animation/sprite-sheet.d.ts.map +1 -0
- package/dist/animation/sprite-sheet.js +103 -0
- package/dist/animation/sprite-sheet.js.map +1 -0
- package/dist/animation/tween.d.ts +78 -0
- package/dist/animation/tween.d.ts.map +1 -0
- package/dist/animation/tween.js +103 -0
- package/dist/animation/tween.js.map +1 -0
- package/dist/assets/index.d.ts +6 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +5 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/load-sound.d.ts +17 -0
- package/dist/assets/load-sound.d.ts.map +1 -0
- package/dist/assets/load-sound.js +35 -0
- package/dist/assets/load-sound.js.map +1 -0
- package/dist/assets/load-texture.d.ts +12 -0
- package/dist/assets/load-texture.d.ts.map +1 -0
- package/dist/assets/load-texture.js +40 -0
- package/dist/assets/load-texture.js.map +1 -0
- package/dist/assets/loader.d.ts +59 -0
- package/dist/assets/loader.d.ts.map +1 -0
- package/dist/assets/loader.js +65 -0
- package/dist/assets/loader.js.map +1 -0
- package/dist/assets/texture.d.ts +36 -0
- package/dist/assets/texture.d.ts.map +1 -0
- package/dist/assets/texture.js +49 -0
- package/dist/assets/texture.js.map +1 -0
- package/dist/audio/audio-context.d.ts +14 -0
- package/dist/audio/audio-context.d.ts.map +1 -0
- package/dist/audio/audio-context.js +20 -0
- package/dist/audio/audio-context.js.map +1 -0
- package/dist/audio/index.d.ts +2 -0
- package/dist/audio/index.d.ts.map +1 -0
- package/dist/audio/index.js +2 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/collision/broadphase/spatial-hash.d.ts +32 -0
- package/dist/collision/broadphase/spatial-hash.d.ts.map +1 -0
- package/dist/collision/broadphase/spatial-hash.js +87 -0
- package/dist/collision/broadphase/spatial-hash.js.map +1 -0
- package/dist/collision/collision-system.d.ts +52 -0
- package/dist/collision/collision-system.d.ts.map +1 -0
- package/dist/collision/collision-system.js +278 -0
- package/dist/collision/collision-system.js.map +1 -0
- package/dist/collision/events/collision-emitter.d.ts +38 -0
- package/dist/collision/events/collision-emitter.d.ts.map +1 -0
- package/dist/collision/events/collision-emitter.js +47 -0
- package/dist/collision/events/collision-emitter.js.map +1 -0
- package/dist/collision/index.d.ts +13 -0
- package/dist/collision/index.d.ts.map +1 -0
- package/dist/collision/index.js +11 -0
- package/dist/collision/index.js.map +1 -0
- package/dist/collision/narrowphase/detector.d.ts +26 -0
- package/dist/collision/narrowphase/detector.d.ts.map +1 -0
- package/dist/collision/narrowphase/detector.js +70 -0
- package/dist/collision/narrowphase/detector.js.map +1 -0
- package/dist/collision/narrowphase/shapes.d.ts +91 -0
- package/dist/collision/narrowphase/shapes.d.ts.map +1 -0
- package/dist/collision/narrowphase/shapes.js +52 -0
- package/dist/collision/narrowphase/shapes.js.map +1 -0
- package/dist/collision/physics/physics-body.d.ts +38 -0
- package/dist/collision/physics/physics-body.d.ts.map +1 -0
- package/dist/collision/physics/physics-body.js +53 -0
- package/dist/collision/physics/physics-body.js.map +1 -0
- package/dist/collision/physics/physics-system.d.ts +23 -0
- package/dist/collision/physics/physics-system.d.ts.map +1 -0
- package/dist/collision/physics/physics-system.js +86 -0
- package/dist/collision/physics/physics-system.js.map +1 -0
- package/dist/collision/physics/resolver.d.ts +16 -0
- package/dist/collision/physics/resolver.d.ts.map +1 -0
- package/dist/collision/physics/resolver.js +91 -0
- package/dist/collision/physics/resolver.js.map +1 -0
- package/dist/collision/types.d.ts +22 -0
- package/dist/collision/types.d.ts.map +1 -0
- package/dist/collision/types.js +2 -0
- package/dist/collision/types.js.map +1 -0
- package/dist/core/game-config.d.ts +34 -0
- package/dist/core/game-config.d.ts.map +1 -0
- package/dist/core/game-config.js +31 -0
- package/dist/core/game-config.js.map +1 -0
- package/dist/core/game.d.ts +86 -0
- package/dist/core/game.d.ts.map +1 -0
- package/dist/core/game.js +166 -0
- package/dist/core/game.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +6 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/scene-manager.d.ts +28 -0
- package/dist/core/scene-manager.d.ts.map +1 -0
- package/dist/core/scene-manager.js +65 -0
- package/dist/core/scene-manager.js.map +1 -0
- package/dist/core/scene.d.ts +43 -0
- package/dist/core/scene.d.ts.map +1 -0
- package/dist/core/scene.js +48 -0
- package/dist/core/scene.js.map +1 -0
- package/dist/core/theme.d.ts +63 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/core/theme.js +59 -0
- package/dist/core/theme.js.map +1 -0
- package/dist/errors/animation.d.ts +24 -0
- package/dist/errors/animation.d.ts.map +1 -0
- package/dist/errors/animation.js +29 -0
- package/dist/errors/animation.js.map +1 -0
- package/dist/errors/assets.d.ts +34 -0
- package/dist/errors/assets.d.ts.map +1 -0
- package/dist/errors/assets.js +41 -0
- package/dist/errors/assets.js.map +1 -0
- package/dist/errors/base.d.ts +12 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +15 -0
- package/dist/errors/base.js.map +1 -0
- package/dist/errors/env.d.ts +24 -0
- package/dist/errors/env.d.ts.map +1 -0
- package/dist/errors/env.js +29 -0
- package/dist/errors/env.js.map +1 -0
- package/dist/errors/hook.d.ts +46 -0
- package/dist/errors/hook.d.ts.map +1 -0
- package/dist/errors/hook.js +55 -0
- package/dist/errors/hook.js.map +1 -0
- package/dist/errors/index.d.ts +11 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +11 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/jsx.d.ts +26 -0
- package/dist/errors/jsx.d.ts.map +1 -0
- package/dist/errors/jsx.js +45 -0
- package/dist/errors/jsx.js.map +1 -0
- package/dist/errors/lifecycle.d.ts +35 -0
- package/dist/errors/lifecycle.d.ts.map +1 -0
- package/dist/errors/lifecycle.js +42 -0
- package/dist/errors/lifecycle.js.map +1 -0
- package/dist/errors/math.d.ts +24 -0
- package/dist/errors/math.d.ts.map +1 -0
- package/dist/errors/math.js +34 -0
- package/dist/errors/math.js.map +1 -0
- package/dist/errors/node.d.ts +68 -0
- package/dist/errors/node.d.ts.map +1 -0
- package/dist/errors/node.js +87 -0
- package/dist/errors/node.js.map +1 -0
- package/dist/errors/scene.d.ts +35 -0
- package/dist/errors/scene.d.ts.map +1 -0
- package/dist/errors/scene.js +42 -0
- package/dist/errors/scene.js.map +1 -0
- package/dist/events/event.d.ts +106 -0
- package/dist/events/event.d.ts.map +1 -0
- package/dist/events/event.js +125 -0
- package/dist/events/event.js.map +1 -0
- package/dist/events/index.d.ts +2 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +20 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +2 -0
- package/dist/events/types.js.map +1 -0
- package/dist/hooks/context.d.ts +15 -0
- package/dist/hooks/context.d.ts.map +1 -0
- package/dist/hooks/context.js +26 -0
- package/dist/hooks/context.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/index.d.ts +7 -0
- package/dist/hooks/deriveds/by-nodes/index.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/index.js +7 -0
- package/dist/hooks/deriveds/by-nodes/index.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-animation.d.ts +44 -0
- package/dist/hooks/deriveds/by-nodes/use-animation.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-animation.js +61 -0
- package/dist/hooks/deriveds/by-nodes/use-animation.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-audio.d.ts +33 -0
- package/dist/hooks/deriveds/by-nodes/use-audio.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-audio.js +43 -0
- package/dist/hooks/deriveds/by-nodes/use-audio.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-clickable.d.ts +32 -0
- package/dist/hooks/deriveds/by-nodes/use-clickable.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-clickable.js +43 -0
- package/dist/hooks/deriveds/by-nodes/use-clickable.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-collider.d.ts +35 -0
- package/dist/hooks/deriveds/by-nodes/use-collider.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-collider.js +55 -0
- package/dist/hooks/deriveds/by-nodes/use-collider.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-ray-cast.d.ts +35 -0
- package/dist/hooks/deriveds/by-nodes/use-ray-cast.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-ray-cast.js +47 -0
- package/dist/hooks/deriveds/by-nodes/use-ray-cast.js.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-timer.d.ts +34 -0
- package/dist/hooks/deriveds/by-nodes/use-timer.d.ts.map +1 -0
- package/dist/hooks/deriveds/by-nodes/use-timer.js +48 -0
- package/dist/hooks/deriveds/by-nodes/use-timer.js.map +1 -0
- package/dist/hooks/deriveds/index.d.ts +5 -0
- package/dist/hooks/deriveds/index.d.ts.map +1 -0
- package/dist/hooks/deriveds/index.js +5 -0
- package/dist/hooks/deriveds/index.js.map +1 -0
- package/dist/hooks/deriveds/use-condition.d.ts +37 -0
- package/dist/hooks/deriveds/use-condition.d.ts.map +1 -0
- package/dist/hooks/deriveds/use-condition.js +47 -0
- package/dist/hooks/deriveds/use-condition.js.map +1 -0
- package/dist/hooks/deriveds/use-match.d.ts +26 -0
- package/dist/hooks/deriveds/use-match.d.ts.map +1 -0
- package/dist/hooks/deriveds/use-match.js +38 -0
- package/dist/hooks/deriveds/use-match.js.map +1 -0
- package/dist/hooks/deriveds/use-partial-node.d.ts +22 -0
- package/dist/hooks/deriveds/use-partial-node.d.ts.map +1 -0
- package/dist/hooks/deriveds/use-partial-node.js +25 -0
- package/dist/hooks/deriveds/use-partial-node.js.map +1 -0
- package/dist/hooks/deriveds/use-when.d.ts +28 -0
- package/dist/hooks/deriveds/use-when.d.ts.map +1 -0
- package/dist/hooks/deriveds/use-when.js +35 -0
- package/dist/hooks/deriveds/use-when.js.map +1 -0
- package/dist/hooks/index.d.ts +16 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +16 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-child.d.ts +24 -0
- package/dist/hooks/use-child.d.ts.map +1 -0
- package/dist/hooks/use-child.js +37 -0
- package/dist/hooks/use-child.js.map +1 -0
- package/dist/hooks/use-computed.d.ts +28 -0
- package/dist/hooks/use-computed.d.ts.map +1 -0
- package/dist/hooks/use-computed.js +41 -0
- package/dist/hooks/use-computed.js.map +1 -0
- package/dist/hooks/use-context.d.ts +58 -0
- package/dist/hooks/use-context.d.ts.map +1 -0
- package/dist/hooks/use-context.js +77 -0
- package/dist/hooks/use-context.js.map +1 -0
- package/dist/hooks/use-effect.d.ts +24 -0
- package/dist/hooks/use-effect.d.ts.map +1 -0
- package/dist/hooks/use-effect.js +63 -0
- package/dist/hooks/use-effect.js.map +1 -0
- package/dist/hooks/use-event.d.ts +29 -0
- package/dist/hooks/use-event.d.ts.map +1 -0
- package/dist/hooks/use-event.js +30 -0
- package/dist/hooks/use-event.js.map +1 -0
- package/dist/hooks/use-game.d.ts +17 -0
- package/dist/hooks/use-game.d.ts.map +1 -0
- package/dist/hooks/use-game.js +35 -0
- package/dist/hooks/use-game.js.map +1 -0
- package/dist/hooks/use-mount.d.ts +21 -0
- package/dist/hooks/use-mount.d.ts.map +1 -0
- package/dist/hooks/use-mount.js +33 -0
- package/dist/hooks/use-mount.js.map +1 -0
- package/dist/hooks/use-node.d.ts +42 -0
- package/dist/hooks/use-node.d.ts.map +1 -0
- package/dist/hooks/use-node.js +63 -0
- package/dist/hooks/use-node.js.map +1 -0
- package/dist/hooks/use-ref.d.ts +27 -0
- package/dist/hooks/use-ref.d.ts.map +1 -0
- package/dist/hooks/use-ref.js +33 -0
- package/dist/hooks/use-ref.js.map +1 -0
- package/dist/hooks/use-script.d.ts +33 -0
- package/dist/hooks/use-script.d.ts.map +1 -0
- package/dist/hooks/use-script.js +40 -0
- package/dist/hooks/use-script.js.map +1 -0
- package/dist/hooks/use-signal.d.ts +25 -0
- package/dist/hooks/use-signal.d.ts.map +1 -0
- package/dist/hooks/use-signal.js +36 -0
- package/dist/hooks/use-signal.js.map +1 -0
- package/dist/hooks/use-spawn.d.ts +27 -0
- package/dist/hooks/use-spawn.d.ts.map +1 -0
- package/dist/hooks/use-spawn.js +39 -0
- package/dist/hooks/use-spawn.js.map +1 -0
- package/dist/hooks/use-trigger.d.ts +51 -0
- package/dist/hooks/use-trigger.d.ts.map +1 -0
- package/dist/hooks/use-trigger.js +68 -0
- package/dist/hooks/use-trigger.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/input/input.d.ts +46 -0
- package/dist/input/input.d.ts.map +1 -0
- package/dist/input/input.js +159 -0
- package/dist/input/input.js.map +1 -0
- package/dist/jsx/components/fragment.d.ts +3 -0
- package/dist/jsx/components/fragment.d.ts.map +1 -0
- package/dist/jsx/components/fragment.js +7 -0
- package/dist/jsx/components/fragment.js.map +1 -0
- package/dist/jsx/components/game.d.ts +21 -0
- package/dist/jsx/components/game.d.ts.map +1 -0
- package/dist/jsx/components/game.js +17 -0
- package/dist/jsx/components/game.js.map +1 -0
- package/dist/jsx/components/index.d.ts +5 -0
- package/dist/jsx/components/index.d.ts.map +1 -0
- package/dist/jsx/components/index.js +5 -0
- package/dist/jsx/components/index.js.map +1 -0
- package/dist/jsx/components/list.d.ts +88 -0
- package/dist/jsx/components/list.d.ts.map +1 -0
- package/dist/jsx/components/list.js +93 -0
- package/dist/jsx/components/list.js.map +1 -0
- package/dist/jsx/components/scene.d.ts +40 -0
- package/dist/jsx/components/scene.d.ts.map +1 -0
- package/dist/jsx/components/scene.js +20 -0
- package/dist/jsx/components/scene.js.map +1 -0
- package/dist/jsx/index.d.ts +5 -0
- package/dist/jsx/index.d.ts.map +1 -0
- package/dist/jsx/index.js +5 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/jsx.d.ts +3 -0
- package/dist/jsx/jsx.d.ts.map +1 -0
- package/dist/jsx/jsx.js +4 -0
- package/dist/jsx/jsx.js.map +1 -0
- package/dist/jsx/render/game.d.ts +41 -0
- package/dist/jsx/render/game.d.ts.map +1 -0
- package/dist/jsx/render/game.js +86 -0
- package/dist/jsx/render/game.js.map +1 -0
- package/dist/jsx/render/index.d.ts +3 -0
- package/dist/jsx/render/index.d.ts.map +1 -0
- package/dist/jsx/render/index.js +3 -0
- package/dist/jsx/render/index.js.map +1 -0
- package/dist/jsx/render/to-nodes.d.ts +10 -0
- package/dist/jsx/render/to-nodes.d.ts.map +1 -0
- package/dist/jsx/render/to-nodes.js +52 -0
- package/dist/jsx/render/to-nodes.js.map +1 -0
- package/dist/jsx/render/types/class-component.d.ts +4 -0
- package/dist/jsx/render/types/class-component.d.ts.map +1 -0
- package/dist/jsx/render/types/class-component.js +8 -0
- package/dist/jsx/render/types/class-component.js.map +1 -0
- package/dist/jsx/render/types/func-components.d.ts +4 -0
- package/dist/jsx/render/types/func-components.d.ts.map +1 -0
- package/dist/jsx/render/types/func-components.js +8 -0
- package/dist/jsx/render/types/func-components.js.map +1 -0
- package/dist/jsx/render/types/instrinsic-elements.d.ts +6 -0
- package/dist/jsx/render/types/instrinsic-elements.d.ts.map +1 -0
- package/dist/jsx/render/types/instrinsic-elements.js +41 -0
- package/dist/jsx/render/types/instrinsic-elements.js.map +1 -0
- package/dist/jsx/types.d.ts +41 -0
- package/dist/jsx/types.d.ts.map +1 -0
- package/dist/jsx/types.js +2 -0
- package/dist/jsx/types.js.map +1 -0
- package/dist/jsx/utils.d.ts +4 -0
- package/dist/jsx/utils.d.ts.map +1 -0
- package/dist/jsx/utils.js +15 -0
- package/dist/jsx/utils.js.map +1 -0
- package/dist/jsx-runtime.d.ts +6 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +6 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/math/index.d.ts +3 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +2 -0
- package/dist/math/index.js.map +1 -0
- package/dist/math/types.d.ts +13 -0
- package/dist/math/types.d.ts.map +1 -0
- package/dist/math/types.js +2 -0
- package/dist/math/types.js.map +1 -0
- package/dist/math/vector2.d.ts +145 -0
- package/dist/math/vector2.d.ts.map +1 -0
- package/dist/math/vector2.js +164 -0
- package/dist/math/vector2.js.map +1 -0
- package/dist/nodes/_node.d.ts +283 -0
- package/dist/nodes/_node.d.ts.map +1 -0
- package/dist/nodes/_node.js +371 -0
- package/dist/nodes/_node.js.map +1 -0
- package/dist/nodes/animation-player.d.ts +208 -0
- package/dist/nodes/animation-player.d.ts.map +1 -0
- package/dist/nodes/animation-player.js +249 -0
- package/dist/nodes/animation-player.js.map +1 -0
- package/dist/nodes/audio-player.d.ts +128 -0
- package/dist/nodes/audio-player.d.ts.map +1 -0
- package/dist/nodes/audio-player.js +173 -0
- package/dist/nodes/audio-player.js.map +1 -0
- package/dist/nodes/group.d.ts +55 -0
- package/dist/nodes/group.d.ts.map +1 -0
- package/dist/nodes/group.js +54 -0
- package/dist/nodes/group.js.map +1 -0
- package/dist/nodes/index.d.ts +8 -0
- package/dist/nodes/index.d.ts.map +1 -0
- package/dist/nodes/index.js +7 -0
- package/dist/nodes/index.js.map +1 -0
- package/dist/nodes/lib/enum.d.ts +42 -0
- package/dist/nodes/lib/enum.d.ts.map +1 -0
- package/dist/nodes/lib/enum.js +43 -0
- package/dist/nodes/lib/enum.js.map +1 -0
- package/dist/nodes/lib/index.d.ts +5 -0
- package/dist/nodes/lib/index.d.ts.map +1 -0
- package/dist/nodes/lib/index.js +5 -0
- package/dist/nodes/lib/index.js.map +1 -0
- package/dist/nodes/lib/registry.d.ts +43 -0
- package/dist/nodes/lib/registry.d.ts.map +1 -0
- package/dist/nodes/lib/registry.js +46 -0
- package/dist/nodes/lib/registry.js.map +1 -0
- package/dist/nodes/lib/types.d.ts +89 -0
- package/dist/nodes/lib/types.d.ts.map +1 -0
- package/dist/nodes/lib/types.js +2 -0
- package/dist/nodes/lib/types.js.map +1 -0
- package/dist/nodes/lib/utils.d.ts +35 -0
- package/dist/nodes/lib/utils.d.ts.map +1 -0
- package/dist/nodes/lib/utils.js +58 -0
- package/dist/nodes/lib/utils.js.map +1 -0
- package/dist/nodes/node2d/_node2d.d.ts +59 -0
- package/dist/nodes/node2d/_node2d.d.ts.map +1 -0
- package/dist/nodes/node2d/_node2d.js +57 -0
- package/dist/nodes/node2d/_node2d.js.map +1 -0
- package/dist/nodes/node2d/camera.d.ts +64 -0
- package/dist/nodes/node2d/camera.d.ts.map +1 -0
- package/dist/nodes/node2d/camera.js +72 -0
- package/dist/nodes/node2d/camera.js.map +1 -0
- package/dist/nodes/node2d/clickable.d.ts +96 -0
- package/dist/nodes/node2d/clickable.d.ts.map +1 -0
- package/dist/nodes/node2d/clickable.js +117 -0
- package/dist/nodes/node2d/clickable.js.map +1 -0
- package/dist/nodes/node2d/collider.d.ts +96 -0
- package/dist/nodes/node2d/collider.d.ts.map +1 -0
- package/dist/nodes/node2d/collider.js +116 -0
- package/dist/nodes/node2d/collider.js.map +1 -0
- package/dist/nodes/node2d/index.d.ts +12 -0
- package/dist/nodes/node2d/index.d.ts.map +1 -0
- package/dist/nodes/node2d/index.js +11 -0
- package/dist/nodes/node2d/index.js.map +1 -0
- package/dist/nodes/node2d/lib/index.d.ts +2 -0
- package/dist/nodes/node2d/lib/index.d.ts.map +1 -0
- package/dist/nodes/node2d/lib/index.js +2 -0
- package/dist/nodes/node2d/lib/index.js.map +1 -0
- package/dist/nodes/node2d/lib/utils.d.ts +4 -0
- package/dist/nodes/node2d/lib/utils.d.ts.map +1 -0
- package/dist/nodes/node2d/lib/utils.js +14 -0
- package/dist/nodes/node2d/lib/utils.js.map +1 -0
- package/dist/nodes/node2d/ray-cast.d.ts +115 -0
- package/dist/nodes/node2d/ray-cast.d.ts.map +1 -0
- package/dist/nodes/node2d/ray-cast.js +129 -0
- package/dist/nodes/node2d/ray-cast.js.map +1 -0
- package/dist/nodes/node2d/rectangle.d.ts +87 -0
- package/dist/nodes/node2d/rectangle.d.ts.map +1 -0
- package/dist/nodes/node2d/rectangle.js +60 -0
- package/dist/nodes/node2d/rectangle.js.map +1 -0
- package/dist/nodes/node2d/rigid-body.d.ts +65 -0
- package/dist/nodes/node2d/rigid-body.d.ts.map +1 -0
- package/dist/nodes/node2d/rigid-body.js +56 -0
- package/dist/nodes/node2d/rigid-body.js.map +1 -0
- package/dist/nodes/node2d/sprite.d.ts +285 -0
- package/dist/nodes/node2d/sprite.d.ts.map +1 -0
- package/dist/nodes/node2d/sprite.js +226 -0
- package/dist/nodes/node2d/sprite.js.map +1 -0
- package/dist/nodes/node2d/text.d.ts +62 -0
- package/dist/nodes/node2d/text.d.ts.map +1 -0
- package/dist/nodes/node2d/text.js +52 -0
- package/dist/nodes/node2d/text.js.map +1 -0
- package/dist/nodes/node2d/transform.d.ts +32 -0
- package/dist/nodes/node2d/transform.d.ts.map +1 -0
- package/dist/nodes/node2d/transform.js +30 -0
- package/dist/nodes/node2d/transform.js.map +1 -0
- package/dist/nodes/timer.d.ts +107 -0
- package/dist/nodes/timer.d.ts.map +1 -0
- package/dist/nodes/timer.js +108 -0
- package/dist/nodes/timer.js.map +1 -0
- package/dist/reactivity/index.d.ts +5 -0
- package/dist/reactivity/index.d.ts.map +1 -0
- package/dist/reactivity/index.js +5 -0
- package/dist/reactivity/index.js.map +1 -0
- package/dist/reactivity/reactive.d.ts +4 -0
- package/dist/reactivity/reactive.d.ts.map +1 -0
- package/dist/reactivity/reactive.js +50 -0
- package/dist/reactivity/reactive.js.map +1 -0
- package/dist/reactivity/register.d.ts +7 -0
- package/dist/reactivity/register.d.ts.map +1 -0
- package/dist/reactivity/register.js +18 -0
- package/dist/reactivity/register.js.map +1 -0
- package/dist/reactivity/signal.d.ts +126 -0
- package/dist/reactivity/signal.d.ts.map +1 -0
- package/dist/reactivity/signal.js +152 -0
- package/dist/reactivity/signal.js.map +1 -0
- package/dist/reactivity/types.d.ts +31 -0
- package/dist/reactivity/types.d.ts.map +1 -0
- package/dist/reactivity/types.js +2 -0
- package/dist/reactivity/types.js.map +1 -0
- package/dist/scripts/index.d.ts +2 -0
- package/dist/scripts/index.d.ts.map +1 -0
- package/dist/scripts/index.js +2 -0
- package/dist/scripts/index.js.map +1 -0
- package/dist/scripts/script.d.ts +80 -0
- package/dist/scripts/script.d.ts.map +1 -0
- package/dist/scripts/script.js +75 -0
- package/dist/scripts/script.js.map +1 -0
- package/dist/utils/dpr.d.ts +2 -0
- package/dist/utils/dpr.d.ts.map +1 -0
- package/dist/utils/dpr.js +14 -0
- package/dist/utils/dpr.js.map +1 -0
- package/dist/utils/ternaries.d.ts +6 -0
- package/dist/utils/ternaries.d.ts.map +1 -0
- package/dist/utils/ternaries.js +17 -0
- package/dist/utils/ternaries.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/jsx/components/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Dinix } from '../types.js';
|
|
2
|
+
type Component = () => Dinix.Node;
|
|
3
|
+
export type SceneComponent = (() => Promise<Component | {
|
|
4
|
+
default: Component;
|
|
5
|
+
}>) | Component;
|
|
6
|
+
export type SceneOptions = {
|
|
7
|
+
/** **`Name`** of the Scene */
|
|
8
|
+
name: string;
|
|
9
|
+
/** The **`component`** attribute is a function or a promise that returns a function that returns a `Node`.
|
|
10
|
+
* @example
|
|
11
|
+
* **Without lazy loading**
|
|
12
|
+
* ```jsx
|
|
13
|
+
* <Scene name='main' component={MainScene} />
|
|
14
|
+
* ```
|
|
15
|
+
* **With lazy loading**
|
|
16
|
+
* ```jsx
|
|
17
|
+
* <Scene name='main' component={() => import('./scenes/main.js')} />
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
component: SceneComponent;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* The **`Scene`** component is used to define a scene in the game. A scene is a collection of nodes that are rendered together. The `Scene` component takes a `name` and a `component` as props. The `name` is used to identify the scene, and the `component` is a function or a promise that returns a function that returns a `Node`. The `Node` returned by the `component` will be rendered when the scene is active.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* **Without lazy loading**
|
|
27
|
+
* ```jsx
|
|
28
|
+
* <Scene name='main' component={MainScene} />
|
|
29
|
+
* ```
|
|
30
|
+
* **With lazy loading**
|
|
31
|
+
* ```jsx
|
|
32
|
+
* <Scene name='main' component={() => import('./scenes/main.js')} />
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @param options The options for the scene, including the `name` and the `component`.
|
|
36
|
+
* @returns A `Scene` element that can be used in the `Game` component to define a scene.
|
|
37
|
+
*/
|
|
38
|
+
export declare function Scene(_options: SceneOptions): null;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=scene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,KAAK,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAA;AAEjC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,GAAG,SAAS,CAAA;AAE5F,MAAM,MAAM,YAAY,GAAG;IACzB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;;;OAUG;IACH,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAElD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`Scene`** component is used to define a scene in the game. A scene is a collection of nodes that are rendered together. The `Scene` component takes a `name` and a `component` as props. The `name` is used to identify the scene, and the `component` is a function or a promise that returns a function that returns a `Node`. The `Node` returned by the `component` will be rendered when the scene is active.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* **Without lazy loading**
|
|
6
|
+
* ```jsx
|
|
7
|
+
* <Scene name='main' component={MainScene} />
|
|
8
|
+
* ```
|
|
9
|
+
* **With lazy loading**
|
|
10
|
+
* ```jsx
|
|
11
|
+
* <Scene name='main' component={() => import('./scenes/main.js')} />
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @param options The options for the scene, including the `name` and the `component`.
|
|
15
|
+
* @returns A `Scene` element that can be used in the `Game` component to define a scene.
|
|
16
|
+
*/
|
|
17
|
+
export function Scene(_options) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=scene.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../src/jsx/components/scene.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,KAAK,CAAC,QAAsB;IAC1C,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,wBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAEzF"}
|
package/dist/jsx/jsx.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/jsx/jsx.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,CAAuB,IAAO,EAAE,KAAuB;IACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Dinix } from '../types.js';
|
|
2
|
+
import { Vector2 } from '../../math/vector2.js';
|
|
3
|
+
/** The **`createGame`** function creates the game and returns an object with control methods that can be used to play, pause the game, change the scene, etc...
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```js
|
|
7
|
+
* const game = createGame(
|
|
8
|
+
* <Game width={150} height={75} defaultScene='main'>
|
|
9
|
+
* <Scene name='main' component={() => import('./scenes/main.js')} />
|
|
10
|
+
* </Game>,
|
|
11
|
+
* document.querySelector('#root')
|
|
12
|
+
* )
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @param jsx The jsx to create the game
|
|
16
|
+
* @param root Where the canvas will create
|
|
17
|
+
*/
|
|
18
|
+
export declare function createGame(jsx: Dinix.Node, root: HTMLElement): GameControls;
|
|
19
|
+
export interface GameControls {
|
|
20
|
+
/**
|
|
21
|
+
* The **`play`** method starts the game.
|
|
22
|
+
*/
|
|
23
|
+
play: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* The **`pause`** method pauses the game.
|
|
26
|
+
*/
|
|
27
|
+
pause: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* The **`changeScene`** method sets and loads the scene.
|
|
30
|
+
*/
|
|
31
|
+
changeScene: (name: string) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* The **`preloadScene`** method preloads the scene while the Game is running and returns a function to set this scene when it is loaded.
|
|
34
|
+
*/
|
|
35
|
+
preloadScene: (name: string) => Promise<() => void>;
|
|
36
|
+
/**
|
|
37
|
+
* The **`getSize`** method returns the size of the game screen as Vector2.
|
|
38
|
+
*/
|
|
39
|
+
getSize: () => Vector2;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=game.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/jsx/render/game.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAWxC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,CAkD3E;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB;;OAEG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;OAEG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACnD;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAA;CACvB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Game } from '../components/game.js';
|
|
2
|
+
import { Game as GameP } from '../../core/game.js';
|
|
3
|
+
import { Scene as SceneP } from '../../core/scene.js';
|
|
4
|
+
import { getDinixElementFromNode, getDinixNodesFromNode } from '../utils.js';
|
|
5
|
+
import { Scene } from '../components/scene.js';
|
|
6
|
+
import { renderToNodes } from './to-nodes.js';
|
|
7
|
+
import { Node } from '../../nodes/_node.js';
|
|
8
|
+
import { InvalidGameElementError, InvalidSceneComponentError, MissingGameRootError, MissingSceneError, } from '../../errors/jsx.js';
|
|
9
|
+
import { Vector2 } from '../../math/vector2.js';
|
|
10
|
+
import { GameConfig } from '../../core/game-config.js';
|
|
11
|
+
/** The **`createGame`** function creates the game and returns an object with control methods that can be used to play, pause the game, change the scene, etc...
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```js
|
|
15
|
+
* const game = createGame(
|
|
16
|
+
* <Game width={150} height={75} defaultScene='main'>
|
|
17
|
+
* <Scene name='main' component={() => import('./scenes/main.js')} />
|
|
18
|
+
* </Game>,
|
|
19
|
+
* document.querySelector('#root')
|
|
20
|
+
* )
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param jsx The jsx to create the game
|
|
24
|
+
* @param root Where the canvas will create
|
|
25
|
+
*/
|
|
26
|
+
export function createGame(jsx, root) {
|
|
27
|
+
if (root == null) {
|
|
28
|
+
throw new MissingGameRootError();
|
|
29
|
+
}
|
|
30
|
+
const jsxEl = getDinixElementFromNode(jsx);
|
|
31
|
+
if (jsxEl == null || jsxEl.type !== Game) {
|
|
32
|
+
throw new InvalidGameElementError();
|
|
33
|
+
}
|
|
34
|
+
const { children, defaultScene, ...setupOptions } = jsxEl.props;
|
|
35
|
+
GameP.setup({
|
|
36
|
+
...setupOptions,
|
|
37
|
+
root,
|
|
38
|
+
});
|
|
39
|
+
const scenes = getDinixNodesFromNode(children);
|
|
40
|
+
for (const scene of scenes) {
|
|
41
|
+
const sceneEl = getDinixElementFromNode(scene);
|
|
42
|
+
if (sceneEl?.type !== Scene) {
|
|
43
|
+
throw new MissingSceneError();
|
|
44
|
+
}
|
|
45
|
+
const { name, component } = sceneEl.props;
|
|
46
|
+
GameP.sceneManager.addScene(name, new SceneP(async () => {
|
|
47
|
+
return await SceneComponentToNode(component);
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
GameP.sceneManager.setScene(defaultScene);
|
|
51
|
+
GameP.play();
|
|
52
|
+
return {
|
|
53
|
+
play: () => GameP.play(),
|
|
54
|
+
pause: () => GameP.pause(),
|
|
55
|
+
changeScene: (name) => {
|
|
56
|
+
return GameP.sceneManager.setScene(name);
|
|
57
|
+
},
|
|
58
|
+
preloadScene: (name) => {
|
|
59
|
+
return GameP.sceneManager.preloadScene(name);
|
|
60
|
+
},
|
|
61
|
+
getSize() {
|
|
62
|
+
return new Vector2(GameConfig.width, GameConfig.height);
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async function SceneComponentToNode(component) {
|
|
67
|
+
const node = await component();
|
|
68
|
+
let nodesRendered;
|
|
69
|
+
if (node == null || typeof node === 'string' || typeof node === 'number' || 'type' in node) {
|
|
70
|
+
nodesRendered = renderToNodes(node);
|
|
71
|
+
}
|
|
72
|
+
else if (typeof node === 'function') {
|
|
73
|
+
nodesRendered = renderToNodes(node());
|
|
74
|
+
}
|
|
75
|
+
else if ('default' in node) {
|
|
76
|
+
nodesRendered = renderToNodes(node.default());
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
nodesRendered = renderToNodes(node);
|
|
80
|
+
}
|
|
81
|
+
if (nodesRendered.length !== 1 || !(nodesRendered[0] instanceof Node)) {
|
|
82
|
+
throw new InvalidSceneComponentError();
|
|
83
|
+
}
|
|
84
|
+
return nodesRendered[0];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=game.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/jsx/render/game.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jsx/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/jsx/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Dinix } from '../types';
|
|
2
|
+
import type { NodeInstances } from '../../nodes/lib/types.js';
|
|
3
|
+
import type { PrimaryNode } from '../../nodes/lib/enum.js';
|
|
4
|
+
/**
|
|
5
|
+
* The **`renderToNodes`** function takes a JSX element and converts it into an array of nodes that can be rendered in the game. It handles intrinsic elements (like 'node') and functional components, recursively processing any children elements as well.
|
|
6
|
+
* @param jsx The JSX element to be rendered into nodes. This can be a string, number, intrinsic element, functional component, or an array of JSX elements.
|
|
7
|
+
* @returns An array of nodes that have been rendered from the provided JSX element. If the input is null or undefined, it returns an empty array. If the input is a string or number, it also returns an empty array, as these types are not directly renderable as nodes.
|
|
8
|
+
*/
|
|
9
|
+
export declare function renderToNodes(jsx: Dinix.Node): NodeInstances[PrimaryNode][];
|
|
10
|
+
//# sourceMappingURL=to-nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-nodes.d.ts","sourceRoot":"","sources":["../../../src/jsx/render/to-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,EAAE,CA4B3E"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getNode } from '../../nodes/lib/registry.js';
|
|
2
|
+
import { Node } from '../../nodes/_node.js';
|
|
3
|
+
import { applyIntrinsicAttributesToNode, isIntrinsicElement } from './types/instrinsic-elements.js';
|
|
4
|
+
import { InvalidJSXElementTypeError, UnknownIntrinsicElementError } from '../../errors/jsx.js';
|
|
5
|
+
import { finishHooks, startHooks } from '../../hooks/context.js';
|
|
6
|
+
import { isClassComponent } from './types/class-component.js';
|
|
7
|
+
/**
|
|
8
|
+
* The **`renderToNodes`** function takes a JSX element and converts it into an array of nodes that can be rendered in the game. It handles intrinsic elements (like 'node') and functional components, recursively processing any children elements as well.
|
|
9
|
+
* @param jsx The JSX element to be rendered into nodes. This can be a string, number, intrinsic element, functional component, or an array of JSX elements.
|
|
10
|
+
* @returns An array of nodes that have been rendered from the provided JSX element. If the input is null or undefined, it returns an empty array. If the input is a string or number, it also returns an empty array, as these types are not directly renderable as nodes.
|
|
11
|
+
*/
|
|
12
|
+
export function renderToNodes(jsx) {
|
|
13
|
+
if (jsx == null)
|
|
14
|
+
return [];
|
|
15
|
+
if (typeof jsx === 'string')
|
|
16
|
+
return [];
|
|
17
|
+
if (typeof jsx === 'number')
|
|
18
|
+
return [];
|
|
19
|
+
if ('type' in jsx) {
|
|
20
|
+
if (typeof jsx.type === 'string') {
|
|
21
|
+
if (jsx.type === '') {
|
|
22
|
+
return renderToNodes(jsx.props.children); // Fragment
|
|
23
|
+
}
|
|
24
|
+
if (!isIntrinsicElement(jsx.type))
|
|
25
|
+
throw new UnknownIntrinsicElementError(jsx.type);
|
|
26
|
+
return [renderIntrinsicElement(jsx.type, jsx.props)];
|
|
27
|
+
}
|
|
28
|
+
if (typeof jsx.type === 'function') {
|
|
29
|
+
if (isClassComponent(jsx.type)) {
|
|
30
|
+
return [new jsx.type(jsx.props)].filter((node) => node instanceof Node);
|
|
31
|
+
}
|
|
32
|
+
return renderFuncComponent(jsx.type, jsx.props);
|
|
33
|
+
}
|
|
34
|
+
throw new InvalidJSXElementTypeError(jsx.type);
|
|
35
|
+
}
|
|
36
|
+
const arr = Array.from(jsx);
|
|
37
|
+
return arr.map((jsx) => renderToNodes(jsx)).flat();
|
|
38
|
+
}
|
|
39
|
+
function renderIntrinsicElement(nodeName, options) {
|
|
40
|
+
const node = getNode(nodeName, {
|
|
41
|
+
...options,
|
|
42
|
+
children: renderToNodes(options.children),
|
|
43
|
+
});
|
|
44
|
+
return applyIntrinsicAttributesToNode(node, options);
|
|
45
|
+
}
|
|
46
|
+
function renderFuncComponent(func, props) {
|
|
47
|
+
startHooks();
|
|
48
|
+
const node = renderToNodes(func(props));
|
|
49
|
+
finishHooks(node);
|
|
50
|
+
return node;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=to-nodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-nodes.js","sourceRoot":"","sources":["../../../src/jsx/render/to-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnG,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAE9F,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAG7D;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAe;IAC3C,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IAE1B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IAEtC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBACpB,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA,CAAC,WAAW;YACtD,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnF,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACrC,CAAC,IAAI,EAAgB,EAAE,CAAC,IAAI,YAAY,IAAI,CACb,CAAA;YACnC,CAAC;YACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;QACD,MAAM,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE3B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACpD,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAW,EACX,OAAmC;IAEnC,MAAM,IAAI,GAAG,OAAO,CAAwB,QAAiC,EAAE;QAC7E,GAAI,OAA0D;QAC9D,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC1C,CAAqB,CAAA;IAEtB,OAAO,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAkC,IAAO,EAAE,KAAuB;IAC5F,UAAU,EAAE,CAAA;IACZ,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,WAAW,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-component.d.ts","sourceRoot":"","sources":["../../../../src/jsx/render/types/class-component.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAIhE;AAED,KAAK,cAAc,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-component.js","sourceRoot":"","sources":["../../../../src/jsx/render/types/class-component.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IACvC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACvF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"func-components.d.ts","sourceRoot":"","sources":["../../../../src/jsx/render/types/func-components.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,aAAa,CAI9D;AAED,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"func-components.js","sourceRoot":"","sources":["../../../../src/jsx/render/types/func-components.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACtF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type NodeInstances } from '../../../nodes/lib/types.js';
|
|
2
|
+
import type { IntrinsicElement } from '../../types.js';
|
|
3
|
+
import type { PrimaryNode } from '../../../nodes/lib/enum.js';
|
|
4
|
+
export declare function isIntrinsicElement(obj: any): obj is PrimaryNode;
|
|
5
|
+
export declare function applyIntrinsicAttributesToNode<T extends PrimaryNode>(node: NodeInstances[T], opts: IntrinsicElement<T>): NodeInstances[T];
|
|
6
|
+
//# sourceMappingURL=instrinsic-elements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrinsic-elements.d.ts","sourceRoot":"","sources":["../../../../src/jsx/render/types/instrinsic-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,CAI/D;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,WAAW,EAClE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB,aAAa,CAAC,CAAC,CAAC,CAQlB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {} from '../../../nodes/lib/types.js';
|
|
2
|
+
import { Nodes } from '../../../nodes/lib/registry.js';
|
|
3
|
+
import { Event, getEventName } from '../../../events/event.js';
|
|
4
|
+
export function isIntrinsicElement(obj) {
|
|
5
|
+
if (typeof obj !== 'string')
|
|
6
|
+
return false;
|
|
7
|
+
if (!(obj in Nodes))
|
|
8
|
+
return false;
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
export function applyIntrinsicAttributesToNode(node, opts) {
|
|
12
|
+
if (opts.ref) {
|
|
13
|
+
opts.ref.node = node;
|
|
14
|
+
}
|
|
15
|
+
applyEvents(node, opts);
|
|
16
|
+
return node;
|
|
17
|
+
}
|
|
18
|
+
function applyEvents(node, opts) {
|
|
19
|
+
const events = new Map();
|
|
20
|
+
for (const key in node) {
|
|
21
|
+
if (!Object.hasOwn(node, key))
|
|
22
|
+
continue;
|
|
23
|
+
const el = node[key];
|
|
24
|
+
if (el instanceof Event) {
|
|
25
|
+
const k = getEventName(el.baseName);
|
|
26
|
+
events.set(k, el);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
for (const key in opts) {
|
|
30
|
+
if (!Object.hasOwn(opts, key))
|
|
31
|
+
continue;
|
|
32
|
+
const fn = opts[key];
|
|
33
|
+
if (typeof fn !== 'function')
|
|
34
|
+
continue;
|
|
35
|
+
const ev = events.get(key);
|
|
36
|
+
if (ev == null)
|
|
37
|
+
continue;
|
|
38
|
+
ev.on(fn);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=instrinsic-elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrinsic-elements.js","sourceRoot":"","sources":["../../../../src/jsx/render/types/instrinsic-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAI9D,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,IAAsB,EACtB,IAAyB;IAEzB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAEvB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAwB,IAAsB,EAAE,IAAyB;IAC3F,MAAM,MAAM,GAAsC,IAAI,GAAG,EAAE,CAAA;IAE3D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAQ;QAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpB,IAAI,EAAE,YAAY,KAAK,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAQ;QAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAwB,CAAC,CAAA;QAEzC,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,SAAQ;QAEtC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,EAAE,IAAI,IAAI;YAAE,SAAQ;QAExB,EAAE,CAAC,EAAE,CAAC,EAA+B,CAAC,CAAA;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Event } from '../events/event.js';
|
|
2
|
+
import type { NodeReference } from '../hooks/use-node.js';
|
|
3
|
+
import type { PrimaryNode } from '../nodes/lib/enum.js';
|
|
4
|
+
import type { NodeEvents, NodesOptions } from '../nodes/lib/types.js';
|
|
5
|
+
export declare namespace Dinix {
|
|
6
|
+
type Type = keyof JSX.IntrinsicElements | ((props: any) => any) | (new (props: any) => any);
|
|
7
|
+
interface Element<T extends Type = any> {
|
|
8
|
+
type: T;
|
|
9
|
+
props: PropsOf<T>;
|
|
10
|
+
}
|
|
11
|
+
type Node = Element<any> | string | number | null | undefined | Iterable<Node>;
|
|
12
|
+
type IntrinsicElements = {
|
|
13
|
+
[P in PrimaryNode]: IntrinsicElement<P>;
|
|
14
|
+
};
|
|
15
|
+
type WithChildren<T = {}> = Omit<T, 'children'> & {
|
|
16
|
+
children?: Node;
|
|
17
|
+
};
|
|
18
|
+
type PropsOf<T extends Type> = T extends keyof IntrinsicElements ? IntrinsicElements[T] : T extends (props: infer P) => Node ? P : never;
|
|
19
|
+
type Component<P = {}> = (props: P) => Node;
|
|
20
|
+
}
|
|
21
|
+
export type IntrinsicElement<T extends PrimaryNode> = {
|
|
22
|
+
/** The **`ref`** property can be used with the `useNode` hook.
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* const sprite = useNode(PrimaryNode.Sprite)
|
|
26
|
+
*
|
|
27
|
+
* return <sprite ref={sprite} />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
ref?: NodeReference<T>;
|
|
31
|
+
} & {
|
|
32
|
+
[P in keyof NodeEvents[T]]?: NonNullable<NodeEvents[T][P] extends Event<infer U, infer V> ? Event<U, V>['exampleFun'] : never>;
|
|
33
|
+
} & Dinix.WithChildren<NodesOptions[T]>;
|
|
34
|
+
declare global {
|
|
35
|
+
namespace JSX {
|
|
36
|
+
type Element = Dinix.Element;
|
|
37
|
+
interface IntrinsicElements extends Dinix.IntrinsicElements {
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jsx/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAErE,yBAAiB,KAAK,CAAC;IACrB,KAAY,IAAI,GAAG,MAAM,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;IAElG,UAAiB,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG;QAC3C,IAAI,EAAE,CAAC,CAAA;QACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAElB;IAED,KAAY,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAErF,KAAY,iBAAiB,GAAG;SAC7B,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC;KACxC,CAAA;IAED,KAAY,YAAY,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;QACvD,QAAQ,CAAC,EAAE,IAAI,CAAA;KAChB,CAAA;IAED,KAAY,OAAO,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,MAAM,iBAAiB,GACnE,iBAAiB,CAAC,CAAC,CAAC,GACpB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAChC,CAAC,GACD,KAAK,CAAA;IAEX,KAAY,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CACnD;AAGD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,IAAI;IACpD;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CACvB,GAAG;KACD,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CACtC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CACrF;CACF,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAGvC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,KAAK,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAE5B,UAAU,iBAAkB,SAAQ,KAAK,CAAC,iBAAiB;SAAG;KAC/D;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/jsx/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/jsx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,SAAS,CAKlF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAMnE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function getDinixElementFromNode(jsx) {
|
|
2
|
+
if (jsx == null || typeof jsx === 'string' || typeof jsx === 'number' || !('type' in jsx)) {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
return jsx;
|
|
6
|
+
}
|
|
7
|
+
export function getDinixNodesFromNode(jsx) {
|
|
8
|
+
if (jsx == null || typeof jsx === 'string' || typeof jsx === 'number' || 'type' in jsx) {
|
|
9
|
+
return [jsx];
|
|
10
|
+
}
|
|
11
|
+
if (Symbol.iterator in jsx)
|
|
12
|
+
return Array.from(jsx);
|
|
13
|
+
return getDinixNodesFromNode(jsx);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/jsx/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,GAAe;IACrD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1F,OAAM;IACR,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAe;IACnD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Fragment as FragmentComponent } from './jsx/components/fragment.js';
|
|
2
|
+
import { jsx as jsxFunc } from './jsx/jsx.js';
|
|
3
|
+
export declare const jsx: typeof jsxFunc;
|
|
4
|
+
export declare const jsxs: typeof jsxFunc;
|
|
5
|
+
export declare const Fragment: typeof FragmentComponent;
|
|
6
|
+
//# sourceMappingURL=jsx-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,GAAG,gBAAU,CAAA;AAC1B,eAAO,MAAM,IAAI,gBAAU,CAAA;AAC3B,eAAO,MAAM,QAAQ,0BAAoB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Fragment as FragmentComponent } from './jsx/components/fragment.js';
|
|
2
|
+
import { jsx as jsxFunc } from './jsx/jsx.js';
|
|
3
|
+
export const jsx = jsxFunc;
|
|
4
|
+
export const jsxs = jsxFunc;
|
|
5
|
+
export const Fragment = FragmentComponent;
|
|
6
|
+
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAA;AAC1B,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAA;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACtE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkC,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`Color`** type represents an RGBA color as a tuple `[r, g, b, a]`.
|
|
3
|
+
* Each channel ranges from `0` (no intensity) to `1` (full intensity).
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* const red: Color = [1, 0, 0, 1]
|
|
8
|
+
* const orange: Color = [1, 0.5, 0, 1]
|
|
9
|
+
* const transparentBlue: Color = [0, 0, 1, 0.5]
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export type Color = [number, number, number, number];
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/math/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/math/types.ts"],"names":[],"mappings":""}
|