react-native-bottom-sheet-stack 1.1.0 → 1.4.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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A stack manager for [@gorhom/bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet) with `push`, `switch`, and `replace` navigation modes, iOS-style scale animations, and React context preservation.
4
4
 
5
+ **[Documentation](https://arekkubaczkowski.github.io/react-native-bottom-sheet-stack/)**
6
+
5
7
  ## Features
6
8
 
7
9
  - **Stack Navigation** — `push`, `switch`, and `replace` modes for managing multiple sheets
@@ -166,9 +168,9 @@ function MyComponent() {
166
168
 
167
169
  The portal API uses [react-native-teleport](https://github.com/nicklockwood/react-native-teleport) to render content in your component tree while displaying it in `BottomSheetHost`.
168
170
 
169
- ### Type-Safe Portal IDs
171
+ ### Type-Safe Portal IDs & Params
170
172
 
171
- You can get autocomplete and type checking for portal sheet IDs by augmenting the `BottomSheetPortalRegistry` interface.
173
+ You can get autocomplete and type checking for portal sheet IDs and their parameters by augmenting the `BottomSheetPortalRegistry` interface.
172
174
 
173
175
  **Step 1:** Create a type declaration file in your project (e.g., `src/types/bottom-sheet.d.ts`):
174
176
 
@@ -177,13 +179,17 @@ import 'react-native-bottom-sheet-stack';
177
179
 
178
180
  declare module 'react-native-bottom-sheet-stack' {
179
181
  interface BottomSheetPortalRegistry {
180
- 'settings-sheet': true;
181
- 'profile-sheet': true;
182
- 'confirm-dialog': true;
182
+ 'settings-sheet': true; // no params
183
+ 'profile-sheet': { userId: string }; // with required params
183
184
  }
184
185
  }
185
186
  ```
186
187
 
188
+ | Value | Meaning |
189
+ |-------|---------|
190
+ | `true` | Sheet has no params |
191
+ | `{ ... }` | Sheet has required params |
192
+
187
193
  **Step 2:** Make sure the file is included in your `tsconfig.json`:
188
194
 
189
195
  ```json
@@ -198,19 +204,35 @@ declare module 'react-native-bottom-sheet-stack' {
198
204
  }
199
205
  ```
200
206
 
201
- **Step 3:** Now TypeScript will autocomplete and validate the `id` prop:
207
+ **Step 3:** Now TypeScript will autocomplete and validate IDs and params:
202
208
 
203
209
  ```tsx
204
- // ✅ Valid - 'settings-sheet' is in registry
205
- <BottomSheetPortal id="settings-sheet">
206
- const control = useBottomSheetControl('settings-sheet');
210
+ // ✅ No params required (defined as `true`)
211
+ settingsControl.open();
207
212
 
208
- // Error - 'unknown-sheet' is not in registry
209
- <BottomSheetPortal id="unknown-sheet">
210
- const control = useBottomSheetControl('unknown-sheet');
213
+ // Params required (defined as object)
214
+ profileControl.open({ params: { userId: '123' } });
215
+
216
+ // ❌ Error - missing required params
217
+ profileControl.open(); // TypeScript error!
211
218
  ```
212
219
 
213
- If you don't augment the registry, the `id` accepts any `string` for flexibility.
220
+ **Step 4:** Access typed params inside your sheet:
221
+
222
+ ```tsx
223
+ const ProfileSheet = forwardRef((props, ref) => {
224
+ // Pass the sheet ID as generic to get typed params
225
+ const { params, close } = useBottomSheetState<'profile-sheet'>();
226
+
227
+ return (
228
+ <BottomSheetManaged ref={ref}>
229
+ <Text>User ID: {params.userId}</Text> {/* ✅ type-safe */}
230
+ </BottomSheetManaged>
231
+ );
232
+ });
233
+ ```
234
+
235
+ If you don't augment the registry, the `id` accepts any `string` and `params` is `unknown`.
214
236
 
215
237
  ## API Reference
216
238
 
@@ -254,40 +276,48 @@ const {
254
276
  } = useBottomSheetManager();
255
277
  ```
256
278
 
257
- #### `useBottomSheetState()`
279
+ #### `useBottomSheetState<T>()`
258
280
 
259
- Use inside a bottom sheet component:
281
+ Use inside a bottom sheet component. Pass a portal ID as generic for typed params:
260
282
 
261
283
  ```tsx
262
284
  const {
263
285
  bottomSheetState, // { id, status, groupId, ... }
286
+ params, // typed if generic provided, unknown otherwise
264
287
  close, // () => void
265
- } = useBottomSheetState();
288
+ } = useBottomSheetState<'my-sheet'>();
266
289
  ```
267
290
 
268
- #### `useBottomSheetControl(id: BottomSheetPortalId)`
291
+ #### `useBottomSheetControl<T>(id: T)`
269
292
 
270
- Control portal-based sheets:
293
+ Control portal-based sheets. Params are type-safe if registry is augmented:
271
294
 
272
295
  ```tsx
273
296
  const {
274
- open, // (options?) => void
297
+ open, // (options?) => void - options include typed params
275
298
  close, // () => void
276
299
  isOpen, // boolean
277
300
  status, // 'opening' | 'open' | 'closing' | 'hidden' | null
278
301
  } = useBottomSheetControl('my-sheet');
302
+
303
+ // Open with params (required if defined in registry)
304
+ open({ params: { userId: '123' }, scaleBackground: true });
279
305
  ```
280
306
 
281
307
  ### Types
282
308
 
283
309
  #### `BottomSheetPortalRegistry`
284
310
 
285
- Interface to augment for type-safe portal IDs. See [Type-Safe Portal IDs](#type-safe-portal-ids).
311
+ Interface to augment for type-safe portal IDs and params. See [Type-Safe Portal IDs & Params](#type-safe-portal-ids--params).
286
312
 
287
313
  #### `BottomSheetPortalId`
288
314
 
289
315
  Type for portal sheet IDs. If `BottomSheetPortalRegistry` is augmented, this is a union of registered keys. Otherwise, it's `string`.
290
316
 
317
+ #### `BottomSheetPortalParams<T>`
318
+
319
+ Type helper to extract params for a given portal sheet ID. Returns `undefined` if the sheet has no params (`true` in registry), or the param type if defined.
320
+
291
321
  ## Example
292
322
 
293
323
  See the [example app](./example) for a full demo including:
@@ -124,10 +124,11 @@ function BottomSheetHostComp() {
124
124
  if ($[6] !== groupId || $[7] !== queueIds || $[8] !== scaleConfig) {
125
125
  let t5;
126
126
  if ($[10] !== groupId || $[11] !== scaleConfig) {
127
- t5 = id => /*#__PURE__*/(0, _jsxRuntime.jsx)(QueueItem, {
127
+ t5 = (id, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(QueueItem, {
128
128
  id: id,
129
129
  groupId: groupId,
130
- scaleConfig: scaleConfig
130
+ scaleConfig: scaleConfig,
131
+ stackIndex: index
131
132
  }, id);
132
133
  $[10] = groupId;
133
134
  $[11] = scaleConfig;
@@ -159,11 +160,12 @@ function _temp(store) {
159
160
  return store.clearAll;
160
161
  }
161
162
  function QueueItem(t0) {
162
- const $ = (0, _compilerRuntime.c)(29);
163
+ const $ = (0, _compilerRuntime.c)(34);
163
164
  const {
164
165
  id,
165
166
  groupId,
166
- scaleConfig
167
+ scaleConfig,
168
+ stackIndex
167
169
  } = t0;
168
170
  let t1;
169
171
  if ($[0] !== id) {
@@ -206,89 +208,105 @@ function QueueItem(t0) {
206
208
  t4 = $[6];
207
209
  }
208
210
  (0, _react.useEffect)(t3, t4);
211
+ const backdropZIndex = stackIndex * 2;
212
+ const contentZIndex = stackIndex * 2 + 1;
209
213
  let t5;
210
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
211
- t5 = [_reactNative.StyleSheet.absoluteFillObject, styles.backdropContainer];
212
- $[7] = t5;
214
+ if ($[7] !== backdropZIndex) {
215
+ t5 = [_reactNative.StyleSheet.absoluteFillObject, {
216
+ zIndex: backdropZIndex
217
+ }];
218
+ $[7] = backdropZIndex;
219
+ $[8] = t5;
213
220
  } else {
214
- t5 = $[7];
221
+ t5 = $[8];
215
222
  }
216
223
  let t6;
217
- if ($[8] !== id) {
218
- t6 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
219
- style: t5,
220
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheetBackdrop.BottomSheetBackdrop, {
221
- sheetId: id
222
- })
224
+ if ($[9] !== id) {
225
+ t6 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheetBackdrop.BottomSheetBackdrop, {
226
+ sheetId: id
223
227
  });
224
- $[8] = id;
225
- $[9] = t6;
228
+ $[9] = id;
229
+ $[10] = t6;
226
230
  } else {
227
- t6 = $[9];
231
+ t6 = $[10];
228
232
  }
229
233
  let t7;
230
- if ($[10] !== height || $[11] !== width) {
231
- t7 = {
232
- width,
233
- height
234
- };
235
- $[10] = height;
236
- $[11] = width;
237
- $[12] = t7;
234
+ if ($[11] !== t5 || $[12] !== t6) {
235
+ t7 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
236
+ style: t5,
237
+ children: t6
238
+ });
239
+ $[11] = t5;
240
+ $[12] = t6;
241
+ $[13] = t7;
238
242
  } else {
239
- t7 = $[12];
243
+ t7 = $[13];
240
244
  }
241
245
  let t8;
242
- if ($[13] !== scaleStyle || $[14] !== t7) {
243
- t8 = [_reactNative.StyleSheet.absoluteFillObject, styles.container, t7, scaleStyle];
244
- $[13] = scaleStyle;
245
- $[14] = t7;
246
- $[15] = t8;
246
+ if ($[14] !== contentZIndex || $[15] !== height || $[16] !== width) {
247
+ t8 = {
248
+ width,
249
+ height,
250
+ zIndex: contentZIndex
251
+ };
252
+ $[14] = contentZIndex;
253
+ $[15] = height;
254
+ $[16] = width;
255
+ $[17] = t8;
247
256
  } else {
248
- t8 = $[15];
257
+ t8 = $[17];
249
258
  }
250
259
  let t9;
251
- if ($[16] !== height || $[17] !== id || $[18] !== sheet?.content || $[19] !== sheet?.usePortal || $[20] !== width) {
252
- t9 = sheet?.usePortal ? /*#__PURE__*/(0, _jsxRuntime.jsx)(PortalHostWrapper, {
260
+ if ($[18] !== scaleStyle || $[19] !== t8) {
261
+ t9 = [_reactNative.StyleSheet.absoluteFillObject, styles.container, t8, scaleStyle];
262
+ $[18] = scaleStyle;
263
+ $[19] = t8;
264
+ $[20] = t9;
265
+ } else {
266
+ t9 = $[20];
267
+ }
268
+ let t10;
269
+ if ($[21] !== height || $[22] !== id || $[23] !== sheet?.content || $[24] !== sheet?.usePortal || $[25] !== width) {
270
+ t10 = sheet?.usePortal ? /*#__PURE__*/(0, _jsxRuntime.jsx)(PortalHostWrapper, {
253
271
  id: id,
254
272
  width: width,
255
273
  height: height
256
274
  }) : sheet?.content;
257
- $[16] = height;
258
- $[17] = id;
259
- $[18] = sheet?.content;
260
- $[19] = sheet?.usePortal;
261
- $[20] = width;
262
- $[21] = t9;
275
+ $[21] = height;
276
+ $[22] = id;
277
+ $[23] = sheet?.content;
278
+ $[24] = sheet?.usePortal;
279
+ $[25] = width;
280
+ $[26] = t10;
263
281
  } else {
264
- t9 = $[21];
282
+ t10 = $[26];
265
283
  }
266
- let t10;
267
- if ($[22] !== t8 || $[23] !== t9) {
268
- t10 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
269
- style: t8,
270
- children: t9
284
+ let t11;
285
+ if ($[27] !== t10 || $[28] !== t9) {
286
+ t11 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
287
+ style: t9,
288
+ children: t10
271
289
  });
272
- $[22] = t8;
273
- $[23] = t9;
274
- $[24] = t10;
290
+ $[27] = t10;
291
+ $[28] = t9;
292
+ $[29] = t11;
275
293
  } else {
276
- t10 = $[24];
294
+ t11 = $[29];
277
295
  }
278
- let t11;
279
- if ($[25] !== t10 || $[26] !== t6 || $[27] !== value) {
280
- t11 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_BottomSheet.BottomSheetContext.Provider, {
296
+ let t12;
297
+ if ($[30] !== t11 || $[31] !== t7 || $[32] !== value) {
298
+ t12 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_BottomSheet.BottomSheetContext.Provider, {
281
299
  value: value,
282
- children: [t6, t10]
300
+ children: [t7, t11]
283
301
  });
284
- $[25] = t10;
285
- $[26] = t6;
286
- $[27] = value;
287
- $[28] = t11;
302
+ $[30] = t11;
303
+ $[31] = t7;
304
+ $[32] = value;
305
+ $[33] = t12;
288
306
  } else {
289
- t11 = $[28];
307
+ t12 = $[33];
290
308
  }
291
- return t11;
309
+ return t12;
292
310
  }
293
311
  const useQueueIds = () => {
294
312
  const $ = (0, _compilerRuntime.c)(2);
@@ -307,11 +325,7 @@ const useQueueIds = () => {
307
325
  };
308
326
  const BottomSheetHost = exports.BottomSheetHost = BottomSheetHostComp;
309
327
  const styles = _reactNative.StyleSheet.create({
310
- backdropContainer: {
311
- zIndex: 99_999_999
312
- },
313
328
  container: {
314
- zIndex: 100_000_000,
315
329
  pointerEvents: 'box-none'
316
330
  }
317
331
  });
@@ -1 +1 @@
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","QueueItem","map","Fragment","store","state","sheetsById","sheet","useSafeAreaFrame","value","scaleDepth","useScaleDepth","scaleStyle","useScaleAnimatedStyle","cleanupAnimatedIndex","Symbol","for","StyleSheet","absoluteFillObject","styles","backdropContainer","t6","BottomSheetBackdrop","t7","t8","container","t9","content","usePortal","t10","t11","jsxs","BottomSheetContext","Provider","stackOrder","filter","sheetId","shallow","BottomSheetHost","exports","create","zIndex","pointerEvents"],"sourceRoot":"../../src","sources":["BottomSheetHost.tsx"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -83,7 +83,8 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
83
83
  content: null,
84
84
  status: 'opening',
85
85
  usePortal: true,
86
- scaleBackground: options?.scaleBackground
86
+ scaleBackground: options?.scaleBackground,
87
+ params: options?.params
87
88
  }
88
89
  },
89
90
  stackOrder: [...state.stackOrder, id]
@@ -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","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":[]}
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","params","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;AAwCO,MAAME,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAAE,iCAAM,EACvC,IAAAC,iCAAqB,EAAoBC,GAAG,KAAM;EAChDC,UAAU,EAAE,CAAC,CAAC;EACdC,UAAU,EAAE,EAAE;EAEdC,IAAI,EAAGC,KAAK,IACVJ,GAAG,CAAEK,KAAK,IAAK;IACb,IAAIA,KAAK,CAACJ,UAAU,CAACG,KAAK,CAACE,EAAE,CAAC,EAAE;MAC9B,OAAOD,KAAK;IACd;IACA,OAAO;MACLJ,UAAU,EAAE;QACV,GAAGI,KAAK,CAACJ,UAAU;QACnB,CAACG,KAAK,CAACE,EAAE,GAAG;UAAE,GAAGF,KAAK;UAAEG,MAAM,EAAE;QAAU;MAC5C,CAAC;MACDL,UAAU,EAAE,CAAC,GAAGG,KAAK,CAACH,UAAU,EAAEE,KAAK,CAACE,EAAE;IAC5C,CAAC;EACH,CAAC,CAAC;EAEJE,MAAM,EAAGJ,KAAK,IACZJ,GAAG,CAAEK,KAAK,IAAK;IACb,IAAIA,KAAK,CAACJ,UAAU,CAACG,KAAK,CAACE,EAAE,CAAC,EAAE;MAC9B,OAAOD,KAAK;IACd;IAEA,MAAMI,aAAa,GAAG;MAAE,GAAGJ,KAAK,CAACJ;IAAW,CAAC;IAC7C,MAAMS,KAAK,GAAGL,KAAK,CAACH,UAAU,CAACG,KAAK,CAACH,UAAU,CAACS,MAAM,GAAG,CAAC,CAAC;IAE3D,IAAID,KAAK,IAAID,aAAa,CAACC,KAAK,CAAC,EAAE;MACjCD,aAAa,CAACC,KAAK,CAAC,GAAG;QACrB,GAAGD,aAAa,CAACC,KAAK,CAAC;QACvBH,MAAM,EAAE;MACV,CAAC;IACH;IAEAE,aAAa,CAACL,KAAK,CAACE,EAAE,CAAC,GAAG;MAAE,GAAGF,KAAK;MAAEG,MAAM,EAAE;IAAU,CAAC;IAEzD,OAAO;MACLN,UAAU,EAAEQ,aAAa;MACzBP,UAAU,EAAE,CAAC,GAAGG,KAAK,CAACH,UAAU,EAAEE,KAAK,CAACE,EAAE;IAC5C,CAAC;EACH,CAAC,CAAC;EAEJM,OAAO,EAAGR,KAAK,IACbJ,GAAG,CAAEK,KAAK,IAAK;IACb,IAAIA,KAAK,CAACJ,UAAU,CAACG,KAAK,CAACE,EAAE,CAAC,EAAE;MAC9B,OAAOD,KAAK;IACd;IAEA,MAAMI,aAAa,GAAG;MAAE,GAAGJ,KAAK,CAACJ;IAAW,CAAC;IAC7C,MAAMS,KAAK,GAAGL,KAAK,CAACH,UAAU,CAACG,KAAK,CAACH,UAAU,CAACS,MAAM,GAAG,CAAC,CAAC;IAE3D,IAAID,KAAK,IAAID,aAAa,CAACC,KAAK,CAAC,EAAE;MACjCD,aAAa,CAACC,KAAK,CAAC,GAAG;QACrB,GAAGD,aAAa,CAACC,KAAK,CAAC;QACvBH,MAAM,EAAE;MACV,CAAC;IACH;IAEAE,aAAa,CAACL,KAAK,CAACE,EAAE,CAAC,GAAG;MAAE,GAAGF,KAAK;MAAEG,MAAM,EAAE;IAAU,CAAC;IAEzD,OAAO;MACLN,UAAU,EAAEQ,aAAa;MACzBP,UAAU,EAAE,CAAC,GAAGG,KAAK,CAACH,UAAU,EAAEE,KAAK,CAACE,EAAE;IAC5C,CAAC;EACH,CAAC,CAAC;EAEJO,UAAU,EAAEA,CAACP,EAAE,EAAEQ,OAAO,EAAEC,OAAO,KAC/Bf,GAAG,CAAEK,KAAK,IAAK;IACb,IAAIA,KAAK,CAACJ,UAAU,CAACK,EAAE,CAAC,EAAE;MACxB,OAAOD,KAAK;IACd;IACA,OAAO;MACLJ,UAAU,EAAE;QACV,GAAGI,KAAK,CAACJ,UAAU;QACnB,CAACK,EAAE,GAAG;UACJA,EAAE;UACFQ,OAAO;UACPE,OAAO,EAAE,IAAI;UACbT,MAAM,EAAE,SAAS;UACjBU,SAAS,EAAE,IAAI;UACfC,eAAe,EAAEH,OAAO,EAAEG,eAAe;UACzCC,MAAM,EAAEJ,OAAO,EAAEI;QACnB;MACF,CAAC;MACDjB,UAAU,EAAE,CAAC,GAAGG,KAAK,CAACH,UAAU,EAAEI,EAAE;IACtC,CAAC;EACH,CAAC,CAAC;EAEJc,QAAQ,EAAGd,EAAE,IACXN,GAAG,CAAEK,KAAK,IAAK;IACb,MAAMD,KAAK,GAAGC,KAAK,CAACJ,UAAU,CAACK,EAAE,CAAC;IAClC,IAAI,CAACF,KAAK,EAAE;MACV,OAAOC,KAAK;IACd;IACA,OAAO;MACLJ,UAAU,EAAE;QACV,GAAGI,KAAK,CAACJ,UAAU;QACnB,CAACK,EAAE,GAAG;UAAE,GAAGF,KAAK;UAAEG,MAAM,EAAE;QAAO;MACnC;IACF,CAAC;EACH,CAAC,CAAC;EAEJc,YAAY,EAAGf,EAAE,IACfN,GAAG,CAAEK,KAAK,IAAK;IACb,MAAMD,KAAK,GAAGC,KAAK,CAACJ,UAAU,CAACK,EAAE,CAAC;IAClC,IAAI,CAACF,KAAK,IAAIA,KAAK,CAACG,MAAM,KAAK,QAAQ,EAAE;MACvC,OAAOF,KAAK;IACd;IAEA,MAAMI,aAAa,GAAG;MAAE,GAAGJ,KAAK,CAACJ;IAAW,CAAC;IAC7CQ,aAAa,CAACH,EAAE,CAAC,GAAG;MAAE,GAAGF,KAAK;MAAEG,MAAM,EAAE;IAAU,CAAC;IAEnD,MAAMe,KAAK,GAAGjB,KAAK,CAACH,UAAU,CAACqB,OAAO,CAACjB,EAAE,CAAC;IAC1C,MAAMkB,OAAO,GAAGnB,KAAK,CAACH,UAAU,CAACoB,KAAK,GAAG,CAAC,CAAC;IAC3C,MAAMG,UAAU,GAAGD,OAAO,GAAGf,aAAa,CAACe,OAAO,CAAC,GAAGE,SAAS;IAE/D,IAAIF,OAAO,IAAIC,UAAU,IAAIA,UAAU,CAAClB,MAAM,KAAK,QAAQ,EAAE;MAC3DE,aAAa,CAACe,OAAO,CAAC,GAAG;QAAE,GAAGC,UAAU;QAAElB,MAAM,EAAE;MAAU,CAAC;IAC/D;IAEA,OAAO;MAAEN,UAAU,EAAEQ;IAAc,CAAC;EACtC,CAAC,CAAC;EAEJkB,aAAa,EAAGrB,EAAE,IAChBN,GAAG,CAAEK,KAAK,IAAK;IACb,IAAI,CAACA,KAAK,CAACJ,UAAU,CAACK,EAAE,CAAC,EAAE;MACzB,OAAOD,KAAK;IACd;IAEA,MAAMI,aAAa,GAAG;MAAE,GAAGJ,KAAK,CAACJ;IAAW,CAAC;IAC7C,OAAOQ,aAAa,CAACH,EAAE,CAAC;IAExB,MAAMsB,aAAa,GAAGvB,KAAK,CAACH,UAAU,CAAC2B,MAAM,CAC1CC,OAAO,IAAKA,OAAO,KAAKxB,EAC3B,CAAC;IAED,MAAMI,KAAK,GAAGkB,aAAa,CAACA,aAAa,CAACjB,MAAM,GAAG,CAAC,CAAC;IACrD,MAAMoB,QAAQ,GAAGrB,KAAK,GAAGD,aAAa,CAACC,KAAK,CAAC,GAAGgB,SAAS;IAEzD,IAAIhB,KAAK,IAAIqB,QAAQ,IAAIA,QAAQ,CAACxB,MAAM,KAAK,QAAQ,EAAE;MACrDE,aAAa,CAACC,KAAK,CAAC,GAAG;QAAE,GAAGqB,QAAQ;QAAExB,MAAM,EAAE;MAAU,CAAC;IAC3D;IAEA,OAAO;MACLN,UAAU,EAAEQ,aAAa;MACzBP,UAAU,EAAE0B;IACd,CAAC;EACH,CAAC,CAAC;EAEJI,QAAQ,EAAEA,CAAA,KAAMhC,GAAG,CAAC,OAAO;IAAEC,UAAU,EAAE,CAAC,CAAC;IAAEC,UAAU,EAAE;EAAG,CAAC,CAAC;AAChE,CAAC,CAAC,CACJ,CAAC","ignoreList":[]}
@@ -54,23 +54,24 @@ function useBottomSheetControl(id) {
54
54
  const close = t2;
55
55
  const status = sheetState?.status ?? null;
56
56
  const isOpen = status === "open" || status === "opening";
57
- let t3;
58
- if ($[9] !== close || $[10] !== isOpen || $[11] !== open || $[12] !== status) {
59
- t3 = {
60
- open,
57
+ const t3 = open;
58
+ let t4;
59
+ if ($[9] !== close || $[10] !== isOpen || $[11] !== status || $[12] !== t3) {
60
+ t4 = {
61
+ open: t3,
61
62
  close,
62
63
  isOpen,
63
64
  status
64
65
  };
65
66
  $[9] = close;
66
67
  $[10] = isOpen;
67
- $[11] = open;
68
- $[12] = status;
69
- $[13] = t3;
68
+ $[11] = status;
69
+ $[12] = t3;
70
+ $[13] = t4;
70
71
  } else {
71
- t3 = $[13];
72
+ t4 = $[13];
72
73
  }
73
- return t3;
74
+ return t4;
74
75
  }
75
76
  function _temp2(state_0) {
76
77
  return state_0.startClosing;
@@ -1 +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
+ {"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","t4","state_0"],"sourceRoot":"../../src","sources":["useBottomSheetControl.ts"],"mappings":"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","ignoreList":[]}
@@ -7,8 +7,10 @@ exports.useBottomSheetState = useBottomSheetState;
7
7
  var _compilerRuntime = require("react/compiler-runtime");
8
8
  var _BottomSheet = require("./BottomSheet.context");
9
9
  var _bottomSheet = require("./bottomSheet.store");
10
+ // Marker type to detect when no generic is provided
11
+
10
12
  function useBottomSheetState() {
11
- const $ = (0, _compilerRuntime.c)(8);
13
+ const $ = (0, _compilerRuntime.c)(9);
12
14
  const context = (0, _BottomSheet.useMaybeBottomSheetContext)();
13
15
  let t0;
14
16
  if ($[0] !== context?.id) {
@@ -24,29 +26,32 @@ function useBottomSheetState() {
24
26
  throw new Error("useBottomSheetState must be used within a BottomSheetProvider");
25
27
  }
26
28
  let t1;
27
- if ($[2] !== bottomSheetState || $[3] !== startClosing) {
29
+ if ($[2] !== bottomSheetState.id || $[3] !== startClosing) {
28
30
  t1 = () => startClosing(bottomSheetState.id);
29
- $[2] = bottomSheetState;
31
+ $[2] = bottomSheetState.id;
30
32
  $[3] = startClosing;
31
33
  $[4] = t1;
32
34
  } else {
33
35
  t1 = $[4];
34
36
  }
35
37
  const close = t1;
36
- let t2;
37
- if ($[5] !== bottomSheetState || $[6] !== close) {
38
- t2 = {
38
+ const t2 = bottomSheetState.params;
39
+ let t3;
40
+ if ($[5] !== bottomSheetState || $[6] !== close || $[7] !== t2) {
41
+ t3 = {
39
42
  bottomSheetState,
43
+ params: t2,
40
44
  close,
41
45
  closeBottomSheet: close
42
46
  };
43
47
  $[5] = bottomSheetState;
44
48
  $[6] = close;
45
49
  $[7] = t2;
50
+ $[8] = t3;
46
51
  } else {
47
- t2 = $[7];
52
+ t3 = $[8];
48
53
  }
49
- return t2;
54
+ return t3;
50
55
  }
51
56
  function _temp(state_0) {
52
57
  return state_0.startClosing;
@@ -1 +1 @@
1
- {"version":3,"names":["_BottomSheet","require","_bottomSheet","useBottomSheetState","$","_compilerRuntime","c","context","useMaybeBottomSheetContext","t0","id","state","sheetsById","bottomSheetState","useBottomSheetStore","startClosing","_temp","Error","t1","close","t2","closeBottomSheet","state_0"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKO,SAAAE,oBAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAKL,MAAAC,OAAA,GAAgB,IAAAC,uCAA0B,EAAC,CAAC;EAAC,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAG,OAAA,EAAAG,EAAA;IAG3CD,EAAA,GAAAE,KAAA,IAAWA,KAAK,CAAAC,UAAW,CAACL,OAAO,EAAAG,EAAI,CAAE;IAAAN,CAAA,MAAAG,OAAA,EAAAG,EAAA;IAAAN,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAD3C,MAAAS,gBAAA,GAAyB,IAAAC,gCAAmB,EAC1CL,EACF,CAAC;EAED,MAAAM,YAAA,GAAqB,IAAAD,gCAAmB,EAACE,KAA6B,CAAC;EAEvE,IAAI,CAACH,gBAAgB;IACnB,MAAM,IAAII,KAAK,CACb,+DACF,CAAC;EAAC;EACH,IAAAC,EAAA;EAAA,IAAAd,CAAA,QAAAS,gBAAA,IAAAT,CAAA,QAAAW,YAAA;IAEaG,EAAA,GAAAA,CAAA,KAAMH,YAAY,CAACF,gBAAgB,CAAAH,EAAG,CAAC;IAAAN,CAAA,MAAAS,gBAAA;IAAAT,CAAA,MAAAW,YAAA;IAAAX,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAArD,MAAAe,KAAA,GAAcD,EAAuC;EAAC,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAS,gBAAA,IAAAT,CAAA,QAAAe,KAAA;IAE/CC,EAAA;MAAAP,gBAAA;MAAAM,KAAA;MAAAE,gBAAA,EAGaF;IACpB,CAAC;IAAAf,CAAA,MAAAS,gBAAA;IAAAT,CAAA,MAAAe,KAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAAA,OAJMgB,EAIN;AAAA;AAzBI,SAAAJ,MAAAM,OAAA;EAAA,OAW+CX,OAAK,CAAAI,YAAa;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_BottomSheet","require","_bottomSheet","useBottomSheetState","$","_compilerRuntime","c","context","useMaybeBottomSheetContext","t0","id","state","sheetsById","bottomSheetState","useBottomSheetStore","startClosing","_temp","Error","t1","close","t2","params","t3","closeBottomSheet","state_0"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AASA;;AAiBO,SAAAE,oBAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAGL,MAAAC,OAAA,GAAgB,IAAAC,uCAA0B,EAAC,CAAC;EAAC,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAG,OAAA,EAAAG,EAAA;IAG3CD,EAAA,GAAAE,KAAA,IAAWA,KAAK,CAAAC,UAAW,CAACL,OAAO,EAAAG,EAAI,CAAE;IAAAN,CAAA,MAAAG,OAAA,EAAAG,EAAA;IAAAN,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAD3C,MAAAS,gBAAA,GAAyB,IAAAC,gCAAmB,EAC1CL,EACF,CAAC;EAED,MAAAM,YAAA,GAAqB,IAAAD,gCAAmB,EAACE,KAA6B,CAAC;EAEvE,IAAI,CAACH,gBAAgB;IACnB,MAAM,IAAII,KAAK,CACb,+DACF,CAAC;EAAC;EACH,IAAAC,EAAA;EAAA,IAAAd,CAAA,QAAAS,gBAAA,CAAAH,EAAA,IAAAN,CAAA,QAAAW,YAAA;IAEaG,EAAA,GAAAA,CAAA,KAAMH,YAAY,CAACF,gBAAgB,CAAAH,EAAG,CAAC;IAAAN,CAAA,MAAAS,gBAAA,CAAAH,EAAA;IAAAN,CAAA,MAAAW,YAAA;IAAAX,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAArD,MAAAe,KAAA,GAAcD,EAAuC;EAI3C,MAAAE,EAAA,GAAAP,gBAAgB,CAAAQ,MAAO;EAAoB,IAAAC,EAAA;EAAA,IAAAlB,CAAA,QAAAS,gBAAA,IAAAT,CAAA,QAAAe,KAAA,IAAAf,CAAA,QAAAgB,EAAA;IAF9CE,EAAA;MAAAT,gBAAA;MAAAQ,MAAA,EAEGD,EAA2C;MAAAD,KAAA;MAAAI,gBAAA,EAEjCJ;IACpB,CAAC;IAAAf,CAAA,MAAAS,gBAAA;IAAAT,CAAA,MAAAe,KAAA;IAAAf,CAAA,MAAAgB,EAAA;IAAAhB,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAAA,OALMkB,EAKN;AAAA;AAxBI,SAAAN,MAAAQ,OAAA;EAAA,OAS+Cb,OAAK,CAAAI,YAAa;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetHost.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetHost.tsx"],"names":[],"mappings":"AAmCA,iBAAS,mBAAmB,4CA+B3B;AAgED,eAAO,MAAM,eAAe,4BAAsB,CAAC"}
1
+ {"version":3,"file":"BottomSheetHost.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetHost.tsx"],"names":[],"mappings":"AAmCA,iBAAS,mBAAmB,4CAgC3B;AAmED,eAAO,MAAM,eAAe,4BAAsB,CAAC"}
@@ -8,14 +8,16 @@ export interface BottomSheetState {
8
8
  status: BottomSheetStatus;
9
9
  scaleBackground?: boolean;
10
10
  usePortal?: boolean;
11
+ params?: Record<string, unknown>;
11
12
  }
12
13
  type TriggerState = Omit<BottomSheetState, 'status'>;
13
14
  interface BottomSheetStoreState {
14
15
  sheetsById: Record<string, BottomSheetState>;
15
16
  stackOrder: string[];
16
17
  }
17
- export interface PortalOpenOptions {
18
+ export interface PortalOpenOptions<TParams = Record<string, unknown>> {
18
19
  scaleBackground?: boolean;
20
+ params?: TParams;
19
21
  }
20
22
  interface BottomSheetStoreActions {
21
23
  push(sheet: TriggerState): 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;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"}
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;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;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,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;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;;;;;;;;EAwJ/B,CAAC"}
@@ -7,5 +7,5 @@ export { BottomSheetScaleView } from './BottomSheetScaleView';
7
7
  export { type ScaleConfig } from './useScaleAnimation';
8
8
  export { BottomSheetPortal } from './BottomSheetPortal';
9
9
  export { useBottomSheetControl } from './useBottomSheetControl';
10
- export type { BottomSheetPortalRegistry, BottomSheetPortalId, } from './portal.types';
10
+ export type { BottomSheetPortalRegistry, BottomSheetPortalId, BottomSheetPortalParams, } from './portal.types';
11
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;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"}
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,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Registry for portal-based bottom sheets.
3
- * Augment this interface in your app to get type-safe sheet IDs:
3
+ * Augment this interface in your app to get type-safe sheet IDs and params:
4
4
  *
5
5
  * @example
6
6
  * ```tsx
7
7
  * declare module 'react-native-bottom-sheet-stack' {
8
8
  * interface BottomSheetPortalRegistry {
9
- * 'my-sheet': true;
10
- * 'settings-sheet': true;
11
- * 'profile-sheet': true;
9
+ * 'simple-sheet': true; // no params
10
+ * 'user-sheet': { userId: string }; // with params
11
+ * 'settings-sheet': { theme: 'light' | 'dark'; notifications: boolean };
12
12
  * }
13
13
  * }
14
14
  * ```
@@ -21,4 +21,13 @@ export interface BottomSheetPortalRegistry {
21
21
  * Otherwise, it falls back to `string` for flexibility.
22
22
  */
23
23
  export type BottomSheetPortalId = keyof BottomSheetPortalRegistry extends never ? string : Extract<keyof BottomSheetPortalRegistry, string>;
24
+ /**
25
+ * Extract params type for a given portal sheet ID.
26
+ * Returns `undefined` if the sheet has no params (value is `true`).
27
+ */
28
+ export type BottomSheetPortalParams<T extends BottomSheetPortalId> = keyof BottomSheetPortalRegistry extends never ? Record<string, unknown> | undefined : T extends keyof BottomSheetPortalRegistry ? BottomSheetPortalRegistry[T] extends true ? undefined : BottomSheetPortalRegistry[T] : Record<string, unknown> | undefined;
29
+ /**
30
+ * Check if a portal sheet has params defined.
31
+ */
32
+ export type HasParams<T extends BottomSheetPortalId> = keyof BottomSheetPortalRegistry extends never ? false : T extends keyof BottomSheetPortalRegistry ? BottomSheetPortalRegistry[T] extends true ? false : true : false;
24
33
  //# sourceMappingURL=portal.types.d.ts.map
@@ -1 +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"}
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;AAErD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,IAC/D,MAAM,yBAAyB,SAAS,KAAK,GACzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACnC,CAAC,SAAS,MAAM,yBAAyB,GACvC,yBAAyB,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,SAAS,GACT,yBAAyB,CAAC,CAAC,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,mBAAmB,IACjD,MAAM,yBAAyB,SAAS,KAAK,GACzC,KAAK,GACL,CAAC,SAAS,MAAM,yBAAyB,GACvC,yBAAyB,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,KAAK,GACL,IAAI,GACN,KAAK,CAAC"}
@@ -1,10 +1,17 @@
1
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;
2
+ import type { BottomSheetPortalId, BottomSheetPortalParams, HasParams } from './portal.types';
3
+ type OpenOptions<T extends BottomSheetPortalId> = Omit<PortalOpenOptions<BottomSheetPortalParams<T>>, 'params'> & (HasParams<T> extends true ? {
4
+ params: BottomSheetPortalParams<T>;
5
+ } : {
6
+ params?: BottomSheetPortalParams<T>;
7
+ });
8
+ type OpenFunction<T extends BottomSheetPortalId> = HasParams<T> extends true ? (options: OpenOptions<T>) => void : (options?: OpenOptions<T>) => void;
9
+ export interface UseBottomSheetControlReturn<T extends BottomSheetPortalId> {
10
+ open: OpenFunction<T>;
5
11
  close: () => void;
6
12
  isOpen: boolean;
7
13
  status: BottomSheetStatus | null;
8
14
  }
9
- export declare function useBottomSheetControl(id: BottomSheetPortalId): UseBottomSheetControlReturn;
15
+ export declare function useBottomSheetControl<T extends BottomSheetPortalId>(id: T): UseBottomSheetControlReturn<T>;
16
+ export {};
10
17
  //# sourceMappingURL=useBottomSheetControl.d.ts.map
@@ -1 +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"}
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,EACV,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAGxB,KAAK,WAAW,CAAC,CAAC,SAAS,mBAAmB,IAAI,IAAI,CACpD,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAC7C,QAAQ,CACT,GACC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GACtB;IAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAA;CAAE,GACtC;IAAE,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,mBAAmB,IAC7C,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GACrB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GACjC,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEzC,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,mBAAmB;IACxE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,mBAAmB,EACjE,EAAE,EAAE,CAAC,GACJ,2BAA2B,CAAC,CAAC,CAAC,CA8BhC"}
@@ -15,6 +15,7 @@ export declare const useBottomSheetManager: () => {
15
15
  content: React.ReactNode;
16
16
  scaleBackground?: boolean | undefined;
17
17
  usePortal?: boolean | undefined;
18
+ params?: Record<string, unknown> | undefined;
18
19
  }) => void;
19
20
  replaceBottomSheet: (sheet: {
20
21
  groupId: string;
@@ -22,6 +23,7 @@ export declare const useBottomSheetManager: () => {
22
23
  content: React.ReactNode;
23
24
  scaleBackground?: boolean | undefined;
24
25
  usePortal?: boolean | undefined;
26
+ params?: Record<string, unknown> | undefined;
25
27
  }) => void;
26
28
  };
27
29
  //# 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;;;;;;;;;;;;;;;CA8CJ,CAAC"}
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"}
@@ -1,7 +1,14 @@
1
1
  import { type BottomSheetState } from './bottomSheet.store';
2
- export declare function useBottomSheetState(): {
2
+ import type { BottomSheetPortalId, BottomSheetPortalParams } from './portal.types';
3
+ declare const UNSPECIFIED: unique symbol;
4
+ type Unspecified = typeof UNSPECIFIED;
5
+ type ResolveParams<T> = T extends Unspecified ? unknown : T extends BottomSheetPortalId ? BottomSheetPortalParams<T> : unknown;
6
+ export interface UseBottomSheetStateReturn<T> {
3
7
  bottomSheetState: BottomSheetState;
8
+ params: ResolveParams<T>;
4
9
  close: () => void;
5
10
  closeBottomSheet: () => void;
6
- };
11
+ }
12
+ export declare function useBottomSheetState<T extends BottomSheetPortalId | Unspecified = Unspecified>(): UseBottomSheetStateReturn<T>;
13
+ export {};
7
14
  //# sourceMappingURL=useBottomSheetState.d.ts.map
@@ -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;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAsBA"}
1
+ {"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AACzC,KAAK,WAAW,GAAG,OAAO,WAAW,CAAC;AAEtC,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,GACzC,OAAO,GACP,CAAC,SAAS,mBAAmB,GAC3B,uBAAuB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC;AAEd,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,mBAAmB,GAAG,WAAW,GAAG,WAAW,KACtD,yBAAyB,CAAC,CAAC,CAAC,CAuBhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bottom-sheet-stack",
3
- "version": "1.1.0",
3
+ "version": "1.4.0",
4
4
  "description": "Bottom Sheet Stack Manager",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "lib/commonjs/index.js",
@@ -54,12 +54,13 @@ function BottomSheetHostComp() {
54
54
 
55
55
  return (
56
56
  <>
57
- {queueIds.map((id) => (
57
+ {queueIds.map((id, index) => (
58
58
  <QueueItem
59
59
  key={id}
60
60
  id={id}
61
61
  groupId={groupId}
62
62
  scaleConfig={scaleConfig}
63
+ stackIndex={index}
63
64
  />
64
65
  ))}
65
66
  </>
@@ -70,10 +71,12 @@ function QueueItem({
70
71
  id,
71
72
  groupId,
72
73
  scaleConfig,
74
+ stackIndex,
73
75
  }: {
74
76
  id: string;
75
77
  groupId: string;
76
78
  scaleConfig?: ScaleConfig;
79
+ stackIndex: number;
77
80
  }) {
78
81
  const sheet = useBottomSheetStore((state) => state.sheetsById[id]);
79
82
 
@@ -83,17 +86,18 @@ function QueueItem({
83
86
  const scaleDepth = useScaleDepth(groupId, id);
84
87
  const scaleStyle = useScaleAnimatedStyle(scaleDepth, scaleConfig);
85
88
 
86
- // Cleanup animated index when sheet is unmounted
87
89
  useEffect(() => {
88
90
  return () => {
89
91
  cleanupAnimatedIndex(id);
90
92
  };
91
93
  }, [id]);
92
94
 
95
+ const backdropZIndex = stackIndex * 2;
96
+ const contentZIndex = stackIndex * 2 + 1;
97
+
93
98
  return (
94
99
  <BottomSheetContext.Provider value={value}>
95
- {/* Backdrop - rendered without scaling */}
96
- <View style={[StyleSheet.absoluteFillObject, styles.backdropContainer]}>
100
+ <View style={[StyleSheet.absoluteFillObject, { zIndex: backdropZIndex }]}>
97
101
  <BottomSheetBackdrop sheetId={id} />
98
102
  </View>
99
103
 
@@ -102,7 +106,7 @@ function QueueItem({
102
106
  style={[
103
107
  StyleSheet.absoluteFillObject,
104
108
  styles.container,
105
- { width, height },
109
+ { width, height, zIndex: contentZIndex },
106
110
  scaleStyle,
107
111
  ]}
108
112
  >
@@ -131,11 +135,7 @@ const useQueueIds = () => {
131
135
  export const BottomSheetHost = BottomSheetHostComp;
132
136
 
133
137
  const styles = StyleSheet.create({
134
- backdropContainer: {
135
- zIndex: 99_999_999,
136
- },
137
138
  container: {
138
- zIndex: 100_000_000,
139
139
  pointerEvents: 'box-none',
140
140
  },
141
141
  });
@@ -12,6 +12,7 @@ export interface BottomSheetState {
12
12
  status: BottomSheetStatus;
13
13
  scaleBackground?: boolean;
14
14
  usePortal?: boolean;
15
+ params?: Record<string, unknown>;
15
16
  }
16
17
 
17
18
  type TriggerState = Omit<BottomSheetState, 'status'>;
@@ -21,8 +22,9 @@ interface BottomSheetStoreState {
21
22
  stackOrder: string[];
22
23
  }
23
24
 
24
- export interface PortalOpenOptions {
25
+ export interface PortalOpenOptions<TParams = Record<string, unknown>> {
25
26
  scaleBackground?: boolean;
27
+ params?: TParams;
26
28
  }
27
29
 
28
30
  interface BottomSheetStoreActions {
@@ -120,6 +122,7 @@ export const useBottomSheetStore = create(
120
122
  status: 'opening',
121
123
  usePortal: true,
122
124
  scaleBackground: options?.scaleBackground,
125
+ params: options?.params,
123
126
  },
124
127
  },
125
128
  stackOrder: [...state.stackOrder, id],
package/src/index.tsx CHANGED
@@ -10,4 +10,5 @@ export { useBottomSheetControl } from './useBottomSheetControl';
10
10
  export type {
11
11
  BottomSheetPortalRegistry,
12
12
  BottomSheetPortalId,
13
+ BottomSheetPortalParams,
13
14
  } from './portal.types';
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Registry for portal-based bottom sheets.
3
- * Augment this interface in your app to get type-safe sheet IDs:
3
+ * Augment this interface in your app to get type-safe sheet IDs and params:
4
4
  *
5
5
  * @example
6
6
  * ```tsx
7
7
  * declare module 'react-native-bottom-sheet-stack' {
8
8
  * interface BottomSheetPortalRegistry {
9
- * 'my-sheet': true;
10
- * 'settings-sheet': true;
11
- * 'profile-sheet': true;
9
+ * 'simple-sheet': true; // no params
10
+ * 'user-sheet': { userId: string }; // with params
11
+ * 'settings-sheet': { theme: 'light' | 'dark'; notifications: boolean };
12
12
  * }
13
13
  * }
14
14
  * ```
@@ -23,3 +23,28 @@ export interface BottomSheetPortalRegistry {}
23
23
  export type BottomSheetPortalId = keyof BottomSheetPortalRegistry extends never
24
24
  ? string
25
25
  : Extract<keyof BottomSheetPortalRegistry, string>;
26
+
27
+ /**
28
+ * Extract params type for a given portal sheet ID.
29
+ * Returns `undefined` if the sheet has no params (value is `true`).
30
+ */
31
+ export type BottomSheetPortalParams<T extends BottomSheetPortalId> =
32
+ keyof BottomSheetPortalRegistry extends never
33
+ ? Record<string, unknown> | undefined
34
+ : T extends keyof BottomSheetPortalRegistry
35
+ ? BottomSheetPortalRegistry[T] extends true
36
+ ? undefined
37
+ : BottomSheetPortalRegistry[T]
38
+ : Record<string, unknown> | undefined;
39
+
40
+ /**
41
+ * Check if a portal sheet has params defined.
42
+ */
43
+ export type HasParams<T extends BottomSheetPortalId> =
44
+ keyof BottomSheetPortalRegistry extends never
45
+ ? false
46
+ : T extends keyof BottomSheetPortalRegistry
47
+ ? BottomSheetPortalRegistry[T] extends true
48
+ ? false
49
+ : true
50
+ : false;
@@ -7,26 +7,43 @@ import {
7
7
  type PortalOpenOptions,
8
8
  } from './bottomSheet.store';
9
9
  import { useMaybeBottomSheetManagerContext } from './BottomSheetManager.provider';
10
- import type { BottomSheetPortalId } from './portal.types';
10
+ import type {
11
+ BottomSheetPortalId,
12
+ BottomSheetPortalParams,
13
+ HasParams,
14
+ } from './portal.types';
11
15
  import { sheetRefs } from './refsMap';
12
16
 
13
- export interface UseBottomSheetControlReturn {
14
- open: (options?: PortalOpenOptions) => void;
17
+ type OpenOptions<T extends BottomSheetPortalId> = Omit<
18
+ PortalOpenOptions<BottomSheetPortalParams<T>>,
19
+ 'params'
20
+ > &
21
+ (HasParams<T> extends true
22
+ ? { params: BottomSheetPortalParams<T> }
23
+ : { params?: BottomSheetPortalParams<T> });
24
+
25
+ type OpenFunction<T extends BottomSheetPortalId> =
26
+ HasParams<T> extends true
27
+ ? (options: OpenOptions<T>) => void
28
+ : (options?: OpenOptions<T>) => void;
29
+
30
+ export interface UseBottomSheetControlReturn<T extends BottomSheetPortalId> {
31
+ open: OpenFunction<T>;
15
32
  close: () => void;
16
33
  isOpen: boolean;
17
34
  status: BottomSheetStatus | null;
18
35
  }
19
36
 
20
- export function useBottomSheetControl(
21
- id: BottomSheetPortalId
22
- ): UseBottomSheetControlReturn {
37
+ export function useBottomSheetControl<T extends BottomSheetPortalId>(
38
+ id: T
39
+ ): UseBottomSheetControlReturn<T> {
23
40
  const bottomSheetManagerContext = useMaybeBottomSheetManagerContext();
24
41
 
25
42
  const openPortal = useBottomSheetStore((state) => state.openPortal);
26
43
  const startClosing = useBottomSheetStore((state) => state.startClosing);
27
44
  const sheetState = useBottomSheetStore((state) => state.sheetsById[id]);
28
45
 
29
- const open = (options?: PortalOpenOptions) => {
46
+ const open = (options?: OpenOptions<T>) => {
30
47
  const groupId = bottomSheetManagerContext?.groupId || 'default';
31
48
 
32
49
  // Create ref when opening (same pattern as useBottomSheetManager)
@@ -44,7 +61,7 @@ export function useBottomSheetControl(
44
61
  const isOpen = status === 'open' || status === 'opening';
45
62
 
46
63
  return {
47
- open,
64
+ open: open as OpenFunction<T>,
48
65
  close,
49
66
  isOpen,
50
67
  status,
@@ -3,12 +3,31 @@ import {
3
3
  useBottomSheetStore,
4
4
  type BottomSheetState,
5
5
  } from './bottomSheet.store';
6
+ import type {
7
+ BottomSheetPortalId,
8
+ BottomSheetPortalParams,
9
+ } from './portal.types';
6
10
 
7
- export function useBottomSheetState(): {
11
+ // Marker type to detect when no generic is provided
12
+ declare const UNSPECIFIED: unique symbol;
13
+ type Unspecified = typeof UNSPECIFIED;
14
+
15
+ type ResolveParams<T> = T extends Unspecified
16
+ ? unknown
17
+ : T extends BottomSheetPortalId
18
+ ? BottomSheetPortalParams<T>
19
+ : unknown;
20
+
21
+ export interface UseBottomSheetStateReturn<T> {
8
22
  bottomSheetState: BottomSheetState;
23
+ params: ResolveParams<T>;
9
24
  close: () => void;
10
25
  closeBottomSheet: () => void;
11
- } {
26
+ }
27
+
28
+ export function useBottomSheetState<
29
+ T extends BottomSheetPortalId | Unspecified = Unspecified,
30
+ >(): UseBottomSheetStateReturn<T> {
12
31
  const context = useMaybeBottomSheetContext();
13
32
 
14
33
  const bottomSheetState = useBottomSheetStore(
@@ -27,6 +46,7 @@ export function useBottomSheetState(): {
27
46
 
28
47
  return {
29
48
  bottomSheetState,
49
+ params: bottomSheetState.params as ResolveParams<T>,
30
50
  close,
31
51
  closeBottomSheet: close,
32
52
  };