react-native-morph-card 0.2.1 → 0.2.3
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/android/src/main/java/com/melivalesca/morphcard/MorphCardSourceManager.kt +4 -0
- package/android/src/main/java/com/melivalesca/morphcard/MorphCardSourceView.kt +4 -2
- package/android/src/main/java/com/melivalesca/morphcard/MorphCardTargetManager.kt +4 -0
- package/android/src/main/java/com/melivalesca/morphcard/MorphCardTargetView.kt +1 -0
- package/ios/Fabric/RNCMorphCardSourceComponentView.mm +32 -20
- package/ios/Fabric/RNCMorphCardTargetComponentView.h +1 -0
- package/ios/Fabric/RNCMorphCardTargetComponentView.mm +1 -0
- package/lib/commonjs/MorphCardSource.js +2 -0
- package/lib/commonjs/MorphCardSource.js.map +1 -1
- package/lib/commonjs/MorphCardTarget.js +2 -0
- package/lib/commonjs/MorphCardTarget.js.map +1 -1
- package/lib/commonjs/specs/NativeMorphCardSource.js.map +1 -1
- package/lib/commonjs/specs/NativeMorphCardTarget.js.map +1 -1
- package/lib/module/MorphCardSource.js +2 -0
- package/lib/module/MorphCardSource.js.map +1 -1
- package/lib/module/MorphCardTarget.js +2 -0
- package/lib/module/MorphCardTarget.js.map +1 -1
- package/lib/module/specs/NativeMorphCardSource.js.map +1 -1
- package/lib/module/specs/NativeMorphCardTarget.js.map +1 -1
- package/lib/typescript/src/MorphCardSource.d.ts +2 -1
- package/lib/typescript/src/MorphCardSource.d.ts.map +1 -1
- package/lib/typescript/src/MorphCardTarget.d.ts +3 -1
- package/lib/typescript/src/MorphCardTarget.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeMorphCardSource.d.ts +1 -0
- package/lib/typescript/src/specs/NativeMorphCardSource.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeMorphCardTarget.d.ts +2 -0
- package/lib/typescript/src/specs/NativeMorphCardTarget.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MorphCardSource.tsx +3 -1
- package/src/MorphCardTarget.tsx +5 -0
- package/src/specs/NativeMorphCardSource.ts +1 -0
- package/src/specs/NativeMorphCardTarget.ts +3 -0
|
@@ -26,6 +26,10 @@ class MorphCardSourceManager :
|
|
|
26
26
|
view.duration = value
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
override fun setExpandDuration(view: MorphCardSourceView, value: Double) {
|
|
30
|
+
view.expandDuration = value
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
override fun setScaleMode(view: MorphCardSourceView, value: String?) {
|
|
30
34
|
view.scaleMode = value ?: "aspectFill"
|
|
31
35
|
}
|
|
@@ -32,6 +32,7 @@ class MorphCardSourceView(context: Context) : ReactViewGroup(context) {
|
|
|
32
32
|
|
|
33
33
|
// ── Props (all in dp) ──
|
|
34
34
|
var duration: Double = 500.0
|
|
35
|
+
var expandDuration: Double = 0.0
|
|
35
36
|
var scaleMode: String = "aspectFill"
|
|
36
37
|
var borderRadiusDp: Float = 0f
|
|
37
38
|
|
|
@@ -553,7 +554,7 @@ class MorphCardSourceView(context: Context) : ReactViewGroup(context) {
|
|
|
553
554
|
Log.d(TAG, "animateExpand: target=[${targetLeft},${targetTop},${targetWidthPx}x${targetHeightPx}] cornerR=$targetCornerRadiusPx")
|
|
554
555
|
Log.d(TAG, "animateExpand: pendingTarget w=${pendingTargetWidth} h=${pendingTargetHeight} br=${pendingTargetBorderRadius}")
|
|
555
556
|
|
|
556
|
-
val dur = duration.toLong()
|
|
557
|
+
val dur = (if (expandDuration > 0) expandDuration else duration).toLong()
|
|
557
558
|
// Find the card wrapper inside the full-screen overlay
|
|
558
559
|
val cardWrapper = wrapper.findViewWithTag<FrameLayout>("morphCardWrapper") ?: wrapper
|
|
559
560
|
val content = if (cardWrapper.childCount > 0) cardWrapper.getChildAt(0) else null
|
|
@@ -749,7 +750,8 @@ class MorphCardSourceView(context: Context) : ReactViewGroup(context) {
|
|
|
749
750
|
}
|
|
750
751
|
|
|
751
752
|
val d = density
|
|
752
|
-
val
|
|
753
|
+
val targetCollapseDur = (targetView as? MorphCardTargetView)?.collapseDuration ?: 0.0
|
|
754
|
+
val dur = (if (targetCollapseDur > 0) targetCollapseDur else duration).toLong()
|
|
753
755
|
|
|
754
756
|
// Create DecorView overlay for collapse animation.
|
|
755
757
|
// Get snapshot from MorphCardTargetView if available, otherwise recapture.
|
|
@@ -26,6 +26,10 @@ class MorphCardTargetManager :
|
|
|
26
26
|
// Duration is managed by the source view
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
override fun setCollapseDuration(view: MorphCardTargetView, value: Double) {
|
|
30
|
+
view.collapseDuration = value
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
override fun setSourceTag(view: MorphCardTargetView, value: Int) {
|
|
30
34
|
view.sourceTag = value
|
|
31
35
|
}
|
|
@@ -20,6 +20,7 @@ class MorphCardTargetView(context: Context) : ReactViewGroup(context) {
|
|
|
20
20
|
var targetWidth: Float = 0f
|
|
21
21
|
var targetHeight: Float = 0f
|
|
22
22
|
var targetBorderRadius: Float = -1f
|
|
23
|
+
var collapseDuration: Double = 0.0
|
|
23
24
|
var sourceTag: Int = 0
|
|
24
25
|
|
|
25
26
|
// Snapshot drawn via canvas — Fabric can't remove it
|
|
@@ -74,6 +74,7 @@ static CGRect imageFrameForScaleMode(UIViewContentMode mode,
|
|
|
74
74
|
|
|
75
75
|
@implementation RNCMorphCardSourceComponentView {
|
|
76
76
|
CGFloat _duration;
|
|
77
|
+
CGFloat _expandDuration;
|
|
77
78
|
UIViewContentMode _scaleMode;
|
|
78
79
|
BOOL _isExpanded;
|
|
79
80
|
BOOL _hasWrapper;
|
|
@@ -105,6 +106,7 @@ static CGRect imageFrameForScaleMode(UIViewContentMode mode,
|
|
|
105
106
|
const auto &newProps =
|
|
106
107
|
*std::static_pointer_cast<const RNCMorphCardSourceProps>(props);
|
|
107
108
|
_duration = newProps.duration > 0 ? newProps.duration : 500.0;
|
|
109
|
+
_expandDuration = newProps.expandDuration > 0 ? newProps.expandDuration : 0;
|
|
108
110
|
auto sm = newProps.scaleMode;
|
|
109
111
|
if (sm == RNCMorphCardSourceScaleMode::AspectFit) {
|
|
110
112
|
_scaleMode = UIViewContentModeScaleAspectFit;
|
|
@@ -202,7 +204,7 @@ static CGRect imageFrameForScaleMode(UIViewContentMode mode,
|
|
|
202
204
|
|
|
203
205
|
CGFloat targetCornerRadius = tbr >= 0 ? tbr : _cardCornerRadius;
|
|
204
206
|
|
|
205
|
-
NSTimeInterval dur = _duration / 1000.0;
|
|
207
|
+
NSTimeInterval dur = (_expandDuration > 0 ? _expandDuration : _duration) / 1000.0;
|
|
206
208
|
|
|
207
209
|
if (_hasWrapper) {
|
|
208
210
|
// ══ WRAPPER MODE ══
|
|
@@ -389,7 +391,11 @@ static CGRect imageFrameForScaleMode(UIViewContentMode mode,
|
|
|
389
391
|
[(RNCMorphCardTargetComponentView *)targetView clearSnapshot];
|
|
390
392
|
}
|
|
391
393
|
|
|
392
|
-
|
|
394
|
+
CGFloat collapseDur = 0;
|
|
395
|
+
if (targetView && [targetView isKindOfClass:[RNCMorphCardTargetComponentView class]]) {
|
|
396
|
+
collapseDur = ((RNCMorphCardTargetComponentView *)targetView).collapseDuration;
|
|
397
|
+
}
|
|
398
|
+
NSTimeInterval dur = (collapseDur > 0 ? collapseDur : _duration) / 1000.0;
|
|
393
399
|
|
|
394
400
|
if (_hasWrapper) {
|
|
395
401
|
// ══ WRAPPER MODE COLLAPSE ══
|
|
@@ -442,22 +448,25 @@ static CGRect imageFrameForScaleMode(UIViewContentMode mode,
|
|
|
442
448
|
|
|
443
449
|
UIView *content = wrapper.subviews.firstObject;
|
|
444
450
|
|
|
451
|
+
UICubicTimingParameters *timing = [[UICubicTimingParameters alloc]
|
|
452
|
+
initWithControlPoint1:CGPointMake(0.25, 1.0)
|
|
453
|
+
controlPoint2:CGPointMake(0.5, 1.0)];
|
|
445
454
|
UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc]
|
|
446
455
|
initWithDuration:dur
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
456
|
+
timingParameters:timing];
|
|
457
|
+
[animator addAnimations:^{
|
|
458
|
+
wrapper.frame = self->_cardFrame;
|
|
459
|
+
wrapper.layer.cornerRadius = self->_cardCornerRadius;
|
|
460
|
+
if (content) {
|
|
461
|
+
content.frame = (CGRect){CGPointZero, content.frame.size};
|
|
462
|
+
}
|
|
463
|
+
}];
|
|
455
464
|
|
|
456
|
-
// Fade out target screen concurrently at 15%
|
|
465
|
+
// Fade out target screen concurrently at 15%, over 65% of duration
|
|
457
466
|
dispatch_after(
|
|
458
467
|
dispatch_time(DISPATCH_TIME_NOW, (int64_t)(dur * 0.15 * NSEC_PER_SEC)),
|
|
459
468
|
dispatch_get_main_queue(), ^{
|
|
460
|
-
[UIView animateWithDuration:dur * 0.
|
|
469
|
+
[UIView animateWithDuration:dur * 0.65
|
|
461
470
|
animations:^{
|
|
462
471
|
if (targetScreen) { targetScreen.alpha = 0; }
|
|
463
472
|
}
|
|
@@ -521,20 +530,23 @@ static CGRect imageFrameForScaleMode(UIViewContentMode mode,
|
|
|
521
530
|
sourceScreen.alpha = 1;
|
|
522
531
|
}
|
|
523
532
|
|
|
533
|
+
UICubicTimingParameters *timing2 = [[UICubicTimingParameters alloc]
|
|
534
|
+
initWithControlPoint1:CGPointMake(0.25, 1.0)
|
|
535
|
+
controlPoint2:CGPointMake(0.5, 1.0)];
|
|
524
536
|
UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc]
|
|
525
537
|
initWithDuration:dur
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
538
|
+
timingParameters:timing2];
|
|
539
|
+
[animator addAnimations:^{
|
|
540
|
+
container.frame = self->_cardFrame;
|
|
541
|
+
container.layer.cornerRadius = self->_cardCornerRadius;
|
|
542
|
+
snapshot.frame = (CGRect){CGPointZero, self->_cardFrame.size};
|
|
543
|
+
}];
|
|
532
544
|
|
|
533
|
-
// Fade out target screen concurrently at 15%
|
|
545
|
+
// Fade out target screen concurrently at 15%, over 65% of duration
|
|
534
546
|
dispatch_after(
|
|
535
547
|
dispatch_time(DISPATCH_TIME_NOW, (int64_t)(dur * 0.15 * NSEC_PER_SEC)),
|
|
536
548
|
dispatch_get_main_queue(), ^{
|
|
537
|
-
[UIView animateWithDuration:dur * 0.
|
|
549
|
+
[UIView animateWithDuration:dur * 0.65
|
|
538
550
|
animations:^{
|
|
539
551
|
if (targetScreen) { targetScreen.alpha = 0; }
|
|
540
552
|
}
|
|
@@ -7,6 +7,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
7
7
|
@property (nonatomic, assign) CGFloat targetWidth;
|
|
8
8
|
@property (nonatomic, assign) CGFloat targetHeight;
|
|
9
9
|
@property (nonatomic, assign) CGFloat targetBorderRadius;
|
|
10
|
+
@property (nonatomic, assign) CGFloat collapseDuration;
|
|
10
11
|
|
|
11
12
|
- (void)showSnapshot:(UIImage *)image
|
|
12
13
|
contentMode:(UIViewContentMode)mode
|
|
@@ -24,6 +24,7 @@ using namespace facebook::react;
|
|
|
24
24
|
_targetWidth = newProps.targetWidth;
|
|
25
25
|
_targetHeight = newProps.targetHeight;
|
|
26
26
|
_targetBorderRadius = newProps.targetBorderRadius;
|
|
27
|
+
_collapseDuration = newProps.collapseDuration;
|
|
27
28
|
[super updateProps:props oldProps:oldProps];
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -18,6 +18,7 @@ const NativeSourceView = _NativeMorphCardSource.default ?? _reactNative.View;
|
|
|
18
18
|
const MorphCardSource = ({
|
|
19
19
|
children,
|
|
20
20
|
duration = 300,
|
|
21
|
+
expandDuration,
|
|
21
22
|
width,
|
|
22
23
|
height,
|
|
23
24
|
borderRadius,
|
|
@@ -50,6 +51,7 @@ const MorphCardSource = ({
|
|
|
50
51
|
const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(NativeSourceView, {
|
|
51
52
|
ref: nativeRef,
|
|
52
53
|
duration: duration,
|
|
54
|
+
expandDuration: expandDuration,
|
|
53
55
|
scaleMode: scaleMode,
|
|
54
56
|
cardBorderRadius: borderRadius,
|
|
55
57
|
style: style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeMorphCardModule","_interopRequireDefault","_NativeMorphCardSource","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NativeSourceView","NativeSourceViewSpec","View","MorphCardSource","children","duration","width","height","borderRadius","backgroundColor","scaleMode","onPress","ref","nativeRef","useRef","useImperativeHandle","current","style","overflow","handlePress","useCallback","tag","findNodeHandle","NativeMorphCardModule","prepareExpand","requestAnimationFrame","content","jsx","cardBorderRadius","Pressable","exports","getViewTag","viewRef","morphExpand","sourceRef","targetRef","sourceTag","targetTag","expand","morphCollapse","collapse"],"sourceRoot":"../../src","sources":["MorphCardSource.tsx"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAiE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAO,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAEjE,MAAMgB,gBAAgB,GAAGC,8BAAoB,IAAIC,iBAAI;
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeMorphCardModule","_interopRequireDefault","_NativeMorphCardSource","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NativeSourceView","NativeSourceViewSpec","View","MorphCardSource","children","duration","expandDuration","width","height","borderRadius","backgroundColor","scaleMode","onPress","ref","nativeRef","useRef","useImperativeHandle","current","style","overflow","handlePress","useCallback","tag","findNodeHandle","NativeMorphCardModule","prepareExpand","requestAnimationFrame","content","jsx","cardBorderRadius","Pressable","exports","getViewTag","viewRef","morphExpand","sourceRef","targetRef","sourceTag","targetTag","expand","morphCollapse","collapse"],"sourceRoot":"../../src","sources":["MorphCardSource.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ try {
|
|
|
18
18
|
}
|
|
19
19
|
const MorphCardTarget = ({
|
|
20
20
|
sourceTag,
|
|
21
|
+
collapseDuration,
|
|
21
22
|
width,
|
|
22
23
|
height,
|
|
23
24
|
borderRadius,
|
|
@@ -71,6 +72,7 @@ const MorphCardTarget = ({
|
|
|
71
72
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(NativeTargetView, {
|
|
72
73
|
ref: nativeRef,
|
|
73
74
|
sourceTag: sourceTag,
|
|
75
|
+
collapseDuration: collapseDuration,
|
|
74
76
|
targetWidth: 0,
|
|
75
77
|
targetHeight: 0,
|
|
76
78
|
targetBorderRadius: borderRadius != null ? borderRadius : -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeMorphCardModule","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NativeTargetView","requireNativeComponent","View","MorphCardTarget","sourceTag","width","height","borderRadius","contentOffsetY","contentCentered","style","rest","nativeRef","useRef","expandedRef","sourceSize","setSourceSize","useState","useEffect","cancelled","NativeMorphCardModule","getSourceSize","then","size","catch","handleLayout","useCallback","current","lw","lh","nativeEvent","layout","targetTag","findNodeHandle","setTargetConfig","expand","sizeStyle","jsx","ref","targetWidth","targetHeight","targetBorderRadius","onLayout","exports"],"sourceRoot":"../../src","sources":["MorphCardTarget.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAElE,IAAIgB,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeMorphCardModule","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NativeTargetView","requireNativeComponent","View","MorphCardTarget","sourceTag","collapseDuration","width","height","borderRadius","contentOffsetY","contentCentered","style","rest","nativeRef","useRef","expandedRef","sourceSize","setSourceSize","useState","useEffect","cancelled","NativeMorphCardModule","getSourceSize","then","size","catch","handleLayout","useCallback","current","lw","lh","nativeEvent","layout","targetTag","findNodeHandle","setTargetConfig","expand","sizeStyle","jsx","ref","targetWidth","targetHeight","targetBorderRadius","onLayout","exports"],"sourceRoot":"../../src","sources":["MorphCardTarget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardSource.ts"],"mappings":";;;;;;AAMA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardSource.ts"],"mappings":";;;;;;AAMA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAY9E,IAAAG,+BAAsB,EACnC,oBACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardTarget.ts"],"mappings":";;;;;;AAMA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardTarget.ts"],"mappings":";;;;;;AAMA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAgC9E,IAAAG,+BAAsB,EACnC,oBACF,CAAC","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ const NativeSourceView = NativeSourceViewSpec ?? View;
|
|
|
9
9
|
export const MorphCardSource = ({
|
|
10
10
|
children,
|
|
11
11
|
duration = 300,
|
|
12
|
+
expandDuration,
|
|
12
13
|
width,
|
|
13
14
|
height,
|
|
14
15
|
borderRadius,
|
|
@@ -41,6 +42,7 @@ export const MorphCardSource = ({
|
|
|
41
42
|
const content = /*#__PURE__*/_jsx(NativeSourceView, {
|
|
42
43
|
ref: nativeRef,
|
|
43
44
|
duration: duration,
|
|
45
|
+
expandDuration: expandDuration,
|
|
44
46
|
scaleMode: scaleMode,
|
|
45
47
|
cardBorderRadius: borderRadius,
|
|
46
48
|
style: style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Pressable","View","findNodeHandle","NativeMorphCardModule","NativeSourceViewSpec","jsx","_jsx","NativeSourceView","MorphCardSource","children","duration","width","height","borderRadius","backgroundColor","scaleMode","onPress","ref","nativeRef","useRef","useImperativeHandle","current","style","overflow","handlePress","useCallback","tag","prepareExpand","requestAnimationFrame","content","cardBorderRadius","getViewTag","viewRef","morphExpand","sourceRef","targetRef","sourceTag","targetTag","expand","morphCollapse","collapse"],"sourceRoot":"../../src","sources":["MorphCardSource.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,SAAS,EAGTC,IAAI,EACJC,cAAc,QACT,cAAc;AACrB,OAAOC,qBAAqB,MAAM,+BAA+B;AACjE,OAAOC,oBAAoB,MAAM,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjE,MAAMC,gBAAgB,GAAGH,oBAAoB,IAAIH,IAAI;
|
|
1
|
+
{"version":3,"names":["React","Pressable","View","findNodeHandle","NativeMorphCardModule","NativeSourceViewSpec","jsx","_jsx","NativeSourceView","MorphCardSource","children","duration","expandDuration","width","height","borderRadius","backgroundColor","scaleMode","onPress","ref","nativeRef","useRef","useImperativeHandle","current","style","overflow","handlePress","useCallback","tag","prepareExpand","requestAnimationFrame","content","cardBorderRadius","getViewTag","viewRef","morphExpand","sourceRef","targetRef","sourceTag","targetTag","expand","morphCollapse","collapse"],"sourceRoot":"../../src","sources":["MorphCardSource.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ try {
|
|
|
12
12
|
}
|
|
13
13
|
export const MorphCardTarget = ({
|
|
14
14
|
sourceTag,
|
|
15
|
+
collapseDuration,
|
|
15
16
|
width,
|
|
16
17
|
height,
|
|
17
18
|
borderRadius,
|
|
@@ -65,6 +66,7 @@ export const MorphCardTarget = ({
|
|
|
65
66
|
return /*#__PURE__*/_jsx(NativeTargetView, {
|
|
66
67
|
ref: nativeRef,
|
|
67
68
|
sourceTag: sourceTag,
|
|
69
|
+
collapseDuration: collapseDuration,
|
|
68
70
|
targetWidth: 0,
|
|
69
71
|
targetHeight: 0,
|
|
70
72
|
targetBorderRadius: borderRadius != null ? borderRadius : -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","requireNativeComponent","View","findNodeHandle","NativeMorphCardModule","jsx","_jsx","NativeTargetView","MorphCardTarget","sourceTag","width","height","borderRadius","contentOffsetY","contentCentered","style","rest","nativeRef","useRef","expandedRef","sourceSize","setSourceSize","useState","useEffect","cancelled","getSourceSize","then","size","catch","handleLayout","useCallback","e","current","lw","lh","nativeEvent","layout","targetTag","setTargetConfig","expand","sizeStyle","ref","targetWidth","targetHeight","targetBorderRadius","onLayout"],"sourceRoot":"../../src","sources":["MorphCardTarget.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,sBAAsB,EAKtBC,IAAI,EACJC,cAAc,QAET,cAAc;AACrB,OAAOC,qBAAqB,MAAM,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElE,IAAIC,
|
|
1
|
+
{"version":3,"names":["React","requireNativeComponent","View","findNodeHandle","NativeMorphCardModule","jsx","_jsx","NativeTargetView","MorphCardTarget","sourceTag","collapseDuration","width","height","borderRadius","contentOffsetY","contentCentered","style","rest","nativeRef","useRef","expandedRef","sourceSize","setSourceSize","useState","useEffect","cancelled","getSourceSize","then","size","catch","handleLayout","useCallback","e","current","lw","lh","nativeEvent","layout","targetTag","setTargetConfig","expand","sizeStyle","ref","targetWidth","targetHeight","targetBorderRadius","onLayout"],"sourceRoot":"../../src","sources":["MorphCardTarget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardSource.ts"],"mappings":";;AAMA,OAAOA,sBAAsB,MAAM,yDAAyD;
|
|
1
|
+
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardSource.ts"],"mappings":";;AAMA,OAAOA,sBAAsB,MAAM,yDAAyD;AAY5F,eAAeA,sBAAsB,CACnC,oBACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardTarget.ts"],"mappings":";;AAMA,OAAOA,sBAAsB,MAAM,yDAAyD;
|
|
1
|
+
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeMorphCardTarget.ts"],"mappings":";;AAMA,OAAOA,sBAAsB,MAAM,yDAAyD;AAgC5F,eAAeA,sBAAsB,CACnC,oBACF,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ export type ScaleMode = 'aspectFill' | 'aspectFit' | 'stretch';
|
|
|
4
4
|
export interface MorphCardSourceProps {
|
|
5
5
|
ref?: React.Ref<any>;
|
|
6
6
|
duration?: number;
|
|
7
|
+
expandDuration?: number;
|
|
7
8
|
width?: DimensionValue;
|
|
8
9
|
height?: DimensionValue;
|
|
9
10
|
borderRadius?: number;
|
|
@@ -13,7 +14,7 @@ export interface MorphCardSourceProps {
|
|
|
13
14
|
onPress?: (sourceTag: number) => void;
|
|
14
15
|
children: React.ReactNode;
|
|
15
16
|
}
|
|
16
|
-
export declare const MorphCardSource: ({ children, duration, width, height, borderRadius, backgroundColor, scaleMode, onPress, ref, }: MorphCardSourceProps) => React.JSX.Element;
|
|
17
|
+
export declare const MorphCardSource: ({ children, duration, expandDuration, width, height, borderRadius, backgroundColor, scaleMode, onPress, ref, }: MorphCardSourceProps) => React.JSX.Element;
|
|
17
18
|
/**
|
|
18
19
|
* Get the native view tag from a ref. Useful for passing sourceTag
|
|
19
20
|
* to the detail screen via navigation params.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MorphCardSource.d.ts","sourceRoot":"","sources":["../../../src/MorphCardSource.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;AAMtB,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,GAAI,
|
|
1
|
+
{"version":3,"file":"MorphCardSource.d.ts","sourceRoot":"","sources":["../../../src/MorphCardSource.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;AAMtB,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,GAAI,gHAW7B,oBAAoB,sBAmCtB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAEvE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE"}
|
|
@@ -3,6 +3,8 @@ import { type StyleProp, type ViewStyle, type DimensionValue } from 'react-nativ
|
|
|
3
3
|
export interface MorphCardTargetProps {
|
|
4
4
|
/** The sourceTag from route params — triggers expand on mount. */
|
|
5
5
|
sourceTag: number;
|
|
6
|
+
/** Duration of the collapse animation in ms. Falls back to source's duration. */
|
|
7
|
+
collapseDuration?: number;
|
|
6
8
|
/** Optional width override (number or '100%'). If omitted, source width is used. */
|
|
7
9
|
width?: DimensionValue;
|
|
8
10
|
/** Optional height override (number or '100%'). If omitted, source height is used. */
|
|
@@ -16,5 +18,5 @@ export interface MorphCardTargetProps {
|
|
|
16
18
|
/** Optional style for positioning (margin, position, etc). */
|
|
17
19
|
style?: StyleProp<ViewStyle>;
|
|
18
20
|
}
|
|
19
|
-
export declare const MorphCardTarget: ({ sourceTag, width, height, borderRadius, contentOffsetY, contentCentered, style, ...rest }: MorphCardTargetProps) => React.JSX.Element;
|
|
21
|
+
export declare const MorphCardTarget: ({ sourceTag, collapseDuration, width, height, borderRadius, contentOffsetY, contentCentered, style, ...rest }: MorphCardTargetProps) => React.JSX.Element;
|
|
20
22
|
//# sourceMappingURL=MorphCardTarget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MorphCardTarget.d.ts","sourceRoot":"","sources":["../../../src/MorphCardTarget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EAIpB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"MorphCardTarget.d.ts","sourceRoot":"","sources":["../../../src/MorphCardTarget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EAIpB,MAAM,cAAc,CAAC;AAmBtB,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,sFAAsF;IACtF,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,2GAA2G;IAC3G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gGAAgG;IAChG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,GAAI,+GAU7B,oBAAoB,sBAyEtB,CAAC"}
|
|
@@ -5,6 +5,7 @@ export interface NativeMorphCardSourceProps extends ViewProps {
|
|
|
5
5
|
onMorphComplete?: DirectEventHandler<{}>;
|
|
6
6
|
onDismissComplete?: DirectEventHandler<{}>;
|
|
7
7
|
duration?: Double;
|
|
8
|
+
expandDuration?: Double;
|
|
8
9
|
scaleMode?: WithDefault<'aspectFill' | 'aspectFit' | 'stretch', 'aspectFill'>;
|
|
9
10
|
cardBorderRadius?: Double;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeMorphCardSource.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeMorphCardSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,WAAW,EACZ,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,WAAW,CAAC,YAAY,GAAG,WAAW,GAAG,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;;AAED,wBAEE"}
|
|
1
|
+
{"version":3,"file":"NativeMorphCardSource.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeMorphCardSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,WAAW,EACZ,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,WAAW,CAAC,YAAY,GAAG,WAAW,GAAG,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;;AAED,wBAEE"}
|
|
@@ -12,6 +12,8 @@ export interface NativeMorphCardTargetProps extends ViewProps {
|
|
|
12
12
|
* The react tag of the source card to morph from.
|
|
13
13
|
*/
|
|
14
14
|
sourceTag?: Int32;
|
|
15
|
+
/** Duration of the collapse animation in ms. Falls back to source's duration. */
|
|
16
|
+
collapseDuration?: Double;
|
|
15
17
|
onMorphComplete?: DirectEventHandler<MorphCompleteEvent>;
|
|
16
18
|
/** Explicit target width. 0 = use source width. */
|
|
17
19
|
targetWidth?: Double;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeMorphCardTarget.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeMorphCardTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB,eAAe,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAEzD,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;;AAED,wBAEE"}
|
|
1
|
+
{"version":3,"file":"NativeMorphCardTarget.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeMorphCardTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAEzD,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;;AAED,wBAEE"}
|
package/package.json
CHANGED
package/src/MorphCardSource.tsx
CHANGED
|
@@ -16,6 +16,7 @@ export type ScaleMode = 'aspectFill' | 'aspectFit' | 'stretch';
|
|
|
16
16
|
export interface MorphCardSourceProps {
|
|
17
17
|
ref?: React.Ref<any>;
|
|
18
18
|
duration?: number;
|
|
19
|
+
expandDuration?: number;
|
|
19
20
|
width?: DimensionValue;
|
|
20
21
|
height?: DimensionValue;
|
|
21
22
|
borderRadius?: number;
|
|
@@ -29,6 +30,7 @@ export interface MorphCardSourceProps {
|
|
|
29
30
|
export const MorphCardSource = ({
|
|
30
31
|
children,
|
|
31
32
|
duration = 300,
|
|
33
|
+
expandDuration,
|
|
32
34
|
width,
|
|
33
35
|
height,
|
|
34
36
|
borderRadius,
|
|
@@ -61,7 +63,7 @@ export const MorphCardSource = ({
|
|
|
61
63
|
}, [onPress]);
|
|
62
64
|
|
|
63
65
|
const content = (
|
|
64
|
-
<NativeSourceView ref={nativeRef} duration={duration} scaleMode={scaleMode} cardBorderRadius={borderRadius} style={style}>
|
|
66
|
+
<NativeSourceView ref={nativeRef} duration={duration} expandDuration={expandDuration} scaleMode={scaleMode} cardBorderRadius={borderRadius} style={style}>
|
|
65
67
|
{children}
|
|
66
68
|
</NativeSourceView>
|
|
67
69
|
);
|
package/src/MorphCardTarget.tsx
CHANGED
|
@@ -14,6 +14,7 @@ import NativeMorphCardModule from './specs/NativeMorphCardModule';
|
|
|
14
14
|
let NativeTargetView: React.ComponentType<
|
|
15
15
|
ViewProps & {
|
|
16
16
|
sourceTag?: number;
|
|
17
|
+
collapseDuration?: number;
|
|
17
18
|
targetWidth?: number;
|
|
18
19
|
targetHeight?: number;
|
|
19
20
|
targetBorderRadius?: number;
|
|
@@ -29,6 +30,8 @@ try {
|
|
|
29
30
|
export interface MorphCardTargetProps {
|
|
30
31
|
/** The sourceTag from route params — triggers expand on mount. */
|
|
31
32
|
sourceTag: number;
|
|
33
|
+
/** Duration of the collapse animation in ms. Falls back to source's duration. */
|
|
34
|
+
collapseDuration?: number;
|
|
32
35
|
/** Optional width override (number or '100%'). If omitted, source width is used. */
|
|
33
36
|
width?: DimensionValue;
|
|
34
37
|
/** Optional height override (number or '100%'). If omitted, source height is used. */
|
|
@@ -45,6 +48,7 @@ export interface MorphCardTargetProps {
|
|
|
45
48
|
|
|
46
49
|
export const MorphCardTarget = ({
|
|
47
50
|
sourceTag,
|
|
51
|
+
collapseDuration,
|
|
48
52
|
width,
|
|
49
53
|
height,
|
|
50
54
|
borderRadius,
|
|
@@ -116,6 +120,7 @@ export const MorphCardTarget = ({
|
|
|
116
120
|
<NativeTargetView
|
|
117
121
|
ref={nativeRef}
|
|
118
122
|
sourceTag={sourceTag}
|
|
123
|
+
collapseDuration={collapseDuration}
|
|
119
124
|
targetWidth={0}
|
|
120
125
|
targetHeight={0}
|
|
121
126
|
targetBorderRadius={borderRadius != null ? borderRadius : -1}
|
|
@@ -11,6 +11,7 @@ export interface NativeMorphCardSourceProps extends ViewProps {
|
|
|
11
11
|
onMorphComplete?: DirectEventHandler<{}>;
|
|
12
12
|
onDismissComplete?: DirectEventHandler<{}>;
|
|
13
13
|
duration?: Double;
|
|
14
|
+
expandDuration?: Double;
|
|
14
15
|
scaleMode?: WithDefault<'aspectFill' | 'aspectFit' | 'stretch', 'aspectFill'>;
|
|
15
16
|
cardBorderRadius?: Double;
|
|
16
17
|
}
|
|
@@ -21,6 +21,9 @@ export interface NativeMorphCardTargetProps extends ViewProps {
|
|
|
21
21
|
*/
|
|
22
22
|
sourceTag?: Int32;
|
|
23
23
|
|
|
24
|
+
/** Duration of the collapse animation in ms. Falls back to source's duration. */
|
|
25
|
+
collapseDuration?: Double;
|
|
26
|
+
|
|
24
27
|
onMorphComplete?: DirectEventHandler<MorphCompleteEvent>;
|
|
25
28
|
|
|
26
29
|
/** Explicit target width. 0 = use source width. */
|