react-native-screen-transitions 4.0.0-alpha.0 → 4.0.0-alpha.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 (403) hide show
  1. package/lib/commonjs/animation/snap-to.js +2 -0
  2. package/lib/commonjs/animation/snap-to.js.map +1 -1
  3. package/lib/commonjs/components/boundary/components/boundary-target.js +19 -20
  4. package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
  5. package/lib/commonjs/components/boundary/create-boundary-component.js +16 -2
  6. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  7. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -0
  8. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  9. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +1 -3
  10. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  11. package/lib/commonjs/components/boundary/index.js +4 -3
  12. package/lib/commonjs/components/boundary/index.js.map +1 -1
  13. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js +5 -1
  14. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
  15. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +47 -188
  16. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  17. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js +21 -13
  18. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  19. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +1 -12
  20. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  21. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +40 -33
  22. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  23. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +3 -4
  24. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  25. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +46 -131
  26. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  27. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +45 -9
  28. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  29. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -1
  30. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +2 -29
  31. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  32. package/lib/commonjs/components/boundary/portal/utils/handoff-target.js +33 -0
  33. package/lib/commonjs/components/boundary/portal/utils/handoff-target.js.map +1 -0
  34. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js +19 -15
  35. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  36. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js +1 -10
  37. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js.map +1 -1
  38. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +18 -36
  39. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
  40. package/lib/commonjs/components/boundary/utils/refresh-signals.js +7 -0
  41. package/lib/commonjs/components/boundary/utils/refresh-signals.js.map +1 -1
  42. package/lib/commonjs/components/boundary/utils/resolve-boundary-target.js +29 -0
  43. package/lib/commonjs/components/boundary/utils/resolve-boundary-target.js.map +1 -0
  44. package/lib/commonjs/components/masked-view.js +9 -1
  45. package/lib/commonjs/components/masked-view.js.map +1 -1
  46. package/lib/commonjs/components/screen-container/layers/backdrop.js +3 -1
  47. package/lib/commonjs/components/screen-container/layers/backdrop.js.map +1 -1
  48. package/lib/commonjs/components/screen-container/layers/maybe-masked-navigation-container.js +9 -1
  49. package/lib/commonjs/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  50. package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -0
  51. package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  52. package/lib/commonjs/navigators/react-navigation/index.js +7 -8
  53. package/lib/commonjs/navigators/react-navigation/index.js.map +1 -1
  54. package/lib/commonjs/providers/helpers/measured-bounds-writes.js +4 -1
  55. package/lib/commonjs/providers/helpers/measured-bounds-writes.js.map +1 -1
  56. package/lib/commonjs/providers/screen/gestures/gestures.provider.js +2 -8
  57. package/lib/commonjs/providers/screen/gestures/gestures.provider.js.map +1 -1
  58. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js +1 -0
  59. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  60. package/lib/commonjs/providers/screen/gestures/pinch/activation/use-pinch-activation.js +37 -3
  61. package/lib/commonjs/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  62. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +1 -0
  63. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  64. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js +3 -2
  65. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  66. package/lib/commonjs/providers/screen/gestures/types.js.map +1 -1
  67. package/lib/commonjs/providers/screen/styles/helpers/transition-visual-state.js +42 -0
  68. package/lib/commonjs/providers/screen/styles/helpers/transition-visual-state.js.map +1 -0
  69. package/lib/commonjs/providers/screen/styles/helpers/visibility-gate.js +11 -5
  70. package/lib/commonjs/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  71. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +23 -10
  72. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  73. package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js +10 -8
  74. package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  75. package/lib/commonjs/stores/bounds/internals/links.js +4 -4
  76. package/lib/commonjs/stores/bounds/internals/links.js.map +1 -1
  77. package/lib/commonjs/stores/scroll.store.js +20 -2
  78. package/lib/commonjs/stores/scroll.store.js.map +1 -1
  79. package/lib/commonjs/stores/system.store.js +2 -0
  80. package/lib/commonjs/stores/system.store.js.map +1 -1
  81. package/lib/commonjs/utils/animation/animate-to-progress.js +23 -1
  82. package/lib/commonjs/utils/animation/animate-to-progress.js.map +1 -1
  83. package/lib/commonjs/utils/animation/animate.js +14 -2
  84. package/lib/commonjs/utils/animation/animate.js.map +1 -1
  85. package/lib/commonjs/utils/animation/spring/spring.js +22 -2
  86. package/lib/commonjs/utils/animation/spring/spring.js.map +1 -1
  87. package/lib/commonjs/utils/animation/spring/springUtils.js +96 -0
  88. package/lib/commonjs/utils/animation/spring/springUtils.js.map +1 -1
  89. package/lib/commonjs/utils/animation/state.js +4 -0
  90. package/lib/commonjs/utils/bounds/navigation/reveal/math.js +17 -5
  91. package/lib/commonjs/utils/bounds/navigation/reveal/math.js.map +1 -1
  92. package/lib/commonjs/utils/bounds/navigation/zoom/build.js +44 -20
  93. package/lib/commonjs/utils/bounds/navigation/zoom/build.js.map +1 -1
  94. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js +2 -31
  95. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js.map +1 -1
  96. package/lib/commonjs/utils/bounds/navigation/zoom/helpers.js +3 -17
  97. package/lib/commonjs/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  98. package/lib/module/animation/snap-to.js +2 -0
  99. package/lib/module/animation/snap-to.js.map +1 -1
  100. package/lib/module/components/boundary/components/boundary-target.js +19 -20
  101. package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
  102. package/lib/module/components/boundary/create-boundary-component.js +17 -3
  103. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  104. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -0
  105. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  106. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +1 -3
  107. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  108. package/lib/module/components/boundary/index.js +3 -2
  109. package/lib/module/components/boundary/index.js.map +1 -1
  110. package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js +5 -1
  111. package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
  112. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +49 -190
  113. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  114. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js +21 -13
  115. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  116. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +2 -13
  117. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  118. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +43 -36
  119. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  120. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +3 -4
  121. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  122. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +50 -135
  123. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  124. package/lib/module/components/boundary/portal/components/boundary-portal/index.js +44 -9
  125. package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  126. package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -1
  127. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -27
  128. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  129. package/lib/module/components/boundary/portal/utils/handoff-target.js +28 -0
  130. package/lib/module/components/boundary/portal/utils/handoff-target.js.map +1 -0
  131. package/lib/module/components/boundary/portal/utils/resolve-portal.js +19 -15
  132. package/lib/module/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  133. package/lib/module/components/boundary/portal/utils/teleport-control.js +0 -8
  134. package/lib/module/components/boundary/portal/utils/teleport-control.js.map +1 -1
  135. package/lib/module/components/boundary/providers/boundary-root.provider.js +19 -37
  136. package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
  137. package/lib/module/components/boundary/utils/refresh-signals.js +7 -0
  138. package/lib/module/components/boundary/utils/refresh-signals.js.map +1 -1
  139. package/lib/module/components/boundary/utils/resolve-boundary-target.js +24 -0
  140. package/lib/module/components/boundary/utils/resolve-boundary-target.js.map +1 -0
  141. package/lib/module/components/masked-view.js +10 -2
  142. package/lib/module/components/masked-view.js.map +1 -1
  143. package/lib/module/components/screen-container/layers/backdrop.js +3 -1
  144. package/lib/module/components/screen-container/layers/backdrop.js.map +1 -1
  145. package/lib/module/components/screen-container/layers/maybe-masked-navigation-container.js +10 -2
  146. package/lib/module/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  147. package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -0
  148. package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  149. package/lib/module/navigators/react-navigation/index.js +4 -6
  150. package/lib/module/navigators/react-navigation/index.js.map +1 -1
  151. package/lib/module/providers/helpers/measured-bounds-writes.js +4 -1
  152. package/lib/module/providers/helpers/measured-bounds-writes.js.map +1 -1
  153. package/lib/module/providers/screen/gestures/gestures.provider.js +2 -8
  154. package/lib/module/providers/screen/gestures/gestures.provider.js.map +1 -1
  155. package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js +1 -0
  156. package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  157. package/lib/module/providers/screen/gestures/pinch/activation/use-pinch-activation.js +35 -2
  158. package/lib/module/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  159. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +1 -0
  160. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  161. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js +3 -2
  162. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  163. package/lib/module/providers/screen/gestures/types.js.map +1 -1
  164. package/lib/module/providers/screen/styles/helpers/transition-visual-state.js +35 -0
  165. package/lib/module/providers/screen/styles/helpers/transition-visual-state.js.map +1 -0
  166. package/lib/module/providers/screen/styles/helpers/visibility-gate.js +11 -5
  167. package/lib/module/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  168. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +23 -10
  169. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  170. package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js +10 -8
  171. package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  172. package/lib/module/stores/bounds/internals/links.js +4 -4
  173. package/lib/module/stores/bounds/internals/links.js.map +1 -1
  174. package/lib/module/stores/scroll.store.js +17 -0
  175. package/lib/module/stores/scroll.store.js.map +1 -1
  176. package/lib/module/stores/system.store.js +2 -0
  177. package/lib/module/stores/system.store.js.map +1 -1
  178. package/lib/module/utils/animation/animate-to-progress.js +21 -0
  179. package/lib/module/utils/animation/animate-to-progress.js.map +1 -1
  180. package/lib/module/utils/animation/animate.js +14 -2
  181. package/lib/module/utils/animation/animate.js.map +1 -1
  182. package/lib/module/utils/animation/spring/spring.js +23 -3
  183. package/lib/module/utils/animation/spring/spring.js.map +1 -1
  184. package/lib/module/utils/animation/spring/springUtils.js +95 -0
  185. package/lib/module/utils/animation/spring/springUtils.js.map +1 -1
  186. package/lib/module/utils/animation/state.js +2 -0
  187. package/lib/module/utils/bounds/navigation/reveal/math.js +16 -5
  188. package/lib/module/utils/bounds/navigation/reveal/math.js.map +1 -1
  189. package/lib/module/utils/bounds/navigation/zoom/build.js +46 -22
  190. package/lib/module/utils/bounds/navigation/zoom/build.js.map +1 -1
  191. package/lib/module/utils/bounds/navigation/zoom/drag.js +2 -30
  192. package/lib/module/utils/bounds/navigation/zoom/drag.js.map +1 -1
  193. package/lib/module/utils/bounds/navigation/zoom/helpers.js +4 -18
  194. package/lib/module/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  195. package/lib/typescript/animation/snap-to.d.ts.map +1 -1
  196. package/lib/typescript/components/boundary/components/boundary-target.d.ts +2 -1
  197. package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
  198. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  199. package/lib/typescript/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  200. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts +3 -4
  201. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  202. package/lib/typescript/components/boundary/index.d.ts +6 -9
  203. package/lib/typescript/components/boundary/index.d.ts.map +1 -1
  204. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +1 -3
  205. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  206. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +1 -1
  207. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  208. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  209. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts +1 -10
  210. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -1
  211. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +1 -3
  212. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  213. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +2 -2
  214. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +2 -2
  215. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -1
  216. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts +0 -1
  217. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +1 -1
  218. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +1 -10
  219. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  220. package/lib/typescript/components/boundary/portal/utils/handoff-target.d.ts +12 -0
  221. package/lib/typescript/components/boundary/portal/utils/handoff-target.d.ts.map +1 -0
  222. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts +2 -3
  223. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -1
  224. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts +0 -4
  225. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
  226. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +8 -12
  227. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  228. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts +1 -0
  229. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  230. package/lib/typescript/components/boundary/utils/resolve-boundary-target.d.ts +12 -0
  231. package/lib/typescript/components/boundary/utils/resolve-boundary-target.d.ts.map +1 -0
  232. package/lib/typescript/components/create-transition-aware-component.d.ts +5 -6
  233. package/lib/typescript/components/create-transition-aware-component.d.ts.map +1 -1
  234. package/lib/typescript/components/masked-view.d.ts.map +1 -1
  235. package/lib/typescript/components/screen-container/layers/backdrop.d.ts.map +1 -1
  236. package/lib/typescript/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  237. package/lib/typescript/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  238. package/lib/typescript/index.d.ts +650 -702
  239. package/lib/typescript/index.d.ts.map +1 -1
  240. package/lib/typescript/navigators/react-navigation/index.d.ts +6 -17
  241. package/lib/typescript/navigators/react-navigation/index.d.ts.map +1 -1
  242. package/lib/typescript/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
  243. package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  244. package/lib/typescript/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  245. package/lib/typescript/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +2 -1
  246. package/lib/typescript/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
  247. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  248. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
  249. package/lib/typescript/providers/screen/gestures/types.d.ts +1 -9
  250. package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
  251. package/lib/typescript/providers/screen/styles/helpers/transition-visual-state.d.ts +18 -0
  252. package/lib/typescript/providers/screen/styles/helpers/transition-visual-state.d.ts.map +1 -0
  253. package/lib/typescript/providers/screen/styles/helpers/visibility-gate.d.ts +2 -2
  254. package/lib/typescript/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
  255. package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts +4 -4
  256. package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  257. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  258. package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -2
  259. package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  260. package/lib/typescript/stores/bounds/internals/links.d.ts +1 -1
  261. package/lib/typescript/stores/bounds/internals/links.d.ts.map +1 -1
  262. package/lib/typescript/stores/scroll.store.d.ts +7 -0
  263. package/lib/typescript/stores/scroll.store.d.ts.map +1 -1
  264. package/lib/typescript/stores/system.store.d.ts +5 -0
  265. package/lib/typescript/stores/system.store.d.ts.map +1 -1
  266. package/lib/typescript/utils/animation/animate-to-progress.d.ts +6 -1
  267. package/lib/typescript/utils/animation/animate-to-progress.d.ts.map +1 -1
  268. package/lib/typescript/utils/animation/animate.d.ts +2 -2
  269. package/lib/typescript/utils/animation/animate.d.ts.map +1 -1
  270. package/lib/typescript/utils/animation/spring/spring.d.ts +2 -2
  271. package/lib/typescript/utils/animation/spring/spring.d.ts.map +1 -1
  272. package/lib/typescript/utils/animation/spring/springUtils.d.ts +3 -0
  273. package/lib/typescript/utils/animation/spring/springUtils.d.ts.map +1 -1
  274. package/lib/typescript/utils/animation/state.d.ts +6 -0
  275. package/lib/typescript/utils/animation/state.d.ts.map +1 -1
  276. package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts +9 -0
  277. package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  278. package/lib/typescript/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  279. package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts +2 -11
  280. package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts.map +1 -1
  281. package/lib/typescript/utils/bounds/navigation/zoom/helpers.d.ts +7 -4
  282. package/lib/typescript/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  283. package/package.json +1 -1
  284. package/src/animation/snap-to.ts +5 -0
  285. package/src/components/boundary/components/boundary-target.tsx +37 -23
  286. package/src/components/boundary/create-boundary-component.tsx +29 -3
  287. package/src/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +11 -0
  288. package/src/components/boundary/hooks/use-boundary-measurement.ts +3 -9
  289. package/src/components/boundary/index.tsx +4 -8
  290. package/src/components/boundary/portal/components/boundary-content-portal/components/host.tsx +5 -1
  291. package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +73 -276
  292. package/src/components/boundary/portal/components/boundary-content-portal/index.tsx +31 -12
  293. package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +2 -12
  294. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +64 -62
  295. package/src/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts +2 -9
  296. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +73 -187
  297. package/src/components/boundary/portal/components/boundary-portal/index.tsx +72 -12
  298. package/src/components/boundary/portal/components/boundary-portal/stores/host-registry.store.ts +0 -1
  299. package/src/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +2 -39
  300. package/src/components/boundary/portal/utils/handoff-target.ts +48 -0
  301. package/src/components/boundary/portal/utils/resolve-portal.ts +26 -18
  302. package/src/components/boundary/portal/utils/teleport-control.ts +0 -12
  303. package/src/components/boundary/providers/boundary-root.provider.tsx +28 -80
  304. package/src/components/boundary/utils/refresh-signals.ts +8 -0
  305. package/src/components/boundary/utils/resolve-boundary-target.tsx +39 -0
  306. package/src/components/masked-view.tsx +20 -4
  307. package/src/components/screen-container/layers/backdrop.tsx +3 -1
  308. package/src/components/screen-container/layers/maybe-masked-navigation-container.tsx +14 -4
  309. package/src/components/screen-lifecycle/hooks/use-transition-start-controller.ts +2 -0
  310. package/src/navigators/react-navigation/index.tsx +4 -48
  311. package/src/providers/helpers/measured-bounds-writes.ts +1 -0
  312. package/src/providers/screen/gestures/gestures.provider.tsx +2 -10
  313. package/src/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +1 -0
  314. package/src/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +74 -3
  315. package/src/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +1 -0
  316. package/src/providers/screen/gestures/pinch/behavior/pinch-release.ts +2 -4
  317. package/src/providers/screen/gestures/types.ts +0 -14
  318. package/src/providers/screen/styles/helpers/transition-visual-state.ts +44 -0
  319. package/src/providers/screen/styles/helpers/visibility-gate.ts +17 -7
  320. package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +30 -15
  321. package/src/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +14 -13
  322. package/src/stores/bounds/internals/links.ts +13 -2
  323. package/src/stores/scroll.store.ts +23 -0
  324. package/src/stores/system.store.ts +8 -0
  325. package/src/utils/animation/animate-to-progress.ts +59 -28
  326. package/src/utils/animation/animate.ts +18 -2
  327. package/src/utils/animation/spring/spring.ts +36 -1
  328. package/src/utils/animation/spring/springUtils.ts +130 -0
  329. package/src/utils/animation/state.ts +8 -0
  330. package/src/utils/bounds/navigation/reveal/math.ts +21 -5
  331. package/src/utils/bounds/navigation/zoom/build.ts +77 -23
  332. package/src/utils/bounds/navigation/zoom/drag.ts +3 -42
  333. package/src/utils/bounds/navigation/zoom/helpers.ts +9 -23
  334. package/lib/commonjs/components/boundary/hooks/use-register-target.js +0 -32
  335. package/lib/commonjs/components/boundary/hooks/use-register-target.js.map +0 -1
  336. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-slot.js +0 -52
  337. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +0 -1
  338. package/lib/commonjs/components/boundary/portal/utils/ownership.js +0 -220
  339. package/lib/commonjs/components/boundary/portal/utils/ownership.js.map +0 -1
  340. package/lib/commonjs/components/boundary/portal/utils/shallow-equal.js +0 -29
  341. package/lib/commonjs/components/boundary/portal/utils/shallow-equal.js.map +0 -1
  342. package/lib/commonjs/components/boundary/portal/utils/visible-host.js +0 -25
  343. package/lib/commonjs/components/boundary/portal/utils/visible-host.js.map +0 -1
  344. package/lib/commonjs/providers/screen/gestures/rotation/activation/use-rotation-activation.js +0 -64
  345. package/lib/commonjs/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +0 -1
  346. package/lib/commonjs/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +0 -21
  347. package/lib/commonjs/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +0 -1
  348. package/lib/commonjs/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +0 -29
  349. package/lib/commonjs/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +0 -1
  350. package/lib/commonjs/providers/screen/gestures/rotation/use-build-rotation-gesture.js +0 -38
  351. package/lib/commonjs/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +0 -1
  352. package/lib/commonjs/providers/screen/styles/helpers/opening-phase.js +0 -32
  353. package/lib/commonjs/providers/screen/styles/helpers/opening-phase.js.map +0 -1
  354. package/lib/module/components/boundary/hooks/use-register-target.js +0 -27
  355. package/lib/module/components/boundary/hooks/use-register-target.js.map +0 -1
  356. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-slot.js +0 -47
  357. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +0 -1
  358. package/lib/module/components/boundary/portal/utils/ownership.js +0 -213
  359. package/lib/module/components/boundary/portal/utils/ownership.js.map +0 -1
  360. package/lib/module/components/boundary/portal/utils/shallow-equal.js +0 -24
  361. package/lib/module/components/boundary/portal/utils/shallow-equal.js.map +0 -1
  362. package/lib/module/components/boundary/portal/utils/visible-host.js +0 -20
  363. package/lib/module/components/boundary/portal/utils/visible-host.js.map +0 -1
  364. package/lib/module/providers/screen/gestures/rotation/activation/use-rotation-activation.js +0 -59
  365. package/lib/module/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +0 -1
  366. package/lib/module/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +0 -15
  367. package/lib/module/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +0 -1
  368. package/lib/module/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +0 -24
  369. package/lib/module/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +0 -1
  370. package/lib/module/providers/screen/gestures/rotation/use-build-rotation-gesture.js +0 -33
  371. package/lib/module/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +0 -1
  372. package/lib/module/providers/screen/styles/helpers/opening-phase.js +0 -26
  373. package/lib/module/providers/screen/styles/helpers/opening-phase.js.map +0 -1
  374. package/lib/typescript/components/boundary/hooks/use-register-target.d.ts +0 -10
  375. package/lib/typescript/components/boundary/hooks/use-register-target.d.ts.map +0 -1
  376. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts +0 -13
  377. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts.map +0 -1
  378. package/lib/typescript/components/boundary/portal/utils/ownership.d.ts +0 -34
  379. package/lib/typescript/components/boundary/portal/utils/ownership.d.ts.map +0 -1
  380. package/lib/typescript/components/boundary/portal/utils/shallow-equal.d.ts +0 -8
  381. package/lib/typescript/components/boundary/portal/utils/shallow-equal.d.ts.map +0 -1
  382. package/lib/typescript/components/boundary/portal/utils/visible-host.d.ts +0 -8
  383. package/lib/typescript/components/boundary/portal/utils/visible-host.d.ts.map +0 -1
  384. package/lib/typescript/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts +0 -15
  385. package/lib/typescript/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts.map +0 -1
  386. package/lib/typescript/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts +0 -4
  387. package/lib/typescript/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts.map +0 -1
  388. package/lib/typescript/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts +0 -5
  389. package/lib/typescript/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts.map +0 -1
  390. package/lib/typescript/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts +0 -9
  391. package/lib/typescript/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts.map +0 -1
  392. package/lib/typescript/providers/screen/styles/helpers/opening-phase.d.ts +0 -16
  393. package/lib/typescript/providers/screen/styles/helpers/opening-phase.d.ts.map +0 -1
  394. package/src/components/boundary/hooks/use-register-target.ts +0 -43
  395. package/src/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx +0 -80
  396. package/src/components/boundary/portal/utils/ownership.ts +0 -319
  397. package/src/components/boundary/portal/utils/shallow-equal.ts +0 -25
  398. package/src/components/boundary/portal/utils/visible-host.ts +0 -24
  399. package/src/providers/screen/gestures/rotation/activation/use-rotation-activation.ts +0 -88
  400. package/src/providers/screen/gestures/rotation/behavior/rotation-lifecycle.ts +0 -19
  401. package/src/providers/screen/gestures/rotation/behavior/use-rotation-behavior.ts +0 -47
  402. package/src/providers/screen/gestures/rotation/use-build-rotation-gesture.ts +0 -50
  403. package/src/providers/screen/styles/helpers/opening-phase.ts +0 -25
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.animateToProgress = void 0;
6
+ exports.resolveAnimationProgressRange = exports.animateToProgress = void 0;
7
7
  var _reactNativeWorklets = require("react-native-worklets");
