react-native-screen-transitions 4.0.0-alpha.8 → 4.0.0-alpha.9

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 (109) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/boundary/create-boundary-component.js +5 -1
  3. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  4. package/lib/commonjs/components/boundary/portal/teleport.js +1 -13
  5. package/lib/commonjs/components/boundary/portal/teleport.js.map +1 -1
  6. package/lib/commonjs/constants.js +2 -1
  7. package/lib/commonjs/constants.js.map +1 -1
  8. package/lib/commonjs/providers/screen/animation/helpers/build-screen-transition-options.js +1 -0
  9. package/lib/commonjs/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  10. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +20 -5
  11. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  12. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js +16 -1
  13. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  14. package/lib/commonjs/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  15. package/lib/commonjs/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  16. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-release.js +28 -6
  17. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  18. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js +26 -6
  19. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  20. package/lib/commonjs/providers/screen/gestures/shared/policy.js +1 -0
  21. package/lib/commonjs/providers/screen/gestures/shared/policy.js.map +1 -1
  22. package/lib/commonjs/providers/screen/gestures/shared/snap-points.js +71 -1
  23. package/lib/commonjs/providers/screen/gestures/shared/snap-points.js.map +1 -1
  24. package/lib/commonjs/providers/screen/options/helpers.js +8 -1
  25. package/lib/commonjs/providers/screen/options/helpers.js.map +1 -1
  26. package/lib/commonjs/providers/screen/styles/constants.js +0 -1
  27. package/lib/commonjs/providers/screen/styles/constants.js.map +1 -1
  28. package/lib/commonjs/providers/screen/styles/slot.provider.js.map +1 -1
  29. package/lib/module/components/boundary/create-boundary-component.js +6 -2
  30. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  31. package/lib/module/components/boundary/portal/teleport.js +1 -14
  32. package/lib/module/components/boundary/portal/teleport.js.map +1 -1
  33. package/lib/module/constants.js +1 -0
  34. package/lib/module/constants.js.map +1 -1
  35. package/lib/module/providers/screen/animation/helpers/build-screen-transition-options.js +1 -0
  36. package/lib/module/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  37. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +20 -5
  38. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  39. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js +16 -1
  40. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  41. package/lib/module/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  42. package/lib/module/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  43. package/lib/module/providers/screen/gestures/pan/behavior/pan-release.js +29 -7
  44. package/lib/module/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  45. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js +27 -7
  46. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  47. package/lib/module/providers/screen/gestures/shared/policy.js +2 -1
  48. package/lib/module/providers/screen/gestures/shared/policy.js.map +1 -1
  49. package/lib/module/providers/screen/gestures/shared/snap-points.js +66 -0
  50. package/lib/module/providers/screen/gestures/shared/snap-points.js.map +1 -1
  51. package/lib/module/providers/screen/options/helpers.js +9 -2
  52. package/lib/module/providers/screen/options/helpers.js.map +1 -1
  53. package/lib/module/providers/screen/styles/constants.js +0 -1
  54. package/lib/module/providers/screen/styles/constants.js.map +1 -1
  55. package/lib/module/providers/screen/styles/slot.provider.js.map +1 -1
  56. package/lib/module/types/animation.types.js.map +1 -1
  57. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  58. package/lib/typescript/components/boundary/portal/teleport.d.ts +1 -1
  59. package/lib/typescript/components/boundary/portal/teleport.d.ts.map +1 -1
  60. package/lib/typescript/constants.d.ts +2 -1
  61. package/lib/typescript/constants.d.ts.map +1 -1
  62. package/lib/typescript/index.d.ts +1 -1
  63. package/lib/typescript/index.d.ts.map +1 -1
  64. package/lib/typescript/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  65. package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts +2 -1
  66. package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts.map +1 -1
  67. package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  68. package/lib/typescript/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
  69. package/lib/typescript/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -1
  70. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
  71. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts +2 -1
  72. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  73. package/lib/typescript/providers/screen/gestures/shared/snap-points.d.ts +11 -0
  74. package/lib/typescript/providers/screen/gestures/shared/snap-points.d.ts.map +1 -1
  75. package/lib/typescript/providers/screen/gestures/types.d.ts +2 -0
  76. package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
  77. package/lib/typescript/providers/screen/options/helpers.d.ts.map +1 -1
  78. package/lib/typescript/providers/screen/options/types.d.ts +1 -0
  79. package/lib/typescript/providers/screen/options/types.d.ts.map +1 -1
  80. package/lib/typescript/providers/screen/styles/constants.d.ts.map +1 -1
  81. package/lib/typescript/providers/screen/styles/slot.provider.d.ts +1 -1
  82. package/lib/typescript/providers/screen/styles/slot.provider.d.ts.map +1 -1
  83. package/lib/typescript/types/animation.types.d.ts +1 -5
  84. package/lib/typescript/types/animation.types.d.ts.map +1 -1
  85. package/lib/typescript/types/index.d.ts +1 -1
  86. package/lib/typescript/types/index.d.ts.map +1 -1
  87. package/lib/typescript/types/screen.types.d.ts +19 -0
  88. package/lib/typescript/types/screen.types.d.ts.map +1 -1
  89. package/package.json +1 -1
  90. package/src/components/boundary/create-boundary-component.tsx +10 -2
  91. package/src/components/boundary/portal/teleport.ts +2 -23
  92. package/src/constants.ts +2 -0
  93. package/src/index.ts +1 -0
  94. package/src/providers/screen/animation/helpers/build-screen-transition-options.ts +1 -0
  95. package/src/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +26 -0
  96. package/src/providers/screen/animation/helpers/hydrate-transition-state/index.ts +20 -0
  97. package/src/providers/screen/animation/helpers/selected-interpolator-options.ts +1 -0
  98. package/src/providers/screen/gestures/pan/behavior/pan-release.ts +46 -7
  99. package/src/providers/screen/gestures/pinch/behavior/pinch-release.ts +45 -4
  100. package/src/providers/screen/gestures/shared/policy.ts +4 -0
  101. package/src/providers/screen/gestures/shared/snap-points.ts +87 -0
  102. package/src/providers/screen/gestures/types.ts +2 -0
  103. package/src/providers/screen/options/helpers.ts +18 -0
  104. package/src/providers/screen/options/types.ts +1 -0
  105. package/src/providers/screen/styles/constants.ts +0 -1
  106. package/src/providers/screen/styles/slot.provider.tsx +0 -1
  107. package/src/types/animation.types.ts +1 -4
  108. package/src/types/index.ts +1 -0
  109. package/src/types/screen.types.ts +21 -0
