react-native-screen-transitions 3.8.0-alpha.0 → 3.8.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +1 -1
  2. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  3. package/lib/commonjs/shared/components/create-transition-aware-component.js +7 -5
  4. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  5. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +1 -0
  6. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  7. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -0
  8. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  9. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +1 -1
  10. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  11. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js +7 -1
  12. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
  13. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js +7 -0
  14. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -1
  15. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +40 -0
  16. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -0
  17. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js +51 -13
  18. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -1
  19. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +74 -6
  20. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  21. package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -1
  22. package/lib/commonjs/shared/stores/scroll.store.js +49 -5
  23. package/lib/commonjs/shared/stores/scroll.store.js.map +1 -1
  24. package/lib/commonjs/shared/types/gesture.types.js +12 -0
  25. package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
  26. package/lib/commonjs/shared/utils/animation/spring/spring.js +7 -3
  27. package/lib/commonjs/shared/utils/animation/spring/spring.js.map +1 -1
  28. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +1 -1
  29. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  30. package/lib/module/shared/components/create-transition-aware-component.js +8 -6
  31. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  32. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +1 -0
  33. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  34. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -0
  35. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  36. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +1 -1
  37. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  38. package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js +7 -1
  39. package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
  40. package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js +1 -0
  41. package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -1
  42. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +33 -0
  43. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -0
  44. package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js +48 -12
  45. package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -1
  46. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +76 -8
  47. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  48. package/lib/module/shared/providers/screen/gestures/types.js.map +1 -1
  49. package/lib/module/shared/stores/scroll.store.js +49 -5
  50. package/lib/module/shared/stores/scroll.store.js.map +1 -1
  51. package/lib/module/shared/types/gesture.types.js +16 -0
  52. package/lib/module/shared/types/gesture.types.js.map +1 -1
  53. package/lib/module/shared/utils/animation/spring/spring.js +7 -3
  54. package/lib/module/shared/utils/animation/spring/spring.js.map +1 -1
  55. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  56. package/lib/typescript/shared/index.d.ts +1 -1
  57. package/lib/typescript/shared/index.d.ts.map +1 -1
  58. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  59. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +2 -0
  60. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  61. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +2 -1
  62. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  63. package/lib/typescript/shared/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts.map +1 -1
  64. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts +1 -0
  65. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts.map +1 -1
  66. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +12 -0
  67. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -0
  68. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts +5 -1
  69. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts.map +1 -1
  70. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts +4 -0
  71. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  72. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +2 -2
  73. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  74. package/lib/typescript/shared/stores/scroll.store.d.ts +15 -8
  75. package/lib/typescript/shared/stores/scroll.store.d.ts.map +1 -1
  76. package/lib/typescript/shared/types/gesture.types.d.ts +17 -1
  77. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  78. package/lib/typescript/shared/types/index.d.ts +1 -1
  79. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  80. package/lib/typescript/shared/types/screen.types.d.ts +8 -1
  81. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  82. package/lib/typescript/shared/utils/animation/spring/spring.d.ts.map +1 -1
  83. package/package.json +1 -1
  84. package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +1 -1
  85. package/src/shared/components/create-transition-aware-component.tsx +14 -6
  86. package/src/shared/index.ts +4 -0
  87. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +2 -0
  88. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +2 -0
  89. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +4 -0
  90. package/src/shared/providers/screen/gestures/gestures.provider.tsx +1 -1
  91. package/src/shared/providers/screen/gestures/pan/activation/pan-activation-decision.ts +10 -1
  92. package/src/shared/providers/screen/gestures/scroll-coordination/index.ts +1 -0
  93. package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +43 -0
  94. package/src/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.ts +59 -4
  95. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +130 -8
  96. package/src/shared/providers/screen/gestures/types.ts +2 -0
  97. package/src/shared/stores/scroll.store.ts +80 -7
  98. package/src/shared/types/gesture.types.ts +18 -1
  99. package/src/shared/types/index.ts +4 -0
  100. package/src/shared/types/screen.types.ts +8 -0
  101. package/src/shared/utils/animation/spring/spring.ts +7 -3
