@rafaelaugusto/jolt 0.1.0-beta.8 → 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/README.md +136 -15
  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 +67 -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 +14 -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-layout.d.ts +9 -0
  67. package/dist/driver/ios-layout.d.ts.map +1 -0
  68. package/dist/driver/ios-layout.js +52 -0
  69. package/dist/driver/ios-layout.js.map +1 -0
  70. package/dist/driver/ios-scroll-delegate.d.ts +4 -0
  71. package/dist/driver/ios-scroll-delegate.d.ts.map +1 -0
  72. package/dist/driver/ios-scroll-delegate.js +26 -0
  73. package/dist/driver/ios-scroll-delegate.js.map +1 -0
  74. package/dist/driver/ios.d.ts.map +1 -1
  75. package/dist/driver/ios.js +57 -1
  76. package/dist/driver/ios.js.map +1 -1
  77. package/dist/easing.d.ts +3 -1
  78. package/dist/easing.d.ts.map +1 -1
  79. package/dist/easing.js +18 -1
  80. package/dist/easing.js.map +1 -1
  81. package/dist/engine.d.ts +35 -2
  82. package/dist/engine.d.ts.map +1 -1
  83. package/dist/engine.js +211 -42
  84. package/dist/engine.js.map +1 -1
  85. package/dist/gesture-native.d.ts +28 -0
  86. package/dist/gesture-native.d.ts.map +1 -0
  87. package/dist/gesture-native.js +61 -0
  88. package/dist/gesture-native.js.map +1 -0
  89. package/dist/gestures/index.d.ts +69 -0
  90. package/dist/gestures/index.d.ts.map +1 -0
  91. package/dist/gestures/index.js +262 -0
  92. package/dist/gestures/index.js.map +1 -0
  93. package/dist/glass/index.d.ts +55 -0
  94. package/dist/glass/index.d.ts.map +1 -0
  95. package/dist/glass/index.js +205 -0
  96. package/dist/glass/index.js.map +1 -0
  97. package/dist/gradient-binding.d.ts +38 -0
  98. package/dist/gradient-binding.d.ts.map +1 -0
  99. package/dist/gradient-binding.js +128 -0
  100. package/dist/gradient-binding.js.map +1 -0
  101. package/dist/gradient.d.ts +105 -0
  102. package/dist/gradient.d.ts.map +1 -0
  103. package/dist/gradient.js +514 -0
  104. package/dist/gradient.js.map +1 -0
  105. package/dist/gravity.d.ts +13 -0
  106. package/dist/gravity.d.ts.map +1 -0
  107. package/dist/gravity.js +84 -0
  108. package/dist/gravity.js.map +1 -0
  109. package/dist/haptics.d.ts.map +1 -1
  110. package/dist/haptics.js +101 -28
  111. package/dist/haptics.js.map +1 -1
  112. package/dist/image-effect.d.ts +1 -0
  113. package/dist/image-effect.d.ts.map +1 -1
  114. package/dist/image-effect.js +10 -2
  115. package/dist/image-effect.js.map +1 -1
  116. package/dist/index.d.ts +21 -7
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +11 -4
  119. package/dist/index.js.map +1 -1
  120. package/dist/inspector/index.d.ts +86 -0
  121. package/dist/inspector/index.d.ts.map +1 -0
  122. package/dist/inspector/index.js +419 -0
  123. package/dist/inspector/index.js.map +1 -0
  124. package/dist/inspector/plot.d.ts +4 -0
  125. package/dist/inspector/plot.d.ts.map +1 -0
  126. package/dist/inspector/plot.js +23 -0
  127. package/dist/inspector/plot.js.map +1 -0
  128. package/dist/inspector/probe.d.ts +19 -0
  129. package/dist/inspector/probe.d.ts.map +1 -0
  130. package/dist/inspector/probe.js +37 -0
  131. package/dist/inspector/probe.js.map +1 -0
  132. package/dist/inspector/tuning.d.ts +19 -0
  133. package/dist/inspector/tuning.d.ts.map +1 -0
  134. package/dist/inspector/tuning.js +37 -0
  135. package/dist/inspector/tuning.js.map +1 -0
  136. package/dist/interactive-navigation/index.d.ts +44 -0
  137. package/dist/interactive-navigation/index.d.ts.map +1 -0
  138. package/dist/interactive-navigation/index.js +314 -0
  139. package/dist/interactive-navigation/index.js.map +1 -0
  140. package/dist/keyboard.d.ts +24 -0
  141. package/dist/keyboard.d.ts.map +1 -1
  142. package/dist/keyboard.js +199 -6
  143. package/dist/keyboard.js.map +1 -1
  144. package/dist/layout.d.ts +13 -0
  145. package/dist/layout.d.ts.map +1 -0
  146. package/dist/layout.js +348 -0
  147. package/dist/layout.js.map +1 -0
  148. package/dist/live-spring-driver.d.ts +52 -0
  149. package/dist/live-spring-driver.d.ts.map +1 -0
  150. package/dist/live-spring-driver.js +104 -0
  151. package/dist/live-spring-driver.js.map +1 -0
  152. package/dist/mixer.d.ts +55 -0
  153. package/dist/mixer.d.ts.map +1 -0
  154. package/dist/mixer.js +278 -0
  155. package/dist/mixer.js.map +1 -0
  156. package/dist/motion-scope.d.ts +10 -2
  157. package/dist/motion-scope.d.ts.map +1 -1
  158. package/dist/motion-scope.js +30 -3
  159. package/dist/motion-scope.js.map +1 -1
  160. package/dist/motion-states.d.ts +19 -7
  161. package/dist/motion-states.d.ts.map +1 -1
  162. package/dist/motion-states.js +116 -26
  163. package/dist/motion-states.js.map +1 -1
  164. package/dist/motion-value.d.ts +227 -0
  165. package/dist/motion-value.d.ts.map +1 -0
  166. package/dist/motion-value.js +1074 -0
  167. package/dist/motion-value.js.map +1 -0
  168. package/dist/native/index.d.ts +10 -0
  169. package/dist/native/index.d.ts.map +1 -0
  170. package/dist/native/index.js +6 -0
  171. package/dist/native/index.js.map +1 -0
  172. package/dist/native-properties.d.ts +28 -0
  173. package/dist/native-properties.d.ts.map +1 -0
  174. package/dist/native-properties.js +154 -0
  175. package/dist/native-properties.js.map +1 -0
  176. package/dist/native-property-driver.d.ts +19 -0
  177. package/dist/native-property-driver.d.ts.map +1 -0
  178. package/dist/native-property-driver.js +69 -0
  179. package/dist/native-property-driver.js.map +1 -0
  180. package/dist/native-property.d.ts +37 -0
  181. package/dist/native-property.d.ts.map +1 -0
  182. package/dist/native-property.js +285 -0
  183. package/dist/native-property.js.map +1 -0
  184. package/dist/particles.d.ts +5 -2
  185. package/dist/particles.d.ts.map +1 -1
  186. package/dist/particles.js +16 -10
  187. package/dist/particles.js.map +1 -1
  188. package/dist/path.d.ts.map +1 -1
  189. package/dist/path.js +2 -2
  190. package/dist/path.js.map +1 -1
  191. package/dist/physics/index.d.ts +116 -0
  192. package/dist/physics/index.d.ts.map +1 -0
  193. package/dist/physics/index.js +306 -0
  194. package/dist/physics/index.js.map +1 -0
  195. package/dist/physics/native.d.ts +53 -0
  196. package/dist/physics/native.d.ts.map +1 -0
  197. package/dist/physics/native.js +58 -0
  198. package/dist/physics/native.js.map +1 -0
  199. package/dist/playback-group.d.ts.map +1 -1
  200. package/dist/playback-group.js +17 -1
  201. package/dist/playback-group.js.map +1 -1
  202. package/dist/playback.d.ts +15 -0
  203. package/dist/playback.d.ts.map +1 -1
  204. package/dist/playback.js +23 -0
  205. package/dist/playback.js.map +1 -1
  206. package/dist/predictive-back/index.d.ts +45 -0
  207. package/dist/predictive-back/index.d.ts.map +1 -0
  208. package/dist/predictive-back/index.js +220 -0
  209. package/dist/predictive-back/index.js.map +1 -0
  210. package/dist/predictive-back/presentation.d.ts +4 -0
  211. package/dist/predictive-back/presentation.d.ts.map +1 -0
  212. package/dist/predictive-back/presentation.js +3 -0
  213. package/dist/predictive-back/presentation.js.map +1 -0
  214. package/dist/reorder/handle.d.ts +6 -0
  215. package/dist/reorder/handle.d.ts.map +1 -0
  216. package/dist/reorder/handle.js +10 -0
  217. package/dist/reorder/handle.js.map +1 -0
  218. package/dist/reorder/index.d.ts +10 -0
  219. package/dist/reorder/index.d.ts.map +1 -0
  220. package/dist/reorder/index.js +233 -0
  221. package/dist/reorder/index.js.map +1 -0
  222. package/dist/reorder/list-view.d.ts +5 -0
  223. package/dist/reorder/list-view.d.ts.map +1 -0
  224. package/dist/reorder/list-view.js +238 -0
  225. package/dist/reorder/list-view.js.map +1 -0
  226. package/dist/reorder/model.d.ts +6 -0
  227. package/dist/reorder/model.d.ts.map +1 -0
  228. package/dist/reorder/model.js +30 -0
  229. package/dist/reorder/model.js.map +1 -0
  230. package/dist/reorder/surface.d.ts +6 -0
  231. package/dist/reorder/surface.d.ts.map +1 -0
  232. package/dist/reorder/surface.js +10 -0
  233. package/dist/reorder/surface.js.map +1 -0
  234. package/dist/reorder/types.d.ts +92 -0
  235. package/dist/reorder/types.d.ts.map +1 -0
  236. package/dist/reorder/types.js +2 -0
  237. package/dist/reorder/types.js.map +1 -0
  238. package/dist/sampling.d.ts +35 -0
  239. package/dist/sampling.d.ts.map +1 -0
  240. package/dist/sampling.js +123 -0
  241. package/dist/sampling.js.map +1 -0
  242. package/dist/scene-appearance.d.ts +14 -0
  243. package/dist/scene-appearance.d.ts.map +1 -0
  244. package/dist/scene-appearance.js +68 -0
  245. package/dist/scene-appearance.js.map +1 -0
  246. package/dist/scene-camera.d.ts +5 -0
  247. package/dist/scene-camera.d.ts.map +1 -0
  248. package/dist/scene-camera.js +23 -0
  249. package/dist/scene-camera.js.map +1 -0
  250. package/dist/scene-shader.d.ts +18 -0
  251. package/dist/scene-shader.d.ts.map +1 -0
  252. package/dist/scene-shader.js +76 -0
  253. package/dist/scene-shader.js.map +1 -0
  254. package/dist/scroll-header/geometry.d.ts +18 -0
  255. package/dist/scroll-header/geometry.d.ts.map +1 -0
  256. package/dist/scroll-header/geometry.js +46 -0
  257. package/dist/scroll-header/geometry.js.map +1 -0
  258. package/dist/scroll-header/index.d.ts +48 -0
  259. package/dist/scroll-header/index.d.ts.map +1 -0
  260. package/dist/scroll-header/index.js +373 -0
  261. package/dist/scroll-header/index.js.map +1 -0
  262. package/dist/scroll-header/native.d.ts +28 -0
  263. package/dist/scroll-header/native.d.ts.map +1 -0
  264. package/dist/scroll-header/native.js +43 -0
  265. package/dist/scroll-header/native.js.map +1 -0
  266. package/dist/sensors/index.d.ts +69 -0
  267. package/dist/sensors/index.d.ts.map +1 -0
  268. package/dist/sensors/index.js +149 -0
  269. package/dist/sensors/index.js.map +1 -0
  270. package/dist/sensors/native.d.ts +20 -0
  271. package/dist/sensors/native.d.ts.map +1 -0
  272. package/dist/sensors/native.js +48 -0
  273. package/dist/sensors/native.js.map +1 -0
  274. package/dist/sequence.d.ts +24 -0
  275. package/dist/sequence.d.ts.map +1 -1
  276. package/dist/sequence.js +181 -19
  277. package/dist/sequence.js.map +1 -1
  278. package/dist/shapes/android.d.ts +3 -0
  279. package/dist/shapes/android.d.ts.map +1 -0
  280. package/dist/shapes/android.js +51 -0
  281. package/dist/shapes/android.js.map +1 -0
  282. package/dist/shapes/index.d.ts +6 -0
  283. package/dist/shapes/index.d.ts.map +1 -0
  284. package/dist/shapes/index.js +238 -0
  285. package/dist/shapes/index.js.map +1 -0
  286. package/dist/shapes/ios.d.ts +3 -0
  287. package/dist/shapes/ios.d.ts.map +1 -0
  288. package/dist/shapes/ios.js +164 -0
  289. package/dist/shapes/ios.js.map +1 -0
  290. package/dist/shapes/native.d.ts +18 -0
  291. package/dist/shapes/native.d.ts.map +1 -0
  292. package/dist/shapes/native.js +10 -0
  293. package/dist/shapes/native.js.map +1 -0
  294. package/dist/shapes/path.d.ts +10 -0
  295. package/dist/shapes/path.d.ts.map +1 -0
  296. package/dist/shapes/path.js +106 -0
  297. package/dist/shapes/path.js.map +1 -0
  298. package/dist/shapes/types.d.ts +55 -0
  299. package/dist/shapes/types.d.ts.map +1 -0
  300. package/dist/shapes/types.js +11 -0
  301. package/dist/shapes/types.js.map +1 -0
  302. package/dist/shared-layout/index.d.ts +40 -0
  303. package/dist/shared-layout/index.d.ts.map +1 -0
  304. package/dist/shared-layout/index.js +267 -0
  305. package/dist/shared-layout/index.js.map +1 -0
  306. package/dist/shared-layout/native.d.ts +15 -0
  307. package/dist/shared-layout/native.d.ts.map +1 -0
  308. package/dist/shared-layout/native.js +79 -0
  309. package/dist/shared-layout/native.js.map +1 -0
  310. package/dist/shared-layout/timing.d.ts +9 -0
  311. package/dist/shared-layout/timing.d.ts.map +1 -0
  312. package/dist/shared-layout/timing.js +68 -0
  313. package/dist/shared-layout/timing.js.map +1 -0
  314. package/dist/shared-navigation/entry.d.ts +51 -0
  315. package/dist/shared-navigation/entry.d.ts.map +1 -0
  316. package/dist/shared-navigation/entry.js +619 -0
  317. package/dist/shared-navigation/entry.js.map +1 -0
  318. package/dist/shared-navigation/index.d.ts +58 -0
  319. package/dist/shared-navigation/index.d.ts.map +1 -0
  320. package/dist/shared-navigation/index.js +318 -0
  321. package/dist/shared-navigation/index.js.map +1 -0
  322. package/dist/shared-navigation/return-signal.d.ts +16 -0
  323. package/dist/shared-navigation/return-signal.d.ts.map +1 -0
  324. package/dist/shared-navigation/return-signal.js +35 -0
  325. package/dist/shared-navigation/return-signal.js.map +1 -0
  326. package/dist/shared-navigation/return-target.d.ts +32 -0
  327. package/dist/shared-navigation/return-target.d.ts.map +1 -0
  328. package/dist/shared-navigation/return-target.js +168 -0
  329. package/dist/shared-navigation/return-target.js.map +1 -0
  330. package/dist/shared-navigation/scope.d.ts +4 -0
  331. package/dist/shared-navigation/scope.d.ts.map +1 -0
  332. package/dist/shared-navigation/scope.js +2 -0
  333. package/dist/shared-navigation/scope.js.map +1 -0
  334. package/dist/shared-navigation/targets.d.ts +6 -0
  335. package/dist/shared-navigation/targets.d.ts.map +1 -0
  336. package/dist/shared-navigation/targets.js +36 -0
  337. package/dist/shared-navigation/targets.js.map +1 -0
  338. package/dist/size-layout.d.ts +19 -0
  339. package/dist/size-layout.d.ts.map +1 -0
  340. package/dist/size-layout.js +216 -0
  341. package/dist/size-layout.js.map +1 -0
  342. package/dist/size.d.ts +19 -0
  343. package/dist/size.d.ts.map +1 -0
  344. package/dist/size.js +251 -0
  345. package/dist/size.js.map +1 -0
  346. package/dist/spring.d.ts +2 -0
  347. package/dist/spring.d.ts.map +1 -1
  348. package/dist/spring.js +11 -0
  349. package/dist/spring.js.map +1 -1
  350. package/dist/svg-path.d.ts +18 -0
  351. package/dist/svg-path.d.ts.map +1 -1
  352. package/dist/svg-path.js +3 -2
  353. package/dist/svg-path.js.map +1 -1
  354. package/dist/testing/clock.d.ts +40 -0
  355. package/dist/testing/clock.d.ts.map +1 -0
  356. package/dist/testing/clock.js +116 -0
  357. package/dist/testing/clock.js.map +1 -0
  358. package/dist/testing/handoff-recorder.d.ts +8 -0
  359. package/dist/testing/handoff-recorder.d.ts.map +1 -0
  360. package/dist/testing/handoff-recorder.js +77 -0
  361. package/dist/testing/handoff-recorder.js.map +1 -0
  362. package/dist/testing/index.d.ts +5 -0
  363. package/dist/testing/index.d.ts.map +1 -0
  364. package/dist/testing/index.js +5 -0
  365. package/dist/testing/index.js.map +1 -0
  366. package/dist/testing/native.d.ts +46 -0
  367. package/dist/testing/native.d.ts.map +1 -0
  368. package/dist/testing/native.js +313 -0
  369. package/dist/testing/native.js.map +1 -0
  370. package/dist/testing/presentation.d.ts +11 -0
  371. package/dist/testing/presentation.d.ts.map +1 -0
  372. package/dist/testing/presentation.js +45 -0
  373. package/dist/testing/presentation.js.map +1 -0
  374. package/dist/testing/replay.d.ts +39 -0
  375. package/dist/testing/replay.d.ts.map +1 -0
  376. package/dist/testing/replay.js +99 -0
  377. package/dist/testing/replay.js.map +1 -0
  378. package/dist/testing/scroll-handoff-native.d.ts +10 -0
  379. package/dist/testing/scroll-handoff-native.d.ts.map +1 -0
  380. package/dist/testing/scroll-handoff-native.js +151 -0
  381. package/dist/testing/scroll-handoff-native.js.map +1 -0
  382. package/dist/testing/scroll-handoff.d.ts +25 -0
  383. package/dist/testing/scroll-handoff.d.ts.map +1 -0
  384. package/dist/testing/scroll-handoff.js +127 -0
  385. package/dist/testing/scroll-handoff.js.map +1 -0
  386. package/dist/testing/sensors.d.ts +13 -0
  387. package/dist/testing/sensors.d.ts.map +1 -0
  388. package/dist/testing/sensors.js +26 -0
  389. package/dist/testing/sensors.js.map +1 -0
  390. package/dist/testing/trace.d.ts +101 -0
  391. package/dist/testing/trace.d.ts.map +1 -0
  392. package/dist/testing/trace.js +263 -0
  393. package/dist/testing/trace.js.map +1 -0
  394. package/dist/timed-animation.d.ts +38 -0
  395. package/dist/timed-animation.d.ts.map +1 -0
  396. package/dist/timed-animation.js +177 -0
  397. package/dist/timed-animation.js.map +1 -0
  398. package/dist/track.d.ts +3 -0
  399. package/dist/track.d.ts.map +1 -1
  400. package/dist/track.js +281 -40
  401. package/dist/track.js.map +1 -1
  402. package/dist/transition.d.ts +54 -2
  403. package/dist/transition.d.ts.map +1 -1
  404. package/dist/transition.js +128 -8
  405. package/dist/transition.js.map +1 -1
  406. package/dist/types.d.ts +10 -1
  407. package/dist/types.d.ts.map +1 -1
  408. package/dist/value-observers.d.ts +22 -0
  409. package/dist/value-observers.d.ts.map +1 -0
  410. package/dist/value-observers.js +122 -0
  411. package/dist/value-observers.js.map +1 -0
  412. package/dist/value-track.d.ts +13 -0
  413. package/dist/value-track.d.ts.map +1 -0
  414. package/dist/value-track.js +59 -0
  415. package/dist/value-track.js.map +1 -0
  416. package/dist/vue/index.d.ts +33 -3
  417. package/dist/vue/index.d.ts.map +1 -1
  418. package/dist/vue/index.js +118 -3
  419. package/dist/vue/index.js.map +1 -1
  420. package/dist/zoomable.d.ts +1 -1
  421. package/dist/zoomable.d.ts.map +1 -1
  422. package/package.json +68 -3
  423. package/platforms/android/include.gradle +10 -0
  424. package/platforms/android/java/org/rafaelaugusto/jolt/BlurEffect.java +89 -0
  425. package/platforms/android/java/org/rafaelaugusto/jolt/CircleMath.java +151 -0
  426. package/platforms/android/java/org/rafaelaugusto/jolt/CircleWorld.java +210 -0
  427. package/platforms/android/java/org/rafaelaugusto/jolt/GestureSession.java +227 -0
  428. package/platforms/android/java/org/rafaelaugusto/jolt/GestureSurface.java +54 -0
  429. package/platforms/android/java/org/rafaelaugusto/jolt/GradientLayer.java +224 -0
  430. package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardFrame.java +53 -0
  431. package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardFrameFollower.java +57 -0
  432. package/platforms/android/java/org/rafaelaugusto/jolt/KeyboardObserver.java +97 -0
  433. package/platforms/android/java/org/rafaelaugusto/jolt/LiveSpring.java +277 -0
  434. package/platforms/android/java/org/rafaelaugusto/jolt/MotionProbe.java +70 -0
  435. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleEmitter.java +192 -0
  436. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleSimulation.java +114 -0
  437. package/platforms/android/java/org/rafaelaugusto/jolt/PredictiveBackSession.java +212 -0
  438. package/platforms/android/java/org/rafaelaugusto/jolt/ReorderHandle.java +25 -0
  439. package/platforms/android/java/org/rafaelaugusto/jolt/ReorderSession.java +213 -0
  440. package/platforms/android/java/org/rafaelaugusto/jolt/ReorderSurface.java +27 -0
  441. package/platforms/android/java/org/rafaelaugusto/jolt/ScrollHeader.java +84 -0
  442. package/platforms/android/java/org/rafaelaugusto/jolt/SensorMath.java +28 -0
  443. package/platforms/android/java/org/rafaelaugusto/jolt/SensorSource.java +217 -0
  444. package/platforms/android/java/org/rafaelaugusto/jolt/ShapeLayer.java +120 -0
  445. package/platforms/android/java/org/rafaelaugusto/jolt/SharedLayoutFlight.java +287 -0
  446. package/platforms/android/java/org/rafaelaugusto/jolt/SharedNavigationScene.java +115 -0
  447. package/platforms/android/java/org/rafaelaugusto/jolt/SpringState.java +39 -0
  448. package/platforms/android/proguard-rules.pro +20 -0
  449. package/platforms/ios/build.xcconfig +1 -1
  450. package/platforms/ios/src/JoltBlur.h +14 -0
  451. package/platforms/ios/src/JoltBlur.m +86 -0
  452. package/platforms/ios/src/JoltCircleMath.h +183 -0
  453. package/platforms/ios/src/JoltCircleWorld.h +17 -0
  454. package/platforms/ios/src/JoltCircleWorld.m +203 -0
  455. package/platforms/ios/src/JoltGestureSession.h +23 -0
  456. package/platforms/ios/src/JoltGestureSession.m +251 -0
  457. package/platforms/ios/src/JoltInteractiveNavigation.h +23 -0
  458. package/platforms/ios/src/JoltInteractiveNavigation.m +255 -0
  459. package/platforms/ios/src/JoltLiveSpring.h +29 -0
  460. package/platforms/ios/src/JoltLiveSpring.m +243 -0
  461. package/platforms/ios/src/JoltMotionProbe.h +9 -0
  462. package/platforms/ios/src/JoltMotionProbe.m +72 -0
  463. package/platforms/ios/src/JoltReorderSession.h +15 -0
  464. package/platforms/ios/src/JoltReorderSession.m +205 -0
  465. package/platforms/ios/src/JoltScrollHeader.h +13 -0
  466. package/platforms/ios/src/JoltScrollHeader.m +93 -0
  467. package/platforms/ios/src/JoltSensorMath.h +39 -0
  468. package/platforms/ios/src/JoltSensorSource.h +13 -0
  469. package/platforms/ios/src/JoltSensorSource.m +201 -0
  470. package/platforms/ios/src/JoltSharedLayoutFlight.h +19 -0
  471. package/platforms/ios/src/JoltSharedLayoutFlight.m +250 -0
  472. package/platforms/ios/src/JoltSpringState.h +35 -0
  473. package/platforms/ios/src/module.modulemap +10 -0
  474. package/src/android-plugin.d.ts +463 -0
  475. package/src/animate.ts +129 -15
  476. package/src/blur/index.ts +195 -0
  477. package/src/blur/native.ts +70 -0
  478. package/src/blur/types.ts +32 -0
  479. package/src/bottom-sheet/geometry.ts +84 -0
  480. package/src/bottom-sheet/index.ts +536 -0
  481. package/src/bottom-sheet/native.ts +214 -0
  482. package/src/config.ts +39 -1
  483. package/src/decay.ts +9 -0
  484. package/src/drag.ts +67 -21
  485. package/src/driver/android-gradient.ts +116 -0
  486. package/src/driver/android-particles.ts +118 -0
  487. package/src/driver/android.ts +69 -1
  488. package/src/driver/frame.ts +10 -0
  489. package/src/driver/index.ts +15 -0
  490. package/src/driver/ios-gradient.ts +136 -0
  491. package/src/driver/ios-layout.ts +63 -0
  492. package/src/driver/ios-scroll-delegate.ts +23 -0
  493. package/src/driver/ios.ts +70 -17
  494. package/src/easing.ts +21 -1
  495. package/src/engine.ts +226 -59
  496. package/src/gesture-native.ts +139 -0
  497. package/src/gestures/index.ts +365 -0
  498. package/src/glass/index.ts +218 -0
  499. package/src/gradient-binding.ts +158 -0
  500. package/src/gradient.ts +663 -0
  501. package/src/gravity.ts +107 -0
  502. package/src/haptics.ts +106 -28
  503. package/src/image-effect.ts +10 -2
  504. package/src/index.ts +59 -7
  505. package/src/inspector/index.ts +523 -0
  506. package/src/inspector/plot.ts +27 -0
  507. package/src/inspector/probe.ts +50 -0
  508. package/src/inspector/tuning.ts +51 -0
  509. package/src/interactive-navigation/index.ts +398 -0
  510. package/src/ios-plugin.d.ts +279 -0
  511. package/src/keyboard.ts +231 -7
  512. package/src/layout.ts +408 -0
  513. package/src/live-spring-driver.ts +181 -0
  514. package/src/mixer.ts +306 -0
  515. package/src/motion-scope.ts +53 -6
  516. package/src/motion-states.ts +149 -42
  517. package/src/motion-value.ts +1289 -0
  518. package/src/native/index.ts +30 -0
  519. package/src/native-properties.ts +188 -0
  520. package/src/native-property-driver.ts +123 -0
  521. package/src/native-property.ts +366 -0
  522. package/src/particles.ts +18 -17
  523. package/src/path.ts +2 -1
  524. package/src/physics/index.ts +443 -0
  525. package/src/physics/native.ts +110 -0
  526. package/src/playback-group.ts +17 -1
  527. package/src/playback.ts +41 -0
  528. package/src/predictive-back/index.ts +280 -0
  529. package/src/predictive-back/presentation.ts +6 -0
  530. package/src/reorder/handle.ts +9 -0
  531. package/src/reorder/index.ts +243 -0
  532. package/src/reorder/list-view.ts +262 -0
  533. package/src/reorder/model.ts +47 -0
  534. package/src/reorder/surface.ts +10 -0
  535. package/src/reorder/types.ts +87 -0
  536. package/src/sampling.ts +173 -0
  537. package/src/scene-appearance.ts +92 -0
  538. package/src/scene-camera.ts +30 -0
  539. package/src/scene-shader.ts +139 -0
  540. package/src/scroll-header/geometry.ts +88 -0
  541. package/src/scroll-header/index.ts +504 -0
  542. package/src/scroll-header/native.ts +89 -0
  543. package/src/sensors/index.ts +246 -0
  544. package/src/sensors/native.ts +72 -0
  545. package/src/sequence.ts +209 -20
  546. package/src/shapes/android.ts +63 -0
  547. package/src/shapes/index.ts +267 -0
  548. package/src/shapes/ios.ts +194 -0
  549. package/src/shapes/native.ts +27 -0
  550. package/src/shapes/path.ts +127 -0
  551. package/src/shapes/types.ts +63 -0
  552. package/src/shared-layout/index.ts +343 -0
  553. package/src/shared-layout/native.ts +138 -0
  554. package/src/shared-layout/timing.ts +87 -0
  555. package/src/shared-navigation/entry.ts +695 -0
  556. package/src/shared-navigation/index.ts +414 -0
  557. package/src/shared-navigation/return-signal.ts +41 -0
  558. package/src/shared-navigation/return-target.ts +197 -0
  559. package/src/shared-navigation/scope.ts +3 -0
  560. package/src/shared-navigation/targets.ts +38 -0
  561. package/src/size-layout.ts +237 -0
  562. package/src/size.ts +302 -0
  563. package/src/spring.ts +18 -0
  564. package/src/svg-path.ts +8 -3
  565. package/src/testing/clock.ts +128 -0
  566. package/src/testing/handoff-recorder.ts +98 -0
  567. package/src/testing/index.ts +4 -0
  568. package/src/testing/native.ts +386 -0
  569. package/src/testing/presentation.ts +46 -0
  570. package/src/testing/replay.ts +149 -0
  571. package/src/testing/scroll-handoff-native.ts +201 -0
  572. package/src/testing/scroll-handoff.ts +140 -0
  573. package/src/testing/sensors.ts +41 -0
  574. package/src/testing/trace.ts +340 -0
  575. package/src/timed-animation.ts +192 -0
  576. package/src/track.ts +334 -38
  577. package/src/transition.ts +197 -9
  578. package/src/types.ts +11 -1
  579. package/src/value-observers.ts +147 -0
  580. package/src/value-track.ts +71 -0
  581. package/src/vue/index.ts +147 -1
  582. package/src/zoomable.ts +1 -1
