react-native-screen-transitions 3.3.0-rc.3 → 3.3.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 (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -7
  3. package/lib/commonjs/blank-stack/components/stack-view.js +2 -1
  4. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/blank-stack/components/stack-view.native.js +2 -1
  6. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -1
  7. package/lib/commonjs/component-stack/components/stack-view.js +2 -1
  8. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  9. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +3 -2
  10. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  11. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +46 -9
  12. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  13. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +7 -7
  14. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  15. package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +23 -3
  16. package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +1 -1
  17. package/lib/commonjs/shared/components/screen-container.js +2 -1
  18. package/lib/commonjs/shared/components/screen-container.js.map +1 -1
  19. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +7 -1
  20. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  21. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +12 -12
  22. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  23. package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js +5 -2
  24. package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
  25. package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js +20 -0
  26. package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
  27. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +2 -6
  28. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  29. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +4 -1
  30. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  31. package/lib/commonjs/shared/providers/gestures.provider.js +17 -6
  32. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  33. package/lib/commonjs/shared/providers/layout-anchor.provider.js +7 -5
  34. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -1
  35. package/lib/commonjs/shared/providers/screen/styles.provider.js +1 -6
  36. package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
  37. package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -1
  38. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  39. package/lib/commonjs/shared/providers/stack/managed.provider.js +2 -1
  40. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  41. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +9 -2
  42. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -1
  43. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js +11 -1
  44. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +1 -1
  45. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +11 -2
  46. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -1
  47. package/lib/commonjs/shared/utils/overlay/visibility.js +19 -0
  48. package/lib/commonjs/shared/utils/overlay/visibility.js.map +1 -0
  49. package/lib/module/blank-stack/components/stack-view.js +2 -1
  50. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  51. package/lib/module/blank-stack/components/stack-view.native.js +2 -1
  52. package/lib/module/blank-stack/components/stack-view.native.js.map +1 -1
  53. package/lib/module/component-stack/components/stack-view.js +2 -1
  54. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  55. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +4 -2
  56. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  57. package/lib/module/shared/components/overlay/variations/float-overlay.js +47 -11
  58. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  59. package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -7
  60. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  61. package/lib/module/shared/components/overlay/variations/screen-overlay.js +24 -5
  62. package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +1 -1
  63. package/lib/module/shared/components/screen-container.js +2 -1
  64. package/lib/module/shared/components/screen-container.js.map +1 -1
  65. package/lib/module/shared/hooks/gestures/use-build-gestures.js +7 -1
  66. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  67. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +12 -12
  68. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  69. package/lib/module/shared/hooks/lifecycle/use-close-transition.js +5 -2
  70. package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
  71. package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js +17 -0
  72. package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
  73. package/lib/module/shared/hooks/navigation/use-screen-state.js +2 -6
  74. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  75. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +4 -1
  76. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  77. package/lib/module/shared/providers/gestures.provider.js +17 -6
  78. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  79. package/lib/module/shared/providers/layout-anchor.provider.js +7 -5
  80. package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -1
  81. package/lib/module/shared/providers/screen/styles.provider.js +1 -6
  82. package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
  83. package/lib/module/shared/providers/stack/direct.provider.js +2 -1
  84. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  85. package/lib/module/shared/providers/stack/managed.provider.js +2 -1
  86. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  87. package/lib/module/shared/utils/gesture/determine-snap-target.js +9 -2
  88. package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -1
  89. package/lib/module/shared/utils/gesture/find-collapse-target.js +11 -1
  90. package/lib/module/shared/utils/gesture/find-collapse-target.js.map +1 -1
  91. package/lib/module/shared/utils/gesture/validate-snap-points.js +11 -2
  92. package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -1
  93. package/lib/module/shared/utils/overlay/visibility.js +12 -0
  94. package/lib/module/shared/utils/overlay/visibility.js.map +1 -0
  95. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  96. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -1
  97. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  98. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +1 -1
  99. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  100. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  101. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -0
  102. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  103. package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +1 -1
  104. package/lib/typescript/shared/components/screen-container.d.ts.map +1 -1
  105. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  106. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
  107. package/lib/typescript/shared/hooks/lifecycle/use-close-transition.d.ts.map +1 -1
  108. package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts +7 -0
  109. package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts.map +1 -0
  110. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  111. package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
  112. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  113. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +1 -1
  114. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -1
  115. package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
  116. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  117. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  118. package/lib/typescript/shared/types/screen.types.d.ts +16 -1
  119. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  120. package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -1
  121. package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +1 -1
  122. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -1
  123. package/lib/typescript/shared/utils/overlay/visibility.d.ts +11 -0
  124. package/lib/typescript/shared/utils/overlay/visibility.d.ts.map +1 -0
  125. package/package.json +8 -2
  126. package/src/blank-stack/components/stack-view.native.tsx +2 -1
  127. package/src/blank-stack/components/stack-view.tsx +2 -1
  128. package/src/component-stack/components/stack-view.tsx +2 -1
  129. package/src/shared/components/overlay/helpers/get-active-overlay.ts +3 -2
  130. package/src/shared/components/overlay/variations/float-overlay.tsx +53 -8
  131. package/src/shared/components/overlay/variations/overlay-host.tsx +16 -6
  132. package/src/shared/components/overlay/variations/screen-overlay.tsx +35 -3
  133. package/src/shared/components/screen-container.tsx +15 -9
  134. package/src/shared/hooks/gestures/use-build-gestures.tsx +5 -1
  135. package/src/shared/hooks/gestures/use-scroll-registry.tsx +10 -6
  136. package/src/shared/hooks/lifecycle/use-close-transition.ts +6 -3
  137. package/src/shared/hooks/navigation/use-optimistic-focused-index.ts +19 -0
  138. package/src/shared/hooks/navigation/use-screen-state.tsx +4 -7
  139. package/src/shared/hooks/reanimated/use-shared-value-state.ts +4 -1
  140. package/src/shared/providers/gestures.provider.tsx +49 -22
  141. package/src/shared/providers/layout-anchor.provider.tsx +28 -25
  142. package/src/shared/providers/screen/styles.provider.tsx +1 -7
  143. package/src/shared/providers/stack/direct.provider.tsx +2 -2
  144. package/src/shared/providers/stack/managed.provider.tsx +2 -2
  145. package/src/shared/types/screen.types.ts +17 -1
  146. package/src/shared/utils/gesture/determine-snap-target.ts +15 -4
  147. package/src/shared/utils/gesture/find-collapse-target.ts +11 -1
  148. package/src/shared/utils/gesture/validate-snap-points.ts +15 -2
  149. package/src/shared/utils/overlay/visibility.ts +23 -0
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ export const isOverlayVisible = options => {
4
+ return Boolean(options?.overlay) && options?.overlayShown !== false;
5
+ };
6
+ export const isFloatOverlayVisible = options => {
7
+ return isOverlayVisible(options) && options?.overlayMode !== "screen";
8
+ };
9
+ export const isScreenOverlayVisible = options => {
10
+ return isOverlayVisible(options) && options?.overlayMode === "screen";
11
+ };
12
+ //# sourceMappingURL=visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isOverlayVisible","options","Boolean","overlay","overlayShown","isFloatOverlayVisible","overlayMode","isScreenOverlayVisible"],"sourceRoot":"../../../../../src","sources":["shared/utils/overlay/visibility.ts"],"mappings":";;AAQA,OAAO,MAAMA,gBAAgB,GAAIC,OAA4B,IAAc;EAC1E,OAAOC,OAAO,CAACD,OAAO,EAAEE,OAAO,CAAC,IAAIF,OAAO,EAAEG,YAAY,KAAK,KAAK;AACpE,CAAC;AAED,OAAO,MAAMC,qBAAqB,GACjCJ,OAA4B,IACf;EACb,OAAOD,gBAAgB,CAACC,OAAO,CAAC,IAAIA,OAAO,EAAEK,WAAW,KAAK,QAAQ;AACtE,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAClCN,OAA4B,IACf;EACb,OAAOD,gBAAgB,CAACC,OAAO,CAAC,IAAIA,OAAO,EAAEK,WAAW,KAAK,QAAQ;AACtE,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,UAAU,CAAC;AAyBlB,eAAO,MAAM,SAAS,+MAmDrB,CAAC"}
1
+ {"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,UAAU,CAAC;AAyBlB,eAAO,MAAM,SAAS,+MAmDrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack-view.native.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.native.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,UAAU,CAAC;AAyBlB,eAAO,MAAM,SAAS,+MAmDrB,CAAC"}
1
+ {"version":3,"file":"stack-view.native.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.native.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,UAAU,CAAC;AAyBlB,eAAO,MAAM,SAAS,+MAmDrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/stack-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EACX,wBAAwB,EACxB,+BAA+B,EAC/B,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,SAAS,uNAiCrB,CAAC"}
1
+ {"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/component-stack/components/stack-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACX,wBAAwB,EACxB,+BAA+B,EAC/B,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,SAAS,uNAiCrB,CAAC"}
@@ -2,7 +2,7 @@ import type { StackScene } from "../../../hooks/navigation/use-stack";
2
2
  /**
3
3
  * Find the active float overlay from scenes.
4
4
  * Scans from the top of the stack downward to find the first screen
5
- * with overlayMode="float" and overlayShown=true.
5
+ * with a visible overlay that isn't explicitly set to legacy screen mode.
6
6
  */
7
7
  export declare function getActiveFloatOverlay(scenes: StackScene[], index: number, transitionsAlwaysOn: boolean): {
8
8
  scene: StackScene;
@@ -1 +1 @@
1
- {"version":3,"file":"get-active-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/helpers/get-active-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,OAAO,GAC1B;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0BpD"}
1
+ {"version":3,"file":"get-active-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/helpers/get-active-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGtE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,OAAO,GAC1B;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0BpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"float-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/float-overlay.tsx"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,YAAY,mDA0B3B"}
1
+ {"version":3,"file":"float-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/float-overlay.tsx"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAgB,YAAY,mDA2D3B"}
@@ -1,6 +1,13 @@
1
1
  import type { StackScene } from "../../../hooks/navigation/use-stack";
2
+ import type { BaseDescriptor } from "../../../providers/screen/keys.provider";
3
+ import type { OverlayProps } from "../../../types/overlay.types";
4
+ type OverlayScreenState = Omit<OverlayProps<BaseDescriptor["navigation"]>, "progress" | "overlayAnimation" | "screenAnimation"> & {
5
+ index: number;
6
+ snapTo: (index: number) => void;
7
+ };
2
8
  type OverlayHostProps = {
3
9
  scene: StackScene;
10
+ overlayScreenState: OverlayScreenState;
4
11
  };
5
12
  export declare const OverlayHost: import("react").NamedExoticComponent<OverlayHostProps>;
6
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-host.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/overlay-host.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAKtE,KAAK,gBAAgB,GAAG;IACvB,KAAK,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAgDtB,CAAC"}
1
+ {"version":3,"file":"overlay-host.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/overlay-host.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,KAAK,kBAAkB,GAAG,IAAI,CAC7B,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAC1C,UAAU,GAAG,kBAAkB,GAAG,iBAAiB,CACnD,GAAG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,WAAW,wDAkDtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"screen-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/screen-overlay.tsx"],"names":[],"mappings":"AASA;;;;;;;GAOG;AACH,wBAAgB,aAAa,mDAwB5B"}
1
+ {"version":3,"file":"screen-overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/overlay/variations/screen-overlay.tsx"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AACH,wBAAgB,aAAa,mDA4C5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"screen-container.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/screen-container.tsx"],"names":[],"mappings":"AAiBA,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,qDAAuB,KAAK,6CAqGtD,CAAC"}
1
+ {"version":3,"file":"screen-container.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/screen-container.tsx"],"names":[],"mappings":"AAiBA,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,qDAAuB,KAAK,6CA2GtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,6BAA6B,CAAC;AAyChF,UAAU,sBAAsB;IAC/B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACrD,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,yFAM9B,sBAAsB,KAAG;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,sBAAsB,EAAE,eAAe,CAAC;CAkGxC,CAAC"}
1
+ {"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,6BAA6B,CAAC;AA0ChF,UAAU,sBAAsB;IAC/B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACrD,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,yFAM9B,sBAAsB,KAAG;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,sBAAsB,EAAE,eAAe,CAAC;CAqGxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll-registry.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-scroll-registry.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA6DtD,UAAU,uBAAuB;IAChC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,uBAAuB;;;;;CA8J/D,CAAC"}
1
+ {"version":3,"file":"use-scroll-registry.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-scroll-registry.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA6DtD,UAAU,uBAAuB;IAChC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,uBAAuB;;;;;CAkK/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-close-transition.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/lifecycle/use-close-transition.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;CACvB;AAqGD;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,MAAM,IAAI,QAmBtB"}
1
+ {"version":3,"file":"use-close-transition.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/lifecycle/use-close-transition.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;CACvB;AAwGD;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,MAAM,IAAI,QAmBtB"}
@@ -0,0 +1,7 @@
1
+ import { type DerivedValue } from "react-native-reanimated";
2
+ /**
3
+ * Returns a JS-focused index derived from optimisticFocusedIndex and clamped to route count.
4
+ * Keeps callers aligned on focus behavior during transitions with closing screens.
5
+ */
6
+ export declare function useOptimisticFocusedIndex(optimisticFocusedIndex: DerivedValue<number>, routeCount: number): number;
7
+ //# sourceMappingURL=use-optimistic-focused-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-optimistic-focused-index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-optimistic-focused-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AAG7E;;;GAGG;AACH,wBAAgB,yBAAyB,CACxC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,EAC5C,UAAU,EAAE,MAAM,GAChB,MAAM,CAQR"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-screen-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAQtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,MAAM,WAAW,WAAW,CAC3B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,sBAAsB,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,KACzD,WAAW,CAAC,WAAW,CAAC,CAmD5B"}
1
+ {"version":3,"file":"use-screen-state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-screen-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAOtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,MAAM,WAAW,WAAW,CAC3B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,sBAAsB,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,KACzD,WAAW,CAAC,WAAW,CAAC,CAiD5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-shared-value-state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/reanimated/use-shared-value-state.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,WAAW,EAEhB,MAAM,yBAAyB,CAAC;AAGjC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAmBrE"}
1
+ {"version":3,"file":"use-shared-value-state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/reanimated/use-shared-value-state.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,WAAW,EAEhB,MAAM,yBAAyB,CAAC;AAGjC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAsBrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,0BAA0B,CAAC;AAO7E,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,GAAG,IAAI,CAAC;AAET,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,mBAAmB,EAAE,cAAc,CAAC;IACpC,UAAU,EAAE,cAAc,CAAC;IAC3B,qBAAqB,EAAE,cAAc,CAAC;CACtC,CAAC;AA4FF,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,sBAAsB,EAAE,eAAe,CAAC;IACxC,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAED,UAAU,0BAA0B;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MACN,qBAAqB,kDACI,iBAAiB,iCAqEzC,CAAC"}
1
+ {"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,0BAA0B,CAAC;AAQ7E,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,GAAG,IAAI,CAAC;AAET,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,mBAAmB,EAAE,cAAc,CAAC;IACpC,UAAU,EAAE,cAAc,CAAC;IAC3B,qBAAqB,EAAE,cAAc,CAAC;CACtC,CAAC;AA4FF,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,sBAAsB,EAAE,eAAe,CAAC;IACxC,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAED,UAAU,0BAA0B;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MACN,qBAAqB,kDACI,iBAAiB,iCA+FzC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from "react";
1
+ import { type ReactNode } from "react";
2
2
  import { type View } from "react-native";
3
3
  import { type AnimatedRef, type MeasuredDimensions } from "react-native-reanimated";
4
4
  interface LayoutAnchorProviderProps {
@@ -1 +1 @@
1
- {"version":3,"file":"layout-anchor.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/layout-anchor.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AAGjC,UAAU,yBAAyB;IAClC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,wBAAwB;IACjC;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;CACzE;AAED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAQ,oBAAoB,iDAAE,sBAAsB,uCAuCnD,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"layout-anchor.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/layout-anchor.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AAGjC,UAAU,yBAAyB;IAClC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,wBAAwB;IACjC;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;CACzE;AAED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAQ,oBAAoB,iDAAE,sBAAsB,uCA0CnD,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/screen/styles.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,WAAW,EAGhB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG/E,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,SAAS,EAAE,WAAW,CAAC,2BAA2B,CAAC,CAAC;IACpD,kBAAkB,EAAE,WAAW,CAAC,2BAA2B,CAAC,EAAE,CAAC;CAC/D,CAAC;AAMF,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,2CA2FvD;AAED,wBAAgB,eAAe,6BAQ9B"}
1
+ {"version":3,"file":"styles.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/screen/styles.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,WAAW,EAGhB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG/E,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,SAAS,EAAE,WAAW,CAAC,2BAA2B,CAAC,CAAC;IACpD,kBAAkB,EAAE,WAAW,CAAC,2BAA2B,CAAC,EAAE,CAAC;CAC/D,CAAC;AAMF,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAqFvD;AAED,wBAAgB,eAAe,6BAQ9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/stack/direct.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EACX,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,6BAA6B,CAAC;AAYrC,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,UAAU,EAAE,qBAAqB,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACT,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KAChB,qBAAqB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC7C;AAOD,iBAAS,qBAAqB,IAAI,uBAAuB,CAQxD;AAiJD;;;GAGG;AACH,iBAAS,eAAe,CAAC,MAAM,SAAS,gBAAgB,EACvD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GACrD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAqBlB;AAED,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"direct.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/stack/direct.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EACX,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,6BAA6B,CAAC;AAarC,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,UAAU,EAAE,qBAAqB,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACT,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KAChB,qBAAqB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC7C;AAOD,iBAAS,qBAAqB,IAAI,uBAAuB,CAQxD;AAgJD;;;GAGG;AACH,iBAAS,eAAe,CAAC,MAAM,SAAS,gBAAgB,EACvD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GACrD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAqBlB;AAED,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"managed.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/stack/managed.provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,MAAM,yBAAyB,CAAC;AAIjC;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CACjC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,KAAK,WAAW,CAAC;CAC7E;AAED;;GAEG;AACH,UAAU,wBAAwB,CACjC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAMD,iBAAS,sBAAsB,CAC9B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,KACzD,wBAAwB,CAAC,WAAW,CAAC,CAQzC;AA8JD;;;;GAIG;AACH,iBAAS,gBAAgB,CACxB,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAE7D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,GACnE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CA0BvD;AAED,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"managed.provider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/stack/managed.provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,MAAM,yBAAyB,CAAC;AAKjC;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CACjC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,KAAK,WAAW,CAAC;CAC7E;AAED;;GAEG;AACH,UAAU,wBAAwB,CACjC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAMD,iBAAS,sBAAsB,CAC9B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,KACzD,wBAAwB,CAAC,WAAW,CAAC,CAQzC;AA6JD;;;;GAIG;AACH,iBAAS,gBAAgB,CACxB,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAE7D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,GACnE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CA0BvD;AAED,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -66,7 +66,10 @@ export type ScreenTransitionConfig = {
66
66
  */
67
67
  transitionSpec?: TransitionSpec;
68
68
  /**
69
- * Whether the gesture is enabled.
69
+ * Controls whether swipe-to-dismiss is enabled.
70
+ *
71
+ * For screens with `snapPoints`, gesture-driven snapping between non-dismiss
72
+ * snap points remains available even when this is `false`.
70
73
  */
71
74
  gestureEnabled?: boolean;
72
75
  /**
@@ -183,5 +186,17 @@ export type ScreenTransitionConfig = {
183
186
  * @default 'block' (or 'passthrough' for component stacks)
184
187
  */
185
188
  backdropBehavior?: "block" | "passthrough" | "dismiss" | "collapse";
189
+ /**
190
+ * Custom component to render as the backdrop layer.
191
+ * When provided, replaces the default backdrop entirely — including press handling.
192
+ *
193
+ * Use `useScreenAnimation()` inside the component to access animation values.
194
+ * Use your navigation method of choice (e.g. `router.back()`) to handle dismissal.
195
+ *
196
+ * `backdropBehavior` still controls container-level pointer events when this is set.
197
+ *
198
+ * @default undefined
199
+ */
200
+ backdropComponent?: React.FC;
186
201
  };
187
202
  //# sourceMappingURL=screen.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAEzD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAEnD;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;CACpE,CAAC"}
1
+ {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAEzD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAEnD;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;IAEpE;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;CAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"determine-snap-target.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/determine-snap-target.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAAyB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EACnC,eAAe,EACf,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAoB,EACpB,UAAiB,GACjB,EAAE,wBAAwB,GAAG,yBAAyB,CA0CtD"}
1
+ {"version":3,"file":"determine-snap-target.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/determine-snap-target.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAAyB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EACnC,eAAe,EACf,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAoB,EACpB,UAAiB,GACjB,EAAE,wBAAwB,GAAG,yBAAyB,CAqDtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-collapse-target.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/find-collapse-target.ts"],"names":[],"mappings":"AAEA,UAAU,wBAAwB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,OAAO,GACjB,wBAAwB,CAoB1B"}
1
+ {"version":3,"file":"find-collapse-target.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/find-collapse-target.ts"],"names":[],"mappings":"AAEA,UAAU,wBAAwB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,OAAO,GACjB,wBAAwB,CA8B1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-snap-points.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/validate-snap-points.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,yBAAyB;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,6BAGhC,yBAAyB,KAAG,wBAqB9B,CAAC"}
1
+ {"version":3,"file":"validate-snap-points.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/validate-snap-points.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,yBAAyB;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,6BAGhC,yBAAyB,KAAG,wBAkC9B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { OverlayMode } from "../../types/overlay.types";
2
+ type OverlayOptionsLike = {
3
+ overlay?: unknown;
4
+ overlayMode?: OverlayMode;
5
+ overlayShown?: boolean;
6
+ };
7
+ export declare const isOverlayVisible: (options?: OverlayOptionsLike) => boolean;
8
+ export declare const isFloatOverlayVisible: (options?: OverlayOptionsLike) => boolean;
9
+ export declare const isScreenOverlayVisible: (options?: OverlayOptionsLike) => boolean;
10
+ export {};
11
+ //# sourceMappingURL=visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/overlay/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,KAAK,kBAAkB,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,kBAAkB,KAAG,OAE/D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,UAAU,kBAAkB,KAC1B,OAEF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAClC,UAAU,kBAAkB,KAC1B,OAEF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "3.3.0-rc.3",
3
+ "version": "3.3.0",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -45,7 +45,12 @@
45
45
  "typecheck": "tsc --noEmit",
46
46
  "prepublishOnly": "bun run build",
47
47
  "release": "release-it",
48
- "release:beta": "release-it --preRelease=beta"
48
+ "release:stable": "release-it",
49
+ "release:beta": "release-it --preRelease=beta",
50
+ "release:rc": "release-it --preRelease=rc",
51
+ "release:dry-run": "release-it --dry-run",
52
+ "release:beta:dry-run": "release-it --preRelease=beta --dry-run",
53
+ "release:rc:dry-run": "release-it --preRelease=rc --dry-run"
49
54
  },
50
55
  "keywords": [
51
56
  "react-native",
@@ -112,6 +117,7 @@
112
117
  },
113
118
  "plugins": {
114
119
  "@release-it/conventional-changelog": {
120
+ "infile": "CHANGELOG.md",
115
121
  "preset": {
116
122
  "name": "angular"
117
123
  },
@@ -10,6 +10,7 @@ import { Overlay } from "../../shared/components/overlay";
10
10
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
11
11
  import { withStackCore } from "../../shared/providers/stack/core.provider";
12
12
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
13
+ import { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
13
14
  import type {
14
15
  BlankStackDescriptor,
15
16
  BlankStackNavigationHelpers,
@@ -31,7 +32,7 @@ const SceneView = React.memo(function SceneView({
31
32
  return (
32
33
  <NavigationContext.Provider value={navigation}>
33
34
  <NavigationRouteContext.Provider value={route}>
34
- {descriptor.options.overlayMode === "screen" && <Overlay.Screen />}
35
+ {isScreenOverlayVisible(descriptor.options) && <Overlay.Screen />}
35
36
  {render()}
36
37
  </NavigationRouteContext.Provider>
37
38
  </NavigationContext.Provider>
@@ -10,6 +10,7 @@ import { Overlay } from "../../shared/components/overlay";
10
10
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
11
11
  import { withStackCore } from "../../shared/providers/stack/core.provider";
12
12
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
13
+ import { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
13
14
  import type {
14
15
  BlankStackDescriptor,
15
16
  BlankStackNavigationHelpers,
@@ -31,7 +32,7 @@ const SceneView = React.memo(function SceneView({
31
32
  return (
32
33
  <NavigationContext.Provider value={navigation}>
33
34
  <NavigationRouteContext.Provider value={route}>
34
- {descriptor.options.overlayMode === "screen" && <Overlay.Screen />}
35
+ {isScreenOverlayVisible(descriptor.options) && <Overlay.Screen />}
35
36
  {render()}
36
37
  </NavigationRouteContext.Provider>
37
38
  </NavigationContext.Provider>
@@ -9,6 +9,7 @@ import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
9
9
  import { withStackCore } from "../../shared/providers/stack/core.provider";
10
10
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
11
11
  import { StackType } from "../../shared/types/stack.types";
12
+ import { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
12
13
  import type {
13
14
  ComponentStackDescriptor,
14
15
  ComponentStackNavigationHelpers,
@@ -27,7 +28,7 @@ const SceneView = React.memo(function SceneView({
27
28
  return (
28
29
  <NavigationContext.Provider value={navigation}>
29
30
  <NavigationRouteContext.Provider value={route}>
30
- {descriptor.options.overlayMode === "screen" && <Overlay.Screen />}
31
+ {isScreenOverlayVisible(descriptor.options) && <Overlay.Screen />}
31
32
  {render()}
32
33
  </NavigationRouteContext.Provider>
33
34
  </NavigationContext.Provider>
@@ -1,9 +1,10 @@
1
1
  import type { StackScene } from "../../../hooks/navigation/use-stack";
2
+ import { isFloatOverlayVisible } from "../../../utils/overlay/visibility";
2
3
 
3
4
  /**
4
5
  * Find the active float overlay from scenes.
5
6
  * Scans from the top of the stack downward to find the first screen
6
- * with overlayMode="float" and overlayShown=true.
7
+ * with a visible overlay that isn't explicitly set to legacy screen mode.
7
8
  */
8
9
  export function getActiveFloatOverlay(
9
10
  scenes: StackScene[],
@@ -29,7 +30,7 @@ export function getActiveFloatOverlay(
29
30
  continue;
30
31
  }
31
32
 
32
- if (options?.overlayMode === "float" && options?.overlayShown) {
33
+ if (isFloatOverlayVisible(options)) {
33
34
  return { scene, overlayIndex: i };
34
35
  }
35
36
  }
@@ -1,16 +1,33 @@
1
1
  import { useMemo } from "react";
2
+ import { snapDescriptorToIndex } from "../../../animation/snap-to";
3
+ import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimistic-focused-index";
2
4
  import { useStack } from "../../../hooks/navigation/use-stack";
5
+ import type { BaseDescriptor } from "../../../providers/screen/keys.provider";
3
6
  import { KeysProvider } from "../../../providers/screen/keys.provider";
4
7
  import { ScreenStylesProvider } from "../../../providers/screen/styles.provider";
8
+ import type { OverlayProps } from "../../../types/overlay.types";
5
9
  import { getActiveFloatOverlay } from "../helpers/get-active-overlay";
6
10
  import { OverlayHost } from "./overlay-host";
7
11
 
12
+ type OverlayScreenState = Omit<
13
+ OverlayProps<BaseDescriptor["navigation"]>,
14
+ "progress" | "overlayAnimation" | "screenAnimation"
15
+ > & {
16
+ index: number;
17
+ snapTo: (index: number) => void;
18
+ };
19
+
8
20
  /**
9
21
  * Float overlay component that renders above all screens.
10
22
  * Gets routes and descriptors from stack context.
11
23
  */
12
24
  export function FloatOverlay() {
13
- const { scenes, focusedIndex, flags } = useStack();
25
+ const { scenes, optimisticFocusedIndex, flags, routes, routeKeys } =
26
+ useStack();
27
+ const focusedIndex = useOptimisticFocusedIndex(
28
+ optimisticFocusedIndex,
29
+ routeKeys.length,
30
+ );
14
31
 
15
32
  const activeOverlay = useMemo(
16
33
  () =>
@@ -18,20 +35,48 @@ export function FloatOverlay() {
18
35
  [scenes, focusedIndex, flags.TRANSITIONS_ALWAYS_ON],
19
36
  );
20
37
 
21
- if (!activeOverlay) {
38
+ const overlayData = useMemo(() => {
39
+ if (!activeOverlay) return null;
40
+
41
+ const { scene, overlayIndex } = activeOverlay;
42
+ const previous = scenes[overlayIndex - 1]?.descriptor;
43
+ const current = scene.descriptor;
44
+ const next = scenes[overlayIndex + 1]?.descriptor;
45
+ const focusedScene = scenes[focusedIndex] ?? scenes[scenes.length - 1];
46
+ const focusedDescriptor = focusedScene?.descriptor;
47
+
48
+ const overlayScreenState: OverlayScreenState = {
49
+ index: routeKeys.indexOf(current.route.key),
50
+ options: focusedDescriptor?.options ?? {},
51
+ routes,
52
+ focusedRoute: focusedScene?.route ?? current.route,
53
+ focusedIndex,
54
+ meta: focusedDescriptor?.options?.meta,
55
+ navigation: current.navigation,
56
+ snapTo: (index: number) => {
57
+ snapDescriptorToIndex(current, index);
58
+ },
59
+ };
60
+
61
+ return {
62
+ scene,
63
+ previous,
64
+ current,
65
+ next,
66
+ overlayScreenState,
67
+ };
68
+ }, [activeOverlay, scenes, focusedIndex, routeKeys, routes]);
69
+
70
+ if (!overlayData) {
22
71
  return null;
23
72
  }
24
73
 
25
- const { scene, overlayIndex } = activeOverlay;
26
-
27
- const previous = scenes[overlayIndex - 1]?.descriptor;
28
- const current = scene.descriptor;
29
- const next = scenes[overlayIndex + 1]?.descriptor;
74
+ const { scene, previous, current, next, overlayScreenState } = overlayData;
30
75
 
31
76
  return (
32
77
  <KeysProvider current={current} previous={previous} next={next}>
33
78
  <ScreenStylesProvider>
34
- <OverlayHost scene={scene} />
79
+ <OverlayHost scene={scene} overlayScreenState={overlayScreenState} />
35
80
  </ScreenStylesProvider>
36
81
  </KeysProvider>
37
82
  );
@@ -7,25 +7,33 @@ import { Animated, StyleSheet, useWindowDimensions, View } from "react-native";
7
7
  import { useDerivedValue } from "react-native-reanimated";
8
8
  import { useSafeAreaInsets } from "react-native-safe-area-context";
9
9
  import { useScreenAnimation } from "../../../hooks/animation/use-screen-animation";
10
- import { useScreenState } from "../../../hooks/navigation/use-screen-state";
11
10
  import type { StackScene } from "../../../hooks/navigation/use-stack";
12
11
  import type { BaseDescriptor } from "../../../providers/screen/keys.provider";
13
12
  import type { OverlayInterpolationProps } from "../../../types/animation.types";
14
13
  import type { OverlayProps } from "../../../types/overlay.types";
15
14
 
15
+ type OverlayScreenState = Omit<
16
+ OverlayProps<BaseDescriptor["navigation"]>,
17
+ "progress" | "overlayAnimation" | "screenAnimation"
18
+ > & {
19
+ index: number;
20
+ snapTo: (index: number) => void;
21
+ };
22
+
16
23
  type OverlayHostProps = {
17
24
  scene: StackScene;
25
+ overlayScreenState: OverlayScreenState;
18
26
  };
19
27
 
20
28
  export const OverlayHost = memo(function OverlayHost({
21
29
  scene,
30
+ overlayScreenState,
22
31
  }: OverlayHostProps) {
23
32
  const OverlayComponent = scene.descriptor.options.overlay;
24
33
  const screen = useWindowDimensions();
25
34
  const insets = useSafeAreaInsets();
26
35
 
27
36
  const screenAnimation = useScreenAnimation();
28
- const screenState = useScreenState();
29
37
  const relativeProgress = useDerivedValue(() => {
30
38
  "worklet";
31
39
  return screenAnimation.value.stackProgress;
@@ -39,12 +47,14 @@ export const OverlayHost = memo(function OverlayHost({
39
47
 
40
48
  const overlayProps: OverlayProps<BaseDescriptor["navigation"]> = useMemo(
41
49
  () => ({
42
- ...screenState,
50
+ ...overlayScreenState,
43
51
  progress: relativeProgress,
44
- overlayAnimation, //Deprecated
45
- screenAnimation, //Deprecated
52
+ /**@deprecated */
53
+ overlayAnimation,
54
+ /**@deprecated */
55
+ screenAnimation,
46
56
  }),
47
- [relativeProgress, overlayAnimation, screenAnimation, screenState],
57
+ [relativeProgress, overlayAnimation, screenAnimation, overlayScreenState],
48
58
  );
49
59
 
50
60
  if (!OverlayComponent) {
@@ -1,12 +1,24 @@
1
1
  import { useMemo } from "react";
2
+ import { snapDescriptorToIndex } from "../../../animation/snap-to";
3
+ import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimistic-focused-index";
2
4
  import {
3
5
  type StackDescriptor,
4
6
  type StackScene,
5
7
  useStack,
6
8
  } from "../../../hooks/navigation/use-stack";
7
9
  import { useKeys } from "../../../providers/screen/keys.provider";
10
+ import type { OverlayProps } from "../../../types/overlay.types";
11
+ import { isScreenOverlayVisible } from "../../../utils/overlay/visibility";
8
12
  import { OverlayHost } from "./overlay-host";
9
13
 
14
+ type OverlayScreenState = Omit<
15
+ OverlayProps<StackDescriptor["navigation"]>,
16
+ "progress" | "overlayAnimation" | "screenAnimation"
17
+ > & {
18
+ index: number;
19
+ snapTo: (index: number) => void;
20
+ };
21
+
10
22
  /**
11
23
  * Screen overlay component that renders per-screen.
12
24
  * Gets current descriptor from keys context.
@@ -17,7 +29,11 @@ import { OverlayHost } from "./overlay-host";
17
29
  */
18
30
  export function ScreenOverlay() {
19
31
  const { current } = useKeys<StackDescriptor>();
20
- const { flags } = useStack();
32
+ const { flags, routes, optimisticFocusedIndex, routeKeys } = useStack();
33
+ const focusedIndex = useOptimisticFocusedIndex(
34
+ optimisticFocusedIndex,
35
+ routeKeys.length,
36
+ );
21
37
 
22
38
  const options = current.options;
23
39
 
@@ -29,14 +45,30 @@ export function ScreenOverlay() {
29
45
  [current],
30
46
  );
31
47
 
48
+ const overlayScreenState = useMemo<OverlayScreenState>(
49
+ () => ({
50
+ index: routeKeys.indexOf(current.route.key),
51
+ options: current.options,
52
+ routes,
53
+ focusedRoute: routes[focusedIndex] ?? current.route,
54
+ focusedIndex,
55
+ meta: current.options?.meta,
56
+ navigation: current.navigation,
57
+ snapTo: (index: number) => {
58
+ snapDescriptorToIndex(current, index);
59
+ },
60
+ }),
61
+ [current, routeKeys, routes, focusedIndex],
62
+ );
63
+
32
64
  // Skip screens without enableTransitions (native-stack only)
33
65
  if (!flags.TRANSITIONS_ALWAYS_ON && !options.enableTransitions) {
34
66
  return null;
35
67
  }
36
68
 
37
- if (!options.overlayShown || options.overlayMode !== "screen") {
69
+ if (!isScreenOverlayVisible(options)) {
38
70
  return null;
39
71
  }
40
72
 
41
- return <OverlayHost scene={scene} />;
73
+ return <OverlayHost scene={scene} overlayScreenState={overlayScreenState} />;
42
74
  }