react-native-screen-transitions 2.1.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/bound-capture.js +7 -2
- package/lib/commonjs/components/bound-capture.js.map +1 -1
- package/lib/commonjs/components/controllers/screen-lifecycle.js +3 -9
- package/lib/commonjs/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/commonjs/components/create-transition-aware-component.js +12 -2
- package/lib/commonjs/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/components/root-transition-aware.js +3 -1
- package/lib/commonjs/components/root-transition-aware.js.map +1 -1
- package/lib/commonjs/hooks/animation/use-associated-style.js +41 -6
- package/lib/commonjs/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/commonjs/hooks/bounds/use-bound-registry.js +9 -16
- package/lib/commonjs/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/commonjs/providers/transition-styles.js +5 -1
- package/lib/commonjs/providers/transition-styles.js.map +1 -1
- package/lib/commonjs/stores/bounds/_utils.js +118 -0
- package/lib/commonjs/stores/bounds/_utils.js.map +1 -0
- package/lib/commonjs/stores/bounds/index.js +116 -0
- package/lib/commonjs/stores/bounds/index.js.map +1 -0
- package/lib/commonjs/stores/utils/reset-stores-for-screen.js +1 -4
- package/lib/commonjs/stores/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/module/components/bound-capture.js +7 -2
- package/lib/module/components/bound-capture.js.map +1 -1
- package/lib/module/components/controllers/screen-lifecycle.js +3 -9
- package/lib/module/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/module/components/create-transition-aware-component.js +12 -2
- package/lib/module/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/components/root-transition-aware.js +3 -1
- package/lib/module/components/root-transition-aware.js.map +1 -1
- package/lib/module/hooks/animation/use-associated-style.js +42 -7
- package/lib/module/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/module/hooks/bounds/use-bound-registry.js +9 -16
- package/lib/module/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/module/providers/transition-styles.js +5 -1
- package/lib/module/providers/transition-styles.js.map +1 -1
- package/lib/module/stores/bounds/_utils.js +113 -0
- package/lib/module/stores/bounds/_utils.js.map +1 -0
- package/lib/module/stores/bounds/index.js +112 -0
- package/lib/module/stores/bounds/index.js.map +1 -0
- package/lib/module/stores/utils/reset-stores-for-screen.js +1 -4
- package/lib/module/stores/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/typescript/components/bound-capture.d.ts.map +1 -1
- package/lib/typescript/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/hooks/animation/use-associated-style.d.ts +4 -4
- package/lib/typescript/hooks/animation/use-associated-style.d.ts.map +1 -1
- package/lib/typescript/hooks/bounds/use-bound-registry.d.ts +0 -1
- package/lib/typescript/hooks/bounds/use-bound-registry.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providers/transition-styles.d.ts +4 -1
- package/lib/typescript/providers/transition-styles.d.ts.map +1 -1
- package/lib/typescript/stores/bounds/_utils.d.ts +24 -0
- package/lib/typescript/stores/bounds/_utils.d.ts.map +1 -0
- package/lib/typescript/stores/{bounds.d.ts → bounds/index.d.ts} +3 -13
- package/lib/typescript/stores/bounds/index.d.ts.map +1 -0
- package/lib/typescript/stores/utils/reset-stores-for-screen.d.ts +1 -3
- package/lib/typescript/stores/utils/reset-stores-for-screen.d.ts.map +1 -1
- package/lib/typescript/types/core.d.ts +8 -0
- package/lib/typescript/types/core.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/bounds.store.test.ts +185 -0
- package/src/components/bound-capture.tsx +5 -2
- package/src/components/controllers/screen-lifecycle.tsx +3 -3
- package/src/components/create-transition-aware-component.tsx +19 -3
- package/src/components/root-transition-aware.tsx +1 -1
- package/src/hooks/animation/use-associated-style.tsx +42 -7
- package/src/hooks/bounds/use-bound-registry.tsx +10 -21
- package/src/providers/transition-styles.tsx +8 -2
- package/src/stores/bounds/_utils.ts +161 -0
- package/src/stores/bounds/index.ts +125 -0
- package/src/stores/utils/reset-stores-for-screen.ts +1 -7
- package/src/types/core.ts +9 -0
- package/LICENSE +0 -21
- package/lib/commonjs/stores/bounds.js +0 -205
- package/lib/commonjs/stores/bounds.js.map +0 -1
- package/lib/module/stores/bounds.js +0 -201
- package/lib/module/stores/bounds.js.map +0 -1
- package/lib/typescript/stores/bounds.d.ts.map +0 -1
- package/src/stores/bounds.ts +0 -227
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.BoundCapture = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
9
|
+
var _keys = require("../providers/keys");
|
|
9
10
|
var _bounds = require("../stores/bounds");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
const BoundCapture = ({
|
|
@@ -13,16 +14,20 @@ const BoundCapture = ({
|
|
|
13
14
|
children,
|
|
14
15
|
measure
|
|
15
16
|
}) => {
|
|
17
|
+
const {
|
|
18
|
+
current
|
|
19
|
+
} = (0, _keys.useKeys)();
|
|
20
|
+
const routeKey = current.route.key;
|
|
16
21
|
const tapGesture = (0, _react.useMemo)(() => {
|
|
17
22
|
return _reactNativeGestureHandler.Gesture.Tap().onStart(() => {
|
|
18
23
|
"worklet";
|
|
19
24
|
|
|
20
25
|
if (sharedBoundTag) {
|
|
21
|
-
_bounds.Bounds.
|
|
26
|
+
_bounds.Bounds.setRouteActive(routeKey, sharedBoundTag);
|
|
22
27
|
measure();
|
|
23
28
|
}
|
|
24
29
|
});
|
|
25
|
-
}, [sharedBoundTag, measure]);
|
|
30
|
+
}, [sharedBoundTag, measure, routeKey]);
|
|
26
31
|
if (!sharedBoundTag) return children;
|
|
27
32
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
28
33
|
gesture: tapGesture,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_bounds","_jsxRuntime","BoundCapture","sharedBoundTag","children","measure","tapGesture","useMemo","Gesture","Tap","onStart","Bounds","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_keys","_bounds","_jsxRuntime","BoundCapture","sharedBoundTag","children","measure","current","useKeys","routeKey","route","key","tapGesture","useMemo","Gesture","Tap","onStart","Bounds","setRouteActive","jsx","GestureDetector","gesture","exports"],"sourceRoot":"../../../src","sources":["components/bound-capture.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA0C,IAAAI,WAAA,GAAAJ,OAAA;AAQnC,MAAMK,YAAY,GAAGA,CAAC;EAC5BC,cAAc;EACdC,QAAQ;EACRC;AACoB,CAAC,KAAK;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAC7B,MAAMC,QAAQ,GAAGF,OAAO,CAACG,KAAK,CAACC,GAAG;EAClC,MAAMC,UAAU,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,OAAOC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM;MAClC,SAAS;;MACT,IAAIZ,cAAc,EAAE;QACnBa,cAAM,CAACC,cAAc,CAACT,QAAQ,EAAEL,cAAc,CAAC;QAC/CE,OAAO,CAAC,CAAC;MACV;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,cAAc,EAAEE,OAAO,EAAEG,QAAQ,CAAC,CAAC;EAEvC,IAAI,CAACL,cAAc,EAAE,OAAOC,QAAQ;EAEpC,oBAAO,IAAAH,WAAA,CAAAiB,GAAA,EAACpB,0BAAA,CAAAqB,eAAe;IAACC,OAAO,EAAET,UAAW;IAAAP,QAAA,EAAEA;EAAQ,CAAkB,CAAC;AAC1E,CAAC;AAACiB,OAAA,CAAAnB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -26,17 +26,13 @@ const ScreenLifecycleController = ({
|
|
|
26
26
|
|
|
27
27
|
// Don't run e.preventDefault when the dismissal was on the local root
|
|
28
28
|
if (requestedDismissOnNavigator) {
|
|
29
|
-
(0, _resetStoresForScreen.resetStoresForScreen)(current
|
|
30
|
-
clearActive: true
|
|
31
|
-
});
|
|
29
|
+
(0, _resetStoresForScreen.resetStoresForScreen)(current);
|
|
32
30
|
return;
|
|
33
31
|
}
|
|
34
32
|
|
|
35
33
|
// Don't run e.preventDefault when this is the first screen of the stack
|
|
36
34
|
if (current.navigation.getState().index === 0) {
|
|
37
|
-
(0, _resetStoresForScreen.resetStoresForScreen)(current
|
|
38
|
-
clearActive: true
|
|
39
|
-
});
|
|
35
|
+
(0, _resetStoresForScreen.resetStoresForScreen)(current);
|
|
40
36
|
return;
|
|
41
37
|
}
|
|
42
38
|
e.preventDefault();
|
|
@@ -46,9 +42,7 @@ const ScreenLifecycleController = ({
|
|
|
46
42
|
|
|
47
43
|
// we'll ensure the dispatch is complete before resetting stores
|
|
48
44
|
requestAnimationFrame(() => {
|
|
49
|
-
(0, _resetStoresForScreen.resetStoresForScreen)(current
|
|
50
|
-
clearActive: false
|
|
51
|
-
});
|
|
45
|
+
(0, _resetStoresForScreen.resetStoresForScreen)(current);
|
|
52
46
|
});
|
|
53
47
|
}
|
|
54
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_useParentGestureRegistry","_useStableCallback","_interopRequireDefault","_keys","_animations","_navigatorDismissState","_resetStoresForScreen","_runTransition","e","__esModule","default","ScreenLifecycleController","children","current","useKeys","animations","Animations","getAll","route","key","handleBeforeRemove","useStableCallback","navigation","getParent","getState","requestedDismissOnNavigator","NavigatorDismissState","get","resetStoresForScreen","
|
|
1
|
+
{"version":3,"names":["_react","require","_useParentGestureRegistry","_useStableCallback","_interopRequireDefault","_keys","_animations","_navigatorDismissState","_resetStoresForScreen","_runTransition","e","__esModule","default","ScreenLifecycleController","children","current","useKeys","animations","Animations","getAll","route","key","handleBeforeRemove","useStableCallback","navigation","getParent","getState","requestedDismissOnNavigator","NavigatorDismissState","get","resetStoresForScreen","index","preventDefault","onFinish","finished","dispatch","data","action","requestAnimationFrame","runTransition","target","spec","options","transitionSpec","handleInitialize","useEffect","unsubscribe","addListener","useLayoutEffect","useParentGestureRegistry","exports"],"sourceRoot":"../../../../src","sources":["components/controllers/screen-lifecycle.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AAAqE,SAAAG,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM9D,MAAMG,yBAAyB,GAAGA,CAAC;EACzCC;AACqB,CAAC,KAAK;EAC3B,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAE7B,MAAMC,UAAU,GAAGC,sBAAU,CAACC,MAAM,CAACJ,OAAO,CAACK,KAAK,CAACC,GAAG,CAAC;EAEvD,MAAMC,kBAAkB,GAAG,IAAAC,0BAAiB,EAAEb,CAAM,IAAK;IACxD,MAAMW,GAAG,GAAGN,OAAO,CAACS,UAAU,CAACC,SAAS,CAAC,CAAC,EAAEC,QAAQ,CAAC,CAAC,CAACL,GAAG;IAC1D,MAAMM,2BAA2B,GAAGC,4CAAqB,CAACC,GAAG,CAACR,GAAG,CAAC;;IAElE;IACA,IAAIM,2BAA2B,EAAE;MAChC,IAAAG,0CAAoB,EAACf,OAAO,CAAC;MAC7B;IACD;;IAEA;IACA,IAAIA,OAAO,CAACS,UAAU,CAACE,QAAQ,CAAC,CAAC,CAACK,KAAK,KAAK,CAAC,EAAE;MAC9C,IAAAD,0CAAoB,EAACf,OAAO,CAAC;MAC7B;IACD;IAEAL,CAAC,CAACsB,cAAc,CAAC,CAAC;IAClB,MAAMC,QAAQ,GAAIC,QAAiB,IAAK;MACvC,IAAIA,QAAQ,EAAE;QACbnB,OAAO,CAACS,UAAU,CAACW,QAAQ,CAACzB,CAAC,CAAC0B,IAAI,CAACC,MAAM,CAAC;;QAE1C;QACAC,qBAAqB,CAAC,MAAM;UAC3B,IAAAR,0CAAoB,EAACf,OAAO,CAAC;QAC9B,CAAC,CAAC;MACH;IACD,CAAC;IAED,IAAAwB,4BAAa,EAAC;MACbC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAE1B,OAAO,CAAC2B,OAAO,CAACC,cAAc;MACpCV,QAAQ;MACRhB;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAM2B,gBAAgB,GAAG,IAAArB,0BAAiB,EAAC,MAAM;IAChD,IAAAgB,4BAAa,EAAC;MACbC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAE1B,OAAO,CAAC2B,OAAO,CAACC,cAAc;MACpC1B;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,IAAA4B,gBAAS,EAAC,MAAM;IACf,MAAMC,WAAW,GAAG/B,OAAO,CAACS,UAAU,CAACuB,WAAW,CACjD,cAAc,EACdzB,kBACD,CAAC;IAED,OAAOwB,WAAW;EACnB,CAAC,EAAE,CAAC/B,OAAO,CAACS,UAAU,EAAEF,kBAAkB,CAAC,CAAC;EAE5C,IAAA0B,sBAAe,EAACJ,gBAAgB,EAAE,EAAE,CAAC;;EAErC;EACA,IAAAK,kDAAwB,EAAC,CAAC;EAE1B,OAAOnC,QAAQ;AAChB,CAAC;AAACoC,OAAA,CAAArC,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|
|
@@ -52,6 +52,7 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
52
52
|
sharedBoundTag,
|
|
53
53
|
styleId,
|
|
54
54
|
onPress,
|
|
55
|
+
measureOnLayout,
|
|
55
56
|
...rest
|
|
56
57
|
} = props;
|
|
57
58
|
const animatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
@@ -61,7 +62,8 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
61
62
|
const {
|
|
62
63
|
associatedStyles
|
|
63
64
|
} = (0, _useAssociatedStyle.useAssociatedStyles)({
|
|
64
|
-
id: sharedBoundTag || styleId
|
|
65
|
+
id: sharedBoundTag || styleId,
|
|
66
|
+
style
|
|
65
67
|
});
|
|
66
68
|
const {
|
|
67
69
|
measureBounds,
|
|
@@ -80,6 +82,14 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
80
82
|
handleLayout: handleLayout
|
|
81
83
|
});
|
|
82
84
|
}
|
|
85
|
+
const onLayoutHandler = (0, _reactNativeReanimated.runOnUI)(() => {
|
|
86
|
+
"worklet";
|
|
87
|
+
|
|
88
|
+
handleLayout();
|
|
89
|
+
if (measureOnLayout && sharedBoundTag) {
|
|
90
|
+
measureBounds();
|
|
91
|
+
}
|
|
92
|
+
});
|
|
83
93
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundCapture.BoundCapture, {
|
|
84
94
|
sharedBoundTag: sharedBoundTag,
|
|
85
95
|
measure: measureBounds,
|
|
@@ -88,7 +98,7 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
88
98
|
ref: animatedRef,
|
|
89
99
|
style: [style, associatedStyles],
|
|
90
100
|
onPress: onPress,
|
|
91
|
-
onLayout:
|
|
101
|
+
onLayout: onLayoutHandler,
|
|
92
102
|
children: children
|
|
93
103
|
})
|
|
94
104
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_useAssociatedStyle","_useBoundRegistry","_useScrollRegistry","_gestures","_keys","_boundCapture","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","Animated","createAnimatedComponent","ScrollableInner","forwardRef","props","ref","nativeGesture","useGestureContext","scrollHandler","onContentSizeChange","onLayout","useScrollRegistry","onScroll","jsx","GestureDetector","gesture","children","scrollEventThrottle","Inner","style","sharedBoundTag","styleId","onPress","rest","animatedRef","useAnimatedRef","current","useKeys","associatedStyles","useAssociatedStyles","id","measureBounds","handleLayout","useBoundsRegistry","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_useAssociatedStyle","_useBoundRegistry","_useScrollRegistry","_gestures","_keys","_boundCapture","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","Animated","createAnimatedComponent","ScrollableInner","forwardRef","props","ref","nativeGesture","useGestureContext","scrollHandler","onContentSizeChange","onLayout","useScrollRegistry","onScroll","jsx","GestureDetector","gesture","children","scrollEventThrottle","Inner","style","sharedBoundTag","styleId","onPress","measureOnLayout","rest","animatedRef","useAnimatedRef","current","useKeys","associatedStyles","useAssociatedStyles","id","measureBounds","handleLayout","useBoundsRegistry","onLayoutHandler","runOnUI","BoundCapture","measure","memo"],"sourceRoot":"../../../src","sources":["components/create-transition-aware-component.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,9 @@ const EMPTY_STYLE = Object.freeze({});
|
|
|
14
14
|
const RootTransitionAware = exports.RootTransitionAware = /*#__PURE__*/(0, _react.memo)(({
|
|
15
15
|
children
|
|
16
16
|
}) => {
|
|
17
|
-
const
|
|
17
|
+
const {
|
|
18
|
+
stylesMap
|
|
19
|
+
} = (0, _transitionStyles.useTransitionStyles)();
|
|
18
20
|
const animatedContentStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
19
21
|
"worklet";
|
|
20
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_transitionStyles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EMPTY_STYLE","freeze","RootTransitionAware","exports","memo","children","stylesMap","useTransitionStyles","animatedContentStyle","useAnimatedStyle","value","contentStyle","animatedOverlayStyle","overlayStyle","jsxs","View","style","styles","container","jsx","StyleSheet","absoluteFillObject","pointerEvents","content","create","flex"],"sourceRoot":"../../../src","sources":["components/root-transition-aware.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,uBAAA,CAAAH,OAAA;AAIA,IAAAI,iBAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMrE,MAAMkB,WAAW,GAAGH,MAAM,CAACI,MAAM,CAAC,CAAC,CAAe,CAAC;AAE5C,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,WAAI,EAAC,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAChE,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_transitionStyles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EMPTY_STYLE","freeze","RootTransitionAware","exports","memo","children","stylesMap","useTransitionStyles","animatedContentStyle","useAnimatedStyle","value","contentStyle","animatedOverlayStyle","overlayStyle","jsxs","View","style","styles","container","jsx","StyleSheet","absoluteFillObject","pointerEvents","content","create","flex"],"sourceRoot":"../../../src","sources":["components/root-transition-aware.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,uBAAA,CAAAH,OAAA;AAIA,IAAAI,iBAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMrE,MAAMkB,WAAW,GAAGH,MAAM,CAACI,MAAM,CAAC,CAAC,CAAe,CAAC;AAE5C,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,WAAI,EAAC,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAChE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,qCAAmB,EAAC,CAAC;EAE3C,MAAMC,oBAAoB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACnD,SAAS;;IACT,OAAOH,SAAS,CAACI,KAAK,CAACC,YAAY,IAAIX,WAAW;EACnD,CAAC,CAAC;EAEF,MAAMY,oBAAoB,GAAG,IAAAH,uCAAgB,EAAC,MAAM;IACnD,SAAS;;IACT,OAAOH,SAAS,CAACI,KAAK,CAACG,YAAY,IAAIb,WAAW;EACnD,CAAC,CAAC;EAEF,oBACC,IAAApB,WAAA,CAAAkC,IAAA,EAACtC,YAAA,CAAAuC,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAb,QAAA,gBAC7B,IAAAzB,WAAA,CAAAuC,GAAA,EAAC1C,sBAAA,CAAAc,OAAQ,CAACwB,IAAI;MACbC,KAAK,EAAE,CAACI,uBAAU,CAACC,kBAAkB,EAAET,oBAAoB,CAAE;MAC7DU,aAAa,EAAC;IAAM,CACpB,CAAC,eACF,IAAA1C,WAAA,CAAAuC,GAAA,EAAC1C,sBAAA,CAAAc,OAAQ,CAACwB,IAAI;MAACC,KAAK,EAAE,CAACC,MAAM,CAACM,OAAO,EAAEf,oBAAoB,CAAE;MAAAH,QAAA,EAC3DA;IAAQ,CACK,CAAC;EAAA,CACX,CAAC;AAET,CAAC,CAAC;AAEF,MAAMY,MAAM,GAAGG,uBAAU,CAACI,MAAM,CAAC;EAChCN,SAAS,EAAE;IACVO,IAAI,EAAE;EACP,CAAC;EACDF,OAAO,EAAE;IACRE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -9,21 +9,56 @@ var _transitionStyles = require("../../providers/transition-styles");
|
|
|
9
9
|
const EMPTY_STYLE = Object.freeze({});
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* This hook is used to get the associated styles for a given styleId.
|
|
13
|
-
* It is used to get the associated styles for a given styleId.
|
|
14
|
-
* It is used to get the associated styles for a given styleId.
|
|
12
|
+
* This hook is used to get the associated styles for a given styleId / boundTag.
|
|
15
13
|
*/
|
|
16
14
|
const useAssociatedStyles = ({
|
|
17
|
-
id
|
|
15
|
+
id,
|
|
16
|
+
style
|
|
18
17
|
} = {}) => {
|
|
19
|
-
const
|
|
18
|
+
const {
|
|
19
|
+
stylesMap
|
|
20
|
+
} = (0, _transitionStyles.useTransitionStyles)();
|
|
21
|
+
const showAfterFirstFrame = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
22
|
+
(0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
23
|
+
"worklet";
|
|
24
|
+
|
|
25
|
+
if (!id) {
|
|
26
|
+
showAfterFirstFrame.value = true;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (!showAfterFirstFrame.value) {
|
|
30
|
+
requestAnimationFrame(() => {
|
|
31
|
+
showAfterFirstFrame.value = true;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
});
|
|
20
35
|
const associatedStyles = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
21
36
|
"worklet";
|
|
22
37
|
|
|
23
38
|
if (!id || !stylesMap) {
|
|
24
39
|
return EMPTY_STYLE;
|
|
25
40
|
}
|
|
26
|
-
|
|
41
|
+
const base = stylesMap.value[id] || EMPTY_STYLE;
|
|
42
|
+
let opacity = 1;
|
|
43
|
+
if ("opacity" in base) {
|
|
44
|
+
opacity = base.opacity;
|
|
45
|
+
}
|
|
46
|
+
if (style && "opacity" in style) {
|
|
47
|
+
opacity = style.opacity;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Only force opacity to 0 during the initial frame; once ready,
|
|
51
|
+
// return base unchanged so we never override user-provided opacity.
|
|
52
|
+
if (!showAfterFirstFrame.value) {
|
|
53
|
+
return {
|
|
54
|
+
...base,
|
|
55
|
+
opacity: 0
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
...base,
|
|
60
|
+
opacity
|
|
61
|
+
};
|
|
27
62
|
});
|
|
28
63
|
return {
|
|
29
64
|
associatedStyles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_transitionStyles","EMPTY_STYLE","Object","freeze","useAssociatedStyles","id","stylesMap","useTransitionStyles","associatedStyles","useAnimatedStyle","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_transitionStyles","EMPTY_STYLE","Object","freeze","useAssociatedStyles","id","style","stylesMap","useTransitionStyles","showAfterFirstFrame","useSharedValue","useDerivedValue","value","requestAnimationFrame","associatedStyles","useAnimatedStyle","base","opacity","exports"],"sourceRoot":"../../../../src","sources":["hooks/animation/use-associated-style.tsx"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAD,OAAA;AAOA,MAAME,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;;AAErC;AACA;AACA;AACO,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,EAAE;EAAEC;AAAa,CAAC,GAAG,CAAC,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,qCAAmB,EAAC,CAAC;EAC3C,MAAMC,mBAAmB,GAAG,IAAAC,qCAAc,EAAC,KAAK,CAAC;EAEjD,IAAAC,sCAAe,EAAC,MAAM;IACrB,SAAS;;IACT,IAAI,CAACN,EAAE,EAAE;MACRI,mBAAmB,CAACG,KAAK,GAAG,IAAI;MAChC;IACD;IACA,IAAI,CAACH,mBAAmB,CAACG,KAAK,EAAE;MAC/BC,qBAAqB,CAAC,MAAM;QAC3BJ,mBAAmB,CAACG,KAAK,GAAG,IAAI;MACjC,CAAC,CAAC;IACH;EACD,CAAC,CAAC;EAEF,MAAME,gBAAgB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC/C,SAAS;;IAET,IAAI,CAACV,EAAE,IAAI,CAACE,SAAS,EAAE;MACtB,OAAON,WAAW;IACnB;IACA,MAAMe,IAAI,GACRT,SAAS,CAACK,KAAK,CAACP,EAAE,CAAC,IAAgCJ,WAAW;IAEhE,IAAIgB,OAAO,GAAG,CAAC;IAEf,IAAI,SAAS,IAAID,IAAI,EAAE;MACtBC,OAAO,GAAGD,IAAI,CAACC,OAAiB;IACjC;IACA,IAAIX,KAAK,IAAI,SAAS,IAAIA,KAAK,EAAE;MAChCW,OAAO,GAAGX,KAAK,CAACW,OAAiB;IAClC;;IAEA;IACA;IACA,IAAI,CAACR,mBAAmB,CAACG,KAAK,EAAE;MAC/B,OAAO;QAAE,GAAGI,IAAI;QAAEC,OAAO,EAAE;MAAE,CAAC;IAC/B;IAEA,OAAO;MAAE,GAAGD,IAAI;MAAEC;IAAQ,CAAC;EAC5B,CAAC,CAAC;EAEF,OAAO;IAAEH;EAAiB,CAAC;AAC5B,CAAC;AAACI,OAAA,CAAAd,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ var _keys = require("../../providers/keys");
|
|
|
10
10
|
var _bounds = require("../../stores/bounds");
|
|
11
11
|
var _flattenStyles = require("../../utils/bounds/_utils/flatten-styles");
|
|
12
12
|
var _isBoundsEqual = require("../../utils/bounds/_utils/is-bounds-equal");
|
|
13
|
-
var _useScreenAnimation = require("../animation/use-screen-animation");
|
|
14
13
|
const useBoundsRegistry = ({
|
|
15
14
|
sharedBoundTag,
|
|
16
15
|
animatedRef,
|
|
@@ -20,7 +19,6 @@ const useBoundsRegistry = ({
|
|
|
20
19
|
const {
|
|
21
20
|
previous
|
|
22
21
|
} = (0, _keys.useKeys)();
|
|
23
|
-
const interpolatorProps = (0, _useScreenAnimation.useScreenAnimation)();
|
|
24
22
|
const isMeasured = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
25
23
|
const measureBounds = (0, _react.useCallback)(() => {
|
|
26
24
|
"worklet";
|
|
@@ -34,11 +32,15 @@ const useBoundsRegistry = ({
|
|
|
34
32
|
key,
|
|
35
33
|
sharedBoundTag
|
|
36
34
|
})) {
|
|
37
|
-
_bounds.Bounds.
|
|
35
|
+
if (_bounds.Bounds.getRouteActive(key) === sharedBoundTag) {
|
|
36
|
+
_bounds.Bounds.setRouteActive(key, sharedBoundTag);
|
|
37
|
+
}
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
_bounds.Bounds.setBounds(key, sharedBoundTag, measured, (0, _flattenStyles.flattenStyle)(style));
|
|
41
|
-
_bounds.Bounds.
|
|
41
|
+
if (_bounds.Bounds.getRouteActive(key) === sharedBoundTag) {
|
|
42
|
+
_bounds.Bounds.setRouteActive(key, sharedBoundTag);
|
|
43
|
+
}
|
|
42
44
|
}
|
|
43
45
|
}, [sharedBoundTag, animatedRef, current.route.key, style]);
|
|
44
46
|
const handleLayout = (0, _react.useCallback)(() => {
|
|
@@ -50,23 +52,14 @@ const useBoundsRegistry = ({
|
|
|
50
52
|
}
|
|
51
53
|
const previousBounds = _bounds.Bounds.getBounds(previousRouteKey);
|
|
52
54
|
const hasPreviousBoundForTag = previousBounds[sharedBoundTag];
|
|
53
|
-
if (
|
|
55
|
+
if (hasPreviousBoundForTag) {
|
|
54
56
|
measureBounds();
|
|
55
57
|
isMeasured.value = true;
|
|
56
58
|
}
|
|
57
|
-
}, [measureBounds,
|
|
58
|
-
const measureOnTouchStart = (0, _react.useCallback)(() => {
|
|
59
|
-
"worklet";
|
|
60
|
-
|
|
61
|
-
if (sharedBoundTag) {
|
|
62
|
-
_bounds.Bounds.setActiveBoundId(sharedBoundTag);
|
|
63
|
-
(0, _reactNativeReanimated.measure)(animatedRef);
|
|
64
|
-
}
|
|
65
|
-
}, [sharedBoundTag, animatedRef]);
|
|
59
|
+
}, [measureBounds, sharedBoundTag, previous?.route.key, isMeasured]);
|
|
66
60
|
return {
|
|
67
61
|
measureBounds,
|
|
68
|
-
handleLayout
|
|
69
|
-
measureOnTouchStart
|
|
62
|
+
handleLayout
|
|
70
63
|
};
|
|
71
64
|
};
|
|
72
65
|
exports.useBoundsRegistry = useBoundsRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_keys","_bounds","_flattenStyles","_isBoundsEqual","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_keys","_bounds","_flattenStyles","_isBoundsEqual","useBoundsRegistry","sharedBoundTag","animatedRef","current","style","previous","useKeys","isMeasured","useSharedValue","measureBounds","useCallback","measured","measure","key","route","isBoundsEqual","Bounds","getRouteActive","setRouteActive","setBounds","flattenStyle","handleLayout","previousRouteKey","value","previousBounds","getBounds","hasPreviousBoundForTag","exports"],"sourceRoot":"../../../../src","sources":["hooks/bounds/use-bound-registry.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AASO,MAAMM,iBAAiB,GAAGA,CAAC;EACjCC,cAAc;EACdC,WAAW;EACXC,OAAO;EACPC;AACuB,CAAC,KAAK;EAC7B,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAE9B,MAAMC,UAAU,GAAG,IAAAC,qCAAc,EAAC,KAAK,CAAC;EAExC,MAAMC,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACvC,SAAS;;IACT,IAAI,CAACT,cAAc,EAAE;IACrB,MAAMU,QAAQ,GAAG,IAAAC,8BAAO,EAACV,WAAW,CAAC;IACrC,IAAIS,QAAQ,EAAE;MACb,MAAME,GAAG,GAAGV,OAAO,CAACW,KAAK,CAACD,GAAG;MAC7B,IAAI,IAAAE,4BAAa,EAAC;QAAEJ,QAAQ;QAAEE,GAAG;QAAEZ;MAAe,CAAC,CAAC,EAAE;QACrD,IAAIe,cAAM,CAACC,cAAc,CAACJ,GAAG,CAAC,KAAKZ,cAAc,EAAE;UAClDe,cAAM,CAACE,cAAc,CAACL,GAAG,EAAEZ,cAAc,CAAC;QAC3C;QACA;MACD;MAEAe,cAAM,CAACG,SAAS,CAACN,GAAG,EAAEZ,cAAc,EAAEU,QAAQ,EAAE,IAAAS,2BAAY,EAAChB,KAAK,CAAC,CAAC;MACpE,IAAIY,cAAM,CAACC,cAAc,CAACJ,GAAG,CAAC,KAAKZ,cAAc,EAAE;QAClDe,cAAM,CAACE,cAAc,CAACL,GAAG,EAAEZ,cAAc,CAAC;MAC3C;IACD;EACD,CAAC,EAAE,CAACA,cAAc,EAAEC,WAAW,EAAEC,OAAO,CAACW,KAAK,CAACD,GAAG,EAAET,KAAK,CAAC,CAAC;EAE3D,MAAMiB,YAAY,GAAG,IAAAX,kBAAW,EAAC,MAAM;IACtC,SAAS;;IACT,MAAMY,gBAAgB,GAAGjB,QAAQ,EAAES,KAAK,CAACD,GAAG;IAE5C,IAAI,CAACZ,cAAc,IAAIM,UAAU,CAACgB,KAAK,IAAI,CAACD,gBAAgB,EAAE;MAC7D;IACD;IAEA,MAAME,cAAc,GAAGR,cAAM,CAACS,SAAS,CAACH,gBAAgB,CAAC;IACzD,MAAMI,sBAAsB,GAAGF,cAAc,CAACvB,cAAc,CAAC;IAE7D,IAAIyB,sBAAsB,EAAE;MAC3BjB,aAAa,CAAC,CAAC;MACfF,UAAU,CAACgB,KAAK,GAAG,IAAI;IACxB;EACD,CAAC,EAAE,CAACd,aAAa,EAAER,cAAc,EAAEI,QAAQ,EAAES,KAAK,CAACD,GAAG,EAAEN,UAAU,CAAC,CAAC;EAEpE,OAAO;IACNE,aAAa;IACbY;EACD,CAAC;AACF,CAAC;AAACM,OAAA,CAAA3B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -28,7 +28,11 @@ function TransitionStylesProvider({
|
|
|
28
28
|
}
|
|
29
29
|
return screenStyleInterpolator ? screenStyleInterpolator(screenInterpolatorProps.value) : EMPTY_MAP;
|
|
30
30
|
});
|
|
31
|
-
const value = (0, _react.useMemo)(() =>
|
|
31
|
+
const value = (0, _react.useMemo)(() => {
|
|
32
|
+
return {
|
|
33
|
+
stylesMap
|
|
34
|
+
};
|
|
35
|
+
}, [stylesMap]);
|
|
32
36
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionStylesContext.Provider, {
|
|
33
37
|
value: value,
|
|
34
38
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_useScreenAnimation2","_jsxRuntime","EMPTY_MAP","Object","freeze","TransitionStylesContext","createContext","TransitionStylesProvider","children","screenInterpolatorProps","screenStyleInterpolator","_useScreenAnimation","isFunctionWorklet","isWorkletFunction","stylesMap","useDerivedValue","__DEV__","console","warn","value","useMemo","jsx","Provider","useTransitionStyles","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["providers/transition-styles.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAA8E,IAAAG,WAAA,GAAAH,OAAA;AAO9E,MAAMI,SAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEnC,MAAMC,uBAAuB,gBAAG,IAAAC,oBAAa,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_useScreenAnimation2","_jsxRuntime","EMPTY_MAP","Object","freeze","TransitionStylesContext","createContext","TransitionStylesProvider","children","screenInterpolatorProps","screenStyleInterpolator","_useScreenAnimation","isFunctionWorklet","isWorkletFunction","stylesMap","useDerivedValue","__DEV__","console","warn","value","useMemo","jsx","Provider","useTransitionStyles","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["providers/transition-styles.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAA8E,IAAAG,WAAA,GAAAH,OAAA;AAO9E,MAAMI,SAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEnC,MAAMC,uBAAuB,gBAAG,IAAAC,oBAAa,EAInC,IAAI,CAAC;AAER,SAASC,wBAAwBA,CAAC;EAAEC;AAAgB,CAAC,EAAE;EAC7D,MAAM;IAAEC,uBAAuB;IAAEC;EAAwB,CAAC,GACzD,IAAAC,wCAAmB,EAAC,CAAC;EAEtB,MAAMC,iBAAiB,GAAG,IAAAC,wCAAiB,EAACH,uBAAuB,CAAC;EAEpE,MAAMI,SAAS,GAAG,IAAAC,sCAAe,EAA8B,MAAM;IACpE,SAAS;;IAET,IAAIL,uBAAuB,IAAI,CAACE,iBAAiB,IAAII,OAAO,EAAE;MAC7DC,OAAO,CAACC,IAAI,CAAC,mDAAmD,CAAC;MACjE,OAAOhB,SAAS;IACjB;IAEA,OAAOQ,uBAAuB,GAC3BA,uBAAuB,CAACD,uBAAuB,CAACU,KAAK,CAAC,GACtDjB,SAAS;EACb,CAAC,CAAC;EAEF,MAAMiB,KAAK,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC3B,OAAO;MACNN;IACD,CAAC;EACF,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBACC,IAAAb,WAAA,CAAAoB,GAAA,EAAChB,uBAAuB,CAACiB,QAAQ;IAACH,KAAK,EAAEA,KAAM;IAAAX,QAAA,EAC7CA;EAAQ,CACwB,CAAC;AAErC;AAEO,SAASe,mBAAmBA,CAAA,EAAG;EACrC,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACpB,uBAAuB,CAAC;EAC/C,IAAI,CAACmB,GAAG,EAAE;IACT,MAAM,IAAIE,KAAK,CACd,oEACD,CAAC;EACF;EACA,OAAOF,GAAG;AACX","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pairKey = pairKey;
|
|
7
|
+
exports.resolveActiveBound = resolveActiveBound;
|
|
8
|
+
function pairKey(fromKey, toKey) {
|
|
9
|
+
"worklet";
|
|
10
|
+
|
|
11
|
+
return fromKey && toKey ? `${fromKey}|${toKey}` : "";
|
|
12
|
+
}
|
|
13
|
+
const hasBound = (s, id) => {
|
|
14
|
+
"worklet";
|
|
15
|
+
|
|
16
|
+
return !!id && !!s && !!s.bounds && !!s.bounds[id];
|
|
17
|
+
};
|
|
18
|
+
const getRoutePair = (current, next, previous) => {
|
|
19
|
+
"worklet";
|
|
20
|
+
|
|
21
|
+
const isClosing = !!next;
|
|
22
|
+
const fromKey = isClosing ? current.route.key : previous?.route.key;
|
|
23
|
+
const toKey = isClosing ? next?.route.key : current.route.key;
|
|
24
|
+
const other = next ?? previous;
|
|
25
|
+
return {
|
|
26
|
+
fromKey,
|
|
27
|
+
toKey,
|
|
28
|
+
other
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
const resolveFromPairCache = (fromKey, toKey, other, getPairCache) => {
|
|
32
|
+
"worklet";
|
|
33
|
+
|
|
34
|
+
if (fromKey && toKey) {
|
|
35
|
+
const cached = getPairCache(fromKey, toKey);
|
|
36
|
+
if (hasBound(other, cached)) return cached;
|
|
37
|
+
}
|
|
38
|
+
return "";
|
|
39
|
+
};
|
|
40
|
+
const resolveFromRequested = (reqId, current, other) => {
|
|
41
|
+
"worklet";
|
|
42
|
+
|
|
43
|
+
if (hasBound(other, reqId)) return reqId;
|
|
44
|
+
if (hasBound(current, reqId)) return reqId;
|
|
45
|
+
return "";
|
|
46
|
+
};
|
|
47
|
+
const resolveFromInteresection = (current, other, fromKey, getRouteActive) => {
|
|
48
|
+
"worklet";
|
|
49
|
+
|
|
50
|
+
if (!other) return "";
|
|
51
|
+
const a = Object.keys(current.bounds);
|
|
52
|
+
const b = Object.keys(other.bounds);
|
|
53
|
+
const inter = a.filter(k => b.includes(k));
|
|
54
|
+
const otherHasAny = b.length > 0;
|
|
55
|
+
const routeActive = fromKey ? getRouteActive(fromKey) : null;
|
|
56
|
+
if (inter.length > 0) {
|
|
57
|
+
if (routeActive && inter.includes(routeActive)) return routeActive;
|
|
58
|
+
return inter[0];
|
|
59
|
+
}
|
|
60
|
+
if (routeActive && hasBound(other, routeActive)) return routeActive;
|
|
61
|
+
if (b.length === 1) return b[0];
|
|
62
|
+
if (!otherHasAny) {
|
|
63
|
+
if (routeActive && hasBound(current, routeActive)) return routeActive;
|
|
64
|
+
if (a.length === 1) return a[0];
|
|
65
|
+
}
|
|
66
|
+
return "";
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Util function to get the active bound id for a given transition state.
|
|
71
|
+
*
|
|
72
|
+
* It will check by ( priority from highest to lowest ):
|
|
73
|
+
* 1. Requested id
|
|
74
|
+
* 2. Cache
|
|
75
|
+
* 3. Intersection
|
|
76
|
+
*/
|
|
77
|
+
function resolveActiveBound({
|
|
78
|
+
current,
|
|
79
|
+
next,
|
|
80
|
+
previous,
|
|
81
|
+
getPairCache,
|
|
82
|
+
setPairCache,
|
|
83
|
+
getRouteActive
|
|
84
|
+
}) {
|
|
85
|
+
"worklet";
|
|
86
|
+
|
|
87
|
+
const {
|
|
88
|
+
fromKey,
|
|
89
|
+
toKey,
|
|
90
|
+
other
|
|
91
|
+
} = getRoutePair(current, next, previous);
|
|
92
|
+
|
|
93
|
+
// Resolve requested from per-route most recently used (last active bound by route)
|
|
94
|
+
const requestedId = fromKey ? getRouteActive(fromKey) : null;
|
|
95
|
+
const byRequested = resolveFromRequested(requestedId, current, other);
|
|
96
|
+
if (byRequested) {
|
|
97
|
+
if (fromKey && toKey && hasBound(current, byRequested) && hasBound(other, byRequested)) {
|
|
98
|
+
setPairCache(fromKey, toKey, byRequested);
|
|
99
|
+
}
|
|
100
|
+
return byRequested;
|
|
101
|
+
}
|
|
102
|
+
const byPairCache = resolveFromPairCache(fromKey, toKey, other, getPairCache);
|
|
103
|
+
if (byPairCache) {
|
|
104
|
+
if (fromKey && toKey && hasBound(current, byPairCache) && hasBound(other, byPairCache)) {
|
|
105
|
+
setPairCache(fromKey, toKey, byPairCache);
|
|
106
|
+
}
|
|
107
|
+
return byPairCache;
|
|
108
|
+
}
|
|
109
|
+
const byIntersection = resolveFromInteresection(current, other, fromKey, getRouteActive);
|
|
110
|
+
if (byIntersection) {
|
|
111
|
+
if (fromKey && toKey && hasBound(current, byIntersection) && hasBound(other, byIntersection)) {
|
|
112
|
+
setPairCache(fromKey, toKey, byIntersection);
|
|
113
|
+
}
|
|
114
|
+
return byIntersection;
|
|
115
|
+
}
|
|
116
|
+
return "";
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pairKey","fromKey","toKey","hasBound","s","id","bounds","getRoutePair","current","next","previous","isClosing","route","key","other","resolveFromPairCache","getPairCache","cached","resolveFromRequested","reqId","resolveFromInteresection","getRouteActive","a","Object","keys","b","inter","filter","k","includes","otherHasAny","length","routeActive","resolveActiveBound","setPairCache","requestedId","byRequested","byPairCache","byIntersection"],"sourceRoot":"../../../../src","sources":["stores/bounds/_utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Bounds = void 0;
|
|
7
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
+
var _utils = require("./_utils");
|
|
9
|
+
const registry = (0, _reactNativeReanimated.makeMutable)({});
|
|
10
|
+
const pairCache = (0, _reactNativeReanimated.makeMutable)({});
|
|
11
|
+
const lastActiveByRoute = (0, _reactNativeReanimated.makeMutable)({});
|
|
12
|
+
function setBounds(screenId, boundId, bounds = null, styles = {}) {
|
|
13
|
+
"worklet";
|
|
14
|
+
|
|
15
|
+
registry.modify(state => {
|
|
16
|
+
"worklet";
|
|
17
|
+
|
|
18
|
+
if (!state[screenId]) {
|
|
19
|
+
state[screenId] = {};
|
|
20
|
+
}
|
|
21
|
+
state[screenId][boundId] = {
|
|
22
|
+
bounds,
|
|
23
|
+
styles
|
|
24
|
+
};
|
|
25
|
+
return state;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function getBounds(screenId) {
|
|
29
|
+
"worklet";
|
|
30
|
+
|
|
31
|
+
return registry.value[screenId] ?? {};
|
|
32
|
+
}
|
|
33
|
+
function setRouteActive(routeKey, boundId) {
|
|
34
|
+
"worklet";
|
|
35
|
+
|
|
36
|
+
lastActiveByRoute.modify(state => {
|
|
37
|
+
"worklet";
|
|
38
|
+
|
|
39
|
+
state[routeKey] = boundId;
|
|
40
|
+
return state;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function getRouteActive(routeKey) {
|
|
44
|
+
"worklet";
|
|
45
|
+
|
|
46
|
+
return lastActiveByRoute.value[routeKey] ?? null;
|
|
47
|
+
}
|
|
48
|
+
function setPairCache(fromKey, toKey, boundId) {
|
|
49
|
+
"worklet";
|
|
50
|
+
|
|
51
|
+
const key = (0, _utils.pairKey)(fromKey, toKey);
|
|
52
|
+
if (!key) return;
|
|
53
|
+
pairCache.modify(state => {
|
|
54
|
+
"worklet";
|
|
55
|
+
|
|
56
|
+
state[key] = boundId;
|
|
57
|
+
return state;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function getPairCache(fromKey, toKey) {
|
|
61
|
+
"worklet";
|
|
62
|
+
|
|
63
|
+
const key = (0, _utils.pairKey)(fromKey, toKey);
|
|
64
|
+
if (!key) return null;
|
|
65
|
+
return pairCache.value[key] ?? null;
|
|
66
|
+
}
|
|
67
|
+
function clear(routeKey) {
|
|
68
|
+
"worklet";
|
|
69
|
+
|
|
70
|
+
registry.modify(state => {
|
|
71
|
+
"worklet";
|
|
72
|
+
|
|
73
|
+
delete state[routeKey];
|
|
74
|
+
return state;
|
|
75
|
+
});
|
|
76
|
+
lastActiveByRoute.modify(state => {
|
|
77
|
+
"worklet";
|
|
78
|
+
|
|
79
|
+
if (state[routeKey]) delete state[routeKey];
|
|
80
|
+
return state;
|
|
81
|
+
});
|
|
82
|
+
pairCache.modify(state => {
|
|
83
|
+
"worklet";
|
|
84
|
+
|
|
85
|
+
const keys = Object.keys(state);
|
|
86
|
+
for (let i = 0; i < keys.length; i++) {
|
|
87
|
+
const k = keys[i];
|
|
88
|
+
const [from, to] = k.split("|");
|
|
89
|
+
if (from === routeKey || to === routeKey) {
|
|
90
|
+
delete state[k];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return state;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function getActiveBound(current, next, previous) {
|
|
97
|
+
"worklet";
|
|
98
|
+
|
|
99
|
+
return (0, _utils.resolveActiveBound)({
|
|
100
|
+
current,
|
|
101
|
+
next,
|
|
102
|
+
previous,
|
|
103
|
+
getPairCache,
|
|
104
|
+
setPairCache,
|
|
105
|
+
getRouteActive
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const Bounds = exports.Bounds = {
|
|
109
|
+
setBounds,
|
|
110
|
+
getBounds,
|
|
111
|
+
setRouteActive,
|
|
112
|
+
getRouteActive,
|
|
113
|
+
clear,
|
|
114
|
+
getActiveBound
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_utils","registry","makeMutable","pairCache","lastActiveByRoute","setBounds","screenId","boundId","bounds","styles","modify","state","getBounds","value","setRouteActive","routeKey","getRouteActive","setPairCache","fromKey","toKey","key","pairKey","getPairCache","clear","keys","Object","i","length","k","from","to","split","getActiveBound","current","next","previous","resolveActiveBound","Bounds","exports"],"sourceRoot":"../../../../src","sources":["stores/bounds/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,13 +10,10 @@ var _gestures = require("../gestures");
|
|
|
10
10
|
/**
|
|
11
11
|
* Reset all stores for a given screen
|
|
12
12
|
*/
|
|
13
|
-
const resetStoresForScreen =
|
|
13
|
+
const resetStoresForScreen = current => {
|
|
14
14
|
_animations.Animations.clear(current.route.key);
|
|
15
15
|
_gestures.Gestures.clear(current.route.key);
|
|
16
16
|
_bounds.Bounds.clear(current.route.key);
|
|
17
|
-
if (options.clearActive) {
|
|
18
|
-
_bounds.Bounds.clearActive();
|
|
19
|
-
}
|
|
20
17
|
};
|
|
21
18
|
exports.resetStoresForScreen = resetStoresForScreen;
|
|
22
19
|
//# sourceMappingURL=reset-stores-for-screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_animations","require","_bounds","_gestures","resetStoresForScreen","current","
|
|
1
|
+
{"version":3,"names":["_animations","require","_bounds","_gestures","resetStoresForScreen","current","Animations","clear","route","key","Gestures","Bounds","exports"],"sourceRoot":"../../../../src","sources":["stores/utils/reset-stores-for-screen.ts"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,oBAAoB,GAAIC,OAA8B,IAAK;EACvEC,sBAAU,CAACC,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACnCC,kBAAQ,CAACH,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACjCE,cAAM,CAACJ,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;AAChC,CAAC;AAACG,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|