react-native-bottom-sheet-stack 0.1.7 → 0.1.9

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.
@@ -14,7 +14,9 @@ var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  (0, _bottomSheetCoordinator.initBottomSheetCoordinator)();
17
- function BottomSheetHostComp() {
17
+ function BottomSheetHostComp({
18
+ Container = _react.Fragment
19
+ }) {
18
20
  const {
19
21
  bottomSheetsStack,
20
22
  clearAll
@@ -43,14 +45,16 @@ function BottomSheetHostComp() {
43
45
  value: {
44
46
  id
45
47
  },
46
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
47
- style: [_reactNative.StyleSheet.absoluteFillObject, styles.container, {
48
- width,
49
- height
50
- }],
51
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MemoizedContent, {
52
- id: id,
53
- children: content
48
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
50
+ style: [_reactNative.StyleSheet.absoluteFillObject, styles.container, {
51
+ width,
52
+ height
53
+ }],
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MemoizedContent, {
55
+ id: id,
56
+ children: content
57
+ })
54
58
  })
55
59
  })
56
60
  }, id))
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_BottomSheet","_bottomSheet","_bottomSheetCoordinator","_BottomSheetManager","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","initBottomSheetCoordinator","BottomSheetHostComp","bottomSheetsStack","clearAll","useBottomSheetStore","store","stack","width","height","useWindowDimensions","groupId","useBottomSheetManagerContext","filteredQueue","useMemo","filter","bottomSheet","useEffect","jsx","Fragment","children","map","id","content","BottomSheetContext","Provider","value","View","style","StyleSheet","absoluteFillObject","styles","container","MemoizedContent","React","memo","prevProps","nextProps","BottomSheetHost","exports","create","zIndex","pointerEvents"],"sourceRoot":"../../src","sources":["BottomSheetHost.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_BottomSheet","_bottomSheet","_bottomSheetCoordinator","_BottomSheetManager","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","initBottomSheetCoordinator","BottomSheetHostComp","Container","Fragment","bottomSheetsStack","clearAll","useBottomSheetStore","store","stack","width","height","useWindowDimensions","groupId","useBottomSheetManagerContext","filteredQueue","useMemo","filter","bottomSheet","useEffect","jsx","children","map","id","content","BottomSheetContext","Provider","value","View","style","StyleSheet","absoluteFillObject","styles","container","MemoizedContent","React","memo","prevProps","nextProps","BottomSheetHost","exports","create","zIndex","pointerEvents"],"sourceRoot":"../../src","sources":["BottomSheetHost.tsx"],"mappings":"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","ignoreList":[]}
@@ -25,13 +25,13 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
25
25
  const {
26
26
  bottomSheetState
27
27
  } = (0, _useBottomSheetState.useBottomSheetState)();
