react-native-bottom-sheet-stack 1.9.1 → 1.10.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.
Files changed (85) hide show
  1. package/README.md +22 -8
  2. package/lib/commonjs/BottomSheetBackdrop.js +15 -17
  3. package/lib/commonjs/BottomSheetBackdrop.js.map +1 -1
  4. package/lib/commonjs/QueueItem.js +2 -0
  5. package/lib/commonjs/QueueItem.js.map +1 -1
  6. package/lib/commonjs/adapters/actions-sheet/ActionsSheetAdapter.js +18 -18
  7. package/lib/commonjs/adapters/actions-sheet/ActionsSheetAdapter.js.map +1 -1
  8. package/lib/commonjs/adapters/gorhom-sheet/GorhomSheetAdapter.js +14 -22
  9. package/lib/commonjs/adapters/gorhom-sheet/GorhomSheetAdapter.js.map +1 -1
  10. package/lib/commonjs/adapters/gorhom-sheet/index.js +6 -0
  11. package/lib/commonjs/adapters/gorhom-sheet/index.js.map +1 -1
  12. package/lib/commonjs/adapters/react-native-modal/ReactNativeModalAdapter.js +15 -17
  13. package/lib/commonjs/adapters/react-native-modal/ReactNativeModalAdapter.js.map +1 -1
  14. package/lib/commonjs/bottomSheetCoordinator.js +103 -0
  15. package/lib/commonjs/bottomSheetCoordinator.js.map +1 -1
  16. package/lib/commonjs/index.js +38 -34
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/onBeforeCloseRegistry.js +42 -0
  19. package/lib/commonjs/onBeforeCloseRegistry.js.map +1 -0
  20. package/lib/commonjs/store/hooks.js +24 -4
  21. package/lib/commonjs/store/hooks.js.map +1 -1
  22. package/lib/commonjs/store/store.js +8 -0
  23. package/lib/commonjs/store/store.js.map +1 -1
  24. package/lib/commonjs/useBottomSheetContext.js +31 -17
  25. package/lib/commonjs/useBottomSheetContext.js.map +1 -1
  26. package/lib/commonjs/useBottomSheetControl.js +46 -33
  27. package/lib/commonjs/useBottomSheetControl.js.map +1 -1
  28. package/lib/commonjs/useBottomSheetManager.js +16 -10
  29. package/lib/commonjs/useBottomSheetManager.js.map +1 -1
  30. package/lib/commonjs/useOnBeforeClose.js +107 -0
  31. package/lib/commonjs/useOnBeforeClose.js.map +1 -0
  32. package/lib/typescript/example/src/screens/HomeScreen.d.ts.map +1 -1
  33. package/lib/typescript/example/src/sheets/CloseInterceptionSheets.d.ts +14 -0
  34. package/lib/typescript/example/src/sheets/CloseInterceptionSheets.d.ts.map +1 -0
  35. package/lib/typescript/example/src/sheets/index.d.ts +1 -0
  36. package/lib/typescript/example/src/sheets/index.d.ts.map +1 -1
  37. package/lib/typescript/src/BottomSheetBackdrop.d.ts.map +1 -1
  38. package/lib/typescript/src/QueueItem.d.ts.map +1 -1
  39. package/lib/typescript/src/adapters/actions-sheet/ActionsSheetAdapter.d.ts.map +1 -1
  40. package/lib/typescript/src/adapters/gorhom-sheet/GorhomSheetAdapter.d.ts +1 -1
  41. package/lib/typescript/src/adapters/gorhom-sheet/GorhomSheetAdapter.d.ts.map +1 -1
  42. package/lib/typescript/src/adapters/gorhom-sheet/index.d.ts +4 -0
  43. package/lib/typescript/src/adapters/gorhom-sheet/index.d.ts.map +1 -1
  44. package/lib/typescript/src/adapters/react-native-modal/ReactNativeModalAdapter.d.ts.map +1 -1
  45. package/lib/typescript/src/bottomSheetCoordinator.d.ts +25 -0
  46. package/lib/typescript/src/bottomSheetCoordinator.d.ts.map +1 -1
  47. package/lib/typescript/src/index.d.ts +7 -9
  48. package/lib/typescript/src/index.d.ts.map +1 -1
  49. package/lib/typescript/src/onBeforeCloseRegistry.d.ts +26 -0
  50. package/lib/typescript/src/onBeforeCloseRegistry.d.ts.map +1 -0
  51. package/lib/typescript/src/store/hooks.d.ts +2 -0
  52. package/lib/typescript/src/store/hooks.d.ts.map +1 -1
  53. package/lib/typescript/src/store/store.d.ts.map +1 -1
  54. package/lib/typescript/src/store/types.d.ts +8 -0
  55. package/lib/typescript/src/store/types.d.ts.map +1 -1
  56. package/lib/typescript/src/useBottomSheetContext.d.ts +5 -0
  57. package/lib/typescript/src/useBottomSheetContext.d.ts.map +1 -1
  58. package/lib/typescript/src/useBottomSheetControl.d.ts +2 -0
  59. package/lib/typescript/src/useBottomSheetControl.d.ts.map +1 -1
  60. package/lib/typescript/src/useBottomSheetManager.d.ts +5 -0
  61. package/lib/typescript/src/useBottomSheetManager.d.ts.map +1 -1
  62. package/lib/typescript/src/useOnBeforeClose.d.ts +65 -0
  63. package/lib/typescript/src/useOnBeforeClose.d.ts.map +1 -0
  64. package/package.json +19 -1
  65. package/src/BottomSheetBackdrop.tsx +2 -3
  66. package/src/QueueItem.tsx +2 -0
  67. package/src/adapters/actions-sheet/ActionsSheetAdapter.tsx +6 -15
  68. package/src/adapters/gorhom-sheet/GorhomSheetAdapter.tsx +7 -18
  69. package/src/adapters/gorhom-sheet/index.ts +5 -0
  70. package/src/adapters/react-native-modal/ReactNativeModalAdapter.tsx +5 -14
  71. package/src/bottomSheetCoordinator.ts +128 -0
  72. package/src/index.tsx +17 -18
  73. package/src/onBeforeCloseRegistry.ts +44 -0
  74. package/src/store/hooks.ts +8 -0
  75. package/src/store/store.ts +10 -0
  76. package/src/store/types.ts +8 -0
  77. package/src/useBottomSheetContext.ts +11 -1
  78. package/src/useBottomSheetControl.ts +11 -8
  79. package/src/useBottomSheetManager.tsx +14 -8
  80. package/src/useOnBeforeClose.ts +92 -0
  81. package/lib/commonjs/BottomSheetManaged.js +0 -13
  82. package/lib/commonjs/BottomSheetManaged.js.map +0 -1
  83. package/lib/typescript/src/BottomSheetManaged.d.ts +0 -11
  84. package/lib/typescript/src/BottomSheetManaged.d.ts.map +0 -1
  85. package/src/BottomSheetManaged.tsx +0 -14
