react-native-bottom-sheet-stack 1.0.3 → 1.3.0
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/README.md +263 -49
- package/lib/commonjs/BottomSheetHost.js +146 -56
- package/lib/commonjs/BottomSheetHost.js.map +1 -1
- package/lib/commonjs/BottomSheetManager.provider.js +7 -4
- package/lib/commonjs/BottomSheetManager.provider.js.map +1 -1
- package/lib/commonjs/BottomSheetPortal.js +46 -0
- package/lib/commonjs/BottomSheetPortal.js.map +1 -0
- package/lib/commonjs/bottomSheet.store.js +19 -0
- package/lib/commonjs/bottomSheet.store.js.map +1 -1
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/portal.types.js +2 -0
- package/lib/commonjs/portal.types.js.map +1 -0
- package/lib/commonjs/useBottomSheetControl.js +81 -0
- package/lib/commonjs/useBottomSheetControl.js.map +1 -0
- package/lib/typescript/example/src/App.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheetHost.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheetManager.provider.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheetPortal.d.ts +9 -0
- package/lib/typescript/src/BottomSheetPortal.d.ts.map +1 -0
- package/lib/typescript/src/bottomSheet.store.d.ts +5 -0
- package/lib/typescript/src/bottomSheet.store.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/portal.types.d.ts +24 -0
- package/lib/typescript/src/portal.types.d.ts.map +1 -0
- package/lib/typescript/src/useBottomSheetControl.d.ts +10 -0
- package/lib/typescript/src/useBottomSheetControl.d.ts.map +1 -0
- package/lib/typescript/src/useBottomSheetManager.d.ts +2 -0
- package/lib/typescript/src/useBottomSheetManager.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/BottomSheetHost.tsx +32 -11
- package/src/BottomSheetManager.provider.tsx +6 -3
- package/src/BottomSheetPortal.tsx +39 -0
- package/src/bottomSheet.store.ts +27 -0
- package/src/index.tsx +6 -0
- package/src/portal.types.ts +25 -0
- package/src/useBottomSheetControl.ts +52 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_reactNativeSafeAreaContext","_shallow","_animatedRegistry","_BottomSheetBackdrop","_BottomSheet","_bottomSheet","_BottomSheetManager","_bottomSheetCoordinator","_useScaleAnimation","_jsxRuntime","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_reactNativeSafeAreaContext","_reactNativeTeleport","_shallow","_animatedRegistry","_BottomSheetBackdrop","_BottomSheet","_bottomSheet","_BottomSheetManager","_bottomSheetCoordinator","_useScaleAnimation","_jsxRuntime","e","__esModule","default","PortalHostWrapper","t0","$","_compilerRuntime","c","id","width","height","t1","flex","t2","t3","t4","jsx","PortalHost","name","style","t5","View","children","BottomSheetHostComp","queueIds","useQueueIds","clearAll","useBottomSheetStore","_temp","groupId","scaleConfig","useBottomSheetManagerContext","unsubscribe","initBottomSheetCoordinator","useEffect","index","QueueItem","map","Fragment","store","stackIndex","state","sheetsById","sheet","useSafeAreaFrame","value","scaleDepth","useScaleDepth","scaleStyle","useScaleAnimatedStyle","cleanupAnimatedIndex","backdropZIndex","contentZIndex","StyleSheet","absoluteFillObject","zIndex","t6","BottomSheetBackdrop","t7","t8","t9","styles","container","t10","content","usePortal","t11","t12","jsxs","BottomSheetContext","Provider","stackOrder","filter","sheetId","shallow","BottomSheetHost","exports","create","pointerEvents"],"sourceRoot":"../../src","sources":["BottomSheetHost.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.BottomSheetManagerProvider = BottomSheetManagerProvider;
|
|
|
7
7
|
exports.useMaybeBottomSheetManagerContext = exports.useBottomSheetManagerContext = void 0;
|
|
8
8
|
var _compilerRuntime = require("react/compiler-runtime");
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _reactNativeTeleport = require("react-native-teleport");
|
|
10
11
|
var _BottomSheetManager = require("./BottomSheetManager.context");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -32,10 +33,12 @@ function BottomSheetManagerProvider(t0) {
|
|
|
32
33
|
const value = t1;
|
|
33
34
|
let t2;
|
|
34
35
|
if ($[3] !== children || $[4] !== id || $[5] !== value) {
|
|
35
|
-
t2 = /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
t2 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeTeleport.PortalProvider, {
|
|
37
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheetManager.BottomSheetManagerContext.Provider, {
|
|
38
|
+
value: value,
|
|
39
|
+
children: children
|
|
40
|
+
}, id)
|
|
41
|
+
});
|
|
39
42
|
$[3] = children;
|
|
40
43
|
$[4] = id;
|
|
41
44
|
$[5] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_BottomSheetManager","_jsxRuntime","e","__esModule","default","BottomSheetManagerProvider","t0","$","_compilerRuntime","c","id","scaleConfig","children","t1","groupId","value","t2","jsx","BottomSheetManagerContext","Provider","useBottomSheetManagerContext","context","React","useContext","Error","exports","useMaybeBottomSheetManagerContext"],"sourceRoot":"../../src","sources":["BottomSheetManager.provider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeTeleport","_BottomSheetManager","_jsxRuntime","e","__esModule","default","BottomSheetManagerProvider","t0","$","_compilerRuntime","c","id","scaleConfig","children","t1","groupId","value","t2","jsx","PortalProvider","BottomSheetManagerContext","Provider","useBottomSheetManagerContext","context","React","useContext","Error","exports","useMaybeBottomSheetManagerContext"],"sourceRoot":"../../src","sources":["BottomSheetManager.provider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAGsC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ/B,SAAAG,2BAAAC,EAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAAoC;IAAAC,EAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAN,EAI3B;EAAA,IAAAO,EAAA;EAAA,IAAAN,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAI,WAAA;IACAE,EAAA;MAAAC,OAAA,EAAWJ,EAAE;MAAAC;IAAc,CAAC;IAAAJ,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,WAAA;IAAAJ,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAA1C,MAAAQ,KAAA,GAAcF,EAA4B;EAAC,IAAAG,EAAA;EAAA,IAAAT,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAQ,KAAA;IAGzCC,EAAA,oBAAAf,WAAA,CAAAgB,GAAA,EAAClB,oBAAA,CAAAmB,cAAc;MAAAN,QAAA,eACb,IAAAX,WAAA,CAAAgB,GAAA,EAAAjB,mBAAA,CAAAmB,yBAAA,CAAAC,QAAA;QAAoDL,KAAK,EAALA,KAAK;QAAAH,QAAA,EACtDA;MAAQ,GAD8BF,EAEL;IAAC,CACvB,CAAC;IAAAH,CAAA,MAAAK,QAAA;IAAAL,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAQ,KAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,OAJjBS,EAIiB;AAAA;AAId,MAAMK,4BAA4B,GACvCA,CAAA;EACE,MAAAC,OAAA,GAAgBC,cAAK,CAAAC,UAAW,CAACL,6CAAyB,CAAC;EAE3D,IAAI,CAACG,OAAO;IACV,MAAM,IAAIG,KAAK,CACb,+EACF,CAAC;EAAC;EACH,OACMH,OAAO;AAAA,CACf;AAACI,OAAA,CAAAL,4BAAA,GAAAA,4BAAA;AAEG,MAAMM,iCAAiC,GAC5CA,CAAA;EACE,MAAAL,OAAA,GAAgBC,cAAK,CAAAC,UAAW,CAACL,6CAAyB,CAAC;EAE3D,IAAI,CAACG,OAAO;IAAA,OACH,IAAI;EAAA;EACZ,OACMA,OAAO;AAAA,CACf;AAACI,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use no memo';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BottomSheetPortal = BottomSheetPortal;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactNativeTeleport = require("react-native-teleport");
|
|
10
|
+
var _BottomSheet = require("./BottomSheet.context");
|
|
11
|
+
var _bottomSheet = require("./bottomSheet.store");
|
|
12
|
+
var _refsMap = require("./refsMap");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function BottomSheetPortal({
|
|
16
|
+
id,
|
|
17
|
+
children
|
|
18
|
+
}) {
|
|
19
|
+
const sheetState = (0, _bottomSheet.useBottomSheetStore)(state => state.sheetsById[id]);
|
|
20
|
+
|
|
21
|
+
// Only render when the sheet is active and using portal
|
|
22
|
+
if (!sheetState?.usePortal) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Get the ref that was created in useBottomSheetControl.open()
|
|
27
|
+
const ref = _refsMap.sheetRefs[id];
|
|
28
|
+
|
|
29
|
+
// Clone the child element to add the ref
|
|
30
|
+
// @ts-ignore - same pattern as useBottomSheetManager
|
|
31
|
+
const childWithRef = /*#__PURE__*/_react.default.cloneElement(children, {
|
|
32
|
+
ref
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Wrap with BottomSheetContext so useBottomSheetState() works inside portal content
|
|
36
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeTeleport.Portal, {
|
|
37
|
+
hostName: `bottomsheet-${id}`,
|
|
38
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheet.BottomSheetContext.Provider, {
|
|
39
|
+
value: {
|
|
40
|
+
id
|
|
41
|
+
},
|
|
42
|
+
children: childWithRef
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=BottomSheetPortal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","BottomSheetPortal","_react","_interopRequireDefault","require","_reactNativeTeleport","_BottomSheet","_bottomSheet","_refsMap","_jsxRuntime","e","__esModule","default","id","children","sheetState","useBottomSheetStore","state","sheetsById","usePortal","ref","sheetRefs","childWithRef","React","cloneElement","jsx","Portal","hostName","BottomSheetContext","Provider"],"sourceRoot":"../../src","sources":["BottomSheetPortal.tsx"],"mappings":";AAAA,aAAa;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,iBAAA,GAAAA,iBAAA;AAEd,IAAAC,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AAAsC,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAO/B,SAAST,iBAAiBA,CAAC;EAAEY,EAAE;EAAEC;AAAiC,CAAC,EAAE;EAC1E,MAAMC,UAAU,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,IAAKA,KAAK,CAACC,UAAU,CAACL,EAAE,CAAC,CAAC;;EAEvE;EACA,IAAI,CAACE,UAAU,EAAEI,SAAS,EAAE;IAC1B,OAAO,IAAI;EACb;;EAEA;EACA,MAAMC,GAAG,GAAGC,kBAAS,CAACR,EAAE,CAAC;;EAEzB;EACA;EACA,MAAMS,YAAY,gBAAGC,cAAK,CAACC,YAAY,CAACV,QAAQ,EAAE;IAAEM;EAAI,CAAC,CAAC;;EAE1D;EACA,oBACE,IAAAX,WAAA,CAAAgB,GAAA,EAACpB,oBAAA,CAAAqB,MAAM;IAACC,QAAQ,EAAE,eAAed,EAAE,EAAG;IAAAC,QAAA,eACpC,IAAAL,WAAA,CAAAgB,GAAA,EAACnB,YAAA,CAAAsB,kBAAkB,CAACC,QAAQ;MAAC7B,KAAK,EAAE;QAAEa;MAAG,CAAE;MAAAC,QAAA,EACxCQ;IAAY,CACc;EAAC,CACxB,CAAC;AAEb","ignoreList":[]}
|
|
@@ -70,6 +70,25 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
|
|
|
70
70
|
stackOrder: [...state.stackOrder, sheet.id]
|
|
71
71
|
};
|
|
72
72
|
}),
|
|
73
|
+
openPortal: (id, groupId, options) => set(state => {
|
|
74
|
+
if (state.sheetsById[id]) {
|
|
75
|
+
return state;
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
sheetsById: {
|
|
79
|
+
...state.sheetsById,
|
|
80
|
+
[id]: {
|
|
81
|
+
id,
|
|
82
|
+
groupId,
|
|
83
|
+
content: null,
|
|
84
|
+
status: 'opening',
|
|
85
|
+
usePortal: true,
|
|
86
|
+
scaleBackground: options?.scaleBackground
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
stackOrder: [...state.stackOrder, id]
|
|
90
|
+
};
|
|
91
|
+
}),
|
|
73
92
|
markOpen: id => set(state => {
|
|
74
93
|
const sheet = state.sheetsById[id];
|
|
75
94
|
if (!sheet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_middleware","require","_traditional","useBottomSheetStore","exports","create","subscribeWithSelector","set","sheetsById","stackOrder","push","sheet","state","id","status","switch","newSheetsById","topId","length","replace","markOpen","startClosing","index","indexOf","belowId","belowSheet","undefined","finishClosing","newStackOrder","filter","sheetId","topSheet","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_middleware","require","_traditional","useBottomSheetStore","exports","create","subscribeWithSelector","set","sheetsById","stackOrder","push","sheet","state","id","status","switch","newSheetsById","topId","length","replace","openPortal","groupId","options","content","usePortal","scaleBackground","markOpen","startClosing","index","indexOf","belowId","belowSheet","undefined","finishClosing","newStackOrder","filter","sheetId","topSheet","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -21,12 +21,24 @@ Object.defineProperty(exports, "BottomSheetManagerProvider", {
|
|
|
21
21
|
return _BottomSheetManager.BottomSheetManagerProvider;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "BottomSheetPortal", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _BottomSheetPortal.BottomSheetPortal;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
Object.defineProperty(exports, "BottomSheetScaleView", {
|
|
25
31
|
enumerable: true,
|
|
26
32
|
get: function () {
|
|
27
33
|
return _BottomSheetScaleView.BottomSheetScaleView;
|
|
28
34
|
}
|
|
29
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "useBottomSheetControl", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _useBottomSheetControl.useBottomSheetControl;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
30
42
|
Object.defineProperty(exports, "useBottomSheetManager", {
|
|
31
43
|
enumerable: true,
|
|
32
44
|
get: function () {
|
|
@@ -45,4 +57,6 @@ var _useBottomSheetManager = require("./useBottomSheetManager");
|
|
|
45
57
|
var _useBottomSheetState = require("./useBottomSheetState");
|
|
46
58
|
var _BottomSheetManaged = require("./BottomSheetManaged");
|
|
47
59
|
var _BottomSheetScaleView = require("./BottomSheetScaleView");
|
|
60
|
+
var _BottomSheetPortal = require("./BottomSheetPortal");
|
|
61
|
+
var _useBottomSheetControl = require("./useBottomSheetControl");
|
|
48
62
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_BottomSheetHost","require","_BottomSheetManager","_useBottomSheetManager","_useBottomSheetState","_BottomSheetManaged","_BottomSheetScaleView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_BottomSheetHost","require","_BottomSheetManager","_useBottomSheetManager","_useBottomSheetState","_BottomSheetManaged","_BottomSheetScaleView","_BottomSheetPortal","_useBottomSheetControl"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AAEA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["portal.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useBottomSheetControl = useBottomSheetControl;
|
|
7
|
+
var _compilerRuntime = require("react/compiler-runtime");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _bottomSheet = require("./bottomSheet.store");
|
|
10
|
+
var _BottomSheetManager = require("./BottomSheetManager.provider");
|
|
11
|
+
var _refsMap = require("./refsMap");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function useBottomSheetControl(id) {
|
|
14
|
+
const $ = (0, _compilerRuntime.c)(14);
|
|
15
|
+
const bottomSheetManagerContext = (0, _BottomSheetManager.useMaybeBottomSheetManagerContext)();
|
|
16
|
+
const openPortal = (0, _bottomSheet.useBottomSheetStore)(_temp);
|
|
17
|
+
const startClosing = (0, _bottomSheet.useBottomSheetStore)(_temp2);
|
|
18
|
+
let t0;
|
|
19
|
+
if ($[0] !== id) {
|
|
20
|
+
t0 = state_1 => state_1.sheetsById[id];
|
|
21
|
+
$[0] = id;
|
|
22
|
+
$[1] = t0;
|
|
23
|
+
} else {
|
|
24
|
+
t0 = $[1];
|
|
25
|
+
}
|
|
26
|
+
const sheetState = (0, _bottomSheet.useBottomSheetStore)(t0);
|
|
27
|
+
let t1;
|
|
28
|
+
if ($[2] !== bottomSheetManagerContext?.groupId || $[3] !== id || $[4] !== openPortal) {
|
|
29
|
+
t1 = options => {
|
|
30
|
+
const groupId = bottomSheetManagerContext?.groupId || "default";
|
|
31
|
+
const ref = /*#__PURE__*/_react.default.createRef();
|
|
32
|
+
_refsMap.sheetRefs[id] = ref;
|
|
33
|
+
openPortal(id, groupId, options);
|
|
34
|
+
};
|
|
35
|
+
$[2] = bottomSheetManagerContext?.groupId;
|
|
36
|
+
$[3] = id;
|
|
37
|
+
$[4] = openPortal;
|
|
38
|
+
$[5] = t1;
|
|
39
|
+
} else {
|
|
40
|
+
t1 = $[5];
|
|
41
|
+
}
|
|
42
|
+
const open = t1;
|
|
43
|
+
let t2;
|
|
44
|
+
if ($[6] !== id || $[7] !== startClosing) {
|
|
45
|
+
t2 = () => {
|
|
46
|
+
startClosing(id);
|
|
47
|
+
};
|
|
48
|
+
$[6] = id;
|
|
49
|
+
$[7] = startClosing;
|
|
50
|
+
$[8] = t2;
|
|
51
|
+
} else {
|
|
52
|
+
t2 = $[8];
|
|
53
|
+
}
|
|
54
|
+
const close = t2;
|
|
55
|
+
const status = sheetState?.status ?? null;
|
|
56
|
+
const isOpen = status === "open" || status === "opening";
|
|
57
|
+
let t3;
|
|
58
|
+
if ($[9] !== close || $[10] !== isOpen || $[11] !== open || $[12] !== status) {
|
|
59
|
+
t3 = {
|
|
60
|
+
open,
|
|
61
|
+
close,
|
|
62
|
+
isOpen,
|
|
63
|
+
status
|
|
64
|
+
};
|
|
65
|
+
$[9] = close;
|
|
66
|
+
$[10] = isOpen;
|
|
67
|
+
$[11] = open;
|
|
68
|
+
$[12] = status;
|
|
69
|
+
$[13] = t3;
|
|
70
|
+
} else {
|
|
71
|
+
t3 = $[13];
|
|
72
|
+
}
|
|
73
|
+
return t3;
|
|
74
|
+
}
|
|
75
|
+
function _temp2(state_0) {
|
|
76
|
+
return state_0.startClosing;
|
|
77
|
+
}
|
|
78
|
+
function _temp(state) {
|
|
79
|
+
return state.openPortal;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=useBottomSheetControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetControl","id","$","_compilerRuntime","c","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","openPortal","useBottomSheetStore","_temp","startClosing","_temp2","t0","state_1","state","sheetsById","sheetState","t1","groupId","options","ref","React","createRef","sheetRefs","open","t2","close","status","isOpen","t3","state_0"],"sourceRoot":"../../src","sources":["useBottomSheetControl.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,YAAA,GAAAD,OAAA;AAKA,IAAAE,mBAAA,GAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AAAsC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS/B,SAAAG,sBAAAC,EAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAGL,MAAAC,yBAAA,GAAkC,IAAAC,qDAAiC,EAAC,CAAC;EAErE,MAAAC,UAAA,GAAmB,IAAAC,gCAAmB,EAACC,KAA2B,CAAC;EACnE,MAAAC,YAAA,GAAqB,IAAAF,gCAAmB,EAACG,MAA6B,CAAC;EAAC,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAD,EAAA;IACjCW,EAAA,GAAAC,OAAA,IAAWC,OAAK,CAAAC,UAAW,CAACd,EAAE,CAAC;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAtE,MAAAc,UAAA,GAAmB,IAAAR,gCAAmB,EAACI,EAA+B,CAAC;EAAC,IAAAK,EAAA;EAAA,IAAAf,CAAA,QAAAG,yBAAA,EAAAa,OAAA,IAAAhB,CAAA,QAAAD,EAAA,IAAAC,CAAA,QAAAK,UAAA;IAE3DU,EAAA,GAAAE,OAAA;MACX,MAAAD,OAAA,GAAgBb,yBAAyB,EAAAa,OAAsB,IAA/C,SAA+C;MAG/D,MAAAE,GAAA,gBAAYC,cAAK,CAAAC,SAAU,CAAqB,CAAC;MACjDC,kBAAS,CAACtB,EAAE,IAAImB,GAAH;MAEbb,UAAU,CAACN,EAAE,EAAEiB,OAAO,EAAEC,OAAO,CAAC;IAAA,CACjC;IAAAjB,CAAA,MAAAG,yBAAA,EAAAa,OAAA;IAAAhB,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EARD,MAAAsB,IAAA,GAAaP,EAQZ;EAAC,IAAAQ,EAAA;EAAA,IAAAvB,CAAA,QAAAD,EAAA,IAAAC,CAAA,QAAAQ,YAAA;IAEYe,EAAA,GAAAA,CAAA;MACZf,YAAY,CAACT,EAAE,CAAC;IAAA,CACjB;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAQ,YAAA;IAAAR,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAFD,MAAAwB,KAAA,GAAcD,EAEb;EAED,MAAAE,MAAA,GAAeX,UAAU,EAAAW,MAAgB,IAA1B,IAA0B;EACzC,MAAAC,MAAA,GAAeD,MAAM,KAAK,MAA8B,IAApBA,MAAM,KAAK,SAAS;EAAC,IAAAE,EAAA;EAAA,IAAA3B,CAAA,QAAAwB,KAAA,IAAAxB,CAAA,SAAA0B,MAAA,IAAA1B,CAAA,SAAAsB,IAAA,IAAAtB,CAAA,SAAAyB,MAAA;IAElDE,EAAA;MAAAL,IAAA;MAAAE,KAAA;MAAAE,MAAA;MAAAD;IAKP,CAAC;IAAAzB,CAAA,MAAAwB,KAAA;IAAAxB,CAAA,OAAA0B,MAAA;IAAA1B,CAAA,OAAAsB,IAAA;IAAAtB,CAAA,OAAAyB,MAAA;IAAAzB,CAAA,OAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EAAA,OALM2B,EAKN;AAAA;AA/BI,SAAAlB,OAAAmB,OAAA;EAAA,OAM+ChB,OAAK,CAAAJ,YAAa;AAAA;AANjE,SAAAD,MAAAK,KAAA;EAAA,OAK6CA,KAAK,CAAAP,UAAW;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"AA+CA,MAAM,CAAC,OAAO,UAAU,GAAG,4CAuB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetHost.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetHost.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BottomSheetHost.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetHost.tsx"],"names":[],"mappings":"AAmCA,iBAAS,mBAAmB,4CAgC3B;AAmED,eAAO,MAAM,eAAe,4BAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetManager.provider.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManager.provider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomSheetManager.provider.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManager.provider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,UAAU,aAAc,SAAQ,iBAAiB;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,EAAE,EACF,WAAW,EACX,QAAQ,GACT,EAAE,aAAa,2CAUf;AAED,eAAO,MAAM,4BAA4B,QACnC,8BASH,CAAC;AAEJ,eAAO,MAAM,iCAAiC,QACxC,8BAA8B,GAAG,IAOpC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { BottomSheetPortalId } from './portal.types';
|
|
3
|
+
interface BottomSheetPortalProps {
|
|
4
|
+
id: BottomSheetPortalId;
|
|
5
|
+
children: React.ReactElement;
|
|
6
|
+
}
|
|
7
|
+
export declare function BottomSheetPortal({ id, children }: BottomSheetPortalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=BottomSheetPortal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheetPortal.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetPortal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,UAAU,sBAAsB;IAC9B,EAAE,EAAE,mBAAmB,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,sBAAsB,kDAuBzE"}
|
|
@@ -7,16 +7,21 @@ export interface BottomSheetState {
|
|
|
7
7
|
content: ReactNode;
|
|
8
8
|
status: BottomSheetStatus;
|
|
9
9
|
scaleBackground?: boolean;
|
|
10
|
+
usePortal?: boolean;
|
|
10
11
|
}
|
|
11
12
|
type TriggerState = Omit<BottomSheetState, 'status'>;
|
|
12
13
|
interface BottomSheetStoreState {
|
|
13
14
|
sheetsById: Record<string, BottomSheetState>;
|
|
14
15
|
stackOrder: string[];
|
|
15
16
|
}
|
|
17
|
+
export interface PortalOpenOptions {
|
|
18
|
+
scaleBackground?: boolean;
|
|
19
|
+
}
|
|
16
20
|
interface BottomSheetStoreActions {
|
|
17
21
|
push(sheet: TriggerState): void;
|
|
18
22
|
switch(sheet: TriggerState): void;
|
|
19
23
|
replace(sheet: TriggerState): void;
|
|
24
|
+
openPortal(id: string, groupId: string, options?: PortalOpenOptions): void;
|
|
20
25
|
markOpen(id: string): void;
|
|
21
26
|
startClosing(id: string): void;
|
|
22
27
|
finishClosing(id: string): void;
|
|
@@ -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;IAC1B,eAAe,CAAC,EAAE,OAAO,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;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAErD,UAAU,qBAAqB;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,OAAO,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,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,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,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE/E,eAAO,MAAM,mBAAmB;;;;;;;;EAuJ/B,CAAC"}
|
|
@@ -5,4 +5,7 @@ export { useBottomSheetState } from './useBottomSheetState';
|
|
|
5
5
|
export { BottomSheetManaged } from './BottomSheetManaged';
|
|
6
6
|
export { BottomSheetScaleView } from './BottomSheetScaleView';
|
|
7
7
|
export { type ScaleConfig } from './useScaleAnimation';
|
|
8
|
+
export { BottomSheetPortal } from './BottomSheetPortal';
|
|
9
|
+
export { useBottomSheetControl } from './useBottomSheetControl';
|
|
10
|
+
export type { BottomSheetPortalRegistry, BottomSheetPortalId, } from './portal.types';
|
|
8
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry for portal-based bottom sheets.
|
|
3
|
+
* Augment this interface in your app to get type-safe sheet IDs:
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* declare module 'react-native-bottom-sheet-stack' {
|
|
8
|
+
* interface BottomSheetPortalRegistry {
|
|
9
|
+
* 'my-sheet': true;
|
|
10
|
+
* 'settings-sheet': true;
|
|
11
|
+
* 'profile-sheet': true;
|
|
12
|
+
* }
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export interface BottomSheetPortalRegistry {
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Type-safe portal sheet ID.
|
|
20
|
+
* If BottomSheetPortalRegistry is augmented, this will be a union of the registered keys.
|
|
21
|
+
* Otherwise, it falls back to `string` for flexibility.
|
|
22
|
+
*/
|
|
23
|
+
export type BottomSheetPortalId = keyof BottomSheetPortalRegistry extends never ? string : Extract<keyof BottomSheetPortalRegistry, string>;
|
|
24
|
+
//# sourceMappingURL=portal.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.types.d.ts","sourceRoot":"","sources":["../../../src/portal.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,yBAAyB;CAAG;AAE7C;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,yBAAyB,SAAS,KAAK,GAC3E,MAAM,GACN,OAAO,CAAC,MAAM,yBAAyB,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BottomSheetStatus, type PortalOpenOptions } from './bottomSheet.store';
|
|
2
|
+
import type { BottomSheetPortalId } from './portal.types';
|
|
3
|
+
export interface UseBottomSheetControlReturn {
|
|
4
|
+
open: (options?: PortalOpenOptions) => void;
|
|
5
|
+
close: () => void;
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
status: BottomSheetStatus | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function useBottomSheetControl(id: BottomSheetPortalId): UseBottomSheetControlReturn;
|
|
10
|
+
//# sourceMappingURL=useBottomSheetControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBottomSheetControl.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,mBAAmB,GACtB,2BAA2B,CA8B7B"}
|
|
@@ -14,12 +14,14 @@ export declare const useBottomSheetManager: () => {
|
|
|
14
14
|
id: string;
|
|
15
15
|
content: React.ReactNode;
|
|
16
16
|
scaleBackground?: boolean | undefined;
|
|
17
|
+
usePortal?: boolean | undefined;
|
|
17
18
|
}) => void;
|
|
18
19
|
replaceBottomSheet: (sheet: {
|
|
19
20
|
groupId: string;
|
|
20
21
|
id: string;
|
|
21
22
|
content: React.ReactNode;
|
|
22
23
|
scaleBackground?: boolean | undefined;
|
|
24
|
+
usePortal?: boolean | undefined;
|
|
23
25
|
}) => void;
|
|
24
26
|
};
|
|
25
27
|
//# sourceMappingURL=useBottomSheetManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBottomSheetManager.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMzE,eAAO,MAAM,qBAAqB;;gBA0Db,MAAM;+BArCd,KAAK,CAAC,YAAY,YAClB;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B
|
|
1
|
+
{"version":3,"file":"useBottomSheetManager.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMzE,eAAO,MAAM,qBAAqB;;gBA0Db,MAAM;+BArCd,KAAK,CAAC,YAAY,YAClB;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;;;;;;;;;;;;;;;CA8CJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-bottom-sheet-stack",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Bottom Sheet Stack Manager",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "lib/commonjs/index.js",
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"react-native-gesture-handler": "^2.30.0",
|
|
64
64
|
"react-native-reanimated": "^4.2.1",
|
|
65
65
|
"react-native-safe-area-context": "^5.6.2",
|
|
66
|
+
"react-native-teleport": "^0.5.6",
|
|
66
67
|
"react-native-worklets": "^0.7.1",
|
|
67
68
|
"release-it": "^17.10.0",
|
|
68
69
|
"typescript": "^5.2.2",
|
|
@@ -75,6 +76,7 @@
|
|
|
75
76
|
"react-native-gesture-handler": ">=2.0.0",
|
|
76
77
|
"react-native-reanimated": ">=3.0.0",
|
|
77
78
|
"react-native-safe-area-context": ">=5.0.0",
|
|
79
|
+
"react-native-teleport": ">=0.5.0",
|
|
78
80
|
"zustand": ">=5.0.0"
|
|
79
81
|
},
|
|
80
82
|
"workspaces": [
|
package/src/BottomSheetHost.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import { useEffect } from 'react';
|
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
3
|
import Animated from 'react-native-reanimated';
|
|
4
4
|
import { useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
5
|
+
import { PortalHost } from 'react-native-teleport';
|
|
5
6
|
|
|
6
7
|
import { shallow } from 'zustand/shallow';
|
|
7
8
|
import { cleanupAnimatedIndex } from './animatedRegistry';
|
|
@@ -16,6 +17,22 @@ import {
|
|
|
16
17
|
type ScaleConfig,
|
|
17
18
|
} from './useScaleAnimation';
|
|
18
19
|
|
|
20
|
+
function PortalHostWrapper({
|
|
21
|
+
id,
|
|
22
|
+
width,
|
|
23
|
+
height,
|
|
24
|
+
}: {
|
|
25
|
+
id: string;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
}) {
|
|
29
|
+
return (
|
|
30
|
+
<View style={{ flex: 1, width, height }}>
|
|
31
|
+
<PortalHost name={`bottomsheet-${id}`} style={{ width, height }} />
|
|
32
|
+
</View>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
19
36
|
function BottomSheetHostComp() {
|
|
20
37
|
const queueIds = useQueueIds();
|
|
21
38
|
const clearAll = useBottomSheetStore((store) => store.clearAll);
|
|
@@ -37,12 +54,13 @@ function BottomSheetHostComp() {
|
|
|
37
54
|
|
|
38
55
|
return (
|
|
39
56
|
<>
|
|
40
|
-
{queueIds.map((id) => (
|
|
57
|
+
{queueIds.map((id, index) => (
|
|
41
58
|
<QueueItem
|
|
42
59
|
key={id}
|
|
43
60
|
id={id}
|
|
44
61
|
groupId={groupId}
|
|
45
62
|
scaleConfig={scaleConfig}
|
|
63
|
+
stackIndex={index}
|
|
46
64
|
/>
|
|
47
65
|
))}
|
|
48
66
|
</>
|
|
@@ -53,12 +71,14 @@ function QueueItem({
|
|
|
53
71
|
id,
|
|
54
72
|
groupId,
|
|
55
73
|
scaleConfig,
|
|
74
|
+
stackIndex,
|
|
56
75
|
}: {
|
|
57
76
|
id: string;
|
|
58
77
|
groupId: string;
|
|
59
78
|
scaleConfig?: ScaleConfig;
|
|
79
|
+
stackIndex: number;
|
|
60
80
|
}) {
|
|
61
|
-
const
|
|
81
|
+
const sheet = useBottomSheetStore((state) => state.sheetsById[id]);
|
|
62
82
|
|
|
63
83
|
const { width, height } = useSafeAreaFrame();
|
|
64
84
|
const value = { id };
|
|
@@ -66,17 +86,18 @@ function QueueItem({
|
|
|
66
86
|
const scaleDepth = useScaleDepth(groupId, id);
|
|
67
87
|
const scaleStyle = useScaleAnimatedStyle(scaleDepth, scaleConfig);
|
|
68
88
|
|
|
69
|
-
// Cleanup animated index when sheet is unmounted
|
|
70
89
|
useEffect(() => {
|
|
71
90
|
return () => {
|
|
72
91
|
cleanupAnimatedIndex(id);
|
|
73
92
|
};
|
|
74
93
|
}, [id]);
|
|
75
94
|
|
|
95
|
+
const backdropZIndex = stackIndex * 2;
|
|
96
|
+
const contentZIndex = stackIndex * 2 + 1;
|
|
97
|
+
|
|
76
98
|
return (
|
|
77
99
|
<BottomSheetContext.Provider value={value}>
|
|
78
|
-
{
|
|
79
|
-
<View style={[StyleSheet.absoluteFillObject, styles.backdropContainer]}>
|
|
100
|
+
<View style={[StyleSheet.absoluteFillObject, { zIndex: backdropZIndex }]}>
|
|
80
101
|
<BottomSheetBackdrop sheetId={id} />
|
|
81
102
|
</View>
|
|
82
103
|
|
|
@@ -85,11 +106,15 @@ function QueueItem({
|
|
|
85
106
|
style={[
|
|
86
107
|
StyleSheet.absoluteFillObject,
|
|
87
108
|
styles.container,
|
|
88
|
-
{ width, height },
|
|
109
|
+
{ width, height, zIndex: contentZIndex },
|
|
89
110
|
scaleStyle,
|
|
90
111
|
]}
|
|
91
112
|
>
|
|
92
|
-
{
|
|
113
|
+
{sheet?.usePortal ? (
|
|
114
|
+
<PortalHostWrapper id={id} width={width} height={height} />
|
|
115
|
+
) : (
|
|
116
|
+
sheet?.content
|
|
117
|
+
)}
|
|
93
118
|
</Animated.View>
|
|
94
119
|
</BottomSheetContext.Provider>
|
|
95
120
|
);
|
|
@@ -110,11 +135,7 @@ const useQueueIds = () => {
|
|
|
110
135
|
export const BottomSheetHost = BottomSheetHostComp;
|
|
111
136
|
|
|
112
137
|
const styles = StyleSheet.create({
|
|
113
|
-
backdropContainer: {
|
|
114
|
-
zIndex: 99_999_999,
|
|
115
|
-
},
|
|
116
138
|
container: {
|
|
117
|
-
zIndex: 100_000_000,
|
|
118
139
|
pointerEvents: 'box-none',
|
|
119
140
|
},
|
|
120
141
|
});
|