package/README.md CHANGED
@@ -29,7 +29,9 @@ animate(rows, 'fadeInUp', { stagger: 40 })
29
29
 
30
30
  NativeScript's `view.animate()` covers the basics and stops there: one curve for every property, a `spring` curve with no settings, no keyframes, and a promise that rejects when the animation is cancelled. Anything richer ends up as platform code.
31
31
 
32
- Jolt computes the motion once, in JavaScript, when the animation starts, and hands it to the platform as keyframes: Core Animation on iOS, `ObjectAnimator` on Android. Nothing runs in JavaScript while it plays. Springs follow real physics, and an animation that interrupts another one starts from where the view is, at the speed it was going.
32
+ Jolt computes the motion once, in JavaScript, when the animation starts, and hands it to the platform as keyframes: Core Animation on iOS, `ObjectAnimator` on Android. Those default view tracks play without per-frame JavaScript. Real-size layout, opt-in subscribers, gesture input and timeline step activation retain their documented [execution limits](https://jolt.rafaelaugusto.dev/guide/how-it-works). Springs follow real physics, and an animation that interrupts another one starts from where the view is, at the speed it was going.
33
+
34
+ The [0.1.0-rc.1 release candidate](https://github.com/rafaelaugustos/jolt/releases/tag/v0.1.0-rc.1) adds shared navigation and a connected photo gallery, native back gestures, scroll composition, device sensors, circle physics, vector drawing/morphing, animated blur and iOS 26 Liquid Glass. The preview has **73 examples in English, Portuguese, Spanish and Simplified Chinese**, with light/dark themes. The 0.1.0 feature scope is frozen; the RC phase focuses on fixes, compatibility and [physical-device acceptance](https://jolt.rafaelaugusto.dev/guide/not-there-yet). Install `@rafaelaugusto/jolt@0.1.0-rc.1` and rebuild the native app. For external native properties, also install matching `@rafaelaugusto/jolt-native@0.1.0-rc.1`.
33
35
 
34
36
  ## Features
35
37
 
@@ -38,14 +40,31 @@ Jolt computes the motion once, in JavaScript, when the animation starts, and han
38
40
  - [Corners, borders and shadows](#corners-borders-and-shadows) with native playback and selective stopping.
39
41
  - [Motion paths](#motion-along-a-path) with optional tangent orientation on iOS and Android.
40
42
  - [Colors](#colors) for backgrounds, borders and text, interpolated in OKLab on iOS and Android.
41
- - [Motion scopes and states](https://jolt.rafaelaugusto.dev/guide/motion-controllers) for component cleanup and coordinated visual states.
43
+ - [Motion values](#motion-values): one value driving several properties and views, mapped like `interpolate`.
44
+ - [Live springs](https://jolt.rafaelaugusto.dev/guide/live-springs): retained native followers with position and velocity that continue through target changes.
45
+ - [Native gestures](https://jolt.rafaelaugusto.dev/guide/gestures): simultaneous pan/pinch/rotation, tap arbitration, axis competition and vertical Core ScrollView handoff.
46
+ - [Bottom sheet](https://jolt.rafaelaugusto.dev/guide/bottom-sheet): native drag/scroll handoff, content and percentage stops, keyboard following and dismissal.
47
+ - [List reordering](https://jolt.rafaelaugusto.dev/guide/reorder): stable keys, native drag snapshots, neighbour springs and edge scrolling through recycled cells.
48
+ - [Shared layouts](https://jolt.rafaelaugusto.dev/guide/shared-layout): stable identities, native snapshots and interruptible transitions within one page.
49
+ - [Interaction replay](https://jolt.rafaelaugusto.dev/guide/interaction-replay): optional development traces and controlled-clock regression checks, including scroll-to-sheet handoff.
50
+ - [Motion inspector](https://jolt.rafaelaugusto.dev/guide/motion-inspector): development-only ownership/timing diagnostics, native observation batches and reproducible spring tuning.
51
+ - [Adaptive curve sampling](https://jolt.rafaelaugusto.dev/guide/transitions): spend native keyframes where they improve precision, within bounded setup budgets.
52
+ - [SceneKit environment and shaders](https://jolt.rafaelaugusto.dev/guide/scene-shaders): native environment intensity and typed scalar/vector shader inputs on iOS.
53
+ - [Layered motion](#layered-motion): several animations on one property, added or multiplied.
54
+ - [Gradients](#gradients): native linear, radial and conic gradients with animated colors, angle, center and radius.
55
+ - [Motion scopes and states](https://jolt.rafaelaugusto.dev/guide/motion-controllers) for component cleanup and coordinated visual states, with a transition per target.
42
56
  - [Animated touch targets](https://jolt.rafaelaugusto.dev/guide/interaction-surface) with an opt-in native interaction surface.
43
- - [Drag](https://jolt.rafaelaugusto.dev/guide/drag) with bounds, snap points, rubberband and native release physics.
57
+ - [Layout changes](https://jolt.rafaelaugusto.dev/guide/layout): insertion, removal, reorder and resize of container children.
58
+ - [Real dimensions](https://jolt.rafaelaugusto.dev/guide/size): animate width, height and auto with text reflow and moving siblings.
59
+ - [Drag](https://jolt.rafaelaugusto.dev/guide/drag) with bounds, snap points, rubberband and native release physics, moving the view or a motion value.
44
60
  - [Decay](#decay) from a release velocity, with optional snap points.
45
61
  - [Keyframes and tweens](#tweens) with an easing per segment and exact keyframe times.
46
62
  - [Stagger](#several-views) across several views, from the first, the last or the center.
47
63
  - [List rows](#list-rows) that play an entrance as they scroll into view, every time or once per item.
48
64
  - [Sequences](#sequences) with overlapping arrivals, shared starts and absolute timeline positions.
65
+ - [Controlled timelines](https://jolt.rafaelaugusto.dev/guide/sequences) pause and resume views, motion values and image effects together.
66
+ - [Observable playback progress](https://jolt.rafaelaugusto.dev/guide/playback) feeds native bindings and opt-in subscribers from the original clock.
67
+ - [Native property adapters](https://jolt.rafaelaugusto.dev/guide/native-properties) for maps and SceneKit camera pose/[field of view](https://jolt.rafaelaugusto.dev/guide/scene-camera), lights and solid-color materials, through the optional `@rafaelaugusto/jolt-native` plugin.
49
68
  - [Press effects](#press) that follow the finger and let go when a scroll takes over.
50
69
  - [Vue directives and a transition component](#vue) from the optional `@rafaelaugusto/jolt/vue` entry.
51
70
  - [Text entrances](#text) by letter or word on iOS and Android, preserving the Label’s layout and accessibility.
@@ -57,8 +76,8 @@ Jolt computes the motion once, in JavaScript, when the animation starts, and han
57
76
  - [Photo zoom and pan](https://jolt.rafaelaugusto.dev/guide/photo-zoom): native pinch, double tap, bounds and vertical dismissal intents.
58
77
  - [Loaders](#loaders) with dots, bars and ring styles on iOS.
59
78
  - [Circular reveal](#circular-reveal) to show or hide content from a point on iOS.
60
- - [Haptics](#haptics) at arrival or at marked points in an animation on iOS.
61
- - [Particles and confetti](#particles-and-confetti) on iOS.
79
+ - [Haptics](#haptics) at arrival or at marked points in an animation on iOS and Android.
80
+ - [Particles and confetti](#particles-and-confetti) on iOS and Android.
62
81
  - [Scroll-linked animations](#scroll-linked-animations) for parallax and collapsing headers.
63
82
  - [Keyboard following](#follow-the-keyboard) for composers that rise with the keyboard, at its speed and curve.
64
83
  - [Playback controls](#pause-play-and-scrub) to pause, continue and scrub a finite timeline.
@@ -185,6 +204,43 @@ Color strings and NativeScript `Color` objects work as targets or keyframes; `nu
185
204
 
186
205
  Android includes a Java animation target; rebuild the native app after installing or upgrading Jolt.
187
206
 
207
+ ## Motion values
208
+
209
+ ```ts
210
+ import { animate, bind, motionValue } from '@rafaelaugusto/jolt'
211
+
212
+ const progress = motionValue(0)
213
+ bind(backdrop, { opacity: progress.to([0, 1], [0, 0.45]) })
214
+ bind(sheet, { y: progress.to([0, 1], [200, 0]) })
215
+ animate(progress, 1, 'snappy')
216
+ ```
217
+
218
+ One value drives several properties and views on one native clock, mapped with `to()` like React Native's `interpolate`, to numbers or colors. Interruptions carry the value and its velocity to every bound view, `set()` and `stop()` take a value, and a value outlives its views. `scrollValue(scrollView)` turns a scroll offset into a value that bindings follow, and `drag(view, { axis, value })` writes a gesture and its release into one. In Vue, `useMotionValue()`, `useScrollValue()` and `useBinding()` handle the lifecycle. See the [guide](https://jolt.rafaelaugusto.dev/guide/motion-values).
219
+
220
+ ## Layered motion
221
+
222
+ ```ts
223
+ animate(card, { x: 120 }, 'snappy') // the base
224
+ animate(card, 'shake', { layer: 'feedback' }) // on top of it
225
+ ```
226
+
227
+ A layer plays next to a property's other animations instead of replacing them: translations and rotations add, scale and opacity multiply. A shake rides on a drag, a pulse keeps breathing while the card moves, and `stop(card, ['x'], { layer: 'feedback' })` takes one layer away. While a property has layers, they play as one composite native track, sampled again only when something changes. See the [guide](https://jolt.rafaelaugusto.dev/guide/layers).
228
+
229
+ ## Gradients
230
+
231
+ ```ts
232
+ import { gradient } from '@rafaelaugusto/jolt'
233
+
234
+ const glow = gradient(card, {
235
+ type: 'radial',
236
+ colors: ['#A78BFA', '#0F172A'],
237
+ radius: 0.45,
238
+ })
239
+ glow.animate({ center: { x: 0.7, y: 0.7 }, radius: 0.9 }, { duration: 1400 })
240
+ ```
241
+
242
+ Native linear, radial and conic gradients behind a layout's children, which NativeScript's CSS doesn't have beyond a static `linear-gradient`. Colors, stops, angle, center and radius animate with springs, tweens and repeats: a `CAGradientLayer` with Core Animation keyframes on iOS, a native drawable and animator on Android. Pass motion/derived values directly, or use `glow.bind(...)`, to share a source with view properties without a JS observer loop. `motionScope().gradient()` owns lifecycle and suspension, and `v-gradient` supports the same bindings in Vue. Native binding windows are sampled in JS at preparation/control boundaries; gesture updates still enter JS. Rebuild Android after upgrading. See the [guide and native interaction videos](https://jolt.rafaelaugusto.dev/guide/gradients#following-motion-values).
243
+
188
244
  ## Transitions
189
245
 
190
246
  The third argument says how to get there. Without one, transforms move with a spring and opacity and colors ease over 300ms. Keyframes tween.
@@ -205,6 +261,8 @@ animate(card, { y: 0 }, { stiffness: 300, damping: 20, mass: 1 })
205
261
 
206
262
  `bounce` goes from -1 to 1: 0 settles without overshooting, higher values bounce more, negative values settle more slowly. `duration` is how long the spring feels, the same model as SwiftUI. Or describe it with `stiffness`, `damping` and `mass`. A spring starts with the velocity of the animation it interrupts, unless you pass `velocity` (units per second).
207
263
 
264
+ Coming from React Native, `origamiSpring({ friction: 7, tension: 40 })` gives the spring `Animated.spring` plays for `friction` and `tension`. See [From React Native Animated](https://jolt.rafaelaugusto.dev/guide/react-native) for the rest of the mapping.
265
+
208
266
  ### Tweens
209
267
 
210
268
  ```ts
@@ -216,13 +274,32 @@ animate(
216
274
  )
217
275
  ```
218
276
 
219
- Tweens take 300ms and `easeOut` unless told otherwise. `ease` takes `linear`, `ease`, `easeIn`, `easeOut`, `easeInOut`, `circIn`, `circOut`, `circInOut`, `backIn`, `backOut`, `backInOut`, `anticipate`, a cubic bezier (`[0.2, 0, 0, 1]`) or any function from 0..1 to a value. With keyframes, pass one per segment. `times` places each keyframe between 0 and 1.
277
+ **A tween takes 300 ms with `easeOut` unless told otherwise.** That's shorter than React Native's `Animated.timing` (500 ms, ease in and out) and starts faster than CSS's `ease`, so pass both when a port has to match.
278
+
279
+ `ease` takes `linear`, `ease`, `easeIn`, `easeOut`, `easeInOut`, `circIn`, `circOut`, `circInOut`, `backIn`, `backOut`, `backInOut`, `anticipate`, the `quad`, `cubic`, `quart`, `quint`, `sine` and `expo` curves with `In`, `Out` or `InOut` (`'cubicOut'`), a cubic bezier (`[0.2, 0, 0, 1]`) or any function from 0..1 to a value. With keyframes, pass one per segment. `times` places each keyframe between 0 and 1.
280
+
281
+ With `easeTrack: true`, one `ease` runs over the whole track instead, and the value moves in straight lines between keyframes, the way React Native's `interpolate` places its output range on an eased value:
282
+
283
+ ```ts
284
+ animate(
285
+ spark,
286
+ { y: [0, -30, -12, 0] },
287
+ { duration: 900, ease: 'easeOut', easeTrack: true, times: [0, 0.4, 0.7, 1] },
288
+ )
289
+ ```
290
+
291
+ An easing that overshoots, like `backOut`, extends the first or last segment, as `interpolate` does with `extrapolate: 'extend'`. `easeTrack` takes a single `ease` and applies to tweens only.
220
292
 
221
293
  Custom easing functions run once, when the animation starts, like springs do. They don't cost anything per frame.
222
294
 
223
295
  ### Per property
224
296
 
225
297
  ```ts
298
+ animate(
299
+ logo,
300
+ { scale: [0.6, 1.08, 1], opacity: [0, 1, 1] },
301
+ { duration: 900, ease: 'easeInOut', opacity: { times: [0, 0.3, 1] } },
302
+ )
226
303
  animate(
227
304
  card,
228
305
  { y: 0, opacity: 1 },
@@ -230,7 +307,7 @@ animate(
230
307
  )
231
308
  ```
232
309
 
233
- A property's transition replaces the curve, and keeps the timing (`delay`, `repeat`) of the main one unless it sets its own.
310
+ Over a tween, a property's transition changes only what it sets: the logo's opacity keeps the 900 ms `easeInOut` and only places its keyframes. Over a spring, or when it is a spring itself, it replaces the curve, so the card's opacity gets a 150 ms tween. Either way, it keeps the timing (`delay`, `repeat`) of the main one unless it sets its own. `times` and per-segment easings taken from the main transition are left out when they don't fit the property's keyframes. Options passed to a [preset](https://jolt.rafaelaugusto.dev/guide/presets) merge the same way, so `animate(card, 'heartbeat', { duration: 1600 })` keeps the beat's rhythm.
234
311
 
235
312
  ### Timing
236
313
 
@@ -244,6 +321,18 @@ animate(
244
321
 
245
322
  `delay` is in milliseconds, and the view takes the first keyframe during it. `repeat` is how many more times to play, `Infinity` until stopped. `repeatType: 'reverse'` plays every other repeat backwards. Repeats play natively too.
246
323
 
324
+ `repeatDelay` holds the end value for that many milliseconds before each repeat. The first play doesn't wait, and neither does the end of the last one. With `'reverse'` it waits at both ends:
325
+
326
+ ```ts
327
+ animate(
328
+ z,
329
+ { y: [0, -40], opacity: [0, 1] },
330
+ { duration: 1200, repeat: Infinity, repeatDelay: 1800 },
331
+ )
332
+ ```
333
+
334
+ The wait is part of the native keyframes, so it costs no JavaScript while it plays. Stopping during the wait leaves the view at the held value. A range, `repeatDelay: [1000, 4000]`, draws a new wait before each repeat; an endless loop draws sixteen and loops them natively.
335
+
247
336
  ## Decay
248
337
 
249
338
  ```ts
@@ -450,7 +539,7 @@ animate(card, { y: 0 }, { type: 'spring', haptic: 'light' })
450
539
  animate(button, 'bounce', { haptic: { style: 'light', times: [0.6, 1] } })
451
540
  ```
452
541
 
453
- Choose `light`, `medium` or `heavy`. By default, one impact fires when the animation visually arrives. Explicit points can mark each landing of a bounce. Delays and stagger follow the animation; interruptions, stopping and unloading cancel pending feedback. iOS only for now. See the [haptics guide](https://jolt.rafaelaugusto.dev/guide/haptics) for timing and device behavior.
542
+ Choose `light`, `medium` or `heavy`. By default, one impact fires when the animation visually arrives. Explicit points can mark each landing of a bounce. Delays and stagger follow the animation; interruptions, stopping and unloading cancel pending feedback. Supported on iOS and Android, respecting device settings. See the [haptics guide](https://jolt.rafaelaugusto.dev/guide/haptics) for timing, platform mappings and physical-device behavior.
454
543
 
455
544
  ## Particles and confetti
456
545
 
@@ -462,7 +551,7 @@ const stopSnow = particles(scene, { source: 'top', angle: 90, velocity: 45 })
462
551
  stopSnow() // remove the emitter and its particles
463
552
  ```
464
553
 
465
- Confetti bursts into the target's window and cleans itself up. `particles()` adds an emitter to the view for snow, sparks, bubbles or other effects. Both use Core Animation without JavaScript per frame, respect Reduce Motion and stop on unload. iOS only for now. See the [particles guide](https://jolt.rafaelaugusto.dev/guide/particles).
554
+ Confetti bursts into the target's window and cleans itself up. `particles()` adds an emitter for snow, sparks, bubbles or finite effects. Both use native playback without JS simulation/painting per frame: Core Animation on iOS, a bounded Java simulation and Canvas drawable on Android. They respect reduced motion and cancel on unload/backgrounding. Android drawing shares the UI thread; rebuild the app after upgrading. See the [guide and native videos](https://jolt.rafaelaugusto.dev/guide/particles).
466
555
 
467
556
  ## Scroll-linked animations
468
557
 
@@ -487,7 +576,17 @@ import { followKeyboard } from '@rafaelaugusto/jolt'
487
576
  const release = followKeyboard(composer)
488
577
  ```
489
578
 
490
- The view rises by exactly the distance the keyboard would cover it, with the keyboard's own duration and curve, and settles back when it hides. On iOS the keyboard notifications drive a `UIView` animation; on Android 11+ a native `WindowInsetsAnimation` callback moves the view on every frame, with and without `adjustResize`. The view's `translateY` is written so later animations start from the position on screen. Rebuild Android after upgrading. See the [guide](https://jolt.rafaelaugusto.dev/guide/keyboard).
579
+ The view rises by exactly the distance the keyboard would cover it, with the keyboard's own duration and curve, and settles back when it hides. On iOS the keyboard notifications drive a `UIView` animation; on Android 11+ a native `WindowInsetsAnimation` callback moves the view on every frame, with and without `adjustResize`. Android 7 to 10 read the keyboard from the window's visible frame and animate the view with the keyboard's measured timing. The view's `translateY` is written so later animations start from the position on screen. Rebuild Android after upgrading. See the [guide](https://jolt.rafaelaugusto.dev/guide/keyboard).
580
+
581
+ To react in other ways, `onKeyboard()` reports how much of the window the keyboard covers, with a transition that moves in step with it:
582
+
583
+ ```ts
584
+ const off = onKeyboard(({ visible, transition }) => {
585
+ animate(header, { scale: visible ? 0.8 : 1 }, transition)
586
+ })
587
+ ```
588
+
589
+ `useKeyboard()` from `/vue` keeps a ref in sync until unmount.
491
590
 
492
591
  ## Pause, play and scrub
493
592
 
@@ -511,7 +610,7 @@ configure({ reducedMotion: 'always' }) // transforms jump, opacity still fades
511
610
 
512
611
  Tuning a spring at full speed is guesswork. The scale applies to every engine animation started after the call, on iOS and Android alike: durations, delays, stagger, sequence positions and spring time stretch together, keyframes stay dense, and an interruption still picks up the value and velocity on screen. Native loops such as shimmer and loaders keep their own timing.
513
612
 
514
- With Reduce Motion on iOS or Remove animations on Android, translations, scale, rotation, paths, decorations and decay jump to their end values while opacity and colors still animate. `'user'` is the default; `'always'` and `'never'` override the platform for the whole library. See the [guide](https://jolt.rafaelaugusto.dev/guide/configure).
613
+ With Reduce Motion on iOS or Remove animations on Android, translations, scale, rotation, paths, decorations and decay jump to their end values while opacity and colors still animate. `'user'` is the default; `'always'` and `'never'` override the platform for the whole library. `reducedMotion()` reads the result, `onReducedMotion(callback)` watches it, and `useReducedMotion()` from `/vue` keeps a ref in sync. See the [guide](https://jolt.rafaelaugusto.dev/guide/configure).
515
614
 
516
615
  ## Interrupting and stopping
517
616
 
@@ -531,6 +630,14 @@ Selected properties stay at their current values; the others keep animating. `sc
531
630
 
532
631
  If part of an animation is stopped, its `finished` promise resolves with `false` once its remaining properties finish.
533
632
 
633
+ `set()` places a view without animating it, and stops whatever animates those properties:
634
+
635
+ ```ts
636
+ set(logo, { opacity: 1, scale: 1, y: 0 })
637
+ ```
638
+
639
+ It takes one value per property, the same properties as `animate()`. The next animation starts from there. See [setting values](https://jolt.rafaelaugusto.dev/guide/interrupting#setting-values-without-animating).
640
+
534
641
  ## How it works
535
642
 
536
643
  When an animation starts, Jolt resolves where each property starts from (the value on screen, or the keyframes you gave), and computes the whole curve: easing, keyframes, spring physics and exponential decay. It samples the curve 60 times per second of motion, and keeps keyframe times exact. Linear numeric segments use only their endpoints. Long tween segments and free decays cap sampling at 6,001 keyframes. Color tracks add intermediate OKLab samples even with linear timing.
@@ -552,14 +659,18 @@ Each running property remembers its curve and start time. On Android, interrupti
552
659
 
553
660
  ## Not there yet
554
661
 
555
- - `animate()` supports transforms, opacity, colors, uniform corners and borders, and platform shadows. Size and layout changes ([#21](https://github.com/rafaelaugustos/jolt/issues/21)) aren't animated yet.
662
+ - `animate()` supports transforms, opacity, colors, uniform corners and borders, and platform shadows. [`animateSize()`](https://jolt.rafaelaugusto.dev/guide/size) adds real width/height/auto transitions with per-frame JS layout; [`animateLayout()`](https://jolt.rafaelaugusto.dev/guide/layout) animates layout changes through FLIP transforms.
556
663
  - Gesture composition and nested-scroll handoff remain separate work ([#51](https://github.com/rafaelaugustos/jolt/issues/51)).
557
- - No layout or shared element transitions ([#21](https://github.com/rafaelaugustos/jolt/issues/21), [#24](https://github.com/rafaelaugustos/jolt/issues/24)).
664
+ - Shared-element navigation remains planned ([#24](https://github.com/rafaelaugustos/jolt/issues/24)).
558
665
 
559
666
  ## API
560
667
 
561
668
  **Animating**: `animate(target, keyframes | preset, transition?)`, `decay(target, velocity, options?)`, `stop(target, properties?)`, `sequence(steps)`, `press(target, pressed?, transition?)`, `drag(target, options?)`, `symbolEffect(image, effect, options?)`, `shimmer(target, options?)`, `liquid(image, options?)`, `loader(target, options?)`, `reveal(target, options?)`, `conceal(target, options?)`, `confetti(target, options?)`, `particles(target, options?)`.
562
669
 
670
+ `animateLayout(container, change?, options?)` animates the next layout of direct children; `motionScope().animateLayout()` owns it through component lifecycle. Cancellation settles temporary offsets into the final layout.
671
+
672
+ `animateSize(view, dimensions, change?, options?)` animates actual width/height/auto in StackLayout/GridLayout, including inside ScrollView. Its `SizeAnimation` supports pause/resume, stop and restoring the original declarations. It runs JS measurement/layout each frame. `motionScope().animateSize()` owns its lifecycle. See the [guide and native videos](https://jolt.rafaelaugusto.dev/guide/size).
673
+
563
674
  `interactionSurface(target)` opts a view/subtree into native touch geometry during animation; returns `{ disposed, dispose() }`. Register before playback; rebuild iOS after upgrading.
564
675
 
565
676
  `drag()` returns a controller with `position`, `dragging`, `settling`, `cancel()`, `pause()`, `play()` and `dispose()`. `motionScope().drag()` owns it through component lifecycle.
@@ -572,7 +683,9 @@ Each running property remembers its curve and start time. On Android, interrupti
572
683
 
573
684
  ## Demo
574
685
 
575
- [`demo/`](./demo) opens an interactive assistant on iOS and Android: a fan of document tools, a voice screen with letter-by-letter text, and a staged conversation with document previews and a rolling countdown, with the screens cross-fading through the Vue entry. Open **Help → Watch demo** to replay the flow. The orb is an animated illustration; speech, documents and audio are sample data.
686
+ [`demo/`](./demo) now opens **Jolt Motion Studio**: a branded animated splash, a moving home, and 73 searchable experiments with category filters and native page navigation through Vue Router NS. The iOS preview includes the Jolt name and icon; launching normally always opens the collection. See the [native walkthrough](./docs/guide/demo.md).
687
+
688
+ The assistant remains available through `--screen=home` on iOS or `--es screen home` on Android: a fan of document tools, a voice screen with letter-by-letter text, and a staged conversation with document previews and a rolling countdown, with the screens cross-fading through the Vue entry. Open **Help → Watch demo** to replay the flow. The orb is an animated illustration; speech, documents and audio are sample data.
576
689
 
577
690
  | Assistant | Presets | Springs | Stagger |
578
691
  | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------: |
@@ -582,7 +695,11 @@ Each running property remembers its curve and start time. On Android, interrupti
582
695
  | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------: |
583
696
  | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-sequences.gif" width="200" alt="Overlapping steps and steps in order"> | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-press-android.gif" width="200" alt="Three press effects"> | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-rolling.gif" width="200" alt="Digits rolling up and down"> | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-text-android.gif" width="200" alt="Letter and word entrances"> |
584
697
 
585
- The animation playground opens with `--playground` on iOS and `--es playground true` on Android, with presets, interruptible springs, decay, text, press effects, list rows, the keyboard composer and the native iOS helpers. See the [demo guide](./docs/guide/demo.md) for preview arguments and implementation notes. Each page of the [documentation](https://jolt.rafaelaugusto.dev) opens with a clip of its feature.
698
+ | Layout (iOS) | Drag and snap (iOS) | Image effects (iOS) | Photo zoom (iOS) |
699
+ | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
700
+ | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-layout-ios.gif" width="200" alt="Native cards insert, reorder and expand"> | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-drag-ios.gif" width="200" alt="A card and panel follow real drags and settle within bounds"> | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-image-effects-ios.gif" width="200" alt="Ripple, touch distortion and dissolve on a raster image"> | <img src="https://raw.githubusercontent.com/rafaelaugustos/jolt/main/.github/assets/demo-photo-zoom-ios.gif" width="200" alt="A photo responds to pinch, pan and double tap"> |
701
+
702
+ The animation playground opens with `--playground` on iOS and `--es playground true` on Android, with presets, interruptible springs, decay, text, press effects, list rows, the keyboard composer and the native iOS helpers. See the [demo guide](./docs/guide/demo.md) for preview arguments and implementation notes. Every visual feature guide in the [documentation](https://jolt.rafaelaugusto.dev) includes a recording of the real native demo, in English and Portuguese.
586
703
 
587
704
  With the [NativeScript CLI](https://docs.nativescript.org/setup/) installed:
588
705
 
@@ -601,8 +718,12 @@ ns run ios # or: ns run android
601
718
  npm test # unit tests
602
719
  npm run typecheck # including the iOS and Android drivers, against the platform typings
603
720
  npm run build
721
+ npm run docs:check-media
722
+ npm run docs:build
604
723
  ```
605
724
 
725
+ Visual changes require reviewed recordings before completion or release. See [Contributing](./CONTRIBUTING.md).
726
+
606
727
  The tests run the engine against a fake platform driver ([`test/helpers.ts`](./test/helpers.ts)) with its own clock: it records the keyframes it would play and ends them when the clock passes their end.
607
728
 
608
729
  For on-device measurements, see the [iOS animation startup benchmark](./benchmarks/README.md).
package/dist/animate.d.ts CHANGED
@@ -2,26 +2,47 @@ import type { PlaybackAnimation } from './playback.js';
2
2
  import { View } from '@nativescript/core';
3
3
  import { type Animation } from './engine.js';
4
4
  import { type PresetName } from './presets.js';
5
+ import { type MotionValue, type ValueAnimationOptions } from './motion-value.js';
5
6
  import { type Property } from './properties.js';
6
7
  import { type SpringName } from './transition.js';
7
- import type { AnimateOptions, DecayOptions, DecayVelocity, Keyframes, KeyframeProperty, Target } from './types.js';
8
+ import type { AnimateOptions, DecayOptions, DecayVelocity, Keyframes, KeyframeProperty, Target, Values } from './types.js';
8
9
  /**
9
10
  * Animates one view, or several. Takes keyframes or the name of a preset,
10
- * and a transition or the name of a spring.
11
+ * and a transition or the name of a spring. A motion value animates to a number.
11
12
  *
12
13
  * ```ts
13
14
  * animate(card, 'fadeInUp')
14
15
  * animate(card, { scale: 1.1, rotate: [0, 90] }, 'bouncy')
15
16
  * animate(rows, 'fadeInUp', { stagger: 40 })
17
+ * animate(progress, 1, 'snappy')
16
18
  * ```
17
19
  */
20
+ export declare function animate(value: MotionValue, to: number | readonly (number | null)[], transition?: ValueAnimationOptions | SpringName): PlaybackAnimation;
18
21
  export declare function animate(target: Target | readonly Target[], animation: Keyframes | PresetName, options?: AnimateOptions | SpringName): PlaybackAnimation;
19
22
  /** Validate and snapshot a complete animation before changing any view ownership. */
20
23
  export declare function prepareAnimation(target: Target | readonly Target[], animation: Keyframes | PresetName, options?: AnimateOptions | SpringName): () => PlaybackAnimation;
21
24
  /** Starts at the current translation and slows down from a velocity in DIPs per second. */
22
25
  export declare function decay(target: Target | readonly Target[], velocity: DecayVelocity, options?: DecayOptions): PlaybackAnimation;
23
- /** Stops all or selected properties at their current values. `scale` stops both axes. */
24
- export declare function stop(target: Target | readonly Target[], properties?: readonly KeyframeProperty[]): void;
26
+ /**
27
+ * Stops all or selected properties at their current values. `scale` stops both axes.
28
+ * A motion value stops where it is, and so do the views bound to it.
29
+ */
30
+ export declare function stop(value: MotionValue, options?: {
31
+ layer?: string;
32
+ }): void;
33
+ export declare function stop(target: Target | readonly Target[], properties?: readonly KeyframeProperty[], options?: {
34
+ layer?: string;
35
+ }): void;
36
+ /**
37
+ * Applies values at once, stopping whatever animates those properties.
38
+ * `scale` sets both axes. A view that isn't loaded yet gets them right away.
39
+ *
40
+ * ```ts
41
+ * set(logo, { opacity: 1, scale: 1, y: 0 })
42
+ * ```
43
+ */
44
+ export declare function set(value: MotionValue, to: number): void;
45
+ export declare function set(target: Target | readonly Target[], values: Values): void;
25
46
  /** Plays several animations as one: finished once they all are, and stopped together. */
26
47
  export declare function group(animations: readonly Animation[]): Animation;
27
48
  export declare function toView(target: Target): View;
@@ -1 +1 @@
1
- {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAQzC,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EAET,gBAAgB,EAEhB,MAAM,EACP,MAAM,YAAY,CAAA;AAUnB;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GACpC,iBAAiB,CAEnB;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GACpC,MAAM,iBAAiB,CAmCzB;AAED,2FAA2F;AAC3F,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,YAAiB,GACzB,iBAAiB,CAkEnB;AAED,yFAAyF;AACzF,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,CAAC,EAAE,SAAS,gBAAgB,EAAE,QAMzC;AAED,yFAAyF;AACzF,wBAAgB,KAAK,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAWjE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAO3C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,CAElE;AA8GD,2FAA2F;AAC3F,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,gCAUtC;AAED,wGAAwG;AACxG,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,gCActC"}
1
+ {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAQzC,OAAO,EAML,KAAK,SAAS,EAEf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAML,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EAET,gBAAgB,EAEhB,MAAM,EACN,MAAM,EACP,MAAM,YAAY,CAAA;AAWnB;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EACvC,UAAU,CAAC,EAAE,qBAAqB,GAAG,UAAU,GAC9C,iBAAiB,CAAA;AACpB,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GACpC,iBAAiB,CAAA;AAkBpB,qFAAqF;AACrF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GACpC,MAAM,iBAAiB,CAoDzB;AAED,2FAA2F;AAC3F,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,YAAiB,GACzB,iBAAiB,CAkEnB;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAA;AAC5E,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,CAAC,EAAE,SAAS,gBAAgB,EAAE,EACxC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,IAAI,CAAA;AAoBP;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;AACzD,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;AAqB7E,yFAAyF;AACzF,wBAAgB,KAAK,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAWjE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAO3C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,CAElE;AA6HD,2FAA2F;AAC3F,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,gCAYtC;AAED,wGAAwG;AACxG,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,gCActC"}
package/dist/animate.js CHANGED
@@ -4,27 +4,21 @@ import { preparePath } from './path.js';
4
4
  import { View } from '@nativescript/core';
5
5
  import { isColorProperty, parseColor, validateColorTarget, } from './color.js';
6
6
  import { DEFAULT_FRICTION, solveDecay } from './decay.js';
7
- import { arrivalOf, setArrival, stopView, ViewAnimation, } from './engine.js';
7
+ import { arrivalOf, setArrival, stopLayer, stopView, ViewAnimation, } from './engine.js';
8
8
  import { getPreset } from './presets.js';
9
+ import { asRoot, detachBindings, isMotionValue, } from './motion-value.js';
9
10
  import { resolveHaptic } from './haptics.js';
11
+ import { layerable } from './mixer.js';
10
12
  import { isProperty, precision } from './properties.js';
11
- import { hasCurve, mergeTransitions, resolveTransition, springs, } from './transition.js';
12
- /**
13
- * Animates one view, or several. Takes keyframes or the name of a preset,
14
- * and a transition or the name of a spring.
15
- *
16
- * ```ts
17
- * animate(card, 'fadeInUp')
18
- * animate(card, { scale: 1.1, rotate: [0, 90] }, 'bouncy')
19
- * animate(rows, 'fadeInUp', { stagger: 40 })
20
- * ```
21
- */
13
+ import { hasCurve, fitTransition, mergeTransitions, resolveTransition, springs, } from './transition.js';
22
14
  export function animate(target, animation, options) {
15
+ if (isMotionValue(target))
16
+ return asRoot(target).animate(animation, options);
23
17
  return prepareAnimation(target, animation, options)();
24
18
  }
25
19
  /** Validate and snapshot a complete animation before changing any view ownership. */
26
20
  export function prepareAnimation(target, animation, options) {
27
- const { keyframes, base, overrides, stagger, relative, haptic, path } = prepare(animation, options);
21
+ const { keyframes, base, overrides, stagger, relative, haptic, path, layer } = prepare(animation, options);
28
22
  const feedback = resolveHaptic(haptic);
29
23
  if (!isList(target)) {
30
24
  const view = toView(target);
@@ -33,8 +27,12 @@ export function prepareAnimation(target, animation, options) {
33
27
  validateColorTarget(view, property);
34
28
  else if (isDecorationProperty(property))
35
29
  validateDecorationTarget(view, property);
36
- const plans = plan(keyframes, base, overrides, 0, relative, path);
37
- return () => new ViewAnimation(view, plans, feedback);
30
+ const plans = plan(keyframes, base, overrides, 0, relative, path, layer);
31
+ return () => {
32
+ if (layer === undefined)
33
+ detachBindings(view, plans.map(({ property }) => property));
34
+ return new ViewAnimation(view, plans, feedback);
35
+ };
38
36
  }
39
37
  const views = target.map(toView);
40
38
  for (const view of views)
@@ -43,8 +41,13 @@ export function prepareAnimation(target, animation, options) {
43
41
  validateColorTarget(view, property);
44
42
  else if (isDecorationProperty(property))
45
43
  validateDecorationTarget(view, property);
46
- const plans = views.map((_, index) => plan(keyframes, base, overrides, staggerDelay(stagger, index, views.length), relative, path));
47
- return () => playbackGroup(views.map((view, index) => new ViewAnimation(view, plans[index], feedback, true)));
44
+ const seed = Math.random();
45
+ const plans = views.map((_, index) => plan(keyframes, base, overrides, staggerDelay(stagger, index, views.length), relative, path, layer, seed));
46
+ return () => playbackGroup(views.map((view, index) => {
47
+ if (layer === undefined)
48
+ detachBindings(view, plans[index].map(({ property }) => property));
49
+ return new ViewAnimation(view, plans[index], feedback, true);
50
+ }));
48
51
  }
49
52
  /** Starts at the current translation and slows down from a velocity in DIPs per second. */
50
53
  export function decay(target, velocity, options = {}) {
@@ -109,11 +112,34 @@ export function decay(target, velocity, options = {}) {
109
112
  return playbackGroup([]);
110
113
  return playbackGroup(views.map((view) => new ViewAnimation(view, plans, undefined, true)));
111
114
  }
112
- /** Stops all or selected properties at their current values. `scale` stops both axes. */
113
- export function stop(target, properties) {
115
+ export function stop(target, properties, options) {
116
+ if (isMotionValue(target))
117
+ return asRoot(target).stop(properties?.layer);
118
+ if (properties && !Array.isArray(properties))
119
+ throw new TypeError('View properties must be an array.');
114
120
  const expanded = properties?.flatMap((property) => property === 'scale' ? ['scaleX', 'scaleY'] : [property]);
115
121
  for (const view of toViews(target))
116
- stopView(view, expanded);
122
+ if (options?.layer !== undefined)
123
+ stopLayer(view, options.layer, expanded);
124
+ else
125
+ stopView(view, expanded);
126
+ }
127
+ export function set(target, values) {
128
+ if (isMotionValue(target))
129
+ return asRoot(target).set(values);
130
+ if (values === null || typeof values !== 'object' || Array.isArray(values))
131
+ throw new TypeError('set() takes an object of values.');
132
+ const keyframes = {};
133
+ for (const [key, value] of Object.entries(values)) {
134
+ if (value === undefined)
135
+ continue;
136
+ if (key !== 'scale' && !isProperty(key))
137
+ throw new Error(`Can't set "${key}".`);
138
+ if (value === null || Array.isArray(value))
139
+ throw new TypeError(`set() takes one value per property, got ${String(value)} for "${key}".`);
140
+ keyframes[key] = [value, value];
141
+ }
142
+ animate(target, keyframes, { duration: 0 });
117
143
  }
118
144
  /** Plays several animations as one: finished once they all are, and stopped together. */
119
145
  export function group(animations) {
@@ -163,6 +189,7 @@ function resolveAnimation(animation, options) {
163
189
  stagger: user.stagger ?? own.stagger,
164
190
  relative: user.relative ?? own.relative,
165
191
  haptic: user.haptic ?? own.haptic,
192
+ layer: user.layer,
166
193
  };
167
194
  }
168
195
  function normalize(options) {
@@ -187,10 +214,16 @@ function normalize(options) {
187
214
  let stagger;
188
215
  let relative;
189
216
  let haptic;
217
+ let layer;
190
218
  for (const [key, value] of Object.entries(options)) {
191
219
  if (value === undefined)
192
220
  continue;
193
- if (key === 'stagger')
221
+ if (key === 'layer') {
222
+ if (typeof value !== 'string' || !value)
223
+ throw new TypeError('A layer is named by a nonempty string.');
224
+ layer = value;
225
+ }
226
+ else if (key === 'stagger')
194
227
  stagger = value;
195
228
  else if (key === 'relative')
196
229
  relative = value;
@@ -202,10 +235,14 @@ function normalize(options) {
202
235
  else
203
236
  base[key] = value;
204
237
  }
205
- return { base, overrides, stagger, relative, haptic };
238
+ return { base, overrides, stagger, relative, haptic, layer };
206
239
  }
207
- function plan(keyframes, base, overrides, offset, relative = false, path) {
240
+ function plan(keyframes, base, overrides, offset, relative = false, path, layer, seed = Math.random()) {
241
+ if (layer !== undefined && path)
242
+ throw new Error("A path owns x and y; it can't play on a layer.");
208
243
  return expand(keyframes, path).map(([property, frames]) => {
244
+ if (layer !== undefined && !layerable(property))
245
+ throw new Error(`Layers apply to x, y, scale, rotation and opacity; "${property}" has a single owner.`);
209
246
  if (path?.properties.includes(property)) {
210
247
  if (!Number.isFinite(path.transition.delay + offset) ||
211
248
  path.transition.delay + offset < 0)
@@ -219,16 +256,20 @@ function plan(keyframes, base, overrides, offset, relative = false, path) {
219
256
  };
220
257
  }
221
258
  const override = overrides[property] ?? (property.startsWith('scale') ? overrides.scale : undefined);
222
- const transition = resolveTransition(override ? mergeTransitions(base, override) : base, property, frames.length);
259
+ const transition = resolveTransition(fitTransition(override ? mergeTransitions(base, override) : base, frames.length), property, frames.length);
223
260
  transition.delay += offset;
224
- return { property, keyframes: frames, transition, relative };
261
+ if (transition.seed !== undefined)
262
+ transition.seed = seed;
263
+ return { property, keyframes: frames, transition, relative, layer };
225
264
  });
226
265
  }
227
266
  /** Each property the animation touches, with the value it starts from when it sets one. */
228
267
  export function startingValues(animation, options) {
229
- const { keyframes, relative, path } = prepare(animation, options);
268
+ const { keyframes, relative, path, layer } = prepare(animation, options);
230
269
  if (!keyframes)
231
270
  throw new Error(`Unknown preset "${animation}".`);
271
+ if (layer !== undefined)
272
+ return new Map(expand(keyframes, path).map(([property]) => [property, null]));
232
273
  return new Map(expand(keyframes, path).map(([property, [first]]) => [
233
274
  property,
234
275
  relative && !isColorProperty(property) ? null : first,
@@ -1 +1 @@
1
- {"version":3,"file":"animate.js","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAqB,MAAM,WAAW,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EACL,eAAe,EACf,UAAU,EACV,mBAAmB,GAEpB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,GAGd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAmB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,aAAa,EAAe,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAA;AACtE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,GAGR,MAAM,iBAAiB,CAAA;AAoBxB;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CACrB,MAAkC,EAClC,SAAiC,EACjC,OAAqC;IAErC,OAAO,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAA;AACvD,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAC9B,MAAkC,EAClC,SAAiC,EACjC,OAAqC;IAErC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAC7E,SAAS,EACT,OAAO,CACR,CAAA;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAEtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3C,IAAI,eAAe,CAAC,QAAQ,CAAC;gBAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;iBAC7D,IAAI,oBAAoB,CAAC,QAAQ,CAAC;gBAAE,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACjE,OAAO,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3C,IAAI,eAAe,CAAC,QAAQ,CAAC;gBAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;iBAC7D,IAAI,oBAAoB,CAAC,QAAQ,CAAC;gBAAE,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACrF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACnC,IAAI,CACF,SAAS,EACT,IAAI,EACJ,SAAS,EACT,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAC1C,QAAQ,EACR,IAAI,CACL,CACF,CAAA;IACD,OAAO,GAAG,EAAE,CACV,aAAa,CACX,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CACnF,CAAA;AACL,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,KAAK,CACnB,MAAkC,EAClC,QAAuB,EACvB,OAAO,GAAiB,EAAE;IAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAA;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAA;IAC7E,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAqC,EAAE,EAAE;QACtD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAC1C,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,MAAM,CAAC,MAAM,KAAK,CAAC;YACnB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnC,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,IACE,IAAI,KAAK,SAAS;QAClB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACpB,CAAC,IAAI,KAAK,IAAI;YACZ,OAAO,IAAI,KAAK,QAAQ;YACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,EAC9D,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAA;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAoE,CAAA;IACpF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAElD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;QACzE,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,gBAAgB,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAAC,+BAA+B,QAAQ,IAAI,CAAC,CAAA;QACnE,CAAC;QACD,8DAA8D;QAC9D,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnD,OAAO;YACL;gBACE,QAAQ;gBACR,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;gBACvB,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ;wBACR,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;qBACvC;oBACD,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,KAAK;iBACf;aACF;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,aAAa,CAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CACrE,CAAA;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,IAAI,CAClB,MAAkC,EAClC,UAAwC;IAExC,MAAM,QAAQ,GAAG,UAAU,EAAE,OAAO,CAAW,CAAC,QAAQ,EAAE,EAAE,CAC1D,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CACzD,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC9D,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,KAAK,CAAC,UAAgC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAClF,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CACpC,CAAA;IACD,MAAM,SAAS,GAAc;QAC3B,QAAQ;QACR,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;KAC1E,CAAA;IACD,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC7D,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,IAAI,MAAM,YAAY,IAAI;QAAE,OAAO,MAAM,CAAA;IACzC,MAAM,IAAI,GACP,MAA0C,EAAE,UAAU;QACtD,MAA6C,EAAE,aAAa,CAAA;IAC/D,IAAI,IAAI,YAAY,IAAI;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,IAAI,SAAS,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAkC;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,MAAM,CAAI,MAAwB;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,OAAO,CACd,SAAiC,EACjC,OAAqC;IAErC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;KACzE,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,SAAiC,EACjC,OAAqC;IAErC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAA;IAE3E,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACxC,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QAC3C,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;QAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO;QACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;KAClC,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAgD;IACjE,IAAI,OAAO,KAAK,SAAS;QACvB,OAAO;YACL,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;SAClB,CAAA;IACH,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC7B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;YACrB,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;SAClB,CAAA;IAEH,MAAM,IAAI,GAA4B,EAAE,CAAA;IACxC,MAAM,SAAS,GAAyB,EAAE,CAAA;IAC1C,IAAI,OAA2B,CAAA;IAC/B,IAAI,QAA6B,CAAA;IACjC,IAAI,MAAyB,CAAA;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,KAA2B,CAAA;aACvD,IAAI,GAAG,KAAK,UAAU;YAAE,QAAQ,GAAG,KAA4B,CAAA;aAC/D,IAAI,GAAG,KAAK,QAAQ;YAAE,MAAM,GAAG,KAA0B,CAAA;aACzD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAClF,CAAC;;YAAM,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAC1B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AACvD,CAAC;AAED,SAAS,IAAI,CACX,SAAoB,EACpB,IAAgB,EAChB,SAA+B,EAC/B,MAAc,EACd,QAAQ,GAAG,KAAK,EAChB,IAAmB;IAEnB,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;QACxD,IAAI,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAgC,CAAC,EAAE,CAAC;YAChE,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC;gBAElC,MAAM,IAAI,UAAU,CAClB,iEAAiE,CAClE,CAAA;YACH,OAAO;gBACL,QAAQ;gBACR,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,EAAE;gBACzE,QAAQ;gBACR,IAAI;aACL,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GACZ,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,iBAAiB,CAClC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAClD,QAAQ,EACR,MAAM,CAAC,MAAM,CACd,CAAA;QACD,UAAU,CAAC,KAAK,IAAI,MAAM,CAAA;QAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAC5B,SAAiC,EACjC,OAAqC;IAErC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,IAAI,CAAC,CAAA;IACjE,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnD,QAAQ;QACR,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAM;KACvD,CAAC,CACH,CAAA;AACH,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,YAAY,CAC1B,SAAiC,EACjC,OAAqC;IAErC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClF,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CACrD,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7E,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/E,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAM,CAAC,CAAA;IAC5C,CAAC,CACF,CACF,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CACb,SAAoB,EACpB,IAAmB;IAEnB,MAAM,QAAQ,GAAoC,EAAE,CAAA;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAQ;QACvE,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;QAEnF,MAAM,UAAU,GAAe,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7E,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,IAAI,GAAG,KAAK,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAAE,SAAQ;YAClE,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ;gBACR,WAAW,CAAC,QAAQ,EAAE,KAAuC,CAAC;aAC/D,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,MAAM,IAAI,EAAE;QAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAAkB,EAClB,KAAqC;IAErC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAChE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,QAAQ,IAAI,CAAC,CAAA;QACnF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,kCAAkC,QAAQ,IAAI,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,IACE,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EACjE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,oBAAoB,CAAC,QAAQ,CAAC;QAAE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9E,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CAAC,OAA2B,EAAE,KAAa,EAAE,KAAa;IAC7E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAA;IACnC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,EAAE,GAC5B,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3D,MAAM,MAAM,GACV,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,KAAK,GAAG,CAAC;YACX,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAA;IACd,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,MAAM,CAAC,IAAgB;IAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAA;IAC7D,OAAO,UAAU,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"animate.js","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Target } from '../types.js';
2
+ import type { Blur, BlurOptions } from './types.js';
3
+ export type { Blur, BlurOptions, BlurSnapshot } from './types.js';
4
+ /** Blur a dedicated content view after native layout. Keep sharp controls in a sibling. */
5
+ export declare function blur(target: Target, options?: BlurOptions): Blur;
6
+ //# sourceMappingURL=index.d.ts.map