@lodev09/react-native-true-sheet 3.7.0 → 3.7.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/android/src/main/java/com/lodev09/truesheet/TrueSheetModule.kt +25 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +40 -15
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +84 -14
- package/android/src/main/java/com/lodev09/truesheet/core/RNScreensFragmentObserver.kt +26 -1
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +32 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetGrabberView.kt +26 -10
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetKeyboardObserver.kt +2 -2
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetStackManager.kt +23 -0
- package/ios/TrueSheetModule.mm +39 -0
- package/ios/TrueSheetView.h +4 -0
- package/ios/TrueSheetView.mm +49 -0
- package/ios/TrueSheetViewController.h +16 -0
- package/ios/TrueSheetViewController.mm +16 -0
- package/lib/module/TrueSheet.js +10 -0
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +34 -7
- package/lib/module/TrueSheet.web.js.map +1 -1
- package/lib/module/TrueSheetProvider.js +2 -1
- package/lib/module/TrueSheetProvider.js.map +1 -1
- package/lib/module/TrueSheetProvider.web.js +24 -1
- package/lib/module/TrueSheetProvider.web.js.map +1 -1
- package/lib/module/mocks/index.js +3 -1
- package/lib/module/mocks/index.js.map +1 -1
- package/lib/module/specs/NativeTrueSheetModule.js.map +1 -1
- package/lib/typescript/src/TrueSheet.d.ts +7 -0
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +4 -0
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.web.d.ts +9 -1
- package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheetProvider.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheetProvider.web.d.ts +5 -0
- package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -1
- package/lib/typescript/src/mocks/index.d.ts +1 -0
- package/lib/typescript/src/mocks/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts +6 -0
- package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TrueSheet.tsx +10 -0
- package/src/TrueSheet.types.ts +4 -0
- package/src/TrueSheet.web.tsx +50 -6
- package/src/TrueSheetProvider.tsx +1 -0
- package/src/TrueSheetProvider.web.tsx +26 -0
- package/src/mocks/index.ts +2 -0
- package/src/specs/NativeTrueSheetModule.ts +7 -0
|
@@ -79,6 +79,10 @@ export interface TrueSheetContextMethods {
|
|
|
79
79
|
* @param index - The detent index to resize to
|
|
80
80
|
*/
|
|
81
81
|
resize: (name: string, index: number) => Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Dismiss all presented sheets.
|
|
84
|
+
*/
|
|
85
|
+
dismissAll: () => Promise<void>;
|
|
82
86
|
}
|
|
83
87
|
/**
|
|
84
88
|
* Options for customizing the grabber (drag handle) appearance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;AACnF,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;OAGG;IACH,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C;;;OAGG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC;;;;OAIG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { TrueSheetProps, TrueSheetRef } from './TrueSheet.types';
|
|
2
|
-
|
|
2
|
+
declare const TrueSheetComponent: import("react").ForwardRefExoticComponent<TrueSheetProps & import("react").RefAttributes<TrueSheetRef>>;
|
|
3
|
+
interface TrueSheetStatic {
|
|
4
|
+
present: (name: string, index?: number) => Promise<void>;
|
|
5
|
+
dismiss: (name: string) => Promise<void>;
|
|
6
|
+
resize: (name: string, index: number) => Promise<void>;
|
|
7
|
+
dismissAll: () => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const TrueSheet: typeof TrueSheetComponent & TrueSheetStatic;
|
|
10
|
+
export {};
|
|
3
11
|
//# sourceMappingURL=TrueSheet.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAeb,MAAM,mBAAmB,CAAC;AAiC3B,QAAA,MAAM,kBAAkB,yGAwZtB,CAAC;AAEH,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,SAAS,EAAyB,OAAO,kBAAkB,GAAG,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheetProvider.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,aAErE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,uBAAuB,
|
|
1
|
+
{"version":3,"file":"TrueSheetProvider.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,aAErE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,uBAAuB,CAOtD"}
|
|
@@ -7,8 +7,13 @@ interface BottomSheetContextValue extends TrueSheetContextMethods {
|
|
|
7
7
|
removeFromStack: (name: string) => void;
|
|
8
8
|
getSheetsAbove: (name: string) => string[];
|
|
9
9
|
dismissDirect: (name: string) => Promise<void>;
|
|
10
|
+
dismissAll: () => Promise<void>;
|
|
10
11
|
}
|
|
11
12
|
export declare const BottomSheetContext: import("react").Context<BottomSheetContextValue | null>;
|
|
13
|
+
export declare const getPresent: () => ((name: string, index?: number) => Promise<void>) | null;
|
|
14
|
+
export declare const getDismiss: () => ((name: string) => Promise<void>) | null;
|
|
15
|
+
export declare const getResize: () => ((name: string, index: number) => Promise<void>) | null;
|
|
16
|
+
export declare const getDismissAll: () => (() => Promise<void>) | null;
|
|
12
17
|
export interface TrueSheetProviderProps {
|
|
13
18
|
children: ReactNode;
|
|
14
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheetProvider.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetProvider.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/E,UAAU,uBAAwB,SAAQ,uBAAuB;IAC/D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC3C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TrueSheetProvider.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetProvider.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/E,UAAU,uBAAwB,SAAQ,uBAAuB;IAC/D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC3C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,kBAAkB,yDAAsD,CAAC;AAQtF,eAAO,MAAM,UAAU,gBALC,MAAM,UAAU,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,QAKtB,CAAC;AAC3C,eAAO,MAAM,UAAU,gBALC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,QAKN,CAAC;AAC3C,eAAO,MAAM,SAAS,gBALC,MAAM,SAAS,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,QAKtB,CAAC;AACzC,eAAO,MAAM,aAAa,eALA,OAAO,CAAC,IAAI,CAAC,QAKS,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA2GrE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,uBAAuB,CAatD"}
|
|
@@ -13,6 +13,7 @@ export declare class TrueSheet extends React.Component<TrueSheetProps, TrueSheet
|
|
|
13
13
|
static dismiss: jest.Mock<Promise<void>, [_name: string, _animated?: boolean | undefined], any>;
|
|
14
14
|
static present: jest.Mock<Promise<void>, [_name: string, _index?: number | undefined, _animated?: boolean | undefined], any>;
|
|
15
15
|
static resize: jest.Mock<Promise<void>, [_name: string, _index: number], any>;
|
|
16
|
+
static dismissAll: jest.Mock<Promise<void>, [_animated?: boolean | undefined], any>;
|
|
16
17
|
dismiss: jest.Mock<Promise<void>, [_animated?: boolean | undefined], any>;
|
|
17
18
|
present: jest.Mock<Promise<void>, [_index?: number | undefined, _animated?: boolean | undefined], any>;
|
|
18
19
|
resize: jest.Mock<Promise<void>, [_index: number], any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEhG,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,qBAAa,SACX,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CACtD,YAAW,YAAY;IAEvB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAEjD,MAAM,CAAC,OAAO,kFAAsE;IACpF,MAAM,CAAC,OAAO,+GAEZ;IACF,MAAM,CAAC,MAAM,iEAAiE;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEhG,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,qBAAa,SACX,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CACtD,YAAW,YAAY;IAEvB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAEjD,MAAM,CAAC,OAAO,kFAAsE;IACpF,MAAM,CAAC,OAAO,+GAEZ;IACF,MAAM,CAAC,MAAM,iEAAiE;IAC9E,MAAM,CAAC,UAAU,mEAAuD;IAExE,OAAO,mEAAuD;IAC9D,OAAO,gGAAwE;IAC/E,MAAM,kDAAkD;IAExD,iBAAiB;IAOjB,oBAAoB;IAOpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAMpB,MAAM;CAIP;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,mBAE5E;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,uBAAuB,CAOtD;AAED,cAAc,oBAAoB,CAAC"}
|
|
@@ -30,6 +30,12 @@ interface Spec extends TurboModule {
|
|
|
30
30
|
* @returns Promise that resolves when resize is complete
|
|
31
31
|
*/
|
|
32
32
|
resizeByRef(viewTag: number, index: number): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Dismiss all presented sheets
|
|
35
|
+
* @param animated - Whether to animate the dismissals
|
|
36
|
+
* @returns Promise that resolves when all sheets are dismissed
|
|
37
|
+
*/
|
|
38
|
+
dismissAll(animated: boolean): Promise<void>;
|
|
33
39
|
}
|
|
34
40
|
declare const _default: Spec | null;
|
|
35
41
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeTrueSheetModule.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeTrueSheetModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,UAAU,IAAK,SAAQ,WAAW;IAChC;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeTrueSheetModule.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeTrueSheetModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,UAAU,IAAK,SAAQ,WAAW;IAChC;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;;AAED,wBAAgE"}
|
package/package.json
CHANGED
package/src/TrueSheet.tsx
CHANGED
|
@@ -210,6 +210,16 @@ export class TrueSheet
|
|
|
210
210
|
return instance.resize(index);
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
+
/**
|
|
214
|
+
* Dismiss all presented sheets by dismissing from the bottom of the stack.
|
|
215
|
+
* This ensures child sheets are dismissed first before their parent.
|
|
216
|
+
* @param animated - Whether to animate the dismissals (default: true)
|
|
217
|
+
* @returns Promise that resolves when all sheets are dismissed
|
|
218
|
+
*/
|
|
219
|
+
public static async dismissAll(animated: boolean = true): Promise<void> {
|
|
220
|
+
return TrueSheetModule?.dismissAll(animated);
|
|
221
|
+
}
|
|
222
|
+
|
|
213
223
|
private registerInstance(): void {
|
|
214
224
|
if (this.props.name) {
|
|
215
225
|
TrueSheet.instances[this.props.name] = this;
|
package/src/TrueSheet.types.ts
CHANGED
|
@@ -90,6 +90,10 @@ export interface TrueSheetContextMethods {
|
|
|
90
90
|
* @param index - The detent index to resize to
|
|
91
91
|
*/
|
|
92
92
|
resize: (name: string, index: number) => Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Dismiss all presented sheets.
|
|
95
|
+
*/
|
|
96
|
+
dismissAll: () => Promise<void>;
|
|
93
97
|
}
|
|
94
98
|
|
|
95
99
|
/**
|
package/src/TrueSheet.web.tsx
CHANGED
|
@@ -27,7 +27,13 @@ import BottomSheet, {
|
|
|
27
27
|
} from '@gorhom/bottom-sheet';
|
|
28
28
|
import { useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
29
29
|
|
|
30
|
-
import {
|
|
30
|
+
import {
|
|
31
|
+
BottomSheetContext,
|
|
32
|
+
getPresent,
|
|
33
|
+
getDismiss,
|
|
34
|
+
getResize,
|
|
35
|
+
getDismissAll,
|
|
36
|
+
} from './TrueSheetProvider.web';
|
|
31
37
|
import type {
|
|
32
38
|
TrueSheetProps,
|
|
33
39
|
TrueSheetRef,
|
|
@@ -78,7 +84,7 @@ const renderSlot = (slot: TrueSheetProps['header'] | TrueSheetProps['footer']) =
|
|
|
78
84
|
return createElement(slot);
|
|
79
85
|
};
|
|
80
86
|
|
|
81
|
-
|
|
87
|
+
const TrueSheetComponent = forwardRef<TrueSheetRef, TrueSheetProps>((props, ref) => {
|
|
82
88
|
const {
|
|
83
89
|
name,
|
|
84
90
|
detents = [0.5, 1],
|
|
@@ -289,10 +295,7 @@ export const TrueSheet = forwardRef<TrueSheetRef, TrueSheetProps>((props, ref) =
|
|
|
289
295
|
// Will be handled as blur if the sheet doesn't actually dismiss
|
|
290
296
|
isMinimized.current = true;
|
|
291
297
|
onWillBlur?.({ nativeEvent: null } as WillBlurEvent);
|
|
292
|
-
|
|
293
|
-
if (isDismissing.current) {
|
|
294
|
-
onWillDismiss?.({ nativeEvent: null } as WillDismissEvent);
|
|
295
|
-
}
|
|
298
|
+
onWillDismiss?.({ nativeEvent: null } as WillDismissEvent);
|
|
296
299
|
}
|
|
297
300
|
},
|
|
298
301
|
[detents, animatedPosition]
|
|
@@ -491,6 +494,47 @@ export const TrueSheet = forwardRef<TrueSheetRef, TrueSheetProps>((props, ref) =
|
|
|
491
494
|
);
|
|
492
495
|
});
|
|
493
496
|
|
|
497
|
+
interface TrueSheetStatic {
|
|
498
|
+
present: (name: string, index?: number) => Promise<void>;
|
|
499
|
+
dismiss: (name: string) => Promise<void>;
|
|
500
|
+
resize: (name: string, index: number) => Promise<void>;
|
|
501
|
+
dismissAll: () => Promise<void>;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
export const TrueSheet = TrueSheetComponent as typeof TrueSheetComponent & TrueSheetStatic;
|
|
505
|
+
|
|
506
|
+
TrueSheet.present = async (name: string, index?: number) => {
|
|
507
|
+
const present = getPresent();
|
|
508
|
+
if (!present) {
|
|
509
|
+
throw new Error('TrueSheet.present(): TrueSheetProvider is not mounted.');
|
|
510
|
+
}
|
|
511
|
+
return present(name, index);
|
|
512
|
+
};
|
|
513
|
+
|
|
514
|
+
TrueSheet.dismiss = async (name: string) => {
|
|
515
|
+
const dismiss = getDismiss();
|
|
516
|
+
if (!dismiss) {
|
|
517
|
+
throw new Error('TrueSheet.dismiss(): TrueSheetProvider is not mounted.');
|
|
518
|
+
}
|
|
519
|
+
return dismiss(name);
|
|
520
|
+
};
|
|
521
|
+
|
|
522
|
+
TrueSheet.resize = async (name: string, index: number) => {
|
|
523
|
+
const resize = getResize();
|
|
524
|
+
if (!resize) {
|
|
525
|
+
throw new Error('TrueSheet.resize(): TrueSheetProvider is not mounted.');
|
|
526
|
+
}
|
|
527
|
+
return resize(name, index);
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
TrueSheet.dismissAll = async () => {
|
|
531
|
+
const dismissAll = getDismissAll();
|
|
532
|
+
if (!dismissAll) {
|
|
533
|
+
throw new Error('TrueSheet.dismissAll(): TrueSheetProvider is not mounted.');
|
|
534
|
+
}
|
|
535
|
+
return dismissAll();
|
|
536
|
+
};
|
|
537
|
+
|
|
494
538
|
const styles = StyleSheet.create({
|
|
495
539
|
root: {
|
|
496
540
|
overflow: 'hidden',
|
|
@@ -9,10 +9,22 @@ interface BottomSheetContextValue extends TrueSheetContextMethods {
|
|
|
9
9
|
removeFromStack: (name: string) => void;
|
|
10
10
|
getSheetsAbove: (name: string) => string[];
|
|
11
11
|
dismissDirect: (name: string) => Promise<void>;
|
|
12
|
+
dismissAll: () => Promise<void>;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export const BottomSheetContext = createContext<BottomSheetContextValue | null>(null);
|
|
15
16
|
|
|
17
|
+
// Module-level references for static methods
|
|
18
|
+
let presentRef: ((name: string, index?: number) => Promise<void>) | null = null;
|
|
19
|
+
let dismissRef: ((name: string) => Promise<void>) | null = null;
|
|
20
|
+
let resizeRef: ((name: string, index: number) => Promise<void>) | null = null;
|
|
21
|
+
let dismissAllRef: (() => Promise<void>) | null = null;
|
|
22
|
+
|
|
23
|
+
export const getPresent = () => presentRef;
|
|
24
|
+
export const getDismiss = () => dismissRef;
|
|
25
|
+
export const getResize = () => resizeRef;
|
|
26
|
+
export const getDismissAll = () => dismissAllRef;
|
|
27
|
+
|
|
16
28
|
export interface TrueSheetProviderProps {
|
|
17
29
|
children: ReactNode;
|
|
18
30
|
}
|
|
@@ -98,6 +110,18 @@ export function TrueSheetProvider({ children }: TrueSheetProviderProps) {
|
|
|
98
110
|
return sheet.current.resize(index);
|
|
99
111
|
};
|
|
100
112
|
|
|
113
|
+
const dismissAll = async () => {
|
|
114
|
+
const rootSheet = presentedStackRef.current[0];
|
|
115
|
+
if (!rootSheet) return;
|
|
116
|
+
return dismissDirect(rootSheet);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// Set module-level refs for static access
|
|
120
|
+
presentRef = present;
|
|
121
|
+
dismissRef = dismiss;
|
|
122
|
+
resizeRef = resize;
|
|
123
|
+
dismissAllRef = dismissAll;
|
|
124
|
+
|
|
101
125
|
return (
|
|
102
126
|
<BottomSheetContext.Provider
|
|
103
127
|
value={{
|
|
@@ -107,6 +131,7 @@ export function TrueSheetProvider({ children }: TrueSheetProviderProps) {
|
|
|
107
131
|
removeFromStack,
|
|
108
132
|
getSheetsAbove,
|
|
109
133
|
dismissDirect,
|
|
134
|
+
dismissAll,
|
|
110
135
|
present,
|
|
111
136
|
dismiss,
|
|
112
137
|
resize,
|
|
@@ -132,5 +157,6 @@ export function useTrueSheet(): TrueSheetContextMethods {
|
|
|
132
157
|
present: context.present,
|
|
133
158
|
dismiss: context.dismiss,
|
|
134
159
|
resize: context.resize,
|
|
160
|
+
dismissAll: context.dismissAll,
|
|
135
161
|
};
|
|
136
162
|
}
|
package/src/mocks/index.ts
CHANGED
|
@@ -22,6 +22,7 @@ export class TrueSheet
|
|
|
22
22
|
Promise.resolve()
|
|
23
23
|
);
|
|
24
24
|
static resize = jest.fn((_name: string, _index: number) => Promise.resolve());
|
|
25
|
+
static dismissAll = jest.fn((_animated?: boolean) => Promise.resolve());
|
|
25
26
|
|
|
26
27
|
dismiss = jest.fn((_animated?: boolean) => Promise.resolve());
|
|
27
28
|
present = jest.fn((_index?: number, _animated?: boolean) => Promise.resolve());
|
|
@@ -74,6 +75,7 @@ export function useTrueSheet(): TrueSheetContextMethods {
|
|
|
74
75
|
present: TrueSheet.present,
|
|
75
76
|
dismiss: TrueSheet.dismiss,
|
|
76
77
|
resize: TrueSheet.resize,
|
|
78
|
+
dismissAll: TrueSheet.dismissAll,
|
|
77
79
|
};
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -35,6 +35,13 @@ interface Spec extends TurboModule {
|
|
|
35
35
|
* @returns Promise that resolves when resize is complete
|
|
36
36
|
*/
|
|
37
37
|
resizeByRef(viewTag: number, index: number): Promise<void>;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Dismiss all presented sheets
|
|
41
|
+
* @param animated - Whether to animate the dismissals
|
|
42
|
+
* @returns Promise that resolves when all sheets are dismissed
|
|
43
|
+
*/
|
|
44
|
+
dismissAll(animated: boolean): Promise<void>;
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
export default TurboModuleRegistry.get<Spec>('TrueSheetModule');
|