react-native-screen-transitions 4.0.0-alpha.3 → 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 (138) hide show
  1. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +27 -15
  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/portal/components/boundary-portal/components/portal-boundary-host.js +4 -15
  10. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  11. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +22 -24
  12. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  13. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -36
  14. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  15. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +1 -1
  16. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  17. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  18. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  19. package/lib/commonjs/components/boundary/utils/destination-signals.js +8 -4
  20. package/lib/commonjs/components/boundary/utils/destination-signals.js.map +1 -1
  21. package/lib/commonjs/components/boundary/utils/refresh-signals.js +2 -4
  22. package/lib/commonjs/components/boundary/utils/refresh-signals.js.map +1 -1
  23. package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js +3 -7
  24. package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  25. package/lib/commonjs/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -3
  26. package/lib/commonjs/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  27. package/lib/commonjs/providers/screen/descriptors/helpers/get-ancestor-keys.js +3 -20
  28. package/lib/commonjs/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -1
  29. package/lib/commonjs/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +15 -14
  30. package/lib/commonjs/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -1
  31. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +17 -17
  32. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  33. package/lib/commonjs/stores/bounds/internals/entries.js +27 -0
  34. package/lib/commonjs/stores/bounds/internals/entries.js.map +1 -1
  35. package/lib/commonjs/stores/bounds/internals/links.js +25 -0
  36. package/lib/commonjs/stores/bounds/internals/links.js.map +1 -1
  37. package/lib/commonjs/stores/bounds/internals/resolver.js +2 -12
  38. package/lib/commonjs/stores/bounds/internals/resolver.js.map +1 -1
  39. package/lib/commonjs/utils/bounds/helpers/create-link-accessor.js +2 -2
  40. package/lib/commonjs/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  41. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +30 -18
  42. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  43. package/lib/module/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +3 -1
  44. package/lib/module/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -1
  45. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js +3 -5
  46. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  47. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +5 -4
  48. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  49. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +4 -15
  50. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  51. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +22 -24
  52. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  53. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -36
  54. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  55. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +2 -2
  56. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  57. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  58. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  59. package/lib/module/components/boundary/utils/destination-signals.js +8 -4
  60. package/lib/module/components/boundary/utils/destination-signals.js.map +1 -1
  61. package/lib/module/components/boundary/utils/refresh-signals.js +2 -4
  62. package/lib/module/components/boundary/utils/refresh-signals.js.map +1 -1
  63. package/lib/module/providers/screen/descriptors/descriptors.provider.js +4 -8
  64. package/lib/module/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  65. package/lib/module/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -3
  66. package/lib/module/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  67. package/lib/module/providers/screen/descriptors/helpers/get-ancestor-keys.js +3 -19
  68. package/lib/module/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -1
  69. package/lib/module/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +15 -14
  70. package/lib/module/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -1
  71. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +17 -17
  72. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  73. package/lib/module/stores/bounds/internals/entries.js +27 -1
  74. package/lib/module/stores/bounds/internals/entries.js.map +1 -1
  75. package/lib/module/stores/bounds/internals/links.js +25 -2
  76. package/lib/module/stores/bounds/internals/links.js.map +1 -1
  77. package/lib/module/stores/bounds/internals/resolver.js +3 -13
  78. package/lib/module/stores/bounds/internals/resolver.js.map +1 -1
  79. package/lib/module/utils/bounds/helpers/create-link-accessor.js +3 -3
  80. package/lib/module/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  81. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  82. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -1
  83. package/lib/typescript/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  84. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  85. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  86. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +1 -5
  87. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
  88. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  89. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
  90. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +0 -2
  91. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  92. package/lib/typescript/components/boundary/utils/destination-signals.d.ts +2 -3
  93. package/lib/typescript/components/boundary/utils/destination-signals.d.ts.map +1 -1
  94. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts +0 -2
  95. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  96. package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  97. package/lib/typescript/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -3
  98. package/lib/typescript/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
  99. package/lib/typescript/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +0 -8
  100. package/lib/typescript/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +1 -1
  101. package/lib/typescript/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts +1 -3
  102. package/lib/typescript/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts.map +1 -1
  103. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -4
  104. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  105. package/lib/typescript/stores/bounds/internals/entries.d.ts +2 -1
  106. package/lib/typescript/stores/bounds/internals/entries.d.ts.map +1 -1
  107. package/lib/typescript/stores/bounds/internals/links.d.ts +3 -1
  108. package/lib/typescript/stores/bounds/internals/links.d.ts.map +1 -1
  109. package/lib/typescript/stores/bounds/internals/resolver.d.ts.map +1 -1
  110. package/lib/typescript/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
  111. package/package.json +1 -1
  112. package/src/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +67 -24
  113. package/src/components/boundary/hooks/lifecycles/use-initial-source-measurement.ts +6 -1
  114. package/src/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +8 -9
  115. package/src/components/boundary/hooks/use-boundary-measurement.ts +5 -4
  116. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +4 -20
  117. package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +27 -37
  118. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +10 -57
  119. package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +1 -8
  120. package/src/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +0 -3
  121. package/src/components/boundary/utils/destination-signals.ts +8 -8
  122. package/src/components/boundary/utils/refresh-signals.ts +2 -10
  123. package/src/providers/screen/descriptors/descriptors.provider.tsx +4 -11
  124. package/src/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -4
  125. package/src/providers/screen/descriptors/helpers/get-ancestor-keys.ts +3 -30
  126. package/src/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts +16 -16
  127. package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +21 -24
  128. package/src/stores/bounds/internals/entries.ts +38 -1
  129. package/src/stores/bounds/internals/links.ts +36 -0
  130. package/src/stores/bounds/internals/resolver.ts +7 -21
  131. package/src/utils/bounds/helpers/create-link-accessor.ts +9 -3
  132. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js +0 -18
  133. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +0 -1
  134. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js +0 -13
  135. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +0 -1
  136. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts +0 -3
  137. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts.map +0 -1
  138. package/src/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"names":["_linkPairs","require","_state","syncLinkStatus","link","status","source","destination","isSharedValueLike","value","_isReanimatedSharedValue","snapshotSharedValue","snapshotTransformArrayValue","snapshot","index","length","snapshotValue","snapshotTransformEntryValue","undefined","push","Array","isArray","snapshotTransformItem","hasValue","key","snapshotTransform","snapshotStyles","styles","transform","createLinkSide","screenKey","bounds","runtimeFlags","handoff","escapeClipping","writePairLink","state","pairKey","linkKey","ensurePairLinks","writeGroup","group","activeId","initialId","previousInitialId","groups","ensurePairGroups","writeDestination","existingLink","getPairLink","initialDestination","setSource","tag","pairs","modify","getLinkKeyFromTag","pairLinks","initialSource","sourceRequests","setDestination","setActiveGroupId","requestSourceMeasure","ensurePairSourceRequests","getActiveGroupId","getPairActiveGroupId","get","getLink","hasSourceLink","getResolvedLink","getGroupKeyFromTag","initialLink","createGroupTag","getSource","getPairSource","getDestination","getPairDestination"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/links.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_linkPairs","require","_state","syncLinkStatus","link","status","source","destination","isSharedValueLike","value","_isReanimatedSharedValue","snapshotSharedValue","snapshotTransformArrayValue","snapshot","index","length","snapshotValue","snapshotTransformEntryValue","undefined","push","Array","isArray","snapshotTransformItem","hasValue","key","snapshotTransform","snapshotStyles","styles","transform","createLinkSide","screenKey","bounds","runtimeFlags","handoff","escapeClipping","writePairLink","state","pairKey","linkKey","ensurePairLinks","writeGroup","group","activeId","initialId","previousInitialId","groups","ensurePairGroups","writeDestination","existingLink","getPairLink","initialDestination","setSource","tag","pairs","modify","getLinkKeyFromTag","pairLinks","initialSource","sourceRequests","setDestination","setActiveGroupId","requestSourceMeasure","ensurePairSourceRequests","getActiveGroupId","getPairActiveGroupId","get","getLink","hasSourceLink","getResolvedLink","getGroupKeyFromTag","initialLink","createGroupTag","getPairKeyForSource","getSourceScreenKeyFromPairKey","getPairKeyForDestination","getDestinationScreenKeyFromPairKey","getSource","getPairSource","getDestination","getPairDestination"],"sourceRoot":"../../../../../src","sources":["stores/bounds/internals/links.ts"],"mappings":"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","ignoreList":[]}
@@ -4,22 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.resolveTransitionPair = resolveTransitionPair;
7
- var _linkPairs = require("../helpers/link-pairs.helpers");
8
7
  var _links = require("./links");
9
- function resolvePairKey(context) {
10
- "worklet";
11
-
12
- if (context.entering) {
13
- if (!context.previousScreenKey || !context.currentScreenKey) return null;
14
- return (0, _linkPairs.createScreenPairKey)(context.previousScreenKey, context.currentScreenKey);
15
- }
16
- if (!context.currentScreenKey || !context.nextScreenKey) return null;
17
- return (0, _linkPairs.createScreenPairKey)(context.currentScreenKey, context.nextScreenKey);
18
- }
19
8
  function resolveTransitionPair(tag, context) {
20
9
  "worklet";
21
10
 
22
- const pairKey = resolvePairKey(context);
11
+ const destinationScreenKey = context.entering ? context.currentScreenKey : context.nextScreenKey;
12
+ const pairKey = destinationScreenKey ? (0, _links.getPairKeyForDestination)(tag, destinationScreenKey) : null;
23
13
  const matchedLink = pairKey ? (0, _links.getResolvedLink)(pairKey, tag).link : null;
24
14
  return {
25
15
  sourceBounds: matchedLink?.source?.bounds ?? null,
@@ -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":[]}
@@ -1,12 +1,13 @@
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
- import { getSourceScreenKeyFromPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
9
- import { getEntry } from "../../../../stores/bounds/internals/entries";
9
+ import { createScreenPairKey, getSourceScreenKeyFromPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
10
+ import { getEntry, getMatchingSourceScreenKey } from "../../../../stores/bounds/internals/entries";
10
11
  import { getLink } from "../../../../stores/bounds/internals/links";
11
12
  import { pairs } from "../../../../stores/bounds/internals/state";
12
13
  import { SystemStore } from "../../../../stores/system.store";
@@ -36,9 +37,13 @@ export const useInitialDestinationMeasurement = ({
36
37
  const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
37
38
  const nextScreenKey = useDescriptorsStore(s => s.derivations.nextScreenKey);
38
39
  const destinationPairKey = useDescriptorsStore(s => s.derivations.destinationPairKey);
39
- const ancestorDestinationPairKey = useDescriptorsStore(s => s.derivations.ancestorDestinationPairKey);
40
40
  const destinationEnabled = enabled && !nextScreenKey;
41
- const initialDestinationPairKey = destinationPairKey ?? ancestorDestinationPairKey;
41
+ const canReceiveDestination = destinationEnabled && !!destinationPairKey;
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,12 +63,17 @@ 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
 
73
+ if (!canReceiveDestination || hasFinishedInitialMeasurement.get() || !getMatchingSourceScreenKey(tag, currentScreenKey)) {
74
+ return;
75
+ }
76
+
66
77
  // The progress check and block claim must share one UI-thread operation.
67
78
  // Otherwise a JS-thread layout effect can observe zero, enqueue the block,
68
79
  // and let the opening animation start before that block reaches the UI thread.
@@ -71,9 +82,9 @@ export const useInitialDestinationMeasurement = ({
71
82
  }
72
83
  blockLifecycleStart();
73
84
  isBlockingLifecycleStart.set(1);
74
- }, [blockLifecycleStart, isBlockingLifecycleStart, progress]);
85
+ }, [blockLifecycleStart, canReceiveDestination, currentScreenKey, hasFinishedInitialMeasurement, isBlockingLifecycleStart, progress, tag]);
75
86
  useLayoutEffect(() => {
76
- if (!destinationEnabled || !initialDestinationPairKey) {
87
+ if (!canReceiveDestination) {
77
88
  return;
78
89
  }
79
90
  scheduleOnUI(claimLifecycleStartBlock);
@@ -87,37 +98,37 @@ export const useInitialDestinationMeasurement = ({
87
98
  // runtime so it serializes with the handshake's guarded release.
88
99
  scheduleOnUI(releaseLifecycleStartBlock);
89
100
  };
90
- }, [claimLifecycleStartBlock, destinationEnabled, escapeClipping, initialDestinationPairKey, releaseLifecycleStartBlock]);
101
+ }, [claimLifecycleStartBlock, escapeClipping, canReceiveDestination, releaseLifecycleStartBlock]);
91
102
  useAnimatedReaction(() => {
92
103
  "worklet";
93
104
 
94
- if (!destinationEnabled || !initialDestinationPairKey || isBlockingLifecycleStart.get() <= 0) {
105
+ if (!canReceiveDestination || hasFinishedInitialMeasurement.get() || isBlockingLifecycleStart.get() <= 0) {
95
106
  return null;
96
107
  }
97
108
  if (progress.get() > 0) {
98
109
  return null;
99
110
  }
100
111
  const retryTick = retryToken.get();
101
- const sourceScreenKey = getSourceScreenKeyFromPairKey(initialDestinationPairKey);
112
+ const sourceScreenKey = getMatchingSourceScreenKey(tag, currentScreenKey, preferredSourceScreenKey, closingSourceScreenKeys);
113
+ const pairKey = sourceScreenKey ? createScreenPairKey(sourceScreenKey, currentScreenKey) : undefined;
102
114
  const signal = getInitialDestinationMeasurementSignal({
103
115
  enabled: destinationEnabled,
104
- destinationPairKey,
105
- ancestorDestinationPairKey,
116
+ pairKey,
106
117
  linkId: linkKey,
107
118
  group,
108
119
  destinationPresent: getEntry(tag, currentScreenKey) !== null,
109
- sourcePresent: getEntry(tag, sourceScreenKey) !== null,
120
+ sourcePresent: sourceScreenKey !== null,
110
121
  linkState: pairs.get()
111
122
  });
112
123
  return [signal?.pairKey ?? null, signal?.action ?? null, retryTick];
113
124
  }, (next, previous) => {
114
125
  "worklet";
115
126
 
116
- if (!next) {
127
+ if (!next || hasFinishedInitialMeasurement.get()) {
117
128
  return;
118
129
  }
119
130
  const [measurePairKey, action, retryTick] = next;
120
- if (!measurePairKey || !action) {
131
+ if (!action) {
121
132
  return;
122
133
  }
123
134
  const previousMeasurePairKey = previous?.[0];
@@ -135,17 +146,18 @@ export const useInitialDestinationMeasurement = ({
135
146
  handshakeRetries.set(0);
136
147
  return;
137
148
  }
138
- if (action === "measure") {
149
+ if (action === "measure" && measurePairKey) {
139
150
  measureBoundary({
140
151
  type: "destination",
141
152
  pairKey: measurePairKey
142
153
  });
143
154
  }
144
- const link = getLink(measurePairKey, linkKey);
155
+ const link = measurePairKey ? getLink(measurePairKey, linkKey) : null;
145
156
  const linkComplete = !!link?.source && !!link.destination;
146
157
  if (linkComplete || action === "complete") {
147
158
  cancelAnimation(retryToken);
148
159
  handshakeRetries.set(0);
160
+ hasFinishedInitialMeasurement.set(1);
149
161
  if (escapeClipping) {
150
162
  // Screen-level escape has a second readiness phase after destination
151
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","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","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":";;AAAA,SAASA,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,OAAO;AAC7D,SACCC,eAAe,EACfC,mBAAmB,EACnBC,cAAc,EACdC,SAAS,EACTC,UAAU,QACJ,yBAAyB;AAChC,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,QAAQ,QAAQ,wCAAwC;AACjE,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SACCC,mBAAmB,EACnBC,6BAA6B,QACvB,sDAAsD;AAC7D,SACCC,QAAQ,EACRC,0BAA0B,QACpB,6CAA6C;AACpD,SAASC,OAAO,QAAQ,2CAA2C;AACnE,SAASC,KAAK,QAAQ,2CAA2C;AAEjE,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,MAAM,QAAQ,0BAA0B;AAEjD,SAASC,sCAAsC,QAAQ,iCAAiC;;AAExF;AACA;AACA,MAAMC,wBAAwB,GAAG,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,GAAG,EAAE;AAShC,OAAO,MAAMC,gCAAgC,GAAGA,CAAC;EAChDC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC;AACuC,CAAC,KAAK;EAC7C,MAAM;IAAEC,GAAG;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGN,QAAQ;EACxC,MAAMO,gBAAgB,GAAGrB,mBAAmB,CAC1CsB,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGxB,mBAAmB,CAAEsB,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E,MAAMC,kBAAkB,GAAGzB,mBAAmB,CAC5CsB,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACE,kBACtB,CAAC;EACD,MAAMC,kBAAkB,GAAGX,OAAO,IAAI,CAACS,aAAa;EACpD,MAAMG,qBAAqB,GAAGD,kBAAkB,IAAI,CAAC,CAACD,kBAAkB;EACxE,MAAMG,wBAAwB,GAAGH,kBAAkB,GAChDtB,6BAA6B,CAACsB,kBAAkB,CAAC,GACjDI,SAAS;EACZ,MAAMC,WAAW,GAAG/B,QAAQ,CAAEgC,KAAK,IAAKA,KAAK,CAACC,MAAM,CAAC;EACrD;EACA;EACA,MAAMC,uBAAuB,GAAGzC,OAAO,CACtC,MACCsC,WAAW,CACTI,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACC,QAAQ,KAAK,SAAS,CAAC,CAC/CC,GAAG,CAAEF,KAAK,IAAKA,KAAK,CAACG,KAAK,CAACC,GAAG,CAAC,EAClC,CAACT,WAAW,CACb,CAAC;EACD,MAAMU,QAAQ,GAAGvC,cAAc,CAACwC,QAAQ,CACvCpB,gBAAgB,EAChB,oBACD,CAAC;EAED,MAAM;IACLqB,OAAO,EAAE;MAAEC,mBAAmB;MAAEC;IAAsB;EACvD,CAAC,GAAGpC,WAAW,CAACqC,MAAM,CAACxB,gBAAgB,CAAC;EAExC,MAAMyB,wBAAwB,GAAGnD,cAAc,CAAC,CAAC,CAAC;EAClD,MAAMoD,UAAU,GAAGpD,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMqD,gBAAgB,GAAGrD,cAAc,CAAC,CAAC,CAAC;EAC1C,MAAMsD,UAAU,GAAGtD,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMuD,6BAA6B,GAAGvD,cAAc,CAAC,CAAC,CAAC;EAEvD,MAAMwD,0BAA0B,GAAG7D,WAAW,CAAC,MAAM;IACpD,SAAS;;IACTG,eAAe,CAACsD,UAAU,CAAC;IAE3B,IAAI,CAACD,wBAAwB,CAACM,GAAG,CAAC,CAAC,EAAE;MACpC;IACD;IAEAF,6BAA6B,CAACG,GAAG,CAAC,CAAC,CAAC;IACpCP,wBAAwB,CAACO,GAAG,CAAC,CAAC,CAAC;IAC/BT,qBAAqB,CAAC,CAAC;EACxB,CAAC,EAAE,CACFM,6BAA6B,EAC7BJ,wBAAwB,EACxBC,UAAU,EACVH,qBAAqB,CACrB,CAAC;EAEF,MAAMU,wBAAwB,GAAGhE,WAAW,CAAC,MAAM;IAClD,SAAS;;IACT,IACC,CAACqC,qBAAqB,IACtBuB,6BAA6B,CAACE,GAAG,CAAC,CAAC,IACnC,CAAC/C,0BAA0B,CAACa,GAAG,EAAEG,gBAAgB,CAAC,EACjD;MACD;IACD;;IAEA;IACA;IACA;IACA,IAAImB,QAAQ,CAACY,GAAG,CAAC,CAAC,GAAG,CAAC,IAAIN,wBAAwB,CAACM,GAAG,CAAC,CAAC,EAAE;MACzD;IACD;IAEAT,mBAAmB,CAAC,CAAC;IACrBG,wBAAwB,CAACO,GAAG,CAAC,CAAC,CAAC;EAChC,CAAC,EAAE,CACFV,mBAAmB,EACnBhB,qBAAqB,EACrBN,gBAAgB,EAChB6B,6BAA6B,EAC7BJ,wBAAwB,EACxBN,QAAQ,EACRtB,GAAG,CACH,CAAC;EAEF3B,eAAe,CAAC,MAAM;IACrB,IAAI,CAACoC,qBAAqB,EAAE;MAC3B;IACD;IAEA7B,YAAY,CAACwD,wBAAwB,CAAC;IAEtC,OAAO,MAAM;MACZ,IAAItC,cAAc,EAAE;QACnB;QACA;MACD;;MAEA;MACA;MACAlB,YAAY,CAACqD,0BAA0B,CAAC;IACzC,CAAC;EACF,CAAC,EAAE,CACFG,wBAAwB,EACxBtC,cAAc,EACdW,qBAAqB,EACrBwB,0BAA0B,CAC1B,CAAC;EAEFzD,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,IACC,CAACiC,qBAAqB,IACtBuB,6BAA6B,CAACE,GAAG,CAAC,CAAC,IACnCN,wBAAwB,CAACM,GAAG,CAAC,CAAC,IAAI,CAAC,EAClC;MACD,OAAO,IAAI;IACZ;IAEA,IAAIZ,QAAQ,CAACY,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;MACvB,OAAO,IAAI;IACZ;IAEA,MAAMG,SAAS,GAAGR,UAAU,CAACK,GAAG,CAAC,CAAC;IAClC,MAAMI,eAAe,GAAGnD,0BAA0B,CACjDa,GAAG,EACHG,gBAAgB,EAChBO,wBAAwB,EACxBK,uBACD,CAAC;IACD,MAAMwB,OAAO,GAAGD,eAAe,GAC5BtD,mBAAmB,CAACsD,eAAe,EAAEnC,gBAAgB,CAAC,GACtDQ,SAAS;IACZ,MAAM6B,MAAM,GAAGhD,sCAAsC,CAAC;MACrDK,OAAO,EAAEW,kBAAkB;MAC3B+B,OAAO;MACPE,MAAM,EAAExC,OAAO;MACfC,KAAK;MACLwC,kBAAkB,EAAExD,QAAQ,CAACc,GAAG,EAAEG,gBAAgB,CAAC,KAAK,IAAI;MAC5DwC,aAAa,EAAEL,eAAe,KAAK,IAAI;MACvCM,SAAS,EAAEvD,KAAK,CAAC6C,GAAG,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACNM,MAAM,EAAED,OAAO,IAAI,IAAI,EACvBC,MAAM,EAAEK,MAAM,IAAI,IAAI,EACtBR,SAAS,CACT;EACF,CAAC,EACD,CAACS,IAAI,EAAEC,QAAQ,KAAK;IACnB,SAAS;;IACT,IAAI,CAACD,IAAI,IAAId,6BAA6B,CAACE,GAAG,CAAC,CAAC,EAAE;MACjD;IACD;IAEA,MAAM,CAACc,cAAc,EAAEH,MAAM,EAAER,SAAS,CAAC,GAAGS,IAAI;IAChD,IAAI,CAACD,MAAM,EAAE;MACZ;IACD;IAEA,MAAMI,sBAAsB,GAAGF,QAAQ,GAAG,CAAC,CAAC;IAC5C,MAAMG,cAAc,GAAGH,QAAQ,GAAG,CAAC,CAAC;IACpC,MAAMI,iBAAiB,GAAGJ,QAAQ,GAAG,CAAC,CAAC;IACvC,MAAMK,kBAAkB,GACvBJ,cAAc,KAAKC,sBAAsB,IACzCJ,MAAM,KAAKK,cAAc,IACzBb,SAAS,KAAKc,iBAAiB;IAEhC,IAAI,CAACC,kBAAkB,EAAE;MACxB;IACD;IAEA,IAAIrB,UAAU,CAACG,GAAG,CAAC,CAAC,EAAE;MACrB;IACD;IAEA,IAAIW,MAAM,KAAK,SAAS,EAAE;MACzBZ,0BAA0B,CAAC,CAAC;MAC5BH,gBAAgB,CAACK,GAAG,CAAC,CAAC,CAAC;MACvB;IACD;IAEA,IAAIU,MAAM,KAAK,SAAS,IAAIG,cAAc,EAAE;MAC3CjD,eAAe,CAAC;QACfsD,IAAI,EAAE,aAAa;QACnBd,OAAO,EAAES;MACV,CAAC,CAAC;IACH;IAEA,MAAMM,IAAI,GAAGN,cAAc,GAAG5D,OAAO,CAAC4D,cAAc,EAAE/C,OAAO,CAAC,GAAG,IAAI;IACrE,MAAMsD,YAAY,GAAG,CAAC,CAACD,IAAI,EAAEE,MAAM,IAAI,CAAC,CAACF,IAAI,CAACG,WAAW;IAEzD,IAAIF,YAAY,IAAIV,MAAM,KAAK,UAAU,EAAE;MAC1CtE,eAAe,CAACsD,UAAU,CAAC;MAC3BC,gBAAgB,CAACK,GAAG,CAAC,CAAC,CAAC;MACvBH,6BAA6B,CAACG,GAAG,CAAC,CAAC,CAAC;MACpC,IAAIrC,cAAc,EAAE;QACnB;QACA;QACA;QACA;MACD;MACAmC,0BAA0B,CAAC,CAAC;MAC5B;IACD;IAEA,IAAIH,gBAAgB,CAACI,GAAG,CAAC,CAAC,IAAIxC,qBAAqB,EAAE;MACpDqC,UAAU,CAACI,GAAG,CAAC,CAAC,CAAC;MACjBF,0BAA0B,CAAC,CAAC;MAC5B1C,MAAM,CAACmE,IAAI,CACV,aAAazD,OAAO,2DAA2DP,qBAAqB,oGACrG,CAAC;MACD;IACD;;IAEA;IACA;IACAoC,gBAAgB,CAACK,GAAG,CAACL,gBAAgB,CAACI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD3D,eAAe,CAACsD,UAAU,CAAC;IAC3BA,UAAU,CAACM,GAAG,CACbzD,SAAS,CACRe,wBAAwB,EACxBd,UAAU,CAACkD,UAAU,CAACK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;MAAEyB,QAAQ,EAAE;IAAE,CAAC,CACjD,CACD,CAAC;EACF,CACD,CAAC;AACF,CAAC","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":[]}
@@ -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":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SACCC,WAAW,EAEXC,UAAU,QAEJ,cAAc;AACrB,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,SAAS,QAAQ,6BAA6B;AACvD,SAASC,kCAAkC,QAAQ,sEAAsE;AACzH,SAASC,OAAO,QAAQ,iDAAiD;AACzE,SAASC,WAAW,QAAQ,uCAAuC;AAEnE,SAASC,gBAAgB,EAAEC,qBAAqB,QAAQ,mBAAmB;AAC3E,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,wBAAwB,QAAQ,yBAAyB;AAClE,SAASC,mBAAmB,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlE,MAAMC,0BAA0B,GAAGP,gBAAgB,GAChDR,QAAQ,CAACgB,uBAAuB,CAACR,gBAAgB,CAAC,GAClD,IAAI;AAOP,OAAO,MAAMS,kBAAkB,gBAAGrB,IAAI,CAAC,SAASqB,kBAAkBA,CAAC;EAClEC,IAAI;EACJC;AACwB,CAAC,EAAE;EAC3B,MAAMC,mBAAmB,GAAGjB,cAAc,CAAC,CAAC,CAAC;EAC7C,MAAM;IAAEkB;EAAsB,CAAC,GAAGd,WAAW,CAACe,MAAM,CAACJ,IAAI,CAACK,SAAS,CAAC,CAACC,OAAO;EAE5E,MAAMC,WAAW,GAAG5B,WAAW,CAAC,MAAM;IACrC,SAAS;;IACT,IAAIqB,IAAI,CAACQ,eAAe,CAACC,GAAG,CAAC,CAAC,EAAE;MAC/B;IACD;IAEA,MAAMC,IAAI,GAAGtB,OAAO,CAACY,IAAI,CAACW,OAAO,EAAEX,IAAI,CAACY,UAAU,CAAC;IACnD,MAAMC,WAAW,GAChBH,IAAI,EAAEI,MAAM,KAAK,IAAI,IACrBJ,IAAI,KAAKK,SAAS,IAClBrB,mBAAmB,CAACM,IAAI,CAACgB,OAAO,CAAC,KAAK,IAAI,IAC1CxB,YAAY,CAACQ,IAAI,CAACiB,eAAe,CAACR,GAAG,CAAC,CAAC,EAAET,IAAI,CAACY,UAAU,CAAC;IAE1D,IAAI,CAACC,WAAW,EAAE;MACjBX,mBAAmB,CAACgB,GAAG,CAAC,CAAC,CAAC;MAC1B;IACD;IAEA,IAAIhB,mBAAmB,CAACO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;MACpC;MACA;MACAP,mBAAmB,CAACgB,GAAG,CAAC,CAAC,CAAC;MAC1B;IACD;IAEAlB,IAAI,CAACQ,eAAe,CAACU,GAAG,CAAC,IAAI,CAAC;IAC9Bf,qBAAqB,CAAC,CAAC;EACxB,CAAC,EAAE,CAACD,mBAAmB,EAAEF,IAAI,EAAEG,qBAAqB,CAAC,CAAC;EAEtDnB,gBAAgB,CAACuB,WAAW,EAAE,IAAI,CAAC;EAEnC,MAAMY,SAAS,GAAGpC,gBAAgB,CAAC,MAAM;IACxC,SAAS;;IACT;IACA;IACA,MAAM2B,IAAI,GAAGtB,OAAO,CAACY,IAAI,CAACW,OAAO,EAAEX,IAAI,CAACY,UAAU,CAAC;IACnD,IAAI,CAACF,IAAI,EAAEI,MAAM,EAAE;MAClB,OAAO5B,SAAS;IACjB;IAEA,MAAMkC,YAAY,GAAGV,IAAI,CAACI,MAAM,CAACO,MAAkC;IACnE,MAAMC,mBAAmB,GAAGZ,IAAI,CAACI,MAAM,CAACT,SAAS,KAAKL,IAAI,CAACK,SAAS;IAEpE,OAAOZ,wBAAwB,CAAC;MAC/B4B,MAAM,EAAED,YAAY;MACpBJ,OAAO,EAAEhB,IAAI,CAACgB,OAAO;MACrBO,SAAS,EAAED,mBAAmB,GAAG,cAAc,GAAG;IACnD,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAME,iBAAiB,GAAGzC,gBAAgB,CAAC,MAAM;IAChD,SAAS;;IACT,MAAM2B,IAAI,GAAGtB,OAAO,CAACY,IAAI,CAACW,OAAO,EAAEX,IAAI,CAACY,UAAU,CAAC;IACnD,IAAI,CAACF,IAAI,EAAEI,MAAM,EAAE;MAClB,OAAO5B,SAAS;IACjB;IAEA,MAAMkC,YAAY,GAAGV,IAAI,CAACI,MAAM,CAACO,MAAkC;IAEnE,OAAO;MACNI,MAAM,EAAEL,YAAY,CAACK,MAAM;MAC3BC,KAAK,EAAEN,YAAY,CAACM;IACrB,CAAC;EACF,CAAC,CAAC;EACF,MAAMC,SAAS,GAAG5C,gBAAgB,CAAC,MAAM;IACxC,SAAS;;IACT;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,CAACS,YAAY,CAACQ,IAAI,CAACiB,eAAe,CAACR,GAAG,CAAC,CAAC,EAAET,IAAI,CAACY,UAAU,CAAC,EAAE;MAC/D,OAAO1B,SAAS;IACjB;IAEA,MAAM0C,IAAI,GAAG5B,IAAI,CAAC6B,QAAQ,CAACpB,GAAG,CAAC,CAAC,CAACT,IAAI,CAACY,UAAU,CAAC;IAEjD,OAAOzB,kCAAkC,CACxCyC,IAAI,EAAE3B,KAAK,IAAIf,SAAS,EACxB6B,SAAS,EACTa,IAAI,EAAEE,oBACP,CAAC;EACF,CAAC,CAAC;;EAEF;EACA;EACA,IAAI,CAACjC,0BAA0B,EAAE;IAChC,OAAO,IAAI;EACZ;EAEA,oBACCD,IAAA,CAACd,QAAQ,CAACiD,IAAI;IACbC,aAAa,EAAEzC,qBAAsB;IACrCU,KAAK,EAAE,CAACA,KAAK,EAAEkB,SAAS,CAAE;IAC1Bc,WAAW,EAAE,KAAM;IAAAC,QAAA,eAEnBtC,IAAA,CAACC,0BAA0B;MAC1BsC,IAAI,EAAEnC,IAAI,CAACoC,cAAe;MAC1BJ,aAAa,EAAEzC,qBAAsB;MACrCU,KAAK,EAAE,CAACoC,MAAM,CAACC,OAAO,EAAEd,iBAAiB,EAAEG,SAAS;IAAE,CACtD;EAAC,CACY,CAAC;AAElB,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,MAAMU,MAAM,GAAGxD,UAAU,CAAC0D,MAAM,CAAC;EAChCD,OAAO,EAAE1D,WAAW,CAAC4D,KAAK,GACvB;IACAC,GAAG,EAAE,CAAC;IACNC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE;EACN,CAAC,GACA;IACAC,IAAI,EAAE,CAAC;IACPF,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE;EACN;AACH,CAAC,CAAC","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":[]}