react-native-bottom-sheet-stack 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,11 +10,17 @@ var _react = require("react");
10
10
  var _reactNativeReanimated = require("react-native-reanimated");
11
11
  var _bottomSheet = require("./bottomSheet.store");
12
12
  var _BottomSheetManager = require("./BottomSheetManager.provider");
13
+ const DEFAULT_ANIMATION = {
14
+ type: 'timing',
15
+ config: {
16
+ duration: 300
17
+ }
18
+ };
13
19
  const DEFAULT_CONFIG = {
14
20
  scale: 0.92,
15
21
  translateY: 10,
16
22
  borderRadius: 12,
17
- duration: 300
23
+ animation: DEFAULT_ANIMATION
18
24
  };
19
25
 
20
26
  /**
@@ -87,15 +93,18 @@ function useScaleAnimatedStyle(t0) {
87
93
  scale: t2,
88
94
  translateY: t3,
89
95
  borderRadius: t4,
90
- duration: t5
96
+ animation: t5
91
97
  } = scaleConfig ?? {};
92
98
  const scale = t2 === undefined ? DEFAULT_CONFIG.scale : t2;
93
99
  const translateY = t3 === undefined ? DEFAULT_CONFIG.translateY : t3;
94
100
  const borderRadius = t4 === undefined ? DEFAULT_CONFIG.borderRadius : t4;
95
- const duration = t5 === undefined ? DEFAULT_CONFIG.duration : t5;
96
- const progress = (0, _reactNativeReanimated.useDerivedValue)(() => (0, _reactNativeReanimated.withTiming)(scaleDepth, {
97
- duration
98
- }));
101
+ const animation = t5 === undefined ? DEFAULT_CONFIG.animation : t5;
102
+ const progress = (0, _reactNativeReanimated.useDerivedValue)(() => {
103
+ if (animation.type === "spring") {
104
+ return (0, _reactNativeReanimated.withSpring)(scaleDepth, animation.config);
105
+ }
106
+ return (0, _reactNativeReanimated.withTiming)(scaleDepth, animation.config);
107
+ });
99
108
  return (0, _reactNativeReanimated.useAnimatedStyle)(() => {
100
109
  const p = progress.value;
101
110
  if (p === 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_bottomSheet","_BottomSheetManager","DEFAULT_CONFIG","scale","translateY","borderRadius","duration","useScaleDepth","groupId","sheetId","$","_compilerRuntime","c","prevDepthRef","useRef","t0","state","stackOrder","sheetsById","startIndex","indexOf","current","depth","i","length","id","sheet","scaleBackground","status","scaleDepthSelector","useBottomSheetStore","useScaleAnimatedStyle","t1","undefined","scaleConfig","useBottomSheetManagerContext","scaleDepth","t2","t3","t4","t5","progress","useDerivedValue","withTiming","useAnimatedStyle","p","value","transform","overflow","currentScale","Math","pow","currentTranslateY","currentBorderRadius","min"],"sourceRoot":"../../src","sources":["useScaleAnimation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_bottomSheet","_BottomSheetManager","DEFAULT_ANIMATION","type","config","duration","DEFAULT_CONFIG","scale","translateY","borderRadius","animation","useScaleDepth","groupId","sheetId","$","_compilerRuntime","c","prevDepthRef","useRef","t0","state","stackOrder","sheetsById","startIndex","indexOf","current","depth","i","length","id","sheet","scaleBackground","status","scaleDepthSelector","useBottomSheetStore","useScaleAnimatedStyle","t1","undefined","scaleConfig","useBottomSheetManagerContext","scaleDepth","t2","t3","t4","t5","progress","useDerivedValue","withSpring","withTiming","useAnimatedStyle","p","value","transform","overflow","currentScale","Math","pow","currentTranslateY","currentBorderRadius","min"],"sourceRoot":"../../src","sources":["useScaleAnimation.ts"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ export { useBottomSheetManager } from './useBottomSheetManager';
7
7
  export { useBottomSheetControl, type UseBottomSheetControlReturn, } from './useBottomSheetControl';
8
8
  export { useBottomSheetContext, useBottomSheetState, type UseBottomSheetContextReturn, } from './useBottomSheetContext';
9
9
  export { useBottomSheetStatus, type UseBottomSheetStatusReturn, } from './useBottomSheetStatus';
10
- export type { ScaleConfig } from './useScaleAnimation';
10
+ export type { ScaleConfig, ScaleAnimationConfig } from './useScaleAnimation';
11
11
  export type { BottomSheetStatus, OpenMode, BottomSheetState, } from './bottomSheet.store';
12
12
  export type { BottomSheetPortalRegistry, BottomSheetPortalId, BottomSheetPortalParams, } from './portal.types';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,11 @@
1
+ import { type WithTimingConfig, type WithSpringConfig } from 'react-native-reanimated';
2
+ export type ScaleAnimationConfig = {
3
+ type: 'timing';
4
+ config?: WithTimingConfig;
5
+ } | {
6
+ type: 'spring';
7
+ config?: WithSpringConfig;
8
+ };
1
9
  export interface ScaleConfig {
2
10
  /** Scale factor when sheet is open (default: 0.92) */