@@ -8,13 +8,13 @@ var _compilerRuntime = require("react/compiler-runtime");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _bottomSheet = require("./bottomSheet.store");
10
10
  var _BottomSheetManager = require("./BottomSheetManager.provider");
11
+ var _bottomSheetCoordinator = require("./bottomSheetCoordinator");
11
12
  var _refsMap = require("./refsMap");
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  function useBottomSheetControl(id) {
14
- const $ = (0, _compilerRuntime.c)(18);
15
+ const $ = (0, _compilerRuntime.c)(20);
15
16
  const bottomSheetManagerContext = (0, _BottomSheetManager.useMaybeBottomSheetManagerContext)();
16
17
  const storeOpen = (0, _bottomSheet.useOpen)();
17
- const startClosing = (0, _bottomSheet.useStartClosing)();
18
18
  const storeUpdateParams = (0, _bottomSheet.useUpdateParams)();
19
19
  let t0;
20
20
  if ($[0] !== bottomSheetManagerContext?.groupId || $[1] !== id || $[2] !== storeOpen) {
@@ -43,58 +43,71 @@ function useBottomSheetControl(id) {
43
43
  }
44
44
  const open = t0;
45
45
  let t1;
46
- if ($[4] !== id || $[5] !== startClosing) {
46
+ if ($[4] !== id) {
47
47
  t1 = () => {
48
- startClosing(id);
48
+ (0, _bottomSheetCoordinator.requestClose)(id);
49
49
  };
50
50
  $[4] = id;
51
- $[5] = startClosing;
52
- $[6] = t1;
51
+ $[5] = t1;
53
52
  } else {
54
- t1 = $[6];
53
+ t1 = $[5];
55
54
  }
56
55
  const close = t1;
57
56
  let t2;
58
- if ($[7] !== id || $[8] !== storeUpdateParams) {
59
- t2 = params => {
60
- storeUpdateParams(id, params);
57
+ if ($[6] !== bottomSheetManagerContext?.groupId) {
58
+ t2 = options_0 => {
59
+ const groupId_0 = bottomSheetManagerContext?.groupId || "default";
60
+ return (0, _bottomSheetCoordinator.closeAllAnimated)(groupId_0, options_0);
61
61
  };
62
- $[7] = id;
63
- $[8] = storeUpdateParams;
64
- $[9] = t2;
62
+ $[6] = bottomSheetManagerContext?.groupId;
63
+ $[7] = t2;
65
64
  } else {
66
- t2 = $[9];
65
+ t2 = $[7];
67
66
  }
68
- const updateParams = t2;
67
+ const closeAll = t2;
69
68
  let t3;
70
- if ($[10] !== id || $[11] !== storeUpdateParams) {
71
- t3 = () => {
69
+ if ($[8] !== id || $[9] !== storeUpdateParams) {
70
+ t3 = params => {
71
+ storeUpdateParams(id, params);
72
+ };
73
+ $[8] = id;
74
+ $[9] = storeUpdateParams;
75
+ $[10] = t3;
76
+ } else {
77
+ t3 = $[10];
78
+ }
79
+ const updateParams = t3;
80
+ let t4;
81
+ if ($[11] !== id || $[12] !== storeUpdateParams) {
82
+ t4 = () => {
72
83
  storeUpdateParams(id, undefined);
73
84
  };
74
- $[10] = id;
75
- $[11] = storeUpdateParams;
76
- $[12] = t3;
85
+ $[11] = id;
86
+ $[12] = storeUpdateParams;
87
+ $[13] = t4;
77
88
  } else {
78
- t3 = $[12];
89
+ t4 = $[13];
79
90
  }
80
- const resetParams = t3;
81
- const t4 = open;
82
- let t5;
83
- if ($[13] !== close || $[14] !== resetParams || $[15] !== t4 || $[16] !== updateParams) {
84
- t5 = {
85
- open: t4,
91
+ const resetParams = t4;
92
+ const t5 = open;
93
+ let t6;
94
+ if ($[14] !== close || $[15] !== closeAll || $[16] !== resetParams || $[17] !== t5 || $[18] !== updateParams) {
95
+ t6 = {
96
+ open: t5,
86
97
  close,
98
+ closeAll,
87
99
  updateParams,
88
100
  resetParams
89
101
  };
90
- $[13] = close;
91
- $[14] = resetParams;
92
- $[15] = t4;
93
- $[16] = updateParams;
102
+ $[14] = close;
103
+ $[15] = closeAll;
104
+ $[16] = resetParams;
94
105
  $[17] = t5;
106
+ $[18] = updateParams;
107
+ $[19] = t6;
95
108
  } else {
96
- t5 = $[17];
109
+ t6 = $[19];
97
110
  }
98
- return t5;
111
+ return t6;
99
112
  }
100
113
  //# sourceMappingURL=useBottomSheetControl.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetControl","id","$","_compilerRuntime","c","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","storeOpen","useOpen","startClosing","useStartClosing","storeUpdateParams","useUpdateParams","t0","groupId","options","existingRef","getSheetRef","ref","React","createRef","setSheetRef","content","usePortal","scaleBackground","params","mode","open","t1","close","t2","updateParams","t3","undefined","resetParams","t4","t5"],"sourceRoot":"../../src","sources":["useBottomSheetControl.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_bottomSheetCoordinator","_refsMap","e","__esModule","default","useBottomSheetControl","id","$","_compilerRuntime","c","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","storeOpen","useOpen","storeUpdateParams","useUpdateParams","t0","groupId","options","existingRef","getSheetRef","ref","React","createRef","setSheetRef","content","usePortal","scaleBackground","params","mode","open","t1","requestClose","close","t2","options_0","groupId_0","closeAllAnimated","closeAll","t3","updateParams","t4","undefined","resetParams","t5","t6"],"sourceRoot":"../../src","sources":["useBottomSheetControl.ts"],"mappings":"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","ignoreList":[]}
@@ -8,13 +8,13 @@ var _compilerRuntime = require("react/compiler-runtime");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _bottomSheet = require("./bottomSheet.store");
10
10
  var _BottomSheetManager = require("./BottomSheetManager.provider");
11
+ var _bottomSheetCoordinator = require("./bottomSheetCoordinator");
11
12
  var _refsMap = require("./refsMap");
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  const useBottomSheetManager = () => {
14
15
  const $ = (0, _compilerRuntime.c)(12);
15
16
  const bottomSheetManagerContext = (0, _BottomSheetManager.useMaybeBottomSheetManagerContext)();
16
17
  const storeOpen = (0, _bottomSheet.useOpen)();
17
- const startClosing = (0, _bottomSheet.useStartClosing)();
18
18
  const storeClearGroup = (0, _bottomSheet.useClearGroup)();
19
19
  let t0;
20
20
  if ($[0] !== bottomSheetManagerContext?.groupId || $[1] !== storeOpen) {
@@ -42,22 +42,24 @@ const useBottomSheetManager = () => {
42
42
  t0 = $[2];
43
43
  }
44
44
  const openBottomSheet = t0;
45
+ const close = _temp;
45
46
  let t1;
46
- if ($[3] !== startClosing) {
47
- t1 = id_0 => {
48
- startClosing(id_0);
47
+ if ($[3] !== bottomSheetManagerContext?.groupId) {
48
+ t1 = options_0 => {
49
+ const groupId_0 = bottomSheetManagerContext?.groupId || "default";
50
+ return (0, _bottomSheetCoordinator.closeAllAnimated)(groupId_0, options_0);
49
51
  };
50
- $[3] = startClosing;
52
+ $[3] = bottomSheetManagerContext?.groupId;
51
53
  $[4] = t1;
52
54
  } else {
53
55
  t1 = $[4];
54
56
  }
55
- const close = t1;
57
+ const closeAll = t1;
56
58
  let t2;
57
59
  if ($[5] !== bottomSheetManagerContext?.groupId || $[6] !== storeClearGroup) {
58
60
  t2 = () => {
59
- const groupId_0 = bottomSheetManagerContext?.groupId || "default";
60
- storeClearGroup(groupId_0);
61
+ const groupId_1 = bottomSheetManagerContext?.groupId || "default";
62
+ storeClearGroup(groupId_1);
61
63
  };
62
64
  $[5] = bottomSheetManagerContext?.groupId;
63
65
  $[6] = storeClearGroup;
@@ -67,16 +69,17 @@ const useBottomSheetManager = () => {
67
69
  }
68
70
  const clear = t2;
69
71
  let t3;
70
- if ($[8] !== clear || $[9] !== close || $[10] !== openBottomSheet) {
72
+ if ($[8] !== clear || $[9] !== closeAll || $[10] !== openBottomSheet) {
71
73
  t3 = {
72
74
  open: openBottomSheet,
73
75
  close,
76
+ closeAll,
74
77
  clear,
75
78
  openBottomSheet,
76
79
  clearAll: clear
77
80
  };
78
81
  $[8] = clear;
79
- $[9] = close;
82
+ $[9] = closeAll;
80
83
  $[10] = openBottomSheet;
81
84
  $[11] = t3;
82
85
  } else {
@@ -85,4 +88,7 @@ const useBottomSheetManager = () => {
85
88
  return t3;
86
89
  };
87
90
  exports.useBottomSheetManager = useBottomSheetManager;
91
+ function _temp(id_0) {
92
+ (0, _bottomSheetCoordinator.requestClose)(id_0);
93
+ }
88
94
  //# sourceMappingURL=useBottomSheetManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetManager","$","_compilerRuntime","c","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","storeOpen","useOpen","startClosing","useStartClosing","storeClearGroup","useClearGroup","t0","groupId","content","t1","options","undefined","id","Math","random","toString","ref","React","createRef","setSheetRef","contentWithRef","cloneElement","scaleBackground","mode","openBottomSheet","id_0","close","t2","groupId_0","clear","t3","open","clearAll","exports"],"sourceRoot":"../../src","sources":["useBottomSheetManager.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_bottomSheetCoordinator","_refsMap","e","__esModule","default","useBottomSheetManager","$","_compilerRuntime","c","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","storeOpen","useOpen","storeClearGroup","useClearGroup","t0","groupId","content","t1","options","undefined","id","Math","random","toString","ref","React","createRef","setSheetRef","contentWithRef","cloneElement","scaleBackground","mode","openBottomSheet","close","_temp","options_0","groupId_0","closeAllAnimated","closeAll","t2","groupId_1","clear","t3","open","clearAll","exports","id_0","requestClose"],"sourceRoot":"../../src","sources":["useBottomSheetManager.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOnBeforeClose = useOnBeforeClose;
7
+ var _compilerRuntime = require("react/compiler-runtime");
8
+ var _react = require("react");
9
+ var _BottomSheet = require("./BottomSheet.context");
10
+ var _bottomSheet = require("./bottomSheet.store");
11
+ var _onBeforeCloseRegistry = require("./onBeforeCloseRegistry");
12
+ var _useEvent = require("./useEvent");
13
+ /**
14
+ * Registers an interceptor that is called before the sheet closes.
15
+ *
16
+ * When active, this hook:
17
+ * 1. Sets `preventDismiss` on the sheet so adapters block user-initiated
18
+ * gestures (swipe down, pan-to-close) at the native level.
19
+ * 2. Intercepts all programmatic close paths (backdrop tap, back button,
20
+ * `close()`, `closeAll()`) and calls the callback first.
21
+ *
22
+ * The interceptor receives `onConfirm` and `onCancel` callbacks. Call these
23
+ * when the user makes a decision. This works seamlessly with `Alert.alert`:
24
+ *
25
+ * ```tsx
26
+ * useOnBeforeClose(({ onConfirm, onCancel }) => {
27
+ * if (dirty) {
28
+ * Alert.alert('Discard changes?', '', [
29
+ * { text: 'Cancel', onPress: onCancel },
30
+ * { text: 'Discard', onPress: onConfirm },
31
+ * ]);
32
+ * } else {
33
+ * onConfirm(); // Allow close immediately
34
+ * }
35
+ * });
36
+ * ```
37
+ *
38
+ * For backward compatibility, you can still return `boolean` or `Promise<boolean>`:
39
+ * - Return `false` (or resolve to `false`) to prevent closing
40
+ * - Return `true` (or resolve to `true`) to allow closing
41
+ *
42
+ * Use `forceClose()` from `useBottomSheetContext` to bypass the interceptor entirely.
43
+ *
44
+ * Must be used inside a sheet component (within BottomSheetContext).
45
+ *
46
+ * @example Callback pattern (recommended)
47
+ * ```tsx
48
+ * function MySheet() {
49
+ * const [dirty, setDirty] = useState(false);
50
+ *
51
+ * useOnBeforeClose(({ onConfirm, onCancel }) => {
52
+ * if (dirty) {
53
+ * Alert.alert('Discard changes?', '', [
54
+ * { text: 'Cancel', style: 'cancel', onPress: onCancel },
55
+ * { text: 'Discard', onPress: onConfirm },
56
+ * ]);
57
+ * } else {
58
+ * onConfirm();
59
+ * }
60
+ * });
61
+ * }
62
+ * ```
63
+ *
64
+ * @example Boolean return (backward compatible)
65
+ * ```tsx
66
+ * function MySheet() {
67
+ * const [dirty, setDirty] = useState(false);
68
+ *
69
+ * useOnBeforeClose(() => {
70
+ * return !dirty; // false blocks, true allows
71
+ * });
72
+ * }
73
+ * ```
74
+ */
75
+ function useOnBeforeClose(callback) {
76
+ const $ = (0, _compilerRuntime.c)(5);
77
+ const context = (0, _BottomSheet.useMaybeBottomSheetContext)();
78
+ const setPreventDismiss = (0, _bottomSheet.useSetPreventDismiss)();
79
+ if (!context?.id) {
80
+ throw new Error("useOnBeforeClose must be used within a BottomSheet component");
81
+ }
82
+ const id = context.id;
83
+ const stableCallback = (0, _useEvent.useEvent)(callback);
84
+ let t0;
85
+ let t1;
86
+ if ($[0] !== id || $[1] !== setPreventDismiss || $[2] !== stableCallback) {
87
+ t0 = () => {
88
+ (0, _onBeforeCloseRegistry.setOnBeforeClose)(id, stableCallback);
89
+ setPreventDismiss(id, true);
90
+ return () => {
91
+ (0, _onBeforeCloseRegistry.removeOnBeforeClose)(id);
92
+ setPreventDismiss(id, false);
93
+ };
94
+ };
95
+ t1 = [id, stableCallback, setPreventDismiss];
96
+ $[0] = id;
97
+ $[1] = setPreventDismiss;
98
+ $[2] = stableCallback;
99
+ $[3] = t0;
100
+ $[4] = t1;
101
+ } else {
102
+ t0 = $[3];
103
+ t1 = $[4];
104
+ }
105
+ (0, _react.useEffect)(t0, t1);
106
+ }
107
+ //# sourceMappingURL=useOnBeforeClose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_BottomSheet","_bottomSheet","_onBeforeCloseRegistry","_useEvent","useOnBeforeClose","callback","$","_compilerRuntime","c","context","useMaybeBottomSheetContext","setPreventDismiss","useSetPreventDismiss","id","Error","stableCallback","useEvent","t0","t1","setOnBeforeClose","removeOnBeforeClose","useEffect"],"sourceRoot":"../../src","sources":["useOnBeforeClose.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAAK,iBAAAC,QAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EACL,MAAAC,OAAA,GAAgB,IAAAC,uCAA0B,EAAC,CAAC;EAC5C,MAAAC,iBAAA,GAA0B,IAAAC,iCAAoB,EAAC,CAAC;EAEhD,IAAI,CAACH,OAAO,EAAAI,EAAI;IACd,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;EAAC;EAGJ,MAAAD,EAAA,GAAWJ,OAAO,CAAAI,EAAG;EACrB,MAAAE,cAAA,GAAuB,IAAAC,kBAAQ,EAACX,QAAQ,CAAC;EAAC,IAAAY,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAO,EAAA,IAAAP,CAAA,QAAAK,iBAAA,IAAAL,CAAA,QAAAS,cAAA;IAEhCE,EAAA,GAAAA,CAAA;MACR,IAAAE,uCAAgB,EAACN,EAAE,EAAEE,cAAc,CAAC;MACpCJ,iBAAiB,CAACE,EAAE,EAAE,IAAI,CAAC;MAAA,OACpB;QACL,IAAAO,0CAAmB,EAACP,EAAE,CAAC;QACvBF,iBAAiB,CAACE,EAAE,EAAE,KAAK,CAAC;MAAA,CAC7B;IAAA,CACF;IAAEK,EAAA,IAACL,EAAE,EAAEE,cAAc,EAAEJ,iBAAiB,CAAC;IAAAL,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAK,iBAAA;IAAAL,CAAA,MAAAS,cAAA;IAAAT,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAD,EAAA,GAAAX,CAAA;IAAAY,EAAA,GAAAZ,CAAA;EAAA;EAP1C,IAAAe,gBAAS,EAACJ,EAOT,EAAEC,EAAuC,CAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../../example/src/screens/HomeScreen.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,UAAU,4CAsOzB"}
1
+ {"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../../example/src/screens/HomeScreen.tsx"],"names":[],"mappings":"AA4BA,wBAAgB,UAAU,4CAuOzB"}
@@ -0,0 +1,14 @@
1
+ import type { BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
2
+ /**
3
+ * Root sheet that demonstrates closeAll() with cascading animation
4
+ */
5
+ export declare const CloseInterceptionDemo: import("react").ForwardRefExoticComponent<import("react").RefAttributes<BottomSheetMethods>>;
6
+ /**
7
+ * Form sheet with unsaved changes - demonstrates onBeforeClose interceptor
8
+ */
9
+ export declare const FormSheet: import("react").ForwardRefExoticComponent<import("react").RefAttributes<BottomSheetMethods>>;
10
+ /**
11
+ * Read-only sheet without interceptor - closes immediately
12
+ */
13
+ export declare const ReadOnlySheet: import("react").ForwardRefExoticComponent<import("react").RefAttributes<BottomSheetMethods>>;
14
+ //# sourceMappingURL=CloseInterceptionSheets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloseInterceptionSheets.d.ts","sourceRoot":"","sources":["../../../../../example/src/sheets/CloseInterceptionSheets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAYpF;;GAEG;AACH,eAAO,MAAM,qBAAqB,8FA4DjC,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,SAAS,8FA0HpB,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,aAAa,8FAsDxB,CAAC"}
@@ -8,4 +8,5 @@ export { PortalModeSheetA, PortalModeSheetB } from './PortalModeSheets';
8
8
  export { ScannerSheet } from './ScannerSheet';
9
9
  export { MixedStackContent, SimpleModalContent, AdapterComparisonContent, } from './ModalSheets';
10
10
  export { ModalAdapterDemoContent, RNModalDemoContent, ActionsSheetDemoContent, GorhomSheetDemoContent, } from './ThirdPartyAdapterSheets';
11
+ export { CloseInterceptionDemo, FormSheet, ReadOnlySheet, } from './CloseInterceptionSheets';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../example/src/sheets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../example/src/sheets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,aAAa,GACd,MAAM,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetBackdrop.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetBackdrop.tsx"],"names":[],"mappings":"AAUA,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,wBAAwB,kDAyCxE"}
1
+ {"version":3,"file":"BottomSheetBackdrop.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetBackdrop.tsx"],"names":[],"mappings":"AAUA,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,wBAAwB,kDAwCxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueueItem.d.ts","sourceRoot":"","sources":["../../../src/QueueItem.tsx"],"names":[],"mappings":"AAkBA,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,sDAuDpB,CAAC"}
1
+ {"version":3,"file":"QueueItem.d.ts","sourceRoot":"","sources":["../../../src/QueueItem.tsx"],"names":[],"mappings":"AAmBA,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,sDAwDpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsSheetAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/actions-sheet/ActionsSheetAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAa3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,+GAwD9B,CAAC"}
1
+ {"version":3,"file":"ActionsSheetAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/actions-sheet/ActionsSheetAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,+GAmD9B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { BottomSheetProps } from '@gorhom/bottom-sheet';
1
+ import { type BottomSheetProps } from '@gorhom/bottom-sheet';
2
2
  import React from 'react';
3
3
  import type { SheetAdapterRef } from '../../adapter.types';
4
4
  export interface GorhomSheetAdapterProps extends BottomSheetProps {
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomSheetAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/gorhom-sheet/GorhomSheetAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAkB3D,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;CAAG;AAIpE,eAAO,MAAM,kBAAkB,iGAwG9B,CAAC"}
1
+ {"version":3,"file":"GorhomSheetAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/gorhom-sheet/GorhomSheetAdapter.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAE1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS3D,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;CAAG;AAIpE,eAAO,MAAM,kBAAkB,iGAmG9B,CAAC"}
@@ -1,2 +1,6 @@
1
1
  export { GorhomSheetAdapter, type GorhomSheetAdapterProps, } from './GorhomSheetAdapter';
2
+ /** @deprecated Use `GorhomSheetAdapter` instead. */
3
+ export { GorhomSheetAdapter as BottomSheetManaged } from './GorhomSheetAdapter';
4
+ /** @deprecated Use `GorhomSheetAdapterProps` instead. */
5
+ export { type GorhomSheetAdapterProps as BottomSheetManagedProps } from './GorhomSheetAdapter';
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/gorhom-sheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/gorhom-sheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,oDAAoD;AACpD,OAAO,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChF,yDAAyD;AACzD,OAAO,EAAE,KAAK,uBAAuB,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeModalAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/react-native-modal/ReactNativeModalAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAa3D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,mHAuDlC,CAAC"}
1
+ {"version":3,"file":"ReactNativeModalAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/react-native-modal/ReactNativeModalAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS3D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,mHAkDlC,CAAC"}
@@ -4,6 +4,31 @@ import type { SheetAdapterEvents } from './adapter.types';
4
4
  * Direction: Store → Adapter (via SheetAdapterRef)
5
5
  */
6
6
  export declare function initBottomSheetCoordinator(groupId: string): () => void;
7
+ /**
8
+ * Attempts to close a sheet, respecting the onBeforeClose interceptor.
9
+ *
10
+ * If an onBeforeClose callback is registered for the sheet and it returns
11
+ * `false` (or resolves to `false`), the close is cancelled.
12
+ *
13
+ * @returns `true` if the close proceeded, `false` if it was intercepted.
14
+ */
15
+ export declare function requestClose(sheetId: string): Promise<boolean>;
16
+ /**
17
+ * Closes all sheets in a group from top to bottom with cascading animation.
18
+ *
19
+ * Each sheet is closed with a staggered delay so the user sees them
20
+ * peel off one-by-one (similar to `popToRoot` in React Navigation).
21
+ *
22
+ * If a sheet has an `onBeforeClose` interceptor that rejects, the cascade
23
+ * stops at that sheet — sheets below it remain open.
24
+ *
25
+ * @param groupId - The manager group to close sheets in.
26
+ * @param options.stagger - Delay in ms between each close (default: 100).
27
+ * @returns A promise that resolves when the cascade finishes (or is stopped).
28
+ */
29
+ export declare function closeAllAnimated(groupId: string, options?: {
30
+ stagger?: number;
31
+ }): Promise<void>;
7
32
  /**
8
33
  * Creates event handlers that adapters call to sync UI state back to the store.
9
34
  * Direction: Adapter Events → Store
@@ -1 +1 @@
1
- {"version":3,"file":"bottomSheetCoordinator.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAI1D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,cAkCzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAiC5E"}
1
+ {"version":3,"file":"bottomSheetCoordinator.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,cAkCzD;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwDpE;AAOD;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAwC5E"}
@@ -1,30 +1,28 @@
1
1
  export { BottomSheetManagerProvider } from './BottomSheetManager.provider';
2
2
  export { BottomSheetHost } from './BottomSheetHost';
3
3
  export { BottomSheetScaleView } from './BottomSheetScaleView';
4
- export { BottomSheetManaged, type BottomSheetRef } from './BottomSheetManaged';
5
4
  export { BottomSheetPortal } from './BottomSheetPortal';
6
5
  export { BottomSheetPersistent } from './BottomSheetPersistent';
7
- export { GorhomSheetAdapter, type GorhomSheetAdapterProps, } from './adapters/gorhom-sheet';
8
6
  export { CustomModalAdapter, type ModalAdapterProps, } from './adapters/custom-modal';
9
- /** @deprecated Use `CustomModalAdapter` instead. */
10
- export { ModalAdapter } from './adapters/custom-modal';
11
- export { ReactNativeModalAdapter, type ReactNativeModalAdapterProps, } from './adapters/react-native-modal';
12
- export { ActionsSheetAdapter, type ActionsSheetAdapterProps, } from './adapters/actions-sheet';
13
- export type { SheetAdapterRef, SheetAdapterEvents, SheetRef, } from './adapter.types';
14
- export { createSheetEventHandlers } from './bottomSheetCoordinator';
7
+ export type { SheetAdapterRef, SheetAdapterRef as BottomSheetRef, SheetAdapterEvents, SheetRef, } from './adapter.types';
8
+ export { createSheetEventHandlers, requestClose, closeAllAnimated, } from './bottomSheetCoordinator';
15
9
  export { useAdapterRef } from './useAdapterRef';
16
10
  export { useAnimatedIndex } from './useAnimatedIndex';
17
11
  export { useBackHandler } from './useBackHandler';
18
12
  export { getAnimatedIndex, setAnimatedIndexValue } from './animatedRegistry';
19
- export { useBottomSheetManager } from './useBottomSheetManager';
13
+ export { useBottomSheetManager, type CloseAllOptions, } from './useBottomSheetManager';
20
14
  export { useBottomSheetControl, type UseBottomSheetControlReturn, } from './useBottomSheetControl';
21
15
  export { useBottomSheetContext, useBottomSheetState, type UseBottomSheetContextReturn, } from './useBottomSheetContext';
22
16
  export { useBottomSheetStatus, type UseBottomSheetStatusReturn, } from './useBottomSheetStatus';
17
+ export { useOnBeforeClose } from './useOnBeforeClose';
23
18
  export type { ScaleConfig, ScaleAnimationConfig } from './useScaleAnimation';
24
19
  export type { BottomSheetStatus, OpenMode, BottomSheetState, } from './bottomSheet.store';
25
20
  export type { BottomSheetPortalRegistry, BottomSheetPortalId, BottomSheetPortalParams, } from './portal.types';
26
21
  export { useBottomSheetStore } from './bottomSheet.store';
22
+ export type { OnBeforeCloseCallback } from './onBeforeCloseRegistry';
23
+ export { setOnBeforeClose, removeOnBeforeClose } from './onBeforeCloseRegistry';
27
24
  export { __resetSheetRefs } from './refsMap';
28
25
  export { __resetAnimatedIndexes, __getAllAnimatedIndexes, } from './animatedRegistry';
29
26
  export { __resetPortalSessions } from './portalSessionRegistry';
27
+ export { __resetOnBeforeClose } from './onBeforeCloseRegistry';
30
28
  //# 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;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AACjC,oDAAoD;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG7E,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;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,eAAe,EACf,eAAe,IAAI,cAAc,EACjC,kBAAkB,EAClB,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,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;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,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;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Registry for onBeforeClose interceptors.
3
+ *
4
+ * Callbacks are keyed by sheet ID. When a sheet is about to close,
5
+ * the coordinator checks this registry and calls the interceptor.
6
+ *
7
+ * The interceptor receives `onConfirm` and `onCancel` callbacks that
8
+ * should be called when the user makes a decision. Alternatively, it can
9
+ * return `boolean` or `Promise<boolean>` for backward compatibility.
10
+ *
11
+ * If the interceptor returns `false` (or resolves to `false`), or if
12
+ * `onCancel()` is called, the close is cancelled.
13
+ */
14
+ export type OnBeforeCloseCallback = (context: {
15
+ onConfirm: () => void;
16
+ onCancel: () => void;
17
+ }) => void | boolean | Promise<boolean>;
18
+ export declare function getOnBeforeClose(sheetId: string): OnBeforeCloseCallback | undefined;
19
+ export declare function setOnBeforeClose(sheetId: string, callback: OnBeforeCloseCallback): void;
20
+ export declare function removeOnBeforeClose(sheetId: string): void;
21
+ /**
22
+ * Reset all interceptors. Useful for testing.
23
+ * @internal
24
+ */
25
+ export declare function __resetOnBeforeClose(): void;
26
+ //# sourceMappingURL=onBeforeCloseRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onBeforeCloseRegistry.d.ts","sourceRoot":"","sources":["../../../src/onBeforeCloseRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAIxC,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GACd,qBAAqB,GAAG,SAAS,CAEnC;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -5,6 +5,7 @@ export declare const useSheetContent: (id: string) => import("react").ReactNode;
5
5
  export declare const useSheetUsePortal: (id: string) => boolean | undefined;
6
6
  export declare const useSheetKeepMounted: (id: string) => boolean | undefined;
7
7
  export declare const useSheetPortalSession: (id: string) => number | undefined;
8
+ export declare const useSheetPreventDismiss: (id: string) => boolean;
8
9
  export declare const useSheetExists: (id: string) => boolean;
9
10
  export declare const useIsSheetOpen: (id: string) => boolean;
10
11
  export declare const useHasScaleBackgroundAbove: (id: string) => boolean;
@@ -12,6 +13,7 @@ export declare const useOpen: () => (sheet: import("./types").TriggerState, mode
12
13
  export declare const useStartClosing: () => (id: string) => void;
13
14
  export declare const useUpdateParams: () => (id: string, params: Record<string, unknown> | undefined) => void;
14
15
  export declare const useClearGroup: () => (groupId: string) => void;
16
+ export declare const useSetPreventDismiss: () => (id: string, prevent: boolean) => void;
15
17
  export declare const useMount: () => (sheet: Omit<import("react-native-bottom-sheet-stack").BottomSheetState, "status">) => void;
16
18
  export declare const useUnmount: () => (id: string) => void;
17
19
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/store/hooks.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,2EAC4B,CAAC;AAEhE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,4EAC8B,CAAC;AAExE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,wCAC8B,CAAC;AAExE,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,8BAC8B,CAAC;AAEzE,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,wBAC8B,CAAC;AAE3E,eAAO,MAAM,mBAAmB,GAAI,IAAI,MAAM,wBAC8B,CAAC;AAC7E,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,uBAC8B,CAAC;AAE/E,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,YACwB,CAAC;AAElE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,YAI5B,CAAC;AAEd,eAAO,MAAM,0BAA0B,GAAI,IAAI,MAAM,YAuBxC,CAAC;AAId,eAAO,MAAM,OAAO,kHAAmD,CAAC;AAExE,eAAO,MAAM,eAAe,4BACwB,CAAC;AAErD,eAAO,MAAM,eAAe,yEACwB,CAAC;AAErD,eAAO,MAAM,aAAa,iCACwB,CAAC;AAEnD,eAAO,MAAM,QAAQ,mGAAoD,CAAC;AAE1E,eAAO,MAAM,UAAU,4BAAsD,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/store/hooks.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,2EAC4B,CAAC;AAEhE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,4EAC8B,CAAC;AAExE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,wCAC8B,CAAC;AAExE,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,8BAC8B,CAAC;AAEzE,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,wBAC8B,CAAC;AAE3E,eAAO,MAAM,mBAAmB,GAAI,IAAI,MAAM,wBAC8B,CAAC;AAC7E,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,uBAC8B,CAAC;AAC/E,eAAO,MAAM,sBAAsB,GAAI,IAAI,MAAM,YAI9C,CAAC;AAEJ,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,YACwB,CAAC;AAElE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,YAI5B,CAAC;AAEd,eAAO,MAAM,0BAA0B,GAAI,IAAI,MAAM,YAuBxC,CAAC;AAId,eAAO,MAAM,OAAO,kHAAmD,CAAC;AAExE,eAAO,MAAM,eAAe,4BACwB,CAAC;AAErD,eAAO,MAAM,eAAe,yEACwB,CAAC;AAErD,eAAO,MAAM,aAAa,iCACwB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,8CACwB,CAAC;AAE1D,eAAO,MAAM,QAAQ,mGAAoD,CAAC;AAE1E,eAAO,MAAM,UAAU,4BAAsD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/store/store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;EA0K/B,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/store/store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;EAoL/B,CAAC"}
@@ -16,6 +16,13 @@ export interface BottomSheetState {
16
16
  * react-native-teleport connection issues after replace flows.
17
17
  */
18
18
  portalSession?: number;
19
+ /**
20
+ * When true, the adapter should block user-initiated dismiss gestures
21
+ * (swipe down, backdrop tap). Set by `useOnBeforeClose` to ensure the
22
+ * interceptor runs before closing. Programmatic close via `forceClose()`
23
+ * bypasses this.
24
+ */
25
+ preventDismiss?: boolean;
19
26
  }
20
27
  export type TriggerState = Omit<BottomSheetState, 'status'>;
21
28
  export interface BottomSheetStoreState {
@@ -28,6 +35,7 @@ export interface BottomSheetStoreActions {
28
35
  startClosing(id: string): void;
29
36
  finishClosing(id: string): void;
30
37
  updateParams(id: string, params: Record<string, unknown> | undefined): void;
38
+ setPreventDismiss(id: string, prevent: boolean): void;
31
39
  clearGroup(groupId: string): void;
32
40
  clearAll(): void;
33
41
  mount(sheet: Omit<BottomSheetState, 'status'>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,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,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjD,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,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5E,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,IAAI,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,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,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjD,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,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5E,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACtD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,IAAI,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC"}