@lodev09/react-native-true-sheet 3.0.0-beta.12 → 3.0.0-beta.13

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 (60) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetModule.kt +3 -1
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +33 -45
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +151 -22
  5. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDialogObserver.kt +93 -0
  6. package/android/src/main/java/com/lodev09/truesheet/events/BlurEvent.kt +20 -0
  7. package/android/src/main/java/com/lodev09/truesheet/events/DetentChangeEvent.kt +2 -1
  8. package/android/src/main/java/com/lodev09/truesheet/events/DidPresentEvent.kt +2 -1
  9. package/android/src/main/java/com/lodev09/truesheet/events/DragBeginEvent.kt +2 -1
  10. package/android/src/main/java/com/lodev09/truesheet/events/DragChangeEvent.kt +2 -1
  11. package/android/src/main/java/com/lodev09/truesheet/events/DragEndEvent.kt +2 -1
  12. package/android/src/main/java/com/lodev09/truesheet/events/FocusEvent.kt +20 -0
  13. package/android/src/main/java/com/lodev09/truesheet/events/PositionChangeEvent.kt +5 -3
  14. package/android/src/main/java/com/lodev09/truesheet/events/WillPresentEvent.kt +2 -1
  15. package/android/src/main/res/anim/true_sheet_slide_in.xml +13 -0
  16. package/android/src/main/res/anim/true_sheet_slide_out.xml +13 -0
  17. package/android/src/main/res/values/styles.xml +13 -1
  18. package/ios/TrueSheetView.mm +26 -8
  19. package/ios/TrueSheetViewController.h +7 -1
  20. package/ios/TrueSheetViewController.mm +110 -40
  21. package/ios/events/OnDetentChangeEvent.h +2 -1
  22. package/ios/events/OnDetentChangeEvent.mm +3 -1
  23. package/ios/events/OnDidBlurEvent.h +26 -0
  24. package/ios/events/OnDidBlurEvent.mm +25 -0
  25. package/ios/events/OnDidFocusEvent.h +26 -0
  26. package/ios/events/OnDidFocusEvent.mm +25 -0
  27. package/ios/events/OnDidPresentEvent.h +2 -1
  28. package/ios/events/OnDidPresentEvent.mm +3 -1
  29. package/ios/events/OnDragBeginEvent.h +2 -1
  30. package/ios/events/OnDragBeginEvent.mm +3 -1
  31. package/ios/events/OnDragChangeEvent.h +2 -1
  32. package/ios/events/OnDragChangeEvent.mm +3 -1
  33. package/ios/events/OnDragEndEvent.h +2 -1
  34. package/ios/events/OnDragEndEvent.mm +3 -1
  35. package/ios/events/OnPositionChangeEvent.h +2 -1
  36. package/ios/events/OnPositionChangeEvent.mm +4 -2
  37. package/ios/events/OnWillPresentEvent.h +2 -1
  38. package/ios/events/OnWillPresentEvent.mm +3 -1
  39. package/lib/module/TrueSheet.js +10 -0
  40. package/lib/module/TrueSheet.js.map +1 -1
  41. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +5 -1
  42. package/lib/module/reanimated/ReanimatedTrueSheet.js +9 -4
  43. package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
  44. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js +4 -2
  45. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js.map +1 -1
  46. package/lib/typescript/src/TrueSheet.d.ts +2 -0
  47. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  48. package/lib/typescript/src/TrueSheet.types.d.ts +14 -0
  49. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  50. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +5 -1
  51. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  52. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.d.ts.map +1 -1
  53. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts +8 -2
  54. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/src/TrueSheet.tsx +14 -0
  57. package/src/TrueSheet.types.ts +16 -0
  58. package/src/fabric/TrueSheetViewNativeComponent.ts +5 -1
  59. package/src/reanimated/ReanimatedTrueSheet.tsx +9 -4
  60. package/src/reanimated/ReanimatedTrueSheetProvider.tsx +11 -3
@@ -4,13 +4,19 @@ import { useSharedValue, type SharedValue } from 'react-native-reanimated';
4
4
 
5
5
  export interface ReanimatedTrueSheetContextValue {
6
6
  /**
7
- * Shared value representing the current sheet position (Y offset from bottom)
7
+ * Shared value representing the current sheet position (Y offset from top of screen)
8
8
  */
9
9
  animatedPosition: SharedValue<number>;
10
10
  /**
11
- * Shared value representing the current detent index
11
+ * Shared value representing the current detent index as a continuous float.
12
+ * Interpolates smoothly between -1 (off-screen) and the target detent index.
12
13
  */
13
14
  animatedIndex: SharedValue<number>;
15
+ /**
16
+ * Shared value representing the current detent value (0-1 fraction of screen height).
17
+ * This is the discrete value for the current/target detent index.
18
+ */
19
+ detent: SharedValue<number>;
14
20
  }
15
21
 
16
22
  const ReanimatedTrueSheetContext = createContext<ReanimatedTrueSheetContextValue | null>(null);
@@ -40,13 +46,15 @@ export const ReanimatedTrueSheetProvider = ({ children }: ReanimatedTrueSheetPro
40
46
  const { height } = useWindowDimensions();
41
47
  const animatedPosition = useSharedValue(height);
42
48
  const animatedIndex = useSharedValue(-1);
49
+ const detent = useSharedValue(0);
43
50
 
44
51
  const value = useMemo(
45
52
  () => ({
46
53
  animatedPosition,
47
54
  animatedIndex,
55
+ detent,
48
56
  }),
49
- [animatedPosition, animatedIndex]
57
+ [animatedPosition, animatedIndex, detent]
50
58
  );
51
59
 
52
60
  return (