@lodev09/react-native-true-sheet 3.2.0 → 3.2.1

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.
@@ -34,7 +34,7 @@ export const TrueSheetView = ({
34
34
  detentIndex = 0,
35
35
  detents = DEFAULT_DETENTS,
36
36
  reanimated,
37
- reanimatedPositionChangeHandler,
37
+ positionChangeHandler,
38
38
  ...sheetProps
39
39
  } = options;
40
40
  const resolvedIndex = clampDetentIndex(route.resizeIndex ?? detentIndex, detents.length);
@@ -48,7 +48,7 @@ export const TrueSheetView = ({
48
48
  detents: detents,
49
49
  navigation: screenNavigation,
50
50
  emit: navigation.emit,
51
- reanimatedPositionChangeHandler: reanimatedPositionChangeHandler,
51
+ positionChangeHandler: positionChangeHandler,
52
52
  ...sheetProps,
53
53
  children: render()
54
54
  }, route.key);
@@ -61,6 +61,7 @@ export const TrueSheetView = ({
61
61
  detents: detents,
62
62
  navigation: screenNavigation,
63
63
  emit: navigation.emit,
64
+ positionChangeHandler: positionChangeHandler,
64
65
  ...sheetProps,
65
66
  children: render()
66
67
  }, route.key);
@@ -1 +1 @@
1
- {"version":3,"names":["TrueSheetScreen","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ReanimatedTrueSheetScreen","getReanimatedScreen","require","DEFAULT_DETENTS","clampDetentIndex","index","detentsLength","Math","min","max","TrueSheetView","state","navigation","descriptors","baseRoute","sheetRoutes","routes","baseDescriptor","key","children","render","map","route","descriptor","options","screenNavigation","detentIndex","detents","reanimated","reanimatedPositionChangeHandler","sheetProps","resolvedIndex","resizeIndex","length","ReanimatedScreen","routeKey","closing","resizeKey","emit"],"sourceRoot":"../../../src","sources":["navigation/TrueSheetView.tsx"],"mappings":";;AAOA,SAASA,eAAe,QAA6C,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEhF,IAAIC,yBAAqF,GAAG,IAAI;AAEhG,MAAMC,mBAAmB,GAAGA,CAAA,KAA2D;EACrF,IAAI,CAACD,yBAAyB,EAAE;IAC9BA,yBAAyB,GACvBE,OAAO,CAAC,oCAAoC,CAAC,CAACF,yBAAyB;EAC3E;EACA,OAAOA,yBAAyB;AAClC,CAAC;AAED,MAAMG,eAAoC,GAAG,CAAC,MAAM,CAAC;AAErD,MAAMC,gBAAgB,GAAGA,CAACC,KAAa,EAAEC,aAAqB,KAC5DC,IAAI,CAACC,GAAG,CAACH,KAAK,EAAEE,IAAI,CAACE,GAAG,CAACH,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAQjD,OAAO,MAAMI,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgC,CAAC,KAAK;EACvF;EACA,MAAM,CAACC,SAAS,EAAE,GAAGC,WAAW,CAAC,GAAGJ,KAAK,CAACK,MAAM;EAEhD,MAAMC,cAAc,GAAGH,SAAS,GAAGD,WAAW,CAACC,SAAS,CAACI,GAAG,CAAC,GAAG,IAAI;EAEpE,oBACEnB,KAAA,CAAAF,SAAA;IAAAsB,QAAA,GAEGF,cAAc,EAAEG,MAAM,CAAC,CAAC,EAGxBL,WAAW,CAACM,GAAG,CAAEC,KAAK,IAAK;MAC1B,MAAMC,UAAU,GAAGV,WAAW,CAACS,KAAK,CAACJ,GAAG,CAAC;MAEzC,IAAI,CAACK,UAAU,EAAE;QACf,OAAO,IAAI;MACb;MAEA,MAAM;QAAEC,OAAO;QAAEZ,UAAU,EAAEa,gBAAgB;QAAEL;MAAO,CAAC,GAAGG,UAAU;MACpE,MAAM;QACJG,WAAW,GAAG,CAAC;QACfC,OAAO,GAAGxB,eAAe;QACzByB,UAAU;QACVC,+BAA+B;QAC/B,GAAGC;MACL,CAAC,GAAGN,OAAO;MACX,MAAMO,aAAa,GAAG3B,gBAAgB,CAACkB,KAAK,CAACU,WAAW,IAAIN,WAAW,EAAEC,OAAO,CAACM,MAAM,CAAC;MAExF,IAAIL,UAAU,EAAE;QACd,MAAMM,gBAAgB,GAAGjC,mBAAmB,CAAC,CAAC;QAC9C,oBACEN,IAAA,CAACuC,gBAAgB;UAEfC,QAAQ,EAAEb,KAAK,CAACJ,GAAI;UACpBkB,OAAO,EAAEd,KAAK,CAACc,OAAQ;UACvBV,WAAW,EAAEK,aAAc;UAC3BM,SAAS,EAAEf,KAAK,CAACe,SAAU;UAC3BV,OAAO,EAAEA,OAAQ;UACjBf,UAAU,EAAEa,gBAAiB;UAC7Ba,IAAI,EAAE1B,UAAU,CAAC0B,IAAK;UACtBT,+BAA+B,EAAEA,+BAAgC;UAAA,GAC7DC,UAAU;UAAAX,QAAA,EAEbC,MAAM,CAAC;QAAC,GAXJE,KAAK,CAACJ,GAYK,CAAC;MAEvB;MAEA,oBACEvB,IAAA,CAACF,eAAe;QAEd0C,QAAQ,EAAEb,KAAK,CAACJ,GAAI;QACpBkB,OAAO,EAAEd,KAAK,CAACc,OAAQ;QACvBV,WAAW,EAAEK,aAAc;QAC3BM,SAAS,EAAEf,KAAK,CAACe,SAAU;QAC3BV,OAAO,EAAEA,OAAQ;QACjBf,UAAU,EAAEa,gBAAiB;QAC7Ba,IAAI,EAAE1B,UAAU,CAAC0B,IAAK;QAAA,GAClBR,UAAU;QAAAX,QAAA,EAEbC,MAAM,CAAC;MAAC,GAVJE,KAAK,CAACJ,GAWI,CAAC;IAEtB,CAAC,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TrueSheetScreen","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ReanimatedTrueSheetScreen","getReanimatedScreen","require","DEFAULT_DETENTS","clampDetentIndex","index","detentsLength","Math","min","max","TrueSheetView","state","navigation","descriptors","baseRoute","sheetRoutes","routes","baseDescriptor","key","children","render","map","route","descriptor","options","screenNavigation","detentIndex","detents","reanimated","positionChangeHandler","sheetProps","resolvedIndex","resizeIndex","length","ReanimatedScreen","routeKey","closing","resizeKey","emit"],"sourceRoot":"../../../src","sources":["navigation/TrueSheetView.tsx"],"mappings":";;AAOA,SAASA,eAAe,QAAmC,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtE,IAAIC,yBAA2E,GAAG,IAAI;AAEtF,MAAMC,mBAAmB,GAAGA,CAAA,KAAiD;EAC3E,IAAI,CAACD,yBAAyB,EAAE;IAC9BA,yBAAyB,GACvBE,OAAO,CAAC,oCAAoC,CAAC,CAACF,yBAAyB;EAC3E;EACA,OAAOA,yBAAyB;AAClC,CAAC;AAED,MAAMG,eAAoC,GAAG,CAAC,MAAM,CAAC;AAErD,MAAMC,gBAAgB,GAAGA,CAACC,KAAa,EAAEC,aAAqB,KAC5DC,IAAI,CAACC,GAAG,CAACH,KAAK,EAAEE,IAAI,CAACE,GAAG,CAACH,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAQjD,OAAO,MAAMI,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgC,CAAC,KAAK;EACvF;EACA,MAAM,CAACC,SAAS,EAAE,GAAGC,WAAW,CAAC,GAAGJ,KAAK,CAACK,MAAM;EAEhD,MAAMC,cAAc,GAAGH,SAAS,GAAGD,WAAW,CAACC,SAAS,CAACI,GAAG,CAAC,GAAG,IAAI;EAEpE,oBACEnB,KAAA,CAAAF,SAAA;IAAAsB,QAAA,GAEGF,cAAc,EAAEG,MAAM,CAAC,CAAC,EAGxBL,WAAW,CAACM,GAAG,CAAEC,KAAK,IAAK;MAC1B,MAAMC,UAAU,GAAGV,WAAW,CAACS,KAAK,CAACJ,GAAG,CAAC;MAEzC,IAAI,CAACK,UAAU,EAAE;QACf,OAAO,IAAI;MACb;MAEA,MAAM;QAAEC,OAAO;QAAEZ,UAAU,EAAEa,gBAAgB;QAAEL;MAAO,CAAC,GAAGG,UAAU;MACpE,MAAM;QACJG,WAAW,GAAG,CAAC;QACfC,OAAO,GAAGxB,eAAe;QACzByB,UAAU;QACVC,qBAAqB;QACrB,GAAGC;MACL,CAAC,GAAGN,OAAO;MACX,MAAMO,aAAa,GAAG3B,gBAAgB,CAACkB,KAAK,CAACU,WAAW,IAAIN,WAAW,EAAEC,OAAO,CAACM,MAAM,CAAC;MAExF,IAAIL,UAAU,EAAE;QACd,MAAMM,gBAAgB,GAAGjC,mBAAmB,CAAC,CAAC;QAC9C,oBACEN,IAAA,CAACuC,gBAAgB;UAEfC,QAAQ,EAAEb,KAAK,CAACJ,GAAI;UACpBkB,OAAO,EAAEd,KAAK,CAACc,OAAQ;UACvBV,WAAW,EAAEK,aAAc;UAC3BM,SAAS,EAAEf,KAAK,CAACe,SAAU;UAC3BV,OAAO,EAAEA,OAAQ;UACjBf,UAAU,EAAEa,gBAAiB;UAC7Ba,IAAI,EAAE1B,UAAU,CAAC0B,IAAK;UACtBT,qBAAqB,EAAEA,qBAAsB;UAAA,GACzCC,UAAU;UAAAX,QAAA,EAEbC,MAAM,CAAC;QAAC,GAXJE,KAAK,CAACJ,GAYK,CAAC;MAEvB;MAEA,oBACEvB,IAAA,CAACF,eAAe;QAEd0C,QAAQ,EAAEb,KAAK,CAACJ,GAAI;QACpBkB,OAAO,EAAEd,KAAK,CAACc,OAAQ;QACvBV,WAAW,EAAEK,aAAc;QAC3BM,SAAS,EAAEf,KAAK,CAACe,SAAU;QAC3BV,OAAO,EAAEA,OAAQ;QACjBf,UAAU,EAAEa,gBAAiB;QAC7Ba,IAAI,EAAE1B,UAAU,CAAC0B,IAAK;QACtBT,qBAAqB,EAAEA,qBAAsB;QAAA,GACzCC,UAAU;QAAAX,QAAA,EAEbC,MAAM,CAAC;MAAC,GAXJE,KAAK,CAACJ,GAYI,CAAC;IAEtB,CAAC,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import Animated from 'react-native-reanimated';
4
+ import { scheduleOnRN } from 'react-native-worklets';
5
+ import { useReanimatedPositionChangeHandler } from "../../reanimated/index.js";
4
6
  import { TrueSheet } from "../../TrueSheet.js";
5
7
  import { useSheetScreenState } from "./useSheetScreenState.js";
6
8
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -14,7 +16,7 @@ export const ReanimatedTrueSheetScreen = ({
14
16
  closing,
15
17
  detents,
16
18
  children,
17
- reanimatedPositionChangeHandler,
19
+ positionChangeHandler,
18
20
  ...sheetProps
19
21
  }) => {
20
22
  const {
@@ -32,12 +34,20 @@ export const ReanimatedTrueSheetScreen = ({
32
34
  routeKey,
33
35
  emit
34
36
  });
37
+ const reanimatedPositionChangeHandler = useReanimatedPositionChangeHandler(payload => {
38
+ 'worklet';
39
+
40
+ positionChangeHandler?.(payload);
41
+ scheduleOnRN(onPositionChange, {
42
+ nativeEvent: payload
43
+ });
44
+ }, [onPositionChange, positionChangeHandler]);
35
45
  return /*#__PURE__*/_jsx(AnimatedTrueSheet, {
36
46
  ref: ref,
37
47
  name: `navigation-sheet-${routeKey}`,
38
48
  initialDetentIndex: initialDetentIndex,
39
49
  detents: detents,
40
- onPositionChange: reanimatedPositionChangeHandler ?? onPositionChange,
50
+ onPositionChange: reanimatedPositionChangeHandler,
41
51
  ...eventHandlers,
42
52
  ...sheetProps,
43
53
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["Animated","TrueSheet","useSheetScreenState","jsx","_jsx","AnimatedTrueSheet","createAnimatedComponent","ReanimatedTrueSheetScreen","detentIndex","resizeKey","navigation","emit","routeKey","closing","detents","children","reanimatedPositionChangeHandler","sheetProps","ref","initialDetentIndex","eventHandlers","onPositionChange","name"],"sourceRoot":"../../../../src","sources":["navigation/screen/ReanimatedTrueSheetScreen.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,MAAM,yBAAyB;AAE9C,SAASC,SAAS,QAAQ,oBAAiB;AAE3C,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5D,MAAMC,iBAAiB,GAAGL,QAAQ,CAACM,uBAAuB,CAACL,SAAS,CAAC;AAErE,OAAO,MAAMM,yBAAyB,GAAGA,CAAC;EACxCC,WAAW;EACXC,SAAS;EACTC,UAAU;EACVC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,+BAA+B;EAC/B,GAAGC;AAC2B,CAAC,KAAK;EACpC,MAAM;IACJC,GAAG;IACHC,kBAAkB;IAClBC,aAAa,EAAE;MAAEC,gBAAgB;MAAE,GAAGD;IAAc;EACtD,CAAC,GAAGlB,mBAAmB,CAAC;IACtBM,WAAW;IACXC,SAAS;IACTI,OAAO;IACPH,UAAU;IACVE,QAAQ;IACRD;EACF,CAAC,CAAC;EAEF,oBACEP,IAAA,CAACC,iBAAiB;IAChBa,GAAG,EAAEA,GAAI;IACTI,IAAI,EAAE,oBAAoBV,QAAQ,EAAG;IACrCO,kBAAkB,EAAEA,kBAAmB;IACvCL,OAAO,EAAEA,OAAQ;IACjBO,gBAAgB,EAAEL,+BAA+B,IAAIK,gBAAiB;IAAA,GAClED,aAAa;IAAA,GACbH,UAAU;IAAAF,QAAA,EAEbA;EAAQ,CACQ,CAAC;AAExB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Animated","scheduleOnRN","useReanimatedPositionChangeHandler","TrueSheet","useSheetScreenState","jsx","_jsx","AnimatedTrueSheet","createAnimatedComponent","ReanimatedTrueSheetScreen","detentIndex","resizeKey","navigation","emit","routeKey","closing","detents","children","positionChangeHandler","sheetProps","ref","initialDetentIndex","eventHandlers","onPositionChange","reanimatedPositionChangeHandler","payload","nativeEvent","name"],"sourceRoot":"../../../../src","sources":["navigation/screen/ReanimatedTrueSheetScreen.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,SAASC,kCAAkC,QAAQ,2BAAkB;AACrE,SAASC,SAAS,QAAQ,oBAAiB;AAG3C,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5D,MAAMC,iBAAiB,GAAGP,QAAQ,CAACQ,uBAAuB,CAACL,SAAS,CAAC;AAErE,OAAO,MAAMM,yBAAyB,GAAGA,CAAC;EACxCC,WAAW;EACXC,SAAS;EACTC,UAAU;EACVC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,qBAAqB;EACrB,GAAGC;AACiB,CAAC,KAAK;EAC1B,MAAM;IACJC,GAAG;IACHC,kBAAkB;IAClBC,aAAa,EAAE;MAAEC,gBAAgB;MAAE,GAAGD;IAAc;EACtD,CAAC,GAAGlB,mBAAmB,CAAC;IACtBM,WAAW;IACXC,SAAS;IACTI,OAAO;IACPH,UAAU;IACVE,QAAQ;IACRD;EACF,CAAC,CAAC;EAEF,MAAMW,+BAA+B,GAAGtB,kCAAkC,CACvEuB,OAAO,IAAK;IACX,SAAS;;IACTP,qBAAqB,GAAGO,OAAO,CAAC;IAChCxB,YAAY,CAACsB,gBAAgB,EAAE;MAC7BG,WAAW,EAAED;IACf,CAAwB,CAAC;EAC3B,CAAC,EACD,CAACF,gBAAgB,EAAEL,qBAAqB,CAC1C,CAAC;EAED,oBACEZ,IAAA,CAACC,iBAAiB;IAChBa,GAAG,EAAEA,GAAI;IACTO,IAAI,EAAE,oBAAoBb,QAAQ,EAAG;IACrCO,kBAAkB,EAAEA,kBAAmB;IACvCL,OAAO,EAAEA,OAAQ;IACjBO,gBAAgB,EAAEC,+BAAgC;IAAA,GAC9CF,aAAa;IAAA,GACbH,UAAU;IAAAF,QAAA,EAEbA;EAAQ,CACQ,CAAC;AAExB,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { useCallback } from 'react';
3
4
  import { TrueSheet } from "../../TrueSheet.js";
4
5
  import { useSheetScreenState } from "./useSheetScreenState.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -12,12 +13,16 @@ export const TrueSheetScreen = ({
12
13
  closing,
13
14
  detents,
14
15
  children,
16
+ positionChangeHandler,
15
17
  ...sheetProps
16
18
  }) => {
17
19
  const {
18
20
  ref,
19
21
  initialDetentIndex,
20
- eventHandlers
22
+ eventHandlers: {
23
+ onPositionChange,
24
+ ...eventHandlers
25
+ }
21
26
  } = useSheetScreenState({
22
27
  detentIndex,
23
28
  resizeKey,
@@ -26,11 +31,16 @@ export const TrueSheetScreen = ({
26
31
  routeKey,
27
32
  emit
28
33
  });
34
+ const handlePositionChange = useCallback(e => {
35
+ onPositionChange(e);
36
+ positionChangeHandler?.(e.nativeEvent);
37
+ }, [onPositionChange, positionChangeHandler]);
29
38
  return /*#__PURE__*/_jsx(TrueSheet, {
30
39
  ref: ref,
31
40
  name: `navigation-sheet-${routeKey}`,
32
41
  initialDetentIndex: initialDetentIndex,
33
42
  detents: detents,
43
+ onPositionChange: handlePositionChange,
34
44
  ...eventHandlers,
35
45
  ...sheetProps,
36
46
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["TrueSheet","useSheetScreenState","jsx","_jsx","TrueSheetScreen","detentIndex","resizeKey","navigation","emit","routeKey","closing","detents","children","sheetProps","ref","initialDetentIndex","eventHandlers","name"],"sourceRoot":"../../../../src","sources":["navigation/screen/TrueSheetScreen.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,oBAAiB;AAE3C,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5D,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,WAAW;EACXC,SAAS;EACTC,UAAU;EACVC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACR,GAAGC;AACiB,CAAC,KAAK;EAC1B,MAAM;IAAEC,GAAG;IAAEC,kBAAkB;IAAEC;EAAc,CAAC,GAAGf,mBAAmB,CAAC;IACrEI,WAAW;IACXC,SAAS;IACTI,OAAO;IACPH,UAAU;IACVE,QAAQ;IACRD;EACF,CAAC,CAAC;EAEF,oBACEL,IAAA,CAACH,SAAS;IACRc,GAAG,EAAEA,GAAI;IACTG,IAAI,EAAE,oBAAoBR,QAAQ,EAAG;IACrCM,kBAAkB,EAAEA,kBAAmB;IACvCJ,OAAO,EAAEA,OAAQ;IAAA,GACbK,aAAa;IAAA,GACbH,UAAU;IAAAD,QAAA,EAEbA;EAAQ,CACA,CAAC;AAEhB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","TrueSheet","useSheetScreenState","jsx","_jsx","TrueSheetScreen","detentIndex","resizeKey","navigation","emit","routeKey","closing","detents","children","positionChangeHandler","sheetProps","ref","initialDetentIndex","eventHandlers","onPositionChange","handlePositionChange","e","nativeEvent","name"],"sourceRoot":"../../../../src","sources":["navigation/screen/TrueSheetScreen.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,SAAS,QAAQ,oBAAiB;AAG3C,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5D,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,WAAW;EACXC,SAAS;EACTC,UAAU;EACVC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,qBAAqB;EACrB,GAAGC;AACiB,CAAC,KAAK;EAC1B,MAAM;IACJC,GAAG;IACHC,kBAAkB;IAClBC,aAAa,EAAE;MAAEC,gBAAgB;MAAE,GAAGD;IAAc;EACtD,CAAC,GAAGhB,mBAAmB,CAAC;IACtBI,WAAW;IACXC,SAAS;IACTI,OAAO;IACPH,UAAU;IACVE,QAAQ;IACRD;EACF,CAAC,CAAC;EAEF,MAAMW,oBAAoB,GAAGpB,WAAW,CACrCqB,CAAsB,IAAK;IAC1BF,gBAAgB,CAACE,CAAC,CAAC;IACnBP,qBAAqB,GAAGO,CAAC,CAACC,WAAW,CAAC;EACxC,CAAC,EACD,CAACH,gBAAgB,EAAEL,qBAAqB,CAC1C,CAAC;EAED,oBACEV,IAAA,CAACH,SAAS;IACRe,GAAG,EAAEA,GAAI;IACTO,IAAI,EAAE,oBAAoBb,QAAQ,EAAG;IACrCO,kBAAkB,EAAEA,kBAAmB;IACvCL,OAAO,EAAEA,OAAQ;IACjBO,gBAAgB,EAAEC,oBAAqB;IAAA,GACnCF,aAAa;IAAA,GACbH,UAAU;IAAAF,QAAA,EAEbA;EAAQ,CACA,CAAC;AAEhB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetView.d.ts","sourceRoot":"","sources":["../../../../src/navigation/TrueSheetView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAkBjB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC/C,UAAU,EAAE,0BAA0B,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,GAAI,oCAAoC,kBAAkB,4CAmEnF,CAAC"}
1
+ {"version":3,"file":"TrueSheetView.d.ts","sourceRoot":"","sources":["../../../../src/navigation/TrueSheetView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAkBjB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC/C,UAAU,EAAE,0BAA0B,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,GAAI,oCAAoC,kBAAkB,4CAoEnF,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { ReanimatedTrueSheetScreenProps } from './types';
2
- export declare const ReanimatedTrueSheetScreen: ({ detentIndex, resizeKey, navigation, emit, routeKey, closing, detents, children, reanimatedPositionChangeHandler, ...sheetProps }: ReanimatedTrueSheetScreenProps) => import("react/jsx-runtime").JSX.Element;
1
+ import type { TrueSheetScreenProps } from './types';
2
+ export declare const ReanimatedTrueSheetScreen: ({ detentIndex, resizeKey, navigation, emit, routeKey, closing, detents, children, positionChangeHandler, ...sheetProps }: TrueSheetScreenProps) => import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=ReanimatedTrueSheetScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReanimatedTrueSheetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/ReanimatedTrueSheetScreen.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAK9D,eAAO,MAAM,yBAAyB,GAAI,oIAWvC,8BAA8B,4CA2BhC,CAAC"}
1
+ {"version":3,"file":"ReanimatedTrueSheetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/ReanimatedTrueSheetScreen.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAKpD,eAAO,MAAM,yBAAyB,GAAI,0HAWvC,oBAAoB,4CAsCtB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { TrueSheetScreenProps } from './types';
2
- export declare const TrueSheetScreen: ({ detentIndex, resizeKey, navigation, emit, routeKey, closing, detents, children, ...sheetProps }: TrueSheetScreenProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const TrueSheetScreen: ({ detentIndex, resizeKey, navigation, emit, routeKey, closing, detents, children, positionChangeHandler, ...sheetProps }: TrueSheetScreenProps) => import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=TrueSheetScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/TrueSheetScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD,eAAO,MAAM,eAAe,GAAI,mGAU7B,oBAAoB,4CAsBtB,CAAC"}
1
+ {"version":3,"file":"TrueSheetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/TrueSheetScreen.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD,eAAO,MAAM,eAAe,GAAI,0HAW7B,oBAAoB,4CAmCtB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { TrueSheetScreen } from './TrueSheetScreen';
2
2
  export { useSheetScreenState } from './useSheetScreenState';
3
- export type { TrueSheetScreenProps, ReanimatedTrueSheetScreenProps } from './types';
3
+ export type { TrueSheetScreenProps } from './types';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ParamListBase } from '@react-navigation/native';
2
- import type { TrueSheetProps } from '../../TrueSheet.types';
2
+ import type { PositionChangeEventPayload, TrueSheetProps } from '../../TrueSheet.types';
3
3
  import type { TrueSheetNavigationHelpers, TrueSheetNavigationProp } from '../types';
4
+ export type PositionChangeHandler = (payload: PositionChangeEventPayload) => void;
4
5
  export interface TrueSheetScreenProps {
5
6
  detentIndex: number;
6
7
  resizeKey?: number;
@@ -10,9 +11,7 @@ export interface TrueSheetScreenProps {
10
11
  closing?: boolean;
11
12
  detents: TrueSheetProps['detents'];
12
13
  children: React.ReactNode;
14
+ positionChangeHandler?: PositionChangeHandler;
13
15
  [key: string]: unknown;
14
16
  }
15
- export interface ReanimatedTrueSheetScreenProps extends TrueSheetScreenProps {
16
- reanimatedPositionChangeHandler?: TrueSheetProps['onPositionChange'];
17
- }
18
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,+BAA+B,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;CACtE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/screen/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAC;AAElF,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -1,5 +1,6 @@
1
1
  import type { DefaultNavigatorOptions, Descriptor, NavigationHelpers, NavigationProp, NavigationState, ParamListBase, RouteProp, StackActionHelpers } from '@react-navigation/native';
2
- import type { DetentInfoEventPayload, PositionChangeEventPayload, PositionChangeEvent, TrueSheetProps } from '../TrueSheet.types';
2
+ import type { DetentInfoEventPayload, PositionChangeEventPayload, TrueSheetProps } from '../TrueSheet.types';
3
+ import type { PositionChangeHandler } from './screen/types';
3
4
  export type TrueSheetNavigationEventMap = {
4
5
  /**
5
6
  * Event fired when the sheet is about to be presented.
@@ -117,26 +118,24 @@ export type TrueSheetNavigationOptions = Pick<TrueSheetProps, 'detents' | 'backg
117
118
  */
118
119
  reanimated?: boolean;
119
120
  /**
120
- * A reanimated position change handler created by `useReanimatedPositionChangeHandler`.
121
- * Only used when `reanimated` is enabled.
121
+ * A callback that receives position change events.
122
+ * When `reanimated` is enabled, this must be a worklet function.
122
123
  *
123
124
  * @example
124
125
  * ```tsx
125
- * const positionHandler = useReanimatedPositionChangeHandler((payload) => {
126
- * 'worklet';
127
- * animatedValue.value = payload.position;
128
- * });
129
- *
130
126
  * <Navigator.Screen
131
127
  * name="Sheet"
132
128
  * options={{
133
129
  * reanimated: true,
134
- * reanimatedPositionChangeHandler: positionHandler,
130
+ * positionChangeHandler: (payload) => {
131
+ * 'worklet';
132
+ * animatedValue.value = payload.position;
133
+ * },
135
134
  * }}
136
135
  * />
137
136
  * ```
138
137
  */
139
- reanimatedPositionChangeHandler?: (e: PositionChangeEvent) => void;
138
+ positionChangeHandler?: PositionChangeHandler;
140
139
  };
141
140
  export type TrueSheetNavigatorProps = DefaultNavigatorOptions<ParamListBase, string | undefined, TrueSheetNavigationState<ParamListBase>, TrueSheetNavigationOptions, TrueSheetNavigationEventMap, unknown> & {
142
141
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/navigation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/navigation/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
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",
@@ -5,11 +5,11 @@ import type {
5
5
  TrueSheetNavigationHelpers,
6
6
  TrueSheetNavigationState,
7
7
  } from './types';
8
- import { TrueSheetScreen, type ReanimatedTrueSheetScreenProps } from './screen';
8
+ import { TrueSheetScreen, type TrueSheetScreenProps } from './screen';
9
9
 
10
- let ReanimatedTrueSheetScreen: React.ComponentType<ReanimatedTrueSheetScreenProps> | null = null;
10
+ let ReanimatedTrueSheetScreen: React.ComponentType<TrueSheetScreenProps> | null = null;
11
11
 
12
- const getReanimatedScreen = (): React.ComponentType<ReanimatedTrueSheetScreenProps> => {
12
+ const getReanimatedScreen = (): React.ComponentType<TrueSheetScreenProps> => {
13
13
  if (!ReanimatedTrueSheetScreen) {
14
14
  ReanimatedTrueSheetScreen =
15
15
  require('./screen/ReanimatedTrueSheetScreen').ReanimatedTrueSheetScreen;
@@ -52,7 +52,7 @@ export const TrueSheetView = ({ state, navigation, descriptors }: TrueSheetViewP
52
52
  detentIndex = 0,
53
53
  detents = DEFAULT_DETENTS,
54
54
  reanimated,
55
- reanimatedPositionChangeHandler,
55
+ positionChangeHandler,
56
56
  ...sheetProps
57
57
  } = options;
58
58
  const resolvedIndex = clampDetentIndex(route.resizeIndex ?? detentIndex, detents.length);
@@ -69,7 +69,7 @@ export const TrueSheetView = ({ state, navigation, descriptors }: TrueSheetViewP
69
69
  detents={detents}
70
70
  navigation={screenNavigation}
71
71
  emit={navigation.emit}
72
- reanimatedPositionChangeHandler={reanimatedPositionChangeHandler}
72
+ positionChangeHandler={positionChangeHandler}
73
73
  {...sheetProps}
74
74
  >
75
75
  {render()}
@@ -87,6 +87,7 @@ export const TrueSheetView = ({ state, navigation, descriptors }: TrueSheetViewP
87
87
  detents={detents}
88
88
  navigation={screenNavigation}
89
89
  emit={navigation.emit}
90
+ positionChangeHandler={positionChangeHandler}
90
91
  {...sheetProps}
91
92
  >
92
93
  {render()}
@@ -1,7 +1,10 @@
1
1
  import Animated from 'react-native-reanimated';
2
+ import { scheduleOnRN } from 'react-native-worklets';
2
3
 
4
+ import { useReanimatedPositionChangeHandler } from '../../reanimated';
3
5
  import { TrueSheet } from '../../TrueSheet';
4
- import type { ReanimatedTrueSheetScreenProps } from './types';
6
+ import type { PositionChangeEvent } from '../../TrueSheet.types';
7
+ import type { TrueSheetScreenProps } from './types';
5
8
  import { useSheetScreenState } from './useSheetScreenState';
6
9
 
7
10
  const AnimatedTrueSheet = Animated.createAnimatedComponent(TrueSheet);
@@ -15,9 +18,9 @@ export const ReanimatedTrueSheetScreen = ({
15
18
  closing,
16
19
  detents,
17
20
  children,
18
- reanimatedPositionChangeHandler,
21
+ positionChangeHandler,
19
22
  ...sheetProps
20
- }: ReanimatedTrueSheetScreenProps) => {
23
+ }: TrueSheetScreenProps) => {
21
24
  const {
22
25
  ref,
23
26
  initialDetentIndex,
@@ -31,13 +34,24 @@ export const ReanimatedTrueSheetScreen = ({
31
34
  emit,
32
35
  });
33
36
 
37
+ const reanimatedPositionChangeHandler = useReanimatedPositionChangeHandler(
38
+ (payload) => {
39
+ 'worklet';
40
+ positionChangeHandler?.(payload);
41
+ scheduleOnRN(onPositionChange, {
42
+ nativeEvent: payload,
43
+ } as PositionChangeEvent);
44
+ },
45
+ [onPositionChange, positionChangeHandler]
46
+ );
47
+
34
48
  return (
35
49
  <AnimatedTrueSheet
36
50
  ref={ref}
37
51
  name={`navigation-sheet-${routeKey}`}
38
52
  initialDetentIndex={initialDetentIndex}
39
53
  detents={detents}
40
- onPositionChange={reanimatedPositionChangeHandler ?? onPositionChange}
54
+ onPositionChange={reanimatedPositionChangeHandler}
41
55
  {...eventHandlers}
42
56
  {...sheetProps}
43
57
  >
@@ -1,4 +1,7 @@
1
+ import { useCallback } from 'react';
2
+
1
3
  import { TrueSheet } from '../../TrueSheet';
4
+ import type { PositionChangeEvent } from '../../TrueSheet.types';
2
5
  import type { TrueSheetScreenProps } from './types';
3
6
  import { useSheetScreenState } from './useSheetScreenState';
4
7
 
@@ -11,9 +14,14 @@ export const TrueSheetScreen = ({
11
14
  closing,
12
15
  detents,
13
16
  children,
17
+ positionChangeHandler,
14
18
  ...sheetProps
15
19
  }: TrueSheetScreenProps) => {
16
- const { ref, initialDetentIndex, eventHandlers } = useSheetScreenState({
20
+ const {
21
+ ref,
22
+ initialDetentIndex,
23
+ eventHandlers: { onPositionChange, ...eventHandlers },
24
+ } = useSheetScreenState({
17
25
  detentIndex,
18
26
  resizeKey,
19
27
  closing,
@@ -22,12 +30,21 @@ export const TrueSheetScreen = ({
22
30
  emit,
23
31
  });
24
32
 
33
+ const handlePositionChange = useCallback(
34
+ (e: PositionChangeEvent) => {
35
+ onPositionChange(e);
36
+ positionChangeHandler?.(e.nativeEvent);
37
+ },
38
+ [onPositionChange, positionChangeHandler]
39
+ );
40
+
25
41
  return (
26
42
  <TrueSheet
27
43
  ref={ref}
28
44
  name={`navigation-sheet-${routeKey}`}
29
45
  initialDetentIndex={initialDetentIndex}
30
46
  detents={detents}
47
+ onPositionChange={handlePositionChange}
31
48
  {...eventHandlers}
32
49
  {...sheetProps}
33
50
  >
@@ -1,3 +1,3 @@
1
1
  export { TrueSheetScreen } from './TrueSheetScreen';
2
2
  export { useSheetScreenState } from './useSheetScreenState';
3
- export type { TrueSheetScreenProps, ReanimatedTrueSheetScreenProps } from './types';
3
+ export type { TrueSheetScreenProps } from './types';
@@ -1,8 +1,10 @@
1
1
  import type { ParamListBase } from '@react-navigation/native';
2
2
 
3
- import type { TrueSheetProps } from '../../TrueSheet.types';
3
+ import type { PositionChangeEventPayload, TrueSheetProps } from '../../TrueSheet.types';
4
4
  import type { TrueSheetNavigationHelpers, TrueSheetNavigationProp } from '../types';
5
5
 
6
+ export type PositionChangeHandler = (payload: PositionChangeEventPayload) => void;
7
+
6
8
  export interface TrueSheetScreenProps {
7
9
  detentIndex: number;
8
10
  resizeKey?: number;
@@ -12,9 +14,6 @@ export interface TrueSheetScreenProps {
12
14
  closing?: boolean;
13
15
  detents: TrueSheetProps['detents'];
14
16
  children: React.ReactNode;
17
+ positionChangeHandler?: PositionChangeHandler;
15
18
  [key: string]: unknown;
16
19
  }
17
-
18
- export interface ReanimatedTrueSheetScreenProps extends TrueSheetScreenProps {
19
- reanimatedPositionChangeHandler?: TrueSheetProps['onPositionChange'];
20
- }
@@ -12,9 +12,9 @@ import type {
12
12
  import type {
13
13
  DetentInfoEventPayload,
14
14
  PositionChangeEventPayload,
15
- PositionChangeEvent,
16
15
  TrueSheetProps,
17
16
  } from '../TrueSheet.types';
17
+ import type { PositionChangeHandler } from './screen/types';
18
18
 
19
19
  export type TrueSheetNavigationEventMap = {
20
20
  /**
@@ -158,26 +158,24 @@ export type TrueSheetNavigationOptions = Pick<
158
158
  reanimated?: boolean;
159
159
 
160
160
  /**
161
- * A reanimated position change handler created by `useReanimatedPositionChangeHandler`.
162
- * Only used when `reanimated` is enabled.
161
+ * A callback that receives position change events.
162
+ * When `reanimated` is enabled, this must be a worklet function.
163
163
  *
164
164
  * @example
165
165
  * ```tsx
166
- * const positionHandler = useReanimatedPositionChangeHandler((payload) => {
167
- * 'worklet';
168
- * animatedValue.value = payload.position;
169
- * });
170
- *
171
166
  * <Navigator.Screen
172
167
  * name="Sheet"
173
168
  * options={{
174
169
  * reanimated: true,
175
- * reanimatedPositionChangeHandler: positionHandler,
170
+ * positionChangeHandler: (payload) => {
171
+ * 'worklet';
172
+ * animatedValue.value = payload.position;
173
+ * },
176
174
  * }}
177
175
  * />
178
176
  * ```
179
177
  */
180
- reanimatedPositionChangeHandler?: (e: PositionChangeEvent) => void;
178
+ positionChangeHandler?: PositionChangeHandler;
181
179
  };
182
180
 
183
181
  export type TrueSheetNavigatorProps = DefaultNavigatorOptions<