react-native-screen-transitions 3.9.0-alpha.2 → 3.9.0-alpha.3
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/components/boundary-target.js +14 -9
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/create-boundary-component.js +66 -28
- package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +8 -4
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +27 -10
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +5 -7
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +4 -4
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +14 -35
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +5 -6
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/index.js +26 -29
- package/lib/commonjs/shared/components/boundary/index.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +58 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/host.js +20 -4
- package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
- package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/portal.js +206 -96
- package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js +14 -2
- package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js +5 -44
- package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js +37 -5
- package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/teleport.js +15 -2
- package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js +18 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +10 -3
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js +28 -49
- package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +254 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js +38 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js +29 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js +10 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js +25 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +6 -7
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +1 -22
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -21
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/source-signals.js +4 -9
- package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +1 -1
- package/lib/commonjs/shared/index.js.map +1 -1
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +6 -3
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js +95 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
- package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +9 -3
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +96 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +16 -3
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/index.js +16 -3
- package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +22 -51
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +53 -0
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +22 -2
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/entries.js +11 -4
- package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +134 -51
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js +1 -3
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/commonjs/shared/stores/system.store.js +5 -0
- package/lib/commonjs/shared/stores/system.store.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +10 -69
- package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js +59 -0
- package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
- package/lib/module/shared/components/boundary/components/boundary-target.js +12 -7
- package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/shared/components/boundary/create-boundary-component.js +67 -29
- package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +8 -4
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +27 -10
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +5 -7
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +4 -4
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +15 -36
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +5 -6
- package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/boundary/index.js +26 -29
- package/lib/module/shared/components/boundary/index.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +53 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/host.js +21 -5
- package/lib/module/shared/components/boundary/portal/components/host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
- package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/portal.js +212 -102
- package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js +15 -3
- package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js +4 -41
- package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js +35 -4
- package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/teleport.js +16 -2
- package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js +13 -0
- package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/naming.js +8 -2
- package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/offset-style.js +29 -49
- package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/ownership.js +246 -0
- package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js +33 -0
- package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js +24 -0
- package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/teleport-control.js +8 -0
- package/lib/module/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/visible-host.js +20 -0
- package/lib/module/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +6 -7
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/destination-signals.js +2 -23
- package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -21
- package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/source-signals.js +4 -9
- package/lib/module/shared/components/boundary/utils/source-signals.js.map +1 -1
- package/lib/module/shared/index.js.map +1 -1
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js +6 -3
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/derivations.js +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js +89 -0
- package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
- package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +9 -3
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +87 -0
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +16 -3
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/index.js +2 -1
- package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/slot.provider.js +22 -47
- package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +47 -0
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +19 -1
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/entries.js +11 -4
- package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +135 -53
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/resolver.js +1 -3
- package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/module/shared/stores/system.store.js +5 -0
- package/lib/module/shared/stores/system.store.js.map +1 -1
- package/lib/module/shared/types/animation.types.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/styles/compute.js +10 -69
- package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js +52 -0
- package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +1 -2
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/component-screen.d.ts +1 -1
- package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -2
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -1
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts +1 -2
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +2 -2
- package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +1 -1
- package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -1
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +1 -1
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts +0 -1
- package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts +11 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/{use-initial-destination-measurement.d.ts → lifecycles/use-initial-destination-measurement.d.ts} +2 -2
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/{use-refresh-boundary.d.ts → lifecycles/use-refresh-boundary.d.ts} +2 -2
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +5 -9
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +4 -3
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/index.d.ts +35 -24
- package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/host.d.ts +2 -2
- package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +2 -2
- package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +4 -3
- package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts +0 -7
- package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts +16 -1
- package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +3 -0
- package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +2 -1
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts +16 -32
- package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +35 -0
- package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts +12 -0
- package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts +4 -0
- package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +7 -12
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/types.d.ts +9 -36
- package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
- 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.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -1
- package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts +6 -5
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/masked-view.d.ts +1 -1
- package/lib/typescript/shared/components/masked-view.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/scene-view.d.ts +1 -1
- package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/index.d.ts +1 -1
- package/lib/typescript/shared/components/screen-container/index.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +1 -1
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/content.d.ts +1 -1
- package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts +1 -1
- package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts +1 -1
- package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +711 -667
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +3 -3
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts +2 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +11 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/styles/index.d.ts +2 -1
- package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +5 -10
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +6 -0
- package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +2 -0
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts +4 -3
- 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/stores/bounds/types.d.ts +9 -20
- package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
- package/lib/typescript/shared/stores/system.store.d.ts +1 -0
- package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +7 -1
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts +6 -0
- package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/shared/components/boundary/components/boundary-target.tsx +21 -7
- package/src/shared/components/boundary/create-boundary-component.tsx +92 -28
- package/src/shared/components/boundary/hooks/{use-boundary-presence.ts → lifecycles/use-boundary-presence.ts} +16 -5
- package/src/shared/components/boundary/hooks/{use-initial-destination-measurement.ts → lifecycles/use-initial-destination-measurement.ts} +40 -13
- package/src/shared/components/boundary/hooks/{use-initial-source-measurement.ts → lifecycles/use-initial-source-measurement.ts} +7 -9
- package/src/shared/components/boundary/hooks/{use-refresh-boundary.ts → lifecycles/use-refresh-boundary.ts} +6 -6
- package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +15 -45
- package/src/shared/components/boundary/hooks/use-measurer.ts +9 -14
- package/src/shared/components/boundary/index.tsx +55 -29
- package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +66 -0
- package/src/shared/components/boundary/portal/components/host.tsx +20 -5
- package/src/shared/components/boundary/portal/components/portal-boundary-host.tsx +67 -52
- package/src/shared/components/boundary/portal/components/portal.tsx +280 -119
- package/src/shared/components/boundary/portal/hooks/use-host-measurement.ts +23 -2
- package/src/shared/components/boundary/portal/stores/host-registry.store.ts +4 -51
- package/src/shared/components/boundary/portal/stores/portal-boundary-host.store.ts +59 -6
- package/src/shared/components/boundary/portal/teleport.ts +28 -3
- package/src/shared/components/boundary/portal/utils/has-local-slot.ts +16 -0
- package/src/shared/components/boundary/portal/utils/naming.ts +11 -1
- package/src/shared/components/boundary/portal/utils/offset-style.ts +37 -139
- package/src/shared/components/boundary/portal/utils/ownership.ts +371 -0
- package/src/shared/components/boundary/portal/utils/resolve-portal.ts +50 -0
- package/src/shared/components/boundary/portal/utils/shallow-equal.ts +25 -0
- package/src/shared/components/boundary/portal/utils/teleport-control.ts +12 -0
- package/src/shared/components/boundary/portal/utils/visible-host.ts +24 -0
- package/src/shared/components/boundary/providers/boundary-root.provider.tsx +9 -18
- package/src/shared/components/boundary/types.ts +9 -39
- package/src/shared/components/boundary/utils/destination-signals.ts +1 -32
- package/src/shared/components/boundary/utils/refresh-signals.ts +0 -41
- package/src/shared/components/boundary/utils/source-signals.ts +5 -17
- package/src/shared/index.ts +0 -5
- package/src/shared/providers/helpers/measured-bounds-writes.ts +6 -11
- package/src/shared/providers/screen/animation/helpers/derivations.ts +3 -0
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +1 -0
- package/src/shared/providers/screen/styles/helpers/compose-slot-style.ts +129 -0
- package/src/shared/providers/screen/styles/helpers/normalize-slots.ts +45 -8
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +14 -2
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +3 -0
- package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +111 -0
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +21 -3
- package/src/shared/providers/screen/styles/index.tsx +8 -3
- package/src/shared/providers/screen/styles/slot.provider.tsx +36 -54
- package/src/shared/providers/screen/styles/stores/slot-references.store.ts +71 -0
- package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +24 -1
- package/src/shared/stores/bounds/internals/entries.ts +13 -5
- package/src/shared/stores/bounds/internals/links.ts +167 -85
- package/src/shared/stores/bounds/internals/resolver.ts +0 -2
- package/src/shared/stores/bounds/types.ts +10 -22
- package/src/shared/stores/system.store.ts +6 -0
- package/src/shared/types/animation.types.ts +8 -1
- package/src/shared/utils/bounds/helpers/styles/compute.ts +22 -124
- package/src/shared/utils/bounds/helpers/styles/local-transform.ts +86 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js +0 -36
- package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js +0 -40
- package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/resolve-portal.js +0 -31
- package/lib/module/shared/components/boundary/portal/resolve-portal.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/utils/attachment.js +0 -35
- package/lib/module/shared/components/boundary/portal/utils/attachment.js.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +0 -9
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +0 -9
- package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts +0 -14
- package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts +0 -21
- package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts.map +0 -1
- package/src/shared/components/boundary/portal/resolve-portal.ts +0 -40
- package/src/shared/components/boundary/portal/utils/attachment.ts +0 -48
|
@@ -1,19 +1,124 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { createGroupTag,
|
|
3
|
+
import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource } from "../helpers/link-pairs.helpers";
|
|
4
4
|
import { pairs } from "./state";
|
|
5
5
|
const syncLinkStatus = link => {
|
|
6
6
|
"worklet";
|
|
7
7
|
|
|
8
8
|
link.status = link.source ? link.destination ? "complete" : "destination-incomplete" : "source-incomplete";
|
|
9
9
|
};
|
|
10
|
-
const
|
|
10
|
+
const isSharedValueLike = value => {
|
|
11
|
+
"worklet";
|
|
12
|
+
|
|
13
|
+
return value?._isReanimatedSharedValue === true;
|
|
14
|
+
};
|
|
15
|
+
const snapshotSharedValue = value => {
|
|
16
|
+
"worklet";
|
|
17
|
+
|
|
18
|
+
return value.value;
|
|
19
|
+
};
|
|
20
|
+
const snapshotTransformArrayValue = value => {
|
|
21
|
+
"worklet";
|
|
22
|
+
|
|
23
|
+
const snapshot = [];
|
|
24
|
+
for (let index = 0; index < value.length; index++) {
|
|
25
|
+
const snapshotValue = snapshotTransformEntryValue(value[index]);
|
|
26
|
+
if (snapshotValue !== undefined) {
|
|
27
|
+
snapshot.push(snapshotValue);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return snapshot;
|
|
31
|
+
};
|
|
32
|
+
const snapshotTransformEntryValue = value => {
|
|
33
|
+
"worklet";
|
|
34
|
+
|
|
35
|
+
if (isSharedValueLike(value)) {
|
|
36
|
+
return snapshotSharedValue(value);
|
|
37
|
+
}
|
|
38
|
+
if (Array.isArray(value)) {
|
|
39
|
+
return snapshotTransformArrayValue(value);
|
|
40
|
+
}
|
|
41
|
+
if (typeof value === "function") {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return value === null || typeof value !== "object" ? value : undefined;
|
|
45
|
+
};
|
|
46
|
+
const snapshotTransformItem = value => {
|
|
47
|
+
"worklet";
|
|
48
|
+
|
|
49
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
50
|
+
return snapshotTransformEntryValue(value);
|
|
51
|
+
}
|
|
52
|
+
const snapshot = {};
|
|
53
|
+
const source = value;
|
|
54
|
+
let hasValue = false;
|
|
55
|
+
for (const key in source) {
|
|
56
|
+
const snapshotValue = snapshotTransformEntryValue(source[key]);
|
|
57
|
+
if (snapshotValue !== undefined) {
|
|
58
|
+
snapshot[key] = snapshotValue;
|
|
59
|
+
hasValue = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return hasValue ? snapshot : undefined;
|
|
63
|
+
};
|
|
64
|
+
const snapshotTransform = value => {
|
|
65
|
+
"worklet";
|
|
66
|
+
|
|
67
|
+
if (!Array.isArray(value)) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const snapshot = [];
|
|
71
|
+
for (let index = 0; index < value.length; index++) {
|
|
72
|
+
const snapshotValue = snapshotTransformItem(value[index]);
|
|
73
|
+
if (snapshotValue !== undefined) {
|
|
74
|
+
snapshot.push(snapshotValue);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return snapshot;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Link styles are measurement metadata, not a general style serializer.
|
|
82
|
+
* Snapshot only the fields bounds currently consume: primitives, top-level
|
|
83
|
+
* shared values, and transform entries. Object-valued non-transform styles are
|
|
84
|
+
* intentionally omitted to avoid retaining opaque/native style objects.
|
|
85
|
+
*/
|
|
86
|
+
const snapshotStyles = styles => {
|
|
87
|
+
"worklet";
|
|
88
|
+
|
|
89
|
+
if (!styles || typeof styles !== "object" || Array.isArray(styles)) {
|
|
90
|
+
return {};
|
|
91
|
+
}
|
|
92
|
+
const snapshot = {};
|
|
93
|
+
const source = styles;
|
|
94
|
+
for (const key in source) {
|
|
95
|
+
const value = source[key];
|
|
96
|
+
if (key === "transform") {
|
|
97
|
+
const transform = snapshotTransform(value);
|
|
98
|
+
if (transform !== undefined) {
|
|
99
|
+
snapshot.transform = transform;
|
|
100
|
+
}
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (isSharedValueLike(value)) {
|
|
104
|
+
snapshot[key] = snapshotSharedValue(value);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (value === null || typeof value !== "object") {
|
|
108
|
+
snapshot[key] = value;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return snapshot;
|
|
112
|
+
};
|
|
113
|
+
const createLinkSide = (screenKey, bounds, styles, runtimeFlags = {}) => {
|
|
11
114
|
"worklet";
|
|
12
115
|
|
|
13
116
|
return {
|
|
14
117
|
screenKey,
|
|
15
118
|
bounds,
|
|
16
|
-
styles
|
|
119
|
+
styles: snapshotStyles(styles),
|
|
120
|
+
handoff: runtimeFlags.handoff ? true : undefined,
|
|
121
|
+
escapeClipping: runtimeFlags.escapeClipping ? true : undefined
|
|
17
122
|
};
|
|
18
123
|
};
|
|
19
124
|
const writePairLink = (state, pairKey, linkKey, link) => {
|
|
@@ -44,32 +149,16 @@ const writeDestination = (state, pairKey, linkKey, screenKey, bounds, styles, gr
|
|
|
44
149
|
};
|
|
45
150
|
link.group = group ?? link.group;
|
|
46
151
|
link.destination = destination;
|
|
47
|
-
link.initialDestination
|
|
152
|
+
if (!link.initialDestination) {
|
|
153
|
+
link.initialDestination = destination;
|
|
154
|
+
}
|
|
48
155
|
syncLinkStatus(link);
|
|
49
156
|
writePairLink(state, pairKey, linkKey, link);
|
|
50
157
|
if (link.group) {
|
|
51
158
|
writeGroup(state, pairKey, link.group, linkKey);
|
|
52
159
|
}
|
|
53
160
|
};
|
|
54
|
-
|
|
55
|
-
"worklet";
|
|
56
|
-
|
|
57
|
-
if (getPairLink(state, pairKey, linkKey)) return;
|
|
58
|
-
const sourceScreenKey = getSourceScreenKeyFromPairKey(pairKey);
|
|
59
|
-
const pendingPairKey = createPendingPairKey(sourceScreenKey);
|
|
60
|
-
if (pendingPairKey === pairKey) return;
|
|
61
|
-
const pendingLink = getPairLink(state, pendingPairKey, linkKey);
|
|
62
|
-
if (!pendingLink) return;
|
|
63
|
-
writePairLink(state, pairKey, linkKey, pendingLink);
|
|
64
|
-
if (pendingLink.group) {
|
|
65
|
-
const pendingGroupState = state[pendingPairKey]?.groups?.[pendingLink.group];
|
|
66
|
-
if (pendingGroupState) {
|
|
67
|
-
writeGroup(state, pairKey, pendingLink.group, pendingGroupState.activeId, pendingGroupState.initialId);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
removePairLink(state, pendingPairKey, linkKey);
|
|
71
|
-
};
|
|
72
|
-
function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAttachTarget, sourceHost) {
|
|
161
|
+
function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, runtimeFlags = {}) {
|
|
73
162
|
"worklet";
|
|
74
163
|
|
|
75
164
|
pairs.modify(state => {
|
|
@@ -78,13 +167,8 @@ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAt
|
|
|
78
167
|
const linkKey = getLinkKeyFromTag(tag);
|
|
79
168
|
const pairLinks = ensurePairLinks(state, pairKey);
|
|
80
169
|
const existingLink = pairLinks[linkKey];
|
|
81
|
-
|
|
82
|
-
// Refresh paths may re-measure the source without portal context;
|
|
83
|
-
// keep the previously recorded host in that case.
|
|
84
170
|
const source = {
|
|
85
|
-
...createLinkSide(screenKey, bounds, styles)
|
|
86
|
-
portalAttachTarget: portalAttachTarget ?? existingLink?.source?.portalAttachTarget,
|
|
87
|
-
sourceHost: sourceHost ?? existingLink?.source?.sourceHost
|
|
171
|
+
...createLinkSide(screenKey, bounds, styles, runtimeFlags)
|
|
88
172
|
};
|
|
89
173
|
const link = existingLink ?? {
|
|
90
174
|
group,
|
|
@@ -95,13 +179,12 @@ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAt
|
|
|
95
179
|
};
|
|
96
180
|
link.group = group ?? link.group;
|
|
97
181
|
link.source = source;
|
|
98
|
-
link.initialSource
|
|
182
|
+
if (!link.initialSource) {
|
|
183
|
+
link.initialSource = source;
|
|
184
|
+
}
|
|
99
185
|
syncLinkStatus(link);
|
|
100
186
|
pairLinks[linkKey] = link;
|
|
101
|
-
|
|
102
|
-
if (pendingPairKey !== pairKey) {
|
|
103
|
-
removePairLink(state, pendingPairKey, linkKey);
|
|
104
|
-
}
|
|
187
|
+
delete state[pairKey]?.sourceRequests?.[linkKey];
|
|
105
188
|
return state;
|
|
106
189
|
});
|
|
107
190
|
}
|
|
@@ -112,7 +195,6 @@ function setDestination(pairKey, tag, screenKey, bounds, styles = {}, group) {
|
|
|
112
195
|
"worklet";
|
|
113
196
|
|
|
114
197
|
const linkKey = getLinkKeyFromTag(tag);
|
|
115
|
-
promotePendingSource(state, pairKey, linkKey);
|
|
116
198
|
writeDestination(state, pairKey, linkKey, screenKey, bounds, styles, group);
|
|
117
199
|
return state;
|
|
118
200
|
});
|
|
@@ -127,6 +209,21 @@ function setActiveGroupId(pairKey, group, tag) {
|
|
|
127
209
|
return state;
|
|
128
210
|
});
|
|
129
211
|
}
|
|
212
|
+
function requestSourceMeasure(pairKey, tag) {
|
|
213
|
+
"worklet";
|
|
214
|
+
|
|
215
|
+
pairs.modify(state => {
|
|
216
|
+
"worklet";
|
|
217
|
+
|
|
218
|
+
const linkKey = getLinkKeyFromTag(tag);
|
|
219
|
+
const link = getPairLink(state, pairKey, linkKey);
|
|
220
|
+
if (link?.source || state[pairKey]?.sourceRequests?.[linkKey]) {
|
|
221
|
+
return state;
|
|
222
|
+
}
|
|
223
|
+
ensurePairSourceRequests(state, pairKey)[linkKey] = true;
|
|
224
|
+
return state;
|
|
225
|
+
});
|
|
226
|
+
}
|
|
130
227
|
function getActiveGroupId(pairKey, group) {
|
|
131
228
|
"worklet";
|
|
132
229
|
|
|
@@ -142,28 +239,13 @@ const hasSourceLink = link => {
|
|
|
142
239
|
|
|
143
240
|
return !!link?.source;
|
|
144
241
|
};
|
|
145
|
-
const getPendingSourceLink = (state, pairKey, linkKey) => {
|
|
146
|
-
"worklet";
|
|
147
|
-
|
|
148
|
-
const sourceScreenKey = getSourceScreenKeyFromPairKey(pairKey);
|
|
149
|
-
const pendingPairKey = createPendingPairKey(sourceScreenKey);
|
|
150
|
-
if (pendingPairKey === pairKey) return null;
|
|
151
|
-
return getPairLink(state, pendingPairKey, linkKey);
|
|
152
|
-
};
|
|
153
242
|
function getResolvedLink(pairKey, tag) {
|
|
154
243
|
"worklet";
|
|
155
244
|
|
|
156
245
|
const state = pairs.get();
|
|
157
246
|
const linkKey = getLinkKeyFromTag(tag);
|
|
158
247
|
const group = getGroupKeyFromTag(tag);
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
// Press-triggered zoom captures the source before navigation under a pending
|
|
162
|
-
// source<> pair. If the destination screen has no Boundary.View, nothing
|
|
163
|
-
// promotes that source into source<>destination, but zoom can still animate to
|
|
164
|
-
// its default top target from the pending source bounds.
|
|
165
|
-
const fallbackPendingLink = requestedLink ? null : getPendingSourceLink(state, pairKey, linkKey);
|
|
166
|
-
const link = requestedLink ?? fallbackPendingLink;
|
|
248
|
+
const link = getPairLink(state, pairKey, linkKey);
|
|
167
249
|
|
|
168
250
|
// Group active ids can update before the new member has a full source/destination
|
|
169
251
|
// link. As soon as the requested member has source bounds, prefer it; only
|
|
@@ -176,7 +258,7 @@ function getResolvedLink(pairKey, tag) {
|
|
|
176
258
|
}
|
|
177
259
|
const initialId = state[pairKey]?.groups?.[group]?.initialId;
|
|
178
260
|
if (initialId) {
|
|
179
|
-
const initialLink = getPairLink(state, pairKey, initialId)
|
|
261
|
+
const initialLink = getPairLink(state, pairKey, initialId);
|
|
180
262
|
if (hasSourceLink(initialLink)) {
|
|
181
263
|
return {
|
|
182
264
|
tag: createGroupTag(group, initialId),
|
|
@@ -199,5 +281,5 @@ function getDestination(pairKey, tag) {
|
|
|
199
281
|
|
|
200
282
|
return getPairDestination(pairs.get(), pairKey, getLinkKeyFromTag(tag));
|
|
201
283
|
}
|
|
202
|
-
export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, setActiveGroupId, setDestination, setSource };
|
|
284
|
+
export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource };
|
|
203
285
|
//# sourceMappingURL=links.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupTag","
|
|
1
|
+
{"version":3,"names":["createGroupTag","ensurePairGroups","ensurePairLinks","ensurePairSourceRequests","getGroupKeyFromTag","getLinkKeyFromTag","getActiveGroupId","getPairActiveGroupId","getDestination","getPairDestination","getLink","getPairLink","getSource","getPairSource","pairs","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","writeGroup","group","activeId","initialId","previousInitialId","groups","writeDestination","existingLink","initialDestination","setSource","tag","modify","pairLinks","initialSource","sourceRequests","setDestination","setActiveGroupId","requestSourceMeasure","get","hasSourceLink","getResolvedLink","initialLink"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/links.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,9 +23,7 @@ function resolveTransitionPair(tag, context) {
|
|
|
23
23
|
sourceStyles: matchedLink?.source?.styles ?? null,
|
|
24
24
|
destinationStyles: matchedLink?.destination?.styles ?? null,
|
|
25
25
|
sourceScreenKey: matchedLink?.source?.screenKey ?? null,
|
|
26
|
-
destinationScreenKey: matchedLink?.destination?.screenKey ?? null
|
|
27
|
-
sourcePortalAttachTarget: matchedLink?.source?.portalAttachTarget,
|
|
28
|
-
sourceHost: matchedLink?.source?.sourceHost
|
|
26
|
+
destinationScreenKey: matchedLink?.destination?.screenKey ?? null
|
|
29
27
|
};
|
|
30
28
|
}
|
|
31
29
|
export { resolveTransitionPair };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createScreenPairKey","getResolvedLink","resolvePairKey","context","entering","previousScreenKey","currentScreenKey","nextScreenKey","resolveTransitionPair","tag","pairKey","matchedLink","link","sourceBounds","source","bounds","destinationBounds","destination","sourceStyles","styles","destinationStyles","sourceScreenKey","screenKey","destinationScreenKey"
|
|
1
|
+
{"version":3,"names":["createScreenPairKey","getResolvedLink","resolvePairKey","context","entering","previousScreenKey","currentScreenKey","nextScreenKey","resolveTransitionPair","tag","pairKey","matchedLink","link","sourceBounds","source","bounds","destinationBounds","destination","sourceStyles","styles","destinationStyles","sourceScreenKey","screenKey","destinationScreenKey"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/resolver.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,+BAA+B;AAOnE,SAASC,eAAe,QAAQ,SAAS;AAEzC,SAASC,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,OAAON,mBAAmB,CACzBG,OAAO,CAACE,iBAAiB,EACzBF,OAAO,CAACG,gBACT,CAAC;EACF;EAEA,IAAI,CAACH,OAAO,CAACG,gBAAgB,IAAI,CAACH,OAAO,CAACI,aAAa,EAAE,OAAO,IAAI;EACpE,OAAOP,mBAAmB,CAACG,OAAO,CAACG,gBAAgB,EAAEH,OAAO,CAACI,aAAa,CAAC;AAC5E;AAEA,SAASC,qBAAqBA,CAC7BC,GAAU,EACVN,OAAiC,EACR;EACzB,SAAS;;EACT,MAAMO,OAAO,GAAGR,cAAc,CAACC,OAAO,CAAC;EACvC,MAAMQ,WAAW,GAAGD,OAAO,GAAGT,eAAe,CAACS,OAAO,EAAED,GAAG,CAAC,CAACG,IAAI,GAAG,IAAI;EAEvE,OAAO;IACNC,YAAY,EAAEF,WAAW,EAAEG,MAAM,EAAEC,MAAM,IAAI,IAAI;IACjDC,iBAAiB,EAAEL,WAAW,EAAEM,WAAW,EAAEF,MAAM,IAAI,IAAI;IAC3DG,YAAY,EAAEP,WAAW,EAAEG,MAAM,EAAEK,MAAM,IAAI,IAAI;IACjDC,iBAAiB,EAAET,WAAW,EAAEM,WAAW,EAAEE,MAAM,IAAI,IAAI;IAC3DE,eAAe,EAAEV,WAAW,EAAEG,MAAM,EAAEQ,SAAS,IAAI,IAAI;IACvDC,oBAAoB,EAAEZ,WAAW,EAAEM,WAAW,EAAEK,SAAS,IAAI;EAC9D,CAAC;AACF;AAEA,SAASd,qBAAqB","ignoreList":[]}
|
|
@@ -54,6 +54,11 @@ export const SystemStore = createStore({
|
|
|
54
54
|
"worklet";
|
|
55
55
|
|
|
56
56
|
bag.pendingLifecycleStartBlockCount.set(Math.max(0, bag.pendingLifecycleStartBlockCount.get() - 1));
|
|
57
|
+
},
|
|
58
|
+
drainLifecycleStartBlocks() {
|
|
59
|
+
"worklet";
|
|
60
|
+
|
|
61
|
+
bag.pendingLifecycleStartBlockCount.set(0);
|
|
57
62
|
}
|
|
58
63
|
})
|
|
59
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cancelAnimation","makeMutable","createStore","LifecycleTransitionRequestKind","SystemStore","createBag","targetProgress","resolvedAutoSnapPoint","measuredContentLayout","pendingLifecycleRequestKind","None","pendingLifecycleRequestTarget","pendingLifecycleStartBlockCount","disposeBag","bag","actions","requestLifecycleTransition","kind","target","set","clearLifecycleTransitionRequest","blockLifecycleStart","get","unblockLifecycleStart","Math","max"],"sourceRoot":"../../../../src","sources":["shared/stores/system.store.ts"],"mappings":";;AAAA,SACCA,eAAe,EACfC,WAAW,QAEL,yBAAyB;AAEhC,SAASC,WAAW,QAAQ,uBAAuB;AAEnD,WAAYC,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;
|
|
1
|
+
{"version":3,"names":["cancelAnimation","makeMutable","createStore","LifecycleTransitionRequestKind","SystemStore","createBag","targetProgress","resolvedAutoSnapPoint","measuredContentLayout","pendingLifecycleRequestKind","None","pendingLifecycleRequestTarget","pendingLifecycleStartBlockCount","disposeBag","bag","actions","requestLifecycleTransition","kind","target","set","clearLifecycleTransitionRequest","blockLifecycleStart","get","unblockLifecycleStart","Math","max","drainLifecycleStartBlocks"],"sourceRoot":"../../../../src","sources":["shared/stores/system.store.ts"],"mappings":";;AAAA,SACCA,eAAe,EACfC,WAAW,QAEL,yBAAyB;AAEhC,SAASC,WAAW,QAAQ,uBAAuB;AAEnD,WAAYC,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAoD1C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGF,WAAW,CAAuC;EAC5EG,SAAS,EAAEA,CAAA,MAAO;IACjBC,cAAc,EAAEL,WAAW,CAAC,CAAC,CAAC;IAC9BM,qBAAqB,EAAEN,WAAW,CAAC,CAAC,CAAC,CAAC;IACtCO,qBAAqB,EAAEP,WAAW,CAAgB,IAAI,CAAC;IACvDQ,2BAA2B,EAAER,WAAW,CACvCE,8BAA8B,CAACO,IAChC,CAAC;IACDC,6BAA6B,EAAEV,WAAW,CAAS,CAAC,CAAC;IACrDW,+BAA+B,EAAEX,WAAW,CAAS,CAAC;EACvD,CAAC,CAAC;EACFY,UAAU,EAAGC,GAAG,IAAK;IACpBd,eAAe,CAACc,GAAG,CAACR,cAAc,CAAC;IACnCN,eAAe,CAACc,GAAG,CAACP,qBAAqB,CAAC;IAC1CP,eAAe,CAACc,GAAG,CAACN,qBAAqB,CAAC;IAC1CR,eAAe,CAACc,GAAG,CAACL,2BAA2B,CAAC;IAChDT,eAAe,CAACc,GAAG,CAACH,6BAA6B,CAAC;IAClDX,eAAe,CAACc,GAAG,CAACF,+BAA+B,CAAC;EACrD,CAAC;EACDG,OAAO,EAAGD,GAAG,KAAM;IAClBE,0BAA0BA,CAACC,IAAI,EAAEC,MAAM,EAAE;MACxC,SAAS;;MACTJ,GAAG,CAACH,6BAA6B,CAACQ,GAAG,CAACD,MAAM,CAAC;MAC7CJ,GAAG,CAACL,2BAA2B,CAACU,GAAG,CAACF,IAAI,CAAC;IAC1C,CAAC;IAEDG,+BAA+BA,CAAA,EAAG;MACjC,SAAS;;MACTN,GAAG,CAACL,2BAA2B,CAACU,GAAG,CAAChB,8BAA8B,CAACO,IAAI,CAAC;MACxEI,GAAG,CAACH,6BAA6B,CAACQ,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAEDE,mBAAmBA,CAAA,EAAG;MACrB,SAAS;;MACTP,GAAG,CAACF,+BAA+B,CAACO,GAAG,CACtCL,GAAG,CAACF,+BAA+B,CAACU,GAAG,CAAC,CAAC,GAAG,CAC7C,CAAC;IACF,CAAC;IAEDC,qBAAqBA,CAAA,EAAG;MACvB,SAAS;;MACTT,GAAG,CAACF,+BAA+B,CAACO,GAAG,CACtCK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEX,GAAG,CAACF,+BAA+B,CAACU,GAAG,CAAC,CAAC,GAAG,CAAC,CAC1D,CAAC;IACF,CAAC;IAEDI,yBAAyBA,CAAA,EAAG;MAC3B,SAAS;;MACTZ,GAAG,CAACF,+BAA+B,CAACO,GAAG,CAAC,CAAC,CAAC;IAC3C;EACD,CAAC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NAVIGATION_MASK_CONTAINER_STYLE_ID","NAVIGATION_MASK_ELEMENT_STYLE_ID"],"sourceRoot":"../../../../src","sources":["shared/types/animation.types.ts"],"mappings":";;AAGA,SACCA,kCAAkC,EAClCC,gCAAgC,QAC1B,cAAc;;AAOrB;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["NAVIGATION_MASK_CONTAINER_STYLE_ID","NAVIGATION_MASK_ELEMENT_STYLE_ID"],"sourceRoot":"../../../../src","sources":["shared/types/animation.types.ts"],"mappings":";;AAGA,SACCA,kCAAkC,EAClCC,gCAAgC,QAC1B,cAAc;;AAOrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAyQA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAgBA;AACA;AACA;;AAsBA;AACA;AACA;;AAGA;AACA;AACA","ignoreList":[]}
|
|
@@ -1,38 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { ENTER_RANGE, EXIT_RANGE, FULLSCREEN_DIMENSIONS, NO_STYLES } from "../../../../constants";
|
|
4
|
+
import { createScreenPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
|
|
5
|
+
import { requestSourceMeasure } from "../../../../stores/bounds/internals/links";
|
|
4
6
|
import { resolveTransitionPair } from "../../../../stores/bounds/internals/resolver";
|
|
5
|
-
import { getClampedScrollAxisDelta } from "../../../../stores/scroll.store";
|
|
6
7
|
import { computeContentTransformGeometry, computeRelativeGeometry } from "../geometry";
|
|
7
8
|
import { composeContentStyle, composeSizeAbsolute, composeSizeRelative, composeTransformAbsolute, composeTransformRelative } from "./composers";
|
|
8
|
-
|
|
9
|
-
"worklet";
|
|
10
|
-
|
|
11
|
-
return bounds?.scroll ?? null;
|
|
12
|
-
};
|
|
13
|
-
const getScreenScrollMetadata = (screenKey, previous, current, next) => {
|
|
14
|
-
"worklet";
|
|
15
|
-
|
|
16
|
-
if (!screenKey) return null;
|
|
17
|
-
if (previous?.route.key === screenKey) return previous.layouts?.scroll ?? null;
|
|
18
|
-
if (current?.route.key === screenKey) return current.layouts?.scroll ?? null;
|
|
19
|
-
if (next?.route.key === screenKey) return next.layouts?.scroll ?? null;
|
|
20
|
-
return null;
|
|
21
|
-
};
|
|
22
|
-
const shiftBounds = (bounds, dx, dy) => {
|
|
23
|
-
"worklet";
|
|
24
|
-
|
|
25
|
-
if (dx === 0 && dy === 0) {
|
|
26
|
-
return bounds;
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
...bounds,
|
|
30
|
-
x: bounds.x + dx,
|
|
31
|
-
y: bounds.y + dy,
|
|
32
|
-
pageX: bounds.pageX + dx,
|
|
33
|
-
pageY: bounds.pageY + dy
|
|
34
|
-
};
|
|
35
|
-
};
|
|
9
|
+
import { attachBoundsLocalTransform } from "./local-transform";
|
|
36
10
|
const resolveStartEnd = params => {
|
|
37
11
|
"worklet";
|
|
38
12
|
|
|
@@ -44,6 +18,7 @@ const resolveStartEnd = params => {
|
|
|
44
18
|
const currentScreenKey = params.current?.route.key;
|
|
45
19
|
const previousScreenKey = params.previous?.route.key;
|
|
46
20
|
const nextScreenKey = params.next?.route.key;
|
|
21
|
+
const sourceMeasurePairKey = entering && previousScreenKey && currentScreenKey ? createScreenPairKey(previousScreenKey, currentScreenKey) : !entering && currentScreenKey && nextScreenKey ? createScreenPairKey(currentScreenKey, nextScreenKey) : null;
|
|
47
22
|
const resolvedPair = params.resolvedPair ?? resolveTransitionPair(String(params.id), {
|
|
48
23
|
currentScreenKey,
|
|
49
24
|
previousScreenKey,
|
|
@@ -53,6 +28,9 @@ const resolveStartEnd = params => {
|
|
|
53
28
|
const sourceBounds = resolvedPair.sourceBounds;
|
|
54
29
|
const destinationBounds = resolvedPair.destinationBounds;
|
|
55
30
|
if (!sourceBounds) {
|
|
31
|
+
if (hasTargetOverride && sourceMeasurePairKey) {
|
|
32
|
+
requestSourceMeasure(sourceMeasurePairKey, String(params.id));
|
|
33
|
+
}
|
|
56
34
|
return {
|
|
57
35
|
start: null,
|
|
58
36
|
end: null,
|
|
@@ -76,42 +54,7 @@ const resolveStartEnd = params => {
|
|
|
76
54
|
hasTargetOverride
|
|
77
55
|
};
|
|
78
56
|
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Teleport continuity: this screen's source content physically renders
|
|
82
|
-
* inside the matched screen's portal host, which travels with that screen's
|
|
83
|
-
* ScrollView. Screen-fixed rects (the source, fullscreen/custom targets)
|
|
84
|
-
* must be expressed in the host's frame by the clamped scroll travel since
|
|
85
|
-
* the destination capture. The destination rect rides with the host, so it
|
|
86
|
-
* stays untouched. Classic two-component links never set a portal host and
|
|
87
|
-
* skip this entirely.
|
|
88
|
-
*/
|
|
89
|
-
const isTeleportedSourceElement = resolvedPair.sourcePortalAttachTarget === "matched-screen" && !!currentScreenKey && currentScreenKey === resolvedPair.sourceScreenKey && !!resolvedPair.destinationScreenKey && currentScreenKey !== resolvedPair.destinationScreenKey && params.computeOptions.method !== "content";
|
|
90
|
-
let teleportShiftX = 0;
|
|
91
|
-
let teleportShiftY = 0;
|
|
92
|
-
let sourceScrollShiftX = 0;
|
|
93
|
-
let sourceScrollShiftY = 0;
|
|
94
|
-
if (isTeleportedSourceElement) {
|
|
95
|
-
const capturedScroll = getBoundsScrollSnapshot(destinationBounds);
|
|
96
|
-
const liveScroll = getScreenScrollMetadata(resolvedPair.destinationScreenKey, params.previous, params.current, params.next);
|
|
97
|
-
teleportShiftX = getClampedScrollAxisDelta(liveScroll, capturedScroll, "horizontal");
|
|
98
|
-
teleportShiftY = getClampedScrollAxisDelta(liveScroll, capturedScroll, "vertical");
|
|
99
|
-
|
|
100
|
-
// A source that lives inside its own scroll host travels with that
|
|
101
|
-
// ScrollView in page space. Shifting the start rect by the clamped source
|
|
102
|
-
// scroll travel keeps it aligned with the live placeholder; the host
|
|
103
|
-
// placement applies the identical shift, so the shifts cancel at full
|
|
104
|
-
// progress and the open frame is untouched. Screen-fixed rects (the
|
|
105
|
-
// fullscreen/custom end targets below) are not inside the scroll content
|
|
106
|
-
// and keep only the destination shift.
|
|
107
|
-
if (resolvedPair.sourceHost?.capturesScroll) {
|
|
108
|
-
const capturedSourceScroll = getBoundsScrollSnapshot(sourceBounds);
|
|
109
|
-
const liveSourceScroll = getScreenScrollMetadata(resolvedPair.sourceScreenKey, params.previous, params.current, params.next);
|
|
110
|
-
sourceScrollShiftX = getClampedScrollAxisDelta(liveSourceScroll, capturedSourceScroll, "horizontal");
|
|
111
|
-
sourceScrollShiftY = getClampedScrollAxisDelta(liveSourceScroll, capturedSourceScroll, "vertical");
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
const start = shiftBounds(sourceBounds, teleportShiftX - sourceScrollShiftX, teleportShiftY - sourceScrollShiftY);
|
|
57
|
+
const start = sourceBounds;
|
|
115
58
|
let end = destinationBounds ?? fullscreen;
|
|
116
59
|
if (isFullscreenTarget) {
|
|
117
60
|
end = fullscreen;
|
|
@@ -120,9 +63,6 @@ const resolveStartEnd = params => {
|
|
|
120
63
|
if (typeof customTarget === "object") {
|
|
121
64
|
end = customTarget;
|
|
122
65
|
}
|
|
123
|
-
if (hasTargetOverride) {
|
|
124
|
-
end = shiftBounds(end, teleportShiftX, teleportShiftY);
|
|
125
|
-
}
|
|
126
66
|
return {
|
|
127
67
|
start,
|
|
128
68
|
end,
|
|
@@ -209,6 +149,7 @@ export const computeBoundStyles = ({
|
|
|
209
149
|
};
|
|
210
150
|
const isSize = computeOptions.method === "size";
|
|
211
151
|
const isAbsolute = computeOptions.space === "absolute";
|
|
212
|
-
|
|
152
|
+
const style = isSize ? isAbsolute ? composeSizeAbsolute(common) : composeSizeRelative(common) : isAbsolute ? composeTransformAbsolute(common) : composeTransformRelative(common);
|
|
153
|
+
return attachBoundsLocalTransform(style, entering ? resolvedPair?.destinationStyles ?? null : resolvedPair?.sourceStyles ?? null);
|
|
213
154
|
};
|
|
214
155
|
//# sourceMappingURL=compute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENTER_RANGE","EXIT_RANGE","FULLSCREEN_DIMENSIONS","NO_STYLES","
|
|
1
|
+
{"version":3,"names":["ENTER_RANGE","EXIT_RANGE","FULLSCREEN_DIMENSIONS","NO_STYLES","createScreenPairKey","requestSourceMeasure","resolveTransitionPair","computeContentTransformGeometry","computeRelativeGeometry","composeContentStyle","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","attachBoundsLocalTransform","resolveStartEnd","params","entering","next","fullscreen","dimensions","isFullscreenTarget","computeOptions","target","hasCustomTarget","hasTargetOverride","currentScreenKey","current","route","key","previousScreenKey","previous","nextScreenKey","sourceMeasurePairKey","resolvedPair","String","id","sourceBounds","destinationBounds","start","end","sourceScreenKey","destinationScreenKey","customTarget","computeBoundStyles","progress","interpolationProps","ranges","method","currentOwnsSource","contentStart","contentEnd","geometry","anchor","scaleMode","common","isSize","isAbsolute","space","style","destinationStyles","sourceStyles"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/helpers/styles/compute.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const BOUNDS_LOCAL_TRANSFORM_STYLE_KEY = "__screenTransitionsBoundsLocalTransform";
|
|
4
|
+
const getTransformFromPreparedStyle = style => {
|
|
5
|
+
"worklet";
|
|
6
|
+
|
|
7
|
+
if (style === null || style === undefined || typeof style !== "object" || Array.isArray(style)) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const transform = style.transform;
|
|
11
|
+
return Array.isArray(transform) ? transform : undefined;
|
|
12
|
+
};
|
|
13
|
+
export const attachBoundsLocalTransform = (slotStyle, localStyle) => {
|
|
14
|
+
"worklet";
|
|
15
|
+
|
|
16
|
+
const localTransform = getTransformFromPreparedStyle(localStyle);
|
|
17
|
+
if (!localTransform?.length) {
|
|
18
|
+
return slotStyle;
|
|
19
|
+
}
|
|
20
|
+
const next = {};
|
|
21
|
+
const source = slotStyle;
|
|
22
|
+
for (const key in source) {
|
|
23
|
+
next[key] = source[key];
|
|
24
|
+
}
|
|
25
|
+
next[BOUNDS_LOCAL_TRANSFORM_STYLE_KEY] = localTransform;
|
|
26
|
+
return next;
|
|
27
|
+
};
|
|
28
|
+
export const getBoundsLocalTransform = style => {
|
|
29
|
+
"worklet";
|
|
30
|
+
|
|
31
|
+
if (!style) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return style[BOUNDS_LOCAL_TRANSFORM_STYLE_KEY];
|
|
35
|
+
};
|
|
36
|
+
export const stripBoundsLocalTransform = style => {
|
|
37
|
+
"worklet";
|
|
38
|
+
|
|
39
|
+
if (style[BOUNDS_LOCAL_TRANSFORM_STYLE_KEY] === undefined) {
|
|
40
|
+
return style;
|
|
41
|
+
}
|
|
42
|
+
const rest = {};
|
|
43
|
+
const source = style;
|
|
44
|
+
for (const key in source) {
|
|
45
|
+
if (key === BOUNDS_LOCAL_TRANSFORM_STYLE_KEY) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
rest[key] = source[key];
|
|
49
|
+
}
|
|
50
|
+
return rest;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=local-transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BOUNDS_LOCAL_TRANSFORM_STYLE_KEY","getTransformFromPreparedStyle","style","undefined","Array","isArray","transform","attachBoundsLocalTransform","slotStyle","localStyle","localTransform","length","next","source","key","getBoundsLocalTransform","stripBoundsLocalTransform","rest"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/helpers/styles/local-transform.ts"],"mappings":";;AAEA,OAAO,MAAMA,gCAAgC,GAC5C,yCAAyC;AAM1C,MAAMC,6BAA6B,GAClCC,KAAc,IACwB;EACtC,SAAS;;EAET,IACCA,KAAK,KAAK,IAAI,IACdA,KAAK,KAAKC,SAAS,IACnB,OAAOD,KAAK,KAAK,QAAQ,IACzBE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EACnB;IACD,OAAOC,SAAS;EACjB;EAEA,MAAMG,SAAS,GAAIJ,KAAK,CAA6BI,SAAS;EAE9D,OAAOF,KAAK,CAACC,OAAO,CAACC,SAAS,CAAC,GAC3BA,SAAS,GACVH,SAAS;AACb,CAAC;AAED,OAAO,MAAMI,0BAA0B,GAAGA,CACzCC,SAAqB,EACrBC,UAAyC,KACzB;EAChB,SAAS;;EACT,MAAMC,cAAc,GAAGT,6BAA6B,CAACQ,UAAU,CAAC;EAEhE,IAAI,CAACC,cAAc,EAAEC,MAAM,EAAE;IAC5B,OAAOH,SAAS;EACjB;EAEA,MAAMI,IAA6B,GAAG,CAAC,CAAC;EACxC,MAAMC,MAAM,GAAGL,SAAoC;EAEnD,KAAK,MAAMM,GAAG,IAAID,MAAM,EAAE;IACzBD,IAAI,CAACE,GAAG,CAAC,GAAGD,MAAM,CAACC,GAAG,CAAC;EACxB;EAEAF,IAAI,CAACZ,gCAAgC,CAAC,GAAGU,cAAc;EAEvD,OAAOE,IAAI;AACZ,CAAC;AAED,OAAO,MAAMG,uBAAuB,GACnCb,KAA6B,IACS;EACtC,SAAS;;EACT,IAAI,CAACA,KAAK,EAAE;IACX,OAAOC,SAAS;EACjB;EAEA,OAAQD,KAAK,CAA+BF,gCAAgC,CAAC;AAC9E,CAAC;AAED,OAAO,MAAMgB,yBAAyB,GAAId,KAAiB,IAAiB;EAC3E,SAAS;;EACT,IACEA,KAAK,CAA+BF,gCAAgC,CAAC,KACtEG,SAAS,EACR;IACD,OAAOD,KAAK;EACb;EAEA,MAAMe,IAA6B,GAAG,CAAC,CAAC;EACxC,MAAMJ,MAAM,GAAGX,KAAgC;EAE/C,KAAK,MAAMY,GAAG,IAAID,MAAM,EAAE;IACzB,IAAIC,GAAG,KAAKd,gCAAgC,EAAE;MAC7C;IACD;IAEAiB,IAAI,CAACH,GAAG,CAAC,GAAGD,MAAM,CAACC,GAAG,CAAC;EACxB;EAEA,OAAOG,IAAI;AACZ,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type NavigatorTypeBagBase, type ParamListBase, type StackNavigationState, type StaticConfig, type TypedNavigator } from "@react-navigation/native";
|
|
2
|
-
import * as React from "react";
|
|
3
2
|
import type { BlankStackNavigationEventMap, BlankStackNavigationOptions, BlankStackNavigationProp, BlankStackNavigatorProps } from "../types";
|
|
4
|
-
declare function BlankStackNavigator({ enableNativeScreens, independent, nativeScreens, ...rest }: BlankStackNavigatorProps):
|
|
3
|
+
declare function BlankStackNavigator({ enableNativeScreens, independent, nativeScreens, ...rest }: BlankStackNavigatorProps): import("react/jsx-runtime").JSX.Element;
|
|
5
4
|
declare namespace BlankStackNavigator {
|
|
6
5
|
var displayName: string;
|
|
7
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-blank-stack-navigator.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/navigators/create-blank-stack-navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAGzB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-blank-stack-navigator.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/navigators/create-blank-stack-navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAGzB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAEX,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,UAAU,CAAC;AAsDlB,iBAAS,mBAAmB,CAAC,EAC5B,mBAAmB,EACnB,WAAmB,EACnB,aAAa,EACb,GAAG,IAAI,EACP,EAAE,wBAAwB,2CAwB1B;kBA7BQ,mBAAmB;;;AAiC5B,KAAK,iBAAiB,CACrB,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,IACnC;IACH,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvC,aAAa,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,EAAE,4BAA4B,CAAC;IACvC,cAAc,EAAE;SACd,SAAS,IAAI,MAAM,SAAS,GAAG,wBAAwB,CACvD,SAAS,EACT,SAAS,EACT,WAAW,CACX;KACD,CAAC;IACF,SAAS,EAAE,OAAO,mBAAmB,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,CAAC,SAAS,SAAS,aAAa,EACrC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxD,KAAK,CAAC,OAAO,SAAS,oBAAoB,GAAG,iBAAiB,CAC7D,SAAS,EACT,WAAW,CACX,EACD,KAAK,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EACjE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAElD"}
|