react-native-bottom-sheet-stack 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -5
- package/lib/commonjs/bottomSheet.store.js +15 -0
- package/lib/commonjs/bottomSheet.store.js.map +1 -1
- package/lib/commonjs/useBottomSheetControl.js +46 -14
- package/lib/commonjs/useBottomSheetControl.js.map +1 -1
- package/lib/typescript/src/bottomSheet.store.d.ts +1 -0
- package/lib/typescript/src/bottomSheet.store.d.ts.map +1 -1
- package/lib/typescript/src/portal.types.d.ts +2 -1
- package/lib/typescript/src/portal.types.d.ts.map +1 -1
- package/lib/typescript/src/useBottomSheetControl.d.ts +2 -0
- package/lib/typescript/src/useBottomSheetControl.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bottomSheet.store.ts +15 -0
- package/src/portal.types.ts +2 -1
- package/src/useBottomSheetControl.ts +13 -0
package/README.md
CHANGED
|
@@ -294,14 +294,22 @@ Control portal-based sheets. Params are type-safe if registry is augmented:
|
|
|
294
294
|
|
|
295
295
|
```tsx
|
|
296
296
|
const {
|
|
297
|
-
open,
|
|
298
|
-
close,
|
|
299
|
-
|
|
300
|
-
|
|
297
|
+
open, // (options?) => void - options include typed params
|
|
298
|
+
close, // () => void
|
|
299
|
+
updateParams, // (params) => void - update params while open
|
|
300
|
+
resetParams, // () => void - reset params to undefined
|
|
301
|
+
isOpen, // boolean
|
|
302
|
+
status, // 'opening' | 'open' | 'closing' | 'hidden' | null
|
|
301
303
|
} = useBottomSheetControl('my-sheet');
|
|
302
304
|
|
|
303
305
|
// Open with params (required if defined in registry)
|
|
304
306
|
open({ params: { userId: '123' }, scaleBackground: true });
|
|
307
|
+
|
|
308
|
+
// Update params while sheet is open
|
|
309
|
+
updateParams({ userId: '456' });
|
|
310
|
+
|
|
311
|
+
// Reset params
|
|
312
|
+
resetParams();
|
|
305
313
|
```
|
|
306
314
|
|
|
307
315
|
### Types
|
|
@@ -316,7 +324,7 @@ Type for portal sheet IDs. If `BottomSheetPortalRegistry` is augmented, this is
|
|
|
316
324
|
|
|
317
325
|
#### `BottomSheetPortalParams<T>`
|
|
318
326
|
|
|
319
|
-
Type helper to extract params for a given portal sheet ID. Returns `undefined` if the sheet has no params (`true` in registry), or
|
|
327
|
+
Type helper to extract params for a given portal sheet ID. Returns `undefined` if the sheet has no params (`true` in registry), or `ParamType | undefined` if defined (always includes `undefined` since params can be reset).
|
|
320
328
|
|
|
321
329
|
## Example
|
|
322
330
|
|
|
@@ -152,6 +152,21 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
|
|
|
152
152
|
stackOrder: newStackOrder
|
|
153
153
|
};
|
|
154
154
|
}),
|
|
155
|
+
updateParams: (id, params) => set(state => {
|
|
156
|
+
const sheet = state.sheetsById[id];
|
|
157
|
+
if (!sheet) {
|
|
158
|
+
return state;
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
sheetsById: {
|
|
162
|
+
...state.sheetsById,
|
|
163
|
+
[id]: {
|
|
164
|
+
...sheet,
|
|
165
|
+
params
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
}),
|
|
155
170
|
clearAll: () => set(() => ({
|
|
156
171
|
sheetsById: {},
|
|
157
172
|
stackOrder: []
|
|
@@ -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","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;
|
|
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","updateParams","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,13 +11,14 @@ var _BottomSheetManager = require("./BottomSheetManager.provider");
|
|
|
11
11
|
var _refsMap = require("./refsMap");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
function useBottomSheetControl(id) {
|
|
14
|
-
const $ = (0, _compilerRuntime.c)(
|
|
14
|
+
const $ = (0, _compilerRuntime.c)(22);
|
|
15
15
|
const bottomSheetManagerContext = (0, _BottomSheetManager.useMaybeBottomSheetManagerContext)();
|
|
16
16
|
const openPortal = (0, _bottomSheet.useBottomSheetStore)(_temp);
|
|
17
17
|
const startClosing = (0, _bottomSheet.useBottomSheetStore)(_temp2);
|
|
18
|
+
const storeUpdateParams = (0, _bottomSheet.useBottomSheetStore)(_temp3);
|
|
18
19
|
let t0;
|
|
19
20
|
if ($[0] !== id) {
|
|
20
|
-
t0 =
|
|
21
|
+
t0 = state_2 => state_2.sheetsById[id];
|
|
21
22
|
$[0] = id;
|
|
22
23
|
$[1] = t0;
|
|
23
24
|
} else {
|
|
@@ -52,26 +53,57 @@ function useBottomSheetControl(id) {
|
|
|
52
53
|
t2 = $[8];
|
|
53
54
|
}
|
|
54
55
|
const close = t2;
|
|
56
|
+
let t3;
|
|
57
|
+
if ($[9] !== id || $[10] !== storeUpdateParams) {
|
|
58
|
+
t3 = params => {
|
|
59
|
+
storeUpdateParams(id, params);
|
|
60
|
+
};
|
|
61
|
+
$[9] = id;
|
|
62
|
+
$[10] = storeUpdateParams;
|
|
63
|
+
$[11] = t3;
|
|
64
|
+
} else {
|
|
65
|
+
t3 = $[11];
|
|
66
|
+
}
|
|
67
|
+
const updateParams = t3;
|
|
68
|
+
let t4;
|
|
69
|
+
if ($[12] !== id || $[13] !== storeUpdateParams) {
|
|
70
|
+
t4 = () => {
|
|
71
|
+
storeUpdateParams(id, undefined);
|
|
72
|
+
};
|
|
73
|
+
$[12] = id;
|
|
74
|
+
$[13] = storeUpdateParams;
|
|
75
|
+
$[14] = t4;
|
|
76
|
+
} else {
|
|
77
|
+
t4 = $[14];
|
|
78
|
+
}
|
|
79
|
+
const resetParams = t4;
|
|
55
80
|
const status = sheetState?.status ?? null;
|
|
56
81
|
const isOpen = status === "open" || status === "opening";
|
|
57
|
-
const
|
|
58
|
-
let
|
|
59
|
-
if ($[
|
|
60
|
-
|
|
61
|
-
open:
|
|
82
|
+
const t5 = open;
|
|
83
|
+
let t6;
|
|
84
|
+
if ($[15] !== close || $[16] !== isOpen || $[17] !== resetParams || $[18] !== status || $[19] !== t5 || $[20] !== updateParams) {
|
|
85
|
+
t6 = {
|
|
86
|
+
open: t5,
|
|
62
87
|
close,
|
|
88
|
+
updateParams,
|
|
89
|
+
resetParams,
|
|
63
90
|
isOpen,
|
|
64
91
|
status
|
|
65
92
|
};
|
|
66
|
-
$[
|
|
67
|
-
$[
|
|
68
|
-
$[
|
|
69
|
-
$[
|
|
70
|
-
$[
|
|
93
|
+
$[15] = close;
|
|
94
|
+
$[16] = isOpen;
|
|
95
|
+
$[17] = resetParams;
|
|
96
|
+
$[18] = status;
|
|
97
|
+
$[19] = t5;
|
|
98
|
+
$[20] = updateParams;
|
|
99
|
+
$[21] = t6;
|
|
71
100
|
} else {
|
|
72
|
-
|
|
101
|
+
t6 = $[21];
|
|
73
102
|
}
|
|
74
|
-
return
|
|
103
|
+
return t6;
|
|
104
|
+
}
|
|
105
|
+
function _temp3(state_1) {
|
|
106
|
+
return state_1.updateParams;
|
|
75
107
|
}
|
|
76
108
|
function _temp2(state_0) {
|
|
77
109
|
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","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetControl","id","$","_compilerRuntime","c","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","openPortal","useBottomSheetStore","_temp","startClosing","_temp2","storeUpdateParams","_temp3","t0","state_2","state","sheetsById","sheetState","t1","groupId","options","ref","React","createRef","sheetRefs","open","t2","close","t3","params","updateParams","t4","undefined","resetParams","status","isOpen","t5","t6","state_1","state_0"],"sourceRoot":"../../src","sources":["useBottomSheetControl.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,6 +27,7 @@ interface BottomSheetStoreActions {
|
|
|
27
27
|
markOpen(id: string): void;
|
|
28
28
|
startClosing(id: string): void;
|
|
29
29
|
finishClosing(id: string): void;
|
|
30
|
+
updateParams(id: string, params: Record<string, unknown> | undefined): void;
|
|
30
31
|
clearAll(): void;
|
|
31
32
|
}
|
|
32
33
|
export type BottomSheetStore = BottomSheetStoreState & BottomSheetStoreActions;
|
|
@@ -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;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;;;;;;;;
|
|
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,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5E,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE/E,eAAO,MAAM,mBAAmB;;;;;;;;EAsK/B,CAAC"}
|
|
@@ -24,8 +24,9 @@ export type BottomSheetPortalId = keyof BottomSheetPortalRegistry extends never
|
|
|
24
24
|
/**
|
|
25
25
|
* Extract params type for a given portal sheet ID.
|
|
26
26
|
* Returns `undefined` if the sheet has no params (value is `true`).
|
|
27
|
+
* Always includes `undefined` since params can be reset.
|
|
27
28
|
*/
|
|
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
|
+
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] | undefined : Record<string, unknown> | undefined;
|
|
29
30
|
/**
|
|
30
31
|
* Check if a portal sheet has params defined.
|
|
31
32
|
*/
|
|
@@ -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;AAErD
|
|
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;;;;GAIG;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,GAAG,SAAS,GAC1C,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"}
|
|
@@ -9,6 +9,8 @@ type OpenFunction<T extends BottomSheetPortalId> = HasParams<T> extends true ? (
|
|
|
9
9
|
export interface UseBottomSheetControlReturn<T extends BottomSheetPortalId> {
|
|
10
10
|
open: OpenFunction<T>;
|
|
11
11
|
close: () => void;
|
|
12
|
+
updateParams: (params: BottomSheetPortalParams<T>) => void;
|
|
13
|
+
resetParams: () => void;
|
|
12
14
|
isOpen: boolean;
|
|
13
15
|
status: BottomSheetStatus | null;
|
|
14
16
|
}
|
|
@@ -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,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,
|
|
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,YAAY,EAAE,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,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,CAyChC"}
|
package/package.json
CHANGED
package/src/bottomSheet.store.ts
CHANGED
|
@@ -35,6 +35,7 @@ interface BottomSheetStoreActions {
|
|
|
35
35
|
markOpen(id: string): void;
|
|
36
36
|
startClosing(id: string): void;
|
|
37
37
|
finishClosing(id: string): void;
|
|
38
|
+
updateParams(id: string, params: Record<string, unknown> | undefined): void;
|
|
38
39
|
clearAll(): void;
|
|
39
40
|
}
|
|
40
41
|
|
|
@@ -190,6 +191,20 @@ export const useBottomSheetStore = create(
|
|
|
190
191
|
};
|
|
191
192
|
}),
|
|
192
193
|
|
|
194
|
+
updateParams: (id, params) =>
|
|
195
|
+
set((state) => {
|
|
196
|
+
const sheet = state.sheetsById[id];
|
|
197
|
+
if (!sheet) {
|
|
198
|
+
return state;
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
sheetsById: {
|
|
202
|
+
...state.sheetsById,
|
|
203
|
+
[id]: { ...sheet, params },
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
}),
|
|
207
|
+
|
|
193
208
|
clearAll: () => set(() => ({ sheetsById: {}, stackOrder: [] })),
|
|
194
209
|
}))
|
|
195
210
|
);
|
package/src/portal.types.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type BottomSheetPortalId = keyof BottomSheetPortalRegistry extends never
|
|
|
27
27
|
/**
|
|
28
28
|
* Extract params type for a given portal sheet ID.
|
|
29
29
|
* Returns `undefined` if the sheet has no params (value is `true`).
|
|
30
|
+
* Always includes `undefined` since params can be reset.
|
|
30
31
|
*/
|
|
31
32
|
export type BottomSheetPortalParams<T extends BottomSheetPortalId> =
|
|
32
33
|
keyof BottomSheetPortalRegistry extends never
|
|
@@ -34,7 +35,7 @@ export type BottomSheetPortalParams<T extends BottomSheetPortalId> =
|
|
|
34
35
|
: T extends keyof BottomSheetPortalRegistry
|
|
35
36
|
? BottomSheetPortalRegistry[T] extends true
|
|
36
37
|
? undefined
|
|
37
|
-
: BottomSheetPortalRegistry[T]
|
|
38
|
+
: BottomSheetPortalRegistry[T] | undefined
|
|
38
39
|
: Record<string, unknown> | undefined;
|
|
39
40
|
|
|
40
41
|
/**
|
|
@@ -30,6 +30,8 @@ type OpenFunction<T extends BottomSheetPortalId> =
|
|
|
30
30
|
export interface UseBottomSheetControlReturn<T extends BottomSheetPortalId> {
|
|
31
31
|
open: OpenFunction<T>;
|
|
32
32
|
close: () => void;
|
|
33
|
+
updateParams: (params: BottomSheetPortalParams<T>) => void;
|
|
34
|
+
resetParams: () => void;
|
|
33
35
|
isOpen: boolean;
|
|
34
36
|
status: BottomSheetStatus | null;
|
|
35
37
|
}
|
|
@@ -41,6 +43,7 @@ export function useBottomSheetControl<T extends BottomSheetPortalId>(
|
|
|
41
43
|
|
|
42
44
|
const openPortal = useBottomSheetStore((state) => state.openPortal);
|
|
43
45
|
const startClosing = useBottomSheetStore((state) => state.startClosing);
|
|
46
|
+
const storeUpdateParams = useBottomSheetStore((state) => state.updateParams);
|
|
44
47
|
const sheetState = useBottomSheetStore((state) => state.sheetsById[id]);
|
|
45
48
|
|
|
46
49
|
const open = (options?: OpenOptions<T>) => {
|
|
@@ -57,12 +60,22 @@ export function useBottomSheetControl<T extends BottomSheetPortalId>(
|
|
|
57
60
|
startClosing(id);
|
|
58
61
|
};
|
|
59
62
|
|
|
63
|
+
const updateParams = (params: BottomSheetPortalParams<T>) => {
|
|
64
|
+
storeUpdateParams(id, params as Record<string, unknown>);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const resetParams = () => {
|
|
68
|
+
storeUpdateParams(id, undefined);
|
|
69
|
+
};
|
|
70
|
+
|
|
60
71
|
const status = sheetState?.status ?? null;
|
|
61
72
|
const isOpen = status === 'open' || status === 'opening';
|
|
62
73
|
|
|
63
74
|
return {
|
|
64
75
|
open: open as OpenFunction<T>,
|
|
65
76
|
close,
|
|
77
|
+
updateParams,
|
|
78
|
+
resetParams,
|
|
66
79
|
isOpen,
|
|
67
80
|
status,
|
|
68
81
|
};
|