react-native-bottom-sheet-stack 0.1.0 → 0.1.2
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 +6 -0
- package/lib/commonjs/useBottomSheetManager.js +4 -0
- package/lib/commonjs/useBottomSheetManager.js.map +1 -1
- package/lib/commonjs/useBottomSheetState.js +3 -1
- package/lib/commonjs/useBottomSheetState.js.map +1 -1
- package/lib/typescript/src/useBottomSheetManager.d.ts +1 -0
- package/lib/typescript/src/useBottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/src/useBottomSheetState.d.ts +1 -0
- package/lib/typescript/src/useBottomSheetState.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/useBottomSheetManager.tsx +5 -0
- package/src/useBottomSheetState.ts +5 -1
package/README.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Manage a stack of [@gorhom/bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet) components with `push`, `switch`, and `replace` navigation — without unmounting underlying sheets.
|
|
4
4
|
|
|
5
|
+
> ⚠️ **Important:** Not Production Ready
|
|
6
|
+
> This library is currently in active development and is not yet considered production-ready.
|
|
7
|
+
|
|
8
|
+
## Demo:
|
|
9
|
+
https://x.com/tsolfitsmexx/status/1913103288834089056?s=46&t=kx6uESwbDrRgTUOCDr1tMQ
|
|
10
|
+
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
## 🚀 Features
|
|
@@ -63,12 +63,16 @@ const useBottomSheetManager = () => {
|
|
|
63
63
|
startClosing(top.id);
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
+
const close = id => {
|
|
67
|
+
startClosing(id);
|
|
68
|
+
};
|
|
66
69
|
const clearAll = () => {
|
|
67
70
|
storeClearAll();
|
|
68
71
|
};
|
|
69
72
|
return {
|
|
70
73
|
clearAll,
|
|
71
74
|
closeTop,
|
|
75
|
+
close,
|
|
72
76
|
openBottomSheet,
|
|
73
77
|
pushBottomSheet,
|
|
74
78
|
replaceBottomSheet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetManager","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","pushBottomSheet","replaceBottomSheet","switchBottomSheet","stack","startClosing","storeClearAll","useBottomSheetStore","store","clearAll","replace","push","switch","openBottomSheet","content","options","groupId","id","Math","random","toString","ref","React","createRef","sheetRefs","contentWithRef","cloneElement","mode","closeTop","top","at","exports"],"sourceRoot":"../../src","sources":["useBottomSheetManager.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAsC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG/B,MAAMG,qBAAqB,GAAGA,CAAA,KAAM;EACzC,MAAMC,yBAAyB,GAAG,IAAAC,qDAAiC,EAAC,CAAC;EAErE,MAAM;IACJC,eAAe;IACfC,kBAAkB;IAClBC,iBAAiB;IACjBC,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,KAAM;IAClCF,aAAa,EAAEE,KAAK,CAACC,QAAQ;IAC7BP,kBAAkB,EAAEM,KAAK,CAACE,OAAO;IACjCT,eAAe,EAAEO,KAAK,CAACG,IAAI;IAC3BR,iBAAiB,EAAEK,KAAK,CAACI,MAAM;IAC/BR,KAAK,EAAEI,KAAK,CAACJ,KAAK;IAClBC,YAAY,EAAEG,KAAK,CAACH;EACtB,CAAC,CAAC,CAAC;EAEH,MAAMQ,eAAe,GAAGA,CACtBC,OAA2B,EAC3BC,OAIC,GAAG,CAAC,CAAC,KACH;IACH,MAAMC,OAAO,GACXD,OAAO,CAACC,OAAO,IAAIjB,yBAAyB,EAAEiB,OAAO,IAAI,SAAS;IAEpE,MAAMC,EAAE,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;IACrC,MAAMC,GAAG,gBAAGC,cAAK,CAACC,SAAS,CAAqB,CAAC;IAEjDC,kBAAS,CAACP,EAAE,CAAC,GAAGI,GAAG;;IAEnB;IACA,MAAMI,cAAc,gBAAGH,cAAK,CAACI,YAAY,CAACZ,OAAO,EAAE;MAAEO;IAAI,CAAC,CAAC;IAE3D,IAAIN,OAAO,CAACY,IAAI,KAAK,SAAS,EAAE;MAC9BzB,kBAAkB,CAAC;QACjBe,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIV,OAAO,CAACY,IAAI,KAAK,QAAQ,EAAE;MACpCxB,iBAAiB,CAAC;QAChBc,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ,CAAC,MAAM;MACLxB,eAAe,CAAC;QACdgB,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ;IAEA,OAAOR,EAAE;EACX,CAAC;EAED,MAAMW,QAAQ,GAAGA,CAAA,KAAM;IACrB,MAAMC,GAAG,GAAGzB,KAAK,CAAC0B,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAID,GAAG,EAAE;MACPxB,YAAY,CAACwB,GAAG,CAACZ,EAAE,CAAC;IACtB;EACF,CAAC;EAED,MAAMR,QAAQ,GAAGA,CAAA,KAAM;IACrBH,aAAa,CAAC,CAAC;EACjB,CAAC;EAED,OAAO;IACLG,QAAQ;IACRmB,QAAQ;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetManager","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","pushBottomSheet","replaceBottomSheet","switchBottomSheet","stack","startClosing","storeClearAll","useBottomSheetStore","store","clearAll","replace","push","switch","openBottomSheet","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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAsC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG/B,MAAMG,qBAAqB,GAAGA,CAAA,KAAM;EACzC,MAAMC,yBAAyB,GAAG,IAAAC,qDAAiC,EAAC,CAAC;EAErE,MAAM;IACJC,eAAe;IACfC,kBAAkB;IAClBC,iBAAiB;IACjBC,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,KAAM;IAClCF,aAAa,EAAEE,KAAK,CAACC,QAAQ;IAC7BP,kBAAkB,EAAEM,KAAK,CAACE,OAAO;IACjCT,eAAe,EAAEO,KAAK,CAACG,IAAI;IAC3BR,iBAAiB,EAAEK,KAAK,CAACI,MAAM;IAC/BR,KAAK,EAAEI,KAAK,CAACJ,KAAK;IAClBC,YAAY,EAAEG,KAAK,CAACH;EACtB,CAAC,CAAC,CAAC;EAEH,MAAMQ,eAAe,GAAGA,CACtBC,OAA2B,EAC3BC,OAIC,GAAG,CAAC,CAAC,KACH;IACH,MAAMC,OAAO,GACXD,OAAO,CAACC,OAAO,IAAIjB,yBAAyB,EAAEiB,OAAO,IAAI,SAAS;IAEpE,MAAMC,EAAE,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;IACrC,MAAMC,GAAG,gBAAGC,cAAK,CAACC,SAAS,CAAqB,CAAC;IAEjDC,kBAAS,CAACP,EAAE,CAAC,GAAGI,GAAG;;IAEnB;IACA,MAAMI,cAAc,gBAAGH,cAAK,CAACI,YAAY,CAACZ,OAAO,EAAE;MAAEO;IAAI,CAAC,CAAC;IAE3D,IAAIN,OAAO,CAACY,IAAI,KAAK,SAAS,EAAE;MAC9BzB,kBAAkB,CAAC;QACjBe,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIV,OAAO,CAACY,IAAI,KAAK,QAAQ,EAAE;MACpCxB,iBAAiB,CAAC;QAChBc,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ,CAAC,MAAM;MACLxB,eAAe,CAAC;QACdgB,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ;IAEA,OAAOR,EAAE;EACX,CAAC;EAED,MAAMW,QAAQ,GAAGA,CAAA,KAAM;IACrB,MAAMC,GAAG,GAAGzB,KAAK,CAAC0B,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAID,GAAG,EAAE;MACPxB,YAAY,CAACwB,GAAG,CAACZ,EAAE,CAAC;IACtB;EACF,CAAC;EAED,MAAMc,KAAK,GAAId,EAAU,IAAK;IAC5BZ,YAAY,CAACY,EAAE,CAAC;EAClB,CAAC;EAED,MAAMR,QAAQ,GAAGA,CAAA,KAAM;IACrBH,aAAa,CAAC,CAAC;EACjB,CAAC;EAED,OAAO;IACLG,QAAQ;IACRmB,QAAQ;IACRG,KAAK;IACLlB,eAAe;IACfZ,eAAe;IACfC;EACF,CAAC;AACH,CAAC;AAAC8B,OAAA,CAAAlC,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -19,9 +19,11 @@ function useBottomSheetState() {
|
|
|
19
19
|
if (!bottomSheetState) {
|
|
20
20
|
throw new Error('useBottomSheetState must be used within a BottomSheetProvider');
|
|
21
21
|
}
|
|
22
|
+
const close = () => startClosing(bottomSheetState.id);
|
|
22
23
|
return {
|
|
23
24
|
bottomSheetState,
|
|
24
|
-
close
|
|
25
|
+
close,
|
|
26
|
+
closeBottomSheet: close
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=useBottomSheetState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_BottomSheet","require","_bottomSheet","useBottomSheetState","context","useMaybeBottomSheetContext","bottomSheetsStack","startClosing","useBottomSheetStore","store","stack","bottomSheetState","find","bottomSheet","id","Error","close"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKO,SAASE,mBAAmBA,CAAA,
|
|
1
|
+
{"version":3,"names":["_BottomSheet","require","_bottomSheet","useBottomSheetState","context","useMaybeBottomSheetContext","bottomSheetsStack","startClosing","useBottomSheetStore","store","stack","bottomSheetState","find","bottomSheet","id","Error","close","closeBottomSheet"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKO,SAASE,mBAAmBA,CAAA,EAIjC;EACA,MAAMC,OAAO,GAAG,IAAAC,uCAA0B,EAAC,CAAC;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC;EAAa,CAAC,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,KAAM;IAC1EH,iBAAiB,EAAEG,KAAK,CAACC,KAAK;IAC9BH,YAAY,EAAEE,KAAK,CAACF;EACtB,CAAC,CAAC,CAAC;EAEH,MAAMI,gBAAgB,GAAGL,iBAAiB,CAACM,IAAI,CAC5CC,WAAW,IAAKA,WAAW,CAACC,EAAE,KAAKV,OAAO,EAAEU,EAC/C,CAAC;EAED,IAAI,CAACH,gBAAgB,EAAE;IACrB,MAAM,IAAII,KAAK,CACb,+DACF,CAAC;EACH;EAEA,MAAMC,KAAK,GAAGA,CAAA,KAAMT,YAAY,CAACI,gBAAgB,CAACG,EAAE,CAAC;EAErD,OAAO;IACLH,gBAAgB;IAChBK,KAAK;IACLC,gBAAgB,EAAED;EACpB,CAAC;AACH","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import { type OpenMode } from './bottomSheet.store';
|
|
|
3
3
|
export declare const useBottomSheetManager: () => {
|
|
4
4
|
clearAll: () => void;
|
|
5
5
|
closeTop: () => void;
|
|
6
|
+
close: (id: string) => void;
|
|
6
7
|
openBottomSheet: (content: React.ReactElement, options?: {
|
|
7
8
|
id?: string;
|
|
8
9
|
groupId?: string;
|
|
@@ -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;AAKzE,eAAO,MAAM,qBAAqB
|
|
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;AAKzE,eAAO,MAAM,qBAAqB;;;gBAoEb,MAAM;+BAhDd,KAAK,CAAC,YAAY,YAClB;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB;;;;;;;;;;;CA2DJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,mBAAmB,IAAI;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,mBAAmB,IAAI;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAwBA"}
|
package/package.json
CHANGED
|
@@ -73,6 +73,10 @@ export const useBottomSheetManager = () => {
|
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
+
const close = (id: string) => {
|
|
77
|
+
startClosing(id);
|
|
78
|
+
};
|
|
79
|
+
|
|
76
80
|
const clearAll = () => {
|
|
77
81
|
storeClearAll();
|
|
78
82
|
};
|
|
@@ -80,6 +84,7 @@ export const useBottomSheetManager = () => {
|
|
|
80
84
|
return {
|
|
81
85
|
clearAll,
|
|
82
86
|
closeTop,
|
|
87
|
+
close,
|
|
83
88
|
openBottomSheet,
|
|
84
89
|
pushBottomSheet,
|
|
85
90
|
replaceBottomSheet,
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
export function useBottomSheetState(): {
|
|
8
8
|
bottomSheetState: BottomSheetState;
|
|
9
9
|
close: () => void;
|
|
10
|
+
closeBottomSheet: () => void;
|
|
10
11
|
} {
|
|
11
12
|
const context = useMaybeBottomSheetContext();
|
|
12
13
|
const { bottomSheetsStack, startClosing } = useBottomSheetStore((store) => ({
|
|
@@ -24,8 +25,11 @@ export function useBottomSheetState(): {
|
|
|
24
25
|
);
|
|
25
26
|
}
|
|
26
27
|
|
|
28
|
+
const close = () => startClosing(bottomSheetState.id);
|
|
29
|
+
|
|
27
30
|
return {
|
|
28
31
|
bottomSheetState,
|
|
29
|
-
close
|
|
32
|
+
close,
|
|
33
|
+
closeBottomSheet: close,
|
|
30
34
|
};
|
|
31
35
|
}
|