@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.
Files changed (576) hide show
  1. package/README.md +167 -21
  2. package/dist/animate.d.ts +25 -4
  3. package/dist/animate.d.ts.map +1 -1
  4. package/dist/animate.js +67 -26
  5. package/dist/animate.js.map +1 -1
  6. package/dist/blur/index.d.ts +6 -0
  7. package/dist/blur/index.d.ts.map +1 -0
  8. package/dist/blur/index.js +196 -0
  9. package/dist/blur/index.js.map +1 -0
  10. package/dist/blur/native.d.ts +17 -0
  11. package/dist/blur/native.d.ts.map +1 -0
  12. package/dist/blur/native.js +44 -0
  13. package/dist/blur/native.js.map +1 -0
  14. package/dist/blur/types.d.ts +32 -0
  15. package/dist/blur/types.d.ts.map +1 -0
  16. package/dist/blur/types.js +2 -0
  17. package/dist/blur/types.js.map +1 -0
  18. package/dist/bottom-sheet/geometry.d.ts +18 -0
  19. package/dist/bottom-sheet/geometry.d.ts.map +1 -0
  20. package/dist/bottom-sheet/geometry.js +51 -0
  21. package/dist/bottom-sheet/geometry.js.map +1 -0
  22. package/dist/bottom-sheet/index.d.ts +56 -0
  23. package/dist/bottom-sheet/index.d.ts.map +1 -0
  24. package/dist/bottom-sheet/index.js +462 -0
  25. package/dist/bottom-sheet/index.js.map +1 -0
  26. package/dist/bottom-sheet/native.d.ts +11 -0
  27. package/dist/bottom-sheet/native.d.ts.map +1 -0
  28. package/dist/bottom-sheet/native.js +173 -0
  29. package/dist/bottom-sheet/native.js.map +1 -0
  30. package/dist/config.d.ts +9 -0
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +40 -1
  33. package/dist/config.js.map +1 -1
  34. package/dist/decay.d.ts +1 -0
  35. package/dist/decay.d.ts.map +1 -1
  36. package/dist/decay.js +7 -0
  37. package/dist/decay.js.map +1 -1
  38. package/dist/drag-physics.d.ts +6 -1
  39. package/dist/drag-physics.d.ts.map +1 -1
  40. package/dist/drag.d.ts +17 -3
  41. package/dist/drag.d.ts.map +1 -1
  42. package/dist/drag.js +34 -11
  43. package/dist/drag.js.map +1 -1
  44. package/dist/driver/android-gradient.d.ts +5 -0
  45. package/dist/driver/android-gradient.d.ts.map +1 -0
  46. package/dist/driver/android-gradient.js +99 -0
  47. package/dist/driver/android-gradient.js.map +1 -0
  48. package/dist/driver/android-particles.d.ts +6 -0
  49. package/dist/driver/android-particles.d.ts.map +1 -0
  50. package/dist/driver/android-particles.js +93 -0
  51. package/dist/driver/android-particles.js.map +1 -0
  52. package/dist/driver/android.d.ts.map +1 -1
  53. package/dist/driver/android.js +27 -1
  54. package/dist/driver/android.js.map +1 -1
  55. package/dist/driver/frame.d.ts +3 -0
  56. package/dist/driver/frame.d.ts.map +1 -0
  57. package/dist/driver/frame.js +7 -0
  58. package/dist/driver/frame.js.map +1 -0
  59. package/dist/driver/index.d.ts +4 -0
  60. package/dist/driver/index.d.ts.map +1 -1
  61. package/dist/driver/index.js.map +1 -1
  62. package/dist/driver/ios-gradient.d.ts +5 -0
  63. package/dist/driver/ios-gradient.d.ts.map +1 -0
  64. package/dist/driver/ios-gradient.js +131 -0
  65. package/dist/driver/ios-gradient.js.map +1 -0
  66. package/dist/driver/ios-scroll-delegate.d.ts +4 -0
  67. package/dist/driver/ios-scroll-delegate.d.ts.map +1 -0
  68. package/dist/driver/ios-scroll-delegate.js +26 -0
  69. package/dist/driver/ios-scroll-delegate.js.map +1 -0
  70. package/dist/driver/ios.d.ts.map +1 -1
  71. package/dist/driver/ios.js +9 -0
  72. package/dist/driver/ios.js.map +1 -1
  73. package/dist/easing.d.ts +3 -1
  74. package/dist/easing.d.ts.map +1 -1
  75. package/dist/easing.js +18 -1
  76. package/dist/easing.js.map +1 -1
  77. package/dist/engine.d.ts +31 -2
  78. package/dist/engine.d.ts.map +1 -1
  79. package/dist/engine.js +194 -42
  80. package/dist/engine.js.map +1 -1
  81. package/dist/gesture-native.d.ts +28 -0
  82. package/dist/gesture-native.d.ts.map +1 -0
  83. package/dist/gesture-native.js +61 -0
  84. package/dist/gesture-native.js.map +1 -0
  85. package/dist/gestures/index.d.ts +69 -0
  86. package/dist/gestures/index.d.ts.map +1 -0
  87. package/dist/gestures/index.js +262 -0
  88. package/dist/gestures/index.js.map +1 -0
  89. package/dist/glass/index.d.ts +55 -0
  90. package/dist/glass/index.d.ts.map +1 -0
  91. package/dist/glass/index.js +205 -0
  92. package/dist/glass/index.js.map +1 -0
  93. package/dist/gradient-binding.d.ts +38 -0
  94. package/dist/gradient-binding.d.ts.map +1 -0
  95. package/dist/gradient-binding.js +128 -0
  96. package/dist/gradient-binding.js.map +1 -0
  97. package/dist/gradient.d.ts +105 -0
  98. package/dist/gradient.d.ts.map +1 -0
  99. package/dist/gradient.js +514 -0
  100. package/dist/gradient.js.map +1 -0
  101. package/dist/gravity.d.ts +13 -0
  102. package/dist/gravity.d.ts.map +1 -0
  103. package/dist/gravity.js +84 -0
  104. package/dist/gravity.js.map +1 -0
  105. package/dist/haptics.d.ts.map +1 -1
  106. package/dist/haptics.js +101 -28
  107. package/dist/haptics.js.map +1 -1
  108. package/dist/image-effect.d.ts +1 -0
  109. package/dist/image-effect.d.ts.map +1 -1
  110. package/dist/image-effect.js +10 -2
  111. package/dist/image-effect.js.map +1 -1
  112. package/dist/index.d.ts +19 -7
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +10 -4
  115. package/dist/index.js.map +1 -1
  116. package/dist/inspector/index.d.ts +86 -0
  117. package/dist/inspector/index.d.ts.map +1 -0
  118. package/dist/inspector/index.js +419 -0
  119. package/dist/inspector/index.js.map +1 -0
  120. package/dist/inspector/plot.d.ts +4 -0
  121. package/dist/inspector/plot.d.ts.map +1 -0
  122. package/dist/inspector/plot.js +23 -0
  123. package/dist/inspector/plot.js.map +1 -0
  124. package/dist/inspector/probe.d.ts +19 -0
  125. package/dist/inspector/probe.d.ts.map +1 -0
  126. package/dist/inspector/probe.js +37 -0
  127. package/dist/inspector/probe.js.map +1 -0
  128. package/dist/inspector/tuning.d.ts +19 -0
  129. package/dist/inspector/tuning.d.ts.map +1 -0
  130. package/dist/inspector/tuning.js +37 -0
  131. package/dist/inspector/tuning.js.map +1 -0
  132. package/dist/interactive-navigation/index.d.ts +44 -0
  133. package/dist/interactive-navigation/index.d.ts.map +1 -0
  134. package/dist/interactive-navigation/index.js +350 -0
  135. package/dist/interactive-navigation/index.js.map +1 -0
  136. package/dist/keyboard.d.ts +24 -0
  137. package/dist/keyboard.d.ts.map +1 -1
  138. package/dist/keyboard.js +199 -6
  139. package/dist/keyboard.js.map +1 -1
  140. package/dist/live-spring-driver.d.ts +52 -0
  141. package/dist/live-spring-driver.d.ts.map +1 -0
  142. package/dist/live-spring-driver.js +104 -0
  143. package/dist/live-spring-driver.js.map +1 -0
  144. package/dist/mixer.d.ts +55 -0
  145. package/dist/mixer.d.ts.map +1 -0
  146. package/dist/mixer.js +286 -0
  147. package/dist/mixer.js.map +1 -0
  148. package/dist/motion-scope.d.ts +8 -2
  149. package/dist/motion-scope.d.ts.map +1 -1
  150. package/dist/motion-scope.js +24 -3
  151. package/dist/motion-scope.js.map +1 -1
  152. package/dist/motion-states.d.ts +19 -7
  153. package/dist/motion-states.d.ts.map +1 -1
  154. package/dist/motion-states.js +116 -26
  155. package/dist/motion-states.js.map +1 -1
  156. package/dist/motion-value.d.ts +227 -0
  157. package/dist/motion-value.d.ts.map +1 -0
  158. package/dist/motion-value.js +1074 -0
  159. package/dist/motion-value.js.map +1 -0
  160. package/dist/native/index.d.ts +10 -0
  161. package/dist/native/index.d.ts.map +1 -0
  162. package/dist/native/index.js +6 -0
  163. package/dist/native/index.js.map +1 -0
  164. package/dist/native-properties.d.ts +28 -0
  165. package/dist/native-properties.d.ts.map +1 -0
  166. package/dist/native-properties.js +154 -0
  167. package/dist/native-properties.js.map +1 -0
  168. package/dist/native-property-driver.d.ts +19 -0
  169. package/dist/native-property-driver.d.ts.map +1 -0
  170. package/dist/native-property-driver.js +69 -0
  171. package/dist/native-property-driver.js.map +1 -0
  172. package/dist/native-property.d.ts +37 -0
  173. package/dist/native-property.d.ts.map +1 -0
  174. package/dist/native-property.js +285 -0
  175. package/dist/native-property.js.map +1 -0
  176. package/dist/particles.d.ts +5 -2
  177. package/dist/particles.d.ts.map +1 -1
  178. package/dist/particles.js +16 -10
  179. package/dist/particles.js.map +1 -1
  180. package/dist/path.d.ts.map +1 -1
  181. package/dist/path.js +2 -2
  182. package/dist/path.js.map +1 -1
  183. package/dist/physics/index.d.ts +139 -0
  184. package/dist/physics/index.d.ts.map +1 -0
  185. package/dist/physics/index.js +316 -0
  186. package/dist/physics/index.js.map +1 -0
  187. package/dist/physics/native.d.ts +54 -0
  188. package/dist/physics/native.d.ts.map +1 -0
  189. package/dist/physics/native.js +64 -0
  190. package/dist/physics/native.js.map +1 -0
  191. package/dist/playback-group.d.ts.map +1 -1
  192. package/dist/playback-group.js +17 -1
  193. package/dist/playback-group.js.map +1 -1
  194. package/dist/playback.d.ts +15 -0
  195. package/dist/playback.d.ts.map +1 -1
  196. package/dist/playback.js +23 -0
  197. package/dist/playback.js.map +1 -1
  198. package/dist/predictive-back/index.d.ts +45 -0
  199. package/dist/predictive-back/index.d.ts.map +1 -0
  200. package/dist/predictive-back/index.js +220 -0
  201. package/dist/predictive-back/index.js.map +1 -0
  202. package/dist/predictive-back/presentation.d.ts +4 -0
  203. package/dist/predictive-back/presentation.d.ts.map +1 -0
  204. package/dist/predictive-back/presentation.js +3 -0
  205. package/dist/predictive-back/presentation.js.map +1 -0
  206. package/dist/press.d.ts.map +1 -1
  207. package/dist/press.js +11 -2
  208. package/dist/press.js.map +1 -1
  209. package/dist/reorder/handle.d.ts +6 -0
  210. package/dist/reorder/handle.d.ts.map +1 -0
  211. package/dist/reorder/handle.js +10 -0
  212. package/dist/reorder/handle.js.map +1 -0
  213. package/dist/reorder/index.d.ts +10 -0
  214. package/dist/reorder/index.d.ts.map +1 -0
  215. package/dist/reorder/index.js +233 -0
  216. package/dist/reorder/index.js.map +1 -0
  217. package/dist/reorder/list-view.d.ts +5 -0
  218. package/dist/reorder/list-view.d.ts.map +1 -0
  219. package/dist/reorder/list-view.js +238 -0
  220. package/dist/reorder/list-view.js.map +1 -0
  221. package/dist/reorder/model.d.ts +6 -0
  222. package/dist/reorder/model.d.ts.map +1 -0
  223. package/dist/reorder/model.js +30 -0
  224. package/dist/reorder/model.js.map +1 -0
  225. package/dist/reorder/surface.d.ts +6 -0
  226. package/dist/reorder/surface.d.ts.map +1 -0
  227. package/dist/reorder/surface.js +10 -0
  228. package/dist/reorder/surface.js.map +1 -0
  229. package/dist/reorder/types.d.ts +92 -0
  230. package/dist/reorder/types.d.ts.map +1 -0
  231. package/dist/reorder/types.js +2 -0
  232. package/dist/reorder/types.js.map +1 -0
  233. package/dist/sampling.d.ts +35 -0
  234. package/dist/sampling.d.ts.map +1 -0
  235. package/dist/sampling.js +123 -0
  236. package/dist/sampling.js.map +1 -0
  237. package/dist/scene-appearance.d.ts +14 -0
  238. package/dist/scene-appearance.d.ts.map +1 -0
  239. package/dist/scene-appearance.js +68 -0
  240. package/dist/scene-appearance.js.map +1 -0
  241. package/dist/scene-camera.d.ts +5 -0
  242. package/dist/scene-camera.d.ts.map +1 -0
  243. package/dist/scene-camera.js +23 -0
  244. package/dist/scene-camera.js.map +1 -0
  245. package/dist/scene-shader.d.ts +18 -0
  246. package/dist/scene-shader.d.ts.map +1 -0
  247. package/dist/scene-shader.js +76 -0
  248. package/dist/scene-shader.js.map +1 -0
  249. package/dist/scroll-header/geometry.d.ts +18 -0
  250. package/dist/scroll-header/geometry.d.ts.map +1 -0
  251. package/dist/scroll-header/geometry.js +46 -0
  252. package/dist/scroll-header/geometry.js.map +1 -0
  253. package/dist/scroll-header/index.d.ts +48 -0
  254. package/dist/scroll-header/index.d.ts.map +1 -0
  255. package/dist/scroll-header/index.js +399 -0
  256. package/dist/scroll-header/index.js.map +1 -0
  257. package/dist/scroll-header/native.d.ts +28 -0
  258. package/dist/scroll-header/native.d.ts.map +1 -0
  259. package/dist/scroll-header/native.js +43 -0
  260. package/dist/scroll-header/native.js.map +1 -0
  261. package/dist/sensors/index.d.ts +69 -0
  262. package/dist/sensors/index.d.ts.map +1 -0
  263. package/dist/sensors/index.js +149 -0
  264. package/dist/sensors/index.js.map +1 -0
  265. package/dist/sensors/native.d.ts +20 -0
  266. package/dist/sensors/native.d.ts.map +1 -0
  267. package/dist/sensors/native.js +48 -0
  268. package/dist/sensors/native.js.map +1 -0
  269. package/dist/sequence.d.ts +24 -0
  270. package/dist/sequence.d.ts.map +1 -1
  271. package/dist/sequence.js +181 -19
  272. package/dist/sequence.js.map +1 -1
  273. package/dist/shapes/android.d.ts +3 -0
  274. package/dist/shapes/android.d.ts.map +1 -0
  275. package/dist/shapes/android.js +51 -0
  276. package/dist/shapes/android.js.map +1 -0
  277. package/dist/shapes/index.d.ts +6 -0
  278. package/dist/shapes/index.d.ts.map +1 -0
  279. package/dist/shapes/index.js +238 -0
  280. package/dist/shapes/index.js.map +1 -0
  281. package/dist/shapes/ios.d.ts +3 -0
  282. package/dist/shapes/ios.d.ts.map +1 -0
  283. package/dist/shapes/ios.js +164 -0
  284. package/dist/shapes/ios.js.map +1 -0
  285. package/dist/shapes/native.d.ts +18 -0
  286. package/dist/shapes/native.d.ts.map +1 -0
  287. package/dist/shapes/native.js +10 -0
  288. package/dist/shapes/native.js.map +1 -0
  289. package/dist/shapes/path.d.ts +10 -0
  290. package/dist/shapes/path.d.ts.map +1 -0
  291. package/dist/shapes/path.js +106 -0
  292. package/dist/shapes/path.js.map +1 -0
  293. package/dist/shapes/types.d.ts +55 -0
  294. package/dist/shapes/types.d.ts.map +1 -0
  295. package/dist/shapes/types.js +11 -0
  296. package/dist/shapes/types.js.map +1 -0
  297. package/dist/shared-layout/index.d.ts +40 -0
  298. package/dist/shared-layout/index.d.ts.map +1 -0
  299. package/dist/shared-layout/index.js +267 -0
  300. package/dist/shared-layout/index.js.map +1 -0
  301. package/dist/shared-layout/native.d.ts +15 -0
  302. package/dist/shared-layout/native.d.ts.map +1 -0
  303. package/dist/shared-layout/native.js +79 -0
  304. package/dist/shared-layout/native.js.map +1 -0
  305. package/dist/shared-layout/timing.d.ts +9 -0
  306. package/dist/shared-layout/timing.d.ts.map +1 -0
  307. package/dist/shared-layout/timing.js +68 -0
  308. package/dist/shared-layout/timing.js.map +1 -0
  309. package/dist/shared-navigation/entry.d.ts +51 -0
  310. package/dist/shared-navigation/entry.d.ts.map +1 -0
  311. package/dist/shared-navigation/entry.js +619 -0
  312. package/dist/shared-navigation/entry.js.map +1 -0
  313. package/dist/shared-navigation/index.d.ts +58 -0
  314. package/dist/shared-navigation/index.d.ts.map +1 -0
  315. package/dist/shared-navigation/index.js +318 -0
  316. package/dist/shared-navigation/index.js.map +1 -0
  317. package/dist/shared-navigation/return-signal.d.ts +16 -0
  318. package/dist/shared-navigation/return-signal.d.ts.map +1 -0
  319. package/dist/shared-navigation/return-signal.js +35 -0
  320. package/dist/shared-navigation/return-signal.js.map +1 -0
  321. package/dist/shared-navigation/return-target.d.ts +32 -0
  322. package/dist/shared-navigation/return-target.d.ts.map +1 -0
  323. package/dist/shared-navigation/return-target.js +168 -0
  324. package/dist/shared-navigation/return-target.js.map +1 -0
  325. package/dist/shared-navigation/scope.d.ts +4 -0
  326. package/dist/shared-navigation/scope.d.ts.map +1 -0
  327. package/dist/shared-navigation/scope.js +2 -0
  328. package/dist/shared-navigation/scope.js.map +1 -0
  329. package/dist/shared-navigation/targets.d.ts +6 -0
  330. package/dist/shared-navigation/targets.d.ts.map +1 -0
  331. package/dist/shared-navigation/targets.js +36 -0
  332. package/dist/shared-navigation/targets.js.map +1 -0
  333. package/dist/size-layout.d.ts +19 -0
  334. package/dist/size-layout.d.ts.map +1 -0
  335. package/dist/size-layout.js +216 -0
  336. package/dist/size-layout.js.map +1 -0
  337. package/dist/size.d.ts +19 -0
  338. package/dist/size.d.ts.map +1 -0
  339. package/dist/size.js +251 -0
  340. package/dist/size.js.map +1 -0
  341. package/dist/spring.d.ts +2 -0
  342. package/dist/spring.d.ts.map +1 -1
  343. package/dist/spring.js +11 -0
  344. package/dist/spring.js.map +1 -1
  345. package/dist/svg-path.d.ts +18 -0
  346. package/dist/svg-path.d.ts.map +1 -1
  347. package/dist/svg-path.js +3 -2
  348. package/dist/svg-path.js.map +1 -1
  349. package/dist/testing/clock.d.ts +40 -0
  350. package/dist/testing/clock.d.ts.map +1 -0
  351. package/dist/testing/clock.js +116 -0
  352. package/dist/testing/clock.js.map +1 -0
  353. package/dist/testing/handoff-recorder.d.ts +8 -0
  354. package/dist/testing/handoff-recorder.d.ts.map +1 -0
  355. package/dist/testing/handoff-recorder.js +77 -0
  356. package/dist/testing/handoff-recorder.js.map +1 -0
  357. package/dist/testing/index.d.ts +5 -0
  358. package/dist/testing/index.d.ts.map +1 -0
  359. package/dist/testing/index.js +5 -0
  360. package/dist/testing/index.js.map +1 -0
  361. package/dist/testing/native.d.ts +46 -0
  362. package/dist/testing/native.d.ts.map +1 -0
  363. package/dist/testing/native.js +313 -0
  364. package/dist/testing/native.js.map +1 -0
  365. package/dist/testing/presentation.d.ts +11 -0
  366. package/dist/testing/presentation.d.ts.map +1 -0
  367. package/dist/testing/presentation.js +45 -0
  368. package/dist/testing/presentation.js.map +1 -0
  369. package/dist/testing/replay.d.ts +39 -0
  370. package/dist/testing/replay.d.ts.map +1 -0
  371. package/dist/testing/replay.js +99 -0
  372. package/dist/testing/replay.js.map +1 -0
  373. package/dist/testing/scroll-handoff-native.d.ts +10 -0
  374. package/dist/testing/scroll-handoff-native.d.ts.map +1 -0
  375. package/dist/testing/scroll-handoff-native.js +151 -0
  376. package/dist/testing/scroll-handoff-native.js.map +1 -0
  377. package/dist/testing/scroll-handoff.d.ts +25 -0
  378. package/dist/testing/scroll-handoff.d.ts.map +1 -0
  379. package/dist/testing/scroll-handoff.js +127 -0
  380. package/dist/testing/scroll-handoff.js.map +1 -0
  381. package/dist/testing/sensors.d.ts +13 -0
  382. package/dist/testing/sensors.d.ts.map +1 -0
  383. package/dist/testing/sensors.js +26 -0
  384. package/dist/testing/sensors.js.map +1 -0
  385. package/dist/testing/trace.d.ts +101 -0
  386. package/dist/testing/trace.d.ts.map +1 -0
  387. package/dist/testing/trace.js +263 -0
  388. package/dist/testing/trace.js.map +1 -0
  389. package/dist/timed-animation.d.ts +38 -0
  390. package/dist/timed-animation.d.ts.map +1 -0
  391. package/dist/timed-animation.js +177 -0
  392. package/dist/timed-animation.js.map +1 -0
  393. package/dist/track.d.ts +3 -0
  394. package/dist/track.d.ts.map +1 -1
  395. package/dist/track.js +281 -40
  396. package/dist/track.js.map +1 -1
  397. package/dist/transition.d.ts +54 -2
  398. package/dist/transition.d.ts.map +1 -1
  399. package/dist/transition.js +128 -8
  400. package/dist/transition.js.map +1 -1
  401. package/dist/types.d.ts +10 -1
  402. package/dist/types.d.ts.map +1 -1
  403. package/dist/value-observers.d.ts +22 -0
  404. package/dist/value-observers.d.ts.map +1 -0
  405. package/dist/value-observers.js +122 -0
  406. package/dist/value-observers.js.map +1 -0
  407. package/dist/value-track.d.ts +13 -0
  408. package/dist/value-track.d.ts.map +1 -0
  409. package/dist/value-track.js +59 -0
  410. package/dist/value-track.js.map +1 -0
  411. package/dist/vue/index.d.ts +33 -3
  412. package/dist/vue/index.d.ts.map +1 -1
  413. package/dist/vue/index.js +118 -3
  414. package/dist/vue/index.js.map +1 -1
  415. package/dist/zoomable.d.ts +1 -1
  416. package/dist/zoomable.d.ts.map +1 -1
  417. package/package.json +68 -3
  418. package/platforms/android/include.gradle +10 -0
  419. package/platforms/android/java/org/rafaelaugusto/jolt/BlurEffect.java +89 -0
  420. package/platforms/android/java/org/rafaelaugusto/jolt/CircleMath.java +158 -0
  421. package/platforms/android/java/org/rafaelaugusto/jolt/CircleWorld.java +221 -0
  422. package/platforms/android/java/org/rafaelaugusto/jolt/GestureSession.java +227 -0
  423. package/platforms/android/java/org/rafaelaugusto/jolt/GestureSurface.java +54 -0
  424. package/platforms/android/java/org/rafaelaugusto/jolt/GradientLayer.java +224 -0
  425. package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardFrame.java +53 -0
  426. package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardFrameFollower.java +57 -0
  427. package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardObserver.java +97 -0
  428. package/platforms/android/java/org/rafaelaugusto/jolt/LiveSpring.java +277 -0
  429. package/platforms/android/java/org/rafaelaugusto/jolt/MotionProbe.java +70 -0
  430. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleEmitter.java +192 -0
  431. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleSimulation.java +114 -0
  432. package/platforms/android/java/org/rafaelaugusto/jolt/PredictiveBackSession.java +212 -0
  433. package/platforms/android/java/org/rafaelaugusto/jolt/ReorderHandle.java +25 -0
  434. package/platforms/android/java/org/rafaelaugusto/jolt/ReorderSession.java +213 -0
  435. package/platforms/android/java/org/rafaelaugusto/jolt/ReorderSurface.java +27 -0
  436. package/platforms/android/java/org/rafaelaugusto/jolt/ScrollHeader.java +84 -0
  437. package/platforms/android/java/org/rafaelaugusto/jolt/SensorMath.java +28 -0
  438. package/platforms/android/java/org/rafaelaugusto/jolt/SensorSource.java +217 -0
  439. package/platforms/android/java/org/rafaelaugusto/jolt/ShapeLayer.java +120 -0
  440. package/platforms/android/java/org/rafaelaugusto/jolt/SharedLayoutFlight.java +287 -0
  441. package/platforms/android/java/org/rafaelaugusto/jolt/SharedNavigationScene.java +115 -0
  442. package/platforms/android/java/org/rafaelaugusto/jolt/SpringState.java +39 -0
  443. package/platforms/android/proguard-rules.pro +20 -0
  444. package/platforms/ios/build.xcconfig +1 -1
  445. package/platforms/ios/src/JoltBlur.h +14 -0
  446. package/platforms/ios/src/JoltBlur.m +86 -0
  447. package/platforms/ios/src/JoltCircleMath.h +191 -0
  448. package/platforms/ios/src/JoltCircleWorld.h +18 -0
  449. package/platforms/ios/src/JoltCircleWorld.m +218 -0
  450. package/platforms/ios/src/JoltGestureSession.h +23 -0
  451. package/platforms/ios/src/JoltGestureSession.m +251 -0
  452. package/platforms/ios/src/JoltInteractiveNavigation.h +23 -0
  453. package/platforms/ios/src/JoltInteractiveNavigation.m +255 -0
  454. package/platforms/ios/src/JoltLiveSpring.h +29 -0
  455. package/platforms/ios/src/JoltLiveSpring.m +243 -0
  456. package/platforms/ios/src/JoltMotionProbe.h +9 -0
  457. package/platforms/ios/src/JoltMotionProbe.m +72 -0
  458. package/platforms/ios/src/JoltReorderSession.h +15 -0
  459. package/platforms/ios/src/JoltReorderSession.m +205 -0
  460. package/platforms/ios/src/JoltScrollHeader.h +13 -0
  461. package/platforms/ios/src/JoltScrollHeader.m +101 -0
  462. package/platforms/ios/src/JoltSensorMath.h +39 -0
  463. package/platforms/ios/src/JoltSensorSource.h +13 -0
  464. package/platforms/ios/src/JoltSensorSource.m +201 -0
  465. package/platforms/ios/src/JoltSharedLayoutFlight.h +19 -0
  466. package/platforms/ios/src/JoltSharedLayoutFlight.m +250 -0
  467. package/platforms/ios/src/JoltSpringState.h +35 -0
  468. package/platforms/ios/src/module.modulemap +10 -0
  469. package/src/android-plugin.d.ts +464 -0
  470. package/src/animate.ts +129 -15
  471. package/src/blur/index.ts +195 -0
  472. package/src/blur/native.ts +70 -0
  473. package/src/blur/types.ts +32 -0
  474. package/src/bottom-sheet/geometry.ts +84 -0
  475. package/src/bottom-sheet/index.ts +536 -0
  476. package/src/bottom-sheet/native.ts +214 -0
  477. package/src/config.ts +39 -1
  478. package/src/decay.ts +9 -0
  479. package/src/drag.ts +67 -21
  480. package/src/driver/android-gradient.ts +116 -0
  481. package/src/driver/android-particles.ts +118 -0
  482. package/src/driver/android.ts +31 -1
  483. package/src/driver/frame.ts +10 -0
  484. package/src/driver/index.ts +4 -0
  485. package/src/driver/ios-gradient.ts +136 -0
  486. package/src/driver/ios-scroll-delegate.ts +23 -0
  487. package/src/driver/ios.ts +10 -0
  488. package/src/easing.ts +21 -1
  489. package/src/engine.ts +209 -60
  490. package/src/gesture-native.ts +139 -0
  491. package/src/gestures/index.ts +365 -0
  492. package/src/glass/index.ts +218 -0
  493. package/src/gradient-binding.ts +158 -0
  494. package/src/gradient.ts +663 -0
  495. package/src/gravity.ts +107 -0
  496. package/src/haptics.ts +106 -28
  497. package/src/image-effect.ts +10 -2
  498. package/src/index.ts +56 -7
  499. package/src/inspector/index.ts +523 -0
  500. package/src/inspector/plot.ts +27 -0
  501. package/src/inspector/probe.ts +50 -0
  502. package/src/inspector/tuning.ts +51 -0
  503. package/src/interactive-navigation/index.ts +427 -0
  504. package/src/ios-plugin.d.ts +280 -0
  505. package/src/keyboard.ts +231 -7
  506. package/src/live-spring-driver.ts +181 -0
  507. package/src/mixer.ts +312 -0
  508. package/src/motion-scope.ts +39 -6
  509. package/src/motion-states.ts +149 -42
  510. package/src/motion-value.ts +1289 -0
  511. package/src/native/index.ts +30 -0
  512. package/src/native-properties.ts +188 -0
  513. package/src/native-property-driver.ts +123 -0
  514. package/src/native-property.ts +366 -0
  515. package/src/particles.ts +18 -17
  516. package/src/path.ts +2 -1
  517. package/src/physics/index.ts +476 -0
  518. package/src/physics/native.ts +121 -0
  519. package/src/playback-group.ts +17 -1
  520. package/src/playback.ts +41 -0
  521. package/src/predictive-back/index.ts +280 -0
  522. package/src/predictive-back/presentation.ts +6 -0
  523. package/src/press.ts +10 -2
  524. package/src/reorder/handle.ts +9 -0
  525. package/src/reorder/index.ts +243 -0
  526. package/src/reorder/list-view.ts +262 -0
  527. package/src/reorder/model.ts +47 -0
  528. package/src/reorder/surface.ts +10 -0
  529. package/src/reorder/types.ts +87 -0
  530. package/src/sampling.ts +173 -0
  531. package/src/scene-appearance.ts +92 -0
  532. package/src/scene-camera.ts +30 -0
  533. package/src/scene-shader.ts +139 -0
  534. package/src/scroll-header/geometry.ts +88 -0
  535. package/src/scroll-header/index.ts +530 -0
  536. package/src/scroll-header/native.ts +89 -0
  537. package/src/sensors/index.ts +246 -0
  538. package/src/sensors/native.ts +72 -0
  539. package/src/sequence.ts +209 -20
  540. package/src/shapes/android.ts +63 -0
  541. package/src/shapes/index.ts +267 -0
  542. package/src/shapes/ios.ts +194 -0
  543. package/src/shapes/native.ts +27 -0
  544. package/src/shapes/path.ts +127 -0
  545. package/src/shapes/types.ts +63 -0
  546. package/src/shared-layout/index.ts +343 -0
  547. package/src/shared-layout/native.ts +138 -0
  548. package/src/shared-layout/timing.ts +87 -0
  549. package/src/shared-navigation/entry.ts +695 -0
  550. package/src/shared-navigation/index.ts +414 -0
  551. package/src/shared-navigation/return-signal.ts +41 -0
  552. package/src/shared-navigation/return-target.ts +197 -0
  553. package/src/shared-navigation/scope.ts +3 -0
  554. package/src/shared-navigation/targets.ts +38 -0
  555. package/src/size-layout.ts +237 -0
  556. package/src/size.ts +302 -0
  557. package/src/spring.ts +18 -0
  558. package/src/svg-path.ts +8 -3
  559. package/src/testing/clock.ts +128 -0
  560. package/src/testing/handoff-recorder.ts +98 -0
  561. package/src/testing/index.ts +4 -0
  562. package/src/testing/native.ts +386 -0
  563. package/src/testing/presentation.ts +46 -0
  564. package/src/testing/replay.ts +149 -0
  565. package/src/testing/scroll-handoff-native.ts +201 -0
  566. package/src/testing/scroll-handoff.ts +140 -0
  567. package/src/testing/sensors.ts +41 -0
  568. package/src/testing/trace.ts +340 -0
  569. package/src/timed-animation.ts +192 -0
  570. package/src/track.ts +334 -38
  571. package/src/transition.ts +197 -9
  572. package/src/types.ts +11 -1
  573. package/src/value-observers.ts +147 -0
  574. package/src/value-track.ts +71 -0
  575. package/src/vue/index.ts +147 -1
  576. package/src/zoomable.ts +1 -1
