react-native-reanimated 3.2.0-nightly-20230529-8b4fef8af → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -105,7 +105,7 @@ export function withSpring(toValue, userConfig, callback) {
105
105
  animation.omega0 = (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.omega0) || 0;
106
106
  animation.omega1 = (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.omega1) || 0;
107
107
  } else {
108
- if (duration) {
108
+ if (config.useDuration) {
109
109
  const acutalDuration = triggeredTwice ?
110
110
  // If animation is triggered twice we want to continue the previous animation
111
111
  // so we need to include the time that already elapsed
@@ -122,7 +122,7 @@ export function withSpring(toValue, userConfig, callback) {
122
122
  animation.omega0 = omega0;
123
123
  animation.omega1 = omega1;
124
124
  }
125
- animation.lastTimestamp = now;
125
+ animation.lastTimestamp = (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.lastTimestamp) || now;
126
126
  animation.startTimestamp = triggeredTwice ? (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.startTimestamp) || now : now;
127
127
  }
128
128
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["defineAnimation","initialCalculations","calcuateNewMassToMatchDuration","underDampedSpringCalculations","criticallyDampedSpringCalculations","isAnimationTerminatingCalculation","withSpring","toValue","userConfig","callback","defaultConfig","damping","mass","stiffness","overshootClamping","restDisplacementThreshold","restSpeedThreshold","velocity","duration","dampingRatio","config","useDuration","spring","animation","now","startTimestamp","current","timeFromStart","lastTimestamp","deltaTime","Math","min","t","v0","x0","zeta","omega0","omega1","position","newPosition","newVelocity","isOvershooting","isVelocity","isDisplacement","springIsNotInMove","isTriggeredTwice","previousAnimation","onStart","value","startValue","triggeredTwice","Number","acutalDuration","onFrame"],"sources":["spring.ts"],"sourcesContent":["import { defineAnimation } from './util';\nimport {\n Animation,\n AnimationCallback,\n AnimatableValue,\n Timestamp,\n} from '../commonTypes';\nimport {\n SpringConfig,\n initialCalculations,\n calcuateNewMassToMatchDuration,\n SpringAnimation,\n InnerSpringAnimation,\n underDampedSpringCalculations,\n criticallyDampedSpringCalculations,\n isAnimationTerminatingCalculation,\n} from './springUtils';\n\nexport function withSpring(\n toValue: AnimatableValue,\n userConfig?: SpringConfig,\n callback?: AnimationCallback\n): Animation<SpringAnimation> {\n 'worklet';\n\n return defineAnimation<SpringAnimation>(toValue, () => {\n 'worklet';\n const defaultConfig: Record<keyof SpringConfig, any> = {\n damping: 10,\n mass: 1,\n stiffness: 100,\n overshootClamping: false,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 2,\n velocity: 0,\n duration: 2000,\n dampingRatio: 0.5,\n } as const;\n\n const config = {\n ...defaultConfig,\n ...userConfig,\n useDuration: userConfig?.duration || userConfig?.dampingRatio,\n };\n\n function spring(animation: InnerSpringAnimation, now: Timestamp): boolean {\n const { toValue, startTimestamp, current } = animation;\n\n const timeFromStart = now - startTimestamp;\n\n if (config.useDuration && timeFromStart >= config.duration) {\n animation.current = toValue;\n\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n\n const { lastTimestamp, velocity } = animation;\n\n const deltaTime = Math.min(now - lastTimestamp, 64);\n animation.lastTimestamp = now;\n\n const t = deltaTime / 1000;\n const v0 = -velocity;\n const x0 = toValue - current;\n\n const { zeta, omega0, omega1 } = animation;\n\n const { position: newPosition, velocity: newVelocity } =\n zeta < 1\n ? underDampedSpringCalculations(animation, {\n zeta,\n v0,\n x0,\n omega0,\n omega1,\n t,\n })\n : criticallyDampedSpringCalculations(animation, {\n v0,\n x0,\n omega0,\n t,\n });\n\n if (!config.useDuration) {\n const { isOvershooting, isVelocity, isDisplacement } =\n isAnimationTerminatingCalculation(animation, config);\n\n animation.current = newPosition;\n animation.velocity = newVelocity;\n\n const springIsNotInMove =\n isOvershooting || (isVelocity && isDisplacement);\n\n if (springIsNotInMove) {\n if (config.stiffness !== 0) {\n animation.velocity = 0;\n animation.current = toValue;\n }\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n }\n return false;\n }\n\n function isTriggeredTwice(\n previousAnimation: SpringAnimation | undefined,\n animation: SpringAnimation\n ) {\n return (\n previousAnimation?.toValue === animation.toValue &&\n previousAnimation?.duration === animation.duration &&\n previousAnimation?.dampingRatio === animation.dampingRatio\n );\n }\n\n function onStart(\n animation: SpringAnimation,\n value: number,\n now: Timestamp,\n previousAnimation: SpringAnimation | undefined\n ): void {\n animation.current = value;\n animation.startValue = value;\n\n let mass = config.mass;\n const triggeredTwice = isTriggeredTwice(previousAnimation, animation);\n\n const duration = config.duration;\n\n const x0 = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // form the previous starting point\n (previousAnimation?.startValue as number)\n : Number(animation.toValue) - value;\n\n animation.velocity = previousAnimation\n ? triggeredTwice\n ? previousAnimation.velocity\n : previousAnimation.velocity + config.velocity\n : config.velocity;\n\n if (triggeredTwice) {\n animation.zeta = previousAnimation?.zeta || 0;\n animation.omega0 = previousAnimation?.omega0 || 0;\n animation.omega1 = previousAnimation?.omega1 || 0;\n } else {\n if (duration) {\n const acutalDuration = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // so we need to include the time that already elapsed\n duration -\n ((previousAnimation?.lastTimestamp || 0) -\n (previousAnimation?.startTimestamp || 0))\n : duration;\n\n config.duration = acutalDuration;\n mass = calcuateNewMassToMatchDuration(x0, config, animation.velocity);\n }\n\n const { zeta, omega0, omega1 } = initialCalculations(mass, config);\n animation.zeta = zeta;\n animation.omega0 = omega0;\n animation.omega1 = omega1;\n }\n\n animation.lastTimestamp = now;\n animation.startTimestamp = triggeredTwice\n ? previousAnimation?.startTimestamp || now\n : now;\n }\n\n return {\n onFrame: spring,\n onStart,\n toValue,\n velocity: config.velocity || 0,\n current: toValue,\n startValue: 0,\n callback,\n lastTimestamp: 0,\n startTimestamp: 0,\n zeta: 0,\n omega0: 0,\n omega1: 0,\n } as SpringAnimation;\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defineAnimation","initialCalculations","calcuateNewMassToMatchDuration","underDampedSpringCalculations","criticallyDampedSpringCalculations","isAnimationTerminatingCalculation","withSpring","toValue","userConfig","callback","defaultConfig","damping","mass","stiffness","overshootClamping","restDisplacementThreshold","restSpeedThreshold","velocity","duration","dampingRatio","config","useDuration","spring","animation","now","startTimestamp","current","timeFromStart","lastTimestamp","deltaTime","Math","min","t","v0","x0","zeta","omega0","omega1","position","newPosition","newVelocity","isOvershooting","isVelocity","isDisplacement","springIsNotInMove","isTriggeredTwice","previousAnimation","onStart","value","startValue","triggeredTwice","Number","acutalDuration","onFrame"],"sources":["spring.ts"],"sourcesContent":["import { defineAnimation } from './util';\nimport {\n Animation,\n AnimationCallback,\n AnimatableValue,\n Timestamp,\n} from '../commonTypes';\nimport {\n SpringConfig,\n initialCalculations,\n calcuateNewMassToMatchDuration,\n SpringAnimation,\n InnerSpringAnimation,\n underDampedSpringCalculations,\n criticallyDampedSpringCalculations,\n isAnimationTerminatingCalculation,\n} from './springUtils';\n\nexport function withSpring(\n toValue: AnimatableValue,\n userConfig?: SpringConfig,\n callback?: AnimationCallback\n): Animation<SpringAnimation> {\n 'worklet';\n\n return defineAnimation<SpringAnimation>(toValue, () => {\n 'worklet';\n const defaultConfig: Record<keyof SpringConfig, any> = {\n damping: 10,\n mass: 1,\n stiffness: 100,\n overshootClamping: false,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 2,\n velocity: 0,\n duration: 2000,\n dampingRatio: 0.5,\n } as const;\n\n const config = {\n ...defaultConfig,\n ...userConfig,\n useDuration: userConfig?.duration || userConfig?.dampingRatio,\n };\n\n function spring(animation: InnerSpringAnimation, now: Timestamp): boolean {\n const { toValue, startTimestamp, current } = animation;\n\n const timeFromStart = now - startTimestamp;\n\n if (config.useDuration && timeFromStart >= config.duration) {\n animation.current = toValue;\n\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n\n const { lastTimestamp, velocity } = animation;\n\n const deltaTime = Math.min(now - lastTimestamp, 64);\n animation.lastTimestamp = now;\n\n const t = deltaTime / 1000;\n const v0 = -velocity;\n const x0 = toValue - current;\n\n const { zeta, omega0, omega1 } = animation;\n\n const { position: newPosition, velocity: newVelocity } =\n zeta < 1\n ? underDampedSpringCalculations(animation, {\n zeta,\n v0,\n x0,\n omega0,\n omega1,\n t,\n })\n : criticallyDampedSpringCalculations(animation, {\n v0,\n x0,\n omega0,\n t,\n });\n\n if (!config.useDuration) {\n const { isOvershooting, isVelocity, isDisplacement } =\n isAnimationTerminatingCalculation(animation, config);\n\n animation.current = newPosition;\n animation.velocity = newVelocity;\n\n const springIsNotInMove =\n isOvershooting || (isVelocity && isDisplacement);\n\n if (springIsNotInMove) {\n if (config.stiffness !== 0) {\n animation.velocity = 0;\n animation.current = toValue;\n }\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n }\n return false;\n }\n\n function isTriggeredTwice(\n previousAnimation: SpringAnimation | undefined,\n animation: SpringAnimation\n ) {\n return (\n previousAnimation?.toValue === animation.toValue &&\n previousAnimation?.duration === animation.duration &&\n previousAnimation?.dampingRatio === animation.dampingRatio\n );\n }\n\n function onStart(\n animation: SpringAnimation,\n value: number,\n now: Timestamp,\n previousAnimation: SpringAnimation | undefined\n ): void {\n animation.current = value;\n animation.startValue = value;\n\n let mass = config.mass;\n const triggeredTwice = isTriggeredTwice(previousAnimation, animation);\n\n const duration = config.duration;\n\n const x0 = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // form the previous starting point\n (previousAnimation?.startValue as number)\n : Number(animation.toValue) - value;\n\n animation.velocity = previousAnimation\n ? triggeredTwice\n ? previousAnimation.velocity\n : previousAnimation.velocity + config.velocity\n : config.velocity;\n\n if (triggeredTwice) {\n animation.zeta = previousAnimation?.zeta || 0;\n animation.omega0 = previousAnimation?.omega0 || 0;\n animation.omega1 = previousAnimation?.omega1 || 0;\n } else {\n if (config.useDuration) {\n const acutalDuration = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // so we need to include the time that already elapsed\n duration -\n ((previousAnimation?.lastTimestamp || 0) -\n (previousAnimation?.startTimestamp || 0))\n : duration;\n\n config.duration = acutalDuration;\n mass = calcuateNewMassToMatchDuration(x0, config, animation.velocity);\n }\n\n const { zeta, omega0, omega1 } = initialCalculations(mass, config);\n animation.zeta = zeta;\n animation.omega0 = omega0;\n animation.omega1 = omega1;\n }\n\n animation.lastTimestamp = previousAnimation?.lastTimestamp || now;\n\n animation.startTimestamp = triggeredTwice\n ? previousAnimation?.startTimestamp || now\n : now;\n }\n\n return {\n onFrame: spring,\n onStart,\n toValue,\n velocity: config.velocity || 0,\n current: toValue,\n startValue: 0,\n callback,\n lastTimestamp: 0,\n startTimestamp: 0,\n zeta: 0,\n omega0: 0,\n omega1: 0,\n } as SpringAnimation;\n });\n}\n"],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * with the version used to build the native part of the library in runtime.
4
4
  * Remember to keep this in sync with the version declared in `package.json`
5
5
  */
6
- export const jsVersion = '3.2.0-nightly-20230529-8b4fef8af';
6
+ export const jsVersion = '3.2.0';
7
7
  //# sourceMappingURL=jsVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsVersion"],"sources":["jsVersion.ts"],"sourcesContent":["/**\n * We hardcode the version of Reanimated here in order to compare it\n * with the version used to build the native part of the library in runtime.\n * Remember to keep this in sync with the version declared in `package.json`\n */\nexport const jsVersion = '3.2.0-nightly-20230529-8b4fef8af';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG,kCAAkC"}
1
+ {"version":3,"names":["jsVersion"],"sources":["jsVersion.ts"],"sourcesContent":["/**\n * We hardcode the version of Reanimated here in order to compare it\n * with the version used to build the native part of the library in runtime.\n * Remember to keep this in sync with the version declared in `package.json`\n */\nexport const jsVersion = '3.2.0';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG,OAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-reanimated",
3
- "version": "3.2.0-nightly-20230529-8b4fef8af",
3
+ "version": "3.2.0",
4
4
  "description": "More powerful alternative to Animated library for React Native.",
5
5
  "scripts": {
6
6
  "test": "yarn run format:js && yarn run lint:js && yarn run test:unit",
@@ -149,7 +149,7 @@ export function withSpring(
149
149
  animation.omega0 = previousAnimation?.omega0 || 0;
150
150
  animation.omega1 = previousAnimation?.omega1 || 0;
151
151
  } else {
152
- if (duration) {
152
+ if (config.useDuration) {
153
153
  const acutalDuration = triggeredTwice
154
154
  ? // If animation is triggered twice we want to continue the previous animation
155
155
  // so we need to include the time that already elapsed
@@ -168,7 +168,8 @@ export function withSpring(
168
168
  animation.omega1 = omega1;
169
169
  }
170
170
 
171
- animation.lastTimestamp = now;
171
+ animation.lastTimestamp = previousAnimation?.lastTimestamp || now;
172
+
172
173
  animation.startTimestamp = triggeredTwice
173
174
  ? previousAnimation?.startTimestamp || now
174
175
  : now;
@@ -3,4 +3,4 @@
3
3
  * with the version used to build the native part of the library in runtime.
4
4
  * Remember to keep this in sync with the version declared in `package.json`
5
5
  */
6
- export const jsVersion = '3.2.0-nightly-20230529-8b4fef8af';
6
+ export const jsVersion = '3.2.0';