@rafaelaugusto/jolt 0.1.0-beta.15 → 0.1.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +3 -1
  2. package/dist/drag.js +1 -1
  3. package/dist/drag.js.map +1 -1
  4. package/dist/driver/android.d.ts.map +1 -1
  5. package/dist/driver/android.js +2 -0
  6. package/dist/driver/android.js.map +1 -1
  7. package/dist/driver/ios-scroll-delegate.d.ts +4 -0
  8. package/dist/driver/ios-scroll-delegate.d.ts.map +1 -0
  9. package/dist/driver/ios-scroll-delegate.js +26 -0
  10. package/dist/driver/ios-scroll-delegate.js.map +1 -0
  11. package/dist/driver/ios.d.ts.map +1 -1
  12. package/dist/driver/ios.js +2 -0
  13. package/dist/driver/ios.js.map +1 -1
  14. package/dist/gesture-native.d.ts +27 -0
  15. package/dist/gesture-native.d.ts.map +1 -0
  16. package/dist/gesture-native.js +55 -0
  17. package/dist/gesture-native.js.map +1 -0
  18. package/dist/gestures/index.d.ts +65 -0
  19. package/dist/gestures/index.d.ts.map +1 -0
  20. package/dist/gestures/index.js +251 -0
  21. package/dist/gestures/index.js.map +1 -0
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/live-spring-driver.d.ts +52 -0
  27. package/dist/live-spring-driver.d.ts.map +1 -0
  28. package/dist/live-spring-driver.js +104 -0
  29. package/dist/live-spring-driver.js.map +1 -0
  30. package/dist/mixer.d.ts +6 -0
  31. package/dist/mixer.d.ts.map +1 -1
  32. package/dist/mixer.js +41 -1
  33. package/dist/mixer.js.map +1 -1
  34. package/dist/motion-value.d.ts +34 -2
  35. package/dist/motion-value.d.ts.map +1 -1
  36. package/dist/motion-value.js +277 -10
  37. package/dist/motion-value.js.map +1 -1
  38. package/dist/value-observers.d.ts +3 -1
  39. package/dist/value-observers.d.ts.map +1 -1
  40. package/dist/value-observers.js +10 -2
  41. package/dist/value-observers.js.map +1 -1
  42. package/package.json +5 -1
  43. package/platforms/android/include.gradle +9 -0
  44. package/platforms/android/java/org/rafaelaugusto/jolt/GestureSession.java +193 -0
  45. package/platforms/android/java/org/rafaelaugusto/jolt/GestureSurface.java +53 -0
  46. package/platforms/android/java/org/rafaelaugusto/jolt/LiveSpring.java +270 -0
  47. package/platforms/android/java/org/rafaelaugusto/jolt/SpringState.java +39 -0
  48. package/platforms/ios/src/JoltGestureSession.h +17 -0
  49. package/platforms/ios/src/JoltGestureSession.m +217 -0
  50. package/platforms/ios/src/JoltLiveSpring.h +28 -0
  51. package/platforms/ios/src/JoltLiveSpring.m +236 -0
  52. package/platforms/ios/src/JoltSpringState.h +35 -0
  53. package/platforms/ios/src/module.modulemap +2 -0
  54. package/src/android-plugin.d.ts +59 -0
  55. package/src/drag.ts +1 -1
  56. package/src/driver/android.ts +2 -0
  57. package/src/driver/ios-scroll-delegate.ts +23 -0
  58. package/src/driver/ios.ts +2 -0
  59. package/src/gesture-native.ts +124 -0
  60. package/src/gestures/index.ts +350 -0
  61. package/src/index.ts +3 -1
  62. package/src/ios-plugin.d.ts +58 -0
  63. package/src/live-spring-driver.ts +181 -0
  64. package/src/mixer.ts +43 -1
  65. package/src/motion-value.ts +318 -11
  66. package/src/value-observers.ts +12 -2