package/src/gravity.ts ADDED
@@ -0,0 +1,107 @@
1
+ export interface GravityMotion {
2
+ duration: number
3
+ /** Exact impact and turning-point times, in milliseconds. */
4
+ breakpoints: number[]
5
+ position(time: number): number
6
+ velocity(time: number): number
7
+ interpolationError(start: number, end: number): number
8
+ }
9
+
10
+ export const DEFAULT_ACCELERATION = 1800
11
+ export const DEFAULT_RESTITUTION = 0.55
12
+ const MAX_FLIGHTS = 512
13
+ const MAX_DURATION = 60_000
14
+
15
+ /** Ballistic flights against one fixed boundary; no numerical integration or frame loop. */
16
+ export function solveGravity(
17
+ from: number,
18
+ to: number,
19
+ acceleration: number,
20
+ restitution: number,
21
+ velocity: number,
22
+ precision: number,
23
+ ): GravityMotion {
24
+ if (
25
+ ![from, to, acceleration, restitution, velocity, precision].every(Number.isFinite) ||
26
+ acceleration <= 0 ||
27
+ restitution < 0 ||
28
+ restitution >= 1 ||
29
+ precision <= 0
30
+ )
31
+ throw new RangeError(
32
+ 'Invalid gravity position, acceleration, restitution or velocity.',
33
+ )
34
+
35
+ const direction = to < from ? -1 : 1
36
+ const distance = Math.abs(to - from)
37
+ let speed = velocity * direction
38
+ const impact = Math.hypot(speed, Math.sqrt(2 * acceleration * distance))
39
+ if (!Number.isFinite(impact))
40
+ throw new RangeError('Gravity motion exceeds the finite numeric range.')
41
+ // This form avoids cancellation when moving quickly toward a nearby boundary.
42
+ let seconds =
43
+ speed >= 0
44
+ ? distance === 0
45
+ ? 0
46
+ : (2 * distance) / (impact + speed)
47
+ : (impact - speed) / acceleration
48
+ let duration = 0
49
+ const flights: { start: number; end: number; origin: number; speed: number }[] = []
50
+ const breakpoints: number[] = []
51
+ const addFlight = (origin: number, initial: number, length: number) => {
52
+ const end = duration + length * 1000
53
+ if (!Number.isFinite(end) || end > MAX_DURATION || flights.length >= MAX_FLIGHTS)
54
+ throw new RangeError(
55
+ 'Gravity motion must settle within 60 seconds and 512 flights.',
56
+ )
57
+ if (length > 0) {
58
+ const apex = duration - (initial / acceleration) * 1000
59
+ if (apex > duration && apex < end) breakpoints.push(apex)
60
+ flights.push({ start: duration, end, origin, speed: initial })
61
+ breakpoints.push(end)
62
+ duration = end
63
+ }
64
+ }
65
+ addFlight(-distance, speed, seconds)
66
+ speed = impact * restitution
67
+ while (speed > precision * 10 || (speed * speed) / (2 * acceleration) > precision) {
68
+ seconds = (2 * speed) / acceleration
69
+ addFlight(0, -speed, seconds)
70
+ speed *= restitution
71
+ }
72
+ const flightAt = (time: number) => {
73
+ let lo = 0,
74
+ hi = flights.length - 1
75
+ while (lo < hi) {
76
+ const mid = (lo + hi) >>> 1
77
+ if (time >= flights[mid]!.end) lo = mid + 1
78
+ else hi = mid
79
+ }
80
+ return flights[lo]!
81
+ }
82
+ return {
83
+ duration,
84
+ breakpoints,
85
+ position(time) {
86
+ if (time >= duration) return to
87
+ if (time <= 0) return from
88
+ const flight = flightAt(time)
89
+ const t = (time - flight.start) / 1000
90
+ return (
91
+ to +
92
+ direction *
93
+ Math.min(0, flight.origin + flight.speed * t + (acceleration * t * t) / 2)
94
+ )
95
+ },
96
+ velocity(time) {
97
+ if (duration === 0 || time >= duration) return 0
98
+ const flight = flightAt(Math.max(0, time))
99
+ return (
100
+ direction *
101
+ (flight.speed + (acceleration * (Math.max(0, time) - flight.start)) / 1000)
102
+ )
103
+ },
104
+ // Valid between mandatory impact seams. Each flight is an exact quadratic.
105
+ interpolationError: (start, end) => (acceleration * ((end - start) / 1000) ** 2) / 8,
106
+ }
107
+ }
package/src/haptics.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { isIOS, type View } from '@nativescript/core'
1
+ import { isAndroid, isIOS, type View } from '@nativescript/core'
2
2
  import type { Driver } from './driver/index.js'