28
- const handleOnAnimate = (0, _react.useCallback)((from, to) => {
29
- if (to === -1) {
28
+ const handleOnAnimate = (0, _react.useCallback)((fromIndex, toIndex, fromPosition, toPosition) => {
29
+ if (toIndex === -1) {
30
30
  if (bottomSheetState.status === 'open' || bottomSheetState.status === 'opening') {
31
31
  startClosing(bottomSheetState.id);
32
32
  }
33
33
  }
34
- if (from === -1 && to >= 0) {
34
+ if (fromIndex === -1 && toIndex >= 0) {
35
35
  const currentState = _bottomSheet2.useBottomSheetStore.getState();
36
36
  _bottomSheet2.useBottomSheetStore.setState({
37
37
  stack: currentState.stack.map(s => s.id === bottomSheetState.id ? {
@@ -40,7 +40,7 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
40
40
  } : s)
41
41
  });
42
42
  }
43
- onAnimate?.(from, to);
43
+ onAnimate?.(fromIndex, toIndex, fromPosition, toPosition);
44
44
  }, [bottomSheetState.id, bottomSheetState.status, onAnimate, startClosing]);
45
45
  const config = (0, _bottomSheet.useBottomSheetSpringConfigs)({
46
46
  stiffness: 400,
@@ -1 +1 @@
1
- {"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_react","_bottomSheet2","_useBottomSheetState","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BottomSheetManaged","exports","React","forwardRef","children","onAnimate","onClose","enablePanDownToClose","props","ref","startClosing","finishClosing","useBottomSheetStore","getState","bottomSheetState","useBottomSheetState","handleOnAnimate","useCallback","from","to","status","id","currentState","setState","stack","map","s","config","useBottomSheetSpringConfigs","stiffness","damping","mass","handleClose","renderBackdropComponent","backdropProps","jsx","BottomSheetBackdrop","disappearsOnIndex","appearsOnIndex","animationConfigs","backdropComponent"],"sourceRoot":"../../src","sources":["BottomSheetManaged.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_react","_bottomSheet2","_useBottomSheetState","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BottomSheetManaged","exports","React","forwardRef","children","onAnimate","onClose","enablePanDownToClose","props","ref","startClosing","finishClosing","useBottomSheetStore","getState","bottomSheetState","useBottomSheetState","handleOnAnimate","useCallback","fromIndex","toIndex","fromPosition","toPosition","status","id","currentState","setState","stack","map","s","config","useBottomSheetSpringConfigs","stiffness","damping","mass","handleClose","renderBackdropComponent","backdropProps","jsx","BottomSheetBackdrop","disappearsOnIndex","appearsOnIndex","animationConfigs","backdropComponent"],"sourceRoot":"../../src","sources":["BottomSheetManaged.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,13 +8,25 @@ var _middleware = require("zustand/middleware");
8
8
  var _traditional = require("zustand/traditional");
9
9
  const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.createWithEqualityFn)((0, _middleware.subscribeWithSelector)(set => ({
10
10
  stack: [],
11
- push: sheet => set(state => ({
12
- stack: [...state.stack, {
13
- ...sheet,
14
- status: 'opening'
15
- }]
16
- })),
11
+ push: sheet => set(state => {
12
+ if (state.stack.some(s => s.id === sheet.id)) {
13
+ return {
14
+ stack: state.stack
15
+ };
16
+ }
17
+ return {
18
+ stack: [...state.stack, {
19
+ ...sheet,
20
+ status: 'opening'
21
+ }]
22
+ };
23
+ }),
17
24
  switch: sheet => set(state => {
25
+ if (state.stack.some(s => s.id === sheet.id)) {
26
+ return {
27
+ stack: state.stack
28
+ };
29
+ }
18
30
  const stack = [...state.stack];
19
31
  if (stack.length) {
20
32
  const topIndex = stack.length - 1;
@@ -34,6 +46,11 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
34
46
  };
35
47
  }),
36
48
  replace: sheet => set(state => {
49
+ if (state.stack.some(s => s.id === sheet.id)) {
50
+ return {
51
+ stack: state.stack
52
+ };
53
+ }
37
54
  const stack = [...state.stack];
38
55
  const prevTop = stack.pop();
39
56
  if (prevTop) {
@@ -1 +1 @@
1
- {"version":3,"names":["_middleware","require","_traditional","useBottomSheetStore","exports","create","subscribeWithSelector","set","stack","push","sheet","state","status","switch","length","topIndex","replace","prevTop","pop","startClosing","id","index","findIndex","s","closing","below","finishClosing","filter","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_middleware","require","_traditional","useBottomSheetStore","exports","create","subscribeWithSelector","set","stack","push","sheet","state","some","s","id","status","switch","length","topIndex","replace","prevTop","pop","startClosing","index","findIndex","closing","below","finishClosing","filter","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,8 @@
1
1
  import React from 'react';
2
- declare function BottomSheetHostComp(): import("react/jsx-runtime").JSX.Element;
2
+ interface BottomSheetHostProps {
3
+ Container?: React.ComponentType<any>;
4
+ }
5
+ declare function BottomSheetHostComp({ Container }: BottomSheetHostProps): import("react/jsx-runtime").JSX.Element;
3
6
  export declare const BottomSheetHost: React.MemoExoticComponent<typeof BottomSheetHostComp>;
4
7
  export {};
5
8
  //# sourceMappingURL=BottomSheetHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetHost.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAU1E,iBAAS,mBAAmB,4CA2C3B;AASD,eAAO,MAAM,eAAe,uDAAkC,CAAC"}
1
+ {"version":3,"file":"BottomSheetHost.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AAUf,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,iBAAS,mBAAmB,CAAC,EAAE,SAAoB,EAAE,EAAE,oBAAoB,2CA6C1E;AASD,eAAO,MAAM,eAAe,uDAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAI1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAsB,MAAM,OAAO,CAAC;AAQ3C,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D,UAAU,uBAAwB,SAAQ,gBAAgB;CAAG;AAE7D,eAAO,MAAM,kBAAkB,gGA2E9B,CAAC"}
1
+ {"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAI1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAsB,MAAM,OAAO,CAAC;AAQ3C,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D,UAAU,uBAAwB,SAAQ,gBAAgB;CAAG;AAE7D,eAAO,MAAM,kBAAkB,gGAgF9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bottomSheet.store.d.ts","sourceRoot":"","sources":["../../../src/bottomSheet.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC1E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAErD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,UAAU,uBAAuB;IAC/B,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;EA6E/B,CAAC"}
1
+ {"version":3,"file":"bottomSheet.store.d.ts","sourceRoot":"","sources":["../../../src/bottomSheet.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC1E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAErD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,UAAU,uBAAuB;IAC/B,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;EA0F/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bottom-sheet-stack",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Bottom Sheet Stack Manager",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "lib/commonjs/index.js",
@@ -43,7 +43,7 @@
43
43
  "@eslint/eslintrc": "^3.3.0",
44
44
  "@eslint/js": "^9.22.0",
45
45
  "@evilmartians/lefthook": "^1.5.0",
46
- "@gorhom/bottom-sheet": "^5.1.2",
46
+ "@gorhom/bottom-sheet": "^5.1.8",
47
47
  "@react-native/eslint-config": "^0.78.0",
48
48
  "@release-it/conventional-changelog": "^9.0.2",
49
49
  "@types/jest": "^29.5.5",
@@ -1,4 +1,9 @@
1
- import React, { useEffect, useMemo, type PropsWithChildren } from 'react';
1
+ import React, {
2
+ Fragment,
3
+ useEffect,
4
+ useMemo,
5
+ type PropsWithChildren,
6
+ } from 'react';
2
7
  import { StyleSheet, useWindowDimensions, View } from 'react-native';
3
8
 
4
9
  import { BottomSheetContext } from './BottomSheet.context';
@@ -8,7 +13,11 @@ import { useBottomSheetManagerContext } from './BottomSheetManager.provider';
8
13
 
9
14
  initBottomSheetCoordinator();
10
15
 
11
- function BottomSheetHostComp() {
16
+ interface BottomSheetHostProps {
17
+ Container?: React.ComponentType<any>;
18
+ }
19
+
20
+ function BottomSheetHostComp({ Container = Fragment }: BottomSheetHostProps) {
12
21
  const { bottomSheetsStack, clearAll } = useBottomSheetStore((store) => ({
13
22
  bottomSheetsStack: store.stack,
14
23
  clearAll: store.clearAll,
@@ -35,18 +44,20 @@ function BottomSheetHostComp() {
35
44
  <>
36
45
  {filteredQueue.map(({ id, content }) => (
37
46
  <BottomSheetContext.Provider key={id} value={{ id }}>
38
- <View
39
- style={[
40
- StyleSheet.absoluteFillObject,
41
- styles.container,
42
- {
43
- width,
44
- height,
45
- },
46
- ]}
47
- >
48
- <MemoizedContent id={id}>{content}</MemoizedContent>
49
- </View>
47
+ <Container>
48
+ <View
49
+ style={[
50
+ StyleSheet.absoluteFillObject,
51
+ styles.container,
52
+ {
53
+ width,
54
+ height,
55
+ },
56
+ ]}
57
+ >
58
+ <MemoizedContent id={id}>{content}</MemoizedContent>
59
+ </View>
60
+ </Container>
50
61
  </BottomSheetContext.Provider>
51
62
  ))}
52
63
  </>
@@ -29,8 +29,13 @@ export const BottomSheetManaged = React.forwardRef<
29
29
  const { bottomSheetState } = useBottomSheetState();
30
30
 
31
31
  const handleOnAnimate: BottomSheetProps['onAnimate'] = useCallback(
32
- (from: number, to: number) => {
33
- if (to === -1) {
32
+ (
33
+ fromIndex: number,
34
+ toIndex: number,
35
+ fromPosition: number,
36
+ toPosition: number
37
+ ) => {
38
+ if (toIndex === -1) {
34
39
  if (
35
40
  bottomSheetState.status === 'open' ||
36
41
  bottomSheetState.status === 'opening'
@@ -38,7 +43,7 @@ export const BottomSheetManaged = React.forwardRef<
38
43
  startClosing(bottomSheetState.id);
39
44
  }
40
45
  }
41
- if (from === -1 && to >= 0) {
46
+ if (fromIndex === -1 && toIndex >= 0) {
42
47
  const currentState = useBottomSheetStore.getState();
43
48
  useBottomSheetStore.setState({
44
49
  stack: currentState.stack.map((s) =>
@@ -48,7 +53,7 @@ export const BottomSheetManaged = React.forwardRef<
48
53
  ),
49
54
  });
50
55
  }
51
- onAnimate?.(from, to);
56
+ onAnimate?.(fromIndex, toIndex, fromPosition, toPosition);
52
57
  },
53
58
  [bottomSheetState.id, bottomSheetState.status, onAnimate, startClosing]
54
59
  );
@@ -33,11 +33,20 @@ export const useBottomSheetStore = create(
33
33
  stack: [],
34
34
 
35
35
  push: (sheet) =>
36
- set((state) => ({
37
- stack: [...state.stack, { ...sheet, status: 'opening' }],
38
- })),
36
+ set((state) => {
37
+ if (state.stack.some((s) => s.id === sheet.id)) {
38
+ return { stack: state.stack };
39
+ }
40
+ return {
41
+ stack: [...state.stack, { ...sheet, status: 'opening' }],
42
+ };
43
+ }),
39
44
  switch: (sheet) =>
40
45
  set((state) => {
46
+ if (state.stack.some((s) => s.id === sheet.id)) {
47
+ return { stack: state.stack };
48
+ }
49
+
41
50
  const stack = [...state.stack];
42
51
 
43
52
  if (stack.length) {
@@ -54,6 +63,10 @@ export const useBottomSheetStore = create(
54
63
 
55
64
  replace: (sheet) =>
56
65
  set((state) => {
66
+ if (state.stack.some((s) => s.id === sheet.id)) {
67
+ return { stack: state.stack };
68
+ }
69
+
57
70
  const stack = [...state.stack];
58
71
  const prevTop = stack.pop();
59
72