react-native-screen-transitions 3.11.0 → 3.11.2
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.
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +27 -15
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +3 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +3 -5
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +5 -4
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +4 -15
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +22 -24
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -36
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +8 -4
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +2 -4
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +3 -7
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -3
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +3 -20
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/create-interpolator-scope.js +40 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +15 -14
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +22 -27
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/entries.js +27 -0
- package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +25 -0
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js +2 -12
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js +2 -2
- package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +30 -18
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +3 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +3 -5
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +5 -4
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +4 -15
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +22 -24
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -36
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +2 -2
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/destination-signals.js +8 -4
- package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/refresh-signals.js +2 -4
- package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +4 -8
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -3
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +3 -19
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/create-interpolator-scope.js +35 -0
- package/lib/module/shared/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +15 -14
- package/lib/module/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +22 -27
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/entries.js +27 -1
- package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +25 -2
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/resolver.js +3 -13
- package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js +3 -3
- package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +1 -5
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +0 -2
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +2 -3
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +0 -2
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -3
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +0 -8
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/create-interpolator-scope.d.ts +9 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/create-interpolator-scope.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts +1 -3
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -4
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts +2 -1
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts +3 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +67 -24
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.ts +6 -1
- package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +8 -9
- package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +5 -4
- package/src/shared/components/boundary/portal/components/boundary-content-portal/components/host.tsx +1 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +4 -20
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +27 -37
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +10 -57
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +1 -8
- package/src/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +0 -3
- package/src/shared/components/boundary/utils/destination-signals.ts +8 -8
- package/src/shared/components/boundary/utils/refresh-signals.ts +2 -10
- package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +4 -11
- package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -4
- package/src/shared/providers/screen/descriptors/helpers/get-ancestor-keys.ts +3 -30
- package/src/shared/providers/screen/styles/helpers/create-interpolator-scope.ts +45 -0
- package/src/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts +16 -16
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +28 -35
- package/src/shared/stores/bounds/internals/entries.ts +38 -1
- package/src/shared/stores/bounds/internals/links.ts +36 -0
- package/src/shared/stores/bounds/internals/resolver.ts +7 -21
- package/src/shared/utils/bounds/helpers/create-link-accessor.ts +9 -3
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js +0 -18
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +0 -21
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js +0 -13
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +0 -1
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +0 -16
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts +0 -3
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts +0 -2
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +0 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.ts +0 -16
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +0 -15
|
@@ -8,8 +8,6 @@ export declare const getRefreshBoundarySignal: (params: {
|
|
|
8
8
|
currentScreenKey: string;
|
|
9
9
|
sourcePairKey?: ScreenPairKey;
|
|
10
10
|
destinationPairKey?: ScreenPairKey;
|
|
11
|
-
ancestorDestinationPairKey?: ScreenPairKey;
|
|
12
|
-
nextScreenKey?: string;
|
|
13
11
|
linkId: string;
|
|
14
12
|
group?: string;
|
|
15
13
|
shouldRefresh: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-signals.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/boundary/utils/refresh-signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,KAAK,qBAAqB,GAAG,aAAa,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAiBF,eAAO,MAAM,wBAAwB,GAAI,QAAQ;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"refresh-signals.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/boundary/utils/refresh-signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,KAAK,qBAAqB,GAAG,aAAa,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAiBF,eAAO,MAAM,wBAAwB,GAAI,QAAQ;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC3B,KAAG,qBAAqB,GAAG,IA4F3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptors.provider.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/screen/descriptors/descriptors.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIrF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD,MAAM,WAAW,uBAAuB,CACvC,WAAW,SAAS,cAAc,GAAG,cAAc;IAEnD,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AAEtE,UAAU,oBAAoB,CAC7B,WAAW,SAAS,cAAc,GAAG,cAAc,CAClD,SAAQ,uBAAuB,CAAC,WAAW,CAAC;IAC7C,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAClD,WAAW,EAAE,iCAAiC,CAAC;IAC/C,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAChC;AAED,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAQ,mBAAmB,gDAAE,mBAAmB;;;
|
|
1
|
+
{"version":3,"file":"descriptors.provider.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/screen/descriptors/descriptors.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIrF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD,MAAM,WAAW,uBAAuB,CACvC,WAAW,SAAS,cAAc,GAAG,cAAc;IAEnD,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AAEtE,UAAU,oBAAoB,CAC7B,WAAW,SAAS,cAAc,GAAG,cAAc,CAClD,SAAQ,uBAAuB,CAAC,WAAW,CAAC;IAC7C,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAClD,WAAW,EAAE,iCAAiC,CAAC;IAC/C,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAChC;AAED,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAQ,mBAAmB,gDAAE,mBAAmB;;;CAuEtD,CAAC"}
|
|
@@ -6,7 +6,6 @@ export interface DescriptorDerivations {
|
|
|
6
6
|
nextScreenKey?: string;
|
|
7
7
|
sourcePairKey?: ScreenPairKey;
|
|
8
8
|
destinationPairKey?: ScreenPairKey;
|
|
9
|
-
ancestorDestinationPairKey?: ScreenPairKey;
|
|
10
9
|
parentScreenKey?: string;
|
|
11
10
|
isFirstKey: boolean;
|
|
12
11
|
isTopMostScreen: boolean;
|
|
@@ -18,8 +17,7 @@ interface Params {
|
|
|
18
17
|
current: BaseStackDescriptor;
|
|
19
18
|
next?: BaseStackDescriptor;
|
|
20
19
|
ancestorKeys: string[];
|
|
21
|
-
ancestorDestinationPairKey?: ScreenPairKey;
|
|
22
20
|
}
|
|
23
|
-
export declare function deriveDescriptorDerivations({ previous, current, next, ancestorKeys,
|
|
21
|
+
export declare function deriveDescriptorDerivations({ previous, current, next, ancestorKeys, }: Params): DescriptorDerivations;
|
|
24
22
|
export {};
|
|
25
23
|
//# sourceMappingURL=derive-descriptor-derivations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-descriptor-derivations.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"derive-descriptor-derivations.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;CACnC;AAED,UAAU,MAAM;IACf,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,YAAY,GACZ,EAAE,MAAM,GAAG,qBAAqB,CAgChC"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import type { ScreenPairKey } from "../../../../stores/bounds/types";
|
|
2
1
|
import type { BaseStackDescriptor } from "../../../../types/stack.types";
|
|
3
|
-
export interface AncestorKeyState {
|
|
4
|
-
ancestorKeys: string[];
|
|
5
|
-
ancestorDestinationPairKey?: ScreenPairKey;
|
|
6
|
-
}
|
|
7
2
|
/**
|
|
8
3
|
* Builds nested navigator ancestor keys from immediate parent to root.
|
|
9
|
-
* The nearest ancestor destination pair lets child routes attach measurements
|
|
10
|
-
* to the transition owned by the parent stack.
|
|
11
4
|
*/
|
|
12
|
-
export declare function getAncestorKeyState(current: BaseStackDescriptor): AncestorKeyState;
|
|
13
5
|
export declare function getAncestorKeys(current: BaseStackDescriptor): string[];
|
|
14
6
|
//# sourceMappingURL=get-ancestor-keys.d.ts.map
|
package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-ancestor-keys.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/descriptors/helpers/get-ancestor-keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-ancestor-keys.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/descriptors/helpers/get-ancestor-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAsBtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ScreenInterpolationProps, ScreenTransitionAccessor } from "../../../../types/animation.types";
|
|
2
|
+
import type { ScreenInterpolatorFrame } from "../../animation/helpers/pipeline";
|
|
3
|
+
import type { SelectedInterpolatorFrame } from "./select-interpolator-frame";
|
|
4
|
+
export declare const createInterpolatorScope: ({ frame, selectedFrame, transition, }: {
|
|
5
|
+
frame: ScreenInterpolatorFrame;
|
|
6
|
+
selectedFrame: SelectedInterpolatorFrame;
|
|
7
|
+
transition: ScreenTransitionAccessor;
|
|
8
|
+
}) => ScreenInterpolationProps;
|
|
9
|
+
//# sourceMappingURL=create-interpolator-scope.d.ts.map
|
package/lib/typescript/shared/providers/screen/styles/helpers/create-interpolator-scope.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-interpolator-scope.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/helpers/create-interpolator-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,eAAO,MAAM,uBAAuB,GAAI,uCAIrC;IACF,KAAK,EAAE,uBAAuB,CAAC;IAC/B,aAAa,EAAE,yBAAyB,CAAC;IACzC,UAAU,EAAE,wBAAwB,CAAC;CACrC,KAAG,wBA4BH,CAAC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { NormalizedTransitionInterpolatedStyle } from "../../../../types/animation.types";
|
|
2
2
|
import type { LocalStyleLayers } from "./resolve-slot-styles";
|
|
3
|
-
export declare const resolveInterpolatorStyleHandoff: ({ currentOwnsInterpolator, currentStylesMap, nextStylesMap,
|
|
3
|
+
export declare const resolveInterpolatorStyleHandoff: ({ currentOwnsInterpolator, currentStylesMap, nextStylesMap, }: {
|
|
4
4
|
currentOwnsInterpolator: boolean;
|
|
5
5
|
currentStylesMap: NormalizedTransitionInterpolatedStyle | undefined;
|
|
6
6
|
nextStylesMap: NormalizedTransitionInterpolatedStyle | undefined;
|
|
7
|
-
frozenCurrentStylesMap: NormalizedTransitionInterpolatedStyle;
|
|
8
7
|
}) => {
|
|
9
8
|
localStylesMaps: LocalStyleLayers;
|
|
10
|
-
nextFrozenCurrentStylesMap: NormalizedTransitionInterpolatedStyle;
|
|
11
9
|
};
|
|
12
10
|
//# sourceMappingURL=resolve-interpolator-style-handoff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-interpolator-style-handoff.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,qCAAqC,EAErC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiG9D,eAAO,MAAM,+BAA+B,GAAI
|
|
1
|
+
{"version":3,"file":"resolve-interpolator-style-handoff.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,qCAAqC,EAErC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiG9D,eAAO,MAAM,+BAA+B,GAAI,+DAI7C;IACF,uBAAuB,EAAE,OAAO,CAAC;IACjC,gBAAgB,EAAE,qCAAqC,GAAG,SAAS,CAAC;IACpE,aAAa,EAAE,qCAAqC,GAAG,SAAS,CAAC;CACjE,KAAG;IACH,eAAe,EAAE,gBAAgB,CAAC;CA2BlC,CAAC"}
|
package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts
CHANGED
|
@@ -16,10 +16,10 @@ import type { LocalStyleLayers } from "../helpers/resolve-slot-styles";
|
|
|
16
16
|
* normal interpolator selection once the gesture-driven close is no longer in
|
|
17
17
|
* play.
|
|
18
18
|
*
|
|
19
|
-
* At an ownership handoff, the
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* At an ownership handoff, the current interpolator remains live but is
|
|
20
|
+
* evaluated without the next-screen relationship. The next owner replaces
|
|
21
|
+
* matching scalar keys and composes its live transforms after the current
|
|
22
|
+
* screen's self-owned transforms.
|
|
23
23
|
*/
|
|
24
24
|
export declare const useInterpolatedStylesMap: ({ enabled, visibilityBlocked, }: {
|
|
25
25
|
enabled: boolean;
|
package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-interpolated-style-maps.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,WAAW,EAIhB,MAAM,yBAAyB,CAAC;AA2BjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-interpolated-style-maps.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,WAAW,EAIhB,MAAM,yBAAyB,CAAC;AA2BjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AA6EvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GAAI,iCAGtC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACxC;;;CAoMA,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Entry, EntryPatch, ScreenKey, TagID } from "../types";
|
|
2
2
|
declare function getEntry(tag: TagID, key: ScreenKey): Entry | null;
|
|
3
|
+
declare function getMatchingSourceScreenKey(tag: TagID, destinationScreenKey: ScreenKey, preferredScreenKey?: ScreenKey, excludedScreenKeys?: readonly ScreenKey[]): ScreenKey | null;
|
|
3
4
|
declare function setEntry(tag: TagID, screenKey: ScreenKey, patch: EntryPatch): void;
|
|
4
5
|
declare function removeEntry(tag: TagID, screenKey: ScreenKey): void;
|
|
5
|
-
export { getEntry, removeEntry, setEntry };
|
|
6
|
+
export { getEntry, getMatchingSourceScreenKey, removeEntry, setEntry };
|
|
6
7
|
//# sourceMappingURL=entries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/entries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AA0DpE,iBAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAG1D;AAED,iBAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,QAQpE;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,QAgBpD;AAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/entries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AA0DpE,iBAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAG1D;AAED,iBAAS,0BAA0B,CAClC,GAAG,EAAE,KAAK,EACV,oBAAoB,EAAE,SAAS,EAC/B,kBAAkB,CAAC,EAAE,SAAS,EAC9B,kBAAkB,CAAC,EAAE,SAAS,SAAS,EAAE,GACvC,SAAS,GAAG,IAAI,CA8BlB;AAED,iBAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,QAQpE;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,QAgBpD;AAED,OAAO,EAAE,QAAQ,EAAE,0BAA0B,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -10,7 +10,9 @@ declare function getResolvedLink(pairKey: ScreenPairKey, tag: TagID): {
|
|
|
10
10
|
tag: TagID;
|
|
11
11
|
link: TagLink | null;
|
|
12
12
|
};
|
|
13
|
+
declare function getPairKeyForSource(tag: TagID, screenKey: ScreenKey): ScreenPairKey | null;
|
|
14
|
+
declare function getPairKeyForDestination(tag: TagID, screenKey: ScreenKey): ScreenPairKey | null;
|
|
13
15
|
declare function getSource(pairKey: ScreenPairKey, tag: TagID): TagLink["source"] | null;
|
|
14
16
|
declare function getDestination(pairKey: ScreenPairKey, tag: TagID): TagLink["destination"] | null;
|
|
15
|
-
export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource, };
|
|
17
|
+
export { getActiveGroupId, getDestination, getLink, getPairKeyForDestination, getPairKeyForSource, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource, };
|
|
16
18
|
//# sourceMappingURL=links.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAe9E,OAAO,KAAK,EACX,oBAAoB,EACpB,QAAQ,EACR,OAAO,EAEP,SAAS,EACT,aAAa,EAEb,KAAK,EACL,OAAO,EACP,MAAM,UAAU,CAAC;AAgOlB,iBAAS,SAAS,CACjB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,UAAe,EACvB,KAAK,CAAC,EAAE,QAAQ,EAChB,YAAY,GAAE,oBAAyB,QAoCvC;AAED,iBAAS,cAAc,CACtB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,UAAe,EACvB,KAAK,CAAC,EAAE,QAAQ,EAChB,YAAY,GAAE,oBAAyB,QAmBvC;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,QAO5E;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,QAe/D;AAED,iBAAS,gBAAgB,CACxB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,QAAQ,GACb,OAAO,GAAG,IAAI,CAGhB;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAGnE;AASD,iBAAS,eAAe,CACvB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,GACR;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAiCtC;AAED,iBAAS,mBAAmB,CAC3B,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,GAClB,aAAa,GAAG,IAAI,CActB;AAED,iBAAS,wBAAwB,CAChC,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,GAClB,aAAa,GAAG,IAAI,CAQtB;AAED,iBAAS,SAAS,CACjB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,GACR,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAG1B;AAED,iBAAS,cAAc,CACtB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,GACR,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAG/B;AAED,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,SAAS,GACT,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,EACL,MAAM,UAAU,CAAC;AAGlB,iBAAS,qBAAqB,CAC7B,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,wBAAwB,GAC/B,sBAAsB,CAkBxB;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-link-accessor.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/bounds/helpers/create-link-accessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-link-accessor.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/bounds/helpers/create-link-accessor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,wBAAwB,EACxB,UAAU,EACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,KAAK,QAAQ,GAAG,MAAM,wBAAwB,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,YA0BvD,CAAC"}
|
package/package.json
CHANGED
package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback, useLayoutEffect } from "react";
|
|
1
|
+
import { useCallback, useLayoutEffect, useMemo } from "react";
|
|
2
2
|
import {
|
|
3
3
|
cancelAnimation,
|
|
4
4
|
runOnUI,
|
|
@@ -7,10 +7,17 @@ import {
|
|
|
7
7
|
withDelay,
|
|
8
8
|
withTiming,
|
|
9
9
|
} from "react-native-reanimated";
|
|
10
|
+
import { useStack } from "../../../../hooks/navigation/use-stack";
|
|
10
11
|
import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
|
|
11
12
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
12
|
-
import {
|
|
13
|
-
|
|
13
|
+
import {
|
|
14
|
+
createScreenPairKey,
|
|
15
|
+
getSourceScreenKeyFromPairKey,
|
|
16
|
+
} from "../../../../stores/bounds/helpers/link-pairs.helpers";
|
|
17
|
+
import {
|
|
18
|
+
getEntry,
|
|
19
|
+
getMatchingSourceScreenKey,
|
|
20
|
+
} from "../../../../stores/bounds/internals/entries";
|
|
14
21
|
import { getLink } from "../../../../stores/bounds/internals/links";
|
|
15
22
|
import { pairs } from "../../../../stores/bounds/internals/state";
|
|
16
23
|
import type { BoundTag } from "../../../../stores/bounds/types";
|
|
@@ -50,12 +57,21 @@ export const useInitialDestinationMeasurement = ({
|
|
|
50
57
|
const destinationPairKey = useDescriptorsStore(
|
|
51
58
|
(s) => s.derivations.destinationPairKey,
|
|
52
59
|
);
|
|
53
|
-
const ancestorDestinationPairKey = useDescriptorsStore(
|
|
54
|
-
(s) => s.derivations.ancestorDestinationPairKey,
|
|
55
|
-
);
|
|
56
60
|
const destinationEnabled = enabled && !nextScreenKey;
|
|
57
|
-
const
|
|
58
|
-
|
|
61
|
+
const canReceiveDestination = destinationEnabled && !!destinationPairKey;
|
|
62
|
+
const preferredSourceScreenKey = destinationPairKey
|
|
63
|
+
? getSourceScreenKeyFromPairKey(destinationPairKey)
|
|
64
|
+
: undefined;
|
|
65
|
+
const stackScenes = useStack((store) => store.scenes);
|
|
66
|
+
// A retained closing screen can still have registered boundaries, but it
|
|
67
|
+
// cannot own a new transition link.
|
|
68
|
+
const closingSourceScreenKeys = useMemo(
|
|
69
|
+
() =>
|
|
70
|
+
stackScenes
|
|
71
|
+
.filter((scene) => scene.activity === "closing")
|
|
72
|
+
.map((scene) => scene.route.key),
|
|
73
|
+
[stackScenes],
|
|
74
|
+
);
|
|
59
75
|
const progress = AnimationStore.getValue(
|
|
60
76
|
currentScreenKey,
|
|
61
77
|
"transitionProgress",
|
|
@@ -69,6 +85,7 @@ export const useInitialDestinationMeasurement = ({
|
|
|
69
85
|
const retryToken = useSharedValue(0);
|
|
70
86
|
const handshakeRetries = useSharedValue(0);
|
|
71
87
|
const hasGivenUp = useSharedValue(0);
|
|
88
|
+
const hasFinishedInitialMeasurement = useSharedValue(0);
|
|
72
89
|
|
|
73
90
|
const releaseLifecycleStartBlock = useCallback(() => {
|
|
74
91
|
"worklet";
|
|
@@ -78,12 +95,25 @@ export const useInitialDestinationMeasurement = ({
|
|
|
78
95
|
return;
|
|
79
96
|
}
|
|
80
97
|
|
|
98
|
+
hasFinishedInitialMeasurement.set(1);
|
|
81
99
|
isBlockingLifecycleStart.set(0);
|
|
82
100
|
unblockLifecycleStart();
|
|
83
|
-
}, [
|
|
101
|
+
}, [
|
|
102
|
+
hasFinishedInitialMeasurement,
|
|
103
|
+
isBlockingLifecycleStart,
|
|
104
|
+
retryToken,
|
|
105
|
+
unblockLifecycleStart,
|
|
106
|
+
]);
|
|
84
107
|
|
|
85
108
|
const claimLifecycleStartBlock = useCallback(() => {
|
|
86
109
|
"worklet";
|
|
110
|
+
if (
|
|
111
|
+
!canReceiveDestination ||
|
|
112
|
+
hasFinishedInitialMeasurement.get() ||
|
|
113
|
+
!getMatchingSourceScreenKey(tag, currentScreenKey)
|
|
114
|
+
) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
87
117
|
|
|
88
118
|
// The progress check and block claim must share one UI-thread operation.
|
|
89
119
|
// Otherwise a JS-thread layout effect can observe zero, enqueue the block,
|
|
@@ -94,10 +124,18 @@ export const useInitialDestinationMeasurement = ({
|
|
|
94
124
|
|
|
95
125
|
blockLifecycleStart();
|
|
96
126
|
isBlockingLifecycleStart.set(1);
|
|
97
|
-
}, [
|
|
127
|
+
}, [
|
|
128
|
+
blockLifecycleStart,
|
|
129
|
+
canReceiveDestination,
|
|
130
|
+
currentScreenKey,
|
|
131
|
+
hasFinishedInitialMeasurement,
|
|
132
|
+
isBlockingLifecycleStart,
|
|
133
|
+
progress,
|
|
134
|
+
tag,
|
|
135
|
+
]);
|
|
98
136
|
|
|
99
137
|
useLayoutEffect(() => {
|
|
100
|
-
if (!
|
|
138
|
+
if (!canReceiveDestination) {
|
|
101
139
|
return;
|
|
102
140
|
}
|
|
103
141
|
|
|
@@ -115,9 +153,8 @@ export const useInitialDestinationMeasurement = ({
|
|
|
115
153
|
};
|
|
116
154
|
}, [
|
|
117
155
|
claimLifecycleStartBlock,
|
|
118
|
-
destinationEnabled,
|
|
119
156
|
escapeClipping,
|
|
120
|
-
|
|
157
|
+
canReceiveDestination,
|
|
121
158
|
releaseLifecycleStartBlock,
|
|
122
159
|
]);
|
|
123
160
|
|
|
@@ -126,8 +163,8 @@ export const useInitialDestinationMeasurement = ({
|
|
|
126
163
|
"worklet";
|
|
127
164
|
|
|
128
165
|
if (
|
|
129
|
-
!
|
|
130
|
-
|
|
166
|
+
!canReceiveDestination ||
|
|
167
|
+
hasFinishedInitialMeasurement.get() ||
|
|
131
168
|
isBlockingLifecycleStart.get() <= 0
|
|
132
169
|
) {
|
|
133
170
|
return null;
|
|
@@ -138,17 +175,22 @@ export const useInitialDestinationMeasurement = ({
|
|
|
138
175
|
}
|
|
139
176
|
|
|
140
177
|
const retryTick = retryToken.get();
|
|
141
|
-
const sourceScreenKey =
|
|
142
|
-
|
|
178
|
+
const sourceScreenKey = getMatchingSourceScreenKey(
|
|
179
|
+
tag,
|
|
180
|
+
currentScreenKey,
|
|
181
|
+
preferredSourceScreenKey,
|
|
182
|
+
closingSourceScreenKeys,
|
|
143
183
|
);
|
|
184
|
+
const pairKey = sourceScreenKey
|
|
185
|
+
? createScreenPairKey(sourceScreenKey, currentScreenKey)
|
|
186
|
+
: undefined;
|
|
144
187
|
const signal = getInitialDestinationMeasurementSignal({
|
|
145
188
|
enabled: destinationEnabled,
|
|
146
|
-
|
|
147
|
-
ancestorDestinationPairKey,
|
|
189
|
+
pairKey,
|
|
148
190
|
linkId: linkKey,
|
|
149
191
|
group,
|
|
150
192
|
destinationPresent: getEntry(tag, currentScreenKey) !== null,
|
|
151
|
-
sourcePresent:
|
|
193
|
+
sourcePresent: sourceScreenKey !== null,
|
|
152
194
|
linkState: pairs.get(),
|
|
153
195
|
});
|
|
154
196
|
|
|
@@ -160,12 +202,12 @@ export const useInitialDestinationMeasurement = ({
|
|
|
160
202
|
},
|
|
161
203
|
(next, previous) => {
|
|
162
204
|
"worklet";
|
|
163
|
-
if (!next) {
|
|
205
|
+
if (!next || hasFinishedInitialMeasurement.get()) {
|
|
164
206
|
return;
|
|
165
207
|
}
|
|
166
208
|
|
|
167
209
|
const [measurePairKey, action, retryTick] = next;
|
|
168
|
-
if (!
|
|
210
|
+
if (!action) {
|
|
169
211
|
return;
|
|
170
212
|
}
|
|
171
213
|
|
|
@@ -191,19 +233,20 @@ export const useInitialDestinationMeasurement = ({
|
|
|
191
233
|
return;
|
|
192
234
|
}
|
|
193
235
|
|
|
194
|
-
if (action === "measure") {
|
|
236
|
+
if (action === "measure" && measurePairKey) {
|
|
195
237
|
measureBoundary({
|
|
196
238
|
type: "destination",
|
|
197
239
|
pairKey: measurePairKey,
|
|
198
240
|
});
|
|
199
241
|
}
|
|
200
242
|
|
|
201
|
-
const link = getLink(measurePairKey, linkKey);
|
|
243
|
+
const link = measurePairKey ? getLink(measurePairKey, linkKey) : null;
|
|
202
244
|
const linkComplete = !!link?.source && !!link.destination;
|
|
203
245
|
|
|
204
246
|
if (linkComplete || action === "complete") {
|
|
205
247
|
cancelAnimation(retryToken);
|
|
206
248
|
handshakeRetries.set(0);
|
|
249
|
+
hasFinishedInitialMeasurement.set(1);
|
|
207
250
|
if (escapeClipping) {
|
|
208
251
|
// Screen-level escape has a second readiness phase after destination
|
|
209
252
|
// matching: the host must commit before the transition starts, or
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useAnimatedReaction, useSharedValue } from "react-native-reanimated";
|
|
2
2
|
import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
|
|
3
|
+
import { getPairKeyForSource } from "../../../../stores/bounds/internals/links";
|
|
3
4
|
import { pairs } from "../../../../stores/bounds/internals/state";
|
|
4
5
|
import type { BoundTag } from "../../../../stores/bounds/types";
|
|
5
6
|
import type { MeasureBoundary } from "../../types";
|
|
@@ -11,12 +12,16 @@ export const useInitialSourceMeasurement = (params: {
|
|
|
11
12
|
boundTag: BoundTag;
|
|
12
13
|
}) => {
|
|
13
14
|
const { enabled, measureBoundary, boundTag } = params;
|
|
14
|
-
const
|
|
15
|
+
const currentScreenKey = useDescriptorsStore(
|
|
16
|
+
(s) => s.derivations.currentScreenKey,
|
|
17
|
+
);
|
|
15
18
|
const lastSourceCaptureSignal = useSharedValue<string | null>(null);
|
|
16
19
|
|
|
17
20
|
useAnimatedReaction(
|
|
18
21
|
() => {
|
|
19
22
|
"worklet";
|
|
23
|
+
const sourcePairKey =
|
|
24
|
+
getPairKeyForSource(boundTag.tag, currentScreenKey) ?? undefined;
|
|
20
25
|
return getInitialSourceCaptureSignal({
|
|
21
26
|
enabled,
|
|
22
27
|
sourcePairKey,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { useAnimatedReaction } from "react-native-reanimated";
|
|
2
2
|
import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
|
|
3
3
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
4
|
+
import {
|
|
5
|
+
getPairKeyForDestination,
|
|
6
|
+
getPairKeyForSource,
|
|
7
|
+
} from "../../../../stores/bounds/internals/links";
|
|
4
8
|
import { pairs } from "../../../../stores/bounds/internals/state";
|
|
5
9
|
import type { BoundTag } from "../../../../stores/bounds/types";
|
|
6
10
|
import type { MeasureBoundary } from "../../types";
|
|
@@ -22,13 +26,6 @@ export const useRefreshBoundary = ({
|
|
|
22
26
|
(s) => s.derivations.currentScreenKey,
|
|
23
27
|
);
|
|
24
28
|
const nextScreenKey = useDescriptorsStore((s) => s.derivations.nextScreenKey);
|
|
25
|
-
const sourcePairKey = useDescriptorsStore((s) => s.derivations.sourcePairKey);
|
|
26
|
-
const destinationPairKey = useDescriptorsStore(
|
|
27
|
-
(s) => s.derivations.destinationPairKey,
|
|
28
|
-
);
|
|
29
|
-
const ancestorDestinationPairKey = useDescriptorsStore(
|
|
30
|
-
(s) => s.derivations.ancestorDestinationPairKey,
|
|
31
|
-
);
|
|
32
29
|
// Source-side boundaries refresh from the next screen's lifecycle pulse.
|
|
33
30
|
// Destination-side boundaries have no next screen, so they refresh from self.
|
|
34
31
|
const refreshScreenKey = nextScreenKey ?? currentScreenKey;
|
|
@@ -46,14 +43,16 @@ export const useRefreshBoundary = ({
|
|
|
46
43
|
if (!shouldRefresh) {
|
|
47
44
|
return null;
|
|
48
45
|
}
|
|
46
|
+
const sourcePairKey =
|
|
47
|
+
getPairKeyForSource(boundTag.tag, currentScreenKey) ?? undefined;
|
|
48
|
+
const destinationPairKey =
|
|
49
|
+
getPairKeyForDestination(boundTag.tag, currentScreenKey) ?? undefined;
|
|
49
50
|
|
|
50
51
|
return getRefreshBoundarySignal({
|
|
51
52
|
enabled,
|
|
52
53
|
currentScreenKey,
|
|
53
54
|
sourcePairKey,
|
|
54
55
|
destinationPairKey,
|
|
55
|
-
ancestorDestinationPairKey,
|
|
56
|
-
nextScreenKey,
|
|
57
56
|
linkId: linkKey,
|
|
58
57
|
group,
|
|
59
58
|
shouldRefresh,
|
|
@@ -60,10 +60,11 @@ export const useBoundaryMeasurement = ({
|
|
|
60
60
|
escapeClipping,
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
//
|
|
64
|
-
//
|
|
63
|
+
// Presence and source capture must not depend on this screen owning an
|
|
64
|
+
// interpolator: a nested source can participate in a transition owned by a
|
|
65
|
+
// different navigator.
|
|
65
66
|
useBoundaryPresence({
|
|
66
|
-
enabled
|
|
67
|
+
enabled,
|
|
67
68
|
boundTag,
|
|
68
69
|
currentScreenKey,
|
|
69
70
|
boundaryConfig,
|
|
@@ -72,7 +73,7 @@ export const useBoundaryMeasurement = ({
|
|
|
72
73
|
});
|
|
73
74
|
|
|
74
75
|
useInitialSourceMeasurement({
|
|
75
|
-
enabled
|
|
76
|
+
enabled,
|
|
76
77
|
measureBoundary,
|
|
77
78
|
boundTag,
|
|
78
79
|
});
|
|
@@ -16,7 +16,6 @@ import { getLink } from "../../../../../../stores/bounds/internals/links";
|
|
|
16
16
|
import { SystemStore } from "../../../../../../stores/system.store";
|
|
17
17
|
import type { ScrollMeasuredDimensions } from "../../../../utils/measured-bounds";
|
|
18
18
|
import { NativePortalHost, PORTAL_POINTER_EVENTS } from "../../../teleport";
|
|
19
|
-
import { hasLocalSlot } from "../helpers/has-local-slot";
|
|
20
19
|
import { resolvePortalOffsetStyle } from "../helpers/offset-style";
|
|
21
20
|
import { getPortalHostBounds } from "../stores/host-bounds.store";
|
|
22
21
|
import type { ActivePortalBoundaryHost } from "../stores/portal-boundary-host.store";
|
|
@@ -44,11 +43,10 @@ export const PortalBoundaryHost = memo(function PortalBoundaryHost({
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
const link = getLink(host.pairKey, host.boundaryId);
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
hasLocalSlot(host.localStylesMaps.get(), host.boundaryId);
|
|
46
|
+
const hasSource = !!link?.source;
|
|
47
|
+
const hasHostBounds = getPortalHostBounds(host.hostKey) !== null;
|
|
48
|
+
const hasSlot = host.slotsMap.get()[host.boundaryId] !== undefined;
|
|
49
|
+
const hasGeometry = hasSource && hasHostBounds && hasSlot;
|
|
52
50
|
|
|
53
51
|
if (!hasGeometry) {
|
|
54
52
|
geometryReadyFrames.set(0);
|
|
@@ -103,20 +101,6 @@ export const PortalBoundaryHost = memo(function PortalBoundaryHost({
|
|
|
103
101
|
});
|
|
104
102
|
const slotStyle = useAnimatedStyle(() => {
|
|
105
103
|
"worklet";
|
|
106
|
-
// `slotsMap` is the resolved map: it may contain real interpolator output,
|
|
107
|
-
// inherited styles, or resolver-created reset patches for slots that just
|
|
108
|
-
// disappeared. Normal components need those reset patches so stale styles
|
|
109
|
-
// clear correctly.
|
|
110
|
-
//
|
|
111
|
-
// A screen-level portal host is different. It is only the temporary visual
|
|
112
|
-
// receiver for teleported content, not the original component that needs a
|
|
113
|
-
// cleanup frame. If the current local interpolator layers did not emit this
|
|
114
|
-
// boundary id, any resolved style here is cleanup/stale residue and should
|
|
115
|
-
// not be drawn by the host.
|
|
116
|
-
if (!hasLocalSlot(host.localStylesMaps.get(), host.boundaryId)) {
|
|
117
|
-
return NO_STYLES;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
104
|
const slot = host.slotsMap.get()[host.boundaryId];
|
|
121
105
|
|
|
122
106
|
return composeSlotStyleWithLocalTransform(
|