@lodev09/react-native-true-sheet 3.2.2 → 3.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/module/TrueSheet.js.map +1 -1
  2. package/lib/module/TrueSheet.web.js +333 -0
  3. package/lib/module/TrueSheet.web.js.map +1 -0
  4. package/lib/module/TrueSheetProvider.js +26 -0
  5. package/lib/module/TrueSheetProvider.js.map +1 -0
  6. package/lib/module/TrueSheetProvider.web.js +74 -0
  7. package/lib/module/TrueSheetProvider.web.js.map +1 -0
  8. package/lib/module/index.js +2 -1
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js +1 -1
  11. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js.map +1 -1
  12. package/lib/module/navigation/screen/TrueSheetScreen.js +1 -1
  13. package/lib/module/navigation/screen/TrueSheetScreen.js.map +1 -1
  14. package/lib/module/reanimated/ReanimatedTrueSheet.js +2 -2
  15. package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
  16. package/lib/module/reanimated/ReanimatedTrueSheet.web.js +81 -0
  17. package/lib/module/reanimated/ReanimatedTrueSheet.web.js.map +1 -0
  18. package/lib/module/reanimated/index.js +2 -2
  19. package/lib/module/reanimated/index.js.map +1 -1
  20. package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js +21 -0
  21. package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js.map +1 -0
  22. package/lib/typescript/src/TrueSheet.d.ts +2 -2
  23. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  24. package/lib/typescript/src/TrueSheet.types.d.ts +44 -0
  25. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  26. package/lib/typescript/src/TrueSheet.web.d.ts +3 -0
  27. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -0
  28. package/lib/typescript/src/TrueSheetProvider.d.ts +17 -0
  29. package/lib/typescript/src/TrueSheetProvider.d.ts.map +1 -0
  30. package/lib/typescript/src/TrueSheetProvider.web.d.ts +22 -0
  31. package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -0
  32. package/lib/typescript/src/index.d.ts +1 -0
  33. package/lib/typescript/src/index.d.ts.map +1 -1
  34. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts +41 -0
  35. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts.map +1 -0
  36. package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts +16 -0
  37. package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts.map +1 -0
  38. package/package.json +11 -4
  39. package/src/TrueSheet.tsx +5 -1
  40. package/src/TrueSheet.types.ts +46 -0
  41. package/src/TrueSheet.web.tsx +407 -0
  42. package/src/TrueSheetProvider.tsx +29 -0
  43. package/src/TrueSheetProvider.web.tsx +81 -0
  44. package/src/index.ts +1 -0
  45. package/src/reanimated/ReanimatedTrueSheet.web.tsx +78 -0
  46. package/src/reanimated/useReanimatedPositionChangeHandler.web.ts +32 -0
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useEffect } from 'react';
4
+ import { useWindowDimensions } from 'react-native';
5
+ import { TrueSheet } from "../TrueSheet.web.js";
6
+ import { useReanimatedTrueSheet } from "./ReanimatedTrueSheetProvider.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Reanimated-enabled version of TrueSheet for web that automatically syncs
10
+ * position with the provider's shared value.
11
+ * Must be used within a ReanimatedTrueSheetProvider.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { ReanimatedTrueSheet, ReanimatedTrueSheetProvider } from '@lodev09/react-native-true-sheet/reanimated'
16
+ *
17
+ * function MyScreen() {
18
+ * const sheetRef = useRef<TrueSheetRef>(null)
19
+ *
20
+ * return (
21
+ * <ReanimatedTrueSheetProvider>
22
+ * <View>
23
+ * <ReanimatedTrueSheet
24
+ * ref={sheetRef}
25
+ * detents={[0.25, 0.5, 1]}
26
+ * initialDetentIndex={1}
27
+ * >
28
+ * <Text>Sheet Content</Text>
29
+ * </ReanimatedTrueSheet>
30
+ * </View>
31
+ * </ReanimatedTrueSheetProvider>
32
+ * )
33
+ * }
34
+ * ```
35
+ */
36
+ export const ReanimatedTrueSheet = /*#__PURE__*/forwardRef((props, ref) => {
37
+ const {
38
+ onPositionChange,
39
+ detents = [0.5, 1],
40
+ ...rest
41
+ } = props;
42
+ const {
43
+ height: windowHeight
44
+ } = useWindowDimensions();
45
+ const {
46
+ animatedPosition,
47
+ animatedIndex,
48
+ animatedDetent
49
+ } = useReanimatedTrueSheet();
50
+
51
+ // Reset animated values when component unmounts
52
+ useEffect(() => {
53
+ return () => {
54
+ animatedPosition.value = windowHeight;
55
+ animatedIndex.value = -1;
56
+ animatedDetent.value = 0;
57
+ };
58
+ }, [windowHeight]);
59
+ const handlePositionChange = event => {
60
+ const {
61
+ position,
62
+ index,
63
+ detent
64
+ } = event.nativeEvent;
65
+
66
+ // Sync with provider's shared values
67
+ animatedPosition.value = position;
68
+ animatedIndex.value = index;
69
+ animatedDetent.value = detent;
70
+
71
+ // Call user's callback
72
+ onPositionChange?.(event);
73
+ };
74
+ return /*#__PURE__*/_jsx(TrueSheet, {
75
+ ref: ref,
76
+ detents: detents,
77
+ onPositionChange: handlePositionChange,
78
+ ...rest
79
+ });
80
+ });
81
+ //# sourceMappingURL=ReanimatedTrueSheet.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useEffect","useWindowDimensions","TrueSheet","useReanimatedTrueSheet","jsx","_jsx","ReanimatedTrueSheet","props","ref","onPositionChange","detents","rest","height","windowHeight","animatedPosition","animatedIndex","animatedDetent","value","handlePositionChange","event","position","index","detent","nativeEvent"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedTrueSheet.web.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,SAAS,QAAQ,qBAAkB;AAE5C,SAASC,sBAAsB,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGP,UAAU,CAC3C,CAACQ,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;IAAEC,gBAAgB;IAAEC,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAC/D,MAAM;IAAEK,MAAM,EAAEC;EAAa,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EAEtD,MAAM;IAAEa,gBAAgB;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGb,sBAAsB,CAAC,CAAC;;EAEpF;EACAH,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXc,gBAAgB,CAACG,KAAK,GAAGJ,YAAY;MACrCE,aAAa,CAACE,KAAK,GAAG,CAAC,CAAC;MACxBD,cAAc,CAACC,KAAK,GAAG,CAAC;IAC1B,CAAC;EACH,CAAC,EAAE,CAACJ,YAAY,CAAC,CAAC;EAElB,MAAMK,oBAAoB,GAAIC,KAA0B,IAAK;IAC3D,MAAM;MAAEC,QAAQ;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGH,KAAK,CAACI,WAAW;;IAErD;IACAT,gBAAgB,CAACG,KAAK,GAAGG,QAAQ;IACjCL,aAAa,CAACE,KAAK,GAAGI,KAAK;IAC3BL,cAAc,CAACC,KAAK,GAAGK,MAAM;;IAE7B;IACAb,gBAAgB,GAAGU,KAAK,CAAC;EAC3B,CAAC;EAED,oBACEd,IAAA,CAACH,SAAS;IAACM,GAAG,EAAEA,GAAI;IAACE,OAAO,EAAEA,OAAQ;IAACD,gBAAgB,EAAES,oBAAqB;IAAA,GAAKP;EAAI,CAAG,CAAC;AAE/F,CACF,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- export * from "./ReanimatedTrueSheet.js";
3
+ export * from './ReanimatedTrueSheet';
4
4
  export * from "./ReanimatedTrueSheetProvider.js";
5
- export * from "./useReanimatedPositionChangeHandler.js";
5
+ export * from './useReanimatedPositionChangeHandler';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["reanimated/index.ts"],"mappings":";;AAAA,cAAc,0BAAuB;AACrC,cAAc,kCAA+B;AAC7C,cAAc,yCAAsC","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["reanimated/index.ts"],"mappings":";;AAAA,cAAc,uBAAuB;AACrC,cAAc,kCAA+B;AAC7C,cAAc,sCAAsC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { useCallback } from 'react';
4
+ /**
5
+ * Web implementation of useReanimatedPositionChangeHandler.
6
+ *
7
+ * On web, this returns a simple callback wrapper since @gorhom/bottom-sheet
8
+ * already provides animated position values. The worklet directive is ignored
9
+ * on web as there's no native UI thread.
10
+ *
11
+ * @param handler - The position change handler function
12
+ * @param _dependencies - Unused on web, kept for API compatibility
13
+ * @returns An event handler compatible with onPositionChange prop
14
+ */
15
+ export const useReanimatedPositionChangeHandler = (handler, _dependencies = []) => {
16
+ const context = {};
17
+ return useCallback(event => {
18
+ handler(event.nativeEvent, context);
19
+ }, [handler]);
20
+ };
21
+ //# sourceMappingURL=useReanimatedPositionChangeHandler.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useReanimatedPositionChangeHandler","handler","_dependencies","context","event","nativeEvent"],"sourceRoot":"../../../src","sources":["reanimated/useReanimatedPositionChangeHandler.web.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAQnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kCAAkC,GAAGA,CAChDC,OAA8B,EAC9BC,aAAwB,GAAG,EAAE,KAC1B;EACH,MAAMC,OAAgC,GAAG,CAAC,CAAC;EAE3C,OAAOJ,WAAW,CACfK,KAA0B,IAAK;IAC9BH,OAAO,CAACG,KAAK,CAACC,WAAW,EAAEF,OAAO,CAAC;EACrC,CAAC,EACD,CAACF,OAAO,CACV,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import { PureComponent, type ReactNode } from 'react';
2
- import type { TrueSheetProps } from './TrueSheet.types';
2
+ import type { TrueSheetProps, TrueSheetRef } from './TrueSheet.types';
3
3
  interface TrueSheetState {
4
4
  shouldRenderNativeView: boolean;
5
5
  }
6
- export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
6
+ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> implements TrueSheetRef {
7
7
  displayName: string;
8
8
  private readonly nativeRef;
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EAgBf,MAAM,mBAAmB,CAAC;AA2B3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IAgCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhF;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACU,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAqHpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAgBb,MAAM,mBAAmB,CAAC;AA2B3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SACX,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CACpD,YAAW,YAAY;IAEvB,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IAgCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhF;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACU,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAqHpB"}
@@ -36,6 +36,50 @@ export type DidBlurEvent = NativeSyntheticEvent<null>;
36
36
  export type WillFocusEvent = NativeSyntheticEvent<null>;
37
37
  export type WillBlurEvent = NativeSyntheticEvent<null>;
38
38
  export type BackPressEvent = NativeSyntheticEvent<null>;
39
+ /**
40
+ * Ref methods exposed by a TrueSheet instance.
41
+ */
42
+ export interface TrueSheetRef {
43
+ /**
44
+ * Present the sheet at a given detent index.
45
+ * @param index - The detent index to present at (default: 0)
46
+ * @param animated - Whether to animate the presentation (default: true)
47
+ */
48
+ present: (index?: number, animated?: boolean) => Promise<void>;
49
+ /**
50
+ * Dismiss the sheet.
51
+ * @param animated - Whether to animate the dismissal (default: true)
52
+ */
53
+ dismiss: (animated?: boolean) => Promise<void>;
54
+ /**
55
+ * Resize the sheet to a given detent index.
56
+ * @param index - The detent index to resize to
57
+ */
58
+ resize: (index: number) => Promise<void>;
59
+ }
60
+ /**
61
+ * Methods for controlling TrueSheet instances by name.
62
+ * Returned by the `useTrueSheet` hook.
63
+ */
64
+ export interface TrueSheetContextMethods {
65
+ /**
66
+ * Present a sheet by name.
67
+ * @param name - The name of the sheet to present
68
+ * @param index - The detent index to present at (default: 0)
69
+ */
70
+ present: (name: string, index?: number) => Promise<void>;
71
+ /**
72
+ * Dismiss a sheet by name.
73
+ * @param name - The name of the sheet to dismiss
74
+ */
75
+ dismiss: (name: string) => Promise<void>;
76
+ /**
77
+ * Resize a sheet by name.
78
+ * @param name - The name of the sheet to resize
79
+ * @param index - The detent index to resize to
80
+ */
81
+ resize: (name: string, index: number) => Promise<void>;
82
+ }
39
83
  /**
40
84
  * Options for customizing the grabber (drag handle) appearance.
41
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TrueSheetProps, TrueSheetRef } from './TrueSheet.types';
2
+ export declare const TrueSheet: import("react").ForwardRefExoticComponent<TrueSheetProps & import("react").RefAttributes<TrueSheetRef>>;
3
+ //# sourceMappingURL=TrueSheet.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAeb,MAAM,mBAAmB,CAAC;AAW3B,eAAO,MAAM,SAAS,yGAyUpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { TrueSheetContextMethods } from './TrueSheet.types';
3
+ export interface TrueSheetProviderProps {
4
+ children: ReactNode;
5
+ }
6
+ /**
7
+ * Provider for TrueSheet on native platforms.
8
+ * This is a pass-through component - no context is needed on native
9
+ * since TrueSheet uses static instance methods internally.
10
+ */
11
+ export declare function TrueSheetProvider({ children }: TrueSheetProviderProps): ReactNode;
12
+ /**
13
+ * Hook to control TrueSheet instances by name.
14
+ * On native, this maps directly to TrueSheet static methods.
15
+ */
16
+ export declare function useTrueSheet(): TrueSheetContextMethods;
17
+ //# sourceMappingURL=TrueSheetProvider.d.ts.map
@@ -0,0 +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,CAMtD"}
@@ -0,0 +1,22 @@
1
+ import { type ReactNode, type RefObject } from 'react';
2
+ import type { TrueSheetContextMethods, TrueSheetRef } from './TrueSheet.types';
3
+ interface BottomSheetContextValue extends TrueSheetContextMethods {
4
+ register: (name: string, methods: RefObject<TrueSheetRef>) => void;
5
+ unregister: (name: string) => void;
6
+ }
7
+ export declare const BottomSheetContext: import("react").Context<BottomSheetContextValue | null>;
8
+ export interface TrueSheetProviderProps {
9
+ children: ReactNode;
10
+ }
11
+ /**
12
+ * Provider for TrueSheet on web.
13
+ * Required to wrap your app for sheet management via useTrueSheet hook.
14
+ */
15
+ export declare function TrueSheetProvider({ children }: TrueSheetProviderProps): import("react/jsx-runtime").JSX.Element;
16
+ /**
17
+ * Hook to control TrueSheet instances by name.
18
+ * On web, this uses the TrueSheetContext from TrueSheetProvider.
19
+ */
20
+ export declare function useTrueSheet(): TrueSheetContextMethods;
21
+ export {};
22
+ //# sourceMappingURL=TrueSheetProvider.web.d.ts.map
@@ -0,0 +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;CACpC;AAED,eAAO,MAAM,kBAAkB,yDAAsD,CAAC;AAEtF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA2CrE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,uBAAuB,CAYtD"}
@@ -1,3 +1,4 @@
1
1
  export * from './TrueSheet';
2
2
  export * from './TrueSheet.types';
3
+ export * from './TrueSheetProvider';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { TrueSheetProps, TrueSheetRef } from '../TrueSheet.types';
2
+ interface ReanimatedTrueSheetProps extends TrueSheetProps {
3
+ /**
4
+ * Callback for position changes.
5
+ * On web, this is called with the position data from @gorhom/bottom-sheet.
6
+ *
7
+ * @see {@link TrueSheetProps.onPositionChange}
8
+ */
9
+ onPositionChange?: TrueSheetProps['onPositionChange'];
10
+ }
11
+ /**
12
+ * Reanimated-enabled version of TrueSheet for web that automatically syncs
13
+ * position with the provider's shared value.
14
+ * Must be used within a ReanimatedTrueSheetProvider.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * import { ReanimatedTrueSheet, ReanimatedTrueSheetProvider } from '@lodev09/react-native-true-sheet/reanimated'
19
+ *
20
+ * function MyScreen() {
21
+ * const sheetRef = useRef<TrueSheetRef>(null)
22
+ *
23
+ * return (
24
+ * <ReanimatedTrueSheetProvider>
25
+ * <View>
26
+ * <ReanimatedTrueSheet
27
+ * ref={sheetRef}
28
+ * detents={[0.25, 0.5, 1]}
29
+ * initialDetentIndex={1}
30
+ * >
31
+ * <Text>Sheet Content</Text>
32
+ * </ReanimatedTrueSheet>
33
+ * </View>
34
+ * </ReanimatedTrueSheetProvider>
35
+ * )
36
+ * }
37
+ * ```
38
+ */
39
+ export declare const ReanimatedTrueSheet: import("react").ForwardRefExoticComponent<ReanimatedTrueSheetProps & import("react").RefAttributes<TrueSheetRef>>;
40
+ export {};
41
+ //# sourceMappingURL=ReanimatedTrueSheet.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReanimatedTrueSheet.web.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/ReanimatedTrueSheet.web.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAG5F,UAAU,wBAAyB,SAAQ,cAAc;IACvD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,mBAAmB,mHAgC/B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { PositionChangeEvent, PositionChangeEventPayload } from '../TrueSheet.types';
2
+ type PositionChangeHandler = (payload: PositionChangeEventPayload, context: Record<string, unknown>) => void;
3
+ /**
4
+ * Web implementation of useReanimatedPositionChangeHandler.
5
+ *
6
+ * On web, this returns a simple callback wrapper since @gorhom/bottom-sheet
7
+ * already provides animated position values. The worklet directive is ignored
8
+ * on web as there's no native UI thread.
9
+ *
10
+ * @param handler - The position change handler function
11
+ * @param _dependencies - Unused on web, kept for API compatibility
12
+ * @returns An event handler compatible with onPositionChange prop
13
+ */
14
+ export declare const useReanimatedPositionChangeHandler: (handler: PositionChangeHandler, _dependencies?: unknown[]) => (event: PositionChangeEvent) => void;
15
+ export {};
16
+ //# sourceMappingURL=useReanimatedPositionChangeHandler.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReanimatedPositionChangeHandler.web.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/useReanimatedPositionChangeHandler.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAE1F,KAAK,qBAAqB,GAAG,CAC3B,OAAO,EAAE,0BAA0B,EACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kCAAkC,GAC7C,SAAS,qBAAqB,EAC9B,gBAAe,OAAO,EAAO,aAKnB,mBAAmB,SAK9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.2.2",
3
+ "version": "3.3.0-beta.0",
4
4
  "description": "The true native bottom sheet experience for your React Native Apps.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