@@ -1,5 +1,9 @@
1
- import type { ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState } from "../types";
1
+ import type { ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState, ScrollMetadataState } from "../types";
2
2
  export declare const updateScrollGestureAxisState: (state: ScrollGestureState | null, axis: ScrollGestureAxis, patch: Partial<ScrollGestureAxisState> & {
3
3
  isTouched?: boolean;
4
4
  }) => ScrollGestureState;
5
+ export declare const updateScrollMetadataAxisState: (state: ScrollMetadataState | null, axis: ScrollGestureAxis, patch: Partial<ScrollGestureAxisState> & {
6
+ isTouched?: boolean;
7
+ }) => ScrollMetadataState;
8
+ export declare const clearScrollMetadataAxisState: (state: ScrollMetadataState | null, axis: ScrollGestureAxis) => ScrollMetadataState | null;
5
9
  //# sourceMappingURL=update-scroll-gesture-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-scroll-gesture-state.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,UAAU,CAAC;AAWlB,eAAO,MAAM,4BAA4B,GACxC,OAAO,kBAAkB,GAAG,IAAI,EAChC,MAAM,iBAAiB,EACvB,OAAO,OAAO,CAAC,sBAAsB,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KAC9D,kBAwBF,CAAC"}
1
+ {"version":3,"file":"update-scroll-gesture-state.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,UAAU,CAAC;AAuBlB,eAAO,MAAM,4BAA4B,GACxC,OAAO,kBAAkB,GAAG,IAAI,EAChC,MAAM,iBAAiB,EACvB,OAAO,OAAO,CAAC,sBAAsB,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KAC9D,kBAwBF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACzC,OAAO,mBAAmB,GAAG,IAAI,EACjC,MAAM,iBAAiB,EACvB,OAAO,OAAO,CAAC,sBAAsB,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KAC9D,mBAwBF,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACxC,OAAO,mBAAmB,GAAG,IAAI,EACjC,MAAM,iBAAiB,KACrB,mBAAmB,GAAG,IAOxB,CAAC"}
@@ -20,6 +20,10 @@ export declare const useScrollGestureCoordination: (props: ScrollGestureCoordina
20
20
  onContentSizeChange: (width: number, height: number) => void;
21
21
  onLayout: (event: LayoutChangeEvent) => void;
22
22
  nativeGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/nativeGesture").NativeGesture | null;
23
+ metadataOwnerProviderValue: {
24
+ horizontal: boolean;
25
+ vertical: boolean;
26
+ };
23
27
  };
24
28
  export {};
25
29
  //# sourceMappingURL=use-scroll-gesture-coordination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll-gesture-coordination.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAWtD,OAAO,KAAK,EACX,iBAAiB,EAGjB,MAAM,UAAU,CAAC;AAIlB,UAAU,8BAA8B;IACvC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAmBD;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GACxC,OAAO,8BAA8B;;;;;;CA8HrC,CAAC"}
1
+ {"version":3,"file":"use-scroll-gesture-coordination.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYtD,OAAO,KAAK,EACX,iBAAiB,EAIjB,MAAM,UAAU,CAAC;AAYlB,UAAU,8BAA8B;IACvC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AA4CD;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GACxC,OAAO,8BAA8B;;;;;;;;;;CAqNrC,CAAC"}
@@ -4,7 +4,7 @@ import type { AnimationStoreMap } from "../../../stores/animation.store";
4
4
  import type { GestureStoreMap } from "../../../stores/gesture.store";
5
5
  import type { SystemStoreMap } from "../../../stores/system.store";
6
6
  import type { AnimationConfig, TransitionSpec } from "../../../types/animation.types";
7
- import type { GestureDirections, GestureProgressMode, ResolvedGestureActivationArea, ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState, SnapPanDirectionConfig, SnapPinchDirectionConfig } from "../../../types/gesture.types";
7
+ import type { GestureDirections, GestureProgressMode, ResolvedGestureActivationArea, ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState, ScrollMetadataState, SnapPanDirectionConfig, SnapPinchDirectionConfig } from "../../../types/gesture.types";
8
8
  import type { ClaimedDirections, DirectionOwnership } from "../../../types/ownership.types";
9
9
  import type { ScreenTransitionConfig } from "../../../types/screen.types";
10
10
  import type { EffectiveSnapPointsResult } from "./shared/snap-points";
