react-native-screen-transitions 2.1.0 → 2.2.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.
- package/lib/commonjs/components/create-transition-aware-component.js +10 -1
- package/lib/commonjs/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/hooks/bounds/use-bound-registry.js +1 -10
- package/lib/commonjs/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/module/components/create-transition-aware-component.js +10 -1
- package/lib/module/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/hooks/bounds/use-bound-registry.js +1 -10
- package/lib/module/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/typescript/components/create-transition-aware-component.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/types/core.d.ts +8 -0
- package/lib/typescript/types/core.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/create-transition-aware-component.tsx +18 -3
- package/src/hooks/bounds/use-bound-registry.tsx +1 -9
- package/src/types/core.ts +9 -0
|
@@ -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)();
|
|
@@ -80,6 +81,14 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
80
81
|
handleLayout: handleLayout
|
|
81
82
|
});
|
|
82
83
|
}
|
|
84
|
+
const onLayoutHandler = (0, _reactNativeReanimated.runOnUI)(() => {
|
|
85
|
+
"worklet";
|
|
86
|
+
|
|
87
|
+
handleLayout();
|
|
88
|
+
if (measureOnLayout && sharedBoundTag) {
|
|
89
|
+
measureBounds();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
83
92
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundCapture.BoundCapture, {
|
|
84
93
|
sharedBoundTag: sharedBoundTag,
|
|
85
94
|
measure: measureBounds,
|
|
@@ -88,7 +97,7 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
88
97
|
ref: animatedRef,
|
|
89
98
|
style: [style, associatedStyles],
|
|
90
99
|
onPress: onPress,
|
|
91
|
-
onLayout:
|
|
100
|
+
onLayout: onLayoutHandler,
|
|
92
101
|
children: children
|
|
93
102
|
})
|
|
94
103
|
});
|
|
@@ -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":[]}
|
|
@@ -55,18 +55,9 @@ const useBoundsRegistry = ({
|
|
|
55
55
|
isMeasured.value = true;
|
|
56
56
|
}
|
|
57
57
|
}, [measureBounds, interpolatorProps, sharedBoundTag, previous?.route.key, isMeasured]);
|
|
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]);
|
|
66
58
|
return {
|
|
67
59
|
measureBounds,
|
|
68
|
-
handleLayout
|
|
69
|
-
measureOnTouchStart
|
|
60
|
+
handleLayout
|
|
70
61
|
};
|
|
71
62
|
};
|
|
72
63
|
exports.useBoundsRegistry = useBoundsRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_keys","_bounds","_flattenStyles","_isBoundsEqual","_useScreenAnimation","useBoundsRegistry","sharedBoundTag","animatedRef","current","style","previous","useKeys","interpolatorProps","useScreenAnimation","isMeasured","useSharedValue","measureBounds","useCallback","measured","measure","key","route","isBoundsEqual","Bounds","setRouteActive","setBounds","flattenStyle","handleLayout","previousRouteKey","value","previousBounds","getBounds","hasPreviousBoundForTag","animating","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_keys","_bounds","_flattenStyles","_isBoundsEqual","_useScreenAnimation","useBoundsRegistry","sharedBoundTag","animatedRef","current","style","previous","useKeys","interpolatorProps","useScreenAnimation","isMeasured","useSharedValue","measureBounds","useCallback","measured","measure","key","route","isBoundsEqual","Bounds","setRouteActive","setBounds","flattenStyle","handleLayout","previousRouteKey","value","previousBounds","getBounds","hasPreviousBoundForTag","animating","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;AACA,IAAAM,mBAAA,GAAAN,OAAA;AASO,MAAMO,iBAAiB,GAAGA,CAAC;EACjCC,cAAc;EACdC,WAAW;EACXC,OAAO;EACPC;AACuB,CAAC,KAAK;EAC7B,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAC9B,MAAMC,iBAAiB,GAAG,IAAAC,sCAAkB,EAAC,CAAC;EAC9C,MAAMC,UAAU,GAAG,IAAAC,qCAAc,EAAC,KAAK,CAAC;EAExC,MAAMC,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACvC,SAAS;;IACT,IAAI,CAACX,cAAc,EAAE;IACrB,MAAMY,QAAQ,GAAG,IAAAC,8BAAO,EAACZ,WAAW,CAAC;IACrC,IAAIW,QAAQ,EAAE;MACb,MAAME,GAAG,GAAGZ,OAAO,CAACa,KAAK,CAACD,GAAG;MAC7B,IAAI,IAAAE,4BAAa,EAAC;QAAEJ,QAAQ;QAAEE,GAAG;QAAEd;MAAe,CAAC,CAAC,EAAE;QACrDiB,cAAM,CAACC,cAAc,CAACJ,GAAG,EAAEd,cAAc,CAAC;QAC1C;MACD;MAEAiB,cAAM,CAACE,SAAS,CAACL,GAAG,EAAEd,cAAc,EAAEY,QAAQ,EAAE,IAAAQ,2BAAY,EAACjB,KAAK,CAAC,CAAC;MACpEc,cAAM,CAACC,cAAc,CAACJ,GAAG,EAAEd,cAAc,CAAC;IAC3C;EACD,CAAC,EAAE,CAACA,cAAc,EAAEC,WAAW,EAAEC,OAAO,CAACa,KAAK,CAACD,GAAG,EAAEX,KAAK,CAAC,CAAC;EAE3D,MAAMkB,YAAY,GAAG,IAAAV,kBAAW,EAAC,MAAM;IACtC,SAAS;;IACT,MAAMW,gBAAgB,GAAGlB,QAAQ,EAAEW,KAAK,CAACD,GAAG;IAE5C,IAAI,CAACd,cAAc,IAAIQ,UAAU,CAACe,KAAK,IAAI,CAACD,gBAAgB,EAAE;MAC7D;IACD;IAEA,MAAME,cAAc,GAAGP,cAAM,CAACQ,SAAS,CAACH,gBAAgB,CAAC;IACzD,MAAMI,sBAAsB,GAAGF,cAAc,CAACxB,cAAc,CAAC;IAE7D,IAAIM,iBAAiB,CAACiB,KAAK,CAACrB,OAAO,CAACyB,SAAS,IAAID,sBAAsB,EAAE;MACxEhB,aAAa,CAAC,CAAC;MACfF,UAAU,CAACe,KAAK,GAAG,IAAI;IACxB;EACD,CAAC,EAAE,CACFb,aAAa,EACbJ,iBAAiB,EACjBN,cAAc,EACdI,QAAQ,EAAEW,KAAK,CAACD,GAAG,EACnBN,UAAU,CACV,CAAC;EAEF,OAAO;IACNE,aAAa;IACbW;EACD,CAAC;AACF,CAAC;AAACO,OAAA,CAAA7B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -47,6 +47,7 @@ export function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
47
47
|
sharedBoundTag,
|
|
48
48
|
styleId,
|
|
49
49
|
onPress,
|
|
50
|
+
measureOnLayout,
|
|
50
51
|
...rest
|
|
51
52
|
} = props;
|
|
52
53
|
const animatedRef = useAnimatedRef();
|
|
@@ -75,6 +76,14 @@ export function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
75
76
|
handleLayout: handleLayout
|
|
76
77
|
});
|
|
77
78
|
}
|
|
79
|
+
const onLayoutHandler = runOnUI(() => {
|
|
80
|
+
"worklet";
|
|
81
|
+
|
|
82
|
+
handleLayout();
|
|
83
|
+
if (measureOnLayout && sharedBoundTag) {
|
|
84
|
+
measureBounds();
|
|
85
|
+
}
|
|
86
|
+
});
|
|
78
87
|
return /*#__PURE__*/_jsx(BoundCapture, {
|
|
79
88
|
sharedBoundTag: sharedBoundTag,
|
|
80
89
|
measure: measureBounds,
|
|
@@ -83,7 +92,7 @@ export function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
83
92
|
ref: animatedRef,
|
|
84
93
|
style: [style, associatedStyles],
|
|
85
94
|
onPress: onPress,
|
|
86
|
-
onLayout:
|
|
95
|
+
onLayout: onLayoutHandler,
|
|
87
96
|
children: children
|
|
88
97
|
})
|
|
89
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","memo","GestureDetector","Animated","runOnUI","useAnimatedRef","useAssociatedStyles","useBoundsRegistry","useScrollRegistry","useGestureContext","useKeys","BoundCapture","jsx","_jsx","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","createAnimatedComponent","ScrollableInner","props","ref","nativeGesture","scrollHandler","onContentSizeChange","onLayout","onScroll","gesture","children","scrollEventThrottle","Inner","style","sharedBoundTag","styleId","onPress","rest","animatedRef","current","associatedStyles","id","measureBounds","handleLayout","measure"],"sourceRoot":"../../../src","sources":["components/create-transition-aware-component.tsx"],"mappings":";;AACA,SAA6BA,UAAU,EAAEC,IAAI,QAAQ,OAAO;AAE5D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,IAAIC,OAAO,EAAEC,cAAc,QAAQ,yBAAyB;AAC3E,SAASC,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,iBAAiB,QAAQ,oCAAoC;AACtE,SAASC,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,OAAO,QAAQ,mBAAmB;AAG3C,SAASC,YAAY,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM/C,OAAO,SAASC,8BAA8BA,CAC7CC,OAAyB,EACzBC,OAA8C,GAAG,CAAC,CAAC,EAClD;EACD,MAAM;IAAEC,YAAY,GAAG;EAAM,CAAC,GAAGD,OAAO;EAExC,MAAME,iBAAiB,GAAGf,QAAQ,CAACgB,uBAAuB,CAACJ,OAAO,CAAC;EAEnE,MAAMK,eAAe,gBAAGpB,UAAU,CAGhC,CAACqB,KAAU,EAAEC,GAAG,KAAK;IACtB,MAAM;MAAEC;IAAc,CAAC,GAAGd,iBAAiB,CAAC,CAAC;IAC7C,MAAM;MAAEe,aAAa;MAAEC,mBAAmB;MAAEC;IAAS,CAAC,GAAGlB,iBAAiB,CAAC;MAC1EmB,QAAQ,EAAEN,KAAK,CAACM,QAAQ;MACxBF,mBAAmB,EAAEJ,KAAK,CAACI,mBAAmB;MAC9CC,QAAQ,EAAEL,KAAK,CAACK;IACjB,CAAC,CAAC;IAEF,oBACCb,IAAA,CAACX,eAAe;MAAC0B,OAAO,EAAEL,aAAc;MAAAM,QAAA,eACvChB,IAAA,CAACK,iBAAiB;QAAA,GACZG,KAAK;QACVC,GAAG,EAAEA,GAAI;QACTK,QAAQ,EAAEH,aAAc;QACxBC,mBAAmB,EAAEA,mBAAoB;QACzCC,QAAQ,EAAEA,QAAS;QACnBI,mBAAmB,EAAET,KAAK,CAACS,mBAAmB,IAAI;MAAG,CACrD;IAAC,CACc,CAAC;EAEpB,CAAC,CAAC;EAEF,MAAMC,KAAK,gBAAG/B,UAAU,CAGtB,CAACqB,KAAK,EAAEC,GAAG,KAAK;IACjB,MAAM;
|
|
1
|
+
{"version":3,"names":["forwardRef","memo","GestureDetector","Animated","runOnUI","useAnimatedRef","useAssociatedStyles","useBoundsRegistry","useScrollRegistry","useGestureContext","useKeys","BoundCapture","jsx","_jsx","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","createAnimatedComponent","ScrollableInner","props","ref","nativeGesture","scrollHandler","onContentSizeChange","onLayout","onScroll","gesture","children","scrollEventThrottle","Inner","style","sharedBoundTag","styleId","onPress","measureOnLayout","rest","animatedRef","current","associatedStyles","id","measureBounds","handleLayout","onLayoutHandler","measure"],"sourceRoot":"../../../src","sources":["components/create-transition-aware-component.tsx"],"mappings":";;AACA,SAA6BA,UAAU,EAAEC,IAAI,QAAQ,OAAO;AAE5D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,IAAIC,OAAO,EAAEC,cAAc,QAAQ,yBAAyB;AAC3E,SAASC,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,iBAAiB,QAAQ,oCAAoC;AACtE,SAASC,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,OAAO,QAAQ,mBAAmB;AAG3C,SAASC,YAAY,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM/C,OAAO,SAASC,8BAA8BA,CAC7CC,OAAyB,EACzBC,OAA8C,GAAG,CAAC,CAAC,EAClD;EACD,MAAM;IAAEC,YAAY,GAAG;EAAM,CAAC,GAAGD,OAAO;EAExC,MAAME,iBAAiB,GAAGf,QAAQ,CAACgB,uBAAuB,CAACJ,OAAO,CAAC;EAEnE,MAAMK,eAAe,gBAAGpB,UAAU,CAGhC,CAACqB,KAAU,EAAEC,GAAG,KAAK;IACtB,MAAM;MAAEC;IAAc,CAAC,GAAGd,iBAAiB,CAAC,CAAC;IAC7C,MAAM;MAAEe,aAAa;MAAEC,mBAAmB;MAAEC;IAAS,CAAC,GAAGlB,iBAAiB,CAAC;MAC1EmB,QAAQ,EAAEN,KAAK,CAACM,QAAQ;MACxBF,mBAAmB,EAAEJ,KAAK,CAACI,mBAAmB;MAC9CC,QAAQ,EAAEL,KAAK,CAACK;IACjB,CAAC,CAAC;IAEF,oBACCb,IAAA,CAACX,eAAe;MAAC0B,OAAO,EAAEL,aAAc;MAAAM,QAAA,eACvChB,IAAA,CAACK,iBAAiB;QAAA,GACZG,KAAK;QACVC,GAAG,EAAEA,GAAI;QACTK,QAAQ,EAAEH,aAAc;QACxBC,mBAAmB,EAAEA,mBAAoB;QACzCC,QAAQ,EAAEA,QAAS;QACnBI,mBAAmB,EAAET,KAAK,CAACS,mBAAmB,IAAI;MAAG,CACrD;IAAC,CACc,CAAC;EAEpB,CAAC,CAAC;EAEF,MAAMC,KAAK,gBAAG/B,UAAU,CAGtB,CAACqB,KAAK,EAAEC,GAAG,KAAK;IACjB,MAAM;MACLO,QAAQ;MACRG,KAAK;MACLC,cAAc;MACdC,OAAO;MACPC,OAAO;MACPC,eAAe;MACf,GAAGC;IACJ,CAAC,GAAGhB,KAAY;IAEhB,MAAMiB,WAAW,GAAGjC,cAAc,CAAO,CAAC;IAC1C,MAAM;MAAEkC;IAAQ,CAAC,GAAG7B,OAAO,CAAC,CAAC;IAE7B,MAAM;MAAE8B;IAAiB,CAAC,GAAGlC,mBAAmB,CAAC;MAChDmC,EAAE,EAAER,cAAc,IAAIC;IACvB,CAAC,CAAC;IAEF,MAAM;MAAEQ,aAAa;MAAEC;IAAa,CAAC,GAAGpC,iBAAiB,CAAC;MACzD0B,cAAc;MACdK,WAAW;MACXC,OAAO;MACPP;IACD,CAAC,CAAC;IAEF,IAAIf,YAAY,EAAE;MACjB,oBACCJ,IAAA,CAACO,eAAe;QAAA,GACVC,KAAK;QACVC,GAAG,EAAEA,GAAI;QACToB,aAAa,EAAEA,aAAc;QAC7BC,YAAY,EAAEA;MAAa,CAC3B,CAAC;IAEJ;IAEA,MAAMC,eAAe,GAAGxC,OAAO,CAAC,MAAM;MACrC,SAAS;;MACTuC,YAAY,CAAC,CAAC;MACd,IAAIP,eAAe,IAAIH,cAAc,EAAE;QACtCS,aAAa,CAAC,CAAC;MAChB;IACD,CAAC,CAAC;IAEF,oBACC7B,IAAA,CAACF,YAAY;MAACsB,cAAc,EAAEA,cAAe;MAACY,OAAO,EAAEH,aAAc;MAAAb,QAAA,eACpEhB,IAAA,CAACK,iBAAiB;QAAA,GACZmB,IAAI;QACTf,GAAG,EAAEgB,WAAY;QACjBN,KAAK,EAAE,CAACA,KAAK,EAAEQ,gBAAgB,CAAE;QACjCL,OAAO,EAAEA,OAAQ;QACjBT,QAAQ,EAAEkB,eAAgB;QAAAf,QAAA,EAEzBA;MAAQ,CACS;IAAC,CACP,CAAC;EAEjB,CAAC,CAAC;EAEF,oBAAO5B,IAAI,CAAC8B,KAAK,CAAC;AAMnB","ignoreList":[]}
|
|
@@ -51,18 +51,9 @@ export const useBoundsRegistry = ({
|
|
|
51
51
|
isMeasured.value = true;
|
|
52
52
|
}
|
|
53
53
|
}, [measureBounds, interpolatorProps, sharedBoundTag, previous?.route.key, isMeasured]);
|
|
54
|
-
const measureOnTouchStart = useCallback(() => {
|
|
55
|
-
"worklet";
|
|
56
|
-
|
|
57
|
-
if (sharedBoundTag) {
|
|
58
|
-
Bounds.setActiveBoundId(sharedBoundTag);
|
|
59
|
-
measure(animatedRef);
|
|
60
|
-
}
|
|
61
|
-
}, [sharedBoundTag, animatedRef]);
|
|
62
54
|
return {
|
|
63
55
|
measureBounds,
|
|
64
|
-
handleLayout
|
|
65
|
-
measureOnTouchStart
|
|
56
|
+
handleLayout
|
|
66
57
|
};
|
|
67
58
|
};
|
|
68
59
|
//# sourceMappingURL=use-bound-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","measure","useSharedValue","useKeys","Bounds","flattenStyle","isBoundsEqual","useScreenAnimation","useBoundsRegistry","sharedBoundTag","animatedRef","current","style","previous","interpolatorProps","isMeasured","measureBounds","measured","key","route","setRouteActive","setBounds","handleLayout","previousRouteKey","value","previousBounds","getBounds","hasPreviousBoundForTag","animating"
|
|
1
|
+
{"version":3,"names":["useCallback","measure","useSharedValue","useKeys","Bounds","flattenStyle","isBoundsEqual","useScreenAnimation","useBoundsRegistry","sharedBoundTag","animatedRef","current","style","previous","interpolatorProps","isMeasured","measureBounds","measured","key","route","setRouteActive","setBounds","handleLayout","previousRouteKey","value","previousBounds","getBounds","hasPreviousBoundForTag","animating"],"sourceRoot":"../../../../src","sources":["hooks/bounds/use-bound-registry.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAECC,OAAO,EAEPC,cAAc,QACR,yBAAyB;AAChC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,YAAY,QAAQ,0CAA0C;AACvE,SAASC,aAAa,QAAQ,2CAA2C;AACzE,SAASC,kBAAkB,QAAQ,mCAAmC;AAStE,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EACjCC,cAAc;EACdC,WAAW;EACXC,OAAO;EACPC;AACuB,CAAC,KAAK;EAC7B,MAAM;IAAEC;EAAS,CAAC,GAAGV,OAAO,CAAC,CAAC;EAC9B,MAAMW,iBAAiB,GAAGP,kBAAkB,CAAC,CAAC;EAC9C,MAAMQ,UAAU,GAAGb,cAAc,CAAC,KAAK,CAAC;EAExC,MAAMc,aAAa,GAAGhB,WAAW,CAAC,MAAM;IACvC,SAAS;;IACT,IAAI,CAACS,cAAc,EAAE;IACrB,MAAMQ,QAAQ,GAAGhB,OAAO,CAACS,WAAW,CAAC;IACrC,IAAIO,QAAQ,EAAE;MACb,MAAMC,GAAG,GAAGP,OAAO,CAACQ,KAAK,CAACD,GAAG;MAC7B,IAAIZ,aAAa,CAAC;QAAEW,QAAQ;QAAEC,GAAG;QAAET;MAAe,CAAC,CAAC,EAAE;QACrDL,MAAM,CAACgB,cAAc,CAACF,GAAG,EAAET,cAAc,CAAC;QAC1C;MACD;MAEAL,MAAM,CAACiB,SAAS,CAACH,GAAG,EAAET,cAAc,EAAEQ,QAAQ,EAAEZ,YAAY,CAACO,KAAK,CAAC,CAAC;MACpER,MAAM,CAACgB,cAAc,CAACF,GAAG,EAAET,cAAc,CAAC;IAC3C;EACD,CAAC,EAAE,CAACA,cAAc,EAAEC,WAAW,EAAEC,OAAO,CAACQ,KAAK,CAACD,GAAG,EAAEN,KAAK,CAAC,CAAC;EAE3D,MAAMU,YAAY,GAAGtB,WAAW,CAAC,MAAM;IACtC,SAAS;;IACT,MAAMuB,gBAAgB,GAAGV,QAAQ,EAAEM,KAAK,CAACD,GAAG;IAE5C,IAAI,CAACT,cAAc,IAAIM,UAAU,CAACS,KAAK,IAAI,CAACD,gBAAgB,EAAE;MAC7D;IACD;IAEA,MAAME,cAAc,GAAGrB,MAAM,CAACsB,SAAS,CAACH,gBAAgB,CAAC;IACzD,MAAMI,sBAAsB,GAAGF,cAAc,CAAChB,cAAc,CAAC;IAE7D,IAAIK,iBAAiB,CAACU,KAAK,CAACb,OAAO,CAACiB,SAAS,IAAID,sBAAsB,EAAE;MACxEX,aAAa,CAAC,CAAC;MACfD,UAAU,CAACS,KAAK,GAAG,IAAI;IACxB;EACD,CAAC,EAAE,CACFR,aAAa,EACbF,iBAAiB,EACjBL,cAAc,EACdI,QAAQ,EAAEM,KAAK,CAACD,GAAG,EACnBH,UAAU,CACV,CAAC;EAEF,OAAO;IACNC,aAAa;IACbM;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-transition-aware-component.d.ts","sourceRoot":"","sources":["../../../src/components/create-transition-aware-component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,OAAO,CAAC;AAS7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1D,UAAU,qCAAqC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,MAAM,EAC9D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,GAAE,qCAA0C,
|
|
1
|
+
{"version":3,"file":"create-transition-aware-component.d.ts","sourceRoot":"","sources":["../../../src/components/create-transition-aware-component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,OAAO,CAAC;AAS7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1D,UAAU,qCAAqC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,MAAM,EAC9D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,GAAE,qCAA0C,GA6F7B,KAAK,CAAC,mBAAmB,CAC9C,KAAK,CAAC,yBAAyB,CAC9B,oBAAoB,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,CACxD,CACD,CACD"}
|
|
@@ -13,7 +13,6 @@ interface BoundMeasurerHookProps {
|
|
|
13
13
|
export declare const useBoundsRegistry: ({ sharedBoundTag, animatedRef, current, style, }: BoundMeasurerHookProps) => {
|
|
14
14
|
measureBounds: () => void;
|
|
15
15
|
handleLayout: () => void;
|
|
16
|
-
measureOnTouchStart: () => void;
|
|
17
16
|
};
|
|
18
17
|
export {};
|
|
19
18
|
//# sourceMappingURL=use-bound-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-bound-registry.d.ts","sourceRoot":"","sources":["../../../../src/hooks/bounds/use-bound-registry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,KAAK,WAAW,EAEhB,KAAK,UAAU,EAEf,MAAM,yBAAyB,CAAC;AAOjC,UAAU,sBAAsB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE;QAAE,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACpC,KAAK,EAAE,UAAU,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,GAAI,kDAK/B,sBAAsB
|
|
1
|
+
{"version":3,"file":"use-bound-registry.d.ts","sourceRoot":"","sources":["../../../../src/hooks/bounds/use-bound-registry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,KAAK,WAAW,EAEhB,KAAK,UAAU,EAEf,MAAM,yBAAyB,CAAC;AAOjC,UAAU,sBAAsB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE;QAAE,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACpC,KAAK,EAAE,UAAU,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,GAAI,kDAK/B,sBAAsB;;;CAgDxB,CAAC"}
|
|
@@ -209,6 +209,7 @@ declare const _default: {
|
|
|
209
209
|
} & {
|
|
210
210
|
styleId?: string;
|
|
211
211
|
sharedBoundTag?: string;
|
|
212
|
+
measureOnLayout?: boolean;
|
|
212
213
|
} & import("react").RefAttributes<never>>>;
|
|
213
214
|
Pressable: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
|
|
214
215
|
id?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
|
|
@@ -457,6 +458,7 @@ declare const _default: {
|
|
|
457
458
|
} & {
|
|
458
459
|
styleId?: string;
|
|
459
460
|
sharedBoundTag?: string;
|
|
461
|
+
measureOnLayout?: boolean;
|
|
460
462
|
} & import("react").RefAttributes<View | import("react").Component<import("react-native").PressableProps & import("react").RefAttributes<View>, any, any>>>>;
|
|
461
463
|
ScrollView: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
|
|
462
464
|
id?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
|
|
@@ -793,6 +795,7 @@ declare const _default: {
|
|
|
793
795
|
} & {
|
|
794
796
|
styleId?: string;
|
|
795
797
|
sharedBoundTag?: string;
|
|
798
|
+
measureOnLayout?: boolean;
|
|
796
799
|
} & import("react").RefAttributes<never>>>;
|
|
797
800
|
FlatList: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
|
|
798
801
|
id?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
|
|
@@ -1263,6 +1266,7 @@ declare const _default: {
|
|
|
1263
1266
|
} & {
|
|
1264
1267
|
styleId?: string;
|
|
1265
1268
|
sharedBoundTag?: string;
|
|
1269
|
+
measureOnLayout?: boolean;
|
|
1266
1270
|
} & import("react").RefAttributes<never>>>;
|
|
1267
1271
|
MaskedView: typeof MaskedView;
|
|
1268
1272
|
presets: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,IAAI,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,UAAU,MAAM,uCAAuC,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,IAAI,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,UAAU,MAAM,uCAAuC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAgC4iE,CAAC;;;;;;;;;;;AA7B5mE,wBAaE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mEAAmE,CAAC;AAE/G,YAAY,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC"}
|
|
@@ -39,6 +39,14 @@ export type TransitionAwareProps<T extends object> = AnimatedProps<T> & {
|
|
|
39
39
|
* </Transition.View>
|
|
40
40
|
*/
|
|
41
41
|
sharedBoundTag?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Eagerly measure this component on layout and store the result in the
|
|
44
|
+
* Bounds registry. Useful for nested shared elements that may not receive
|
|
45
|
+
* the press event but still need up-to-date measurements at navigation time.
|
|
46
|
+
*
|
|
47
|
+
* Only has an effect when used together with `sharedBoundTag`.
|
|
48
|
+
*/
|
|
49
|
+
measureOnLayout?: boolean;
|
|
42
50
|
};
|
|
43
51
|
export type TransitionConfig = {
|
|
44
52
|
open: TransitionSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;CACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screen-transitions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Easy screen transitions for React Native and Expo",
|
|
5
5
|
"author": "Ed",
|
|
6
6
|
"license": "MIT",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
]
|
|
66
66
|
]
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "ea83a2b1bc369610cde35850de314c43122ba60c"
|
|
69
69
|
}
|
|
@@ -53,8 +53,15 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
53
53
|
React.ComponentRef<typeof AnimatedComponent>,
|
|
54
54
|
TransitionAwareProps<P>
|
|
55
55
|
>((props, ref) => {
|
|
56
|
-
const {
|
|
57
|
-
|
|
56
|
+
const {
|
|
57
|
+
children,
|
|
58
|
+
style,
|
|
59
|
+
sharedBoundTag,
|
|
60
|
+
styleId,
|
|
61
|
+
onPress,
|
|
62
|
+
measureOnLayout,
|
|
63
|
+
...rest
|
|
64
|
+
} = props as Any;
|
|
58
65
|
|
|
59
66
|
const animatedRef = useAnimatedRef<View>();
|
|
60
67
|
const { current } = useKeys();
|
|
@@ -81,6 +88,14 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
81
88
|
);
|
|
82
89
|
}
|
|
83
90
|
|
|
91
|
+
const onLayoutHandler = runOnUI(() => {
|
|
92
|
+
"worklet";
|
|
93
|
+
handleLayout();
|
|
94
|
+
if (measureOnLayout && sharedBoundTag) {
|
|
95
|
+
measureBounds();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
|
|
84
99
|
return (
|
|
85
100
|
<BoundCapture sharedBoundTag={sharedBoundTag} measure={measureBounds}>
|
|
86
101
|
<AnimatedComponent
|
|
@@ -88,7 +103,7 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
88
103
|
ref={animatedRef}
|
|
89
104
|
style={[style, associatedStyles]}
|
|
90
105
|
onPress={onPress}
|
|
91
|
-
onLayout={
|
|
106
|
+
onLayout={onLayoutHandler}
|
|
92
107
|
>
|
|
93
108
|
{children}
|
|
94
109
|
</AnimatedComponent>
|
|
@@ -48,6 +48,7 @@ export const useBoundsRegistry = ({
|
|
|
48
48
|
const handleLayout = useCallback(() => {
|
|
49
49
|
"worklet";
|
|
50
50
|
const previousRouteKey = previous?.route.key;
|
|
51
|
+
|
|
51
52
|
if (!sharedBoundTag || isMeasured.value || !previousRouteKey) {
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
@@ -67,17 +68,8 @@ export const useBoundsRegistry = ({
|
|
|
67
68
|
isMeasured,
|
|
68
69
|
]);
|
|
69
70
|
|
|
70
|
-
const measureOnTouchStart = useCallback(() => {
|
|
71
|
-
"worklet";
|
|
72
|
-
if (sharedBoundTag) {
|
|
73
|
-
Bounds.setActiveBoundId(sharedBoundTag);
|
|
74
|
-
measure(animatedRef);
|
|
75
|
-
}
|
|
76
|
-
}, [sharedBoundTag, animatedRef]);
|
|
77
|
-
|
|
78
71
|
return {
|
|
79
72
|
measureBounds,
|
|
80
73
|
handleLayout,
|
|
81
|
-
measureOnTouchStart,
|
|
82
74
|
};
|
|
83
75
|
};
|
package/src/types/core.ts
CHANGED
|
@@ -42,6 +42,15 @@ export type TransitionAwareProps<T extends object> = AnimatedProps<T> & {
|
|
|
42
42
|
* </Transition.View>
|
|
43
43
|
*/
|
|
44
44
|
sharedBoundTag?: string;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Eagerly measure this component on layout and store the result in the
|
|
48
|
+
* Bounds registry. Useful for nested shared elements that may not receive
|
|
49
|
+
* the press event but still need up-to-date measurements at navigation time.
|
|
50
|
+
*
|
|
51
|
+
* Only has an effect when used together with `sharedBoundTag`.
|
|
52
|
+
*/
|
|
53
|
+
measureOnLayout?: boolean;
|
|
45
54
|
};
|
|
46
55
|
|
|
47
56
|
export type TransitionConfig = {
|