3
3
  import type { Track } from './track.js'
4
4
 
@@ -39,7 +39,69 @@ export function resolveHaptic(haptic: Haptic | undefined): HapticOptions | undef
39
39
 
40
40
  const PREPARE_AHEAD = 100
41
41
  const MAX_LATENESS = 100
42
- const COMPLETION_TOLERANCE = 20
42
+
43
+ interface Feedback {
44
+ active(): boolean
45
+ enabled(): boolean
46
+ prepare?(): void
47
+ fire(): void
48
+ }
49
+
50
+ function feedbackFor(
51
+ view: View,
52
+ style: HapticStyle,
53
+ driver: Driver,
54
+ ): Feedback | undefined {
55
+ if (isAndroid) {
56
+ if (typeof android === 'undefined' || driver.reducedMotion?.()) return
57
+ const native = view.nativeViewProtected as android.view.View | undefined
58
+ if (!native) return
59
+ const sdk = android.os.Build.VERSION.SDK_INT
60
+ const constants = android.view.HapticFeedbackConstants
61
+ const effect =
62
+ style === 'heavy'
63
+ ? constants.LONG_PRESS
64
+ : style === 'medium' && sdk >= 23
65
+ ? constants.CONTEXT_CLICK
66
+ : style === 'light' && sdk >= 21
67
+ ? constants.CLOCK_TICK
68
+ : constants.KEYBOARD_TAP
69
+ return {
70
+ // Animator scale zero must also silence opacity/color feedback when
71
+ // configure({ reducedMotion: 'never' }) keeps a logical track alive.
72
+ enabled: () => !driver.reducedMotion?.(),
73
+ active: () =>
74
+ view.isLoaded &&
75
+ view.nativeViewProtected === native &&
76
+ !!native.getWindowToken() &&
77
+ native.getWindowVisibility() === 0 &&
78
+ native.isShown() &&
79
+ native.hasWindowFocus(),
80
+ // No ignore-setting flags, forced vibration or permission. A false result
81
+ // means the system declined this request; do not retry with a stronger effect.
82
+ fire: () => {
83
+ native.performHapticFeedback(effect)
84
+ },
85
+ }
86
+ }
87
+ if (!isIOS || typeof UIImpactFeedbackGenerator === 'undefined') return
88
+ const styles = { light: 0, medium: 1, heavy: 2 } satisfies Record<
89
+ HapticStyle,
90
+ UIImpactFeedbackStyle
91
+ >
92
+ const generator = UIImpactFeedbackGenerator.alloc().initWithStyle(styles[style])
93
+ const native = view.nativeViewProtected as UIView
94
+ return {
95
+ enabled: () => true,
96
+ active: () =>
97
+ view.isLoaded &&
98
+ view.nativeViewProtected === native &&
99
+ !!native.window &&
100
+ UIApplication.sharedApplication.applicationState === 0,
101
+ prepare: () => generator.prepare(),
102
+ fire: () => generator.impactOccurred(),
103
+ }
104
+ }
43
105
 