@@ -17,7 +17,7 @@ export type PinchGestureEvent = GestureUpdateEvent<PinchGestureHandlerEventPaylo
17
17
  export type RotationGestureEvent = GestureUpdateEvent<RotationGestureHandlerEventPayload> | GestureStateChangeEvent<RotationGestureHandlerEventPayload>;
18
18
  /** Gesture that initiated the current simultaneous gesture composition. */
19
19
  export type GestureCompositionActivation = "pan" | "pinch" | null;
20
- export type { GestureProgressMode, ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState, };
20
+ export type { GestureProgressMode, ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState, ScrollMetadataState, };
21
21
  export type DirectionClaim = {
22
22
  routeKey: string;
23
23
  isDismissing: SharedValue<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/screen/gestures/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/screen/gestures/types.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
1
  import { type SharedValue } from "react-native-reanimated";
2
- import type { ScrollGestureState } from "../types/gesture.types";
2
+ import type { ScrollGestureAxis, ScrollGestureState, ScrollMetadataState } from "../types/gesture.types";
3
+ import type { ScreenKey } from "../types/screen.types";
3
4
  export type ScrollStoreMap = {
4
- state: SharedValue<ScrollGestureState | null>;
5
+ coordination: SharedValue<ScrollGestureState | null>;
6
+ metadata: SharedValue<ScrollMetadataState | null>;
7
+ };
8
+ export declare const ScrollStore: {
9
+ createMetadataWriterId: () => string;
10
+ claimMetadataWriter: (routeKey: ScreenKey, axis: ScrollGestureAxis, writerId: string) => boolean;
11
+ releaseMetadataWriter: (routeKey: ScreenKey, axis: ScrollGestureAxis, writerId: string) => boolean;
12
+ hasMetadataWriters: (routeKey: ScreenKey) => boolean;
13
+ clearBag(routeKey: ScreenKey): void;
14
+ peekBag(routeKey: ScreenKey): ScrollStoreMap | undefined;
15
+ getBag(routeKey: ScreenKey): ScrollStoreMap;
16
+ getValue<K extends keyof ScrollStoreMap>(routeKey: ScreenKey, key: K): ScrollStoreMap[K];
17
+ getCachedBag(): ScrollStoreMap;
5
18
  };
6
- /**
7
- * Route-keyed scroll geometry used by gesture activation and bounds measurement.
8
- * The state tracks coordinated ScrollView offsets and dimensions so consumers
9
- * can reason about overscroll without coupling to a specific scroll component.
10
- */
11
- export declare const ScrollStore: import("../utils/create-store").StoreApi<ScrollStoreMap>;
12
19
  //# sourceMappingURL=scroll.store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.store.d.ts","sourceRoot":"","sources":["../../../../src/shared/stores/scroll.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,WAAW,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,0DAOtB,CAAC"}
1
+ {"version":3,"file":"scroll.store.d.ts","sourceRoot":"","sources":["../../../../src/shared/stores/scroll.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,WAAW,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;CAClD,CAAC;AAuEF,eAAO,MAAM,WAAW;;oCAxDb,SAAS,QACb,iBAAiB,YACb,MAAM,KACd,OAAO;sCAYC,SAAS,QACb,iBAAiB,YACb,MAAM,KACd,OAAO;mCAa4B,SAAS,KAAG,OAAO;uBA+BrC,SAAS;;;;;CAI5B,CAAC"}
@@ -5,16 +5,32 @@ export type GestureDirection = PanGestureDirection | PinchGestureDirection;
5
5
  export type ActiveGesture = ResolvedPanGestureDirection | PinchGestureDirection;
6
6
  export type GestureProgressMode = "progress-driven" | "freeform";
7
7
  export type SnapPanAxis = "horizontal" | "vertical";
8
+ /**
9
+ * Axis reported by a transition-aware scrollable.
10
+ */
8
11
  export type ScrollGestureAxis = "vertical" | "horizontal";
12
+ /**
13
+ * Scroll geometry for one axis of a transition-aware scrollable.
14
+ */
9
15
  export type ScrollGestureAxisState = {
10
16
  offset: number;
11
17
  contentSize: number;
12
18
  layoutSize: number;
19
+ isTouched: boolean;
13
20
  };
21
+ /**
22
+ * Scroll metadata exposed through screen transition layouts.
23
+ */
24
+ export type ScrollMetadataState = {
25
+ vertical: ScrollGestureAxisState | null;
26
+ horizontal: ScrollGestureAxisState | null;
27
+ };
28
+ /**
29
+ * Scroll geometry used by gesture coordination.
30
+ */
14
31
  export type ScrollGestureState = {
15
32
  vertical: ScrollGestureAxisState;
16
33
  horizontal: ScrollGestureAxisState;
17
- isTouched: boolean;
18
34
  };
19
35
  export type SnapPanAxisConfig = {
20
36
  collapse: ResolvedPanGestureDirection;
@@ -1 +1 @@
1
- {"version":3,"file":"gesture.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/gesture.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gesture.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/gesture.types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { FALSE, TRUE } from "../constants";
2
2
  export type { AnimatedViewStyle, AnimationConfig, ScreenInterpolationProps, ScreenStyleInterpolator, ScreenTransitionAccessor, ScreenTransitionDepthTarget, ScreenTransitionOptions, ScreenTransitionState, ScreenTransitionTarget, TransitionInterpolatedStyle, TransitionInterpolatorOptions, TransitionSlotStyle, TransitionSpec, } from "./animation.types";
3
3
  export type { BoundsAccessor, BoundsMethod, BoundsNavigationAccessor, BoundsNavigationRevealOptions, BoundsNavigationRevealStyle, BoundsNavigationZoomOpacityRange, BoundsNavigationZoomOpacityRanges, BoundsNavigationZoomOptions, BoundsNavigationZoomStyle, } from "./bounds.types";
4
- export type { ActivationArea, GestureActivationArea, GestureDirection, GestureDirectionActivationArea, GestureDirectionConfig, GestureDirectionEntry, GestureDirectionOption, GestureValues, PanGestureDirection, PinchGestureDirection, SideActivation, } from "./gesture.types";
4
+ export type { ActivationArea, GestureActivationArea, GestureDirection, GestureDirectionActivationArea, GestureDirectionConfig, GestureDirectionEntry, GestureDirectionOption, GestureValues, PanGestureDirection, PinchGestureDirection, ScrollGestureAxis, ScrollGestureAxisState, ScrollGestureState, ScrollMetadataState, SideActivation, } from "./gesture.types";
5
5
  export type { OverlayProps } from "./overlay.types";
6
6
  export type { GestureTracking, InactiveBehavior, Layout, ScreenKey, ScreenTransitionConfig, TransitionAwareProps, } from "./screen.types";
7
7
  export type { BaseStackDescriptor, BaseStackNavigation, BaseStackRoute, BaseStackScene, BaseStackState, DescriptorMap, StackDescriptorSource, StackSceneActivity, } from "./stack.types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EACX,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GAClB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EACX,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GAClB,MAAM,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { AnimatedProps } from "react-native-reanimated";
2
2
  import type { ScreenStyleInterpolator, TransitionSpec } from "./animation.types";
3
- import type { GestureActivationArea, GestureDirectionOption, GestureProgressMode } from "./gesture.types";
3
+ import type { GestureActivationArea, GestureDirectionOption, GestureProgressMode, ScrollMetadataState } from "./gesture.types";
4
4
  import type { OverlayProps } from "./overlay.types";
5
5
  export type Layout = {
6
6
  width: number;
@@ -18,6 +18,13 @@ export type ScreenLayouts = {
18
18
  * auto snap-point sizing. It is undefined until a real measurement exists.
19
19
  */
20
20
  content?: Layout;
21
+ /**
22
+ * Scroll metadata from the primary transition-aware scrollable on this screen.
23
+ *
24
+ * For nested same-axis scrollables, the outermost scrollable owns that axis.
25
+ * Cross-axis nested scrollables can each publish their own axis.
26
+ */
27
+ scroll?: ScrollMetadataState;
21
28
  };
22
29
  export type ScreenKey = string;
23
30
  export type SheetScrollGestureBehavior = "expand-and-collapse" | "collapse-only";
@@ -1 +1 @@
1
- {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,0BAA0B,GACnC,qBAAqB,GACrB,eAAe,CAAC;AACnB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAEnD;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IAExD;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE7C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5C,CAAC"}
1
+ {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/animation/spring/spring.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA2FpD,KAAK,cAAc,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,sBAAsB,KAC7B,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EA6Nd,cAAc,CAAC"}
1
+ {"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/animation/spring/spring.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA2FpD,KAAK,cAAc,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,sBAAsB,KAC7B,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAiOd,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "3.8.0-alpha.0",
3
+ "version": "3.8.0-beta.0",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@ export const useMeasurer = ({
39
39
  const { width: viewportWidth, height: viewportHeight } =
40
40
  useWindowDimensions();
41
41
 
42
- const scrollState = ScrollStore.getValue(currentScreenKey, "state");
42
+ const scrollState = ScrollStore.getValue(currentScreenKey, "coordination");
43
43
  const pendingLifecycleStartBlockCount = SystemStore.getValue(
44
44
  currentScreenKey,
45
45
  "pendingLifecycleStartBlockCount",
@@ -12,7 +12,10 @@ import Animated, {
12
12
  } from "react-native-reanimated";
13
13
  import { NO_PROPS, NO_STYLES } from "../constants";
14
14
  import { RegisterBoundsProvider } from "../providers/register-bounds.provider";
15
- import { useScrollGestureCoordination } from "../providers/screen/gestures/scroll-coordination";
15
+ import {
16
+ ScrollMetadataOwnerProvider,
17
+ useScrollGestureCoordination,
18
+ } from "../providers/screen/gestures/scroll-coordination";
16
19
  import { useScreenStyles } from "../providers/screen/styles";
17
20
  import type { TransitionAwareProps } from "../types/screen.types";
18
21
 
@@ -55,6 +58,7 @@ export function createTransitionAwareComponent<P extends object>(
55
58
  onContentSizeChange,
56
59
  onLayout,
57
60
  nativeGesture,
61
+ metadataOwnerProviderValue,
58
62
  } = useScrollGestureCoordination({
59
63
  onContentSizeChange: scrollableProps.onContentSizeChange,
60
64
  onLayout: scrollableProps.onLayout,
@@ -89,14 +93,18 @@ export function createTransitionAwareComponent<P extends object>(
89
93
  />
90
94
  );
91
95
 
92
- if (!nativeGesture) {
93
- return scrollableComponent;
94
- }
95
-
96
- return (
96
+ const coordinatedScrollableComponent = nativeGesture ? (
97
97
  <GestureDetector gesture={nativeGesture}>
98
98
  {scrollableComponent}
99
99
  </GestureDetector>
100
+ ) : (
101
+ scrollableComponent
102
+ );
103
+
104
+ return (
105
+ <ScrollMetadataOwnerProvider value={metadataOwnerProviderValue}>
106
+ {coordinatedScrollableComponent}
107
+ </ScrollMetadataOwnerProvider>
100
108
  );
101
109
  });
102
110
 
@@ -65,6 +65,10 @@ export type {
65
65
  ScreenTransitionConfig,
66
66
  ScreenTransitionDepthTarget,
67
67
  ScreenTransitionTarget,
68
+ ScrollGestureAxis,
69
+ ScrollGestureAxisState,
70
+ ScrollGestureState,
71
+ ScrollMetadataState,
68
72
  TransitionInterpolatedStyle,
69
73
  TransitionSlotStyle,
70
74
  TransitionSpec,
@@ -149,6 +149,8 @@ export const hydrateTransitionState = (
149
149
  out.layouts.content = undefined;
150
150
  }
151
151
 
152
+ out.layouts.scroll = s.scrollMetadata.get() ?? undefined;
153
+
152
154
  const autoSnapPoint = s.resolvedAutoSnapPoint.get();
153
155
  const resolvedAutoSnap =
154
156
  s.hasAutoSnapPoint && autoSnapPoint > 0 ? autoSnapPoint : null;
@@ -4,6 +4,7 @@ import type {
4
4
  ScreenTransitionOptions,
5
5
  ScreenTransitionState,
6
6
  } from "../../../../../types/animation.types";
7
+ import type { ScrollMetadataState } from "../../../../../types/gesture.types";
7
8
  import type { Layout } from "../../../../../types/screen.types";
8
9
  import type { BaseStackRoute } from "../../../../../types/stack.types";
9
10
 
@@ -23,6 +24,7 @@ export type BuiltState = {
23
24
  targetProgress: SharedValue<number>;
24
25
  resolvedAutoSnapPoint: SharedValue<number>;
25
26
  measuredContentLayout: SharedValue<Layout | null>;
27
+ scrollMetadata: SharedValue<ScrollMetadataState | null>;
26
28
  contentLayoutSlot: Layout;
27
29
  hasAutoSnapPoint: boolean;
28
30
  sortedNumericSnapPoints: number[];
@@ -6,11 +6,13 @@ import {
6
6
  GestureStore,
7
7
  type GestureStoreMap,
8
8
  } from "../../../../stores/gesture.store";
9
+ import { ScrollStore } from "../../../../stores/scroll.store";
9
10
  import { SystemStore } from "../../../../stores/system.store";
10
11
  import type {
11
12
  BaseStackRoute,
12
13
  Layout,
13
14
  ScreenTransitionState,
15
+ ScrollMetadataState,
14
16
  } from "../../../../types";
15
17
  import type { ScreenTransitionOptions } from "../../../../types/animation.types";
16
18
  import type { BaseDescriptor } from "../../descriptors";
@@ -33,6 +35,7 @@ type BuiltState = {
33
35
  targetProgress: SharedValue<number>;
34
36
  resolvedAutoSnapPoint: SharedValue<number>;
35
37
  measuredContentLayout: SharedValue<Layout | null>;
38
+ scrollMetadata: SharedValue<ScrollMetadataState | null>;
36
39
  contentLayoutSlot: Layout;
37
40
  hasAutoSnapPoint: boolean;
38
41
  sortedNumericSnapPoints: number[];
@@ -72,6 +75,7 @@ export const useBuildTransitionState = (
72
75
  targetProgress: SystemStore.getValue(key, "targetProgress"),
73
76
  resolvedAutoSnapPoint: SystemStore.getValue(key, "resolvedAutoSnapPoint"),
74
77
  measuredContentLayout: SystemStore.getValue(key, "measuredContentLayout"),
78
+ scrollMetadata: ScrollStore.getValue(key, "metadata"),
75
79
  contentLayoutSlot: { width: 0, height: 0 },
76
80
  hasAutoSnapPoint: snapPoints?.includes("auto") ?? false,
77
81
  sortedNumericSnapPoints,
@@ -31,7 +31,7 @@ export const {
31
31
  const gestureConfig = useScreenGestureConfig();
32
32
  const { currentScreenKey } = useDescriptorDerivations();
33
33
 
34
- const scrollState = ScrollStore.getValue(currentScreenKey, "state");
34
+ const scrollState = ScrollStore.getValue(currentScreenKey, "coordination");
35
35
 
36
36
  // Ancestors read this before activating. If a nested screen claims the same
37
37
  // direction, it writes here so the ancestor can fail and let it take priority.
@@ -280,13 +280,22 @@ const resolveDismissingDecision = (
280
280
  );
281
281
  };
282
282
 
283
+ const isVerticalDirection = (direction: Direction) => {
284
+ "worklet";
285
+ return direction === "vertical" || direction === "vertical-inverted";
286
+ };
287
+
283
288
  const resolveUntouchedScrollDecision = (
284
289
  scrollState: ScrollGestureState | null,
285
290
  swipeDirection: Direction,
286
291
  nextActivationState: GestureActivationState,
287
292
  ): PanActivationDecision | null => {
288
293
  "worklet";
289
- if (scrollState?.isTouched ?? false) {
294
+ const axisState = isVerticalDirection(swipeDirection)
295
+ ? scrollState?.vertical
296
+ : scrollState?.horizontal;
297
+
298
+ if (axisState?.isTouched ?? false) {
290
299
  return null;
291
300
  }
292
301
 
@@ -1 +1,2 @@
1
+ export { ScrollMetadataOwnerProvider } from "./scroll-metadata-owner";
1
2
  export { useScrollGestureCoordination } from "./use-scroll-gesture-coordination";
@@ -0,0 +1,43 @@
1
+ import { type ReactNode, useMemo } from "react";
2
+ import createProvider from "../../../../utils/create-provider";
3
+ import type { ScrollGestureAxis } from "../types";
4
+
5
+ type ScrollMetadataOwnerContextValue = Record<ScrollGestureAxis, boolean>;
6
+
7
+ interface ScrollMetadataOwnerProviderProps {
8
+ children: ReactNode;
9
+ value: ScrollMetadataOwnerContextValue;
10
+ }
11
+
12
+ const DEFAULT_SCROLL_METADATA_OWNER_CONTEXT: ScrollMetadataOwnerContextValue = {
13
+ vertical: false,
14
+ horizontal: false,
15
+ };
16
+
17
+ const {
18
+ ScrollMetadataOwnerProvider,
19
+ useScrollMetadataOwnerContext: useMaybeScrollMetadataOwnerContext,
20
+ } = createProvider("ScrollMetadataOwner", { guarded: false })<
21
+ ScrollMetadataOwnerProviderProps,
22
+ ScrollMetadataOwnerContextValue
23
+ >(({ children, value }) => ({ children, value }));
24
+
25
+ export const useScrollMetadataOwnerContext = () =>
26
+ useMaybeScrollMetadataOwnerContext() ?? DEFAULT_SCROLL_METADATA_OWNER_CONTEXT;
27
+
28
+ export const useScrollMetadataOwnerProviderValue = (
29
+ axis: ScrollGestureAxis,
30
+ ) => {
31
+ const parent = useScrollMetadataOwnerContext();
32
+
33
+ return useMemo(() => {
34
+ if (parent[axis]) return parent;
35
+
36
+ return {
37
+ ...parent,
38
+ [axis]: true,
39
+ };
40
+ }, [axis, parent]);
41
+ };
42
+
43
+ export { ScrollMetadataOwnerProvider };
@@ -2,14 +2,27 @@ import type {
2
2
  ScrollGestureAxis,
3
3
  ScrollGestureAxisState,
4
4
  ScrollGestureState,
5
+ ScrollMetadataState,
5
6
  } from "../types";
6
7
 
8
+ function createScrollGestureAxisState(): ScrollGestureAxisState {
9
+ "worklet";
10
+ return { offset: 0, contentSize: 0, layoutSize: 0, isTouched: false };
11
+ }
12
+
7
13
  const createScrollGestureState = (): ScrollGestureState => {
8
14
  "worklet";
9
15
  return {
10
- vertical: { offset: 0, contentSize: 0, layoutSize: 0 },
11
- horizontal: { offset: 0, contentSize: 0, layoutSize: 0 },
12
- isTouched: false,
16
+ vertical: createScrollGestureAxisState(),
17
+ horizontal: createScrollGestureAxisState(),
18
+ };
19
+ };
20
+
21
+ const createScrollMetadataState = (): ScrollMetadataState => {
22
+ "worklet";
23
+ return {
24
+ vertical: null,
25
+ horizontal: null,
13
26
  };
14
27
  };
15
28
 
@@ -37,8 +50,50 @@ export const updateScrollGestureAxisState = (
37
50
  }
38
51
 
39
52
  if (patch.isTouched !== undefined) {
40
- nextState.isTouched = patch.isTouched;
53
+ axisState.isTouched = patch.isTouched;
54
+ }
55
+
56
+ return nextState;
57
+ };
58
+
59
+ export const updateScrollMetadataAxisState = (
60
+ state: ScrollMetadataState | null,
61
+ axis: ScrollGestureAxis,
62
+ patch: Partial<ScrollGestureAxisState> & { isTouched?: boolean },
63
+ ): ScrollMetadataState => {
64
+ "worklet";
65
+
66
+ const nextState = state ?? createScrollMetadataState();
67
+ const axisState = nextState[axis] ?? createScrollGestureAxisState();
68
+ nextState[axis] = axisState;
69
+
70
+ if (patch.offset !== undefined) {
71
+ axisState.offset = patch.offset;
72
+ }
73
+
74
+ if (patch.contentSize !== undefined) {
75
+ axisState.contentSize = patch.contentSize;
76
+ }
77
+
78
+ if (patch.layoutSize !== undefined) {
79
+ axisState.layoutSize = patch.layoutSize;
80
+ }
81
+
82
+ if (patch.isTouched !== undefined) {
83
+ axisState.isTouched = patch.isTouched;
41
84
  }
42
85
 
43
86
  return nextState;
44
87
  };
88
+
89
+ export const clearScrollMetadataAxisState = (
90
+ state: ScrollMetadataState | null,
91
+ axis: ScrollGestureAxis,
92
+ ): ScrollMetadataState | null => {
93
+ "worklet";
94
+ if (!state) return null;
95
+
96
+ state[axis] = null;
97
+
98
+ return state.vertical || state.horizontal ? state : null;
99
+ };