@rafaelaugusto/jolt 0.1.0-beta.9 → 0.1.0-rc.2
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 +167 -21
- package/dist/animate.d.ts +25 -4
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +67 -26
- package/dist/animate.js.map +1 -1
- package/dist/blur/index.d.ts +6 -0
- package/dist/blur/index.d.ts.map +1 -0
- package/dist/blur/index.js +196 -0
- package/dist/blur/index.js.map +1 -0
- package/dist/blur/native.d.ts +17 -0
- package/dist/blur/native.d.ts.map +1 -0
- package/dist/blur/native.js +44 -0
- package/dist/blur/native.js.map +1 -0
- package/dist/blur/types.d.ts +32 -0
- package/dist/blur/types.d.ts.map +1 -0
- package/dist/blur/types.js +2 -0
- package/dist/blur/types.js.map +1 -0
- package/dist/bottom-sheet/geometry.d.ts +18 -0
- package/dist/bottom-sheet/geometry.d.ts.map +1 -0
- package/dist/bottom-sheet/geometry.js +51 -0
- package/dist/bottom-sheet/geometry.js.map +1 -0
- package/dist/bottom-sheet/index.d.ts +56 -0
- package/dist/bottom-sheet/index.d.ts.map +1 -0
- package/dist/bottom-sheet/index.js +462 -0
- package/dist/bottom-sheet/index.js.map +1 -0
- package/dist/bottom-sheet/native.d.ts +11 -0
- package/dist/bottom-sheet/native.d.ts.map +1 -0
- package/dist/bottom-sheet/native.js +173 -0
- package/dist/bottom-sheet/native.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +40 -1
- package/dist/config.js.map +1 -1
- package/dist/decay.d.ts +1 -0
- package/dist/decay.d.ts.map +1 -1
- package/dist/decay.js +7 -0
- package/dist/decay.js.map +1 -1
- package/dist/drag-physics.d.ts +6 -1
- package/dist/drag-physics.d.ts.map +1 -1
- package/dist/drag.d.ts +17 -3
- package/dist/drag.d.ts.map +1 -1
- package/dist/drag.js +34 -11
- package/dist/drag.js.map +1 -1
- package/dist/driver/android-gradient.d.ts +5 -0
- package/dist/driver/android-gradient.d.ts.map +1 -0
- package/dist/driver/android-gradient.js +99 -0
- package/dist/driver/android-gradient.js.map +1 -0
- package/dist/driver/android-particles.d.ts +6 -0
- package/dist/driver/android-particles.d.ts.map +1 -0
- package/dist/driver/android-particles.js +93 -0
- package/dist/driver/android-particles.js.map +1 -0
- package/dist/driver/android.d.ts.map +1 -1
- package/dist/driver/android.js +27 -1
- package/dist/driver/android.js.map +1 -1
- package/dist/driver/frame.d.ts +3 -0
- package/dist/driver/frame.d.ts.map +1 -0
- package/dist/driver/frame.js +7 -0
- package/dist/driver/frame.js.map +1 -0
- package/dist/driver/index.d.ts +4 -0
- package/dist/driver/index.d.ts.map +1 -1
- package/dist/driver/index.js.map +1 -1
- package/dist/driver/ios-gradient.d.ts +5 -0
- package/dist/driver/ios-gradient.d.ts.map +1 -0
- package/dist/driver/ios-gradient.js +131 -0
- package/dist/driver/ios-gradient.js.map +1 -0
- package/dist/driver/ios-scroll-delegate.d.ts +4 -0
- package/dist/driver/ios-scroll-delegate.d.ts.map +1 -0
- package/dist/driver/ios-scroll-delegate.js +26 -0
- package/dist/driver/ios-scroll-delegate.js.map +1 -0
- package/dist/driver/ios.d.ts.map +1 -1
- package/dist/driver/ios.js +9 -0
- package/dist/driver/ios.js.map +1 -1
- package/dist/easing.d.ts +3 -1
- package/dist/easing.d.ts.map +1 -1
- package/dist/easing.js +18 -1
- package/dist/easing.js.map +1 -1
- package/dist/engine.d.ts +31 -2
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +194 -42
- package/dist/engine.js.map +1 -1
- package/dist/gesture-native.d.ts +28 -0
- package/dist/gesture-native.d.ts.map +1 -0
- package/dist/gesture-native.js +61 -0
- package/dist/gesture-native.js.map +1 -0
- package/dist/gestures/index.d.ts +69 -0
- package/dist/gestures/index.d.ts.map +1 -0
- package/dist/gestures/index.js +262 -0
- package/dist/gestures/index.js.map +1 -0
- package/dist/glass/index.d.ts +55 -0
- package/dist/glass/index.d.ts.map +1 -0
- package/dist/glass/index.js +205 -0
- package/dist/glass/index.js.map +1 -0
- package/dist/gradient-binding.d.ts +38 -0
- package/dist/gradient-binding.d.ts.map +1 -0
- package/dist/gradient-binding.js +128 -0
- package/dist/gradient-binding.js.map +1 -0
- package/dist/gradient.d.ts +105 -0
- package/dist/gradient.d.ts.map +1 -0
- package/dist/gradient.js +514 -0
- package/dist/gradient.js.map +1 -0
- package/dist/gravity.d.ts +13 -0
- package/dist/gravity.d.ts.map +1 -0
- package/dist/gravity.js +84 -0
- package/dist/gravity.js.map +1 -0
- package/dist/haptics.d.ts.map +1 -1
- package/dist/haptics.js +101 -28
- package/dist/haptics.js.map +1 -1
- package/dist/image-effect.d.ts +1 -0
- package/dist/image-effect.d.ts.map +1 -1
- package/dist/image-effect.js +10 -2
- package/dist/image-effect.js.map +1 -1
- package/dist/index.d.ts +19 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/inspector/index.d.ts +86 -0
- package/dist/inspector/index.d.ts.map +1 -0
- package/dist/inspector/index.js +419 -0
- package/dist/inspector/index.js.map +1 -0
- package/dist/inspector/plot.d.ts +4 -0
- package/dist/inspector/plot.d.ts.map +1 -0
- package/dist/inspector/plot.js +23 -0
- package/dist/inspector/plot.js.map +1 -0
- package/dist/inspector/probe.d.ts +19 -0
- package/dist/inspector/probe.d.ts.map +1 -0
- package/dist/inspector/probe.js +37 -0
- package/dist/inspector/probe.js.map +1 -0
- package/dist/inspector/tuning.d.ts +19 -0
- package/dist/inspector/tuning.d.ts.map +1 -0
- package/dist/inspector/tuning.js +37 -0
- package/dist/inspector/tuning.js.map +1 -0
- package/dist/interactive-navigation/index.d.ts +44 -0
- package/dist/interactive-navigation/index.d.ts.map +1 -0
- package/dist/interactive-navigation/index.js +350 -0
- package/dist/interactive-navigation/index.js.map +1 -0
- package/dist/keyboard.d.ts +24 -0
- package/dist/keyboard.d.ts.map +1 -1
- package/dist/keyboard.js +199 -6
- package/dist/keyboard.js.map +1 -1
- package/dist/live-spring-driver.d.ts +52 -0
- package/dist/live-spring-driver.d.ts.map +1 -0
- package/dist/live-spring-driver.js +104 -0
- package/dist/live-spring-driver.js.map +1 -0
- package/dist/mixer.d.ts +55 -0
- package/dist/mixer.d.ts.map +1 -0
- package/dist/mixer.js +286 -0
- package/dist/mixer.js.map +1 -0
- package/dist/motion-scope.d.ts +8 -2
- package/dist/motion-scope.d.ts.map +1 -1
- package/dist/motion-scope.js +24 -3
- package/dist/motion-scope.js.map +1 -1
- package/dist/motion-states.d.ts +19 -7
- package/dist/motion-states.d.ts.map +1 -1
- package/dist/motion-states.js +116 -26
- package/dist/motion-states.js.map +1 -1
- package/dist/motion-value.d.ts +227 -0
- package/dist/motion-value.d.ts.map +1 -0
- package/dist/motion-value.js +1074 -0
- package/dist/motion-value.js.map +1 -0
- package/dist/native/index.d.ts +10 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +6 -0
- package/dist/native/index.js.map +1 -0
- package/dist/native-properties.d.ts +28 -0
- package/dist/native-properties.d.ts.map +1 -0
- package/dist/native-properties.js +154 -0
- package/dist/native-properties.js.map +1 -0
- package/dist/native-property-driver.d.ts +19 -0
- package/dist/native-property-driver.d.ts.map +1 -0
- package/dist/native-property-driver.js +69 -0
- package/dist/native-property-driver.js.map +1 -0
- package/dist/native-property.d.ts +37 -0
- package/dist/native-property.d.ts.map +1 -0
- package/dist/native-property.js +285 -0
- package/dist/native-property.js.map +1 -0
- package/dist/particles.d.ts +5 -2
- package/dist/particles.d.ts.map +1 -1
- package/dist/particles.js +16 -10
- package/dist/particles.js.map +1 -1
- package/dist/path.d.ts.map +1 -1
- package/dist/path.js +2 -2
- package/dist/path.js.map +1 -1
- package/dist/physics/index.d.ts +139 -0
- package/dist/physics/index.d.ts.map +1 -0
- package/dist/physics/index.js +316 -0
- package/dist/physics/index.js.map +1 -0
- package/dist/physics/native.d.ts +54 -0
- package/dist/physics/native.d.ts.map +1 -0
- package/dist/physics/native.js +64 -0
- package/dist/physics/native.js.map +1 -0
- package/dist/playback-group.d.ts.map +1 -1
- package/dist/playback-group.js +17 -1
- package/dist/playback-group.js.map +1 -1
- package/dist/playback.d.ts +15 -0
- package/dist/playback.d.ts.map +1 -1
- package/dist/playback.js +23 -0
- package/dist/playback.js.map +1 -1
- package/dist/predictive-back/index.d.ts +45 -0
- package/dist/predictive-back/index.d.ts.map +1 -0
- package/dist/predictive-back/index.js +220 -0
- package/dist/predictive-back/index.js.map +1 -0
- package/dist/predictive-back/presentation.d.ts +4 -0
- package/dist/predictive-back/presentation.d.ts.map +1 -0
- package/dist/predictive-back/presentation.js +3 -0
- package/dist/predictive-back/presentation.js.map +1 -0
- package/dist/press.d.ts.map +1 -1
- package/dist/press.js +11 -2
- package/dist/press.js.map +1 -1
- package/dist/reorder/handle.d.ts +6 -0
- package/dist/reorder/handle.d.ts.map +1 -0
- package/dist/reorder/handle.js +10 -0
- package/dist/reorder/handle.js.map +1 -0
- package/dist/reorder/index.d.ts +10 -0
- package/dist/reorder/index.d.ts.map +1 -0
- package/dist/reorder/index.js +233 -0
- package/dist/reorder/index.js.map +1 -0
- package/dist/reorder/list-view.d.ts +5 -0
- package/dist/reorder/list-view.d.ts.map +1 -0
- package/dist/reorder/list-view.js +238 -0
- package/dist/reorder/list-view.js.map +1 -0
- package/dist/reorder/model.d.ts +6 -0
- package/dist/reorder/model.d.ts.map +1 -0
- package/dist/reorder/model.js +30 -0
- package/dist/reorder/model.js.map +1 -0
- package/dist/reorder/surface.d.ts +6 -0
- package/dist/reorder/surface.d.ts.map +1 -0
- package/dist/reorder/surface.js +10 -0
- package/dist/reorder/surface.js.map +1 -0
- package/dist/reorder/types.d.ts +92 -0
- package/dist/reorder/types.d.ts.map +1 -0
- package/dist/reorder/types.js +2 -0
- package/dist/reorder/types.js.map +1 -0
- package/dist/sampling.d.ts +35 -0
- package/dist/sampling.d.ts.map +1 -0
- package/dist/sampling.js +123 -0
- package/dist/sampling.js.map +1 -0
- package/dist/scene-appearance.d.ts +14 -0
- package/dist/scene-appearance.d.ts.map +1 -0
- package/dist/scene-appearance.js +68 -0
- package/dist/scene-appearance.js.map +1 -0
- package/dist/scene-camera.d.ts +5 -0
- package/dist/scene-camera.d.ts.map +1 -0
- package/dist/scene-camera.js +23 -0
- package/dist/scene-camera.js.map +1 -0
- package/dist/scene-shader.d.ts +18 -0
- package/dist/scene-shader.d.ts.map +1 -0
- package/dist/scene-shader.js +76 -0
- package/dist/scene-shader.js.map +1 -0
- package/dist/scroll-header/geometry.d.ts +18 -0
- package/dist/scroll-header/geometry.d.ts.map +1 -0
- package/dist/scroll-header/geometry.js +46 -0
- package/dist/scroll-header/geometry.js.map +1 -0
- package/dist/scroll-header/index.d.ts +48 -0
- package/dist/scroll-header/index.d.ts.map +1 -0
- package/dist/scroll-header/index.js +399 -0
- package/dist/scroll-header/index.js.map +1 -0
- package/dist/scroll-header/native.d.ts +28 -0
- package/dist/scroll-header/native.d.ts.map +1 -0
- package/dist/scroll-header/native.js +43 -0
- package/dist/scroll-header/native.js.map +1 -0
- package/dist/sensors/index.d.ts +69 -0
- package/dist/sensors/index.d.ts.map +1 -0
- package/dist/sensors/index.js +149 -0
- package/dist/sensors/index.js.map +1 -0
- package/dist/sensors/native.d.ts +20 -0
- package/dist/sensors/native.d.ts.map +1 -0
- package/dist/sensors/native.js +48 -0
- package/dist/sensors/native.js.map +1 -0
- package/dist/sequence.d.ts +24 -0
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +181 -19
- package/dist/sequence.js.map +1 -1
- package/dist/shapes/android.d.ts +3 -0
- package/dist/shapes/android.d.ts.map +1 -0
- package/dist/shapes/android.js +51 -0
- package/dist/shapes/android.js.map +1 -0
- package/dist/shapes/index.d.ts +6 -0
- package/dist/shapes/index.d.ts.map +1 -0
- package/dist/shapes/index.js +238 -0
- package/dist/shapes/index.js.map +1 -0
- package/dist/shapes/ios.d.ts +3 -0
- package/dist/shapes/ios.d.ts.map +1 -0
- package/dist/shapes/ios.js +164 -0
- package/dist/shapes/ios.js.map +1 -0
- package/dist/shapes/native.d.ts +18 -0
- package/dist/shapes/native.d.ts.map +1 -0
- package/dist/shapes/native.js +10 -0
- package/dist/shapes/native.js.map +1 -0
- package/dist/shapes/path.d.ts +10 -0
- package/dist/shapes/path.d.ts.map +1 -0
- package/dist/shapes/path.js +106 -0
- package/dist/shapes/path.js.map +1 -0
- package/dist/shapes/types.d.ts +55 -0
- package/dist/shapes/types.d.ts.map +1 -0
- package/dist/shapes/types.js +11 -0
- package/dist/shapes/types.js.map +1 -0
- package/dist/shared-layout/index.d.ts +40 -0
- package/dist/shared-layout/index.d.ts.map +1 -0
- package/dist/shared-layout/index.js +267 -0
- package/dist/shared-layout/index.js.map +1 -0
- package/dist/shared-layout/native.d.ts +15 -0
- package/dist/shared-layout/native.d.ts.map +1 -0
- package/dist/shared-layout/native.js +79 -0
- package/dist/shared-layout/native.js.map +1 -0
- package/dist/shared-layout/timing.d.ts +9 -0
- package/dist/shared-layout/timing.d.ts.map +1 -0
- package/dist/shared-layout/timing.js +68 -0
- package/dist/shared-layout/timing.js.map +1 -0
- package/dist/shared-navigation/entry.d.ts +51 -0
- package/dist/shared-navigation/entry.d.ts.map +1 -0
- package/dist/shared-navigation/entry.js +619 -0
- package/dist/shared-navigation/entry.js.map +1 -0
- package/dist/shared-navigation/index.d.ts +58 -0
- package/dist/shared-navigation/index.d.ts.map +1 -0
- package/dist/shared-navigation/index.js +318 -0
- package/dist/shared-navigation/index.js.map +1 -0
- package/dist/shared-navigation/return-signal.d.ts +16 -0
- package/dist/shared-navigation/return-signal.d.ts.map +1 -0
- package/dist/shared-navigation/return-signal.js +35 -0
- package/dist/shared-navigation/return-signal.js.map +1 -0
- package/dist/shared-navigation/return-target.d.ts +32 -0
- package/dist/shared-navigation/return-target.d.ts.map +1 -0
- package/dist/shared-navigation/return-target.js +168 -0
- package/dist/shared-navigation/return-target.js.map +1 -0
- package/dist/shared-navigation/scope.d.ts +4 -0
- package/dist/shared-navigation/scope.d.ts.map +1 -0
- package/dist/shared-navigation/scope.js +2 -0
- package/dist/shared-navigation/scope.js.map +1 -0
- package/dist/shared-navigation/targets.d.ts +6 -0
- package/dist/shared-navigation/targets.d.ts.map +1 -0
- package/dist/shared-navigation/targets.js +36 -0
- package/dist/shared-navigation/targets.js.map +1 -0
- package/dist/size-layout.d.ts +19 -0
- package/dist/size-layout.d.ts.map +1 -0
- package/dist/size-layout.js +216 -0
- package/dist/size-layout.js.map +1 -0
- package/dist/size.d.ts +19 -0
- package/dist/size.d.ts.map +1 -0
- package/dist/size.js +251 -0
- package/dist/size.js.map +1 -0
- package/dist/spring.d.ts +2 -0
- package/dist/spring.d.ts.map +1 -1
- package/dist/spring.js +11 -0
- package/dist/spring.js.map +1 -1
- package/dist/svg-path.d.ts +18 -0
- package/dist/svg-path.d.ts.map +1 -1
- package/dist/svg-path.js +3 -2
- package/dist/svg-path.js.map +1 -1
- package/dist/testing/clock.d.ts +40 -0
- package/dist/testing/clock.d.ts.map +1 -0
- package/dist/testing/clock.js +116 -0
- package/dist/testing/clock.js.map +1 -0
- package/dist/testing/handoff-recorder.d.ts +8 -0
- package/dist/testing/handoff-recorder.d.ts.map +1 -0
- package/dist/testing/handoff-recorder.js +77 -0
- package/dist/testing/handoff-recorder.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/native.d.ts +46 -0
- package/dist/testing/native.d.ts.map +1 -0
- package/dist/testing/native.js +313 -0
- package/dist/testing/native.js.map +1 -0
- package/dist/testing/presentation.d.ts +11 -0
- package/dist/testing/presentation.d.ts.map +1 -0
- package/dist/testing/presentation.js +45 -0
- package/dist/testing/presentation.js.map +1 -0
- package/dist/testing/replay.d.ts +39 -0
- package/dist/testing/replay.d.ts.map +1 -0
- package/dist/testing/replay.js +99 -0
- package/dist/testing/replay.js.map +1 -0
- package/dist/testing/scroll-handoff-native.d.ts +10 -0
- package/dist/testing/scroll-handoff-native.d.ts.map +1 -0
- package/dist/testing/scroll-handoff-native.js +151 -0
- package/dist/testing/scroll-handoff-native.js.map +1 -0
- package/dist/testing/scroll-handoff.d.ts +25 -0
- package/dist/testing/scroll-handoff.d.ts.map +1 -0
- package/dist/testing/scroll-handoff.js +127 -0
- package/dist/testing/scroll-handoff.js.map +1 -0
- package/dist/testing/sensors.d.ts +13 -0
- package/dist/testing/sensors.d.ts.map +1 -0
- package/dist/testing/sensors.js +26 -0
- package/dist/testing/sensors.js.map +1 -0
- package/dist/testing/trace.d.ts +101 -0
- package/dist/testing/trace.d.ts.map +1 -0
- package/dist/testing/trace.js +263 -0
- package/dist/testing/trace.js.map +1 -0
- package/dist/timed-animation.d.ts +38 -0
- package/dist/timed-animation.d.ts.map +1 -0
- package/dist/timed-animation.js +177 -0
- package/dist/timed-animation.js.map +1 -0
- package/dist/track.d.ts +3 -0
- package/dist/track.d.ts.map +1 -1
- package/dist/track.js +281 -40
- package/dist/track.js.map +1 -1
- package/dist/transition.d.ts +54 -2
- package/dist/transition.d.ts.map +1 -1
- package/dist/transition.js +128 -8
- package/dist/transition.js.map +1 -1
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/value-observers.d.ts +22 -0
- package/dist/value-observers.d.ts.map +1 -0
- package/dist/value-observers.js +122 -0
- package/dist/value-observers.js.map +1 -0
- package/dist/value-track.d.ts +13 -0
- package/dist/value-track.d.ts.map +1 -0
- package/dist/value-track.js +59 -0
- package/dist/value-track.js.map +1 -0
- package/dist/vue/index.d.ts +33 -3
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js +118 -3
- package/dist/vue/index.js.map +1 -1
- package/dist/zoomable.d.ts +1 -1
- package/dist/zoomable.d.ts.map +1 -1
- package/package.json +68 -3
- package/platforms/android/include.gradle +10 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/BlurEffect.java +89 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/CircleMath.java +158 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/CircleWorld.java +221 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/GestureSession.java +227 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/GestureSurface.java +54 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/GradientLayer.java +224 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardFrame.java +53 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardFrameFollower.java +57 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardObserver.java +97 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/LiveSpring.java +277 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/MotionProbe.java +70 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ParticleEmitter.java +192 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ParticleSimulation.java +114 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/PredictiveBackSession.java +212 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ReorderHandle.java +25 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ReorderSession.java +213 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ReorderSurface.java +27 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ScrollHeader.java +84 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/SensorMath.java +28 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/SensorSource.java +217 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/ShapeLayer.java +120 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/SharedLayoutFlight.java +287 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/SharedNavigationScene.java +115 -0
- package/platforms/android/java/org/rafaelaugusto/jolt/SpringState.java +39 -0
- package/platforms/android/proguard-rules.pro +20 -0
- package/platforms/ios/build.xcconfig +1 -1
- package/platforms/ios/src/JoltBlur.h +14 -0
- package/platforms/ios/src/JoltBlur.m +86 -0
- package/platforms/ios/src/JoltCircleMath.h +191 -0
- package/platforms/ios/src/JoltCircleWorld.h +18 -0
- package/platforms/ios/src/JoltCircleWorld.m +218 -0
- package/platforms/ios/src/JoltGestureSession.h +23 -0
- package/platforms/ios/src/JoltGestureSession.m +251 -0
- package/platforms/ios/src/JoltInteractiveNavigation.h +23 -0
- package/platforms/ios/src/JoltInteractiveNavigation.m +255 -0
- package/platforms/ios/src/JoltLiveSpring.h +29 -0
- package/platforms/ios/src/JoltLiveSpring.m +243 -0
- package/platforms/ios/src/JoltMotionProbe.h +9 -0
- package/platforms/ios/src/JoltMotionProbe.m +72 -0
- package/platforms/ios/src/JoltReorderSession.h +15 -0
- package/platforms/ios/src/JoltReorderSession.m +205 -0
- package/platforms/ios/src/JoltScrollHeader.h +13 -0
- package/platforms/ios/src/JoltScrollHeader.m +101 -0
- package/platforms/ios/src/JoltSensorMath.h +39 -0
- package/platforms/ios/src/JoltSensorSource.h +13 -0
- package/platforms/ios/src/JoltSensorSource.m +201 -0
- package/platforms/ios/src/JoltSharedLayoutFlight.h +19 -0
- package/platforms/ios/src/JoltSharedLayoutFlight.m +250 -0
- package/platforms/ios/src/JoltSpringState.h +35 -0
- package/platforms/ios/src/module.modulemap +10 -0
- package/src/android-plugin.d.ts +464 -0
- package/src/animate.ts +129 -15
- package/src/blur/index.ts +195 -0
- package/src/blur/native.ts +70 -0
- package/src/blur/types.ts +32 -0
- package/src/bottom-sheet/geometry.ts +84 -0
- package/src/bottom-sheet/index.ts +536 -0
- package/src/bottom-sheet/native.ts +214 -0
- package/src/config.ts +39 -1
- package/src/decay.ts +9 -0
- package/src/drag.ts +67 -21
- package/src/driver/android-gradient.ts +116 -0
- package/src/driver/android-particles.ts +118 -0
- package/src/driver/android.ts +31 -1
- package/src/driver/frame.ts +10 -0
- package/src/driver/index.ts +4 -0
- package/src/driver/ios-gradient.ts +136 -0
- package/src/driver/ios-scroll-delegate.ts +23 -0
- package/src/driver/ios.ts +10 -0
- package/src/easing.ts +21 -1
- package/src/engine.ts +209 -60
- package/src/gesture-native.ts +139 -0
- package/src/gestures/index.ts +365 -0
- package/src/glass/index.ts +218 -0
- package/src/gradient-binding.ts +158 -0
- package/src/gradient.ts +663 -0
- package/src/gravity.ts +107 -0
- package/src/haptics.ts +106 -28
- package/src/image-effect.ts +10 -2
- package/src/index.ts +56 -7
- package/src/inspector/index.ts +523 -0
- package/src/inspector/plot.ts +27 -0
- package/src/inspector/probe.ts +50 -0
- package/src/inspector/tuning.ts +51 -0
- package/src/interactive-navigation/index.ts +427 -0
- package/src/ios-plugin.d.ts +280 -0
- package/src/keyboard.ts +231 -7
- package/src/live-spring-driver.ts +181 -0
- package/src/mixer.ts +312 -0
- package/src/motion-scope.ts +39 -6
- package/src/motion-states.ts +149 -42
- package/src/motion-value.ts +1289 -0
- package/src/native/index.ts +30 -0
- package/src/native-properties.ts +188 -0
- package/src/native-property-driver.ts +123 -0
- package/src/native-property.ts +366 -0
- package/src/particles.ts +18 -17
- package/src/path.ts +2 -1
- package/src/physics/index.ts +476 -0
- package/src/physics/native.ts +121 -0
- package/src/playback-group.ts +17 -1
- package/src/playback.ts +41 -0
- package/src/predictive-back/index.ts +280 -0
- package/src/predictive-back/presentation.ts +6 -0
- package/src/press.ts +10 -2
- package/src/reorder/handle.ts +9 -0
- package/src/reorder/index.ts +243 -0
- package/src/reorder/list-view.ts +262 -0
- package/src/reorder/model.ts +47 -0
- package/src/reorder/surface.ts +10 -0
- package/src/reorder/types.ts +87 -0
- package/src/sampling.ts +173 -0
- package/src/scene-appearance.ts +92 -0
- package/src/scene-camera.ts +30 -0
- package/src/scene-shader.ts +139 -0
- package/src/scroll-header/geometry.ts +88 -0
- package/src/scroll-header/index.ts +530 -0
- package/src/scroll-header/native.ts +89 -0
- package/src/sensors/index.ts +246 -0
- package/src/sensors/native.ts +72 -0
- package/src/sequence.ts +209 -20
- package/src/shapes/android.ts +63 -0
- package/src/shapes/index.ts +267 -0
- package/src/shapes/ios.ts +194 -0
- package/src/shapes/native.ts +27 -0
- package/src/shapes/path.ts +127 -0
- package/src/shapes/types.ts +63 -0
- package/src/shared-layout/index.ts +343 -0
- package/src/shared-layout/native.ts +138 -0
- package/src/shared-layout/timing.ts +87 -0
- package/src/shared-navigation/entry.ts +695 -0
- package/src/shared-navigation/index.ts +414 -0
- package/src/shared-navigation/return-signal.ts +41 -0
- package/src/shared-navigation/return-target.ts +197 -0
- package/src/shared-navigation/scope.ts +3 -0
- package/src/shared-navigation/targets.ts +38 -0
- package/src/size-layout.ts +237 -0
- package/src/size.ts +302 -0
- package/src/spring.ts +18 -0
- package/src/svg-path.ts +8 -3
- package/src/testing/clock.ts +128 -0
- package/src/testing/handoff-recorder.ts +98 -0
- package/src/testing/index.ts +4 -0
- package/src/testing/native.ts +386 -0
- package/src/testing/presentation.ts +46 -0
- package/src/testing/replay.ts +149 -0
- package/src/testing/scroll-handoff-native.ts +201 -0
- package/src/testing/scroll-handoff.ts +140 -0
- package/src/testing/sensors.ts +41 -0
- package/src/testing/trace.ts +340 -0
- package/src/timed-animation.ts +192 -0
- package/src/track.ts +334 -38
- package/src/transition.ts +197 -9
- package/src/types.ts +11 -1
- package/src/value-observers.ts +147 -0
- package/src/value-track.ts +71 -0
- package/src/vue/index.ts +147 -1
- package/src/zoomable.ts +1 -1
package/dist/size.js
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { Application } from '@nativescript/core';
|
|
2
|
+
import { toView } from './animate.js';
|
|
3
|
+
import { onReducedMotion, reducedMotion } from './config.js';
|
|
4
|
+
import { getDriver } from './driver/index.js';
|
|
5
|
+
import { createClock } from './playback.js';
|
|
6
|
+
import { createTrack } from './track.js';
|
|
7
|
+
import { resolveTransition, springs, } from './transition.js';
|
|
8
|
+
import { dimension, sizeLayout, } from './size-layout.js';
|
|
9
|
+
const owners = new WeakMap();
|
|
10
|
+
export function animateSize(target, dimensions, changeOrOptions, options) {
|
|
11
|
+
const view = toView(target);
|
|
12
|
+
if (!dimensions || typeof dimensions !== 'object' || Array.isArray(dimensions))
|
|
13
|
+
throw new TypeError('animateSize takes a width/height object.');
|
|
14
|
+
const axes = Object.keys(dimensions);
|
|
15
|
+
if (!axes.length || axes.some((axis) => axis !== 'width' && axis !== 'height'))
|
|
16
|
+
throw new TypeError('animateSize needs width and/or height.');
|
|
17
|
+
for (const axis of axes)
|
|
18
|
+
dimension(dimensions[axis], axis);
|
|
19
|
+
const destination = { ...dimensions };
|
|
20
|
+
const change = typeof changeOrOptions === 'function' ? changeOrOptions : undefined;
|
|
21
|
+
if (change?.constructor.name === 'AsyncFunction')
|
|
22
|
+
throw new TypeError('animateSize changes must be synchronous.');
|
|
23
|
+
const transition = normalize(change ? options : changeOrOptions);
|
|
24
|
+
// Solve before ownership changes, including custom easing/physical-spring validation.
|
|
25
|
+
const validation = createTrack('x', [0, 100], transition, 0);
|
|
26
|
+
if (!Number.isFinite(validation.end) || !validation.values.every(Number.isFinite))
|
|
27
|
+
throw new RangeError('animateSize needs a finite curve with finite samples.');
|
|
28
|
+
const previous = owners.get(view);
|
|
29
|
+
const driver = getDriver();
|
|
30
|
+
const layout = sizeLayout(view, axes, previous?.axes, () => {
|
|
31
|
+
const frame = driver.layoutFrame?.(view);
|
|
32
|
+
return frame ? { width: frame.width, height: frame.height } : view.getActualSize();
|
|
33
|
+
});
|
|
34
|
+
// Release the previous overlay only after every caller-supplied input was validated.
|
|
35
|
+
const start = layout.read();
|
|
36
|
+
previous?.animation.stop({ restore: true });
|
|
37
|
+
let resolve;
|
|
38
|
+
let reject;
|
|
39
|
+
const finished = new Promise((done, fail) => {
|
|
40
|
+
resolve = done;
|
|
41
|
+
reject = fail;
|
|
42
|
+
});
|
|
43
|
+
let settled = false;
|
|
44
|
+
let paused = false;
|
|
45
|
+
let initialized = false;
|
|
46
|
+
let cancelFrame;
|
|
47
|
+
let unwatch;
|
|
48
|
+
let clock;
|
|
49
|
+
let tracks = new Map();
|
|
50
|
+
let endpoint;
|
|
51
|
+
const cleanup = () => {
|
|
52
|
+
cancelFrame?.();
|
|
53
|
+
cancelFrame = undefined;
|
|
54
|
+
clock?.cancel();
|
|
55
|
+
clock = undefined;
|
|
56
|
+
unwatch?.();
|
|
57
|
+
layout.dispose();
|
|
58
|
+
view.off('unloaded', unloaded);
|
|
59
|
+
Application.off(Application.suspendEvent, unloaded);
|
|
60
|
+
if (owners.get(view)?.animation === animation)
|
|
61
|
+
owners.delete(view);
|
|
62
|
+
};
|
|
63
|
+
const finish = (success, error) => {
|
|
64
|
+
if (settled)
|
|
65
|
+
return;
|
|
66
|
+
settled = true;
|
|
67
|
+
cleanup();
|
|
68
|
+
if (error !== undefined)
|
|
69
|
+
reject(error);
|
|
70
|
+
else
|
|
71
|
+
resolve(success);
|
|
72
|
+
};
|
|
73
|
+
const complete = () => {
|
|
74
|
+
layout.commit(destination);
|
|
75
|
+
layout.layout();
|
|
76
|
+
finish(true);
|
|
77
|
+
};
|
|
78
|
+
const stop = (restore = false) => {
|
|
79
|
+
if (settled)
|
|
80
|
+
return;
|
|
81
|
+
layout.commit(restore ? undefined : layout.read());
|
|
82
|
+
finish(false);
|
|
83
|
+
view.requestLayout();
|
|
84
|
+
};
|
|
85
|
+
function unloaded() {
|
|
86
|
+
stop(true);
|
|
87
|
+
}
|
|
88
|
+
const schedule = () => {
|
|
89
|
+
if (!cancelFrame && !settled && !paused)
|
|
90
|
+
cancelFrame = driver.frame(tick);
|
|
91
|
+
};
|
|
92
|
+
function tick() {
|
|
93
|
+
cancelFrame = undefined;
|
|
94
|
+
if (settled || paused)
|
|
95
|
+
return;
|
|
96
|
+
try {
|
|
97
|
+
if (!view.isLoaded || view.visibility === 'collapse' || !view.nativeViewProtected) {
|
|
98
|
+
stop(true);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const next = layout.measure(destination);
|
|
102
|
+
if (settled)
|
|
103
|
+
return;
|
|
104
|
+
if (axes.some((axis) => !Number.isFinite(next[axis]) || next[axis] < 0))
|
|
105
|
+
throw new Error('animateSize measured an invalid native size.');
|
|
106
|
+
if (reducedMotion()) {
|
|
107
|
+
complete();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (!initialized &&
|
|
111
|
+
axes.every((axis) => Math.abs(next[axis] - start[axis]) < 0.5)) {
|
|
112
|
+
complete();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const elapsed = clock?.time() ?? 0;
|
|
116
|
+
if (!endpoint ||
|
|
117
|
+
axes.some((axis) => Math.abs(next[axis] - endpoint[axis]) > 0.5)) {
|
|
118
|
+
const from = initialized ? layout.read() : start;
|
|
119
|
+
const fresh = new Map();
|
|
120
|
+
for (const axis of axes)
|
|
121
|
+
fresh.set(axis, createTrack('x', [from[axis], next[axis]], initialized ? { ...transition, delay: 0 } : transition, tracks.get(axis)?.velocityAt(elapsed) ?? 0));
|
|
122
|
+
tracks = fresh;
|
|
123
|
+
endpoint = next;
|
|
124
|
+
clock?.cancel();
|
|
125
|
+
const end = Math.max(...[...tracks.values()].map((track) => track.end));
|
|
126
|
+
clock = driver.clock?.(end) ?? createClock(() => driver.now());
|
|
127
|
+
initialized = true;
|
|
128
|
+
}
|
|
129
|
+
const time = clock.time();
|
|
130
|
+
if ([...tracks.values()].every((track) => time >= track.end)) {
|
|
131
|
+
complete();
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const values = {};
|
|
135
|
+
for (const [axis, track] of tracks)
|
|
136
|
+
values[axis] = Math.max(0, track.valueAt(time));
|
|
137
|
+
layout.write(values);
|
|
138
|
+
layout.layout();
|
|
139
|
+
if (settled)
|
|
140
|
+
return;
|
|
141
|
+
schedule();
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
layout.commit();
|
|
145
|
+
view.requestLayout();
|
|
146
|
+
finish(false, error);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const animation = {
|
|
150
|
+
finished,
|
|
151
|
+
then: (done, fail) => finished.then(done, fail),
|
|
152
|
+
get paused() {
|
|
153
|
+
return paused;
|
|
154
|
+
},
|
|
155
|
+
stop: (options) => stop(options?.restore === true),
|
|
156
|
+
pause() {
|
|
157
|
+
if (settled || paused)
|
|
158
|
+
return;
|
|
159
|
+
paused = true;
|
|
160
|
+
clock?.pause();
|
|
161
|
+
cancelFrame?.();
|
|
162
|
+
cancelFrame = undefined;
|
|
163
|
+
},
|
|
164
|
+
play() {
|
|
165
|
+
if (settled || !paused)
|
|
166
|
+
return;
|
|
167
|
+
paused = false;
|
|
168
|
+
clock?.play();
|
|
169
|
+
schedule();
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
owners.set(view, { animation, axes });
|
|
173
|
+
try {
|
|
174
|
+
layout.watch(() => stop(true));
|
|
175
|
+
layout.write(start);
|
|
176
|
+
view.on('unloaded', unloaded);
|
|
177
|
+
Application.on(Application.suspendEvent, unloaded);
|
|
178
|
+
unwatch = onReducedMotion((reduced) => {
|
|
179
|
+
if (reduced && !settled) {
|
|
180
|
+
try {
|
|
181
|
+
complete();
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
finish(false, error);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
const result = change?.();
|
|
189
|
+
if (result && typeof result.then === 'function')
|
|
190
|
+
throw new TypeError('animateSize changes must be synchronous.');
|
|
191
|
+
if (!view.isLoaded || view.visibility === 'collapse' || !layout.ready()) {
|
|
192
|
+
layout.commit(destination);
|
|
193
|
+
finish(false);
|
|
194
|
+
}
|
|
195
|
+
else
|
|
196
|
+
schedule();
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
stop(true);
|
|
200
|
+
throw error;
|
|
201
|
+
}
|
|
202
|
+
return animation;
|
|
203
|
+
}
|
|
204
|
+
function normalize(input) {
|
|
205
|
+
if (typeof input === 'string') {
|
|
206
|
+
if (!Object.hasOwn(springs, input))
|
|
207
|
+
throw new TypeError(`Unknown size spring "${input}".`);
|
|
208
|
+
input = springs[input];
|
|
209
|
+
}
|
|
210
|
+
if (input !== undefined &&
|
|
211
|
+
(!input || typeof input !== 'object' || Array.isArray(input)))
|
|
212
|
+
throw new TypeError('Invalid animateSize options.');
|
|
213
|
+
const allowed = new Set([
|
|
214
|
+
'type',
|
|
215
|
+
'duration',
|
|
216
|
+
'ease',
|
|
217
|
+
'stiffness',
|
|
218
|
+
'damping',
|
|
219
|
+
'mass',
|
|
220
|
+
'bounce',
|
|
221
|
+
'velocity',
|
|
222
|
+
'delay',
|
|
223
|
+
]);
|
|
224
|
+
for (const [key, value] of Object.entries(input ?? {})) {
|
|
225
|
+
if (!allowed.has(key))
|
|
226
|
+
throw new TypeError(`Unsupported animateSize option "${key}"; repeat and seek are not supported.`);
|
|
227
|
+
if (value === undefined)
|
|
228
|
+
continue;
|
|
229
|
+
if (key !== 'type' &&
|
|
230
|
+
key !== 'ease' &&
|
|
231
|
+
(typeof value !== 'number' || !Number.isFinite(value)))
|
|
232
|
+
throw new RangeError(`animateSize ${key} must be finite.`);
|
|
233
|
+
if (key === 'type' && value !== 'spring' && value !== 'tween')
|
|
234
|
+
throw new TypeError('Invalid size transition type.');
|
|
235
|
+
if (typeof value === 'number') {
|
|
236
|
+
if (['duration', 'delay', 'damping'].includes(key) && value < 0)
|
|
237
|
+
throw new RangeError(`${key} must be nonnegative.`);
|
|
238
|
+
if (['mass', 'stiffness'].includes(key) && value <= 0)
|
|
239
|
+
throw new RangeError(`${key} must be positive.`);
|
|
240
|
+
if (key === 'bounce' && (value < -1 || value > 1))
|
|
241
|
+
throw new RangeError('bounce must be between -1 and 1.');
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const resolved = resolveTransition(input ?? {}, 'x', 2);
|
|
245
|
+
if (resolved.curve.type === 'spring' &&
|
|
246
|
+
input?.duration === 0 &&
|
|
247
|
+
!('stiffness' in input || 'damping' in input || 'mass' in input))
|
|
248
|
+
throw new RangeError('Use a zero-duration tween for immediate sizing.');
|
|
249
|
+
return resolved;
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=size.js.map
|
package/dist/size.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.js","sourceRoot":"","sources":["../src/size.ts"],"names":[],"mappings":"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"}
|
package/dist/spring.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface SpringMotion {
|
|
|
16
16
|
position(time: number): number;
|
|
17
17
|
/** Units per second. */
|
|
18
18
|
velocity(time: number): number;
|
|
19
|
+
/** Conservative linear interpolation error, including the final settlement snap. */
|
|
20
|
+
interpolationError(start: number, end: number): number;
|
|
19
21
|
}
|
|
20
22
|
export declare function springPhysics({ stiffness, damping, mass, bounce, duration, }: SpringParams): SpringPhysics;
|
|
21
23
|
export declare function solveSpring({ stiffness, damping, mass }: SpringPhysics, from: number, to: number, velocity: number, precision: number): SpringMotion;
|
package/dist/spring.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../src/spring.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../src/spring.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,oFAAoF;IACpF,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACvD;AAKD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,OAAO,EACP,IAAI,EACJ,MAAM,EACN,QAAQ,GACT,EAAE,YAAY,GAAG,aAAa,CAW9B;AAED,wBAAgB,WAAW,CACzB,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,aAAa,EAC3C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,YAAY,CA4Dd"}
|
package/dist/spring.js
CHANGED
|
@@ -16,14 +16,21 @@ export function solveSpring({ stiffness, damping, mass }, from, to, velocity, pr
|
|
|
16
16
|
const w0 = Math.sqrt(stiffness / mass);
|
|
17
17
|
const zeta = damping / (2 * Math.sqrt(stiffness * mass));
|
|
18
18
|
let displacement;
|
|
19
|
+
let accelerationBound;
|
|
19
20
|
if (Math.abs(zeta - 1) < 1e-6) {
|
|
20
21
|
const b = velocity + w0 * x0;
|
|
21
22
|
displacement = (t) => Math.exp(-w0 * t) * (x0 + b * t);
|
|
23
|
+
accelerationBound = (a, end) => Math.exp(-w0 * a) *
|
|
24
|
+
(Math.abs(w0 * w0 * (x0 + b * a) - 2 * w0 * b) +
|
|
25
|
+
w0 * w0 * Math.abs(b) * Math.min(end - a, 1 / (Math.E * w0)));
|
|
22
26
|
}
|
|
23
27
|
else if (zeta < 1) {
|
|
24
28
|
const wd = w0 * Math.sqrt(1 - zeta * zeta);
|
|
25
29
|
const b = (velocity + zeta * w0 * x0) / wd;
|
|
26
30
|
displacement = (t) => Math.exp(-zeta * w0 * t) * (x0 * Math.cos(wd * t) + b * Math.sin(wd * t));
|
|
31
|
+
const alpha = zeta * w0, q = alpha * alpha - wd * wd;
|
|
32
|
+
const amplitude = Math.hypot(q * x0 - 2 * alpha * wd * b, q * b + 2 * alpha * wd * x0);
|
|
33
|
+
accelerationBound = (a, end) => amplitude * Math.max(Math.exp(-alpha * a), Math.exp(-alpha * end));
|
|
27
34
|
}
|
|
28
35
|
else {
|
|
29
36
|
const s = w0 * Math.sqrt(zeta * zeta - 1);
|
|
@@ -32,6 +39,8 @@ export function solveSpring({ stiffness, damping, mass }, from, to, velocity, pr
|
|
|
32
39
|
const c1 = (velocity - r2 * x0) / (r1 - r2);
|
|
33
40
|
const c2 = x0 - c1;
|
|
34
41
|
displacement = (t) => c1 * Math.exp(r1 * t) + c2 * Math.exp(r2 * t);
|
|
42
|
+
accelerationBound = (a, end) => Math.abs(c1 * r1 * r1) * Math.max(Math.exp(r1 * a), Math.exp(r1 * end)) +
|
|
43
|
+
Math.abs(c2 * r2 * r2) * Math.max(Math.exp(r2 * a), Math.exp(r2 * end));
|
|
35
44
|
}
|
|
36
45
|
const position = (time) => to + displacement(time / 1000);
|
|
37
46
|
const speed = (time) => {
|
|
@@ -49,6 +58,8 @@ export function solveSpring({ stiffness, damping, mass }, from, to, velocity, pr
|
|
|
49
58
|
duration,
|
|
50
59
|
position: (time) => (time >= duration ? to : position(time)),
|
|
51
60
|
velocity: (time) => (time >= duration ? 0 : speed(time)),
|
|
61
|
+
interpolationError: (start, end) => (accelerationBound(start / 1000, end / 1000) * ((end - start) / 1000) ** 2) / 8 +
|
|
62
|
+
(end >= duration ? Math.abs(displacement(duration / 1000)) : 0),
|
|
52
63
|
};
|
|
53
64
|
}
|
|
54
65
|
//# sourceMappingURL=spring.js.map
|
package/dist/spring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spring.js","sourceRoot":"","sources":["../src/spring.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spring.js","sourceRoot":"","sources":["../src/spring.ts"],"names":[],"mappings":"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"}
|
package/dist/svg-path.d.ts
CHANGED
|
@@ -6,9 +6,27 @@ export interface PathPoint {
|
|
|
6
6
|
export interface PathPose extends PathPoint {
|
|
7
7
|
rotate: number;
|
|
8
8
|
}
|
|
9
|
+
type Segment = {
|
|
10
|
+
point(t: number): PathPoint;
|
|
11
|
+
tangent(t: number): PathPoint;
|
|
12
|
+
angle?: number;
|
|
13
|
+
};
|
|
9
14
|
export interface MotionPath {
|
|
10
15
|
readonly length: number;
|
|
11
16
|
at(progress: number): PathPose;
|
|
12
17
|
}
|
|
18
|
+
export declare class Scanner {
|
|
19
|
+
readonly text: string;
|
|
20
|
+
index: number;
|
|
21
|
+
private hasNumber;
|
|
22
|
+
constructor(text: string);
|
|
23
|
+
peek(): string | undefined;
|
|
24
|
+
command(): string;
|
|
25
|
+
number(flag?: boolean): number;
|
|
26
|
+
error(): never;
|
|
27
|
+
}
|
|
28
|
+
/** Endpoint-to-center conversion: https://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter */
|
|
29
|
+
export declare function arc(a: PathPoint, b: PathPoint, rx: number, ry: number, degrees: number, large: boolean, sweep: boolean): Segment;
|
|
13
30
|
export declare function parsePath(data: string): MotionPath;
|
|
31
|
+
export {};
|
|
14
32
|
//# sourceMappingURL=svg-path.d.ts.map
|
package/dist/svg-path.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-path.d.ts","sourceRoot":"","sources":["../src/svg-path.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AACD,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;
|
|
1
|
+
{"version":3,"file":"svg-path.d.ts","sourceRoot":"","sources":["../src/svg-path.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AACD,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,KAAK,OAAO,GAAG;IACb,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAOD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAA;CAC/B;AAkBD,qBAAa,OAAO;IAGN,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,KAAK,SAAI;IACT,OAAO,CAAC,SAAS,CAAQ;IACzB,YAAqB,IAAI,EAAE,MAAM,EAAI;IACrC,IAAI,uBAGH;IACD,OAAO,WAKN;IACD,MAAM,CAAC,IAAI,UAAQ,UAkBlB;IACD,KAAK,IAAI,KAAK,CAEb;CACF;AAkBD,2GAA2G;AAC3G,wBAAgB,GAAG,CACjB,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,EACZ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAiDT;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAyFlD"}
|
package/dist/svg-path.js
CHANGED
|
@@ -13,7 +13,7 @@ const checked = (p) => {
|
|
|
13
13
|
return p;
|
|
14
14
|
};
|
|
15
15
|
const unwrap = (angle, reference) => angle + 360 * Math.round((reference - angle) / 360);
|
|
16
|
-
class Scanner {
|
|
16
|
+
export class Scanner {
|
|
17
17
|
text;
|
|
18
18
|
index = 0;
|
|
19
19
|
hasNumber = false;
|
|
@@ -73,7 +73,7 @@ function bezier(points) {
|
|
|
73
73
|
return { point: (t) => evaluate(points, t), tangent: (t) => evaluate(derivative, t) };
|
|
74
74
|
}
|
|
75
75
|
/** Endpoint-to-center conversion: https://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter */
|
|
76
|
-
function arc(a, b, rx, ry, degrees, large, sweep) {
|
|
76
|
+
export function arc(a, b, rx, ry, degrees, large, sweep) {
|
|
77
77
|
rx = Math.abs(rx);
|
|
78
78
|
ry = Math.abs(ry);
|
|
79
79
|
if (!rx || !ry || distance(a, b) === 0)
|
|
@@ -98,6 +98,7 @@ function arc(a, b, rx, ry, degrees, large, sweep) {
|
|
|
98
98
|
if (![cx, cy, rx, ry, start, delta].every(Number.isFinite))
|
|
99
99
|
throw new RangeError('Path arc exceeds finite geometry limits.');
|
|
100
100
|
return {
|
|
101
|
+
angle: delta,
|
|
101
102
|
point(t) {
|
|
102
103
|
if (t === 0)
|
|
103
104
|
return a;
|
package/dist/svg-path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-path.js","sourceRoot":"","sources":["../src/svg-path.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"svg-path.js","sourceRoot":"","sources":["../src/svg-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { View } from '@nativescript/core';
|
|
2
|
+
import type { Driver } from '../driver/index.js';
|
|
3
|
+
import type { Property } from '../properties.js';
|
|
4
|
+
import type { Track } from '../track.js';
|
|
5
|
+
interface Playback {
|
|
6
|
+
view: View;
|
|
7
|
+
track: Track;
|
|
8
|
+
started: number;
|
|
9
|
+
offset: number;
|
|
10
|
+
held: boolean;
|
|
11
|
+
handle?: unknown;
|
|
12
|
+
end: (finished?: boolean) => void;
|
|
13
|
+
done: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** Isolated test clock. Optional native tracks are held and sought at the exact logical time. */
|
|
16
|
+
export declare class ReplayClock implements Driver {
|
|
17
|
+
private native?;
|
|
18
|
+
private reduced;
|
|
19
|
+
private time;
|
|
20
|
+
private tracks;
|
|
21
|
+
private timers;
|
|
22
|
+
private frames;
|
|
23
|
+
constructor(native?: Driver | undefined, reduced?: boolean);
|
|
24
|
+
now: () => number;
|
|
25
|
+
get resources(): number;
|
|
26
|
+
frame(callback: () => void): () => void;
|
|
27
|
+
after(ms: number, callback: () => void): () => void;
|
|
28
|
+
play(view: View, track: Track, started: number, end: (finished?: boolean) => void): Playback;
|
|
29
|
+
elapsed(handle: unknown): number;
|
|
30
|
+
control(_view: View, handle: unknown, elapsed: number, paused: boolean): void;
|
|
31
|
+
stop(_view: View, handle: unknown): void;
|
|
32
|
+
private finish;
|
|
33
|
+
presented(view: View, property: Property): number | undefined;
|
|
34
|
+
sync(view: View, excluding?: Property): void;
|
|
35
|
+
reducedMotion(): boolean;
|
|
36
|
+
advanceTo(at: number): void;
|
|
37
|
+
dispose(): void;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=clock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/testing/clock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,UAAU,QAAQ;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,OAAO,CAAA;CACd;AAED,iGAAiG;AACjG,qBAAa,WAAY,YAAW,MAAM;IAMtC,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,OAAO;IANjB,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,MAAM,CAAwB;IACtC,YACU,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,UAAQ,EAIxB;IACD,GAAG,eAAkB;IACrB,IAAI,SAAS,WAEZ;IACD,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,cAKzB;IACD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,cAMrC;IACD,IAAI,CACF,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,GAChC,QAAQ,CAgBV;IACD,OAAO,CAAC,MAAM,EAAE,OAAO,UAGtB;IACD,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,QAMrE;IACD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,QAEhC;IACD,OAAO,CAAC,MAAM;IAOd,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,sBAEvC;IACD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,QAAQ,QAEpC;IACD,aAAa,YAEZ;IACD,SAAS,CAAC,EAAE,EAAE,MAAM,QAenB;IACD,OAAO,SAYN;CACF"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** Isolated test clock. Optional native tracks are held and sought at the exact logical time. */
|
|
2
|
+
export class ReplayClock {
|
|
3
|
+
native;
|
|
4
|
+
reduced;
|
|
5
|
+
time = 0;
|
|
6
|
+
tracks = new Set();
|
|
7
|
+
timers = new Set();
|
|
8
|
+
frames = new Set();
|
|
9
|
+
constructor(native, reduced = false) {
|
|
10
|
+
this.native = native;
|
|
11
|
+
this.reduced = reduced;
|
|
12
|
+
if (native && !native.control)
|
|
13
|
+
throw new Error('Native replay requires a seekable driver.');
|
|
14
|
+
}
|
|
15
|
+
now = () => this.time;
|
|
16
|
+
get resources() {
|
|
17
|
+
return this.tracks.size + this.timers.size + this.frames.size;
|
|
18
|
+
}
|
|
19
|
+
frame(callback) {
|
|
20
|
+
this.frames.add(callback);
|
|
21
|
+
return () => {
|
|
22
|
+
this.frames.delete(callback);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
after(ms, callback) {
|
|
26
|
+
const timer = { at: this.time + ms, callback };
|
|
27
|
+
this.timers.add(timer);
|
|
28
|
+
return () => {
|
|
29
|
+
this.timers.delete(timer);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
play(view, track, started, end) {
|
|
33
|
+
const playback = {
|
|
34
|
+
view,
|
|
35
|
+
track,
|
|
36
|
+
started,
|
|
37
|
+
offset: 0,
|
|
38
|
+
held: false,
|
|
39
|
+
end,
|
|
40
|
+
done: false,
|
|
41
|
+
};
|
|
42
|
+
if (this.native) {
|
|
43
|
+
playback.handle = this.native.play(view, track, this.native.now(), () => { });
|
|
44
|
+
this.native.control(view, playback.handle, 0, true, 'pause');
|
|
45
|
+
}
|
|
46
|
+
this.tracks.add(playback);
|
|
47
|
+
return playback;
|
|
48
|
+
}
|
|
49
|
+
elapsed(handle) {
|
|
50
|
+
const p = handle;
|
|
51
|
+
return p.offset + (p.held ? 0 : this.time - p.started);
|
|
52
|
+
}
|
|
53
|
+
control(_view, handle, elapsed, paused) {
|
|
54
|
+
const p = handle;
|
|
55
|
+
p.offset = elapsed;
|
|
56
|
+
p.started = this.time;
|
|
57
|
+
p.held = paused;
|
|
58
|
+
this.native?.control(p.view, p.handle, elapsed, true, 'seek');
|
|
59
|
+
}
|
|
60
|
+
stop(_view, handle) {
|
|
61
|
+
this.finish(handle, false);
|
|
62
|
+
}
|
|
63
|
+
finish(p, completed) {
|
|
64
|
+
if (p.done)
|
|
65
|
+
return;
|
|
66
|
+
p.done = true;
|
|
67
|
+
this.tracks.delete(p);
|
|
68
|
+
if (this.native)
|
|
69
|
+
this.native.stop(p.view, p.handle);
|
|
70
|
+
p.end(completed);
|
|
71
|
+
}
|
|
72
|
+
presented(view, property) {
|
|
73
|
+
return this.native?.presented(view, property);
|
|
74
|
+
}
|
|
75
|
+
sync(view, excluding) {
|
|
76
|
+
this.native?.sync?.(view, excluding);
|
|
77
|
+
}
|
|
78
|
+
reducedMotion() {
|
|
79
|
+
return this.reduced;
|
|
80
|
+
}
|
|
81
|
+
advanceTo(at) {
|
|
82
|
+
if (!Number.isFinite(at) || at < this.time)
|
|
83
|
+
throw new RangeError('Replay time must be finite and monotonic.');
|
|
84
|
+
this.time = at;
|
|
85
|
+
// No interpolation of missing frames: callbacks see the original elapsed gap.
|
|
86
|
+
for (const p of [...this.tracks]) {
|
|
87
|
+
this.native?.control(p.view, p.handle, this.elapsed(p), true, 'seek');
|
|
88
|
+
if (!p.held && this.elapsed(p) >= p.track.end)
|
|
89
|
+
this.finish(p, true);
|
|
90
|
+
}
|
|
91
|
+
for (const timer of [...this.timers]) {
|
|
92
|
+
if (timer.at <= at && this.timers.delete(timer))
|
|
93
|
+
timer.callback();
|
|
94
|
+
}
|
|
95
|
+
const frames = [...this.frames];
|
|
96
|
+
this.frames.clear();
|
|
97
|
+
for (const callback of frames)
|
|
98
|
+
callback();
|
|
99
|
+
}
|
|
100
|
+
dispose() {
|
|
101
|
+
let error;
|
|
102
|
+
for (const p of [...this.tracks]) {
|
|
103
|
+
try {
|
|
104
|
+
this.finish(p, false);
|
|
105
|
+
}
|
|
106
|
+
catch (failure) {
|
|
107
|
+
error ??= failure;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.timers.clear();
|
|
111
|
+
this.frames.clear();
|
|
112
|
+
if (error)
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=clock.js.map
|