44
106
  /** Discrete feedback only: animation playback remains entirely native. */
45
107
  export function playHaptics(
@@ -50,7 +112,7 @@ export function playHaptics(
50
112
  startedAt: number,
51
113
  elapsedTime = () => driver.now() - startedAt,
52
114
  ) {
53
- if (!isIOS || !options || typeof UIImpactFeedbackGenerator === 'undefined') return
115
+ if (!options) return
54
116
  const moving = tracks.filter(
55
117
  (track) =>
56
118
  track.duration > 0 && track.values.some((value) => value !== track.values[0]),
@@ -62,25 +124,13 @@ export function playHaptics(
62
124
  const offsets = options.times
63
125
  ? options.times.map((time) => delay + (end - delay) * time)
64
126
  : [Math.max(...tracks.map((track) => track.arrival))]
65
- const styles = {
66
- light: 0,
67
- medium: 1,
68
- heavy: 2,
69
- } satisfies Record<HapticStyle, UIImpactFeedbackStyle>
70
- let generator: UIImpactFeedbackGenerator | undefined =
71
- UIImpactFeedbackGenerator.alloc().initWithStyle(styles[options.style])
72
- const native = view.nativeViewProtected as UIView
127
+ let feedback = feedbackFor(view, options.style, driver)
128
+ if (!feedback) return
73
129
  let paused = false
74
130
  let next = 0
75
131
  let cancelPrepare: (() => void) | undefined
76
132
  let cancelImpact: (() => void) | undefined
77
133
 
78
- const active = () =>
79
- view.isLoaded &&
80
- view.nativeViewProtected === native &&
81
- !!native.window &&
82
- UIApplication.sharedApplication.applicationState === 0 // UIApplicationState.Active
83
-
84
134
  const cancelTimers = () => {
85
135
  cancelPrepare?.()
86
136
  cancelImpact?.()
@@ -90,28 +140,54 @@ export function playHaptics(
90
140
  cancelPrepare?.()
91
141
  cancelImpact?.()
92
142
  cancelPrepare = cancelImpact = undefined
93
- generator = undefined
143
+ feedback = undefined
94
144
  view.off('unloaded', cancel)
95
145
  }
96
146
 
97
- const fire = (tolerance = 0) => {
98
- const elapsed = elapsedTime()
147
+ const fire = (elapsed = elapsedTime()) => {
99
148
  // A busy UI thread can delay timers. Drop stale impacts instead of replaying
100
149
  // several old taps at once when it becomes responsive again.
101
- while (next < offsets.length && offsets[next]! <= elapsed + tolerance) {
150
+ while (next < offsets.length && offsets[next]! <= elapsed) {
102
151
  const offset = offsets[next++]!
103
- if (active() && elapsed - offset <= MAX_LATENESS) generator?.impactOccurred()
152
+ if (feedback?.enabled() && feedback.active() && elapsed - offset <= MAX_LATENESS)
153
+ feedback.fire()
104
154
  }
105
155
  }
106
156
 
107
157
  const schedule = () => {
108
158
  if (paused) return
109
- if (!generator || next === offsets.length) return cancel()
159
+ if (!feedback?.enabled() || next === offsets.length) return cancel()
160
+ if (isAndroid) {
161
+ // Start pending markers together with the visual animators. Chaining a
162
+ // new ValueAnimator from each impact adds another first-frame startup
163
+ // delay, which can wrongly make subsequent points stale at fast scales.
164
+ const markers = new Set<() => void>()
165
+ cancelImpact = () => {
166
+ for (const release of markers) release()
167
+ markers.clear()
168
+ }
169
+ const arm = (index: number) => {
170
+ if (!feedback?.enabled()) return cancel()
171
+ // Native durations are integer milliseconds; zero completes synchronously.
172
+ const remaining = Math.max(1, offsets[index]! - elapsedTime())
173
+ const release = driver.after(remaining, () => {
174
+ markers.delete(release)
175
+ if (!feedback || paused) return
176
+ if (!feedback.enabled()) return cancel()
177
+ fire()
178
+ if (next === offsets.length) cancel()
179
+ else if (next <= index) arm(index)
180
+ })
181
+ markers.add(release)
182
+ }
183
+ for (let index = next; index < offsets.length; index++) arm(index)
184
+ return
185
+ }
110
186
  const remaining = offsets[next]! - elapsedTime()
111
- if (active()) generator.prepare()
112
- if (remaining > PREPARE_AHEAD) {
187
+ if (feedback.active()) feedback.prepare?.()
188
+ if (feedback.prepare && remaining > PREPARE_AHEAD) {
113
189
  cancelPrepare = driver.after(remaining - PREPARE_AHEAD, () => {
114
- if (active()) generator?.prepare()
190
+ if (feedback?.active()) feedback.prepare?.()
115
191
  })
116
192
  }
117
193
  cancelImpact = driver.after(Math.max(0, remaining), () => {
@@ -140,8 +216,10 @@ export function playHaptics(
140
216
  schedule()
141
217
  },
142
218
  finish() {
143
- // Native completion may beat the timer at the final keyframe by a frame.
144
- fire(COMPLETION_TOLERANCE)
219
+ // Native completion proves that the final frame was reached, even when
220
+ // a scaled/resumed clock sample is one frame behind. Earlier impacts are
221
+ // still judged against the end position, so stale points are not replayed.
222
+ fire(Math.max(end, elapsedTime()))
145
223
  cancel()
146
224
  },
147
225
  }
@@ -43,6 +43,7 @@ export interface ImageEffectDiagnostics {
43
43
  export interface ImageEffect extends Animation {
44
44
  readonly effect: ImageEffectName
45
45
  readonly paused: boolean
46
+ readonly duration: number
46
47
  /** Finite progress; distortion rejects seeking because it follows native touch input. */
47
48
  progress: number
48
49
  readonly diagnostics: Readonly<ImageEffectDiagnostics>
@@ -157,7 +158,7 @@ class Effect implements ImageEffect {
157
158
  for (const event of ['loaded', 'layoutChanged']) image.on(event, this.schedule)
158
159
  for (const event of ['imageSourceChange', 'stretchChange'])
159
160
  image.on(event, this.changed)
160
- image.on('unloaded', this.stop)
161
+ image.on('unloaded', this.unloaded)
161
162
  image.style.on('visibilityChange', this.visible)
162
163
  for (const event of surfaceChanges) image.style.on(event, this.changed)
163
164
  Application.on(Application.suspendEvent, this.suspend)
@@ -178,6 +179,9 @@ class Effect implements ImageEffect {
178
179
  get paused() {
179
180
  return this.userPaused
180
181
  }
182
+ get duration() {
183
+ return this.effect === 'distortion' ? Infinity : this.options.duration
184
+ }
181
185
  get progress() {
182
186
  return this.renderer?.progress ?? this.position
183
187
  }
@@ -240,7 +244,7 @@ class Effect implements ImageEffect {
240
244
  for (const event of ['loaded', 'layoutChanged']) this.image.off(event, this.schedule)
241
245
  for (const event of ['imageSourceChange', 'stretchChange'])
242
246
  this.image.off(event, this.changed)
243
- this.image.off('unloaded', this.stop)
247
+ this.image.off('unloaded', this.unloaded)
244
248
  this.image.style.off('visibilityChange', this.visible)
245
249
  for (const event of surfaceChanges) this.image.style.off(event, this.changed)
246
250
  Application.off(Application.suspendEvent, this.suspend)
@@ -272,6 +276,10 @@ class Effect implements ImageEffect {
272
276
  this.suspended = true
273
277
  this.renderer?.pause()
274
278
  }
279
+ private unloaded = () => {
280
+ if (Application.suspended && this.userPaused) return
281
+ this.stop()
282
+ }
275
283
  private resume = () => {
276
284
  this.suspended = false
277
285
  this.schedule()
package/src/index.ts CHANGED
@@ -1,17 +1,47 @@
1
- export { animate, decay, stop } from './animate.js'
1
+ export { timeline } from './sequence.js'
2
+ export type { TimelineAnimation, TimelineStep, PlayableAnimation } from './sequence.js'
3
+ export { playbackProgress } from './motion-value.js'
4
+ export { animate, decay, set, stop } from './animate.js'
5
+ export { bind, motionValue, scrollValue, springValue } from './motion-value.js'
6
+ export type {
7
+ Bindings,
8
+ DerivedColor,
9
+ DerivedValue,
10
+ MapOptions,
11
+ MotionValue,
12
+ ScrollValue,
13
+ SpringValue,
14
+ SpringValueOptions,
15
+ ValueAnimationOptions,
16
+ } from './motion-value.js'
17
+ export type { SubscribeOptions, ValueListener } from './value-observers.js'
2
18
  export { sequence } from './sequence.js'
3
19
  export type { Step, SequenceOptions, SequencePosition } from './sequence.js'
4
20
  export { press } from './press.js'
5
21
  export { interactionSurface } from './interaction-surface.js'
6
22
  export type { InteractionSurface } from './interaction-surface.js'
7
23
  export { drag } from './drag.js'
8
- export type { Drag, DragOptions, DragPoint, DragEvent, DragRelease } from './drag.js'
24
+ export type {
25
+ Drag,
26
+ DragOptions,
27
+ DragValueOptions,
28
+ DragPoint,
29
+ DragEvent,
30
+ DragRelease,
31
+ } from './drag.js'
9
32
  export { scrollLinked } from './scroll-linked.js'
10
33
  export type { ScrollLinkedOptions } from './scroll-linked.js'
34
+ export { scrollHeader } from './scroll-header/index.js'
35
+ export type {
36
+ ScrollHeader,
37
+ ScrollHeaderOptions,
38
+ ScrollHeaderGeometry,
39
+ ScrollHeaderSnapshot,
40
+ } from './scroll-header/index.js'
11
41
  export { animateItems } from './items.js'
12
42
  export type { ItemsOptions } from './items.js'
13
- export { followKeyboard } from './keyboard.js'
14
- export type { KeyboardOptions } from './keyboard.js'
43
+ export { followKeyboard, onKeyboard } from './keyboard.js'
44
+ export type { KeyboardOptions, KeyboardState } from './keyboard.js'
15
45
  export type { Haptic, HapticOptions, HapticStyle } from './haptics.js'
16
46
  export { confetti, particles } from './particles.js'
17
47
  export type { ConfettiOptions, ParticleOptions } from './particles.js'
@@ -42,12 +72,29 @@ export type {
42
72
  SymbolEffectName,
43
73
  SymbolEffectOptions,
44
74
  } from './symbol-effect.js'
45
- export { configure } from './config.js'
75
+ export { gradient } from './gradient.js'
76
+ export type {
77
+ Gradient,
78
+ GradientOptions,
79
+ GradientType,
80
+ GradientValues,
81
+ GradientBindings,
82
+ } from './gradient.js'
83
+ export { configure, onReducedMotion, reducedMotion } from './config.js'
46
84
  export type { JoltConfig } from './config.js'
47
85
  export { definePreset, presets } from './presets.js'
48
86
  export type { Preset, PresetName, Presets } from './presets.js'
49
- export { springs } from './transition.js'
50
- export type { Spring, SpringName, Timing, Transition, Tween } from './transition.js'
87
+ export { origamiSpring, springs } from './transition.js'
88
+ export type {
89
+ OrigamiSpring,
90
+ Gravity,
91
+ RepeatDelayRange,
92
+ Spring,
93
+ SpringName,
94
+ Timing,
95
+ Transition,
96
+ Tween,
97
+ } from './transition.js'
51
98
  export { cubicBezier } from './easing.js'
52
99
  export type { CubicBezier, Easing, EasingFunction, EasingName } from './easing.js'
53
100
  export type { PlaybackAnimation } from './playback.js'
@@ -67,3 +114,5 @@ export type {
67
114
 
68
115
  export { animateLayout } from './layout.js'
69
116
  export type { LayoutOptions } from './layout.js'
117
+ export { animateSize } from './size.js'
118
+ export type { SizeAnimation, SizeDimensions, SizeOptions } from './size.js'