@@ -29,6 +29,7 @@ export type ScreenTransitionOptions = Pick<
29
29
  | "gestureSnapVelocityImpact"
30
30
  | "gestureReleaseVelocityScale"
31
31
  | "gestureSnapLocked"
32
+ | "sheetSnapBehavior"
32
33
  | "sheetScrollGestureBehavior"
33
34
  | "backdropBehavior"
34
35
  >;
@@ -344,8 +345,6 @@ export type NormalizedTransitionInterpolatedStyle = {
344
345
  content?: NormalizedTransitionSlotStyle;
345
346
  /** Animated style and props for the backdrop layer between screens. */
346
347
  backdrop?: NormalizedTransitionSlotStyle;
347
- /** Animated style and props for the surface component layer within the screen. */
348
- surface?: NormalizedTransitionSlotStyle;
349
348
  /** Animated style and props for the navigation mask container layer. */
350
349
  [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: NormalizedTransitionSlotStyle;
351
350
  /** Animated style and props for the navigation mask element layer. */
@@ -376,8 +375,6 @@ export type TransitionInterpolatedStyle = {
376
375
  content?: TransitionSlotStyle;
377
376
  /** Animated style and props for the backdrop layer between screens. */
378
377
  backdrop?: TransitionSlotStyle;
379
- /** Animated style and props for the surface component layer within the screen. */
380
- surface?: TransitionSlotStyle;
381
378
  /** Animated style and props for the navigation mask container layer. */
382
379
  [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: TransitionSlotStyle;
383
380
  /** Animated style and props for the navigation mask element layer. */
@@ -61,6 +61,7 @@ export type {
61
61
  ScreenKey,
62
62
  ScreenLayerComponentProps,
63
63
  ScreenTransitionConfig,
64
+ SheetSnapBehavior,
64
65
  TransitionAwareProps,
65
66
  } from "./screen.types";
66
67
  export type {
@@ -41,6 +41,16 @@ export type ScreenKey = string;
41
41
  export type SheetScrollGestureBehavior =
42
42
  | "expand-and-collapse"
43
43
  | "collapse-only";
44
+
45
+ /**
46
+ * Controls how a drag moves between configured {@linkcode ScreenTransitionConfig.snapPoints}.
47
+ *
48
+ * - `"continuous"` maps physical movement directly to global screen progress.
49
+ * - `"step"` maps each drag across one adjacent snap interval.
50
+ *
51
+ * @see {@linkcode ScreenTransitionConfig.sheetSnapBehavior}
52
+ */
53
+ export type SheetSnapBehavior = "continuous" | "step";
44
54
  export type GestureTracking = "auto" | "never" | "always";
45
55
 
46
56
  /**
@@ -343,6 +353,17 @@ export type ScreenTransitionConfig = {
343
353
  */
344
354
  sheetScrollGestureBehavior?: SheetScrollGestureBehavior;
345
355
 
356
+ /**
357
+ * Controls how gesture movement maps between adjacent snap points.
358
+ *
359
+ * `"continuous"` preserves direct global progress and permits one gesture to
360
+ * cross multiple snap points. `"step"` gives every adjacent interval a full
361
+ * normalized drag range and limits the gesture to one snap-point step.
362
+ *
363
+ * @default "continuous"
364
+ */
365
+ sheetSnapBehavior?: SheetSnapBehavior;
366
+
346
367
  /**
347
368
  * Locks gesture-based snap movement to the current snap point.
348
369
  *