react-native-morph-card 0.2.2 → 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.
Files changed (32) hide show
  1. package/android/src/main/java/com/melivalesca/morphcard/MorphCardSourceManager.kt +4 -0
  2. package/android/src/main/java/com/melivalesca/morphcard/MorphCardSourceView.kt +4 -2
  3. package/android/src/main/java/com/melivalesca/morphcard/MorphCardTargetManager.kt +4 -0
  4. package/android/src/main/java/com/melivalesca/morphcard/MorphCardTargetView.kt +1 -0
  5. package/ios/Fabric/RNCMorphCardSourceComponentView.mm +8 -2
  6. package/ios/Fabric/RNCMorphCardTargetComponentView.h +1 -0
  7. package/ios/Fabric/RNCMorphCardTargetComponentView.mm +1 -0
  8. package/lib/commonjs/MorphCardSource.js +2 -0
  9. package/lib/commonjs/MorphCardSource.js.map +1 -1
  10. package/lib/commonjs/MorphCardTarget.js +2 -0
  11. package/lib/commonjs/MorphCardTarget.js.map +1 -1
  12. package/lib/commonjs/specs/NativeMorphCardSource.js.map +1 -1
  13. package/lib/commonjs/specs/NativeMorphCardTarget.js.map +1 -1
  14. package/lib/module/MorphCardSource.js +2 -0
  15. package/lib/module/MorphCardSource.js.map +1 -1
  16. package/lib/module/MorphCardTarget.js +2 -0
  17. package/lib/module/MorphCardTarget.js.map +1 -1
  18. package/lib/module/specs/NativeMorphCardSource.js.map +1 -1
  19. package/lib/module/specs/NativeMorphCardTarget.js.map +1 -1
  20. package/lib/typescript/src/MorphCardSource.d.ts +2 -1
  21. package/lib/typescript/src/MorphCardSource.d.ts.map +1 -1
  22. package/lib/typescript/src/MorphCardTarget.d.ts +3 -1
  23. package/lib/typescript/src/MorphCardTarget.d.ts.map +1 -1
  24. package/lib/typescript/src/specs/NativeMorphCardSource.d.ts +1 -0
  25. package/lib/typescript/src/specs/NativeMorphCardSource.d.ts.map +1 -1
  26. package/lib/typescript/src/specs/NativeMorphCardTarget.d.ts +2 -0
  27. package/lib/typescript/src/specs/NativeMorphCardTarget.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/MorphCardSource.tsx +3 -1
  30. package/src/MorphCardTarget.tsx +5 -0
  31. package/src/specs/NativeMorphCardSource.ts +1 -0
  32. 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 dur = duration.toLong()
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
- NSTimeInterval dur = _duration / 1000.0;
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 ══
@@ -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":"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","ignoreList":[]}
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":"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","ignoreList":[]}
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,GAW9E,IAAAG,+BAAsB,EACnC,oBACF,CAAC","ignoreList":[]}
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,GA6B9E,IAAAG,+BAAsB,EACnC,oBACF,CAAC","ignoreList":[]}
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":"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","ignoreList":[]}
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":"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","ignoreList":[]}
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;AAW5F,eAAeA,sBAAsB,CACnC,oBACF,CAAC","ignoreList":[]}
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;AA6B5F,eAAeA,sBAAsB,CACnC,oBACF,CAAC","ignoreList":[]}
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,gGAU7B,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"}
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;AAkBtB,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,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,6FAS7B,oBAAoB,sBAwEtB,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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-morph-card",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Native card-to-modal morph transition for React Native. iOS App Store-style expand animation.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -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
  );
@@ -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. */