@@ -43,6 +43,7 @@
43
43
  ],
44
44
  "scripts": {
45
45
  "example": "yarn workspace react-native-true-sheet-example",
46
+ "expo-example": "yarn workspace expo-example",
46
47
  "docs": "yarn workspace docs",
47
48
  "test": "jest",
48
49
  "typecheck": "tsc",
@@ -84,6 +85,7 @@
84
85
  "@eslint/eslintrc": "^3.3.1",
85
86
  "@eslint/js": "^9.35.0",
86
87
  "@evilmartians/lefthook": "^2.0.4",
88
+ "@gorhom/bottom-sheet": "^5.2.8",
87
89
  "@react-native/babel-preset": "^0.82.1",
88
90
  "@react-native/eslint-config": "^0.82.1",
89
91
  "@react-navigation/native": "^7.1.6",
@@ -114,13 +116,17 @@
114
116
  "@types/react": "19.1.1"
115
117
  },
116
118
  "peerDependencies": {
117
- "@react-navigation/native": ">=6.0.0",
119
+ "@gorhom/bottom-sheet": ">=5",
120
+ "@react-navigation/native": ">=7",
118
121
  "react": "*",
119
122
  "react-native": "*",
120
- "react-native-reanimated": ">=4.0.0",
123
+ "react-native-reanimated": ">=4",
121
124
  "react-native-worklets": "*"
122
125
  },