3
11
  scale?: number;
@@ -5,8 +13,8 @@ export interface ScaleConfig {
5
13
  translateY?: number;
6
14
  /** Border radius when sheet is open (default: 12) */
7
15
  borderRadius?: number;
8
- /** Animation duration in ms (default: 300) */
9
- duration?: number;
16
+ /** Animation config - timing or spring (default: timing with 300ms duration) */
17
+ animation?: ScaleAnimationConfig;
10
18
  }
11
19
  /**
12
20
  * Returns the number of sheets with scaleBackground above a given element.
@@ -1 +1 @@
1
- {"version":3,"file":"useScaleAnimation.d.ts","sourceRoot":"","sources":["../../../src/useScaleAnimation.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAkCvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;EAoCjE"}
1
+ {"version":3,"file":"useScaleAnimation.d.ts","sourceRoot":"","sources":["../../../src/useScaleAnimation.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAcD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAkCvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;EAuCjE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bottom-sheet-stack",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "Bottom Sheet Stack Manager",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "lib/commonjs/index.js",
package/src/index.tsx CHANGED
@@ -22,7 +22,7 @@ export {
22
22
  } from './useBottomSheetStatus';
23
23
 
24
24
  // Types
25
- export type { ScaleConfig } from './useScaleAnimation';
25
+ export type { ScaleConfig, ScaleAnimationConfig } from './useScaleAnimation';
26
26
  export type {
27
27
  BottomSheetStatus,
28
28
  OpenMode,
@@ -3,6 +3,9 @@ import {
3
3
  useAnimatedStyle,
4
4
  useDerivedValue,
5
5
  withTiming,
6
+ withSpring,
7
+ type WithTimingConfig,
8
+ type WithSpringConfig,
6
9
  } from 'react-native-reanimated';
7
10
  import {
8
11
  useBottomSheetStore,
@@ -10,6 +13,10 @@ import {
10
13
  } from './bottomSheet.store';
11
14
  import { useBottomSheetManagerContext } from './BottomSheetManager.provider';
12
15
 
16
+ export type ScaleAnimationConfig =
17
+ | { type: 'timing'; config?: WithTimingConfig }
18
+ | { type: 'spring'; config?: WithSpringConfig };
19
+
13
20
  export interface ScaleConfig {
14
21
  /** Scale factor when sheet is open (default: 0.92) */
15
22
  scale?: number;
@@ -17,16 +24,21 @@ export interface ScaleConfig {
17
24
  translateY?: number;
18
25
  /** Border radius when sheet is open (default: 12) */
19
26
  borderRadius?: number;
20
- /** Animation duration in ms (default: 300) */
21
- duration?: number;
27
+ /** Animation config - timing or spring (default: timing with 300ms duration) */
28
+ animation?: ScaleAnimationConfig;
22
29
  }
23
30
 
24
- const DEFAULT_CONFIG: Required<ScaleConfig> = {
31
+ const DEFAULT_ANIMATION: ScaleAnimationConfig = {
32
+ type: 'timing',
33
+ config: { duration: 300 },
34
+ };
35
+
36
+ const DEFAULT_CONFIG = {
25
37
  scale: 0.92,
26
38
  translateY: 10,
27
39
  borderRadius: 12,
28
- duration: 300,
29
- };
40
+ animation: DEFAULT_ANIMATION,
41
+ } satisfies Required<ScaleConfig>;
30
42
 
31
43
  /**
32
44
  * Returns the number of sheets with scaleBackground above a given element.
@@ -82,11 +94,14 @@ export function useScaleAnimatedStyle({ id }: { id?: string } = {}) {
82
94
  scale = DEFAULT_CONFIG.scale,
83
95
  translateY = DEFAULT_CONFIG.translateY,
84
96
  borderRadius = DEFAULT_CONFIG.borderRadius,
85
- duration = DEFAULT_CONFIG.duration,
97
+ animation = DEFAULT_CONFIG.animation,
86
98
  } = scaleConfig ?? {};
87
99
 
88
100
  const progress = useDerivedValue(() => {
89
- return withTiming(scaleDepth, { duration });
101
+ if (animation.type === 'spring') {
102
+ return withSpring(scaleDepth, animation.config);
103
+ }
104
+ return withTiming(scaleDepth, animation.config);
90
105
  });
91
106
 
92
107
  return useAnimatedStyle(() => {