react-native-bottom-sheet-stack 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/BottomSheetManaged.js +11 -11
- package/lib/commonjs/BottomSheetManaged.js.map +1 -1
- package/lib/commonjs/bottomSheetCoordinator.js.map +1 -1
- package/lib/commonjs/useBottomSheetManager.js +11 -10
- package/lib/commonjs/useBottomSheetManager.js.map +1 -1
- package/lib/commonjs/useBottomSheetState.js +5 -3
- package/lib/commonjs/useBottomSheetState.js.map +1 -1
- package/lib/typescript/src/BottomSheetManaged.d.ts.map +1 -1
- package/lib/typescript/src/useBottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/src/useBottomSheetState.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/BottomSheetManaged.tsx +39 -33
- package/src/BottomSheetManager.provider.tsx +2 -2
- package/src/bottomSheetCoordinator.ts +3 -3
- package/src/useBottomSheetManager.tsx +55 -44
- package/src/useBottomSheetState.ts +17 -7
|
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BottomSheetManaged = void 0;
|
|
7
7
|
var _bottomSheet = _interopRequireWildcard(require("@gorhom/bottom-sheet"));
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _bottomSheet2 = require("./bottomSheet.store");
|
|
10
10
|
var _useBottomSheetState = require("./useBottomSheetState");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
12
|
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); }
|
|
14
13
|
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; }
|
|
15
14
|
const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.default.forwardRef(({
|
|
@@ -26,7 +25,7 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
|
|
|
26
25
|
const {
|
|
27
26
|
bottomSheetState
|
|
28
27
|
} = (0, _useBottomSheetState.useBottomSheetState)();
|
|
29
|
-
const handleOnAnimate = (from, to) => {
|
|
28
|
+
const handleOnAnimate = (0, _react.useCallback)((from, to) => {
|
|
30
29
|
if (to === -1) {
|
|
31
30
|
if (bottomSheetState.status === 'open' || bottomSheetState.status === 'opening') {
|
|
32
31
|
startClosing(bottomSheetState.id);
|
|
@@ -42,18 +41,23 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
|
|
|
42
41
|
});
|
|
43
42
|
}
|
|
44
43
|
onAnimate?.(from, to);
|
|
45
|
-
};
|
|
44
|
+
}, [bottomSheetState.id, bottomSheetState.status, onAnimate, startClosing]);
|
|
46
45
|
const config = (0, _bottomSheet.useBottomSheetSpringConfigs)({
|
|
47
46
|
stiffness: 400,
|
|
48
47
|
damping: 80,
|
|
49
48
|
mass: 0.7
|
|
50
49
|
});
|
|
51
|
-
const handleClose = () => {
|
|
50
|
+
const handleClose = (0, _react.useCallback)(() => {
|
|
52
51
|
onClose?.();
|
|
53
52
|
if (bottomSheetState.status !== 'hidden') {
|
|
54
53
|
finishClosing(bottomSheetState.id);
|
|
55
54
|
}
|
|
56
|
-
};
|
|
55
|
+
}, [bottomSheetState.id, bottomSheetState.status, finishClosing, onClose]);
|
|
56
|
+
const renderBackdropComponent = (0, _react.useCallback)(backdropProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.BottomSheetBackdrop, {
|
|
57
|
+
...backdropProps,
|
|
58
|
+
disappearsOnIndex: -1,
|
|
59
|
+
appearsOnIndex: 0
|
|
60
|
+
}), []);
|
|
57
61
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.default, {
|
|
58
62
|
animationConfigs: config,
|
|
59
63
|
ref: ref,
|
|
@@ -61,11 +65,7 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
|
|
|
61
65
|
onClose: handleClose,
|
|
62
66
|
onAnimate: handleOnAnimate,
|
|
63
67
|
enablePanDownToClose: enablePanDownToClose,
|
|
64
|
-
backdropComponent:
|
|
65
|
-
...props,
|
|
66
|
-
disappearsOnIndex: -1,
|
|
67
|
-
appearsOnIndex: 0
|
|
68
|
-
}),
|
|
68
|
+
backdropComponent: renderBackdropComponent,
|
|
69
69
|
children: children
|
|
70
70
|
});
|
|
71
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_react","
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bottomSheet","require","_refsMap","initBottomSheetCoordinator","useBottomSheetStore","subscribe","s","stack","map","id","status","next","prev","forEach","prevStatus","find","p","ref","sheetRefs","current","expand","close"],"sourceRoot":"../../src","sources":["bottomSheetCoordinator.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,0BAA0BA,CAAA,EAAG;EAC3CC,gCAAmB,CAACC,SAAS,
|
|
1
|
+
{"version":3,"names":["_bottomSheet","require","_refsMap","initBottomSheetCoordinator","useBottomSheetStore","subscribe","s","stack","map","id","status","next","prev","forEach","prevStatus","find","p","ref","sheetRefs","current","expand","close"],"sourceRoot":"../../src","sources":["bottomSheetCoordinator.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,0BAA0BA,CAAA,EAAG;EAC3CC,gCAAmB,CAACC,SAAS,CAC1BC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC;IAAEC,EAAE;IAAEC;EAAO,CAAC,MAAM;IAAED,EAAE;IAAEC;EAAO,CAAC,CAAC,CAAC,EACxD,CAACC,IAAI,EAAEC,IAAI,KAAK;IACdD,IAAI,CAACE,OAAO,CAAC,CAAC;MAAEJ,EAAE;MAAEC;IAAO,CAAC,KAAK;MAC/B,MAAMI,UAAU,GAAGF,IAAI,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEC,MAAM;MAExD,IAAII,UAAU,KAAKJ,MAAM,EAAE;QACzB;MACF;MAEA,MAAMO,GAAG,GAAGC,kBAAS,CAACT,EAAE,CAAC,EAAEU,OAAO;MAClC,IAAI,CAACF,GAAG,EAAE;QACR;MACF;MAEA,QAAQP,MAAM;QACZ,KAAK,SAAS;UACZO,GAAG,CAACG,MAAM,CAAC,CAAC;UACZ;QACF,KAAK,QAAQ;UACXH,GAAG,CAACI,KAAK,CAAC,CAAC;UACX;QACF,KAAK,SAAS;UACZJ,GAAG,CAACI,KAAK,CAAC,CAAC;UACX;MACJ;IACF,CAAC,CAAC;EACJ,CACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useBottomSheetManager = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _bottomSheet = require("./bottomSheet.store");
|
|
9
9
|
var _BottomSheetManager = require("./BottomSheetManager.provider");
|
|
10
10
|
var _refsMap = require("./refsMap");
|
|
11
|
-
function
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
12
13
|
const useBottomSheetManager = () => {
|
|
13
14
|
const bottomSheetManagerContext = (0, _BottomSheetManager.useMaybeBottomSheetManagerContext)();
|
|
14
15
|
const {
|
|
@@ -26,7 +27,7 @@ const useBottomSheetManager = () => {
|
|
|
26
27
|
stack: store.stack,
|
|
27
28
|
startClosing: store.startClosing
|
|
28
29
|
}));
|
|
29
|
-
const openBottomSheet = (content, options = {}) => {
|
|
30
|
+
const openBottomSheet = (0, _react.useCallback)((content, options = {}) => {
|
|
30
31
|
const groupId = options.groupId || bottomSheetManagerContext?.groupId || 'default';
|
|
31
32
|
const id = Math.random().toString(36);
|
|
32
33
|
const ref = /*#__PURE__*/_react.default.createRef();
|
|
@@ -56,19 +57,19 @@ const useBottomSheetManager = () => {
|
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
return id;
|
|
59
|
-
};
|
|
60
|
-
const closeTop = () => {
|
|
60
|
+
}, [bottomSheetManagerContext?.groupId, pushBottomSheet, replaceBottomSheet, switchBottomSheet]);
|
|
61
|
+
const closeTop = (0, _react.useCallback)(() => {
|
|
61
62
|
const top = stack.at(-1);
|
|
62
63
|
if (top) {
|
|
63
64
|
startClosing(top.id);
|
|
64
65
|
}
|
|
65
|
-
};
|
|
66
|
-
const close = id => {
|
|
66
|
+
}, [stack, startClosing]);
|
|
67
|
+
const close = (0, _react.useCallback)(id => {
|
|
67
68
|
startClosing(id);
|
|
68
|
-
};
|
|
69
|
-
const clearAll = () => {
|
|
69
|
+
}, [startClosing]);
|
|
70
|
+
const clearAll = (0, _react.useCallback)(() => {
|
|
70
71
|
storeClearAll();
|
|
71
|
-
};
|
|
72
|
+
}, [storeClearAll]);
|
|
72
73
|
return {
|
|
73
74
|
clearAll,
|
|
74
75
|
closeTop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_bottomSheet","_BottomSheetManager","_refsMap","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBottomSheetManager","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","pushBottomSheet","replaceBottomSheet","switchBottomSheet","stack","startClosing","storeClearAll","useBottomSheetStore","store","clearAll","replace","push","switch","openBottomSheet","useCallback","content","options","groupId","id","Math","random","toString","ref","React","createRef","sheetRefs","contentWithRef","cloneElement","mode","closeTop","top","at","close","exports"],"sourceRoot":"../../src","sources":["useBottomSheetManager.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useBottomSheetState = useBottomSheetState;
|
|
7
|
+
var _react = require("react");
|
|
7
8
|
var _BottomSheet = require("./BottomSheet.context");
|
|
8
9
|
var _bottomSheet = require("./bottomSheet.store");
|
|
10
|
+
var _shallow = require("zustand/shallow");
|
|
9
11
|
function useBottomSheetState() {
|
|
10
12
|
const context = (0, _BottomSheet.useMaybeBottomSheetContext)();
|
|
11
13
|
const {
|
|
@@ -14,12 +16,12 @@ function useBottomSheetState() {
|
|
|
14
16
|
} = (0, _bottomSheet.useBottomSheetStore)(store => ({
|
|
15
17
|
bottomSheetsStack: store.stack,
|
|
16
18
|
startClosing: store.startClosing
|
|
17
|
-
}));
|
|
18
|
-
const bottomSheetState = bottomSheetsStack.find(bottomSheet => bottomSheet.id === context?.id);
|
|
19
|
+
}), _shallow.shallow);
|
|
20
|
+
const bottomSheetState = (0, _react.useMemo)(() => bottomSheetsStack.find(bottomSheet => bottomSheet.id === context?.id), [bottomSheetsStack, context?.id]);
|
|
19
21
|
if (!bottomSheetState) {
|
|
20
22
|
throw new Error('useBottomSheetState must be used within a BottomSheetProvider');
|
|
21
23
|
}
|
|
22
|
-
const close = () => startClosing(bottomSheetState.id);
|
|
24
|
+
const close = (0, _react.useCallback)(() => startClosing(bottomSheetState.id), [bottomSheetState.id, startClosing]);
|
|
23
25
|
return {
|
|
24
26
|
bottomSheetState,
|
|
25
27
|
close,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","require","_BottomSheet","_bottomSheet","_shallow","useBottomSheetState","context","useMaybeBottomSheetContext","bottomSheetsStack","startClosing","useBottomSheetStore","store","stack","shallow","bottomSheetState","useMemo","find","bottomSheet","id","Error","close","useCallback","closeBottomSheet"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAIA,IAAAG,QAAA,GAAAH,OAAA;AAEO,SAASI,mBAAmBA,CAAA,EAIjC;EACA,MAAMC,OAAO,GAAG,IAAAC,uCAA0B,EAAC,CAAC;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC;EAAa,CAAC,GAAG,IAAAC,gCAAmB,EAC5DC,KAAK,KAAM;IACVH,iBAAiB,EAAEG,KAAK,CAACC,KAAK;IAC9BH,YAAY,EAAEE,KAAK,CAACF;EACtB,CAAC,CAAC,EACFI,gBACF,CAAC;EAED,MAAMC,gBAAgB,GAAG,IAAAC,cAAO,EAC9B,MACEP,iBAAiB,CAACQ,IAAI,CAAEC,WAAW,IAAKA,WAAW,CAACC,EAAE,KAAKZ,OAAO,EAAEY,EAAE,CAAC,EACzE,CAACV,iBAAiB,EAAEF,OAAO,EAAEY,EAAE,CACjC,CAAC;EAED,IAAI,CAACJ,gBAAgB,EAAE;IACrB,MAAM,IAAIK,KAAK,CACb,+DACF,CAAC;EACH;EAEA,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EACvB,MAAMZ,YAAY,CAACK,gBAAgB,CAACI,EAAE,CAAC,EACvC,CAACJ,gBAAgB,CAACI,EAAE,EAAET,YAAY,CACpC,CAAC;EAED,OAAO;IACLK,gBAAgB;IAChBM,KAAK;IACLE,gBAAgB,EAAEF;EACpB,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBottomSheetManager.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetManager.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useBottomSheetManager.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKzE,eAAO,MAAM,qBAAqB;;;gBA6EzB,MAAM;+BAxDA,KAAK,CAAC,YAAY,YAClB;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB;;;;;;;;;;;CAqEN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAG7B,wBAAgB,mBAAmB,IAAI;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAgCA"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import BottomSheetOriginal, {
|
|
2
2
|
BottomSheetBackdrop,
|
|
3
3
|
useBottomSheetSpringConfigs,
|
|
4
|
+
type BottomSheetBackdropProps,
|
|
4
5
|
type BottomSheetProps,
|
|
5
6
|
} from '@gorhom/bottom-sheet';
|
|
6
7
|
import { type BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
|
|
7
|
-
import React from 'react';
|
|
8
|
+
import React, { useCallback } from 'react';
|
|
8
9
|
|
|
9
10
|
import {
|
|
10
11
|
useBottomSheetStore,
|
|
@@ -27,30 +28,30 @@ export const BottomSheetManaged = React.forwardRef<
|
|
|
27
28
|
const { startClosing, finishClosing } = useBottomSheetStore.getState();
|
|
28
29
|
const { bottomSheetState } = useBottomSheetState();
|
|
29
30
|
|
|
30
|
-
const handleOnAnimate: BottomSheetProps['onAnimate'] = (
|
|
31
|
-
from: number,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
startClosing(bottomSheetState.id);
|
|
31
|
+
const handleOnAnimate: BottomSheetProps['onAnimate'] = useCallback(
|
|
32
|
+
(from: number, to: number) => {
|
|
33
|
+
if (to === -1) {
|
|
34
|
+
if (
|
|
35
|
+
bottomSheetState.status === 'open' ||
|
|
36
|
+
bottomSheetState.status === 'opening'
|
|
37
|
+
) {
|
|
38
|
+
startClosing(bottomSheetState.id);
|
|
39
|
+
}
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
41
|
+
if (from === -1 && to >= 0) {
|
|
42
|
+
const currentState = useBottomSheetStore.getState();
|
|
43
|
+
useBottomSheetStore.setState({
|
|
44
|
+
stack: currentState.stack.map((s) =>
|
|
45
|
+
s.id === bottomSheetState.id
|
|
46
|
+
? { ...s, status: 'open' as BottomSheetStatus }
|
|
47
|
+
: s
|
|
48
|
+
),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
onAnimate?.(from, to);
|
|
52
|
+
},
|
|
53
|
+
[bottomSheetState.id, bottomSheetState.status, onAnimate, startClosing]
|
|
54
|
+
);
|
|
54
55
|
|
|
55
56
|
const config = useBottomSheetSpringConfigs({
|
|
56
57
|
stiffness: 400,
|
|
@@ -58,13 +59,24 @@ export const BottomSheetManaged = React.forwardRef<
|
|
|
58
59
|
mass: 0.7,
|
|
59
60
|
});
|
|
60
61
|
|
|
61
|
-
const handleClose = () => {
|
|
62
|
+
const handleClose = useCallback(() => {
|
|
62
63
|
onClose?.();
|
|
63
64
|
|
|
64
65
|
if (bottomSheetState.status !== 'hidden') {
|
|
65
66
|
finishClosing(bottomSheetState.id);
|
|
66
67
|
}
|
|
67
|
-
};
|
|
68
|
+
}, [bottomSheetState.id, bottomSheetState.status, finishClosing, onClose]);
|
|
69
|
+
|
|
70
|
+
const renderBackdropComponent = useCallback(
|
|
71
|
+
(backdropProps: BottomSheetBackdropProps) => (
|
|
72
|
+
<BottomSheetBackdrop
|
|
73
|
+
{...backdropProps}
|
|
74
|
+
disappearsOnIndex={-1}
|
|
75
|
+
appearsOnIndex={0}
|
|
76
|
+
/>
|
|
77
|
+
),
|
|
78
|
+
[]
|
|
79
|
+
);
|
|
68
80
|
|
|
69
81
|
return (
|
|
70
82
|
<BottomSheetOriginal
|
|
@@ -74,13 +86,7 @@ export const BottomSheetManaged = React.forwardRef<
|
|
|
74
86
|
onClose={handleClose}
|
|
75
87
|
onAnimate={handleOnAnimate}
|
|
76
88
|
enablePanDownToClose={enablePanDownToClose}
|
|
77
|
-
backdropComponent={
|
|
78
|
-
<BottomSheetBackdrop
|
|
79
|
-
{...props}
|
|
80
|
-
disappearsOnIndex={-1}
|
|
81
|
-
appearsOnIndex={0}
|
|
82
|
-
/>
|
|
83
|
-
)}
|
|
89
|
+
backdropComponent={renderBackdropComponent}
|
|
84
90
|
>
|
|
85
91
|
{children}
|
|
86
92
|
</BottomSheetOriginal>
|
|
@@ -15,7 +15,7 @@ function BottomSheetManagerProviderComp({ id, children }: Props) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export const BottomSheetManagerProvider = React.memo(
|
|
18
|
-
BottomSheetManagerProviderComp
|
|
18
|
+
BottomSheetManagerProviderComp
|
|
19
19
|
);
|
|
20
20
|
|
|
21
21
|
export const useBottomSheetManagerContext = () => {
|
|
@@ -23,7 +23,7 @@ export const useBottomSheetManagerContext = () => {
|
|
|
23
23
|
|
|
24
24
|
if (!context) {
|
|
25
25
|
throw new Error(
|
|
26
|
-
'useBottomSheetManagerContext must be used within a BottomSheetManagerProvider'
|
|
26
|
+
'useBottomSheetManagerContext must be used within a BottomSheetManagerProvider'
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
29
|
return context;
|
|
@@ -3,10 +3,10 @@ import { sheetRefs } from './refsMap';
|
|
|
3
3
|
|
|
4
4
|
export function initBottomSheetCoordinator() {
|
|
5
5
|
useBottomSheetStore.subscribe(
|
|
6
|
-
s => s.stack.map(({ id, status }) => ({ id, status })),
|
|
6
|
+
(s) => s.stack.map(({ id, status }) => ({ id, status })),
|
|
7
7
|
(next, prev) => {
|
|
8
8
|
next.forEach(({ id, status }) => {
|
|
9
|
-
const prevStatus = prev.find(p => p.id === id)?.status;
|
|
9
|
+
const prevStatus = prev.find((p) => p.id === id)?.status;
|
|
10
10
|
|
|
11
11
|
if (prevStatus === status) {
|
|
12
12
|
return;
|
|
@@ -29,6 +29,6 @@ export function initBottomSheetCoordinator() {
|
|
|
29
29
|
break;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
}
|
|
32
|
+
}
|
|
33
33
|
);
|
|
34
34
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
2
|
|
|
3
3
|
import { useBottomSheetStore, type OpenMode } from './bottomSheet.store';
|
|
4
4
|
import { useMaybeBottomSheetManagerContext } from './BottomSheetManager.provider';
|
|
@@ -24,62 +24,73 @@ export const useBottomSheetManager = () => {
|
|
|
24
24
|
startClosing: store.startClosing,
|
|
25
25
|
}));
|
|
26
26
|
|
|
27
|
-
const openBottomSheet = (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
const openBottomSheet = useCallback(
|
|
28
|
+
(
|
|
29
|
+
content: React.ReactElement,
|
|
30
|
+
options: {
|
|
31
|
+
id?: string;
|
|
32
|
+
groupId?: string;
|
|
33
|
+
mode?: OpenMode;
|
|
34
|
+
} = {}
|
|
35
|
+
) => {
|
|
36
|
+
const groupId =
|
|
37
|
+
options.groupId || bottomSheetManagerContext?.groupId || 'default';
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
const id = Math.random().toString(36);
|
|
40
|
+
const ref = React.createRef<BottomSheetMethods>();
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
sheetRefs[id] = ref;
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
const contentWithRef = React.cloneElement(content, { ref });
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
47
|
+
if (options.mode === 'replace') {
|
|
48
|
+
replaceBottomSheet({
|
|
49
|
+
id,
|
|
50
|
+
groupId,
|
|
51
|
+
content: contentWithRef,
|
|
52
|
+
});
|
|
53
|
+
} else if (options.mode === 'switch') {
|
|
54
|
+
switchBottomSheet({
|
|
55
|
+
id,
|
|
56
|
+
groupId,
|
|
57
|
+
content: contentWithRef,
|
|
58
|
+
});
|
|
59
|
+
} else {
|
|
60
|
+
pushBottomSheet({
|
|
61
|
+
id,
|
|
62
|
+
groupId,
|
|
63
|
+
content: contentWithRef,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
return id;
|
|
68
|
+
},
|
|
69
|
+
[
|
|
70
|
+
bottomSheetManagerContext?.groupId,
|
|
71
|
+
pushBottomSheet,
|
|
72
|
+
replaceBottomSheet,
|
|
73
|
+
switchBottomSheet,
|
|
74
|
+
]
|
|
75
|
+
);
|
|
68
76
|
|
|
69
|
-
const closeTop = () => {
|
|
77
|
+
const closeTop = useCallback(() => {
|
|
70
78
|
const top = stack.at(-1);
|
|
71
79
|
if (top) {
|
|
72
80
|
startClosing(top.id);
|
|
73
81
|
}
|
|
74
|
-
};
|
|
82
|
+
}, [stack, startClosing]);
|
|
75
83
|
|
|
76
|
-
const close = (
|
|
77
|
-
|
|
78
|
-
|
|
84
|
+
const close = useCallback(
|
|
85
|
+
(id: string) => {
|
|
86
|
+
startClosing(id);
|
|
87
|
+
},
|
|
88
|
+
[startClosing]
|
|
89
|
+
);
|
|
79
90
|
|
|
80
|
-
const clearAll = () => {
|
|
91
|
+
const clearAll = useCallback(() => {
|
|
81
92
|
storeClearAll();
|
|
82
|
-
};
|
|
93
|
+
}, [storeClearAll]);
|
|
83
94
|
|
|
84
95
|
return {
|
|
85
96
|
clearAll,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
1
2
|
import { useMaybeBottomSheetContext } from './BottomSheet.context';
|
|
2
3
|
import {
|
|
3
4
|
useBottomSheetStore,
|
|
4
5
|
type BottomSheetState,
|
|
5
6
|
} from './bottomSheet.store';
|
|
7
|
+
import { shallow } from 'zustand/shallow';
|
|
6
8
|
|
|
7
9
|
export function useBottomSheetState(): {
|
|
8
10
|
bottomSheetState: BottomSheetState;
|
|
@@ -10,13 +12,18 @@ export function useBottomSheetState(): {
|
|
|
10
12
|
closeBottomSheet: () => void;
|
|
11
13
|
} {
|
|
12
14
|
const context = useMaybeBottomSheetContext();
|
|
13
|
-
const { bottomSheetsStack, startClosing } = useBottomSheetStore(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const { bottomSheetsStack, startClosing } = useBottomSheetStore(
|
|
16
|
+
(store) => ({
|
|
17
|
+
bottomSheetsStack: store.stack,
|
|
18
|
+
startClosing: store.startClosing,
|
|
19
|
+
}),
|
|
20
|
+
shallow
|
|
21
|
+
);
|
|
17
22
|
|
|
18
|
-
const bottomSheetState =
|
|
19
|
-
(
|
|
23
|
+
const bottomSheetState = useMemo(
|
|
24
|
+
() =>
|
|
25
|
+
bottomSheetsStack.find((bottomSheet) => bottomSheet.id === context?.id),
|
|
26
|
+
[bottomSheetsStack, context?.id]
|
|
20
27
|
);
|
|
21
28
|
|
|
22
29
|
if (!bottomSheetState) {
|
|
@@ -25,7 +32,10 @@ export function useBottomSheetState(): {
|
|
|
25
32
|
);
|
|
26
33
|
}
|
|
27
34
|
|
|
28
|
-
const close = (
|
|
35
|
+
const close = useCallback(
|
|
36
|
+
() => startClosing(bottomSheetState.id),
|
|
37
|
+
[bottomSheetState.id, startClosing]
|
|
38
|
+
);
|
|
29
39
|
|
|
30
40
|
return {
|
|
31
41
|
bottomSheetState,
|