package/dist/mixer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mixer.js","sourceRoot":"","sources":["../src/mixer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAA;AAGtE,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAA;AAEtB,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAC7B,MAAM,WAAW,GAAG,IAAI,CAAA;AACxB,kGAAkG;AAClG,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,qFAAqF;AACrF,MAAM,MAAM,GAAG,IAAI,CAAA;AAEnB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAE,EAAE,CAC/C,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAA;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE,CAC9C,UAAU,CAAC,QAAQ,CAAC;IACpB,QAAQ,KAAK,GAAG;IAChB,QAAQ,KAAK,GAAG;IAChB,QAAQ,KAAK,QAAQ;IACrB,QAAQ,KAAK,SAAS;IACtB,QAAQ,KAAK,SAAS,CAAA;AAWxB,kFAAkF;AAClF,MAAM,OAAO,SAAS;IAET,GAAG;IACH,GAAG;IAFd,YACW,GAAQ,EACR,GAAW;mBADX,GAAG;mBACH,GAAG;IACX,CAAC;IACJ,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,CAAC,QAAgB,EAAE,MAAe;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC;CACF;AAED,MAAM,KAAK,GAAG,IAAI,OAAO,EAA4B,CAAA;AAErD,MAAM,UAAU,KAAK,CAAC,IAAU,EAAE,QAAkB;IAClD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,QAAkB;IACnD,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,UAAU;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;IAC1D,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,CAAC,GAAG;QAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,iGAAiG;AACjG,MAAM,OAAO,GAAG;IAOH,IAAI;IACJ,QAAQ;IAPF,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjC,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC9C,MAAM,CAAS;IACf,UAAU,GAAG,CAAC,CAAA;IAEtB,YACW,IAAU,EACV,QAAkB;oBADlB,IAAI;wBACJ,QAAQ;QAEjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,CAAC,GAAW;QACd,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACnB,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC/E,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,KAAa;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CACH,GAAW,EACX,KAAY,EACZ,SAAiB,EACjB,KAAkC;QAElC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAA;QACjC,MAAM,OAAO,GAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACtF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAA;QACtB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAA;IAChF,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,QAAgB,EAAE,MAAe;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAA;QACjB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAA;QACzB,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAA;QACzB,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE,CAAA;QAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QACvB,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAW,EAAE,OAAgB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAA;QACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC9E,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,oFAAoF;IACpF,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAA;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE;QAC5B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE,CAAA;QAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAQ;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YACtC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;QACpE,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,IAAI,CAAC,GAAW,EAAE,IAAY,EAAE,GAAW;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM;YAC5B,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAEO,QAAQ,CAAC,GAAW,EAAE,OAAgB;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAM;QACvC,OAAO,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE;YAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,OAAM;YAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YAC7D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnB,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,yEAAyE;IACjE,OAAO;QACb,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAA;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QAEvB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,MAAM;gBAAE,SAAQ;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACtC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;YACzB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,CAAA;iBACzE,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;;gBAC3E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrF,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACrD,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAA;YACf,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CACrE,CAAA;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAA;QACjE,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAA;QAClC,MAAM,EAAE,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,KAAK,GAAU;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,EAAE,KAAK;YACd,KAAK;YACL,MAAM;YACN,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAE;YACzC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YAClC,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI;SACxE,CAAA;QACD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI,EAAE,EAAE;YACnE,IAAI,QAAQ,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YACvB,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAM;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK;YACnC,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,OAAM;QAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/E,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,OAA0B;IACrD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IACxB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAA;QAChD,IAAI,MAAM,GAAG,QAAQ;YAAE,OAAO,SAAS,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"mixer.js","sourceRoot":"","sources":["../src/mixer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { Color, type View } from '@nativescript/core';
2
2
  import { type ColorValue } from './color.js';
3
+ import { type SpringParams } from './spring.js';
4
+ import { type LiveNode, type LiveMapping } from './live-spring-driver.js';
3
5
  import { ViewAnimation, type Animation, type Plan } from './engine.js';
4
6
  import { type Property } from './properties.js';
5
7
  import { type Track } from './track.js';
@@ -48,13 +50,15 @@ interface Binding {
48
50
  readonly root: Root;
49
51
  readonly read: (value: number) => number;
50
52
  animation?: ViewAnimation;
53
+ cleanup?: () => void;
51
54
  sync(): void;
52
55
  }
53
56
  declare class Derived {
54
57
  private readonly source;
55
58
  readonly read: (value: number) => number;
56
59
  readonly color: boolean;
57
- constructor(source: Root | undefined, read: (value: number) => number, color: boolean);
60
+ readonly mappings: readonly LiveMapping[];
61
+ constructor(source: Root | undefined, read: (value: number) => number, color: boolean, mappings?: readonly LiveMapping[]);
58
62
  get root(): Root;
59
63
  get(): number | Color;
60
64
  subscribe(listener: ValueListener<number | Color>, options?: SubscribeOptions): () => void;
@@ -77,7 +81,7 @@ declare class Root extends Derived {
77
81
  private velocity;
78
82
  animate(target: number | readonly (number | null)[], transition?: ValueAnimationOptions | SpringName): PlaybackAnimation;
79
83
  /** Plays a track sampled in the value's own units, such as a drag release. */
80
- play(track: Track): PlaybackAnimation;
84
+ playTrack(track: Track): PlaybackAnimation;
81
85
  private jump;
82
86
  private start;
83
87
  set(value: number): void;
@@ -96,6 +100,34 @@ declare class Root extends Derived {
96
100
  get running(): boolean;
97
101
  private halt;
98
102
  }
103
+ export interface SpringValueOptions extends SpringParams {
104
+ /** Initial follower position. Defaults to the source's current value. */
105
+ initial?: number;
106
+ /** Absolute source units. Defaults to 0.001. */
107
+ restDelta?: number;
108
+ /** Source units per second. Defaults to 0.01. */
109
+ restSpeed?: number;
110
+ }
111
+ /** A retained native follower. Settling does not dispose its source subscription. */
112
+ export interface SpringValue extends DerivedValue {
113
+ readonly disposed: boolean;
114
+ readonly moving: boolean;
115
+ readonly paused: boolean;
116
+ /** Hold position and velocity while retaining the current source target. */
117
+ pause(): void;
118
+ /** Resume from the held state toward the current source. */
119
+ play(): void;
120
+ /** Current velocity in source units per second. */
121
+ getVelocity(): number;
122
+ dispose(): void;
123
+ }
124
+ /** Follow changing targets without rebuilding sampled animation tracks. Dispose with the owning scope. */
125
+ export declare function springValue(source: DerivedValue, options?: SpringValueOptions): SpringValue;
126
+ /** Internal boundary notification for values driven directly by native input. */
127
+ export declare function liveValueInput(value: DerivedValue): {
128
+ node: LiveNode;
129
+ changed: () => void;
130
+ };
99
131
  /**
100
132
  * A number that animates natively and drives the view properties bound to it.
101
133
  *
@@ -1 +1 @@
1
- {"version":3,"file":"motion-value.d.ts","sourceRoot":"","sources":["../src/motion-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"motion-value.d.ts","sourceRoot":"","sources":["../src/motion-value.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import { Color, ScrollView, } from '@nativescript/core';
1
+ import { Application, Color, ScrollView, } from '@nativescript/core';
2
2
  import { toViews } from './animate.js';
3
3
  import { colorMixer, isColorProperty, parseColor, validateColorTarget, } from './color.js';
4
- import { reducedMotion } from './config.js';
4
+ import { onReducedMotion, reducedMotion, timeScale } from './config.js';
5
+ import { springPhysics } from './spring.js';
6
+ import { mixFor } from './mixer.js';
7
+ import { liveSpringDriver, syncLiveSprings, } from './live-spring-driver.js';
5
8
  import { clampDecoration, isDecorationProperty, validateDecorationTarget, } from './decoration.js';
6
9
  import { getDriver } from './driver/index.js';
7
10
  import { setBase, stopBase, ViewAnimation } from './engine.js';
@@ -18,10 +21,12 @@ class Derived {
18
21
  source;
19
22
  read;
20
23
  color;
21
- constructor(source, read, color) {
24
+ mappings;
25
+ constructor(source, read, color, mappings = []) {
22
26
  this.source = source;
23
27
  this.read = read;
24
28
  this.color = color;
29
+ this.mappings = mappings;
25
30
  }
26
31
  get root() {
27
32
  return this.source ?? this;
@@ -37,14 +42,25 @@ class Derived {
37
42
  if (this.color)
38
43
  throw new TypeError('A color cannot be mapped again.');
39
44
  const map = mapping(input, output, options);
45
+ if (this.root instanceof SpringRoot && map.color)
46
+ throw new TypeError('Live spring bindings currently support numeric transforms and opacity.');
40
47
  const read = this.read;
41
- return new Derived(this.root, (value) => map.read(read(value)), map.color);
48
+ return new Derived(this.root, (value) => map.read(read(value)), map.color, map.color
49
+ ? []
50
+ : [
51
+ ...this.mappings,
52
+ {
53
+ input: [...map.input],
54
+ output: [...map.numbers],
55
+ clamp: options?.clamp !== false,
56
+ },
57
+ ]);
42
58
  }
43
59
  }
44
60
  class Root extends Derived {
45
61
  bindings = new Set();
46
62
  listeners = new Set();
47
- observers = new ValueObservers((time) => this.raw(time));
63
+ observers = new ValueObservers((time) => this.raw(time), () => this.running);
48
64
  rests = new Map();
49
65
  runs = new Map();
50
66
  presentation;
@@ -105,7 +121,7 @@ class Root extends Derived {
105
121
  : this.start(track, base, span, key);
106
122
  }
107
123
  /** Plays a track sampled in the value's own units, such as a drag release. */
108
- play(track) {
124
+ playTrack(track) {
109
125
  this.halt('');
110
126
  return track.end === 0 ? this.jump(track.to, '') : this.start(track, 0, 1, '');
111
127
  }
@@ -303,6 +319,178 @@ class Root extends Derived {
303
319
  run.animation.stop();
304
320
  }
305
321
  }
322
+ class SpringRoot extends Root {
323
+ node;
324
+ releaseSource = () => { };
325
+ releaseReduced = () => { };
326
+ ended = false;
327
+ held = false;
328
+ background = false;
329
+ suspend = () => {
330
+ this.background = true;
331
+ this.updatePause();
332
+ };
333
+ resume = () => {
334
+ this.background = false;
335
+ this.updatePause();
336
+ };
337
+ constructor(source, options) {
338
+ const initial = options.initial ?? source.get();
339
+ const instant = options.duration === 0;
340
+ const params = springPhysics(instant ? { ...options, duration: undefined } : options);
341
+ const speed = timeScale();
342
+ const physics = {
343
+ stiffness: params.stiffness * speed * speed,
344
+ damping: params.damping * speed,
345
+ mass: params.mass,
346
+ restDelta: options.restDelta ?? 0.001,
347
+ restSpeed: options.restSpeed ?? 0.01,
348
+ };
349
+ for (const [key, value] of Object.entries(physics))
350
+ if (!Number.isFinite(value) || (key === 'damping' ? value < 0 : value <= 0))
351
+ throw new RangeError(`Invalid springValue ${key}: ${value}.`);
352
+ if (options.duration !== undefined &&
353
+ (!Number.isFinite(options.duration) || options.duration < 0))
354
+ throw new RangeError('springValue duration must be finite and nonnegative.');
355
+ if (options.bounce !== undefined && !Number.isFinite(options.bounce))
356
+ throw new RangeError('springValue bounce must be finite.');
357
+ super(initial);
358
+ this.node = liveSpringDriver().create(initial, physics, instant || reducedMotion());
359
+ const root = source.root;
360
+ try {
361
+ let update;
362
+ if (root instanceof SpringRoot) {
363
+ if (root.disposed)
364
+ throw new Error('Cannot follow a disposed spring value.');
365
+ this.node.follow(root.node, source.mappings);
366
+ update = () => this.notify();
367
+ }
368
+ else {
369
+ const playback = valuePlayback(source);
370
+ update = () => {
371
+ if (!root.running) {
372
+ this.node.update({
373
+ value: source.get(),
374
+ running: false,
375
+ elapsed: 0,
376
+ duration: 0,
377
+ delay: 0,
378
+ repeat: 0,
379
+ reverse: false,
380
+ to: 0,
381
+ times: [],
382
+ values: [],
383
+ });
384
+ this.notify();
385
+ return;
386
+ }
387
+ const { track, elapsed, running, value } = playback.snapshot();
388
+ this.node.update({
389
+ value,
390
+ elapsed,
391
+ running,
392
+ duration: track.duration,
393
+ delay: track.delay,
394
+ repeat: Number.isFinite(track.repeat) ? track.repeat : -1,
395
+ reverse: track.reverse,
396
+ to: track.to,
397
+ times: track.times,
398
+ values: track.values,
399
+ });
400
+ this.notify();
401
+ };
402
+ }
403
+ root.listeners.add(update);
404
+ this.releaseSource = () => {
405
+ root.listeners.delete(update);
406
+ };
407
+ this.releaseReduced = onReducedMotion((reduced) => {
408
+ this.node.reduced(instant || reduced);
409
+ this.notify();
410
+ });
411
+ Application.on(Application.suspendEvent, this.suspend);
412
+ Application.on(Application.resumeEvent, this.resume);
413
+ update();
414
+ }
415
+ catch (error) {
416
+ this.dispose();
417
+ throw error;
418
+ }
419
+ }
420
+ raw() {
421
+ return this.node?.position() ?? super.raw();
422
+ }
423
+ get running() {
424
+ return !this.ended && (this.node?.moving() ?? false);
425
+ }
426
+ get moving() {
427
+ return this.running;
428
+ }
429
+ get disposed() {
430
+ return this.ended;
431
+ }
432
+ get paused() {
433
+ return this.held;
434
+ }
435
+ pause() {
436
+ if (!this.ended) {
437
+ this.held = true;
438
+ this.updatePause();
439
+ }
440
+ }
441
+ play() {
442
+ if (!this.ended) {
443
+ this.held = false;
444
+ this.updatePause();
445
+ }
446
+ }
447
+ updatePause() {
448
+ this.node.paused(this.held || this.background);
449
+ this.notify();
450
+ }
451
+ getVelocity() {
452
+ return this.ended ? 0 : this.node.velocity();
453
+ }
454
+ plan() {
455
+ throw new TypeError('A live spring cannot be sampled as a fixed track. Bind it to transforms or opacity.');
456
+ }
457
+ notify() {
458
+ this.observers.changed(this.running);
459
+ for (const listener of [...this.listeners])
460
+ listener();
461
+ }
462
+ dispose() {
463
+ if (this.ended)
464
+ return;
465
+ this.ended = true;
466
+ this.releaseSource();
467
+ this.releaseReduced();
468
+ Application.off(Application.suspendEvent, this.suspend);
469
+ Application.off(Application.resumeEvent, this.resume);
470
+ for (const binding of [...this.bindings])
471
+ release(binding);
472
+ this.node.dispose();
473
+ this.observers.clear();
474
+ for (const listener of [...this.listeners])
475
+ listener();
476
+ this.listeners.clear();
477
+ }
478
+ }
479
+ /** Follow changing targets without rebuilding sampled animation tracks. Dispose with the owning scope. */
480
+ export function springValue(source, options = {}) {
481
+ if (!(source instanceof Derived) || source.color)
482
+ throw new TypeError('springValue() needs a numeric Jolt motion value.');
483
+ if (!options || typeof options !== 'object')
484
+ throw new TypeError('springValue() options must be an object.');
485
+ return new SpringRoot(source, options);
486
+ }
487
+ /** Internal boundary notification for values driven directly by native input. */
488
+ export function liveValueInput(value) {
489
+ if (!(value instanceof Derived) || !(value.root instanceof SpringRoot))
490
+ throw new TypeError('Native input requires a live value.');
491
+ const root = value.root;
492
+ return { node: root.node, changed: () => root.notify() };
493
+ }
306
494
  function layerName(name) {
307
495
  if (typeof name !== 'string' || !name.length)
308
496
  throw new TypeError('A layer is named by a nonempty string.');
@@ -327,7 +515,7 @@ export function motionValue(initial = 0) {
327
515
  return new Root(initial);
328
516
  }
329
517
  export function isMotionValue(target) {
330
- return target instanceof Root;
518
+ return target instanceof Root && !(target instanceof SpringRoot);
331
519
  }
332
520
  export function asRoot(value) {
333
521
  return value;
@@ -354,6 +542,12 @@ export function bind(target, bindings) {
354
542
  if (!properties.length)
355
543
  throw new Error(`Can't bind "${key}".`);
356
544
  for (const property of properties) {
545
+ if (source.root instanceof SpringRoot) {
546
+ if (source.root.disposed)
547
+ throw new Error('Cannot bind a disposed spring value.');
548
+ if (isColorProperty(property) || isDecorationProperty(property))
549
+ throw new TypeError('Live spring bindings currently support numeric transforms and opacity.');
550
+ }
357
551
  if (isColorProperty(property) !== source.color)
358
552
  throw new TypeError(source.color
359
553
  ? `"${key}" takes numbers; map the value to numbers.`
@@ -367,7 +561,17 @@ export function bind(target, bindings) {
367
561
  validateColorTarget(view, property);
368
562
  else if (isDecorationProperty(property))
369
563
  validateDecorationTarget(view, property);
370
- const made = views.flatMap((view) => entries.map(([property, source]) => attach(view, property, source)));
564
+ const made = [];
565
+ try {
566
+ for (const view of views)
567
+ for (const [property, source] of entries)
568
+ made.push(attach(view, property, source));
569
+ }
570
+ catch (error) {
571
+ for (const cleanup of made.reverse())
572
+ cleanup();
573
+ throw error;
574
+ }
371
575
  return () => made.forEach((release) => release());
372
576
  }
373
577
  function attach(view, property, source) {
@@ -375,6 +579,8 @@ function attach(view, property, source) {
375
579
  if (existing)
376
580
  release(existing);
377
581
  const root = source.root;
582
+ if (root instanceof SpringRoot)
583
+ return attachSpring(view, property, source, root);
378
584
  const binding = {
379
585
  view,
380
586
  property,
@@ -411,7 +617,13 @@ function attach(view, property, source) {
411
617
  properties.set(property, binding);
412
618
  root.bindings.add(binding);
413
619
  view.on('loaded', binding.sync);
414
- binding.sync();
620
+ try {
621
+ binding.sync();
622
+ }
623
+ catch (error) {
624
+ release(binding);
625
+ throw error;
626
+ }
415
627
  return () => {
416
628
  if (root.bindings.has(binding)) {
417
629
  release(binding);
@@ -419,6 +631,60 @@ function attach(view, property, source) {
419
631
  }
420
632
  };
421
633
  }
634
+ function attachSpring(view, property, source, root) {
635
+ let native;
636
+ let releaseMix;
637
+ const detach = () => {
638
+ if (!native)
639
+ return;
640
+ native.cancel();
641
+ releaseMix?.();
642
+ releaseMix = undefined;
643
+ native = undefined;
644
+ syncLiveSprings(view);
645
+ };
646
+ const binding = {
647
+ view,
648
+ property,
649
+ root,
650
+ read: source.read,
651
+ sync() {
652
+ if (!view.isLoaded || !view.nativeViewProtected || root.disposed)
653
+ return;
654
+ detach();
655
+ stopBase(view, [property]);
656
+ native = root.node.bind(view, property, source.mappings);
657
+ const handle = native;
658
+ releaseMix = mixFor(view, property).attachLive({
659
+ read: () => handle.value(),
660
+ layers: (layers) => handle.layers(layers),
661
+ });
662
+ syncLiveSprings(view);
663
+ },
664
+ cleanup() {
665
+ view.off('unloaded', detach);
666
+ detach();
667
+ },
668
+ };
669
+ let properties = bound.get(view);
670
+ if (!properties)
671
+ bound.set(view, (properties = new Map()));
672
+ properties.set(property, binding);
673
+ root.bindings.add(binding);
674
+ view.on('loaded', binding.sync);
675
+ view.on('unloaded', detach);
676
+ try {
677
+ binding.sync();
678
+ }
679
+ catch (error) {
680
+ release(binding);
681
+ throw error;
682
+ }
683
+ return () => {
684
+ if (root.bindings.has(binding))
685
+ release(binding);
686
+ };
687
+ }
422
688
  /** A read-only value on an existing finite animation's clock. No second animation or timer. */
423
689
  export function playbackProgress(animation) {
424
690
  const source = playbackSource(animation);
@@ -564,6 +830,7 @@ function release(binding) {
564
830
  const properties = bound.get(binding.view);
565
831
  if (properties?.get(binding.property) === binding)
566
832
  properties.delete(binding.property);
833
+ binding.cleanup?.();
567
834
  }
568
835
  /** A regular animation on a bound property takes it over; the value keeps its other bindings. */
569
836
  export function detachBindings(view, properties) {
@@ -615,7 +882,7 @@ function mapping(input, output, options = {}) {
615
882
  return mixers[i](Math.min(1, Math.max(0, t)));
616
883
  return numbers[i] + (numbers[i + 1] - numbers[i]) * t;
617
884
  };
618
- return { read, color };
885
+ return { read, color, input, numbers };
619
886
  }
620
887
  function springOf(name) {
621
888
  if (!Object.hasOwn(springs, name))