react-native-screen-transitions 4.0.0-alpha.4 → 4.0.0-alpha.5

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 (74) hide show
  1. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +17 -9
  2. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  3. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +4 -15
  4. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  5. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +22 -24
  6. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  7. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -36
  8. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  9. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +1 -1
  10. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  11. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  12. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  13. package/lib/commonjs/components/boundary/utils/destination-signals.js +7 -1
  14. package/lib/commonjs/components/boundary/utils/destination-signals.js.map +1 -1
  15. package/lib/commonjs/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +15 -14
  16. package/lib/commonjs/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -1
  17. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +17 -17
  18. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  19. package/lib/commonjs/stores/bounds/internals/entries.js +13 -3
  20. package/lib/commonjs/stores/bounds/internals/entries.js.map +1 -1
  21. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +18 -10
  22. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  23. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +4 -15
  24. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  25. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +22 -24
  26. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  27. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -36
  28. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  29. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +2 -2
  30. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  31. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  32. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  33. package/lib/module/components/boundary/utils/destination-signals.js +7 -1
  34. package/lib/module/components/boundary/utils/destination-signals.js.map +1 -1
  35. package/lib/module/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +15 -14
  36. package/lib/module/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -1
  37. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +17 -17
  38. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  39. package/lib/module/stores/bounds/internals/entries.js +13 -3
  40. package/lib/module/stores/bounds/internals/entries.js.map +1 -1
  41. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  42. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  43. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +1 -5
  44. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
  45. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  46. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
  47. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +0 -2
  48. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  49. package/lib/typescript/components/boundary/utils/destination-signals.d.ts +1 -1
  50. package/lib/typescript/components/boundary/utils/destination-signals.d.ts.map +1 -1
  51. package/lib/typescript/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts +1 -3
  52. package/lib/typescript/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts.map +1 -1
  53. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -4
  54. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  55. package/lib/typescript/stores/bounds/internals/entries.d.ts +1 -1
  56. package/lib/typescript/stores/bounds/internals/entries.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/src/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +34 -13
  59. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +4 -20
  60. package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +27 -37
  61. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +10 -57
  62. package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +1 -8
  63. package/src/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +0 -3
  64. package/src/components/boundary/utils/destination-signals.ts +6 -2
  65. package/src/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts +16 -16
  66. package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +21 -24
  67. package/src/stores/bounds/internals/entries.ts +12 -1
  68. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js +0 -18
  69. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +0 -1
  70. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js +0 -13
  71. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +0 -1
  72. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts +0 -3
  73. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts.map +0 -1
  74. package/src/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.ts +0 -16