123
126
  "peerDependenciesMeta": {
127
+ "@gorhom/bottom-sheet": {
128
+ "optional": true
129
+ },
124
130
  "@react-navigation/native": {
125
131
  "optional": true
126
132
  },
@@ -133,6 +139,7 @@
133
139
  },
134
140
  "workspaces": [
135
141
  "example",
142
+ "expo-example",
136
143
  "docs"
137
144
  ],
138
145
  "packageManager": "yarn@4.11.0",
@@ -166,7 +173,7 @@
166
173
  "tagName": "v${version}"
167
174
  },
168
175
  "npm": {
169
- "publish": true
176
+ "publish": false
170
177
  },
171
178
  "hooks": {
172
179
  "before:init": [
package/src/TrueSheet.tsx CHANGED
@@ -10,6 +10,7 @@ import {
10
10
 
11
11
  import type {
12
12
  TrueSheetProps,
13
+ TrueSheetRef,
13
14
  DragBeginEvent,
14
15
  DragChangeEvent,
15
16
  DragEndEvent,
@@ -56,7 +57,10 @@ interface TrueSheetState {
56
57
  shouldRenderNativeView: boolean;
57
58
  }
58
59
 
59
- export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
60
+ export class TrueSheet
61
+ extends PureComponent<TrueSheetProps, TrueSheetState>
62
+ implements TrueSheetRef
63
+ {
60
64
  displayName = 'TrueSheet';
61
65
 
62
66
  private readonly nativeRef: RefObject<NativeRef | null>;
@@ -40,6 +40,52 @@ export type WillFocusEvent = NativeSyntheticEvent<null>;
40
40
  export type WillBlurEvent = NativeSyntheticEvent<null>;
41
41
  export type BackPressEvent = NativeSyntheticEvent<null>;
42
42
 
43
+ /**
44
+ * Ref methods exposed by a TrueSheet instance.
45
+ */
46
+ export interface TrueSheetRef {
47
+ /**
48
+ * Present the sheet at a given detent index.
49
+ * @param index - The detent index to present at (default: 0)
50
+ * @param animated - Whether to animate the presentation (default: true)
51
+ */
52
+ present: (index?: number, animated?: boolean) => Promise<void>;
53
+ /**
54
+ * Dismiss the sheet.
55
+ * @param animated - Whether to animate the dismissal (default: true)
56
+ */
57
+ dismiss: (animated?: boolean) => Promise<void>;
58
+ /**
59
+ * Resize the sheet to a given detent index.
60
+ * @param index - The detent index to resize to
61
+ */
62
+ resize: (index: number) => Promise<void>;
63
+ }
64
+
65
+ /**
66
+ * Methods for controlling TrueSheet instances by name.
67
+ * Returned by the `useTrueSheet` hook.
68
+ */
69
+ export interface TrueSheetContextMethods {
70
+ /**
71
+ * Present a sheet by name.
72
+ * @param name - The name of the sheet to present
73
+ * @param index - The detent index to present at (default: 0)
74
+ */
75
+ present: (name: string, index?: number) => Promise<void>;
76
+ /**
77
+ * Dismiss a sheet by name.
78
+ * @param name - The name of the sheet to dismiss
79
+ */
80
+ dismiss: (name: string) => Promise<void>;
81
+ /**
82
+ * Resize a sheet by name.
83
+ * @param name - The name of the sheet to resize
84
+ * @param index - The detent index to resize to
85
+ */
86
+ resize: (name: string, index: number) => Promise<void>;
87
+ }
88
+
43
89
  /**
44
90
  * Options for customizing the grabber (drag handle) appearance.
45
91
  */