8
8
  var _constants = require("../../constants");
9
9
  var _animate = require("./animate");
@@ -15,16 +15,27 @@ const setTransitionLifecycleFlags = (animations, isClosing, markEntering) => {
15
15
  animations.entering.set(_constants.FALSE);
16
16
  return;
17
17
  }
18
+ animations.closing.set(_constants.FALSE);
18
19
  if (markEntering) {
19
20
  animations.entering.set(_constants.TRUE);
20
21
  }
21
22
  };
23
+ const resolveAnimationProgressRange = (currentProgress, targetProgress) => {
24
+ "worklet";
25
+
26
+ return {
27
+ from: Math.min(1, Math.max(0, currentProgress)),
28
+ to: targetProgress
29
+ };
30
+ };
31
+ exports.resolveAnimationProgressRange = resolveAnimationProgressRange;
22
32
  const animateToProgress = ({
23
33
  target,
24
34
  spec,
25
35
  onAnimationFinish,
26
36
  animations,
27
37
  targetProgress,
38
+ animationProgress,
28
39
  emitWillAnimate = true,
29
40
  markEntering = true,
30
41
  initialVelocity
@@ -52,13 +63,19 @@ const animateToProgress = ({
52
63
  const startAnimation = () => {
53
64
  "worklet";
54
65
 
66
+ const {
67
+ from: animationProgressFrom,
68
+ to: animationProgressTo
69
+ } = resolveAnimationProgressRange(transitionProgress.get(), value);
55
70
  targetProgress.set(value);
71
+ animationProgress.set(animationProgressFrom);
56
72
  const shouldClearEnteringOnFinish = !isClosing && (markEntering || entering.get());
57
73
  setTransitionLifecycleFlags(animations, isClosing, markEntering);
58
74
  if (!config) {
59
75
  progressAnimating.set(_constants.FALSE);
60
76
  progressSettled.set(_constants.TRUE);
61
77
  transitionProgress.set(value);
78
+ animationProgress.set(animationProgressTo);
62
79
  if (shouldClearEnteringOnFinish) {
63
80
  entering.set(_constants.FALSE);
64
81
  }
@@ -76,6 +93,7 @@ const animateToProgress = ({
76
93
  progressSettled.set(_constants.TRUE);
77
94
  }
78
95
  if (!state.finished) return;
96
+ animationProgress.set(animationProgressTo);
79
97
  if (shouldClearEnteringOnFinish) {
80
98
  entering.set(_constants.FALSE);
81
99
  }
@@ -104,6 +122,10 @@ const animateToProgress = ({
104
122
  progressAnimating.set(_constants.FALSE);
105
123
  });
106
124
  }
125
+ }, {
126
+ value: animationProgress,
127
+ from: animationProgressFrom,
128
+ to: animationProgressTo
107
129
  }));
108
130
  };
109
131
  if (emitWillAnimate) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeWorklets","require","_constants","_animate","setTransitionLifecycleFlags","animations","isClosing","markEntering","closing","set","TRUE","entering","FALSE","animateToProgress","target","spec","onAnimationFinish","targetProgress","emitWillAnimate","initialVelocity","value","config","close","open","isSpringConfig","isSpringAnimationConfig","effectiveConfig","velocity","transitionProgress","willAnimate","progressAnimating","progressSettled","startAnimation","shouldClearEnteringOnFinish","get","scheduleOnRN","animate","state","settled","finished","requestAnimationFrame","exports"],"sourceRoot":"../../../../src","sources":["utils/animation/animate-to-progress.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeWorklets","require","_constants","_animate","setTransitionLifecycleFlags","animations","isClosing","markEntering","closing","set","TRUE","entering","FALSE","resolveAnimationProgressRange","currentProgress","targetProgress","from","Math","min","max","to","exports","animateToProgress","target","spec","onAnimationFinish","animationProgress","emitWillAnimate","initialVelocity","value","config","close","open","isSpringConfig","isSpringAnimationConfig","effectiveConfig","velocity","transitionProgress","willAnimate","progressAnimating","progressSettled","startAnimation","animationProgressFrom","animationProgressTo","get","shouldClearEnteringOnFinish","scheduleOnRN","animate","state","settled","finished","requestAnimationFrame"],"sourceRoot":"../../../../src","sources":["utils/animation/animate-to-progress.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAGA,IAAAE,QAAA,GAAAF,OAAA;AAqBA,MAAMG,2BAA2B,GAAGA,CACnCC,UAA6B,EAC7BC,SAAkB,EAClBC,YAAqB,KACjB;EACJ,SAAS;;EAET,IAAID,SAAS,EAAE;IACdD,UAAU,CAACG,OAAO,CAACC,GAAG,CAACC,eAAI,CAAC;IAC5BL,UAAU,CAACM,QAAQ,CAACF,GAAG,CAACG,gBAAK,CAAC;IAC9B;EACD;EAEAP,UAAU,CAACG,OAAO,CAACC,GAAG,CAACG,gBAAK,CAAC;EAE7B,IAAIL,YAAY,EAAE;IACjBF,UAAU,CAACM,QAAQ,CAACF,GAAG,CAACC,eAAI,CAAC;EAC9B;AACD,CAAC;AAEM,MAAMG,6BAA6B,GAAGA,CAC5CC,eAAuB,EACvBC,cAAsB,KAClB;EACJ,SAAS;;EACT,OAAO;IACNC,IAAI,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEL,eAAe,CAAC,CAAC;IAC/CM,EAAE,EAAEL;EACL,CAAC;AACF,CAAC;AAACM,OAAA,CAAAR,6BAAA,GAAAA,6BAAA;AAEK,MAAMS,iBAAiB,GAAGA,CAAC;EACjCC,MAAM;EACNC,IAAI;EACJC,iBAAiB;EACjBpB,UAAU;EACVU,cAAc;EACdW,iBAAiB;EACjBC,eAAe,GAAG,IAAI;EACtBpB,YAAY,GAAG,IAAI;EACnBqB;AACuB,CAAC,KAAK;EAC7B,SAAS;;EAET;EACA,MAAMtB,SAAS,GACdiB,MAAM,KAAK,OAAO,IAAK,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,CAAE;EACnE,MAAMM,KAAK,GAAG,OAAON,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGA,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;;EAE7E;EACA,MAAMO,MAAM,GAAGxB,SAAS,GAAGkB,IAAI,EAAEO,KAAK,GAAGP,IAAI,EAAEQ,IAAI;EAEnD,MAAMC,cAAc,GAAG,IAAAC,gCAAuB,EAACJ,MAAM,CAAC;EAEtD,MAAMK,eAAe,GACpBF,cAAc,IAAI,OAAOL,eAAe,KAAK,QAAQ,GAClD;IAAE,GAAGE,MAAM;IAAEM,QAAQ,EAAER;EAAgB,CAAC,GACxCE,MAAM;EAEV,MAAM;IACLO,kBAAkB;IAClBC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACf7B;EACD,CAAC,GAAGN,UAAU;EAEd,MAAMoC,cAAc,GAAGA,CAAA,KAAM;IAC5B,SAAS;;IACT,MAAM;MAAEzB,IAAI,EAAE0B,qBAAqB;MAAEtB,EAAE,EAAEuB;IAAoB,CAAC,GAC7D9B,6BAA6B,CAACwB,kBAAkB,CAACO,GAAG,CAAC,CAAC,EAAEf,KAAK,CAAC;IAE/Dd,cAAc,CAACN,GAAG,CAACoB,KAAK,CAAC;IACzBH,iBAAiB,CAACjB,GAAG,CAACiC,qBAAqB,CAAC;IAE5C,MAAMG,2BAA2B,GAChC,CAACvC,SAAS,KAAKC,YAAY,IAAII,QAAQ,CAACiC,GAAG,CAAC,CAAC,CAAC;IAE/CxC,2BAA2B,CAACC,UAAU,EAAEC,SAAS,EAAEC,YAAY,CAAC;IAEhE,IAAI,CAACuB,MAAM,EAAE;MACZS,iBAAiB,CAAC9B,GAAG,CAACG,gBAAK,CAAC;MAC5B4B,eAAe,CAAC/B,GAAG,CAACC,eAAI,CAAC;MACzB2B,kBAAkB,CAAC5B,GAAG,CAACoB,KAAK,CAAC;MAC7BH,iBAAiB,CAACjB,GAAG,CAACkC,mBAAmB,CAAC;MAC1C,IAAIE,2BAA2B,EAAE;QAChClC,QAAQ,CAACF,GAAG,CAACG,gBAAK,CAAC;MACpB;MAEA,IAAIa,iBAAiB,EAAE;QACtB,IAAAqB,iCAAY,EAACrB,iBAAiB,EAAE,IAAI,CAAC;MACtC;MACA;IACD;IAEAc,iBAAiB,CAAC9B,GAAG,CAACC,eAAI,CAAC,CAAC,CAAC;IAC7B8B,eAAe,CAAC/B,GAAG,CAACG,gBAAK,CAAC;IAC1ByB,kBAAkB,CAAC5B,GAAG,CACrB,IAAAsC,gBAAO,EACNlB,KAAK,EACLM,eAAe,EACda,KAAK,IAAK;MACV,SAAS;;MACT,IAAIA,KAAK,CAACC,OAAO,EAAE;QAClBT,eAAe,CAAC/B,GAAG,CAACC,eAAI,CAAC;MAC1B;MAEA,IAAI,CAACsC,KAAK,CAACE,QAAQ,EAAE;MAErBxB,iBAAiB,CAACjB,GAAG,CAACkC,mBAAmB,CAAC;MAE1C,IAAIE,2BAA2B,EAAE;QAChClC,QAAQ,CAACF,GAAG,CAACG,gBAAK,CAAC;MACpB;MAEA,IAAIN,SAAS,EAAE;QACdiC,iBAAiB,CAAC9B,GAAG,CAACG,gBAAK,CAAC;QAE5B,IAAIa,iBAAiB,EAAE;UACtB;UACA;UACA0B,qBAAqB,CAAC,MAAM;YAC3B,SAAS;;YACTA,qBAAqB,CAAC,MAAM;cAC3B,SAAS;;cACT,IAAAL,iCAAY,EAACrB,iBAAiB,EAAEuB,KAAK,CAACE,QAAQ,CAAC;YAChD,CAAC,CAAC;UACH,CAAC,CAAC;QACH;MACD,CAAC,MAAM;QACN,IAAIzB,iBAAiB,EAAE;UACtB,IAAAqB,iCAAY,EAACrB,iBAAiB,EAAEuB,KAAK,CAACE,QAAQ,CAAC;QAChD;;QAEA;QACAC,qBAAqB,CAAC,MAAM;UAC3BZ,iBAAiB,CAAC9B,GAAG,CAACG,gBAAK,CAAC;QAC7B,CAAC,CAAC;MACH;IACD,CAAC,EACD;MACCiB,KAAK,EAAEH,iBAAiB;MACxBV,IAAI,EAAE0B,qBAAqB;MAC3BtB,EAAE,EAAEuB;IACL,CACD,CACD,CAAC;EACF,CAAC;EAED,IAAIhB,eAAe,EAAE;IACpBvB,2BAA2B,CAACC,UAAU,EAAEC,SAAS,EAAEC,YAAY,CAAC;IAEhE+B,WAAW,CAAC7B,GAAG,CAACC,eAAI,CAAC;IACrByC,qBAAqB,CAAC,MAAM;MAC3B,SAAS;;MACTb,WAAW,CAAC7B,GAAG,CAACG,gBAAK,CAAC;MACtB6B,cAAc,CAAC,CAAC;IACjB,CAAC,CAAC;IACF;EACD;EAEAA,cAAc,CAAC,CAAC;AACjB,CAAC;AAACpB,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.isSpringAnimationConfig = exports.animate = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
8
  var _spring = require("./spring");
9
+ const linearEasing = progress => {
10
+ "worklet";
11
+
12
+ return progress;
13
+ };
9
14
  const isSpringAnimationConfig = config => {
10
15
  "worklet";
11
16
 
@@ -15,10 +20,17 @@ const isSpringAnimationConfig = config => {
15
20
  return "stiffness" in config || "damping" in config || "mass" in config || "velocity" in config || "overshootClamping" in config || "energyThreshold" in config || "dampingRatio" in config || "clamp" in config;
16
21
  };
17
22
  exports.isSpringAnimationConfig = isSpringAnimationConfig;
18
- const animate = (toValue, config, callback) => {
23
+ const animate = (toValue, config, callback, animationProgress) => {
19
24
  "worklet";
20
25
 
21
26
  if (!isSpringAnimationConfig(config)) {
27
+ if (animationProgress) {
28
+ animationProgress.value.set(animationProgress.from);
29
+ animationProgress.value.set((0, _reactNativeReanimated.withTiming)(animationProgress.to, {
30
+ ...config,
31
+ easing: linearEasing
32
+ }));
33
+ }
22
34
  return (0, _reactNativeReanimated.withTiming)(toValue, config, finished => {
23
35
  "worklet";
24
36
 
@@ -29,7 +41,7 @@ const animate = (toValue, config, callback) => {
29
41
  });
30
42
  });
31
43
  }
32
- return (0, _spring.withInternalSpring)(toValue, config, callback);
44
+ return (0, _spring.withInternalSpring)(toValue, config, callback, animationProgress);
33
45
  };
34
46
  exports.animate = animate;
35
47
  //# sourceMappingURL=animate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_spring","isSpringAnimationConfig","config","exports","animate","toValue","callback","withTiming","finished","didFinish","settled","withInternalSpring"],"sourceRoot":"../../../../src","sources":["utils/animation/animate.ts"],"mappings":";;;;;;AACA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AASO,MAAME,uBAAuB,GACnCC,MAAyC,IACJ;EACrC,SAAS;;EACT,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;IAClD,OAAO,KAAK;EACb;EAEA,OACC,WAAW,IAAIA,MAAM,IACrB,SAAS,IAAIA,MAAM,IACnB,MAAM,IAAIA,MAAM,IAChB,UAAU,IAAIA,MAAM,IACpB,mBAAmB,IAAIA,MAAM,IAC7B,iBAAiB,IAAIA,MAAM,IAC3B,cAAc,IAAIA,MAAM,IACxB,OAAO,IAAIA,MAAM;AAEnB,CAAC;AAACC,OAAA,CAAAF,uBAAA,GAAAA,uBAAA;AAEK,MAAMG,OAAO,GAAGA,CACtBC,OAAe,EACfH,MAA8B,EAC9BI,QAAiC,KAC7B;EACJ,SAAS;;EAET,IAAI,CAACL,uBAAuB,CAACC,MAAM,CAAC,EAAE;IACrC,OAAO,IAAAK,iCAAU,EAACF,OAAO,EAAEH,MAAM,EAAGM,QAAQ,IAAK;MAChD,SAAS;;MACT,MAAMC,SAAS,GAAGD,QAAQ,KAAK,IAAI;MACnCF,QAAQ,GAAG;QACVE,QAAQ,EAAEC,SAAS;QACnBC,OAAO,EAAED;MACV,CAAC,CAAC;IACH,CAAC,CAAC;EACH;EAEA,OAAO,IAAAE,0BAAkB,EAACN,OAAO,EAAEH,MAAM,EAAEI,QAAQ,CAAC;AACrD,CAAC;AAACH,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_spring","linearEasing","progress","isSpringAnimationConfig","config","exports","animate","toValue","callback","animationProgress","value","set","from","withTiming","to","easing","finished","didFinish","settled","withInternalSpring"],"sourceRoot":"../../../../src","sources":["utils/animation/animate.ts"],"mappings":";;;;;;AACA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AASA,MAAME,YAAY,GAAIC,QAAgB,IAAK;EAC1C,SAAS;;EACT,OAAOA,QAAQ;AAChB,CAAC;AAEM,MAAMC,uBAAuB,GACnCC,MAAyC,IACJ;EACrC,SAAS;;EACT,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;IAClD,OAAO,KAAK;EACb;EAEA,OACC,WAAW,IAAIA,MAAM,IACrB,SAAS,IAAIA,MAAM,IACnB,MAAM,IAAIA,MAAM,IAChB,UAAU,IAAIA,MAAM,IACpB,mBAAmB,IAAIA,MAAM,IAC7B,iBAAiB,IAAIA,MAAM,IAC3B,cAAc,IAAIA,MAAM,IACxB,OAAO,IAAIA,MAAM;AAEnB,CAAC;AAACC,OAAA,CAAAF,uBAAA,GAAAA,uBAAA;AAEK,MAAMG,OAAO,GAAGA,CACtBC,OAAe,EACfH,MAA8B,EAC9BI,QAAiC,EACjCC,iBAA2C,KACvC;EACJ,SAAS;;EAET,IAAI,CAACN,uBAAuB,CAACC,MAAM,CAAC,EAAE;IACrC,IAAIK,iBAAiB,EAAE;MACtBA,iBAAiB,CAACC,KAAK,CAACC,GAAG,CAACF,iBAAiB,CAACG,IAAI,CAAC;MACnDH,iBAAiB,CAACC,KAAK,CAACC,GAAG,CAC1B,IAAAE,iCAAU,EAACJ,iBAAiB,CAACK,EAAE,EAAE;QAChC,GAAGV,MAAM;QACTW,MAAM,EAAEd;MACT,CAAC,CACF,CAAC;IACF;IAEA,OAAO,IAAAY,iCAAU,EAACN,OAAO,EAAEH,MAAM,EAAGY,QAAQ,IAAK;MAChD,SAAS;;MACT,MAAMC,SAAS,GAAGD,QAAQ,KAAK,IAAI;MACnCR,QAAQ,GAAG;QACVQ,QAAQ,EAAEC,SAAS;QACnBC,OAAO,EAAED;MACV,CAAC,CAAC;IACH,CAAC,CAAC;EACH;EAEA,OAAO,IAAAE,0BAAkB,EAACZ,OAAO,EAAEH,MAAM,EAAEI,QAAQ,EAAEC,iBAAiB,CAAC;AACxE,CAAC;AAACJ,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -9,6 +9,7 @@ const REACT_NATIVE_RUNTIME_KIND = 1;
9
9
  const REDUCE_MOTION_SYSTEM = "system";
10
10
  const REDUCE_MOTION_ALWAYS = "always";
11
11
  const DEFAULT_SPRING_SETTLE_DISTANCE = 0.001;
12
+ const MAX_UNFINISHED_ANIMATION_PROGRESS = 1 - 1e-6;
12
13
  const DEFAULT_SPRING_CONFIG = {
13
14
  damping: 120,
14
15
  mass: 4,
@@ -34,7 +35,7 @@ const getReduceMotionForAnimation = config => {
34
35
  }
35
36
  return config === REDUCE_MOTION_ALWAYS;
36
37
  };
37
- const defineSpringAnimation = (_starting, factory) => {
38
+ const defineSpringAnimation = (_starting, factory, onReducedMotion) => {
38
39
  "worklet";
39
40
 
40
41
  const create = () => {
@@ -46,6 +47,7 @@ const defineSpringAnimation = (_starting, factory) => {
46
47
  "worklet";
47
48
 
48
49
  if (animation.reduceMotion) {
50
+ onReducedMotion?.();
49
51
  animation.current = animation.toValue;
50
52
  animation.onFrame = () => true;
51
53
  return;
@@ -78,9 +80,10 @@ const defineSpringAnimation = (_starting, factory) => {
78
80
  * to the native spring handoff behavior while keeping our own surface small and
79
81
  * easy to extend with callbacks tailored to the transition lifecycle.
80
82
  */
81
- const withInternalSpring = (toValue, userConfig, callback) => {
83
+ const withInternalSpring = (toValue, userConfig, callback, animationProgress) => {
82
84
  "worklet";
83
85
 
86
+ // biome-ignore format: Keep this Reanimated fork aligned with its upstream layout.
84
87
  return defineSpringAnimation(toValue, () => {
85
88
  "worklet";
86
89
 
@@ -119,6 +122,7 @@ const withInternalSpring = (toValue, userConfig, callback) => {
119
122
  } = animation;
120
123
  if (config.skipAnimation) {
121
124
  animation.current = toValue;
125
+ animationProgress?.value.set(animationProgress.to);
122
126
  animation.lastTimestamp = 0;
123
127
  return true;
124
128
  }
@@ -128,6 +132,7 @@ const withInternalSpring = (toValue, userConfig, callback) => {
128
132
  } = animation;
129
133
  const deltaTime = Math.min(Math.max(now - lastTimestamp, 0), 64);
130
134
  animation.lastTimestamp = now;
135
+ animation.animationProgressElapsed += deltaTime;
131
136
  const t = deltaTime / 1000;
132
137
  const v0 = velocity;
133
138
  const x0 = current - toValue;
@@ -157,6 +162,7 @@ const withInternalSpring = (toValue, userConfig, callback) => {
157
162
  if ((0, _springUtils.isAnimationTerminatingCalculation)(animation, config)) {
158
163
  animation.velocity = 0;
159
164
  animation.current = toValue;
165
+ animationProgress?.value.set(animationProgress.to);
160
166
  settled = true;
161
167
  animation.settled = true;
162
168
  // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one
@@ -164,6 +170,11 @@ const withInternalSpring = (toValue, userConfig, callback) => {
164
170
  return true;
165
171
  }
166
172
  notifySettled(animation);
173
+ if (animationProgress) {
174
+ const elapsedFraction = animation.animationProgressDuration <= 0 ? MAX_UNFINISHED_ANIMATION_PROGRESS : Math.min(animation.animationProgressElapsed / animation.animationProgressDuration, MAX_UNFINISHED_ANIMATION_PROGRESS);
175
+ const nextAnimationProgress = animationProgress.from + (animationProgress.to - animationProgress.from) * elapsedFraction;
176
+ animationProgress.value.set(nextAnimationProgress);
177
+ }
167
178
  return false;
168
179
  }
169
180
  function isTriggeredTwice(previousAnimation, animation) {
@@ -212,6 +223,9 @@ const withInternalSpring = (toValue, userConfig, callback) => {
212
223
  }
213
224
  const initialEnergy = (0, _springUtils.getEnergy)(x0, config.velocity, config.stiffness, config.mass);
214
225
  animation.initialEnergy = initialEnergy;
226
+ animation.animationProgressElapsed = 0;
227
+ animation.animationProgressDuration = config.skipAnimation ? 0 : (0, _springUtils.calculateSpringAnimationDuration)(animation, config);
228
+ animationProgress?.value.set(animationProgress.from);
215
229
  animation.lastTimestamp = previousAnimation?.lastTimestamp || now;
216
230
  animation.startTimestamp = triggeredTwice ? previousAnimation?.startTimestamp || now : now;
217
231
  notifySettled(animation);
@@ -239,9 +253,15 @@ const withInternalSpring = (toValue, userConfig, callback) => {
239
253
  omega0: 0,
240
254
  omega1: 0,
241
255
  initialEnergy: 0,
256
+ animationProgressElapsed: 0,
257
+ animationProgressDuration: 0,
242
258
  reduceMotion: getReduceMotionForAnimation(config.reduceMotion)
243
259
  };
244
260
  return animation;
261
+ }, () => {
262
+ "worklet";
263
+
264
+ animationProgress?.value.set(animationProgress.to);
245
265
  });
246
266
  };
247
267
  exports.withInternalSpring = withInternalSpring;
@@ -1 +1 @@
1
- {"version":3,"names":["_springUtils","require","REACT_NATIVE_RUNTIME_KIND","REDUCE_MOTION_SYSTEM","REDUCE_MOTION_ALWAYS","DEFAULT_SPRING_SETTLE_DISTANCE","DEFAULT_SPRING_CONFIG","damping","mass","stiffness","duration","dampingRatio","overshootClamping","energyThreshold","velocity","reduceMotion","undefined","clamp","getRuntimeKind","globalThis","__RUNTIME_KIND","getReduceMotionForAnimation","config","defineSpringAnimation","_starting","factory","create","animation","baseOnStart","onStart","value","timestamp","previousAnimation","current","toValue","onFrame","__isAnimationDefinition","withInternalSpring","userConfig","callback","safeMergeConfigs","useDuration","skipAnimation","settleDistance","settled","notifySettled","isAnimationSettledCalculation","finished","checkIfConfigIsValid","springOnFrame","now","lastTimestamp","deltaTime","Math","min","max","t","v0","x0","zeta","omega0","omega1","position","newPosition","newVelocity","underDampedSpringCalculations","criticallyDampedSpringCalculations","isAnimationTerminatingCalculation","isTriggeredTwice","startTimestamp","triggeredTwice","startValue","actualDuration","calculateNewStiffnessToMatchDuration","initialCalculations","scaleZetaToMatchClamps","initialEnergy","getEnergy","didFinish","exports"],"sourceRoot":"../../../../../src","sources":["utils/animation/spring/spring.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_springUtils","require","REACT_NATIVE_RUNTIME_KIND","REDUCE_MOTION_SYSTEM","REDUCE_MOTION_ALWAYS","DEFAULT_SPRING_SETTLE_DISTANCE","MAX_UNFINISHED_ANIMATION_PROGRESS","DEFAULT_SPRING_CONFIG","damping","mass","stiffness","duration","dampingRatio","overshootClamping","energyThreshold","velocity","reduceMotion","undefined","clamp","getRuntimeKind","globalThis","__RUNTIME_KIND","getReduceMotionForAnimation","config","defineSpringAnimation","_starting","factory","onReducedMotion","create","animation","baseOnStart","onStart","value","timestamp","previousAnimation","current","toValue","onFrame","__isAnimationDefinition","withInternalSpring","userConfig","callback","animationProgress","safeMergeConfigs","useDuration","skipAnimation","settleDistance","settled","notifySettled","isAnimationSettledCalculation","finished","checkIfConfigIsValid","springOnFrame","now","set","to","lastTimestamp","deltaTime","Math","min","max","animationProgressElapsed","t","v0","x0","zeta","omega0","omega1","position","newPosition","newVelocity","underDampedSpringCalculations","criticallyDampedSpringCalculations","isAnimationTerminatingCalculation","elapsedFraction","animationProgressDuration","nextAnimationProgress","from","isTriggeredTwice","startTimestamp","triggeredTwice","startValue","actualDuration","calculateNewStiffnessToMatchDuration","initialCalculations","scaleZetaToMatchClamps","initialEnergy","getEnergy","calculateSpringAnimationDuration","didFinish","exports"],"sourceRoot":"../../../../../src","sources":["utils/animation/spring/spring.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.calculateNewStiffnessToMatchDuration = calculateNewStiffnessToMatchDuration;
7
+ exports.calculateSpringAnimationDuration = calculateSpringAnimationDuration;
7
8
  exports.checkIfConfigIsValid = checkIfConfigIsValid;
8
9
  exports.criticallyDampedSpringCalculations = criticallyDampedSpringCalculations;
9
10
  exports.getEnergy = getEnergy;
@@ -274,6 +275,101 @@ function underDampedSpringCalculations(animation, precalculatedValues) {
274
275
  velocity: underDampedVelocity
275
276
  };
276
277
  }
278
+ const MAX_SPRING_DURATION_SECONDS = 60;
279
+ const SPRING_DURATION_PRECISION_SECONDS = 0.0001;
280
+ const MAX_OVERSHOOT_DURATION_SAMPLES = 4096;
281
+ function calculateSpringAnimationDuration(animation, config) {
282
+ "worklet";
283
+
284
+ const startPosition = animation.current;
285
+ const startVelocity = animation.velocity;
286
+ const x0 = startPosition - animation.toValue;
287
+ const stateAt = time => {
288
+ "worklet";
289
+
290
+ return animation.zeta < 1 ? underDampedSpringCalculations(animation, {
291
+ zeta: animation.zeta,
292
+ v0: startVelocity,
293
+ x0,
294
+ omega0: animation.omega0,
295
+ omega1: animation.omega1,
296
+ t: time
297
+ }) : criticallyDampedSpringCalculations(animation, {
298
+ v0: startVelocity,
299
+ x0,
300
+ omega0: animation.omega0,
301
+ t: time
302
+ });
303
+ };
304
+ const terminatesByEnergyAt = time => {
305
+ "worklet";
306
+
307
+ if (animation.initialEnergy === 0) {
308
+ return true;
309
+ }
310
+ const state = stateAt(time);
311
+ const energy = getEnergy(animation.toValue - state.position, state.velocity, config.stiffness, config.mass);
312
+ return energy / animation.initialEnergy <= config.energyThreshold;
313
+ };
314
+ if (terminatesByEnergyAt(0)) {
315
+ return 0;
316
+ }
317
+ let lowerBound = 0;
318
+ let upperBound = 1 / 60;
319
+ while (upperBound < MAX_SPRING_DURATION_SECONDS && !terminatesByEnergyAt(upperBound)) {
320
+ lowerBound = upperBound;
321
+ upperBound *= 2;
322
+ }
323
+ upperBound = Math.min(upperBound, MAX_SPRING_DURATION_SECONDS);
324
+ if (terminatesByEnergyAt(upperBound)) {
325
+ while (upperBound - lowerBound > SPRING_DURATION_PRECISION_SECONDS) {
326
+ const midpoint = (lowerBound + upperBound) / 2;
327
+ if (terminatesByEnergyAt(midpoint)) {
328
+ upperBound = midpoint;
329
+ } else {
330
+ lowerBound = midpoint;
331
+ }
332
+ }
333
+ }
334
+ const energyDuration = upperBound;
335
+ if (!config.overshootClamping || energyDuration === 0) {
336
+ return energyDuration * 1000;
337
+ }
338
+ const leftBound = animation.startValue >= 0 ? animation.toValue : animation.toValue + animation.startValue;
339
+ const rightBound = leftBound + Math.abs(animation.startValue);
340
+ const isOutsideBoundsAt = time => {
341
+ "worklet";
342
+
343
+ const {
344
+ position
345
+ } = stateAt(time);
346
+ return position < leftBound || position > rightBound;
347
+ };
348
+ const frequency = animation.zeta < 1 ? animation.omega1 : animation.omega0;
349
+ const sampleStep = frequency > 0 ? Math.min(1 / 240, Math.PI / (frequency * 8)) : 1 / 240;
350
+ const sampleCount = Math.min(MAX_OVERSHOOT_DURATION_SAMPLES, Math.max(1, Math.ceil(energyDuration / sampleStep)));
351
+ const effectiveStep = energyDuration / sampleCount;
352
+ let previousTime = 0;
353
+ for (let index = 1; index <= sampleCount; index += 1) {
354
+ const time = effectiveStep * index;
355
+ if (!isOutsideBoundsAt(time)) {
356
+ previousTime = time;
357
+ continue;
358
+ }
359
+ let crossingLowerBound = previousTime;
360
+ let crossingUpperBound = time;
361
+ while (crossingUpperBound - crossingLowerBound > SPRING_DURATION_PRECISION_SECONDS) {
362
+ const midpoint = (crossingLowerBound + crossingUpperBound) / 2;
363
+ if (isOutsideBoundsAt(midpoint)) {
364
+ crossingUpperBound = midpoint;
365
+ } else {
366
+ crossingLowerBound = midpoint;
367
+ }
368
+ }
369
+ return crossingUpperBound * 1000;
370
+ }
371
+ return energyDuration * 1000;
372
+ }
277
373
  function isAnimationTerminatingCalculation(animation, config) {
278
374
  "worklet";
279
375
 
@@ -1 +1 @@
1
- {"version":3,"names":["checkIfConfigIsValid","config","errorMessage","forEach","prop","value","duration","clamp","min","max","console","warn","safeMergeConfigs","defaults","userConfig","filtered","Object","fromEntries","entries","filter","v","undefined","bisectRoot","func","precision","maxIterations","direction","idx","current","Math","abs","initialCalculations","stiffness","skipAnimation","zeta","omega0","omega1","useDuration","mass","m","dampingRatio","sqrt","damping","c","k","scaleZetaToMatchClamps","animation","toValue","startValue","toValueNum","Number","firstBound","secondBound","relativeExtremum1","relativeExtremum2","newZeta1","log","PI","newZeta2","zetaSatisfyingClamp","x","getEnergy","displacement","velocity","potentialEnergy","kineticEnergy","calculateNewStiffnessToMatchDuration","x0","v0","energyThreshold","threshold","targetDuration","energyDiffForStiffness","perceptualCoefficient","MILLISECONDS_IN_SECOND","settlingDuration","xtk","exp","vtk","e0","etk","energyFraction","EPSILON","criticallyDampedSpringCalculations","precalculatedValues","t","criticallyDampedEnvelope","criticallyDampedPosition","criticallyDampedVelocity","position","underDampedSpringCalculations","sin1","sin","cos1","cos","underDampedEnvelope","underDampedFrag1","underDampedPosition","underDampedVelocity","isAnimationTerminatingCalculation","initialEnergy","overshootClamping","leftBound","rightBound","currentEnergy","isAnimationSettledCalculation","distance","settleDistance","maxSettledEnergy"],"sourceRoot":"../../../../../src","sources":["utils/animation/spring/springUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["checkIfConfigIsValid","config","errorMessage","forEach","prop","value","duration","clamp","min","max","console","warn","safeMergeConfigs","defaults","userConfig","filtered","Object","fromEntries","entries","filter","v","undefined","bisectRoot","func","precision","maxIterations","direction","idx","current","Math","abs","initialCalculations","stiffness","skipAnimation","zeta","omega0","omega1","useDuration","mass","m","dampingRatio","sqrt","damping","c","k","scaleZetaToMatchClamps","animation","toValue","startValue","toValueNum","Number","firstBound","secondBound","relativeExtremum1","relativeExtremum2","newZeta1","log","PI","newZeta2","zetaSatisfyingClamp","x","getEnergy","displacement","velocity","potentialEnergy","kineticEnergy","calculateNewStiffnessToMatchDuration","x0","v0","energyThreshold","threshold","targetDuration","energyDiffForStiffness","perceptualCoefficient","MILLISECONDS_IN_SECOND","settlingDuration","xtk","exp","vtk","e0","etk","energyFraction","EPSILON","criticallyDampedSpringCalculations","precalculatedValues","t","criticallyDampedEnvelope","criticallyDampedPosition","criticallyDampedVelocity","position","underDampedSpringCalculations","sin1","sin","cos1","cos","underDampedEnvelope","underDampedFrag1","underDampedPosition","underDampedVelocity","MAX_SPRING_DURATION_SECONDS","SPRING_DURATION_PRECISION_SECONDS","MAX_OVERSHOOT_DURATION_SAMPLES","calculateSpringAnimationDuration","startPosition","startVelocity","stateAt","time","terminatesByEnergyAt","initialEnergy","state","energy","lowerBound","upperBound","midpoint","energyDuration","overshootClamping","leftBound","rightBound","isOutsideBoundsAt","frequency","sampleStep","sampleCount","ceil","effectiveStep","previousTime","index","crossingLowerBound","crossingUpperBound","isAnimationTerminatingCalculation","currentEnergy","isAnimationSettledCalculation","distance","settleDistance","maxSettledEnergy"],"sourceRoot":"../../../../../src","sources":["utils/animation/spring/springUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,6 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=state.js.map
@@ -8,6 +8,7 @@ exports.mixUnit = mixUnit;
8
8
  exports.resolveAspectRatioMaskHeight = resolveAspectRatioMaskHeight;
9
9
  exports.resolveDismissScaleHandoff = resolveDismissScaleHandoff;
10
10
  exports.resolveRevealContentBaseTransform = resolveRevealContentBaseTransform;
11
+ exports.resolveRevealContentBaseTransformFromGeometry = resolveRevealContentBaseTransformFromGeometry;
11
12
  exports.resolveRevealDirectionalDragScale = resolveRevealDirectionalDragScale;
12
13
  exports.resolveRevealGestureHandoff = resolveRevealGestureHandoff;
13
14
  exports.resolveSafeScale = resolveSafeScale;
@@ -133,6 +134,18 @@ function getBoundsCenterY(bounds) {
133
134
 
134
135
  return bounds.pageY + bounds.height / 2;
135
136
  }
137
+ function resolveRevealContentBaseTransformFromGeometry({
138
+ progress,
139
+ geometry
140
+ }) {
141
+ "worklet";
142
+
143
+ return {
144
+ translateX: mixUnit(geometry.tx, 0, progress),
145
+ translateY: mixUnit(geometry.ty, 0, progress),
146
+ scale: mixUnit(geometry.s, 1, progress)
147
+ };
148
+ }
136
149
  function resolveRevealContentBaseTransform({
137
150
  progress,
138
151
  sourceBounds,
@@ -150,11 +163,10 @@ function resolveRevealContentBaseTransform({
150
163
  anchor,
151
164
  scaleMode: "uniform"
152
165
  });
153
- return {
154
- translateX: mixUnit(geometry.tx, 0, progress),
155
- translateY: mixUnit(geometry.ty, 0, progress),
156
- scale: mixUnit(geometry.s, 1, progress)
157
- };
166
+ return resolveRevealContentBaseTransformFromGeometry({
167
+ geometry,
168
+ progress
169
+ });
158
170
  }
159
171
  function resolveTrackedSourceElementTransform({
160
172
  sourceBounds,
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_geometry","_config","clampUnit","value","Math","min","max","mixUnit","from","to","progress","interpolateClamped","inputStart","inputEnd","outputStart","outputEnd","resolveSafeScale","scale","abs","EPSILON","resolveUnitDragTranslation","translation","dimension","baseDistance","exports","resolveRevealDirectionalDragScale","normalized","inverted","dismissalRelative","rawScale","DRAG_DIRECTIONAL_SCALE_MIN","DRAG_DIRECTIONAL_SCALE_EXPONENT","oppositeDrag","DRAG_DIRECTIONAL_SCALE_MAX","resolveUniformScale","sourceWidth","sourceHeight","destinationWidth","destinationHeight","sx","sy","sourceAspect","destinationAspect","aspectDifference","resolveRevealGestureHandoff","rawDrag","maxSensitivity","clampedRawDrag","gestureSensitivity","releaseBoost","releaseSensitivity","gestureReleaseVelocityScale","resolveDismissScaleHandoff","releaseScale","targetScale","velocity","velocityDepth","closeProgress","easeIn","cos","PI","scaleProgress","baseScale","orbitDepth","orbitScale","sin","resolveAspectRatioMaskHeight","maskWidth","maskHeight","targetWidth","targetHeight","safeMaskWidth","safeMaskHeight","safeTargetWidth","safeTargetHeight","targetAspectHeight","getBoundsCenterX","bounds","pageX","width","getBoundsCenterY","pageY","height","resolveRevealContentBaseTransform","sourceBounds","destinationBounds","screenLayout","anchor","geometry","computeContentTransformGeometry","start","end","entering","dimensions","scaleMode","translateX","tx","translateY","ty","s","resolveTrackedSourceElementTransform","contentTranslateX","contentTranslateY","contentScale","parentScale","screenWidth","screenHeight","screenCenterX","screenCenterY","safeParentScale","safeSourceWidth","safeSourceHeight","sourceCenterX","sourceCenterY","destinationCenterX","destinationCenterY","trackedCenterX","trackedCenterY","scaleX","scaleY"],"sourceRoot":"../../../../../../src","sources":["utils/bounds/navigation/reveal/math.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_geometry","_config","clampUnit","value","Math","min","max","mixUnit","from","to","progress","interpolateClamped","inputStart","inputEnd","outputStart","outputEnd","resolveSafeScale","scale","abs","EPSILON","resolveUnitDragTranslation","translation","dimension","baseDistance","exports","resolveRevealDirectionalDragScale","normalized","inverted","dismissalRelative","rawScale","DRAG_DIRECTIONAL_SCALE_MIN","DRAG_DIRECTIONAL_SCALE_EXPONENT","oppositeDrag","DRAG_DIRECTIONAL_SCALE_MAX","resolveUniformScale","sourceWidth","sourceHeight","destinationWidth","destinationHeight","sx","sy","sourceAspect","destinationAspect","aspectDifference","resolveRevealGestureHandoff","rawDrag","maxSensitivity","clampedRawDrag","gestureSensitivity","releaseBoost","releaseSensitivity","gestureReleaseVelocityScale","resolveDismissScaleHandoff","releaseScale","targetScale","velocity","velocityDepth","closeProgress","easeIn","cos","PI","scaleProgress","baseScale","orbitDepth","orbitScale","sin","resolveAspectRatioMaskHeight","maskWidth","maskHeight","targetWidth","targetHeight","safeMaskWidth","safeMaskHeight","safeTargetWidth","safeTargetHeight","targetAspectHeight","getBoundsCenterX","bounds","pageX","width","getBoundsCenterY","pageY","height","resolveRevealContentBaseTransformFromGeometry","geometry","translateX","tx","translateY","ty","s","resolveRevealContentBaseTransform","sourceBounds","destinationBounds","screenLayout","anchor","computeContentTransformGeometry","start","end","entering","dimensions","scaleMode","resolveTrackedSourceElementTransform","contentTranslateX","contentTranslateY","contentScale","parentScale","screenWidth","screenHeight","screenCenterX","screenCenterY","safeParentScale","safeSourceWidth","safeSourceHeight","sourceCenterX","sourceCenterY","destinationCenterX","destinationCenterY","trackedCenterX","trackedCenterY","scaleX","scaleY"],"sourceRoot":"../../../../../../src","sources":["utils/bounds/navigation/reveal/math.ts"],"mappings":"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","ignoreList":[]}