@@ -82,10 +82,10 @@ const runInterpolator = ({
82
82
  * normal interpolator selection once the gesture-driven close is no longer in
83
83
  * play.
84
84
  *
85
- * At an ownership handoff, the last current-owner styles are frozen. The next
86
- * owner replaces matching scalar keys and composes its live transforms after
87
- * the frozen transforms. The previous interpolator is not evaluated again until
88
- * it regains ownership.
85
+ * At an ownership handoff, the current interpolator remains live but is
86
+ * evaluated without the next-screen relationship. The next owner replaces
87
+ * matching scalar keys and composes its live transforms after the current
88
+ * screen's self-owned transforms.
89
89
  */
90
90
  const useInterpolatedStylesMap = ({
91
91
  enabled,
@@ -123,7 +123,6 @@ const useInterpolatedStylesMap = ({
123
123
  } = _system.SystemStore.getBag(activeScreenKey);
124
124
  const isGesturingDuringCloseAnimation = (0, _reactNativeReanimated.useSharedValue)(false);
125
125
  const initialDestinationStylesReady = (0, _reactNativeReanimated.useSharedValue)(0);
126
- const frozenCurrentStylesMap = (0, _reactNativeReanimated.useSharedValue)(_constants.NO_STYLES);
127
126
  const shouldPrepareInitialDestinationStyles = enabled && !!destinationPairKey && !nextScreenKey && !!currentInterpolator;
128
127
  (0, _reactNativeReanimated.useAnimatedReaction)(() => {
129
128
  "worklet";
@@ -184,14 +183,19 @@ const useInterpolatedStylesMap = ({
184
183
  const nextReady = currentOwnsInterpolator ? 0 : 1;
185
184
  nextInterpolatorReady.set(nextReady);
186
185
  const interpolatorOptionsOwner = currentOwnsInterpolator ? "current" : "next";
187
- const selectedFrame = (0, _selectInterpolatorFrame.selectInterpolatorFrame)(props, isInGestureMode);
188
- const currentResult = currentOwnsInterpolator ? runInterpolator({
186
+
187
+ // Once the next interpolator owns the relationship, the current
188
+ // interpolator remains responsible only for its own live presentation.
189
+ // This preserves snap-point transforms without letting current-screen
190
+ // unfocus rules compete with the next screen's outgoing transition.
191
+ const currentSelectedFrame = (0, _selectInterpolatorFrame.selectInterpolatorFrame)(props, isInGestureMode || !!nextInterpolator);
192
+ const currentResult = runInterpolator({
189
193
  interpolator: currentInterpolator,
190
194
  props,
191
- selectedFrame,
195
+ selectedFrame: currentSelectedFrame,
192
196
  bounds: boundsAccessor,
193
197
  transition
194
- }) : undefined;
198
+ });
195
199
  const initialDestinationStyleGate = (0, _visibilityGate.resolveInitialDestinationStyleGate)({
196
200
  shouldPrepareStyles: shouldPrepareInitialDestinationStyles,
197
201
  isVisibilityBlocked: visibilityBlocked.get(),
@@ -206,18 +210,15 @@ const useInterpolatedStylesMap = ({
206
210
  const handoff = (0, _resolveInterpolatorStyleHandoff.resolveInterpolatorStyleHandoff)({
207
211
  currentOwnsInterpolator: true,
208
212
  currentStylesMap: currentResult?.stylesMap,
209
- nextStylesMap: undefined,
210
- frozenCurrentStylesMap: frozenCurrentStylesMap.get()
213
+ nextStylesMap: undefined
211
214
  });
212
- if (handoff.nextFrozenCurrentStylesMap !== frozenCurrentStylesMap.get()) {
213
- frozenCurrentStylesMap.set(handoff.nextFrozenCurrentStylesMap);
214
- }
215
215
  return handoff.localStylesMaps.length ? handoff.localStylesMaps : NO_STYLE_LAYERS;
216
216
  }
217
+ const nextSelectedFrame = (0, _selectInterpolatorFrame.selectInterpolatorFrame)(props, false);
217
218
  const nextResult = runInterpolator({
218
219
  interpolator: nextInterpolator,
219
220
  props,
220
- selectedFrame,
221
+ selectedFrame: nextSelectedFrame,
221
222
  bounds: boundsAccessor,
222
223
  transition
223
224
  });
@@ -226,8 +227,7 @@ const useInterpolatedStylesMap = ({
226
227
  const handoff = (0, _resolveInterpolatorStyleHandoff.resolveInterpolatorStyleHandoff)({
227
228
  currentOwnsInterpolator: false,
228
229
  currentStylesMap: currentResult?.stylesMap,
229
- nextStylesMap: nextResult?.stylesMap,
230
- frozenCurrentStylesMap: frozenCurrentStylesMap.get()
230
+ nextStylesMap: nextResult?.stylesMap
231
231
  });
232
232
  return handoff.localStylesMaps.length ? handoff.localStylesMaps : NO_STYLE_LAYERS;
233
233
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_constants","_animation","_system","_logger","_animation2","_useBuildBoundsAccessor","_useBuildTransitionAccessor","_readScreenAnimationRevisions","_selectedInterpolatorOptions","_descriptors","_options","_collectInterpolatorSharedValues","_normalizeSlots","_resolveInterpolatorStyleHandoff","_selectInterpolatorFrame","_stripInterpolatorOptions","_transitionVisualState","_visibilityGate","NO_STYLE_LAYERS","normalizeRawStyleMap","rawStyleMap","NO_STYLES","stylesMap","normalizeSlots","stripInterpolatorOptions","runInterpolator","interpolator","props","selectedFrame","bounds","transition","undefined","raw","_","__DEV__","logger","warn","useInterpolatedStylesMap","enabled","visibilityBlocked","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","destinationPairKey","screenOptions","useScreenOptionsStore","screenInterpolatorProps","screenInterpolatorPropsRevision","selectedInterpolatorOptions","nextInterpolator","currentInterpolator","ancestorScreenAnimationSources","descendantScreenAnimationSources","useScreenAnimationStore","boundsAccessor","useBuildBoundsAccessor","useBuildTransitionAccessor","nextInterpolatorReady","useSharedValue","interpolatorSharedValues","useMemo","collectInterpolatorSharedValues","activeScreenKey","closing","activeClosing","entering","activeEntering","AnimationStore","getBag","animationProgress","activeAnimationProgress","pendingLifecycleRequestKind","activePendingLifecycleRequestKind","pendingLifecycleStartBlockCount","activePendingLifecycleStartBlockCount","SystemStore","isGesturingDuringCloseAnimation","initialDestinationStylesReady","frozenCurrentStylesMap","shouldPrepareInitialDestinationStyles","useAnimatedReaction","get","isVisibilityBlocked","styleGate","resolveInitialDestinationStyleGate","shouldPrepareStyles","stylesReady","shouldMarkStylesReady","set","localStylesMaps","useDerivedValue","readScreenAnimationRevisions","current","next","isDragging","gesture","dragging","isNextClosing","isInGestureMode","isPendingOpen","LifecycleTransitionRequestKind","Open","activeOpening","isOpeningBlocked","isOpenTransitionBlocked","opening","hasCloseFinished","hasCloseTransitionFinished","currentOwnsInterpolator","nextReady","interpolatorOptionsOwner","selectInterpolatorFrame","currentResult","initialDestinationStyleGate","shouldWithholdStyles","syncSelectedInterpolatorOptions","options","syncScreenOptionsOverrides","handoff","resolveInterpolatorStyleHandoff","currentStylesMap","nextStylesMap","nextFrozenCurrentStylesMap","length","nextResult","exports"],"sourceRoot":"../../../../../../src","sources":["providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAMA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AASA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,uBAAA,GAAAP,OAAA;AACA,IAAAQ,2BAAA,GAAAR,OAAA;AAEA,IAAAS,6BAAA,GAAAT,OAAA;AACA,IAAAU,4BAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAIA,IAAAa,gCAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AACA,IAAAe,gCAAA,GAAAf,OAAA;AAEA,IAAAgB,wBAAA,GAAAhB,OAAA;AAIA,IAAAiB,yBAAA,GAAAjB,OAAA;AACA,IAAAkB,sBAAA,GAAAlB,OAAA;AAIA,IAAAmB,eAAA,GAAAnB,OAAA;AAEA,MAAMoB,eAAiC,GAAG,EAAE;AAe5C,MAAMC,oBAAoB,GACzBC,WAAoD,IAChD;EACJ,SAAS;;EAET,IAAI,CAACA,WAAW,EAAE;IACjB,OAAOC,oBAAS;EACjB;EAEA,MAAMC,SAAS,GAAG,IAAAC,8BAAc,EAAC,IAAAC,kDAAwB,EAACJ,WAAW,CAAC,CAAC;EAEvE,OAAOE,SAAS;AACjB,CAAC;AAED,MAAMG,eAAe,GAAGA,CAAC;EACxBC,YAAY;EACZC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC;AACsB,CAAC,KAAqC;EAC5D,SAAS;;EAET,IAAI,CAACJ,YAAY,EAAE;IAClB,OAAOK,SAAS;EACjB;EAEA,IAAI;IACH,MAAMC,GAAG,GAAGN,YAAY,CAAC;MACxB,GAAGC,KAAK;MACR,GAAGC,aAAa;MAChBC,MAAM;MACNC;IACD,CAAC,CAAC;IAEF,MAAMV,WAAoD,GACzD,OAAOY,GAAG,KAAK,QAAQ,IAAIA,GAAG,IAAI,IAAI,GAAGA,GAAG,GAAGD,SAAS;IAEzD,OAAO;MACNX,WAAW;MACXE,SAAS,EAAEH,oBAAoB,CAACC,WAAW;IAC5C,CAAC;EACF,CAAC,CAAC,OAAOa,CAAC,EAAE;IACX,IAAIC,OAAO,EAAE;MACZC,cAAM,CAACC,IAAI,CAAC,2CAA2C,CAAC;IACzD;IAEA,OAAOL,SAAS;EACjB;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMM,wBAAwB,GAAGA,CAAC;EACxCC,OAAO;EACPC;AAID,CAAC,KAAK;EACL,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAC1CC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACH,gBACtB,CAAC;EACD,MAAMI,aAAa,GAAG,IAAAH,gCAAmB,EAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E,MAAMC,kBAAkB,GAAG,IAAAJ,gCAAmB,EAC5CC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACE,kBACtB,CAAC;EACD,MAAMC,aAAa,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAC7C,MAAM;IACLC,uBAAuB;IACvBC,+BAA+B;IAC/BC,2BAA2B;IAC3BC,gBAAgB;IAChBC,mBAAmB;IACnBC,8BAA8B;IAC9BC;EACD,CAAC,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EAC7B,MAAMC,cAAc,GAAG,IAAAC,8CAAsB,EAAC,CAAC;EAC/C,MAAM3B,UAAU,GAAG,IAAA4B,sDAA0B,EAAC,CAAC;EAC/C,MAAMC,qBAAqB,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;;EAE/C;EACA;EACA,MAAMC,wBAAwB,GAAG,IAAAC,cAAO,EACvC,MACC,IAAAC,gEAA+B,EAAC,CAACX,mBAAmB,EAAED,gBAAgB,CAAC,CAAC,EACzE,CAACC,mBAAmB,EAAED,gBAAgB,CACvC,CAAC;EAED,MAAMa,eAAe,GAAGpB,aAAa,IAAIJ,gBAAgB;EACzD,MAAM;IAAEyB,OAAO,EAAEC,aAAa;IAAEC,QAAQ,EAAEC;EAAe,CAAC,GACzDC,yBAAc,CAACC,MAAM,CAACN,eAAe,CAAC;EACvC,MAAM;IACLO,iBAAiB,EAAEC,uBAAuB;IAC1CC,2BAA2B,EAAEC,iCAAiC;IAC9DC,+BAA+B,EAAEC;EAClC,CAAC,GAAGC,mBAAW,CAACP,MAAM,CAACN,eAAe,CAAC;EAEvC,MAAMc,+BAA+B,GAAG,IAAAlB,qCAAc,EAAC,KAAK,CAAC;EAC7D,MAAMmB,6BAA6B,GAAG,IAAAnB,qCAAc,EAAC,CAAC,CAAC;EACvD,MAAMoB,sBAAsB,GAC3B,IAAApB,qCAAc,EAAwCvC,oBAAS,CAAC;EACjE,MAAM4D,qCAAqC,GAC1C3C,OAAO,IAAI,CAAC,CAACO,kBAAkB,IAAI,CAACD,aAAa,IAAI,CAAC,CAACQ,mBAAmB;EAE3E,IAAA8B,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO3C,iBAAiB,CAAC4C,GAAG,CAAC,CAAC;EAC/B,CAAC,EACAC,mBAAmB,IAAK;IACxB,SAAS;;IACT,MAAMC,SAAS,GAAG,IAAAC,kDAAkC,EAAC;MACpDC,mBAAmB,EAAEN,qCAAqC;MAC1DG,mBAAmB;MACnBI,WAAW,EAAE,CAAC,CAACT,6BAA6B,CAACI,GAAG,CAAC;IAClD,CAAC,CAAC;IAEF,IAAIE,SAAS,CAACI,qBAAqB,EAAE;MACpCV,6BAA6B,CAACW,GAAG,CAAC,CAAC,CAAC;IACrC;EACD,CACD,CAAC;EAED,MAAMC,eAAe,GAAG,IAAAC,sCAAe,EAAmB,MAAM;IAC/D,SAAS;;IACT,IAAAC,0DAA4B,EAC3B5C,+BAA+B,EAC/BI,8BAA8B,EAC9BC,gCAAgC,EAChCO,wBACD,CAAC;IACD,MAAMlC,KAAK,GAAGqB,uBAAuB,CAACmC,GAAG,CAAC,CAAC;IAE3C,MAAM;MAAEW,OAAO;MAAEC;IAAK,CAAC,GAAGpE,KAAK;IAC/B,MAAMqE,UAAU,GAAGF,OAAO,CAACG,OAAO,CAACC,QAAQ;IAC3C,MAAMC,aAAa,GAAG,CAAC,CAACJ,IAAI,EAAE9B,OAAO;;IAErC;IACA;IACA;IACA,IAAI+B,UAAU,IAAIG,aAAa,EAAE;MAChCrB,+BAA+B,CAACY,GAAG,CAAC,IAAI,CAAC;IAC1C;IAEA,IAAI,CAACM,UAAU,IAAI,CAACG,aAAa,EAAE;MAClCrB,+BAA+B,CAACY,GAAG,CAAC,KAAK,CAAC;IAC3C;IAEA,MAAMU,eAAe,GACpB,CAAC,CAACJ,UAAU,IAAIlB,+BAA+B,CAACK,GAAG,CAAC,CAAC;;IAEtD;IACA;IACA;IACA;IACA;IACA,MAAMkB,aAAa,GAClB3B,iCAAiC,CAACS,GAAG,CAAC,CAAC,KACvCmB,sCAA8B,CAACC,IAAI;IACpC,MAAMC,aAAa,GAAGH,aAAa,IAAI,CAAC,CAACjC,cAAc,CAACe,GAAG,CAAC,CAAC;IAC7D,MAAMsB,gBAAgB,GAAG,IAAAC,8CAAuB,EAAC;MAChDC,OAAO,EAAEH,aAAa;MACtB7B,+BAA+B,EAC9BC,qCAAqC,CAACO,GAAG,CAAC,CAAC;MAC5CZ,iBAAiB,EAAEC,uBAAuB,CAACW,GAAG,CAAC;IAChD,CAAC,CAAC;IACF,MAAMyB,gBAAgB,GAAG,IAAAC,iDAA0B,EAAC;MACnD5C,OAAO,EAAEC,aAAa,CAACiB,GAAG,CAAC,CAAC;MAC5BZ,iBAAiB,EAAEC,uBAAuB,CAACW,GAAG,CAAC;IAChD,CAAC,CAAC;IACF,MAAM2B,uBAAuB,GAC5BV,eAAe,IACf,CAACjD,gBAAgB,IACjBsD,gBAAgB,IAChBG,gBAAgB;IACjB,MAAMG,SAAS,GAAGD,uBAAuB,GAAG,CAAC,GAAG,CAAC;IAEjDnD,qBAAqB,CAAC+B,GAAG,CAACqB,SAAS,CAAC;IAEpC,MAAMC,wBAAwB,GAAGF,uBAAuB,GACrD,SAAS,GACT,MAAM;IAET,MAAMlF,aAAa,GAAG,IAAAqF,gDAAuB,EAACtF,KAAK,EAAEyE,eAAe,CAAC;IAErE,MAAMc,aAAa,GAAGJ,uBAAuB,GAC1CrF,eAAe,CAAC;MAChBC,YAAY,EAAE0B,mBAAmB;MACjCzB,KAAK;MACLC,aAAa;MACbC,MAAM,EAAE2B,cAAc;MACtB1B;IACD,CAAC,CAAC,GACDC,SAAS;IAEZ,MAAMoF,2BAA2B,GAAG,IAAA7B,kDAAkC,EAAC;MACtEC,mBAAmB,EAAEN,qCAAqC;MAC1DG,mBAAmB,EAAE7C,iBAAiB,CAAC4C,GAAG,CAAC,CAAC;MAC5CK,WAAW,EAAE,CAAC,CAACT,6BAA6B,CAACI,GAAG,CAAC;IAClD,CAAC,CAAC;IAEF,IAAIgC,2BAA2B,CAACC,oBAAoB,EAAE;MACrD,OAAOlG,eAAe;IACvB;IAEA,IAAI8F,wBAAwB,KAAK,SAAS,EAAE;MAC3C,IAAAK,4DAA+B,EAC9BnE,2BAA2B,EAC3B,SAAS,EACTgE,aAAa,EAAE9F,WAAW,EAAEkG,OAC7B,CAAC;MACD,IAAAC,mCAA0B,EAACL,aAAa,EAAE9F,WAAW,EAAE0B,aAAa,CAAC;MAErE,MAAM0E,OAAO,GAAG,IAAAC,gEAA+B,EAAC;QAC/CX,uBAAuB,EAAE,IAAI;QAC7BY,gBAAgB,EAAER,aAAa,EAAE5F,SAAS;QAC1CqG,aAAa,EAAE5F,SAAS;QACxBiD,sBAAsB,EAAEA,sBAAsB,CAACG,GAAG,CAAC;MACpD,CAAC,CAAC;MAEF,IAAIqC,OAAO,CAACI,0BAA0B,KAAK5C,sBAAsB,CAACG,GAAG,CAAC,CAAC,EAAE;QACxEH,sBAAsB,CAACU,GAAG,CAAC8B,OAAO,CAACI,0BAA0B,CAAC;MAC/D;MAEA,OAAOJ,OAAO,CAAC7B,eAAe,CAACkC,MAAM,GAClCL,OAAO,CAAC7B,eAAe,GACvBzE,eAAe;IACnB;IAEA,MAAM4G,UAAU,GAAGrG,eAAe,CAAC;MAClCC,YAAY,EAAEyB,gBAAgB;MAC9BxB,KAAK;MACLC,aAAa;MACbC,MAAM,EAAE2B,cAAc;MACtB1B;IACD,CAAC,CAAC;IAEF,IAAAuF,4DAA+B,EAC9BnE,2BAA2B,EAC3B,MAAM,EACN4E,UAAU,EAAE1G,WAAW,EAAEkG,OAC1B,CAAC;IACD,IAAAC,mCAA0B,EAACxF,SAAS,EAAEe,aAAa,CAAC;IAEpD,MAAM0E,OAAO,GAAG,IAAAC,gEAA+B,EAAC;MAC/CX,uBAAuB,EAAE,KAAK;MAC9BY,gBAAgB,EAAER,aAAa,EAAE5F,SAAS;MAC1CqG,aAAa,EAAEG,UAAU,EAAExG,SAAS;MACpC0D,sBAAsB,EAAEA,sBAAsB,CAACG,GAAG,CAAC;IACpD,CAAC,CAAC;IAEF,OAAOqC,OAAO,CAAC7B,eAAe,CAACkC,MAAM,GAClCL,OAAO,CAAC7B,eAAe,GACvBzE,eAAe;EACnB,CAAC,CAAC;EAEF,OAAO;IACNyE,eAAe;IACfhC;EACD,CAAC;AACF,CAAC;AAACoE,OAAA,CAAA1F,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_constants","_animation","_system","_logger","_animation2","_useBuildBoundsAccessor","_useBuildTransitionAccessor","_readScreenAnimationRevisions","_selectedInterpolatorOptions","_descriptors","_options","_collectInterpolatorSharedValues","_normalizeSlots","_resolveInterpolatorStyleHandoff","_selectInterpolatorFrame","_stripInterpolatorOptions","_transitionVisualState","_visibilityGate","NO_STYLE_LAYERS","normalizeRawStyleMap","rawStyleMap","NO_STYLES","stylesMap","normalizeSlots","stripInterpolatorOptions","runInterpolator","interpolator","props","selectedFrame","bounds","transition","undefined","raw","_","__DEV__","logger","warn","useInterpolatedStylesMap","enabled","visibilityBlocked","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","destinationPairKey","screenOptions","useScreenOptionsStore","screenInterpolatorProps","screenInterpolatorPropsRevision","selectedInterpolatorOptions","nextInterpolator","currentInterpolator","ancestorScreenAnimationSources","descendantScreenAnimationSources","useScreenAnimationStore","boundsAccessor","useBuildBoundsAccessor","useBuildTransitionAccessor","nextInterpolatorReady","useSharedValue","interpolatorSharedValues","useMemo","collectInterpolatorSharedValues","activeScreenKey","closing","activeClosing","entering","activeEntering","AnimationStore","getBag","animationProgress","activeAnimationProgress","pendingLifecycleRequestKind","activePendingLifecycleRequestKind","pendingLifecycleStartBlockCount","activePendingLifecycleStartBlockCount","SystemStore","isGesturingDuringCloseAnimation","initialDestinationStylesReady","shouldPrepareInitialDestinationStyles","useAnimatedReaction","get","isVisibilityBlocked","styleGate","resolveInitialDestinationStyleGate","shouldPrepareStyles","stylesReady","shouldMarkStylesReady","set","localStylesMaps","useDerivedValue","readScreenAnimationRevisions","current","next","isDragging","gesture","dragging","isNextClosing","isInGestureMode","isPendingOpen","LifecycleTransitionRequestKind","Open","activeOpening","isOpeningBlocked","isOpenTransitionBlocked","opening","hasCloseFinished","hasCloseTransitionFinished","currentOwnsInterpolator","nextReady","interpolatorOptionsOwner","currentSelectedFrame","selectInterpolatorFrame","currentResult","initialDestinationStyleGate","shouldWithholdStyles","syncSelectedInterpolatorOptions","options","syncScreenOptionsOverrides","handoff","resolveInterpolatorStyleHandoff","currentStylesMap","nextStylesMap","length","nextSelectedFrame","nextResult","exports"],"sourceRoot":"../../../../../../src","sources":["providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"mappings":"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","ignoreList":[]}
@@ -61,17 +61,27 @@ function getEntry(tag, key) {
61
61
 
62
62
  return _state.boundaryRegistry.get()[tag]?.screens[key] ?? null;
63
63
  }
64
- function getMatchingSourceScreenKey(tag, destinationScreenKey, preferredScreenKey) {
64
+ function getMatchingSourceScreenKey(tag, destinationScreenKey, preferredScreenKey, excludedScreenKeys) {
65
65
  "worklet";
66
66
 
67
67
  const screens = _state.boundaryRegistry.get()[tag]?.screens;
68
68
  if (!screens) return null;
69
- if (preferredScreenKey && preferredScreenKey !== destinationScreenKey && screens[preferredScreenKey]) {
69
+ const isExcluded = screenKey => {
70
+ "worklet";
71
+
72
+ for (let index = 0; index < (excludedScreenKeys?.length ?? 0); index++) {
73
+ if (excludedScreenKeys?.[index] === screenKey) {
74
+ return true;
75
+ }
76
+ }
77
+ return false;
78
+ };
79
+ if (preferredScreenKey && preferredScreenKey !== destinationScreenKey && !isExcluded(preferredScreenKey) && screens[preferredScreenKey]) {
70
80
  return preferredScreenKey;
71
81
  }
72
82
  let latestScreenKey = null;
73
83
  for (const screenKey in screens) {
74
- if (screenKey !== destinationScreenKey) {
84
+ if (screenKey !== destinationScreenKey && !isExcluded(screenKey)) {
75
85
  latestScreenKey = screenKey;
76
86
  }
77
87
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_keys","require","_state","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","handoff","escapeClipping","getEntry","key","boundaryRegistry","get","getMatchingSourceScreenKey","destinationScreenKey","preferredScreenKey","latestScreenKey","setEntry","modify","removeEntry","hasAnyKeys"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/entries.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_keys","require","_state","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","handoff","escapeClipping","getEntry","key","boundaryRegistry","get","getMatchingSourceScreenKey","destinationScreenKey","preferredScreenKey","excludedScreenKeys","isExcluded","index","length","latestScreenKey","setEntry","modify","removeEntry","hasAnyKeys"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/entries.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useLayoutEffect } from "react";
3
+ import { useCallback, useLayoutEffect, useMemo } from "react";
4
4
  import { cancelAnimation, useAnimatedReaction, useSharedValue, withDelay, withTiming } from "react-native-reanimated";
5
5
  import { scheduleOnUI } from "react-native-worklets";
6
+ import { useStack } from "../../../../hooks/navigation/use-stack";
6
7
  import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
7
8
  import { AnimationStore } from "../../../../stores/animation.store";
8
9
  import { createScreenPairKey, getSourceScreenKeyFromPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
@@ -39,6 +40,10 @@ export const useInitialDestinationMeasurement = ({
39
40
  const destinationEnabled = enabled && !nextScreenKey;
40
41
  const canReceiveDestination = destinationEnabled && !!destinationPairKey;
41
42
  const preferredSourceScreenKey = destinationPairKey ? getSourceScreenKeyFromPairKey(destinationPairKey) : undefined;
43
+ const stackScenes = useStack(store => store.scenes);
44
+ // A retained closing screen can still have registered boundaries, but it
45
+ // cannot own a new transition link.
46
+ const closingSourceScreenKeys = useMemo(() => stackScenes.filter(scene => scene.activity === "closing").map(scene => scene.route.key), [stackScenes]);
42
47
  const progress = AnimationStore.getValue(currentScreenKey, "transitionProgress");
43
48
  const {
44
49
  actions: {
@@ -50,6 +55,7 @@ export const useInitialDestinationMeasurement = ({
50
55
  const retryToken = useSharedValue(0);
51
56
  const handshakeRetries = useSharedValue(0);
52
57
  const hasGivenUp = useSharedValue(0);
58
+ const hasFinishedInitialMeasurement = useSharedValue(0);
53
59
  const releaseLifecycleStartBlock = useCallback(() => {
54
60
  "worklet";
55
61
 
@@ -57,13 +63,14 @@ export const useInitialDestinationMeasurement = ({
57
63
  if (!isBlockingLifecycleStart.get()) {
58
64
  return;
59
65
  }
66
+ hasFinishedInitialMeasurement.set(1);
60
67
  isBlockingLifecycleStart.set(0);
61
68
  unblockLifecycleStart();
62
- }, [isBlockingLifecycleStart, retryToken, unblockLifecycleStart]);
69
+ }, [hasFinishedInitialMeasurement, isBlockingLifecycleStart, retryToken, unblockLifecycleStart]);
63
70
  const claimLifecycleStartBlock = useCallback(() => {
64
71
  "worklet";
65
72
 
66
- if (!canReceiveDestination || !getMatchingSourceScreenKey(tag, currentScreenKey, preferredSourceScreenKey)) {
73
+ if (!canReceiveDestination || hasFinishedInitialMeasurement.get() || !getMatchingSourceScreenKey(tag, currentScreenKey)) {
67
74
  return;
68
75
  }
69
76
 
@@ -75,7 +82,7 @@ export const useInitialDestinationMeasurement = ({
75
82
  }
76
83
  blockLifecycleStart();
77
84
  isBlockingLifecycleStart.set(1);
78
- }, [blockLifecycleStart, canReceiveDestination, currentScreenKey, isBlockingLifecycleStart, progress, preferredSourceScreenKey, tag]);
85
+ }, [blockLifecycleStart, canReceiveDestination, currentScreenKey, hasFinishedInitialMeasurement, isBlockingLifecycleStart, progress, tag]);
79
86
  useLayoutEffect(() => {
80
87
  if (!canReceiveDestination) {
81
88
  return;
@@ -95,14 +102,14 @@ export const useInitialDestinationMeasurement = ({
95
102
  useAnimatedReaction(() => {
96
103
  "worklet";
97
104
 
98
- if (!canReceiveDestination || isBlockingLifecycleStart.get() <= 0) {
105
+ if (!canReceiveDestination || hasFinishedInitialMeasurement.get() || isBlockingLifecycleStart.get() <= 0) {
99
106
  return null;
100
107
  }
101
108
  if (progress.get() > 0) {
102
109
  return null;
103
110
  }
104
111
  const retryTick = retryToken.get();
105
- const sourceScreenKey = getMatchingSourceScreenKey(tag, currentScreenKey, preferredSourceScreenKey);
112
+ const sourceScreenKey = getMatchingSourceScreenKey(tag, currentScreenKey, preferredSourceScreenKey, closingSourceScreenKeys);
106
113
  const pairKey = sourceScreenKey ? createScreenPairKey(sourceScreenKey, currentScreenKey) : undefined;
107
114
  const signal = getInitialDestinationMeasurementSignal({
108
115
  enabled: destinationEnabled,
@@ -117,11 +124,11 @@ export const useInitialDestinationMeasurement = ({
117
124
  }, (next, previous) => {
118
125
  "worklet";
119
126
 
120
- if (!next) {
127
+ if (!next || hasFinishedInitialMeasurement.get()) {
121
128
  return;
122
129
  }
123
130
  const [measurePairKey, action, retryTick] = next;
124
- if (!measurePairKey || !action) {
131
+ if (!action) {
125
132
  return;
126
133
  }
127
134
  const previousMeasurePairKey = previous?.[0];
@@ -139,17 +146,18 @@ export const useInitialDestinationMeasurement = ({
139
146
  handshakeRetries.set(0);
140
147
  return;
141
148
  }
142
- if (action === "measure") {
149
+ if (action === "measure" && measurePairKey) {
143
150
  measureBoundary({
144
151
  type: "destination",
145
152
  pairKey: measurePairKey
146
153
  });
147
154
  }
148
- const link = getLink(measurePairKey, linkKey);
155
+ const link = measurePairKey ? getLink(measurePairKey, linkKey) : null;
149
156
  const linkComplete = !!link?.source && !!link.destination;
150
157
  if (linkComplete || action === "complete") {
151
158
  cancelAnimation(retryToken);
152
159
  handshakeRetries.set(0);
160
+ hasFinishedInitialMeasurement.set(1);
153
161
  if (escapeClipping) {
154
162
  // Screen-level escape has a second readiness phase after destination
155
163
  // matching: the host must commit before the transition starts, or
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","cancelAnimation","useAnimatedReaction","useSharedValue","withDelay","withTiming","scheduleOnUI","useDescriptorsStore","AnimationStore","createScreenPairKey","getSourceScreenKeyFromPairKey","getEntry","getMatchingSourceScreenKey","getLink","pairs","SystemStore","logger","getInitialDestinationMeasurementSignal","HANDSHAKE_RETRY_DELAY_MS","MAX_HANDSHAKE_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","escapeClipping","measureBoundary","tag","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","destinationEnabled","canReceiveDestination","preferredSourceScreenKey","undefined","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","sourceScreenKey","pairKey","signal","linkId","destinationPresent","sourcePresent","linkState","action","next","previous","measurePairKey","previousMeasurePairKey","previousAction","previousRetryTick","shouldHandleSignal","type","link","linkComplete","source","destination","warn","duration"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","cancelAnimation","useAnimatedReaction","useSharedValue","withDelay","withTiming","scheduleOnUI","useStack","useDescriptorsStore","AnimationStore","createScreenPairKey","getSourceScreenKeyFromPairKey","getEntry","getMatchingSourceScreenKey","getLink","pairs","SystemStore","logger","getInitialDestinationMeasurementSignal","HANDSHAKE_RETRY_DELAY_MS","MAX_HANDSHAKE_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","escapeClipping","measureBoundary","tag","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","destinationEnabled","canReceiveDestination","preferredSourceScreenKey","undefined","stackScenes","store","scenes","closingSourceScreenKeys","filter","scene","activity","map","route","key","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","hasFinishedInitialMeasurement","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","sourceScreenKey","pairKey","signal","linkId","destinationPresent","sourcePresent","linkState","action","next","previous","measurePairKey","previousMeasurePairKey","previousAction","previousRetryTick","shouldHandleSignal","type","link","linkComplete","source","destination","warn","duration"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,6 @@ import { composeSlotStyleWithLocalTransform } from "../../../../../../providers/
8
8
  import { getLink } from "../../../../../../stores/bounds/internals/links";
9
9
  import { SystemStore } from "../../../../../../stores/system.store";
10
10
  import { NativePortalHost, PORTAL_POINTER_EVENTS } from "../../../teleport";
11
- import { hasLocalSlot } from "../helpers/has-local-slot";
12
11
  import { resolvePortalOffsetStyle } from "../helpers/offset-style";
13
12
  import { getPortalHostBounds } from "../stores/host-bounds.store";
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -28,7 +27,10 @@ export const PortalBoundaryHost = /*#__PURE__*/memo(function PortalBoundaryHost(
28
27
  return;
29
28
  }
30
29
  const link = getLink(host.pairKey, host.boundaryId);
31
- const hasGeometry = link?.source !== null && link !== undefined && getPortalHostBounds(host.hostKey) !== null && hasLocalSlot(host.localStylesMaps.get(), host.boundaryId);
30
+ const hasSource = !!link?.source;
31
+ const hasHostBounds = getPortalHostBounds(host.hostKey) !== null;
32
+ const hasSlot = host.slotsMap.get()[host.boundaryId] !== undefined;
33
+ const hasGeometry = hasSource && hasHostBounds && hasSlot;
32
34
  if (!hasGeometry) {
33
35
  geometryReadyFrames.set(0);
34
36
  return;
@@ -76,19 +78,6 @@ export const PortalBoundaryHost = /*#__PURE__*/memo(function PortalBoundaryHost(
76
78
  const slotStyle = useAnimatedStyle(() => {
77
79
  "worklet";
78
80
 
79
- // `slotsMap` is the resolved map: it may contain real interpolator output,
80
- // inherited styles, or resolver-created reset patches for slots that just
81
- // disappeared. Normal components need those reset patches so stale styles
82
- // clear correctly.
83
- //
84
- // A screen-level portal host is different. It is only the temporary visual
85
- // receiver for teleported content, not the original component that needs a
86
- // cleanup frame. If the current local interpolator layers did not emit this
87
- // boundary id, any resolved style here is cleanup/stale residue and should
88
- // not be drawn by the host.
89
- if (!hasLocalSlot(host.localStylesMaps.get(), host.boundaryId)) {
90
- return NO_STYLES;
91
- }
92
81
  const slot = host.slotsMap.get()[host.boundaryId];
93
82
  return composeSlotStyleWithLocalTransform(slot?.style ?? NO_STYLES, undefined, slot?.boundsLocalTransform);
94
83
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","I18nManager","StyleSheet","Animated","useAnimatedStyle","useFrameCallback","useSharedValue","NO_STYLES","composeSlotStyleWithLocalTransform","getLink","SystemStore","NativePortalHost","PORTAL_POINTER_EVENTS","hasLocalSlot","resolvePortalOffsetStyle","getPortalHostBounds","jsx","_jsx","AnimatedPortalBoundaryHost","createAnimatedComponent","PortalBoundaryHost","host","style","geometryReadyFrames","unblockLifecycleStart","getBag","screenKey","actions","handleFrame","portalHostReady","get","link","pairKey","boundaryId","hasGeometry","source","undefined","hostKey","localStylesMaps","set","hostStyle","sourceBounds","bounds","isCrossScreenPortal","placement","contentFrameStyle","height","width","slotStyle","slot","slotsMap","boundsLocalTransform","View","pointerEvents","collapsable","children","name","portalHostName","styles","content","create","isRTL","end","position","top","left"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","I18nManager","StyleSheet","Animated","useAnimatedStyle","useFrameCallback","useSharedValue","NO_STYLES","composeSlotStyleWithLocalTransform","getLink","SystemStore","NativePortalHost","PORTAL_POINTER_EVENTS","resolvePortalOffsetStyle","getPortalHostBounds","jsx","_jsx","AnimatedPortalBoundaryHost","createAnimatedComponent","PortalBoundaryHost","host","style","geometryReadyFrames","unblockLifecycleStart","getBag","screenKey","actions","handleFrame","portalHostReady","get","link","pairKey","boundaryId","hasSource","source","hasHostBounds","hostKey","hasSlot","slotsMap","undefined","hasGeometry","set","hostStyle","sourceBounds","bounds","isCrossScreenPortal","placement","contentFrameStyle","height","width","slotStyle","slot","boundsLocalTransform","View","pointerEvents","collapsable","children","name","portalHostName","styles","content","create","isRTL","end","position","top","left"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,57 +3,55 @@
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
4
  import { useAnimatedReaction } from "react-native-reanimated";
5
5
  import { scheduleOnRN } from "react-native-worklets";
6
- import { pairs } from "../../../../../../stores/bounds/internals/state";
6
+ import { getPairKeyForSource } from "../../../../../../stores/bounds/internals/links";
7
7
  import { createBoundaryPortalHostName } from "../../../utils/naming";
8
- import { hasActiveBoundaryPortalLink } from "../helpers/active-pair";
9
8
  import { mountPortalBoundaryHost, unmountPortalBoundaryHostByName } from "../stores/portal-boundary-host.store";
10
9
  export const useActivePortalBoundaryHost = ({
11
10
  boundaryId,
12
11
  currentScreenKey,
13
12
  escapeHostKey,
14
- localStylesMaps,
15
13
  portalHostName,
16
14
  portalHostReady,
17
- slotsMap,
18
- sourcePairKey
15
+ slotsMap
19
16
  }) => {
20
- const [hasActiveLink, setHasActiveLink] = useState(false);
21
- const sourcePairKeyRef = useRef(sourcePairKey);
22
- sourcePairKeyRef.current = sourcePairKey;
23
- const updateActiveLink = useCallback((observedSourcePairKey, nextHasActiveLink) => {
24
- if (sourcePairKeyRef.current !== observedSourcePairKey) {
17
+ const [activePortal, setActivePortal] = useState(null);
18
+ const activePairKeyRef = useRef(null);
19
+ const updateActivePortal = useCallback(pairKey => {
20
+ if (activePairKeyRef.current === pairKey) {
25
21
  return;
26
22
  }
27
- setHasActiveLink(nextHasActiveLink);
23
+ activePairKeyRef.current = pairKey;
24
+ setActivePortal(pairKey ? {
25
+ pairKey
26
+ } : null);
28
27
  }, []);
29
28
  useAnimatedReaction(() => {
30
29
  "worklet";
31
30
 
32
- return hasActiveBoundaryPortalLink({
33
- boundaryId,
34
- pairsState: pairs.get(),
35
- sourcePairKey
36
- });
37
- }, (nextHasActiveLink, previousHasActiveLink) => {
31
+ const isBoundaryAnimating = slotsMap.get()[boundaryId] !== undefined;
32
+ if (!isBoundaryAnimating) {
33
+ return null;
34
+ }
35
+ return getPairKeyForSource(boundaryId, currentScreenKey);
36
+ }, (pairKey, previousPairKey) => {
38
37
  "worklet";
39
38
 
40
- if (nextHasActiveLink === previousHasActiveLink) {
39
+ if (pairKey === previousPairKey) {
41
40
  return;
42
41
  }
43
- scheduleOnRN(updateActiveLink, sourcePairKey, nextHasActiveLink);
42
+ scheduleOnRN(updateActivePortal, pairKey);
44
43
  });
45
44
  useLayoutEffect(() => {
46
- if (!hasActiveLink || !sourcePairKey || !escapeHostKey) {
45
+ if (!activePortal || !escapeHostKey) {
47
46
  portalHostName.set(null);
48
47
  portalHostReady.set(false);
49
48
  return;
50
49
  }
51
- const nextPortalHostName = createBoundaryPortalHostName(escapeHostKey, boundaryId, sourcePairKey);
50
+ const nextPortalHostName = createBoundaryPortalHostName(escapeHostKey, boundaryId, activePortal.pairKey);
52
51
  mountPortalBoundaryHost({
53
52
  boundaryId,
54
53
  hostKey: escapeHostKey,
55
- localStylesMaps,
56
- pairKey: sourcePairKey,
54
+ pairKey: activePortal.pairKey,
57
55
  portalHostName: nextPortalHostName,
58
56
  portalHostReady,
59
57
  screenKey: currentScreenKey,
@@ -65,6 +63,6 @@ export const useActivePortalBoundaryHost = ({
65
63
  portalHostReady.set(false);
66
64
  unmountPortalBoundaryHostByName(nextPortalHostName);
67
65
  };
68
- }, [boundaryId, currentScreenKey, escapeHostKey, localStylesMaps, portalHostName, portalHostReady, sourcePairKey, slotsMap, hasActiveLink]);
66
+ }, [activePortal, boundaryId, currentScreenKey, escapeHostKey, portalHostName, portalHostReady, slotsMap]);
69
67
  };
70
68
  //# sourceMappingURL=use-active-portal-boundary-host.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useRef","useState","useAnimatedReaction","scheduleOnRN","pairs","createBoundaryPortalHostName","hasActiveBoundaryPortalLink","mountPortalBoundaryHost","unmountPortalBoundaryHostByName","useActivePortalBoundaryHost","boundaryId","currentScreenKey","escapeHostKey","localStylesMaps","portalHostName","portalHostReady","slotsMap","sourcePairKey","hasActiveLink","setHasActiveLink","sourcePairKeyRef","current","updateActiveLink","observedSourcePairKey","nextHasActiveLink","pairsState","get","previousHasActiveLink","set","nextPortalHostName","hostKey","pairKey","screenKey"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACtE,SAA2BC,mBAAmB,QAAQ,yBAAyB;AAC/E,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,SAASC,KAAK,QAAQ,iDAAiD;AAGvE,SAASC,4BAA4B,QAAQ,uBAAuB;AACpE,SAASC,2BAA2B,QAAQ,wBAAwB;AACpE,SACCC,uBAAuB,EACvBC,+BAA+B,QACzB,sCAAsC;AAa7C,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EAC3CC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,eAAe;EACfC,cAAc;EACdC,eAAe;EACfC,QAAQ;EACRC;AACkC,CAAC,KAAK;EACxC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAMmB,gBAAgB,GAAGpB,MAAM,CAACiB,aAAa,CAAC;EAC9CG,gBAAgB,CAACC,OAAO,GAAGJ,aAAa;EAExC,MAAMK,gBAAgB,GAAGxB,WAAW,CACnC,CACCyB,qBAAgD,EAChDC,iBAA0B,KACtB;IACJ,IAAIJ,gBAAgB,CAACC,OAAO,KAAKE,qBAAqB,EAAE;MACvD;IACD;IAEAJ,gBAAgB,CAACK,iBAAiB,CAAC;EACpC,CAAC,EACD,EACD,CAAC;EAEDtB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OAAOI,2BAA2B,CAAC;MAClCI,UAAU;MACVe,UAAU,EAAErB,KAAK,CAACsB,GAAG,CAAC,CAAC;MACvBT;IACD,CAAC,CAAC;EACH,CAAC,EACD,CAACO,iBAAiB,EAAEG,qBAAqB,KAAK;IAC7C,SAAS;;IACT,IAAIH,iBAAiB,KAAKG,qBAAqB,EAAE;MAChD;IACD;IAEAxB,YAAY,CAACmB,gBAAgB,EAAEL,aAAa,EAAEO,iBAAiB,CAAC;EACjE,CACD,CAAC;EAEDzB,eAAe,CAAC,MAAM;IACrB,IAAI,CAACmB,aAAa,IAAI,CAACD,aAAa,IAAI,CAACL,aAAa,EAAE;MACvDE,cAAc,CAACc,GAAG,CAAC,IAAI,CAAC;MACxBb,eAAe,CAACa,GAAG,CAAC,KAAK,CAAC;MAC1B;IACD;IAEA,MAAMC,kBAAkB,GAAGxB,4BAA4B,CACtDO,aAAa,EACbF,UAAU,EACVO,aACD,CAAC;IAEDV,uBAAuB,CAAC;MACvBG,UAAU;MACVoB,OAAO,EAAElB,aAAa;MACtBC,eAAe;MACfkB,OAAO,EAAEd,aAAa;MACtBH,cAAc,EAAEe,kBAAkB;MAClCd,eAAe;MACfiB,SAAS,EAAErB,gBAAgB;MAC3BK;IACD,CAAC,CAAC;IACFF,cAAc,CAACc,GAAG,CAACC,kBAAkB,CAAC;IAEtC,OAAO,MAAM;MACZf,cAAc,CAACc,GAAG,CAAC,IAAI,CAAC;MACxBb,eAAe,CAACa,GAAG,CAAC,KAAK,CAAC;MAC1BpB,+BAA+B,CAACqB,kBAAkB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,CACFnB,UAAU,EACVC,gBAAgB,EAChBC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfE,aAAa,EACbD,QAAQ,EACRE,aAAa,CACb,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useRef","useState","useAnimatedReaction","scheduleOnRN","getPairKeyForSource","createBoundaryPortalHostName","mountPortalBoundaryHost","unmountPortalBoundaryHostByName","useActivePortalBoundaryHost","boundaryId","currentScreenKey","escapeHostKey","portalHostName","portalHostReady","slotsMap","activePortal","setActivePortal","activePairKeyRef","updateActivePortal","pairKey","current","isBoundaryAnimating","get","undefined","previousPairKey","set","nextPortalHostName","hostKey","screenKey"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACtE,SAA2BC,mBAAmB,QAAQ,yBAAyB;AAC/E,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,mBAAmB,QAAQ,iDAAiD;AAGrF,SAASC,4BAA4B,QAAQ,uBAAuB;AACpE,SACCC,uBAAuB,EACvBC,+BAA+B,QACzB,sCAAsC;AAe7C,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EAC3CC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,cAAc;EACdC,eAAe;EACfC;AACkC,CAAC,KAAK;EACxC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGf,QAAQ,CAAsB,IAAI,CAAC;EAC3E,MAAMgB,gBAAgB,GAAGjB,MAAM,CAAuB,IAAI,CAAC;EAE3D,MAAMkB,kBAAkB,GAAGpB,WAAW,CAAEqB,OAA6B,IAAK;IACzE,IAAIF,gBAAgB,CAACG,OAAO,KAAKD,OAAO,EAAE;MACzC;IACD;IAEAF,gBAAgB,CAACG,OAAO,GAAGD,OAAO;IAClCH,eAAe,CAACG,OAAO,GAAG;MAAEA;IAAQ,CAAC,GAAG,IAAI,CAAC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAENjB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,MAAMmB,mBAAmB,GAAGP,QAAQ,CAACQ,GAAG,CAAC,CAAC,CAACb,UAAU,CAAC,KAAKc,SAAS;IACpE,IAAI,CAACF,mBAAmB,EAAE;MACzB,OAAO,IAAI;IACZ;IAEA,OAAOjB,mBAAmB,CAACK,UAAU,EAAEC,gBAAgB,CAAC;EACzD,CAAC,EACD,CAACS,OAAO,EAAEK,eAAe,KAAK;IAC7B,SAAS;;IACT,IAAIL,OAAO,KAAKK,eAAe,EAAE;MAChC;IACD;IAEArB,YAAY,CAACe,kBAAkB,EAAEC,OAAO,CAAC;EAC1C,CACD,CAAC;EAEDpB,eAAe,CAAC,MAAM;IACrB,IAAI,CAACgB,YAAY,IAAI,CAACJ,aAAa,EAAE;MACpCC,cAAc,CAACa,GAAG,CAAC,IAAI,CAAC;MACxBZ,eAAe,CAACY,GAAG,CAAC,KAAK,CAAC;MAC1B;IACD;IAEA,MAAMC,kBAAkB,GAAGrB,4BAA4B,CACtDM,aAAa,EACbF,UAAU,EACVM,YAAY,CAACI,OACd,CAAC;IAEDb,uBAAuB,CAAC;MACvBG,UAAU;MACVkB,OAAO,EAAEhB,aAAa;MACtBQ,OAAO,EAAEJ,YAAY,CAACI,OAAO;MAC7BP,cAAc,EAAEc,kBAAkB;MAClCb,eAAe;MACfe,SAAS,EAAElB,gBAAgB;MAC3BI;IACD,CAAC,CAAC;IACFF,cAAc,CAACa,GAAG,CAACC,kBAAkB,CAAC;IAEtC,OAAO,MAAM;MACZd,cAAc,CAACa,GAAG,CAAC,IAAI,CAAC;MACxBZ,eAAe,CAACY,GAAG,CAAC,KAAK,CAAC;MAC1BlB,+BAA+B,CAACmB,kBAAkB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,CACFX,YAAY,EACZN,UAAU,EACVC,gBAAgB,EAChBC,aAAa,EACbC,cAAc,EACdC,eAAe,EACfC,QAAQ,CACR,CAAC;AACH,CAAC","ignoreList":[]}
@@ -3,40 +3,26 @@
3
3
  import { useAnimatedProps, useSharedValue } from "react-native-reanimated";
4
4
  import { useDescriptorsStore } from "../../../../../../providers/screen/descriptors";
5
5
  import { useScreenSlots } from "../../../../../../providers/screen/styles";
6
- import { hasCloseTransitionFinished } from "../../../../../../providers/screen/styles/helpers/transition-visual-state";
7
- import { AnimationStore } from "../../../../../../stores/animation.store";
8
- import { pairs } from "../../../../../../stores/bounds/internals/state";
9
- import { SystemStore } from "../../../../../../stores/system.store";
10
6
  import { PORTAL_HOST_NAME_RESET_VALUE } from "../../../utils/naming";
11
7
  import { isTeleportEnabled } from "../../../utils/teleport-control";
12
- import { hasActiveBoundaryPortalLink } from "../helpers/active-pair";
13
8
  import { useActiveHostKey } from "../stores/host-registry.store";
14
9
  import { useActivePortalBoundaryHost } from "./use-active-portal-boundary-host";
15
10
  export const useBoundaryPortalAttachment = ({
16
11
  boundaryId
17
12
  }) => {
18
- const sourcePairKey = useDescriptorsStore(s => s.derivations.sourcePairKey);
19
13
  const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
20
- const nextScreenKey = useDescriptorsStore(s => s.derivations.nextScreenKey);
21
- const destinationScreenKey = nextScreenKey ?? currentScreenKey;
22
- const destinationAnimationProgress = SystemStore.getValue(destinationScreenKey, "animationProgress");
23
- const destinationClosing = AnimationStore.getValue(destinationScreenKey, "closing");
24
14
  const {
25
- localStylesMaps,
26
15
  slotsMap
27
16
  } = useScreenSlots();
28
17
  const portalHostName = useSharedValue(null);
29
18
  const portalHostReady = useSharedValue(false);
30
- const attachedDestination = useSharedValue(null);
31
19
  const escapeHostKey = useActiveHostKey(currentScreenKey);
32
20
  useActivePortalBoundaryHost({
33
21
  boundaryId,
34
22
  currentScreenKey,
35
23
  escapeHostKey,
36
- localStylesMaps,
37
24
  portalHostName,
38
25
  portalHostReady,
39
- sourcePairKey,
40
26
  slotsMap
41
27
  });
42
28
  const teleportProps = useAnimatedProps(() => {
@@ -48,30 +34,11 @@ export const useBoundaryPortalAttachment = ({
48
34
  teleport,
49
35
  ...slotProps
50
36
  } = slot?.props ?? {};
51
- const shouldTeleport = isTeleportEnabled(teleport);
52
- const hostName = portalHostName.get();
53
- const hasActiveLink = hasActiveBoundaryPortalLink({
54
- boundaryId,
55
- pairsState: pairs.get(),
56
- sourcePairKey
57
- });
58
- const hasAttachableHost = shouldTeleport && hasActiveLink && portalHostReady.get() && hostName;
59
- if (hasAttachableHost) {
60
- attachedDestination.set({
61
- animationProgress: destinationAnimationProgress,
62
- closing: destinationClosing
63
- });
64
- }
65
- const attached = attachedDestination.get();
66
- const hasAttachedCloseFinished = attached !== null && hasCloseTransitionFinished({
67
- animationProgress: attached.animationProgress.get(),
68
- closing: attached.closing.get()
69
- });
70
- const canAttach = hasAttachableHost && !hasAttachedCloseFinished;
71
- const targetHostName = canAttach ? hostName : PORTAL_HOST_NAME_RESET_VALUE;
37
+ const shouldAttach = slot !== undefined && isTeleportEnabled(teleport) && portalHostReady.get();
38
+ const hostName = shouldAttach ? portalHostName.get() : PORTAL_HOST_NAME_RESET_VALUE;
72
39
  return {
73
40
  ...slotProps,
74
- hostName: targetHostName
41
+ hostName
75
42
  };
76
43
  });
77
44
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useAnimatedProps","useSharedValue","useDescriptorsStore","useScreenSlots","hasCloseTransitionFinished","AnimationStore","pairs","SystemStore","PORTAL_HOST_NAME_RESET_VALUE","isTeleportEnabled","hasActiveBoundaryPortalLink","useActiveHostKey","useActivePortalBoundaryHost","useBoundaryPortalAttachment","boundaryId","sourcePairKey","s","derivations","currentScreenKey","nextScreenKey","destinationScreenKey","destinationAnimationProgress","getValue","destinationClosing","localStylesMaps","slotsMap","portalHostName","portalHostReady","attachedDestination","escapeHostKey","teleportProps","slot","get","pointerEvents","_pointerEvents","teleport","slotProps","props","shouldTeleport","hostName","hasActiveLink","pairsState","hasAttachableHost","set","animationProgress","closing","attached","hasAttachedCloseFinished","canAttach","targetHostName"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useAnimatedProps","useSharedValue","useDescriptorsStore","useScreenSlots","PORTAL_HOST_NAME_RESET_VALUE","isTeleportEnabled","useActiveHostKey","useActivePortalBoundaryHost","useBoundaryPortalAttachment","boundaryId","currentScreenKey","s","derivations","slotsMap","portalHostName","portalHostReady","escapeHostKey","teleportProps","slot","get","pointerEvents","_pointerEvents","teleport","slotProps","props","shouldAttach","undefined","hostName"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,cAAc,QAAQ,yBAAyB;AAC1E,SAASC,mBAAmB,QAAQ,gDAAgD;AACpF,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,4BAA4B,QAAQ,uBAAuB;AACpE,SAASC,iBAAiB,QAAQ,iCAAiC;AACnE,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,2BAA2B,QAAQ,mCAAmC;AAM/E,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EAC3CC;AACkC,CAAC,KAAK;EACxC,MAAMC,gBAAgB,GAAGR,mBAAmB,CAC1CS,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAM;IAAEG;EAAS,CAAC,GAAGV,cAAc,CAAC,CAAC;EACrC,MAAMW,cAAc,GAAGb,cAAc,CAAgB,IAAI,CAAC;EAC1D,MAAMc,eAAe,GAAGd,cAAc,CAAC,KAAK,CAAC;EAC7C,MAAMe,aAAa,GAAGV,gBAAgB,CAACI,gBAAgB,CAAC;EAExDH,2BAA2B,CAAC;IAC3BE,UAAU;IACVC,gBAAgB;IAChBM,aAAa;IACbF,cAAc;IACdC,eAAe;IACfF;EACD,CAAC,CAAC;EAEF,MAAMI,aAAa,GAAGjB,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IAET,MAAMkB,IAAI,GAAGL,QAAQ,CAACM,GAAG,CAAC,CAAC,CAACV,UAAU,CAAC;IACvC,MAAM;MACLW,aAAa,EAAEC,cAAc;MAC7BC,QAAQ;MACR,GAAGC;IACJ,CAAC,GAAGL,IAAI,EAAEM,KAAK,IAAI,CAAC,CAAC;IACrB,MAAMC,YAAY,GACjBP,IAAI,KAAKQ,SAAS,IAClBrB,iBAAiB,CAACiB,QAAQ,CAAC,IAC3BP,eAAe,CAACI,GAAG,CAAC,CAAC;IACtB,MAAMQ,QAAQ,GAAGF,YAAY,GAC1BX,cAAc,CAACK,GAAG,CAAC,CAAC,GACpBf,4BAA4B;IAE/B,OAAO;MACN,GAAGmB,SAAS;MACZI;IACD,CAAC;EACF,CAAC,CAAC;EAEF,OAAO;IAAEV;EAAc,CAAC;AACzB,CAAC","ignoreList":[]}