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

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 (85) hide show
  1. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +14 -10
  2. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  3. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +3 -1
  4. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -1
  5. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js +3 -5
  6. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  7. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +5 -4
  8. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  9. package/lib/commonjs/components/boundary/utils/destination-signals.js +1 -3
  10. package/lib/commonjs/components/boundary/utils/destination-signals.js.map +1 -1
  11. package/lib/commonjs/components/boundary/utils/refresh-signals.js +2 -4
  12. package/lib/commonjs/components/boundary/utils/refresh-signals.js.map +1 -1
  13. package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js +3 -7
  14. package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  15. package/lib/commonjs/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -3
  16. package/lib/commonjs/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  17. package/lib/commonjs/providers/screen/descriptors/helpers/get-ancestor-keys.js +3 -20
  18. package/lib/commonjs/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -1
  19. package/lib/commonjs/stores/bounds/internals/entries.js +17 -0
  20. package/lib/commonjs/stores/bounds/internals/entries.js.map +1 -1
  21. package/lib/commonjs/stores/bounds/internals/links.js +25 -0
  22. package/lib/commonjs/stores/bounds/internals/links.js.map +1 -1
  23. package/lib/commonjs/stores/bounds/internals/resolver.js +2 -12
  24. package/lib/commonjs/stores/bounds/internals/resolver.js.map +1 -1
  25. package/lib/commonjs/utils/bounds/helpers/create-link-accessor.js +2 -2
  26. package/lib/commonjs/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  27. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +16 -12
  28. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  29. package/lib/module/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +3 -1
  30. package/lib/module/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -1
  31. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js +3 -5
  32. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  33. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +5 -4
  34. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  35. package/lib/module/components/boundary/utils/destination-signals.js +1 -3
  36. package/lib/module/components/boundary/utils/destination-signals.js.map +1 -1
  37. package/lib/module/components/boundary/utils/refresh-signals.js +2 -4
  38. package/lib/module/components/boundary/utils/refresh-signals.js.map +1 -1
  39. package/lib/module/providers/screen/descriptors/descriptors.provider.js +4 -8
  40. package/lib/module/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  41. package/lib/module/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -3
  42. package/lib/module/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  43. package/lib/module/providers/screen/descriptors/helpers/get-ancestor-keys.js +3 -19
  44. package/lib/module/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -1
  45. package/lib/module/stores/bounds/internals/entries.js +17 -1
  46. package/lib/module/stores/bounds/internals/entries.js.map +1 -1
  47. package/lib/module/stores/bounds/internals/links.js +25 -2
  48. package/lib/module/stores/bounds/internals/links.js.map +1 -1
  49. package/lib/module/stores/bounds/internals/resolver.js +3 -13
  50. package/lib/module/stores/bounds/internals/resolver.js.map +1 -1
  51. package/lib/module/utils/bounds/helpers/create-link-accessor.js +3 -3
  52. package/lib/module/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  53. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  54. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -1
  55. package/lib/typescript/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  56. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  57. package/lib/typescript/components/boundary/utils/destination-signals.d.ts +1 -2
  58. package/lib/typescript/components/boundary/utils/destination-signals.d.ts.map +1 -1
  59. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts +0 -2
  60. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  61. package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  62. package/lib/typescript/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -3
  63. package/lib/typescript/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
  64. package/lib/typescript/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +0 -8
  65. package/lib/typescript/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +1 -1
  66. package/lib/typescript/stores/bounds/internals/entries.d.ts +2 -1
  67. package/lib/typescript/stores/bounds/internals/entries.d.ts.map +1 -1
  68. package/lib/typescript/stores/bounds/internals/links.d.ts +3 -1
  69. package/lib/typescript/stores/bounds/internals/links.d.ts.map +1 -1
  70. package/lib/typescript/stores/bounds/internals/resolver.d.ts.map +1 -1
  71. package/lib/typescript/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
  72. package/package.json +1 -1
  73. package/src/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +43 -21
  74. package/src/components/boundary/hooks/lifecycles/use-initial-source-measurement.ts +6 -1
  75. package/src/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +8 -9
  76. package/src/components/boundary/hooks/use-boundary-measurement.ts +5 -4
  77. package/src/components/boundary/utils/destination-signals.ts +2 -6
  78. package/src/components/boundary/utils/refresh-signals.ts +2 -10
  79. package/src/providers/screen/descriptors/descriptors.provider.tsx +4 -11
  80. package/src/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -4
  81. package/src/providers/screen/descriptors/helpers/get-ancestor-keys.ts +3 -30
  82. package/src/stores/bounds/internals/entries.ts +27 -1
  83. package/src/stores/bounds/internals/links.ts +36 -0
  84. package/src/stores/bounds/internals/resolver.ts +7 -21
  85. package/src/utils/bounds/helpers/create-link-accessor.ts +9 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_linkPairs","require","_links","resolvePairKey","context","entering","previousScreenKey","currentScreenKey","createScreenPairKey","nextScreenKey","resolveTransitionPair","tag","pairKey","matchedLink","getResolvedLink","link","sourceBounds","source","bounds","destinationBounds","destination","sourceStyles","styles","destinationStyles","sourceScreenKey","screenKey","destinationScreenKey"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/resolver.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AAEA,SAASE,cAAcA,CACtBC,OAAiC,EACV;EACvB,SAAS;;EAET,IAAIA,OAAO,CAACC,QAAQ,EAAE;IACrB,IAAI,CAACD,OAAO,CAACE,iBAAiB,IAAI,CAACF,OAAO,CAACG,gBAAgB,EAAE,OAAO,IAAI;IACxE,OAAO,IAAAC,8BAAmB,EACzBJ,OAAO,CAACE,iBAAiB,EACzBF,OAAO,CAACG,gBACT,CAAC;EACF;EAEA,IAAI,CAACH,OAAO,CAACG,gBAAgB,IAAI,CAACH,OAAO,CAACK,aAAa,EAAE,OAAO,IAAI;EACpE,OAAO,IAAAD,8BAAmB,EAACJ,OAAO,CAACG,gBAAgB,EAAEH,OAAO,CAACK,aAAa,CAAC;AAC5E;AAEA,SAASC,qBAAqBA,CAC7BC,GAAU,EACVP,OAAiC,EACR;EACzB,SAAS;;EACT,MAAMQ,OAAO,GAAGT,cAAc,CAACC,OAAO,CAAC;EACvC,MAAMS,WAAW,GAAGD,OAAO,GAAG,IAAAE,sBAAe,EAACF,OAAO,EAAED,GAAG,CAAC,CAACI,IAAI,GAAG,IAAI;EAEvE,OAAO;IACNC,YAAY,EAAEH,WAAW,EAAEI,MAAM,EAAEC,MAAM,IAAI,IAAI;IACjDC,iBAAiB,EAAEN,WAAW,EAAEO,WAAW,EAAEF,MAAM,IAAI,IAAI;IAC3DG,YAAY,EAAER,WAAW,EAAEI,MAAM,EAAEK,MAAM,IAAI,IAAI;IACjDC,iBAAiB,EAAEV,WAAW,EAAEO,WAAW,EAAEE,MAAM,IAAI,IAAI;IAC3DE,eAAe,EAAEX,WAAW,EAAEI,MAAM,EAAEQ,SAAS,IAAI,IAAI;IACvDC,oBAAoB,EAAEb,WAAW,EAAEO,WAAW,EAAEK,SAAS,IAAI;EAC9D,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_links","require","resolveTransitionPair","tag","context","destinationScreenKey","entering","currentScreenKey","nextScreenKey","pairKey","getPairKeyForDestination","matchedLink","getResolvedLink","link","sourceBounds","source","bounds","destinationBounds","destination","sourceStyles","styles","destinationStyles","sourceScreenKey","screenKey"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/resolver.ts"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAEA,SAASC,qBAAqBA,CAC7BC,GAAU,EACVC,OAAiC,EACR;EACzB,SAAS;;EACT,MAAMC,oBAAoB,GAAGD,OAAO,CAACE,QAAQ,GAC1CF,OAAO,CAACG,gBAAgB,GACxBH,OAAO,CAACI,aAAa;EACxB,MAAMC,OAAO,GAAGJ,oBAAoB,GACjC,IAAAK,+BAAwB,EAACP,GAAG,EAAEE,oBAAoB,CAAC,GACnD,IAAI;EACP,MAAMM,WAAW,GAAGF,OAAO,GAAG,IAAAG,sBAAe,EAACH,OAAO,EAAEN,GAAG,CAAC,CAACU,IAAI,GAAG,IAAI;EAEvE,OAAO;IACNC,YAAY,EAAEH,WAAW,EAAEI,MAAM,EAAEC,MAAM,IAAI,IAAI;IACjDC,iBAAiB,EAAEN,WAAW,EAAEO,WAAW,EAAEF,MAAM,IAAI,IAAI;IAC3DG,YAAY,EAAER,WAAW,EAAEI,MAAM,EAAEK,MAAM,IAAI,IAAI;IACjDC,iBAAiB,EAAEV,WAAW,EAAEO,WAAW,EAAEE,MAAM,IAAI,IAAI;IAC3DE,eAAe,EAAEX,WAAW,EAAEI,MAAM,EAAEQ,SAAS,IAAI,IAAI;IACvDlB,oBAAoB,EAAEM,WAAW,EAAEO,WAAW,EAAEK,SAAS,IAAI;EAC9D,CAAC;AACF","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createLinkAccessor = void 0;
7
7
  var _links = require("../../../stores/bounds/internals/links");
8
- var _resolveBoundsPairKey = require("./resolve-bounds-pair-key");
9
8
  const createLinkAccessor = getProps => {
10
9
  "worklet";
11
10
 
@@ -14,7 +13,8 @@ const createLinkAccessor = getProps => {
14
13
 
15
14
  const props = getProps();
16
15
  const stringTag = String(tag);
17
- const pairKey = (0, _resolveBoundsPairKey.resolveBoundsPairKey)(props);
16
+ const destinationScreenKey = props.next?.route.key ?? props.current?.route.key;
17
+ const pairKey = destinationScreenKey ? (0, _links.getPairKeyForDestination)(stringTag, destinationScreenKey) : null;
18
18
  if (!pairKey) return null;
19
19
  const resolved = (0, _links.getResolvedLink)(pairKey, stringTag);
20
20
  return resolved.link ? {
@@ -1 +1 @@
1
- {"version":3,"names":["_links","require","_resolveBoundsPairKey","createLinkAccessor","getProps","getLink","tag","props","stringTag","String","pairKey","resolveBoundsPairKey","resolved","getResolvedLink","link","id","exports"],"sourceRoot":"../../../../../src","sources":["utils/bounds/helpers/create-link-accessor.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,qBAAA,GAAAD,OAAA;AAQO,MAAME,kBAAkB,GAAIC,QAAkB,IAAmB;EACvE,SAAS;;EAET,MAAMC,OAAO,GAAIC,GAAY,IAAwB;IACpD,SAAS;;IACT,MAAMC,KAAK,GAAGH,QAAQ,CAAC,CAAC;IACxB,MAAMI,SAAS,GAAGC,MAAM,CAACH,GAAG,CAAC;IAC7B,MAAMI,OAAO,GAAG,IAAAC,0CAAoB,EAACJ,KAAK,CAAC;IAC3C,IAAI,CAACG,OAAO,EAAE,OAAO,IAAI;IAEzB,MAAME,QAAQ,GAAG,IAAAC,sBAAe,EAACH,OAAO,EAAEF,SAAS,CAAC;IACpD,OAAOI,QAAQ,CAACE,IAAI,GACjB;MACAC,EAAE,EAAEH,QAAQ,CAACN,GAAG;MAChB,GAAGM,QAAQ,CAACE;IACb,CAAC,GACA,IAAI;EACR,CAAC;EAED,OAAO;IACNT;EACD,CAAC;AACF,CAAC;AAACW,OAAA,CAAAb,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_links","require","createLinkAccessor","getProps","getLink","tag","props","stringTag","String","destinationScreenKey","next","route","key","current","pairKey","getPairKeyForDestination","resolved","getResolvedLink","link","id","exports"],"sourceRoot":"../../../../../src","sources":["utils/bounds/helpers/create-link-accessor.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAgBO,MAAMC,kBAAkB,GAAIC,QAAkB,IAAmB;EACvE,SAAS;;EAET,MAAMC,OAAO,GAAIC,GAAY,IAAwB;IACpD,SAAS;;IACT,MAAMC,KAAK,GAAGH,QAAQ,CAAC,CAAC;IACxB,MAAMI,SAAS,GAAGC,MAAM,CAACH,GAAG,CAAC;IAC7B,MAAMI,oBAAoB,GACzBH,KAAK,CAACI,IAAI,EAAEC,KAAK,CAACC,GAAG,IAAIN,KAAK,CAACO,OAAO,EAAEF,KAAK,CAACC,GAAG;IAClD,MAAME,OAAO,GAAGL,oBAAoB,GACjC,IAAAM,+BAAwB,EAACR,SAAS,EAAEE,oBAAoB,CAAC,GACzD,IAAI;IACP,IAAI,CAACK,OAAO,EAAE,OAAO,IAAI;IAEzB,MAAME,QAAQ,GAAG,IAAAC,sBAAe,EAACH,OAAO,EAAEP,SAAS,CAAC;IACpD,OAAOS,QAAQ,CAACE,IAAI,GACjB;MACAC,EAAE,EAAEH,QAAQ,CAACX,GAAG;MAChB,GAAGW,QAAQ,CAACE;IACb,CAAC,GACA,IAAI;EACR,CAAC;EAED,OAAO;IACNd;EACD,CAAC;AACF,CAAC;AAACgB,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -5,8 +5,8 @@ import { cancelAnimation, useAnimatedReaction, useSharedValue, withDelay, withTi
5
5
  import { scheduleOnUI } from "react-native-worklets";
6
6
  import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
7
7
  import { AnimationStore } from "../../../../stores/animation.store";
8
- import { getSourceScreenKeyFromPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
9
- import { getEntry } from "../../../../stores/bounds/internals/entries";
8
+ import { createScreenPairKey, getSourceScreenKeyFromPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
9
+ import { getEntry, getMatchingSourceScreenKey } from "../../../../stores/bounds/internals/entries";
10
10
  import { getLink } from "../../../../stores/bounds/internals/links";
11
11
  import { pairs } from "../../../../stores/bounds/internals/state";
12
12
  import { SystemStore } from "../../../../stores/system.store";
@@ -36,9 +36,9 @@ export const useInitialDestinationMeasurement = ({
36
36
  const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
37
37
  const nextScreenKey = useDescriptorsStore(s => s.derivations.nextScreenKey);
38
38
  const destinationPairKey = useDescriptorsStore(s => s.derivations.destinationPairKey);
39
- const ancestorDestinationPairKey = useDescriptorsStore(s => s.derivations.ancestorDestinationPairKey);
40
39
  const destinationEnabled = enabled && !nextScreenKey;
41
- const initialDestinationPairKey = destinationPairKey ?? ancestorDestinationPairKey;
40
+ const canReceiveDestination = destinationEnabled && !!destinationPairKey;
41
+ const preferredSourceScreenKey = destinationPairKey ? getSourceScreenKeyFromPairKey(destinationPairKey) : undefined;
42
42
  const progress = AnimationStore.getValue(currentScreenKey, "transitionProgress");
43
43
  const {
44
44
  actions: {
@@ -63,6 +63,10 @@ export const useInitialDestinationMeasurement = ({
63
63
  const claimLifecycleStartBlock = useCallback(() => {
64
64
  "worklet";
65
65
 
66
+ if (!canReceiveDestination || !getMatchingSourceScreenKey(tag, currentScreenKey, preferredSourceScreenKey)) {
67
+ return;
68
+ }
69
+
66
70
  // The progress check and block claim must share one UI-thread operation.
67
71
  // Otherwise a JS-thread layout effect can observe zero, enqueue the block,
68
72
  // and let the opening animation start before that block reaches the UI thread.
@@ -71,9 +75,9 @@ export const useInitialDestinationMeasurement = ({
71
75
  }
72
76
  blockLifecycleStart();
73
77
  isBlockingLifecycleStart.set(1);
74
- }, [blockLifecycleStart, isBlockingLifecycleStart, progress]);
78
+ }, [blockLifecycleStart, canReceiveDestination, currentScreenKey, isBlockingLifecycleStart, progress, preferredSourceScreenKey, tag]);
75
79
  useLayoutEffect(() => {
76
- if (!destinationEnabled || !initialDestinationPairKey) {
80
+ if (!canReceiveDestination) {
77
81
  return;
78
82
  }
79
83
  scheduleOnUI(claimLifecycleStartBlock);
@@ -87,26 +91,26 @@ export const useInitialDestinationMeasurement = ({
87
91
  // runtime so it serializes with the handshake's guarded release.
88
92
  scheduleOnUI(releaseLifecycleStartBlock);
89
93
  };
90
- }, [claimLifecycleStartBlock, destinationEnabled, escapeClipping, initialDestinationPairKey, releaseLifecycleStartBlock]);
94
+ }, [claimLifecycleStartBlock, escapeClipping, canReceiveDestination, releaseLifecycleStartBlock]);
91
95
  useAnimatedReaction(() => {
92
96
  "worklet";
93
97
 
94
- if (!destinationEnabled || !initialDestinationPairKey || isBlockingLifecycleStart.get() <= 0) {
98
+ if (!canReceiveDestination || isBlockingLifecycleStart.get() <= 0) {
95
99
  return null;
96
100
  }
97
101
  if (progress.get() > 0) {
98
102
  return null;
99
103
  }
100
104
  const retryTick = retryToken.get();
101
- const sourceScreenKey = getSourceScreenKeyFromPairKey(initialDestinationPairKey);
105
+ const sourceScreenKey = getMatchingSourceScreenKey(tag, currentScreenKey, preferredSourceScreenKey);
106
+ const pairKey = sourceScreenKey ? createScreenPairKey(sourceScreenKey, currentScreenKey) : undefined;
102
107
  const signal = getInitialDestinationMeasurementSignal({
103
108
  enabled: destinationEnabled,
104
- destinationPairKey,
105
- ancestorDestinationPairKey,
109
+ pairKey,
106
110
  linkId: linkKey,
107
111
  group,
108
112
  destinationPresent: getEntry(tag, currentScreenKey) !== null,
109
- sourcePresent: getEntry(tag, sourceScreenKey) !== null,
113
+ sourcePresent: sourceScreenKey !== null,
110
114
  linkState: pairs.get()
111
115
  });
112
116
  return [signal?.pairKey ?? null, signal?.action ?? null, retryTick];
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","cancelAnimation","useAnimatedReaction","useSharedValue","withDelay","withTiming","scheduleOnUI","useDescriptorsStore","AnimationStore","getSourceScreenKeyFromPairKey","getEntry","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","ancestorDestinationPairKey","destinationEnabled","initialDestinationPairKey","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","sourceScreenKey","signal","linkId","destinationPresent","sourcePresent","linkState","pairKey","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","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":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useAnimatedReaction, useSharedValue } from "react-native-reanimated";
4
4
  import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
5
+ import { getPairKeyForSource } from "../../../../stores/bounds/internals/links";
5
6
  import { pairs } from "../../../../stores/bounds/internals/state";
6
7
  import { getInitialSourceCaptureSignal } from "../../utils/source-signals";
7
8
  export const useInitialSourceMeasurement = params => {
@@ -10,11 +11,12 @@ export const useInitialSourceMeasurement = params => {
10
11
  measureBoundary,
11
12
  boundTag
12
13
  } = params;
13
- const sourcePairKey = useDescriptorsStore(s => s.derivations.sourcePairKey);
14
+ const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
14
15
  const lastSourceCaptureSignal = useSharedValue(null);
15
16
  useAnimatedReaction(() => {
16
17
  "worklet";
17
18
 
19
+ const sourcePairKey = getPairKeyForSource(boundTag.tag, currentScreenKey) ?? undefined;
18
20
  return getInitialSourceCaptureSignal({
19
21
  enabled,
20
22
  sourcePairKey,
@@ -1 +1 @@
1
- {"version":3,"names":["useAnimatedReaction","useSharedValue","useDescriptorsStore","pairs","getInitialSourceCaptureSignal","useInitialSourceMeasurement","params","enabled","measureBoundary","boundTag","sourcePairKey","s","derivations","lastSourceCaptureSignal","linkId","linkKey","group","linkState","get","undefined","captureSignal","set","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-initial-source-measurement.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,cAAc,QAAQ,yBAAyB;AAC7E,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,6BAA6B,QAAQ,4BAA4B;AAE1E,OAAO,MAAMC,2BAA2B,GAAIC,MAI3C,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAGH,MAAM;EACrD,MAAMI,aAAa,GAAGR,mBAAmB,CAAES,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,aAAa,CAAC;EAC7E,MAAMG,uBAAuB,GAAGZ,cAAc,CAAgB,IAAI,CAAC;EAEnED,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OAAOI,6BAA6B,CAAC;MACpCG,OAAO;MACPG,aAAa;MACbI,MAAM,EAAEL,QAAQ,CAACM,OAAO;MACxBC,KAAK,EAAEP,QAAQ,CAACO,KAAK;MACrBC,SAAS,EAAEP,aAAa,GAAGP,KAAK,CAACe,GAAG,CAAC,CAAC,GAAGC;IAC1C,CAAC,CAAC;EACH,CAAC,EACAC,aAAa,IAAK;IAClB,SAAS;;IACT,IAAI,CAACb,OAAO,IAAI,CAACa,aAAa,EAAE;MAC/BP,uBAAuB,CAACQ,GAAG,CAAC,IAAI,CAAC;MACjC;IACD;IAEA,IAAIR,uBAAuB,CAACK,GAAG,CAAC,CAAC,KAAKE,aAAa,CAACE,MAAM,EAAE;MAC3D;IACD;IAEAT,uBAAuB,CAACQ,GAAG,CAACD,aAAa,CAACE,MAAM,CAAC;IACjDd,eAAe,CAAC;MACfe,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useAnimatedReaction","useSharedValue","useDescriptorsStore","getPairKeyForSource","pairs","getInitialSourceCaptureSignal","useInitialSourceMeasurement","params","enabled","measureBoundary","boundTag","currentScreenKey","s","derivations","lastSourceCaptureSignal","sourcePairKey","tag","undefined","linkId","linkKey","group","linkState","get","captureSignal","set","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-initial-source-measurement.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,cAAc,QAAQ,yBAAyB;AAC7E,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,6BAA6B,QAAQ,4BAA4B;AAE1E,OAAO,MAAMC,2BAA2B,GAAIC,MAI3C,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAGH,MAAM;EACrD,MAAMI,gBAAgB,GAAGT,mBAAmB,CAC1CU,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,uBAAuB,GAAGb,cAAc,CAAgB,IAAI,CAAC;EAEnED,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,MAAMe,aAAa,GAClBZ,mBAAmB,CAACO,QAAQ,CAACM,GAAG,EAAEL,gBAAgB,CAAC,IAAIM,SAAS;IACjE,OAAOZ,6BAA6B,CAAC;MACpCG,OAAO;MACPO,aAAa;MACbG,MAAM,EAAER,QAAQ,CAACS,OAAO;MACxBC,KAAK,EAAEV,QAAQ,CAACU,KAAK;MACrBC,SAAS,EAAEN,aAAa,GAAGX,KAAK,CAACkB,GAAG,CAAC,CAAC,GAAGL;IAC1C,CAAC,CAAC;EACH,CAAC,EACAM,aAAa,IAAK;IAClB,SAAS;;IACT,IAAI,CAACf,OAAO,IAAI,CAACe,aAAa,EAAE;MAC/BT,uBAAuB,CAACU,GAAG,CAAC,IAAI,CAAC;MACjC;IACD;IAEA,IAAIV,uBAAuB,CAACQ,GAAG,CAAC,CAAC,KAAKC,aAAa,CAACE,MAAM,EAAE;MAC3D;IACD;IAEAX,uBAAuB,CAACU,GAAG,CAACD,aAAa,CAACE,MAAM,CAAC;IACjDhB,eAAe,CAAC;MACfiB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import { useAnimatedReaction } from "react-native-reanimated";
4
4
  import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
5
5
  import { AnimationStore } from "../../../../stores/animation.store";
6
+ import { getPairKeyForDestination, getPairKeyForSource } from "../../../../stores/bounds/internals/links";
6
7
  import { pairs } from "../../../../stores/bounds/internals/state";
7
8
  import { getRefreshBoundarySignal } from "../../utils/refresh-signals";
8
9
  export const useRefreshBoundary = ({
@@ -16,9 +17,6 @@ export const useRefreshBoundary = ({
16
17
  } = boundTag;
17
18
  const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
18
19
  const nextScreenKey = useDescriptorsStore(s => s.derivations.nextScreenKey);
19
- const sourcePairKey = useDescriptorsStore(s => s.derivations.sourcePairKey);
20
- const destinationPairKey = useDescriptorsStore(s => s.derivations.destinationPairKey);
21
- const ancestorDestinationPairKey = useDescriptorsStore(s => s.derivations.ancestorDestinationPairKey);
22
20
  // Source-side boundaries refresh from the next screen's lifecycle pulse.
23
21
  // Destination-side boundaries have no next screen, so they refresh from self.
24
22
  const refreshScreenKey = nextScreenKey ?? currentScreenKey;
@@ -31,13 +29,13 @@ export const useRefreshBoundary = ({
31
29
  if (!shouldRefresh) {
32
30
  return null;
33
31
  }
32
+ const sourcePairKey = getPairKeyForSource(boundTag.tag, currentScreenKey) ?? undefined;
33
+ const destinationPairKey = getPairKeyForDestination(boundTag.tag, currentScreenKey) ?? undefined;
34
34
  return getRefreshBoundarySignal({
35
35
  enabled,
36
36
  currentScreenKey,
37
37
  sourcePairKey,
38
38
  destinationPairKey,
39
- ancestorDestinationPairKey,
40
- nextScreenKey,
41
39
  linkId: linkKey,
42
40
  group,
43
41
  shouldRefresh,
@@ -1 +1 @@
1
- {"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","pairs","getRefreshBoundarySignal","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","refreshScreenKey","refreshWillAnimate","getValue","refreshClosing","shouldRefresh","get","linkId","closing","linkState","refreshSignal","prevRefreshSignal","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,wBAAwB,QAAQ,6BAA6B;AAQtE,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,QAAQ;EACRC;AACyB,CAAC,KAAK;EAC/B,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,QAAQ;EACnC,MAAMI,gBAAgB,GAAGV,mBAAmB,CAC1CW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGb,mBAAmB,CAAEW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E,MAAMC,aAAa,GAAGd,mBAAmB,CAAEW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACE,aAAa,CAAC;EAC7E,MAAMC,kBAAkB,GAAGf,mBAAmB,CAC5CW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACG,kBACtB,CAAC;EACD,MAAMC,0BAA0B,GAAGhB,mBAAmB,CACpDW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACI,0BACtB,CAAC;EACD;EACA;EACA,MAAMC,gBAAgB,GAAGJ,aAAa,IAAIH,gBAAgB;EAC1D,MAAMQ,kBAAkB,GAAGjB,cAAc,CAACkB,QAAQ,CACjDF,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMG,cAAc,GAAGnB,cAAc,CAACkB,QAAQ,CAACF,gBAAgB,EAAE,SAAS,CAAC;EAE3ElB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,MAAMsB,aAAa,GAAGhB,OAAO,IAAI,CAAC,CAACa,kBAAkB,CAACI,GAAG,CAAC,CAAC;IAC3D,IAAI,CAACD,aAAa,EAAE;MACnB,OAAO,IAAI;IACZ;IAEA,OAAOlB,wBAAwB,CAAC;MAC/BE,OAAO;MACPK,gBAAgB;MAChBI,aAAa;MACbC,kBAAkB;MAClBC,0BAA0B;MAC1BH,aAAa;MACbU,MAAM,EAAEf,OAAO;MACfC,KAAK;MACLY,aAAa;MACbG,OAAO,EAAE,CAAC,CAACJ,cAAc,CAACE,GAAG,CAAC,CAAC;MAC/BG,SAAS,EAAEvB,KAAK,CAACoB,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACI,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEArB,eAAe,CAAC;MACfsB,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","getPairKeyForDestination","getPairKeyForSource","pairs","getRefreshBoundarySignal","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","refreshScreenKey","refreshWillAnimate","getValue","refreshClosing","shouldRefresh","get","sourcePairKey","tag","undefined","destinationPairKey","linkId","closing","linkState","refreshSignal","prevRefreshSignal","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SACCC,wBAAwB,EACxBC,mBAAmB,QACb,2CAA2C;AAClD,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,wBAAwB,QAAQ,6BAA6B;AAQtE,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,QAAQ;EACRC;AACyB,CAAC,KAAK;EAC/B,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,QAAQ;EACnC,MAAMI,gBAAgB,GAAGZ,mBAAmB,CAC1Ca,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGf,mBAAmB,CAAEa,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E;EACA;EACA,MAAMC,gBAAgB,GAAGD,aAAa,IAAIH,gBAAgB;EAC1D,MAAMK,kBAAkB,GAAGhB,cAAc,CAACiB,QAAQ,CACjDF,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMG,cAAc,GAAGlB,cAAc,CAACiB,QAAQ,CAACF,gBAAgB,EAAE,SAAS,CAAC;EAE3EjB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,MAAMqB,aAAa,GAAGb,OAAO,IAAI,CAAC,CAACU,kBAAkB,CAACI,GAAG,CAAC,CAAC;IAC3D,IAAI,CAACD,aAAa,EAAE;MACnB,OAAO,IAAI;IACZ;IACA,MAAME,aAAa,GAClBnB,mBAAmB,CAACK,QAAQ,CAACe,GAAG,EAAEX,gBAAgB,CAAC,IAAIY,SAAS;IACjE,MAAMC,kBAAkB,GACvBvB,wBAAwB,CAACM,QAAQ,CAACe,GAAG,EAAEX,gBAAgB,CAAC,IAAIY,SAAS;IAEtE,OAAOnB,wBAAwB,CAAC;MAC/BE,OAAO;MACPK,gBAAgB;MAChBU,aAAa;MACbG,kBAAkB;MAClBC,MAAM,EAAEhB,OAAO;MACfC,KAAK;MACLS,aAAa;MACbO,OAAO,EAAE,CAAC,CAACR,cAAc,CAACE,GAAG,CAAC,CAAC;MAC/BO,SAAS,EAAExB,KAAK,CAACiB,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACQ,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEAtB,eAAe,CAAC;MACfuB,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -46,10 +46,11 @@ export const useBoundaryMeasurement = ({
46
46
  escapeClipping
47
47
  });
48
48
 
49
- // Register/unregister this boundary in the presence map so source/destination
50
- // matching can resolve across concrete screen keys.
49
+ // Presence and source capture must not depend on this screen owning an
50
+ // interpolator: a nested source can participate in a transition owned by a
51
+ // different navigator.
51
52
  useBoundaryPresence({
52
- enabled: runtimeEnabled,
53
+ enabled,
53
54
  boundTag,
54
55
  currentScreenKey,
55
56
  boundaryConfig,
@@ -57,7 +58,7 @@ export const useBoundaryMeasurement = ({
57
58
  escapeClipping
58
59
  });
59
60
  useInitialSourceMeasurement({
60
- enabled: runtimeEnabled,
61
+ enabled,
61
62
  measureBoundary,
62
63
  boundTag
63
64
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","prepareStyleForBounds","useBoundaryPresence","useInitialDestinationMeasurement","useInitialSourceMeasurement","useRefreshBoundary","useMeasurer","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","handoff","escapeClipping","config","anchor","scaleMode","target","method","boundaryConfig","preparedStyles","measureBoundary","measuredAnimatedRef"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAI/B,SAASC,qBAAqB,QAAQ,6CAA6C;AAEnF,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,gCAAgC,QAAQ,kDAAkD;AACnG,SAASC,2BAA2B,QAAQ,6CAA6C;AACzF,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SAASC,WAAW,QAAQ,gBAAgB;AAkB5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,KAAK;EACLC,OAAO;EACPC,cAAc;EACdC;AAC6B,CAAC,KAAK;EACnC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EACpD,MAAMK,cAAc,GAAGrB,OAAO,CAC7B,OAAO;IAAEiB,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAME,cAAc,GAAGtB,OAAO,CAAC,MAAMC,qBAAqB,CAACY,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMU,eAAe,GAAGjB,WAAW,CAAC;IACnCG,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBW,cAAc;IACdE,mBAAmB,EAAEZ,WAAW;IAChCE,OAAO;IACPC;EACD,CAAC,CAAC;;EAEF;EACA;EACAb,mBAAmB,CAAC;IACnBO,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRG,gBAAgB;IAChBU,cAAc;IACdP,OAAO;IACPC;EACD,CAAC,CAAC;EAEFX,2BAA2B,CAAC;IAC3BK,OAAO,EAAEC,cAAc;IACvBa,eAAe;IACff;EACD,CAAC,CAAC;EAEFL,gCAAgC,CAAC;IAChCK,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBK,cAAc;IACdQ;EACD,CAAC,CAAC;EAEFlB,kBAAkB,CAAC;IAClBI,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRe;EACD,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","prepareStyleForBounds","useBoundaryPresence","useInitialDestinationMeasurement","useInitialSourceMeasurement","useRefreshBoundary","useMeasurer","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","handoff","escapeClipping","config","anchor","scaleMode","target","method","boundaryConfig","preparedStyles","measureBoundary","measuredAnimatedRef"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAI/B,SAASC,qBAAqB,QAAQ,6CAA6C;AAEnF,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,gCAAgC,QAAQ,kDAAkD;AACnG,SAASC,2BAA2B,QAAQ,6CAA6C;AACzF,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SAASC,WAAW,QAAQ,gBAAgB;AAkB5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,KAAK;EACLC,OAAO;EACPC,cAAc;EACdC;AAC6B,CAAC,KAAK;EACnC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EACpD,MAAMK,cAAc,GAAGrB,OAAO,CAC7B,OAAO;IAAEiB,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAME,cAAc,GAAGtB,OAAO,CAAC,MAAMC,qBAAqB,CAACY,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMU,eAAe,GAAGjB,WAAW,CAAC;IACnCG,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBW,cAAc;IACdE,mBAAmB,EAAEZ,WAAW;IAChCE,OAAO;IACPC;EACD,CAAC,CAAC;;EAEF;EACA;EACA;EACAb,mBAAmB,CAAC;IACnBO,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBU,cAAc;IACdP,OAAO;IACPC;EACD,CAAC,CAAC;EAEFX,2BAA2B,CAAC;IAC3BK,OAAO;IACPc,eAAe;IACff;EACD,CAAC,CAAC;EAEFL,gCAAgC,CAAC;IAChCK,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBK,cAAc;IACdQ;EACD,CAAC,CAAC;EAEFlB,kBAAkB,CAAC;IAClBI,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRe;EACD,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -6,15 +6,13 @@ export const getInitialDestinationMeasurementSignal = params => {
6
6
 
7
7
  const {
8
8
  enabled,
9
- destinationPairKey,
10
- ancestorDestinationPairKey,
9
+ pairKey,
11
10
  linkId,
12
11
  group,
13
12
  destinationPresent,
14
13
  sourcePresent,
15
14
  linkState
16
15
  } = params;
17
- const pairKey = destinationPairKey ?? ancestorDestinationPairKey;
18
16
  if (!enabled || !pairKey) {
19
17
  return null;
20
18
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getActiveGroupId","getLinkKeyFromTag","getInitialDestinationMeasurementSignal","params","enabled","destinationPairKey","ancestorDestinationPairKey","linkId","group","destinationPresent","sourcePresent","linkState","pairKey","action","linkKey","activeGroupId","link","links","destination","source"],"sourceRoot":"../../../../../src","sources":["components/boundary/utils/destination-signals.ts"],"mappings":";;AAAA,SACCA,gBAAgB,EAChBC,iBAAiB,QACX,mDAAmD;AAiB1D,OAAO,MAAMC,sCAAsC,GAAIC,MAStD,IAAiD;EACjD,SAAS;;EACT,MAAM;IACLC,OAAO;IACPC,kBAAkB;IAClBC,0BAA0B;IAC1BC,MAAM;IACNC,KAAK;IACLC,kBAAkB;IAClBC,aAAa;IACbC;EACD,CAAC,GAAGR,MAAM;EACV,MAAMS,OAAO,GAAGP,kBAAkB,IAAIC,0BAA0B;EAEhE,IAAI,CAACF,OAAO,IAAI,CAACQ,OAAO,EAAE;IACzB,OAAO,IAAI;EACZ;EAEA,IAAI,CAACH,kBAAkB,EAAE;IACxB,OAAO;MAAEG,OAAO;MAAEC,MAAM,EAAE;IAAO,CAAC;EACnC;EAEA,IAAI,CAACH,aAAa,EAAE;IACnB,OAAO;MAAEE,OAAO;MAAEC,MAAM,EAAE;IAAU,CAAC;EACtC;EAEA,MAAMC,OAAO,GAAGb,iBAAiB,CAACM,MAAM,CAAC;EACzC,MAAMQ,aAAa,GAClBP,KAAK,IAAIG,SAAS,GAAGX,gBAAgB,CAACW,SAAS,EAAEC,OAAO,EAAEJ,KAAK,CAAC,GAAG,IAAI;EAExE,IAAIO,aAAa,IAAIA,aAAa,KAAKD,OAAO,EAAE;IAC/C,OAAO;MAAEF,OAAO;MAAEC,MAAM,EAAE;IAAU,CAAC;EACtC;EAEA,MAAMG,IAAI,GAAGL,SAAS,GAAGC,OAAO,CAAC,EAAEK,KAAK,GAAGH,OAAO,CAAC;EAEnD,IAAI,CAACE,IAAI,EAAEE,WAAW,EAAE;IACvB,OAAO;MAAEN,OAAO;MAAEC,MAAM,EAAE;IAAU,CAAC;EACtC;EAEA,IAAI,CAACG,IAAI,CAACG,MAAM,EAAE;IACjB,OAAO;MAAEP,OAAO;MAAEC,MAAM,EAAE;IAAO,CAAC;EACnC;EAEA,OAAO;IAAED,OAAO;IAAEC,MAAM,EAAE;EAAW,CAAC;AACvC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getActiveGroupId","getLinkKeyFromTag","getInitialDestinationMeasurementSignal","params","enabled","pairKey","linkId","group","destinationPresent","sourcePresent","linkState","action","linkKey","activeGroupId","link","links","destination","source"],"sourceRoot":"../../../../../src","sources":["components/boundary/utils/destination-signals.ts"],"mappings":";;AAAA,SACCA,gBAAgB,EAChBC,iBAAiB,QACX,mDAAmD;AAiB1D,OAAO,MAAMC,sCAAsC,GAAIC,MAQtD,IAAiD;EACjD,SAAS;;EACT,MAAM;IACLC,OAAO;IACPC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,kBAAkB;IAClBC,aAAa;IACbC;EACD,CAAC,GAAGP,MAAM;EACV,IAAI,CAACC,OAAO,IAAI,CAACC,OAAO,EAAE;IACzB,OAAO,IAAI;EACZ;EAEA,IAAI,CAACG,kBAAkB,EAAE;IACxB,OAAO;MAAEH,OAAO;MAAEM,MAAM,EAAE;IAAO,CAAC;EACnC;EAEA,IAAI,CAACF,aAAa,EAAE;IACnB,OAAO;MAAEJ,OAAO;MAAEM,MAAM,EAAE;IAAU,CAAC;EACtC;EAEA,MAAMC,OAAO,GAAGX,iBAAiB,CAACK,MAAM,CAAC;EACzC,MAAMO,aAAa,GAClBN,KAAK,IAAIG,SAAS,GAAGV,gBAAgB,CAACU,SAAS,EAAEL,OAAO,EAAEE,KAAK,CAAC,GAAG,IAAI;EAExE,IAAIM,aAAa,IAAIA,aAAa,KAAKD,OAAO,EAAE;IAC/C,OAAO;MAAEP,OAAO;MAAEM,MAAM,EAAE;IAAU,CAAC;EACtC;EAEA,MAAMG,IAAI,GAAGJ,SAAS,GAAGL,OAAO,CAAC,EAAEU,KAAK,GAAGH,OAAO,CAAC;EAEnD,IAAI,CAACE,IAAI,EAAEE,WAAW,EAAE;IACvB,OAAO;MAAEX,OAAO;MAAEM,MAAM,EAAE;IAAU,CAAC;EACtC;EAEA,IAAI,CAACG,IAAI,CAACG,MAAM,EAAE;IACjB,OAAO;MAAEZ,OAAO;MAAEM,MAAM,EAAE;IAAO,CAAC;EACnC;EAEA,OAAO;IAAEN,OAAO;IAAEM,MAAM,EAAE;EAAW,CAAC;AACvC,CAAC","ignoreList":[]}
@@ -20,8 +20,6 @@ export const getRefreshBoundarySignal = params => {
20
20
  currentScreenKey,
21
21
  sourcePairKey,
22
22
  destinationPairKey,
23
- ancestorDestinationPairKey,
24
- nextScreenKey,
25
23
  linkId,
26
24
  group,
27
25
  shouldRefresh,
@@ -44,7 +42,7 @@ export const getRefreshBoundarySignal = params => {
44
42
  }
45
43
  return buildRefreshSignal("source", sourcePairKey, [currentScreenKey, closing ? "closing" : "settled"].join("|"));
46
44
  }
47
- const refreshDestinationPairKey = destinationPairKey ?? (nextScreenKey ? undefined : ancestorDestinationPairKey);
45
+ const refreshDestinationPairKey = destinationPairKey;
48
46
  if (!refreshDestinationPairKey) {
49
47
  return null;
50
48
  }
@@ -63,7 +61,7 @@ export const getRefreshBoundarySignal = params => {
63
61
  }
64
62
  return buildRefreshSignal("source", sourcePairKey, [group, linkId, closing ? "closing" : "settled"].join("|"));
65
63
  }
66
- const refreshDestinationPairKey = destinationPairKey ?? (nextScreenKey ? undefined : ancestorDestinationPairKey);
64
+ const refreshDestinationPairKey = destinationPairKey;
67
65
  if (!refreshDestinationPairKey) return null;
68
66
 
69
67
  // Destination side:
@@ -1 +1 @@
1
- {"version":3,"names":["SOURCE_SIGNAL_PREFIX","DESTINATION_SIGNAL_PREFIX","buildRefreshSignal","type","pairKey","key","prefix","signal","getRefreshBoundarySignal","params","enabled","currentScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","nextScreenKey","linkId","group","shouldRefresh","closing","linkState","sourcePair","participates","links","sourceRequests","join","refreshDestinationPairKey","undefined","activeId","groups"],"sourceRoot":"../../../../../src","sources":["components/boundary/utils/refresh-signals.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SOURCE_SIGNAL_PREFIX","DESTINATION_SIGNAL_PREFIX","buildRefreshSignal","type","pairKey","key","prefix","signal","getRefreshBoundarySignal","params","enabled","currentScreenKey","sourcePairKey","destinationPairKey","linkId","group","shouldRefresh","closing","linkState","sourcePair","participates","links","sourceRequests","join","refreshDestinationPairKey","activeId","groups"],"sourceRoot":"../../../../../src","sources":["components/boundary/utils/refresh-signals.ts"],"mappings":";;AAMA,MAAMA,oBAAoB,GAAG,SAAS;AACtC,MAAMC,yBAAyB,GAAG,cAAc;AAMhD,MAAMC,kBAAkB,GAAGA,CAC1BC,IAA2B,EAC3BC,OAAsB,EACtBC,GAAW,KACgB;EAC3B,SAAS;;EACT,MAAMC,MAAM,GACXH,IAAI,KAAK,QAAQ,GAAGH,oBAAoB,GAAGC,yBAAyB;EACrE,OAAO;IACNE,IAAI;IACJC,OAAO;IACPG,MAAM,EAAE,GAAGD,MAAM,GAAGF,OAAO,IAAIC,GAAG;EACnC,CAAC;AACF,CAAC;AAED,OAAO,MAAMG,wBAAwB,GAAIC,MAUxC,IAAmC;EACnC,SAAS;;EACT,MAAM;IACLC,OAAO;IACPC,gBAAgB;IAChBC,aAAa;IACbC,kBAAkB;IAClBC,MAAM;IACNC,KAAK;IACLC,aAAa;IACbC,OAAO;IACPC;EACD,CAAC,GAAGT,MAAM;EAEV,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,IAAI,CAACM,aAAa,EAAE;IACnB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,IAAI,CAACD,KAAK,EAAE;IACX,IAAIH,aAAa,EAAE;MAClB,MAAMO,UAAU,GAAGD,SAAS,GAAGN,aAAa,CAAC;MAC7C,MAAMQ,YAAY,GACjB,CAAC,CAACD,UAAU,EAAEE,KAAK,GAAGP,MAAM,CAAC,IAAI,CAAC,CAACK,UAAU,EAAEG,cAAc,GAAGR,MAAM,CAAC;MAExE,IAAI,CAACM,YAAY,EAAE;QAClB,OAAO,IAAI;MACZ;MAEA,OAAOlB,kBAAkB,CACxB,QAAQ,EACRU,aAAa,EACb,CAACD,gBAAgB,EAAEM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAACM,IAAI,CAAC,GAAG,CAC7D,CAAC;IACF;IAEA,MAAMC,yBAAyB,GAAGX,kBAAkB;IAEpD,IAAI,CAACW,yBAAyB,EAAE;MAC/B,OAAO,IAAI;IACZ;IAEA,IAAI,CAACN,SAAS,GAAGM,yBAAyB,CAAC,EAAEH,KAAK,GAAGP,MAAM,CAAC,EAAE;MAC7D,OAAO,IAAI;IACZ;IAEA,OAAOZ,kBAAkB,CACxB,aAAa,EACbsB,yBAAyB,EACzB,CAACb,gBAAgB,EAAEM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAACM,IAAI,CAAC,GAAG,CAC7D,CAAC;EACF;;EAEA;EACA;EACA,IAAIX,aAAa,EAAE;IAClB,MAAMa,QAAQ,GAAGP,SAAS,GAAGN,aAAa,CAAC,EAAEc,MAAM,GAAGX,KAAK,CAAC,EAAEU,QAAQ;IAEtE,IAAIA,QAAQ,KAAKX,MAAM,EAAE;MACxB,OAAO,IAAI;IACZ;IAEA,OAAOZ,kBAAkB,CACxB,QAAQ,EACRU,aAAa,EACb,CAACG,KAAK,EAAED,MAAM,EAAEG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAACM,IAAI,CAAC,GAAG,CAC1D,CAAC;EACF;EAEA,MAAMC,yBAAyB,GAAGX,kBAAkB;EAEpD,IAAI,CAACW,yBAAyB,EAAE,OAAO,IAAI;;EAE3C;EACA;EACA,MAAMC,QAAQ,GACbP,SAAS,GAAGM,yBAAyB,CAAC,EAAEE,MAAM,GAAGX,KAAK,CAAC,EAAEU,QAAQ;;EAElE;EACA;EACA,IAAIA,QAAQ,KAAKX,MAAM,EAAE;IACxB,OAAO,IAAI;EACZ;EAEA,OAAOZ,kBAAkB,CACxB,aAAa,EACbsB,yBAAyB,EACzB,CAACT,KAAK,EAAED,MAAM,EAAEG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAACM,IAAI,CAAC,GAAG,CAC1D,CAAC;AACF,CAAC","ignoreList":[]}
@@ -5,7 +5,7 @@ import { useScreenTransitionsAdapterOptionalContext } from "../../../adapters/wi
5
5
  import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
6
6
  import createProvider from "../../../utils/create-provider";
7
7
  import { deriveDescriptorDerivations } from "./helpers/derive-descriptor-derivations";
8
- import { getAncestorKeyState } from "./helpers/get-ancestor-keys";
8
+ import { getAncestorKeys } from "./helpers/get-ancestor-keys";
9
9
 
10
10
  /**
11
11
  * Base descriptor interface - minimal contract for all stack types.
@@ -41,17 +41,13 @@ export const {
41
41
  current: resolvedCurrent,
42
42
  next: resolvedNext
43
43
  }), [resolvedPrevious, resolvedCurrent, resolvedNext]);
44
- const {
45
- ancestorKeys,
46
- ancestorDestinationPairKey
47
- } = useMemo(() => getAncestorKeyState(resolvedCurrent), [resolvedCurrent]);
44
+ const ancestorKeys = useMemo(() => getAncestorKeys(resolvedCurrent), [resolvedCurrent]);
48
45
  const derivations = useMemo(() => deriveDescriptorDerivations({
49
46
  previous: resolvedPrevious,
50
47
  current: resolvedCurrent,
51
48
  next: resolvedNext,
52
- ancestorKeys,
53
- ancestorDestinationPairKey
54
- }), [resolvedPrevious, resolvedCurrent, resolvedNext, ancestorKeys, ancestorDestinationPairKey]);
49
+ ancestorKeys
50
+ }), [resolvedPrevious, resolvedCurrent, resolvedNext, ancestorKeys]);
55
51
  return {
56
52
  value: {
57
53
  previous: resolvedPrevious,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useScreenTransitionsAdapterOptionalContext","useBlankStackStore","createProvider","deriveDescriptorDerivations","getAncestorKeyState","DescriptorsProvider","useDescriptorsStore","guarded","previous","current","next","routeKey","children","blankStackCurrent","store","scenesByKey","descriptor","undefined","blankStackPrevious","previousDescriptor","blankStackNext","nextDescriptor","adapterContext","adapterScene","scenes","routeIndexByKey","get","resolvedCurrent","resolvedPrevious","resolvedNext","Error","descriptors","ancestorKeys","ancestorDestinationPairKey","derivations","value","options"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/descriptors.provider.tsx"],"mappings":";;AACA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,0CAA0C,QAAQ,mDAAmD;AAC9G,SAASC,kBAAkB,QAAQ,+CAA+C;AAElF,OAAOC,cAAc,MAAM,gCAAgC;AAE3D,SAASC,2BAA2B,QAAQ,yCAAyC;AACrF,SAASC,mBAAmB,QAAQ,6BAA6B;;AAEjE;AACA;AACA;AACA;AACA;;AA6BA,OAAO,MAAM;EAAEC,mBAAmB;EAAEC;AAAoB,CAAC,GAAGJ,cAAc,CACzE,aAAa,EACb;EAAEK,OAAO,EAAE;AAAK,CACjB,CAAC,CACA,CAAC;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAS,CAAC,KAAK;EACpD,MAAMC,iBAAiB,GAAGZ,kBAAkB,CAAEa,KAAK,IAClDH,QAAQ,GAAGG,KAAK,EAAEC,WAAW,CAACJ,QAAQ,CAAC,EAAEK,UAAU,GAAGC,SACvD,CAAC;EACD,MAAMC,kBAAkB,GAAGjB,kBAAkB,CAAEa,KAAK,IACnDH,QAAQ,GAAGG,KAAK,EAAEC,WAAW,CAACJ,QAAQ,CAAC,EAAEQ,kBAAkB,GAAGF,SAC/D,CAAC;EACD,MAAMG,cAAc,GAAGnB,kBAAkB,CAAEa,KAAK,IAC/CH,QAAQ,GAAGG,KAAK,EAAEC,WAAW,CAACJ,QAAQ,CAAC,EAAEU,cAAc,GAAGJ,SAC3D,CAAC;EACD,MAAMK,cAAc,GAAGtB,0CAA0C,CAAC,CAAC;EACnE,MAAMuB,YAAY,GAAGZ,QAAQ,GACzBW,cAAc,EAAEP,WAAW,GAAGJ,QAAQ,CAAC,IACzCW,cAAc,EAAEE,MAAM,CACrBF,cAAc,CAACG,eAAe,CAACC,GAAG,CAACf,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClD,GACAM,SAAS;EAEZ,MAAMU,eAAe,GACpBlB,OAAO,IAAII,iBAAiB,IAAIU,YAAY,EAAEP,UAAU;EACzD,MAAMY,gBAAgB,GACrBpB,QAAQ,IAAIU,kBAAkB,IAAIK,YAAY,EAAEJ,kBAAkB;EACnE,MAAMU,YAAY,GAAGnB,IAAI,IAAIU,cAAc,IAAIG,YAAY,EAAEF,cAAc;EAE3E,IAAI,CAACM,eAAe,EAAE;IACrB,MAAM,IAAIG,KAAK,CACd,sBAAsBnB,QAAQ,IAAI,SAAS,kBAC5C,CAAC;EACF;EAEA,MAAMoB,WAAW,GAAGhC,OAAO,CAC1B,OAAO;IACNS,QAAQ,EAAEoB,gBAAgB;IAC1BnB,OAAO,EAAEkB,eAAe;IACxBjB,IAAI,EAAEmB;EACP,CAAC,CAAC,EACF,CAACD,gBAAgB,EAAED,eAAe,EAAEE,YAAY,CACjD,CAAC;EAED,MAAM;IAAEG,YAAY;IAAEC;EAA2B,CAAC,GAAGlC,OAAO,CAC3D,MAAMK,mBAAmB,CAACuB,eAAe,CAAC,EAC1C,CAACA,eAAe,CACjB,CAAC;EAED,MAAMO,WAAW,GAAGnC,OAAO,CAC1B,MACCI,2BAA2B,CAAC;IAC3BK,QAAQ,EAAEoB,gBAAgB;IAC1BnB,OAAO,EAAEkB,eAAe;IACxBjB,IAAI,EAAEmB,YAAY;IAClBG,YAAY;IACZC;EACD,CAAC,CAAC,EACH,CACCL,gBAAgB,EAChBD,eAAe,EACfE,YAAY,EACZG,YAAY,EACZC,0BAA0B,CAE5B,CAAC;EAED,OAAO;IACNE,KAAK,EAAE;MACN3B,QAAQ,EAAEoB,gBAAgB;MAC1BnB,OAAO,EAAEkB,eAAe;MACxBjB,IAAI,EAAEmB,YAAY;MAClBE,WAAW;MACXG,WAAW;MACXE,OAAO,EAAET,eAAe,CAACS;IAC1B,CAAC;IACDxB;EACD,CAAC;AACF,CACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useScreenTransitionsAdapterOptionalContext","useBlankStackStore","createProvider","deriveDescriptorDerivations","getAncestorKeys","DescriptorsProvider","useDescriptorsStore","guarded","previous","current","next","routeKey","children","blankStackCurrent","store","scenesByKey","descriptor","undefined","blankStackPrevious","previousDescriptor","blankStackNext","nextDescriptor","adapterContext","adapterScene","scenes","routeIndexByKey","get","resolvedCurrent","resolvedPrevious","resolvedNext","Error","descriptors","ancestorKeys","derivations","value","options"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/descriptors.provider.tsx"],"mappings":";;AACA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,0CAA0C,QAAQ,mDAAmD;AAC9G,SAASC,kBAAkB,QAAQ,+CAA+C;AAElF,OAAOC,cAAc,MAAM,gCAAgC;AAE3D,SAASC,2BAA2B,QAAQ,yCAAyC;AACrF,SAASC,eAAe,QAAQ,6BAA6B;;AAE7D;AACA;AACA;AACA;AACA;;AA6BA,OAAO,MAAM;EAAEC,mBAAmB;EAAEC;AAAoB,CAAC,GAAGJ,cAAc,CACzE,aAAa,EACb;EAAEK,OAAO,EAAE;AAAK,CACjB,CAAC,CACA,CAAC;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAS,CAAC,KAAK;EACpD,MAAMC,iBAAiB,GAAGZ,kBAAkB,CAAEa,KAAK,IAClDH,QAAQ,GAAGG,KAAK,EAAEC,WAAW,CAACJ,QAAQ,CAAC,EAAEK,UAAU,GAAGC,SACvD,CAAC;EACD,MAAMC,kBAAkB,GAAGjB,kBAAkB,CAAEa,KAAK,IACnDH,QAAQ,GAAGG,KAAK,EAAEC,WAAW,CAACJ,QAAQ,CAAC,EAAEQ,kBAAkB,GAAGF,SAC/D,CAAC;EACD,MAAMG,cAAc,GAAGnB,kBAAkB,CAAEa,KAAK,IAC/CH,QAAQ,GAAGG,KAAK,EAAEC,WAAW,CAACJ,QAAQ,CAAC,EAAEU,cAAc,GAAGJ,SAC3D,CAAC;EACD,MAAMK,cAAc,GAAGtB,0CAA0C,CAAC,CAAC;EACnE,MAAMuB,YAAY,GAAGZ,QAAQ,GACzBW,cAAc,EAAEP,WAAW,GAAGJ,QAAQ,CAAC,IACzCW,cAAc,EAAEE,MAAM,CACrBF,cAAc,CAACG,eAAe,CAACC,GAAG,CAACf,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClD,GACAM,SAAS;EAEZ,MAAMU,eAAe,GACpBlB,OAAO,IAAII,iBAAiB,IAAIU,YAAY,EAAEP,UAAU;EACzD,MAAMY,gBAAgB,GACrBpB,QAAQ,IAAIU,kBAAkB,IAAIK,YAAY,EAAEJ,kBAAkB;EACnE,MAAMU,YAAY,GAAGnB,IAAI,IAAIU,cAAc,IAAIG,YAAY,EAAEF,cAAc;EAE3E,IAAI,CAACM,eAAe,EAAE;IACrB,MAAM,IAAIG,KAAK,CACd,sBAAsBnB,QAAQ,IAAI,SAAS,kBAC5C,CAAC;EACF;EAEA,MAAMoB,WAAW,GAAGhC,OAAO,CAC1B,OAAO;IACNS,QAAQ,EAAEoB,gBAAgB;IAC1BnB,OAAO,EAAEkB,eAAe;IACxBjB,IAAI,EAAEmB;EACP,CAAC,CAAC,EACF,CAACD,gBAAgB,EAAED,eAAe,EAAEE,YAAY,CACjD,CAAC;EAED,MAAMG,YAAY,GAAGjC,OAAO,CAC3B,MAAMK,eAAe,CAACuB,eAAe,CAAC,EACtC,CAACA,eAAe,CACjB,CAAC;EAED,MAAMM,WAAW,GAAGlC,OAAO,CAC1B,MACCI,2BAA2B,CAAC;IAC3BK,QAAQ,EAAEoB,gBAAgB;IAC1BnB,OAAO,EAAEkB,eAAe;IACxBjB,IAAI,EAAEmB,YAAY;IAClBG;EACD,CAAC,CAAC,EACH,CAACJ,gBAAgB,EAAED,eAAe,EAAEE,YAAY,EAAEG,YAAY,CAC/D,CAAC;EAED,OAAO;IACNE,KAAK,EAAE;MACN1B,QAAQ,EAAEoB,gBAAgB;MAC1BnB,OAAO,EAAEkB,eAAe;MACxBjB,IAAI,EAAEmB,YAAY;MAClBE,WAAW;MACXE,WAAW;MACXE,OAAO,EAAER,eAAe,CAACQ;IAC1B,CAAC;IACDvB;EACD,CAAC;AACF,CACD,CAAC","ignoreList":[]}
@@ -5,8 +5,7 @@ export function deriveDescriptorDerivations({
5
5
  previous,
6
6
  current,
7
7
  next,
8
- ancestorKeys,
9
- ancestorDestinationPairKey
8
+ ancestorKeys
10
9
  }) {
11
10
  const previousScreenKey = previous?.route.key;
12
11
  const currentScreenKey = current.route.key;
@@ -24,7 +23,6 @@ export function deriveDescriptorDerivations({
24
23
  nextScreenKey,
25
24
  sourcePairKey,
26
25
  destinationPairKey,
27
- ancestorDestinationPairKey,
28
26
  parentScreenKey: ancestorKeys[0],
29
27
  isFirstKey,
30
28
  isTopMostScreen,
@@ -1 +1 @@
1
- {"version":3,"names":["createScreenPairKey","deriveDescriptorDerivations","previous","current","next","ancestorKeys","ancestorDestinationPairKey","previousScreenKey","route","key","currentScreenKey","nextScreenKey","sourcePairKey","undefined","destinationPairKey","navigationState","navigation","getState","routes","isFirstKey","findIndex","isTopMostScreen","hasConfiguredInterpolator","options","screenStyleInterpolator","parentScreenKey"],"sourceRoot":"../../../../../../src","sources":["providers/screen/descriptors/helpers/derive-descriptor-derivations.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,sDAAsD;AA0B1F,OAAO,SAASC,2BAA2BA,CAAC;EAC3CC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,YAAY;EACZC;AACO,CAAC,EAAyB;EACjC,MAAMC,iBAAiB,GAAGL,QAAQ,EAAEM,KAAK,CAACC,GAAG;EAC7C,MAAMC,gBAAgB,GAAGP,OAAO,CAACK,KAAK,CAACC,GAAG;EAC1C,MAAME,aAAa,GAAGP,IAAI,EAAEI,KAAK,CAACC,GAAG;EACrC,MAAMG,aAAa,GAAGD,aAAa,GAChCX,mBAAmB,CAACU,gBAAgB,EAAEC,aAAa,CAAC,GACpDE,SAAS;EACZ,MAAMC,kBAAkB,GAAGP,iBAAiB,GACzCP,mBAAmB,CAACO,iBAAiB,EAAEG,gBAAgB,CAAC,GACxDG,SAAS;EAEZ,MAAME,eAAe,GAAGZ,OAAO,CAACa,UAAU,CAACC,QAAQ,CAAC,CAAC;EACrD,MAAMC,MAAM,GAAGH,eAAe,EAAEG,MAAM,IAAI,EAAE;EAC5C,MAAMC,UAAU,GACfD,MAAM,CAACE,SAAS,CAAEZ,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKN,OAAO,CAACK,KAAK,CAACC,GAAG,CAAC,KAAK,CAAC;EACnE,MAAMY,eAAe,GAAG,CAACjB,IAAI;EAC7B,MAAMkB,yBAAyB,GAC9B,CAAC,CAACnB,OAAO,CAACoB,OAAO,CAACC,uBAAuB,IACzC,CAAC,CAACpB,IAAI,EAAEmB,OAAO,EAAEC,uBAAuB;EAEzC,OAAO;IACNjB,iBAAiB;IACjBG,gBAAgB;IAChBC,aAAa;IACbC,aAAa;IACbE,kBAAkB;IAClBR,0BAA0B;IAC1BmB,eAAe,EAAEpB,YAAY,CAAC,CAAC,CAAC;IAChCc,UAAU;IACVE,eAAe;IACfhB,YAAY;IACZiB;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createScreenPairKey","deriveDescriptorDerivations","previous","current","next","ancestorKeys","previousScreenKey","route","key","currentScreenKey","nextScreenKey","sourcePairKey","undefined","destinationPairKey","navigationState","navigation","getState","routes","isFirstKey","findIndex","isTopMostScreen","hasConfiguredInterpolator","options","screenStyleInterpolator","parentScreenKey"],"sourceRoot":"../../../../../../src","sources":["providers/screen/descriptors/helpers/derive-descriptor-derivations.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,sDAAsD;AAwB1F,OAAO,SAASC,2BAA2BA,CAAC;EAC3CC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACO,CAAC,EAAyB;EACjC,MAAMC,iBAAiB,GAAGJ,QAAQ,EAAEK,KAAK,CAACC,GAAG;EAC7C,MAAMC,gBAAgB,GAAGN,OAAO,CAACI,KAAK,CAACC,GAAG;EAC1C,MAAME,aAAa,GAAGN,IAAI,EAAEG,KAAK,CAACC,GAAG;EACrC,MAAMG,aAAa,GAAGD,aAAa,GAChCV,mBAAmB,CAACS,gBAAgB,EAAEC,aAAa,CAAC,GACpDE,SAAS;EACZ,MAAMC,kBAAkB,GAAGP,iBAAiB,GACzCN,mBAAmB,CAACM,iBAAiB,EAAEG,gBAAgB,CAAC,GACxDG,SAAS;EAEZ,MAAME,eAAe,GAAGX,OAAO,CAACY,UAAU,CAACC,QAAQ,CAAC,CAAC;EACrD,MAAMC,MAAM,GAAGH,eAAe,EAAEG,MAAM,IAAI,EAAE;EAC5C,MAAMC,UAAU,GACfD,MAAM,CAACE,SAAS,CAAEZ,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKL,OAAO,CAACI,KAAK,CAACC,GAAG,CAAC,KAAK,CAAC;EACnE,MAAMY,eAAe,GAAG,CAAChB,IAAI;EAC7B,MAAMiB,yBAAyB,GAC9B,CAAC,CAAClB,OAAO,CAACmB,OAAO,CAACC,uBAAuB,IACzC,CAAC,CAACnB,IAAI,EAAEkB,OAAO,EAAEC,uBAAuB;EAEzC,OAAO;IACNjB,iBAAiB;IACjBG,gBAAgB;IAChBC,aAAa;IACbC,aAAa;IACbE,kBAAkB;IAClBW,eAAe,EAAEnB,YAAY,CAAC,CAAC,CAAC;IAChCa,UAAU;IACVE,eAAe;IACff,YAAY;IACZgB;EACD,CAAC;AACF","ignoreList":[]}
@@ -1,19 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { createScreenPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
4
3
  /**
5
4
  * Builds nested navigator ancestor keys from immediate parent to root.
6
- * The nearest ancestor destination pair lets child routes attach measurements
7
- * to the transition owned by the parent stack.
8
5
  */
9
- export function getAncestorKeyState(current) {
6
+ export function getAncestorKeys(current) {
10
7
  const ancestors = [];
11
- let ancestorDestinationPairKey;
12
8
  const nav = current.navigation;
13
9
  if (typeof nav?.getParent !== "function") {
14
- return {
15
- ancestorKeys: ancestors
16
- };
10
+ return ancestors;
17
11
  }
18
12
  let parent = nav.getParent();
19
13
  while (parent) {
@@ -22,20 +16,10 @@ export function getAncestorKeyState(current) {
22
16
  const focusedRoute = state.routes[state.index];
23
17
  if (focusedRoute?.key) {
24
18
  ancestors.push(focusedRoute.key);
25
- const previousRoute = state.routes[state.index - 1];
26
- if (!ancestorDestinationPairKey && previousRoute?.key) {
27
- ancestorDestinationPairKey = createScreenPairKey(previousRoute.key, focusedRoute.key);
28
- }
29
19
  }
30
20
  }
31
21
  parent = parent.getParent();
32
22
  }
33
- return {
34
- ancestorKeys: ancestors,
35
- ancestorDestinationPairKey
36
- };
37
- }
38
- export function getAncestorKeys(current) {
39
- return getAncestorKeyState(current).ancestorKeys;
23
+ return ancestors;
40
24
  }
41
25
  //# sourceMappingURL=get-ancestor-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createScreenPairKey","getAncestorKeyState","current","ancestors","ancestorDestinationPairKey","nav","navigation","getParent","ancestorKeys","parent","state","getState","routes","index","undefined","focusedRoute","key","push","previousRoute","getAncestorKeys"],"sourceRoot":"../../../../../../src","sources":["providers/screen/descriptors/helpers/get-ancestor-keys.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,sDAAsD;AAS1F;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAClCC,OAA4B,EACT;EACnB,MAAMC,SAAmB,GAAG,EAAE;EAC9B,IAAIC,0BAAqD;EACzD,MAAMC,GAAG,GAAGH,OAAO,CAACI,UAAiB;EAErC,IAAI,OAAOD,GAAG,EAAEE,SAAS,KAAK,UAAU,EAAE;IACzC,OAAO;MAAEC,YAAY,EAAEL;IAAU,CAAC;EACnC;EAEA,IAAIM,MAAM,GAAGJ,GAAG,CAACE,SAAS,CAAC,CAAC;EAE5B,OAAOE,MAAM,EAAE;IACd,MAAMC,KAAK,GAAGD,MAAM,CAACE,QAAQ,CAAC,CAAC;IAC/B,IAAID,KAAK,EAAEE,MAAM,IAAIF,KAAK,CAACG,KAAK,KAAKC,SAAS,EAAE;MAC/C,MAAMC,YAAY,GAAGL,KAAK,CAACE,MAAM,CAACF,KAAK,CAACG,KAAK,CAAC;MAC9C,IAAIE,YAAY,EAAEC,GAAG,EAAE;QACtBb,SAAS,CAACc,IAAI,CAACF,YAAY,CAACC,GAAG,CAAC;QAEhC,MAAME,aAAa,GAAGR,KAAK,CAACE,MAAM,CAACF,KAAK,CAACG,KAAK,GAAG,CAAC,CAAC;QACnD,IAAI,CAACT,0BAA0B,IAAIc,aAAa,EAAEF,GAAG,EAAE;UACtDZ,0BAA0B,GAAGJ,mBAAmB,CAC/CkB,aAAa,CAACF,GAAG,EACjBD,YAAY,CAACC,GACd,CAAC;QACF;MACD;IACD;IACAP,MAAM,GAAGA,MAAM,CAACF,SAAS,CAAC,CAAC;EAC5B;EAEA,OAAO;IACNC,YAAY,EAAEL,SAAS;IACvBC;EACD,CAAC;AACF;AAEA,OAAO,SAASe,eAAeA,CAACjB,OAA4B,EAAY;EACvE,OAAOD,mBAAmB,CAACC,OAAO,CAAC,CAACM,YAAY;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["getAncestorKeys","current","ancestors","nav","navigation","getParent","parent","state","getState","routes","index","undefined","focusedRoute","key","push"],"sourceRoot":"../../../../../../src","sources":["providers/screen/descriptors/helpers/get-ancestor-keys.ts"],"mappings":";;AAEA;AACA;AACA;AACA,OAAO,SAASA,eAAeA,CAACC,OAA4B,EAAY;EACvE,MAAMC,SAAmB,GAAG,EAAE;EAC9B,MAAMC,GAAG,GAAGF,OAAO,CAACG,UAAiB;EAErC,IAAI,OAAOD,GAAG,EAAEE,SAAS,KAAK,UAAU,EAAE;IACzC,OAAOH,SAAS;EACjB;EAEA,IAAII,MAAM,GAAGH,GAAG,CAACE,SAAS,CAAC,CAAC;EAE5B,OAAOC,MAAM,EAAE;IACd,MAAMC,KAAK,GAAGD,MAAM,CAACE,QAAQ,CAAC,CAAC;IAC/B,IAAID,KAAK,EAAEE,MAAM,IAAIF,KAAK,CAACG,KAAK,KAAKC,SAAS,EAAE;MAC/C,MAAMC,YAAY,GAAGL,KAAK,CAACE,MAAM,CAACF,KAAK,CAACG,KAAK,CAAC;MAC9C,IAAIE,YAAY,EAAEC,GAAG,EAAE;QACtBX,SAAS,CAACY,IAAI,CAACF,YAAY,CAACC,GAAG,CAAC;MACjC;IACD;IACAP,MAAM,GAAGA,MAAM,CAACD,SAAS,CAAC,CAAC;EAC5B;EAEA,OAAOH,SAAS;AACjB","ignoreList":[]}
@@ -54,6 +54,22 @@ function getEntry(tag, key) {
54
54
 
55
55
  return boundaryRegistry.get()[tag]?.screens[key] ?? null;
56
56
  }
57
+ function getMatchingSourceScreenKey(tag, destinationScreenKey, preferredScreenKey) {
58
+ "worklet";
59
+
60
+ const screens = boundaryRegistry.get()[tag]?.screens;
61
+ if (!screens) return null;
62
+ if (preferredScreenKey && preferredScreenKey !== destinationScreenKey && screens[preferredScreenKey]) {
63
+ return preferredScreenKey;
64
+ }
65
+ let latestScreenKey = null;
66
+ for (const screenKey in screens) {
67
+ if (screenKey !== destinationScreenKey) {
68
+ latestScreenKey = screenKey;
69
+ }
70
+ }
71
+ return latestScreenKey;
72
+ }
57
73
  function setEntry(tag, screenKey, patch) {
58
74
  "worklet";
59
75
 
@@ -82,5 +98,5 @@ function removeEntry(tag, screenKey) {
82
98
  return state;
83
99
  });
84
100
  }
85
- export { getEntry, removeEntry, setEntry };
101
+ export { getEntry, getMatchingSourceScreenKey, removeEntry, setEntry };
86
102
  //# sourceMappingURL=entries.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["hasAnyKeys","boundaryRegistry","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","handoff","escapeClipping","getEntry","key","get","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/entries.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["hasAnyKeys","boundaryRegistry","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","handoff","escapeClipping","getEntry","key","get","getMatchingSourceScreenKey","destinationScreenKey","preferredScreenKey","latestScreenKey","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/entries.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAE5C,SAAoCC,gBAAgB,QAAQ,SAAS;AAErE,MAAMC,mBAAmB,GAAGA,CAACC,KAA2B,EAAEC,GAAU,KAAK;EACxE,SAAS;;EACT,IAAI,CAACD,KAAK,CAACC,GAAG,CAAC,EAAE;IAChBD,KAAK,CAACC,GAAG,CAAC,GAAG;MACZC,OAAO,EAAE,CAAC;IACX,CAAC;EACF;EACA,OAAOF,KAAK,CAACC,GAAG,CAAC;AAClB,CAAC;AAED,MAAME,iBAAiB,GAAGA,CACzBH,KAA2B,EAC3BC,GAAU,EACVG,SAAoB,KACT;EACX,SAAS;;EACT,MAAMC,QAAQ,GAAGN,mBAAmB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAChD,IAAI,CAACI,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC,EAAE;IACjCC,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC,GAAG;MAC7BE,MAAM,EAAE,IAAI;MACZC,MAAM,EAAE,CAAC;IACV,CAAC;EACF;EACA,OAAOF,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC;AACnC,CAAC;AAED,MAAMI,eAAe,GAAGA,CAACC,KAAY,EAAEC,KAAiB,KAAK;EAC5D,SAAS;;EACT,IAAIA,KAAK,CAACJ,MAAM,KAAKK,SAAS,EAAE;IAC/BF,KAAK,CAACH,MAAM,GAAGI,KAAK,CAACJ,MAAM;EAC5B;EAEA,IAAII,KAAK,CAACH,MAAM,KAAKI,SAAS,EAAE;IAC/BF,KAAK,CAACF,MAAM,GAAGG,KAAK,CAACH,MAAM,IAAI,CAAC,CAAC;EAClC;EAEA,IAAIG,KAAK,CAACE,cAAc,KAAK,IAAI,EAAE;IAClC,OAAOH,KAAK,CAACG,cAAc;EAC5B,CAAC,MAAM,IAAIF,KAAK,CAACE,cAAc,KAAKD,SAAS,EAAE;IAC9CF,KAAK,CAACG,cAAc,GAAGF,KAAK,CAACE,cAAc;EAC5C;EAEA,IAAIF,KAAK,CAACG,OAAO,KAAK,IAAI,EAAE;IAC3B,OAAOJ,KAAK,CAACI,OAAO;EACrB,CAAC,MAAM,IAAIH,KAAK,CAACG,OAAO,KAAKF,SAAS,EAAE;IACvCF,KAAK,CAACI,OAAO,GAAGH,KAAK,CAACG,OAAO;EAC9B;EAEA,IAAIH,KAAK,CAACI,cAAc,KAAK,IAAI,EAAE;IAClC,OAAOL,KAAK,CAACK,cAAc;EAC5B,CAAC,MAAM,IAAIJ,KAAK,CAACI,cAAc,KAAKH,SAAS,EAAE;IAC9CF,KAAK,CAACK,cAAc,GAAGJ,KAAK,CAACI,cAAc;EAC5C;AACD,CAAC;AAED,SAASC,QAAQA,CAACd,GAAU,EAAEe,GAAc,EAAgB;EAC3D,SAAS;;EACT,OAAOlB,gBAAgB,CAACmB,GAAG,CAAC,CAAC,CAAChB,GAAG,CAAC,EAAEC,OAAO,CAACc,GAAG,CAAC,IAAI,IAAI;AACzD;AAEA,SAASE,0BAA0BA,CAClCjB,GAAU,EACVkB,oBAA+B,EAC/BC,kBAA8B,EACX;EACnB,SAAS;;EACT,MAAMlB,OAAO,GAAGJ,gBAAgB,CAACmB,GAAG,CAAC,CAAC,CAAChB,GAAG,CAAC,EAAEC,OAAO;EACpD,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;EACzB,IACCkB,kBAAkB,IAClBA,kBAAkB,KAAKD,oBAAoB,IAC3CjB,OAAO,CAACkB,kBAAkB,CAAC,EAC1B;IACD,OAAOA,kBAAkB;EAC1B;EAEA,IAAIC,eAAiC,GAAG,IAAI;EAC5C,KAAK,MAAMjB,SAAS,IAAIF,OAAO,EAAE;IAChC,IAAIE,SAAS,KAAKe,oBAAoB,EAAE;MACvCE,eAAe,GAAGjB,SAAS;IAC5B;EACD;EAEA,OAAOiB,eAAe;AACvB;AAEA,SAASC,QAAQA,CAACrB,GAAU,EAAEG,SAAoB,EAAEM,KAAiB,EAAE;EACtE,SAAS;;EACTZ,gBAAgB,CAACyB,MAAM,CAAkCvB,KAAQ,IAAQ;IACxE,SAAS;;IACT,MAAMS,KAAK,GAAGN,iBAAiB,CAACH,KAAK,EAAEC,GAAG,EAAEG,SAAS,CAAC;IACtDI,eAAe,CAACC,KAAK,EAAEC,KAAK,CAAC;IAC7B,OAAOV,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASwB,WAAWA,CAACvB,GAAU,EAAEG,SAAoB,EAAE;EACtD,SAAS;;EACTN,gBAAgB,CAACyB,MAAM,CAAkCvB,KAAQ,IAAQ;IACxE,SAAS;;IACT,MAAMK,QAAQ,GAAGL,KAAK,CAACC,GAAG,CAAC;IAC3B,IAAI,CAACI,QAAQ,EAAEH,OAAO,CAACE,SAAS,CAAC,EAAE;MAClC,OAAOJ,KAAK;IACb;IAEA,OAAOK,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC;IAClC,IAAI,CAACP,UAAU,CAACQ,QAAQ,CAACH,OAAO,CAAC,EAAE;MAClC,OAAOF,KAAK,CAACC,GAAG,CAAC;IAClB;IAEA,OAAOD,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASe,QAAQ,EAAEG,0BAA0B,EAAEM,WAAW,EAAEF,QAAQ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource } from "../helpers/link-pairs.helpers";
3
+ import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getDestinationScreenKeyFromPairKey, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource, getSourceScreenKeyFromPairKey } from "../helpers/link-pairs.helpers";
4
4
  import { pairs } from "./state";
5
5
  const syncLinkStatus = link => {
6
6
  "worklet";
@@ -271,6 +271,29 @@ function getResolvedLink(pairKey, tag) {
271
271
  link
272
272
  };
273
273
  }
274
+ function getPairKeyForSource(tag, screenKey) {
275
+ "worklet";
276
+
277
+ const state = pairs.get();
278
+ const linkKey = getLinkKeyFromTag(tag);
279
+ for (const pairKey in state) {
280
+ if (getSourceScreenKeyFromPairKey(pairKey) !== screenKey) continue;
281
+ if (getResolvedLink(pairKey, tag).link?.destination || state[pairKey]?.sourceRequests?.[linkKey]) {
282
+ return pairKey;
283
+ }
284
+ }
285
+ return null;
286
+ }
287
+ function getPairKeyForDestination(tag, screenKey) {
288
+ "worklet";
289
+
290
+ const state = pairs.get();
291
+ for (const pairKey in state) {
292
+ if (getDestinationScreenKeyFromPairKey(pairKey) !== screenKey) continue;
293
+ if (getResolvedLink(pairKey, tag).link) return pairKey;
294
+ }
295
+ return null;
296
+ }
274
297
  function getSource(pairKey, tag) {
275
298
  "worklet";
276
299
 
@@ -281,5 +304,5 @@ function getDestination(pairKey, tag) {
281
304
 
282
305
  return getPairDestination(pairs.get(), pairKey, getLinkKeyFromTag(tag));
283
306
  }
284
- export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource };
307
+ export { getActiveGroupId, getDestination, getLink, getPairKeyForDestination, getPairKeyForSource, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource };
285
308
  //# sourceMappingURL=links.js.map